深圳尤洛视觉
深圳
立即加入

什么是 Mask R-CNN,它是如何工作的?

Abirami Vina

4 分钟阅读

2025年3月21日

了解 Mask R-CNN 如何用于精确分割图像和视频中的对象,以用于不同领域的各种应用。

随着 AI 采用率的提高,仓库中的机器人、在繁忙街道上安全行驶的自动驾驶汽车、检查农作物的无人机以及在工厂中检查产品的 AI 系统等创新变得越来越普遍。推动这些创新的关键技术是计算机视觉,它是 AI 的一个分支,使机器能够理解和解释视觉数据。

例如,目标检测是一项计算机视觉任务,可帮助使用边界框识别和定位图像中的对象。虽然边界框提供了有用的信息,但它们仅提供对象位置的粗略估计,无法捕获其精确的形状或边界。这使得它们在需要精确识别的应用中效果较差。

为了解决这个问题,研究人员开发了分割模型,该模型可以捕获对象的精确轮廓,从而提供像素级细节,以实现更准确的检测和分析。

Mask R-CNN 是这些模型之一。 它由 Facebook AI Research (FAIR) 于 2017 年推出,建立在早期模型(如 R-CNN、Fast R-CNN 和 Faster R-CNN)的基础上。 作为计算机视觉历史上的一个重要里程碑,Mask R-CNN 为更先进的模型(如 Ultralytics YOLO11)铺平了道路。

在本文中,我们将探讨什么是 Mask R-CNN,它的工作原理,它的应用,以及它之后出现的改进,最终促成了 YOLO11 的诞生。

Mask R-CNN 概述

Mask R-CNN,即基于掩码区域的卷积神经网络,是一种深度学习模型,专为计算机视觉任务(如对象检测和实例分割)而设计。 

实例分割超越了传统的物体检测,不仅可以识别图像中的物体,还可以准确地勾勒出每个物体。它为每个检测到的物体分配一个唯一的标签,并捕获其像素级的精确形状。这种细致的方法可以清楚地区分重叠的物体,并准确地处理复杂的形状。

Mask R-CNN 以 Faster R-CNN 为基础构建,后者可以检测和标记对象,但不能定义它们的精确形状。 Mask R-CNN 通过识别构成每个对象的精确像素来改进这一点,从而实现更详细和准确的图像分析。

图 1. 目标检测与实例分割的比较。

Mask R-CNN 的架构及其工作原理

Mask R-CNN 采用循序渐进的方法来准确地检测和分割对象。 它首先使用深度神经网络(一种从数据中学习的多层模型)提取关键特征,然后使用区域提议网络(一种建议可能的对象区域的组件)识别潜在的对象区域,最后通过创建详细的分割掩码(对象的精确轮廓)来细化这些区域,从而捕获每个对象的精确形状。

接下来,我们将逐步讲解 Mask R-CNN 的工作原理,以便更好地理解。

图 2.掩膜 R-CNN 架构概览(来源:Researchgate.net)。

从特征提取开始

Mask R-CNN 架构的第一步是将图像分解为关键部分,以便模型能够理解其中的内容。这就像您看照片时,会自然地注意到形状、颜色和边缘等细节。模型使用一种称为“骨干网络”(通常是 ResNet-50 或 ResNet-101)的深度神经网络来执行类似的操作,它就像模型的眼睛一样扫描图像并提取关键细节。

由于图像中的物体可能非常小或非常大,Mask R-CNN 使用了特征金字塔网络。这就像拥有不同的放大镜,让模型既能看到精细的细节,又能看到更大的画面,确保注意到所有尺寸的物体。

一旦提取了这些重要的 特征,模型就会开始定位图像中潜在的对象,为进一步的分析奠定基础。

建议图像中包含对象的潜在区域

在图像经过关键特征处理后,区域提议网络接管。模型的这一部分会查看图像并建议可能包含对象的区域。

它通过生成多个可能的对象位置(称为锚点)来实现这一点。然后,网络评估这些锚点,并选择最有希望的锚点进行进一步分析。这样,模型只关注最有可能感兴趣的区域,而不是检查图像中的每个点。

图 3. 区域提议网络示例。

增强提取的特征 

在确定了关键区域之后,下一步是细化从这些区域提取的细节。早期的模型使用一种称为 ROI Pooling(感兴趣区域池化)的方法来获取每个区域的特征,但是这种技术有时会导致在调整区域大小时出现轻微的错位,使其效率降低——尤其是在较小或重叠的物体上。

Mask R-CNN 通过使用一种称为 ROI Align(感兴趣区域对齐)的技术对此进行了改进。 ROI Align 没有像 ROI Pooling 那样对坐标进行四舍五入,而是使用双线性插值来更精确地估计像素值。 双线性插值是一种通过平均其四个最近邻居的值来计算新像素值的方法,从而创建更平滑的过渡。 这使得特征与原始图像正确对齐,从而实现更准确的对象检测和分割。

