RefineMask:实例分割,使用细粒度信息增强性能
标题:RefineMask: Towards High-Quality Instance Segmentation with Fine-Grained Features
论文:https://arxiv.org/pdf/2104.08569.pdf
代码:https://github.com/zhanggang001/RefineMask/
CVPR 2021 论文,作者单位:清华大学、商汤科技、同济大学、中科院自动化所。
动机
实例分割是计算机视觉领域中比较有挑战性的任务之一,Mask R-CNN是实例分割任务的经典方法,但是包括Mask R-CNN在内的多种方法,都会在实例分割时损失一些细节信息,如下图所示:
从上图中可以看出,Mask R-CNN总体而言有比较高的实例分割精度,但其在边界区域的精度不是很高。造成这种现象的原因有二:(1)深层次feature map的空间尺寸通常比较小,难以保留细节信息;(2)ROI Pooling操作进一步减小了feature map的空间尺寸,造成了细节信息的丢失。
与实例分割不同的是,语义分割任务不需要使用高层次特征区分不同的实例,因而其feature map的空间尺寸比较大,因此能够产生高质量的分割结果,尤其是在分割的边界有比较高的质量,如上图中图(b)所示。
作者提出了RefineMask,在二阶段实例分割框架的基础上,使用细粒度特征弥补细节丢失,如上图中图(c)所示。
网络总体结构
RefineMask总体结构如下图所示:
RefineMask以FPN目标检测器为基础,上图中省略了detection head。RefineMask在检测器基础上额外增加了semantic head和mask head。
Semantic Head
semantic head包含4个卷积层,用于提取整张输入图像的语义信息,还包含1个二值分类器用于输出每个像素点属于前景的概率。使用二值交叉熵损失函数训练semantic head。
Mask Head
3.1 Initial Mask
在mask head中,首先有一个RoIAlign操作,输出的feature map,紧接着是2个卷积操作产生instance feature,然后使用1个卷积操作预测instance mask,在RefineMask中将该mask称作initial mask,作为后续操作的输入之一。
3.2 Multi-stage Refinement
mask head中的主体操作为multi-stage refinement,每个stage包含4个输入:(1)instance feature,(2)instance mask,(3)semantic feature,(4)semantic mask。
3.3 Boundary-Aware Refinement(BAR)
BAR的目的是更关注mask的边界信息,以提高网络对mask边界细节的预测能力。
边界区域的定义
在mask head的多个stage中,除第1个stage以外,其他stage的instance mask只包含边界区域的信息。训练时它们的损失函数为:
损失函数中的表示前一个stage中ground truth mask的边界区域和预测mask的边界区域并集的双线性上采样,为第个instance在位置处的二值交叉熵损失,是instance的数量,为第个stage输出特征的尺寸。
在推理时每个stage的最终输出为:
上式中的表示元素级别的乘法操作。上述过程可以表示为下图(以k=2为例):
实验
使用Mask R-CNN作为baseline,在实现时mask head中包含3个stage。对于semantic head、initial mask和mask head的第1个stage,使用二值交叉熵损失函数;对于mask head的最后2个stage,使用3.3中定义的损失函数;detection head部分和Mask R-CNN保持一致。
总结
作者提出了RefineMask实例分割网络,该网络以Mask R-CNN为基础进行改进。RefineMask在mask head中利用了semantic head提供的细节信息,使用SFM和BAR模块,着重提高mask head在边界细节处的预测性能。通过实验证明,相比其他方法,RefineMask有更好的性能,且兼顾推理速度。
备注:分割
图像分割交流群
语义分割、实例分割、全景分割、抠图等技术,若已为CV君其他账号好友请直接私信。
在看,让更多人看到