realsense D435i 双目IMU数据集
时间: 2025-06-30 13:11:15 浏览: 7
Intel RealSense D435i 是一款集成了双目视觉和 IMU(惯性测量单元)传感器的深度相机,非常适合用于 VIO(视觉惯性里程计)等应用。获取适用于该设备的双目相机和 IMU 数据集通常可以通过以下几种方式实现:
### 获取数据集的方法
1. **使用官方工具录制数据**
Intel 提供了 [RealSense SDK 2.0](https://github.com/IntelRealSense/librealsense) 和配套工具如 `realsense-viewer`,可以用来录制包含双目图像、深度图以及 IMU 数据的 `.bag` 文件[^1]。这些文件支持通过 ROS 或直接使用 SDK 回放,并提取所需的数据。
2. **ROS 环境下的数据采集与记录**
在 ROS 环境中,可以通过如下命令启用双目和 IMU 数据流并记录为 rosbag 文件:
```bash
roslaunch realsense2_camera rs_d435i_sync.launch
```
随后启动 rosbag 记录:
```bash
rosbag record /camera/imu /camera/left/image_rect /camera/right/image_rect
```
这样就可以获得同步的双目图像和 IMU 数据[^1]。
3. **公开可用的数据集**
虽然目前针对 D435i 的专用数据集较少,但一些研究项目或论文提供了基于 D435 或 D435i 收集的数据集。例如:
- **TUM VI Benchmark**:虽然主要使用的是 iPhone 和 EuRoC 数据集,但也可以将 D435i 应用于类似的室内 VIO 场景。
- **VINS-Mono 示例数据集**:部分开发者在 GitHub 上分享了使用 D435i 拍摄的序列,可用于测试 VIO 算法性能。
4. **自定义数据集构建**
如果没有现成数据集满足需求,建议自行构建。可借助以下工具进行数据采集和处理:
- 使用 Python + OpenCV + Pyrealsense2 实时读取双目图像和 IMU 数据:
```python
import pyrealsense2 as rs
import numpy as np
# 创建管道
pipeline = rs.pipeline()
config = rs.config()
# 启用双目和 IMU 流
config.enable_stream(rs.stream.infrared, 1, 640, 480, rs.format.y8, 30)
config.enable_stream(rs.stream.gyro, rs.format.motion_xyz32f, 0, 200)
config.enable_stream(rs.stream.accel, rs.format.motion_xyz32f, 0, 200)
# 开始流
pipeline.start(config)
try:
while True:
frames = pipeline.wait_for_frames()
ir_frame = frames.get_infrared_frame(1)
gyro_data = frames.first_or_default(rs.stream.gyro).as_motion_frame().get_motion_data()
accel_data = frames.first_or_default(rs.stream.accel).as_motion_frame().get_motion_data()
# 处理图像和 IMU 数据
ir_image = np.asanyarray(ir_frame.get_data())
finally:
pipeline.stop()
```
###
阅读全文
相关推荐













