YOLO系列
·YOLO-V1
经典的one-stage方法
You Only Look Once,名字就已经说明了一切!
把检测问题转化成回归问题,一个CNN就搞定了!
可以对视频进行实时检测,应用领域非常广!
核心思想
分格字
网络架构
每个数字的含义
10 =(X,Y,H,W,C)*B(2个)
当前数据集中有20个类别
7*7表示最终网格的大小(S*S)*(B*5+C)
损失函数
·NMS(非极大值抑制):
·YOLO-V1:
优点:快速,简单!
问题1:每个Cell只预测一个类别,如果重叠无法解决
问题2:小物体检测效果一般,长宽比可选的但单一
·YOLO-V2:更快!更强!
·YOLO-V2-Batch Normalization
V2版本舍弃Dropout,卷积后全部加入Batch Normalizatio
网络的每一层的输入都做了归一化,收敛相对更容易
经过Batch Normalization处理后的网络会提升2%的mAP
从现在的角度来看,Batch Normalization已经成网络必备处理
·YOLO-V2-更大的分辨率
V1训练时用的是224*224,测试时使用448*448可能导致模型水土不服,V2训练时额外又进行了10次448*448的微调
使用高分辨率分类器后,YOLOv2的mAP提升了约4%
·YOLO-V2-网络结
DarkNet,实际输入为416*416
没有FC层,5次降采样(13*13)
1*1卷积节省了很多参数
·YOLO-V2-聚类提取先验框
faster-rcnn系列选择的先验比例都是常规的,但是不一定完全适合数据集
K-means聚类中的距
·YOLO-V2-Anchor Box
通过引入anchor boxes,使得预测的box数量更多(13*13*n)
跟faster-rcnn系列不同的是先验框并不是直接按照长宽固定比给定
召回率提高
·YOLO-V2-Directed Location Prediction
bbox:中心为(xp,yp);宽和高为(wp,hp),则:
tx=1,则将bbox在x轴向右移动wp;tx=−1则将其向左移动wp
这样会导致收敛问题,模型不稳定,尤其是刚开始进行训练的时候
V2中并没有直接使用偏移量,而是选择相对grid cell的偏移量
感受野:概述来说就是特征图上的点能看到原始图像多大区域。
如果堆叠3个3*3的卷积层,并且保持滑动窗口步长为1,其感受野就是7*7的了,这跟一个使用7*7卷积核的结果是一样的,那为什么非要堆叠3个小卷积呢?感受野更大,特征提取更明显
假设输入大小都是h*w*c,并且都使用c个卷积核(得到c个特征图),可以来计算一下其各自所需参数:
很明显,堆叠小的卷积核所需的参数更少一些,并且卷积过程越多,特征提取也会越细致,加入的非线性变换也随着增多,还不会增大权重参数个数,这就是VGG网络的基本出发点,用小的卷积核来完成体特征提取操作。
·YOLO-V2-Fine-Grained Features
最后一层时感受野太大了,小目标可能丢失了,需融合之前的特征。
·YOLO-V2-Multi-Scale
都是卷积操作可没人能限制我了!一定iterations之后改变输入图片大小。
最小的图像尺寸为320 x 320。
最大的图像尺寸为608 x 608。