mask R-CNN

论文:http://cn.arxiv.org/pdf/1703.06870v3

一、创新点

mask R-CNN是一种实例分割算法,同时可用于人体姿态估计。是在faster RCNN基础上新增了一个mask predict分支,并且ROI Pooling改进为ROI Align,对每个proposal提取的特征精度更高。

mask R-CNN

1、ROI Align

对于每个ROI,存在两种情形会得到非整数的像素坐标:第一是ROI映射到CNN提取的feature map上;第二种是做ROI Pooling对每个ROI区域分为k*k个bin(例如7×7或者14×14),ROI的长或者宽不能整除。

对非整数坐标的像素,faster R-CNN是直接向下取整操作,而本文中是保留非整数坐标,不做取整操作。在提取ROI特征时,在每个bin中规则选取4个点,使用双线性插值算法计算每个点的像素值,然后做max或这avg操作,得到每个bin值。

mask R-CNN

2、mask branch

对每个ROI提取的feature map,经过一个FCN的mask head网络,输出K个分辨率为m*m(文中为14×14或者28×28)的mask,即对每个类别输出一个二值的mask,使分类分支和mask分支解耦。训练计算实例分割损失时只对ROI标定的实际类别对应的mask每个像素计算二值交叉熵损失,即其他类别mask输出对损失无贡献。做前向预测时,从分类分支得到ROI对应的类别,并从mask分支取对应的mask输出作为目标的分割。

mask R-CNN

二、实验结果

详见论文