yolo3-yolo5

简介: yolo3-yolo5

yolov3



使用多个二分类代替softmax,如此以来,每个类别的概率相加就不需要等于1,类别概率之间不需相关。


加入颈部,相当于特征金字塔FPN


Darknet-53 has some short cut connections as well and is significantly larger


yolov4



YOLOv4是YOLO系列的集大成者,里面涉及了许多tricks的组合。YOLOv4主要是选取了许多features进行组合的形式来对数据集进行测试训练,从而来验证性能效果。

BOF数据增强策略: Bag of freebies 数据增强;focal loss 解决各类别样本数量不平衡;IOU,使位置四个值之间有关联->GIOU,解决框无重叠时,无梯度的问题->DIOU,中心电之间的关系->CIOU,宽高比例


BOS


SAM,空间注意力模块,激活函数Mish(与Ranger优化器同用);SoftNMS

使用CSPDarknet53(跨阶段局部网络)作为Backbone,并且使用了PANET(路径聚合网络)和SPP(空间金字塔池化)作为Neck,使用YOLO V3的Head。


yolov5:小对象问题



相对于yolov4的改进


1、Data Augmentation:数据扩充


YOLO V4使用了多种数据增强技术的组合,对于单一图片,使用了几何畸变,光照畸图像,遮挡(Random Erase,Cutout,Hide and Seek,Grid Mask ,MixUp)技术,对于多图组合,作者混合使用了CutMix与Mosaic 技术。除此之外,作者还使用了Self-Adversarial Training (SAT)来进行数据增强。


YOLOV5会通过数据加载器传递每一批训练数据,并同时增强训练数据。数据加载器进行三种数据增强:缩放,色彩空间调整和马赛克增强。据悉YOLO V5的作者Glen Jocher正是Mosaic Augmentation的创造者,故认为YOLO V4性能巨大提升很大程度是马赛克数据增强的功劳,也许你不服,但他在YOLO V4出来后的仅仅两个月便推出YOLO V5,不可否认的是马赛克数据增强确实能有效解决模型训练中最头疼的“小对象问题”,即小对象不如大对象那样准确地被检测到。


2、Auto Learning Bounding Box Anchors-自适应锚定框


yolo3中的锚框是预先利用kmeans定义好的,yolo4沿用了yolo3; yolo5锚定框是基于训练数据自动学习的。个人认为算不上是创新点,只是手动改代码改为自动运行。 对于COCO数据集来说,YOLO V5 的配置文件*.yaml 中已经预设了640×640图像大小下锚定框的尺寸 对于自定义数据集来说,由于目标识别框架往往需要缩放原始图片尺寸,并且数据集中目标对象的大小可能也与COCO数据集不同,因此YOLO V5会重新自动学习锚定框的尺寸。


3、Activation Function:激活功能


yolo5的作者使用了 Leaky ReLU 和 Sigmoid 激活函数。yolo5中中间/隐藏层使用了 Leaky ReLU 激活函数,最后的检测层使用了 Sigmoid 形激活函数。而YOLO V4使用Mish激活函数。


4、Optimization Function


YOLO V5的作者提供了两个优化函数Adam和SGD(默认),并都预设了与之匹配的训练超参数。 YOLO V4使用SGD。 YOLO V5的作者建议是,如果需要训练较小的自定义数据集,Adam是更合适的选择,尽管Adam的学习率通常比SGD低。但是如果训练大型数据集,对于YOLOV5来说SGD效果比Adam好。 实际上学术界上对于SGD和Adam哪个更好,一直没有统一的定论,取决于实际项目情况。


5、Cost Function


YOLO 系列的损失计算是基于 objectness score, class probability score,和 bounding box regression score. YOLO V5使用 GIOU Loss作为bounding box的损失。 YOLO V5使用二进制交叉熵和 Logits 损失函数计算类概率和目标得分的损失。同时我们也可以使用fl_ gamma参数来激活Focal loss计算损失函数。 YOLO V4使用 CIOU Loss作为bounding box的损失,与其他提到的方法相比,CIOU带来了更快的收敛和更好的性能。


YOLO V4和YOLO V5实际上整合了计算机视觉领域的State-of-the-art,从而显著改善YOLO对象检测的性能。


目录
相关文章
|
1月前
|
机器学习/深度学习 数据可视化 网络架构
请你继续卷:YOLOV9
请你继续卷:YOLOV9
142 0
|
1月前
|
监控 算法 自动驾驶
YOLO
YOLO“【5月更文挑战第23天】”
31 1
|
11天前
|
机器学习/深度学习 计算机视觉 网络架构
YOLOv9这么快就来了,赶紧学起来~
YOLOv9这么快就来了,赶紧学起来~
|
1月前
|
计算机视觉
YOLOv8改进 | 2023Neck篇 | 利用Gold-YOLO改进YOLOv8对小目标检测
YOLOv8改进 | 2023Neck篇 | 利用Gold-YOLO改进YOLOv8对小目标检测
159 1
|
10月前
|
机器学习/深度学习 并行计算 算法
基于 PyTorch 的目标检测(YOLO实现)
基于 PyTorch 的目标检测(YOLO实现)
|
10月前
|
数据挖掘
YoloV2的改进
YoloV2的改进
|
计算机视觉
|
机器学习/深度学习 数据挖掘
|
机器学习/深度学习 算法 数据挖掘
YOLO v3详细解读
《YOLOv3: An Incremental Improvement》 Joseph Redmon Ali Farhadi University of Washington
YOLO v3详细解读

相关实验场景

更多