lidar-slam-detection

GitHub
737 154 较难 1 次阅读 昨天Apache-2.0其他Agent开发框架图像
AI 解读 由 AI 自动生成,仅供参考

lidar-slam-detection(简称 LSD)是一款专为自动驾驶车辆和机器人设计的开源感知架构。它核心解决了移动机器人在复杂环境中“我在哪”以及“周围有什么”两大关键问题,通过融合激光雷达、相机、毫米波雷达及惯性导航等多传感器数据,实现高精度的实时定位、建图与动态物体检测跟踪。

这款工具特别适合自动驾驶算法工程师、机器人研究人员及相关领域的开发者使用。其技术亮点在于构建了一套完整的感知闭环:前端采用基于 FastLIO 的里程计与 G2O 位姿图优化,确保运动估计的鲁棒性;后端支持基于体素 3D-CNN 的目标检测与多目标跟踪,最新模型在保持实时运行(30FPS+)的同时显著提升了精度。此外,lidar-slam-detection 还独具特色地提供了基于 Web 的交互式地图修正工具,让用户能直观地编辑和优化地图数据,并原生支持 ROS 通信协议,便于集成到现有系统中。配合提供的 Docker 镜像,用户可快速搭建环境并验证效果,是进行自主导航感知系统研发的高效利器。

使用场景

某自动驾驶初创团队正在开发一款用于园区物流的无人配送车,需要在复杂的半结构化环境中实现高精度的实时定位与动态障碍物感知。

没有 lidar-slam-detection 时

  • 定位漂移严重:在长廊或特征单一的园区道路中,传统激光里程计容易退化,导致车辆累积误差大,频繁丢失位置信息。
  • 感知延迟高:原有的检测模型推理速度慢,无法在嵌入式设备上达到实时帧率,导致车辆对突然出现的行人或叉车反应滞后。
  • 多传感器融合难:激光雷达、相机和 IMU 的时间同步与外参标定依赖人工脚本,调试周期长且数据对齐精度差。
  • 地图维护成本高:发现建图错误时缺乏可视化工具,工程师只能修改代码重跑数据,无法交互式地修正地图细节。

使用 lidar-slam-detection 后

  • 鲁棒定位:利用基于 FastLIO 的前端和 G2O 后端优化,结合轮速计观测,即使在特征退化场景下也能保持厘米级定位精度。
  • 实时精准感知:部署 CenterPoint-VoxelNet 模型,在单帧下即可实现 30FPS+ 的实时检测,显著提升了车辆对动态障碍物的追踪与预测能力。
  • 一站式传感器支持:内置友好的多传感器(LiDAR/相机/雷达)标定流程与软件时间同步机制,大幅缩短了系统集成与调试时间。
  • 可视化地图编辑:通过 Web 端交互式地图编辑器,工程师可直接在浏览器中修正建图瑕疵并自动合并多张地图,极大提升了迭代效率。

lidar-slam-detection 通过集成高性能的 SLAM 算法与实时感知模型,将原本分散且耗时的研发环节整合为流畅的闭环工作流,显著加速了自动驾驶系统的落地进程。

运行环境要求

操作系统
  • Linux (Ubuntu 20.04)
GPU
  • 运行实时检测模型 (CenterPoint-VoxelNet) 必需 NVIDIA GPU (SM80+ 架构,如 RTX 30 系列/A100),需安装 NVIDIA Container Toolkit
  • Docker 镜像基于 CUDA 11.8
  • 若无 GPU 可使用 CPU 镜像但可能无法运行实时检测
内存

未说明 (Docker 容器建议分配共享内存 --shm-size=4g)

依赖
notes1. 该项目不直接依赖 ROS,但提供工具与 ROS 进行数据桥接。2. 推荐使用提供的 Docker 镜像 (lsd-cuda118) 进行部署,需预先安装 NVIDIA Container Toolkit。3. 核心检测模型基于 libspconv,对显卡计算能力有特定要求 (SM80+)。4. 首次构建需解压 ORBvoc.zip 并生成 TensorRT 引擎文件。
python3.8
Eigen 3.3.7
Ceres 1.14.0
Protobuf 3.8.0
NLOPT 2.4.2
G2O
OpenCV 4.5.5
PCL 1.9.1
GTSAM 4.0
libspconv
lidar-slam-detection hero image

快速开始

LSD(激光雷达SLAM与检测)

LSD 是一个面向自动驾驶汽车和机器人技术的开源感知架构。

