AAAI 2020论文解读:商汤科技提出新弱监督目标检测框架
来源 | Object Instance Mining for WeaklySupervised Object Detection
编辑 | Carol
出品 | AI科技大本营(ID:rgznai100)
商汤科技视频大数据团队发表论文《Object Instance Mining forWeakly Supervised Object Detection》,该论文被AAAI 2020录用。
该团队提出了一种端到端的物体实例挖掘弱监督目标检测框架,引入了基于空间图及外观图的信息传播机制,在网络迭代学习过程中,尝试挖掘每张图像中全部的物体实例。
除此之外,还引入了物体实例权重调整损失函数(reweighted loss),使网络可以同时学习到更完整的物体实例,从而让弱监督目标检测方法得到更加准确的检测框。
详细解读
目标检测,是计算机视觉领域长期关注的问题,在自动驾驶、图像理解、视频监控等领域都有着广泛的应用。然而基于深度学习技术的目标检测器在网络训练中需要大量精确标注的物体边界框,这些耗时耗力的标注工作阻碍了该技术在实际产品中的快速和广泛应用,同时大量的人工标注也大大提高了产品成本。
为了解决这个局限性,仅使用图片级别标注(既标注仅包含图片中物体的类别)的弱监督目标检测技术在近几年受到了广泛的关注和研究,具有重要的意义。
现有的弱监督目标检测方法大多数是基于多实例学习框架的,对于每个物体类别,基于多实例学习框架的方法倾向于学习图像中该类中特征最明显的物体,并对于每张图片选取得分最大的一个物体框进行训练,其他被忽略的物体实例容易使学习网络陷入局部最优,进而影响弱监督目标检测的性能。
本论文提出了一种端到端的物体实例挖掘(Object Instance Mining,OIM)弱监督目标检测框架。该框架引入了基于空间图(Spatial Graph)及外观图(Appearance Graph)的信息传播机制,在网络迭代学习过程中,尝试挖掘每张图像中全部的物体实例。
这样使得在基于多实例学习方法的网络学习过程中,特征不够显著的物体实例可以被检测到并加入训练,进而提升特征的表达能力和鲁棒性。除此之外,商汤科技视频大数据团队还引入了物体实例权重调整损失函数(reweighted loss),使网络可以同时学习到更完整的物体实例,从而让弱监督目标检测方法得到更加准确的检测框。
基于物体实例挖掘(OIM)弱监督目标检测框架结构如下图所示:
物体实例挖掘(OIM)弱监督目标检测框架
该框架主要由多实例检测(Multiple Instance Detection)及目标实例挖掘(Object Instance Mining)两个部分构成。在网络训练迭代过程中,论文先使用多实例检测预测每个候选区域的类别,之后基于检测的输出及候选区域的特征,通过建立空间图及外观图尽可能挖掘图像中的全部物体实例,并将它们加入训练。其中物体实例挖掘过程如下图所示:
物体实例挖掘过程示例。
在网络训练迭代过程中,在一幅图中,首先学习/检测到最具辨识力的物体实例,基于此实例通过位置关系,既其他候选框与此实例的重叠关系,建立空间图(Spatial Graph),如图(a)。
之后基于此实例,通过计算它与其他候选框之间的外观相似度,挖掘图片中可能属于同一类别的物体实例,建立外观图(Appearance Graph),针对每一个新挖掘到实例同样建立空间图,如图(b),(c)。以此步骤进行迭代训练,直到挖掘出图像中全部可能的物体实例加入训练如图(d)。
除此之外,由于在网络迭代学习过程中,尤其是对于非刚性物体实例,基于CNN的分类器学习到的最具辨识力的是物体实例的某个局部而不是整个物体的整体,因此本论文设计了物体实例权重调整损失函数(reweighted loss), 以学习到更准确的物体检测框。团队提出对于不同的候选框应分配不同的权重,对于分类器置信度得分高的候选框分配较低的权重,反之对最高分候选框周围的候选框分配较高的权重,从而学习更完整的物体实例检测框。
团队在PASCAL VOC 2007训练集上进行了弱监督物体实例挖掘的过程的可视化,如下图所示(从左到右),随着网络的迭代学习,更多更准确的物体实例可以被检测出来并加入训练中。
团队使用 PASCAL VOC 2007及VOC 2012数据进行了测试,比较了物体实例挖掘(OIM)方法与其他相关弱监督检测方法效果。结果表明,弱监督物体实例挖掘方法在定位精确率以及检测准确率均达到或超过目前最先进的方法。
OIM与其他目前最先进的方法在PASCALVOC 2007 测试集上检测精确度的比较(AP) (%)
OIM与其他目前最先进的方法在PASCALVOC 2007训练验证集上定位精确度的比较(CorLoc) (%)
OIM与其他目前最先进的方法在PASCALVOC 2012 验证集/测试集上检测精确度的比较(AP)(%)
OIM与其他目前最先进的方法在PASCALVOC 2012训练验证集上定位精确度的比较(CorLoc) (%)
论文:Object Instance Mining for WeaklySupervised Object Detection
论文作者:Chenhao Lin, Siwen Wang, Dongqi Xu, YuLu, Wayne Zhang
论文地址:https://arxiv.org/pdf/2002.01087.pdf
(*本文为投稿文章,投稿请微信联系1092722531)
◆
精彩推荐
◆
为了助力对抗疫情,减少线下人员流动和聚集,CSDN与 PyCon 官方授权的 PyCon中国社区合作,举行「Python开发者日」在线系列峰会。通过精彩的技术干货内容、有趣多元化的在线互动活动等,让您足不出户便可与大咖学习交流,共同渡过抗疫攻坚期。扫码入群咨询详情!
推荐阅读
2020年AI如何走?Jeff Dean和其他四位“大神”已做预测!
AAAI 2020论文解读:商汤科技发布新视频语义分割和光流联合学习算法
微服务架构何去何从?
微软高管谈微软远程办公思考与实践,值得每个企业看看
互联网人集体的远程办公终将是昙花一现?
两亿人开启在家办公模式,看看程序员们怎么说
你点的每个“在看”,我都认真当成了AI
相关文章:

