YOLO11改进-模块-引入星型运算Star Blocks

当前网络设计中,"星型运算"(逐元素乘法)的应用原理未被充分探究,潜力有待挖掘。为解决此问题,我们引入 Star Blocks,其内部由 DW - Conv、BN、ReLU 等模块经星型运算连接,各模块有特定参数。同时揭示星型运算可将输入映射到高维非线性特征空间且无需拓宽网络。最终 StarNet 在紧凑结构和高效预算下实现了高性能与低延迟,有效提升了网络性能。本文考虑到YOLO目标检测的C3k2模块在特征融合的时候,高维非线性特征缺失,本文将Star Blocks与C3K2相结合,提出 C3k2_StarsBlock模块。

左边是原模型,右边是改进模型

1. 星型运算Star Blocks结构介绍

1. 卷积层(Conv):模块中包含卷积层,用于提取特征。不同阶段(stage)的卷积层有不同的参数。例如,图中提到卷积层(Conv)的核大小(ks)为 3,步长(stride)为 2。

2. 深度可分离卷积(DW - Conv):模块中还包含深度可分离卷积层,用于进一步处理特征。深度可分离卷积层的核大小(ks)为 7,步长(stride)为 1。

3. 批量归一化(BN)和激活函数(ReLU):在模块中,深度可分离卷积层前后可能会有批量归一化和激活函数操作,用于归一化数据和引入非线性。

4. 星型运算(element - wise mul.,即星型乘法):这是 Star Blocks 模块的关键操作。星型运算将不同层的特征进行逐元素乘法,从而在不增加网络宽度的情况下,将输入映射到高维非线性特征空间。

2. YOLOv11与星型运算Star Blocks的结合

  1. YOLO目标检测的C3k2模块在特征融合的时候,存在高维非线性特征缺失,本文将Star Blocks与C3K2相结合,提出C3k2_StarsBlock模块。

3. 星型运算Star Blocks代码部分

YOLOv8_improve/YOLOv11.md at master · tgf123/YOLOv8_improve

4. 将星型运算Star Blocks引入到YOLOv11中

第一: 将下面的核心代码复制到D:\model\yolov11\ultralytics\change_model路径下,如下图所示。

第二:在task.py中导入C3k2_StarsBlock包

第三:在task.py中的模型配置部分下面代码

​​​​​​

第四:将模型配置文件复制到YOLOV11.YAMY文件中

第五:运行成功

python 复制代码
from ultralytics.models import NAS, RTDETR, SAM, YOLO, FastSAM, YOLOWorld

if __name__=="__main__":

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

    results = model.train(data=r'D:\model\yolov11\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
                          )
相关推荐
捷米特研发一部1 小时前
Modbus TCP转RS485智能网关应用实例:集成工业测温器至云平台的数据采集方案
网络
kimi7041 小时前
HTTP的持续与非持续连接,HTTP报文格式
网络·网络协议·http
知北游天1 小时前
Linux网络:使用UDP实现网络通信(服务端&&客户端)
linux·网络·udp
半桔1 小时前
【网络编程】TCP 粘包处理:手动序列化反序列化与报头封装的完整方案
linux·网络·c++·网络协议·tcp/ip
ZeroNews内网穿透1 小时前
新版发布!“零讯”微信小程序版本更新
运维·服务器·网络·python·安全·微信小程序·小程序
编程武士7 小时前
从50ms到30ms:YOLOv10部署中图像预处理的性能优化实践
人工智能·python·yolo·性能优化
小白银子11 小时前
零基础从头教学Linux(Day 42)
linux·运维·服务器·网络·nginx
IT古董11 小时前
【第五章:计算机视觉-项目实战之目标检测实战】2.目标检测实战:中国交通标志检测-(2)中国交通标志检测数据格式转化与读取
算法·目标检测·计算机视觉
火星MARK11 小时前
如何配置 Ingress 的 SSL/TLS 证书?
网络·网络协议·ssl
看好多桂花树11 小时前
Nginx SSL/TLS 配置
网络·nginx·ssl