# YOLOV8V10改进方案(持续更新)

<a id="b"></a>

#### 目前支持的一些block (部分block可能会与主结构有冲突,具体以是否能运行为主)

##### C2f系列
C2f, C2f_Faster, C2f_ODConv, C2f_Faster_EMA, C2f_DBB, C2f_CloAtt, C2f_SCConv, C2f_ScConv, C2f_EMSC, C2f_EMSCP, C2f_KW, C2f_DCNv2, C2f_DCNv3, C2f_OREPA, C2f_REPVGGOREPA, C2f_DCNv2_Dynamic, C2f_MSBlock, C2f_ContextGuided, C2f_DLKA, C2f_EMBC, C2f_Parc, C2f_DWR, C2f_RFAConv, C2f_RFCBAMConv, C2f_RFCAConv, C2f_MLCA, C2f_AKConv, C2f_UniRepLKNetBlock, C2f_DRB, C2f_DWR_DRB, C2f_AggregatedAtt....(C2f系列的改进都合适、太多了就不一一标注了)
##### C3系列  
C3, C3Ghost, C3_CloAtt, C3_SCConv, C3_ScConv, C3_EMSC, C3_EMSCP, C3_KW, C3_ODConv, C3_Faster, C3_Faster_EMA, C3_DCNv2, C3_DCNv3, C3_DBB, C3_OREPA, C3_REPVGGOREPA, C3_DCNv2_Dynamic, C3_MSBlock, C3_ContextGuided, C3_DLKA, C3_EMBC, C3_Parc, C3_DWR, C3_RFAConv, C3_RFCBAMConv, C3_RFCAConv, C3_MLCA, C3_AKConv, C3_UniRepLKNetBlock, C3_DRB, C3_DWR_DRB, C3_AggregatedAtt....(C3系列的改进都合适、太多了就不一一标注了)
##### 其他系列
VoVGSCSP, VoVGSCSPC, RCSOSA, CSP_EDLAN

<a id="c"></a>

#### 目前整合的一些注意力机制 还需要别的注意力机制可从[github](https://github.com/z1069614715/objectdetection_script/tree/master/cv-attention)拉取对应的代码到ultralytics/nn/extra_modules/attention.py即可. 视频教程可看项目视频中的(如何在yaml配置文件中添加注意力层)
EMA, SimAM, SpatialGroupEnhance, BiLevelRoutingAttention, BiLevelRoutingAttention_nchw, TripletAttention, CoordAtt, CBAM, BAMBlock, EfficientAttention(CloFormer中的注意力), LSKBlock, SEAttention, CPCA, deformable_LKA, EffectiveSEModule, LSKA, SegNext_Attention, DAttention(Vision Transformer with Deformable Attention CVPR2022), FocusedLinearAttention(ICCV2023), MLCA, TransNeXt_AggregatedAttention, LocalWindowAttention, ELA, CAA, CAFM, AFGCAttention(Neural Networks ECCV2024)

### YOLOV8
1. ultralytics/cfg/models/v8/yolov8-efficientViT.yaml

    (CVPR2023)efficientViT替换yolov8主干.

2. ultralytics/cfg/models/v8/yolov8-fasternet.yaml

    (CVPR2023)fasternet替换yolov8主干.

