摘要:

本文提出了一种基于新颖的迭代更新框架的迭代先验更新网络 (IPUDN)。我们提出了一种新颖的卷积体系结构来估计信道方向的大气光,并将其与估计的透射图一起用作去雾网络的先验。使用通道方向的大气光可以使我们的网络处理朦胧图像中的颜色转换。在我们的IPUDN中,使用相应的新型更新器网络迭代地更新了传输图和大气光估计值。利用迭代机制逐步将估计值修改为适当代表朦胧条件的估计值。这些更新与使用具有LSTM驱动的递归的卷积神经网络对脱灰图像的迭代估计一起发生,这引入了迭代间的依赖性。

透射图t(x)和大气光A特点:

不使用大气散射模型的端对端去雾网络这样做是为了避免由于传输图的估计和与去雾系统不相交的大气光而导致的次优恢复。 然而,通过适当的透射图引导可以帮助对大范围的雾度密度进行有效的去雾,因为透射图本质上提供了图像像素处的雾度作为场景深度的函数。 精确大气光的引导也可以证明是有用的,因为大气光代表与雾霾相关的照明。 此外,通过适当的通道大气光引导可以帮助处理由于雾霾引起的颜色失真。

训练步骤:

在本文了一种基于端到端的长短期记忆 (LSTM) 迭代除雾框架,其中包括明智地集成的传输图和大气光更新器网络。该框架使用来自专用估计器网络的传输图和大气光的初始估计作为先验,这些先验在除雾期间由更新器网络迭代更新。图显示了我们的方法的示意图,即迭代先验更新除雾网络 (IPUDN)。此系统处理各种各样的模糊条件,从低密度到高密度,有或没有色偏。可以看出,本文的去雾系统的训练分三个阶段进行。

1、在第一阶段,我们训练一个密集连接的基于编码器-解码器的网络,以获得传输图的初始估计。还训练了一种具有全局最大池化块的新型卷积神经网络,以获得对大气光的初始估计。与现有方法不同,我们在不考虑任何特定先验的情况下执行通道方式大气光的估计。除了适当的雾度照明估计外,使用通道方式的大气光允许我们在存在偏色时处理它。

2、在第二阶段,本文考虑一种新颖的迭代单图像除雾框架,其中迭代旨在以减少失真的分级方式处理宽范围的雾度密度。透射图和大气光的初始估计值作为先验信息输入到我们基于LSTM的迭代去雾框架中,在该框架中训练了单独的更新器网络以更新透射图和大气光估计值。在每次迭代中生成所述估计的中间去雾输出和更新,其在下一次迭代中与透射图和大气光的初始估计一起使用,以渐进的方式实现去雾。

3、显然,在上述两个阶段,传输图和大气光估计器,以及去雾框架分别使用不同的目标函数进行训练。 为了从我们的整个去雾系统中获得最佳性能,在第三和最后阶段,两个估计器和去雾框架一起(联合)微调,引入三个网络之间的依赖关系。

主要贡献:

  • 我们提出了一种基于循环卷积神经网络的新颖迭代框架,该框架可以逐步对图像进行去雾处理,这在不同类型的朦胧条件下是有效的。
  • 我们引入了新颖的更新器网络,在每个迭代步骤中更新传输图和大气光的初始估计。
  • 我们提出了一种新颖的基于卷积神经网络的架构来获得通道方式大气光的初始估计,这有助于在存在时处理色偏
  • 我们讨论并通过实验验证了使用透射图和大气光估计的重要性、它们的更新以及使用单独的新型迭代去雾框架进行渐进式去雾的重要性
  • 与现有技术相比,我们提出的机制平均提高了约5dB,并且随着雾度的增加,性能提升变得更加显著。

模型介绍:

我们将基于深度学习的框架分为三个部分, 透射图估计器、大气光估计器和去雾架构 。

Transmission Map Estimation Network(传输图估计网络)

透射图提供了有关雾度密度的有用信息,这有助于对图像进行适当的去雾处理。本文使用DCPDN的密集连接的编码器-解码器网络来估计传输图。我们使用结构相似性 (SSIM)作为损失函数而不是均方误差 (MSE) 损失函数来训练传输图估计模型。使用 SSIM 损失可以提供更清晰的边缘,保留结构信息,从而减少光晕伪影,这是与图像去雾相关的主要问题之一。训练模型后,我们将其用作传输图估计器,同时训练去雾网络以及稍后的测试。

