自动驾驶04:点云预处理03

点云组帧

感知算法人员在完成点云的运动畸变补偿后,会发现一个问题:激光雷达发送的点云数据包中的点云数量其实非常少,完全无法用来进行后续感知和定位层面的处理工作。

此时,感知算法人员就需要对这些数据包进行点云组帧的处理。

1. 为什么需要点云组帧?

  • 激光雷达是逐点输出数据的,不同于相机一次性获取完整图像,LiDAR 通过旋转扫描环境,因此点云需要累积和组织。

  • 数据包需要时间同步,不同 LiDAR 可能有不同的扫描模式(逐线扫描、逐点扫描),如果不进行同步,可能会出现错帧或数据丢失。

  • 运动补偿(去畸变),当 LiDAR 安装在运动平台(如无人车、机器人)上,点云数据会因为运动而产生畸变,需配合 IMU 进行修正。

  • 多雷达数据融合,在多传感器 SLAM(Simultaneous Localization and Mapping)系统中,可能需要将多个雷达的点云数据合并。

2. 组帧的方法

(1) 按时间窗口组帧

适用于:机械式 LiDAR(如 Velodyne 系列)

  • 某个时间间隔(如 100ms)一圈完整扫描(360°) 作为一帧。

  • 需要结合 LiDAR 旋转角度计算帧的起止点。

示例:

  • Velodyne-16 激光雷达,每秒 10 圈,每圈 100ms,数据包时间同步后按 100ms 组帧。

  • Livox LiDAR(非旋转式)可以设置时间窗口 50ms 组帧。


(2) 按角度范围组帧

适用于:旋转式 LiDAR

  • 根据激光雷达的 方位角(Azimuth) 进行分割,例如每转 360° 形成一帧。

  • 0° ~ 360° 为完整一帧,当扫描角度回到 0° 附近,则开始新一帧。

外参变化

1. 为什么需要外参变换?

在自动驾驶系统中,激光雷达坐标系 仅适用于 LiDAR 自身的数据,而车辆坐标系 是整个车辆感知、决策、控制的基准。因此,所有传感器(LiDAR、摄像头、毫米波雷达)都需要 转换到车辆坐标系,以实现数据融合。

示例:

  • LiDAR 采集的点云 在其本地坐标系中表示(单位:米)。

  • 车辆坐标系 是以车辆的质心(通常是后轴中心)为原点。

  • 摄像头坐标系 也需要与车辆坐标系对齐,以进行多传感器融合。

2. 变换模型

滤波处理

点云滤波是自动驾驶和 3D 视觉任务中的关键步骤,它用于去除噪声、降低数据量、增强点云质量,以提高后续感知算法的准确性和计算效率。常见的点云滤波方法包括 体素滤波(Voxel Grid Filter)、统计滤波(Statistical Outlier Removal, SOR)、半径滤波(Radius Outlier Removal, ROR)、均值/中值滤波 等。

相关推荐
大江东去浪淘尽千古风流人物5 小时前
【VLN】VLN(Vision-and-Language Navigation视觉语言导航)算法本质,范式难点及解决方向(1)
人工智能·python·算法
云飞云共享云桌面5 小时前
高性能图形工作站的资源如何共享给10个SolidWorks研发设计用
linux·运维·服务器·前端·网络·数据库·人工智能
IT实战课堂小元酱5 小时前
大数据深度学习|计算机毕设项目|计算机毕设答辩|flask露天矿爆破效果分析系统开发及应用
人工智能·python·flask
MSTcheng.5 小时前
CANN ops-math:AI 硬件端高效数学运算的算子设计与工程化落地方法
人工智能·深度学习·cann
Dev7z5 小时前
基于深度学习的肺部听诊音疾病智能诊断方法研究
人工智能·深度学习
一灰灰blog5 小时前
Spring AI中的多轮对话艺术:让大模型主动提问获取明确需求
数据库·人工智能·spring
行者无疆_ty5 小时前
什么是Node.js,跟OpenCode/OpenClaw有什么关系?
人工智能·node.js·openclaw
AC赳赳老秦6 小时前
2026国产算力新周期:DeepSeek实战适配英伟达H200,引领大模型训练效率跃升
大数据·前端·人工智能·算法·tidb·memcache·deepseek
工程师老罗6 小时前
基于Pytorch的YOLOv1 的网络结构代码
人工智能·pytorch·yolo
xfddlm6 小时前
边缘计算_ubuntu环境下使用瑞芯微RK3576NPU推理LLM
人工智能·ubuntu·边缘计算