论文解读:AHDR&ADNet

两篇关于hdr pipeline的深度学习网络模型论文:

ADNet: Attention-guided Deformable Convolutional Network for High Dynamic Range Imaging

(AHDR)Attention-guided Network for Ghost-free High Dynamic Range Imaging
AHDR发表在2019年cvpr,在生成高质量hdr图片的模型上取得了不错的成果。
AHDR的主要创新点有:
提出了一种基于 扩张残差密集块(drdb)的网络来合并LDR图像中的注意引导特征图。
本篇文章的最大创新点在于提出了一个新的引导网络,并且结合了自己提出的drdb模块。

 

网络结构如图,三张不同曝光比的输入图片作为输入,但是网络真正的输入应该是每张图片的三个通道加上三个通道分别做完gamma矫正然后除以曝光比,公式如下:  

  I表示原始输入图,Hi表示经过gamma correction并除以曝光比之后的图像,当然这里都是以浮点数保存的,16位浮点数存储在H5中,所以真正的输入通道数应该是3*2*3=18个通道。

接下来第一模块为Attention module 具体如下:

 

第二个要说的模块就是drdb模块了,drdb模块是改进原来的drb模块,drb模块是ieee上一篇超分辨的论文:(RDN)Residual Dense Network for Image Super-Resolution 。作者基于drb模块的基础上加入了扩张卷积然后更名为drdb。

原始的drb模块如图:

这是作者改进的drdb模块:

 

 --------------------------------------------------------------------------------------------------------------------------------

第二篇ADNet

ADNet以AHDR为基础作为改进,发表在2021cvpr。

主要创新点:

We propose a novel dual-branch pipeline for multi frame HDR imaging of dynamic scenes. Unlike previous methods that treat the LDR and gamma-corrected images uniformly, we process the LDR images with a spatial attention module and process the corresponding gamma-corrected images with a PCD alignment module.
主要创新点说他们没有使用之前的方法去处理ldr图和gamma 矫正图,而是使用空间注意力和PCD模块对齐图片。提出将动态帧与可变形对齐模块对齐,显示出比以前的对手的显著改进。据我们所知,这是可变形卷积在多帧HDR成像中的首次应用。网络结构图如下:

 

长话短说和AHDR相比,两个模块,分别是PCD对齐和下面的空间注意力模块。
PCD是引用的这篇论文:Video Restoration with Enhanced Deformable Convolutional Networks (ieee)
PCD模块受到TDAN的启发,使用可变形卷积将每个相邻帧与特征级别的参考帧对齐。与TDAN不同,我们以粗到细的方式执行对齐以处理大而复杂的运动。具体来说,我们使用金字塔结构,首先将较低比例的特征与粗略估计对齐,然后将偏移和对齐特征传播到更高比例以促进精确的运动补偿,类似于光流估计中采用的概念。此外,我们在锥形对准操作之后级联另外的可变形卷积,以进一步提高对准的稳健性。如图:
 
第二个空间注意力模块:如图:
这个模块和刚才AHDR的注意力模块非常相似,模块应该是一样的,只是输出之后有些不同,AHDR是中间ref参考图直接输出到cat前,而ADNet是和上下高低暴光图分别进行cat。

 

 

 

实验结果:

 

 

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
ADnet是一种基于深度学习的图像去噪算法,它能够有效地去除图像中的噪点和伪影。下面是Matlab实现ADnet去噪的详细代码演示。 首先,我们需要加载图像并添加高斯噪声: ```matlab image = imread('lena.png'); noisy_image = imnoise(image, 'gaussian', 0, 0.01); ``` 接下来,我们需要定义ADnet模型。这里我们使用一个三层的卷积神经网络,每一层都包含卷积、批归一化和ReLU激活函数。 ```matlab layers = [ imageInputLayer([256 256 1]) convolution2dLayer(3, 32, 'Padding', 'same') batchNormalizationLayer reluLayer convolution2dLayer(3, 64, 'Padding', 'same', 'Stride', 2) batchNormalizationLayer reluLayer convolution2dLayer(3, 1, 'Padding', 'same') regressionLayer ]; ``` 然后,我们需要定义训练选项,包括学习率、最大训练轮数和优化器等。 ```matlab options = trainingOptions('adam', ... 'InitialLearnRate', 0.001, ... 'MaxEpochs', 30, ... 'MiniBatchSize', 64, ... 'Shuffle', 'every-epoch', ... 'Verbose', false, ... 'Plots', 'training-progress'); ``` 接下来,我们使用训练数据(干净图像和带噪图像)来训练ADnet模型。 ```matlab clean_images = imageDatastore('clean_images'); noisy_images = imageDatastore('noisy_images'); training_data = combine(clean_images, noisy_images); adnet = trainNetwork(training_data, layers, options); ``` 最后,我们使用训练好的ADnet模型对带噪图像进行去噪处理。 ```matlab denoised_image = predict(adnet, noisy_image); ``` 完整的代码如下: ```matlab % Load image and add noise image = imread('lena.png'); noisy_image = imnoise(image, 'gaussian', 0, 0.01); % Define ADnet model layers = [ imageInputLayer([256 256 1]) convolution2dLayer(3, 32, 'Padding', 'same') batchNormalizationLayer reluLayer convolution2dLayer(3, 64, 'Padding', 'same', 'Stride', 2) batchNormalizationLayer reluLayer convolution2dLayer(3, 1, 'Padding', 'same') regressionLayer ]; % Define training options options = trainingOptions('adam', ... 'InitialLearnRate', 0.001, ... 'MaxEpochs', 30, ... 'MiniBatchSize', 64, ... 'Shuffle', 'every-epoch', ... 'Verbose', false, ... 'Plots', 'training-progress'); % Train ADnet model clean_images = imageDatastore('clean_images'); noisy_images = imageDatastore('noisy_images'); training_data = combine(clean_images, noisy_images); adnet = trainNetwork(training_data, layers, options); % Apply ADnet to noisy image denoised_image = predict(adnet, noisy_image); % Display results subplot(1, 3, 1) imshow(image) title('Original') subplot(1, 3, 2) imshow(noisy_image) title('Noisy') subplot(1, 3, 3) imshow(denoised_image) title('Denoised') ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SetMaker

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值