首页 > 其他分享 >YOLOv8模型改进 第二十七讲 添加Cascade Multi-Receptive Fields(CMRF)模块

YOLOv8模型改进 第二十七讲 添加Cascade Multi-Receptive Fields(CMRF)模块

时间:2025-01-03 22:05:52浏览次数:3  
标签:Multi 特征 Fields 模型 YOLOv8 模块 CMRF yolov8 轻量级

        近年来,轻量级医疗图像分割模型受关注,但现有模型因减少参数和计算复杂度而特征表示不足,难以超越现有最佳模型。基于多感受野的现代特征提取模块虽能提升性能,但会增加成本,不利于资源有限环境下的临床应用。在此背景下,为解决轻量级与高性能的矛盾,作者提出了 Cascade Multi-Receptive Fields(CMRF)模块,利用特征图多通道冗余信息,通过低成本级联策略探索不同感受野,在保持轻量的同时增强特征表示,提升模型性能,为医疗图像分割提供更优方案,促进健康公平。

YOLOv8原模型
CMRF

1. CMRF 介绍 

         CMRF 模块是一种创新的轻量级模块,旨在解决医疗图像分割中轻量级模型特征表示不足的问题,其原理和结构如下:

1. 原理:

        利用特征图多通道的冗余信息,通过一种成本友好的级联策略挖掘特征信息并融合不同感受野的信息,以此增强特征表示,同时保持模块的轻量级设计,从而提升模型性能。它借鉴了一些轻量级模块的思想,如 Ghost 和 PConv,对特征信息进行高效利用。
2. 结构
        输入处理:接收输入特征图后,先通过 PWConv - BN - Act 模块挖掘特征信息并调整通道数量。其中 PWConv 是逐点卷积,BN 是批量归一化用于对数据进行归一化处理,Act 采用 GELU 激活函数来引入非线性,经过这一步得到中间特征图。
        特征图划分与操作:将中间特征图依据通道数奇偶性分为两部分。一部分通过元素相加的方式进行融合,增加特征信息丰富度;另一部分则采用级联策略,利用多个 DWConv - BN 块(DWConv 即深度可分离卷积)挖掘不同感受野信息,每个 DWConv - BN 块都保留输出。
        信息融合与输出:把经过不同操作后的特征图沿通道方向进行拼接,进一步整合特征。最后再经过一个 PWConv - BN - Act 模块,充分利用不同感受野信息并规范输出通道数量,从而得到最终的输出特征图,完成多感受野信息融合与输出。

 2. 接下来,我们将详细介绍如何将CMRF合集成到 YOLOv8 模型中        

这是我的GitHub代码:tgf123/YOLOv8_improve (github.com)

这是改进讲解:YOLOv8模型改进 第二十七讲 添加Cascade Multi-Receptive Fields(CMRF)模块_哔哩哔哩_bilibili

2.1  如何添加

        1. 首先,在我上传的代码中yolov8_improve中找到CMRF.py代码部分,它包含两个部分一个是CMRF.py的核心代码,一个是yolov8模型的配置文件。 

​​​​       

        2. 然后我们在ultralytics文件夹下面创建一个新的文件夹,名字叫做change_models, 然后再这个文件夹下面创建CMRF.py文件,然后将CGLU的核心代码放入其中

    3. 在 task.py文件中导入C2f_AFE

from ultralytics.change_models.CMRF import CMRF

     4. 然后将 CMRF添加到下面当中

        5. 最后将配置文件复制到下面文件夹下

        6. 运行代码跑通 


from ultralytics.models import NAS, RTDETR, SAM, YOLO, FastSAM, YOLOWorld

if __name__=="__main__":

    # 使用自己的YOLOv8.yamy文件搭建模型并加载预训练权重训练模型
    model = YOLO(r"D:\model\yolov8\ultralytics\cfg\models\v8\yolov8_CMRF.yaml")\
        .load(r'D:\model\yolov8\yolov8n.pt')  # build from YAML and transfer weights

    results = model.train(data=r'D:\model\yolov8\ultralytics\cfg\datasets\VOC_my.yaml',
                          epochs=300,
                          imgsz=640,
                          batch=64,
                          # cache = False,
                          # single_cls = False,  # 是否是单类别检测
                          # workers = 0,
                         # resume=r'D:/model/yolov8/runs/detect/train/weights/last.pt',
                         #  amp = True
                          )

