YOLO v2

YOLO系列(二)——YOLO v2



前言

该系列为博主自主学习YOLO系列的自我总结。本篇是对YOLOv2进行一个总结和分析。论文主要从三个方面阐述了YOLOv2的改进,分别是:Better、Faster、Stronger。本文也主要是从这三个点来进行总结归纳。


一、设计原因

为了弥补YOLOv1的定位准度不高的缺点,YOLOv2随之诞生。YOLOv2相对于YOLOv1来说,在保证分类精度的同时,着重提醒召回率(recall)和定位(location)。召回率=正确检测出来的类别图片数/该类别图片总数。


二、Better

(1)Batch Normalization

Batch Normalization加在每一个卷积层之后,在添加了BN层之后就可以把Dropout层去掉。这样可以在模型加速收敛的同时,进一步避免过拟合。

(2)High Resolution Classifier

通常来说,将输入图片的分辨率提高有助于提升特征提取的效果。但是如果在输入端提升分辨率,就需要在分类器上也进行分辨率的提升。YOLOv2就是在前10个epoch中将ImageNet的分辨率提升至448×448来适应输入图片的高分辨率。

(3)Convolutional With Anchor Boxes

YOLOv1利用全连接层直接对边界框坐标进行预测,导致丢失较多空间信息,定位不准。 YOLOv2采用了anchor boxes对偏移量进行预测,而不是直接预测坐标,这使得网络更容易进行学习。再者,YOLOv2将池化层移除,这可以让网络的输出获得更高的分辨率。将原来的448×448的输入图像分辨率改为416×416,这是为了让输入图像尺寸经过5次下采样之后变为奇数,好得到一个中心点。416 / 2^5=13,13就是输出特征图的高宽。
在使用anchor boxes之后mAP有小幅度的下降(0.3%),但是recall召回率得到7%的提升。

(4)Dimension Clusters

YOLOv1在找先验框时,采用的是手动选取。YOLOv2采用k-means聚类算法对训练集的边界框分析,用boxes之间的IOU值作为聚类指标。在平衡模型复杂度和召回率的基础上,聚类中心取值为5,得到5个先验框,发现其中中扁长的框较少,而瘦高的框更多。

(5)Direct location prediction

在使用anchor boxes预测边界框时,边界框的偏移有可能很大,预测边界框会往任意方向偏移,这导致模型不稳定。为了避免这一问题,YOLOv2沿用了YOLOv1的思想——就是预测边界框中心点相对于对应cell左上角位置的相对偏移值。为了将边界框中心点约束在当前cell中,使用sigmoid函数处理偏移值,这样预测的偏移值在(0,1)范围内(每个cell的尺度看做1)。
在这里插入图片描述
如图所示,σ(t_x)和σ(t_y)分别表示预测边界框的中心点距离该中心所在单元格的横纵距离。C_x、C_y分别表示中心点所在单元格的左上角距离图片的左上角的横纵距离。b_w、b_h表示预测边界框的宽高,b_x、b_y表示预测边界框的起点坐标。p_w、p_h表示预测边界框的宽高。t_x、t_y、t_w、t_h为输出结果,t_o为置信度。

在这里插入图片描述

(6)Fine-Grained Features

之前讨论过YOLOv2的输入图片尺寸为416×416,经过5个池化层以后(相当于5次下采样)得到的输出特征图尺寸为13×1313×13的特征图检测小物体精度还是不够,YOLOv2将feature map的尺寸调整为26×26,调整方法是采用passthrough层。passthrough层抽取前面层的每个2×2的局部区域,然后将其转化为channel维度,对于26×26×512的特征图,经passthrough层处理之后就变成了13×13×2048的新特征图(特征图大小降低4倍,而channles增加4倍)。这样就可以与后面的13×13×1024特征图连接在一起形成13×13×3072大小的特征图,然后在此特征图基础上卷积做预测。
在这里插入图片描述

(7)Multi-Scale Training

为了增强模型的鲁棒性,YOLOv2采用了多输入尺寸进行模型的训练。具体实施就是在迭代一定次数之后,改变模型的输入大小。因为YOLOv2的下采样总步长为32,所以输入大小为*{320,352,……,608}。输入图片最小为320×320*,此时对应的特征图大小为10×10,而输入图片最大为608×608,对应的特征图大小为19×19


三、Faster

(1)Darknet-19

在这里插入图片描述
如上图所示,Darknet-19包含了19个3×3的卷积层和5个2×2的最大池化层。Darknet-19最终采用全局平均池化层做输出预测,并且在3×3卷积之间使用1×1卷积来压缩特征图通道数,以降低模型计算量和参数。


四、Stronger

(1)Hierarchical classification and WordTree

很多词汇之间有着上下级关系,例如:秋田犬是狗的一种,如果类别标签中既有秋天犬又有狗,那么分类的时候有可能只分类成狗而不是秋田犬。但实际上两类它都属于。为了解决这种问题,采用了层次分类。具体如下图所示。

在这里插入图片描述

在这里插入图片描述


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值