2.3 实例分割 (Instance Segmentation)


2.3 实例分割 (Instance Segmentation)

本节摘要:实例分割不仅像素分类,还区分同类不同实例。本节讲它在自动驾驶多目标跟踪中的作用——每辆车是独立个体。

本节地图

阅读完本节,你应当能够:

  1. 理解实例分割的价值
  2. 区分语义和实例分割
  3. 知道代表模型

概念脉络

实例分割的价值

语义分割把所有"车"标一类,但自动驾驶要跟踪每辆车,需区分"哪辆是哪辆"。实例分割既像素分类又区分实例,给每个目标精确轮廓和独立 ID。

语义 vs 实例分割

场景 语义分割 实例分割
3 辆车 都标"车"类 车A、车B、车C 分开
用途 可行驶区域 多目标跟踪
输出 类别图 实例掩码列表

实例分割为多目标跟踪提供基础——每辆车是独立个体,可分别跟踪和预测。

代表模型

模型 特点
Mask R-CNN Faster R-CNN + 分割分支,经典
YOLACT 实时实例分割
SOLOv2 anchor-free 实例分割
Mask2Former Transformer,现代 SOTA

自动驾驶实时性要求,用 YOLACT 等轻量实例分割。

在自动驾驶的应用

  • 多目标跟踪:每辆车独立掩码,分别跟踪
  • 精细避障:精确轮廓而非框,避障更准
  • 行为预测:每辆车独立预测轨迹
  • 场景理解:理解目标间关系

实例分割的输出

每个实例输出:

  • 掩码(像素级轮廓)
  • 类别
  • 置信度
  • 实例 ID

挑战

  • 计算量大:比检测和语义分割都重
  • 密集目标:拥堵场景多实例
  • 小目标:远处目标掩码难
  • 实时性:自动驾驶要轻量

与跟踪的关系

实例分割是跟踪的基础:每帧实例分割 → 帧间实例关联 → 多目标跟踪。实例 ID 帮助跨帧关联同一目标。

⚠️ 实例分割很重:同时做分类+分割+实例区分,计算量大。自动驾驶常只在需要时用,或用轻量版本(YOLACT)。

💡 关键直觉:实例分割像素分类+区分同类实例,每辆车独立。为多目标跟踪、精细避障、行为预测提供基础。比检测和语义分割重,用轻量模型(YOLACT)或按需用。

要点串联

  • 价值:像素分类+区分实例,每辆车独立个体。
  • vs 语义:语义同类合一,实例区分(车A/B/C)。
  • 模型:Mask R-CNN(经典)、YOLACT(实时)、SOLOv2、Mask2Former。
  • 应用:多目标跟踪、精细避障、行为预测、场景理解。
  • 输出:掩码+类别+置信度+实例 ID。
  • 挑战:计算量大、密集、小目标、实时性。
  • 与跟踪:实例分割→帧间关联→多目标跟踪。

下一节讲 3D 目标检测。

Mask R-CNN:检测与分割的合流

Mask R-CNN 是在 Faster R-CNN 检测头之外并联一个掩码分支。检测头给出每个候选框的类别和位置,掩码分支在候选框内部做像素级分类。它的关键设计是 RoIAlign:Faster R-CNN 用 RoIPool 把不同大小的候选框池化成固定尺寸特征,RoIPool 的两次量化会损失空间位置精度;RoIAlign 改用双线性插值,在浮点坐标上采样,让掩码精度明显提升。掩码分支用"每个类别一个二值掩码"的解耦设计,避免类别间竞争,比"所有类别一个掩码再分类"的效果更好。

图像 -> 特征图(FPN) -> RPN 候选框 -> 检测头(类别+框) -> NMS -> 掩码头(每个类别掩码) -> 实例掩码

实时实例分割的取舍

Mask R-CNN 精度高但速度慢,量产方案更常用 one-stage 方法。YOLACT 提出原型掩码加系数线性组合的思路:先对整图预测一组原型掩码和每个实例的一组线性系数,实例掩码等于系数加权原型掩码,因为掩码不需要对每个框单独计算,速度很快。SOLOv2 走 anchor-free 路线,把实例分割分解为"实例中心区域预测加掩码预测",也绕开了候选框两阶段。评估实例分割用 mask AP——在掩码 IoU 阈值下的平均精度,和检测 AP 类似,只是把 IoU 换成掩码重叠度。自动驾驶里实例分割通常只在需要精确轮廓(精细泊车、狭窄空间通过)时启用,平时用检测加语义分割组合就够。一个工程细节:实例分割的输出可以直接喂给跟踪,把每帧的实例掩码和已有轨迹的掩码算 IoU,超过阈值就关联,比用 2D 框关联更稳——掩码包含了目标的实际形状,遮挡时即使框有偏移,重叠部分的掩码仍然能对得上。

补充实例分割与语义分割在工程选型上的差异:语义分割只需要一个全局类别图,显存占用稳定;实例分割要维护"实例列表",每个实例的掩码独立存储,在拥挤场景下实例数可能上百,内存和管理开销显著上升。因此很多系统做"按需实例分割"——平时只跑语义分割,当检测到某个区域目标密集或需要精细轮廓时,才在该区域局部启动实例分割分支。这种按需计算是量产系统控制平均算力占用的常见手段,也体现了感知工程里"精度与资源始终要权衡"的原则。


作者与出处
原作者: 灏天文库
来源:灏天文库
整理: 灏天文库整理
由灏天文库平台收录,内容或由平台用户上传,仅供学习交流
发布者: 作者: 灏天文库 转发
评论区 (0)
U