YOLO v5的历史与架构
基于CNN的对象检测器主要适用于推荐系统。YOLO(只看一次)模型用于高性能的目标检测。YOLO将图像划分为网格系统,每个网格检测其内部的对象。它们可以用于基于数据流的实时对象检测。它们只需要很少的计算资源。
YOLO的历史
- Yolov1(2015年6月8日):您只需看一次:统一的实时对象检测
- Yolov2(2016年12月25日):YOLO9000:更好,更快,更强
- Yolov3(2018年4月8日):YOLOv3:渐进式改进
- Yolov4(2020年4月23日):YOLOv4:目标检测的最佳速度和精度
- Yolov5(2020年5月18日):GitHub回购(截至2021年8月1日无纸)
注:根据这里的评论,截至2021年8月1日,YOLOv5上没有任何论文。因此,这篇文章将详细介绍YOLOv4,以便让™更容易理解YOLOv5。here
为了了解Yolov5是如何提升性能和架构的,让我们来看看下面的高级对象检测架构:
通用目标检测器将有一个用于预训练的主干和一个用于预测类别和包围盒的头部。主干可以在GPU或CPU平台上运行。头部可以是用于密集预测的单级(例如,YOLO、SSD、RetinaNet)或用于稀疏预测对象检测器的两级(例如,较快的R-CNN)。最近的物体探测器有一些层(颈部)来收集特征地图,它位于脊椎和头部之间。
在YOLOv4中,使用CSPDarknet53作为主干,使用SPP挡路来增加感受野,分离了显著特征,并且没有降低网络运行速度。PAN用于不同骨干层的参数聚合。YOLOv3(基于锚头)用于YOLOv4。CSPDarknet53 SPP block PAN YOLOv3
注意:请通过以上链接了解有关CSPDarknet53、SPP、PAN和YOLOv3的更多详细信息。
YOLOv4引入了数据增强、马赛克和自我对抗训练(SAT)的新方法。马赛克混合了四个训练图像。自我对抗性训练分为向前和向后两个阶段。在第一阶段,网络改变唯一的图像而不是权值。在第二阶段,训练网络以检测修改图像上的对象。Mosaic Self-Adversarial Training (SAT)
除了上述模块外,还对现有的一些方法(空间注意模块[SAM]、PAN、CBN)进行了改进以提高性能。Spatial Attention Module[SAM] PAN CBN
Yolov5与Yolov4几乎相似,但有以下一些不同之处:
- Yolov4是在Darknet框架中发布的,它是用C编写的。Yolov5基于PyTorch框架。
- Yolov4使用.cfg进行配置,而Yolov5使用.yaml文件进行配置。
在Netron中显示的YOLOv5s型号YOLOv5s model
TensorBoard中显示的YOLOv5s型号YOLOv5s model
有关更多信息,请查看Yolov5 Github回购。Yolov5 Github repo
原创文章,作者:fendouai,如若转载,请注明出处:https://panchuang.net/2021/08/03/%e7%9b%ae%e6%a0%87%e6%a3%80%e6%b5%8b%e7%ae%97%e6%b3%95%e2%80%8a-%e2%80%8ayolov5%e6%9e%b6%e6%9e%84/