20135306黄韧 信息安全系统设计基础期中学习总结
信息安全系统设计基础第八周学习总结 知识点总结 第1章 计算机系统漫游 △计算机系统是由硬件和系统软件组成的,它们共同协作以运行应用程序。计算机内部的信息被表示为一组组的位.它们依据上下文有不同的解释方式。程序被其他程序翻译成不同的形式&…

使用SQL Server维护计划实现数据库定时自动备份
在SQL Server中出于数据安全的考虑,所以需要定期的备份数据库。而备份数据库一般又是在凌晨时间基本没有数据库操作的时候进行,所以我们不可能要求管理员每天守到晚上1点去备份数据库。要实现数据库的定时自动备份,最常用的方式就是使用SQL S…
AI 医疗公司“战疫”在前线
作者 | Just来源 | CSDN(CSDNnews)紧急驰援疫区,涉足AI医疗领域的公司也出动了。截止到2月6日,随着新冠病毒肺炎疫情的不断发展,全国累计已有31161例确诊病例,26359例疑似病例。不过,由于医疗资…
动态执行流程分析和性能瓶颈分析的利器——valgrind的callgrind
在《内存、性能问题分析的利器——valgrind》一文中我们简单介绍了下valgrind工具集,本文将使用callgrind工具进行动态执行流程分析和性能瓶颈分析。(转载请指明出于breaksoftware的csdn博客) 之前的《利器》系列中,我们介绍了两种…

CentOS6.3编译安装Nginx1.4.7 + MySQL5.5.25a + PHP5.3.28
2019独角兽企业重金招聘Python工程师标准>>> 【准备工作】 01 #在编译安装lnmp之前,首先先卸载已存在的rpm包。 02 rpm -e httpd 03 rpm -e mysql 04 rpm -e php 05 06 yum -y remove httpd 07 yum -y remove mysql-server mysql 08 yum -y remove php 0…
GitHub标星14000+,阿里开源的SEATA如何应用到极致?
作者简介:袁鸣凯,家乐福技术总监, 高知特有限技术公司中国区架构师,HP上海研发技术专家,夸客金融首席架构师,现任家乐福中国区技术总监。多年互联网、企业级SOA、微服务、全渠道中台方面的架构设计实战经验…

