Yolo系列(2)--Yolov2

1.背景

由于Yolov1网络效率低,对于小物体和密集群体检测效果差,也得益于Faster RCNN先验框的启发,Yolov2基于Yolov1的基础上产生了。

2.基本概念

1.Multi-Scale Training(多尺度训练)
Yolov2整个网络采用卷积层和池化层,并无全输出层,因此并没有图片尺度大小的限制。
由于输入图片一般为416416,五次池化后,变为1313。因此,输入图像基本为32的倍数。这种网络训练方式使得相同网络可以对不同分辨率的图像做检测。
在输入size较大时,训练速度较慢,在输入size较小时,训练速度较快,而multi-scale training又可以提高准确率,因此算是准确率和速度都取得一个不错的平衡。
2.Anchor Boxes(先验框)
YOLOv1是利用全连接层直接预测bounding box的坐标,导致丢失较多的空间信息,定位不准。将输入图像分成77的网格,每个网格预测2个bounding box,一共只有772=98个box。
YOLOv2则借鉴了Faster R-CNN的思想,引入anchor。输出feature map大小为13
13,每个cell有5个anchor box预测得到5个bounding box,一共有13135=845个box。增加box数量是为了提高目标的定位准确率。
3.Dimension Clusters(维度聚类–先验框尺度初始化)
Faster R-CNN中anchor box的大小和比例是按经验设定的,然后网络会在训练过程中调整anchor box的尺寸。如果一开始就能选择到合适尺寸的anchor box,那肯定可以帮助网络更好地预测。
所以作者采用k-means的方式对训练集的bounding boxes(groundTruth)做聚类,试图找到合适的anchor box。传统的K-means聚类方法使用的是欧氏距离函数中,较大的boxes会比较小的boxes产生更多的error,聚类结果可能会偏离。为此,作者采用的评判标准是IOU得分(也就是boxes之间的交集除以并集),这样的话,error就和box的尺度无关了,最终的距离函数为:
在这里插入图片描述
4.Direct location prediction(定位精度–先验框尺度及中心点更新)
网络在最后一个卷积层输出1313的feature map,有1313个cell,每个cell有5个anchor box来预测5个bounding box,每个bounding box预测得到5个值。分别为:tx、ty、tw、th和to(类似YOLOv1的confidence)

Yolo系列(2)--Yolov2_第1张图片

3.网络结构

YOLO v2中,作者采用了新的分类模型作为基础网络,那就是Darknet-19。
Yolo系列(2)--Yolov2_第2张图片
Yolo系列(2)--Yolov2_第3张图片
1.Fine-Grained Features(细胞粒特征,多尺度特征融合)
直通层(passthrough layer)利用Resnet网络中的跳跃连接把前一层的输出特征图与本层进行连接,可以有效的检测小目标。论文中,对于2626512的特征图,经passthrough层处理之后就变成了13132048的新特征图(特征图大小变为1/4,而通道数变为以前的4倍),然后与后面的13131024特征图连接在一起形成13133072的特征图,最后在该特征图上卷积做预测。
2.Batch Normalization(批归一化)
使网络收敛的更快,消除可能存在的梯度问题。

4.推荐

Yolov2的改进:Yolov2较于Yolov1优势之处
Yolov2的训练:Yolov2实验过程

你可能感兴趣的:(Yolo系列)