基于YOLOv8的交通摄像头下车辆检测算法(五):Gold-YOLO,信息聚集-分发(Gather--灵析社区

神机妙算

本文改进: 新的注意力机制——多尺度空洞注意力(MSDA)。MSDA 能够模拟小范围内的局部和稀疏的图像块交互;

如何在YOLOv8下使用:1)作为注意力机制放在各个网络位置;2)与C2f结合替代原始的C2f

MSCA多尺度特性在交通摄像头下车辆检测项目中, mAP50从原始的0.745提升至0.756

学姐带你学习YOLOv8,从入门到创新,轻轻松松搞定科研;

1.交通摄像头车辆检测数据集介绍

数据集来源:极市开发者平台-计算机视觉算法开发落地平台-极市科技

数据集类别“car",训练集验证集测试集分别5248,582,291张

下图可以看出都是车辆数据集具有不同尺寸的目标物体,既有大目标又有小目标

1.1 小目标检测难点

本文所指的小目标是指COCO中定义的像素面积小于32*32 pixels的物体。小目标检测的核心难点有三个:

由本身定义导致的rgb信息过少,因而包含的判别性特征特征过少。

数据集方面的不平衡。这主要针对COCO而言,COCO中只有51.82%的图片包含小物体,存在严重的图像级不平衡。具体的统计结果见下图。

系。

2.Gold-YOLO


链接:https://arxiv.org/pdf/2309.11331.pdf

代码:https://github.com/huawei-noah/Efficient-Computing/tree/master/Detection/Gold-YOLO

单位:华为诺亚方舟实验室

理论部分可参考:超越YOLO系列!华为提出Gold-YOLO:高效实时目标检测器 - 知乎

传统YOLO的问题

在检测模型中,通常先经过backbone提取得到一系列不同层级的特征,FPN利用了backbone的这一特点,构建了相应的融合结构:不层级的特征包含着不同大小物体的位置信息,虽然这些特征包含的信息不同,但这些特征在相互融合后能够互相弥补彼此缺失的信息,增强每一层级信息的丰富程度,提升网络性能。

原始的FPN结构由于其层层递进的信息融合模式,使得相邻层的信息能够充分融合,但也导致了跨层信息融合存在问题:当跨层的信息进行交互融合时,由于没有直连的交互通路,只能依靠中间层充当“中介”进行融合,导致了一定的信息损失。之前的许多工作中都关注到了这一问题,而解决方案通常是通过添加shortcut增加更多的路径,以增强信息流动。

摘要:当前YOLO系列模型通常采用类FPN方法进行信息融合,而这一结构在融合跨层信息时存在信息损失的问题。针对这一问题,我们提出了全新的信息聚集-分发(Gather-and-Distribute Mechanism)GD机制,通过在全局视野上对不同层级的特征进行统一的聚集融合并分发注入到不同层级中,构建更加充分高效的信息交互融合机制,并基于GD机制构建了Gold-YOLO。在COCO数据集中,我们的Gold-YOLO超越了现有的YOLO系列,实现了精度-速度曲线上的SOTA

提出了一种全新的信息交互融合机制:信息聚集-分发机制(Gather-and-Distribute Mechanism)。该机制通过在全局上融合不同层次的特征得到全局信息,并将全局信息注入到不同层级的特征中,实现了高效的信息交互和融合。在不显著增加延迟的情况下GD机制显著增强了Neck部分的信息融合能力,提高了模型对不同大小物体的检测能力。



在Gold-YOLO中,针对模型需要检测不同大小的物体的需要,并权衡精度和速度,我们构建了两个GD分支对信息进行融合:低层级信息聚集-分发分支(Low-GD)和高层级信息聚集-分发分支(High-GD),分别基于卷积和transformer提取和融合特征信息。

源码详见:

YOLOv8改进:Neck改进系列 | Gold-YOLO,信息聚集-分发(Gather-and-Distribute Mechanism)机制 | 华为诺亚NeurIPS23-CSDN博客

3.训练可视化分析

mAP50从原始的0.745提升至0.748

YOLOv8-goldYOLO summary: 359 layers, 6015123 parameters, 0 gradients, 11.9 GFLOPs
                 Class     Images  Instances      Box(P          R      mAP50  mAP50-95): 100%|██████████| 37/37 [00:18<00:00,  2.04it/s]
                   all        582       6970      0.821      0.699      0.763        0.4

训练结果如下:

PR_curve.png

PR曲线中的P代表的是precision(精准率),R代表的是recall(召回率),其代表的是精准率与召回率的关系。


阅读量:323

点赞量:0

收藏量:0