4. 点云分割基础:分割定义、应用场景与评价指标
各位同学,今天我们来聊聊点云分割。说实话,这是整个点云处理里最「接地气」的一环。为什么这么说?因为不管你前面做了多少滤波、特征提取,最终落地到自动驾驶、机器人导航这些场景时,分割才是真正把点云数据变成「可理解信息」的关键一步。
4.1 什么是点云分割?
点云分割,说白了就是给每个点贴标签。把一堆无序的点,按照空间位置、几何特征、语义信息,分成不同的组。比如地面是一组,车辆是一组,建筑物是一组。
我个人习惯把分割理解成「三维世界的抠图」。你想想看,一张照片里要分出人和背景,靠的是像素颜色和边缘。点云里呢?靠的是点的坐标、法向量、曲率这些几何属性。
核心定义:点云分割 = 将点云数据划分为多个互不相交的子集,每个子集对应一个具有一致几何或语义属性的对象或区域。
这里要注意一点:分割和聚类经常被混为一谈。我简单区分一下——聚类是无监督的,算法自己决定怎么分;分割可以是监督的,比如我们提前告诉模型「地面长这样」。实际工程中,两者经常结合使用。
4.2 应用场景:地面、障碍物、建筑物
讲理论容易犯困,咱们直接上场景。我这些年做过的项目里,分割最常用的就是这三个方向。
4.2.1 地面分割
地面分割是自动驾驶的「基本功」。为什么?因为车辆行驶的前提是知道哪里能走。地面分割做不好,后面的障碍物检测、路径规划全是空中楼阁。
我记得有一次做矿区无人驾驶项目,地面不是平整的柏油路,而是坑坑洼洼的碎石路。用传统的RANSAC平面拟合,效果一塌糊涂。后来换了基于射线坡度的分割方法,才勉强搞定。
常用的地面分割方法:
- 平面拟合类:RANSAC、PCA,适合平整路面
- 射线坡度类:按角度划分射线,适合起伏地形
- 深度学习类:PointNet++、SqueezeSeg,适合复杂场景
我的经验:实际项目中,别一上来就上深度学习。先试试RANSAC,简单、快、效果往往够用。深度学习模型再准,部署成本摆在那。
4.2.2 障碍物分割
障碍物分割的目标是把车辆、行人、骑行者这些「动的东西」从背景里抠出来。难点在于——障碍物形状千奇百怪,而且经常被遮挡。
我做过一个行人检测的项目,点云稀疏到只有几十个点落在人身上。这时候基于欧几里得聚类的分割方法就失效了,因为距离阈值根本设不对。后来改用基于体素的连通域分析,才勉强把行人轮廓勾勒出来。
障碍物分割的常见挑战:
- 稀疏点云下的小目标检测
- 遮挡导致的不完整形状
- 动态障碍物与静态背景的区分
4.2.3 建筑物分割
建筑物分割主要用在测绘、城市建模、古建筑保护这些领域。和地面、障碍物不同,建筑物通常有规则的几何结构——墙面是平面,屋顶是斜面,柱子是圆柱体。
我参与过一个古建筑数字化项目,需要把飞檐、斗拱这些复杂结构从整体点云里分割出来。说实话,纯几何方法搞不定,因为结构太复杂了。最后用了区域生长+手工标注的混合方案,才勉强交差。
建筑物分割的常用思路:
- 基于几何基元:平面、圆柱、球体拟合
- 基于区域生长:从种子点开始,合并相似邻域
- 基于深度学习:PointNet、KPConv等
4.3 评价指标:IoU、精度、召回率
分割做得好不好,不能光靠眼睛看。我们需要量化的指标。这里我重点讲三个最常用的。
4.3.1 IoU(交并比)
IoU是分割任务里最核心的指标。它的计算方式很简单:
IoU = (预测正确的点数量) / (预测正确的点 + 漏检的点 + 误检的点)
说白了,就是预测结果和真实标签的重叠程度。IoU越接近1,说明分割越准。
我个人的经验阈值:
- IoU > 0.7:效果不错,可以上线
- IoU 0.5 ~ 0.7:需要优化,但勉强能用
- IoU < 0.5:基本不可用,得重新搞
注意:IoU对类别不平衡非常敏感。比如地面点占了90%,你就算把地面全分对,IoU也可能很高,但障碍物分割一塌糊涂。所以实际评估时,要按类别分别计算IoU,再取平均(mIoU)。
4.3.2 精度(Precision)与召回率(Recall)
这两个指标经常一起用。我简单解释一下:
- 精度:你预测为「障碍物」的点里,有多少真的是障碍物?
- 召回率:真正的障碍物点里,你找出来了多少?
举个例子。假设场景里有100个障碍物点,你预测了80个,其中70个是对的,10个是错的。
- 精度 = 70 / 80 = 87.5%
- 召回率 = 70 / 100 = 70%
你看,精度高不代表召回率高。反过来也一样。实际工程中,这两个指标需要权衡。
我曾经做过一个项目,甲方要求「绝对不能漏检行人」。于是我拼命提高召回率,结果精度掉到了60%以下,满屏都是误检。后来调整了阈值,才找到平衡点。
4.3.3 综合评价:F1分数
为了综合评估精度和召回率,我们通常用F1分数:
F1 = 2 * (精度 * 召回率) / (精度 + 召回率)
F1分数越高,说明模型在精度和召回率之间取得了更好的平衡。
下面这个表格总结了三个指标的特点:
| 指标 | 关注点 | 适用场景 | 我的建议 |
|---|---|---|---|
| IoU | 预测与真实的重叠程度 | 通用分割评估 | 必看指标,但别只看它 |
| 精度 | 预测结果的可靠性 | 误检代价高的场景 | 安全系统优先看精度 |
| 召回率 | 对目标的覆盖程度 | 漏检代价高的场景 | 安防监控优先看召回率 |
4.4 本章知识体系图
下面我用一张SVG图,把本章的核心逻辑串起来。你可以把它当成一个「思维导图」来看。
4.5 本章小结
嗯,这一章的内容就这些。我帮你捋一下重点:
- 分割定义:给点云贴标签,把无序点变成有意义的组
- 三大场景:地面、障碍物、建筑物,各有各的坑和套路
- 三个指标:IoU看整体,精度看可靠性,召回率看覆盖度
最后说一句心里话:评价指标这东西,别死记硬背。你真正上手跑一次分割,调一次阈值,自然就懂了。我当年也是被IoU虐过好几轮,才真正理解它的意义。