摘要

我们提出了一种方法,在深度强化学习agent引导的图像中执行层次对象检测。其关键思想是关注图像中包含更丰富信息的部分,并将其放大。我们训练一个智能agent,给定一个图像窗口,能够决定在五个预定义的不同区域候选对象(较小的窗口)中将注意力集中在哪里。这个过程被迭代以提供层次图像分析。我们比较了两种不同的候选提议策略来引导对象搜索:有重叠和没有重叠。此外,我们的工作比较了从卷积神经网络为每个候选框提取特征的两种不同策略:第一种,计算新feature mas 为每个候选框,第二种,计算整幅图像的feature maps然后生成每个候选框的裁剪图。实验表明,重叠候选提议策略有更好的结果,但由于空间分辨率的损失,对裁剪后的图像特征的性能有所损失。我们认为,虽然在处理大量候选对象时这种损失似乎是不可避免的,但我们的强化学习agent生成的候选框数量大大减少,允许考虑为每个位置提取特征,而无需在区域之间共享卷积计算。源代码和模型可在 https://imatge-upc.github.io/detection-2016-nipsws/ 获得。

1 Introduction

当我们人类查看图像时,我们总是会按顺序提取信息以了解其内容。首先,我们将视线固定在图像的最显着部分,并从提取的信息中引导视线转向另一个图像点,直到我们分析了其所有相关信息。这是我们从周围环境中收集信息的自然和本能行为。传统上,在计算机视觉中,通常在不同的尺度上,在滑动窗口扫描之后在局部尺度上分析图像。这种方法独立地分析不同的图像部分,而不将它们关联起来。仅仅通过引入图像的层次表示,我们就可以更容易地利用区域之间的关系。我们建议使用自上而下扫描,首先对图像进行全局查看,然后依次聚焦包含相关信息的局部部分(例如对象或面)。

我们的算法基于一个经过强化学习训练的智能agent,该智能agent能够做出决策来检测静止图像中的对象,类似于[2]。agent首先分析整个图像,并决定在一组预定义图像中聚焦图像的哪个区域。受[9]的启发,我们的代理可以自上而下地探索五个不同的预定义候选框:四个区域代表四个象限加上一个中心区域。研究了两种不同的策略:提出重叠或不重叠的候选。agent在找到对象时停止搜索。强化学习对我们的任务很有用,因为没有单一的方法来完成它。agent可以用不同的方式探索层次表示,并且仍然可以实现其目标。然后,我们对agent进行培训,使其在不确定的情况下做出决策,以达到其目标,而不是对agent应该执行的每一步进行编程。请注意,对象检测的最终目标是在对象周围定义一个边界框,在我们的工作中,这些边界框仅限于层次中预定义的区域。

大多数最先进的目标检测解决方案都会分析大量的候选框。这些算法需要通过重用整个图像的卷积特征映射来利用描述所有这些方案的瓶颈。在我们的工作中,由于强化学习agent和层次结构允许我们分析数量非常少的区域,我们可以通过卷积网络为agent访问的每个区域提供信息,以提取其特征,从而允许我们使用更高空间分辨率的区域表示,也比从整个图像的特征图中裁剪出来的信息更丰富。为了研究这种权衡,我们训练并比较了两种基于这两种原则的不同模型:图像缩放模型(在每个区域提取描述符)和Pool45 Crops模型(在同一图像的不同区域重用特征图)。

我们工作的第一个贡献是引入了一种层次表示法,以自上而下(放大)引导我们的agent通过图像。我们探讨了层次结构的设计如何影响检测性能和访问区域的数量。第二个贡献是研究如何为每个区域提取特征,而不是重复使用多个位置的feature maps。我们为我们的方案展示了区域特定特征的增益,并认为由于agent考虑的区域数量非常少,因此计算开销很小。

2 Related Work

强化学习是一种功能强大的工具,已被广泛应用。最令人印象深刻的结果来自DeepMind[11],他们能够通过只观察屏幕像素来训练玩Atari 2600视频游戏的代理,甚至达到超人的性能。此外,他们还将一台赢得围棋比赛的计算机首次培训给专业选手[16]。更具体地说,对于传统的计算机视觉任务,强化学习已被应用于学习图像分类[10,1]、字幕[20]或活动识别[21]的空间瞥见策略。它也被应用于图像中的目标检测[2],就像我们的方法一样,铸造了一个马尔可夫决策过程。传统的目标检测解决方案基于区域建议,如选择性搜索[19]、CPMC[3]或MCG[13],以及其他基于滑动窗口的方法,如EdgeBoxes[23]。这些建议的提取独立于分类器,分类器将对构成最终检测的区域进行评分和选择。这些方法在计算上非常昂贵,因为它们依赖于大量的对象建议。然后,出现了基于卷积神经网络的第一个趋势,如Fast R-CNN[6],该趋势已经研究了如何在各个位置之间共享卷积计算,因为他们发现虚拟对象的特征提取是对象检测的瓶颈。

