YOLO11实战:GC10-DET缺陷检测 | DCNv4结合SPPF+11Detect创新性结合,创新十足(4)

💡💡💡本文独家改进:DCNv4更快收敛、更高速度、更高性能,完美和YOLO11结合,助力涨点

DCNv4优势:(1) 去除空间聚合中的softmax归一化,以增强其动态性和表达能力;(2) 优化存储器访问以最小化冗余操作以加速。这些改进显著加快了收敛速度,并大幅提高了处理速度,DCNv 4实现了三倍以上的前向速度

 💡💡💡如何跟YOLO11结合:1)和11Detect创新性结合

💡💡💡涨点情况:GC10-DET缺陷检测,11Detect创新性结合原始mAP50为0.633 提升至0.646

💡💡💡涨点情况:GC10-DET缺陷检测,和DCNv4结合SPPF原始mAP50为0.633 提升至0.647

 💡💡💡涨点情况:DCNv4结合SPPF+11Detect创新性结合原始mAP50为0.633 提升至0.651 

改进结构图如下:

 《YOLOv11魔术师专栏》将从以下各个方向进行创新:

链接:

YOLO11魔术师

原创自研模块】【多组合点优化】【注意力机制】【卷积魔改】【block&多尺度融合结合】【损失&IOU优化】【上下采样优化 【小目标性能提升】前沿论文分享】【训练实战篇】

订阅者通过添加WX: AI_CV_0624,入群沟通,提供改进结构图等一系列定制化服务。

定期向订阅者提供源码工程,配合博客使用。

订阅者可以申请发票,便于报销 

💡💡💡为本专栏订阅者提供创新点改进代码,改进网络结构图,方便paper写作!!!

💡💡💡适用场景:红外、小目标检测、工业缺陷检测、医学影像、遥感目标检测、低对比度场景

💡💡💡适用任务:所有改进点适用【检测】、【分割】、【pose】、【分类】等

💡💡💡全网独家首发创新,【自研多个自研模块】,【多创新点组合适合paper 】!!!

☁️☁️☁️☁️☁️☁️☁️☁️☁️☁️☁️☁️☁️☁️☁️☁️☁️☁️ ☁️☁️☁️☁️☁️☁️☁️☁️☁️☁️☁️☁️☁️☁️

包含注意力机制魔改、卷积魔改、检测头创新、损失&IOU优化、block优化&多层特征融合、 轻量级网络设计、24年最新顶会改进思路、原创自研paper级创新等

🚀🚀🚀 本项目持续更新 | 更新完结保底≥80+ ,冲刺100+ 🚀🚀🚀

🍉🍉🍉 联系WX: AI_CV_0624 欢迎交流!🍉🍉🍉

⭐⭐⭐专栏涨价趋势 159 ->199->259->299,越早订阅越划算⭐⭐⭐

💡💡💡 2024年计算机视觉顶会创新点适用于Yolov5、Yolov7、Yolov8、Yolov9等各个Yolo系列,专栏文章提供每一步步骤和源码,轻松带你上手魔改网络 !!!

💡💡💡重点:通过本专栏的阅读,后续你也可以设计魔改网络,在网络不同位置(Backbone、head、detect、loss等)进行魔改,实现创新!!!

☁️☁️☁️☁️☁️☁️☁️☁️☁️☁️☁️☁️☁️☁️☁️☁️☁️☁️ ☁️☁️☁️☁️☁️☁️☁️☁️☁️☁️☁️☁️☁️☁️

1.YOLO11介绍

Ultralytics YOLO11是一款尖端的、最先进的模型,它在之前YOLO版本成功的基础上进行了构建,并引入了新功能和改进,以进一步提升性能和灵活性。YOLO11设计快速、准确且易于使用,使其成为各种物体检测和跟踪、实例分割、图像分类以及姿态估计任务的绝佳选择。

​​

​​

结构图如下:

​​

1.1 C3k2

C3k2,结构图如下

​​

C3k2,继承自类C2f,其中通过c3k设置False或者Ture来决定选择使用C3k还是Bottleneck

​​

