一种基于深度学习和模型驱动的单图去雨方法与流程

文档序号:21650589发布日期:2020-07-29 03:04阅读:571来源:国知局
一种基于深度学习和模型驱动的单图去雨方法与流程

本发明属于图像处理以及深度学习技术领域,特别涉及一种基于深度学习和模型驱动的单图去雨方法。



背景技术:

受雨天的影响,在室外拍摄的图像通常会受到破坏,比如有效的背景和纹理细节会被高亮的雨滴和浓密的雨条遮挡,从而会严重影响到户外视觉任务的性能,比如目标追踪,视频监控和行人检测。因此,图像去雨是一项非常重要的预处理任务,近年来已经受到广泛的关注。特别地,不像是视频去雨任务可以利用多帧图像,由于没有任何帧间的信息可以利用,单张图像去雨是一个更具有挑战性的问题。

目前为止,已有的单图去雨技术大致可以分为三类:基于滤波器的方法,基于传统模型的方法和基于深度学习的方法。基于滤波器的方法将单张雨图通过导向滤波等方式分解为低频部分(背景层)和高频部分(雨层和纹理细节),然后利用雨条的物体特性抽取高频部分的雨层,最后将低频部分和高频的纹理细节融合从而得到重构的去雨图。由于高低频分解的不精准性,该类方法通常导致去雨图丢失部分有效的图像细节。基于传统模型的方法主要通过使用不同的正则项分别刻画背景层和雨层的先验结构,然后利用传统的迭代优化算法获得重构后的背景层和雨层。由于正则项表达的有限性,该类方法通常只能在某些场景下适用。当面对多样的雨图时,由于雨模态分布的复杂性,这些正则项不能再很好地刻画这些雨条的先验分布。另外,由于牵涉到复杂的迭代优化推理计算过程,基于传统模型的方法通常是很费时的,这显然不利于实际应用。最近随着深度学习的快速发展,卷积神经网络也广泛应用到了单图去雨任务中,当前的基于深度学习的方法主要关注设计多样的网络模块,然后利用大量的成对训练样本进行端到端训练这些深度网络架构,从而获得去雨图。相比传统的基于模型的去雨方法,虽然该类方法实现了突出的去雨效果,但仍有一些缺陷。比如,他们设计的网络结构越来越复杂,没有过多地挖掘其结构的合理性和模型含义,而是将其看成是一个封装好的端到端映射模块,因此通常缺乏明显的可解释性。另外,该类方法基本忽略了雨条内在的先验结构,比如稀疏性和局部模式的重复性,因此通常容易遇到样本过拟合问题,其泛化性能是受限的。



技术实现要素:

为了克服上述现有技术的缺点,针对基于滤波器和传统模型的单图去雨技术以及目前基于深度学习的单图去雨技术存在的问题,本发明的目的在于提供一种基于深度学习和模型驱动的单图去雨方法,具有可解释性和良好泛化能力。

为了实现上述目的,本发明采用的技术方案是:

一种基于深度学习和模型驱动的单图去雨方法,包括如下步骤:

步骤1),数据准备阶段:对图像数据进行预处理,得到雨图和对应的干净无雨图;

步骤2),模型建立阶段:根据雨条内在的先验特性,建立单图雨卷积字典模型和相应的优化问题;

步骤3),模型求解阶段:针对步骤2)中的优化问题,利用近端梯度方法设计一个只包含简单运算的迭代求解算法;

步骤4),网络设计阶段:将步骤3)中迭代求解算法的迭代更新过程分解成若干个子迭代步骤,然后将每个子迭代步骤一一对应展开成网络模块,建立单图雨卷积字典网络(rainconvolutionaldictionarynetwork,rcdnet);

步骤5),网络训练阶段:将步骤1)预处理后的雨图传入步骤4)中的雨卷积字典网络进行迭代训练;

步骤6),网络优化阶段:给定训练损失目标函数,通过反向优化算法迭代更新步骤4)中的雨卷积字典网络,使得网络的输出结果逐渐逼近步骤1)预处理后的干净无雨图,当达到设定的迭代次数时,步骤5)和步骤6)终止,保存此时的网络参数,即为训练模型;

步骤7),网络测试阶段:准备待测试的雨图,加载步骤6)中的训练模型,将该雨图输入雨卷积字典网络进行前向计算,网络的输出结果就是该测试雨图对应的去雨图像。

