采集配置 JSON
capture_config.json 是采集管线的统一配置文件,控制仿真时钟、渲染、输出目录、多传感器实例、相机成像特效、热红外与场景理解。默认位于 IADataSDG/Config/capture_config.json,启动时自动加载;也可通过命令行参数 -IACaptureConfig=<path> 或 AIACaptureConfigAgent 的 ConfigFilePath 属性指定自定义路径。
1. 顶层结构模板
{
"clock": { "booster": true, "step_dt": 0.033333 },
"rendering": {
"disable_motion_blur": true,
"flush_streaming_per_frame": true,
"min_cull_distance_cm": 100000.0,
"capture_hardware_ray_tracing": true
},
"writer": {
"output_dir": "",
"jpeg_quality": 85,
"naming_pattern": "{Modality}_{Frame:06d}"
},
"capture": {
"enabled": true,
"duration": 10.0,
"warmup_frames": 30,
"render_offscreen": false
},
"scene_manager": {
"vocabulary": "general",
"auto_classify": true,
"auto_detect_tags": true,
"export_scene_manifest": true
},
"sensors": {
"camera": { "fps": 10, "instances": [], "modalities": {} },
"lidar": { "instances": [] },
"radar": { "instances": [] },
"imu": { "instances": [] },
"odometry": { "instances": [] },
"gnss": { "instances": [] },
"occupancy": { "instances": [] }
},
"camera": { "effects": {} },
"thermal": {},
"pipeline": {
"readback_pool_size": 4,
"max_encoder_tasks": 6,
"max_writer_tasks": 6,
"detailed_stats": true
},
"preflight": { "suppress": [] }
}
2. clock — 仿真时钟
| 字段 | 类型 | 默认值 | 说明 |
|---|---|---|---|
booster | bool | true | true(推荐):固定仿真步长,数据时间戳与机器实际渲染帧率解耦,确保跨次运行 100% 确定性复现;false:跟随引擎实时帧时间(仅供编辑器内人工交互操控时使用) |
step_dt | float | 自动推导 | 单个世界 Tick 推进的仿真时间步长(秒);不填时根据启用传感器的最高采样率自动推导 |
3. rendering / writer / capture
rendering(渲染与收敛控制)
| 字段 | 类型 | 默认值 | 说明 |
|---|---|---|---|
disable_motion_blur | bool | true | 采集期间关闭运动模糊(若 camera.effects.motion_blur.enabled 为 true 则自动放行) |
flush_streaming_per_frame | bool | true | 每帧采集前同步刷新关卡流送、贴图 mip、着色器编译、植被与虚拟纹理 |
min_cull_distance_cm | float | 100000.0 | 采集期间抬升场景 ISM/组件的最大绘制裁剪距离下限(cm,0 = 关闭),防止远处植被/物体提前消失 |
capture_hardware_ray_tracing | bool | true | 允许传感器采集视图使用硬件光追 Lumen |
prewarm_cube_sensor_renders | int | 8 | 360° 全景(Cube)相机每帧采集前的时域收敛渲染次数(范围 0..16) |
lumen_radiance_cache_probe_budget | int | 800 | 全景采集期间的 Lumen 辐射缓存探针追踪预算 |
writer(输出目录与编码)
| 字段 | 类型 | 默认值 | 说明 |
|---|---|---|---|
output_dir | string | "" | 输出根目录;留空时默认写入 {Project}/Saved/IACapture/ |
jpeg_quality | int | 85 | JPEG 图像压缩质量(1..100) |
naming_pattern | string | "{Modality}_{Frame:06d}" | 图像文件命名模板 |
capture(采集会话控制)
| 字段 | 类型 | 默认值 | 说明 |
|---|---|---|---|
enabled | bool | true | 启动后是否自动开始采集 |
duration | float | 0.0 | 采集仿真时长(秒);与各传感器的 fps / sample_rate_hz 相乘自动计算目标帧数 |
warmup_frames | int | 5 | 正式采集前的预热帧数(预热期间渲染器收敛、仿真时间保持为 0、不写出文件) |
render_offscreen | bool | false | 命令行独立采集时设为 true 可开启无窗口后台渲染(-RenderOffScreen) |
4. sensors — 各传感器实例配置
每个传感器家族通过 instances[] 配置,其中 instances[].name 与关卡中传感器 Actor 的 SensorName 对应。各传感器的完整字段与示例请查阅对应子页面:
- 相机(针孔 / 鱼眼 / 全景):
sensors.camera.instances[]、sensors.camera.modalities、镜头畸变distortion与物理成像特效camera.effects - 热红外相机(Thermal):
ThermalLWIR/ThermalMWIR模态与顶层thermal环境/噪声/派生输出配置 - 激光雷达(LiDAR):
sensors.lidar.instances[]型号预设、多回波、附加字段与随机化 - 毫米波雷达(mmWave Radar):
sensors.radar.instances[]4 大架构原型(imaging_4d/mimo_4d/planar_3d/monopulse_mti)与 13 款内置配表型号、MTI 动目标滤波、CFAR、FMCW 与噪声参数表 - 运动传感器(IMU / Odometry):
sensors.imu.instances[]、sensors.odometry.instances[]与 EuRoC 导出 - GNSS 接收机:
sensors.gnss.site_anchor、sensors.gnss.instances[]及horizon/nlos/acquisition - 3D 占据栅格(Occupancy):
sensors.occupancy.instances[]体素尺寸与范围配置
5. scene_manager / pipeline / preflight
scene_manager:配置自动语义与材质分类词表(详见语义与材质标注)。pipeline:配置异步管线缓冲池大小(readback_pool_size)与编码/写盘并发线程数(max_encoder_tasks/max_writer_tasks)。preflight:配置预检抑制项列表(如"suppress": ["WindowsTDR", "VRAMEstimate"]),预检结果输出至preflight_report.json。