例如,在足球比赛中,两个站得很近的球员可能会被误认为是一个人,因为他们的边界框重叠。ROI Align 通过保持他们的形状不同来帮助区分他们。 

图 4. Mask R-CNN 使用 ROI Align。

对物体进行分类并预测其掩码

一旦 ROI Align 处理完图像,下一步就是对对象进行分类并微调它们的位置。该模型会查看每个提取的区域,并确定它包含什么对象。它为不同的类别分配一个概率分数,并选择最佳匹配。

与此同时,它会调整边界框以更好地拟合对象。最初的框可能未理想地放置,因此这有助于通过确保每个框紧密地围绕检测到的对象来提高准确性。

最后,Mask R-CNN 采取了额外的步骤:它并行地为每个对象生成详细的分割掩码

Mask R-CNN 及其在实时应用中的应用

当这个模型问世时,它受到了AI社区的极大关注,并很快被用于各种应用。它实时检测和分割对象的能力使其成为不同行业的颠覆者。

例如,追踪野外濒危动物是一项具有挑战性的任务。许多物种在茂密的森林中活动,这使得自然资源保护主义者很难追踪它们。传统方法使用相机陷阱、无人机和卫星图像,但手动整理所有这些数据非常耗时。错误识别和遗漏的观测结果会减缓保护工作。

通过识别老虎的条纹、长颈鹿的斑点或大象耳朵的形状等独特特征,Mask R-CNN 可以更准确地检测和分割图像和视频中的动物。即使动物部分被树木遮挡或紧密站在一起,该模型也可以将它们分开并单独识别,从而使野生动物监测更快、更可靠。

Fig 5. 使用 Mask R-CNN 检测和分割动物。

Mask R-CNN 的局限性

尽管 Mask R-CNN 在目标检测和分割方面具有历史意义,但它也存在一些主要缺点。以下是与 Mask R-CNN 相关的一些挑战:

  • 高计算需求:它依赖于强大的 GPU,这可能会使其运行成本高昂,并且在处理大量数据时速度较慢。

  • 处理速度较慢: 与 YOLO 等更快的实时模型相比,其多阶段过程使其速度较慢,这可能不适合对时间敏感的任务。

  • 对高质量数据的依赖性:该模型在清晰、标记良好的图像上表现最佳。模糊或光线不足的图像会大大降低其准确性。
  • 复杂实现: 多阶段架构的设置和优化可能具有挑战性,尤其是在处理大型数据集或有限资源时。

从 Mask R-CNN 到 Ultralytics YOLO11

Mask R-CNN 非常适合分割任务,但许多行业希望在优先考虑速度和实时性能的同时采用计算机视觉。 这种需求促使研究人员开发出单阶段模型,这些模型可以通过一次传递检测对象,从而大大提高效率。

与 Mask R-CNN 的多步骤流程不同,YOLO(You Only Look Once)等单阶段计算机视觉模型专注于实时计算机视觉任务。YOLO 模型无需分别处理检测和分割,而可以一次性分析图像。这使其非常适合自动驾驶、医疗保健、制造业和机器人等应用,在这些应用中,快速决策至关重要。

特别是,YOLO11 通过兼具快速和准确性,更进一步。与 YOLOv8m 相比,它使用的参数减少了 22%,但在 COCO 数据集上仍然实现了更高的平均精度均值 (mAP),这意味着它可以更精确地检测对象。其改进的处理速度使其成为对每一毫秒都很重要的实时应用的理想选择。

图 6. YOLO11 与其他模型的性能比较。

主要要点

回顾计算机视觉的历史,Mask R-CNN 被认为是目标检测和分割领域的一项重大突破。由于其详细的多步骤流程,即使在复杂的设置中也能提供非常精确的结果。 

然而,与像YOLO这样的实时模型相比,同样的流程使其速度较慢。随着对速度和效率的需求增长,许多应用程序现在使用像Ultralytics YOLO11这样的单阶段模型,该模型提供快速而准确的物体检测。虽然Mask R-CNN对于理解计算机视觉的演变非常重要,但向实时解决方案的趋势突出了对更快、更高效的计算机视觉解决方案日益增长的需求。

加入我们不断壮大的社区!探索我们的GitHub 仓库以了解更多关于人工智能的信息。准备好开始您自己的计算机视觉项目了吗?查看我们的许可选项。通过访问我们的解决方案页面,了解农业领域的人工智能医疗保健领域的 Vision AI! 

让我们一起构建人工智能的未来!

开启您的机器学习未来之旅

免费开始
链接已复制到剪贴板