目录
(2) RCNN → Fast RCNN → Faster RCNN
(5) YOLO v1 → YOLO v2 → YOLO v3
(6) FPN、RetinaNet、Mask R-CNN、YOLOv3
(1) RCNN与SPP的比较
-
SPP-net提出了SPP层(空间金字塔池化层,Spatial Pyramid Pooling),使得输入的候选框可大可小,解决了R-CNN区域候选时crop/warp(裁剪和放缩)带来的偏差问题
-
卷积网络对尺寸并没有要求,固定尺寸的要求完全来源于全连接层部分,借助空间金字塔池化的方法来衔接两者(卷积层和全连接层)
-
如:3种池化视图,分别是{4∗4,2∗2,1∗1},最后不管候选框大小如何,输出的特征数都一样
-
-
但其他方面依然和R-CNN一样,因而依然存在不少问题,这就有了后面的Fast R-CNN
(2) RCNN → Fast RCNN → Faster RCNN
-
RCNN:区域候选(选择性搜索)、特征提取(卷积网络)、分类(SVM)、位置精修(回归方法)
位置回归:学习目标框相对于真实框的平移参数和缩放参数
(1) 先得到候选区域,再对每个候选区域提取特征 (与传统方法相比,用选择性搜索而非滑动窗的穷举法)
缺点:重复计算(几千个候选区域存在重叠)、训练的空间和时间代价很高、慢
-
-
1. 训练分多个阶段
-
2. 每个proposal都要计算convNet特征,并保存在硬盘上。
-
-
Fast R-CNN:区域候选(选择性搜索)、特征提取+分类+位置精修(神经网络)
-
先得到整幅特征图,在对候选区域进行处理,减少重复计算 (候选区域仍由之前的方法得到,故速度还是很慢)
-
把多个任务的损失函数写到一起,分类与位置精修同时执行(用统一的全连接层),节省了时间,并与特征提取一起融合到一个网络里面,无需像RCNN那样中间存储特征供后续SVM使用,节省空间
-
用到了SPP的思想(ROI pooling层),无需像R-CNN那样对ROI区域放缩,可以一定程度上提升准确率
-
-
Faster R-CNN:区域候选+特征提取+分类+位置精修(神经网络)
-
提出了RPN(区域候选网络),代替选择性搜索生成候选区域,将四个步骤融合到一个网络里面
-
这里生成的候选区域即滑动窗口的卷积实现,虽然候选区域算一种穷举,但是是并行生成的,而非传统方法中的串行进行,且共享了特征提取时的很多计算,故速度还是有很大提升。通过共享卷积,RPN在测试时的速度约为10ms,相比于selective search的秒级简直可以忽略不计。
-
RPN的作用:RPN在卷积层后增加滑动窗口操作以及两个卷积层完成区域候选功能,第一个卷积层将特征图每个滑窗位置编码成一个特征向量,第二个卷积层对应每个滑窗位置输出k个区域得分和k个回归后的区域候选
-
-