如何快速上手 NTU VIRAL 数据集:无人机多传感器融合的完整指南 🚁
【免费下载链接】ntu_viral_dataset 项目地址: https://gitcode.com/gh_mirrors/nt/ntu_viral_dataset
NTU VIRAL 数据集是一个面向自主无人机的视觉-惯性-测距-激光雷达(Visual-Inertial-Ranging-Lidar)数据集,包含室内外多种场景下的高精度传感器数据,支持SLAM、多传感器融合等算法的开发与评估。
📌 数据集核心优势与传感器配置
NTU VIRAL 数据集的独特之处在于其全方位的传感器组合,模拟了自动驾驶级别的感知能力,同时兼顾无人机特有的空中动态特性。以下是数据集的核心传感器配置:

图1:搭载多传感器的无人机平台,包含激光雷达、相机、IMU和UWB模块
🔍 关键传感器参数
- 双3D激光雷达(Ouster OS1-16):水平/垂直各一台,10Hz点云数据,支持环境三维建模
- 双目相机(uEye 1221 LE):10Hz同步触发,鱼眼镜头(128°视场角),适合快速运动场景
- 高精度IMU(VectorNav VN100):385Hz采样率,提供加速度、角速度和磁场数据
- UWB定位系统(Humatic P440):4个机载节点+3个锚点,68Hz测距频率,支持绝对定位辅助
详细传感器参数与ROS话题定义可参考:sensors_and_usage.md
🚀 数据集获取与环境搭建
1️⃣ 快速下载数据集
所有序列数据托管于NTU数据仓库,包含室内外多种场景(停车场、礼堂、广场等):
| 场景名称 | 数据大小 | 持续时间 | 特点 |
|---|---|---|---|
| eee_01 | 8.7 GB | 398.7 s | 室外停车场,开阔环境 |
| nya_01 | 8.6 GB | 396.3 s | 室内礼堂,弱纹理场景 |
| sbs_01 | 7.8 GB | 354.2 s | 校园广场,动态人群 |
完整下载链接与校验信息见:docs/NTU_VIRAL_Dataset_Submission.pdf
2️⃣ 环境配置步骤
# 克隆项目仓库
git clone https://gitcode.com/gh_mirrors/nt/ntu_viral_dataset
cd ntu_viral_dataset
# 安装依赖
pip install -r requirements.txt
3️⃣ 数据格式说明
- ROS Bag文件:包含所有传感器原始数据与时间戳
- 校准参数:相机内参/外参、传感器间时空同步参数
- 真值数据:Leica MS60全站仪提供的厘米级轨迹(需注意IMU到棱镜的0.4m偏移补偿)
📊 核心功能与使用示例
✨ 多传感器数据融合演示
数据集提供多种传感器的同步数据,支持多模态融合算法开发。以下是三个典型场景的SLAM结果可视化:

图2:三种不同场景下的SLAM轨迹(左:室外停车场,中:校园广场,右:室内礼堂)
🔧 传感器校准指南
精确的传感器校准是算法性能的关键。数据集提供完整的校准流程与工具:
相机校准(MATLAB示例)
- 启动校准工具:
stereoCameraCalibrator - 加载棋盘格图像集(calib_stereo.zip)
- 选择鱼眼模型或针孔模型(推荐鱼眼模型处理大视场角)
图3:MATLAB stereoCameraCalibrator界面,支持自动检测棋盘格角点
校准参数转换工具:utils/restamp.py(处理ROS时间戳同步问题)
📈 算法评估流程
数据集提供标准化的评估脚本,支持绝对轨迹误差(ATE)计算:
-
数据预处理:
% 补偿IMU到棱镜的偏移 trans_B2prism = csvread('trans_B2prism.csv'); P_est = P_est + quatconv(Q_est, trans_B2prism); -
轨迹对齐与误差计算:
[rot_align, trans_align] = traj_align(P_gt, P_est); % 寻找最优变换 ATE = norm(rms(P_gt - (rot_align*P_est' + trans_align)')); % 计算ATE
完整评估代码:ntuviral_evaluate.ipynb(Jupyter Notebook格式)
📚 实用资源与常见问题
🔗 关键工具与代码库
-
开源SLAM算法适配:
- VINS-Fusion改进版:支持UWB与激光雷达融合
- FAST-LIVO:快速激光-视觉-惯性里程计
-
数据集文档:
- 传感器校准手册:sensor_calibration.md
- 硬件使用指南:sensors_and_usage.md
❓ 常见问题解决
-
时间戳同步问题:
使用restamp.py工具修正激光雷达与IMU的时间抖动:python utils/restamp.py --input_bag raw.bag --output_bag synced.bag -
真值偏移补偿:
棱镜到IMU的0.4m偏移需通过姿态估计转换:# 体坐标系到棱镜坐标系转换 prism_pos = imu_pos + quaternion_rotate(imu_quat, [0.293, 0.012, 0.273])
📝 引用与许可证
如果使用本数据集,请引用以下论文:
@article{nguyen2022ntu,
title = {NTU VIRAL: A Visual-Inertial-Ranging-Lidar Dataset, From an Aerial Vehicle Viewpoint},
author = {Nguyen, Thien-Minh and Yuan, Shenghai and Cao, Muqing},
journal = {The International Journal of Robotics Research},
year = {2022}
}
许可证信息:LICENSE(CC BY-NC-SA 4.0,非商业学术使用)
通过本指南,您已掌握NTU VIRAL数据集的核心使用流程。无论是SLAM算法开发、多传感器融合研究,还是无人机导航系统测试,该数据集都能提供高质量的基准数据支持。立即开始探索,解锁无人机自主导航的无限可能! 🚀
【免费下载链接】ntu_viral_dataset 项目地址: https://gitcode.com/gh_mirrors/nt/ntu_viral_dataset
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



