区域卷积神经网络(R-CNN)

特点:慢,但准确度高

  • 使用启发式搜索算法选择锚框
  • 使用预训练模型来对每个锚框抽取特征,如vgg
  • 训练一个SVM来对类别分类
  • 训练一个线性回归模型来预测边缘框偏移

问题:每个锚框大小不一,怎样作为一个batch输入呢?

方法:兴趣区域(RoI)池化层

给定一个锚框,均匀分割成n*m块,输出每块里的最大值,不管锚框多大,总是输出nm个值

改进:Faster RCNN

锚框太多,每次都提取特征,太慢了?

Fast RCNN:对整个图片抽特征,再对fature map进行锚框抽取

改进:Faster R-CNN

用区域提议网络(RPN)来替代启发式搜索来获得高质量的锚框(相当于非常粗糙的目标检测)。

改进:Mask R-CNN

  • 如果数据集有像素级别的标号(能把物体轮廓勾勒出来),使用FCN (全卷积网络)利用这些信息。
  • ROl进行改进,使适应像素级标号。

单发多框检测(SSD)

与R-CNN区别:没有RPN网络,更快,但精度下降

  • 每个像素,生成多个 以他为中心的锚框
  • 一个基础网络抽取特征,然后多个卷积层块来减半高宽
  • 在每段都生成锚框

    • 底部用来拟合小物体,顶部段来拟合大物体
  • 对每个锚框都预测类别和边缘框

总结

  • SSD通过单神经网络来检测模型
  • 以每个像素为中心的产生多个锚框
  • 在多个段的输出上进行多尺度检测

YOLO

  • SSD中锚框大量生成,浪费了很多计算

  • YOLO将图片均匀分成S*S个锚框

  • 每个锚框预测B个边缘框