【图像融合】基于深度学习的多曝光图像融合附matlab代码

简介: 【图像融合】基于深度学习的多曝光图像融合附matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。

🍎个人主页:Matlab科研工作室

🍊个人信条:格物致知。

更多Matlab仿真内容点击👇

智能优化算法       神经网络预测       雷达通信      无线传感器        电力系统

信号处理              图像处理               路径规划       元胞自动机        无人机

⛄ 内容介绍

图像融合,是信息融合的其中一个分支,也是融合问题的热点之一。处理多焦点图像融合的问题中,如何从两幅待融合图像中提取到更多特征来得到更精准的决策图是解决该问题的关键。几十年来,许多研究人员提出了大量图像融合算法。在拍摄照片的过程中,选择不同的光圈和焦距会使很多成像设备在不同景深下难以对画面中的所有对象进行聚焦,仅景深中的物体是清晰的,所以很难得到各个层面上的完整信息。为了解决该问题,出现了多焦点图像融合技术。虽然任何一张图片中的信息都不能说明整个场景,但这些图像中包含的信息又是互补的,所以多焦点图像融合问题可以通过对具有不同焦点的图像进行特征提取,并设计融合规则来合成一幅全焦点图像。在过去几年中,出现了一些多焦点图像融合方法,大致可以分为空间域和变换域两类。除此之外,随着近年来深度学习在计算机视觉和图像处理领域中得到了显著进展,如目标检测、图像分割等,也有一些用于多焦点图像融合的深度学习方法被提出。然而,基于传统图像融合方法需要对图像中的像素做焦点检测,这个过程往往采用基于块和区域的方法,因此融合的质量会受到划分方法影响,常出现边缘不理想的问题。除此之外,还需要设计较为复杂的融合规则来对多焦点图像进行融合。在后续提出的有关深度学习的图像融合方法,其网络结构往往较为单一,在训练过程中没有实现端到端的像素级预测,融合结果在细小的边缘处常出现伪影。

VGG网络

VGG原理

VGG16相比AlexNet的一个改进是采用连续的几个3x3的卷积核代替AlexNet中的较大卷积核(11x11,7x7,5x5)。

对于给定的感受野(与输出有关的输入图片的局部大小),采用堆积的小卷积核是优于采用大的卷积核,因为多层非线性层可以增加网络深度来保证学习更复杂的模式,而且代价还比较小(参数更少)。

简单来说,在VGG中,使用了3个3x3卷积核来代替7x7卷积核,使用了2个3x3卷积核来代替5*5卷积核,这样做的主要目的是在保证具有相同感知野的条件下,提升了网络的深度,在一定程度上提升了神经网络的效果。

比如,3个步长为1的3x3卷积核的一层层叠加作用可看成一个大小为7的感受野(其实就表示3个3x3连续卷积相当于一个7x7卷积),其参数总量为 3x(9xC^2) ,如果直接使用7x7卷积核,其参数总量为 49xC^2 ,这里 C 指的是输入和输出的通道数。很明显,27xC2小于49xC2,即减少了参数;而且3x3卷积核有利于更好地保持图像性质。

这里解释一下为什么使用2个3x3卷积核可以来代替55卷积核:

5x5卷积看做一个小的全连接网络在5x5区域滑动,我们可以先用一个3x3的卷积滤波器卷积,然后再用一个全连接层连接这个3x3卷积输出,这个全连接层我们也可以看做一个3x3卷积层。这样我们就可以用两个3x3卷积级联(叠加)起来代替一个 5x5卷积。

VGG网络结构

⛄ 部分代码

function W_CNN=cnnFeatures_newnew(I)

net=vgg19;

beta=0.2;  % constant used in exposure mask calculation

for ii=1:size(I,4)

   %fetaure extraction from first layer

   features(:,:,:,ii) = activations(net,I(:,:,:,ii),1,'OutputAs','channels');

   features(:,:,:,ii)=double(features(:,:,:,ii));

   %     features(:,:,ii)=(newfeatures(:,:,1,ii)+newfeatures(:,:,2,ii)+newfeatures(:,:,3,ii))/3;

   for jj=1:size(I,3)

       temp=norm(features(:,:,jj,ii),1);

       V(:,:,jj,ii)=(features(:,:,jj,ii)./temp);   %strength of feature vector

%         temp1=norm(features(:,:,jj,ii));

%         sij(:,:,jj,ii)=(features(:,:,jj,ii)./temp1); %temporal consistency

%         S_temp(:,:,jj,ii)=exp(-((sij(:,:,jj,ii)).^2)./(2*0.05^2));

       % exposure mask calculation

       %         grayI(:,:,:,ii)=normalize(rgb2gray(I(:,:,:,ii)));

       for pp=1:size(I,1)

           for qq=1:size(I,2)

               if (beta<I(pp,qq,jj,ii))&&(I(pp,qq,jj,ii)<(1-beta))

                   M(pp,qq,jj,ii)=1;

               else

                   M(pp,qq,jj,ii)=0;

               end

           end

       end

       

       

   end

