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图,把本章的核心逻辑串起来。你可以把它当成一个「思维导图」来看。

点云分割基础 分割定义 • 给每个点贴标签 • 三维世界的抠图 • 与聚类的区别 应用场景 • 地面分割 • 障碍物分割 • 建筑物分割 评价指标 • IoU(交并比) • 精度(Precision) • 召回率(Recall) 无监督 vs 有监督 RANSAC / 区域生长 深度学习方法 F1分数 核心:定义清楚 → 选对场景 → 用准指标 三者缺一不可,否则项目容易翻车

4.5 本章小结

嗯,这一章的内容就这些。我帮你捋一下重点:

  • 分割定义:给点云贴标签,把无序点变成有意义的组
  • 三大场景:地面、障碍物、建筑物,各有各的坑和套路
  • 三个指标:IoU看整体,精度看可靠性,召回率看覆盖度

最后说一句心里话:评价指标这东西,别死记硬背。你真正上手跑一次分割,调一次阈值,自然就懂了。我当年也是被IoU虐过好几轮,才真正理解它的意义。


专注资料整理