更近期的方案,如更快的R-CNN[15],通过获得与检测网络共享完整图像卷积特征的无成本区域方案,实现了高效快速的目标检测。从图像直接预测边界框是一项困难的任务,因此,更快的R-CNN等方法依赖于许多称为锚的参考框,这些参考框通过回归这些初始参考框来促进预测精确边界框的任务。我们的方法的一个关键是通过强化学习代理选择的不同动作细化边界框预测。除了更快的R-CNN或其他方法,如基于锚的YoLo 2[14]或MultiBox[4],还有其他基于预测细化的工作。Yoo等人[22]提出了AttentionNet。他们将目标检测问题转化为迭代分类问题。AttentionNet预测多个指向目标对象的弱方向,从而获得最终精确的边界框。最先进的对象检测技术是单镜头多框检测器(SSD)[8],它可以与每个特征贴图位置具有不同纵横比和比例的多个默认框一起工作,还可以调整它们以更好地匹配对象形状。

另一种支持这一想法的方法是Caicedo和Lazebnik[2]提出的主动目标定位方法。他们的方法使用深度强化学习来训练智能agent,这种学习能够顺序变形边界框,直到它们找到目标边界框。agent对边界框执行的每个操作都可以更改其纵横比、比例或位置。我们与这种方法的主要区别在于,我们添加了一个固定的层次表示,强制进行自上而下的搜索,以便每个动作都缩放到预测的感兴趣区域。

如何从超分辨率中获益,其他工作也进行了研究。在Lu等人[9]的论文中,对模型进行了训练,以确定是否需要进一步划分当前观测区域,因为其上仍然有小物体,在这种情况下,每个子区域都被独立分析。他们的方法也可以看作是分层的,但在这种情况下,当缩放预测为正时,他们分析每个子区域,而我们只分析强化学习代理选择的子区域。与他们的建议相反,我们分析更少的区域,然后我们可以为每个区域提取高质量的描述符,而不是共享卷积特征。

3 Hierarchical Object Detection Model

在这项工作中,我们将目标检测问题定义为目标导向的代理与视觉环境(即我们的图像)交互的顺序决策过程。在每一个时间步,代理都应该决定将注意力集中在图像的哪个区域,这样它就可以在几个步骤中找到对象。我们将问题转化为马尔可夫决策过程,当结果部分不确定时,马尔可夫决策过程为决策建模提供了一个框架.

3.1 MDP formulation

为了理解我们开发的目标检测任务的模型,我们首先定义马尔可夫决策过程是如何参数化的。

State :state由当前区域的描述符和内存向量组成。描述符的类型定义了我们在工作中比较的两个模型:the Image-Zooms model and thePool45-Crops model。第3.3节详细解释了这两种变化。状态的内存向量捕获agent在搜索对象时已执行的最后4个操作。当agent学习边界框的细化时,编码该细化过程状态的内存向量有助于稳定搜索轨迹。我们将过去的4个动作编码在一个一次性向量中。由于在下一节中有6个不同的动作,记忆向量有24个维度。[2]中也使用了这种类型的记忆向量。

Actions 有两种可能的actions:移动操作意味着当前观察区域的变化,以及终端操作,表明找到了对象,搜索已经结束。我们系统的一个特殊性是,每个运动动作只能从预定义的层次结构在区域之间自上而下转移注意力。通过在每个观察到的边界框上定义五个子区域来构建层次结构:四个四分之一在框上分布为2x2,以及一个中心重叠区域。我们探讨了这一基本2x2方案的两种变体:第一种方案具有非重叠的四分之一(见图1),第二种方案具有重叠的四分之一(见图2),其大小为其祖先的3/4分区域。然后,有五个移动动作,每个动作都与一个黄色区域相关。另一方面,如果选择了终端动作,则没有移动,并且最终区域是用蓝色标记的区域。

Reward 使用的奖励函数是Caicedo和Lazebnik[2]提出的。运动动作的奖励函数见等式1,终点动作的奖励函数见等式2。给定特定的状态s,移动的动作会得到奖励

