• 3D目标检测数据集 DAIR-V2X-V


    本文分享国内场景3D目标检测,公开数据集 DAIR-V2X-V(也称为DAIR-V2X车端)。DAIR-V2X车端3D检测数据集是一个大规模车端多模态数据集,包括:

    • 22325帧 图像数据
    • 22325帧 点云数据
    • 2D&3D标注

    基于该数据集,可以进行车端3D目标检测任务研究,例如单目3D检测点云3D检测多模态3D检测

    该数据集由以下机构联合提供的,有什么问题和联系官方邮箱:Email: dair@air.tsinghua.edu.cn

    清华大学智能产业研究院(AIR)

    北京市高级别自动驾驶示范区

    北京车网科技发展有限公司

    百度Apollo

    北京智源人工智能研究院

    目录

    一、数据采集

    二、数据标注

    三、下载数据集

    四、标定参数解析 

    五、标签解析

    六、数据索引信息

    七、示例数据效果


    一、数据采集

    设备型号

    Velodyne128 LiDAR

    • - 采样帧率:10HZ
    • - 水平FOV:360,垂直FOV:40°,-25°~15°
    • - 最大探测范围:245m;探测距离精度:<=3cm;最小角分辨率(垂直):0.11°

    Camera

    • - 图像分辨率:1920x1080

    标定和坐标系

    • 完备的车端3D感知需要获取相机和LiDAR传感器数据的相互位置和内外参数等,以建立不同传感器数据间的空间同步。
    • - LiDAR坐标系
    • LiDAR坐标系是以LiDAR传感器的几何中心为原点,x 轴水平向前,y 轴水平向左,z 轴竖直向上,符合右手坐标系规则。
    • - 相机坐标系
    • 相机坐标系是以相机光心为原点,x 轴和y 轴与图像平面坐标系的x 轴和y 轴平行,z 轴与相机光轴平行向前、与图像平面垂直。通过LiDAR到相机的外参矩阵,可以将点从LiDAR坐标系转到相机坐标系。
    • - 图像坐标系
    • 图像坐标是以相机主点(即相机光轴与图像平面的交点,一般位于图像平面中心)为原点,x 轴 水平向右,y 轴水平向下的二维坐标系。相机内参可以实现从相机坐标到图像坐标的投影。

    二、数据标注

    从车端数据中选择22325帧有效图像+点云多模态数据,利用2D&3D联合标注等技术标注图像和点云多模态数据中的道路障碍物目标的2D和3D框,同时标注了障碍物类别、障碍物3D信息、遮挡和截断等信息。其中DAIR-V2X的3D标注是以LiDAR为坐标系,同时保存如下标注信息:

    • - 障碍物类别:一共10类,包括行人、机动车等

      类型

      小汽车

      卡车/大货车

      面包车/厢式货车

      公交车/大型旅客车

      行人

      英文

      Car

      Truck

      Van

      Bus

      Pedestrian

      类型

      自行车

      三轮车

      摩托车

      手推车

      交通锥筒

      英文

      Cyclist

      Tricyclist

      Motorcyclist

      Barrowlist

      Trafficcone

    • - 障碍物截断:从[0, 1, 2]中取值,分别表示不截断、横向截断、纵向截断
    • - 障碍物遮挡:从[0, 1, 2]中取值,分别表示不遮挡、0%~50%遮挡,50%~100%遮挡
    • - 2D box:图像中2D bounding box框
    • - 3D box:点云上3D bounding box,车端基于LiDAR坐标系,路端基于虚拟LiDAR坐标系;包括 (height, width, length, x_loc, y_loc, z_loc, rotation),其中rotation表示障碍物绕Z轴旋转角度

    三、下载数据集

    来到官网下载:https://thudair.baai.ac.cn/mycount

    ​ 

    下载后的目录如下所示

     single-vehicle-side 存放calib、label、data_info.json。

    single-vehicle-side-image 存放车端图像数据。

    single-vehicle-side-velodyne 存放车端点云数据。

    数据文件结构,如下表所示

    数据

    数据简介

    single-vehicle-side

    velodyne/xxxxxx.pcd

    车端点云数据

    image/xxxxxx.jpg

    车端图像数据

    calib/lidar_to_camera/xxxxxx.json

    车端LiDAR到Camera的外参文件

    calib/camera_intrinsic/xxxxxx.json

    车端Camera的内参文件

    label/camera/xxxxxx.json

    标注文件,其中3D标注以相机时间戳为基准贴合图像中的障碍物目标、以LiDAR为坐标系

    label/lidar/xxxxxx.json

    标注文件,其中3D标注以LiDAR时间戳为基准贴合点云中的障碍物目标、以LiDAR为坐标系

    data_info.json

    数据索引相关信息

    四、标定参数解析 

    在single-vehicle-side/calib/camera_intrinsic目录中,示例文件 000000.json

    {"cam_D": [-0.382041, 0.335649, 0.000523, 0.000634, 0.0], "cam_K": [3996.487567, 0.0, 955.58618, 0.0, 3963.430994, 527.646219, 0.0, 0.0, 1.0]}

    cam_D是畸变参数;cam_K是3*3的内参矩阵。

    在single-vehicle-side/calib/lidar_to_camera目录中,示例文件000000.json

    {"rotation": [[0.006283, -0.999979, -0.001899], [-0.005334, 0.001865, -0.999984], [0.999966, 0.006293, -0.005322]], "translation": [[-0.298036], [-0.666812], [-0.516927]]}

    rotation是3*3的旋转矩阵;translation是3*1平移向量。

    五、标签解析

    图像标签:在single-vehicle-side/label/camera目录中,示例文件000000.json

    [{"type": "Car", "occluded_state": 0, "truncated_state": 0, "alpha": 0.338885815438449, "2d_box": {"xmin": 0, "ymin": 527.938232, "xmax": 69.723068, "ymax": 637.4556269999999}, "3d_dimensions": {"h": 0.850836, "w": 2.073565, "l": 4.337498}, "3d_location": {"x": 32.83248, "y": 9.513366, "z": -1.261215}, "rotation": -1.615145}]

    它的格式Kitti数据集基本是一致的;当然有细微差别。

    1. {
    2. "type": type, // 障碍物类型
    3. "truncated_state": truncated_state, // 障碍物截断情况:从[0, 1, 2]中取值,分别表示不截断、横向截断、纵向截断
    4. "occluded_state": occluded_state, // 障碍物遮挡情况:从[0, 1, 2]中取值,分别表示不遮挡、0%~50%遮挡,50%~100%遮挡
    5. "alpha": alpha, // 观察者视角,从[-pi, pi]中取值
    6. "2d_box": { // 图像中2D bounding box框
    7. "xmin": xmin,
    8. "ymin": ymin,
    9. "xmax": xmax,
    10. "ymax": ymax
    11. },
    12. "3d_dimensions": { // 3D bounding box长宽高
    13. "h": height,
    14. "w": width,
    15. "l": length
    16. },
    17. "3d_location": { // 3D bounding box中心点坐标
    18. "x": x,
    19. "y": y,
    20. "z": z
    21. },
    22. "rotation": rotation // 3D bounding box绕中心点z轴正方向为旋转轴,从y轴正方向开始旋转的角度
    23. }

    标签共有10类,如下所示。

    类型标签名称
    小汽车Car
    卡车/大货车Trunk
    面包车/厢式货车Van
    公交车/大型旅客车Bus
    行人Pedestrian
    自行车Cyclist
    三轮车Tricyclist
    摩托车Motorcyclist
    手推车Barrowlist
    交通锥筒TrafficCone

    1

     

    点云标签:在single-vehicle-side/label/lidar目录中,示例文件000000.json

    [{"type": "Car", "occluded_state": 0, "truncated_state": 0, "alpha": 0.3092128173071816, "2d_box": {"xmin": 0, "ymin": 527.938232, "xmax": 69.723068, "ymax": 637.4556269999999}, "3d_dimensions": {"h": 2.036748, "w": 2.073565, "l": 4.252306}, "3d_location": {"x": 32.84116, "y": 9.75075, "z": -1.040589}, "rotation": -1.578873}]

    camera格式和lidar格式是一致的。

    六、数据索引信息

    在single-vehicle-side/data_info.json文件,是记录数据索引相关信息。

    [{"image_path": "image/000000.jpg", "image_timestamp": "1604988999001000", "pointcloud_path": "velodyne/000000.pcd", "point_cloud_stamp": "1604988999006000", "calib_camera_intrinsic_path": "calib/camera_intrinsic/000000.json", "calib_lidar_to_camera_path": "calib/lidar_to_camera/000000.json", "label_camera_std_path": "label/camera/000000.json", "label_lidar_std_path": "label/lidar/000000.json"},

    {"image_path": "image/000001.jpg", "image_timestamp": "1604989000204000", "pointcloud_path": "velodyne/000001.pcd", "point_cloud_stamp": "1604989000206000", "calib_camera_intrinsic_path": "calib/camera_intrinsic/000001.json", "calib_lidar_to_camera_path": "calib/lidar_to_camera/000001.json", "label_camera_std_path": "label/camera/000001.json", "label_lidar_std_path": "label/lidar/000001.json"},

    {"image_path": "image/000002.jpg", "image_timestamp": "1604989078801000", "pointcloud_path": "velodyne/000002.pcd", "point_cloud_stamp": "1604989078805000", "calib_camera_intrinsic_path": "calib/camera_intrinsic/000002.json", "calib_lidar_to_camera_path": "calib/lidar_to_camera/000002.json", "label_camera_std_path": "label/camera/000002.json", "label_lidar_std_path": "label/lidar/000002.json"},

    对于的格式如下:

    类型字段含义
    cameraimage_path图像路径
    cameraimage_timestamp图像时间戳
    lidarpointcloud_path点云路径
    lidarpointcloud_timestamp点云时间戳
    labellabel_lidar_path以点云时间戳为基准标注结果路径
    labellabel_camera_path以图像时间戳为基准标注结果路径
    calibcalib_lidar_to_camera_pathLiDAR坐标系到相机坐标系参数路径
    calibcalib_lidar_to_novatel_pathLiDAR坐标系到NovAtel坐标系参数路径
    calibcalib_novatel_to_world_pathNovAtel坐标系到世界坐标系参数路径
    calibcalib_camera_intrinsic_path相机参数路径
    cooperativebatch_id数据片段编号:车端与路端共享相同的batch_id
    cooperativeintersection_loc数据采集所在路口名称
    cooperativebatch_start_id数据片段起始编号
    cooperativebatch_end_id数据片段结束编号

    七、示例数据效果

     示例图像数据:

     

    分享完毕~

  • 相关阅读:
    产品代码都给你看了,可别再说不会DDD(十):CQRS
    LCR 122.路径加密
    yarn 会从npm config registry 下载依赖吗
    计算机毕业设计ssm基于SSM的砂石销售管理系统998g8系统+程序+源码+lw+远程部署
    docker 交叉编译镜像
    【回眸】HighTec编译文件烧录及串口调试
    ssh远程连接脚本
    小程序很少很少
    mysql索引失效的几个场景
    MySQL 主从复制与读写分离
  • 原文地址:https://blog.csdn.net/qq_41204464/article/details/133759125