网络架构
Mask R-CNN的网络架构继承了Faster R-CNN的设计理念,在此基础上进行了创新性的改进。整个网络可以划分为以下几个关键组成部分:
-
Backbone网络: 通常采用ResNet-FPN结构,负责提取图像的多层次特征。FPN(Feature Pyramid Network)通过自下而上、自上而下和横向连接的方式,整合不同层次的特征,形成多尺度的特征金字塔[P2, P3, P4, P5, P6]。
-
RPN(Region Proposal Network)网络: 基于FPN生成的多尺度特征图,RPN网络在每个特征图上生成不同尺度和长宽比的锚点(anchors),并对其进行分类和回归,从而产生高质量的候选区域(proposals)。
-
ROIAlign层: 替代了Faster R-CNN中的ROI Pooling,解决了因量化操作导致的特征图与原始图像不精确对齐的问题。ROIAlign通过双线性插值算法,实现了像素级别的精确对齐,显著提高了检测和分割的准确性。
-
多任务头部网络: 包括分类分支、回归分支和新增的Mask分支。分类分支负责预测候选区域的类别,回归分支优化边界框的位置,而Mask分支则生成每个实例的像素级分割掩码。
-
Mask分支: 采用了全卷积网络(FCN)结构,接收ROIAlign层输出的特征图,通过一系列卷积和反卷积