MSBDN(Multi-Scale Boosted Dehazing Network with Dense Feature Fusion)具有密集特征融合的多尺度增强去雾网络阅读分析

一、概要      

    在本文中,作者团队提出了一种基于U-Net架构的具有密集特征融合的多尺度增强去雾网络。 该方法是基于boosting和误差反馈这两个原理设计的,表明它们适用于去雾问题。

1、通过在所提出模型的解码器中加入“Strengthen-Operate-Subtract”增强策略,通过开发了一种简单而有效的增强解码器,以逐步恢复无雾图像。

2、为了解决在U-Net架构中保留空间信息的问题,使用反投影反馈方案设计了一个密集特征融合模块。本文表明,密集特征融合模块可以同时纠正高分辨率特征中缺失的空间信息,并利用非邻近特征。

二、核心想法

核心点1 :

     作者巧妙的将U-net结构中的上下采样看着超分中的上下采样,这样将应用到超分的反投影反馈方案应用到这里了,应用这个方案涉及到多个特征的连接,因此作者基于这个操作,将其称为基于反投影反馈的多尺度的稠密特征融合模块,作者将网络的decoder解释为图像恢复模块,并且在解码器中合并“Strengthen-Operate-Subtract(SOS)”增强策略,称作增强解码器(boosting decoder),以逐步恢复无雾图像。

核心点2:

    作者将U-net的结构的编码阶段每一层特征看作输入,解码阶段每一层特征看作一个输出,这样解码阶段每一层的上采样结果都看作当前特征的下一次迭代的解,因此完美的将惯用于去噪逐步求解的增强策略应用到这里了。而增强策略公式是统一的,就是将当前输入加到上一次输出的结果上,然后作为下一次的输入。同时由于U-Net的编码器中的下采样操作,可能无法从U-Net的解码器有效地检索空间信息压缩。 为了解决这个问题,作者提出了一种基于反投影技术(back-projection)的DFF模块,以有效融合不同层次的特征。 该模块可以同时保留高分辨率特征的空间信息,并利用非相邻特征进行图像去雾

三、SOS boosted module.

    本文设计了一个多尺度boosted解码器,网络的解码器解释为一个图像恢复模块,逐步上采样。

SOS增强策略可以类似于:

J^n是第n 次迭代的预测结果,g ( ⋅ )为去雾操作,I + J ^ n 表示用雾图I和预测结果J ^ n,既通过将前面的结果与当前输入相结合作为输入逐步细化结果。

   对于第n层的SOS boosted模块,首先对上一层得到的特征图 j^{n+1}(因为这里是倒着数的)进行上采样,然后用同一层对应的编码器得到的特征图i^{n}进行相加,送入到修复单元Gn( θ n) 中,结果减去上采样后的jn+1最为最终第n层的SOS boosted模块的输出,即 j^n,公式表达如下:

  其中,↑ 2 表示2倍上采样操作,G (n)θ n 表示第n层参数为θ  的可训练修复单元。在每一个修复单元中,都使用了残差组。在解码器的最后一层中,使用一个卷积层从最后的特征图中得到最终的无雾图像J^n 。

结构如下:

   既对上一层输入进行上采样,使其大小与对应编码(encode)层的残差组(ResidualGroup)输出相同,然后再将上采样结果与对应encode层的ResidualGroup输出相加,传入到G()函数中,再减去上采样的结果就得到最后输出;其中G()函数的网络架构是ResidualGroup+一个全局残差。

四、Dense Feature Fusion Module(DFF)

  

       U-Net体系结构固有地在几个方面受到限制,例如,在编码器的下采样过程中缺少空间信息,并且在非相邻层级的特征之间缺少足够的连接。(因为下采样一定会丢失空间信息;U-Net只在水平上有联系,而在竖直上没有联系,所以非相邻层级之间会缺少信息交互)。因此,在每个级别引入了两个DFF模块,一个在编码器中的残差组之前,另一个在解码器中的SOS boosted module之后 编码器/解码器中提升的DFF输出直接连接到编码器/解码器中所有以下DFF模块,以实现功能融合,编码器中第n层中DFF模块的框架如图所示。

 五、网络结构

 待处理的雾图从左下角输入,经过Genc,Gres,Gdec三个部分之后得到处理好的去雾图片。

在Genc(编码)部分,

  有雾图首先被传入到一个步长为1的卷积层中提取浅层信息,输出层数为16,并把输出保存到特征数组里;

  然后传入到ResidualGroup中,在这个group中有三个相同的ResidualBlock,每个block的结构为一层卷积+一层relu+一层卷积+一个全局残差,最后ResidualGroup的输出与其输入相加;

  然后传入到一个步长为2的卷积层,输出层数为32;再将输出和特征数组一并传入到Dense Feature Fusion Module中,并将输出保存到特征数组里;然后传入到ResidualGroup中,输出的结果和输入的矩阵相加;

  然后传入到一个步长为2的卷积层,输出层数为64;再将输出和特征数组一并传入到Dense Feature Fusion Module中,并将输出保存到特征数组里;然后传入到ResidualGroup中,输出的结果和输入的矩阵相加;

  然后传入到一个步长为2的卷积层,输出层数为128;再将输出和特征数组一并传入到Dense Feature Fusion Module中,并将输出保存到特征数组里;然后传入到ResidualGroup中,输出的结果和输入的矩阵相加;

  然后传入到一个步长为2的卷积层,输出层数为256;再将输出和特征数组一并传入到Dense Feature Fusion Module中得到Genc部分的最终输出。

将Genc部分的输出传入到Gres(特征修复)模块

  在feature restoration module中,输入乘以二后传入到由18层ResidualBlock和一个全局残差结构组成的结构中,得到的结果再减去输入就是最终的Gres模块输出了

然后将Gres的输出传入到Gdec(解码)模块

  先把Gres的输出保存到Gdec模块的特征数组里,然后传入到一层步长为2反卷积网络中,输出128;然后将输出传入到SOS boosting module,再将输出和特征数组一并传入到Dense Feature Fusion Module中,并将输出保存到特征数组里;

  然后传入到一层步长为2的反卷积中,输出层数为64;再传入到SOS boosting module;再将输出和特征数组一并传入到Dense Feature Fusion Module中,并将输出保存到特征数组里;

  然后传入到一层步长为2的反卷积中,输出层数为32;再传入到SOS boosting module;再将输出和特征数组一并传入到Dense Feature Fusion Module中,并将输出保存到特征数组里;

  然后传入到一层步长为2的反卷积中,输出层数为16;再传入到SOS boosting module;再将输出和特征数组一并传入到Dense Feature Fusion Module中,并将输出保存到特征数组里; 

  最后再传入到一层步长为1的反卷积中,输出层数为3,即为处理好的图片。
 

 数据集实验对比

  • 6
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值