更新时间:2025-02-20 GMT+08:00
分享

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融合预标注任务步骤

  1. 完成OBS授权委托,具体操作步骤请参考授权操作步骤
  2. 在服务控制台“总览 > 我的模型”区域,开通“场景识别”和“2D图像生成”服务。
  3. 在左侧菜单栏中选择“智驾模型服务 > 3D预标注”。
  4. 选择“2D3D融合预标注”页签。
  5. 单击“新建任务”,参考如下填写基本信息。

    • 任务名称:填写任务名称,只能包含数字、英文、中文、下划线、中划线,输入长度不得超过64个字符。
    • 任务类型:选择任务类型。分为“目标检测”和“目标追踪”。
      • 目标检测:对采集的点云数据,预测每帧点云数据中物体的框及类别。
      • 目标追踪:对采集的连续帧点云数据,预测每帧点云数据中物体的框、类别、追踪ID, 前后帧中的同一个物体,追踪ID保持一致。
    • 输入路径:选择OBS输入路径。输入文件必须满足2D3D融合预标注输入输出文件格式要求。
    • 输出路径:选择OBS输出路径。输出文件满足2D3D融合预标注输入输出文件格式要求。
    • 描述:简要描述任务,不能包含“@^\#$%&*<>'|"/`”,输入长度不能超过256个字符。

  6. 单击“确认”,创建一个2D3D融合预标注任务。
  7. (可选)管理相关任务。

    • 预览任务:

      单击操作栏中的“预览”,预览标注结果。只有执行成功的任务,才支持预览操作。

      图1 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] #请填入转换矩阵的实际值
  • 位姿文件格式要求
    第一行如下所示,其他行每行代表一个时刻的传感器位姿文件。
    #timestamp latitude/deg longitude/deg altitude/m utm-x/m utm-y/m utm-z/m x/m y/m z/m r00 r01 r02 r10 r11 r12 r20 r21 r22; 
    • r00-r22的9个元素代表从局部坐标系到全局坐标系的旋转矩阵,按行排列。
    • 为保持兼容性,数据中存入三种坐标系的位置数据。

      一是经纬高的WGS84坐标系位置数据。

      二是UTM坐标系位置数据,如果无经纬高和UTM坐标信息,该部分字段设置为0。

      三是局部SLAM坐标系位置数据,以米为度量单位。如果提供了经纬高和UTM,则x、y、z字段可置为零,如果无法提供经纬高和UTM,则经纬高和UTM置为零,x、y、z需要为有效数据。(经纬高、UTM)为一组,x、y、z为一组。两组之间二选一。如果两组都有效(均不为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
      

相关文档