IRNet:弱监督实例分割 | 步步为营,隔山打牛

点击上方,选择星标置顶,不定期资源大放送

阅读大概需要15分钟

Follow小博主,每天更新前沿干货

本文者:Uno Whoiam

链接:https://zhuanlan.zhihu.com/p/246105364

本文仅供学习参考,如有侵权,请联系删除!

论文地址:

  • https://openaccess.thecvf.com/content_CVPR_2019/papers/Ahn_Weakly_Supervised_Learning_of_Instance_Segmentation_With_Inter-Pixel_Relations_CVPR_2019_paper.pdf

本篇论文相对而言不是那么容易理解,初学者需要仔细阅读并结合许多相关的论文才能大致明白思路,在利用 image-level 弱监督信号进行实例分割训练这条道路上,本论文的确在综合利用前人成果的基础上做出了一定程度的创新,考虑到全网没有搜到较为完整的解读,在此将个人的理解进行整理,供读者参考。

一、要解决的问题(Why)

实例分割任务作为一个需要检测物体的位置同时对其进行分割,是一项复杂且重要的计算机视觉任务。主流的基于卷积神经网络的方法需要大量的像素级标注数据进行训练才能得到良好的结果,因此具有较高的应用成本。该论文致力于降低其数据的标记成本。

二、解决的办法(What)

为了降低数据标注成本,该论文不采用像素级标注数据,而是使用 image-level 的标签对模型进行训练。(作为代价,方法和训练相对而言显得比较复杂)

三、如何实现(How)

该论文首先利用相对廉价的 image-level 标签训练好 IRNet,然后使用 IRNet 在原数据上生成 像素级实例标签,最后利用这些生成的像素级实例标签训练Mask R-CNN得到最终模型。接下来将简单介绍:

1. IRNet 是如何生成像素级实例标签

2. 如何训练 IRNet

3.1 IRNet 是如何生成像素级标签?

IRNet总共有三个分支,首先第一个分支,利用训练好的分类网络(使用 image-level 标签就可以训练),去掉其全局池化层后,就可以当做一个粗糙的语义分割网络使用,其输出的CAMs(Class Attention Maps,or Class Activation Maps)能大致定位每一类物体的位置。

x 为位置,  为最后分类层的权重。

参考论文:Learning Deep Features for Discriminative Localization
Learning Deep Features for Discriminative Localization

第二个分支 displacement field 主要对物体的中心进行预测,表示的是每个点到距离中心点向量,颜色代表向量的角度,饱和度代表向量的长度。为了方便理解,我对此图进行了一些注解,x 表示点所在的位置,  表示当点与中心的预测偏移。考虑到预测得到的偏移不一定准确,可以通过迭代的方式对每个点的预测进行优化:

该公式的含义如下图所示:

也就是说,每个点通过多次迭代,会一点点靠近中心点,而中心点具有较小的偏移值(图上偏白),那么反过来,我们就可以通过先找到一团具有较小偏移值的点,当做中心位置,然后找到通过加上  可以到达这部分中心位置的点,这样就可以得到一个无类别instance 的所有像素。

将无类别的 instance map 与第一个分支的CAM结合,就可以得到每个instance map的类别,即 instance-wise CAMs,此时已经有了 instance segmentation 的结果。

第三个分支是物体边界预测,同时也表示像素之间的相似关系,即物体边界同侧具有相似性,物体边界异侧不具有相似性。

将物体边界和 instance-wise CAMs 结合即可将边界外的部分去除,得到更准确的 instance segmentation 结果。在具体的方法上,使用的 random-walk 算法,可参考:

[CVPR2017] Learning random-walk label propagation for weakly-supervised semantic segmentation.
[CVPR2017] Convolutional random walk networks for semantic image segmentation.

3.2 如何训练 IRNet

用于生成 CAM 的分类网络如何训练就不必赘述了,主要描述一下如何训练 displacement field 以及 class boundary maps。

该论文的方法只使用 image-level 的标签,因此根本无法得到物体的位置和边界,这样要想用物体中心的位置和边界的位置作为监督信号便无从谈起,而作者巧妙地利用了“步步为营”和“隔山打牛”的策略绕开了这两个问题。

首先,CAM 可以提供物体大致的位置,但还太模糊,没关系,我们先将每个像素赋予其具有最高置信度对应的类别,如果对于最高具置信度的值较低,则标记位置 为 ignore。

然后“步步为营”,只考虑局部,对于每个像素都有一个半径为  的邻域,一对像素如果在彼此邻域中,记做像素对  ,如果二者具有相同的类别,记做正像素对 ,如果类别不同记做负像素对  ,对于标记 ignore 的像素则不予考虑其像素对的关系。

由于由像素对距离较近,可以假定,前景正像素对  应该在同一个物体中,具有相同的预测中心,x 表示像素坐标,D 表示中心偏移向量:

那么定义像素对的坐标差与其偏移向量差相等:

令:

这样就有了优化目标,即 loss 为最小化二者 L1 差别:

并且根据质心的公式,同一个instance的所有像素中心偏移相加应该为0:

虽然没办法知道一个 instance 对应的所有像素,从而优化这个目标,但是可以对背景的正像素对进行优化:

如上所述,通过利用像素对之间的关系,达到了在不知物体中心的情况下训练模型预测中心偏移 displacement field 的目的。接下来将描述作者如何通过“隔山打牛”训练 class boundary maps 分支。

由于不知道物体的边界,直接训练是不可能的,怎么办呢?作者引入像素对关联度:

其中 B 表示边界,  表示像素对之间的一条线所有像素。所以这是什么意思呢?很简单,即,虽然我们不知道边界在哪,边界两边的像素具有较低的关联度才对,如果像素对之间有边界存在,即 :

显然两个像素关联度低,反之,则关联度高。

那么,关联度高的像素对,即正像素对之间应当没有边界,而负像素对之间则应当有边界,如此就得到了优化目标:

这便是一招隔山打牛。

了解完这些 loss,训练也就简单了,优化各 loss 之和即可:

最后提一提 IRNet 的结构:

四、效果如何?(How much)

从论文贴出来的结果来看,的确取得了相当大的性能突破,在使用image-level作为监督信号的情况下,得到了甚至比 boundin box 作为监督信号更好的结果。

五、启示(What Then)

该论文最关键的地方在于对 CAM 信息的充分挖掘,利用邻域像素对之间的关系作为约束,使用迂回战术,从而得到物体边界以及物体中心预测的关键信息,使得仅利用 image-level 标签来获取 instance segmentation 标签成为可能。

重磅!DLer-计算机视觉交流2群已成立!

大家好,这是DLer-计算机视觉微信交流2群!首先非常感谢大家的支持和鼓励,我们的计算机视觉交流群正在不断扩大人员规模!希望以后能提供更多的资源福利给到大家!欢迎各位Cver加入DLer-计算机视觉微信交流大家庭 。

本群旨在学习交流图像分类、目标检测、目标跟踪、点云与语义分割、GAN、超分辨率、人脸检测与识别、动作行为与时空运动、模型压缩和量化剪枝、迁移学习、人体姿态估计等内容。希望能给大家提供一个更精准的研讨交流平台!!!

进群请备注:研究方向+学校/公司+昵称(如图像分类+上交+小明)

???? 长按识别添加,即可进群!

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值