目标检测学习-Faster R-CNN

目标检测学习-Faster R-CNN

  • R-CNN的问题
  • Faster R-CNN的结构
  • Rigion Proposal Network(RPN)
  • 总结

R-CNN的问题

上篇说过了R-CNN存在的问题就是候选区域的时间瓶颈,毕竟用Selective Search是CPU进行的,无法用GPU处理,所以Faster R-CNN在这里入手了,把这个候选的过程让神经网络去做。

Faster R-CNN的结构

Faster R-CNN的结构分为两部分,一部分是RPN网络,主要是替代Selective Search,希望用神经网络来选取候选区域,解决速度瓶颈问题,另一部分是分类和回归网络,和R-CNN并无太大差不别,主要还是讲一下RPN层。
目标检测学习-Faster R-CNN_第1张图片

Rigion Proposal Network(RPN)

候选区网络,就是用来选取候选框的,其实思路很简单,在CNN最后一层的特征图下手,在这里面去选择候选区,用nxn的滑动窗口去做提取,比如3x3的窗口,这样就有9个像素点,但是这里的是特征图的像素点,每个像素点对应的原图有个感受野区域(特征图对应的原图的区域):
目标检测学习-Faster R-CNN_第2张图片

在感受野区域的中心为基准点,分别用3种不同尺寸(128x128,256x256,512x512),不同比例(1:1,1:2,2:1)的窗口进行选取候选框,红色的为128,绿色为256,蓝色为512,三种不同尺寸的不同比例框:
目标检测学习-Faster R-CNN_第3张图片

然后选出来之后要进行是否有物体分类,和候选窗的回归,主要还是判别分类,回归再后面具体分类的网络有更好的回归修正。论文里的结构图:
目标检测学习-Faster R-CNN_第4张图片
上面的图就是说,在一个3x3的滑动窗口中对应的特征像素点在原图中有感受野区域,找到这个区域的中心,然后取k个不同的窗口,就是上面说的9个不同尺寸和比例的窗口,然后进行分类和回归,上面的cls layer就是分类,这里的分类是分是否有物体,还没到具体是什么类别,只是先检测是否是物体,所以要给出两个分数,比如物体为1,非物体为0,具体分类的方法是根据窗口跟ground truth的交并比。又因为有k个不同的窗口,每个所以就是2k个分数。至于reg layer是窗口坐标的回归,想要更加精准一点,每个框4个坐标,所以总共4k个。然后通过分类和回归之后,得到了一些相对准确的候选框给后续的分类和回归网络进行进一步的处理。

总结

其实Faster R-CNN解决了候选框的陪瓶颈问题,速度有所提升,精度也不错,当然里面还有很多细节的东西值得学习,最好还是看论文啦,所以后面有时间会开始看具体细节,最近的几篇文章只是对RCNN系列了解个大概,算入个小门吧,真正搞懂这些思路和原理才是重要的,加油吧。

好了,今天就到这里了,希望对学习理解有帮助,大神看见勿喷,仅为自己的学习理解,能力有限,请多包涵,图片来自网络,侵删。

你可能感兴趣的:(机器学习,目标检测,计算机视觉,深度学习)