标题:RefineMask: Towards High-Quality Instance Segmentation with Fine-Grained Features

论文:https://arxiv.org/pdf/2104.08569.pdf
代码:https://github.com/zhanggang001/RefineMask/

CVPR 2021 论文,作者单位:清华大学、商汤科技、同济大学、中科院自动化所。

0

动机

实例分割是计算机视觉领域中比较有挑战性的任务之一,Mask R-CNN是实例分割任务的经典方法,但是包括Mask R-CNN在内的多种方法,都会在实例分割时损失一些细节信息,如下图所示:

从上图中可以看出,Mask R-CNN总体而言有比较高的实例分割精度,但其在边界区域的精度不是很高。造成这种现象的原因有二:(1)深层次feature map的空间尺寸通常比较小,难以保留细节信息;(2)ROI Pooling操作进一步减小了feature map的空间尺寸,造成了细节信息的丢失。

与实例分割不同的是,语义分割任务不需要使用高层次特征区分不同的实例,因而其feature map的空间尺寸比较大,因此能够产生高质量的分割结果,尤其是在分割的边界有比较高的质量,如上图中图(b)所示。

作者提出了RefineMask,在二阶段实例分割框架的基础上,使用细粒度特征弥补细节丢失,如上图中图(c)所示。

01

网络总体结构

RefineMask总体结构如下图所示:

RefineMask以FPN目标检测器为基础,上图中省略了detection head。RefineMask在检测器基础上额外增加了semantic head和mask head。

semantic head使用FPN中尺寸最高的feature map作为输入,semantic head中不包含下采样等空间压缩操作,因此semantic head的输出和输入有同样的尺寸,从而保证其输出有丰富的细节信息。semantic head的输出用于辅助mask head做实例分割。

mask head使用“多阶段”的形式完成实例分割任务,在每个阶段中包含Semantic Fusion Module(SFM),mask head会融合包含细粒度信息的semantic feature和semantic mask,然后增加feature map尺寸用于更细粒度的mask预测。

此外,在mask head中还包含Boundary-Aware Refinement(BAR)操作,增强对实例边界的预测能力。

02

Semantic Head

semantic head包含4个卷积层,用于提取整张输入图像的语义信息,还包含1个二值分类器用于输出每个像素点属于前景的概率。使用二值交叉熵损失函数训练semantic head。

将semantic feature和semantic mask统称为细粒度特征,在mask head中,使用semantic head输出的细粒度特征补充细节信息,从而预测出高质量的instance mask。

03

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。

在每个stage中,Semantic Fusion Module(SFM)融合上述4个输入,然后进行上采样操作,得到尺寸更大的特征。SFM的结构如下图所示:

如上图所示,SFM中首先包含卷积操作用于融合多个输入、减少通道数;紧接着是3个并行的卷积,每个卷积都有不同的dilation参数设置,用于提取不同感受野的特征;最后将instance mask、semantic mask与融合后的特征进行concat操作,作为SFM输出。

在mask head中包含多个SFM,完成多次特征上采样操作。

3.3 Boundary-Aware Refinement(BAR)

BAR的目的是更关注mask的边界信息,以提高网络对mask边界细节的预测能力。

边界区域的定义

使用表示第个stage的instance mask,的尺寸为,其中。

使用表示的边界区域,的定义如下:

上式中的表示中的像素的位置,表示到边界的最近距离,mask的边界如下图所示:

为了快速计算,作者使用卷积操作近似求解,若边界宽度为1,卷积核为:

若边界宽度为2,卷积核为:

使用上述卷积核作用于,将输出结果记作,与有相同的尺寸。通过如下公式计算得到:

构建边界区域的宽度在训练时设置为2,推理时设置为1。

训练

在mask head的多个stage中,除第1个stage以外,其他stage的instance mask只包含边界区域的信息。训练时它们的损失函数为:

损失函数中的表示前一个stage中ground truth mask的边界区域和预测mask的边界区域并集的双线性上采样,为第个instance在位置处的二值交叉熵损失,是instance的数量,为第个stage输出特征的尺寸。

推理

在推理时每个stage的最终输出为:

上式中的表示元素级别的乘法操作。上述过程可以表示为下图(以k=2为例):

上图中的表示元素乘法,表示元素加法,为的边界区域,是第2个stage最终输出的instance mask。

在推理时重复上述过程,即可得到细粒度的instance mask。

04

实验

使用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保持一致。

mask head中的initial mask、3个stage的损失函数权重值分别为0.25、0.5、0.75、1,detection head损失的权重值为2。使用水平翻转操作用于数据增强。

在COCO val2017上的预测结果如下表所示:

上表中的表示使用LVIS数据集标注计算的结果。

RefineMask和其他方法的推理速度对比如下表所示:

上表中的FPS数据在V100 GPU上测量得到。从上表中可以看出,RefineMask兼顾性能和推理速度。

RefineMask与其他方法的性能对比如下:

RefineMask在Cityscapes验证集上的测试结果如下表所示:

Mask R-CNN和RefineMask的可视化对比如下图所示:

上图中第一行表示Mask R-CNN的预测结果,第二行表示RefineMask的预测结果,第三行表示ground truth。显然,RefineMask比Mask R-CNN有更好的分割效果,尤其是在边缘细节上。

05

总结

作者提出了RefineMask实例分割网络,该网络以Mask R-CNN为基础进行改进。RefineMask在mask head中利用了semantic head提供的细节信息,使用SFM和BAR模块,着重提高mask head在边界细节处的预测性能。通过实验证明,相比其他方法,RefineMask有更好的性能,且兼顾推理速度。

