第二节 YOLOv3
2.1 YOLOv3简介
YOLO系列的目标检测算法可以说是目标检测史上的宏篇巨作,YOLOv3是YOLO (You Only Look Once)系列目标检测算法中的第三版,v3的算法是在v1和v2的基础上形成的,相比之前的算法,尤其是针对小目标,精度有显著提升。
2.2 YOLOv3网络结构
YOLOv3的网络结构如下图 2.2- 1所示,输入一张图片,图片会被缩放至256×256大小,经过一系列的卷积操作,图片最终会输出8×8×255的张量,利用特征融合的思想,将8×8×512的特征和8×8×512的特征经过一系列操作,输出16×16×255的特征;同理得32×32×255输出张量。因此一张图片经过YOLOv3的网络结构后会输出三个尺度的特征张量,它们分别是8×8×255、16×16×255、32×32×255。如果将YOLOv3的网络结构看作一个黑盒子,我们可以将图 2.2- 1简化为图 2.2 -2所示,其中每个尺度的255=3×(4+1+80)。3指三个先验框(锚框),4是先验框的偏移量(中心坐标tx和ty,,框的高度th和宽度tw),1指先验框中是否含有物体,80指数据集的80个类别。
2.3 锚框
三个尺度的感受野不同,32倍下采样的感受野最大,适合检测大的目标,如果数据集为COCO,原始图片缩放为416×416,所以每个网格的三个锚框为(116,90); (156,198); (373,326)。16倍适合一般大小的物体,锚框为(30,61); (62,45); (59,119)。8倍的感受野最小,适合检测小目标,因此锚框为(10,13); (16,30); (33,23)。每个尺寸的特征图对应的锚框如图 2.3- 1所示。
2.4 offset
有了锚框与输出特征向量,就可以定位预测框的位置。经过YOLOv3网络后输出特征向量时有四个参数是先验框的偏移量,分别是中心坐标tx和ty,框的高度th和宽度tw。已知其中,是锚框的宽高,,是锚框的中心点。此时预测框的位置如下式可得。,是预测框的中心,,是预测框的宽和高。
如下图2.4- 1所示,是基于矩形框中心点所在网格左上角的偏移量,是激活函数,论文中作者使用sigmoid。