Atmospheric Light Estimation Network(大气光估计网络)

大气光估计模型用于预测跨3个颜色通道的大气光。卷积块按层次提取对大气光的区域贡献,将其全局汇总以获得最大的贡献作为估计 ,大气光是在适当的照明条件下产生脱灰输出的关键因素。对大气光的不准确估计可能会导致图像曝光不足或曝光过度,并导致颜色失真。对于大气光估计,本文提出了一种新颖的卷积神经网络体系结构,我们的模型计算了与每个颜色通道相对应的三个大气光值,同时较大的最大池化内核在估计大气光 (对于颜色通道而言是单个值) 的同时,可以减少物体颜色等局部因素的影响,我们使用均方误差作为损失函数训练了大气光估计器。

Iterative Dehazing Network(迭代去雾网络)

我们的去雾网络中,我们采用了两种主要策略。 首先,我们提出了一种迭代传输图和大气光更新策略。 其次,使用基于 LSTM 的循环卷积神经网络来维持时间步长依赖性。如下图所示:

Recurrent Dehazing Formulation (迭代去雾方案)

主网络使用 6 层残差网络进行去雾,如上图(a)所示。 它由四个主要部分组成:(a) 输入特征提取,fin,(b) 循环层,fLSTM,(c) 用于更高级别特征提取的连续 6 个残差块,fres,(d) 用于去雾图像重建的输出层, 出。 我们的去雾网络在数学上可以描述为:

由于LSTM在我们的去雾框架中优于门控递归单元 (GRU),因此我们选择LSTM作为递归块。LSTM层fLSTM将fin在当前状态和先前的递归状态h(t − 1) 中提取的特征y(t) 作为输入。第一个卷积块之后的LSTM有助于将依赖关系保持在连续的时间步长中,从而实现来自后续状态的中间特征之间的交互。与传统的LSTM  不同,我们在每个时间步中递归地使用整个模型,这大大减少了所需的模型大小。在我们的工作中,我们使用卷积LSTM ,如下面等式所示。在时间步长t,LSTM从输入特征提取块接收特征,并在时间步长t − 1接收递归状态。LSTM计算输入门i(t),忘记门f(t),输出门o(t) 和单元状态c(t),并且可以公式为,

其中σ是sigmoid函数,tanh是双曲正切函数,是元素乘法,⊗是卷积运算。

Iterative Updater Mechanism(迭代更新机制)

在前向传播过程中,已经训练好的透射图估计模型Γ和大气光估计模型Λ以朦胧图像I为输入,分别给出估计的透射图T和大气光A作为输出。 去雾网络将估计的透射图和大气光与朦胧图像一起作为输入,并迭代地对图像进行去雾,其中透射图和大气光也被更新。 X(t − 1) 是我们的去雾网络在时间步 t 的输入。

它包含两种类型的输入:静态和动态输入。 静态输入是模糊图像 I、初始估计的透射图 T 和初始估计的大气光 A,它们是时间无关的。 现在,时间相关的动态输入包含去雾图像 I'(t-1)、更新的透射图 T'(t-1) 和更新的大气光 A'(t-1)。 在第一个时间步 t = 1,I'(t − 1) = I,T'(t − 1) = T,A'(t − 1) = A。经过每个时间步,透射图和大气光被更新。

两个独立的更新器网络估计所需的传输图更新 ΔT 和大气光更新 ΔA。 这些相应的估计更新被添加到上一个时间步的T'(t-1)和A'(t-1),分别得到当前时间步的T'(t)和A'(t)。

传输图更新器∪Γ的输入XT(t−1)也包含静态和动态输入,如上图 (c) 所示。 输入的模糊图像 I、初始估计的透射图 T、时间步 t 的去雾图像 I'(t) 和时间步 t-1 的更新透射图 T'(t-1) 形成 XT(t-1)。 类似地,如上图 (b) 所示的大气光更新器∪λ 取输入 XA(t-1),其在时间步长 t 具有输入模糊图像 I、大气光 A、去雾图像 I(t),并更新在时间步 t-1 的大气光 A'(t-1)。

