这2天课程讲解的是RCNN系列的二阶段检测模型系列:RCNN / fast-RCNN / faster-RCNN,以及后续其他在此上的改进,如:Cascade R-CNN; Libra R-CNN 等。
其实自己原来看了一些文章学习RCNN,但是总有些地方没彻底搞懂。本次课程,老师讲解得非常清楚,特别适合我当前的学习阶段的解疑。所以,我就在此记录一些我觉得非常有收获的地方,相信对于和我差不多的同学特别有参考价值。
1) 两阶段的发展历程。【老生常谈了,不展开记录了】
RCNN , SPPNet, Fast RCNN, Faster RCNN, Pyramid Networks,
2)RCNN: 把传统检测方法中的HOG/Haar 特征提取部分,改成深度学习CNN网络来提取特征; 使用图像分类的模型;使用Selective Search提取2000个候选区域;然后使用SVM进行分类;
3)Fast-RCNN:特征图一次生成,不需要针对每一个候选框算一遍; 使用RoI Pooling的方法把不同大小不同形状的特征矩阵 统一生成相同的特征向量;SVM也被替换成 softmax->class; regressor-> bbox;
4)Faster-RCNN:使用RPN( Region Proposal Network )替代 Selective Search,提取候选区域;(fast 中 search search还是从原始图像出发,RPN 是先得到整张特征图,通过特征图和 AnchorBox,得到一大群候选特征向量,使用 分类网络和bbox回归 得到带有前景的bbox,然后使用NMS进行候选框提取)
5)Faster-RCNN原理仔细展开说明:
5-1)先生成一堆锚框:
5-2)根据锚框,从特征图中切取局部特征输入,直接学习 是否前景;坐标回归 (bbox位置和大小调整);
这样就可以得到候选bbox,根据得分大小和NMS;
目标函数,loss计算:
5-3)得到了大量的备选框后,下面进行各类过滤,得到Proposal框:
5-4)拿到一堆的候选框了,现在进入第二阶段:
先进行RoI Pooling,
第二阶段,真值计算:(对于每一个bbox,4个值确认是否属于各类别;4(类数据)*4(tx,ty,tw,th)个bbox微调输出)
6)Faster-RCNN 改进策略
6-1)FPN:
就是说,不同面积的框,去不同层去匹配。这个应该是合理的。
7)Cascade R-CNN
7) 优化策略的改进
课程回顾:
本文链接:http://task.lmcjl.com/news/5650.html