实现代码ultralytics/nn/modules/block.py

1.2 C2PSA介绍

借鉴V10 PSA结构,实现了C2PSA和C2fPSA,最终选择了基于C2的C2PSA(可能涨点更好?)

​​

实现代码ultralytics/nn/modules/block.py

1.3 11 Detect介绍

分类检测头引入了DWConv(更加轻量级,为后续二次创新提供了改进点),结构图如下(和V8的区别):

​​

实现代码ultralytics/nn/modules/head.py 

  

2.如何训练GC10-DET数据集

2.1 数据集介绍

数据集大小,训练集1833张,验证集459张

下载地址:

https://download.csdn.net/download/m0_63774211/89991499?spm=1001.2014.3001.5501

 

标签可视化:存在大小缺陷,缺陷类别不均衡等特点

 

 2.2 GC10.yaml

# Ultralytics YOLO 🚀, AGPL-3.0 license
# COCO 2017 dataset https://cocodataset.org by Microsoft
# Documentation: https://docs.ultralytics.com/datasets/detect/coco/
# Example usage: yolo train data=coco.yaml
# parent
# ├── ultralytics
# └── datasets
#     └── coco  ← downloads here (20.1 GB)

# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
path: D:/YOLOv11/data/GC10-DET # dataset root dir
train: images/train # train images (relative to 'path') 118287 images
val: images/val # val images (relative to 'path') 5000 images
#test: test-dev2017.txt # 20288 of 40670 images, submit to https://competitions.codalab.org/competitions/20794

# Classes
names:
  0: chongkong
  1: hanfeng
  2: yueyawan
  3: shuiban
  4: youban
  5: siban
  6: yiwu
  7: yahen
  8: zhehen
  9: yaozhe

2.3  如何训练

import warnings
warnings.filterwarnings('ignore')
from ultralytics import YOLO

if __name__ == '__main__':
    model = YOLO('ultralytics/cfg/models/11/yolo11.yaml')
    #model.load('yolov8n.pt') # loading pretrain weights
    model.train(data='data/GC10.yaml',
                cache=False,
                imgsz=640,
                epochs=200,
                batch=8,
                close_mosaic=10,
                device='0',
                optimizer='SGD', # using SGD
                project='runs/train',
                name='exp',
                )

2.4 原始训练结果可视化

原始mAP50为 0.633 

YOLO11 summary (fused): 281 layers, 2,827,814 parameters, 0 gradients, 6.3 GFLOPs
                 Class     Images  Instances      Box(P          R      mAP50  mAP50-95): 100%|██████████| 15/15 [00:21<00:00,  1.44s/it]
                   all        459        747       0.67      0.615      0.633      0.327
             chongkong         53         54       0.78      0.944      0.934      0.639
               hanfeng          7         10      0.395        0.8       0.48      0.178
              yueyawan        138        171      0.656      0.524      0.556      0.231
               shuiban         71         91      0.799      0.648       0.71      0.385
                youban        105        106      0.826      0.764      0.817      0.449
                 siban         45         92      0.522      0.154       0.26     0.0919
                  yiwu         43        104      0.678      0.471      0.553      0.258
                 yahen         10         21      0.176     0.0476      0.119     0.0251
                zhehen         71         71      0.941      0.905      0.948      0.545
                yaozhe         27         27      0.926      0.889      0.949      0.467

预测结果如下:

3.DCNv4介绍 

论文: https://arxiv.org/pdf/2401.06197.pdf

摘要:我们介绍了可变形卷积v4 (DCNv4),这是一种高效的算子,专为广泛的视觉应用而设计。DCNv4通过两个关键增强解决了其前身DCNv3的局限性:去除空间聚合中的softmax归一化,增强空间聚合的动态性和表现力;优化内存访问以最小化冗余操作以提高速度。与DCNv3相比,这些改进显著加快了收敛速度,并大幅提高了处理速度,其中DCNv4的转发速度是DCNv3的三倍以上。DCNv4在各种任务中表现出卓越的性能,包括图像分类、实例和语义分割,尤其是图像生成。当在潜在扩散模型中与U-Net等生成模型集成时,DCNv4的性能优于其基线,强调了其增强生成模型的可能性。在实际应用中,将InternImage模型中的DCNv3替换为DCNv4来创建FlashInternImage,无需进一步修改即可使速度提高80%,并进一步提高性能。DCNv4在速度和效率方面的进步,以及它在不同视觉任务中的强大性能,显示了它作为未来视觉模型基础构建块的潜力。

