Mask R-CNN是一种为实例分割设计的深度学习模型,实例分割是一项计算机视觉任务,旨在像素级别识别并描绘图像中的每个对象实例。它通过增加一个并行分支来预测分割掩码,扩展了Faster R-CNN目标检测框架,从而实现同时进行对象检测和精确的空间定位。该模型于2017年由Facebook AI Research(现为Meta的一部分)的研究人员提出,在COCO数据集上取得了最先进的成果,并成为许多后续分割模型的基础架构。
与语义分割不同,语义分割将每个像素分类到某个类别而不区分单个对象,实例分割则要求分离同一类别的重叠或相邻对象。Mask R-CNN通过结合区域提议网络(RPN)和掩码预测头来解决这一问题。RPN生成候选对象边界框,而掩码分支为每个感兴趣区域(RoI)输出一个二值掩码,采用称为RoIAlign的技术来保持空间对齐。
架构
该架构建立在Faster R-CNN之上,后者本身扩展了神经网络家族的目标检测器。Faster R-CNN使用卷积骨干网络(如ResNet)提取特征图,使用RPN提议区域,并使用分类器预测对象类别和细化边界框。Mask R-CNN增加了一个与分类和框回归头并行运行的第三个分支。该掩码分支是一个全卷积网络,为每个RoI预测一个二值掩码,通常分辨率为28×28像素,然后上采样到原始图像大小。
一个关键创新是RoIAlign,它取代了Faster R-CNN中使用的RoIPool操作。RoIPool量化RoI边界,导致提取的特征与原始图像之间出现错位。RoIAlign通过使用双线性插值避免量化,从而保留精确的空间信息。这一改进对于像素级精确的掩码预测至关重要,因为即使是微小的错位也会降低分割质量。
训练与损失
该模型使用多任务损失函数进行端到端训练,该函数结合了三个组成部分:分类损失(交叉熵)、边界框回归损失(平滑L1)和掩码损失(逐像素二值交叉熵)。掩码分支仅在正RoI(包含对象的区域)上训练,每个RoI被分配到一个特定的真实类别,因此掩码预测是类别特定的。在推理过程中,掩码分支为每个检测到的对象运行,最终输出包括类别标签、边界框和掩码。
训练通常使用带动量的随机梯度下降,并使用在ImageNet上预训练的权重进行初始化。在COCO数据集上,Mask R-CNN使用ResNet-101骨干网络实现了35.7%的掩码平均精度(AP),优于先前的方法,如FCIS和Mask R-CNN的前身,后者依赖更复杂的后处理。该模型还在其他基准测试中表现出色,包括Cityscapes和医学影像中的实例级分割任务。
应用
实例分割在各个领域具有广泛的应用。在自动驾驶中,Mask R-CNN帮助识别和分离行人、车辆和道路障碍物,改善了Waymo和特斯拉自动驾驶等公司的感知系统。在医学影像中,它从扫描中分割肿瘤、细胞或器官,辅助诊断和手术规划。在机器人技术中,它通过提供像素级对象边界实现精确的对象操作。其他用途包括卫星图像分析、农业监测和增强现实,其中精确的对象轮廓增强了场景理解。
该模型的灵活性还扩展到视频实例分割,其中添加了时间一致性,以及全景分割,它将实例分割和语义分割结合为统一输出。诸如带有特征金字塔网络(FPN)的Mask R-CNN等变体提高了小对象的准确性,而像MobileNet这样的轻量级骨干网络则支持在边缘设备上部署。
影响与遗产
Mask R-CNN为实例分割设定了新标准,影响了后续架构,如Cascade Mask R-CNN、Hybrid Task Cascade,以及基于Transformer的DETR和Mask2Former。其在Detectron2框架(由Meta AI于2019年发布)中的开源实现加速了研究和工业界的采用。该模型的设计原则,,多任务学习、RoIAlign和并行预测头,,已被广泛复用于其他视觉任务,包括关键点检测和全景分割。
尽管端到端Transformer模型兴起,Mask R-CNN由于其效率和准确性仍然是稳健的基线。截至2024年,它仍被用于计算资源有限的生产系统中,其概念在标准计算机视觉课程中教授。由何恺明、Georgia Gkioxari、Piotr Dollár和Ross Girshick撰写的论文“Mask R-CNN”发表于ICCV 2017,已被引用数千次,反映了其对领域的持久影响。
局限性
Mask R-CNN存在已知的局限性。由于两阶段架构,它比简单检测器慢,使得实时应用在没有硬件加速的情况下具有挑战性。掩码分辨率固定为28×28,对于大对象可能会丢失细节。它也难以处理高度重叠的实例,其中RPN可能合并提议。训练需要带有像素级掩码的大型标注数据集,这些数据集的制作成本高昂。此外,该模型对域偏移敏感,在训练分布之外的图像上表现不佳,这是机器学习系统中的常见问题。
研究已解决其中一些问题,例如使用更高分辨率的掩码或注意力机制,但速度和准确性之间的权衡仍然存在。对于许多实际场景,Mask R-CNN仍然是可靠的选择,在精度和中等计算成本之间取得平衡。