语义与材质标注
IADataSDG 提供 mesh-first 的场景理解:以网格为中心自动识别场景中的 Actor / 网格 / 材质,给它们打上语义类别与材质属性。你只需在采集配置里开启该能力并选择词表,引擎会在采集时自动完成分类。
最终产出
启用后,场景理解会得到以下结果(写入采集输出目录):
| 产物 | 内容 |
|---|---|
| 自动语义标签 | 为场景实例自动分配语义类别,并据此生成 SemanticSegmentation 所需的 stencil 值——无需手工逐个打标签 |
SemanticMapping.json | 每个相机一份,记录 stencil id → 类别名 映射 |
MaterialIdMapping.json | 材质分割(MaterialSegmentation)的 材质 id → 材质名 映射 |
scene_manifest.json | 可选导出,列出场景物体的类别、置信度等清单 |
| 材质物理属性 | 为热红外 / 雷达模态提供逐材质的发射率、电磁参数等(驱动 ThermalLWIR/MWIR、雷达 RCS 等) |
分类结果直接服务于分割标签与传感器物性,是「在未标注场景上也能产出语义分割」的关键。
如何配置(JSON)
在 capture_config.json 顶层添加 scene_manager 段:
| 字段 | 类型 | 默认 | 说明 |
|---|---|---|---|
vocabulary | string | "" | 内置词表名:general / nuscenes / cityscapes / kitti / coco / warehouse |
custom_vocabulary_path | string | "" | 自定义词表 JSON 路径;存在时优先于内置词表 |
auto_classify | bool | false | 开启 mesh / material / actor 三层自动分类 |
auto_detect_tags | bool | false | 分类后对词表 detect:true 命中的物体自动附加检测标签(IA.SDG.Detect + IA.Type.*),打通语义 → 3D 检测标注;已有手工标签不会被覆盖 |
export_scene_manifest | bool | false | 在输出根目录写出 scene_manifest.json |
temperature / min_top1_prob / min_margin | float | 0.02 / 0.5 / 0.015 | GTE 分类的置信度双门限(温度缩放 softmax 最大概率 + Top1/Top2 概率差);不达标的物体保持"未分类"而不是强行分派类别。默认值已经过校准,一般无需修改 |
"scene_manager": {
"vocabulary": "general",
"auto_classify": true,
"auto_detect_tags": true,
"export_scene_manifest": true
}
:::note 与分割 / 检测的关系
- 开启
auto_classify后,SemanticSegmentation模态会自动获得语义标签,无需在该模态下手工填semantic_tags。 auto_classify不会自动开启 3D 检测(RGB.detection),两者需分别配置(见采集配置 JSON)。 :::
自定义词表
内置词表覆盖通用场景(general,98 类)、自动驾驶(nuscenes / cityscapes / kitti)、通用检测(coco)与仓储(warehouse)。若类别仍不满足,可提供 custom_vocabulary_path 指向自定义词表 JSON,运行时加载、无需重新编译。注意:启用 SemanticSegmentation 时词表最多 254 个类别(8-bit stencil 上限),超出会在启动时报错。
使用的模型
语义与材质分类由两个模型驱动(随插件分发,位于 Content/Models/):
| 用途 | 模型 |
|---|---|
| 文本 / 类别理解 | GTE-base |
| 视觉理解 | SigLIP2 |
:::info 硬件依赖见专门章节 模型的运行设备与硬件前置条件(是否需要独立显卡、是否需要 CUDA 等)统一见 系统要求。 :::
:::caution 模型是必需项(2026-07 起)
自动分类完全由 GTE 文本模型驱动(配合每类别多模板编码与置信度双门限,可靠拒识词表外物体)。若模型文件缺失或 NNERuntimeORT 引擎插件未启用,auto_classify 会跳过并在日志/报告中明确报错(capture_report.json 记录原因、semantic_coverage=0),不再静默降级——请确认插件安装完整。确定性规则请使用 SceneDSL(default_rules.sdl),手工 IA.Semantic.* 标签始终拥有最高优先级。
:::
:::tip 编辑器内预览与人工修正 编辑器工具栏 IADataSDG → Scene Manager 面板可在采集前预览分类结果(类别 / 置信度 / 来源 / stencil / 可检测性,支持只看未分类对象),并用 Apply to Actors 把结果持久化为 actor 标签(可撤销)。 :::
SceneDSL(可选)
场景理解附带 SceneDSL 形式语言(default_rules.sdl),用于以规则方式描述与查询场景语义。当前为 draft 能力。