低光图像增强是一项具有挑战性的任务,传统方法在处理复杂现实场景时存在困难,深度学习方法虽取得一定进展,但仍需精心设计的先验信息或复杂的网络设计与训练。扩散模型在图像恢复和低光图像增强等任务中表现出色,但现有基于扩散的低光图像增强方法存在两个主要问题:一是在扩散过程中主要关注空间域,忽略了频域特征;二是传统的基于单分辨率补丁的采样策略会导致严重的棋盘格伪影。为解决这些问题,本文提出 MDMS 扩散模型,其中 MDL 模块是关键创新点之一,用于从空间和频率空间中获取上下文信息,提升低光图像增强的效果。
上面是原模型,下面是改进模型

1. 引入多域学习MDL介绍
。MDL 模块的理论基础是融合空间域和频域信息,共同指导扩散过程。在低光图像增强中,频域特征包含重要的信息,如颜色和纹理等,在采样过程中,频域特征也会逐步优化,且通常遵循从低频到高频的恢复方式。因此,将频域信息与空间域信息结合,可以为模型提供更全面的特征表示,从而更精确地恢复低光图像。MDL 模块通过 2D 快速傅里叶变换(FFT)将空间信息转换到频域,对频域信息的幅度和相位分量分别进行处理,再通过逆快速傅里叶变换(IFFT)将处理后的频域特征转换回空间域,与空间域分支提取的特征进行融合,以此实现多域信息的协同作用。
从提供的图片来看,MDL 模块主要包含以下几个部分:
MDL 模块包含两个并行分支,分别聚焦于空间和频率特征学习。
频域分支利用 2D FFT 将空间信息转换到频域,频域信息包含幅度和相位两个分量,对这两个分量分别采用 1×1 卷积进行处理,以保留原始结构信息,之后通过 IFFT 将处理后的频域特征转换回空间域。
在空间域分支,将特征通道分为两半,分别获取局部和全局信息。通过深度可分离卷积提取局部特征,利用自注意力机制获取全局信息,并对中间特征进行平均池化以减小尺寸,之后再恢复到原始大小,最后将两个分支的特征进行融合,从而使模型能够有效学习多域特征空间中更全面的表示。
2. YOLOv11与MDL 的结合
本文使用MDL模块替换C3K2模块中的普通卷积,增强YOLOv11模型频域特征,实现多域信息的协同作用。
3. MDL代码部分
YOLOv8_improve/YOLOv11.md at master · tgf123/YOLOv8_improve · GitHub
视频讲解:YOLOv11模型改进讲解,教您如何修改YOLOv11_哔哩哔哩_bilibili
YOLOv11模型改进讲解,教您如何根据自己的数据集选择最优的模块提升精度_哔哩哔哩_bilibili
YOLOv11全部代码,现有几十种改进机制。
4. 将MDL引入到YOLOv11中
第一: 将下面的核心代码复制到D:\model\yolov11\ultralytics\change_model路径下,如下图所示。
第二:在task.py中导入包
第三:在task.py中的模型配置部分下面代码
第四:将模型配置文件复制到YOLOV11.YAMY文件中
第五:运行成功
from sympy import false
from ultralytics.models import NAS, RTDETR, SAM, YOLO, FastSAM, YOLOWorld
if __name__=="__main__":
# 使用自己的YOLOv8.yamy文件搭建模型并加载预训练权重训练模型
model = YOLO(r"E:\Part_time_job_orders\YOLO\YOLOv11\ultralytics\cfg\models\11\yolo11_MDL.yamy")\
.load(r'E:\Part_time_job_orders\YOLO\YOLOv11\yolo11n.pt') # build from YAML and transfer weights
results = model.train(data=r'E:\Part_time_job_orders\YOLO\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
)