目标检测学习-R-CNN
选择性搜索(Selective Search)
要讲R-CNN之前,还得先说下这个算法,这个就是用来代替上篇文章讲的滑动窗口法。因为滑动窗口法效率太低了,是种暴力穷举的方法,所以有人就想能不能有点针对性的去找一些框啊,所以就有了选择性搜索。
简单思路
思路就是,把可能存在物体的区域给找出来,因为存在物体的区域会有一些相似性或者连续性,而且在颜色,纹理上会有一定的特征相似吧,所以就根据这些把图片分成很多个小组,把相似的组合并,从小的组合并成大的组,在合并的过程中,就可以出现很多个合并区域,给每个区域做个矩形窗口啦,这些窗口就是比较有针对性的窗口,也就是让他给我们一些物体位置的建议,这种方法统称为Region Proposal候选区,后面会降到Fast R-CNN有个RPN网络,就是来替代选择性搜索,毕竟选择性搜索也有待优化,后面会讲,来看看这个过程的效果图,就是从最底层最分散的组开始合并到最顶层的,中间可以产生很多窗口,大小都有:
R-CNN
为什么有个R,就是基于Region,也就是他用了选择性搜索,据说实验找出了2000个窗口,然后每一个都用经典CNN网络做迁移学习之后的网络提取特征,然后用SVM分类,非极大抑制,再用回归来调整窗口。具体的细节当然可以看论文和代码比较好,我就不多讲了,来看两个结构图吧:
可以比较滑动窗口的结构,貌似很像,就是窗口选择不一样。
一些问题
1.每个窗口都进行性了一次卷积提取特征的操作,非常耗时。
2.送入卷积里的窗口图片需要固定大小,因此会对窗口进行缩放,可能对特征提取有影响。
3.提取候选框,卷积提取特征,每个类别要训练一个分类器,然后训练一个边框回归器,这三部分是分开的,没办法一起端到端训练。
好了,今天就到这里了,希望对学习理解有帮助,大神看见勿喷,仅为自己的学习理解,能力有限,请多包涵,图片来自网络,侵删。