图1所示。(a)我们以DCNv3为基准显示相对运行时间。DCNv4比DCNv3有明显的加速,并且超过了其他常见的视觉算子。(b)在相同的网络架构下,DCNv4收敛速度快于其他视觉算子,而DCNv3在初始训练阶段落后于视觉算子。

 💡💡💡如何跟YOLO11结合:1)和11Detect创新性结合

改进结构图如下:

4. 11Detect结合DCNv4二次创新到YOLO11

源码:

YOLO11魔改创新:检测头创新 | DCNv4二次创新11Detetct,效果秒杀DCNv3、DCNv2等 ,助力检测-CSDN博客

4.1 改进结果可视化

 实验结果如下:

原始mAP50为0.633 提升至0.646

YOLO11-Detect_DCNv4 summary (fused): 277 layers, 2,684,199 parameters, 0 gradients, 7.8 GFLOPs
                 Class     Images  Instances      Box(P          R      mAP50  mAP50-95): 100%|██████████| 29/29 [00:20<00:00,  1.44it/s]
                   all        459        747      0.674      0.619      0.646      0.313
             chongkong         53         54      0.773      0.963      0.911      0.612
               hanfeng          7         10      0.401        0.6      0.539      0.178
              yueyawan        138        171      0.681      0.525      0.587      0.237
               shuiban         71         91      0.853      0.681      0.727      0.396
                youban        105        106      0.673      0.906      0.832       0.31
                 siban         45         92      0.533      0.239      0.305     0.0942
                  yiwu         43        104        0.7      0.452      0.568      0.264
                 yahen         10         21      0.317     0.0952      0.145     0.0379
                zhehen         71         71      0.981      0.915      0.951      0.545
                yaozhe         27         27      0.831      0.815      0.892      0.459

5.DCNv4结合SPPF

源码:YOLO11涨点优化:SPPF优化 | 新一代高效可形变卷积DCNv4如何做二次创新?高效结合SPPF_yolov11 pfs-CSDN博客

windows环境成功编译的DCNv4环境

https://download.csdn.net/download/m0_63774211/89452262?spm=1001.2014.3001.5503

5.1 yolo11-DCNv4_SPPF.yaml

# Ultralytics YOLO 🚀, AGPL-3.0 license
# YOLO11 object detection model with P3-P5 outputs. For Usage examples see https://docs.ultralytics.com/tasks/detect

# Parameters
nc: 80 # number of classes
scales: # model compound scaling constants, i.e. 'model=yolo11n.yaml' will call yolo11.yaml with scale 'n'
  # [depth, width, max_channels]
  n: [0.50, 0.25, 1024] # summary: 319 layers, 2624080 parameters, 2624064 gradients, 6.6 GFLOPs
  s: [0.50, 0.50, 1024] # summary: 319 layers, 9458752 parameters, 9458736 gradients, 21.7 GFLOPs
  m: [0.50, 1.00, 512] # summary: 409 layers, 20114688 parameters, 20114672 gradients, 68.5 GFLOPs
  l: [1.00, 1.00, 512] # summary: 631 layers, 25372160 parameters, 25372144 gradients, 87.6 GFLOPs
  x: [1.00, 1.50, 512] # summary: 631 layers, 56966176 parameters, 56966160 gradients, 196.0 GFLOPs

