CV基础1——R-CNN,SSD,YOLO介绍
区域卷积神经网络(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个边缘框
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 魔法使いの秘密基地!
评论