朝向区域b',与ground truth值g的交并比(IoU)大于上一步考虑的区域b。否则,这些行为将受到处罚。对于触发动作,如果实际区域b与ground truth值的交并比大于某个阈值τ,则奖励为正,否则奖励为负。我们考虑τ=0.5,因为它是检测被认为是正的阈值,而η是3,如在〔2〕中。

 3.2 Q-learning

agent的报酬取决于在s状态下选择的动作a,由函数Q(s,a)控制,该函数可通过Q-learning进行估计。基于Q(s,a),agent将选择与最高奖励相关联的操作。Q-learning使用Bellman方程3迭代更新动作选择策略,其中s和a是当前状态,相应的动作,r是即时奖励,maxa' Q(s',a')代表未来奖励。最后γ表示折扣系数。在我们的工作中,我们通过强化学习训练的深度Q网络来近似Q函数[11]。

3.3 Model

在我们的工作中,我们研究了两种不同的视觉特征提取方法,用于训练深度Q网络。图3描述了通用强化学习网络的两种变体。

我们比较两个模型来提取定义agent状态的视觉特征:ImageZooms模型和Pool45模型。对于图像缩放模型,每个区域的大小调整为224x224,其视觉描述符对应于VGG-16的Pool5层的特征图[17]。对于Pool45 Crops模型,全分辨率图像通过Pool5层转发到VGG-16[17]。正如Girshick[6]所述,我们通过将从整个图像中提取的特征映射汇集(ROI汇集)来重用所有感兴趣区域(ROI)。与SSD[8]一样,我们根据感兴趣区域的比例选择要使用的特征映射。在我们的例子中,我们只使用Pool4和Pool5层,这是VGG-16中最后的两个池层。一旦我们从层次结构中获得了某个感兴趣的区域,我们就可以通过比较ROI的比例和特征图的比例来决定使用哪个特征图。对于较大的对象,该算法将选择较深的特征映射,而对于较小的对象,较浅的特征映射更合适。

我们比较两个模型来提取定义agent状态的视觉特征:ImageZooms模型和Pool45模型。对于图像缩放模型,每个区域的大小调整为224x224,其视觉描述符对应于VGG-16的Pool5层的特征图[17]。对于Pool45 Crops模型,全分辨率图像通过Pool5层转发到VGG-16[17]。正如Girshick[6]所述,我们将从整个图像中提取的特征映射用于所有感兴趣区域(ROl),方法是将它们池化(ROI池化)。与SSD[8]一样,我们根据感兴趣区域的比例选择要使用的feature map。在我们的例子中,我们只使用Pool4和Pool5层,这是VGG-16中最后的两个池化层。一旦我们从层次结构中获得了某个感兴趣的区域,我们就可以通过比较ROI的比例和特征图的比例来决定使用哪个特征图。对于较大的对象,该算法将选择较深的特征映射,而对于较小的对象,较浅的特征映射更合适。

用于特征提取的两个模型生成一个7x7的特征映射,该映射被馈送到架构的公共块。区域描述符和记忆向量是深度Q网络的输入,深度Q网络由两个完全连接的层组成,每个层由1024个神经元组成。每个完全连接的层后面都有一个ReLU[12]激活函数,并使用dropout[18]进行训练。最后,输出层对应于agent的可能操作,在我们的例子中为6。

3.4 Training 

在本节中,我们将解释我们选择训练Q网络的特殊性。

Exploration-Exploitation 为了利用强化学习训练深度Q网络我们使用了ε-greedy的政策,从ε=1开始,直到ε=在0.1的步长为0.1。然后,我们从随机操作开始,在每个阶段,agent都更多地依赖于已经学习的策略来做出决策。实际上,为了帮助agent学习终端动作,这在随机情况下可能很难学习,每次当前区域的IoU>0.5时,我们都会强制它。通过这种方法,我们可以加快训练。注意,我们总是进行探索,所以我们不会陷入局部极小值。

Learning trajectories 我们在训练中发现的一个事实是,我们不应该先看图像中的哪个对象。在每个时间步,agent将集中于当前区域中与其ground-truth重叠程度最高的对象。这样,目标对象就有可能在自上而下的勘探过程中发生变化。

Training parameters 深度Q网络的权重由正态分布初始化。对于学习,我们使用Adam optimizer[7],学习率为1e-6,以避免梯度爆炸。我们对每个模型进行了50个epochs的训练。