如前所述,在时间步t更新的透射图 T'(t) 为 T'(t-1)+ΔT 和更新的大气光 A'( t) 在时间步 t 为 A'(t − 1) + ΔA。 在完成所有时间步骤(迭代)后,通过反向传播去雾图像和理想无雾图像之间的损失来训练去雾模型、透射图和大气光更新器。 在测试的情况下,我们在完成所有迭代后得到所需的去雾图像。

Loss Function(损失函数)

MSE,L1,SSIM,对抗 损失和感知 损失的不同损失函数的组合已用于训练去雾模型。以类似的方式,我们考虑两种不同的损失函数来训练我们的去雾网络。其中之一是L1损失,另一个损失是感知差异损失。因此,定义总重建损失L

其中是平均绝对差损失,是感知差损失。 λ 是一个超参数,我们在实验中使用 λ1 = 0.8。在训练期间计算重建损失时,我们只对时间步数为 t 的模型的最终输出 I'(t) 进行监督。我们的感知损失函数定义为 :

其中 是监督的基本事实。 在我们的感知损失中,我们使用 VGG 网络在最终时间步从实际无雾和去雾图像中提取的高级特征之间的绝对误差。 在上面,我们使用 relu2_2 层的 vgg19 架构作为特征提取器。

Stage-wise Training and Fine Tuning(阶段性训练和微调)

在提出的方法中,有三种可训练的架构:透射图估计模型、大气光估计模型和具有更新机制的去雾网络。 我们没有将整个网络一起训练,而是将训练过程分为三个阶段。  所需的不同目标函数可能会在不同方向上推动训练,从而产生小的梯度幅度。 因此,我们分别用相关的目标函数训练三个网络中的每一个。

在第一阶段,传输图和大气光估计器分别进行训练。 在第二阶段,使用重建损失单独训练去雾网络。 在第三阶段,将所有三个训练好的网络与多个目标函数一起进行微调。 这种以较低学习率进行的微调是为了在三个网络之间引入精细的依赖关系。一起微调它们使我们能够从我们的整个去雾系统中获得最佳性能,同时保持在个别培训提供的解决方案的本地附近。

Datasets(数据集)

训练数据集包含 2, 378 张室外图像和 1, 349 张室内图像

         NYU Depth Dataset V2 (有深度图的室内图像)

        OTS(户外图像)

实验结果

为了对合成图像进行定量评估,我们考虑来自与测试集相对应的7个上述数据集的所有350图像。包括三个不同的朦胧室内图像测试数据集,每个数据集具有50张图像,分别称为低雾度合成室内测试集 (LSIT),中雾度合成室内测试集 (MSIT) 和高雾度合成室内测试集 (HSIT)。三个不同的朦胧户外测试数据集,每个数据集具有50张图像,分别称为低雾度合成户外测试集 (LSOT),中雾度合成户外测试集 (MSOT) 和高雾度合成户外测试集 (HSOT)。来自测试集的50张室外图像还用于使用随机量的雾度来制备合成彩色模糊图像数据集,并将其命名为合成彩色模糊测试集 (SCHT)。

对于真实世界图像的定量评估,我们使用 O-Haze [59]、I-Haze [60] 和 BeDDE [61] 数据集。结果如下:

