项目简介
本项目是基于C++语言实现的直接稀疏视觉里程计(Direct Sparse Odometry, DSO)算法。DSO是一种用于相机位姿估计和场景结构恢复的视觉里程计方法,它使用稀疏的特征点集和直接光度测量,无需预先构建3D地图,从而实现了实时的相机位姿估计。
项目的主要特性和功能
- 稀疏特征点集:只处理图像中的关键点,减少计算量,提升算法效率。
- 直接光度测量:利用图像的直接光度测量,避免重建3D地图的复杂过程,实现实时相机位姿估计。
- 全局优化:采用全局优化方法,通过迭代优化更新相机位姿和场景结构,提高估计精度。
- 图像金字塔:采用多尺度处理,增强算法的鲁棒性和适应性。
- 可视化工具:可展示DSO算法的运行结果,包括相机位姿、点云、深度图等。
安装使用步骤
1. 复制项目
bash
cd dso
2. 安装依赖
2.1 必需依赖
bash
sudo apt-get install libsuitesparse-dev libeigen3-dev libboost-all-dev
2.2 可选依赖
- OpenCV(强烈推荐)
bash sudo apt-get install libopencv-dev
- Pangolin(强烈推荐)
bash cd Pangolin mkdir build cd build cmake .. make sudo make install
- ziplib(推荐)
bash sudo apt-get install zlib1g-dev cd dso/thirdparty tar -zxvf libzip-1.1.1.tar.gz cd libzip-1.1.1/ ./configure make sudo make install sudo cp lib/zipconf.h /usr/local/include/zipconf.h
- sse2neon(ARM 构建必需)
bash git submodule update --init
3. 构建项目
bash
mkdir build
cd build
cmake ..
make -j4
4. 运行示例
bash
bin/dso_dataset \
files=XXXXX/sequence_XX/images.zip \
calib=XXXXX/sequence_XX/camera.txt \
gamma=XXXXX/sequence_XX/pcalib.txt \
vignette=XXXXX/sequence_XX/vignette.png \
preset=0 \
mode=0
5. 其他命令行选项
mode=X
:mode=0
:使用光度校准(如 TUM monoVO 数据集)。mode=1
:不使用光度校准(如 ETH EuRoC MAV 数据集)。mode=2
:图像无光度畸变(如合成数据集)。preset=X
:preset=0
:默认设置(2k 点等),不强制实时执行。preset=1
:默认设置(2k 点等),强制 1x 实时执行。preset=2
:快速设置(800 点等),不强制实时执行。警告:覆盖图像分辨率为 424 x 320。preset=3
:快速设置(800 点等),强制 5x 实时执行。警告:覆盖图像分辨率为 424 x 320。nolog=1
:禁用日志记录(提高性能)。reverse=1
:反向播放序列。nogui=1
:禁用 GUI(提高性能)。nomt=1
:单线程执行。prefetch=1
:在运行 DSO 之前将所有图像加载到内存并进行校正。start=X
:从第 X 帧开始。end=X
:在第 X 帧结束。speed=X
:强制以 X 倍实时速度执行(0 = 不强制实时)。save=1
:保存大量图像用于视频创建。quiet=1
:禁用大部分控制台输出(提高性能)。sampleoutput=1
:注册一个“SampleOutputWrapper”,将一些示例输出数据打印到命令行。用于示例。
6. 访问数据
可通过创建自己的 Output3DWrapper
并将其添加到系统中来访问 DSO 计算的数据(如位姿、点云等)。具体实现可参考 IOWrapper/Output3DWrapper.h
和 IOWrapper/OutputWrapper/SampleOutputWrapper.h
。
7. 注意事项
- 初始化器较慢且偶尔失败,建议初始化时保持相机运动缓慢且平稳。
- 性能较差的计算机,建议使用“快速”设置或不强制实时运行。
- 确保几何校准准确,否则会影响算法精度。
许可证
DSO 由慕尼黑工业大学和英特尔开发,开源版本基于 GNU 通用公共许可证版本 3(GPLv3)。对于商业用途,还提供专业版本,详情请访问 http://vision.in.tum.de/dso。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】