所述步骤1)中图像数据预处理方法为:分别将成对的三通道彩色雨图和干净无雨图的像素数值范围归一化到0~1之间。

所述步骤2)中,单图中雨条对局部模式具有可重复性的结构特性,根据该先验特性,建立单图雨卷积字典模型为:其中,为三通道彩色雨图,h和w分别为该彩色雨图的高度和宽度,为该彩色雨图所对应的背景层,即为干净的无雨图,为该彩色雨图所对应的雨层,为雨卷积核,表述雨条的重复局部模式,代表所有雨图中不同雨类型的共同知识,因此将设计为通过已有的图像数据端到端训练网络学习得到,k为卷积核的尺寸,为雨特征层,代表雨条的局部模式重复出现的位置,它随着雨图的不同而进行改变,因此将mn设计为随着输入雨图而改变的网络层,n为卷积核以及雨特征层的个数,n=1,2,…,n,表示雨特征层相应的序号,为二维平面卷积运算,表示在3个彩色通道上分别执行与mn之间的二维平面卷积运算,为按照第c个通道取所得到的雨卷积核矩阵,c=1,2,3。

所述步骤2)中的优化问题为:

其中,为mn所构成的三维张量,α和β为折衷参数,g1(·)和g2(·)均为正则项,分别代表雨特征层和背景层的先验结构,表示矩阵的f-范数。

所述步骤3)中迭代求解算法为:利用近端梯度方法交替更新来求解式(1)所述的优化问题,其中,在第s次迭代中,雨特征层的更新通过求解式(1)关于的二次近似问题而实现,该近似问题写为:

其中,为第(s-1)次迭代计算得到的更新结果,η1为更新步长,表示函数f的梯度算子,分别表示背景层与雨特征层mn第(s-1)次迭代计算得到的更新结果;

对于正则项g1(·),式(2)的解表达为:

其中,表示第s次迭代计算得到的更新结果,即学到的雨特征层,是由正则项所决定的近端算子,所构成的四维张量,为转置卷积运算,式(3)即为雨特征层的更新过程;

在第s次迭代中,背景层的更新通过求解式(1)关于的二次近似问题而实现,该近似问题写为:

其中,表示函数h的梯度算子;通过求解式(4),背景层的更新表达式为:

其中,为第s次迭代计算得到的更新结果,即学到的去雨图,是由正则项所决定的近端算子,η2为更新步长,为雨特征层mn第s次迭代计算得到的更新结果;

至此,式(3)和式(5)即为所求的迭代更新过程,只包含简单的运算。

所述步骤4)中,通过利用残差网络分别构建更新式(3)和(5)中的近端算子将第s次迭代中,雨特征层的更新过程和背景层的更新过程,即式(3)和(5)分解为如下的子步骤:

其中,式(6)为式(3)的分解步骤以完成的更新,式(7)为式(5)的分解步骤以完成的更新,ε(s)为提取的雨特征层残差信息,为提取的雨层,为提取的背景信息,为当前背景下残留的雨层信息,为当前的特征层信息下重建的雨层信息。

均为残差网络,在第s个更新阶段,其对应的网络参数分别为在每个更新阶段,均由t个残差块构成,每个残差块依次包括:卷积层m_conv1,bn层m_bn1,relu层m_relu,卷积层m_conv2以及bn层m_bn2;也均由t个残差块构成,每个残差块依次包括:卷积层b_conv1,bn层b_bn1,relu层b_relu,卷积层b_conv2以及bn层b_bn2;

根据式(6)和(7),将每个子步骤依次按顺序一一展开成网络模块,分别对应成m-net和b-net,即构成了单图雨卷积字典网络(rainconvolutionaldictionarynetwork,rcdnet)的第s个阶段,m-net表示基于公式(6)构建相应结构的网络模块,b-net表示基于公式(7)构建相应结构的网络模块,整体的rcdnet由s个阶段构成,实现s次的交替更新,在该单图雨卷积字典网络中,雨卷积核设置为一个卷积层c_conv,更新步长η1和η2以及均为可学习的网络参数,利用已有的训练图像数据通过端到端训练雨卷积字典网络而自动学习得到。

所述步骤5)中训练步骤具体包括:

(1)根据观察到的三通道彩色雨图对雨特征层和去雨图进行初始化,得到