3. ultralytics/cfg/models/v8/yolov8-timm.yaml

    使用timm支持的主干网络替换yolov8主干.timm的内容可看[这期视频](https://www.bilibili.com/video/BV1Mx4y1A7jy/)

4. ultralytics/cfg/models/v8/yolov8-convnextv2.yaml

    使用convnextv2网络替换yolov8主干.

5. ultralytics/cfg/models/v8/yolov8-dyhead.yaml

    添加[基于注意力机制的目标检测头DyHead](https://github.com/microsoft/DynamicHead)到yolov8中.

6. ultralytics/cfg/models/v8/yolov8-bifpn.yaml

    添加BIFPN到yolov8中.  
    其中BIFPN中有三个可选参数:
    1. Fusion  
        其中BIFPN中的Fusion模块支持五种: weight, adaptive, concat, bifpn(default), SDI  
        其中weight, adaptive, concat出自[paper链接-Figure 3](https://openreview.net/pdf?id=q2ZaVU6bEsT), SDI出自[U-NetV2](https://github.com/yaoppeng/U-Net_v2)
    2. node_mode  
        其中支持这些[结构](#b)
    3. head_channel  
        BIFPN中的通道数,默认设置为256.
    项目视频百度云链接:关于BIFPN的说明

7. ultralytics/cfg/models/v8/yolov8-C2f-Faster.yaml

    使用C2f-Faster替换C2f.(使用FasterNet中的FasterBlock替换C2f中的Bottleneck)
    项目视频百度云链接:20240729版本更新说明

8. ultralytics/cfg/models/v8/yolov8-C2f-ODConv.yaml

    使用C2f-ODConv替换C2f.(使用ODConv替换C2f中的Bottleneck中的Conv)
    项目视频百度云链接:20240729版本更新说明

9. ultralytics/cfg/models/v8/yolov8-EfficientFormerV2.yaml

    使用EfficientFormerV2网络替换yolov8主干.(需要看[常见错误和解决方案的第五点](#a))  
10. ultralytics/cfg/models/v8/yolov8-C2f-Faster-EMA.yaml

    使用C2f-Faster-EMA替换C2f.(C2f-Faster-EMA推荐可以放在主干上,Neck和head部分可以选择C2f-Faster)
    项目视频百度云链接:20240729版本更新说明
    
11. ultralytics/cfg/models/v8/yolov8-C2f-DBB.yaml

    使用C2f-DBB替换C2f.(使用DiverseBranchBlock替换C2f中的Bottleneck中的Conv)
    项目视频百度云链接:20240729版本更新说明

12. 增加Adaptive Training Sample Selection匹配策略.

    在ultralytics/utils/loss.py中的class v8DetectionLoss中自行选择对应的self.assigner即可.  
    此ATSS匹配策略目前占用显存比较大,因此使用的时候需要设置更小的batch,后续会进行优化这一功能.

13. ultralytics/cfg/models/v8/yolov8-slimneck.yaml

    使用[VoVGSCSP\VoVGSCSPC和GSConv](https://github.com/AlanLi1997/slim-neck-by-gsconv)替换yolov8 neck中的C2f和Conv.

14. ultralytics/cfg/models/v8/yolov8-attention.yaml

    可以看项目视频-如何在yaml配置文件中添加注意力层  
    也可以参考以下B站视频:
    1. [最新~YOLOV8手把手教学配置文件添加注意力机制!一看就会!](https://www.bilibili.com/video/BV1RH4y1D7CY/)
    2. [YOLOV8改进-手把手带你学会注意力机制进阶用法](https://www.bilibili.com/video/BV1ZQ4y1J7oC/)
    3. [YOLO11-三个问题解决注意力机制!注意力分几种?注意力应该怎么用?注意力怎么加?](https://www.bilibili.com/video/BV1mXkVYAEGM/)
    多种注意力机制在yolov8中的使用. [多种注意力机制github地址](https://github.com/z1069614715/objectdetection_script/tree/master/cv-attention)  
    目前内部整合的注意力可看[链接](#c)

15. Asymptotic Feature Pyramid Network[reference](https://github.com/gyyang23/AFPN/tree/master)

    a. ultralytics/cfg/models/v8/yolov8-AFPN-P345.yaml  
    b. ultralytics/cfg/models/v8/yolov8-AFPN-P345-Custom.yaml  
    c. ultralytics/cfg/models/v8/yolov8-AFPN-P2345.yaml  
    d. ultralytics/cfg/models/v8/yolov8-AFPN-P2345-Custom.yaml  
    其中Custom中的block支持这些[结构](#b) [B站介绍说明](https://www.bilibili.com/video/BV1bh411A7yj/)

16. ultralytics/cfg/models/v8/yolov8-vanillanet.yaml

    vanillanet替换yolov8主干.

17. ultralytics/cfg/models/v8/yolov8-C2f-CloAtt.yaml

    使用C2f-CloAtt替换C2f.(使用CloFormer中的具有全局和局部特征的注意力机制添加到C2f中的Bottleneck中)(需要看[常见错误和解决方案的第五点](#a))  
    项目视频百度云链接:20240729版本更新说明

18. ultralytics/cfg/models/v8/yolov8-RevCol.yaml

    使用[(ICLR2023)Reversible Column Networks](https://github.com/megvii-research/RevCol)对yolov8主干进行重设计.
    视频:https://www.bilibili.com/video/BV1Mh4y1y76u/

19. ultralytics/cfg/models/v8/yolov8-LSKNet.yaml

    LSKNet(2023旋转目标检测SOTA的主干)替换yolov8主干.

20. ultralytics/cfg/models/v8/yolov8-C2f-SCConv.yaml

    SCConv(CVPR2020 http://mftp.mmcheng.net/Papers/20cvprSCNet.pdf)与C2f融合.
    项目视频百度云链接:SCConv和ScConv的使用教程

21. ultralytics/cfg/models/v8/yolov8-C2f-SCcConv.yaml

    ScConv(CVPR2023 https://openaccess.thecvf.com/content/CVPR2023/papers/Li_SCConv_Spatial_and_Channel_Reconstruction_Convolution_for_Feature_Redundancy_CVPR_2023_paper.pdf)与C2f融合.  
    (取名为SCcConv的原因是在windows下命名是不区分大小写的)
    项目视频百度云链接:SCConv和ScConv的使用教程

22. MPDiou.[论文链接](https://arxiv.org/pdf/2307.07662v1.pdf)

    请看LOSS改进系列.md

23. ultralytics/cfg/models/v8/yolov8-LAWDS.yaml

    Light Adaptive-weight downsampling.自研模块,具体讲解请看百度云链接中的视频.
    项目视频百度云链接:LAWDS讲解

24. ultralytics/cfg/models/v8/yolov8-C2f-EMSC.yaml

    Efficient Multi-Scale Conv.自研模块,具体讲解请看百度云链接中的视频.
    项目视频百度云链接:EMSC,EMSCP讲解

25. ultralytics/cfg/models/v8/yolov8-C2f-EMSCP.yaml

    Efficient Multi-Scale Conv Plus.自研模块,具体讲解请看百度云链接中的视频.
    项目视频百度云链接:EMSC,EMSCP讲解

26. ultralytics/cfg/models/v8/yolov8-RCSOSA.yaml

    使用[RCS-YOLO](https://github.com/mkang315/RCS-YOLO/tree/main)中的RCSOSA替换C2f.
    项目视频百度云链接:20240908版本更新说明

27. ultralytics/cfg/models/v8/yolov8-KernelWarehouse.yaml
    
    使用[Towards Parameter-Efficient Dynamic Convolution](https://github.com/OSVAI/KernelWarehouse)添加到yolov8中.  
    使用此模块需要注意,在epoch0-20的时候精度会非常低,过了20epoch会正常.
    项目视频百度云链接:20240803版本更新说明

28. Normalized Gaussian Wasserstein Distance.[论文链接](https://arxiv.org/abs/2110.13389)

    在Loss中使用:
        在ultralytics/utils/loss.py中的BboxLoss class中的__init__函数里面设置self.nwd_loss为True.  
        比例系数调整self.iou_ratio, self.iou_ratio代表iou的占比,(1-self.iou_ratio)为代表nwd的占比.  
    在TAL标签分配中使用:
        在ultralytics/utils/tal.py中的def iou_calculation函数中进行更换即可.
    以上这两可以配合使用,也可以单独使用.

29. SlideLoss and EMASlideLoss.[Yolo-Face V2](https://github.com/Krasjet-Yu/YOLO-FaceV2/blob/master/utils/loss.py)

    在ultralytics/utils/loss.py中的class v8DetectionLoss进行设定.

30. ultralytics/cfg/models/v8/yolov8-C2f-DySnakeConv.yaml

    [DySnakeConv](https://github.com/YaoleiQi/DSCNet)与C2f融合.
    项目视频百度云链接:20240803版本更新说明

31. ultralytics/cfg/models/v8/yolov8-EfficientHead.yaml

    对检测头进行重设计,支持10种轻量化检测头.详细请看ultralytics/nn/extra_modules/head.py中的Detect_Efficient class.[YOLOV8改进-带你分析V8的检测头并重设计10种结构轻量化检测头](https://www.bilibili.com/video/BV1cu411K7FE/)

32. ultralytics/cfg/models/v8/yolov8-aux.yaml

    参考YOLOV7-Aux对YOLOV8添加额外辅助训练头,在训练阶段参与训练,在最终推理阶段去掉.  
    其中辅助训练头的损失权重系数可在ultralytics/utils/loss.py中的class v8DetectionLoss中的__init__函数中的self.aux_loss_ratio设定,默认值参考yolov7为0.25.

33. ultralytics/cfg/models/v8/yolov8-C2f-DCNV2.yaml

    使用C2f-DCNV2替换C2f.(DCNV2为可变形卷积V2)
    项目视频百度云链接:DCNV2,DCNV3,DyHeadWithDCNV3相关讲解

34. ultralytics/cfg/models/v8/yolov8-C2f-DCNV3.yaml

    使用C2f-DCNV3替换C2f.([DCNV3](https://github.com/OpenGVLab/InternImage)为可变形卷积V3(CVPR2023,众多排行榜的SOTA))  
    官方中包含了一些指定版本的DCNV3 whl包,下载后直接pip install xxx即可.具体和安装DCNV3可看百度云链接中的视频.
    项目视频百度云链接:DCNV2,DCNV3,DyHeadWithDCNV3相关讲解

35. ultralytics/cfg/models/v8/yolov8-dyhead-DCNV3.yaml

    使用[DCNV3](https://github.com/OpenGVLab/InternImage)替换DyHead中的DCNV2.
    项目视频百度云链接:DCNV2,DCNV3,DyHeadWithDCNV3相关讲解

36. ultralytics/cfg/models/v8/yolov8-FocalModulation.yaml

    使用[Focal Modulation](https://github.com/microsoft/FocalNet)替换SPPF.

37. ultralytics/cfg/models/v8/yolov8-C2f-OREPA.yaml

    使用C2f-OREPA替换C2f.[Online Convolutional Re-parameterization (CVPR2022)](https://github.com/JUGGHM/OREPA_CVPR2022/tree/main)
    项目视频百度云链接:关于OREPA,REPVGGOREPA,EMSC-OREPA,EMSCP-OREPA的说明

38. ultralytics/cfg/models/v8/yolov8-C2f-REPVGGOREPA.yaml

    使用C2f-REPVGGOREPA替换C2f.[Online Convolutional Re-parameterization (CVPR2022)](https://github.com/JUGGHM/OREPA_CVPR2022/tree/main)
    项目视频百度云链接:关于OREPA,REPVGGOREPA,EMSC-OREPA,EMSCP-OREPA的说明

39. ultralytics/cfg/models/v8/yolov8-swintransformer.yaml

    SwinTransformer-Tiny替换yolov8主干.

40. ultralytics/cfg/models/v8/yolov8-repvit.yaml

    [CVPR2024 RepViT](https://github.com/THU-MIG/RepViT/tree/main)替换yolov8主干.

41. ultralytics/cfg/models/v8/yolov8-fasternet-bifpn.yaml

    fasternet与bifpn的结合.  
    其中BIFPN中有三个可选参数:
    1. Fusion  
        其中BIFPN中的Fusion模块支持四种: weight, adaptive, concat, bifpn(default), SDI  
        其中weight, adaptive, concat出自[paper链接-Figure 3](https://openreview.net/pdf?id=q2ZaVU6bEsT), SDI出自[U-NetV2](https://github.com/yaoppeng/U-Net_v2)
    2. node_mode  
        其中目前(后续会更新喔)支持这些[结构](#b)
    3. head_channel  
        BIFPN中的通道数,默认设置为256.

42. ultralytics/cfg/models/v8/yolov8-C2f-DCNV2-Dynamic.yaml

    利用自研注意力机制MPCA强化DCNV2中的offset和mask.
    项目视频百度云链接:MPCA与DCNV2_Dynamic的说明

43. ultralytics/cfg/models/v8/yolov8-goldyolo.yaml

    利用华为2023最新GOLD-YOLO中的Gatherand-Distribute进行改进特征融合模块
    介绍可看这期视频:https://www.bilibili.com/video/BV1Bp4y1w7MB/

44. ultralytics/cfg/models/v8/yolov8-C2f-ContextGuided.yaml

    使用[CGNet](https://github.com/wutianyiRosun/CGNet/tree/master)中的Light-weight Context Guided改进C2f.

45. ultralytics/cfg/models/v8/yolov8-ContextGuidedDown.yaml

    使用[CGNet](https://github.com/wutianyiRosun/CGNet/tree/master)中的Light-weight Context Guided DownSample进行下采样.

46. ultralytics/cfg/models/v8/yolov8-C2f-MSBlock.yaml

    使用[YOLO-MS](https://github.com/FishAndWasabi/YOLO-MS/tree/main)中的MSBlock改进C2f.
    项目视频百度云链接:20231010版本更新说明

47. ultralytics/cfg/models/v8/yolov8-C2f-DLKA.yaml

    使用[deformableLKA](https://github.com/xmindflow/deformableLKA)改进C2f.
    项目视频百度云链接:20231010版本更新说明

48. ultralytics/cfg/models/v8/yolov8-GFPN.yaml

    使用[DAMO-YOLO](https://github.com/tinyvision/DAMO-YOLO)中的RepGFPN改进Neck.
    项目视频百度云链接:20231010版本更新说明

49. ultralytics/cfg/models/v8/yolov8-SPDConv.yaml

    使用[SPDConv](https://github.com/LabSAINT/SPD-Conv/tree/main)进行下采样.
    项目视频百度云链接:20231010版本更新说明

50. ultralytics/cfg/models/v8/yolov8-EfficientRepBiPAN.yaml

    使用[YOLOV6](https://github.com/meituan/YOLOv6/tree/main)中的EfficientRepBiPAN改进Neck.
    项目视频百度云链接:20231010版本更新说明

51. ultralytics/cfg/models/v8/yolov8-C2f-EMBC.yaml

    使用[Efficientnet](https://blog.csdn.net/weixin_43334693/article/details/131114618?spm=1001.2014.3001.5501)中的MBConv与EffectiveSE改进C2f.
    项目视频百度云链接:20240920版本更新说明

52. ultralytics/cfg/models/v8/yolov8-SPPF-LSKA.yaml

    使用[LSKA](https://github.com/StevenLauHKHK/Large-Separable-Kernel-Attention)注意力机制改进SPPF,增强多尺度特征提取能力.

53. ultralytics/cfg/models/v8/yolov8-C2f-DAttention.yaml

    使用[Vision Transformer with Deformable Attention(CVPR2022)](https://github.com/LeapLabTHU/DAT)改进C2f.(需要看[常见错误和解决方案的第五点](#a))  
    使用注意点请看百度云视频.(DAttention(Vision Transformer with Deformable Attention CVPR2022)使用注意说明.)

54. ultralytics/cfg/models/v8/yolov8-CSwinTransformer.yaml

    使用[CSWin-Transformer(CVPR2022)](https://github.com/microsoft/CSWin-Transformer/tree/main)替换yolov8主干.(需要看[常见错误和解决方案的第五点](#a))

55. ultralytics/cfg/models/v8/yolov8-AIFI.yaml

    使用[RT-DETR](https://arxiv.org/pdf/2304.08069.pdf)中的Attention-based Intrascale Feature Interaction(AIFI)改进yolov8.
    项目视频百度云链接:20231107版本更新说明

56. ultralytics/cfg/models/v8/yolov8-C2f-Parc.yaml

    使用[ParC-Net](https://github.com/hkzhang-git/ParC-Net/tree/main)中的ParC_Operator改进C2f.(需要看[常见错误和解决方案的第五点](#a))  
    使用注意点请看百度云视频.(20231031更新说明)    

57. ultralytics/cfg/models/v8/yolov8-C2f-DWR.yaml

    使用[DWRSeg](https://arxiv.org/abs/2212.01173)中的Dilation-wise Residual(DWR)模块,加强从网络高层的可扩展感受野中提取特征.
    项目视频百度云链接:20231107版本更新说明

58. ultralytics/cfg/models/v8/yolov8-C2f-RFAConv.yaml

    使用[RFAConv](https://github.com/Liuchen1997/RFAConv/tree/main)中的RFAConv改进yolov8.

59. ultralytics/cfg/models/v8/yolov8-C2f-RFCBAMConv.yaml

    使用[RFAConv](https://github.com/Liuchen1997/RFAConv/tree/main)中的RFCBAMConv改进yolov8.

60. ultralytics/cfg/models/v8/yolov8-C2f-RFCAConv.yaml

    使用[RFAConv](https://github.com/Liuchen1997/RFAConv/tree/main)中的RFCAConv改进yolov8.

61. ultralytics/cfg/models/v8/yolov8-HGNetV2.yaml

    使用HGNetV2作为YOLOV8的backbone.

62. ultralytics/cfg/models/v8/yolov8-GhostHGNetV2.yaml

    使用Ghost_HGNetV2作为YOLOV8的backbone.
    项目视频百度云链接:GhostHGNetV2、RepHGNetV2改进说明

63. ultralytics/cfg/models/v8/yolov8-RepHGNetV2.yaml

    使用Rep_HGNetV2作为YOLOV8的backbone.
    项目视频百度云链接:GhostHGNetV2、RepHGNetV2改进说明

64. ultralytics/cfg/models/v8/yolov8-seg-EfficientHead.yaml(实例分割)

    对检测头进行重设计,支持10种轻量化检测头.详细请看ultralytics/nn/extra_modules/head.py中的Detect_Efficient class.[YOLOV8改进-带你分析V8的检测头并重设计10种结构轻量化检测头](https://www.bilibili.com/video/BV1cu411K7FE/)  

65. ultralytics/cfg/models/v8/yolov8-C2f-FocusedLinearAttention.yaml

    使用[FLatten Transformer(ICCV2023)](https://github.com/LeapLabTHU/FLatten-Transformer)中的FocusedLinearAttention改进C2f.(需要看[常见错误和解决方案的第五点](#a))    
    使用注意点请看百度云视频.(20231114版本更新说明.)

66. IoU,GIoU,DIoU,CIoU,EIoU,SIoU更换方法.

    请看LOSS改进系列.md

67. Inner-IoU,Inner-GIoU,Inner-DIoU,Inner-CIoU,Inner-EIoU,Inner-SIoU更换方法.

    请看LOSS改进系列.md

68. Inner-MPDIoU更换方法.

    请看LOSS改进系列.md

69. ultralytics/cfg/models/v8/yolov8-C2f-MLCA.yaml

    使用[Mixed Local Channel Attention 2023](https://github.com/wandahangFY/MLCA/tree/master)改进C2f.(用法请看百度云视频-20231129版本更新说明)

70. ultralytics/cfg/models/v8/yolov8-C2f-AKConv.yaml

    使用[AKConv 2023](https://github.com/CV-ZhangXin/AKConv)改进C2f.(用法请看百度云视频-20231129版本更新说明)

71. ultralytics/cfg/models/v8/yolov8-unireplknet.yaml

    使用[UniRepLKNet](https://github.com/AILab-CVC/UniRepLKNet/tree/main)替换yolov8主干.
    项目视频百度云链接:20231207版本更新说明

72. ultralytics/cfg/models/v8/yolov8-C2f-UniRepLKNetBlock.yaml

    使用[UniRepLKNet](https://github.com/AILab-CVC/UniRepLKNet/tree/main)中的UniRepLKNetBlock改进C2f.
    项目视频百度云链接:20231207版本更新说明

73. ultralytics/cfg/models/v8/yolov8-C2f-DRB.yaml

    使用[UniRepLKNet](https://github.com/AILab-CVC/UniRepLKNet/tree/main)中的DilatedReparamBlock改进C2f.
    项目视频百度云链接:20231207版本更新说明

74. ultralytics/cfg/models/v8/yolov8-C2f-DWR-DRB.yaml

    使用[UniRepLKNet](https://github.com/AILab-CVC/UniRepLKNet/tree/main)中的DilatedReparamBlock对[DWRSeg](https://arxiv.org/abs/2212.01173)中的Dilation-wise Residual(DWR)的模块进行二次创新后改进C2f.
    项目视频百度云链接:20231207版本更新说明

75. ultralytics/cfg/models/v8/yolov8-ASF.yaml

    使用[ASF-YOLO](https://github.com/mkang315/ASF-YOLO)中的Attentional Scale Sequence Fusion改进yolov8.
    项目视频百度云链接:20231217版本更新说明

76. ultralytics/cfg/models/v8/yolov8-ASF-P2.yaml

    在ultralytics/cfg/models/v8/yolov8-ASF.yaml的基础上进行二次创新,引入P2检测层并对网络结构进行优化.
    项目视频百度云链接:20231217版本更新说明

77. ultralytics/cfg/models/v8/yolov8-CSP-EDLAN.yaml

    使用[DualConv](https://github.com/ChipsGuardian/DualConv)打造CSP Efficient Dual Layer Aggregation Networks改进yolov8.
    项目视频百度云链接:20231217版本更新说明

78. ultralytics/cfg/models/v8/yolov8-TransNeXt.yaml

    使用[TransNeXt](https://github.com/DaiShiResearch/TransNeXt)改进yolov8的backbone.(需要看[常见错误和解决方案的第五点](#a))   

79. ultralytics/cfg/models/v8/yolov8-AggregatedAttention.yaml

    使用[TransNeXt](https://github.com/DaiShiResearch/TransNeXt)中的聚合感知注意力改进yolov8的backbone.(需要看[常见错误和解决方案的第五点](#a))   
    项目视频百度云链接:20231227版本更新说明

80. ultralytics/cfg/models/v8/yolov8-C2f-AggregatedAtt.yaml

    使用[TransNeXt](https://github.com/DaiShiResearch/TransNeXt)中的聚合感知注意力改进C2f.(需要看[常见错误和解决方案的第五点](#a))   
    项目视频百度云链接:20231227版本更新说明

81. ultralytics/cfg/models/v8/yolov8-bifpn-SDI.yaml

    使用[U-NetV2](https://github.com/yaoppeng/U-Net_v2)中的 Semantics and Detail Infusion Module对BIFPN进行二次创新.
    项目视频百度云链接:20231227版本更新说明

82. ultralytics/cfg/models/v8/yolov8-SDI.yaml

    使用[U-NetV2](https://github.com/yaoppeng/U-Net_v2)中的 Semantics and Detail Infusion Module对yolov8中的feature fusion部分进行重设计.
    项目视频百度云链接:20231227版本更新说明

83. Shape-IoU,Inner-Shape-IoU更换方法.

    请看LOSS改进系列.md

84. FocalLoss,VarifocalLoss,QualityfocalLoss更换方法.

    请看LOSS改进系列.md

85. Wise-IoU(v1,v2,v3)系列(IoU,WIoU,EIoU,GIoU,DIoU,CIoU,SIoU,MPDIoU,ShapeIoU)更换方法.

    请看LOSS改进系列.md

86. Inner-Wise-IoU(v1,v2,v3)系列(IoU,WIoU,EIoU,GIoU,DIoU,CIoU,SIoU,MPDIoU,ShapeIoU)更换方法.

    请看LOSS改进系列.md

87. ultralytics/cfg/models/v8/yolov8-goldyolo-asf.yaml

    利用华为2023最新GOLD-YOLO中的Gatherand-Distribute与[ASF-YOLO](https://github.com/mkang315/ASF-YOLO)中的Attentional Scale Sequence Fusion进行二次创新改进yolov8的neck.
    项目视频百度云链接:20240116版本更新说明

88. ultralytics/cfg/models/v8/yolov8-C2f-DCNV4.yaml

    使用[DCNV4](https://github.com/OpenGVLab/DCNv4)改进C2f.(请关闭AMP进行训练,使用教程请看20240116版本更新说明)

89. ultralytics/cfg/models/v8/yolov8-dyhead-DCNV4.yaml

    使用[DCNV4](https://github.com/OpenGVLab/DCNv4)对DyHead进行二次创新.(请关闭AMP进行训练,使用教程请看20240116版本更新说明)

90. ultralytics/cfg/models/v8/yolov8-HSFPN.yaml

    使用[MFDS-DETR](https://github.com/JustlfC03/MFDS-DETR)中的HS-FPN改进yolov8的neck.
    项目视频百度云链接:20240122版本更新说明

91. ultralytics/cfg/models/v8/yolov8-HSPAN.yaml

    对[MFDS-DETR](https://github.com/JustlfC03/MFDS-DETR)中的HS-FPN进行二次创新后得到HSPAN改进yolov8的neck.
    项目视频百度云链接:20240122版本更新说明

92. soft-nms(IoU,GIoU,DIoU,CIoU,EIoU,SIoU,ShapeIoU)

    soft-nms替换nms.(建议:仅在val.py时候使用,具体替换请看20240122版本更新说明)

93. ultralytics/cfg/models/v8/yolov8-dysample.yaml

    使用[ICCV2023 DySample](https://arxiv.org/abs/2308.15085)改进yolov8-neck中的上采样.
    项目视频百度云链接:20240122版本更新说明

94. ultralytics/cfg/models/v8/yolov8-CARAFE.yaml

    使用[ICCV2019 CARAFE](https://arxiv.org/abs/1905.02188)改进yolov8-neck中的上采样.
    项目视频百度云链接:20240122版本更新说明

95. ultralytics/cfg/models/v8/yolov8-HWD.yaml

    使用[Haar wavelet downsampling](https://www.sciencedirect.com/science/article/abs/pii/S0031320323005174)改进yolov8的下采样.(请关闭AMP情况下使用)
    项目视频百度云链接:20240122版本更新说明

96. Focaler-IoU系列(IoU,GIoU,DIoU,CIoU,EIoU,SIoU,WIoU,MPDIoU,ShapeIoU)

    请看LOSS改进系列.md

97. ultralytics/cfg/models/v8/yolov8-GDFPN.yaml

    使用[DAMO-YOLO](https://github.com/tinyvision/DAMO-YOLO)中的RepGFPN与[ICCV2023 DySample](https://arxiv.org/abs/2308.15085)进行二次创新改进Neck.
    项目视频百度云链接:20240203版本更新说明

98. ultralytics/cfg/models/v8/yolov8-HSPAN-DySample.yaml

    对[MFDS-DETR](https://github.com/JustlfC03/MFDS-DETR)中的HS-FPN进行二次创新后得到HSPAN再进行创新,使用[ICCV2023 DySample](https://arxiv.org/abs/2308.15085)改进其上采样模块.
    项目视频百度云链接:20240203版本更新说明

99. ultralytics/cfg/models/v8/yolov8-ASF-DySample.yaml

    使用[ASF-YOLO](https://github.com/mkang315/ASF-YOLO)中的Attentional Scale Sequence Fusion与[ICCV2023 DySample](https://arxiv.org/abs/2308.15085)组合得到Dynamic Sample Attentional Scale Sequence Fusion.
    项目视频百度云链接:20240203版本更新说明

100. ultralytics/cfg/models/v8/yolov8-SEAMHead.yaml

    使用[YOLO-Face V2](https://arxiv.org/pdf/2208.02019v2.pdf)中的遮挡感知注意力改进Head,使其有效地处理遮挡场景.
    项目视频百度云链接:20240920版本更新说明

101. ultralytics/cfg/models/v8/yolov8-MultiSEAMHead.yaml

    使用[YOLO-Face V2](https://arxiv.org/pdf/2208.02019v2.pdf)中的遮挡感知注意力改进Head,使其有效地处理遮挡场景.
    项目视频百度云链接:20240920版本更新说明

102. ultralytics/cfg/models/v8/yolov8-C2f-SWC.yaml

    使用[shift-wise conv](https://arxiv.org/abs/2401.12736)改进yolov8中的C2f.(详细请看20240216更新说明)
    项目视频百度云链接:20240216版本更新说明

103. ultralytics/cfg/models/v8/yolov8-C2f-iRMB.yaml

    使用[EMO ICCV2023](https://github.com/zhangzjn/EMO)中的iRMB改进C2f.(详细请看20240216更新说明)

104. ultralytics/cfg/models/v8/yolov8-C2f-iRMB-Cascaded.yaml

    使用[EfficientViT CVPR2023](https://github.com/microsoft/Cream/tree/main/EfficientViT)中的CascadedGroupAttention对[EMO ICCV2023](https://github.com/zhangzjn/EMO)中的iRMB进行二次创新来改进C2f.(详细请看20240216更新说明)

105. ultralytics/cfg/models/v8/yolov8-C2f-iRMB-DRB.yaml

    使用[UniRepLKNet](https://github.com/AILab-CVC/UniRepLKNet/tree/main)中的DilatedReparamBlock对[EMO ICCV2023](https://github.com/zhangzjn/EMO)中的iRMB进行二次创新来改进C2f.(详细请看20240216更新说明)

106. ultralytics/cfg/models/v8/yolov8-C2f-iRMB-SWC.yaml

    使用[shift-wise conv](https://arxiv.org/abs/2401.12736)对[EMO ICCV2023](https://github.com/zhangzjn/EMO)中的iRMB进行二次创新来改进C2f.(详细请看20240216更新说明)

107. ultralytics/cfg/models/v8/yolov8-C2f-VSS.yaml

    使用最新的Mamba架构[Mamba-UNet中的VSS](https://github.com/ziyangwang007/Mamba-UNet)对C2f中的BottleNeck进行改进,使其能更有效地捕获图像中的复杂细节和更广泛的语义上下文.
    项目视频百度云链接:20240219版本更新说明

108. ultralytics/cfg/models/v8/yolov8-C2f-LVMB.yaml

    使用最新的Mamba架构[Mamba-UNet中的VSS](https://github.com/ziyangwang007/Mamba-UNet)与Cross Stage Partial进行结合,使其能更有效地捕获图像中的复杂细节和更广泛的语义上下文.
    项目视频百度云链接:20240219版本更新说明

109. Powerful-IoU系列.

    请看LOSS改进系列.md

110. ultralytics/cfg/models/v8/yolov8-RepNCSPELAN.yaml

    使用[YOLOV9](https://github.com/WongKinYiu/yolov9)中的RepNCSPELAN进行改进yolov8.
    项目视频百度云链接:20240222版本更新说明

111. ultralytics/cfg/models/v8/yolov8-DBBNCSPELAN.yaml

    使用[Diverse Branch Block CVPR2021](https://arxiv.org/abs/2103.13425)对[YOLOV9](https://github.com/WongKinYiu/yolov9)中的RepNCSPELAN进行二次创新后改进yolov8.
    项目视频百度云链接:20240222版本更新说明

112. ultralytics/cfg/models/v8/yolov8-OREPANCSPELAN.yaml

    使用[Online Convolutional Re-parameterization (CVPR2022)](https://github.com/JUGGHM/OREPA_CVPR2022/tree/main)对[YOLOV9](https://github.com/WongKinYiu/yolov9)中的RepNCSPELAN进行二次创新后改进yolov8.
    项目视频百度云链接:20240222版本更新说明

113. ultralytics/cfg/models/v8/yolov8-DRBNCSPELAN.yaml

    使用[UniRepLKNet](https://github.com/AILab-CVC/UniRepLKNet/tree/main)中的DilatedReparamBlock对[YOLOV9](https://github.com/WongKinYiu/yolov9)中的RepNCSPELAN进行二次创新后改进yolov8.
    项目视频百度云链接:20240222版本更新说明

114. ultralytics/cfg/models/v8/yolov8-v7DS.yaml

    使用[YOLOV7 CVPR2023](https://arxiv.org/abs/2207.02696)的下采样结构改进YOLOV8中的下采样.
    项目视频百度云链接:20240229版本更新说明

115. ultralytics/cfg/models/v8/yolov8-ADown.yaml

    使用[YOLOV9](https://github.com/WongKinYiu/yolov9)的下采样结构改进YOLOV8中的下采样.
    项目视频百度云链接:20240229版本更新说明

116. ultralytics/cfg/models/v8/yolov8-PGI.yaml

    使用[YOLOV9](https://github.com/WongKinYiu/yolov9)的programmable gradient information改进YOLOV8.(PGI模块可在训练结束后去掉)
    项目视频百度云链接:20240229版本更新说明

117. ultralytics/cfg/models/v8/yolov8-C2f-DynamicConv.yaml

    使用[CVPR2024 parameternet](https://arxiv.org/pdf/2306.14525v2.pdf)中的DynamicConv改进C2f.
    项目视频百度云链接:20240303版本更新说明

118. ultralytics/cfg/models/v8/yolov8-C2f-GhostDynamicConv.yaml

    使用[CVPR2024 parameternet](https://arxiv.org/pdf/2306.14525v2.pdf)中的GhostModule改进C2f.
    项目视频百度云链接:20240303版本更新说明

119. ultralytics/cfg/models/v8/yolov8-DynamicHGNetV2.yaml

    使用[CVPR2024 parameternet](https://arxiv.org/pdf/2306.14525v2.pdf)中的DynamicConv对[CVPR2024 RTDETR](https://arxiv.org/abs/2304.08069)中的HGBlokc进行二次创新.
    项目视频百度云链接:20240303版本更新说明

120. ultralytics/cfg/models/v8/yolov8-C2f-RVB.yaml

    使用[CVPR2024 RepViT](https://github.com/THU-MIG/RepViT/tree/main)中的RepViTBlock改进C2f.
    项目视频百度云链接:20240309版本更新说明

121. ultralytics/cfg/models/v8/yolov8-C2f-RVB-EMA.yaml

    使用[CVPR2024 RepViT](https://github.com/THU-MIG/RepViT/tree/main)中的RepViTBlock和EMA注意力机制改进C2f.
    项目视频百度云链接:20240309版本更新说明

122. Lightweight Shared Convolutional Detection Head

    自研轻量化检测头.
    detect:ultralytics/cfg/models/v8/yolov8-LSCD.yaml
    seg:ultralytics/cfg/models/v8/yolov8-seg-LSCD.yaml
    pose:ultralytics/cfg/models/v8/yolov8-pose-LSCD.yaml
    obb:ultralytics/cfg/models/v8/yolov8-obb-LSCD.yaml
    1. GroupNorm在FCOS论文中已经证实可以提升检测头定位和分类的性能.
    2. 通过使用共享卷积,可以大幅减少参数数量,这使得模型更轻便,特别是在资源受限的设备上.
    3. 在使用共享卷积的同时,为了应对每个检测头所检测的目标尺度不一致的问题,使用Scale层对特征进行缩放.
    综合以上,我们可以让检测头做到参数量更少、计算量更少的情况下,尽可能减少精度的损失.
    项目视频百度云链接:20240309版本更新说明

123. ultralytics/cfg/models/v8/yolov8-DGCST.yaml

    使用[Lightweight Object Detection](https://arxiv.org/abs/2403.01736)中的Dynamic Group Convolution Shuffle Transformer改进yolov8.
    项目视频百度云链接:20240309版本更新说明

124. Task Align Dynamic Detection Head

    自研任务对齐动态检测头
    detect:ultralytics/cfg/models/v8/yolov8-TADDH.yaml
    seg:ultralytics/cfg/models/v8/yolov8-seg-TADDH.yaml
    pose:ultralytics/cfg/models/v8/yolov8-pose-TADDH.yaml
    obb:ultralytics/cfg/models/v8/yolov8-obb-TADDH.yaml
    1. GroupNorm在FCOS论文中已经证实可以提升检测头定位和分类的性能.
    2. 通过使用共享卷积,可以大幅减少参数数量,这使得模型更轻便,特别是在资源受限的设备上.并且在使用共享卷积的同时,为了应对每个检测头所检测的目标尺度不一致的问题,使用Scale层对特征进行缩放.
    3. 参照TOOD的思想,除了标签分配策略上的任务对齐,我们也在检测头上进行定制任务对齐的结构,现有的目标检测器头部通常使用独立的分类和定位分支,这会导致两个任务之间缺乏交互,TADDH通过特征提取器从多个卷积层中学习任务交互特征,得到联合特征,定位分支使用DCNV2和交互特征生成DCNV2的offset和mask,分类分支使用交互特征进行动态特征选择.
    项目视频百度云链接:20240314版本更新说明

125. ultralytics/cfg/models/v8/yolov8-rmt.yaml

    使用[CVPR2024 RMT](https://arxiv.org/abs/2309.11523)改进yolov8的主干.(需要看[常见错误和解决方案的第五点](#a))   
    项目视频百度云链接:20240323版本更新说明

126. ultralytics/cfg/models/v8/yolov8-C2f-RetBlock.yaml

    使用[CVPR2024 RMT](https://arxiv.org/abs/2309.11523)中的RetBlock改进C2f.
    项目视频百度云链接:20240323版本更新说明

127. ultralytics/cfg/models/v8/yolov8-ELA-HSFPN.yaml

    使用[Efficient Local Attention](https://arxiv.org/abs/2403.01123)改进HSFPN.
    项目视频百度云链接:20240323版本更新说明

128. ultralytics/cfg/models/v8/yolov8-CA-HSFPN.yaml

    使用[Coordinate Attention CVPR2021](https://github.com/houqb/CoordAttention)改进HSFPN.
    项目视频百度云链接:20240323版本更新说明

129. ultralytics/cfg/models/v8/yolov8-ELA-HSFPN-TADDH.yaml

    使用[Efficient Local Attention](https://arxiv.org/abs/2403.01123)改进HSFPN,使用自研动态动态对齐检测头改进Head.
    项目视频百度云链接:20241109版本更新说明

130. ultralytics/cfg/models/v8/yolov8-pkinet.yaml

    使用[CVPR2024 PKINet](https://github.com/PKINet/PKINet)改进backbone.(需要安装mmcv和mmengine)
    项目视频百度云链接:20240330版本更新说明

131. ultralytics/cfg/models/v8/yolov8-C2f-PKI.yaml

    使用[CVPR2024 PKINet](https://github.com/PKINet/PKINet)中的PKIModule和CAA模块改进C2f.
    项目视频百度云链接:20240330版本更新说明

132. ultralytics/cfg/models/v8/yolov8-RepNCSPELAN_CAA.yaml

    使用[CVPR2024 PKINet](https://github.com/PKINet/PKINet)中的CAA模块改进RepNCSPELAN.
    项目视频百度云链接:20240330版本更新说明

133. ultralytics/cfg/models/v8/yolov8-CAA-HSFPN.yaml

    使用[CVPR2024 PKINet](https://github.com/PKINet/PKINet)中的CAA模块HSFPN.
    项目视频百度云链接:20240330版本更新说明

134. ultralytics/cfg/models/v8/yolov8-C2f-fadc.yaml

    使用[CVPR2024 Frequency-Adaptive Dilated Convolution](https://github.com/Linwei-Chen/FADC)改进C2f.
    项目视频百度云链接:20240406版本更新说明

135. ultralytics/cfg/models/v8/yolov8-FDPN.yaml

    自研特征聚焦扩散金字塔网络(Focusing Diffusion Pyramid Network)
    1. 通过定制的特征聚焦模块与特征扩散机制,能让每个尺度的特征都具有详细的上下文信息,更有利于后续目标的检测与分类。
    2. 定制的特征聚焦模块可以接受三个尺度的输入,其内部包含一个Inception-Style的模块,其利用一组并行深度卷积来捕获丰富的跨多个尺度的信息。
    3. 通过扩散机制使具有丰富的上下文信息的特征进行扩散到各个检测尺度.
    项目视频百度云链接:20240406版本更新说明

136. ultralytics/cfg/models/v8/yolov8-FDPN-TADDH.yaml

    自研结构的融合.
    1. 自研特征聚焦扩散金字塔网络(Focusing Diffusion Pyramid Network)
    2. 自研任务对齐动态检测头(Task Align Dynamic Detection Head)
    项目视频百度云链接:20240408版本更新说明

137. ultralytics/cfg/models/v8/yolov8-C2f-PPA.yaml

    使用[HCFNet](https://github.com/zhengshuchen/HCFNet)中的Parallelized Patch-Aware Attention Module改进C2f.
    项目视频百度云链接:20240408版本更新说明

138. ultralytics/cfg/models/v8/yolov8-FDPN-DASI.yaml

    使用[HCFNet](https://github.com/zhengshuchen/HCFNet)中的Dimension-Aware Selective Integration Module对自研的Focusing Diffusion Pyramid Network再次创新.
    项目视频百度云链接:20240408版本更新说明

139. ultralytics/cfg/models/v8/yolov8-CSMHSA.yaml

    对Mutil-Head Self-Attention进行创新得到Cross-Scale Mutil-Head Self-Attention.
    1. 由于高维通常包含更高级别的语义信息,而低维包含更多细节信息,因此高维信息作为query,而低维信息作为key和Value,将两者结合起来可以利用高维的特征帮助低维的特征进行精细过滤,可以实现更全面和丰富的特征表达。
    2. 通过使用高维的上采样信息进行Query操作,可以更好地捕捉到目标的全局信息,从而有助于增强模型对目标的识别和定位能力。
    项目视频百度云链接:20240414版本更新说明

140. ultralytics/cfg/models/v8/yolov8-SRFD.yaml

    使用[A Robust Feature Downsampling Module for Remote Sensing Visual Tasks](https://ieeexplore.ieee.org/document/10142024)改进yolov8的下采样.
    项目视频百度云链接:20240420版本更新说明

141. ultralytics/cfg/models/v8/yolov8-CSFCN.yaml

    使用[Context and Spatial Feature Calibration for Real-Time Semantic Segmentation](https://github.com/kaigelee/CSFCN/tree/main)中的Context and Spatial Feature Calibration模块改进yolov8.
    项目视频百度云链接:20240420版本更新说明

142. ultralytics/cfg/models/v8/yolov8-mobilenetv4.yaml

    使用[MobileNetV4](https://github.com/jaiwei98/MobileNetV4-pytorch/tree/main)改进yolov8-backbone.
    项目视频百度云链接:20240428版本更新说明

143. ultralytics/cfg/models/v8/yolov8-CGAFusion.yaml

    使用[DEA-Net](https://github.com/cecret3350/DEA-Net)中的content-guided attention fusion改进yolov8-neck.
    项目视频百度云链接:20240428版本更新说明

144. ultralytics/cfg/models/v8/yolov8-CAFMFusion.yaml

    利用具有[HCANet](https://github.com/summitgao/HCANet)中的CAFM,其具有获取全局和局部信息的注意力机制进行二次改进content-guided attention fusion.
    项目视频百度云链接:20240428版本更新说明

145. ultralytics/cfg/models/v8/yolov8-RGCSPELAN.yaml

    自研RepGhostCSPELAN.
    1. 参考GhostNet中的思想(主流CNN计算的中间特征映射存在广泛的冗余),采用廉价的操作生成一部分冗余特征图,以此来降低计算量和参数量。
    2. 舍弃yolov5与yolov8中常用的BottleNeck,为了弥补舍弃残差块所带来的性能损失,在梯度流通分支上使用RepConv,以此来增强特征提取和梯度流通的能力,并且RepConv可以在推理的时候进行融合,一举两得。
    3. 可以通过缩放因子控制RGCSPELAN的大小,使其可以兼顾小模型和大模型。
    项目视频百度云链接:20240501版本更新说明

146. Lightweight Asymmetric Detection Head

    detect:ultralytics/cfg/models/v8/yolov8-LADH.yaml
    segment:ultralytics/cfg/models/v8/yolov8-seg-LADH.yaml
    pose:ultralytics/cfg/models/v8/yolov8-pose-LADH.yaml
    obb:ultralytics/cfg/models/v8/yolov8-obb-LADH.yaml
    使用[Faster and Lightweight: An Improved YOLOv5 Object Detector for Remote Sensing Images](https://www.mdpi.com/2072-4292/15/20/4974)中的Lightweight Asymmetric Detection Head改进yolov8-head.
    项目视频百度云链接:20240505版本更新说明

147. ultralytics/cfg/models/v8/yolov8-C2f-Faster-CGLU.yaml

    使用[TransNeXt CVPR2024](https://github.com/DaiShiResearch/TransNeXt)中的Convolutional GLU对CVPR2023中的FasterNet进行二次创新.
    项目视频百度云链接:20240505版本更新说明

148. ultralytics/cfg/models/v8/yolov8-SDFM.yaml

    使用[PSFusion](https://github.com/Linfeng-Tang/PSFusion)中的superficial detail fusion module改进yolov8-neck.
    项目视频百度云链接:20240512版本更新说明

149. ultralytics/cfg/models/v8/yolov8-PSFM.yaml

    使用[PSFusion](https://github.com/Linfeng-Tang/PSFusion)中的profound semantic fusion module改进yolov8-neck.
    项目视频百度云链接:20240512版本更新说明

150. Lightweight Shared Convolutional Separamter BN Detection Head

    基于自研轻量化检测头(LSCD)上,参考NASFPN的设计思路把GN换成BN,并且BN层参数不共享.
    detect:ultralytics/cfg/models/v8/yolov8-LSCSBD.yaml
    seg:ultralytics/cfg/models/v8/yolov8-seg-LSCSBD.yaml
    pose:ultralytics/cfg/models/v8/yolov8-pose-LSCSBD.yaml
    obb:ultralytics/cfg/models/v8/yolov8-obb-LSCSBD.yaml
    1. 由于不同层级之间特征的统计量仍存在差异,Normalization layer依然是必须的,由于直接在共享参数的检测头中引入BN会导致其滑动平均值产生误差,而引入 GN 又会增加推理时的开销,因此我们参考NASFPN的做法,让检测头共享卷积层,而BN则分别独立计算。
    项目视频百度云链接:20240512版本更新说明

151. ultralytics/cfg/models/v8/yolov8-starnet.yaml

    使用[StarNet CVPR2024](https://github.com/ma-xu/Rewrite-the-Stars/tree/main)改进yolov8-backbone.
    项目视频百度云链接:20240513版本更新说明

152. ultralytics/cfg/models/v8/yolov8-C2f-Star.yaml

    使用[StarNet CVPR2024](https://github.com/ma-xu/Rewrite-the-Stars/tree/main)中的StarBlock改进C2f.
    项目视频百度云链接:20240513版本更新说明

153. ultralytics/cfg/models/v8/yolov8-C2f-Star-CAA.yaml

    使用[StarNet CVPR2024](https://github.com/ma-xu/Rewrite-the-Stars/tree/main)中的StarBlock和[CVPR2024 PKINet](https://github.com/PKINet/PKINet)中的CAA改进C2f.
    项目视频百度云链接:20240513版本更新说明

154. ultralytics/cfg/models/v8/yolov8-starnet-C2f-Star-LSCD.yaml

    轻量化模型组合.
    1. CVPR2024-StarNet Backbone.
    2. C2f-Star.
    3. Lightweight Shared Convolutional Detection Head.
    项目视频百度云链接:20240513版本更新说明

155. ultralytics/cfg/models/v8/yolov8-C2f-KAN.yaml

    KAN In! Mamba Out! Kolmogorov-Arnold Networks.[Pytorch-Conv-KAN](https://github.com/IvanDrokin/torch-conv-kan)
    目前支持:
    1. FastKANConv2DLayer
    2. KANConv2DLayer
    3. KALNConv2DLayer
    4. KACNConv2DLayer
    5. KAGNConv2DLayer
    项目视频百度云链接:20240523版本更新说明

156. ultralytics/cfg/models/v8/yolov8-nmsfree.yaml

    仿照yolov10的思想采用双重标签分配和一致匹配度量进行训练,后处理不需要NMS!
    项目视频百度云链接:20240526版本更新说明

157. ultralytics/cfg/models/v8/yolov8-EIEStem.yaml

    提出了一种新的EIEStem模块,旨在作为图像识别任务中的高效前端模块。该模块结合了提取边缘信息的SobelConv分支和提取空间信息的卷积分支,能够学习到更加丰富的图像特征表示。
    1. 通过SobelConv分支,可以提取图像的边缘信息。由于Sobel滤波器可以检测图像中强度的突然变化,因此可以很好地捕捉图像的边缘特征。这些边缘特征在许多计算机视觉任务中都非常重要,例如图像分割和物体检测。
    2. EIEStem模块还结合空间信息,除了边缘信息,EIEStem还通过池化分支提取空间信息,保留重要的空间信息。结合边缘信息和空间信息,可以帮助模型更好地理解图像内容。
    3. 通过3D组卷积高效实现Sobel算子。
    项目视频百度云链接:20240526版本更新说明

158. ultralytics/cfg/models/v8/yolov8-C2f-EIEM.yaml

    提出了一种新的C2f-EIEM模块,旨在作为图像识别任务中的高效前端模块。该模块结合了提取边缘信息的SobelConv分支和提取空间信息的卷积分支,能够学习到更加丰富的图像特征表示。
    1. 边缘信息学习: 卷积神经网络 (CNN)通常擅长学习空间信息,但是对于提取图像中的边缘信息可能稍显不足。EIEStem 模块通过SobelConv分支,显式地提取图像的边缘特征。Sobel滤波器是一种经典的边缘检测滤波器,可以有效地捕捉图像中强度的突然变化,从而获得重要的边缘信息。
    2. 空间信息保留: 除了边缘信息,图像中的空间信息也同样重要。EIEStem模块通过一个额外的卷积分支 (conv_branch) 来提取空间信息。与SobelCon 分支不同,conv_branch提取的是原始图像的特征,可以保留丰富的空间细节。
    3. 特征融合: EIEStem模块将来自SobelConv分支和conv_branch提取的特征进行融合 (concatenate)。 这种融合操作使得学习到的特征表示既包含了丰富的边缘信息,又包含了空间信息,能够更加全面地刻画图像内容。
    项目视频百度云链接:20240526版本更新说明

159. ultralytics/cfg/models/v8/yolov8-ContextGuideFPN.yaml

    Context Guide Fusion Module(CGFM)是一个创新的特征融合模块,旨在改进YOLOv8中的特征金字塔网络(FPN)。该模块的设计考虑了多尺度特征融合过程中上下文信息的引导和自适应调整。
    1. 上下文信息的有效融合:通过SE注意力机制,模块能够在特征融合过程中捕捉并利用重要的上下文信息,从而增强特征表示的有效性,并有效引导模型学习检测目标的信息,从而提高模型的检测精度。
    2. 特征增强:通过权重化的特征重组操作,模块能够增强重要特征,同时抑制不重要特征,提升特征图的判别能力。
    3. 简单高效:模块结构相对简单,不会引入过多的计算开销,适合在实时目标检测任务中应用。
    这期视频讲解在B站:https://www.bilibili.com/video/BV1Vx4y1n7hZ/
    项目视频百度云链接:20240601版本更新说明

160. ultralytics/cfg/models/v8/yolov8-C2f-DEConv.yaml

    使用[DEA-Net](https://github.com/cecret3350/DEA-Net)中的detail-enhanced convolution改进C2f.
    关于DEConv在运行的时候重参数化后比重参数化前的计算量还要大的问题:是因为重参数化前thop库其计算不准的问题,看重参数化后的参数即可.
    项目视频百度云链接:20240601版本更新说明

161. ultralytics/cfg/models/v8/yolov8-LSDECD.yaml

    基于自研轻量化检测头上(LSCD),使用detail-enhanced convolution进一步改进,提高检测头的细节捕获能力,进一步改善检测精度.
    关于DEConv在运行的时候重参数化后比重参数化前的计算量还要大的问题:是因为重参数化前thop库其计算不准的问题,看重参数化后的参数即可.
    detect:ultralytics/cfg/models/v8/yolov8-LSDECD.yaml
    segment:ultralytics/cfg/models/v8/yolov8-seg-LSDECD.yaml
    pose:ultralytics/cfg/models/v8/yolov8-pose-LSDECD.yaml
    obb:ultralytics/cfg/models/v8/yolov8-obb-LSDECD.yaml
    1. DEA-Net中设计了一个细节增强卷积(DEConv),具体来说DEConv将先验信息整合到普通卷积层,以增强表征和泛化能力。然后,通过使用重参数化技术,DEConv等效地转换为普通卷积,不需要额外的参数和计算成本。
    项目视频百度云链接:20240601版本更新说明

162. ultralytics/cfg/models/v8/yolov8-C2f-SMPCGLU.yaml

    Self-moving Point Convolutional GLU模型改进C2f.
    SMP来源于[CVPR2023-SMPConv](https://github.com/sangnekim/SMPConv),Convolutional GLU来源于[TransNeXt CVPR2024](https://github.com/DaiShiResearch/TransNeXt).
    1. 普通的卷积在面对数据中的多样性和复杂性时,可能无法捕捉到有效的特征,因此我们采用了SMPConv,其具备最新的自适应点移动机制,从而更好地捕捉局部特征,提高特征提取的灵活性和准确性。
    2. 在SMPConv后添加CGLU,Convolutional GLU 结合了卷积和门控机制,能够选择性地通过信息通道,提高了特征提取的有效性和灵活性。
    3. 这种类似Transformer的encoder结构,利用DEConv进行特征提取,CGLU可以进一步的非线性变换和加强特征提取,提升模型的表达能力。
    项目视频百度云链接:20240601版本更新说明

163. ultralytics/cfg/models/v8/yolov8-C2f-Heat.yaml

    使用[vHeat](https://github.com/MzeroMiko/vHeat/tree/main)中的HeatBlock改进C2f.(需要看[常见错误和解决方案的第五点](#a)) 
    项目视频百度云链接:20240609版本更新说明

164. Re-CalibrationFPN

    为了加强浅层和深层特征的相互交互能力,推出重校准特征金字塔网络(Re-CalibrationFPN).
    P2345:ultralytics/cfg/models/v8/yolov8-ReCalibrationFPN-P2345.yaml(带有小目标检测头的ReCalibrationFPN)
    P345:ultralytics/cfg/models/v8/yolov8-ReCalibrationFPN-P345.yaml
    P3456:ultralytics/cfg/models/v8/yolov8-ReCalibrationFPN-P3456.yaml(带有大目标检测头的ReCalibrationFPN)
    1. 浅层语义较少,但细节丰富,有更明显的边界和减少失真。此外,深层蕴藏着丰富的物质语义信息。因此,直接融合低级具有高级特性的特性可能导致冗余和不一致。为了解决这个问题,我们提出了[SBA](https://github.com/Barrett-python/DuAT)模块,它有选择地聚合边界信息和语义信息来描绘更细粒度的物体轮廓和重新校准物体的位置。
    2. 相比传统的FPN结构,[SBA](https://github.com/Barrett-python/DuAT)模块引入了高分辨率和低分辨率特征之间的双向融合机制,使得特征之间的信息传递更加充分,进一步提升了多尺度特征融合的效果。
    3. [SBA](https://github.com/Barrett-python/DuAT)模块通过自适应的注意力机制,根据特征图的不同分辨率和内容,自适应地调整特征的权重,从而更好地捕捉目标的多尺度特征。
    项目视频百度云链接:20240609版本更新说明

165. ultralytics/cfg/models/v8/yolov8-WaveletPool.yaml

    使用[Wavelet Pooling](https://openreview.net/forum?id=rkhlb8lCZ)改进YOLOV8的上采样和下采样。
    项目视频百度云链接:20240613版本更新说明

166. ultralytics/cfg/models/v8/yolov8-CSP-PTB.yaml

    Cross Stage Partial - Partially Transformer Block
    在计算机视觉任务中,Transformer结构因其强大的全局特征提取能力而受到广泛关注。然而,由于Transformer结构的计算复杂度较高,直接将其应用于所有通道会导致显著的计算开销。为了在保证高效特征提取的同时降低计算成本,我们设计了一种混合结构,将输入特征图分为两部分,分别由CNN和Transformer处理,结合了卷积神经网络(CNN)和Transformer机制的模块,旨在增强特征提取的能力。
    我们提出了一种名为CSP_PTB(Cross Stage Partial - Partially Transformer Block)的模块,旨在结合CNN和Transformer的优势,通过对输入通道进行部分分配来优化计算效率和特征提取能力。
    1. 融合局部和全局特征:多项研究表明,CNN的感受野大小较少,导致其只能提取局部特征,但Transformer的MHSA能够提取全局特征,能够同时利用两者的优势。
    2. 保证高效特征提取的同时降低计算成本:为了能引入Transformer结构来提取全局特征又不想大幅度增加计算复杂度,因此提出Partially Transformer Block,只对部分通道使用TransformerBlock。
    3. MHSA_CGLU包含Mutil-Head-Self-Attention和[ConvolutionalGLU(TransNext CVPR2024)](https://github.com/DaiShiResearch/TransNeXt),其中Mutil-Head-Self-Attention负责提取全局特征,ConvolutionalGLU用于增强非线性特征表达能力,ConvolutionalGLU相比于传统的FFN,具有更强的性能。
    4. 可以根据不同的模型大小和具体的运行情况调节用于Transformer的通道数。
    项目视频百度云链接:20240613版本更新说明

167. [Mamba-YOLO](https://github.com/HZAI-ZJNU/Mamba-YOLO)

    集成Mamba-YOLO.(需要编译请看百度云视频-20240619版本更新说明)
    ultralytics/cfg/models/mamba-yolo/Mamba-YOLO-T.yaml
    ultralytics/cfg/models/mamba-yolo/Mamba-YOLO-B.yaml
    ultralytics/cfg/models/mamba-yolo/Mamba-YOLO-L.yaml
    ultralytics/cfg/models/mamba-yolo/yolo-mamba-seg.yaml
    项目视频百度云链接:20240619版本更新说明

168. ultralytics/cfg/models/v8/yolov8-GLSA.yaml

    使用[GLSA](https://github.com/Barrett-python/DuAT)模块改进yolov8的neck.
    项目视频百度云链接:20240619版本更新说明

169. ultralytics/cfg/models/v8/yolov8-bifpn-GLSA.yaml

    使用[GLSA](https://github.com/Barrett-python/DuAT)模块对bifpn进行二次创新.
    项目视频百度云链接:20240619版本更新说明

170. ultralytics/cfg/models/v8/yolov8-SOEP.yaml  
    
    小目标在正常的P3、P4、P5检测层上略显吃力,比较传统的做法是加上P2检测层来提升小目标的检测能力,但是同时也会带来一系列的问题,例如加上P2检测层后计算量过大、后处理更加耗时等问题,日益激发需要开发新的针对小目标有效的特征金字塔,我们基于原本的PAFPN上进行改进,提出SmallObjectEnhancePyramid,相对于传统的添加P2检测层,我们使用P2特征层经过SPDConv得到富含小目标信息的特征给到P3进行融合,然后使用CSP思想和基于[AAAI2024的OmniKernel](https://ojs.aaai.org/index.php/AAAI/article/view/27907)进行改进得到CSP-OmniKernel进行特征整合,OmniKernel模块由三个分支组成,即三个分支,即全局分支、大分支和局部分支、以有效地学习从全局到局部的特征表征,最终从而提高小目标的检测性能。
    该模块需要在train.py中关闭amp、且在ultralytics/engine/validator.py 115行附近的self.args.half设置为False、跑其余改进记得修改回去!
    出现这个报错的:RuntimeError: cuFFT error: CUFFT_INTERNAL_ERROR,如果你是40系显卡,需要更新torch大于2.0,并且cuda大于12.0.
    项目视频百度云链接:20240627版本更新说明

171. ultralytics/cfg/models/v8/yolov8-CTrans.yaml

    使用[[AAAI2022] UCTransNet](https://github.com/McGregorWwww/UCTransNet/tree/main)中的ChannelTransformer改进yolov8-neck.(需要看[常见错误和解决方案的第五点](#a))  
    项目视频百度云链接:20240627版本更新说明

172. ultralytics/cfg/models/v8/yolov8-p6-CTrans.yaml

    使用[[AAAI2022] UCTransNet](https://github.com/McGregorWwww/UCTransNet/tree/main)中的ChannelTransformer改进yolov8-neck.(带有p6版本)(需要看[常见错误和解决方案的第五点](#a))
    项目视频百度云链接:20240627版本更新说明  

173. ultralytics/cfg/models/v8/yolov8-C2f-WTConv.yaml

    使用[ECCV2024 Wavelet Convolutions for Large Receptive Fields](https://github.com/BGU-CS-VIL/WTConv)中的WTConv改进C2f-BottleNeck.
    项目视频百度云链接:20240720版本更新说明

174. ultralytics/cfg/models/v8/yolov8-CGRFPN.yaml

    Context-Guided Spatial Feature Reconstruction Feature Pyramid Network.
    1. 借鉴[ECCV2024-CGRSeg](https://github.com/nizhenliang/CGRSeg)中的Rectangular Self-Calibration Module经过精心设计,用于空间特征重建和金字塔上下文提取,它在水平和垂直方向上捕获全局上下文,并获得轴向全局上下文来显式地建模矩形关键区域.
    2. PyramidContextExtraction Module使用金字塔上下文提取模块(PyramidContextExtraction),有效整合不同层级的特征信息,提升模型的上下文感知能力。
    3. FuseBlockMulti 和 DynamicInterpolationFusion 这些模块用于多尺度特征的融合,通过动态插值和多特征融合,进一步提高了模型的多尺度特征表示能力和提升模型对复杂背景下目标的识别能力。
    项目视频百度云链接:20240720版本更新说明

175. ultralytics/cfg/models/v8/yolov8-FeaturePyramidSharedConv.yaml

    1. 多尺度特征提取
        通过使用不同膨胀率的卷积层,模块能够提取不同尺度的特征。这对捕捉图像中不同大小和不同上下文的信息非常有利。
        低膨胀率捕捉局部细节,高膨胀率捕捉全局上下文。
    2. 参数共享
        使用共享的卷积层 self.share_conv,大大减少了需要训练的参数数量。相比于每个膨胀率使用独立的卷积层,共享卷积层能够减少冗余,提升模型效率。
        减少了模型的存储和计算开销,提升了计算效率。
    3. 高效的通道变换
        通过1x1卷积层 self.cv1 和 self.cv2,模块能够高效地调整通道数,并进行特征融合。1x1卷积层在减少参数量的同时还能保留重要的特征信息。
    4. 更细粒度的特征提取
        FeaturePyramidSharedConv 使用卷积操作进行特征提取,能够捕捉更加细粒度的特征。相比之下,SPPF 的池化操作可能会丢失一些细节信息。
        卷积操作在特征提取时具有更高的灵活性和表达能力,可以更好地捕捉图像中的细节和复杂模式。
    项目视频百度云链接:20240729版本更新说明

176. ultralytics/cfg/models/v8/yolov8-C2f-FMB.yaml

    使用[ECCV2024 SMFANet](https://github.com/Zheng-MJ/SMFANet/tree/main)的Feature Modulation block改进C2f.
    项目视频百度云链接:20240729版本更新说明

177. ultralytics/cfg/models/v8/yolov8-LDConv.yaml

    使用[LDConv](https://github.com/CV-ZhangXin/LDConv/tree/main)改进下采样.
    项目视频百度云链接:20240803版本更新说明

178. ultralytics/cfg/models/v8/yolov8-C2f-gConv.yaml

    使用[Rethinking Performance Gains in Image Dehazing Networks](https://arxiv.org/abs/2209.11448)的gConvblock改进C2f.
    项目视频百度云链接:20240803版本更新说明

179. ultralytics/cfg/models/v8/yolov8-MAFPN.yaml

    使用[MAF-YOLO](https://arxiv.org/pdf/2407.04381)的MAFPN改进Neck.
    项目视频百度云链接:20240803版本更新说明

180. ultralytics/cfg/models/v8/yolov8-BIMAFPN.yaml

    利用BIFPN的思想对[MAF-YOLO](https://arxiv.org/pdf/2407.04381)的MAFPN进行二次改进得到BIMAFPN.
    项目视频百度云链接:20240803版本更新说明

181. APT(Adaptive Power Transformation)-TAL.

    为了使不同gt预测对的匹配质量和损失权重更具鉴别性,我们通过自定义的PowerTransformer显著增强高质量预测框的权重,抑制低质量预测框的影响,并使模型在学习的过程可以更关注质量高的预测框。
    修改方式:ultralytics/utils/tal.py中的get_box_metrics函数中的power参数设置为True.
    项目视频百度云链接:20240813版本更新说明

182. ultralytics/cfg/models/v8/yolov8-C2f-WDBB.yaml

    使用[YOLO-MIF](https://github.com/wandahangFY/YOLO-MIF)中的WDBB改进c2f.
    项目视频百度云链接:20240813版本更新说明

183. ultralytics/cfg/models/v8/yolov8-C2f-DeepDBB.yaml

    使用[YOLO-MIF](https://github.com/wandahangFY/YOLO-MIF)中的DeepDBB改进c2f.
    项目视频百度云链接:20240813版本更新说明

184. ultralytics/cfg/models/v8/yolov8-AIFIRepBN.yaml

    使用[ICML-2024 SLAB](https://github.com/xinghaochen/SLAB)中的RepBN改进AIFI.
    项目视频百度云链接:20240813版本更新说明

185. ultralytics/cfg/models/v8/yolov8-C2f-AdditiveBlock.yaml

    使用[CAS-ViT](https://github.com/Tianfang-Zhang/CAS-ViT)中的AdditiveBlock改进c2f.
    项目视频百度云链接:20240822版本更新说明

186. ultralytics/cfg/models/v8/yolov8-C2f-AdditiveBlock-CGLU.yaml

    使用[CAS-ViT](https://github.com/Tianfang-Zhang/CAS-ViT)中的AdditiveBlock和[TransNeXt CVPR2024](https://github.com/DaiShiResearch/TransNeXt)中的Convolutional GLU改进c2f.
    项目视频百度云链接:20240822版本更新说明

187. ultralytics/cfg/models/v8/yolov8-EMBSFPN.yaml

    基于BIFPN、[MAF-YOLO](https://arxiv.org/pdf/2407.04381)、[CVPR2024 EMCAD](https://github.com/SLDGroup/EMCAD)提出全新的Efficient Multi-Branch&Scale FPN.
    Efficient Multi-Branch&Scale FPN拥有<轻量化>、<多尺度特征加权融合>、<多尺度高效卷积模块>、<高效上采样模块>、<全局异构核选择机制>。
    1. 具有多尺度高效卷积模块和全局异构核选择机制,Trident网络的研究表明,具有较大感受野的网络更适合检测较大的物体,反之,较小尺度的目标则从较小的感受野中受益,因此我们在FPN阶段,对于不同尺度的特征层选择不同的多尺度卷积核以适应并逐步获得多尺度感知场信息。
    2. 借鉴BIFPN中的多尺度特征加权融合,能把Concat换成Add来减少参数量和计算量的情况下,还能通过不同尺度特征的重要性进行自适用选择加权融合。
    3. 高效上采样模块来源于CVPR2024-EMCAD中的EUCB,能够在保证一定效果的同时保持高效性。
    项目视频百度云链接:20240822版本更新说明

188. ultralytics/cfg/models/v8/yolov8-C2f-MSMHSA-CGLU.yaml

    使用[CMTFNet](https://github.com/DrWuHonglin/CMTFNet/tree/main)中的M2SA和[TransNeXt CVPR2024](https://github.com/DaiShiResearch/TransNeXt)中的Convolutional GLU改进c2f.
    项目视频百度云链接:20240831版本更新说明

189. ultralytics/cfg/models/v8/yolov8-CSP-PMSFA.yaml

    自研模块:CSP-Partial Multi-Scale Feature Aggregation.
    1. 部分多尺度特征提取:参考CVPR2020-GhostNet、CVPR2024-FasterNet的思想,采用高效的PartialConv,该模块能够从输入中提取多种尺度的特征信息,但它并不是在所有通道上进行这种操作,而是部分(Partial)地进行,从而提高了计算效率。
    2. 增强的特征融合: 最后的 1x1 卷积层通过将不同尺度的特征融合在一起,同时使用残差连接将输入特征与处理后的特征相加,有效保留了原始信息并引入了新的多尺度信息,从而提高模型的表达能力。
    项目视频百度云链接:20240831版本更新说明

190. Cross-Layer Feature Pyramid Transformer.   

    P345:ultralytics/cfg/models/v8/yolov8-CFPT.yaml
    P2345:ultralytics/cfg/models/v8/yolov8-CFPT-P2345.yaml
    P3456:ultralytics/cfg/models/v8/yolov8-CFPT-P3456.yaml
    P23456:ultralytics/cfg/models/v8/yolov8-CFPT-P23456.yaml

    使用[CFPT](https://github.com/duzw9311/CFPT/tree/main)改进neck.此模块多人反应训练过程中有可能会出现不明报错,估计是源码有一定问题,遇到这个情况换别的去跑.
    项目视频百度云链接:20240908版本更新说明

191. ultralytics/cfg/models/v8/yolov8-C2f-MogaBlock.yaml

    使用[MogaNet ICLR2024](https://github.com/Westlake-AI/MogaNet)中的MogaBlock改进C2f.
    项目视频百度云链接:20240908版本更新说明

192. ultralytics/cfg/models/v8/yolov8-C2f-SHSA.yaml

    使用[SHViT CVPR2024](https://github.com/ysj9909/SHViT)中的SHSABlock改进C2f.
    项目视频百度云链接:20240920版本更新说明

193. ultralytics/cfg/models/v8/yolov8-C2f-SHSA-CGLU.yaml

    使用[SHViT CVPR2024](https://github.com/ysj9909/SHViT)中的SHSABlock与[TransNeXt CVPR2024](https://github.com/DaiShiResearch/TransNeXt)中的CGLU改进C2f.
    项目视频百度云链接:20240920版本更新说明

194. ultralytics/cfg/models/v8/yolov8-C2f-SMAFB.yaml

    使用[SMAFormer BIBM2024](https://github.com/CXH-Research/SMAFormer)中的SMAFormerBlock改进C2f.(需要看[常见错误和解决方案的第五点](#a))
    项目视频百度云链接:20240920版本更新说明

195. ultralytics/cfg/models/v8/yolov8-C2f-SMAFB-CGLU.yaml

    使用[SMAFormer BIBM2024](https://github.com/CXH-Research/SMAFormer)中的SMAFormerBlock与[TransNeXt CVPR2024](https://github.com/DaiShiResearch/TransNeXt)中的CGLU改进C2f.(需要看[常见错误和解决方案的第五点](#a))
    项目视频百度云链接:20240920版本更新说明

196. ultralytics/cfg/models/v8/yolov8-FreqFFPN.yaml

    使用[FreqFusion TPAMI2024](https://github.com/Linwei-Chen/FreqFusion)中的FreqFusion改进Neck.(这个需要python3.10,不然最后保存模型会出错.)
    项目视频百度云链接:20240920版本更新说明

197. ultralytics/cfg/models/v8/yolov8-MutilBackbone-DAF.yaml

    自研MutilBackbone-DynamicAlignFusion.
    1. 为了避免在浅层特征图上消耗过多计算资源,设计的MutilBackbone共享一个stem的信息,这个设计有利于避免计算量过大,推理时间过大的问题。
    2. 为了避免不同Backbone信息融合出现不同来源特征之间的空间差异,我们为此设计了DynamicAlignFusion,其先通过融合来自两个不同模块学习到的特征,然后生成一个名为DynamicAlignWeight去调整各自的特征,最后使用一个可学习的通道权重,其可以根据输入特征动态调整两条路径的权重,从而增强模型对不同特征的适应能力。
    项目视频百度云链接:20241007版本更新说明

198. ultralytics/cfg/models/v8/yolov8-C2f-IdentityFormer.yaml

    使用[Metaformer TPAMI2024](https://github.com/sail-sg/metaformer)中的IdentityFormer改进c2f.
    项目视频百度云链接:20241007版本更新说明

199. ultralytics/cfg/models/v8/yolov8-C2f-RandomMixing.yaml

    使用[Metaformer TPAMI2024](https://github.com/sail-sg/metaformer)中的RandomMixingFormer改进c2f.(需要看[常见错误和解决方案的第五点](#a))
    项目视频百度云链接:20241007版本更新说明

200. ultralytics/cfg/models/v8/yolov8-C2f-PoolingFormer.yaml

    使用[Metaformer TPAMI2024](https://github.com/sail-sg/metaformer)中的PoolingFormer改进c2f.
    项目视频百度云链接:20241007版本更新说明

201. ultralytics/cfg/models/v8/yolov8-C2f-ConvFormer.yaml

    使用[Metaformer TPAMI2024](https://github.com/sail-sg/metaformer)中的ConvFormer改进c2f.
    项目视频百度云链接:20241007版本更新说明

202. ultralytics/cfg/models/v8/yolov8-C2f-CaFormer.yaml

    使用[Metaformer TPAMI2024](https://github.com/sail-sg/metaformer)中的CaFormer改进c2f.
    项目视频百度云链接:20241007版本更新说明

203. ultralytics/cfg/models/v8/yolov8-C2f-IdentityFormer-CGLU.yaml

    使用[Metaformer TPAMI2024](https://github.com/sail-sg/metaformer)中的IdentityFormer和[TransNeXt CVPR2024](https://github.com/DaiShiResearch/TransNeXt)中的CGLU改进c2f.
    项目视频百度云链接:20241007版本更新说明

204. ultralytics/cfg/models/v8/yolov8-C2f-RandomMixing-CGLU.yaml

    使用[Metaformer TPAMI2024](https://github.com/sail-sg/metaformer)中的RandomMixing和[TransNeXt CVPR2024](https://github.com/DaiShiResearch/TransNeXt)中的CGLU改进c2f.(需要看[常见错误和解决方案的第五点](#a))
    项目视频百度云链接:20241007版本更新说明

205. ultralytics/cfg/models/v8/yolov8-C2f-PoolingFormer-CGLU.yaml

    使用[Metaformer TPAMI2024](https://github.com/sail-sg/metaformer)中的PoolingFormer和[TransNeXt CVPR2024](https://github.com/DaiShiResearch/TransNeXt)中的CGLU改进c2f.
    项目视频百度云链接:20241007版本更新说明

206. ultralytics/cfg/models/v8/yolov8-C2f-ConvFormer-CGLU.yaml

    使用[Metaformer TPAMI2024](https://github.com/sail-sg/metaformer)中的ConvFormer和[TransNeXt CVPR2024](https://github.com/DaiShiResearch/TransNeXt)中的CGLU改进c2f.
    项目视频百度云链接:20241007版本更新说明

207. ultralytics/cfg/models/v8/yolov8-C2f-CaFormer-CGLU.yaml

    使用[Metaformer TPAMI2024](https://github.com/sail-sg/metaformer)中的CaFormer和[TransNeXt CVPR2024](https://github.com/DaiShiResearch/TransNeXt)中的CGLU改进c2f.
    项目视频百度云链接:20241007版本更新说明

208. ultralytics/cfg/models/v8/yolov8-C2f-MutilScaleEdgeInformationEnhance.yaml

    自研CSP-MutilScaleEdgeInformationEnhance.
    MutilScaleEdgeInformationEnhance模块结合了多尺度特征提取、边缘信息增强和卷积操作。它的主要目的是从不同尺度上提取特征,突出边缘信息,并将这些多尺度特征整合到一起,最后通过卷积层输出增强的特征。这个模块在特征提取和边缘增强的基础上有很好的表征能力.
    1. 多尺度特征提取:通过 nn.AdaptiveAvgPool2d 进行多尺度的池化,提取不同大小的局部信息,有助于捕捉图像的多层次特征。
    2. 边缘增强:EdgeEnhancer 模块专门用于提取边缘信息,使得网络对边缘的敏感度增强,这对许多视觉任务(如目标检测、语义分割等)有重要作用。
    3. 特征融合:将不同尺度下提取的特征通过插值操作对齐到同一尺度,然后将它们拼接在一起,最后经过卷积层融合成统一的特征表示,能够提高模型对多尺度特征的感知。
    项目视频百度云链接:20241024版本更新说明

209. ultralytics/cfg/models/v8/yolov8-C2f-FFCM.yaml

    使用[Efficient Frequency-Domain Image Deraining with Contrastive Regularization ECCV2024](https://github.com/deng-ai-lab/FADformer)中的Fused_Fourier_Conv_Mixer改进C2f.
    该模块需要在train.py中关闭amp、且在ultralytics/engine/validator.py 115行附近的self.args.half设置为False、跑其余改进记得修改回去!
    项目视频百度云链接:20241024版本更新说明

210. Rep Shared Convolutional Detection Head

    自研重参数轻量化检测头.
    detect:ultralytics/cfg/models/v8/yolov8-RSCD.yaml
    seg:ultralytics/cfg/models/v8/yolov8-seg-RSCD.yaml
    pose:ultralytics/cfg/models/v8/yolov8-pose-RSCD.yaml
    obb:ultralytics/cfg/models/v8/yolov8-obb-RSCD.yaml
    1. 通过使用共享卷积,可以大幅减少参数数量,这使得模型更轻便,特别是在资源受限的设备上.但由于共享参数可能限制模型的表达能力,因为不同特征可能需要不同的卷积核来捕捉复杂的模式。共享参数可能无法充分捕捉这些差异。为了尽量弥补实现轻量化所采取的共享卷积带来的负面影响,我们使用可重参数化卷积,通过引入更多的可学习参数,网络可以更有效地从数据中提取特征,进而弥补轻量化模型后可能带来的精度丢失问题,并且重参数化卷积可以大大提升参数利用率,并且在推理阶段与普通卷积无差,为模型带来无损的优化方案。
    2. 在使用共享卷积的同时,为了应对每个检测头所检测的目标尺度不一致的问题,使用Scale层对特征进行缩放.
    项目视频百度云链接:20241031版本更新说明

211. ultralytics/cfg/models/v8/yolov8-C2f-SFHF.yaml

    使用[SFHformer ECCV2024](https://github.com/deng-ai-lab/SFHformer)中的block改进C2f.
    该模块需要在train.py中关闭amp、且在ultralytics/engine/validator.py 115行附近的self.args.half设置为False、跑其余改进记得修改回去!
    项目视频百度云链接:20241109版本更新说明

212. ultralytics/cfg/models/v8/yolov8-CSP-FreqSpatial.yaml

    FreqSpatial 是一个融合时域和频域特征的卷积神经网络(CNN)模块。该模块通过在时域和频域中提取特征,旨在捕捉不同层次的空间和频率信息,以增强模型在处理图像数据时的鲁棒性和表示能力。模块的主要特点是将 Scharr 算子(用于边缘检测)与 时域卷积 和 频域卷积 结合,通过多种视角捕获图像的结构特征。
    1. 时域特征提取:从原始图像中提取出基于空间结构的特征,主要捕捉图像的细节、边缘信息等。
    2. 频域特征提取:从频率域中提取出频率相关的模式,捕捉到图像的低频和高频成分,能够帮助模型在全局和局部的尺度上提取信息。
    3. 特征融合:将时域和频域的特征进行加权相加,得到最终的输出特征图。这种加权融合允许模型同时考虑空间结构信息和频率信息,从而增强模型在多种场景下的表现能力。
    该模块需要在train.py中关闭amp、且在ultralytics/engine/validator.py 115行附近的self.args.half设置为False、跑其余改进记得修改回去!
    项目视频百度云链接:20241109版本更新说明

213. ultralytics/cfg/models/v8/yolov8-C2f-MSM.yaml

    使用[Revitalizing Convolutional Network for Image Restoration TPAMI2024](https://zhuanlan.zhihu.com/p/720777160)中的MSM改进C2f.(需要看[常见错误和解决方案的第五点](#a))
    项目视频百度云链接:20241109版本更新说明

214. ultralytics/cfg/models/v8/yolov8-C2f-RAB.yaml

    使用[Pattern Recognition 2024|DRANet](https://github.com/WenCongWu/DRANet)中的HDRAB(hybrid dilated residual attention block)改进C2f.
    项目视频百度云链接:20241122版本更新说明

215. ultralytics/cfg/models/v8/yolov8-C2f-HDRAB.yaml

    使用[Pattern Recognition 2024|DRANet](https://github.com/WenCongWu/DRANet)中的RAB( residual attention block)改进C2f.
    项目视频百度云链接:20241122版本更新说明

216. ultralytics/cfg/models/v8/yolov8n-C2f-LFE.yaml

    使用[Efficient Long-Range Attention Network for Image Super-resolution ECCV2022](https://github.com/xindongzhang/ELAN)中的Local feature extraction改进C2f.
    项目视频百度云链接:20241122版本更新说明

217. ultralytics/cfg/models/v8/yolov8-C2f-MutilScaleEdgeInformationSelect.yaml

    基于自研CSP-MutilScaleEdgeInformationEnhance再次创新.
    我们提出了一个 多尺度边缘信息选择模块(MutilScaleEdgeInformationSelect),其目的是从多尺度边缘信息中高效选择与目标任务高度相关的关键特征。为了实现这一目标,我们引入了一个具有通过聚焦更重要的区域能力的注意力机制[ICCV2023 DualDomainSelectionMechanism, DSM](https://github.com/c-yn/FocalNet)。该机制通过聚焦图像中更重要的区域(如复杂边缘和高频信号区域),在多尺度特征中自适应地筛选具有更高任务相关性的特征,从而显著提升了特征选择的精准度和整体模型性能。
    项目视频百度云链接:20241122版本更新说明

218. ultralytics/cfg/models/v8/yolov8-C2f-SFA.yaml

    使用[FreqFormer](https://github.com/JPWang-CS/FreqFormer)的Frequency-aware Cascade Attention-SFA改进C2f.
    项目视频百度云链接:20241204版本更新说明

219. ultralytics/cfg/models/v8/yolov8-C2f-CTA.yaml

    使用[FreqFormer](https://github.com/JPWang-CS/FreqFormer)的Frequency-aware Cascade Attention-CTA改进C2f.
    项目视频百度云链接:20241204版本更新说明

220. GlobalEdgeInformationTransfer

    实现版本1:ultralytics/cfg/models/v8/yolov8-GlobalEdgeInformationTransfer1.yaml
    实现版本2:ultralytics/cfg/models/v8/yolov8-GlobalEdgeInformationTransfer2.yaml
    实现版本3:ultralytics/cfg/models/v8/yolov8-GlobalEdgeInformationTransfer3.yaml
    总所周知,物体框的定位非常之依赖物体的边缘信息,但是对于常规的目标检测网络来说,没有任何组件能提高网络对物体边缘信息的关注度,我们需要开发一个能让边缘信息融合到各个尺度所提取的特征中,因此我们提出一个名为GlobalEdgeInformationTransfer(GEIT)的模块,其可以帮助我们把浅层特征中提取到的边缘信息传递到整个backbone上,并与不同尺度的特征进行融合。
    1. 由于原始图像中含有大量背景信息,因此从原始图像上直接提取边缘信息传递到整个backbone上会给网络的学习带来噪声,而且浅层的卷积层会帮助我们过滤不必要的背景信息,因此我们选择在网络的浅层开发一个名为MutilScaleEdgeInfoGenetator的模块,其会利用网络的浅层特征层去生成多个尺度的边缘信息特征图并投放到主干的各个尺度中进行融合。
    2. 对于下采样方面的选择,我们需要较为谨慎,我们的目标是保留并增强边缘信息,同时进行下采样,选择MaxPool 会更合适。它能够保留局部区域的最强特征,更好地体现边缘信息。因为 AvgPool 更适用于需要平滑或均匀化特征的场景,但在保留细节和边缘信息方面的表现不如 MaxPool。
    3. 对于融合部分,ConvEdgeFusion巧妙地结合边缘信息和普通卷积特征,提出了一种新的跨通道特征融合方式。首先,使用conv_channel_fusion进行边缘信息与普通卷积特征的跨通道融合,帮助模型更好地整合不同来源的特征。然后采用conv_3x3_feature_extract进一步提取融合后的特征,以增强模型对局部细节的捕捉能力。最后通过conv_1x1调整输出特征维度。
    项目视频百度云链接:20241204版本更新说明

221. ultralytics/cfg/models/v8/yolov8-C2f-CAMixer.yaml

    使用[CAMixerSR CVPR2024](https://github.com/icandle/CAMixerSR)中的CAMixer改进C2f.(需要看[常见错误和解决方案的第五点](#a))
    该模块需要在train.py中关闭amp、且在ultralytics/engine/validator.py 115行附近的self.args.half设置为False、跑其余改进记得修改回去!
    项目视频百度云链接:20241219版本更新说明
    
222. Hyper-YOLO(TPAMI2025)

    1. ultralytics/cfg/models/hyper-yolo/hyper-yolo.yaml
    2. ultralytics/cfg/models/hyper-yolo/hyper-yolot.yaml
    3. ultralytics/cfg/models/hyper-yolo/hyper-yolo-seg.yaml
    项目视频百度云链接:20241219版本更新说明

223. ultralytics/cfg/models/v8/yolov8-hyper.yaml

    使用[Hyper-YOLO TPAMI2025](https://www.arxiv.org/pdf/2408.04804)中的Hypergraph Computation in Semantic Space改进yolov8.
    项目视频百度云链接:20241219版本更新说明

224. ultralytics/cfg/models/v8/yolov8-MAN.yaml

    使用[Hyper-YOLO TPAMI2025](https://www.arxiv.org/pdf/2408.04804)中的Mixed Aggregation Network改进yolov8.
    项目视频百度云链接:20241219版本更新说明

225. ultralytics/cfg/models/v8/yolov8-MAN-Faster.yaml

    使用[Hyper-YOLO](https://www.arxiv.org/pdf/2408.04804)中的 Mixed Aggregation Network和[FasterNet CVPR2023](https://github.com/JierunChen/FasterNet)中的Faster-Block进行二次创新改进yolov8.
    项目视频百度云链接:20250101版本更新说明

226. ultralytics/cfg/models/v8/yolov8-MAN-FasterCGLU.yaml

    使用[Hyper-YOLO](https://www.arxiv.org/pdf/2408.04804)中的 Mixed Aggregation Network和[FasterNet CVPR2023](https://github.com/JierunChen/FasterNet)中的Faster-Block和[TransNeXt CVPR2024](https://github.com/DaiShiResearch/TransNeXt)中的Convolutional GLU进行二次创新改进yolov8.
    项目视频百度云链接:20250101版本更新说明

227. ultralytics/cfg/models/v8/yolov8-MAN-Star.yaml

    使用[Hyper-YOLO](https://www.arxiv.org/pdf/2408.04804)中的 Mixed Aggregation Network和[StarNet CVPR2024](https://github.com/ma-xu/Rewrite-the-Stars/tree/main)中的StarBlock进行二次创新改进yolov8.
    项目视频百度云链接:20250101版本更新说明

228. ultralytics/cfg/models/v8/yolov8-msga.yaml

    使用[MSA^2 Net](https://github.com/xmindflow/MSA-2Net)中的Multi-Scale Adaptive Spatial Attention Gate改进yolov8-neck.
    项目视频百度云链接:20250101版本更新说明

229. ultralytics/cfg/models/v8/yolov8-MutilBackbone-MSGA.yaml

    使用[MSA^2 Net](https://github.com/xmindflow/MSA-2Net)中的Multi-Scale Adaptive Spatial Attention Gate对自研系列MutilBackbone再次创新.
    项目视频百度云链接:20250101版本更新说明

230. ultralytics/cfg/models/v8/yolov8-C2f-HFERB.yaml

    使用[ICCV2023 CRAFT-SR](https://github.com/AVC2-UESTC/CRAFT-SR)中的high-frequency enhancement residual block改进C2f.
    项目视频百度云链接:20250119版本更新说明

231. ultralytics/cfg/models/v8/yolov8-C2f-DTAB.yaml

    使用[AAAI2025 TBSN](https://github.com/nagejacob/TBSN)中的DTAB改进C2f.(需要看[常见错误和解决方案的第五点](#a))
    项目视频百度云链接:20250119版本更新说明

232. ultralytics/cfg/models/v8/yolov8-C2f-JDPM.yaml

    使用[ECCV2024 FSEL](https://github.com/CSYSI/FSEL)中的joint domain perception module改进C2f.
    该模块需要在train.py中关闭amp、且在ultralytics/engine/validator.py 115行附近的self.args.half设置为False、跑其余改进记得修改回去!
    项目视频百度云链接:20250119版本更新说明

233. ultralytics/cfg/models/v8/yolov8-C2f-ETB.yaml

    使用[ECCV2024 FSEL](https://github.com/CSYSI/FSEL)中的entanglement transformer block改进C2f.
    该模块需要在train.py中关闭amp、且在ultralytics/engine/validator.py 115行附近的self.args.half设置为False、跑其余改进记得修改回去!
    项目视频百度云链接:20250119版本更新说明

234. ultralytics/cfg/models/v8/yolov8-WFU.yaml

    使用[ACMMM2024 WFEN](https://github.com/PRIS-CV/WFEN)中的Wavelet Feature Upgrade改进yolov8-neck.
    项目视频百度云链接:20250119版本更新说明

235. ultralytics/cfg/models/v8/yolov8-slimneck-WFU.yaml

    使用[ACMMM2024 WFEN](https://github.com/PRIS-CV/WFEN)中的Wavelet Feature Upgrade对slimneck二次创新.
    项目视频百度云链接:20250119版本更新说明

236. ultralytics/cfg/models/v8/yolov8-MAN-FasterCGLU-WFU.yaml

    使用[ACMMM2024 WFEN](https://github.com/PRIS-CV/WFEN)中的Wavelet Feature Upgrade和[Hyper-YOLO](https://www.arxiv.org/pdf/2408.04804)中的 Mixed Aggregation Network和[FasterNet CVPR2023](https://github.com/JierunChen/FasterNet)中的Faster-Block和[TransNeXt CVPR2024](https://github.com/DaiShiResearch/TransNeXt)中的Convolutional GLU进行二次创新改进yolov8.
    项目视频百度云链接:20250119版本更新说明

237. ultralytics/cfg/models/v8/yolov8-C2f-AP.yaml

    使用[AAAI2025 Pinwheel-shaped Convolution and Scale-based Dynamic Loss for Infrared Small Target Detection](https://github.com/JN-Yang/PConv-SDloss-Data)中的Asymmetric Padding bottleneck改进C2f.
    项目视频百度云链接:20250119版本更新说明

238. ultralytics/cfg/models/v8/yolov8-PSConv.yaml

    使用[AAAI2025 Pinwheel-shaped Convolution and Scale-based Dynamic Loss for Infrared Small Target Detection](https://github.com/JN-Yang/PConv-SDloss-Data)中的Pinwheel-shaped Convolution改进yolov8.
    项目视频百度云链接:20250119版本更新说明

239. ultralytics/cfg/models/v8/yolov8-CDFA.yaml

    使用[ACMMM2024 WFEN](https://github.com/PRIS-CV/WFEN)中的WaveletConv与[AAAI2025 ConDSeg](https://github.com/Mengqi-Lei/ConDSeg)的ContrastDrivenFeatureAggregation结合改进yolov8.
    视频链接:https://www.bilibili.com/video/BV1gXwzeZEqp/

240. ultralytics/cfg/models/v8/yolov8-C2f-Kat.yaml

    使用[ICLR2025 Kolmogorov-Arnold Transformer](https://github.com/Adamdad/kat)中的KAT改进C2f.<需要编译请看百度云视频-20250207版本更新说明>
    项目视频百度云链接:20250207版本更新说明

241. ultralytics/cfg/models/v8/yolov8-C2f-Faster-KAN.yaml

    使用[ICLR2025 Kolmogorov-Arnold Transformer](https://github.com/Adamdad/kat)中的KAN对(CVPR2023)fasternet中的FastetBlock进行二次创新.<需要编译请看百度云视频-20250207版本更新说明>
    项目视频百度云链接:20250207版本更新说明

242. ultralytics/cfg/models/v8/yolov8-fsa.yaml

    使用[BIBM2024 Spatial-Frequency Dual Domain Attention Network For Medical Image Segmentation](https://github.com/nkicsl/SF-UNet)的Frequency-Spatial Attention改进yolov8.(需要看[常见错误和解决方案的第五点](#a))
    该模块需要在train.py中关闭amp、且在ultralytics/engine/validator.py 115行附近的self.args.half设置为False、跑其余改进记得修改回去!
    项目视频百度云链接:20250207版本更新说明

243. ultralytics/cfg/models/v8/yolov8-mscafsa.yaml

    使用[BIBM2024 Spatial-Frequency Dual Domain Attention Network For Medical Image Segmentation](https://github.com/nkicsl/SF-UNet)的Frequency-Spatial Attention和Multi-scale Progressive Channel Attention改进yolov8-neck.(需要看[常见错误和解决方案的第五点](#a))
    该模块需要在train.py中关闭amp、且在ultralytics/engine/validator.py 115行附近的self.args.half设置为False、跑其余改进记得修改回去!
    项目视频百度云链接:20250207版本更新说明

244. ultralytics/cfg/models/v8/yolov8-C2f-Strip.yaml

    使用[Strip R-CNN](https://arxiv.org/pdf/2501.03775)中的StripBlock改进C2f.
    项目视频百度云链接:20250207版本更新说明

245. ultralytics/cfg/models/v8/yolov8-C2f-StripCGLU.yaml

    使用[Strip R-CNN](https://arxiv.org/pdf/2501.03775)中的StripBlock和[TransNeXt CVPR2024](https://github.com/DaiShiResearch/TransNeXt)中的Convolutional GLU改进C2f.
    项目视频百度云链接:20250207版本更新说明

246. ultralytics/cfg/models/v8/yolov8-C2f-DIMB.yaml

    自研模块DynamicInceptionDWConv2d.
    动态混合卷积网络:自适应深度卷积与高效特征融合
    ----------------------------------------------------
    当前挑战:
    在传统卷积神经网络(CNN)中,卷积核通常是固定且静态的,这种设计在处理复杂的、具有多尺度特征和高变动性的输入时存在一定的局限性。尤其是在以下几个方面:
        1.	卷积核选择的单一性:大多数网络在卷积操作中依赖于固定大小的卷积核,这可能无法适应不同尺度、不同类型特征的需求。尤其在处理具有显著尺度差异的图像时,单一卷积核无法有效捕捉细节和全局信息的平衡。
        2.	信息融合的不足:在深度神经网络中,不同层次的特征图具有不同的语义信息,传统网络往往忽视了这些信息的高效融合,导致了上下层信息的丢失或不充分利用。这会影响模型在复杂任务中的表现,尤其是在目标检测、图像分割等任务中,特征之间的跨层关联至关重要。
        3.	网络灵活性不足:大部分网络的卷积操作缺乏灵活性,不能根据输入的特征自适应地调整卷积方式。这使得模型在面临各种输入变动时,无法快速调整策略,从而影响模型的鲁棒性和适应能力。
        4.	计算效率与参数浪费:虽然深度卷积操作能够提取丰富的特征,但固定的卷积核和冗余的计算开销会导致模型的训练和推理效率降低,特别是在实时处理和大规模数据集时,过多的计算和参数导致了内存浪费和速度瓶颈。
    ----------------------------------------------------
    本文提出的解决方案:
    我们提出的动态混合卷积网络(Dynamic Inception Mixer)模块,旨在解决上述问题,提供一个灵活且高效的卷积架构,具体通过以下方式应对当前挑战:
        1.	动态卷积核选择与适应性调整
    通过引入动态卷积核权重(DKW)机制,我们能够为每个卷积核分配一个自适应的权重,使得网络能够根据输入特征图的不同需求调整卷积核的使用。这种机制打破了传统固定卷积核的限制,使得卷积操作能够在每次前向传播时根据输入的不同特征进行自适应的调整,进而有效捕捉多尺度和多样化的特征信息。
        2.	跨尺度特征融合与信息共享
    DynamicInceptionMixer通过多尺度卷积核的融合,在不同尺度上提取信息并进行灵活组合。这种跨尺度的特征提取方式使得网络能够在多个尺度上捕捉细节信息,而不仅仅依赖于某一个固定大小的卷积核,从而大大提升了模型对复杂场景的适应能力。
        3.	增强层间信息融合
    通过引入DynamicIncMixerBlock模块,我们实现了跨层信息的有效融合。在每个模块中,卷积后的特征图会与输入特征图进行残差加和,保持了网络中低层和高层特征的有效传递。这不仅使得模型能够充分利用多层次的信息,还能减少由于网络层次过深导致的梯度消失或特征丢失问题。
        4.	高效计算与参数共享
    在DynamicInceptionDWConv2d模块中,我们使用了深度卷积(depthwise convolution),这种方法能够显著减少参数量和计算量,同时仍然保持对输入特征图的细致处理。通过对卷积核的动态调整,不仅提升了模型在多样性输入上的表现,还减少了不必要的计算冗余。
        5.	灵活的网络训练与正则化
    引入的Layer Scale机制,通过在每个模块中动态地调整权重缩放,有助于在训练过程中更好地控制模型的收敛性和稳定性。此外,结合DropPath策略,进一步提升了模型的正则化效果,有效防止了过拟合,尤其是在高维特征空间中的表现尤为突出。
    ----------------------------------------------------
    总结:
    通过动态卷积核选择、跨层信息融合、以及高效的计算设计,Dynamic Inception Mixer能够有效解决传统卷积神经网络在多尺度特征提取、信息融合及计算效率方面的不足。我们的设计不仅提升了网络的适应性和灵活性,还在实际任务中展示了更强的鲁棒性和高效的计算性能。因此,该模块为深度学习模型的构建和优化提供了一个全新的思路,特别适用于处理多变和复杂输入数据的任务,如目标检测、图像分割等。
    项目视频百度云链接:20250220版本更新说明

247. ultralytics/cfg/models/v8/yolov8-C2f-DIMB-KAN.yaml

    在246的基础上把mlp模块换成[ICLR2025 Kolmogorov-Arnold Transformer](https://github.com/Adamdad/kat)中的KAN.<KAN 需要编译请看百度云视频-20250207版本更新说明>
    项目视频百度云链接:20250220版本更新说明

248. ultralytics/cfg/models/v8/yolov8-C2f-GlobalFilter.yaml

    使用[T-PAMI Global Filter Networks for Image Classification](https://github.com/raoyongming/GFNet)中的GlobalFilterBlock和[TransNeXt CVPR2024](https://github.com/DaiShiResearch/TransNeXt)中的Convolutional GLU改进C2f.(需要看[常见错误和解决方案的第五点](#a))
    该模块需要在train.py中关闭amp、且在ultralytics/engine/validator.py 115行附近的self.args.half设置为False、跑其余改进记得修改回去!
    项目视频百度云链接:20250220版本更新说明

249. ultralytics/cfg/models/v8/yolov8-C2f-DynamicFilter.yaml

    使用[AAAI2024 FFT-Based Dynamic Token Mixer for Vision](https://github.com/okojoalg/dfformer)中的DynamicFilter改进C2f.(需要看[常见错误和解决方案的第五点](#a))
    该模块需要在train.py中关闭amp、且在ultralytics/engine/validator.py 115行附近的self.args.half设置为False、跑其余改进记得修改回去!
    项目视频百度云链接:20250220版本更新说明

### YOLOV10
#### 以下配置文件都基于v10n,如果需要使用其他大小的模型(s,m,b,l,x)可以看项目视频百度云链接-YOLOV10模型大小切换教程.

1. ultralytics/cfg/models/v10/yolov10n-bifpn.yaml

    添加BIFPN到yolov10中.  
    其中BIFPN中有三个可选参数:
    1. Fusion  
        其中BIFPN中的Fusion模块支持五种: weight, adaptive, concat, bifpn(default), SDI  
        其中weight, adaptive, concat出自[paper链接-Figure 3](https://openreview.net/pdf?id=q2ZaVU6bEsT), SDI出自[U-NetV2](https://github.com/yaoppeng/U-Net_v2)
    2. node_mode  
        其中支持这些[结构](#b)
    3. head_channel  
        BIFPN中的通道数,默认设置为256.
    项目视频百度云链接:关于BIFPN的说明

2. ultralytics/cfg/models/v10/yolov10n-C2f-EMSC.yaml

    Efficient Multi-Scale Conv.自研模块,具体讲解请看百度云链接中的视频.
    项目视频百度云链接:EMSC,EMSCP讲解

3. ultralytics/cfg/models/v10/yolov10n-C2f-EMSCP.yaml

    Efficient Multi-Scale Conv Plus.自研模块,具体讲解请看百度云链接中的视频.
    项目视频百度云链接:EMSC,EMSCP讲解

4. ultralytics/cfg/models/v10/yolov10n-LAWDS.yaml

    Light Adaptive-weight downsampling.自研模块,具体讲解请看百度云链接中的视频.
    项目视频百度云链接:LAWDS讲解

5. ultralytics/cfg/models/v10/yolov10n-LSCD.yaml

    自研轻量化检测头.(Lightweight Shared Convolutional Detection Head)
    1. GroupNorm在FCOS论文中已经证实可以提升检测头定位和分类的性能.
    2. 通过使用共享卷积,可以大幅减少参数数量,这使得模型更轻便,特别是在资源受限的设备上.
    3. 在使用共享卷积的同时,为了应对每个检测头所检测的目标尺度不一致的问题,使用Scale层对特征进行缩放.
    综合以上,我们可以让检测头做到参数量更少、计算量更少的情况下,尽可能减少精度的损失.
    项目视频百度云链接:20240713版本更新说明

6. ultralytics/cfg/models/v10/yolov10n-efficientViT.yaml

    (CVPR2023)efficientViT替换yolov10主干.

7. ultralytics/cfg/models/v10/yolov10n-fasternet.yaml

    (CVPR2023)fasternet替换yolov10主干.

8. ultralytics/cfg/models/v10/yolov10n-timm.yaml

    使用timm支持的主干网络替换yolov10主干.

9. ultralytics/cfg/models/v10/yolov10n-convnextv2.yaml

    使用convnextv2网络替换yolov10主干.

10. ultralytics/cfg/models/v10/yolov10n-EfficientFormerV2.yaml

    使用EfficientFormerV2网络替换yolov10主干.(需要看[常见错误和解决方案的第五点](#a))  

11. ultralytics/cfg/models/v10/yolov10n-vanillanet.yaml

    vanillanet替换yolov10主干.

12. ultralytics/cfg/models/v10/yolov10n-LSKNet.yaml

    LSKNet(2023旋转目标检测SOTA的主干)替换yolov10主干.

13. ultralytics/cfg/models/v10/yolov10n-swintransformer.yaml

    SwinTransformer-Tiny替换yolov10主干.

14. ultralytics/cfg/models/v10/yolov10n-repvit.yaml

    [CVPR2024 RepViT](https://github.com/THU-MIG/RepViT/tree/main)替换yolov10主干.

15. ultralytics/cfg/models/v10/yolov10n-CSwinTransformer.yaml

    使用[CSWin-Transformer(CVPR2022)](https://github.com/microsoft/CSWin-Transformer/tree/main)替换yolov10主干.(需要看[常见错误和解决方案的第五点](#a))

16. ultralytics/cfg/models/v10/yolov10n-HGNetV2.yaml

    使用HGNetV2作为YOLOV10的backbone.

17. ultralytics/cfg/models/v10/yolov10n-unireplknet.yaml

    使用[UniRepLKNet](https://github.com/AILab-CVC/UniRepLKNet/tree/main)替换yolov10主干.

18. ultralytics/cfg/models/v10/yolov10n-TransNeXt.yaml

    使用[TransNeXt](https://github.com/DaiShiResearch/TransNeXt)改进yolov10的backbone.(需要看[常见错误和解决方案的第五点](#a))   

19. ultralytics/cfg/models/v10/yolov10n-rmt.yaml

    使用[CVPR2024 RMT](https://arxiv.org/abs/2309.11523)改进yolov10的主干.(需要看[常见错误和解决方案的第五点](#a))   

20. ultralytics/cfg/models/v10/yolov10n-pkinet.yaml

    使用[CVPR2024 PKINet](https://github.com/PKINet/PKINet)改进backbone.(需要安装mmcv和mmengine)

21. ultralytics/cfg/models/v10/yolov10n-mobilenetv4.yaml

    使用[MobileNetV4](https://github.com/jaiwei98/MobileNetV4-pytorch/tree/main)改进yolov10的backbone.

22. ultralytics/cfg/models/v10/yolov10n-starnet.yaml

    使用[StarNet CVPR2024](https://github.com/ma-xu/Rewrite-the-Stars/tree/main)改进yolov10-backbone.

23. ultralytics/cfg/models/v10/yolov10n-starnet-bifpn.yaml

    使用[StarNet CVPR2024](https://github.com/ma-xu/Rewrite-the-Stars/tree/main)和bifpn改进yolov10.

24. ultralytics/cfg/models/v10/yolov10n-C2f-WTConv.yaml

    使用[ECCV2024 Wavelet Convolutions for Large Receptive Fields](https://github.com/BGU-CS-VIL/WTConv)中的WTConv改进C2f-BottleNeck.
    项目视频百度云链接:20240720版本更新说明

25. ultralytics/cfg/models/v10/yolov10n-CGRFPN.yaml

    Context-Guided Spatial Feature Reconstruction Feature Pyramid Network.
    1. 借鉴[ECCV2024-CGRSeg](https://github.com/nizhenliang/CGRSeg)中的Rectangular Self-Calibration Module经过精心设计,用于空间特征重建和金字塔上下文提取,它在水平和垂直方向上捕获全局上下文,并获得轴向全局上下文来显式地建模矩形关键区域.
    2. PyramidContextExtraction Module使用金字塔上下文提取模块(PyramidContextExtraction),有效整合不同层级的特征信息,提升模型的上下文感知能力。
    3. FuseBlockMulti 和 DynamicInterpolationFusion 这些模块用于多尺度特征的融合,通过动态插值和多特征融合,进一步提高了模型的多尺度特征表示能力和提升模型对复杂背景下目标的识别能力。
    项目视频百度云链接:20240720版本更新说明

26. SlideLoss and EMASlideLoss.[Yolo-Face V2](https://github.com/Krasjet-Yu/YOLO-FaceV2/blob/master/utils/loss.py)

    在ultralytics/utils/loss.py中的class v8DetectionLoss进行设定.

27. ultralytics/cfg/models/v10/yolov10n-RevCol.yaml

    使用[(ICLR2023)Reversible Column Networks](https://github.com/megvii-research/RevCol)对yolov10主干进行重设计,里面的支持更换不同的C2f-Block.
    视频:https://www.bilibili.com/video/BV1Mh4y1y76u/

28. ultralytics/cfg/models/v10/yolov10n-attention.yaml

    可以看项目视频-如何在yaml配置文件中添加注意力层  
    也可以参考以下B站视频:
    1. [最新~YOLOV8手把手教学配置文件添加注意力机制!一看就会!](https://www.bilibili.com/video/BV1RH4y1D7CY/)
    2. [YOLOV8改进-手把手带你学会注意力机制进阶用法](https://www.bilibili.com/video/BV1ZQ4y1J7oC/)
    3. [YOLO11-三个问题解决注意力机制!注意力分几种?注意力应该怎么用?注意力怎么加?](https://www.bilibili.com/video/BV1mXkVYAEGM/)
    多种注意力机制在yolov10中的使用. [多种注意力机制github地址](https://github.com/z1069614715/objectdetection_script/tree/master/cv-attention)  
    目前内部整合的注意力可看[链接](#c)

29. ultralytics/cfg/models/v10/yolov10n-ContextGuidedDown.yaml

    使用[CGNet](https://github.com/wutianyiRosun/CGNet/tree/master)中的Light-weight Context Guided DownSample进行下采样.

30. ultralytics/cfg/models/v10/yolov10n-SPDConv.yaml

    使用[SPDConv](https://github.com/LabSAINT/SPD-Conv/tree/main)进行下采样.
    项目视频百度云链接:20231010版本更新说明

31. ultralytics/cfg/models/v10/yolov10n-dysample.yaml

    使用[ICCV2023 DySample](https://arxiv.org/abs/2308.15085)改进yolov10-neck中的上采样.
    项目视频百度云链接:20240122版本更新说明

32. ultralytics/cfg/models/v10/yolov10n-CARAFE.yaml

    使用[ICCV2019 CARAFE](https://arxiv.org/abs/1905.02188)改进yolov10-neck中的上采样.
    项目视频百度云链接:20240122版本更新说明

33. ultralytics/cfg/models/v10/yolov10n-HWD.yaml

    使用[Haar wavelet downsampling](https://www.sciencedirect.com/science/article/abs/pii/S0031320323005174)改进yolov8的下采样.(请关闭AMP情况下使用)
    项目视频百度云链接:20240122版本更新说明

34. ultralytics/cfg/models/v8=10/yolov10n-v7DS.yaml

    使用[YOLOV7 CVPR2023](https://arxiv.org/abs/2207.02696)的下采样结构改进YOLOV10中的下采样.
    项目视频百度云链接:20240229版本更新说明

35. ultralytics/cfg/models/v10/yolov10n-ADown.yaml

    使用[YOLOV9](https://github.com/WongKinYiu/yolov9)的下采样结构改进YOLOV10中的下采样.
    项目视频百度云链接:20240229版本更新说明

36. ultralytics/cfg/models/v10/yolov10n-SRFD.yaml

    使用[A Robust Feature Downsampling Module for Remote Sensing Visual Tasks](https://ieeexplore.ieee.org/document/10142024)改进yolov10的下采样.
    项目视频百度云链接:20240420版本更新说明

37. ultralytics/cfg/models/v10/yolov10n-WaveletPool.yaml

    使用[Wavelet Pooling](https://openreview.net/forum?id=rkhlb8lCZ)改进YOLOV10的上采样和下采样。
    项目视频百度云链接:20240613版本更新说明

38. ultralytics/cfg/models/v10/yolov10n-slimneck.yaml

    使用[VoVGSCSP\VoVGSCSPC和GSConv](https://github.com/AlanLi1997/slim-neck-by-gsconv)替换yolov10 neck中的C2f和Conv.

39. ultralytics/cfg/models/v10/yolov10n-FocalModulation.yaml

    使用[Focal Modulation](https://github.com/microsoft/FocalNet)替换SPPF.
    项目视频百度云链接:20240720版本更新说明

40. ultralytics/cfg/models/v10/yolov10n-SPPF-LSKA.yaml

    使用[LSKA](https://github.com/StevenLauHKHK/Large-Separable-Kernel-Attention)注意力机制改进SPPF,增强多尺度特征提取能力.
    项目视频百度云链接:20240720版本更新说明

41. ultralytics/cfg/models/v10/yolov10n-FeaturePyramidSharedConv.yaml

    1. 多尺度特征提取
        通过使用不同膨胀率的卷积层,模块能够提取不同尺度的特征。这对捕捉图像中不同大小和不同上下文的信息非常有利。
        低膨胀率捕捉局部细节,高膨胀率捕捉全局上下文。
    2. 参数共享
        使用共享的卷积层 self.share_conv,大大减少了需要训练的参数数量。相比于每个膨胀率使用独立的卷积层,共享卷积层能够减少冗余,提升模型效率。
        减少了模型的存储和计算开销,提升了计算效率。
    3. 高效的通道变换
        通过1x1卷积层 self.cv1 和 self.cv2,模块能够高效地调整通道数,并进行特征融合。1x1卷积层在减少参数量的同时还能保留重要的特征信息。
    4. 更细粒度的特征提取
        FeaturePyramidSharedConv 使用卷积操作进行特征提取,能够捕捉更加细粒度的特征。相比之下,SPPF 的池化操作可能会丢失一些细节信息。
        卷积操作在特征提取时具有更高的灵活性和表达能力,可以更好地捕捉图像中的细节和复杂模式。
    项目视频百度云链接:20240729版本更新说明

42. ultralytics/cfg/models/v10/yolov10n-C2f-FMB.yaml

    使用[ECCV2024 SMFANet](https://github.com/Zheng-MJ/SMFANet/tree/main)的Feature Modulation block改进C2f.
    项目视频百度云链接:20240729版本更新说明

43. ultralytics/cfg/models/v10/yolov10n-C2f-Faster.yaml

    使用C2f-Faster替换C2f.(使用FasterNet中的FasterBlock替换C2f中的Bottleneck)
    项目视频百度云链接:20240729版本更新说明

44. ultralytics/cfg/models/v10/yolov10n-C2f-ODConv.yaml

    使用C2f-ODConv替换C2f.(使用ODConv替换C2f中的Bottleneck中的Conv)
    项目视频百度云链接:20240729版本更新说明

45. ultralytics/cfg/models/v10/yolov10n-C2f-Faster-EMA.yaml

    使用C2f-Faster-EMA替换C2f.(C2f-Faster-EMA推荐可以放在主干上,Neck和head部分可以选择C2f-Faster)
    项目视频百度云链接:20240729版本更新说明

46. ultralytics/cfg/models/v10/yolov10n-C2f-DBB.yaml

    使用C2f-DBB替换C2f.(使用DiverseBranchBlock替换C2f中的Bottleneck中的Conv)
    项目视频百度云链接:20240729版本更新说明

47. ultralytics/cfg/models/v10/yolov10n-C2f-CloAtt.yaml

    使用C2f-CloAtt替换C2f.(使用CloFormer中的具有全局和局部特征的注意力机制添加到C2f中的Bottleneck中)(需要看[常见错误和解决方案的第五点](#a))
    项目视频百度云链接:20240729版本更新说明  

48. ultralytics/cfg/models/v10/yolov10n-goldyolo.yaml

    利用华为2023最新GOLD-YOLO中的Gatherand-Distribute进行改进特征融合模块.
    介绍可看这期视频:https://www.bilibili.com/video/BV1Bp4y1w7MB/

49. ultralytics/cfg/models/v10/yolov10n-LDConv.yaml

    使用[LDConv](https://github.com/CV-ZhangXin/LDConv/tree/main)改进下采样.
    项目视频百度云链接:20240803版本更新说明

50. ultralytics/cfg/models/v10/yolov10n-C2f-gConv.yaml

    使用[Rethinking Performance Gains in Image Dehazing Networks](https://arxiv.org/abs/2209.11448)的gConvblock改进C2f.
    项目视频百度云链接:20240803版本更新说明

51. ultralytics/cfg/models/v10/yolov10n-MAFPN.yaml

    使用[MAF-YOLO](https://arxiv.org/pdf/2407.04381)的MAFPN改进Neck.
    项目视频百度云链接:20240803版本更新说明

52. ultralytics/cfg/models/v10/yolov10n-BIMAFPN.yaml

    利用BIFPN的思想对[MAF-YOLO](https://arxiv.org/pdf/2407.04381)的MAFPN进行二次改进得到BIMAFPN.
    项目视频百度云链接:20240803版本更新说明

53. ultralytics/cfg/models/v10/yolov10n-C2f-SCConv.yaml

    SCConv(CVPR2020 http://mftp.mmcheng.net/Papers/20cvprSCNet.pdf)与C2f融合.
    项目视频百度云链接:SCConv和ScConv的使用教程

54. ultralytics/cfg/models/v10/yolov10n-C2f-SCcConv.yaml

    ScConv(CVPR2023 https://openaccess.thecvf.com/content/CVPR2023/papers/Li_SCConv_Spatial_and_Channel_Reconstruction_Convolution_for_Feature_Redundancy_CVPR_2023_paper.pdf)与C2f融合.  
    (取名为SCcConv的原因是在windows下命名是不区分大小写的)
    项目视频百度云链接:SCConv和ScConv的使用教程

55. ultralytics/cfg/models/v10/yolov10n-KernelWarehouse.yaml

    使用[Towards Parameter-Efficient Dynamic Convolution](https://github.com/OSVAI/KernelWarehouse)添加到yolov10中.  
    使用此模块需要注意,在epoch0-20的时候精度会非常低,过了20epoch会正常.
    项目视频百度云链接:20240803版本更新说明

56. ultralytics/cfg/models/v10/yolov10n-C2f-DySnakeConv.yaml

    [DySnakeConv](https://github.com/YaoleiQi/DSCNet)与C2f融合.
    项目视频百度云链接:20240803版本更新说明

57. APT(Adaptive Power Transformation)-TAL.

    为了使不同gt预测对的匹配质量和损失权重更具鉴别性,我们通过自定义的PowerTransformer显著增强高质量预测框的权重,抑制低质量预测框的影响,并使模型在学习的过程可以更关注质量高的预测框。
    修改方式:ultralytics/utils/tal.py中的get_box_metrics函数中的power参数设置为True.
    项目视频百度云链接:20240813版本更新说明

58. ultralytics/cfg/models/v10/yolov10n-C2f-WDBB.yaml

    使用[YOLO-MIF](https://github.com/wandahangFY/YOLO-MIF)中的WDBB改进c2f.
    项目视频百度云链接:20240813版本更新说明

59. ultralytics/cfg/models/v10/yolov10n-C2f-DeepDBB.yaml

    使用[YOLO-MIF](https://github.com/wandahangFY/YOLO-MIF)中的DeepDBB改进c2f.
    项目视频百度云链接:20240813版本更新说明

60. ultralytics/cfg/models/v10/yolov10n-AIFIRep.yaml

    使用[ICML-2024 SLAB](https://github.com/xinghaochen/SLAB)与AIFI改进yolov10.
    项目视频百度云链接:20240813版本更新说明

61. ultralytics/cfg/models/v10/yolov10n-C2f-AdditiveBlock.yaml

    使用[CAS-ViT](https://github.com/Tianfang-Zhang/CAS-ViT)中的AdditiveBlock改进c2f.
    项目视频百度云链接:20240822版本更新说明

62. ultralytics/cfg/models/v10/yolov10n-C2f-AdditiveBlock-CGLU.yaml

    使用[CAS-ViT](https://github.com/Tianfang-Zhang/CAS-ViT)中的AdditiveBlock和[TransNeXt CVPR2024](https://github.com/DaiShiResearch/TransNeXt)中的Convolutional GLU改进c2f.
    项目视频百度云链接:20240822版本更新说明

63. ultralytics/cfg/models/v10/yolov10n-EMBSFPN.yaml

    基于BIFPN、[MAF-YOLO](https://arxiv.org/pdf/2407.04381)、[CVPR2024 EMCAD](https://github.com/SLDGroup/EMCAD)提出全新的Efficient Multi-Branch&Scale FPN.
    Efficient Multi-Branch&Scale FPN拥有<轻量化>、<多尺度特征加权融合>、<多尺度高效卷积模块>、<高效上采样模块>、<全局异构核选择机制>。
    1. 具有多尺度高效卷积模块和全局异构核选择机制,Trident网络的研究表明,具有较大感受野的网络更适合检测较大的物体,反之,较小尺度的目标则从较小的感受野中受益,因此我们在FPN阶段,对于不同尺度的特征层选择不同的多尺度卷积核以适应并逐步获得多尺度感知场信息。
    2. 借鉴BIFPN中的多尺度特征加权融合,能把Concat换成Add来减少参数量和计算量的情况下,还能通过不同尺度特征的重要性进行自适用选择加权融合。
    3. 高效上采样模块来源于CVPR2024-EMCAD中的EUCB,能够在保证一定效果的同时保持高效性。
    项目视频百度云链接:20240822版本更新说明

64. ultralytics/cfg/models/v10/yolov10n-ASF.yaml

    使用[ASF-YOLO](https://github.com/mkang315/ASF-YOLO)中的Attentional Scale Sequence Fusion改进yolov10.
    项目视频百度云链接:20231217版本更新说明

65. ultralytics/cfg/models/v10/yolov10n-ASF-P2.yaml

    在ultralytics/cfg/models/v8/yolov8-ASF.yaml的基础上进行二次创新,引入P2检测层并对网络结构进行优化.
    项目视频百度云链接:20231217版本更新说明

66. ultralytics/cfg/models/v10/yolov10n-ASF-DySample.yaml

    使用[ASF-YOLO](https://github.com/mkang315/ASF-YOLO)中的Attentional Scale Sequence Fusion与[ICCV2023 DySample](https://arxiv.org/abs/2308.15085)组合得到Dynamic Sample Attentional Scale Sequence Fusion.
    项目视频百度云链接:20240203版本更新说明

67. ultralytics/cfg/models/v10/yolov10n-goldyolo-asf.yaml

    利用华为2023最新GOLD-YOLO中的Gatherand-Distribute与[ASF-YOLO](https://github.com/mkang315/ASF-YOLO)中的Attentional Scale Sequence Fusion进行二次创新改进yolov10的neck.
    项目视频百度云链接:20240116版本更新说明

68. ultralytics/cfg/models/v10/yolov10n-SOEP.yaml 

    小目标在正常的P3、P4、P5检测层上略显吃力,比较传统的做法是加上P2检测层来提升小目标的检测能力,但是同时也会带来一系列的问题,例如加上P2检测层后计算量过大、后处理更加耗时等问题,日益激发需要开发新的针对小目标有效的特征金字塔,我们基于原本的PAFPN上进行改进,提出SmallObjectEnhancePyramid,相对于传统的添加P2检测层,我们使用P2特征层经过SPDConv得到富含小目标信息的特征给到P3进行融合,然后使用CSP思想和基于[AAAI2024的OmniKernel](https://ojs.aaai.org/index.php/AAAI/article/view/27907)进行改进得到CSP-OmniKernel进行特征整合,OmniKernel模块由三个分支组成,即三个分支,即全局分支、大分支和局部分支、以有效地学习从全局到局部的特征表征,最终从而提高小目标的检测性能。
    该模块需要在train.py中关闭amp、且在ultralytics/engine/validator.py 115行附近的self.args.half设置为False、跑其余改进记得修改回去!
    出现这个报错的:RuntimeError: cuFFT error: CUFFT_INTERNAL_ERROR,如果你是40系显卡,需要更新torch大于2.0,并且cuda大于12.0.
    项目视频百度云链接:20240627版本更新说明

69. ultralytics/cfg/models/v10/yolov10n-C2f-MSMHSA-CGLU.yaml

    使用[CMTFNet](https://github.com/DrWuHonglin/CMTFNet/tree/main)中的M2SA和[TransNeXt CVPR2024](https://github.com/DaiShiResearch/TransNeXt)中的Convolutional GLU改进c2f.
    项目视频百度云链接:20240831版本更新说明

70. ultralytics/cfg/models/v10/yolov10n-CSP-PMSFA.yaml

    自研模块:CSP-Partial Multi-Scale Feature Aggregation.
    1. 部分多尺度特征提取:参考CVPR2020-GhostNet、CVPR2024-FasterNet的思想,采用高效的PartialConv,该模块能够从输入中提取多种尺度的特征信息,但它并不是在所有通道上进行这种操作,而是部分(Partial)地进行,从而提高了计算效率。
    2. 增强的特征融合: 最后的 1x1 卷积层通过将不同尺度的特征融合在一起,同时使用残差连接将输入特征与处理后的特征相加,有效保留了原始信息并引入了新的多尺度信息,从而提高模型的表达能力。
    项目视频百度云链接:20240831版本更新说明

71. Cross-Layer Feature Pyramid Transformer.   

    P345:ultralytics/cfg/models/v10/yolov10n-CFPT.yaml
    P2345:ultralytics/cfg/models/v10/yolov10n-CFPT-P2345.yaml
    P3456:ultralytics/cfg/models/v10/yolov10n-CFPT-P3456.yaml
    P23456:ultralytics/cfg/models/v10/yolov10n-CFPT-P23456.yaml

    使用[CFPT](https://github.com/duzw9311/CFPT/tree/main)改进neck.此模块多人反应训练过程中有可能会出现不明报错,估计是源码有一定问题,遇到这个情况换别的去跑.
    项目视频百度云链接:20240908版本更新说明

72. ultralytics/cfg/models/v10/yolov10n-C2f-MogaBlock.yaml

    使用[MogaNet ICLR2024](https://github.com/Westlake-AI/MogaNet)中的MogaBlock改进C2f.
    项目视频百度云链接:20240908版本更新说明

73. ultralytics/cfg/models/v10/yolov10n-RCSOSA.yaml

    使用[RCS-YOLO](https://github.com/mkang315/RCS-YOLO/tree/main)中的RCSOSA替换C2f.
    项目视频百度云链接:20240908版本更新说明

74. ultralytics/cfg/models/v10/yolov10n-GFPN.yaml

    使用[DAMO-YOLO](https://github.com/tinyvision/DAMO-YOLO)中的RepGFPN改进Neck.
    项目视频百度云链接:20231010版本更新说明

75. ultralytics/cfg/models/v10/yolov10n-EfficientRepBiPAN.yaml

    使用[YOLOV6](https://github.com/meituan/YOLOv6/tree/main)中的EfficientRepBiPAN改进Neck.
    项目视频百度云链接:20231010版本更新说明

76. ultralytics/cfg/models/v10/yolov10n-C2f-SHSA.yaml

    使用[SHViT CVPR2024](https://github.com/ysj9909/SHViT)中的SHSABlock改进C2f.
    项目视频百度云链接:20240920版本更新说明

77. ultralytics/cfg/models/v10/yolov10n-C2f-SHSA-CGLU.yaml

    使用[SHViT CVPR2024](https://github.com/ysj9909/SHViT)中的SHSABlock与[TransNeXt](https://github.com/DaiShiResearch/TransNeXt)中的CGLU改进C2f.
    项目视频百度云链接:20240920版本更新说明

78. ultralytics/cfg/models/v10/yolov10n-C2f-SMAFB.yaml

    使用[SMAFormer BIBM2024](https://github.com/CXH-Research/SMAFormer)中的SMAFormerBlock改进C2f.(需要看[常见错误和解决方案的第五点](#a))
    项目视频百度云链接:20240920版本更新说明

79. ultralytics/cfg/models/v10/yolov10n-C2f-SMAFB-CGLU.yaml

    使用[SMAFormer BIBM2024](https://github.com/CXH-Research/SMAFormer)中的SMAFormerBlock与[TransNeXt CVPR2024](https://github.com/DaiShiResearch/TransNeXt)中的CGLU改进C2f.(需要看[常见错误和解决方案的第五点](#a))
    项目视频百度云链接:20240920版本更新说明

80. ultralytics/cfg/models/v10/yolov10n-SEAMHead.yaml

    使用[YOLO-Face V2](https://arxiv.org/pdf/2208.02019v2.pdf)中的遮挡感知注意力改进Head,使其有效地处理遮挡场景.
    项目视频百度云链接:20240920版本更新说明

81. ultralytics/cfg/models/v10/yolov10n-MultiSEAMHead.yaml

    使用[YOLO-Face V2](https://arxiv.org/pdf/2208.02019v2.pdf)中的遮挡感知注意力改进Head,使其有效地处理遮挡场景.
    项目视频百度云链接:20240920版本更新说明

82. ultralytics/cfg/models/v10/yolov10n-C2f-EMBC.yaml

    使用[Efficientnet](https://blog.csdn.net/weixin_43334693/article/details/131114618?spm=1001.2014.3001.5501)中的MBConv与EffectiveSE改进C2f.
    项目视频百度云链接:20240920版本更新说明

83. ultralytics/cfg/models/v10/yolov10n-FreqFFPN.yaml

    使用[FreqFusion TPAMI2024](https://github.com/Linwei-Chen/FreqFusion)中的FreqFusion改进Neck.(这个需要python3.10,不然最后保存模型会出错.)
    项目视频百度云链接:20240920版本更新说明

84. ultralytics/cfg/models/v10/yolov10n-MutilBackbone-DAF.yaml

    自研MutilBackbone-DynamicAlignFusion.
    1. 为了避免在浅层特征图上消耗过多计算资源,设计的MutilBackbone共享一个stem的信息,这个设计有利于避免计算量过大,推理时间过大的问题。
    2. 为了避免不同Backbone信息融合出现不同来源特征之间的空间差异,我们为此设计了DynamicAlignFusion,其先通过融合来自两个不同模块学习到的特征,然后生成一个名为DynamicAlignWeight去调整各自的特征,最后使用一个可学习的通道权重,其可以根据输入特征动态调整两条路径的权重,从而增强模型对不同特征的适应能力。
    项目视频百度云链接:20241007版本更新说明

85. ultralytics/cfg/models/v10/yolov10n-C2f-IdentityFormer.yaml

    使用[Metaformer TPAMI2024](https://github.com/sail-sg/metaformer)中的IdentityFormer改进c2f.
    项目视频百度云链接:20241007版本更新说明

86. ultralytics/cfg/models/v10/yolov10n-C2f-RandomMixing.yaml

    使用[Metaformer TPAMI2024](https://github.com/sail-sg/metaformer)中的RandomMixingFormer改进c2f.(需要看[常见错误和解决方案的第五点](#a))
    项目视频百度云链接:20241007版本更新说明

87. ultralytics/cfg/models/v10/yolov10n-C2f-PoolingFormer.yaml

    使用[Metaformer TPAMI2024](https://github.com/sail-sg/metaformer)中的PoolingFormer改进c2f.
    项目视频百度云链接:20241007版本更新说明

88. ultralytics/cfg/models/v10/yolov10n-C2f-ConvFormer.yaml

    使用[Metaformer TPAMI2024](https://github.com/sail-sg/metaformer)中的ConvFormer改进c2f.
    项目视频百度云链接:20241007版本更新说明

89. ultralytics/cfg/models/v10/yolov10n-C2f-CaFormer.yaml

    使用[Metaformer TPAMI2024](https://github.com/sail-sg/metaformer)中的CaFormer改进c2f.
    项目视频百度云链接:20241007版本更新说明

90. ultralytics/cfg/models/v10/yolov10n-C2f-IdentityFormer-CGLU.yaml

    使用[Metaformer TPAMI2024](https://github.com/sail-sg/metaformer)中的IdentityFormer和[TransNeXt CVPR2024](https://github.com/DaiShiResearch/TransNeXt)中的CGLU改进c2f.
    项目视频百度云链接:20241007版本更新说明

91. ultralytics/cfg/models/v10/yolov10n-C2f-RandomMixing-CGLU.yaml

    使用[Metaformer TPAMI2024](https://github.com/sail-sg/metaformer)中的RandomMixing和[TransNeXt CVPR2024](https://github.com/DaiShiResearch/TransNeXt)中的CGLU改进c2f.(需要看[常见错误和解决方案的第五点](#a))
    项目视频百度云链接:20241007版本更新说明

92. ultralytics/cfg/models/v10/yolov10n-C2f-PoolingFormer-CGLU.yaml

    使用[Metaformer TPAMI2024](https://github.com/sail-sg/metaformer)中的PoolingFormer和[TransNeXt CVPR2024](https://github.com/DaiShiResearch/TransNeXt)中的CGLU改进c2f.
    项目视频百度云链接:20241007版本更新说明

93. ultralytics/cfg/models/v10/yolov10n-C2f-ConvFormer-CGLU.yaml

    使用[Metaformer TPAMI2024](https://github.com/sail-sg/metaformer)中的ConvFormer和[TransNeXt CVPR2024](https://github.com/DaiShiResearch/TransNeXt)中的CGLU改进c2f.
    项目视频百度云链接:20241007版本更新说明

94. ultralytics/cfg/models/v10/yolov10n-C2f-CaFormer-CGLU.yaml

    使用[Metaformer TPAMI2024](https://github.com/sail-sg/metaformer)中的CaFormer和[TransNeXt CVPR2024](https://github.com/DaiShiResearch/TransNeXt)中的CGLU改进c2f.
    项目视频百度云链接:20241007版本更新说明

95. ultralytics/cfg/models/v10/yolov10n-TADDH.yaml

    自研任务对齐动态检测头
    1. GroupNorm在FCOS论文中已经证实可以提升检测头定位和分类的性能.
    2. 通过使用共享卷积,可以大幅减少参数数量,这使得模型更轻便,特别是在资源受限的设备上.并且在使用共享卷积的同时,为了应对每个检测头所检测的目标尺度不一致的问题,使用Scale层对特征进行缩放.
    3. 参照TOOD的思想,除了标签分配策略上的任务对齐,我们也在检测头上进行定制任务对齐的结构,现有的目标检测器头部通常使用独立的分类和定位分支,这会导致两个任务之间缺乏交互,TADDH通过特征提取器从多个卷积层中学习任务交互特征,得到联合特征,定位分支使用DCNV2和交互特征生成DCNV2的offset和mask,分类分支使用交互特征进行动态特征选择.
    项目视频百度云链接:20240314版本更新说明、20241024版本更新说明(先看这个)

96. ultralytics/cfg/models/v10/yolov10n-dyhead.yaml

    添加[基于注意力机制的目标检测头DyHead](https://github.com/microsoft/DynamicHead)到yolov10中.
    项目视频百度云链接:20241024版本更新说明

97. ultralytics/cfg/models/v10/yolov10n-dyhead-DCNV3.yaml

    使用[DCNV3](https://github.com/OpenGVLab/InternImage)替换DyHead中的DCNV2.
    项目视频百度云链接:DCNV2,DCNV3,DyHeadWithDCNV3相关讲解、20241024版本更新说明(先看这个)

98. ultralytics/cfg/models/v10/yolov10n-dyhead-DCNV4.yaml

    使用[DCNV4](https://github.com/OpenGVLab/DCNv4)对DyHead进行二次创新.(请关闭AMP进行训练,使用教程请看20240116版本更新说明、20241024版本更新说明(先看这个))

99. ultralytics/cfg/models/v10/yolov10n-C2f-MutilScaleEdgeInformationEnhance.yaml

    自研CSP-MutilScaleEdgeInformationEnhance.
    MutilScaleEdgeInformationEnhance模块结合了多尺度特征提取、边缘信息增强和卷积操作。它的主要目的是从不同尺度上提取特征,突出边缘信息,并将这些多尺度特征整合到一起,最后通过卷积层输出增强的特征。这个模块在特征提取和边缘增强的基础上有很好的表征能力.
    1. 多尺度特征提取:通过 nn.AdaptiveAvgPool2d 进行多尺度的池化,提取不同大小的局部信息,有助于捕捉图像的多层次特征。
    2. 边缘增强:EdgeEnhancer 模块专门用于提取边缘信息,使得网络对边缘的敏感度增强,这对许多视觉任务(如目标检测、语义分割等)有重要作用。
    3. 特征融合:将不同尺度下提取的特征通过插值操作对齐到同一尺度,然后将它们拼接在一起,最后经过卷积层融合成统一的特征表示,能够提高模型对多尺度特征的感知。
    项目视频百度云链接:20241024版本更新说明

100. ultralytics/cfg/models/v10/yolov10n-C2f-FFCM.yaml

    使用[Efficient Frequency-Domain Image Deraining with Contrastive Regularization ECCV2024](https://github.com/deng-ai-lab/FADformer)中的Fused_Fourier_Conv_Mixer改进C2f.
    该模块需要在train.py中关闭amp、且在ultralytics/engine/validator.py 115行附近的self.args.half设置为False、跑其余改进记得修改回去!
    项目视频百度云链接:20241024版本更新说明

101. ultralytics/cfg/models/v10/yolov10n-RSCD.yaml

    自研重参数轻量化检测头.(Rep Shared Convolutional Detection Head)
    1. 通过使用共享卷积,可以大幅减少参数数量,这使得模型更轻便,特别是在资源受限的设备上.但由于共享参数可能限制模型的表达能力,因为不同特征可能需要不同的卷积核来捕捉复杂的模式。共享参数可能无法充分捕捉这些差异。为了尽量弥补实现轻量化所采取的共享卷积带来的负面影响,我们使用可重参数化卷积,通过引入更多的可学习参数,网络可以更有效地从数据中提取特征,进而弥补轻量化模型后可能带来的精度丢失问题,并且重参数化卷积可以大大提升参数利用率,并且在推理阶段与普通卷积无差,为模型带来无损的优化方案。
    2. 在使用共享卷积的同时,为了应对每个检测头所检测的目标尺度不一致的问题,使用Scale层对特征进行缩放.
    项目视频百度云链接:20241031版本更新说明

102. ultralytics/cfg/models/v10/yolov10n-C2f-SFHF.yaml

    使用[SFHformer ECCV2024](https://github.com/deng-ai-lab/SFHformer)中的block改进C2f.
    该模块需要在train.py中关闭amp、且在ultralytics/engine/validator.py 115行附近的self.args.half设置为False、跑其余改进记得修改回去!
    项目视频百度云链接:20241109版本更新说明

103. ultralytics/cfg/models/v10/yolov10n-CSP-FreqSpatial.yaml

    FreqSpatial 是一个融合时域和频域特征的卷积神经网络(CNN)模块。该模块通过在时域和频域中提取特征,旨在捕捉不同层次的空间和频率信息,以增强模型在处理图像数据时的鲁棒性和表示能力。模块的主要特点是将 Scharr 算子(用于边缘检测)与 时域卷积 和 频域卷积 结合,通过多种视角捕获图像的结构特征。
    1. 时域特征提取:从原始图像中提取出基于空间结构的特征,主要捕捉图像的细节、边缘信息等。
    2. 频域特征提取:从频率域中提取出频率相关的模式,捕捉到图像的低频和高频成分,能够帮助模型在全局和局部的尺度上提取信息。
    3. 特征融合:将时域和频域的特征进行加权相加,得到最终的输出特征图。这种加权融合允许模型同时考虑空间结构信息和频率信息,从而增强模型在多种场景下的表现能力。
    该模块需要在train.py中关闭amp、且在ultralytics/engine/validator.py 115行附近的self.args.half设置为False、跑其余改进记得修改回去!
    项目视频百度云链接:20241109版本更新说明

104. ultralytics/cfg/models/v10/yolov10n-C2f-MSM.yaml

    使用[Revitalizing Convolutional Network for Image Restoration TPAMI2024](https://zhuanlan.zhihu.com/p/720777160)中的MSM改进C2f.(需要看[常见错误和解决方案的第五点](#a))
    项目视频百度云链接:20241109版本更新说明

105. ultralytics/cfg/models/v10/yolov10n-C2f-iRMB.yaml

    使用[EMO ICCV2023](https://github.com/zhangzjn/EMO)中的iRMB改进C2f.(详细请看20240216更新说明)

106. ultralytics/cfg/models/v10/yolov10n-C2f-iRMB-Cascaded.yaml

    使用[EfficientViT CVPR2023](https://github.com/microsoft/Cream/tree/main/EfficientViT)中的CascadedGroupAttention对[EMO ICCV2023](https://github.com/zhangzjn/EMO)中的iRMB进行二次创新来改进C2f.(详细请看20240216更新说明)

107. ultralytics/cfg/models/v10/yolov10n-C2f-iRMB-DRB.yaml

    使用[UniRepLKNet](https://github.com/AILab-CVC/UniRepLKNet/tree/main)中的DilatedReparamBlock对[EMO ICCV2023](https://github.com/zhangzjn/EMO)中的iRMB进行二次创新来改进C2f.(详细请看20240216更新说明)

108. ultralytics/cfg/models/v10/yolov10n-C2f-iRMB-SWC.yaml

    使用[shift-wise conv](https://arxiv.org/abs/2401.12736)对[EMO ICCV2023](https://github.com/zhangzjn/EMO)中的iRMB进行二次创新来改进C2f.(详细请看20240216更新说明)

109. ultralytics/cfg/models/v10/yolov10n-HSFPN.yaml

    使用[MFDS-DETR](https://github.com/JustlfC03/MFDS-DETR)中的HS-FPN改进yolov10的neck.
    项目视频百度云链接:20240122版本更新说明

110. ultralytics/cfg/models/v10/yolov10n-ELA-HSFPN.yaml

    使用[Efficient Local Attention](https://arxiv.org/abs/2403.01123)改进HSFPN.
    项目视频百度云链接:20240323版本更新说明

111. ultralytics/cfg/models/v10/yolov10n-CA-HSFPN.yaml

    使用[Coordinate Attention CVPR2021](https://github.com/houqb/CoordAttention)改进HSFPN.
    项目视频百度云链接:20240323版本更新说明

112. ultralytics/cfg/models/v10/yolov10n-ELA-HSFPN-TADDH.yaml

    使用[Efficient Local Attention](https://arxiv.org/abs/2403.01123)改进HSFPN,使用自研动态动态对齐检测头改进Head.
    项目视频百度云链接:20241109版本更新说明

113. ultralytics/cfg/models/v10/yolov10n-CAA-HSFPN.yaml

    使用[CVPR2024 PKINet](https://github.com/PKINet/PKINet)中的CAA模块HSFPN.
    项目视频百度云链接:20240330版本更新说明

114. ultralytics/cfg/models/v10/yolov10n-CSP-PTB.yaml

    Cross Stage Partial - Partially Transformer Block
    在计算机视觉任务中,Transformer结构因其强大的全局特征提取能力而受到广泛关注。然而,由于Transformer结构的计算复杂度较高,直接将其应用于所有通道会导致显著的计算开销。为了在保证高效特征提取的同时降低计算成本,我们设计了一种混合结构,将输入特征图分为两部分,分别由CNN和Transformer处理,结合了卷积神经网络(CNN)和Transformer机制的模块,旨在增强特征提取的能力。
    我们提出了一种名为CSP_PTB(Cross Stage Partial - Partially Transformer Block)的模块,旨在结合CNN和Transformer的优势,通过对输入通道进行部分分配来优化计算效率和特征提取能力。
    1. 融合局部和全局特征:多项研究表明,CNN的感受野大小较少,导致其只能提取局部特征,但Transformer的MHSA能够提取全局特征,能够同时利用两者的优势。
    2. 保证高效特征提取的同时降低计算成本:为了能引入Transformer结构来提取全局特征又不想大幅度增加计算复杂度,因此提出Partially Transformer Block,只对部分通道使用TransformerBlock。
    3. MHSA_CGLU包含Mutil-Head-Self-Attention和[ConvolutionalGLU(TransNext CVPR2024)](https://github.com/DaiShiResearch/TransNeXt),其中Mutil-Head-Self-Attention负责提取全局特征,ConvolutionalGLU用于增强非线性特征表达能力,ConvolutionalGLU相比于传统的FFN,具有更强的性能。
    4. 可以根据不同的模型大小和具体的运行情况调节用于Transformer的通道数。
    项目视频百度云链接:20240613版本更新说明

115. Re-CalibrationFPN

    为了加强浅层和深层特征的相互交互能力,推出重校准特征金字塔网络(Re-CalibrationFPN).
    P2345:ultralytics/cfg/models/v10/yolov10n-ReCalibrationFPN-P2345.yaml(带有小目标检测头的ReCalibrationFPN)
    P345:ultralytics/cfg/models/v10/yolov10n-ReCalibrationFPN-P345.yaml
    P3456:ultralytics/cfg/models/v10/yolov10n-ReCalibrationFPN-P3456.yaml(带有大目标检测头的ReCalibrationFPN)
    1. 浅层语义较少,但细节丰富,有更明显的边界和减少失真。此外,深层蕴藏着丰富的物质语义信息。因此,直接融合低级具有高级特性的特性可能导致冗余和不一致。为了解决这个问题,我们提出了[SBA](https://github.com/Barrett-python/DuAT)模块,它有选择地聚合边界信息和语义信息来描绘更细粒度的物体轮廓和重新校准物体的位置。
    2. 相比传统的FPN结构,[SBA](https://github.com/Barrett-python/DuAT)模块引入了高分辨率和低分辨率特征之间的双向融合机制,使得特征之间的信息传递更加充分,进一步提升了多尺度特征融合的效果。
    3. [SBA](https://github.com/Barrett-python/DuAT)模块通过自适应的注意力机制,根据特征图的不同分辨率和内容,自适应地调整特征的权重,从而更好地捕捉目标的多尺度特征。
    项目视频百度云链接:20240609版本更新说明

116. ultralytics/cfg/models/v10/yolov10n-C2f-SMPCGLU.yaml

    Self-moving Point Convolutional GLU模型改进C2f.
    SMP来源于[CVPR2023-SMPConv](https://github.com/sangnekim/SMPConv),Convolutional GLU来源于[TransNeXt CVPR2024](https://github.com/DaiShiResearch/TransNeXt).
    1. 普通的卷积在面对数据中的多样性和复杂性时,可能无法捕捉到有效的特征,因此我们采用了SMPConv,其具备最新的自适应点移动机制,从而更好地捕捉局部特征,提高特征提取的灵活性和准确性。
    2. 在SMPConv后添加CGLU,Convolutional GLU 结合了卷积和门控机制,能够选择性地通过信息通道,提高了特征提取的有效性和灵活性。
    3. 这种类似Transformer的encoder结构,利用DEConv进行特征提取,CGLU可以进一步的非线性变换和加强特征提取,提升模型的表达能力。
    项目视频百度云链接:20240601版本更新说明

117. ultralytics/cfg/models/v10/yolov10n-ContextGuideFPN.yaml

    Context Guide Fusion Module(CGFM)是一个创新的特征融合模块,旨在改进YOLOv8中的特征金字塔网络(FPN)。该模块的设计考虑了多尺度特征融合过程中上下文信息的引导和自适应调整。
    1. 上下文信息的有效融合:通过SE注意力机制,模块能够在特征融合过程中捕捉并利用重要的上下文信息,从而增强特征表示的有效性,并有效引导模型学习检测目标的信息,从而提高模型的检测精度。
    2. 特征增强:通过权重化的特征重组操作,模块能够增强重要特征,同时抑制不重要特征,提升特征图的判别能力。
    3. 简单高效:模块结构相对简单,不会引入过多的计算开销,适合在实时目标检测任务中应用。
    这期视频讲解在B站:https://www.bilibili.com/video/BV1Vx4y1n7hZ/
    项目视频百度云链接:20240601版本更新说明

118. ultralytics/cfg/models/v10/yolov10n-LSDECD.yaml

    基于自研轻量化检测头上(LSCD),使用detail-enhanced convolution进一步改进,提高检测头的细节捕获能力,进一步改善检测精度.
    关于DEConv在运行的时候重参数化后比重参数化前的计算量还要大的问题:是因为重参数化前thop库其计算不准的问题,看重参数化后的参数即可.
    1. DEA-Net中设计了一个细节增强卷积(DEConv),具体来说DEConv将先验信息整合到普通卷积层,以增强表征和泛化能力。然后,通过使用重参数化技术,DEConv等效地转换为普通卷积,不需要额外的参数和计算成本。
    项目视频百度云链接:20240601版本更新说明

119. ultralytics/cfg/models/v10/yolov10n-C2f-RAB.yaml

    使用[Pattern Recognition 2024|DRANet](https://github.com/WenCongWu/DRANet)中的HDRAB(hybrid dilated residual attention block)改进C2f.
    项目视频百度云链接:20241122版本更新说明

120. ultralytics/cfg/models/v10/yolov10n-C2f-HDRAB.yaml

    使用[Pattern Recognition 2024|DRANet](https://github.com/WenCongWu/DRANet)中的RAB( residual attention block)改进C2f.
    项目视频百度云链接:20241122版本更新说明

121. ultralytics/cfg/models/v10/yolov10n-C2f-LFE.yaml

    使用[Efficient Long-Range Attention Network for Image Super-resolution ECCV2022](https://github.com/xindongzhang/ELAN)中的Local feature extraction改进C2f.
    项目视频百度云链接:20241122版本更新说明

122. ultralytics/cfg/models/v10/yolov10n-C2f-MutilScaleEdgeInformationSelect.yaml

    基于自研CSP-MutilScaleEdgeInformationEnhance再次创新.
    我们提出了一个 多尺度边缘信息选择模块(MutilScaleEdgeInformationSelect),其目的是从多尺度边缘信息中高效选择与目标任务高度相关的关键特征。为了实现这一目标,我们引入了一个具有通过聚焦更重要的区域能力的注意力机制[ICCV2023 DualDomainSelectionMechanism, DSM](https://github.com/c-yn/FocalNet)。该机制通过聚焦图像中更重要的区域(如复杂边缘和高频信号区域),在多尺度特征中自适应地筛选具有更高任务相关性的特征,从而显著提升了特征选择的精准度和整体模型性能。
    项目视频百度云链接:20241122版本更新说明

123. ultralytics/cfg/models/v10/yolov10n-C2f-SFA.yaml

    使用[FreqFormer](https://github.com/JPWang-CS/FreqFormer)的Frequency-aware Cascade Attention-SFA改进C2f.
    项目视频百度云链接:20241204版本更新说明

123. ultralytics/cfg/models/v10/yolov10n-C2f-CTA.yaml

    使用[FreqFormer](https://github.com/JPWang-CS/FreqFormer)的Frequency-aware Cascade Attention-CTA改进C2f.
    项目视频百度云链接:20241204版本更新说明

124. GlobalEdgeInformationTransfer

    实现版本1:ultralytics/cfg/models/v10/yolov10n-GlobalEdgeInformationTransfer1.yaml
    实现版本3:ultralytics/cfg/models/v10/yolov10n-GlobalEdgeInformationTransfer3.yaml
    实现版本2:ultralytics/cfg/models/v10/yolov10n-GlobalEdgeInformationTransfer2.yaml
    总所周知,物体框的定位非常之依赖物体的边缘信息,但是对于常规的目标检测网络来说,没有任何组件能提高网络对物体边缘信息的关注度,我们需要开发一个能让边缘信息融合到各个尺度所提取的特征中,因此我们提出一个名为GlobalEdgeInformationTransfer(GEIT)的模块,其可以帮助我们把浅层特征中提取到的边缘信息传递到整个backbone上,并与不同尺度的特征进行融合。
    1. 由于原始图像中含有大量背景信息,因此从原始图像上直接提取边缘信息传递到整个backbone上会给网络的学习带来噪声,而且浅层的卷积层会帮助我们过滤不必要的背景信息,因此我们选择在网络的浅层开发一个名为MutilScaleEdgeInfoGenetator的模块,其会利用网络的浅层特征层去生成多个尺度的边缘信息特征图并投放到主干的各个尺度中进行融合。
    2. 对于下采样方面的选择,我们需要较为谨慎,我们的目标是保留并增强边缘信息,同时进行下采样,选择MaxPool 会更合适。它能够保留局部区域的最强特征,更好地体现边缘信息。因为 AvgPool 更适用于需要平滑或均匀化特征的场景,但在保留细节和边缘信息方面的表现不如 MaxPool。
    3. 对于融合部分,ConvEdgeFusion巧妙地结合边缘信息和普通卷积特征,提出了一种新的跨通道特征融合方式。首先,使用conv_channel_fusion进行边缘信息与普通卷积特征的跨通道融合,帮助模型更好地整合不同来源的特征。然后采用conv_3x3_feature_extract进一步提取融合后的特征,以增强模型对局部细节的捕捉能力。最后通过conv_1x1调整输出特征维度。
    项目视频百度云链接:20241204版本更新说明

125. ultralytics/cfg/models/v10/yolov10n-C2f-CAMixer.yaml

    使用[CAMixerSR CVPR2024](https://github.com/icandle/CAMixerSR)中的CAMixer改进C2f.(需要看[常见错误和解决方案的第五点](#a))
    该模块需要在train.py中关闭amp、且在ultralytics/engine/validator.py 115行附近的self.args.half设置为False、跑其余改进记得修改回去!
    项目视频百度云链接:20241219版本更新说明

126. ultralytics/cfg/models/v10/yolov10n-hyper.yaml

    使用[Hyper-YOLO](https://www.arxiv.org/pdf/2408.04804)中的Hypergraph Computation in Semantic Space改进yolov10.
    项目视频百度云链接:20241219版本更新说明

127. ultralytics/cfg/models/v10/yolov10n-MAN.yaml

    使用[Hyper-YOLO TPAMI2025](https://www.arxiv.org/pdf/2408.04804)中的Mixed Aggregation Network改进yolov10.
    项目视频百度云链接:20241219版本更新说明

138. ultralytics/cfg/models/v10/yolov10n-MAN-Faster.yaml

    使用[Hyper-YOLO](https://www.arxiv.org/pdf/2408.04804)中的 Mixed Aggregation Network和[FasterNet CVPR2023](https://github.com/JierunChen/FasterNet)中的Faster-Block进行二次创新改进yolov10.
    项目视频百度云链接:20250101版本更新说明

139. ultralytics/cfg/models/v10/yolov10n-MAN-FasterCGLU.yaml

    使用[Hyper-YOLO](https://www.arxiv.org/pdf/2408.04804)中的 Mixed Aggregation Network和[FasterNet CVPR2023](https://github.com/JierunChen/FasterNet)中的Faster-Block和[TransNeXt CVPR2024](https://github.com/DaiShiResearch/TransNeXt)中的Convolutional GLU进行二次创新改进yolov10.
    项目视频百度云链接:20250101版本更新说明

140. ultralytics/cfg/models/v10/yolov10n-MAN-Star.yaml

    使用[Hyper-YOLO](https://www.arxiv.org/pdf/2408.04804)中的 Mixed Aggregation Network和[StarNet CVPR2024](https://github.com/ma-xu/Rewrite-the-Stars/tree/main)中的StarBlock进行二次创新改进yolov10.
    项目视频百度云链接:20250101版本更新说明

141. ultralytics/cfg/models/v10/yolov10n-msga.yaml

    使用[MSA^2 Net](https://github.com/xmindflow/MSA-2Net)中的Multi-Scale Adaptive Spatial Attention Gate改进yolov10-neck.
    项目视频百度云链接:20250101版本更新说明

142. ultralytics/cfg/models/v10/yolov10n-MutilBackbone-MSGA.yaml

    使用[MSA^2 Net](https://github.com/xmindflow/MSA-2Net)中的Multi-Scale Adaptive Spatial Attention Gate对自研系列MutilBackbone再次创新.
    项目视频百度云链接:20250101版本更新说明

143. ultralytics/cfg/models/v10/yolov10n-CGAFusion.yaml

    使用[DEA-Net](https://github.com/cecret3350/DEA-Net)中的content-guided attention fusion改进yolov10-neck.
    项目视频百度云链接:20240428版本更新说明

144. ultralytics/cfg/models/v10/yolov10n-C2f-HFERB.yaml

    使用[ICCV2023 CRAFT-SR](https://github.com/AVC2-UESTC/CRAFT-SR)中的high-frequency enhancement residual block改进C2f.
    项目视频百度云链接:20250119版本更新说明

145. ultralytics/cfg/models/v10/yolov10n-C2f-DTAB.yaml

    使用[AAAI2025 TBSN](https://github.com/nagejacob/TBSN)中的DTAB改进C2f.(需要看[常见错误和解决方案的第五点](#a))
    项目视频百度云链接:20250119版本更新说明

146. ultralytics/cfg/models/v10/yolov10n-C2f-JDPM.yaml

    使用[ECCV2024 FSEL](https://github.com/CSYSI/FSEL)中的joint domain perception module改进C2f.
    该模块需要在train.py中关闭amp、且在ultralytics/engine/validator.py 115行附近的self.args.half设置为False、跑其余改进记得修改回去!
    项目视频百度云链接:20250119版本更新说明

147. ultralytics/cfg/models/v10/yolov10n-C2f-ETB.yaml

    使用[ECCV2024 FSEL](https://github.com/CSYSI/FSEL)中的entanglement transformer block改进C2f.
    该模块需要在train.py中关闭amp、且在ultralytics/engine/validator.py 115行附近的self.args.half设置为False、跑其余改进记得修改回去!
    项目视频百度云链接:20250119版本更新说明

148. ultralytics/cfg/models/v10/yolov10n-WFU.yaml

    使用[ACMMM2024 WFEN](https://github.com/PRIS-CV/WFEN)中的Wavelet Feature Upgrade改进yolov10-neck.
    项目视频百度云链接:20250119版本更新说明

149. ultralytics/cfg/models/v10/yolov10n-slimneck-WFU.yaml

    使用[ACMMM2024 WFEN](https://github.com/PRIS-CV/WFEN)中的Wavelet Feature Upgrade对slimneck二次创新.
    项目视频百度云链接:20250119版本更新说明

150. ultralytics/cfg/models/v10/yolov10n-MAN-FasterCGLU-WFU.yaml

    使用[ACMMM2024 WFEN](https://github.com/PRIS-CV/WFEN)中的Wavelet Feature Upgrade和[Hyper-YOLO](https://www.arxiv.org/pdf/2408.04804)中的 Mixed Aggregation Network和[FasterNet CVPR2023](https://github.com/JierunChen/FasterNet)中的Faster-Block和[TransNeXt CVPR2024](https://github.com/DaiShiResearch/TransNeXt)中的Convolutional GLU进行二次创新改进yolov10.
    项目视频百度云链接:20250119版本更新说明

151. ultralytics/cfg/models/v10/yolov10n-C2f-AP.yaml

    使用[AAAI2025 Pinwheel-shaped Convolution and Scale-based Dynamic Loss for Infrared Small Target Detection](https://github.com/JN-Yang/PConv-SDloss-Data)中的Asymmetric Padding bottleneck改进C2f.
    项目视频百度云链接:20250119版本更新说明

152. ultralytics/cfg/models/v10/yolov10n-PSConv.yaml

    使用[AAAI2025 Pinwheel-shaped Convolution and Scale-based Dynamic Loss for Infrared Small Target Detection](https://github.com/JN-Yang/PConv-SDloss-Data)中的Pinwheel-shaped Convolution改进yolov10.
    项目视频百度云链接:20250119版本更新说明

153. ultralytics/cfg/models/v10/yolov10n-CDFA.yaml

    使用[ACMMM2024 WFEN](https://github.com/PRIS-CV/WFEN)中的WaveletConv与[AAAI2025 ConDSeg](https://github.com/Mengqi-Lei/ConDSeg)的ContrastDrivenFeatureAggregation结合改进yolov10.
    视频链接:https://www.bilibili.com/video/BV1gXwzeZEqp/

154. ultralytics/cfg/models/v10/yolov10n-C2f-Kat.yaml

    使用[ICLR2025 Kolmogorov-Arnold Transformer](https://github.com/Adamdad/kat)中的KAT改进C2f.<需要编译请看百度云视频-20250207版本更新说明>
    项目视频百度云链接:20250207版本更新说明

155. ultralytics/cfg/models/v10/yolov10n-C2f-Faster-KAN.yaml

    使用[ICLR2025 Kolmogorov-Arnold Transformer](https://github.com/Adamdad/kat)中的KAN对(CVPR2023)fasternet中的FastetBlock进行二次创新.<需要编译请看百度云视频-20250207版本更新说明>
    项目视频百度云链接:20250207版本更新说明

156. ultralytics/cfg/models/v10/yolov10n-fsa.yaml

    使用[BIBM2024 Spatial-Frequency Dual Domain Attention Network For Medical Image Segmentation](https://github.com/nkicsl/SF-UNet)的Frequency-Spatial Attention改进yolov10.(需要看[常见错误和解决方案的第五点](#a))
    该模块需要在train.py中关闭amp、且在ultralytics/engine/validator.py 115行附近的self.args.half设置为False、跑其余改进记得修改回去!
    项目视频百度云链接:20250207版本更新说明

157. ultralytics/cfg/models/v10/yolov10n-mscafsa.yaml

    使用[BIBM2024 Spatial-Frequency Dual Domain Attention Network For Medical Image Segmentation](https://github.com/nkicsl/SF-UNet)的Frequency-Spatial Attention和Multi-scale Progressive Channel Attention改进yolov10-neck.(需要看[常见错误和解决方案的第五点](#a))
    该模块需要在train.py中关闭amp、且在ultralytics/engine/validator.py 115行附近的self.args.half设置为False、跑其余改进记得修改回去!
    项目视频百度云链接:20250207版本更新说明

158. ultralytics/cfg/models/v10/yolov10n-C2f-Strip.yaml

    使用[Strip R-CNN](https://arxiv.org/pdf/2501.03775)中的StripBlock改进C2f.
    项目视频百度云链接:20250207版本更新说明

159. ultralytics/cfg/models/v10/yolov10n-C2f-StripCGLU.yaml

    使用[Strip R-CNN](https://arxiv.org/pdf/2501.03775)中的StripBlock和[TransNeXt CVPR2024](https://github.com/DaiShiResearch/TransNeXt)中的Convolutional GLU改进C2f.
    项目视频百度云链接:20250207版本更新说明

160. ultralytics/cfg/models/v10/yolov10n-C2f-DIMB.yaml

    自研模块DynamicInceptionDWConv2d.
    动态混合卷积网络:自适应深度卷积与高效特征融合
    ----------------------------------------------------
    当前挑战:
    在传统卷积神经网络(CNN)中,卷积核通常是固定且静态的,这种设计在处理复杂的、具有多尺度特征和高变动性的输入时存在一定的局限性。尤其是在以下几个方面:
        1.	卷积核选择的单一性:大多数网络在卷积操作中依赖于固定大小的卷积核,这可能无法适应不同尺度、不同类型特征的需求。尤其在处理具有显著尺度差异的图像时,单一卷积核无法有效捕捉细节和全局信息的平衡。
        2.	信息融合的不足:在深度神经网络中,不同层次的特征图具有不同的语义信息,传统网络往往忽视了这些信息的高效融合,导致了上下层信息的丢失或不充分利用。这会影响模型在复杂任务中的表现,尤其是在目标检测、图像分割等任务中,特征之间的跨层关联至关重要。
        3.	网络灵活性不足:大部分网络的卷积操作缺乏灵活性,不能根据输入的特征自适应地调整卷积方式。这使得模型在面临各种输入变动时,无法快速调整策略,从而影响模型的鲁棒性和适应能力。
        4.	计算效率与参数浪费:虽然深度卷积操作能够提取丰富的特征,但固定的卷积核和冗余的计算开销会导致模型的训练和推理效率降低,特别是在实时处理和大规模数据集时,过多的计算和参数导致了内存浪费和速度瓶颈。
    ----------------------------------------------------
    本文提出的解决方案:
    我们提出的动态混合卷积网络(Dynamic Inception Mixer)模块,旨在解决上述问题,提供一个灵活且高效的卷积架构,具体通过以下方式应对当前挑战:
        1.	动态卷积核选择与适应性调整
    通过引入动态卷积核权重(DKW)机制,我们能够为每个卷积核分配一个自适应的权重,使得网络能够根据输入特征图的不同需求调整卷积核的使用。这种机制打破了传统固定卷积核的限制,使得卷积操作能够在每次前向传播时根据输入的不同特征进行自适应的调整,进而有效捕捉多尺度和多样化的特征信息。
        2.	跨尺度特征融合与信息共享
    DynamicInceptionMixer通过多尺度卷积核的融合,在不同尺度上提取信息并进行灵活组合。这种跨尺度的特征提取方式使得网络能够在多个尺度上捕捉细节信息,而不仅仅依赖于某一个固定大小的卷积核,从而大大提升了模型对复杂场景的适应能力。
        3.	增强层间信息融合
    通过引入DynamicIncMixerBlock模块,我们实现了跨层信息的有效融合。在每个模块中,卷积后的特征图会与输入特征图进行残差加和,保持了网络中低层和高层特征的有效传递。这不仅使得模型能够充分利用多层次的信息,还能减少由于网络层次过深导致的梯度消失或特征丢失问题。
        4.	高效计算与参数共享
    在DynamicInceptionDWConv2d模块中,我们使用了深度卷积(depthwise convolution),这种方法能够显著减少参数量和计算量,同时仍然保持对输入特征图的细致处理。通过对卷积核的动态调整,不仅提升了模型在多样性输入上的表现,还减少了不必要的计算冗余。
        5.	灵活的网络训练与正则化
    引入的Layer Scale机制,通过在每个模块中动态地调整权重缩放,有助于在训练过程中更好地控制模型的收敛性和稳定性。此外,结合DropPath策略,进一步提升了模型的正则化效果,有效防止了过拟合,尤其是在高维特征空间中的表现尤为突出。
    ----------------------------------------------------
    总结:
    通过动态卷积核选择、跨层信息融合、以及高效的计算设计,Dynamic Inception Mixer能够有效解决传统卷积神经网络在多尺度特征提取、信息融合及计算效率方面的不足。我们的设计不仅提升了网络的适应性和灵活性,还在实际任务中展示了更强的鲁棒性和高效的计算性能。因此,该模块为深度学习模型的构建和优化提供了一个全新的思路,特别适用于处理多变和复杂输入数据的任务,如目标检测、图像分割等。
    项目视频百度云链接:20250220版本更新说明

161. ultralytics/cfg/models/v10/yolov10n-C2f-DIMB-KAN.yaml

    在246的基础上把mlp模块换成[ICLR2025 Kolmogorov-Arnold Transformer](https://github.com/Adamdad/kat)中的KAN.<KAN 需要编译请看百度云视频-20250207版本更新说明>
    项目视频百度云链接:20250220版本更新说明

162. ultralytics/cfg/models/v10/yolov10n-C2f-GlobalFilter.yaml

    使用[T-PAMI Global Filter Networks for Image Classification](https://github.com/raoyongming/GFNet)中的GlobalFilterBlock和[TransNeXt CVPR2024](https://github.com/DaiShiResearch/TransNeXt)中的Convolutional GLU改进C2f.(需要看[常见错误和解决方案的第五点](#a))
    该模块需要在train.py中关闭amp、且在ultralytics/engine/validator.py 115行附近的self.args.half设置为False、跑其余改进记得修改回去!
    项目视频百度云链接:20250220版本更新说明

163. ultralytics/cfg/models/v10/yolov10n-C2f-DynamicFilter.yaml

    使用[AAAI2024 FFT-Based Dynamic Token Mixer for Vision](https://github.com/okojoalg/dfformer)中的DynamicFilter改进C2f.(需要看[常见错误和解决方案的第五点](#a))
    该模块需要在train.py中关闭amp、且在ultralytics/engine/validator.py 115行附近的self.args.half设置为False、跑其余改进记得修改回去!
    项目视频百度云链接:20250220版本更新说明

# 常见错误和解决方案(如果是跑自带的一些配置文件报错可以先看看对应的配置文件是否有提示需要修改内容)
1. RuntimeError: xxxxxxxxxxx does not have a deterministic implementation, but you set 'torch.use_deterministic_algorithms(True)'.....

    解决方案:在ultralytics/utils/torch_utils.py中init_seeds函数中把torch.use_deterministic_algorithms里面的True改为False

2. ModuleNotFoundError:No module named xxx

    解决方案:缺少对应的包,先把YOLOV8环境配置的安装命令进行安装一下,如果还是缺少显示缺少包,安装对应的包即可(xxx就是对应的包).

3. OMP: Error #15: Initializing libiomp5md.dll, but found libiomp5md.dll already initialized.  

    解决方案:https://zhuanlan.zhihu.com/p/599835290

4. 训练过程中loss出现nan.

    可以尝试关闭AMP混合精度训练.(train.py中加amp=False)

<a id="a"></a>

5. 固定640x640尺寸的解决方案.

    运行train.py中的时候需要在ultralytics/models/yolo/detect/train.py的DetectionTrainer class中的build_dataset函数中的rect=mode == 'val'改为rect=False.其他模型可以修改回去.  
    运行val.py的时候,把val.py的rect=False注释取消即可.其他模型可以修改回去.  
    运行detect.py中的时候需要在ultralytics/engine/predictor.py找到函数def pre_transform(self, im),在LetterBox中的auto改为False,其他模型可以修改回去.  

6. 多卡训练问题.[参考链接](https://docs.ultralytics.com/yolov5/tutorials/multi_gpu_training/#multi-gpu-dataparallel-mode-not-recommended:~:text=just%201%20GPU.-,Multi%2DGPU%20DistributedDataParallel%20Mode%20(%E2%9C%85%20recommended),-You%20will%20have)

    假设我的机器有四张卡
    我想用第二第三张卡来跑,则命令:CUDA_VISIBLE_DEVICES=1,2 python -m torch.distributed.run --nproc_per_node 2 train.py
    我想用第一第二第三张卡来跑,则命令:CUDA_VISIBLE_DEVICES=0,1,2 python -m torch.distributed.run --nproc_per_node 3 train.py
    我想用全部卡跑,则命令:CUDA_VISIBLE_DEVICES=0,1,2,3 python -m torch.distributed.run --nproc_per_node 4 train.py
    百度云视频链接:https://pan.baidu.com/s/1q7Yap6WSflAUtMIvssFn0w?pwd=cy8r

7. 指定显卡训练.

    百度云视频链接:https://pan.baidu.com/s/1q7Yap6WSflAUtMIvssFn0w?pwd=cy8r

8. ValueError: Expected more than 1 value per channel when training, got input size torch.Size...

    请注意看控制台输出信息,如果是训练阶段的最后一个batch出现这个报错,证明最后一个batch的大小为1,可以去掉训练集的一张图或者加一张图避免出现这个情况,又或者更改batch。
    同样地,如果在训练时候的验证阶段出现这个情况,跟上述处理一样,可以去掉验证集的一张图或者加一张图避免出现这个情况,又或者更改batch。

9. AttributeError: Can't pickle local object 'EMASlideLoss.__init__.<locals>.<lambda>'

    可以在ultralytics/utils/loss.py中添加import dill as pickle,然后装一下dill这个包.  
    pip install dill -i https://pypi.tuna.tsinghua.edu.cn/simple

10. RuntimeError: Dataset 'xxxxx' error ❌

    将data.yaml中的路径都改为绝对路径.

11. WARNING  NMS time limit 2.100s exceeded

    在ultralytics/utils/ops.py中non_max_suppression函数里面找到这个语句:
        time_limit = 2.0 + max_time_img * bs  # seconds to quit after
    前面的2.0自己改大点即可,大到不会出现这个NMS time limit即可.

12. OSError: [WinError 1455] 页面文件太小,无法完成操作。

    此问题常见于windows训练.一般情况下有两种解决方案:
    1. 把workers设置小点直接不会报错.最小为0
    2. 扩大虚拟内存(可百度).