跳到主要内容

相机(针孔 / 鱼眼 / 全景)

一台相机可在单次渲染中同时导出多种视觉与几何模态,所有模态逐像素对齐、共享同一时间戳。

一次采集同时输出的全部相机模态:RGB、平面深度、径向深度、世界法线、BaseColor+AO、语义分割、实例分割、材质分割、全局光流、物体边缘、长波与中波热红外

单帧全模态输出示例(针孔相机 1280×720)。 深度、法线、热红外、光流在磁盘上存储为浮点数组(NPY / EXR),上图为可视化色带渲染结果,训练时请直接读取 NPY / EXR 原始数值。

1. 支持的相机模态​

在 sensors.camera.modalities 中按需开启:

模态名称默认格式输出目录名内容说明
RGBjpegRGB/彩色图像(可附带 detection 输出 3D BBox)
DepthnpyGPlanarDepth/线性平面深度(cm,仅不透明表面)
EuclideanDepthnpyGEuclideanDepth/径向欧氏深度(cm,仅不透明表面)
DepthFullnpyPlanarDepth/平面深度(cm,包含半透明表面)
EuclideanDepthFullnpyEuclideanDepth/径向欧氏深度(cm,包含半透明表面)
WorldNormalexrWorldNormal/世界空间单位法向量
SemanticSegmentationpngSemanticSegmentation/语义类别 ID 掩码(配合 SemanticMapping.json)
InstanceSegmentationpng / npyInstanceSegmentation/逐组件 24-bit 实例 ID 掩码
MaterialSegmentationpng / npyMaterialSegmentation/逐材质 ID 掩码(配合 MaterialIdMapping.json)
OpticalFlownpyOpticalFlow/动态物体自身屏幕位移速度
GlobalOpticalFlownpyGlobalOpticalFlow/相机 + 物体的合成光流及非遮挡有效性掩码
GBufferCexrGBufferC/无光照基础反照率(BaseColor)+ AO(Alpha 通道)
ObjectEdgepngObjectEdge/Canny 边缘检测图像
ThermalLWIR / ThermalMWIRnpyThermalLWIR/ / ThermalMWIR/长波 / 中波热红外温度场(详见热红外相机)

2. 放置与多相机同步​

  1. 根据投影类型在关卡中放置对应 Actor:
    • 针孔相机:AIASDGCameraSensor
    • 常规鱼眼(FOV ≤ 170°):AIASDGFisheyeSensor
    • 360° 全景 ERP / 超广角鱼眼(FOV > 170°):AIASDGPanoramaSensor
  2. 在 Details 面板为每台相机设置唯一的 SensorName(例如 front_cam、left_cam、panorama)。
  3. 在 capture_config.json 的 sensors.camera.instances[] 中配置各台相机:
"sensors": {
"camera": {
"fps": 10,
"instances": [
{
"name": "front_cam",
"type": "pinhole",
"resolution": [1280, 720],
"fov": 90.0
},
{
"name": "fisheye_front",
"type": "fisheye",
"projection_model": "equidistant",
"resolution": [1024, 1024],
"fov": 160.0
}
],
"modalities": {
"RGB": { "enabled": true, "format": "jpeg" },
"Depth": { "enabled": true, "format": "npy" },
"GlobalOpticalFlow": { "enabled": true, "format": "npy" }
}
}
}

3. 360° 全景相机(ERP)配置​

放置 AIASDGPanoramaSensor 后,在 instances[] 中使用 "type": "equirectangular":

ERP 全景相机的多模态输出:RGB、欧氏深度、语义分割、实例分割、物体边缘

{
"name": "panorama",
"type": "equirectangular",
"cubemap_face_size": 1024,
"render_mode": "cubemap",
"exposure_bias": 4.0
}
字段默认值说明
cubemap_face_size512单面采样分辨率;交付全景图尺寸默认为 4×face 宽 × 2×face 高(1024 对应 4096×2048)
output_width4×face可选,指定交付图宽度(高度为其一半);小于 4×face 时生效空间超采样
render_mode"cubemap""cubemap"(默认,速度最快)或 "panes"(6 个 120° 重叠视窗加权融合,彻底消除面边界接缝)
pane_fov120仅 "panes" 模式有效,单视窗视场角(需 > 90)
exposure_bias0.0手动曝光补偿(EV,每 +1 亮度翻倍;室外森林/街道常用 1.0 ~ 4.0)

三档 ERP 收敛设置在同一位姿下的对比:预算档、推荐档、最佳画质档

可通过顶层 rendering 段调整全景画质档位:

档位rendering 配置适用场景
预算档"prewarm_cube_sensor_renders": 4, "lumen_radiance_cache_probe_budget": 800快速预览与路线验证
推荐档(默认)"prewarm_cube_sensor_renders": 8, "lumen_radiance_cache_probe_budget": 800常规批量生产(不填即为此档)
高画质档"prewarm_cube_sensor_renders": 12, "lumen_radiance_cache_probe_budget": 1500最终高标准交付数据集

注意:全景路径支持的模态为 RGB、EuclideanDepth、DepthFull、WorldNormal、SemanticSegmentation、InstanceSegmentation、MaterialSegmentation、OpticalFlow、GBufferC、ObjectEdge。平面 Depth、GlobalOpticalFlow 与 3D BBox 检测仅适用于针孔相机。

4. 针孔镜头畸变(Brown-Conrady)​

针孔相机实例可配置径向与切向畸变系数,GPU 会对该相机的所有启用模态同步施加畸变,并将畸变参数写入逐帧 metadata/frame_*.json 的 intrinsics.distortion(可直接传入 cv2.undistort 复原):

{
"name": "front_cam",
"type": "pinhole",
"resolution": [1280, 720],
"fov": 90.0,
"distortion": {
"k1": -0.12,
"k2": 0.03,
"k3": 0.0,
"p1": 0.001,
"p2": -0.001
}
}

5. 物理成像特效(camera.effects)​

在 JSON 顶层配置 camera.effects,可为针孔相机的 RGB 输出开启 GPU 实时曝光、辉光(Bloom)、运动模糊(Motion Blur)与镜头光晕(Lens Flare):

"camera": {
"effects": {
"enabled": true,
"value": "sensor",
"exposure": { "enabled": true, "method": "auto", "bias": 0.0 },
"bloom": { "enabled": true, "intensity": 1.0, "threshold": 1.0 },
"motion_blur": { "enabled": true, "amount": 0.5, "max": 5.0 },
"lens_flare": { "enabled": true, "intensity": 1.0 }
}
}
  • "value": "sensor":输出包含上述成像特效的 RGB 图像。
  • "value": "gt":忽略成像特效,输出干净的参考 RGB 图像。