(2)将雨图以及输入到单图雨卷积字典网络,得到m-net和b-net在s个更新阶段的输出结果,分别为卷积层c_conv的输出结果为学习到的雨卷积核提取到的雨层为

(3)计算第s个更新阶段b-net输出的去雨图与干净的无雨图的平方损失为:计算b-net提取的雨层和三通道彩色雨图所对应的雨层的平方损失为:

所述步骤6)中雨卷积字典网络的总训练损失函数为:

其中,λs和γs为折衷参数,分别用来调整对应的平方损失项在整个总训练损失函数l中的重要性。

所述步骤6)中反向优化算法为:通过随机梯度下降的方式减小总训练损失函数l以优化雨卷积字典网络。

与现有技术相比,本发明具有的有益效果是:本发明通过引入雨条的先验特性,建立了单图雨卷积字典模型并提出一个简单的迭代求解算法,然后将其一一对应展开成网络模块,从而建立了一个单图雨卷积字典网络,该网络具有明显的可解释性和良好的泛化能力,具有很强的实际应用意义。此外,本发明方法可以灵活学习到多样的雨卷积核,为实际中雨条相关的任务提供有用的帮助和指导。

附图说明

图1是基于深度学习的可解释性单图去雨方法的操作流程图。

图2是本发明单图雨卷积字典网络rcdnet整体框图,由s个更新阶段构成。

图3是每个更新阶段下rcdnet对应的网络结构图,依次由m-net和b-net构成。

图4是rcdnet在合成雨图上的网络可视化图;其中,第一排图像为rcdnet在不同的阶段测试得到的去雨图;第二排图像表示在不同的阶段m-net更新过程中得到的去雨图;第三排图像为rcdnet在不同的阶段提取到的雨层;第四排图像从左到右依次表示从合成数据集rain100l上选取的测试雨图,对应的干净无雨图,和rcdnet初始化得到的去雨图。

图5是基于图4第四排的测试雨图,在其上验证rcdnet学到的雨卷积字典rcd模型;其中,第一排是rcdnet抽取的该测试雨图对应的32个雨层,第二排左下角为rcdnet在合成数据集rain100l上学到的雨卷积核右侧代表每个雨层是对应的雨特征层和雨卷积核的卷积结果。

图6是rcdnet在合成雨图上的去雨性能,其中,(a)是来自合成数据集rain100l的测试雨图;(b)是该测试雨图对应的干净无雨图;(c)是rcdnet测试该雨图得到的去雨图像;(d)是rcdnet提取的该测试雨图对应的雨层。

图7是rcdnet在真实雨图上的去雨性能,其中,(a)是来自真实数据集spa-data的测试雨图;(b)是该测试雨图对应的干净无雨图;(c)是rcdnet测试该雨图得到的去雨图像。

图8是rcdnet在真实雨图上的泛化性能,其中,(a)和(c)都是来自真实数据集internet-data的不同测试雨图;(b)和(d)是rcdnet分别测试(a)和(c)得到的对应的去雨图像。

具体实施方式

下面结合附图和实施例详细说明本发明的实施方式。

如图1所示,本发明基于深度学习和模型驱动的单图去雨方法,包括如下步骤:

1)数据准备阶段:对图像数据进行预处理,得到雨图和对应的干净无雨图;

2)模型建立阶段:根据雨条内在的先验特性,建立单图雨卷积字典模型和相应的优化问题;

3)模型求解阶段:针对步骤2)中的优化问题,利用近端梯度方法设计一个只包含简单运算的迭代求解算法;

4)网络设计阶段:将步骤3)中的迭代更新过程分解成若干个子迭代步骤,然后将每个子迭代步骤一一对应展开成网络模块,建立单图雨卷积字典网络(rainconvolutionaldictionarynetwork,rcdnet);

5)网络训练阶段:将步骤1)预处理后的雨图传入步骤4)中的rcdnet进行迭代训练;

6)网络优化阶段:给定训练损失目标函数,通过反向优化算法迭代更新步骤4)中的rcdnet,使得网络的输出结果逐渐逼近步骤1)预处理后的干净无雨图,当达到设定的迭代次数时,步骤5)和步骤6)终止,保存此时的网络参数,即为训练模型;

7)网络测试阶段:准备待测试的雨图,加载步骤6)中的训练模型,将该雨图输入rcdnet进行前向计算,网络的输出结果就是该测试雨图对应的去雨图像。

上述方法中,部分步骤具体如下:

