2018年5月5日论文阅读

国外精读!title(27):We don’t need no bounding-boxes: Training object class detectors using only human verification(我们不需要任何边界框:只使用人工验证来训练对象类别检测器)---20170424

这篇文章主要设计了一个框架,输入是图片和image-level的类标签。目标就是:1、训练detector,能够自动predict出比较好的bounding box;2、减小人工标注bounding box的工作量。

文章的内容和目标检测有关。目标检测两个基本的模式包括:1)全监督:即需要提供所有物体的bounding box 2) 弱监督:只提供图片级别的标签,无bounding box 3) 半监督:介于两者之间。与这些模式不同,本文提出了一种全新的训练detector的方式:

如上图所示,文章首先生成很多proposal出发,然后从一个传统的弱监督检测算法出发,训练出一个detector,每次将分数最高的输出交给标注者做验证,然后根据反馈 1) 重新训练detector 2) 去除掉明显不可能的proposal。作者在文章中提出了两种验证的方式:

  1. 标注者只回答Yes/No,即框是不是框住了一个特定的物体。

  2. 如果回答是No,标注者要提供更详细的信息:Part, Container, Mixed, Missed,分别对应以下四种情况:

如果采用后者的标注方式,则可以根据这些信息进一步筛选proposal,这里文章作者引入了本文最大的一个限制条件来达到这个目的:限制每张图每类物体只能有一个bounding box。如果加上这个条件,例如对于Part的标注,那么我们可以消除掉所有和这个bounding box不相交的框,从而快速缩小搜索的范围。

下面是一个两种标注方法比较的例子,可以看到额外的信息确实大幅提高了找到正确框的速度:

在最后的实验中,和全监督的方法比较,本文的方法以牺牲6%(51%->45%)的代价将标注时间缩短了6到9倍。不过由于是在VOC这样相对较小的数据集上进行的实验,我相信如果将数据规模加大,这个性能差距会更进一步减小。

综上所述,本文提供了一个全新的目标检测训练方式,将人工验证带入到整个训练流程中,通过active learning的办法,力求在人工标注的速度和准确性上取得了一个平衡。除了前面提到的本文的限制,文章使用的active learning的算法也比较初级,这些都制约了算法的最终性能。然而如果从这个文章拓展出去,我们可以发现有很多有意思的问题有待解决,例如:

  1. 对于类别数目很多的分类问题,我们怎么更为有效地转化为适合人类分类的二元分类问题加快数据标注?我们如何设计这样二元问题可以使每次标注得到的信息量最大?

  2. 对于目标检测问题,除了这种判断Yes/No的方式,是否有更多快速但是可以提供更多信息的标注方式?例如是否可以通过某种快速的点击提供更多的位置信息从而转化问题为一种全新的弱监督学习的问题?

  3. 在视频数据上,如何更有效地利用时序信息进行标注和训练?

很希望这些问题在不久的未来都会有圆满的解决,这些问题在这个数据为上的时代不管从理论还是实践上都有很大的意义 :)

 

转载于:https://www.cnblogs.com/ariel-dreamland/p/8993683.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/398070.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

sql2005主从数据库同步配置

网站规模到了一定程度之后,该分的也分了,该优化的也做了优化,但是还是不能满足业务上对性能的要求;这时候我们可以考虑使用主从库。主从库是两台服务器上的两个数据库,主库以最快的速度做增删改操作最新数据的查询操作…

InceptionV2----Batch Normalization层

一、BN层的操作 1.BN层的操作位置:在非线性映射之前,目的是为了减少梯度消失和梯度爆炸。 1.对输入的x做归一化 2.增加2个参数,提高模型表达能力 3.理想情况下E和Var应该是针对整个数据集的,但显然这是不现实的。因此,…

前端技术之_CSS详解第五天

前端技术之_CSS详解第五天 一、行高和字号 1.1 行高 CSS中&#xff0c;所有的行&#xff0c;都有行高。盒模型的padding&#xff0c;绝对不是直接作用在文字上的&#xff0c;而是作用在“行”上的。 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN&qu…

pxe装机dhcp获取不到_关于PXE服务器环境搭建流程中遇到的问题及解决方法

环境准备中遇到的问题首先需要将系统镜像挂载到 /mnt&#xff1a;#mount /dev/sdd2 /mnt/usb_disk 将U盘挂载#cp rhel-server-7.6-x86_64-dvd.iso /home 系统镜像拷到本地#mount -o loop rhel-server-7.6-x86_64-dvd.iso /mnt问题&#xff1a;ifconfig命令未找到解决&#xff1…

一小时包教会 —— webpack 入门指南

什么是 webpack&#xff1f; webpack是近期最火的一款模块加载器兼打包工具&#xff0c;它能把各种资源&#xff0c;例如JS&#xff08;含JSX&#xff09;、coffee、样式&#xff08;含less/sass&#xff09;、图片等都作为模块来使用和处理。 我们可以直接使用 require(XXX) 的…

java 简单图片浏览器_Java实现简单的图片浏览器

第一次写博客&#xff0c;不喜勿喷。最近一个小师弟问我怎么用Java做图片浏览器&#xff0c;感觉好久没玩Java了&#xff0c;就自己动手做了一下。学校的教程是用Swing来做界面的&#xff0c;所以这里也用这个来讲。首先要做个大概的界面出来&#xff0c;eclipse有一个很好用的…