C++拾趣——有趣的操作符重载
操作符重载是C语言中一个非常有用的特性。它可以让我们比较优雅的简化代码,从而更加方便的编写逻辑。 为什么要使用操作符重载一种常见的用法是重载<<运算符,让标准输出可以输出自定义的类型。比如 #include <iostream>class Sample {friend…

urlparse模块(专门用来解析URL格式)
# -*- coding: utf-8 -*- #python 27 #xiaodeng #urlparse模块(专门用来解析URL格式)#URL格式: #protocol ://hostname[:port] / path / [;parameters][?query]#fragment #parameters:特殊参数,一般用的很少。#1、url…
使用Boost的Serialization库序列化STL标准容器
使用Boost做对象序列化是非常方便的,本文将介绍一种序列化STL标准容器的方法。这是之前设计的异步框架的一个子功能:过程A将标准容器数据序列化成二进制流,然后将该二进制数据发送到过程B,过程B将数据反序列化为标准容器。&#x…
连登GitHub TOP榜,中国开发者在行动!
作者 | 唐小引数据 | 于瑞洋出品 | AI科技大本营(ID:rgznai100)中国开发者正在走向世界中文开源项目正在不断登上 GitHub TOP 榜不久前,一个名叫「wuhan2020」的开源项目进入了 GitHub Trending TOP 榜,截至到现在,已经…

Merge into的使用
用途 merge 命令可以用来用一个表中的数据来修改或者插入到另一个表。插入或者修改的操作取决于on子句的条件。该语句可以在同一语句中执行两步操作,可以减少执行多条insert 和update语句。merge是一个确定性的语句,即不会在同一条merge语句中去对同一条…

