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
                          )
相关推荐
FL16238631296 小时前
自动驾驶场景驾驶员注意力安全行为睡驾分心驾驶疲劳驾驶检测数据集VOC+YOLO格式5370张6类别
人工智能·yolo·自动驾驶
MM_MS8 小时前
WinForm+C#小案例--->写一个记事本程序
开发语言·计算机视觉·c#·visual studio
这张生成的图像能检测吗8 小时前
(论文速读)一种基于双目视觉的机器人螺纹装配预对准姿态估计方法
人工智能·计算机视觉·机器人·手眼标定·位姿估计·双目视觉·螺纹装配
ccLianLian9 小时前
计算机视觉·ZegFormer
人工智能·计算机视觉
技术支持者python,php12 小时前
物体识别:分类器模型
人工智能·opencv·计算机视觉
雍凉明月夜12 小时前
视觉opencv学习笔记Ⅳ
笔记·opencv·学习·计算机视觉
提娜米苏13 小时前
[论文笔记] ASR is all you need: Cross-modal distillation for lip reading (2020)
论文阅读·深度学习·计算机视觉·语音识别·知识蒸馏·唇语识别
Coding茶水间13 小时前
基于深度学习的西红柿成熟度检测系统演示与介绍(YOLOv12/v11/v8/v5模型+Pyqt5界面+训练代码+数据集)
图像处理·人工智能·深度学习·yolo·目标检测·计算机视觉
Bdygsl13 小时前
数字图像处理总结 Day 2 —— 数字化
图像处理·人工智能·计算机视觉
散峰而望14 小时前
AI 知识科普
人工智能·python·深度学习·机器学习·计算机视觉