3. 点云预处理
原始激光雷达点云往往包含数十万到数百万个三维点,直接送入语义分割网络会带来三个问题:计算量过大、噪声干扰严重、以及地面点与目标点混叠。点云预处理的目标,是在尽量保留语义信息的前提下,把点云整理成“干净、规整、可计算”的输入。本节按处理顺序梳理六个关键环节:滤波、降采样、去噪、地面分割、法向量估计与特征提取。
一、核心原理:预处理是一条有序的信号链
点云预处理不是若干独立操作的堆叠,而是一条有先后依赖的信号链。滤波先剔除明显越界的点,降采样控制点密度,去噪抑制离群点,地面分割把地面与地物分离,法向量估计为每个点提供局部几何方向,特征提取则把邻域几何压缩成可学习的描述子。顺序颠倒会带来副作用:例如先降采样再去噪,可能把噪声点当作邻域中心,污染局部统计量;先做地面分割再降采样,则可能因地面点被抽稀而破坏地面连续性。
二、方法流程:六个环节的具体做法
滤波用于限定感兴趣区域。直通滤波按 X/Y/Z 或强度设定上下限,快速裁掉车身、雨雾和远处稀疏点;半径滤波删除邻域内点数过少的孤立点;统计滤波则基于邻域距离的均值与标准差判定离群点。
降采样最常用体素栅格法:把空间划分为固定边长的立方体,每个体素内用质心或最近点代表。体素边长是精度与速度的平衡点,0.1 m 保留细节,0.3 m 显著提速但会削弱小目标。
去噪与滤波有重叠,但更强调统计意义上的异常点剔除。统计离群点移除(SOR)计算每个点到 k 个近邻的平均距离,超过全局均值加 n 倍标准差即判为噪声;半径离群点移除(ROR)则直接按邻域点数阈值过滤。
地面分割是语义分割的前置关键。RANSAC 拟合平面适合平坦道路,但坡道与起伏地形易失效;布料模拟滤波(CSF)把点云倒置后让虚拟布料下落,对坡度和台阶更鲁棒。分割后应保留地面点索引,供后续可行驶区域分析使用。
法向量估计对每个点的邻域做 PCA,最小特征值对应的特征向量即法向量方向,需统一朝向(如指向传感器或向上)。特征提取在此基础上计算曲率、线性度、平面度、垂直度、FPFH 等描述子,为网络提供几何先验。
# Open3D 预处理示例
pcd = o3d.io.read_point_cloud("frame.pcd")
# 1. 直通滤波:保留高度 -2.0 ~ 0.5 m
pcd = pcd.crop(o3d.geometry.AxisAlignedBoundingBox(
(-50, -50, -2.0), (50, 50, 0.5)))
# 2. 体素降采样
pcd = pcd.voxel_down_sample(voxel_size=0.2)
# 3. 统计去噪
pcd, ind = pcd.remove_statistical_outlier(nb_neighbors=30, std_ratio=1.5)
# 4. RANSAC 地面分割
plane, inliers = pcd.segment_plane(
distance_threshold=0.2, ransac_n=3, num_iterations=1000)
ground = pcd.select_by_index(inliers)
objects = pcd.select_by_index(inliers, invert=True)
# 5. 法向量估计
objects.estimate_normals(
o3d.geometry.KDTreeSearchParamHybrid(radius=0.5, max_nn=30))
objects.orient_normals_towards_camera_location((0, 0, 0))
三、案例场景:城市道路语义分割前的整理
以 64 线激光雷达采集的城市道路为例,单帧约 12 万点。处理流程为:先按高度裁剪掉车顶以上与地面以下 2 m 的点,剩余约 9 万点;体素 0.2 m 降采样后约 2.4 万点;SOR 去噪剔除约 3% 的雨雾噪点;RANSAC 以 0.2 m 阈值分割地面,得到约 1.1 万地面点与 1.2 万地物点;对地物点估计法向量并计算曲率与高度特征。最终送入网络的张量规模下降约 80%,而车辆、行人、路沿的语义边界基本保留。
四、常见误区与复盘清单
| 误区 | 后果 | 修正做法 |
|---|---|---|
| 先降采样再去噪 | 噪声点成为邻域中心,统计量失真 | 先去噪,再降采样 |
| 体素边长过大 | 行人、锥桶等小目标消失 | 按最小目标尺寸的 1/3 选取 |
| RANSAC 阈值过松 | 路沿、低矮障碍被误判为地面 | 阈值 0.15–0.25 m,配合坡度约束 |
| 法向量朝向不统一 | 特征符号翻转,网络难以收敛 | 统一指向传感器或向上 |
| 忽略强度与时间戳 | 丢失反射率与运动信息 | 保留 intensity、ring、timestamp 字段 |
复盘时可用三个指标快速判断预处理质量:降采样后的点数是否与体素边长匹配、地面点占比是否与场景相符(城市道路通常 30%–50%)、法向量与局部平面的夹角残差是否小于 10°。三者正常,说明点云已具备进入语义分割网络的条件。