Experience Replay 如前所述,Bellman方程3从(s,a,r,s')形成的过渡中学习,这也可以称为经验。在我们的算法中,连续的经验是非常相关的,这可能导致低效和不稳定的学习,这是Q-学习中的一个传统问题。使算法收敛的一个解决方案是收集经验并将其存储在replay存储器中。此replay存储器中的随机小批量用于训练网络。我们使用了含有1000 experiences 的experience replay,批量大小为100。

Discount factor 要在长期内表现良好,还应考虑未来的回报,而不仅仅是最直接的回报。为此,我们使用Bellman方程3中的折扣报酬,其值γ=0.90。我们将gamma设置得很高,因为我们有兴趣平衡当前和未来的回报。   

4 Experiments

我们的目标检测实验使用了来自PASCAL VOC数据集的图像和注释[5]。我们在2007年和2012年的trainval测试集上对系统进行了训练,并在2007年的测试集上进行了测试。我们只对一个类别,飞机类别,进行了所有的实验,并且只考虑了目标类别的图片。这个实验使我们能够研究我们的代理的行为,并估计检测对象时必须分析的区域数量。 

4.1 Qualitative results

我们在图4中给出了一些定性结果,以显示agent在测试图像上的行为。这些结果是通过具有重叠区域的图像缩放模型获得的,因为这是产生最佳结果的模型,如以下部分所述。我们观察到,对于大多数图像,模型成功地向对象缩放,并在几个步骤中完成任务。如第二行、第三行和第四行所示,只需两到三个步骤,agent就会选择对象周围的边界框。当存在对象的小实例时,agent也会准确执行,如第一行和最后一行所示。

4.2 Precision-Recall curves

我们将分析不同训练模型的精度和召回曲线,考虑到当对象的边界框与地面真实值的交点(IoU)超过0.5时(如Pascal VOC挑战[5]所定义),可以正确检测到对象。通过对agent分析的所有区域进行排序,生成精确召回曲线。排序基于Q-network的第六个神经元估计的奖励,对应于将区域视为终端的行为

Upper bound and random baselines 我们的结果首先包括基线和上限参考,以便更好地分析。作为基线,我们已经编程了一个agent,它在每个时间步选择随机动作和检测分数。作为上限,我们利用ground truth注释手动引导我们的agent前往IoU最大的区域。这些随机基线和层次结构类型的上限的结果如图5所示。还需要注意的是,最佳上限选项甚至不能实现0.5的召回率。这种较差的性能是因为超过一半的ground truth对象不符合所考虑的候选框,因此无法在我们的框架中检测到它们。

Overlapped and non-overlapped regions 用上限法和基线法得到的结果提供了足够的信息来比较重叠和非重叠方案。重叠区域方案为上界模型和随机模型提供了更高的精度和召回值。重叠情况的这种优越性可以解释为相对于非重叠模型,空间尺度的降低较慢:

由于重叠,它们在相同大小的子区域中的划分也会产生较大的子区域。这也意味着agent将需要更多的步骤来达到较低的分辨率,但这种更精细的自上而下的探索在我们的实验中被证明是有益的,因为在下降过程中丢失一个物体的机会也较低。

Model comparison 图6比较了图像缩放模型和Pool45 Crops模型。结果清楚地表明,图像缩放模型的性能优于Pool45模型。我们假设这种性能损失是由于Pool4或Pool5层上的ROI池导致的分辨率损失。在图像缩放模型中,Pool5的7x7 feature maps直接从图像上的缩放计算得出,而在Pool45 Crops模型中,Pool4或Pool5上的区域裁剪可能小于7x7。虽然这些情况将向上采样至7x7x512输入张量至深Q-Net,但该区域的源特征图的分辨率将低于图像缩放模型中的对应图。

Models at different epochs 我们通过绘制图7中不同时期的精确回忆曲线来研究图像缩放模型的训练。正如预期的那样,我们观察了模型的性能如何随着epoch的上升而提高。

 4.3 Number of regions analyzed per object

我们的agent分析的区域数量直方图如图8所示。我们观察到,只需一步就可以找到物体的主要部分,这意味着物体占据了图像的主要部分。用不到3个步骤,我们几乎可以接近所有我们能检测到的物体。

5 Conclusions

本文提出了一种用于目标检测的深度强化学习解决方案。我们的解决方案的特点是,在智能agent的指导下,自上而下地探索区域层次结构。我们的实验表明,从一个适当的层次结构中只需要很少的建议就可以检测到对象,但是使用一组预定义的区域显然限制了召回。该问题的一个可能解决方案是使用回归器细化agent提供的近似检测,如[15]所示。最后,我们的结果表明了从卷积层裁剪区域特征的局限性,特别是在考虑小对象时。我们建议,鉴于我们的强化学习agent所考虑的候选框数量要少得多,通过网络向每个区域提供建议也是一个应该考虑的解决方案。所呈现的作品可在以下位置公开获取,以进行再现性和扩展:https://imatge-upc.github。io/detection-2016-nipsws/。

Hierarchical Object Detectionwith Deep Reinforcement Learning相关推荐

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

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

  2. 深度强化学习综述论文 A Brief Survey of Deep Reinforcement Learning

    A Brief Survey of Deep Reinforcement Learning 深度强化学习的简要概述 作者: Kai Arulkumaran, Marc Peter Deisenroth ...

  3. 【论】A Deep Reinforcement Learning Framework for Rebalancing Dockless Bike Sharing Systems

    A Deep Reinforcement Learning Framework for Rebalancing Dockless Bike Sharing Systems 摘要 自行车共享为旅行提供了 ...

  4. 深度强化学习—— 译 Deep Reinforcement Learning(part 0: 目录、简介、背景)

    深度强化学习--概述 翻译说明 综述 1 简介 2 背景 2.1 人工智能 2.2 机器学习 2.3 深度学习 2.4 强化学习 2.4.1 Problem Setup 2.4.2 值函数 2.4.3 ...

  5. 基于深度强化学习的车道线检测和定位(Deep reinforcement learning based lane detection and localization) 论文解读+代码复现

    之前读过这篇论文,导师说要复现,这里记录一下.废话不多说,再重读一下论文. 注:非一字一句翻译.个人理解,一定偏颇. 基于深度强化学习的车道检测和定位 官方源码下载:https://github.co ...

  6. 18 Issues in Current Deep Reinforcement Learning from ZhiHu

    深度强化学习的18个关键问题 from: https://zhuanlan.zhihu.com/p/32153603 85 人赞了该文章 深度强化学习的问题在哪里?未来怎么走?哪些方面可以突破? 这两 ...

  7. 【论文笔记】Deep Reinforcement Learning Control of Hand-Eye Coordination with a Software Retina

    目录 Abstract Keywords 1. INTRODUCTION 2. BACKGROUND A. Software Retina B. Deep Reinforcement Learning ...

  8. Deep Reinforcement Learning with Knowledge Transfer for Online Rides Order Dispatching

    用于在线乘车订单调度的知识转移深度强化学习 Zhaodong Wang ∗† Zhiwei (Tony) Qin ∗‡ Xiaocheng Tang ∗‡ Jieping Ye § Hongtu Zh ...

  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. 浅谈深度学习混合精度训练
  2. speedtorch 加速神经网络
  3. 通用机器学习流程与问题解决架构模板
  4. Oracle创建命名空间和新用户
  5. 2020-12-7(字节,半字,字,双字总结)
  6. mysql 数据库编译安装_mysql 数据库 编译安装(千峰)
  7. C语言中指针的基类型,c – 将指针从一种基类型转换为另一种基类型
  8. “我xx岁了,想学软件测试,现在转行来得及吗?”别再问了,这篇文章终结此类问题
  9. 2020年使用最多的大数据分析工具
  10. 抽象高于实现 ——unity框架提取
  11. java中数组操作常见的三个错误
  12. Skyline软件二次开发初级——9如何在WEB页面中的三维地图上进行交互
  13. Rasa课程、Rasa培训、Rasa面试系列之: Rasa客户案例T-Mobile电信公司
  14. java导出excel锁定状态_Java设置excel单元格锁定状态 | 学步园
  15. JAVA计算机毕业设计民航售票管理系统(附源码、数据库)
  16. JS判断今天是礼拜几
  17. 好佳居软装十大品牌 掌握新中式软装风格
  18. ER图练习(住院病人信息管理系统)
  19. 交通系统速度预测综述:从车辆到交通【公共交通数据集】【开源模型整理】
  20. php_uname()函数

热门文章

  1. 【Unity 实用工具】 Unity 十款 浏览器相关插件 整理(web view browser)
  2. 小白aircrack-ng实战篇
  3. PHPStorm运行PHP代码(新手教程)
  4. P003-PHP代码审计基础-审计方法与步骤-框架与结构
  5. 怀恩(电商)告诉你如何去开直通车 新手必备干货
  6. 优派VX2778-2K-HD-2 评测
  7. 韩山师范学院计算机考试,韩山师范学院大一计算机考试题库中的选择题-1 (必考)...
  8. setTimeout代替setInterval
  9. mysql derived2、Using temporary 和 Using filesort 优化记录
  10. java没有提供将字符流_JAVA字符流为什么没有把文件复制?