http://openaccess.thecvf.com/content_cvpr_2017/papers/Jie_Deep_Self-Taught_Learning_CVPR_2017_paper.pdf

Deep Self-Taught Learning for Weakly Supervised Object Localization. Zequn Jie, Yunchao Wei, Xiaojie Jin, Jiashi Feng, Wei Liu

亮点

  • 监督学习中用难例挖掘,弱监督中靠可靠样本的挖掘,本文筛选可靠样本的方法比较具有通用性
    • 在线样本收集,通过relative improvement指标,不断提升弱监督驯练样本的质量
  • 本文是少数未采用预计算好的proposal,而采取自适应proposal的文章,可以根据网络训练情况来改变proposal

主要思想

问题:大多数现有的弱监督定位(WSL)方法通过对图像级别的监督学习识别到的特征区块来进行探测器的学习。然而,这些特征不包含空间位置的相关信息,同时对探测器的学习来说,其所提供的样本数据质量都比较差。

解决方案:检测器学习获取可靠的样本对象特征并以此为基础重新训练自己。相应的,随着探测器本身检测能力的提高和提供的位置信息质量的提高,于是便能进一步的提高较好质量的数据。

  • 文中提出了一个种子样本采集(Seed Sample Acquisition)方法,通过图像到对象的传输和密集的子图采集获取可靠的正样本来进行探测器的初始化。
  • 提供了一种在线支持样本收集(Online Supportive Sample Harvesting)计划来动态地选择最为可信的正样本,并提供成熟的训练方法对探测器进行训练。

方法

