YOLOv5从入门到部署之:初识YOLOv5
1 YOLOv5
在YOLOv4发布不到50天,“YOLOv5” 就问世了并且官方介绍的性能效果可以说相当好。只可惜YOLOv5当前只公布了代码没有相关的论文,只能通过YOLOv5的代码来了解其算法。其链接如下:
https://github.com/ultralytics/yolov5
严格来讲,这里提到的YOLOv5可以视为YOLOv4.5,但是我们依然会介绍YOLOv5,这是因为:
(1)YOLOv5不仅是各种tricks的组合,更关键的是它的实现方式由darknet转为了pytorch,这样就更便于使用和各种魔改。
(2)如下图是YOLOv5在COCO2017val上与EfficienetDet性能比较图,同等AP情况下比EfficientDet快非常多,这也说明了人工设计出来的网络不会比搜索出的网络差。
不过YOLOv5没有论文,对初学者不是很友好,这里推荐大家阅读《图解目标检测》系列文章。关注公众号后,后台回复"检测"即可获取。
2 结构设计
Yolov5的结构采用单阶段检测的结构,结构图如上图所示,其主要分为五个阶段:
-
Input:图像输入端并且进行了数据处理。Mosaic、Cutout、矩阵训练。
-
Backbone:提取出高中低层的特征,使用了CSP、Fcous、Leaky ReLU等。
-
Neck:将各层次的特征进行融合提取出大中小的特征图。
-
Head:进行最终检测部分,在特征图上应用锚定框,并生成带有类概率、对象得分和包围框的最终输出向量。
-
Loss:计算预测结果与ground truth的Loss,反向传播更新模型的参数。
Yolov5各个阶段大量整合了目标检测领域的State-of-the-art,其代码结构如下:
3 Next
接下来,《YOLOv5从入门到部署》系列将会结合YOLOv5的代码介绍以下内容,通过代码学习Yolov5算法、部署以及如何训练自己的数据集。
-
配置与初始化参数
-
数据读取与扩增
-
网络和损失设计
-
实践:训练自己的数据集并部署
后续内容,请扫码关注公众号【AI约读社】,查阅最新更新。
问答起飞
如果你平时遇到任何困扰你已久、或面试中的遇到目标检测等相关问题,可以加群,告诉我们,统一记录在《Question List》中。尽力帮助大家解决难题,真正解决问题的那种!我们解决不了的,会在公众号内发起求助,尽力解决问题。
下载1
在【AI约读社】公众号后台回复:目标检测,即可获取《图解目标检测》链接