红外小目标检测与分割在军事和民用领域应用广泛,但红外小目标成像存在尺寸小、灰度低、信噪比和信杂比低、缺乏纹理信息以及受复杂背景干扰等问题。传统基于卷积神经网络(CNN)的方法在检测红外小目标时,多采用标准卷积,未充分考虑红外小目标像素分布的空间特性。研究发现红外小目标的灰度分布呈现高斯特征,因此需要一种更贴合其成像特性的卷积模块来提升检测性能。
上面是原模型,下面是改进模型
1. 风车状卷积模块PSConv 介绍
PConv 的设计基于红外小目标的高斯空间分布特性。其卷积核的感受野向外有效性递减,类似高斯分布,且小目标特征更集中于中心,凸显中心特征的重要性。PConv 利用分组卷积,在显著扩大感受野的同时,尽可能减少参数数量的增加。通过不对称填充,创建针对图像不同区域的水平和垂直卷积核,这些卷积核向外扩散,能够更好地捕捉红外小目标的特征,增强底层特征提取能力,提升对红外小目标的检测性能。
风车状卷积模块(PConv)的结构主要包含以下几个关键部分:
1. 不对称填充与并行卷积:PConv 模块采用不对称填充方式,针对输入张量 ,在第一层进行 4 组并行卷积操作。针对不同区域,分别设置填充参数,如、、、 。这 4 组填充参数分别对应不同方向的卷积核,其中表示在左、右、上、下方向的填充像素数。卷积核、、、分别与经过相应填充后的输入进行卷积运算,得到 4 个特征图、、、 。
2. 拼接操作:将第一层并行卷积得到的 4 个特征图、、、进行拼接(Cat)操作,形成一个新的张量 。通过拼接,将不同方向卷积提取到的特征融合在一起,丰富了特征信息。
3. 归一化卷积:拼接后的张量再经过一个卷积核进行卷积操作,该卷积过程不进行填充。通过这一步卷积,对拼接后的特征进行归一化处理,调整输出特征图的通道数,使其符合后续网络的输入要求,最终得到输出特征图 。
2. YOLOv11与Sparse Self - Attention 的结合 可以在YOLOv11原有的局部特征基础上,增加对全局特征的关注,使特征表达更加丰富和准确。 3. 小波卷积WaveletConv代码部分
4. 激活函数与归一化层:为增强训练的稳定性和速度,在每一层卷积操作之后,都会应用批量归一化(BN)和 Sigmoid 线性单元(SiLU)。批量归一化可以加速模型收敛,减少梯度消失或爆炸的问题;Sigmoid 线性单元则能够增加模型的非线性表达能力,使模型能够学习到更复杂的特征关系。YOLOv8_improve/YOLOv11.md at master · tgf123/YOLOv8_improve · GitHub
YOLOv11全部代码,现有几十种改进机制。
4. 将PSConv 引入到YOLOv11中
第一: 将下面的核心代码复制到D:\model\yolov11\ultralytics\change_model路径下,如下图所示。
第二:在task.py中导入包
第三:在task.py中的模型配置部分下面代码
第四:将模型配置文件复制到YOLOV11.YAMY文件中
第五:运行成功
from ultralytics.models import NAS, RTDETR, SAM, YOLO, FastSAM, YOLOWorldif __name__=="__main__":# 使用自己的YOLOv8.yamy文件搭建模型并加载预训练权重训练模型model = YOLO(r"D:\model\yolov11\ultralytics\cfg\models\11\yolo11_APConv.yaml")\.load(r'D:\model\yolov11\yolo11n.pt') # build from YAML and transfer weightsresults = 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)