R-CNN:
过程:
- 先用Selective Search提取候选框
- 然后将候选框强制到227*227
- 之后用AlexNet提取特征
- 最后将特征用SVM分类
优点:
- 相对于传统方法用HOG或者SITF提取特征,本文用CNN来提取特征
缺点:
- 两千多个候选框分别送入CNN提特征,时间消耗大
- 三个阶段分开训练,中间数据还要保存,空间消耗大
Fast R-CNN:
过程:
- 将整张图送入CNN提取特征图
- 用Selective Search提取候选框,并在映射到特征图上
- 借鉴SPP的思想,用ROI pooling将不同尺度的FM转换成固定尺度的特征
- 用FC做分类和回归
优点:
- 相对于R-CNN,用softmax取代SVM做分类,提出多任务loss
- 用ROI pooling将不同尺度的ROI得到固定尺度的输出
缺点:
- 用SS提取候选框耗时
Faster R-CNN
过程:
- 对整张图送入CNN提取FM
- 在FM上使用RPN,在每个像素点设置9个anchor,并用softmax筛选正负anchor
- 然后对筛选的anchor做回归分类
优点:
- 提出RPN网络和anchor机制,解决了SS的问题
缺点:
- Two-stage仍然无法达到实时
YoloV1:
优点:
- 相对于R-CNN使用候选框,yolo直接把目标检测看作是回归问题,在CNN里对整张图直接做回归和分类。
- 将CNN提取的FM划分为S*S个网格(7*7),每个网格预测B个bbox的位置(x、y、w、h)、置信度(confidence为交并比)、类别概率。
缺点:
- 输入尺度固定,不能处理多尺度输入
- 每个像素点预测两个box,检测目标过少
- 多次下采样特征损失
- 虽然速度快,但识别率不高
YoloV2:
- 检测类别数从20到9000
- 使用BN,避免梯度消失,加速收敛
- 用高分辨率图像训练分类网络
- 借鉴RPN的anchor boxes,有先验知识,预测更快
- 用k-mean聚类算法,让模型自动选择更合适的先验框长、宽
- 将预测的偏移量限制在一个网格范围内,模型更稳定
- 网格为每个bbox预测5个偏移量:tx,ty,tw,th,to
- 提出passthrough层,有利于小目标检测
- 多尺度输入图像进行训练
YoloV3:
- YOLO3采用了称之为Darknet-53的网络结构(含有53个卷积层),它借鉴了残差网络residual network的做法,在一些层之间设置了快捷链路
- 采用了3个不同尺度的特征图来进行对象检测
- 9种尺度的先验框
SSD:
- 在CNN中六层不同尺度的FM上生成anchor,然后将anchor结合做NMS
优点:
- 结合Yolo和Faster R-CNN更快更准,大尺度FM检测小目标,小尺度FM检测大目标
缺点:
- 对小目标检测仍然不好