本发明涉及图像处理领域,特别是涉及一种图像去雨方法及系统。
背景技术:
随着现代信息技术的快速发展,人们希望获取更加清晰的图像,为此,通常需要去除图像中的雨纹。
传统的图像去雨方法,主要采用基于稀疏字典学习的方法,这种方法的核心是从合成的雨图库中学习获得一个目标雨纹稀疏字典,通过该目标雨纹稀疏字典来区分雨纹和背景图像。但是,这种方法需要不断引入新的目标特征来增加字典分类的区分度,增加了算法的复杂度,运算耗时长,实时性低。
技术实现要素:
基于此,本发明的目的在于,提供一种图像去雨方法,其具有简化运算,构建处理速度快、实时性高的优点。
一种图像去雨方法,包括如下步骤:
步骤s1:构建图像训练数据库;其中,图像训练数据库中包括多对无雨-有雨-纯雨纹图像对;
步骤s2:根据图像训练数据库中的无雨-有雨-纯雨纹图像对,构建用于去雨的孪生卷积网络结构;
步骤s3:将待去雨图像进行滤波处理,获取待去雨图像的高频信息和低频信息;
步骤s4:将待去雨图像的高频信息输入到用于去雨的孪生卷积网络结构中,得到对应的无雨图像的高频信息;再将获得的无雨图像的高频信息加上有雨图像的低频信息,得到对应的无雨图像。
相比于现有技术,本发明的去雨方法通过无雨-有雨-纯雨纹图像对构建孪生卷积网络结构,简化了运算,构建处理速度快,实时性高,而且通过构建孪生卷积网络结构可获得清晰的无雨图像,鲁棒性高。
进一步地,所述构建图像训练数据库包括如下步骤:
步骤s11:获取多张无雨图像和多张纯雨纹图像;
步骤s12:通过线性静态雨纹叠加模型,在无雨图像中加入纯雨纹图像,获取对应的线性有雨图像;
步骤s13:通过非线性静态雨纹混合模型,在无雨图像中加入纯雨纹图像,获取对应的非线性有雨图像;
步骤s14:根据无雨图像、纯雨纹图像、线性有雨图像和非线性有雨图像构建无雨-有雨-纯雨纹图像对。
通过采用线性静态雨纹叠加模型和非线性静态雨纹混合模型,对无雨图像添加纯雨纹,使得获得的有雨图像可以囊括更多情况的要求,进而使图像训练数据库中的图像数据更加多样,更加完善,从而使后续构建出的孪生网络结构更加完善,具有更广泛的去雨消除能力。
进一步地,在构建无雨-有雨-纯雨纹图像对之后,还通过一个滑动窗口在每个图像对中随机滑动,并将与滑动窗口重合部分的图像切出,以随机扩充图像训练数据库,并以该随机扩充后的图像训练数据库中的无雨-有雨-纯雨纹图像对来构建用于去雨的孪生卷积网络结构。以进一步扩充图像训练数据库,防止以每张图像进行训练时,由于每张图像中所含的数据量太大,导致过拟合的问题。
进一步地,所述用于去雨的孪生卷积网络结构包括用于检测雨纹的第一层网络结构和用于去除雨纹的第二层网络结构;
所述构建用于去雨的孪生卷积网络结构包括如下步骤:
步骤s21:将图像训练数据库中的每张图像均进行滤波处理,获取每张图像中的高频信息;
步骤s22:初始化第一层网络结构、第二层网络结构的网络参数、第一层网络结构的训练次数和第二层网络结构的训练次数、以及用于去雨的孪生卷积网络结构的构建次数;
步骤s23:以无雨-有雨-纯雨纹图像对作为一组训练样本,将该组训练样本中有雨图像的高频信息作为输入信息输入到第一层网络结构中,以输出纯雨纹图像的高频信息,且将第一层网络结构的训练次数增加1;
步骤s24:判断第一层网络结构的训练次数是否满足第一设定条件,若满足,则继续步骤s25,以训练第二层网络结构;否则,反向传播更新第一层网络结构中的网络参数,并取下一组训练样本,回到步骤s23,以继续训练第一层网络结构;
步骤s25:以无雨-有雨-纯雨纹图像对作为一组训练样本,将该组训练样本中有雨图像的高频信息作为输入信息输入到第一层网络结构中,以输出纯雨纹图像的高频信息;再将第一层网络结构输出的纯雨纹图像的高频信息输入到第二层网络结构中,以输出无雨图像的高频信息;且将第二层网络结构的训练次数增加1;
步骤s26:判断第二层网络结构的训练次数是否满足第二设定条件,若满足,则判定完成一次用于去雨的孪生卷积网络结构的构建,且将用于去雨的孪生卷积网络结构的构建次数增加1,继续步骤s27;否则,反向传播更新第二层网络结构中的网络参数,并取下一组训练样本,回到步骤s25,以继续训练第二层网络结构;
步骤s27:判断用于去雨的孪生卷积网络结构的构建次数是否满足第三设定条件,若满足,则获取所述用于去雨的孪生卷积网络结构;否则,取下一组训练样本,将第一层网络结构的训练次数和第二层网络结构的训练次数重新初始化,回到步骤s23,以继续训练用于去雨的孪生卷积网络结构。
通过分别训练第一层网络结构和第二层网络结构,相比于直接同时训练两个网络结构,耗时更短;并且可确保每个网络结构各自的任务的训练的专一性,而不是直接糅合两个网络一起进行训练,从而可获得更加清晰准确的去雨图像。
本发明还提供一种图像去雨系统,包括处理器,适于实现各指令;以及存储设备,适于存储多条指令,所述指令适于由所述处理器加载并执行:
构建图像训练数据库;其中,图像训练数据库中包括多对无雨-有雨-纯雨纹图像对;
根据图像训练数据库中的无雨-有雨-纯雨纹图像对,构建用于去雨的孪生卷积网络结构;
将待去雨图像进行滤波处理,获取待去雨图像的高频信息和低频信息;
将待去雨图像的高频信息输入到用于去雨的孪生卷积网络结构中,得到对应的无雨图像的高频信息;再将获得的无雨图像的高频信息加上有雨图像的低频信息,得到对应的无雨图像。
相比于现有技术,本发明的去雨方法通过无雨-有雨-纯雨纹图像对构建孪生卷积网络结构,简化了运算,构建处理速度快,实时性高,通过构建孪生卷积网络结构可获得清晰的无雨图像,鲁棒性高。
为了更好地理解和实施,下面结合附图详细说明本发明。
附图说明
图1为本发明实施例1中图像去雨方法的流程图;
图2为本发明实施例1中构建图像训练数据库的流程图;
图3为本发明实施例1中构建用于去雨的孪生卷积网络结构的流程图。
具体实施方式
实施例1
请参阅图1,其为本发明实施例1中图像去雨方法的流程图。该图像去雨方法,包括如下步骤:
步骤s1:构建图像训练数据库;其中,图像训练数据库中包括多对无雨-有雨-纯雨纹图像对。
请参阅图2,其为本发明实施例1中构建图像训练数据库的流程图。
所述构建图像训练数据库包括如下步骤:
步骤s11:获取多张无雨图像和多张纯雨纹图像;
步骤s12:通过线性静态雨纹叠加模型,在无雨图像中加入纯雨纹图像,获取对应的线性有雨图像;
步骤s13:通过非线性静态雨纹混合模型,在无雨图像中加入纯雨纹图像,获取对应的非线性有雨图像;
步骤s14:根据无雨图像、纯雨纹图像、线性有雨图像和非线性有雨图像构建无雨-有雨-纯雨纹图像对。
其中,无雨-有雨-纯雨纹图像对包括一张无雨图像、一张纯雨纹图像以及一张无雨图像;无雨图像为在无雨图像中加入纯雨纹图像后的图像。在本实施例中,无雨图像为随机从universityofcaliforniairvinedataset(ucid)数据库中选取10000张图像;利用线性静态雨纹叠加模型和非线性静态雨纹混合模型分别对10000张无雨图像进行加雨纹操作,其中,在每张无雨图像中,将无雨图像在水平夹角30°到150°角度之间,再随机添加120种不同方向的雨纹,构成2×10000×120=2400000张有雨图像,2400000张纯雨纹图像,并获取对应的2400000张无雨图像,以构建“无雨-有雨-纯雨纹”图像对,进而获取2400000个图像对。
采用线性静态雨纹叠加模型添加雨纹时的方式为:
i=b+r;
采用非线性静态雨纹混合模型添加雨纹时的方式为:
i=b+r-b·r;
在添加雨纹时的方式中,i为输出图像,b代表无雨图像,r代表雨纹图像。
本发明通过采用线性静态雨纹叠加模型和非线性静态雨纹混合模型,对无雨图像添加纯雨纹,使得获得的有雨图像可以囊括更多情况的要求,进而使图像训练数据库中的图像数据更加多样,更加完善,从而使后续构建出的孪生网络结构更加完善,具有更广泛的去雨消除能力。
为进一步扩充图像训练数据库,防止以每张图像进行训练时,由于每张图像中所含的数据量太大,导致过拟合的问题,为此,作为本发明的进一步优化,在构建无雨-有雨-纯雨纹图像对之后,还通过一个滑动窗口在每个图像对中随机滑动,并将与滑动窗口重合部分的图像切出,获得以图像块为单位的无雨-有雨-纯雨纹图像对,进而随机扩充图像训练数据库,再以该随机扩充后的图像训练数据库的无雨-有雨-纯雨纹图像对来构建用于去雨的孪生卷积网络结构。具体的,在一对无雨-有雨-纯雨纹图像对中,在滑动窗口随机滑动沿着无雨图像滑动时,将无雨图像中与滑动窗口重合部分的图像切出,以获得多个无雨图像块;再分别在有雨图像和纯雨纹图像中,与该多个无雨图像块位置相对应的位置,切出对应的多个有雨图像块和多个纯雨纹图像块,进而将由这一一对应的无雨图像块、有雨图像块、纯雨纹图像块组成的图像对,作为最终的无雨-有雨-纯雨纹图像块对来构建用于去雨的孪生卷积网络结构。
例如:对2400000个图像对,采用12×12固定大小的滑动窗口对每个图像对随机窗口切64个图像块,以实现随机扩充训练集样本的目的,最终得到2400000×64=153600000个“无雨-有雨-纯雨纹”图像对。
步骤s2:根据图像训练数据库中的无雨-有雨-纯雨纹图像对,构建用于去雨的孪生卷积网络结构。
所述用于去雨的孪生卷积网络结构包括用于检测雨纹的第一层网络结构和用于去除雨纹的第二层网络结构。
所述第一层网络结构输入的是有雨图像,输出是纯雨纹图像;数据库中有雨图像所在的图像对中的纯雨纹图像作为监督图像,通过将输出的纯雨纹图像与数据库中有雨图像所在的图像对中的纯雨纹图像通过第一损失函数进行比较,若两者的区别很小趋向于0,则说明该第一层网络结构趋向于准确,否者,则需要更新第一层网络结构的网络参数,继续训练该第一层网络结构;其中,所述第一损失函数的表达形式如下:
其中,input1表示输入图像(有雨图像);rainstreak表示数据库中有雨图像所在的图像对中的纯雨纹图像;h表示所述第一层网络结构;w1表示所述第一层网络结构的参数;n表示所述训练输入图像对的个数,||||2f代表图像的frobenius范数的平方。
具体的,所述第一层网络结构包含3个隐含层,1个输出层,其网络结构如下式所示:
h0=i-ilowfrequency;
其中,h0为输入层,是输入有雨图像减去滤波后的对应低频有雨图像得到的高频有雨图像。i表示输入有雨图像,ilowfrequency表示输入有雨图像的低频层,h为网络中卷积层,l表示网络的层数,1,2,3为隐含层,4为输出层,o1为第一层网络结构的输出图像,*为图像的卷积操作,
所述第二层网络结构输入的是第一层网络结构的输入图像减去第一层网络结构的输出图像得到的残差图像,输出的是去雨图像;数据库中有雨图像所在的图像对中的无雨图像作为监督图像,通过将输出的无雨图像与数据库中有雨图像所在的图像对中的无雨图像通过第二损失函数进行比较,若两者的区别很小趋向于0,则说明该第二层网络结构趋向于准确;否者,则需要更新第二层网络结构的网络参数,继续对第二层网络结构进行训练。其中,所述第二损失函数的表达形式如下:
其中,input2表示输入图像(第一层网络结构的输入图像减去第一层网络结构的输出图像得到的残差图像);cleanimage表示数据库中有雨图像所在的图像对中的无雨图像;m表示第二层网络结构;w2表示第二层网络结构的参数,n表示所述训练输入图像对的个数,||||2f代表图像的frobenius范数的平方。
具体的,所述第二层网络结构包含3个隐含层,1个输出层,其网络结构如下式所示:
m0=h0-01;
其中,m0为输入层,是第一层网络结构的输入图像减去第一层网络结构的输出图像得到的残差图像;l表示网络的层数,5,6,7为第二层网络结构的隐含层,8为输出层;o2为第二层网络结构的输出图像;*为图像的卷积操作;
请参阅图3,其为本发明实施例1中构建用于去雨的孪生卷积网络结构的流程图。
所述构建用于去雨的孪生卷积网络结构包括如下步骤:
步骤s21:将图像训练数据库中的每张图像均进行滤波处理,获取每张图像中的高频信息。
步骤s22:初始化第一层网络结构、第二层网络结构的网络参数、第一层网络结构的训练次数和第二层网络结构的训练次数、以及用于去雨的孪生卷积网络结构的构建次数。
在一个实施例中,所述网络参数包括权重参数和偏置参数,具体的,将第一层网络结构和第二层网络结构中各层的权重参数w设置成满足均值为0,方差为1的高斯分布,且将两个网络偏置参数b设置为0。将所述第一层网络结构的训练次数和第二层网络结构的训练次数、以及用于去雨的孪生卷积网络结构的构建次数均设置为0。
步骤s23:以无雨-有雨-纯雨纹图像对作为一组训练样本,将该组训练样本中有雨图像的高频信息作为输入信息输入到第一层网络结构中,以输出纯雨纹图像的高频信息,且将第一层网络结构的训练次数增加1。
所述第一层网络结构从输入到输出的过程为第一层网络结构的前向传导,反之,从输出到输入的过程为第一层网络结构的反向传导。所述第一层网络结构共有3个隐含层和1个输出层,所以需要经过4次卷积操作,输入有雨图像经过通过1024个9×9的卷积核,进行1024个卷积操作,得到隐含层1,也就是1024个特征矩阵;在第二次卷积操作中将第一次的结果通过512个6×6的卷积核,进行512次卷积得到隐含层2;第三次卷积级操作中间第二次结果通过256个1×1个卷积核,进行256次卷积得到隐含层3。最后将第三次的结果进行3个3*3的卷积核得到纯雨纹图像。
步骤s24:判断第一层网络结构的训练次数是否满足第一设定条件,若满足,则继续步骤s25,以训练第二层网络结构;否则,反向传播更新第一层网络结构中的网络参数,并取下一组训练样本,回到步骤s23,以继续训练第一层网络结构。
在一个实施例中,通过大量的运算实验得出,当第一层网络结构的训练次数达到9000次时,则将输出的纯雨纹图像与数据库中有雨图像所在的图像对中的纯雨纹图像通过第一损失函数进行比较后,第一损失函数输出的值趋向于0,因此,可将所述第一设定条件设置为:所述第一层网络结构的训练次数达到9000次,即若所述第一层网络结构的训练次数达到9000次,则满足第一设定条件。
所述反向传播更新第一层网络结构中的网络参数,包括:在所述第一层网络结构每一次完成前向传导卷积操作后,优化所述第一层网络结构的第一次损失函数l1,对第一次损失函数l1的误差向各隐含层和输出层的权值参数和偏置参数进行反向传播更新,其更新过程主要是利用了链式求导法则,更新过程如下:
其中,α1表示第一层网络结构的学习速率,初始值为0.01,t,t+1表示每一次更新前后的权值与偏置的参数。各隐含层和输出层的权值参数和偏置参数都是按照上述更新公式进行更新。hw1(input1n)为第一层网络结构的整体训练误差,
步骤s25:以无雨-有雨-纯雨纹图像对作为一组训练样本,将该组训练样本中有雨图像的高频信息作为输入信息输入到第一层网络结构中,以输出纯雨纹图像的高频信息;再将第一层网络结构的输出的纯雨纹图像的高频信息输入到第二层网络结构中,以输出无雨图像的高频信息;且将第二层网络结构的训练次数增加1。
所述第二层网络结构从输入到输出的过程为第二层网络结构的前向传导,反之,从输出到输入的过程为第二层网络结构的反向传导。所述第二层网络结构共有3个隐含层和1个输出层,所以也需要经过4次卷积操作,输入的残差图像经过通过512个8×8的卷积核,进行512个卷积操作,得到隐含层1,为512个特征矩阵;在第二次卷积操作中将第一次的结果通过256个5×5的卷积核,进行256次卷积得到隐含层2;第三次卷积级操作中间第二次结果通过64个1×1个卷积核,进行264次卷积得到隐含层3。最后将第三次的结果进行3个3*3的卷积核得到无雨图像。
在网络结构的卷积核个数以及大小的设置中,考虑到雨纹检测任务相对较雨纹去除任务较容易,因此,将第二层网络结构的卷积核个数变少,以减少训练时间。
步骤s26:判断第二层网络结构的训练次数是否满足第二设定条件,若满足,则判定完成一次用于去雨的孪生卷积网络结构的构建,且将用于去雨的孪生卷积网络结构的构建次数增加1,继续步骤s27;否则,反向传播更新第二层网络结构中的网络参数,并取下一组训练样本,回到步骤s25,以继续训练第二层网络结构。
在一个实施例中,通过大量的运算实验得出,当第二层网络结构的训练次数达到3600次时,将第二层网络结构输出的无雨图像与数据库中有雨图像所在的图像对中的无雨图像通过第二损失函数进行比较后,第二损失函数输出的值趋向于0,因此,可将所述第二设定条件设置为:所述第二层网络结构的训练次数达到3600次,即若所述第一层网络结构的训练次数达到3600次,则满足第二设定条件。
所述反向传播更新第二层网络结构中的网络参数,在所述第二层网络结构每一次完成前向传导卷积操作后,优化第二层网络结构的损失函数l2,对损失函数的误差向隐含层和输出层参数进行反向传播更新权值和偏置,主要是利用了链式求导法则,第二层网络结构中权值w和偏置b的更新过程如下:
其中α2表示第二层网络结构的学习速率,初始值为0.01,t,t+1表示每一次更新前后的网络2的权值与偏置的参数。各隐含层和输出层的权值参数和偏置参数都是按照上述更新公式进行更新。hw2(input2n)为第二层网络结构的整体训练误差,
步骤s27:判断用于去雨的孪生卷积网络结构的构建次数是否满足第三设定条件,若满足,则获取所述用于去雨的孪生卷积网络结构;否则,取下一组训练样本,将第一层网络结构的训练次数和第二层网络结构的训练次数重新初始化,回到步骤s23,以继续训练用于去雨的孪生卷积网络结构。
在一个实施例中,所述第三设定条件为10次,以通过足够多的训练次数,使第一层网络结构和第二层网络结构相互迭代的最优点,进而完成孪生卷积网络结构得训练。
在一个实施例中,每次在图像训练库中取下一组无雨-有雨-纯雨纹图像对时,为随机从图像训练库中获取的与前面取得的图像对均不同的一组无雨-有雨-纯雨纹图像对。
步骤s3:将待去雨图像进行滤波处理,获取待去雨图像的高频信息和低频信息;
步骤s4:将待去雨图像的高频信息输入到用于去雨的孪生卷积网络结构中,得到对应的无雨图像的高频信息;再将获得的无雨图像的高频信息加上有雨图像的低频信息,得到对应的无雨图像。
相比于现有技术,本发明的去雨方法通过无雨-有雨-纯雨纹图像对构建孪生卷积网络结构,简化了运算,构建处理速度快,实时性高,而且通过构建孪生卷积网络结构可获得清晰的无雨图像,鲁棒性高。进一步地,构建孪生卷积网络结构时,通过分别训练第一层网络结构和第二层网络结构,相比于直接同时训练两个网络结构,耗时更短;并且可确保每个网络结构各自的任务的训练的专一性,而不是直接糅合两个网络一起进行训练,从而可获得更加清晰准确的去雨图像。
实施例2
本发明还提供一种图像去雨系统,包括处理器,适于实现各指令;以及存储设备,适于存储多条指令,所述指令适于由所述处理器加载并执行:
构建图像训练数据库;其中,图像训练数据库中包括多对无雨-有雨-纯雨纹图像对;
根据图像训练数据库中的无雨-有雨-纯雨纹图像对,构建用于去雨的孪生卷积网络结构;
将待去雨图像进行滤波处理,获取待去雨图像的高频信息和低频信息;
将待去雨图像的高频信息输入到用于去雨的孪生卷积网络结构中,得到对应的无雨图像的高频信息;再将获得的无雨图像的高频信息加上有雨图像的低频信息,得到对应的无雨图像。
在一个实施例中,在构建图像训练数据库时,所述处理器加载并执行:
获取多张无雨图像和多张纯雨纹图像;
通过线性静态雨纹叠加模型,在无雨图像中加入纯雨纹图像,获取对应的线性有雨图像;
通过非线性静态雨纹混合模型,在无雨图像中加入纯雨纹图像,获取对应的非线性有雨图像;
根据无雨图像、纯雨纹图像、线性有雨图像和非线性有雨图像构建无雨-有雨-纯雨纹图像对。
其中,无雨-有雨-纯雨纹图像对包括一张无雨图像、一张纯雨纹图像以及一张无雨图像;无雨图像为在无雨图像中加入纯雨纹图像后的图像。在本实施例中,无雨图像为随机从universityofcaliforniairvinedataset(ucid)数据库中选取10000张图像;利用线性静态雨纹叠加模型和非线性静态雨纹混合模型分别对10000张无雨图像进行加雨纹操作,其中,在每张无雨图像中,将无雨图像在水平夹角30°到150°角度之间,再随机添加120种不同方向的雨纹,构成2×10000×120=2400000张有雨图像,2400000张纯雨纹图像,并获取对应的2400000张无雨图像,以构建“无雨-有雨-纯雨纹”图像对,进而获取2400000个图像对。
采用线性静态雨纹叠加模型添加雨纹时的方式为:
i=b+r;
采用非线性静态雨纹混合模型添加雨纹时的方式为:
i=b+r-b·r;
在添加雨纹时的方式中,i为输出图像,b代表无雨图像,r代表雨纹图像。
本发明通过采用线性静态雨纹叠加模型和非线性静态雨纹混合模型,对无雨图像添加纯雨纹,使得获得的有雨图像可以囊括更多情况的要求,进而使图像训练数据库中的图像数据更加多样,更加完善,从而使后续构建出的孪生网络结构更加完善,具有更广泛的去雨消除能力。
为进一步扩充图像训练数据库,防止以每张图像进行训练时,由于每张图像中所含的数据量太大,导致过拟合的问题,为此,在构建无雨-有雨-纯雨纹图像对之后,还通过一个滑动窗口在每个图像对中随机滑动,并将与滑动窗口重合部分的图像切出,获得以图像块为单位的无雨-有雨-纯雨纹图像对,进而随机扩充图像训练数据库,再以该随机扩充后的图像训练数据库的无雨-有雨-纯雨纹图像对来构建用于去雨的孪生卷积网络结构。具体的,在一对无雨-有雨-纯雨纹图像对中,在滑动窗口随机滑动沿着无雨图像滑动时,将无雨图像中与滑动窗口重合部分的图像切出,以获得多个无雨图像块;再分别在有雨图像和纯雨纹图像中,与该多个无雨图像块位置相对应的位置,切出对应的多个有雨图像块和多个纯雨纹图像块,进而将由这一一对应的无雨图像块、有雨图像块、纯雨纹图像块组成的图像对,作为最终的无雨-有雨-纯雨纹图像对来构建用于去雨的孪生卷积网络结构。
例如:对2400000个图像对,采用12×12固定大小的滑动窗口对每个图像对随机窗口切64个图像块,以实现随机扩充训练集样本的目的,最终得到2400000×64=153600000个“无雨-有雨-纯雨纹”图像对。
所述用于去雨的孪生卷积网络结构包括用于检测雨纹的第一层网络结构和用于去除雨纹的第二层网络结构。
所述第一层网络结构输入的是有雨图像,输出是纯雨纹图像;数据库中有雨图像所在的图像对中的纯雨纹图像作为监督图像,通过将输出的纯雨纹图像与数据库中有雨图像所在的图像对中的纯雨纹图像通过第一损失函数进行比较,若两者的区别很小趋向于0,则说明该第一层网络结构趋向于准确,否者,则需要更新第一层网络结构的网络参数,继续训练该第一层网络结构;其中,所述第一损失函数的表达形式如下:
其中,input1表示输入图像(有雨图像);rainstreak表示数据库中有雨图像所在的图像对中的纯雨纹图像;h表示所述第一层网络结构;w1表示所述第一层网络结构的参数;n表示所述训练输入图像对的个数,||||2f代表图像的frobenius范数的平方。
具体的,所述第一层网络结构包含3个隐含层,1个输出层,其网络结构如下式所示:
h0=i-ilowfrequency;
其中,h0为输入层,是输入有雨图像减去滤波后的对应低频有雨图像得到的高频有雨图像。i表示输入有雨图像,ilowfrequency表示输入有雨图像的低频层,h为网络中卷积层,l表示网络的层数,1,2,3为隐含层,4为输出层,o1为第一层网络结构的输出图像,*为图像的卷积操作,
所述第二层网络结构输入的是第一层网络结构的输入图像减去第一层网络结构的输出图像得到的残差图像,输出的是无雨图像;数据库中有雨图像所在的图像对中的无雨图像作为监督图像,通过将输出的无雨图像与数据库中有雨图像所在的图像对中的无雨图像通过第二损失函数进行比较,若两者的区别很小趋向于0,则说明该第二层网络结构趋向于准确;否者,则需要更新第二层网络结构的网络参数,继续对第二层网络结构进行训练。其中,所述第二损失函数的表达形式如下:
其中,input2表示输入图像(第一层网络结构的输入图像减去第一层网络结构的输出图像得到的残差图像);cleanimage表示数据库中有雨图像所在的图像对中的无雨图像;m表示第二层网络结构;w2表示第二层网络结构的参数。n表示所述训练输入图像对的个数,||||2f代表图像的frobenius范数的平方。
具体的,所述第二层网络结构包含3个隐含层,1个输出层,其网络结构如下式所示:
m0=h0-o1;
其中,m0为输入层,是第一层网络结构的输入图像减去第一层网络结构的输出图像得到的残差图像;l表示网络的层数,5,6,7为第二层网络结构的隐含层,8为输出层;o2为第二层网络结构的输出图像;*为图像的卷积操作;
在一个实施例中,在构建用于去雨的孪生卷积网络结构时,所述处理器还加载并执行:
将图像训练数据库中的每张图像均进行滤波处理,获取每张图像中的高频信息;
初始化第一层网络结构、第二层网络结构的网络参数、第一层网络结构的训练次数和第二层网络结构的训练次数、以及用于去雨的孪生卷积网络结构的构建次数;
以无雨-有雨-纯雨纹图像对作为一组训练样本,将该组训练样本中有雨图像的高频信息作为输入信息输入到第一层网络结构中,以输出纯雨纹图像的高频信息,且将第一层网络结构的训练次数增加1;
判断第一层网络结构的训练次数是否满足第一设定条件,若满足,则继续训练第二层网络结构;否则,反向传播更新第一层网络结构中的网络参数,并取下一组训练样本,继续训练第一层网络结构;
以无雨-有雨-纯雨纹图像对作为一组训练样本,将该组训练样本中有雨图像的高频信息作为输入信息输入到第一层网络结构中,以输出纯雨纹图像的高频信息;再将第一层网络结构输出的纯雨纹图像的高频信息输入到第二层网络结构中,以输出无雨图像的高频信息;且将第二层网络结构的训练次数增加1;
判断第二层网络结构的训练次数是否满足第二设定条件,若满足,则判定完成一次用于去雨的孪生卷积网络结构的构建,且将用于去雨的孪生卷积网络结构的构建次数增加1,判断是否满足第三设定条件;否则,反向传播更新第二层网络结构中的网络参数,并取下一组训练样本继续训练第二层网络结构;
判断用于去雨的孪生卷积网络结构的构建次数是否满足第三设定条件,若满足,则获取所述用于去雨的孪生卷积网络结构;否则,取下一组训练样本,将第一层网络结构的训练次数和第二层网络结构的训练次数重新初始化,以继续训练用于去雨的孪生卷积网络结构。
在一个实施例中,所述网络参数包括权重参数和偏置参数,具体的,将第一层网络结构和第二层网络结构中各层的权重参数w设置成满足均值为0,方差为1的高斯分布,且将两个网络偏置参数b设置为0。将所述第一层网络结构的训练次数和第二层网络结构的训练次数、以及用于去雨的孪生卷积网络结构的构建次数均设置为0。
在一个实施例中,所述第一设定条件为:所述第一层网络结构的训练次数达到9000次
在一个实施例中,所述第二设定条件为:所述第二层网络结构的训练次数达到3600次;
在一个实施例中,所述第三设定条件为:所述用于孪生卷积网络的构建次数达到10次。
在一个实施例中,所述反向传播更新第一层网络结构中的网络参数,包括:在所述第一层网络结构每一次完成前向传导卷积操作后,优化所述第一层网络结构的第一次损失函数l1,对第一次损失函数l1的误差向各隐含层和输出层的权值参数和偏置参数进行反向传播更新,其更新过程主要是利用了链式求导法则,更新过程如下:
其中,α1表示第一层网络结构的学习速率,初始值为0.01,t,t+1表示每一次更新前后的权值与偏置的参数。各隐含层和输出层的权值参数和偏置参数都是按照上述更新公式进行更新。hw1(input1n)为第一层网络结构的整体训练误差,
在一个实施例中,所述反向传播更新第二层网络结构中的网络参数,在所述第二层网络结构每一次完成前向传导卷积操作后,优化第二层网络结构的损失函数l2,对损失函数的误差向隐含层和输出层参数进行反向传播更新权值和偏置,主要是利用了链式求导法则,第二层网络结构中权值w和偏置b的更新过程如下:
其中α2表示第二层网络结构的学习速率,初始值为0.01,t,t+1表示每一次更新前后的网络2的权值与偏置的参数。各隐含层和输出层的权值参数和偏置参数都是按照上述更新公式进行更新。hw2(input2n)为第二层网络结构的整体训练误差,
在一个实施例中,每次在图像训练库中取下一组无雨-有雨-纯雨纹图像对时,为随机从图像训练库中获取的与前面取得的图像对均不同的一组无雨-有雨-纯雨纹图像对。
相比于现有技术,本发明的去雨方法通过无雨-有雨-纯雨纹图像对构建孪生卷积网络结构,构建处理速度快,实时性高,而且通过构建孪生卷积网络结构可获得清晰的无雨图像,鲁棒性高。进一步地,构建孪生卷积网络结构时,通过分别训练第一层网络结构和第二层网络结构,相比于直接同时训练两个网络结构,耗时更短;并且可确保每个网络结构各自的任务的训练的专一性,而不是直接糅合两个网络一起进行训练,从而可获得更加清晰准确的去雨图像。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。