RealSense D455 语义 SLAM:从 RGB-D 到语义八叉树地图

RealSense D455 语义 SLAM:从 RGB-D 到语义八叉树地图 要在 RealSense D455 相机上实现 语义 SLAM(Semantic SLAM) 并生成 语义八叉树地图(Semantic Octree Map),通常需要将 稠密几何建图(如 OctoMap) 与 语义分割(如 Mask R-CNN、YOLO、或 Fast-SCNN) 相结合,并利用 RGB-D 数据(来自 D455 的深度 + 彩色对齐图像)进行融合。 📋 目录 整体架构概览 核心组件与技术选型 实现路径:渐进式开发 阶段 1:纯几何 OctoMap 阶段 2:2D 语义分割接入 阶段 3:3D 语义点云生成 阶段 4:语义融合到 OctoMap 性能优化技巧 参考资源 整体架构概览 RealSense D455 │ ├─▶ 配准的 RGB + Depth 图像流 │ ├─▶ 位姿估计(SLAM 系统) │ ├─ RTAB-Map(推荐,支持 OctoMap 导出) │ ├─ ORB-SLAM3 + OctoMap(需自定义融合) │ └─ OpenVINS + 外部建图 │ └─▶ 语义分割(2D) ├─ 输出每个像素的语义标签 └─ 与深度图反投影 → 3D 语义点云 │ └─▶ 融合到位姿对齐的 OctoMap → 语义八叉树 数据流详解 ┌─────────────────────────────────────────────────────────────────┐ │ RealSense D455 │ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ │ │ RGB 图像 │ │ 深度图像 │ │ IMU │ │ │ │ 640×480@30 │ │ 640×480@30 │ │ 200Hz │ │ │ └──────┬──────┘ └──────┬──────┘ └──────┬──────┘ │ └─────────┼────────────────┼────────────────┼─────────────────────┘ │ │ │ ▼ ▼ ▼ ┌─────────────────────────────────────────────────────────────────┐ │ ROS 2 消息传输 │ │ /camera/color /camera/aligned_depth /camera/imu │ │ /image_raw _to_color/image_raw │ └─────────┬────────────────┬────────────────┬─────────────────────┘ │ │ │ ▼ ▼ ▼ ┌─────────────────────────────────────────────────────────────────┐ │ 处理管线 │ │ ┌─────────────┐ ┌─────────────────────────────────────┐ │ │ │ 语义分割 │ │ RTAB-Map │ │ │ │ (YOLOv8) │ │ ┌─────────┐ ┌─────────────────┐ │ │ │ │ │ │ │ 视觉里程计│ │ 闭环检测 │ │ │ │ └──────┬─────┘ │ └────┬────┘ └────────┬────────┘ │ │ │ │ │ │ │ │ │ │ ▼ │ ▼ ▼ │ │ │ ┌─────────────┐ │ ┌─────────────────────────────┐ │ │ │ │ 语义标签图 │ │ │ 位姿图优化 │ │ │ │ │ H×W labels │ │ │ /rtabmap/odom │ │ │ │ └──────┬─────┘ │ └──────────────┬──────────────┘ │ │ │ │ └─────────────────┼───────────────────┘ │ │ │ │ │ │ ▼ ▼ │ │ ┌────────────────────────────────────────────────────┐ │ │ │ 语义点云生成器 │ │ │ │ RGB + Depth + Labels + Pose → Semantic PointCloud │ │ │ └────────────────────────┬───────────────────────────┘ │ │ │ │ │ ▼ │ │ ┌────────────────────────────────────────────────────┐ │ │ │ 语义 OctoMap 融合 │ │ │ │ ColorOcTree / SemanticOcTree │ │ │ └────────────────────────┬───────────────────────────┘ │ └───────────────────────────┼───────────────────────────────────┘ │ ▼ ┌───────────────┐ │ 语义八叉树地图 │ │ .sot / .bt │ └───────────────┘ 核心组件与技术选型 1. RealSense D455 驱动与数据流 # 安装 RealSense ROS 2 驱动 sudo apt install ros-humble-realsense2-camera # 启动相机(确保 RGB-D 对齐) ros2 launch realsense2_camera rs_launch.py \ align_depth.enable:=true \ depth_module.profile:=640x480x30 \ rgb_camera.color_profile:=640x480x30 关键话题: ...

 ·   ·  views

ROS2 Humble + OpenVINS 源码编译:混合安装最佳实践

ROS2 Humble + OpenVINS 源码编译:混合安装最佳实践 在 Ubuntu 22.04 + ROS2 Humble 环境下,你可以: ✅ 用 apt 安装 ros-humble-desktop(提供核心通信、rviz2、工具链等) ✅ 同时从源码编译 OpenVINS(获取最新功能、便于调试、支持自定义修改) 这是非常推荐的开发模式:底层依赖用系统包(稳定),上层算法用源码(灵活)。 📋 目录 为什么可以混合使用? 从源码编译 OpenVINS OpenVINS 是否用于"显示 SLAM"? 推荐工作流:D455 + OpenVINS + rviz2 D455 专用配置文件模板 常见问题排查 为什么可以混合使用? 组件 来源 说明 ROS2 核心(rclcpp, sensor_msgs, tf2, rviz2) apt install ros-humble-desktop 系统级依赖,稳定、免编译 OpenVINS GitHub 源码编译 算法层应用,常需调试、改参数、加日志 🔗 OpenVINS 源码编译时,会自动链接 /opt/ros/humble 中的头文件和库,无缝配合。 混合安装的优势 ┌─────────────────────────────────────────────────────────┐ │ 你的算法层 │ │ ┌─────────────────────────────────────────────────┐ │ │ │ OpenVINS (源码编译) │ │ │ │ - 可调试、可修改、可加日志 │ │ │ │ - 获取最新功能和 Bug 修复 │ │ │ └─────────────────────────────────────────────────┘ │ ├─────────────────────────────────────────────────────────┤ │ ROS2 底层依赖 │ │ ┌─────────────────────────────────────────────────┐ │ │ │ ros-humble-desktop (apt 安装) │ │ │ │ - rclcpp, sensor_msgs, tf2, rviz2 │ │ │ │ - 稳定、经过测试、自动更新 │ │ │ └─────────────────────────────────────────────────┘ │ └─────────────────────────────────────────────────────────┘ 从源码编译 OpenVINS 前置条件 确保已安装 ROS2 Humble Desktop: ...

 ·   ·  views
total views · visitors