LSD目标检测模块深度剖析:从PointPillar到RTM3D的实时推理方案
【免费下载链接】lidar-slam-detectionLSD (LiDAR SLAM & Detection) is an open source perception architecture for autonomous vehicle/robotic项目地址: https://gitcode.com/gh_mirrors/li/lidar-slam-detection
LSD(LiDAR SLAM & Detection)是一个面向自动驾驶和机器人的开源感知架构,其目标检测模块融合了改进的PointPillar激光雷达检测与RTM3D单目视觉检测算法,通过TensorRT加速实现实时推理,支持从x86 PC到Jetson Orin的多平台部署。
目标检测模块整体架构
LSD的目标检测系统采用多传感器融合方案,激光雷达与相机数据经过独立处理后通过后融合策略输出最终结果。系统框架包含三大核心流程:激光点云处理、单目图像检测和多源数据融合,整体结构如图所示:
从技术演进角度看,3D目标检测算法已形成丰富的技术谱系。下图展示了2016年至2020年间主流算法的发展脉络,其中PointPillar作为BEV(鸟瞰图)方法的代表,因其高效性成为工程应用的优选方案:
PointPillar激光雷达检测优化
体素化(Voxelize)预处理
PointPillar的核心思想是将点云转换为柱状体素(Pillar)结构。LSD中设置体素尺寸为[0.32, 0.32, 6]米,每个体素最多包含32个点,将原始点云[n, 4](x,y,z,intensity)转换为:
- 体素特征 [m, 32, 4]
- 体素坐标 [m, 3]
- 点计数 [1, m]
- 点掩码 [m, 32]
其中m为体素数量,这些数据构成网络的输入层。
改进的Pillar VFE结构
Pillar VFE(Feature Extractor)负责体素特征提取,LSD做了针对性优化:
- 删除xyz均值特征,保留原始点特征(x,y,z,i)及体素中心偏移量
- 通过卷积将7维特征(x,y,z,i,xp,yp,zp)升维至64维
- 投影到2D BEV网格形成[64, 448, 448]特征图
下图展示了完整的Pillar VFE网络结构:
CSPDarknet53Small骨干网络
原版PointPillar采用SSD骨干网络,在大数据量训练时精度提升有限。LSD参考YOLOv4架构,构建了基于CSPNet的轻量化骨干网络:
- 4个下采样模块 + 3个上采样模块的多尺度特征融合
- 输出[48, 224, 224]和[192, 56, 56]两种尺度特征
- 平衡检测精度与实时性需求
YOLOv4的CSP结构设计如图所示:
CenterPoint无锚框检测头
LSD将传统锚框检测头替换为CenterPoint的无锚框结构:
- 针对两种尺度特征分别配置检测头
- 添加IOU-Aware预测分支提升定位精度
- 小目标检测性能优于传统锚框方法
CenterPoint的检测流程如图所示:
RTM3D单目视觉检测
算法原理与改进
RTM3D(Real-time Monocular 3D Detection)通过预测目标8个顶点、质心和深度信息,求解伪逆方程得到3D边界框。LSD对其进行了工程化优化:
- 采用Darknet53替换ResNet18骨干网络
- 增加Heatmap输出用于多传感器融合
- 优化损失函数权重提升远距离检测精度
RTM3D网络结构如图所示:
模型训练与推理优化
多数据集融合训练
模型基于OpenPCDet框架训练,融合WOD、NuScenes、Lyft等公开数据集,统一划分为车辆、行人、骑行者和三角锥4个类别。训练配置:
- 4×2080Ti显卡
- 50个训练周期
- 混合精度训练加速
TensorRT推理加速
推理阶段采用TensorRT FP16引擎优化:
- PyTorch模型→ONNX导出→TensorRT引擎生成
- 激光点云模型运行在GPU,单目模型使用DLA加速
- Xavier NX平台推理耗时约80ms,满足实时性要求
相关实现代码位于sensor_inference/目录,模型配置文件可参考sensor_inference/cfgs/detection_object.yaml。
多传感器后融合策略
LSD采用基于规则的后融合算法,结合激光雷达与视觉检测结果:
- 激光3D框投影至图像坐标系,计算与视觉目标的2D IOU
- 匈牙利算法匹配得到matched、unmatch_camera、unmatch_lidar列表
- matched目标:采用激光3D框,置信度取均值+0.2×IOU
- unmatch_lidar目标:利用RTM3D热图优化置信度
- 合并结果输出至多目标跟踪模块
部署与应用
LSD目标检测模块已在多种硬件平台验证:
- x86 PC(NVIDIA GPU)
- Jetson Xavier NX
- Jetson AGX Xavier
- Jetson Orin
支持自动驾驶、移动机器人等场景的实时环境感知需求,代码完全开源,可通过以下命令获取:
git clone https://gitcode.com/gh_mirrors/li/lidar-slam-detection通过模块化设计与硬件加速优化,LSD实现了从点云到3D检测框的端到端解决方案,为自动驾驶感知系统提供了高效可靠的技术选择。
【免费下载链接】lidar-slam-detectionLSD (LiDAR SLAM & Detection) is an open source perception architecture for autonomous vehicle/robotic项目地址: https://gitcode.com/gh_mirrors/li/lidar-slam-detection
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考