在目标检测、目标跟踪领域,提取region proposal都是最基本环节。本文概述了从 sliding window 到 selective search, 然后升级到 region proposal network的过程。 核心在于理解 selective search算法 和 region proposal network的设计思想。
1. 从sliding window 到 selective search 的候选区域提取
- 目标检测 vs. 目标识别
![直接作为图像识别算法的输入](https://i-blog.csdnimg.cn/blog_migrate/d4fb6c746e243a9550a821f3f2e3e9fb.jpeg)
目标识别算法是指在一张给定的图像中识别出给定的物体。他将整张图像作为输入,然后输出类别的标签并给出图像中出现物体的概率。如上图,直接输入objection recognition算法中,算法会反馈图像的类别dog, confident score 0.9987.
![](https://i-blog.csdnimg.cn/blog_migrate/7d8f2be486ac119d2181671ca2584143.jpeg)
目标检测任务不仅仅要返回图像中主要包含那些物体,而且还要返回该图像中包含了多少物体? 他们在哪里(一般用BoundingBox进行标注)?
目标识别算法是所有目标检测算法的核心。假设我们已经拥有了非常强大的目标识别算法,但是该算法也仅仅能够告诉我们目标(如狗)是什么, 却不能告诉我们目标在哪里? 有多少个目标?
为了完成目标检测任务,我们需要选择一个更小的区域(sub-regions,patches),然后利用目标识别算法去识别各个patches是否包含high confident score的objections。
因此,一个非常基础但很重要的环节在于:如何从一张图像中又快又好地提取出这样的patches?其实最直接的方法提取region proposal(候选区域)的方式就是采用滑窗方法。但是sliding window方法非常消耗时间,因此研究学者提出了基于selective search策略的区域候选算法。
note1:提取patches算法更学术一点叫做region proposal algorithm
note2:好,指的是patches中尽可能恰好包括objects
note3:快,指的是有效速度。因为不同目标之前存在位置和尺度差异,如果采用遍历法,明显就是不合理的。
- Sliding window 滑窗技术
![](https://i-blog.csdnimg.cn/blog_migrate/96bd67aa5b355b1fa9bf46ee755eed3c.gif)
使用sliding window方法中,我们使用window对整幅图像进行遍历,然后利用目标识别算法所有的patches进行检查。这实际上就是一个穷举的过程。此外,在遍历搜索过程中,我们不仅仅要遍历单个尺度的window,还有对多尺度的window进行检测。 因此,sliding window策略是非常消耗时间的。还有就是,sliding window算法对固定比例patches提取非常适合,但是由于projection的时间原因,固定的比例是很难保证的。 如果要将不同比例考虑进去,sliding window的时间效益又将大打折扣。
- region proposal algorithm
![](https://i-blog.csdnimg.cn/blog_migrate/6b93cd19d044aca08903465a89958170.jpeg)
sliding window (受平移、尺度、比例影响)存在的根本问题就是漫无目的性的搜索, 恰恰region proposal algorithm就是为了解决这个问题。候选区域提取算法将图像作为输入,并输出边界框BoundingBox,该边界框对应于图像中最有可能是对象的所有patches。这些BoundingBox可能存在噪声、重叠,也可能偏离了目标,但是大多数候选区域应该与图像中的目标非常接近。这样,我们在后面直接对这些BoundingBox进行目标识别就好了。 在所有的region proposal algorithms中, selective search based 非常有代表性(快,有很高的召回率recall),进而提取BoundingBox。
- selective search