Active Object Localization with Deep Reinforcement Learning

ICCV 2015

  最近Deep Reinforcement Learning算是火了一把,在Google Deep Mind的主页上,更是许多关于此的paper,基本都发在ICML,AAAI,IJCAI等各种人工智能,机器学习的牛会顶刊,甚至是Nature,可以参考其官方publication page: https://www.deepmind.com/publications.html

  本文是做特定物体的定位和检测,但是不用提取proposal的方式。本文的方法采用从上至下的搜索策略,刚开始的时候,是分析整个场景,然后向物体准确的位置行进。其实,就是先用一个较大的box将物体框住,然后一步一步的缩小,最终使得物体完美的被一个紧凑的box围住。重点是这个step by step的定位过程,该过程是由一个机制确定,并且分析当前可见区域的内容,然后选择下一步最优的action,每一步transformation都尽可能将背景部分砍掉,并且要将物体完整的留在box之中,示例的调整过程如下图所示:

  

  本文所用的方法是 dynamic attention-action strategy,需要注意当前区域的内容,使得转移box的导向是:the target object is progressively more focused. 为了模拟所提出机制的attention,当前box覆盖目标物体的好坏决定了奖励函数(reward function)。基于DeepQNetwork algorithm,作者将奖励函数和增强学习(reinforcement learning setting)结合来学习一个定位策略(localization policy)。作者的结果表明,一个训练的agent可以在11步左右定位到一个物体的示例,这意味着该算法可以在处理11个区域之后准确的找到一个物体。

  

  Object Localization as a Dynamic Decision Process

 本文将物体定位问题看做为马尔科夫决策过程(Markov decision process (MDP)),因为这套设置提供了一个正式的框架来建模一个agent,能够做出一系列的决策。该机制拥有当前可见区域的状态描述(state representation with information of the currently visible region) 和 过去的动作(past actions),在训练的过程中,会对每一个决定都会给出positive or negative rewards。在测试的过程中,该机制不在收到反馈,不再更新model,只是遵循学习到的策略。所以,MDP由三个部分构成,即:a set of actions A, a set of states S, and a reward function R.

  1. Localization Actions

  可以看到 action set A 有8个转移动作(四个方向的移动,尺寸的放大和缩小,长宽比例的变换)和1个终止动作(Trigger)。box的位置:b = [x1, y1, x2, y2], 任何一个转移动作(transformation actions)都会对box造成一个discrete change,通过:

    

  2. State

  The state representation is a tuple (o, h), 其中 o 是观测区域的特征向量,h 是一个向量,存储的是所采用action的历史记录。特征向量 o 是用CNN网络结构提取的,将输入改为224*224,将fc6层的feature提出来。在历史记录向量中,每一个action都表示为一个9维的二进制向量,除了存在的那个动作为1,其余的都为0. 文中将该记录编码为10个 past actions,那么h就是一个 90维的向量。

  

  3. Reward Function

  奖励函数 R 和选定一个特定区域后该机制定位物体的提升程度成正比。预测box和给定box的重叠程度作为我们setup的改善的衡量标准。More specifically,奖励函数用从一个状态到另一个状态的IoU的不同来预测。假设观测区域的box 为b,目标物体的gt box为 g。b和g之间的IoU定义为:

  IoU(b, g) = area(b^g) / area(bvg).

  当agent选定action a 从 s 移动到 s'时,执行奖励函数 Ra(s, s'). 每一个状态 s 有一个相关的box b包含倾向的区域,then the reward is as follows:

  Ra(s, s') = sign ( IoU(b', g) - IoU(b, g) )

  可以看到,从状态s到s',如果IoU改善了,那么奖励就是positive的,否则就是negative的。奖励机制是二值 r 属于{-1, +1}, 适合用所有转移box的action。通过这种方式,agent对于那些移走box的操作给予惩罚,对于那些符合要求的action给予奖励,直到没有其余的转移可以更好的改善定位,在这种情况下,就要进行trigger操作了。

  Trigger拥有一个不同的奖励机制,因为这个操作会带来终止状态,该action的IoU差别会永远为0。IoU的阈值函数作为trigger的奖励:

  

  最终,the reward scheme显示的考虑了step的个数作为一个cost,the agent follow a greedy strategy,which prefers short sequences because any unnecessary step pays a penalty that reduces the accumulated utility.

  Finding a Localization Policy with Reinforcement Learning

  Agent的设计是为了一系列的选择actions来转移bbox,使得在与环境交互的过程中,得到的rewards最大。核心问题是找到一个策略指导agent的决策制定的过程。一个策略就是一个函数pi(s)来指定选择action a,当current state is s。由于我们没有状态转移概率,且奖励函数是依赖于数据的,该问题就构成了利用Q-Learning的增强学习问题。

   本文follow了Mnih et al.的deep Q-learning algorithm,该算法利用神经网络预测 action-value function,与之前的Q-learning方法对比,有如下几点优势:

  (1). Q-network的输出有许多单元(units),像该问题的多个actions一样。

  (2). 该算法结合一个 replay-memory来收集不同的经验和在长期运行中进行学习。

  (3). 为了更新model,该算法从replay-memory uniformly at random的选择transitions,来破坏状态之间的短期关系。这使得算法更加稳定并且阻止了参数的不收敛。

  在学习了 action-value function Q(s, a)之后,agent采用的策略就是选择拥有最大预测值的 action a。

     

  1. Q-learning for Object Localization

  网络结构如上图所示,输入图像是:224*224,经过5个卷基层,提取fc6层的feature,然后训练 Deep Q-Network,最终输出9个actions, 这9个action 就是 对应 fc 的9个输出。

  2. Training Localization Agents

  

  

  另外,为了更好的理解Deep Q-Network,还是抽空看一下这篇文章" Human-level control through deep reinforcement learning"。

   The link is here: http://gnusha.org/~nmz787/pdf/Human-level_control_through_deep_reinforcement_learning.pdf

  大家有什么疑惑,欢迎一起讨论学习!

  

