一、点云噪声类型详解
可以从成因维度来理解:传感器误差、几何关系、环境干扰、运动因素。
1. 离群点(Outliers / 飞点)
含义
- 在空间中孤立存在、与周围点不一致的点
- 通常不属于真实物体
成因
- 测距误差(弱回波、低反射)
- 电子噪声
- 多路径残留
- 雨滴/灰尘短暂反射
特征
- 局部邻域点数很少
- 与邻居距离明显偏大
工程影响
- 影响ICP收敛
- 破坏平面拟合(RANSAC)
- 导致误检
2. 混合像素(Mixed Pixel)
含义
- 一个激光束同时打到两个物体边界
- 返回的是“加权结果”,位置不准确
成因
- 激光光斑有一定尺寸(不是理想点)
- 物体边缘(例如车边缘、路沿)
特征
- 出现在边界区域
- 点的位置“漂浮”在两个物体之间
工程影响
- 边缘模糊
- 影响分割与检测精度
3. 运动畸变(Motion Distortion)
含义
- 一帧点云在采集过程中,传感器发生运动
- 导致点云整体“拉伸 / 扭曲”
成因
- LiDAR逐点扫描(非全局快门)
- 平台运动(车、机器人)
特征
- 静态物体看起来弯曲
- 直线变弧线
工程影响
- 配准误差(ICP/NDT失败)
- SLAM漂移
4. 多径反射(Multipath Reflection)
含义
- 激光经过多次反射后返回
- 距离被错误放大
成因
- 玻璃、镜面、金属表面
- 室内墙壁反射
特征
- 点出现在“物体后方”或不合理位置
- 通常距离异常大
工程影响
- 产生虚假障碍物
- 地图错误
5. 雨雾噪声(Weather Noise)
含义
- 激光被空气中的粒子(雨滴、雾气、灰尘)反射
成因
- 雨、雾、雪、沙尘
特征
- 大量随机小点
- 分布在传感器周围
- 距离较近
工程影响
- 点云密度异常
- 误检(当作障碍物)
6. 系统性噪声(补充)
包括
- 距离量化误差
- 标定误差
- 时间同步误差
二、重点问题:如何去除点云中的“飞点”?
这是高频题,建议用“分层过滤框架”来回答。
标准回答结构(推荐背诵)
通常飞点去除采用“多级滤波”的方式,先用统计方法去除离群点,再结合半径或密度约束进一步过滤,最后根据场景加入几何或强度约束。
三、主流去噪方法详解
1. 统计离群点滤波(Statistical Outlier Removal, SOR)
原理
对每个点:
- 找K近邻
- 计算平均距离
- 判断是否偏离整体分布
判定方式
- 若距离 > 均值 + α × 标准差 → 删除
特点
- 基于统计分布
- 对随机噪声效果好
优点
- 简单有效
- 通用性强
缺点
- 对密度变化敏感
2. 半径滤波(Radius Outlier Removal)
原理
对每个点:
- 在半径 r 内统计邻居数量
判定
- 邻居数 < N → 删除
特点
- 基于空间密度
优点
- 直观
- 对飞点效果好
缺点
- 参数敏感(r 和 N)
3. 体素滤波(Voxel Grid)
原理
- 将空间划分为体素(3D网格)
- 每个体素保留一个代表点
作用
- 降采样(不是专门去噪)
对飞点影响
- 孤立点可能被直接丢弃
4. 条件滤波(Conditional Filtering)
示例
- 距离范围限制(PassThrough)
- 强度过滤(Intensity threshold)
作用
- 去除明显异常点
5. 基于模型的方法(RANSAC)
原理
- 拟合模型(平面、直线)
- 非内点视为噪声
适用
- 地面提取
- 结构化场景
6. 时间一致性滤波(Temporal Filtering)
原理
- 连续帧对比
- 不稳定点剔除
适用
- 动态噪声(雨、飞点)
四、工程中常用去噪Pipeline(非常重要)
你可以直接在中说:
在实际工程中,通常采用如下点云预处理流程:
标准流程
- 直通滤波(PassThrough)
- 去掉无效距离
- 体素滤波(Voxel Grid)
- 降采样,提高速度
- 统计滤波(SOR)
- 去除离群点
- 半径滤波(Radius)
- 进一步去除稀疏点
- (可选)RANSAC
- 去除非结构点(如地面)
五、针对不同噪声的处理方法总结
| 噪声类型 | 主要方法 |
|---|---|
| 离群点 | SOR + Radius |
| 混合像素 | 边缘平滑 / 不完全可去除 |
| 运动畸变 | IMU + 时间戳去畸变(deskew) |
| 多径反射 | 距离阈值 + 强度过滤 |
| 雨雾噪声 | 半径滤波 + 时间一致性 |
六、加分点(建议补一句)
你可以这样总结:
飞点本质上是局部不满足空间连续性的点,因此主流方法都是基于“邻域一致性”进行判断,比如统计滤波和半径滤波。同时在工程中通常采用多种方法组合,而不是单一算法。
七、结合你项目的高分回答(建议使用)
结合你做过的点云项目,可以这样说:
在我的项目中,一般采用体素滤波进行降采样,然后使用统计滤波去除离群点,再结合半径滤波提高鲁棒性。在复杂环境(比如雨雾或反光场景)下,会结合强度信息和时间一致性进一步过滤噪声,从而保证后续分割和配准的稳定性。