前言LSD-SLAM (Large-Scale Direct Monocular SLAM) 是慕尼黑工业大学 Jakob Engel 等人于 2014 年提出的直接法单目SLAM系统。它是直接法视觉SLAM的里程碑开创性地使用半稠密深度估计在 CPU 上实时构建大尺度3D地图。DSO 就是在 LSD-SLAM 的基础上发展而来的。GitHub: https://github.com/tum-vision/lsd_slam论文:LSD-SLAM: Large-Scale Direct Monocular SLAM, Engel et al., ECCV 20141. 系统环境要求项目要求说明操作系统Ubuntu 16.04 / 18.04 / 20.04本文以 20.04 ROS Noetic 为例ROSKinetic / Melodic / Noetic必须OpenCV3.x推荐 3.2核心依赖内存8GB半稠密建图需要较大内存GPU无要求纯CPU2. 依赖库全景图LSD-SLAM ├── ROS —— 通信 可视化 相机驱动 ├── OpenCV 3.x —— 图像处理注意对 4.x 不兼容 ├── Eigen3 —— 线性代数 ├── Boost —— C 工具库 ├── g2o自带 —— 位姿图优化 ├── Pangolin可选 —— 3D 可视化 └── Suitesparse —— 稀疏矩阵求解3. 安装步骤# 第一步安装 ROS Noeticsudosh-cecho deb http://packages.ros.org/ros/ubuntu focal main /etc/apt/sources.list.d/ros-latest.listsudoaptupdatesudoaptinstall-yros-noetic-desktop-fullechosource /opt/ros/noetic/setup.bash~/.bashrcsource~/.bashrc# 第二步安装基础依赖sudoaptinstall-ylibeigen3-dev libboost-all-dev libsuitesparse-devsudoaptinstall-ylibopencv-dev ros-noetic-cv-bridge# 第三步创建工作空间mkdir-p~/catkin_ws/srccd~/catkin_ws/src# 第四步克隆 LSD-SLAMgitclone https://github.com/tum-vision/lsd_slam.git lsd_slamgitclone https://github.com/tum-vision/lsd_slam.git lsd_slam_viewer# 第五步编译cd~/catkin_ws catkin_make -j$(nproc)# 第六步下载测试数据# LSD-SLAM 官方提供 .tgz 格式数据集wgethttp://vmcremers8.informatik.tu-muenchen.de/lsd/LSD_room.bz2 bunzip2 LSD_room.bz24. OpenCV 版本兼容性修复LSD-SLAM 发布于 2014 年需在 Ubuntu 20.04 的 OpenCV 4.x 上做适配# 常见问题cv::Algorithm 接口变化# 需要在 CMakeLists.txt 中添加set(CMAKE_CXX_STANDARD14)find_package(OpenCV4REQUIRED)5. 运行测试# 启动 LSD-SLAMroslaunch lsd_slam_viewer viewer.launch roslaunch lsd_slam_core live_slam.launch camera:/usb_cam# 播放数据集rosbag play LSD_room.bag--clock
LSD-SLAM 完整安装教程(Ubuntu 20.04 + ROS Noetic + OpenCV)
发布时间:2026/5/30 2:15:58
前言LSD-SLAM (Large-Scale Direct Monocular SLAM) 是慕尼黑工业大学 Jakob Engel 等人于 2014 年提出的直接法单目SLAM系统。它是直接法视觉SLAM的里程碑开创性地使用半稠密深度估计在 CPU 上实时构建大尺度3D地图。DSO 就是在 LSD-SLAM 的基础上发展而来的。GitHub: https://github.com/tum-vision/lsd_slam论文:LSD-SLAM: Large-Scale Direct Monocular SLAM, Engel et al., ECCV 20141. 系统环境要求项目要求说明操作系统Ubuntu 16.04 / 18.04 / 20.04本文以 20.04 ROS Noetic 为例ROSKinetic / Melodic / Noetic必须OpenCV3.x推荐 3.2核心依赖内存8GB半稠密建图需要较大内存GPU无要求纯CPU2. 依赖库全景图LSD-SLAM ├── ROS —— 通信 可视化 相机驱动 ├── OpenCV 3.x —— 图像处理注意对 4.x 不兼容 ├── Eigen3 —— 线性代数 ├── Boost —— C 工具库 ├── g2o自带 —— 位姿图优化 ├── Pangolin可选 —— 3D 可视化 └── Suitesparse —— 稀疏矩阵求解3. 安装步骤# 第一步安装 ROS Noeticsudosh-cecho deb http://packages.ros.org/ros/ubuntu focal main /etc/apt/sources.list.d/ros-latest.listsudoaptupdatesudoaptinstall-yros-noetic-desktop-fullechosource /opt/ros/noetic/setup.bash~/.bashrcsource~/.bashrc# 第二步安装基础依赖sudoaptinstall-ylibeigen3-dev libboost-all-dev libsuitesparse-devsudoaptinstall-ylibopencv-dev ros-noetic-cv-bridge# 第三步创建工作空间mkdir-p~/catkin_ws/srccd~/catkin_ws/src# 第四步克隆 LSD-SLAMgitclone https://github.com/tum-vision/lsd_slam.git lsd_slamgitclone https://github.com/tum-vision/lsd_slam.git lsd_slam_viewer# 第五步编译cd~/catkin_ws catkin_make -j$(nproc)# 第六步下载测试数据# LSD-SLAM 官方提供 .tgz 格式数据集wgethttp://vmcremers8.informatik.tu-muenchen.de/lsd/LSD_room.bz2 bunzip2 LSD_room.bz24. OpenCV 版本兼容性修复LSD-SLAM 发布于 2014 年需在 Ubuntu 20.04 的 OpenCV 4.x 上做适配# 常见问题cv::Algorithm 接口变化# 需要在 CMakeLists.txt 中添加set(CMAKE_CXX_STANDARD14)find_package(OpenCV4REQUIRED)5. 运行测试# 启动 LSD-SLAMroslaunch lsd_slam_viewer viewer.launch roslaunch lsd_slam_core live_slam.launch camera:/usb_cam# 播放数据集rosbag play LSD_room.bag--clock