备注:分割

图像分割交流群

语义分割、实例分割、全景分割、抠图等技术,若已为CV君其他账号好友请直接私信。

在看,让更多人看到  

RefineMask:实例分割,使用细粒度信息增强性能相关推荐

  1. CVPR2021 双图层实例分割,大幅提升遮挡处理性能

    本文转自快手音视频技术. " 双图层实例分割 物体的互相遮挡在日常生活中普遍存在,严重的遮挡易带来易混淆的遮挡边界及非连续自然的物体形状,从而导致当前已有的检测及分割等的算法性能大幅下降.本 ...

  2. CVPR 2021 | 双图层实例分割,大幅提升遮挡处理性能

    " 双图层实例分割 物体的互相遮挡在日常生活中普遍存在,严重的遮挡易带来易混淆的遮挡边界及非连续自然的物体形状,从而导致当前已有的检测及分割等的算法性能大幅下降.本文通过将图像建模为两个重叠 ...

  3. CVPR系列(二)—— 双图层实例分割,大幅提升遮挡处理性能

    01 摘要 由于物体的真实轮廓和遮挡边界之间通常没有区别,对高度重叠的对象进行分割是非常具有挑战性的.与之前的自顶向下的实例分割方法不同,本文提出遮挡感知下的双图层实例分割网络BCNet,将图像中的感 ...

  4. 英文论文(sci)解读复现【NO.15】学习聚合多尺度背景的实例分割在遥感图像

    此前出了目标检测算法改进专栏,但是对于应用于什么场景,需要什么改进方法对应与自己的应用场景有效果,并且多少改进点能发什么水平的文章,为解决大家的困惑,此系列文章旨在给大家解读发表高水平学术期刊中的 S ...

  5. 深度学习论文导航 | 07 PANet:用于实例分割的路径聚合网络

    文章目录 一.PANet简介 二.整体结构分析 2.1 自底向上的路径增强 2.2 自适应特征层 2.3 全连接融合层 三.性能表现 3.1 在COCO上的测试效果 3.2 在Cityscapes 和 ...

  6. ECCV 2020 论文大盘点-实例分割篇

    本文盘点 ECCV 2020 中所有实例分割(Instance Segmentation)相关论文,其中 oral 2 篇, 9 篇论文开源或将开源. 下载包含这些论文的 ECCV 2020 所有论文 ...

  7. “先粗后精”的实例分割,BPR:使用Crop-then-Refine的性能提高方法

    题目:Look Closer to Segment Better:Boundary Patch Refinement for Instance Segmentation 论文:https://arxi ...

  8. 2020CVPR解读之何恺明新作PointRend:将图像分割视作渲染问题,显著提升语义/实例分割性能

    2020CVPR解读之何恺明新作PointRend:将图像分割视作渲染问题,显著提升语义/实例分割性能 论文原文 源码 [导读]Facebook人工智能实验室何恺明团队提出一种高效.高质量的目标和场景 ...

  9. 字节跳动实习生提出实例分割新方法:性能超过何恺明Mask R-CNN

    乾明 十三 发自 凹非寺 量子位 报道 | 公众号 QbitAI 框架更简单,但实现了比Mask R-CNN还好的性能. 这是字节跳动实习生提出的实例分割新方法,名为SOLO. 核心在于通过引入&qu ...

最新文章

  1. redis源码分析--zslRandomLevel位运算解析
  2. java加减乘除运算代码_从“位运算”炫技到“操作符”,再到逐步理解“群论”...
  3. python web框架介绍对比
  4. bootstrap使用总结(导航在carousel居中之上)
  5. fastadmin的基本用法 自动生成crud模块
  6. Vue实例里this的使用
  7. 服务器工具个人免费版下载使用,xshell个人免费版,xftp个人免费版
  8. 解决css中存在的几种兼容性问题
  9. 2017.4.16 阶乘之和 思考记录
  10. 两台XP系统电脑用双网卡共享上网操作
  11. linux中pstree命令的含义,pstree命令--Linux命令应用大词典729个命令解读
  12. centos 7 之nginx
  13. Runner站立会议03
  14. psp开发------汉化插件
  15. Ubuntu下安装网易有道词典
  16. 集线器、网桥、交换机的区别(详解干货!!!)
  17. html怎么导入桌面上的图片,html怎么导入图片
  18. 2cm有多长实物图_2cm 2cm有多长实物图
  19. go mod invalid pseudo-version
  20. Vue-常用加密(MD5,DES,SHA256,BASE64,SHA1,RSA)

热门文章

  1. Hibernate框架 五种查询方式
  2. SpringMVC 文件上传及下载
  3. 百练 03 复杂的整数划分问题
  4. [ARM] [基础][编译]ARM的浮点功能历史分类和对应的编译选项
  5. [linux]【编译】【高级01】 - 动态库的设定和依赖性的检查 20160921更新 文章没有最终结案
  6. centos iptables_SQLyog远程连接centos中mysql数据库
  7. python组件化软件github_GitHub - 872409/wepy: 小程序组件化开发框架
  8. 摄像头uid怎么获取_每秒30W次的点赞业务,怎么优化?
  9. java打印结果横向排列_Java8排列组合(6行代码实现)
  10. 2020蓝天杯论文评比系统_教师写作:专业表达的快乐旅行 2020梅小暑期教师教育论文、教育随笔、读书心得评比结果...