Mask Scoring R-CNN 论文阅读笔记
论文地址:https://arxiv.org/abs/1903.00241
代码地址:https://github.com/zjhuang22/maskscoring_rcnn
基于Mask-RCNN
创新点:
- 增加了一个MaskIoU head,来计算预测mask和ground truth mask的iou的分数
- 根据分类得分和iou分数来计算最后的mask score(如果分类得分高,但mask iou分数低,则会惩罚最后得到的mask score)
Mask R-CNN的mask的分数是和预测的box的置信度共享的
是这么计算得来的:
是直接从RCNN中取得
是MaskIoU通过回归得到的
MaskIoU head
结构
- 输入:RoIAlign层 和 预测的mask
- max pooling
- 4个卷积层
- 3个全连接层
训练
- 使用RPN proposal作为训练样本,获取这一类的预测的mask,使用0.5的预测二值化mask
- 在二值化mask和ground truth之间使用MaskIoU
- 使用L2损失回归MaskIoU,损失权重设为1
前向传播
- 只使用MaskIoU校准从RCNN生成的分类分数
- 取其前k个分数框,生成多类mask,来预测MaskIoU
- 将预测的MaskIoU和分类分数相乘得到校准后的掩模分数
Mask R-CNN和MS R-CNN所得分数比较
作者尝试多种MaskIoU head输入并进行对比,效果最好的是第一个。
总结
整体来说,对Mask R-CNN没有太大的改变,只是在头部增加了一个MaskIoU来计算最后的mask score。