本文者: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 标签成为可能。

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

  1. 弱监督语义分割(Weakly-Supervised Semantic Segmentation)

    语义分割(Semantic Segmentation) 语义分割是指将图像中的每个像素分类为一个实例,其中每个实例都对应于一个类. 这项技术一直是计算机视觉图像领域的主要任务之一.而在实际应用中,由于 ...

  2. 综述笔记 | 一些弱监督语义分割论文

    点击上方"AI算法修炼营",选择加星标或"置顶" 标题以下,全是干货 这里的弱监督信息为image-level的类别信息,即没有像素级的语义分割标签,而仅有图像 ...

  3. 把因果干预用到弱监督语义分割上!这篇NeurIPS 2020 oral论文不简单

    转载自 机器之心, 关注"迈微AI研习社",获取更多前沿内容 作者 | 张冬 编辑 | 陈大鑫 本文介绍一篇今年被NeurIPS 2020收录的一篇oral文章: < Cau ...

  4. 弱监督语义分割PUZZLE-CAM

    弱监督语义分割PUZZLE-CAM PUZZLE-CAM:通过匹配部分和全部特征改进定位能力 简要介绍: 整体文章架构图: 分析: PUZZLE-CAM:通过匹配部分和全部特征改进定位能力 原文链接: ...

  5. (CVPR2022) 跨语言图像弱监督语义分割CLIMS

    开源仓库:https://github.com/CVI-SZU/CLIMS CLIMS: Cross Language Image Matching for Weakly Supervised Sem ...

  6. 大规模点云的弱监督语义分割

    Weakly Supervised Semantic Segmentation for Large-Scale Point Cloud 摘要 构建了一个代理任务,即点云着色,利用自监督学习将学习到的先 ...

  7. 弱监督语义分割--Weakly Supervised Semantic Segmentation using Web-Crawled Videos

    Weakly Supervised Semantic Segmentation using Web-Crawled Videos CVPR2017 https://arxiv.org/abs/1701 ...

  8. 弱监督语义分割论文方法分类

    简书上比较完美的解读:https://www.jianshu.com/p/0b265f9c28c7 目录 我的简单总结: 任务描述 关键问题 实现方法分类 1. 基于候选区域的方法(Proposal- ...

  9. 【文献阅读】用对比学习做弱监督语义分割(Sung-Hoon Yoon等人,ArXiv,2021)

    一.背景 文章题目:<Exploring Pixel-level Self-supervision for Weakly Supervised Semantic Segmentation> ...

最新文章

  1. (踩坑回忆录)Dva踩坑与解决方案
  2. eayUi panel实现上一页下一页
  3. 第四十二篇 面对对象进阶
  4. EasyCriteria已演变为uaiCriteria。 新名称和更多功能
  5. 中国宠物经济创新发展研究报告
  6. mysql一对多关联查询分页_mysql一对多关联查询分页错误问题的解决方法
  7. Linux学习-逻辑滚动条管理员 (Logical Volume Manager)
  8. 用iArduino app+以太网插板实现“iPhone,iPadiPod无线控制Arduino”!
  9. laravel--模型中各种属性详解
  10. exxi6.7如何传文件到win7_win7系统被删除文件如何恢复 恢复被删除的文件操作方法【详解】...
  11. 台式计算机网卡驱动不能正常使用,电脑网卡驱动程序不正常怎么办 网卡驱动程序不正常解决方法...
  12. linux在服务器上下载文件,上传下载文件到Linux服务器
  13. #define 和 #typedef , const的区别
  14. 谷歌应用商店开发者注册
  15. 制定可用性测试计划(1)
  16. SpringBoot下DataSource连接配置
  17. 回顾2018,生活与代码已无法分离
  18. 微信开发JS接口安全域名 网页授权域名 业务域名
  19. STM32F107的SPI3不能使用的问题
  20. H. Maximal AND

热门文章

  1. 【优秀作业】粒子群算法(Python)
  2. 【怎样写代码】偷窥高手 -- 反射技术(二):窥视内部
  3. 设计师你们还坐的住吗?2021 PS 进入人工智能 P 图时代
  4. Deepsort + Yolo 实现行人检测和轨迹追踪
  5. 好看又好用的 GUI,你需要这七个 Python 必备库,
  6. 用 Python 详解《英雄联盟》游戏取胜的重要因素!
  7. 抖音、快手和直播行业的火爆究竟给了谁机会?
  8. 百万人学AI:CSDN重磅共建人工智能技术新生态
  9. 清华官宣:前百度总裁张亚勤正式加盟清华大学
  10. 400名微软员工主动曝光薪资:28万元到228万元不等!