论文笔记之:Active Object Localization with Deep Reinforcement Learning的更多相关文章

  1. 论文阅读之: Hierarchical Object Detection with Deep Reinforcement Learning

    Hierarchical Object Detection with Deep Reinforcement Learning NIPS 2016 WorkShop  Paper : https://a ...

  2. 论文笔记之:Asynchronous Methods for Deep Reinforcement Learning

    Asynchronous Methods for Deep Reinforcement Learning ICML 2016 深度强化学习最近被人发现貌似不太稳定,有人提出很多改善的方法,这些方法有很 ...

  3. 论文笔记之:Playing Atari with Deep Reinforcement Learning

    Playing Atari with Deep Reinforcement Learning <Computer Science>, 2013 Abstract: 本文提出了一种深度学习方 ...

  4. 论文笔记之:Human-level control through deep reinforcement learning

    Human-level control through deep reinforcement learning Nature 2015 Google DeepMind Abstract RL 理论 在 ...

  5. getting started with building a ROS simulation platform for Deep Reinforcement Learning

    Apparently, this ongoing work is to make a preparation for futural research on Deep Reinforcement Le ...

  6. Deep Reinforcement Learning for Visual Object Tracking in Videos 论文笔记

    Deep Reinforcement Learning for Visual Object Tracking in Videos 论文笔记 arXiv 摘要:本文提出了一种 DRL 算法进行单目标跟踪 ...

  7. [CVPR2015] Is object localization for free? – Weakly-supervised learning with convolutional neural networks论文笔记

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

  8. 论文笔记:Learning how to Active Learn: A Deep Reinforcement Learning Approach

    Learning how to Active Learn: A Deep Reinforcement Learning Approach 2018-03-11 12:56:04 1. Introduc ...

  9. 论文笔记之:Action-Decision Networks for Visual Tracking with Deep Reinforcement Learning

    论文笔记之:Action-Decision Networks for Visual Tracking with Deep Reinforcement Learning  2017-06-06  21: ...

随机推荐

  1. Android USB Connections Explained: MTP, PTP, and USB Mass Storage

    Android USB Connections Explained: MTP, PTP, and USB Mass Storage Older Android devices support USB ...

  2. FastReport产品介绍及免费下载地址

    公司地址: 俄罗斯 公司网址: http://www.fast-report.com 详细信息: 由技术总监Alexander Tzyganenko创建于1998年,Fast Reports, Inc ...

  3. 解决办法:在指定的 DSN 中,驱动程序和应用程序之间的体系结构不匹配 问题解决 SQLSTATE=IM014

    环境:64位win7,64位MySql 解决办法:32为和64位ODBC都安装上即可.

  4. Interview----判断两个链表是否相交?

    题目描述: 判断两个单链表是否相交?假设链表没有环. 假如链表有环呢? 1.  假如没有环 那么如果两个链表相交的话,必然最后的节点一定是同一个节点.所以只需要各自扫描一遍链表,找到最后一个节点,比较 ...

  5. css if hack之兼容ie

    1.Css if hack条件语法< !--[if IE]> Only IE <![endif]-->仅所有的WIN系统自带IE可识别< !--[if IE 5.0]&g ...

  6. AmazeUI布局

    AmazeUI使用了12列的响应式网络系统.使用时需在外围容器上添加.am-g class,在列上添加.am-u-[sm|md|lg]-[1-12] class,然后根据不同的屏幕需求设置不同的宽度. ...

  7. PHP 防范IP攻击

    <?php //查询禁止IP $ip =$_SERVER['REMOTE_ADDR']; $fileht=".htaccess2"; if(!file_exists($fil ...

  8. 为什么web标准中无法设置IE浏览器滚动条颜色了?

    <!doctype html><html> <head> <meta charset="UTF-8"> <meta name= ...

  9. bat批处理文件命令详解

    bat批处理文件命令详解 echo.@.call.pause.rem(小技巧:用::代替rem)是批处理文件最常用的几个命令 echo 表示显示此命令后的字符  echo off 表示在此语句后所有运 ...

  10. magento启用SSL改http成https

    Magento是电子商务网站,对于网站的用户信息安全来说,让Magento使用SSL连接是一个很好的解决方案.如果在页面的边栏或者底部放上些表明本站使用安全连接的图片,显得更专业,让客户有安全感,对于 ...