DAIR-V2X:车路协同自动驾驶的开源数据集与框架
·
DAIR-V2X:车路协同自动驾驶的开源数据集与框架
【免费下载链接】DAIR-V2X 项目地址: https://gitcode.com/gh_mirrors/da/DAIR-V2X
DAIR-V2X是一个用于车辆-基础设施协同自动驾驶(VICAD)的大型多模态多视角数据集,包含了丰富的2D和3D物体标注数据,所有数据均来自真实场景。该项目为研究人员和开发者提供了完整的工具链,支持数据处理、模型训练和性能评估。
项目概述
DAIR-V2X数据集包含三个主要部分:
- DAIR-V2X-I:基础设施端数据
- DAIR-V2X-V:车辆端数据
- DAIR-V2X-C:协同数据
此外,项目还提供了V2X-Seq序列数据集,包含V2X-Seq-SPD(顺序感知数据集)和V2X-Seq-TFD(轨迹预测数据集),为时序V2X研究提供了丰富的数据资源。
环境安装
依赖安装
首先安装必要的依赖包:
pip install mmdetection3d==0.17.1
安装修改版的pypcd:
git clone https://github.com/klintan/pypcd.git
cd pypcd
python setup.py install
项目克隆
git clone https://gitcode.com/gh_mirrors/da/DAIR-V2X
cd DAIR-V2X
数据集准备
数据结构
数据集应按照以下结构组织:
cooperative-vehicle-infrastructure/
├── infrastructure-side/
│ ├── image/
│ ├── velodyne/
│ ├── calib/
│ ├── label/
│ └── data_info.json
├── vehicle-side/
│ ├── image/
│ ├── velodyne/
│ ├── calib/
│ ├── label/
│ └── data_info.json
└── cooperative/
├── label_world/
└── data_info.json
创建数据链接
cd dair-v2x
mkdir ./data/DAIR-V2X
ln -s /path/to/your/dataset ./data/DAIR-V2X
快速开始
评估示例
以下是一个评估TCLF在VIC-Async-2数据集上的示例:
cd v2x
bash scripts/eval_lidar_late_fusion_pointpillars.sh 0 late_fusion 2 0 100
或者使用详细参数:
python eval.py \
--input ../data/DAIR-V2X/cooperative-vehicle-infrastructure \
--output ../cache/vic-late-lidar \
--model late_fusion \
--dataset vic-async \
--k 2 \
--split val \
--inf-config-path ../configs/vic3d/late-fusion-pointcloud/pointpillars/trainval_config_i.py \
--inf-model-path ../configs/vic3d/late-fusion-pointcloud/pointpillars/vic3d_latefusion_inf_pointpillars.pth \
--veh-config-path ../configs/vic3d/late-fusion-pointcloud/pointpillars/trainval_config_v.py \
--veh-model-path ../configs/vic3d/late-fusion-pointcloud/pointpillars/vic3d_latefusion_veh_pointpillars.pth \
--device 0 \
--pred-class car \
--sensortype lidar
核心功能
多模态支持
项目支持多种传感器模态:
- 激光雷达(Lidar):点云数据处理和3D检测
- 摄像头(Camera):图像处理和2D检测
- 多模态(Multimodality):融合多种传感器数据
融合策略
支持多种融合策略:
- 无融合(No Fusion):单独使用车辆或基础设施数据
- 早期融合(Early Fusion):在数据层面进行融合
- 晚期融合(Late Fusion):在检测结果层面进行融合
- 时间补偿融合(TCLF):考虑时间差异的融合
评估指标
项目提供全面的评估指标:
- AP-3D:3D平均精度
- AP-BEV:鸟瞰图平均精度
- MOTA/MOTP:多目标跟踪精度
- AMOTA/AMOTP:平均多目标跟踪精度
配置文件结构
项目的配置文件位于configs目录下:
configs/
├── vic3d/ # 车辆-基础设施协同3D检测
├── vic3d-spd/ # 序列感知数据集配置
├── sv3d-inf/ # 单视角基础设施3D检测
└── sv3d-veh/ # 单视角车辆3D检测
数据处理工具
项目提供了丰富的数据处理工具:
# 数据加载示例
from v2x.dataset import DAIRV2XDataset
dataset = DAIRV2XDataset(
path='path/to/dataset',
args=config,
split='train',
sensortype='lidar'
)
# 获取单帧数据
data = dataset[0]
可视化功能
项目支持多种可视化方式:
- 3D点云可视化
- 2D图像标注可视化
- 多模态融合结果可视化
- 时序数据可视化
基准测试结果
项目提供了多个基准测试结果,包括:
| 模态 | 融合策略 | 模型 | 数据集 | AP-3D | AP-BEV |
|---|---|---|---|---|---|
| 图像 | 晚期融合 | ImvoxelNet | VIC-Sync | 18.77 | 24.85 |
| 点云 | 早期融合 | PointPillars | VIC-Sync | 62.61 | 68.91 |
| 点云 | 晚期融合 | PointPillars | VIC-Async-2 | 52.43 | 58.10 |
扩展功能
自定义模型
项目支持自定义模型集成:
from v2x.models.base_model import BaseModel
class CustomModel(BaseModel):
def __init__(self, args):
super().__init__(args)
# 自定义模型初始化
def forward(self, inf_frame, veh_frame, delta_t, filt):
# 自定义前向传播逻辑
return result
数据转换
支持多种数据格式转换:
- DAIR-V2X 到 KITTI 格式转换
- 点云数据转换
- 标注数据转换
最佳实践
数据预处理
# 数据预处理示例
def preprocess_data(data):
# 点云滤波
filtered_points = filter_pointcloud(data['points'])
# 数据增强
augmented_data = augment_data(filtered_points)
return augmented_data
模型训练
# 训练脚本示例
python train.py \
--config configs/vic3d/late-fusion-pointcloud/pointpillars/trainval_config.py \
--work-dir ./work_dirs \
--gpu-ids 0,1
社区与支持
项目提供了完善的文档支持:
DAIR-V2X项目为车路协同自动驾驶研究提供了完整的数据集和工具链,支持从数据预处理到模型评估的全流程开发,是自动驾驶领域研究的重要资源。
【免费下载链接】DAIR-V2X 项目地址: https://gitcode.com/gh_mirrors/da/DAIR-V2X
更多推荐
所有评论(0)