引言
Yolo(You Only Look Once)是一种one-stage目标检测算法,即仅需要 “看” 一次就可以识别出图片中物体的class类别和边界框。Yolov5是由Alexey Bochkovskiy等人在YOLO系列算法的基础上进行改进和优化而开发的,使其性能与精度都得到了极大的提升。
Yolov5推出了Yolov5s、Yolov5m、Yolov5l、Yolov5x等四个版本的目标检测网络。四个模型的结构基本一致,区别主要在于模型深度depth_multiple和模型宽度width_multiple这两个参数,如下图所示。
如下图所示是Yolov5算法在COCO数据集上的测试结果。其中,Yolov5s是深度最浅、特征图宽度最小的网络,速度最快,AP精度也最低。其它的三种网络,在Yolov5s基础上,不断加深加宽,AP精度也不断提升,但速度的消耗也在不断增加。
笔者本文将以Yolov5s网络为主线进行分析。
Yolov5网络结构
Yolov5的网络结构如下图所示,主要包括Backbone骨干网络、Neck颈部结构和Head头部结构(Prediction)三部分,分别负责特征提取、特征融合、输出检测信息。其中,Backbone模块使用BottleNeckCSP结构从输入图像中提取丰富的信息特征。输入图像尺寸是608x608,