步骤1)中图像数据预处理方法为:分别将成对的三通道彩色雨图和干净无雨图的像素数值范围归一化到0~1之间。

步骤2)中,单图中雨条对局部模式具有可重复性的结构特性,根据该先验特性,建立单图雨卷积字典模型为:

其中,为三通道彩色雨图,h和w分别为该彩色雨图的高度和宽度,为该雨图所对应的背景层,即为干净的无雨图,为该雨图所对应的雨层,为雨卷积核,来表述雨条的重复局部模式,代表所有雨图中不同雨类型的共同知识,因此将其设计为通过已有的图像数据端到端训练网络学习得到,k为卷积核的尺寸,为雨特征层,代表雨条的局部模式重复出现的位置,它随着雨图的不同而进行改变,因此将其设计为随着输入雨图而改变的网络层,n为卷积核以及雨特征层的个数,n=1,2,…,n,表示相应的序号,为二维平面卷积运算,表示在3个彩色通道上分别执行与mn之间的二维平面卷积运算,为按照第c个通道取所得到的雨卷积核矩阵,c=1,2,3。

步骤2)中的优化问题为:

其中,为mn所构成的三维张量,α和β为折衷参数,g1(·)和g2(·)均为正则项,分别代表雨特征层和背景层的先验结构,表示矩阵的f-范数。

步骤3)中迭代求解算法为:利用近端梯度方法交替更新来求解式(1)所述的优化问题。

具体地,在第s次迭代中,雨特征层的更新可以通过求解式(1)关于的二次近似问题而实现。

该近似问题写为:

其中,为第(s-1)次迭代计算得到的更新结果,η1为更新步长,表示函数f的梯度算子,分别表示背景层与雨特征层mn第(s-1)次迭代计算得到的更新结果。

对于常见的正则项g1(·),式(2)的解可以表达为:

其中,表示第s次迭代计算得到的更新结果,即学到的雨特征层,是由正则项所决定的近端算子,所构成的四维张量,为转置卷积运算,式(3)即为雨特征层的更新过程;

在第s次迭代中,背景层的更新可以通过求解式(1)关于的二次近似问题而实现。该近似问题写为:

其中,表示函数h的梯度算子;通过求解式(4),背景层的更新表达式为:

其中,为第s次迭代计算得到的更新结果,即学到的去雨图,是由正则项所决定的近端算子,η2为更新步长,为雨特征层mn第s次迭代计算得到的更新结果;

至此,式(3)和式(5)即为所求的迭代更新过程,只包含简单的运算。

步骤4)中,通过利用残差网络分别构建更新式(3)和(5)中的近端算子将第s次迭代中,雨特征层的更新过程和背景层的更新过程,即式(3)和(5)分解为如下的子步骤:

其中,式(6)为式(3)的分解步骤以完成的更新,式(7)为式(5)的分解步骤以完成的更新。ε(s)为提取的雨特征层残差信息,为提取的雨层,为提取的背景信息,为当前背景下残留的雨层信息,为当前的特征层信息下重建的雨层信息,为学到的去雨图,均为残差网络,在第s个更新阶段,其对应的网络参数分别为

在每个更新阶段,均由t个残差块构成,每个残差块依次包括:卷积层m_conv1,bn层m_bn1,relu层m_relu,卷积层m_conv2以及bn层m_bn2;也均由t个残差块构成,每个残差块依次包括:卷积层b_conv1,bn层b_bn1,relu层b_relu,卷积层b_conv2以及bn层b_bn2。其中卷积层m_conv1,b_conv2,b_conv1,以及b_conv2中,卷积核的大小均为3x3,步长为1。

根据式(6)和(7),将其每个子步骤依次按顺序一一展开成网络模块,分别对应成m-net和b-net,即构成了单图雨卷积字典网络(rainconvolutionaldictionarynetwork,rcdnet)的第s个阶段。m-net表示基于公式(6)构建相应结构的网络模块,b-net表示基于公式(7)构建相应结构的网络模块。参考图2,整体的rcdnet是由s个阶段构成,实现s次的交替更新。参考图3,每个更新阶段下rcdnet对应的网络结构图均依次由m-net和b-net构成。在该单图雨卷积字典网络中,雨卷积核设置为一个卷积层c_conv,更新步长η1和η2以及均为可学习的网络参数,这些都可以利用已有的训练图像数据通过端到端训练rcdnet而自动学习得到。