PHP和MySQL Web开发从新手到高手,第8天-创建categories管理页面
1. 创建categories管理页面 主要包含以下几个页面: A. index.php, 准备各种变量数据.供展示页面使用. B. categories.html.php, 显示categories. C. form.html.php, 用于编缉或添加作者的页面. 页面郊果: 2. categories页面的主要流程 2.1 是否已登录 if (!user_is_login()){in…

堆状态分析的利器——valgrind的DHAT
在《堆问题分析的利器——valgrind的massif》一文中,我们介绍了如何使用massif查看和分析堆分配/释放的问题。但是除了申请和释放,堆空间还有其他问题,比如堆空间的使用率、使用周期等。通过分析这些问题,我们可以对程序代码进行优…

cisco2950交换机密码恢复
在实际工作中可能会忘记交换机密码,导致不能对交换机进行配置的情况。cisco提供了密码恢复的方法。以下是关于交换机密码恢复说明:如果忘记密码,这时我们如果要配置交换机就必须在启动时绕过config.text的配置【密码保存在config.text中】然后…
程序员SQL都不会?能干啥?资深研发:别再瞎努力了!
国外有人曾做过调查显示:“SQL的使用人数仅次于JavaScript”。更有统计,世界上一流的互联网公司中,排名前 20 的有 80% 都是 MySQL 的忠实用户。为什么这项技术仍有这么多人在用?又为什么值得我们学习?1、无论你是前端…

OC管理文件方法
1、常见的NSFileManager文件方法 -(NSData *)contentsAtPath:path //从一个文件读取数据 -(BOOL)createFileAtPath: path contents:(NSData *)data attributes:attr //向一个文件写入数据 -(BOOL)removeItemAtPath:path error:err //删除一个文件 -(BOOL)moveItemAtPa…
堆状态分析的利器——gperftools的Heap Profiler
在《内存泄漏分析的利器——gperftools的Heap Checker》一文中,我们介绍了如何使用gperftools分析内存泄漏。本文将介绍其另一个强大的工具——Heap Profiler去分析堆的变化过程。(转载请指明出于breaksoftware的csdn博客) 我们使用类似于《堆…

亲戚称呼关系表
直系血亲父系曾曾祖父--曾祖父--祖父--父亲曾曾祖母--曾祖母--祖母--父亲母系曾曾外祖父--曾外祖父--外祖父--母亲曾曾外祖母--曾外祖母--外祖母--母亲儿子:夫妻间男性的第一子代。女儿:夫妻间女性的第一子代。孙:夫妻间的第二子代࿰…
技术驰援抗疫一线, Python 线上峰会免费学!
截至截止2月9号24时,新型冠状病毒在全国已确诊42714例,疑似病例已达21675例。而专家所说的“拐点”始终未至,受疫的影响,各大公司开启远程办公模式,将返回工作场所办公的时间一延再延。在抗疫前线,中国医疗…

ZeroMq实现跨线程通信
ZeroMq实现跨线程通信 之前在技术崇拜的技术经理指导下阅读了ZeroMq的基础代码,现在就将阅读的心得与成果记录一下,并重新模仿实现了一下经理的异步队列。 1、对外接口 //主要接口(1)void *ymq_attach (void *ctx_, int oid, voi…
动态执行流程分析和性能瓶颈分析的利器——gperftools的Cpu Profiler
在《动态执行流程分析和性能瓶颈分析的利器——valgrind的callgrind》中,我们领略了valgrind对流程和性能瓶颈分析的强大能力。本文将介绍拥有相似能力的gperftools的Cpu Profiler。(转载请指明出于breaksoftware的csdn博客) 我们依然以callg…

C语言内存管理内幕(二)----半自动内存管理策略
2019独角兽企业重金招聘Python工程师标准>>> C语言内存管理内幕(二)----半自动内存管理策略 转载于:https://my.oschina.net/hengcai001/blog/466
无人机巡逻喊话、疫情排查、送药消毒,抗疫战中机器人化身钢铁战士!
整理 | 夕颜责编 | Carol出品 | CSDN(ID:CSDNnews)这场抗疫战争似乎格外漫长,但回头细数一下才发现,自疫情爆发以来,也不过半月之久。在接下来的几个半月中,抗疫战仍将继续,各方力量也要绷紧神经…

jQuery EasyUI 表单插件 - Datebox 日期框
为什么80%的码农都做不了架构师?>>> 扩展自 $.fn.combo.defaults。通过 $.fn.datebox.defaults 重写默认的 defaults。 日期框(datebox)把可编辑的文本框和下拉日历面板结合起来,用户可以从下拉日历面板中选择日期。在…

互斥量、读写锁长占时分析的利器——valgrind的DRD
在进行多线程编程时,我们可能会存在同时操作(读、写)同一份内存的可能性。为了保证数据的正确性,我们往往会使用互斥量、读写锁等同步方法。(转载请指明出于breaksoftware的csdn博客) 互斥量的用法如下 pth…

一次性同步修改多台linux服务器的密码
如何一次性修改多台linux服务器的密码,这是个问题,我给大家提供一个脚本,是前一段我刚刚写的,希望能对大家有所帮助一 , 需求:linux环境下运行,需要tcl和expect支持原理说明:利用expect的摸拟交互的功能&…
麻省理工学院的新系统TextFooler, 可以欺骗Google的自然语言处理系统及Google Home的音频...
来源 | news.mit编译 | 武明利责编 | Carol出品 | AI科技大本营(ID:rgznai100)两年前,Google的AI还不太成熟。一段时间以来,有一部分计算机科学研究一直致力于更好地理解机器学习模型如何处理这些“对抗性”攻击,这些攻…

Oracle VS DB2 数据类型
Oracle VS DB2 本文转自:http://www.bitscn.com/oracle/install/200604/16541.html首先,通过下表介绍ORACLE与DB2/400数据类型之间的对应关系,是一对多的关系,具体采用哪种对应关系,应具体问题具体分析。 OracleDB2/40…

死锁问题分析的利器——valgrind的DRD和Helgrind
在《DllMain中不当操作导致死锁问题的分析--死锁介绍》一文中,我们介绍了死锁产生的原因。一般来说,如果我们对线程同步技术掌握不牢,或者同步方案混乱,极容易导致死锁。本文我们将介绍如何使用valgrind排查死锁问题。(…
疫情可视化,基于知识图谱的AI“战疫”平台如何做?
来源 | DataExa渊亭科技武汉封城半个月,疫情依然严峻。但与17年前的SARS相比,我国在此次疫情防控工作中展现出了更高的医疗救治水平、更快的防疫反应速度、更透明的信息披露机制、更迅速的数据报送机制。在这场没有硝烟的战役中,社会各界团结…