end

for ii=1:size(I,4)

   for jj=1:size(I,3)

       temp1=norm(features(:,:,jj,ii));

       temp2(:,:,jj,ii)=(features(:,:,jj,ii)./temp1); %temporal consistency

   end

end

S_temp=euclideanDist(temp2); %temporal consistency

S=zeros(size(I,1),size(I,2),size(I,3));

V_imagesum=zeros(size(I,1),size(I,2),size(I,3));

denom=zeros(size(I,1),size(I,2),size(I,3));

for ii=1:size(I,4)

   S=S+S_temp(:,:,:,ii); % temporal consistemcy

   V_imagesum=V_imagesum+V(:,:,:,ii);

%     denom=denom+V(:,:,:,ii).*S_temp(:,:,:,ii).*M(:,:,:,ii);

   denom=denom+V(:,:,:,ii);


end

% weights calculation

for ii=1:size(I,4)

%     W_CNN(:,:,:,ii)=(V(:,:,:,ii).*S.*M(:,:,:,ii))./(denom+10e-5);

     W_CNN(:,:,:,ii)=(V(:,:,:,ii)./(denom));


%     for jj=1:3

%         W_CNN(:,:,jj,ii)=medfilt2(W_CNN(:,:,jj,ii));    

%     end

end


⛄ 运行结果

⛄ 参考文献

[1]陈清江, 李毅, 柴昱洲. 一种基于深度学习的多聚焦图像融合算法[J]. 激光与光电子学进展, 2018, 55(7):9.

[2]李怡. 基于深度学习的多焦点图像融合算法研究[D]. 吉林大学.

⛳️ 完整代码

❤️部分理论引用网络文献,若有侵权联系博主删除
❤️ 关注我领取海量matlab电子书和数学建模资料


相关文章
|
8月前
|
算法 定位技术 计算机视觉
【水下图像增强】基于波长补偿与去雾的水下图像增强研究(Matlab代码实现)
【水下图像增强】基于波长补偿与去雾的水下图像增强研究(Matlab代码实现)
978 0
|
8月前
|
算法 机器人 计算机视觉
【图像处理】水下图像增强的颜色平衡与融合技术研究(Matlab代码实现)
【图像处理】水下图像增强的颜色平衡与融合技术研究(Matlab代码实现)
253 0
|
8月前
|
机器学习/深度学习 算法 机器人
使用哈里斯角Harris和SIFT算法来实现局部特征匹配(Matlab代码实现)
使用哈里斯角Harris和SIFT算法来实现局部特征匹配(Matlab代码实现)
351 8
|
8月前
|
机器学习/深度学习 编解码 算法
基于OFDM技术的水下声学通信多径信道图像传输研究(Matlab代码实现)
基于OFDM技术的水下声学通信多径信道图像传输研究(Matlab代码实现)
352 8
|
机器学习/深度学习 运维 安全
深度学习在安全事件检测中的应用:守护数字世界的利器
深度学习在安全事件检测中的应用:守护数字世界的利器
579 22
|
机器学习/深度学习 编解码 人工智能
计算机视觉五大技术——深度学习在图像处理中的应用
深度学习利用多层神经网络实现人工智能,计算机视觉是其重要应用之一。图像分类通过卷积神经网络(CNN)判断图片类别,如“猫”或“狗”。目标检测不仅识别物体,还确定其位置,R-CNN系列模型逐步优化检测速度与精度。语义分割对图像每个像素分类,FCN开创像素级分类范式,DeepLab等进一步提升细节表现。实例分割结合目标检测与语义分割,Mask R-CNN实现精准实例区分。关键点检测用于人体姿态估计、人脸特征识别等,OpenPose和HRNet等技术推动该领域发展。这些方法在效率与准确性上不断进步,广泛应用于实际场景。
1531 64
计算机视觉五大技术——深度学习在图像处理中的应用
|
机器学习/深度学习 传感器 数据采集
深度学习在故障检测中的应用:从理论到实践
深度学习在故障检测中的应用:从理论到实践
1369 6
|
机器学习/深度学习 人工智能 运维
深度学习在流量监控中的革命性应用
深度学习在流量监控中的革命性应用
515 40
|
机器学习/深度学习 数据采集 存储
深度学习在DOM解析中的应用:自动识别页面关键内容区块
本文探讨了如何通过深度学习模型优化东方财富吧财经新闻爬虫的性能。针对网络请求、DOM解析与模型推理等瓶颈,采用代理复用、批量推理、多线程并发及模型量化等策略,将单页耗时从5秒优化至2秒,提升60%以上。代码示例涵盖代理配置、TFLite模型加载、批量预测及多线程抓取,确保高效稳定运行,为大规模数据采集提供参考。
431 0
|
机器学习/深度学习 运维 资源调度
深度学习在资源利用率优化中的应用:让服务器更聪明
深度学习在资源利用率优化中的应用:让服务器更聪明
688 6