# YOLO11n backbone
backbone:
  # [from, repeats, module, args]
  - [-1, 1, Conv, [64, 3, 2]] # 0-P1/2
  - [-1, 1, Conv, [128, 3, 2]] # 1-P2/4
  - [-1, 2, C3k2, [256, False, 0.25]]
  - [-1, 1, Conv, [256, 3, 2]] # 3-P3/8
  - [-1, 2, C3k2, [512, False, 0.25]]
  - [-1, 1, Conv, [512, 3, 2]] # 5-P4/16
  - [-1, 2, C3k2, [512, True]]
  - [-1, 1, Conv, [1024, 3, 2]] # 7-P5/32
  - [-1, 2, C3k2, [1024, True]]
  - [-1, 1, DCNv4_SPPF, [1024, 5]] # 9
  - [-1, 2, C2PSA, [1024]] # 10

# YOLO11n head
head:
  - [-1, 1, nn.Upsample, [None, 2, "nearest"]]
  - [[-1, 6], 1, Concat, [1]] # cat backbone P4
  - [-1, 2, C3k2, [512, False]] # 13

  - [-1, 1, nn.Upsample, [None, 2, "nearest"]]
  - [[-1, 4], 1, Concat, [1]] # cat backbone P3
  - [-1, 2, C3k2, [256, False]] # 16 (P3/8-small)

  - [-1, 1, Conv, [256, 3, 2]]
  - [[-1, 13], 1, Concat, [1]] # cat head P4
  - [-1, 2, C3k2, [512, False]] # 19 (P4/16-medium)

  - [-1, 1, Conv, [512, 3, 2]]
  - [[-1, 10], 1, Concat, [1]] # cat head P5
  - [-1, 2, C3k2, [1024, True]] # 22 (P5/32-large)

  - [[16, 19, 22], 1, Detect, [nc]] # Detect(P3, P4, P5)

5.2 改进结果可视化

 实验结果如下:

原始mAP50为0.633 提升至0.647

YOLO11-DCNv4_SPPF summary (fused): 292 layers, 4,682,054 parameters, 0 gradients, 7.8 GFLOPs
                 Class     Images  Instances      Box(P          R      mAP50  mAP50-95): 100%|██████████| 15/15 [00:21<00:00,  1.42s/it]
                   all        459        747      0.685      0.615      0.647      0.338
             chongkong         53         54      0.796      0.963      0.918      0.637
               hanfeng          7         10      0.371        0.7      0.538      0.233
              yueyawan        138        171      0.642      0.538      0.602      0.259
               shuiban         71         91      0.825       0.67      0.723      0.407
                youban        105        106      0.824      0.764      0.829      0.453
                 siban         45         92      0.477      0.207      0.269     0.0995
                  yiwu         43        104      0.616      0.423       0.51      0.251
                 yahen         10         21      0.542      0.115       0.23     0.0718
                zhehen         71         71      0.902      0.915      0.948      0.528
                yaozhe         27         27      0.852      0.852      0.903      0.437

6.DCNv4结合SPPF

 实验结果如下:

原始mAP50为0.633 提升至0.651 

YOLO11-Detect_DCNv4-DCNv4_SPPF summary (fused): 288 layers, 4,538,439 parameters, 0 gradients, 9.3 GFLOPs
                 Class     Images  Instances      Box(P          R      mAP50  mAP50-95): 100%|██████████| 15/15 [00:30<00:00,  2.04s/it]
                   all        459        747      0.725      0.618      0.651      0.322
             chongkong         53         54      0.753      0.963      0.911      0.629
               hanfeng          7         10      0.479      0.644      0.537      0.184
              yueyawan        138        171      0.629      0.491      0.538      0.232
               shuiban         71         91       0.83      0.644      0.722      0.376
                youban        105        106       0.68      0.906      0.855      0.346
                 siban         45         92      0.565      0.207      0.309      0.112
                  yiwu         43        104      0.702        0.5      0.576      0.269
                 yahen         10         21      0.689     0.0952      0.172     0.0598
                zhehen         71         71       0.97      0.924      0.959      0.549
                yaozhe         27         27      0.956      0.809      0.926      0.463

7.系列篇

 1)新一代高效可形变卷积DCNv4结合SPPF二次创新

2)多级特征融合金字塔(HS-FPN),助力缺陷检测

3)DCNv4二次创新11Detetct

4)DCNv4结合SPPF+11Detect创新性结合,创新十足(4)​​​​​​​

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AI小怪兽

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值