MaskR-CNN
一、Introduction
视觉方面的目标检测和语义分割在Fast R-CNN和FCN的基础上快速发展。Fast R-CNN和FCN训练及推理都很快。Mask R-CNN则是为了提供一个能进行实例分割的框架。
实例分割难点:正确检测一幅图片里的所有目标的同时精确分割每一个实例。
因此将传统计算机视觉的目标检测【将对象分类并且用边界框将每一个对象本土化】和语义分割【将每个像素分为固定的类,而不是将实例分类】结合起来。
Mask R-CNN:通过在感兴趣的区域( ROI )添加预测分割的掩码分支【应用于ROI的小型FCN,以pixel-to-pixel方式进行预测分割】,与现有的分支同时进行分类以及边界框回归。R-CNN的延展,但R-CNN网络输入和输出并不针对pixel-to-pixel协调( alignment )。ROIPool核心操作则是为粗糙的量化空间进行特征提取。
为了改善misalignment:
(1)ROIAlign(简单且无量化层),保留准确的空间位置。Impact:accuracy提高10%~50%。
(2)将掩膜预测和分类预测分开,独立预测每个类的二进制掩码,依靠ROI预测类别。
FCNs:逐像素多类别分类;将分割与分类结合。
二、Related Work
R-CNN:Region-based CNN 边界框对象检测的方法是关注可管理数量的候选区域并且在每个ROI独立评估卷积网络, Faster R-CNN利用ROIPool在特征图的ROI中提高速度和准确率
Instance Segmentation:(传统)基于segment proposals,自下而上 (Mask R-CNN)并行计算掩码预测和标签分类
三、Mask R-CNN
Faster R-CNN 两个输出:类标签 + 边界框偏移
两方面:(1)Region Proposal Network (RPN) 候选对象边界框
(2)RoIPool 提取特征,并行预测分类和边界框回归
Mask R-CNN 三个输出:类标签 + 边界框偏移 + 对象掩码(需要提取更精细的空间布局)
两方面:(1)Region Proposal Network (RPN) 与Faster R-CNN相同
(2)RoIPool 并行预测分类和边界框偏 并且在每个RoI输出一个二进制掩码
Loss ( each RoI ) :
mask loss:一个RoI dimension output 即掩码分辨率为m*m的K个二进制掩码。Apply逐像素sigomid —— 为平均二元交叉熵损失 若RoI与ground-truth k class相关,则只与第K个掩码有关
Mask Representation:a mask 编码一个输入对象的空间布局,由卷积提供的pixel-to-pixel提取掩码的空间结构。在每一个RoI利用FCNs预测一个m×m的掩码,使掩码分支保持明确的空间布局,不会使表示缺少空间维度。
RoIAlign:RoIPool提取小型特征图,首先将浮点数量的RoI量化(quantize)为特征图的离散粒度,将量化后的RoI细分为自身量化的空间仓(spatial bin),最后聚合每个仓所涵盖的特征值(一般通过max pooling)。Quantizes将在RoI和提取的特征间引入misalignments,不影响分类,但影响影响预测准确的像素掩码。RoIAlign layer可去除RoIPool中尖锐的量化【在边界或bin避免量化,在四个固定的采样点利用双线性插值计算输入特征的精确值,并聚合结果(最大值或均值)】。
Network Architecture:两部分
(1)用于整幅图像提取的骨干卷积体系(network-depth-features) using a ResNet-FPNbackbone
(2)用于边界框识别(分类、回归)的网络头和应用于每个RoI的掩码预测