《YOLACT Real-time Instance Segmentation》论文笔记

代码地址:YOLACT

1. 概述

导读:本篇文章在一阶段检测网络基础上提出了一个实时全卷积实例分割模型,在MS-COCO数据集上达到了了29.8 mAP,帧率为33FPS。并且该模型是在单GPU上就可以训练得到(设备友好型),这是将总任务划分为两个并行的子任务实现的:(1)生成prototype mask集合;(2)预测每个pre-instance mask系数。之后将mask系数与原始mask线性结合得到实例分割掩膜。文章发现这个过程并不需要重新池化操作(两阶段方法),因而可以生成高质量的掩膜,此外网络对于一些异常情况也能够较好处理。在传统NMS算法的基础上提出了Fast NMS(速度快了12ms),只带来了很小的性能损失。

文章提出的YOLACT方法具有如下的优势:

  • 1)速度快,由于采用了并行结构与轻量化的组合方式,使其在一阶段检测网络的基础上只添加了少量计算量,在主干网络为ResNet-101+FPN的情况下达到30FPS;
  • 2)分割掩膜质量高,由于没有使用两阶段方法中的pooling操作使得可以获得无损失的特征信息,并且在大目标的分割场景下性能表现更优秀;
  • 3)模块通用化,文章提出的prototype生成与mask系数可以添加到现有的检测网络中去;

文章提出的方法与现有的实例分割网络性能对比:
在这里插入图片描述

2. 网络设计

这篇文章的方法是在现有的一阶段检测网络的基础上添加一个掩膜分支,就像Mask R-CNN在Faster R-CNN基础上做的一样,区别是没有了特征池化操作。这里将整个任务划分为了两个并行的子任务:

  • 1)prototype mask分支,使用FCN的网络结构去生成prototype mask,这个过程中并不会涉及到单个实例(单个实例是在检测结果上corp之后得到的);
  • 2)目标检测分支,该分支对每个anchor去预测mask的系数,从而得到图像中实例的位置,之后经过mask分支与prototype mask做线性运算从而结合两个分支的结果;

这篇文章提出的网络结构见下图所示:
在这里插入图片描述

2.1 prototype的生成

在这个分支中会产生 k k k个prototype mask,产生的prototype mask的结构可以参考FCN网络(输入来自网络P3,输出的通道数为 k k k),如下图3所示,不过在这个分支中并没有计算损失,该分支的损失是来自于最后分支整合之后的最终掩膜损失。
在设计这个分支网络的时候考虑了两点:(1)来自骨干网络更深层次的特征其产生的结果鲁棒性更好;(2)更高的分辨率意味着更好的mask质量与小目标上更好的性能。
在这里插入图片描述

2.2 Mask Coefficients

传统的目标检测拥有两个分支,一个用于预测 c c c类分类的置信度,另外一个用于预测边界框的坐标。在此基础上这篇文章还引入了另外一个分支用于预测 k k k个mask coefficients,如图2中的正负关系,算是特征增强与排除无关干扰,这与prototype mask中是一一对应的。因而这里对于每个anchor生成的是 4 + c + k 4+c+k 4+c+k的coefficients。对于检测部分定位损失是使用的L1损失函数,并且加入了OHEM保持正负样本的比例为1:3。
对于非线性,文章发现在最后的mask中构建区prototype是很重要的。因而使用tanh函数对 k k k个coefficients进行变换,从而无非线性的情况下表现更鲁棒。其结构见图4
在这里插入图片描述

2.3 Mask Assembly

这里是将生成的prototype mask与mask coefficient进行线性操作,之后使用sigmoid激活函数。

  • 2
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值