3. 点云预处理
激光雷达原始点云往往包含大量与语义目标无关的干扰:雨雾噪点、飞点、反射强度异常点、地面点以及密度极不均匀的远距离稀疏点。如果直接送入语义分割网络,模型会把大量容量浪费在噪声和地面拟合上,导致小目标漏检、边界模糊和类别混淆。因此,点云预处理是语义分割与跟踪工程中决定上限的关键环节。本章围绕滤波去噪、地面分割、体素下采样、特征提取与点云增强五类操作,说明其原理、参数选择与工程组合方式。
一、核心原理:预处理是“保信息、去冗余”的平衡
点云预处理的目标不是让点云“变干净”这么简单,而是在保留语义判别信息的前提下,降低数据规模与噪声干扰。语义分割依赖几何边界、反射强度和局部结构,跟踪依赖帧间稳定性和目标质心一致性。因此,任何预处理都必须回答三个问题:是否破坏了目标边界?是否改变了点云密度分布?是否引入了帧间不一致?
滤波去噪通常基于统计或半径邻域判断离群点;地面分割利用坡度、法向量或栅格高度差分离地面;体素下采样用三维网格质心或随机点替代原始点,降低点数;特征提取从几何邻域中计算法向量、曲率、反射强度统计等;点云增强则通过旋转、缩放、抖动、混合和仿真退化提升模型泛化能力。五者构成一条从“原始点云”到“可训练样本”的处理链。
二、方法流程:五步预处理链的参数与顺序
工程上常见的顺序是:先做滤波去噪,再做地面分割,然后体素下采样,接着特征提取,最后在训练时进行点云增强。顺序并非绝对,但先去噪再下采样可以避免噪声被体素质心“平均”进正常点;先地面分割再下采样可以防止地面点与非地面点在同一个体素内混合,破坏目标底部边界。
滤波去噪常用统计离群点滤波(SOR)和半径滤波。SOR 对每个点计算到 k 个最近邻的平均距离,若超过全局均值加标准差倍数则剔除。半径滤波则要求每个点在给定半径内至少有指定数量的邻居,否则视为离群点。地面分割常用 RANSAC 平面拟合、坡度栅格法和渐进形态学滤波。RANSAC 适合平坦路面,坡度栅格适合有起伏的越野场景。体素下采样用固定边长体素网格划分空间,每个体素用质心或随机点替代,能显著降低点数并保持空间结构。
# 典型预处理参数配置(Open3D 风格伪代码)
voxel_size = 0.10 # 体素边长,单位米
sor_k = 30 # 统计滤波邻居数
sor_std_ratio = 1.5 # 标准差倍数阈值
radius = 0.25 # 半径滤波半径
radius_min_neighbors = 4 # 半径内最少邻居数
ground_distance = 0.15 # RANSAC 地面内点距离阈值
normal_radius = 0.30 # 法向量估计邻域半径
curvature_k = 20 # 曲率估计邻居数
三、特征提取与点云增强:让网络看到“结构”而非“点”
特征提取为每个点补充局部几何与反射属性。常用特征包括法向量、曲率、线性度、平面度、散射度、高度差、反射强度均值和方差。法向量和曲率能区分平面、边缘和角点;线性度适合描述杆状目标;高度差有助于分离车辆与地面。反射强度对车道线、交通标志和金属目标有较强判别力,但受入射角和距离影响,需要做归一化或分距离段统计。
点云增强在训练阶段在线执行,目的是模拟真实场景中的分布变化。常见操作包括:绕 Z 轴随机旋转、随机缩放、平移抖动、随机丢弃点、强度扰动、目标级复制粘贴和混合。增强必须与标签同步变换,否则会引入错误监督。对于跟踪任务,增强还应保持帧间目标的运动连续性,避免破坏时序关联。
| 预处理步骤 | 常用方法 | 关键参数 | 主要作用 | 风险 |
|---|---|---|---|---|
| 滤波去噪 | SOR、半径滤波 | k=20~50,std_ratio=1.0~2.0 | 去除飞点、雨雾噪点 | 参数过严会削掉远处小目标 |
| 地面分割 | RANSAC、坡度栅格 | 距离阈值 0.1~0.3m | 分离地面与非地面 | 坡道和路沿易误分 |
| 体素下采样 | 质心体素、随机体素 | 体素边长 0.05~0.2m | 降低点数、统一密度 | 过大导致小目标消失 |
| 特征提取 | 法向量、曲率、强度统计 | 邻域半径 0.2~0.5m | 增强几何与反射判别力 | 邻域选择不当引入噪声 |
| 点云增强 | 旋转、缩放、抖动、混合 | 角度、比例、丢弃率 | 提升泛化与鲁棒性 | 标签不同步会污染训练 |
四、案例与场景:城市道路与越野场景的差异
在城市道路场景中,地面较为平坦,RANSAC 平面拟合可以快速分离路面,体素边长常取 0.05~0.1 米以保留行人和非机动车细节。滤波去噪参数可以稍严格,因为城市点云密度高,远处小目标仍有足够点支撑。特征提取中,反射强度对车道线和交通标志非常有效。
在越野或矿区场景中,地面起伏大,坡度栅格和渐进形态学滤波更合适。体素边长可放宽到 0.15~0.2 米以控制计算量,但需要配合多尺度特征保留小目标。滤波去噪不宜过严,否则远处稀疏的障碍物会被误删。增强阶段应重点模拟扬尘、雨雾和颠簸导致的点云抖动。
五、误区与复盘:预处理不是越干净越好
常见误区包括:第一,把体素下采样当作万能降采样,忽略小目标在体素内被平均掉;第二,地面分割阈值过松,导致路面点残留,网络把地面误判为可行驶区域或背景;第三,滤波去噪参数过严,把远处行人和锥桶当作离群点删除;第四,增强时只变换点云而忘记同步变换标签,造成监督错位;第五,训练和推理使用不同的预处理参数,导致分布偏移。
复盘时应建立预处理检查清单:点数下降率是否在预期范围;地面点残留率是否低于阈值;目标边界是否完整;帧间质心是否稳定;增强后的标签是否与点云一致;推理端是否复用训练端参数。只有把预处理当作可观测、可回滚的工程模块,才能为后续语义分割与跟踪提供稳定输入。