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

2023-10-12 06:52
文章标签 数据 目标 检测 3d v2x dair

本文主要是介绍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数据集基本是一致的;当然有细微差别。

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

标签共有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数据片段结束编号

七、示例数据效果

 示例图像数据:

 

分享完毕~

这篇关于3D目标检测数据集 DAIR-V2X-V的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/194103

相关文章

SQL Server修改数据库名及物理数据文件名操作步骤

《SQLServer修改数据库名及物理数据文件名操作步骤》在SQLServer中重命名数据库是一个常见的操作,但需要确保用户具有足够的权限来执行此操作,:本文主要介绍SQLServer修改数据... 目录一、背景介绍二、操作步骤2.1 设置为单用户模式(断开连接)2.2 修改数据库名称2.3 查找逻辑文件名

OpenCV实现实时颜色检测的示例

《OpenCV实现实时颜色检测的示例》本文主要介绍了OpenCV实现实时颜色检测的示例,通过HSV色彩空间转换和色调范围判断实现红黄绿蓝颜色检测,包含视频捕捉、区域标记、颜色分析等功能,具有一定的参考... 目录一、引言二、系统概述三、代码解析1. 导入库2. 颜色识别函数3. 主程序循环四、HSV色彩空间

canal实现mysql数据同步的详细过程

《canal实现mysql数据同步的详细过程》:本文主要介绍canal实现mysql数据同步的详细过程,本文通过实例图文相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的... 目录1、canal下载2、mysql同步用户创建和授权3、canal admin安装和启动4、canal

使用SpringBoot整合Sharding Sphere实现数据脱敏的示例

《使用SpringBoot整合ShardingSphere实现数据脱敏的示例》ApacheShardingSphere数据脱敏模块,通过SQL拦截与改写实现敏感信息加密存储,解决手动处理繁琐及系统改... 目录痛点一:痛点二:脱敏配置Quick Start——Spring 显示配置:1.引入依赖2.创建脱敏

详解如何使用Python构建从数据到文档的自动化工作流

《详解如何使用Python构建从数据到文档的自动化工作流》这篇文章将通过真实工作场景拆解,为大家展示如何用Python构建自动化工作流,让工具代替人力完成这些数字苦力活,感兴趣的小伙伴可以跟随小编一起... 目录一、Excel处理:从数据搬运工到智能分析师二、PDF处理:文档工厂的智能生产线三、邮件自动化:

Python数据分析与可视化的全面指南(从数据清洗到图表呈现)

《Python数据分析与可视化的全面指南(从数据清洗到图表呈现)》Python是数据分析与可视化领域中最受欢迎的编程语言之一,凭借其丰富的库和工具,Python能够帮助我们快速处理、分析数据并生成高质... 目录一、数据采集与初步探索二、数据清洗的七种武器1. 缺失值处理策略2. 异常值检测与修正3. 数据

pandas实现数据concat拼接的示例代码

《pandas实现数据concat拼接的示例代码》pandas.concat用于合并DataFrame或Series,本文主要介绍了pandas实现数据concat拼接的示例代码,具有一定的参考价值,... 目录语法示例:使用pandas.concat合并数据默认的concat:参数axis=0,join=

C#代码实现解析WTGPS和BD数据

《C#代码实现解析WTGPS和BD数据》在现代的导航与定位应用中,准确解析GPS和北斗(BD)等卫星定位数据至关重要,本文将使用C#语言实现解析WTGPS和BD数据,需要的可以了解下... 目录一、代码结构概览1. 核心解析方法2. 位置信息解析3. 经纬度转换方法4. 日期和时间戳解析5. 辅助方法二、L

使用Python和Matplotlib实现可视化字体轮廓(从路径数据到矢量图形)

《使用Python和Matplotlib实现可视化字体轮廓(从路径数据到矢量图形)》字体设计和矢量图形处理是编程中一个有趣且实用的领域,通过Python的matplotlib库,我们可以轻松将字体轮廓... 目录背景知识字体轮廓的表示实现步骤1. 安装依赖库2. 准备数据3. 解析路径指令4. 绘制图形关键

解决mysql插入数据锁等待超时报错:Lock wait timeout exceeded;try restarting transaction

《解决mysql插入数据锁等待超时报错:Lockwaittimeoutexceeded;tryrestartingtransaction》:本文主要介绍解决mysql插入数据锁等待超时报... 目录报错信息解决办法1、数据库中执行如下sql2、再到 INNODB_TRX 事务表中查看总结报错信息Lock