💡💡💡本文独家改进:高层筛选特征金字塔网络(HS-FPN),能够刷选出大小目标,增强模型表达不同尺度特征的能力,助力小目标检测
💡💡💡涨点情况:GC10-DET缺陷检测,原始mAP50为0.633 提升至0.1
《YOLOv11魔术师专栏》将从以下各个方向进行创新:
链接:
【原创自研模块】【多组合点优化】【注意力机制】【卷积魔改】【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张
标签可视化:存在大小缺陷,缺陷类别不均衡等特点
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=0,
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.8 0.71 0.385
youban 105 106 0.826 0.7 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.8 0.949 0.467
预测结果如下:
3.MFDS-DETR原理介绍
论文:
摘要:在标准的医院血液检测中,传统的过程需要医生手动分离白细胞。用显微镜观察病人血液的显微图像。然后将这些分离的白细胞通过自动白细胞分类器进行分类,以确定不同的比例和体积血液样本中存在的白细胞类型,有助于疾病诊断。这种方法不是但由于以下因素,它也有很高的出错倾向作为图像质量和环境条件,这可能潜在地导致不正确的后续分类与误诊。当代白细胞检测方法表现出局限性。在处理具有较少白细胞特征的图像和不同尺度之间的差异时白细胞,在大多数情况下导致不满意的结果。为了解决这些问题,本文提出了一种创新的白细胞检测方法:多层次特征融合与变形。自我注意力检测(MFDS-DETR)。为了解决白细胞规模差异的问题,我们设计了高级筛选特征融合金字塔(HS-FPN),实现多级融合。这个模型使用高级特征作为权重以经由信道关注模块过滤低级特征信息,以及然后将筛选后的信息与高级特征合并,从而增强模型的特征表达能力。此外,我们通过合并A来解决白细胞特征缺乏的问题。在编码器中使用多尺度可变形自注意模块,在解码器中使用自注意和交叉可变形注意机制,有助于全局特征的提取。白细胞特征图。通过与其他前沿白细胞检测模型的比较,证实了所提出的MFDSDETR方法的有效性、优越性和可推广性使用私有WBCDD、公共LISC和BCCD数据集。
该架构名为MFDS-DETR(多级特征融合与可变形自注意力DETR),旨在解决检测尺度不同且在图像中可能特征有限的白细胞的挑战。
以下是MFDS-DETR架构四个部分的分解:
骨干网:这是从输入图像中提取特征的基础网络。通常,像ResNet或VGG这样的预训练卷积神经网络(CNN)被用作骨干网。
高层筛选特征金字塔网络(HS-FPN):这个组件旨在处理不同白细胞之间的尺度差异问题。它很可能是一个特征金字塔网络(FPN),创建了一个多尺度特征层次结构,允许模型检测不同大小的白细胞。高层特征用于筛选(或权衡)低层特征,然后与高层特征融合,以增强模型表达不同尺度特征的能力。
编码器:编码器负责对骨干网和HS-FPN提取的特征进行编码。它可能结合多尺度可变形自注意力模块,以进一步增强特征提取过程。可变形卷积网络可以自适应地调整其感受野,以关注图像中更多信息丰富的区域,这对于检测形状和大小变化的对象特别有用。
解码器:解码器获取编码后的特征,并使用它们来预测图像中白细胞的位置和类别。它可能使用自注意力和交叉可变形注意力机制,通过考虑特征图中的全局上下文来细化检测。
HS-FPN的结构如图2所示,包括两个主要组成部分:
为了解决白细胞数据集固有的多尺度挑战,我们开发了基于层次尺度的特征金字塔网络(HS-FPN)来完成多尺度特征融合。这使得该模型能够捕获更全面的白细胞特征信息。HS-FPN的结构如图2所示。HS-FPN主要由两个部分组成:(1)特征选择模块。(2)特征融合模块。最初,不同尺度的特征图在特征选择模块中经过筛选过程。随后,通过选择性特征融合(Selective feature Fusion, SFF)机制,将这些特征映射中的高层和低层信息协同集成。这种融合产生的特征具有丰富的语义内容,这有助于检测白细胞显微图像中的细微特征,从而增强模型的检测能力。进一步阐述这种SFF机制及其对模型性能的影响将在随后的烧蚀研究部分提供。
4.HS-FPN二次创新到YOLO11
源码:
4.1 改进结果可视化
实验结果如下:
原始mAP50为0.633 提升至0.1
YOLO11-HSFPN summary (fused): 280 layers, 1,860,758 parameters, 0 gradients, 5.6 GFLOPs
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 15/15 [00:21<00:00, 1.45s/it]
all 459 747 0.601 0.617 0.1 0.316
chongkong 53 54 0.748 0.963 0.872 0.618
hanfeng 7 10 0.287 0.5 0.5 0.21
yueyawan 138 171 0.606 0.526 0.555 0.243
shuiban 71 91 0.788 0.703 0.726 0.401
youban 105 106 0.609 0.934 0.862 0.308
siban 45 92 0.452 0.196 0.313 0.105
yiwu 43 104 0.579 0.475 0.534 0.237
yahen 10 21 0.146 0.0952 0.154 0.0407
zhehen 71 71 0.929 0.921 0.947 0.54
yaozhe 27 27 0.868 0.852 0.878 0.452