
简介面向图像处理与深度学习研究者的图像融合综述资料包系统梳理红外与可见光融合、医学图像融合、多曝光与多聚焦融合、遥感影像全色锐化等典型任务的主流方法与通用融合框架并汇总相关数据集及主客观评估指标适合入门综述、方法对比或实验选型参考。资源包共498个文件以464个png示意图/结果图、29个m格式MATLAB评估脚本、3个md说明文档及2个xlsx表格为主整体体积93.11MB目录结构便于按任务模块检索。已有710人学习下载内容覆盖从基础公式到实验评估的完整链路。借助其中的通用评估指标脚本与各融合任务示例读者可快速复现评价流程、核对自有算法效果也可基于文中框架对比不同融合策略的适用边界为后续研究或论文撰写提供结构化素材。1. 当扩散模型遇上多模态图像融合一条更抗退化的路线多模态图像融合并不是把两张图叠在一起那么简单。红外与可见光融合要保留热辐射目标又还原纹理细节医学图像融合要在CT的骨骼结构与MRI的软组织对比之间取舍多曝光融合要对付过曝与欠曝区域多聚焦融合则要精准判断清晰边界。传统方法通常假设源图像质量完好但现实数据里配准误差、运动模糊、传感器噪声、大气干扰无处不在。最近出现的DRMFDegradation-Resistant Multi-modal Fusion框架把图像融合建模成条件生成问题用可组合的扩散先验来抵抗退化这比常见的编码器-解码器方案更接近先理解再合成的思路。如果你正在做基于深度学习的图像融合研究或者需要一套可复现的评估体系来验证自己的算法这篇文章会把任务谱系、评估指标和MATLAB脚本的实际用法一次讲透。即使你对扩散模型还比较陌生只要熟悉基础的CNN和损失函数也能跟着后面的步骤把评估流程跑起来。2. 图像融合任务谱系与深度学习建模的边界2.1 从红外-可见光到多曝光五类任务的共同难点图像融合不是一个单一问题而是一族问题。以融合对象划分至少包括红外和可见光融合、医学图像融合、数字摄影图像融合多曝光、多聚焦、遥感影像融合全色锐化。这五类任务在数据形式上差异很大但在深度学习的视角下有着共同的结构输入若干幅描述同一场景的源图像输出一幅在信息量、对比度、清晰度或光谱保真度上更优的融合图像。红外与可见光融合是最典型的异构模态问题红外图给出热辐射强度可见光图给出反射纹理。医学图像融合则是异构成像机制问题CT偏重密度分辨率MRI偏重软组织对比度。多曝光融合处理的是同一传感器在不同曝光时间下的动态范围扩展。多聚焦融合处理的是同一场景中不同景深区域的清晰度选择。遥感影像融合Pansharpening则是把低分辨率的多光谱图像与高分辨率的全色图像融合得到高分辨率多光谱图像。这些任务的共性难点是源图像之间的关系并非简单线性可加。以红外-可见光为例红外图像中高亮的车辆和行人在可见光图像中可能完全不可见融合时要做的不是平均而是语义层面的选择性保留。多聚焦融合中前景清晰、背景模糊的两幅图在边界处存在过渡带简单取像素最大值会引入人工伪影。深度学习方法与传统方法的本质区别在于传统方法如拉普拉斯金字塔、小波变换假设融合规则是预先设计好的频域或空间域策略而深度学习方法通过大量数据学习什么样的融合结果在语义上是合理的。2.2 通用融合框架的设计范式从编码器-解码器到扩散先验早期基于深度学习的融合框架大多是共享编码器 融合策略 解码器的结构。编码器把多幅源图映射到特征空间融合策略如l1范数加权、注意力机制、通道拼接把多组特征合并解码器把合并后的特征重建为融合图像。这类方法在干净数据上表现不错但对退化极其敏感。一旦源图像存在噪声、模糊或配准误差编码器提取的深层特征就会被污染融合结果会继承这些伪影。另一类做法是生成对抗网络GAN或基于Transformer的思路。GAN用判别器逼迫融合图像在视觉分布上接近真实清晰图像但训练稳定性差容易出现模式崩溃。Transformer能够建模长程依赖适合处理大尺度结构但计算开销高且在小样本医疗数据上容易过拟合。DRMF选择的是扩散模型路径。扩散模型的前向过程逐步向干净图像添加高斯噪声反向过程学习从噪声恢复图像。把扩散先验引入图像融合意味着不再直接回归融合图像而是让生成过程在源图像的信息约束与自然图像的先验分布之间做平衡。可组合性来自一个关键设计多模态的约束条件通过分类器引导classifier guidance或无分类器引导classifier-free guidance的方式在反向采样的每一步注入模型。这样既能充分利用每个模态独有的信息又能在模态自身退化时降低该模态的引导权重从而抵抗退化。这里有一个常见的认知误区扩散模型做融合就是加噪声再减噪声。实际上融合任务中的扩散模型不是简单地在整幅图像上加噪而是在条件编码器提取的多尺度语义特征上做条件注入。退化抵抗能力来自两个地方一是反向过程的去噪网络天然对高频噪声具有抑制能力二是可组合的引导机制允许对不可靠模态降权。2.3 DRMF如何用可组合扩散先验对抗退化DRMF的核心贡献可以从三个层面拆解。第一是条件建模。设源图像为x1和x2融合图像为y。扩散模型的反向过程估计条件分布p(y|x1, x2)采样时每一步计算源图像一致性得分和自然图像先验得分二者通过权重λ组合。当某个模态被噪声污染时对应的一致性得分方差会变大DRMF会自适应降低它的权重而不是像传统融合规则那样对两个模态一视同仁。第二是多尺度自适应融合。扩散模型在不同尺度上对源图像进行特征匹配低分辨率上保证全局结构一致高分辨率上补充纹理细节。遥感影像融合尤其吃这一套因为全色图像的高频细节和多光谱图像的低频光谱信息天然处于不同尺度。第三是评估反馈闭环。DRMF论文的工程配套没有只给网络训练代码而是同时发布了一整套评估脚本——这也是我们这篇文章要重点拆解的资产。下载包里提供的analysis_fmi.m、analysis_nabf.m、analysis_ms_ssim.m、analysis_Qabf.m、analysis_Reference.m、mef_ssim.m、vifp_mscale.m等脚本覆盖了当前图像融合研究中最常用的评价指标能够对单算法和多算法进行批量评估与可视化。对于做算法对比的研究者来说这套脚本比很多论文里画几张图然后主观评价的流程要严谨得多。3. 评估指标体系从通用指标到遥感专用指标3.1 无参考指标FMI、NABF、MS-SSIM与QABF图像融合评估有一个天然的困境多数融合任务没有绝对正确的金标准融合图。红外-可见光融合中哪一处的红外目标应当保留到什么程度哪一处的背景纹理应当占多大比重本身就是主观决定。因此无参考指标不需要参考图像在融合评估中占据核心地位。FMIFeature Mutual Information计算源图像与融合图像之间的特征互信息。它先把图像分解为梯度特征再计算两幅特征图的互信息并求平均。FMI的取值范围通常在0到1之间值越大表示融合图保留了越多的源图像特征。实现时需要注意特征提取窗口的大小常见设置为7×7或9×9窗口越大对全局结构越敏感对细节变化越迟钝。NABFNoise Artifact and Blur Factor衡量融合结果中的噪声与模糊伪影。它通过对比融合图像与源图像在局部区域的梯度分布来检测不希望出现的高频突变噪声和过平滑模糊。NABF的值越低越好因为它反映的是融合过程中引入的负资产。这个指标对多聚焦融合特别有用因为多聚焦融合常见的错误是在聚焦/离焦边界处产生振铃效应NABF能敏锐地捕获这种异常。MS-SSIMMulti-Scale Structural Similarity是多尺度的结构相似度。它在多个尺度上计算亮度、对比度和结构三者的相似性然后加权组合。虽然是全参考指标需要原始参考图但在融合评估中经常被当成无参考代理使用——比如计算融合图与每幅源图的MS-SSIM再取加权平均用以衡量融合图对源图的结构保真度。MS-SSIM对压缩伪影和模糊的控制能力比单尺度SSIM强很多但计算量也大处理高分辨率遥感影像时需要留意内存占用。QABFGradient-based Fusion Performance是基于梯度信息的融合质量度量。它计算融合图像的梯度信息来自源图像的比例并考虑梯度方向的准确性。QABF值越接近1说明融合图像保留了越完整的边缘信息。它对医学图像融合尤其有价值因为医学诊断高度依赖组织边界的解剖结构。不过QABF对噪声很敏感源图像若有轻微噪声QABF会大幅波动因此评估前最好做一次轻度去噪预处理。3.2 有参考与感知指标MEF-SSIM与VIFPMEF-SSIMMulti-Exposure Fusion SSIM是专为多曝光图像融合设计的指标。它不像普通SSIM那样逐像素比较而是把图像分解为高、中、低三个频带在每个频带上计算局部结构相似度再用显著性加权合并。MEF-SSIM与主观视觉评价的相关性很高是因为多曝光融合的人眼感受主要来自局部对比度和细节保留而这恰恰是频带分解后最容易被量化的部分。VIFPPixel-based Visual Information Fidelity源自图像质量评估中的信息保真度框架它把融合图像视为从源图像经过信息通道传输后的输出。VIFP把图像分成若干块用高斯尺度混合模型拟合自然图像的统计特征再计算参考图与融合图的互信息损失。VIFP值越大表示融合图保留了越多的视觉信息。在遥感影像融合中VIFP常与光谱角制图SAM和相对全局维度综合误差ERGAS配合使用但那些指标需要额外代码这套脚本里没有直接提供。在表1中我对这些指标做了一个适用性总结方便后续挑选。指标是否全参考主要适用场景数值方向优点短板FMI否红外-可见光、多聚焦越大越好特征级评估敏感度适中窗口大小影响大NABF否多聚焦、多曝光越小越好专门检测伪影与模糊对噪声放大敏感MS-SSIM是可用源图代替医学、通用越接近源图越好多尺度稳定对比度变化不敏感QABF否医学、边缘保持越接近1越好梯度方向准确对配准误差敏感MEF-SSIM是动态范围已知多曝光越大越好主观一致性高只适用于多曝光VIFP是遥感、通用越大越好贴近人眼感知参数多调参繁琐3.3 遥感影像融合评估的特殊约束遥感影像融合Pansharpening是一个容易踩坑的评估场景。由于Wald协议要求把原始多光谱图像降采样然后再融合、再与原始多光谱图像比较因此评估流程天然包含降采样-融合-升尺度三个阶段。此时如果直接使用FMI这类基于特征的指标降采样引入的MTF调制传递函数退化会被误判为融合算法的缺陷。常见做法是把融合结果先与原始多光谱图像做直方图匹配再进行指标计算。另外遥感图像的动态范围与自然图像不同。多光谱图像通常以16位无符号整数存储而大多数自然图像指标期望输入在[0,1]或[0,255]之间。脚本中如果直接读入高动态范围图像而不做归一化可能会出现数值溢出或除零错误。后面第4章会专门演示归一化处理。4. 用MATLAB脚本复现评估流程场景与参数4.1 单算法评估Evaluation_for_Single_Algorithm.m 的输入输出下载包里的脚本是按评估流程组织的。先看单算法评估脚本的典型调用方式% 单算法评估示例 source_dir D:/fusion_results/result_01/; % 存放融合结果图像的目录 ref_dir D:/dataset/infrared_visible/; % 存放源图像红外可见光 out_file D:/fusion_results/metrics_single.csv; Evaluation_for_Single_Algorithm(source_dir, ref_dir, out_file, ... metric_list, {FMI, NABF, MS_SSIM, QABF}, ... normalize, true, max_level, 4);这段代码的作用是读取一个算法跑出来的全部融合结果图像与源图像做逐对计算输出一个CSV表格。参数里metric_list指定要计算哪些指标normalize控制是否把图像归一化到[0,1]区间建议总为truemax_level是MS-SSIM的尺度数默认是4对细节要求高的场景可以改成5但计算时间会增加约40%。脚本内部会用dir函数遍历目录按文件名排序匹配源图与融合图因此文件名前缀必须完全一致。运行后会在out_file里看到每一对图像的指标值形如image_pair,FMI,NABF,MS_SSIM,QABF pair_001_infraredvisible,0.842,0.031,0.967,0.8734.2 多算法对比与汇总Evaluation_for_Multi_Algorithm.m 与 plot_metrics.m多算法评估脚本的输入是一个算法结果根目录下面按算法名分子文件夹。它会遍历每个算法文件夹分别调用单算法评估逻辑最后把所有算法各指标的均值汇总到一张大表。% 多算法对比评估 root_dir D:/fusion_results/all_algorithms/; result_csv Evaluation_for_Multi_Algorithm(root_dir, ... dataset_dir, D:/dataset/, ... group_by, {FMI, QABF}, ... save_plot, D:/fusion_results/group_bar.png);group_by用来指定柱状图的分组维度。当指标数量比较多时建议只挑2到3个核心指标可视化管理否则柱状图会拥挤到看不清。plot_metrics.m读取result_csv后会输出分组柱状图和箱线图箱线图能非常直观地反映算法在不同图像上的稳定性——均值高但方差大的算法不值得信任。4.3 逐指标分析脚本analysis_fmi.m 到 analysis_Reference.m 的调用关系除了批量评估脚本下载包里还有一组以analysis_开头的脚本。它们的作用是单图深挖当你发现某个算法在某个指标上表现异常时用这些脚本定位原因。% 分析单张融合图像的FMI空间分布 figure; analysis_fmi(D:/dataset/infrared.png, ... D:/dataset/visible.png, ... D:/fusion_results/result_01/fused.png, ... window_size, 7);analysis_fmi.m会把图像切分成一个个局部窗口计算每个窗口的FMI值并以热力图形式叠加在融合图像上。这样你就能直接看到哪些区域的特征保留得差。analysis_nabf.m输出的是噪声和模糊的局部分布图analysis_ms_ssim.m输出多尺度SSIM在各层级上的数值曲线analysis_Qabf.m输出梯度方向的偏差直方图analysis_Reference.m则是对有参考图场景如多曝光使用参考图的逐块质量分析。这些脚本之间没有相互调用它们是并列的。设计思路是一次只看一个指标避免把所有指标堆在一张图上导致无法定位问题。4.4 常见坑数据格式、归一化、边界效应实际跑这套脚本时三个问题最常出现。第一是数据类型不匹配。CV读图是uint8遥感多光谱是uint16如果脚本用im2double统一转换而源图像已经是double类型会出现二次缩放把原本0~255的图缩放到0~1再缩放到0~0.0039导致所有指标几乎为零。处理办法是在读图后自行判断img imread(path); if isinteger(img) img im2double(img); elseif max(img(:)) 1.0 img img / max(img(:)); end第二是边界效应。所有基于窗口的指标在图像边缘都不可靠因为卷积核越界通常采取零填充这会被误判为融合结果在边缘处信息缺失。高分辨率遥感影像的边缘像素占比较小问题不明显但多聚焦图像通常尺寸不大边缘效应会显著拉低MS-SSIM。建议在评估前对每张图裁剪掉边界10像素再计算。第三是配准误差的隐性放大。QABF对几何偏差极其敏感如果两幅源图像存在0.5像素以上的平移QABF会下降20%以上。如果数据集本身经过精准配准不需要额外处理如果数据是手动采集的建议先做一次刚性配准否则误判会很大。4.5 把自定义指标接入评估框架有时候内置指标不够用比如你想加入基于深度学习的感知相似度LPIPS或者面向检测任务的融合后目标检测精度。接入方式是修改Evaluation_for_Single_Algorithm.m中读取metric_list的分支新增一个case% 额外添加LPIPS指标需要预装的deep_utils工具箱 case LPIPS metric_value compute_lpips(fused_img, source_imgs);compute_lpips内部需要调用PyTorch预训练模型可以通过MATLAB的py.接口调用Python端脚本也可以直接用MEX编译后的函数。注意指标扩展名要写在metric_list的显式分支里否则会被当成普通文件路径处理。5. 把评估脚本接进你自己的融合框架5.1 从评估反推损失函数设计评估指标不仅能打分还能指导训练。以MS-SSIM为例它本质上是多尺度结构相似度的加权和这提示你可以在训练损失中加入结构相似项来压低数值。更实用的做法是把NABF纳入对抗损失把NABF中检测出来的伪影区域当成惩罚热图对融合图像中伪影较强的像素加大L1损失权重。实现时先用analysis_nabf.m对当前模型输出计算一次伪影热图再在下一个训练迭代里用这个热图掩膜损失。# 伪代码用NABF热图指导训练损失 import numpy as np nabf_map compute_nabf_map(fused, source1, source2) # 值越大代表伪影越强 loss l1_loss(fused, target) 2.0 * (nabf_map * l1_loss(fused, target))这个技巧对多聚焦融合很有效因为振铃伪影恰恰集中在聚焦边界上NABF热图会把这些位置标出来。5.2 用热力图定位算法失效区域评估脚本输出的热力图不只是给你写论文用的。当某个算法在总体指标上表现不错但在某类图像上掉链子把analysis_fmi的热力图与源图叠在一起看通常能发现规律。比如红外-可见光融合中FMI热力图如果集中凹陷在天空区域说明算法对低纹理区域处理不当融合结果过度平滑。解决方向可以是调整损失函数中的感知损失权重或者给扩散模型的条件编码器加一个高频增强分支。5.3 自动化验证流水线最后分享一个可以直接照搬的脚本组织方式。把评估脚本和训练脚本解耦每次训练结束后自动调用评估并把结果追加到history.csv里方便跨版本对比。# 训练结束后的自动评估 #!/bin/bash DATASET_DIR./data/infrared_visible RESULT_DIR./output/exp_$(date %Y%m%d_%H%M%S)/fused python train.py --output_dir $RESULT_DIR matlab -batch Evaluation_for_Multi_Algorithm($RESULT_DIR, dataset_dir,$DATASET_DIR, save_plot,./plots/exp.png)matlab -batch模式不需要启动完整桌面环境在服务器上也能运行输出结构化日志。注意MATLAB路径要提前用addpath指向脚本所在目录否则会找不到函数。这样每次实验跑完图表和CSV就自动生成做消融实验时能省下大量手动整理表格的时间。本文还有配套的精品资源点击获取