了解 Mask R-CNN 如何用于精确分割图像和视频中的对象,以满足不同领域的各种应用需求。
随着人工智能应用的增加,仓库里的机器人、在繁忙街道上安全行驶的自动驾驶汽车、检查农作物的无人机以及在工厂里检查产品的人工智能系统等创新变得越来越普遍。计算机视觉是推动这些创新的一项关键技术,它是人工智能的一个分支,能让机器理解和解释视觉数据。
例如,物体检测是一项计算机视觉任务,它利用边界框帮助识别和定位图像中的物体。虽然边界框能提供有用的信息,但它只能粗略估计物体的位置,无法捕捉物体的准确形状或边界。这使得它们在需要精确识别的应用中不那么有效。
为了解决这个问题,研究人员开发了能准确捕捉物体轮廓的分割模型,为更精确的检测和分析提供像素级细节。
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 Region-based Convolutional Neural Network(基于掩码区域的卷积神经网络)的缩写,是一种深度学习模型,专为物体检测和实例分割等计算机视觉任务而设计。
实例分割超越了传统的物体检测,不仅能识别图像中的物体,还能准确勾勒出每个物体的轮廓。它为每个检测到的物体分配一个唯一的标签,并在像素级别捕捉其准确的形状。这种细致的方法可以清晰地区分重叠的物体,并准确处理复杂的形状。
Mask R-CNN 建立在 Faster R-CNN 的基础上,后者能检测和标记物体,但不能确定其确切形状。掩码 R-CNN 在此基础上进行了改进,能准确识别构成每个物体的像素,从而进行更详细、更准确的图像分析。
Mask R-CNN 采用循序渐进的方法来准确检测和分割物体。它首先使用深度神经网络(一种从数据中学习的多层模型)提取关键特征,然后使用区域建议网络(一种建议可能的物体区域的组件)识别潜在的物体区域,最后通过创建详细的分割蒙版(物体的精确轮廓)来完善这些区域,从而捕捉每个物体的精确形状。
接下来,我们将通过每个步骤来更好地了解 Mask R-CNN 的工作原理。
Mask R-CNN 架构的第一步是将图像分解成关键部分,以便模型能够理解其中的内容。想想看,就像你看一张照片,自然会注意到形状、颜色和边缘等细节。该模型使用一个名为 "骨干"(通常为 ResNet-50 或 ResNet-101)的深度神经网络来做类似的事情,骨干就像它的眼睛一样,扫描图像并捕捉关键细节。
由于图像中的物体可能非常小,也可能非常大,因此 Mask R-CNN 使用了特征金字塔网络。这就好比有了不同的放大镜,让模型既能看到精细的细节,也能看到更大的画面,确保各种大小的物体都能被注意到。
在对图像进行关键特征处理后,区域建议网络就会接手。模型的这一部分会查看图像,并建议可能包含物体的区域。
它通过生成多个可能的物体位置(称为锚点)来实现这一功能。然后,网络会对这些锚点进行评估,并选择最有希望的锚点进行进一步分析。这样,模型只关注最有可能感兴趣的区域,而不是检查图像中的每一个点。
确定了关键区域后,下一步就需要完善从这些区域中提取的细节。早期的模型使用一种名为 ROI Pooling(感兴趣区域池化)的方法来提取每个区域的特征,但这种技术有时会在调整区域大小时导致轻微的错位,使其效果大打折扣--尤其是对于较小或重叠的物体。
Mask R-CNN 通过使用一种被称为 ROI Align(感兴趣区域对齐)的技术,在此基础上进行了改进。ROI Align 并不像 ROI Pooling 那样对坐标进行四舍五入,而是使用双线性插值来更精确地估算像素值。双线性插值是一种通过计算四个最近邻像素值的平均值来计算新像素值的方法,可以产生更平滑的过渡。这样可以保持特征与原始图像正确对齐,从而实现更精确的对象检测和分割。
例如,在一场足球比赛中,站得很近的两名球员可能会被误认为是对方,因为他们的边界框重叠了。ROI 对齐可以使他们的形状保持一致,从而将他们分开。
ROI Align 处理完图像后,下一步就是对物体进行分类并微调其位置。该模型会查看每个提取的区域,并决定其中包含的物体。它为不同类别分配一个概率分值,并挑选出最匹配的对象。
与此同时,它还会调整边界框,使其更适合物体。初始框的位置可能并不理想,因此这有助于通过确保每个框紧紧围绕检测到的物体来提高准确性。
最后,Mask R-CNN 多了一个步骤:为每个对象并行生成一个详细的分割掩码。
该模型一经问世,就受到了人工智能界的热烈追捧,并很快被应用于各种领域。其实时检测和分割物体的能力改变了各行各业的游戏规则。
例如,追踪野外濒危动物是一项极具挑战性的任务。许多物种在茂密的森林中穿梭,保护主义者很难跟踪它们。传统方法使用相机陷阱、无人机和卫星图像,但手工整理这些数据非常耗时。错误的识别和遗漏的目击会拖慢保护工作。
通过识别老虎的条纹、长颈鹿的斑点或大象耳朵的形状等独特特征,Mask R-CNN 可以更准确地检测和分割图像和视频中的动物。即使动物部分被树木遮挡或站在一起,模型也能将它们分开并逐一识别,从而使野生动物监测工作更快、更可靠。
尽管掩膜 R-CNN 在物体检测和分割方面具有重要的历史意义,但它也存在一些主要缺点。下面是一些与掩膜 R-CNN 相关的挑战:
掩膜 R-CNN 非常适合分割任务,但许多行业都希望采用计算机视觉,同时优先考虑速度和实时性。在这种要求下,研究人员开发出了单阶段模型,只需通过一次即可检测物体,大大提高了效率。
与 Mask R-CNN 的多步骤过程不同,YOLO (You Only Look Once)等单阶段计算机视觉模型侧重于实时计算机视觉任务。YOLO 模型可以一次性分析图像,而不是分别处理检测和分割。这使其成为自动驾驶、医疗保健、制造和机器人等应用的理想选择,在这些应用中,快速决策至关重要。
其中,YOLO11 在快速和精确方面更进一步。它使用的参数比YOLOv8m 少 22%,但在 COCO 数据集上仍能达到更高的平均精度 (mAP),这意味着它能更精确地检测到物体。处理速度的提高使它成为每毫秒都很重要的实时应用的理想选择。
回顾计算机视觉的历史,Mask R-CNN 被认为是物体检测和分割领域的重大突破。得益于其详细的多步骤过程,即使在复杂的环境中,它也能提供非常精确的结果。
然而,与YOLO 等实时模型相比,这一过程也使其速度较慢。随着对速度和效率的要求越来越高,许多应用现在都使用Ultralytics YOLO11 这样的单级模型,以提供快速、准确的物体检测。虽然 Mask R-CNN 对于了解计算机视觉的发展非常重要,但实时解决方案的发展趋势凸显了人们对更快、更高效的计算机视觉解决方案的需求日益增长。
加入我们不断壮大的社区!探索我们的GitHub 仓库,了解更多有关人工智能的信息。准备好开始自己的计算机视觉项目了吗?查看我们的许可选项。访问我们的解决方案页面,了解农业中的人工智能和医疗保健中的视觉人工智能!