3. 点云质量定义与维度
在激光雷达感知评测中,“点云质量”并不是一个单一分数,而是一组相互制约、面向不同任务需求的维度集合。同一帧点云,对建图任务可能“精度足够但密度不足”,对障碍物检测可能“密度足够但噪声偏高”,对远距离小目标识别则可能“完整性尚可但反射强度信息缺失”。因此,理解点云质量的第一步,是把它拆解为可观测、可度量、可归因的维度,并明确每个维度背后的物理成因与工程含义。
一、核心原理:六个维度的物理来源
激光雷达通过发射激光脉冲并测量回波时间与强度来获取点。每个点的质量,本质上由“光是否打到目标、是否被正确接收、是否被正确解算”三个环节决定。完整性描述目标表面被采到的比例,受视场角、遮挡、扫描线分布和反射率影响;密度描述单位面积或单位体积内的点数,受线束数量、扫描频率、距离和入射角影响;精度描述点坐标与真实位置的偏差,受测距精度、标定误差、时间同步和运动畸变影响;噪声描述无目标处的虚假点或坐标抖动,受阳光、雨雾、多径和探测器暗噪声影响;反射强度描述回波能量强弱,与目标材质、颜色、距离和入射角强相关;多回波描述一个脉冲收到多次回波的能力,用于穿透植被、玻璃或雨雾,保留多层结构信息。
二、方法流程:从原始点云到质量报告
质量评测的流程通常分为四步。第一步是数据对齐,将待测点云与参考真值(高精度地图、全站仪测量、标定板或人工标注)在统一坐标系下配准,避免把配准误差误判为点云误差。第二步是分维度计算,完整性用目标表面覆盖率或漏检率,密度用每平方米点数或体素占用率,精度用RMSE、平均绝对误差或95分位误差,噪声用离群点比例和局部平面拟合残差,反射强度用标定后的反射率一致性,多回波用回波层数分布和穿透率。第三步是场景分层,把点云按距离、入射角、目标材质、天气条件分组,因为质量指标随这些变量显著变化。第四步是生成报告,给出各维度得分、权重和典型失败案例。
# 质量评测伪代码示例
for frame in dataset:
pc = load_pointcloud(frame)
gt = load_ground_truth(frame)
pc_aligned = align(pc, gt)
completeness = coverage_ratio(pc_aligned, gt)
density = points_per_sqm(pc_aligned)
accuracy = rmse(pc_aligned, gt)
noise_ratio = outlier_ratio(pc_aligned, k=8)
intensity = intensity_consistency(pc_aligned, gt)
multi_echo = echo_layer_stats(frame.raw_echo)
report(frame, completeness, density, accuracy,
noise_ratio, intensity, multi_echo)
三、案例/场景:同一路段的三类任务
以城市主干道为例。对自动驾驶障碍物检测,密度和完整性权重最高:远处行人只有少量点,若密度不足,检测网络难以稳定输出。对高精地图建图,精度和多回波权重最高:路面标线、路沿和树冠下的杆状物需要厘米级精度,多回波能保留植被后的结构。对雨雾天气感知,噪声和反射强度权重上升:雨滴产生大量虚假点,反射强度衰减导致远处目标点云稀疏,此时需要结合多回波和强度补偿判断目标是否真实存在。
| 质量维度 | 典型指标 | 主要影响因素 | 高权重任务 |
|---|---|---|---|
| 完整性 | 表面覆盖率、漏检率 | 视场角、遮挡、扫描线分布 | 障碍物检测、目标识别 |
| 密度 | 点/㎡、体素占用率 | 线束、距离、入射角 | 小目标检测、语义分割 |
| 精度 | RMSE、95分位误差 | 测距、标定、时间同步 | 高精地图、定位 |
| 噪声 | 离群点比例、平面残差 | 阳光、雨雾、多径 | 恶劣天气感知 |
| 反射强度 | 反射率一致性、强度衰减 | 材质、颜色、距离、角度 | 材质分类、车道线识别 |
| 多回波 | 回波层数、穿透率 | 植被、玻璃、雨雾 | 建图、植被穿透 |
四、误区与复盘
复盘时建议做三件事:一是按距离和入射角绘制质量指标曲线,定位指标衰减拐点;二是保留典型失败帧,标注是完整性、密度、精度、噪声、强度还是多回波导致;三是把质量报告与下游任务指标关联,验证哪些维度真正影响检测、分割或建图结果。只有把质量维度与任务收益挂钩,评测才具有工程决策价值。