2D3D融合预标注
自动驾驶传感器中,各个模态有各自的优势和劣势。比如相机模态对visual appearance的感知更为准确,激光雷达模态对距离感知更为有效。然后当LiDAR扫描线数过低时,经常无法甄别物体的类型,但是此时如果能结合LiDAR扫描和2D图像检测,则可以由3D扫描确定目标大致位置,然后用2D图像检测来识别物体类别。
通过2D3D的融合,可以弥补各自模态的不足,扬长避短,提升目标检测的整体精度。在3D检测的基础上,通过2D cross-check提升3D检测类别的精度提升。
3D标注物支持的类别详情如下:
person(行人)、car(小汽车)、bus(公交车)、traffic_cone(交通锥)、motorcycle(摩托车)、bicycle(自行车)、unknown(未知障碍物)、tricycle(三轮车)、truck(卡车)。
创建2D3D融合预标注任务步骤
- 完成OBS授权委托,具体操作步骤请参考授权操作步骤。
- 在服务控制台“总览 > 我的模型”区域,开通“场景识别”和“2D图像生成”服务。
- 在左侧菜单栏中选择“智驾模型服务 > 3D预标注”。
- 选择“2D3D融合预标注”页签。
- 单击“新建任务”,参考如下填写基本信息。
- 任务名称:填写任务名称,只能包含数字、英文、中文、下划线、中划线,输入长度不得超过64个字符。
- 任务类型:选择任务类型。分为“目标检测”和“目标追踪”。
- 目标检测:对采集的点云数据,预测每帧点云数据中物体的框及类别。
- 目标追踪:对采集的连续帧点云数据,预测每帧点云数据中物体的框、类别、追踪ID, 前后帧中的同一个物体,追踪ID保持一致。
- 输入路径:选择OBS输入路径。输入文件必须满足2D3D融合预标注输入输出文件格式要求。
- 输出路径:选择OBS输出路径。输出文件满足2D3D融合预标注输入输出文件格式要求。
- 描述:简要描述任务,不能包含“@^\#$%&*<>'|"/`”,输入长度不能超过256个字符。
- 单击“确认”,创建一个2D3D融合预标注任务。
- (可选)管理相关任务。
2D3D输入输出文件格式要求
2D3D融合预标注源数据文件要求:
需包含点云文件,六视角图片文件(六视角包含front、front_tele、left_backward、left_forward、right_backward、right_forward、rear),lidar文件和六视角相机的标定文件。追踪任务需要包含位姿文件。
- 文件结构要求
输入数据的目录结构和文件内容格式需满足octopus数据要求,输入数据在OBS文件组织形式如下所示:
|--- Raw |--- pointcloud #点云文件夹 |--- <pcd_timestamp>.pcd |--- ... |--- image #图片文件夹 |--- front |--- <img_view_timestamp>.jpg |--- ... |--- rear |--- <img_view_timestamp>.jpg |--- ... |--- left_backward |--- <img_view_timestamp>.jpg |--- ... |--- left_forward |--- <img_view_timestamp>.jpg |--- ... |--- right_backward |--- <img_view_timestamp>.jpg |--- ... |--- right_forward |--- <img_view_timestamp>.jpg |--- ... |--- param #标定文件夹 |--- lidar.yaml |--- front.yaml |--- left_backward.yaml |--- left_forward.yaml |--- right_backward.yaml |--- right_forward.yaml |--- rear.yaml |--- SLAM_Result |---pose #位姿文件夹 |---lidar_pose.txt
- 雷达标定文件要求
#lidar.yaml Transformation: data:[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0]
- 相机标定文件要求
#<camview>.yaml cameraType: # 0-pinhole,1-fisheye type: 0 K: #opencv-matrix rows: 3 cols: 3 dt: d data: [fx, 0.0, cx, 0.0, fy, cy, 0.0, 0.0, 1.0] #fx,fy,cx,cy为相机焦距和主点 D: #opencv-matrix rows: 6 #根据实际畸变参数个数填写 cols: 1 dt: d data: [0.0, 0.0, 0.0, 0.0, 0.0] #填入实际的畸变参数 Imagesize: [width, height] #填入图像宽,高 Transformation: #opencv-matrix rows: 4 cols: 4 dt: d data: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0] #请填入转换矩阵的实际值
- 位姿文件格式要求
- 输出文件格式要求:
输出数据的文件目录结构满足ocotpus数据目录结构要求,数据目录结构如下所示:
|--- BEV_Result |--- 3D_object |--- 3D_2D_reprojection #3D投影2D框结果 |--- <pcd_timestamp> |---front.json |---rear.json |---left_backward.json |---left_forward.json |---right_backward.json |---right_forward.json |--- detect_tracking_result #3D框结果 |--- <pcd_timestamp>.json