YOLOv3论文名称: YOLOv3: An Incremental Improvement
YOLOv3论文下载地址:https://arxiv.org/pdf/1804.02767.pdf
YOLOv3: An Incremental Improvement
YOLOv3:一个渐进式的改进
YOLOv3在YOLOv2的基础上进行了一些小的改动,在保证实时性的基础上精度更高。
YOLOv3主要在主干网络、锚框数量和多尺度融合上进行了优化。
1、主干网络
主干网络采用了Darknet-53,如下图所示,增加了卷积层层数,去掉了池化层,是一个全卷积网络(FCN)。网络使用步长为2的卷积层替代了池化层进行特征图的降采样过程,可以有效阻止由于池化层导致的底层及特征损失。此外,网络损失函数采用了Leaky ReLU,有效缓解了ReLU导致的神经元失活问题。
2、锚框数量
YOLOv2给每个网格分配了5个锚框,YOLOv3给每个网格分类了9个锚框,在三种大小的框上赋予三种不同的长宽比,可以更好地检测不同形状的目标。
3、多尺度融合
YOLOv2采用了13 x 13和26 x 26两个尺度的特征图融合,YOLOv3加入了52 x 52大小的特征图,一共三个尺寸的特征图进行融合,这样可以从上采样的特征中获得更有意义的语义信息,并从早期的特征图中获得更精细的信息。
YOLOv3的整体架构如下图所示:
YOLO的架构到v3时,就已经比较成熟了。可以大致将整个架构分为主干网络(backbone)、特征融合部分(Neck)以及检测头(Head)。YOLOv3主干网络为Darknet-53,Neck部分为自低至顶的特征融合,检测头为(4+1+C)模式,4表示边界框的定位坐标,包含中心坐标相对于所在网格左上角顶点的横纵坐标偏移量、边界框宽和高;1代表框的置信度;C表示C个类别的类概率。
YOLOv3在之前网络的基础上完善了主干网络;使用了三种大小的特征图进行融合,使得特征提取的细粒度更好;每个网格赋予了9个锚框,共三种尺度,有利于锚框与目标大小的吻合。YOLOv3的该进虽然很少,但却是很有效。
参考资料:
1、深入浅出Yolo系列之Yolov3&Yolov4&Yolov5&Yolox核心基础知识完整讲解
2、睿智的目标检测26——Pytorch搭建yolo3目标检测平台