YOLO12 改进|融入 大 - 小卷积LS Convolution 捕获全局上下文与小核分支提取局部细节,提升目标检测中的多尺度

传统卷积核尺寸固定(如 3×3、5×5),在目标检测任务中面临两难:小卷积核(如 YOLOv5/YOLOv8 中的 3×3):计算高效但感受野有限,对大目标或密集场景建模能力不足。大卷积核(如 11×11、13×13):能捕获全局上下文,但参数量爆炸(如 13×13 卷积参数量是 3×3 的 20 倍以上),易过拟合且计算低效。LS Convolution(Large-Small Convolution) 应运而生,旨在平衡全局感知与局部细节,并通过结构创新降低大核计算成本

上面是原模型,下面是改进模型

1. 大 - 小卷积LS Convolution 介绍

LS Convolution 的核心结构包含三个组件:

1. 大核稀疏卷积(Large Kernel Sparse Convolution) 采用深度可分离卷积 + 空洞卷积组合:

使用大尺寸深度卷积(如 7×7、9×9)提取空间特征,参数量仅为标准卷积的 1/channel 数。

引入空洞率(dilation)进一步扩大感受野,避免参数激增(如 dilation=2 时,7×7 卷积等效感受野为 13×13)。

  1. 小核动态卷积(Small Kernel Dynamic Convolution) 采用分组卷积 + 注意力机制

使用 3×3 或 5×5 小卷积核提取局部细节,保持计算效率。

通过通道注意力(SE 模块)空间注意力(SAM 模块)动态调整特征权重,增强对关键区域的响应。

引入可变形卷积思想,使小核能够适应目标形状变化。

  1. 特征融合与聚合通过两种方式融合大核与小核特征:

并联结构:大核分支与小核分支并行计算,后通过 concat 或加权求和合并。

级联结构:先用大核提取全局上下文,再用小核对其细化,形成 "粗粒度→细粒度" 层级特征。

2. YOLOv12与 大 - 小卷积LS Convolution 的结合

LS 卷积与 YOLO12 结合时,大核分支可捕捉图像全局语义信息(如目标与场景关系),小核分支聚焦目标局部细节(如纹理、边缘),通过动态权重融合增强多尺度特征表达,提升复杂场景下小目标、重叠目标的检测精度;同时借助深度可分离卷积等轻量化设计,在保持 YOLO12 实时推理速度的前提下,平衡计算量与检测性能

3. 大 - 小卷积LS Convolution代码部分

YOLO12模型改进方法,快速发论文,总有适合你的改进,还不改进上车_哔哩哔哩_bilibili

更多代码: YOLOv8_improve/YOLOV12.md at master · tgf123/YOLOv8_improve · GitHub

4. 大 - 小卷积LS Convolution引入到YOLOv12中

第一: 先新建一个v12_changemodel,将下面的核心代码复制到下面这个路径当中,如下图如所示。E:\Part_time_job_orders\YOLO_NEW\YOLOv12\ultralytics\v12_changemodel。

​​​​​​

第二:在task.py中导入

​​​

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

​​​​​​​ ​​​​​​​​​​​​​​

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

​​​​​​​​​​​​​​

​​​​​​​ ​​​​​​​​​​​​​​ ​​​​​​​ ​​​​​​​​​​​​​第五:运行代码

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

if __name__=="__main__":

    # 使用自己的YOLOv12.yamy文件搭建模型并加载预训练权重训练模型
    model = YOLO(r"E:\Part_time_job_orders\YOLO_NEW\YOLOv12\ultralytics\cfg\models\12\yolo12_LSConv.yaml")\
        .load(r'E:\Part_time_job_orders\YOLO_NEW\YOLOv12\yolo12n.pt')  # build from YAML and transfer weights

    results = model.train(data=r'E:\Part_time_job_orders\YOLO\YOLOv12\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
                          )
相关推荐
云程笔记18 小时前
021.损失函数深度解读:YOLO的定位、置信度、分类损失计算
人工智能·yolo·机器学习·计算机视觉·分类·数据挖掘
Together_CZ18 小时前
AutoFigure-Edit: Generating Editable Scientific Illustration——生成可编辑的科学插图
计算机视觉·autofigure-edit·generating·editable·scientific·illustration·生成可编辑的科学插图
羊羊小栈19 小时前
基于「YOLO目标检测 + 多模态AI分析」的智慧农业茶叶病害检测预警系统
人工智能·yolo·目标检测·计算机视觉·毕业设计·大作业
XuecWu319 小时前
原生多模态颠覆Scaling Law?解读语言“参数需求型”与视觉“数据需求型”核心差异
人工智能·深度学习·算法·计算机视觉·语言模型
angleboy820 小时前
【原创】如何WIN 10/11系统下解决YOLOv13训练异常的安装指南
人工智能·深度学习·yolo
前端摸鱼匠21 小时前
YOLOv11 在零售领域实战:利用公开的商品检测数据集 (如 SKU110K 的子集),训练一个 YOLOv11 模型,用于识别货架上的各种商品
人工智能·yolo·目标检测·ai·目标跟踪·视觉检测·零售
深度学习lover21 小时前
<数据集>yolo微藻识别<目标检测>
人工智能·python·yolo·目标检测·计算机视觉·微藻识别
格林威21 小时前
Windows 实时性补丁(RTX / WSL2)
linux·运维·人工智能·windows·数码相机·计算机视觉·工业相机
superior tigre1 天前
某为25.9.28 Yolo检测器中的anchor聚类(python实现)
python·yolo·聚类
小卡布聊技术1 天前
YOLOv8
yolo