60. Spring Boot写后感【从零开始学Spring Boot】

从2016年4月15日到2016年7月20日经历长达3个月的时间&#xff0c;【从零开始学习Spring Boot】系列就要告一段落了。国内的各种资源都比较乱或者是copy 来copy去的&#xff0c;错了也不加以修正下&#xff0c;导致通过百度找到的资源可能都是错误的&#xff0c;正是由于这么一种…

五角星

import turtle turtle.setup(600,400,0,0) turtle.bgcolor(red) turtle.color(yellow) turtle.fillcolor(yellow) turtle.begin_fill() for i in range(5):turtle.forward(200)turtle.right(144) turtle.end_fill()turtle.done()转载于:https://www.cnblogs.com/Paris-YY/p/900…

java customerservlet_顾客管理系统java+servlet

首先我先搭好网页的框架先写一个登陆的html&#xff0c;名字是login.html1)在js中跳转页面的方法&#xff0c;我这里用的是get提交&#xff0c;只传递了一个name。function mylogin() {var usernamedocument.getElementById("name").value;window.location.href"…

mysql给root开启远程访问权限,修改root密码

1.MySql-Server 出于安全方面考虑只允许本机(localhost, 127.0.0.1)来连接访问. 这对于 Web-Server 与 MySql-Server 都在同一台服务器上的网站架构来说是没有问题的. 但随着网站流量的增加, 后期服务器架构可能会将 Web-Server 与 MySql-Server 分别放在独立的服务器上, 以便得…

Qt_Window@Qt Command Prompt从命令行创建工程

#include <QApplication> #include <QLabel>int main(int argc, char *argv[]) {QApplication app(argc, argv);QLabel *label new QLabel("Hello Qt!");label->show();return app.exec(); }第1 行和第2 行包含了两个类的定义&#xff1a;QApplicat…

linux中的守护进程

一、守护进程守护进程&#xff0c;也叫精灵进程&#xff08;daemon&#xff09;它和普通后台进程的区别在于以下三点1、守护进程自成会话&#xff0c;而普通后台进程则不一定2、守护进程不受终端的控制3、守护进程就是后台进程&#xff0c;而后台进程不同于守护进程用ps axj命令…

mysql主从复制 lvs+ keepalived

2019独角兽企业重金招聘Python工程师标准>>> 一、环境 Master&#xff08;主机A&#xff09;&#xff1a;192.168.1.1 Slave&#xff08;主机B&#xff09; &#xff1a;192.168.1.2 W-VIP&#xff08;写入&#xff09; &#xff1a;192.168.1.3 R-VIP&#xff…

php 逗号编码,php有几种编码

当前 mbstring 模块支持以下的字符编码。这些字符编码中的任意一个都能指定到 mbstring 函数中的 encoding 参数。该 PHP 扩展支持的字符编码有以下几种&#xff1a;UCS-4*UCS-4BE (推荐学习&#xff1a;PHP视频教程)UCS-4LE*UCS-2UCS-2BEUCS-2LEUTF-32*UTF-32BE*UTF-32LE*UTF-…

jmeter命令行运行-分布式测试

秒秒开心jmeter命令行运行-分布式测试 上一篇文章我们说到了jmeter命令行运行但是是单节点下的&#xff0c; jmeter底层用java开发&#xff0c;耗内存、cpu&#xff0c;如果项目要求大并发去压测服务端的话&#xff0c;jmeter单节点难以完成大并发的请求&#xff0c;这时就需要…

ambari 自定义组件安装

借鉴&#xff1a;http://www.ibm.com/developerworks/cn/opensource/os-cn-bigdata-ambari3/index.htmlAmbari 在启动的时候&#xff0c;会扫描 resource 目录下 Stack 下面的 service 配置。也就是每个 Service 的 metainfo.xml&#xff0c;同时会将这些配置信息放在自己的数据…

android 双向滑动 seekbar

实现原理&#xff1a;1、自定义View&#xff0c;在onDraw(Canvas canvas)中&#xff0c;画出2个Drawable滑动块&#xff0c;2个Drawable滑动条&#xff0c;2个Paint&#xff08;text&#xff09;2、监听onTouchEvent()事件&#xff0c;修改滑块和滑动条的坐标&#xff0c;调用i…

java开发区块链只需150行代码

本文目的是通过java实战开发教程理解区块链是什么。将通过实战入门学习&#xff0c;用Java自学开发一个很基本的区块链&#xff0c;并在此基础上能扩展如web框架应用等。这个基本的java区块链也实现简单的工作量证明系统。本文用一个java例子,演示了开发一个区块链应用的过程,涉…

按钮长按

2019独角兽企业重金招聘Python工程师标准>>> 用update来实现定时 //长按处理update: function (delta) {cc.log("update "delta);this.totalTimedelta;if(this.totalTime>TOUCH_LONG_TIMER_INVOKE){this.stopTimer();this.invokeTouchLong();}},stop…

Git-如何将已存在的项目提交到git

1.首先在码云或者github上创建一个不带README.md的项目&#xff0c;然后复制远程库的地址&#xff08;下面以码云为例&#xff09;&#xff1a;   2.进入本地已存在的项目目录&#xff1a;house    touch README.md //新建说明文件 git init //在当前项目目录中生成本地git…