步骤5)中训练步骤具体包括:

(1)根据观察到的三通道彩色雨图对雨特征层和去雨图进行初始化,得到具体地,为全零张量,输入一个残差网络得到,该残差网络结构与相同,由t个残差块构成,每个残差块依次包括:卷积层b_conv1,bn层b_bn1,relu层b_relu,卷积层b_conv2以及bn层b_bn2。

(2)将雨图以及输入单图雨卷积字典网络,得到m-net和b-net在s个更新阶段的输出结果分别为卷积层c_conv的输出结果为学习到的雨卷积核提取到的雨层为

(3)计算第s个更新阶段,s=1,2,…,s,b-net输出的去雨图与干净的无雨图的平方损失为:计算b-net提取的雨层和三通道彩色雨图所对应的雨层的平方损失为:

步骤6)中rcdnet的总训练损失函数为:

其中,λs和γs为折衷参数,分别用来调整对应的平方损失项在整个总训练损失函数l中的重要性。

步骤6)中反向优化算法为:通过随机梯度下降的方式减小总训练损失函数l以优化rcdnet。

基于表1的实验参数设置,本发明方法与其他单图去雨技术的去雨性能比较结果如表2所示,包含四个公开的合成数据集:rain100l,rain100h,rain1400,和rain12,以及一个公开的真实数据集:spa-data,其去雨性能衡量标准是去雨图与干净无雨图之间的峰值信噪比(peak-signal-to-noiseratio,psnr)和结构相相似性(structuresimilarity,ssim)。观察比较结果,可以明显看出:无论是合成数据集上还是真实数据集上,本发明方法的去雨性能远远优于其他技术的实验效果。

表1本发明方法的实验参数设置

表2

表2为当前代表性的5种单图去雨技术和本发明方法在合成数据集和真实数据集上的去雨性能比较,其中,加粗黑体和加粗斜体分别表示第一和第二名。

为验证本发明方法的可解释性,从合成数据集rain100l上任意选择一张测试雨图。

参考图4,其中,第一排图像为rcdnet在不同的阶段测试得到的去雨图;第二排图像表示在不同的阶段m-net更新过程中得到的去雨图;第三排图像为rcdnet在不同的阶段提取到的雨层;第四排图像从左到右依次表示从合成数据集rain100l上选取的测试雨图,对应的干净无雨图,和rcdnet初始化得到的去雨图。

参考图5,其中,第一排是rcdnet抽取的该测试雨图对应的32个雨层,第二排左下角为rcdnet在合成数据集rain100l上学到的雨卷积核右侧代表每个雨层是对应的雨特征层和雨卷积核的卷积结果。

从图4中可以看出,随着更新阶段的增加,rcdnet学习到的背景层逐渐逼近于干净的无雨图,rcdnet提取到的雨层包含更少的背景纹理同时涵盖更多的雨条。这正是本发明的深度学习和模型驱动方法共同促进所带来的有益效果。从图5中可以看出,本发明方法学习到了多样的雨卷积核和雨特征层,很好地表达了雨条的先验特性。

视觉上,rcdnet在合成雨图上和真实雨图上的去雨效果如图6和图7所示。参考图6,其中,(a)是来自合成数据集rain100l的测试雨图;(b)是该测试雨图对应的干净无雨图;(c)是rcdnet测试该雨图得到的去雨图像;(d)是rcdnet提取的该测试雨图对应的雨层。参考图7,其中,(a)是来自真实数据集spa-data的测试雨图;(b)是该测试雨图对应的干净无雨图;(c)是rcdnet测试该雨图得到的去雨图像。

图8是rcdnet在真实雨图上的泛化性能,其中,(a)和(c)都是来自真实数据集internet-data的不同测试雨图;(b)和(d)是rcdnet分别测试(a)和(c)得到的对应的去雨图像。图8选用了两张均来自真实数据集internet-data的具有不同雨模态的测试雨图。从中可以明显看出,本发明方法具有突出的去雨性能、明显的可解释性和良好的泛化能力。

本发明利用合成数据集和真实数据集对当前具有代表性的单图去雨技术以及本发明方法的去雨性能进行了公平定量对比,并且对本发明方法的可解释性和泛化性分别进行了可视化验证和去雨效果展示,充分证实了本发明方法的去雨优势和合理可行性,具有较强的实际应用意义。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1