趋近智
语义分割为图像中的每个像素分配一个类别标签(如“汽车”、“人物”、“道路”),而实例分割则在此基础上更进一步。它的目标是识别并描绘图像中每个不同的目标实例。因此,它不会将所有属于人的像素标记为“人”,而是为“人1”、“人2”和“人3”输出单独的掩码。这提供了对场景更全面的理解,能够分离同一类别中重叠的对象。
实例分割本质上结合了目标检测(用边界框定位单个目标)和语义分割(对像素进行分类)的元素。针对此任务,Mask R-CNN是一种主要且高效的方法之一。
Mask R-CNN由Facebook AI研究院(FAIR)的研究人员开发,直接构建在Faster R-CNN目标检测框架之上。回顾一下,Faster R-CNN是一个两阶段检测器:
Mask R-CNN扩展了第二阶段,在现有的分类和边界框回归分支之外,增加了第三个并行分支,用于为每个RoI预测分割掩码。
Mask R-CNN 概述。它在标准Faster R-CNN头部(蓝色)之外,增加了一个并行的掩码预测分支(黄色),用于处理来自RoIAlign的特征。
Mask R-CNN中的核心新增部分是这个掩码头部。它通常被实现为一个应用于每个RoI的小型全卷积网络(FCN)。
Mask R-CNN引入了一项重要的创新,即RoIAlign。Faster R-CNN中使用的原始RoIPool操作涉及量化步骤。当将RoI(具有连续坐标)映射到特征图的离散网格上时,RoIPool会对坐标进行四舍五入。然后它将RoI划分为空间区域(bin),并在每个区域内进行最大池化。尽管这对分类和边界框回归来说效果足够好,但空间量化不准确性对预测像素精确的掩码有害。四舍五入造成的小偏差会显著降低分割边界的质量。
RoIAlign避免了这种量化。它没有对RoI边界进行四舍五入,而是使用双线性插值来计算每个RoI区域内四个规则采样位置处输入特征的精确值。这些采样值随后被聚合(通常通过最大池化或平均池化)以生成该区域的池化特征图。此过程保留了精确的空间位置信息,使得提取的特征与原始图像区域之间的对齐效果更好,这对于高质量的实例分割来说非常重要。
Mask R-CNN采用多任务损失函数进行端到端训练。每个采样RoI上的总损失 L 是分类损失 Lcls、边界框回归损失 Lbox 和掩码分割损失 Lmask 的和:
L=Lcls+Lbox+Lmask这种多任务训练使网络能够同时学习对目标进行分类、优化其边界框以及生成详细的分割掩码,所有这些都运用了主干网络的共享卷积特征。
在推理过程中,Mask R-CNN遵循Faster R-CNN的步骤,通过RPN生成RoIs。对于每个提议的RoI,它预测一个类别标签、一个边界框优化和一个像素级掩码。应用置信度分数阈值来过滤检测结果。基于边界框执行非极大值抑制(NMS)以移除重复检测。对于保留的检测结果,会选中掩码头部预测的相应类别特定掩码,将其调整到最终边界框的尺寸,并通常在0.5处进行阈值处理以得到最终的二进制实例掩码。
输出是一组目标,每个目标都有一个类别标签、一个置信度分数、一个边界框,以及一个精确的像素级分割掩码,用于识别该特定实例。
Mask R-CNN在发布时在实例分割基准上表现出领先水平,并且仍然是一个强大且广泛使用的基准方法。它的设计巧妙地将目标检测和分割结合到一个单一的、可训练的框架中,为实例级场景理解的许多后续发展开辟了道路。尽管存在其他方法,包括为速度设计的单阶段方法(如YOLACT或SOLO),理解Mask R-CNN为解决实例分割问题提供了坚实根基。
这部分内容有帮助吗?
© 2026 ApX Machine Learning用心打造