LSD 目前支持多项功能:

  • 支持多种激光雷达、摄像头、雷达以及惯性导航系统/惯性测量单元传感器。
  • 提供针对激光雷达、摄像头等设备的人性化标定工具。
  • 支持软件时间同步、数据记录与回放功能。
  • 支持基于体素3D-CNN的点云目标检测、跟踪与预测。
  • 支持基于FastLIO的前端里程计及基于G2O的姿态图优化。
  • 提供基于Web的交互式地图修正工具(编辑器)。
  • 支持与ROS的通信。

概述

更改日志

[2024-12-21] 激光雷达建图(LIO里程计和PGO)进一步优化。

  • LIO里程计:为FASTLIO增加了退化检测和轮速观测功能。
  • PGO后端:新增GNSS异常值检测和外参估计功能。
  • 地图管理:支持多地图自动合并。
  • 其他:通过多目相机对点云进行着色,生成稠密地图,并提供点云到BEV视图的转换工具(位于tools/postprocessing目录下)。
  • BUG修复:解决了跨投影带时的UTM投影问题,并考虑了UTM网格覆盖范围。

[2023-10-08] 改进了3DMOT算法(GIOU、两阶段关联)。

性能指标(WOD验证集) AMOTA ↑ AMOTP ↓ IDs(%) ↓
AB3DMOT 47.84 0.2584 0.67
GIOU + 两阶段 54.79 0.2492 0.19

[2023-07-06] 新增了一个实时运行的检测模型(CenterPoint-VoxelNet,帧率超过30FPS)。

性能指标(WOD验证集) Vec_L1 Vec_L2 Ped_L1 Ped_L2 Cyc_L1 Cyc_L2
PointPillar 73.71/73.12 65.71/65.17 71.70/60.90 63.52/53.78 65.30/63.77 63.12/61.64
CenterPoint-VoxelNet(单帧) 74.75/74.24 66.09/65.63 77.66/71.54 68.57/63.02 72.03/70.93 69.63/68.57
CenterPoint-VoxelNet(4帧) 77.55/77.03 69.65/69.17 80.72/77.80 72.91/70.15 72.63/71.72 70.55/69.67

注:CenterPoint-VoxelNet基于libspconv构建,需要配备SM80及以上版本的GPU。

[2023-06-01] Web UI(预览、tviz和地图编辑器的JS代码)已上传。

基本环境

Ubuntu20.04, Python3.8, Eigen 3.3.7, Ceres 1.14.0, Protobuf 3.8.0, NLOPT 2.4.2, G2O, OpenCV 4.5.5, PCL 1.9.1, GTSAM 4.0

快速入门

首先需要安装NVIDIA Container Toolkit 安装指南

我们提供了一个x86_64架构的Docker镜像用于测试。

sudo docker pull 15liangwang/lsd-cuda118 # 如果没有GPU,可使用 sudo docker pull 15liangwang/lsd-cpu
sudo docker run --gpus all -it -d --net=host --privileged --shm-size=4g --name="LSD" -v /media:/root/exchange 15liangwang/lsd-cuda118
sudo docker exec -it LSD /bin/bash

克隆本仓库并编译源代码

cd /home/znqc/work/
git clone https://github.com/w111liang222/lidar-slam-detection.git
cd lidar-slam-detection/
unzip slam/data/ORBvoc.zip -d slam/data/
python setup.py install
bash sensor_inference/pytorch_model/export/generate_trt.sh

运行LSD

tools/scripts/start_system.sh

在浏览器中打开http://localhost(或http://localhost:1234),例如Chrome,您将看到如下界面。

示例数据

下载演示数据 Google Drive | 百度网盘(密码sk5h) 并解压。(其他数据集可在百度网盘,提取码:36ly找到)

unzip demo_data.zip -d /home/znqc/work/
tools/scripts/start_system.sh # 重新运行LSD

更多用法请参阅使用指南

ROS

LSD并未基于机器人操作系统(ROS)构建,但我们提供了一些工具来实现与ROS的通信。

  • rosbag转pickle:将rosbag文件转换为pickle格式,以便LSD读取和运行。
  • pickle转rosbag:方便地将LSD录制的pickle文件转换为rosbag文件。
  • rosbag代理:用于将ROS话题数据发送至LSD的工具。

许可证

LSD采用Apache 2.0许可证发布。

致谢

