多模态图像融合需整合不同来源数据的关键信息,但传统融合方法多依赖简单拼接或浅层卷积,难以充分捕捉模态内特征的连贯性和模态间特征的互补性。这导致融合后特征表达能力弱,影响下游任务性能,DAFM 正是为解决这一核心痛点而设计。
1. DAAFM原理
DAFM 通过双聚合注意力机制实现特征融合:一方面利用自注意力(SAB)强化单模态内部的特征一致性,突出模态自身关键信息;另一方面通过交叉注意力交互块(CAIB)挖掘不同模态间的互补关系,且 CAIB 采用负 softmax(softmin)机制,聚焦模态间差异以最大化信息互补。最终通过加权融合两种注意力输出,平衡模态内连贯性与模态间互补性,生成更优的融合特征。

DAFM 的结构主要包含三个核心部分:
1. 特征投影层:通过 1×1 卷积将输入的两种模态特征转换为 QKV(Query、Key、Value)表示,为注意力计算做准备;
2. 双注意力计算单元:包含自注意力块(SAB)和交叉注意力交互块(CAIB),分别处理模态内特征优化和模态间特征交互;
3. 特征融合与输出层:通过 1×1 卷积调整特征维度,结合可学习权重 α 和 β 平衡两种注意力输出,再经 3×3 卷积降维,输出融合后的特征图。
2. DAAFM习作思路
在目标检测任务中:DAFM 通过自注意力强化单模态内目标特征的完整性,确保目标关键结构(如轮廓、纹理)不丢失,同时借助交叉注意力充分融合不同模态中目标的互补信息(如外观特征与语义特征),让检测模型更精准地识别目标,尤其在复杂场景下能提升对模糊、遮挡目标的识别能力,增强检测的鲁棒性。
在目标检测任务中:DAFM 的自注意力机制能保持模态内特征的空间连贯性,有助于分割任务中边界和区域的精准划分;交叉注意力则能整合不同模态中关于场景结构、细节的互补信息,让分割模型更清晰地分辨不同类别对象的边界,提升分割结果的细腻度和准确性,减少类别混淆。
3. YOLO与DAAFM的结合
将 DAFM 融入 YOLO,可让模型更高效地融合多模态特征,强化目标特征的辨识度,提升对小目标、复杂背景下目标的检测能力;同时能增强特征的泛化性,让 YOLO 在不同环境条件下保持稳定的检测性能。
4.DAAFM代码部分
YOLO11|YOLO12|改进| 细节保留上下文融合模块DPCF,通过动态门控保留小目标、遮挡目标的细节,显著提升这类难点目标的检测精度。_哔哩哔哩_bilibili
YOLOv11模型改进讲解,教您如何修改YOLOv11_哔哩哔哩_bilibili
YOLOv11模型改进讲解,教您如何根据自己的数据集选择最优的模块提升精度_哔哩哔哩_bilibili
用一篇论文教您如何使用YOLOv11改进模块写一篇1、2区论文_哔哩哔哩_bilibili
代码获取:YOLOv8_improve/YOLOv11.md at master · tgf123/YOLOv8_improve
5. DAAFM到YOLOv11中
第一: 将下面的核心代码复制到D:\model\yolov11\ultralytics\change_model路径下,如下图所示。
第二:在task.py中导入包
第三:在task.py中的模型配置部分下面代码
第四:将模型配置文件复制到YOLOV11.YAMY文件中
第五:运行代码
from ultralytics.models import NAS, RTDETR, SAM, YOLO, FastSAM, YOLOWorld
import torch
if __name__=="__main__":
# 使用自己的YOLOv8.yamy文件搭建模型并加载预训练权重训练模型
model = YOLO("/home/shengtuo/tangfan/YOLO11/ultralytics/cfg/models/11/yolo11_DAAFM.yaml")\
# .load(r'E:\Part_time_job_orders\YOLO\YOLOv11\yolo11n.pt') # build from YAML and transfer weights
results = model.train(data="/home/shengtuo/tangfan/YOLO11/ultralytics/cfg/datasets/VOC_my.yaml",
epochs=300,
imgsz=640,
batch=4,
# cache = False,
# single_cls = False, # 是否是单类别检测
# workers = 0,
# resume=r'D:/model/yolov8/runs/detect/train/weights/last.pt',
amp = False
)
656

被折叠的 条评论
为什么被折叠?



