YOLOv9改进,YOLOv9检测头融合DiverseBranchBlock(多样分支块),适合目标检测、分割任务
摘要
一种卷积神经网络(ConvNet)的通用构建模块,以在不增加推理时间成本的情况下提高性能。该模块被命名为多样分支块(Diverse Branch Block,DBB),通过结合不同尺度和复杂度的多样分支来丰富特征空间,包括卷积序列、多尺度卷积和平均池化,从而增强单个卷积的表示能力。在训练后,DBB可以等效地转换为一个单独的卷积层以进行部署。与新型ConvNet架构的进步不同,DBB在保持宏观架构的同时复杂化了训练时的微观结构,因此它可以作为任何架构的常规卷积层的替代品。通过这种方式,模型可以训练到更高的性能水平,然后转换为原始推理时的结构进行推理。DBB在图像分类(ImageNet上最高提高1.9%的top-1准确率)、目标检测和语义分割方面提高了ConvNet的性能。
DiverseBranchBlock介绍
多样分支块(DiverseBranchBlock)的代表性设计如下图所示(摘自论文):
1.DiverseBranchBlock(DBB)采用多分支拓扑结构,包括多尺度卷积、顺序1×1 - K×K卷积、平均池化和分支相加。这些具有不同感受野和复杂度的路径操作可以丰富特征空间,就像Inception架构一样。
2.DiverseBranchBlock(DBB)可以在推理时等效地转换为单个卷积。给定一个架构,可以用DBB替换一些常规卷积层,以构建更复杂的训练微观结构,并将其转换回原始结构,这样在推理时不会有额外的成本。
理论详解可以参考链接:论文地址
代码可在这个链接找到:代码地址
下文都是手把手教程,跟着操作即可添加成功
目录
- 摘要
- DiverseBranchBlock介绍
- 🎓一、YOLOv9原始版本代码下载
-
- 🍀🍀1.yolov9模型结构图
- 🍀🍀2.环境配置
- 🎓二、检测头代码
- 🎓三、添加方法<