标签:Multi,特征,Fields,模型,YOLOv8,模块,CMRF,yolov8,轻量级
From: https://blog.csdn.net/qq_64693987/article/details/144877735

相关文章

  • 基于Multisim四路抢答器电路的设计(含仿真和报告)
    【全套资料.zip】四路抢答器电路设计Multisim仿真设计数字电子技术文章目录功能一、Multisim仿真源文件资料下载【Multisim仿真+报告+讲解视频.zip】功能(1)4名选手编号为:1,2,3,4。各有一个抢答按钮和数码管,按钮和数码管的编号都与选手的编号对应,也分别为1,2,3,4。(2)......
  • multi_io 一连接一线程
    每连接一个客户端,就创建一个线程所谓c10k问题,指的是:服务器如何支持10k个并发连接,也就是concurrent10000connection(这也是c10k这个名字的由来)。//函数类型*client_thread//intclientfd=*(int*)argvoid*client_thread(void*arg){intclientfd=*(int*)arg;......
  • java 使用HttpClient发送post请求,参数包括MultipartFile、Map以及File转MockMultipart
        遇到使用java调用其他系统的http接口时,发送的参数中有文件,不太好处理,如下总结了发送带文件的的http方法,发送的文件还需要先将File转成MockMultipartFile否则接收会报错。关键的代码和依赖如下所示。一、依赖<dependency><groupId>org.apache.httpcomponents</......
  • 基于YOLOv8深度学习的智慧医疗眼球疾病检测系统
    随着人工智能和计算机视觉技术的发展,基于深度学习的医学影像分析在临床诊断中的应用日益广泛。本研究设计并实现了一种基于YOLOv8深度学习模型的智慧医疗眼球疾病检测系统,旨在为眼科疾病的早期诊断提供高效且准确的辅助工具。系统采用PyQt5框架开发用户界面,结合经过标注和处理......
  • 基于YOLOv8深度学习的计算机视觉红外弱小目标检测系统
    随着无人机、飞机、导弹等高动态目标在军事与安防领域的应用,红外弱小目标的检测已成为计算机视觉领域的重要研究方向。红外弱小目标通常由于与背景的对比度低、尺寸较小以及热辐射较弱,导致在传统目标检测算法中检测效果不佳。为了解决这一问题,本研究提出了一种基于YOLOv8(YouOn......
  • 基于YOLOv8深度学习的智慧医疗皮肤病理图像自动化诊断系统
    随着人工智能技术在医学影像分析中的广泛应用,自动化皮肤病理图像诊断已成为提高诊断效率和准确性的重要手段。本研究提出了一种基于YOLOv8深度学习模型的智慧医疗皮肤病理图像自动化诊断系统,旨在实现皮肤病变的快速、准确诊断。系统能够自动识别和分类皮肤病变,包括但不限于“痣......
  • AWS开源Multi-Agent-Orchestrator:多智能体编排框架,管理AI智能体,处理复杂对话
    近期,AWS推出了一款名为Multi-AgentOrchestrator的全新开发工具,其设计目的在于简化开发人员对复杂AI交互的管理流程。这款工具具备高效的请求分配机制,能够精确地将用户请求路由至最合适的AI代理,并且能实时追踪对话状态,从而满足从基础聊天机器人到高级AI系统的多样化需......
  • 进程的创建--multiprocesssing模块
    进程的创建使用multiprocessing模块创建进程multiprocessing是process模块的高级封装,其对于进程的操作提供了非常多的操作,所以是工作中操作进程的最常用模块。基本使用代码:importos,timeimportmultiprocessingdefwatch(): print("watch-id=",id(watch)) fori......
  • Chain-of-Exemplar: Enhancing Distractor Generation for Multimodal Educational Qu
    题目样本链:增强干扰项生成以实现多模式教育问题生成论文地址:https://aclanthology.org/2024.acl-long.432/项目地址:https://github.com/Luohh5/Chain-of-Exemplar摘要    多项选择题(MCQ)对于加强概念学习和学生参与度以实现教育目的非常重要。尽管教育内容具......
  • 【亲手实践】本地multipass安装kubernetes,再也不怕环境被铲
    一、安装multipass 1.安装multipaas软件版本brewinstallmultipass 2.创建三个虚拟机master(192.168.64.6)、node1(192.168.64.14)、node2(192.168.64.15),2Gcpu+2G内存+40G硬盘,Qemu+桥连模式   $ multipassfind查找可用ubuntu版本,这里选择22.04这个版本   $ m......