Mask R-CNN(Region-Based Convolutional Neural Networks) 是一种扩展自Faster R-CNN的目标检测与实例分割模型。Mask R-CNN通过在传统的目标检测任务中引入像素级的分割掩码,使得实例分割成为可能。
Mask R-CNN是在每个任务上的表现都优于所有现有的单一模型(当时),包括COCO 2016挑战赛的获胜者。在COCO 2017挑战赛中,获胜者的网络也是基于Mask R-CNN。
实例分割
实例分割(Instance Segmentation) 是计算机视觉中的一项任务,它不仅需要识别图像中的物体类别,还要为每个物体实例生成像素级的分割掩码。与传统的目标检测任务不同,目标检测只需要框定物体的位置并分类,而实例分割要求对图像中每个物体的轮廓进行精准的分割,即每个物体的像素都要被标识出来,甚至可以区分出同一类物体的不同实例。通过对每个物体的像素级分割,实例分割能显著提高物体识别的精度,并提供更丰富的视觉理解。
Mask R-CNN的推出极大地提升了实例分割的性能,它使得每个物体实例不仅能够被识别和定位,还能够精确地进行像素级分割,这比传统的语义分割方法(只关心类别标签)更加细粒度。
模型算法下载
在 Coovally AI Hub 公众号后台回复「 模型算法 」, 即可获取!
R-CNN系列
为了更好地理解Mask R-CNN网络架构,最好从R-CNN来理解,Mask R-CNN 的架构与Faster R-CNN非常接近,可以通过以下的简单介绍以及架构图详细了解一下它们之间的关联性。
R-CNN
Fast R-CNN
Faster R-CNN
Mask R-CNN
Mask R-CNN
Mask R-CNN的基本思想是,在Faster R-CNN的基础上添加了一个新的分支,用于预测每个RoI(Region of Interest)区域内的物体分割掩码。
头部结构细节
尝试了 3 个主干网络:ResNet、ResNeXt和FPN。
两阶段架构
采用两阶段架构,与Faster R-CNN类似。第一阶段:区域提案网络(RPN),生成区域提案或候选区域。每个区域提案都会经过第二阶段。第二阶段:对于每个区域提议,将第一阶段提出的特征图根据区域进行RoI池化,然后经过剩余的网络,输出类,边界框,以及二值掩码。
损失函数
因此,损失函数是多任务损失:
掩码
与传统的目标检测不同,Mask R-CNN在最后的全连接层之后增加了一个额外的卷积层,用来为每个检测到的物体生成一个像素级的掩码。应用了每像素 S形函数。平均二元交叉熵损失用于Lmask。Lmask仅考虑RoI 中第k个掩码,其中掩码具有真实类别k。其他类别不会导致损失。因此,它与全卷积网络(FCN)不同。在FCN中,使用逐像素softmax和多项式交叉熵损失。与此相反,此处将mask和类预测分离为Lcls和Lmask。为了提取mask的空间结构,使用FCN预测每个RoI的m×m mask 。不使用FC层的优点是需要的参数更少。
RoIAlign
Mask R-CNN的目标是进行实例分割,要求对每个物体的轮廓进行精细的分割,这需要比普通目标检测更高的精度。RoIPool的量化误差在处理细节时会导致性能下降,特别是在小物体和复杂背景中。RoIAlign通过精确的像素级对齐,大大提高了分割精度,从而使得Mask R-CNN在实例分割任务中表现更加优越。
Faster R-CNN中的RoIPool
首先,我们得到如图所示的输入特征图。
Mask R-CNN 中的RoIAlign
RoIAlign是对RoIPool的改进,使得模型能够在实例分割任务中获得更好的精度,避免了传统RoIPool带来的量化误差,能够更精确地保留物体的细节信息。
实例分割实验
消融研究
定性结果
****
SOTA 方法比较
Coovally AI模型训练与应用平台
Coovally AI模型训练与应用平台,它整合了整合30+国内外开源社区1000+模型算法。
平台已部署Mask R-CNN系列模型算法
在Coovally平台上,无需配置环境、修改配置文件等繁琐操作,可****一键另存为我的模型,上传数据集,即可使用Mask R-CNN、Faster RCNN等热门模型进行训练与结果预测,全程高速零代码! 而且模型还可分享与下载,满足你的实验研究与产业应用。
总结
Mask R-CNN是一种强大的深度学习模型,能够同时进行目标检测和实例分割。它在多个实际应用中展现了出色的性能,特别是在需要高精度图像分割的任务中。然而,模型的计算复杂度和对数据标注的高要求仍然是限制其广泛应用的因素。随着技术的进步,Mask R-CNN有望在更广泛的场景中得到应用,并推动计算机视觉领域的进一步发展。