Seed Sample Acquisition

  • Image-to-Object Transfer:Hypothesis-CNN-Pooling (HCP) [26](见下方第一张图)提出了一个 CNN 网络 HCP 不需要真值训练数据(只有单标签训练数据)的情况下可以完成对多标签图像分类问题。首先提取图像中的候选区域,然后对每个候选区域进行分类,最后使用 cross-hypothesis max-pooling 将图像中所有的候选区域分类结果进行融合,得到整个图像的多类别标签。(from https://blog.csdn.net/zhangjunhit/article/details/72818610
  • Reliable Seed Proposal Generation:选出上一步正类别对应的top N proposals,使用dense subgraph discovery (DSD) 的方法选出最空间上响应最集中的位置,见下方第二张图。
    • 之所以可行的原因:通过观察发现[26]发现
      • 结果多仅覆盖了物体的关键部位,或者是一些重要的上下文
      • 所有proposals基本上覆盖了这个物体的绝大部分
    • Dense subgraph discovery (DSD) problem
      • 所有proposal为节点,如果他们之间的IOU大于某一阈值用一个边边将它们连起来,组成无向图G。从某一节点开始采用贪心算法,找到当前边边最多的节点保存,删除他周围的所有邻居节点,然后重复,知道没有其他节点或者保存的节点数大于k。
      • 好处:与 clustering或non-maximal suppression (NMS)比较,这种方法
        • 保留的proposal数目是自适应的
        • 与估计的分类分数无关

[26] Yunchao Wei, Wei Xia, Min Lin, Junshi Huang, Bingbing Ni, Jian Dong, Yao Zhao, and Shuicheng Yan. Hcp: A flexible cnn framework for multi-label image classification. IEEE Transactions on Pattern Analysis and Machine Intelligence, 38(9):1901–1907, 2016.

Online Supportive Sample Harvesting (OSSH)

使用Fast RCNN框架进行训练,首先使用seed samples预训练网络,此后使用OSSH渐进式的收集正样本,并用收集到的正样本继续训练。与Fast R-CNN相同,与选择出的正样本IoU大于0.5的proposals为正,其他为负。

  • Relative improvement (RI):对于一个proposal,RI指的是在下一个epoch该proposal未参与训练前的测试得分,和当前epoch该proposal参与训练后的测试得分之差。对于一张图像,我们将所有proposals的RI降序排序,只选RI最大的propsal作为训练的监督信号。具体定义,如下所述:

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px "Helvetica Neue"; color: #323333 }
span.s1 { }

RI的灵感来源,如上图。

Negative rejection (NR):因为正例的质量不高, 使用OSSH训练几个epoch后,将所有正例按Fast R-CNN的得分排序,并在后续训练中去除掉排名后10%的训练样本和它们对应的图片。

偷个懒,结果还不错,具体见原文链接~~

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px "Helvetica Neue"; color: #323333 }
span.s1 { }
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px "Helvetica Neue"; color: #042eee }
p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px "Helvetica Neue"; color: #323333 }
p.p3 { margin: 0.0px 0.0px 0.0px 0.0px; font: 15.0px "Helvetica Neue"; color: #323333 }
p.p4 { margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px "Helvetica Neue"; color: #323333; min-height: 16.0px }
p.p5 { margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px "Helvetica Neue"; color: #323333; min-height: 15.0px }
li.li2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px "Helvetica Neue"; color: #323333 }
span.s1 { text-decoration: underline }
span.s2 { }
span.s3 { text-decoration: underline; color: #042eee }
ul.ul1 { list-style-type: disc }
ul.ul2 { list-style-type: circle }
ul.ul3 { list-style-type: square }

[CVPR2017] Deep Self-Taught Learning for Weakly Supervised Object Localization 论文笔记的更多相关文章

  1. [paper reading] C-MIL: Continuation Multiple Instance Learning for Weakly Supervised Object Detection CVPR2019

    MIL陷入局部最优,检测到局部,无法完整的检测到物体.将instance划分为空间相关和类别相关的子集.在这些子集中定义一系列平滑的损失近似代替原损失函数,优化这些平滑损失. C-MIL learns ...

  2. [ICCV 2019] Weakly Supervised Object Detection With Segmentation Collaboration

    新在ICCV上发的弱监督物体检测文章,偷偷高兴一下,贴出我的poster,最近有点忙,话不多说,欢迎交流- https://arxiv.org/pdf/1904.00551.pdf http://op ...

  3. [place recognition]NetVLAD: CNN architecture for weakly supervised place recognition 论文翻译及解析(转)

    https://blog.csdn.net/qq_32417287/article/details/80102466 abstract introduction method overview Dee ...

  4. [CVPR2017] Weakly Supervised Cascaded Convolutional Networks论文笔记

    p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px "Helvetica Neue"; color: #042eee } p. ...

  5. [CVPR 2016] Weakly Supervised Deep Detection Networks论文笔记

    p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px "Helvetica Neue"; color: #323333 } p. ...

  6. Robust Tracking via Weakly Supervised Ranking SVM

    参考文献:Yancheng Bai and Ming Tang. Robust Tracking via Weakly Supervised Ranking SVM Abstract 通常的算法:ut ...

  7. Deep Learning论文笔记之(四)CNN卷积神经网络推导和实现(转)

    Deep Learning论文笔记之(四)CNN卷积神经网络推导和实现 zouxy09@qq.com http://blog.csdn.net/zouxy09          自己平时看了一些论文, ...

  8. 论文笔记之:Active Object Localization with Deep Reinforcement Learning

    Active Object Localization with Deep Reinforcement Learning ICCV 2015 最近Deep Reinforcement Learning算 ...

  9. Deep Learning论文笔记之(八)Deep Learning最新综述

    Deep Learning论文笔记之(八)Deep Learning最新综述 zouxy09@qq.com http://blog.csdn.net/zouxy09 自己平时看了一些论文,但老感觉看完 ...

随机推荐

  1. 如何实现一个malloc(转)

    本文转自博文如何实现一个malloc.就如作者本人所说,该博文大量参考了A malloc Tutorial,所以对照着阅读这两篇文章更能加深理解. 任何一个用过或学过C的人对malloc都不会陌生.大 ...

  2. Retinex图像增强算法代码

    http://www.cnblogs.com/sleepwalker/p/3676600.html?utm_source=tuicool http://blog.csdn.net/carson2005 ...

  3. Android For JNI(五)——C语言多级指针,结构体,联合体,枚举,自定义类型

    Android For JNI(五)--C语言多级指针,结构体,联合体,枚举,自定义类型 我们的C已经渐渐的步入正轨了,基础过去之后,就是我们的NDK和JNI实战了 一.多级指针 指针的概念我们在前面 ...

  4. 写一个python的服务监控程序

    写一个python的服务监控程序 前言: Redhat下安装Python2.7 rhel6.4自带的是2.6, 发现有的机器是python2.4. 到python网站下载源代码,解压到Redhat上, ...

  5. Shell Scripts - 循环while,until,for

    while...do...done until...do...done for...do...done

  6. IDE

    IDE(Integrated Development Environment,集成开发环境).DE集成开发环境(简称IDE)软件是用于程序开发环境的应用程序,一般包括代码编辑器.编译器.调试器和图形用 ...

  7. cocoa编程第4版 8.5 挑战1 解答

    看似简单,其实也很简单,但开始思路想错了:还上网查了一下,有网友说是将Array Controller的Keys中的personName改为personName.length,好像完全不起作用. 后来 ...

  8. Mina源码阅读笔记(五)—Mina对连接的操作IoSession

    IoSession是Mina管理两端的一个重要部分,也是Mina的核心,Session具有了生命周期的概念,它的生命周期和连接时紧密相关的,这点在后面的介绍中会涉及.另外,好像hibernate中也有 ...

  9. linux下64位汇编的系统调用(2)

    知道了syscall调用号之后还不算完,还要搞清楚2件事: 1 每种调用号需要传递哪些参数: 2 调用如何传递参数以及结果如何返回: 第一个问题的答案是: 在linux系统中某个程序执行时进行的系统调 ...

  10. netsh自动配置网络

    工作需要经常在多个网络中切换,每次都要配置ip等,写个脚本一键完成配置: netsh interface ip set address "本地连接" static "ip ...