区域卷积神经网络(region-based CNN或regions with CNN features,R-CNN)
- 使用启发式搜索算法选择锚框
- 使用预训练模型对每个锚框抽取特征
- 训练SVM对类别分类
- 训练线性回归模型用于预测边缘框偏移
--引入ROI池化层
- 给定锚框。均匀分割成m×n块,输出每块里的最大值
- 所以可以对不同大小的锚框,都总输出nm个值
Fast-RCNN
对整张图片用CNN提取特征,然后再使用ROI池化层,对每个锚框生成固定长度的特征。(例如,在图像中生成了100个锚框,ROI池化层为2×2的,最后经过初步特征提取后输出100*4的向量)
用CNN生成特征图,再根据原始锚框的位置,在其在特征图上的映射确定位置,再在特征图上进行ROI池化
Mask-RCNN
如果在训练集中还标注了每个目标在图像上的像素级位置,那么Mask R-CNN能够有效地利用这些详尽的标注信息进一步提升目标检测的精度。(利用FCN来利用像素信息)
Mask R-CNN将兴趣区域汇聚层替换为了 兴趣区域对齐层,使用双线性插值(bilinear interpolation)来保留特征图上的空间信息,从而更适于像素级预测。 兴趣区域对齐层的输出包含了所有与兴趣区域的形状相同的特征图。
单发多框检测(SSD) one-stage
接近顶部的多尺度特征图较小,但具有较大的感受野,它们适合检测较少但较大的物体。 简而言之,通过多尺度特征块,单发多框检测生成不同大小的锚框,并通过预测边界框的类别和偏移量来检测大小不同的目标,因此这是一个多尺度目标检测模型。
- 用一个基础网络提取特征,再利用多个卷积层块来减半高宽
- 在每段都生成锚框
- 底部拟合小物体
- 顶部拟合大物体
- 对每个锚框预测类别和边缘框
YOLO
- SSD中锚框大量重叠了,浪费很多计算量
- YOLO将图片均匀分成S×S个锚框
- 每个锚框预测B个边缘框(GT)
- 通过聚类,结合先验知识进行优化
- 每一代都有不同程度的优化 YOLOV3-论文比较随性,可以看看~