2016CVPR的文章,从结构上来看和一般的强化学习 似乎有一些不一样。
在给定一张图像的情况下(目标区域蕴含在当前图像中)我们需要从图像的子区块中找到和目标区块最接近的子区块。图像的子区块可以使用简单的bounding-box,也可以使用现在比较新的建议生成方法(我们仅对bounding-box的情况进行讨论,子区块的
选择方式并不影响算法效果)
检测整体流程如图。从当前检测区域的状态描述 St 开始,分类器会对当前状态进行评估并给出终止信号。如果终止信号0,则选取新的evidence region( et )并以 et 为参考输出下一步需要执行的动作,并观察执行效果得到新的状态。如果终止信号为1,说明当前区域包含有需要检测的目标,此时将依据信度最高的窗口执行选定bounding box的动作。并退出迭代。
下面,我们将就流程中的每一个状态模块进行介绍。
当前状态 St 是由观测区域的历史记录 Ht ,选择的证据区域(evidence region)的历史记录 Et 以及修订历史(fixation history) Ft 决定。
Ht :搜索区域的历史记录,每个搜索窗口都会计算对应的置信度。并且作为证据区域的候选区域。
Et :模型使用选择验证区域来决定下一步要探索的区域。其是在搜索区域的历史记录中选择出来的,为了保证选择多样性,所有的选择验证区域只能够最多被使用一次。所以 Et 实际上是记录被使用过的区域的集合
Ft :搜索动作的历史记录
终止信号是由当前搜索状态产生的,其表达式为:
Adt=(done,bt,ct) ,其中 bt 依然为目标标签, ct 为当前的区域为目标区域的置信度
终止信号为1时即执行终止动作,终止动作将依据搜索的历史记录计算目标的包围盒(bounding box),并计算响应最高的搜索窗口及其信度。
修订(fixate)动作被记为: Aft=(fixate,et,zt) ,其中 et∈B 表示验证区域的下标。 zt∈R 表示下一步探索区域在图像中的位置。
当系统判断搜索没有终止的时候,系统会从以往的搜索历史中(若该窗口曾经作为验证区域使用过,则重新选择)寻找信度最大的窗口 et 作为验证区域,并通过该验证区域计算下一步应该执行的动作。
一旦选择了某个窗口作为验证区域,该区域会被用来决定一个下一步应该执行动作 zt 的高斯分布。
有:
每个迭代周期,系统会最终得到搜索的区域 bt 以及可信度 ct
在学习阶段,我们希望通过一系列的图像(记作 Bj ),随着信度方程 fc 得到最高信度区域。我们希望找到一组系数 θ=(θc,θd,θe,θp,∑p,σc) 来最大化寻找到区域的似然度。与此同时,我们希望最小化搜索区域,避免因为搜索区域增加而引起的搜索负担。最终我们的reward设置为:
这些问题的详细表述在同一团队15年的论文【Multiple Instance Reinforcement Learning for Efficient Weakly-Supervised Detection in Images】中。
判断各个区域是否存在内在的联系,从标注的角度来理解,其很难进行有效的数据标注。而且很多数据集并没有训练目标的ground truth。所以文章提出了采用眼动轨迹的方法来间接描述各个部分的似然度。根据实验,文献指出眼动仪的轨迹有30%的凝视数据刚好处于真实的目标区域中。文章希望利用这作为一个弱分类器的指标,得到画面到目标的似然度函数。