IPUDN(用于单幅图像去雾的透射图和大气光导迭代更新器网络)CVPR_2020相关推荐

  1. RYF-Net: 深度融合网络用于单幅图像去雾(Deep Fusion Network for Single ImageHaze Removal-IEEE_TIP-2020)

    概述 在本文中提出了一种基于卷积神经网络的体系结构来估计模糊场景的场景传输图(TrMap).本文提出的网络以雾图像为输入,利用本文提出的RNet和YNet分别通过RGB和YCbCr颜色空间提取雾霾相关 ...

  2. 基于暗通道优先的单幅图像去雾算法(Matlab)

    基于暗通道优先的单幅图像去雾算法(Matlab) 每一幅图像的RGB三个颜色通道中,总有一个通道的灰度值很低,几乎趋向于0.基于这个几乎可以视作是定理的先验知识,作者提出暗通道先验的去雾算法. ​ 首 ...

  3. 导向滤波算法 java_一种基于双通道先验和侧窗导向滤波的单幅图像去雾方法与流程...

    本发明属于计算机图像处理的领域,用于图像或者视频去雾等相关领域:具体涉及一种基于双通道先验和侧窗导向滤波的单幅图像去雾方法. 背景技术: 图像采集过程中,由于雾天的影响,使得景物的能见度大幅降低,再加 ...

  4. 【论文阅读】改进的基于均值滤波的单幅图像去雾算法研究

    改进的基于均值滤波的单幅图像去雾算法研究 吴延海,张婧,陈康 西安科技大学 学报, 2016 本文是在<基于单幅图像的快速去雾>基础上进行改进.主要改进有以下几点: 对<基于单幅图像 ...

  5. 基于暗原色先验的单幅图像去雾——算法复现

    基于暗原色先验的单幅图像去雾--算法复现 MOOC 数字图像处理的大作业学习 暗原色先验理论 暗原色先验是对无雾图像的统计规律,对无雾的图像的研究,发现在绝大多数户外无雾图像的任意局部小块中,总存在一 ...

  6. 【计算机视觉课程设计】基于暗通道先验单幅图像去雾算法的实现(MATLAB)

    声明:原创内容,创作不易,欢迎点赞收藏~ 摘    要 随着信息化时代的到来,计算机视觉得以迅速发展,在社会生活中的各个领域发挥了重要作用.然而,近年来大气污染逐渐加重,雾霾天气出现的频率越来越高,导 ...

  7. 基于暗通道先验的单幅图像去雾算法小结

    在开始之前,先看一组去雾的效果图. 1. 关于去雾的意义及算法 去雾在视频监控.航拍.遥感.自动/辅助驾驶等需要在室外复杂.恶劣天气下运行的视觉系统,都可能需要运用到这一技术. 目前去雾算法主要有两个 ...

  8. 单幅图像去雾算法研究综述

    来源 <计算机工程与应用>北大核心期刊,CSCD数据库. 影响因子:2.348 简介 图像去雾算法是以满足特定场景需求,突出图片细节并增强图片质量为目的的图像分析与处理方法.在雾霾天气下, ...

  9. 【Gated Context Aggregation Network for Image Dehazing and Deraining用于图像去雾和去雨的门控上下文聚合网络】,个人笔记,勿喷

    摘要 图像去雾旨在从模糊图像中恢复未损坏的内容.我们没有利用传统的低级或手工图像先验作为恢复约束,例如暗通道和增加的对比度,而是提出了一个端到端的门控上下文聚合网络来直接恢复最终的无雾图像.在这个网络 ...

最新文章

  1. 零基础入门学习Python(1)
  2. Linux内核移植之三:内核配置选项
  3. Struts2如何实现MVC,与Spring MVC有什么不同?
  4. mongochef如何链接有权限的mongodb3.x数据库
  5. 机器学习必备宝典-《统计学习方法》的python代码实现、电子书及课件
  6. RabbitMQ基础介绍
  7. 收藏 | 使用 YOLO及OpenCV 实现目标检测
  8. 编写一个Java程序,在程序中包含一个Employee类,Employee类包含name、age、salary三个成员变量
  9. 使用Navicat Premium 同步 测试数据库 与 正式数据库 数据
  10. 小心调用Replicator, While 和 CAG子活动
  11. Rsync结合Inotify 实时同步配置
  12. 计算机毕业设计asp.net学院网站系统VS开发sqlserver数据库web结构c#编程计算机网页源码项目
  13. 基于单片机的指纹识别电子密码锁设计
  14. html制作简单扫雷,JavaScript制作windows经典扫雷小游戏
  15. 安卓调试工具 adb 命令大全
  16. git出现 [rejected]master -> master (non-fast-forward)问题怎么解决
  17. 【JavaScript】17 - DOM
  18. 【错误】Non-static method*** cannot be referenced from a static
  19. 美术细化专业课程-张聪-专题视频课程
  20. 服务器机柜组件是,服务器机柜尺寸与组件-上海数据中心机房建设

热门文章

  1. 抓取国家统计局2018年的省市区街道数据
  2. 测试计算机病毒,计算机病毒测试
  3. 案例学习|Python实现某医院药品销售分析
  4. C语言实现网络聊天室 socket的简单应用
  5. win10.java默认程序_Win10把IE修改为默认浏览器的两种方法
  6. matlab星座图调制
  7. es6通过Map对象对数组去重
  8. iframe在html中怎么写,html中如何使用iframe标签链接网址呢?
  9. HTTP的get和post请求方法以及HTTP接口
  10. 详解笔记本电脑开机黑屏如何解决