faster RCNN 快速理解

今天复习详细读了Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks,大致简单梳理下

 

rcnn 到fast rcnn 到 faster rcnn演变:https://www.cnblogs.com/skyfsm/p/6806246.html

简单说就是这一类都是在一张图中取多个候选图,然后对候选图片做内容分类及类别成立概率,同时加上框的回归微调。

主要在选框(用选择性搜索)上浪费性能,每个图还要单个通过卷积,非常浪费(本质上还是一个一个图片分类和微调回归),最后还用svm来做分类,比较复杂。

所以fast统一直接全图卷积处理(之前是每张小图过一遍,几千次呀my god),选框依旧用的选择性搜索(流出坑来,不然faster rcnn怎么继续优化?),然后通过经典的ROIpooling(就是根据候选图在原图比例等比例在feature map上画框,然后等分做maxpooling 具体详见https://blog.csdn.net/u011436429/article/details/80279536)处理后进行分类回归处理

faster rcnn 则是选择性搜索太耗时,我也用神经网络替代,用一个叫RPN的网络(所以现在是RPN RCNN两个网络相辅相成,相濡以沫!),先训练取框,然后训练rcnn本体,然后再在rcnn的前卷积层保留下再训练取框,最后再微调rcnn(其实还可以继续循环迭代,不过论文说继续循环迭代下去效果没有提升)

faster RCNN 快速理解_第1张图片

RPN主要就是分类这是主体还是背景做分类损失,框长宽大小做回归损失,基于每个anchor(特征图上的位),并且预设几种可能的图像形状,

faster RCNN 快速理解_第2张图片

faster RCNN 快速理解_第3张图片

就可以训练RPN了,剩下ROI套进RCNN,并用分类和框iou做损失跟原先一样

具体更详细的可以参看  

https://blog.csdn.net/liuxiaoheng1992/article/details/81843363

https://blog.csdn.net/zziahgf/article/details/79311275

比较有趣的是其实验,在多次实验中有很多发现,实验发现用VGG ZF net做预训练非常好,其次RPN候选图太多并不能提升效果(所以只取几百个),还有RPN 确实比选择性搜索效果更好,性能更快。还有就是为什么要两种损失来训练RPN呢?实验中抛弃两个中任何一个实验效果都会变差,而且(RPN 和RCNN)两网络不共享参数也会变差,这可是玄学得出来的真理,要尊重玄学。。。。。

faster RCNN 快速理解_第4张图片

你可能感兴趣的:(神经网络回归)