在LSD的开发过程中,我们借鉴了以下开源项目:

  • lidar_align:一种简单的方法,用于确定3D激光雷达与6自由度姿态传感器之间的外参标定。
  • lidar_imu_calib:用于自动校准3D激光雷达与IMU的外参。
  • OpenPCDet:基于激光雷达的3D目标检测开源工具箱。
  • AB3DMOT:3D多目标跟踪:基准方法及新的评估指标。
  • FAST-LIO:高效且鲁棒的激光雷达-惯性里程计软件包。
  • R3LIVE:一款鲁棒、实时、带有RGB颜色信息的激光雷达-惯性-视觉紧耦合状态估计与建图软件包。
  • FLOAM:适用于室内外定位的快速优化激光雷达里程计与建图系统。
  • hdl_graph_slam:一个基于3D激光雷达的开源ROS实时6DOF SLAM软件包。
  • hdl_localization:利用(Velodyne)3D激光雷达进行实时3D定位。
  • ORB_SLAM2:适用于单目、双目及RGB-D相机的实时SLAM系统,具备回环检测与重定位能力。
  • scancontext:用于场景识别和长期定位的全局激光雷达描述子。

引用

如果您在研究中使用了本项目,请考虑引用并给本项目点赞:

@misc{LiDAR-SLAM-Detection,
    title={LiDAR SLAM & Detection: an open source perception architecture for autonomous vehicle and robotics},
    author={LiangWang},
    howpublished = {\url{https://github.com/w111liang222/lidar-slam-detection}},
    year={2023}
}

联系方式

LiangWang 15lwang@alumni.tongji.edu.cn

版本历史

v2.1.02024/10/05
v2.0.02024/05/25
v1.3.02023/07/17
v1.2.02023/07/04
v1.1.02023/05/15
v1.0.02023/04/03

常见问题

相似工具推荐

openclaw

OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你

349.3k|★★★☆☆|2周前
Agent开发框架图像

n8n

n8n 是一款面向技术团队的公平代码(fair-code)工作流自动化平台,旨在让用户在享受低代码快速构建便利的同时,保留编写自定义代码的灵活性。它主要解决了传统自动化工具要么过于封闭难以扩展、要么完全依赖手写代码效率低下的痛点,帮助用户轻松连接 400 多种应用与服务,实现复杂业务流程的自动化。 n8n 特别适合开发者、工程师以及具备一定技术背景的业务人员使用。其核心亮点在于“按需编码”:既可以通过直观的可视化界面拖拽节点搭建流程,也能随时插入 JavaScript 或 Python 代码、调用 npm 包来处理复杂逻辑。此外,n8n 原生集成了基于 LangChain 的 AI 能力,支持用户利用自有数据和模型构建智能体工作流。在部署方面,n8n 提供极高的自由度,支持完全自托管以保障数据隐私和控制权,也提供云端服务选项。凭借活跃的社区生态和数百个现成模板,n8n 让构建强大且可控的自动化系统变得简单高效。

184.7k|★★☆☆☆|今天
数据工具开发框架Agent

stable-diffusion-webui

stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。

162.1k|★★★☆☆|2周前
开发框架图像Agent

everything-claude-code

everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上

161.1k|★★☆☆☆|今天
开发框架Agent语言模型

opencode

OpenCode 是一款开源的 AI 编程助手(Coding Agent),旨在像一位智能搭档一样融入您的开发流程。它不仅仅是一个代码补全插件,而是一个能够理解项目上下文、自主规划任务并执行复杂编码操作的智能体。无论是生成全新功能、重构现有代码,还是排查难以定位的 Bug,OpenCode 都能通过自然语言交互高效完成,显著减少开发者在重复性劳动和上下文切换上的时间消耗。 这款工具专为软件开发者、工程师及技术研究人员设计,特别适合希望利用大模型能力来提升编码效率、加速原型开发或处理遗留代码维护的专业人群。其核心亮点在于完全开源的架构,这意味着用户可以审查代码逻辑、自定义行为策略,甚至私有化部署以保障数据安全,彻底打破了传统闭源 AI 助手的“黑盒”限制。 在技术体验上,OpenCode 提供了灵活的终端界面(Terminal UI)和正在测试中的桌面应用程序,支持 macOS、Windows 及 Linux 全平台。它兼容多种包管理工具,安装便捷,并能无缝集成到现有的开发环境中。无论您是追求极致控制权的资深极客,还是渴望提升产出的独立开发者,OpenCode 都提供了一个透明、可信

144.3k|★☆☆☆☆|3天前
Agent插件

ComfyUI

ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。

109.2k|★★☆☆☆|昨天
开发框架图像Agent