项目简介
本项目是基于C++编程语言构建的直接稀疏里程计(Direct Sparse Odometry, DSO)系统。DSO作为先进的视觉里程计算法,直接处理图像像素信息,以此估计相机运动轨迹和场景的三维结构。项目目标是提供高效、鲁棒的视觉里程计解决方案,适用于机器人导航、增强现实等多种场景。
项目的主要特性和功能
- 实现直接稀疏里程计(DSO)算法,能直接从图像提取特征点并优化,估计相机运动轨迹。
- 支持与ROS(Robot Operating System)集成,便于在机器人系统中使用。
- 采用多线程技术,提高算法处理效率,支持实时或接近实时运行。
- 集成Pangolin库,可实时显示三维重建结果和相机轨迹。
- 支持多种数据集格式,如TUM monoVO数据集,方便测试和验证。
安装使用步骤
1. 获取项目源码
sh
mkdir -p dso_ws/src
cd dso_ws/src
2. 环境配置
确保系统已安装以下依赖库: - Eigen3 - Boost - OpenCV(推荐) - Pangolin(推荐) - ziplib(推荐) - ROS(若需要ROS支持)
3. 编译项目
在dso_ws
目录下执行以下命令编译:
sh
echo 'export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:YOUR_PATH/dso_ws' >> ~/.bashrc
source ~/.bashrc
catkin_make
4. 运行项目
编译完成后,通过以下命令运行DSO:
sh
./devel/lib/DSO/dso_ros \
calib=YOUR_FILE_PATH/camera.txt \
gamma=YOUR_FILE_PATH/pcalib.txt \
vignette=YOUR_FILE_PATH/vignette.png
5. 播放数据集
若使用ROS,通过以下命令播放数据集:
sh
rosbag play YOUR_BAG_FILE YOUR_IMG_TOPIC:=image
注意事项
- 确保相机校准文件(
camera.txt
、pcalib.txt
、vignette.png
)路径正确。 - 若使用ROS,确保ROS环境已正确配置。
- 运行过程中可通过命令行参数调整算法行为,如
mode
、preset
等。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】