Deep Self-Taught Learning for Weakly Supervised Object Localization

转载自:https://www.cnblogs.com/Xiaoyan-Li/p/9041747.html

[CVPR2017] Deep Self-Taught Learning for Weakly Supervised Object Localization 论文笔记

 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作为训练的监督信号。具体定义,如下所述:

 

 

RI的灵感来源,如上图。

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

来源:网络


智能推荐

Weakly Supervised Object Localization:From CNN to Transformer、Weakly Supervised Semantic Segmentatio

问题: 1、目前仅在单目标的测试,未来在多目标定位可以尝试。 2、背景抑制有待提升 3、DANet 这种分层分类会提高分类结果吗? 4、小目标定位(通过提高分辨率的方式,改进Transform本身与CNN相结合) 解决二:分歧扩散** 增强学习的容忍度 第二篇: 这些方法解决了只关注局部区域 将背景过滤掉: 图卷积适合下面的标注(部分点的标注信息)...

弱监督目标检测算法论文阅读(五)Combinational Class Activation Maps for Weakly Supervised Object Localization

Abstract 弱监督的对象定位最近吸引了关注,因为它旨在通过使用图像级标签来识别类标签和对象位置。先前的大多数方法都使用与最高**源相对应的**图。仅利用一个最高概率类别的**图通常会偏向有限的区域,有时甚至会突出显示背景区域。为了解决这些局限性,我们建议使用**图,称为组合类**图(CCAM),这是从最高到最低概率类的**图的线性组合。通过使用CCAM进行定位,我们抑制了背景区域,以帮助更准...

Background Suppression Network for Weakly-supervised Temporal Action Localization

Background Suppression Network for Weakly-supervised Temporal Action Localization 提出问题: 弱监督视频动作定位中,先前的方法聚合帧级别的类分数,以产生视频级别的预测并从视频级别的动作中学习。此方法无法完全模拟问题,因为背景帧被迫错误地分类为行动类别,无法准确预测视频级标签。 做了什么: 设计了背景抑制网络(BaSN...

CVPR:Weakly-supervised Deep Convolutional Neural Network Learning for Facial Action Intensity Estima

Weakly-supervised Deep Convolutional Neural Network Learning for Facial Action Intensity Estimation Abstract AU强度检测在情感计算和人机交互中有着重要的作用,实际上以及有很多工作利用CNN来进行AU强度的检测,但是都需要大量的标注数据。因此本文提出一个“基于知识的半监督的深度卷...

论文阅读笔记 | (IJCAI 2018 Oral) Collaborative Learning for Weakly Supervised Object Detection

论文来自于上海交通大学,点击下载 Abstract 训练一个高准确率的检测模型需要大量精细标注的图片数据,其成本很高。本文提出了一种弱监督协同学习框架,仅使用粗略标签的图片训练目标检测模型,测试结果显示其定位精确率和检测准确率均显著优于目前最先进的方法。 本论文提出了一种弱监督协同学习(WSCL)的框架,将弱监督学习网络和强监督学习网络连接成为一个整体网络,通过一致性损失(consistency ...

猜你喜欢

opc使用教程

新新opc使用教程 如上图所示,以图片的序号为下面的说明序号对应: 1.用于获取本机的账号。 2.选择本机获取到的账号。 3.选择获取到的本机的一个opc server。 4.点击建立连接,最下面的运行日志,会有显示,连接成功与否。 5.开始浏览标签,即可获取到opc server中的所有标签,选择一些标签。 6.这一列和右侧类似的列会显示,你所选择的标签。 7.读取标签,读取间隔为2s. 8.这...

构建Xamarin.Forms NuGet

探索Xamarin.Forms(并在代码中变得更加舒适)的一个很好的方法是克隆存储库并运行它,特别是任何ControlGallery项目。 我们知道您中有许多人已经做到了这一点,所以您可以采取的下一步是为XAMarin.Forms进行自己的定制,以便在组织内构建和分发您自己的NuGet软件包。 在这篇文章中,让我们在本地进行一下,然后讨论如何在Visual Studio Team Services...

tomcat项目上线

目前我用的eclipse,myeclipse同样也是一样的操作 右击项目 选中在您要导出的项目上点击鼠标右键,选择Export 然后选择路经 起名字 然后finish。 接下来就是把war包放入tomcat服务器中, 首先启用远程连接命令连接服务器  远程连接的就是你购买的服务器的公网IP地址。  用户名一般都是Adminnistrator 密码是在阿里云控制台中设置 连接完毕...

session的实例

3、将要获取的name放在一个类对象中 将1中的name修改为 将2中的String改为Person 然后输出 4、设置失效时间 5、 session和cookie的区别 cookie是把用户的数据写给用户的浏览器,浏览器保存(可以保存多个) session把用户的数据写到用户独占session中,在服务器端保存(保存重要信息,减少服务器的资源浪费) session对象由服务器创建; 6、使用场景...

安装jdk 缺少jvm.dll 问题

下载JDK: https://www.oracle.com/technetwork/java/javase/downloads/index.html 配置环境变量: 一般装完jdk配置好环境变量就没问题了,第一次碰到不存在jvm.dll的情况。 安装1.7就不会,所以把1.7里JDK\bin 和 jre\bin 里面的jvm.dll所在的client、server目录拷贝到1.8对应的目...

问答精选

joining table with itself using mysql

When I write this line on mysql on phpmyadmin using mariadb server getting unexpected error near a.cpid = b.cid MySQL said: #1064 - You have an error in your SQL syntax; check the manual that correspo...

Pointers: c++ requires a type specifier for all declarations

I am currently learning c programming, and I've encountered a problem in one of the exercises I'm doing. Whilst trying to decode how pointers work, i receive the following error: c++ requires a type s...

Using Tensorflow in C++ application: How to release GPU memory

I am trying to use Tensorflow for inference within my C++ application. Other parts of the application need access to large amounts of GPU memory (not at exactly the same time as Tensorflow). However, ...

VBA: Download a picture via HTTPS

I'm trying to download a picture from a website (Grafana monitoring tool, API) using VBA (MS Access 2016). It's a HTTPS address using a self signed ceritificat and requires username and password for a...

Selectively retrieving an object from a list within a Grails Domain object

I'm 2 months into Grails development and have stumbled across this challenge which i can't find a answer to having used books, the grails website and forum searches. I'm hoping someone can help me. I ...

相关问题

相关文章

热门文章

推荐文章

相关标签

推荐问答