雨是一种常见的天气现象,雨滴可能会造成户外计算机视觉系统的工作不正常.雨滴会模糊获取的户外图像,使图像丢失原有的细节信息和特征信息,并且使图像视觉效果下降.因此,图像去雨算法的研究具有重要价值和广泛应用.如在图像增强、目标识别和目标跟踪等领域,图像去雨算法对于算法整体准确性的提升具有很大的帮助.近年来,图像去雨算法得到了广泛研究,去雨效果不断提升.
去雨算法可以分为两类,基于视频的图像去雨算法和单幅图像去雨算法.其中基于视频的图像去雨算法由于具有时间冗余信息,因而对于雨滴的检测和去除相对较为简便.与之相比,单幅图像去雨算法在研究上具有更大的挑战性.基于字典学习稀疏编码的方法是一种常见的图像去雨方法[1],其首先利用双边滤波器将图像分为低频和高频两个部分,然后通过字典学习对高频部分中的雨线成分和非雨成分进行区分,最后将保留的非雨成分和低频部分综合,得到去雨后的图像.文献[2]在文献[1]的基础上增加了景深特征,并用引导滤波器替代双边滤波器,提高了判别雨线成分和非雨成分的准确性.文献[3]利用相似性传播聚类的方法对雨线成分进行判别,提升了图像去雨算法的效果.文献[4]利用判别字典学习稀疏编码的方法,得到了去雨后的图像,提高了背景层和有雨层分离的准确性.基于字典学习稀疏编码的单幅图像去雨方法对于雨线有一定的去除效果,但也存在一些问题.当图像中含有与雨线相似的图像纹理时,上述方法会模糊图像细节,使复原图像丢失一些原有图像的重要特征.另外,字典学习稀疏编码方法存在计算复杂度高、耗时长的缺点. 2016年,文献[5]提出一种基于高斯混合模型的去雨方法,对于多种情况下的雨线取得了不错的去除效果,但是仍然存在去雨图像中有雨线残留和难以准确估计高斯混合模型的问题.
卷积神经网络的研究开始于几十年前. 1984年,日本学者Fukushima基于感受野概念提出的神经认知机可以看作是第一个实现的卷积神经网络.在随后的研究中,卷积神经网络被用于识别手写字符[6].文献[7]论证了深度神经网络在特征提取方面的性能,该文的发表使得深度神经网络被广泛应用于各个研究领域,如在图像分类、人脸识别和图像复原等方面取得了很大成功[8-12].
为了提升去雨后复原图像的视觉效果,解决复原图像细节模糊的问题,本文提出一种基于多尺度卷积神经网络的单幅图像去雨算法.多尺度卷积神经网络即为利用膨胀卷积提取多尺度感受野的图像特征信息的卷积神经网络.利用卷积神经网络提取图像的特征信息,并且通过这些特征估计出原始图像和复原图像的映射关系,进而得到复原图像,提升了去雨算法的效果.同时,将雨线在图像中低饱和度和高亮度的特征作为辅助信息,对网络进行训练,进一步提升了算法的性能.
1 网络结构为了发挥卷积神经网络在去雨算法中提取图像特征信息的能力,本文设计了三通道网络结构对图像进行多尺度的特征提取,使得提取的特征更为丰富.另外,利用雨线饱和度特征对网络进行训练,增强了网络的去雨能力.
单幅图像去雨算法的目标是根据原始的有雨图像,结合图像中雨线的特征,估计得到重建的去雨图像,并且使得去雨图像尽量接近无雨状态的原始图像.本文设计卷积神经网络实现这一目标,具体数学关系为
$ D\left( \mathit{\boldsymbol{P}} \right) = \left\| {{h_P}\left( \mathit{\boldsymbol{I}} \right)-\mathit{\boldsymbol{J}}} \right\|_2^2. $ | (1) |
式中:hP(·)为卷积神经网络,P为网络参数,I为原始的有雨图像,J为无雨图像.通过训练卷积神经网络,使得D(P)的值达到最小,得到最优参数值P*,进而得到去雨图像
提取不同尺度感受野的图像特征可以使得到的图像信息更为丰富,有利于提高后续对非线性映射关系估计的准确性.所以,本文在原来卷积神经网络的基础上加入了膨胀卷积,构成了提取多尺度图像特征的卷积神经网络.
膨胀卷积可以使感受野的大小呈指数方式增长,同时不会减少和遗漏感受野的覆盖区域.膨胀卷积为
$ {\mathit{\boldsymbol{X}}_{j + 1}} = {\mathit{\boldsymbol{X}}_j}{*_{{2j}}}{k_j}, \;\;\;\;j = 0, 1, \cdots, n-2. $ | (2) |
式中:X0,X1,…,Xn-1为一系列的图像,k0,k1,…,kn-1为一系列的3×3滤波器,*2j为以指数增长的膨胀卷积.
对于Xj+1中的元素p,它的感受野定义为形成Xj+1(p)这个值所需要的X0中的所有元素.感受野的大小即为X0中这些元素的大小.所以在Xj+1中,每个元素的感受野大小为(2j+2-1)×(2j+2-1).感受野大小的示例图如图 1所示.
图 1中,红色圆点表示通过3×3滤波器卷积得到的结果,即为Xj+1(p)的值. 图 1(a)中的X1为由X0经过膨胀因子为1的膨胀卷积得到,感受野大小为3×3.1图 1(b)中的X2是由X1经过膨胀因子为2的膨胀卷积得到,感受野大小为7×7. 图 1(c)中的X3是由X2经过膨胀因子为4的膨胀卷积得到,感受野大小为15×15.
多尺度卷积神经网络的结构图如图 2所示.多尺度卷积神经网络的结构可以看作是以下几个操作的组合,包括:1)有雨图像特征提取.这一过程网络会分3个通道对原始有雨图像I进行分块抽取,并根据每一块图像的特征,利用多维向量对每块图像进行表示.其中,多维向量的一个维度即为卷积神经网络提取的一个特征图像,特征图像的数量即为多维向量的维数.最后,将3个通道提取的特征图像组成一个特征图像集合. 2)非线性映射关系的估计.这一过程会结合雨线的饱和度特征图像,将表示有雨图像的多维向量转化为表示无雨图像的多维向量,即对有雨图像的特征图像到去雨图像的特征图像之间的映射关系进行估计.得到的去雨图像的特征图像将用于去雨图像
为了将卷积神经网络应用到单幅图像去雨算法中,本文根据图像去雨算法的过程设计了对应的网络结构,并且加入膨胀卷积和雨线饱和度图像来增强卷积神经网络的能力,下面对网络结构进行详细介绍.
2.1 有雨图像特征提取在很多图像复原的研究中,将图像在变换域中进行处理是一种常见的方法.这种方法相当于利用一系列不同卷积核的滤波器对图像进行卷积,得到的结果即为基于不同方法的原始图像特征表示.本文利用卷积神经网络对图像进行特征提取,得到的特征图像相较于人为选择的特征图像,更加适合于图像去雨算法.因此,算法具有更高的效率和更好的去雨效果.
利用膨胀卷积,分3个通道对有雨图像特征进行提取. 3个通道分别由两个卷积层构成,每个卷积层的卷积核大小为3×3,卷积层的后面均接有修正线性单元(rectified linear unit, ReLU)激励层.通过调整每个卷积层的膨胀因子,可以得到感受野大小不同的特征图像.其中,第1个通道两个卷积层的膨胀因子均设为1,得到的特征图像的感受野大小为5×5;第2个通道两个卷积层的膨胀因子分别设为1、2,得到的特征图像的感受野大小为7×7;第3个通道两个卷积层的膨胀因子均设为2,得到的特征图像的感受野大小为9×9.然后将得到的多尺度特征图像通过连接层构成一个集合,用于后面对非线性映射关系的估计. 3个通道的计算关系为
$ \left\{ \begin{array}{l} {F_{i1}}(\mathit{\boldsymbol{I}}) = {\rm{max(}}0, {W_{i1}}*\mathit{\boldsymbol{I}} + {B_{i1}}), \\ {F_{i2}}\left( \mathit{\boldsymbol{I}} \right) = {\rm{max(}}0, {W_{i2}}*{F_{i1}}(\mathit{\boldsymbol{I}}) + {B_{i2}}), \\ {\rm{ }}{F_1}(\mathit{\boldsymbol{I}}) = \{ {F_{i2}}(\mathit{\boldsymbol{I}})|i = 1, 2, 3\} . \end{array} \right. $ | (3) |
式中Wi1,Wi2为3个通道6个卷积层的权重,Bi1,Bi2为偏置值. 3个通道得到的特征图像构成的集合总共包含n1张有雨特征图像.由于结合了3个不同尺度的特征图像,所以相较于只利用单一尺度的特征图像的方法,对于非线性映射关系估计的准确性得到了提高.
2.2 非线性映射关系估计通过第一步对有雨图像特征的提取,得到了n1张特征图像.为了进一步丰富和增强浅层网络提取的特征信息,提高非线性映射关系估计的准确性,将饱和度特征图像[13]加入到原有的n1张特征图像的集合中,加入方法如图 2所示,饱和度特征图像计算方法为
$ {S_r}(x;\mathit{\boldsymbol{I}}) = \mathop {{\rm{max}}}\limits_{y \in {\mathit{\Omega }_r}(x)} \left( {1-\frac{{{\rm{mi}}{{\rm{n}}_{c \in \{ r, g, b\} }}{\mathit{\boldsymbol{I}}^c}\left( y \right)}}{{{\rm{ma}}{{\rm{x}}_{c \in \{ r, g, b\} }}\;{\mathit{\boldsymbol{I}}^c}(y)}}} \right). $ | (4) |
式中:c为图像的颜色通道,I为原始图像,x为图像的像素点位置,Ωr(x)为以x为中心的r×r大小的图像区域.
加入饱和度特征图像后,特征图像的数量定义为n1′.饱和度特征图像如图 3所示.
将n1′张有雨特征图像根据映射关系转化为n2张去雨特征图像,可以看作是用n2个不同的滤波器对n1′张特征图像进行卷积得到的结果.这里选择1×1尺寸大小的卷积核,利用一个卷积层来估计并实现由有雨特征图像到去雨特征图像的映射关系.虽然可以利用多个卷积层来估计和实现映射关系,但是多个卷积层会增加网络参数,提高模型和算法的复杂度.经过综合考虑,本文选择使用一个卷积层完成这一步的操作.该卷积层的计算关系为
$ {F_2}(\mathit{\boldsymbol{I}}) = {\rm{max(}}0, {W_2}*{F_1}(\mathit{\boldsymbol{I}}) + {B_2}). $ | (5) |
式中W2为卷积层的权重,包含n2个1×1×n1′尺寸大小的滤波器,B2包含n2个偏置值.得到的n2张去雨特征图像将用于后续去雨图像的重建.
2.3 去雨图像重建在很多图像复原的研究中,将预测得到的有重叠的图像块取均值重建图像是一种常见的方法.这种操作可以看作是用一种预先定义好的滤波器对图像进行处理,因此选择利用一个卷积层来实现去雨图像的重建,计算关系为
$ F(\mathit{\boldsymbol{I}}) = {W_3}*{F_2}(\mathit{\boldsymbol{I}}) + {B_3}. $ | (6) |
式中W3为该卷积层的权重,由于去雨图像的重建仅针对图像的亮度分量,所以W3包含1个f3×f3×n2尺寸大小的滤波器,B3为滤波器的偏置值.
在得到重建的去雨图像Y分量后,将其与Cb和Cr分量进行重组,并进行YCbCr颜色空间到RGB颜色空间的转换,即可得到去雨后的图像.
2.4 网络训练方法为了得到从有雨图像到去雨图像的映射关系,需要对多尺度卷积神经网络进行训练,得到网络中参数P={Wi1, Wi2, W2, W3, Bi1, Bi2, B2, B3}的最优值P*.由于现实中很难找到大量的有雨和无雨图像对,所以利用Photoshop软件制作模拟的有雨图像作为训练集[14].即从UCID数据集[15]和BSD数据集[16]中选择200张无雨原始图像,在每幅图像上增加不同方向和不同大小的雨线,制作成18幅不同的图像,构成总共包含3 600张有雨图像的数据集.将其中的3 400张有雨图像和其对应的无雨原始图像作为网络的训练集,剩余的200张用于模拟有雨图像实验测试.
针对网络的训练目标,将去雨图像
$ L(\mathit{\boldsymbol{P}}) = \frac{1}{n}\sum\limits_{i = 1}^n {\;\;{{\left\| {{h_P}({\mathit{\boldsymbol{I}}_i})-{\mathit{\boldsymbol{J}}_i}} \right\|}^2}} . $ | (7) |
式中:Ii为一系列的有雨图像,Ji为对应的无雨图像,n为训练样本的数量.
通过标准的后向传播方式对网络进行训练,使得目标损失函数最小化.网络权重参数的更新过程为
$ {\mathit{\Delta }_{i + 1}} = 0.9 \cdot {\mathit{\Delta }_i} + \eta \cdot \frac{{\partial L}}{{\partial W_i^l}}, {\rm{ }}W_{i + 1}^l = {W_i^l} + {\mathit{\Delta }_{i + 1}}. $ | (8) |
式中:l、i分别为卷积层标识和迭代次数,η为学习率,∂为导数.对于每个卷积层的权重参数,利用均值为0,标准差为0.001的高斯分布进行随机初始化.本文所有网络的训练过程都是在卷积神经网络框架(convolutional architecture for fast feature embedding, CAFFE[17])环境下进行的.
3 实验分析为了验证所提算法的有效性,将算法应用到模拟有雨图像和真实有雨图像进行实验,并且选择3种比较具有代表性的去雨算法进行数据对比,这3种算法分别来自文献[3-5].根据几种算法的方法原理,分别简写为ID(image decomposition),DSC(discriminative sparse coding),LP(layer priors).与图 1对应,多尺度卷积神经网络参数设置见表 1.
将200张模拟有雨图像作为实验测试集,利用文献[3-5]所提算法和本文算法进行对比实验,部分实验结果如图 4所示.观察图 4可以发现,ID和DSC两种基于字典学习稀疏编码的方法存在模糊图像原有细节和雨线去除不彻底的问题,LP方法虽然在这两个方面有一定程度的改进,但是与本文提出的算法相比,仍存在一定的差距.
由图 4可以看出,相比文献[3-5]所提算法,本文去雨算法可以有效去除图像中的雨线,同时保留原始图像的细节,避免特征信息丢失.这是因为文献[3-5]所提算法只应用了原始图像较低水平的特征信息,当图像中存在与雨线方向相近的纹理时,这些算法会错误地对非雨物体进行处理,造成图像细节模糊.而基于卷积神经网络的去雨算法利用了较高层次的原始图像特征信息,准确地对雨线和非雨物体进行了区分,在保持原始图像细节的同时有效去除了雨线.
为了进一步证明所提算法的有效性,计算了200张模拟有雨图像处理结果与原始无雨图像的峰值信噪比(peak signal to noise ratio, PSNR)和结构相似性(structural similarity index, SSIM).峰值信噪比是最普遍、最广泛使用的图像质量客观评价方法,结构相似性可以较好反映人眼的主观感受,综合两者使得模拟有雨图像实验评价更加完善.
表 2、3中分别显示了图 4中图像的计算结果和200张模拟有雨图像的计算均值.从两个表的结果可以看出,本文算法对比其他3种算法,在峰值信噪比和结构相似性两个方面都取得了最高值,再次证明了算法的有效性.
本文训练卷积神经网络所用的训练集和测试集是由模拟有雨图像构成的,为了证明本文算法对于现实中的真实有雨图像同样具有很好的去雨作用,将算法和文献[3-5]所提算法应用到真实有雨图像,实验结果如图 5所示.观察图 5可以发现,本文算法相比于其他算法具有较好的视觉效果,在去除雨线和保留原始图像信息方面具有较大优势.
本文选择利用盲图像质量指数(blind image quality indices, BIQI)[18]来对各种算法进行客观评价.盲图像质量指数是在原始图像未知情况下对结果图像进行评价的一种方法,盲图像质量指数值越低说明图像质量越好. 表 4中列出了几种算法对于真实有雨图像处理结果的盲图像质量指数[19-25].对比发现,本文算法具有更好的去雨性能.综上所述,本文算法在主观的图像视觉效果和客观的盲图像质量指数两个方面都有较大优势.这说明去雨算法虽然利用模拟有雨图像对网络进行训练,但是对真实有雨图像同样具有较好的去雨效果.
本文利用多尺度特征信息对非线性映射关系进行估计,提高了估计结果的准确性和整体算法的有效性.为了证明多尺度信息的作用,本文将网络中的特征提取部分替换为一个只提取单尺度信息的卷积层,即将Conv11,Conv12,Conv21,Conv22,Conv31,Conv32用一个卷积层替换,替换的卷积层卷积核大小为9×9,输出特征维数为128.对更改后的网络进行训练,用得到的单尺度网络与原来的网络分别对200张模拟有雨图像进行处理,单尺度网络得到结果的峰值信噪比和结构相似性分别为34.06和0.95,多尺度网络的结果对应为37.14和0.96.这说明利用多尺度网络得到的结果要优于单尺度网络得到的结果.这是因为多尺度网络提取的原始图像的特征信息更加丰富,有利于后面对无雨图像特征的估计,使得估计更加准确,去雨效果得到提升.
由于本文所用网络层数较少,属于浅层网络,因此为了进一步加强网络提取的特征信息的有效性,加入雨滴饱和度特征辅助信息对网络进行训练,提高了算法的去雨效果.为了证明这一操作的有效性,将是否存在这一步骤的两种网络进行对比,不加入雨线特征信息网络所得结果的峰值信噪比和结构相似性分别为35.53和0.93,低于加入雨线特征信息网络的37.14和0.96.这表明利用雨滴饱和度特征辅助信息训练的网络所得结果要优于缺少这一步骤的网络.说明本文加入的雨滴饱和度特征辅助信息可以进一步丰富特征信息,加强提取特征信息的有效性,对于去雨算法效果的提升是必要的.
4 结论1) 提出了基于多尺度卷积神经网络的单幅图像去雨方法,该方法一方面加入了雨线在图像中低饱和度和高亮度的特征,丰富和增强了浅层网络提取的特征信息,使得非线性映射关系估计更为准确,提高了复原图像质量;另一方面利用多尺度卷积神经网络实现图像去雨,使得提取的特征信息更加贴合去雨应用的目标,提升了去雨算法的有效性.
2) 通过实验证明了所提算法在保留图像细节信息和去除雨线有效性方面具有更好的效果.另外,实验数据表明雨滴特征辅助信息的加入和多尺度结构的应用确实提升了网络的去雨能力,对去雨算法效果的提升具有帮助作用.
[1] |
KANG L W, LIN C W, FU Y H. Automatic single-image-based rain streaks removal via image decomposition[J]. IEEE Transactions on Image Processing, 2012, 21(4): 1742-1755. DOI:10.1109/TIP.2011.2179057 |
[2] |
CHEN D Y, CHEN C C, KANG L W. Visual depth guided color image rain streaks removal using sparse coding[J]. IEEE Transactions on Circuits & Systems for Video Technology, 2014, 24(24): 1430-1455. |
[3] |
HUANG D A, KANG L W, WANG Y C F, et al. Self-learning based image decomposition with applications to single image denoising[J]. IEEE Transactions on Multimedia, 2014, 16(1): 83-93. DOI:10.1109/TMM.2013.2284759 |
[4] |
LUO Yu, XU Yong, JI Hui. Removing rain from a single image via discriminative sparse coding[C]//IEEE International Conference on Computer Vision. Santiago: IEEE, 2015: 3397-3405.
|
[5] |
LI Yu, TAN R T, GUO Xiaojie, et al. Rain streak removal using layer priors[C]//IEEE Conference on Computer Vision and Pattern Recognition. Las Vegas: IEEE, 2016: 2736-2744.
|
[6] |
LECUN Y, BOSER B, DENKER J S, et al. Backpropagation applied to handwritten zip code recognition[J]. Neural Computation, 1989, 1(4): 541-551. DOI:10.1162/neco.1989.1.4.541 |
[7] |
HINTON G, OSINDERO S, WELLING M, et al. Unsupervised discovery of nonlinear structure using contrastive backpropagation[J]. Cognitive Science, 2006, 30(4): 725-731. DOI:10.1207/s15516709cog0000_76 |
[8] |
EIGEN D, KRISHNAN D, FERGUS R. Restoring an image taken through a window covered with dirt or rain[C]//IEEE International Conference on Computer Vision. Sydney, Australia: IEEE, 2013: 633-640.
|
[9] |
CAI Bolun, XU Xiangmin, JIA Kui, et al. DehazeNet: an end-to-end system for single image haze removal[J]. IEEE Transactions on Image Processing, 2016, 25(11): 5187-5198. DOI:10.1109/TIP.2016.2598681 |
[10] |
HE Kaiming, ZHANG Xiangyu, REN Shaoqing, et al. Spatial pyramid pooling in deep convolutional networks for visual recognition[J]. IEEE Transactions on Pattern Analysis & Machine Intelligence, 2015, 37(9): 1904. |
[11] |
KRIZHEVSKY A, SUTSKEVER I, HINTON G E. ImageNet classification with deep convolutional neural networks[C]//International Conference on Neural Information Processing Systems. Lake Tahoe: Curran Associates Inc, 2012: 1097-1105.
|
[12] |
SUN Yi, WANG Xiaogang, TANG Xiaoou. Deep learning face representation by joint identification-verification[J]. Neural Information Processing Systems, 2015, 27: 1988-1996. |
[13] |
TANG Ketan, YANG Jianchao, WANG Jue. Investigating haze-relevant features in a learning framework for image dehazing[C]// IEEE Conference on Computer Vision and Pattern Recognition. Columbus: IEEE, 2014: 2995-3002.
|
[14] |
FU Xueyang, HUANG Jiabin, DING Xinghao, et al. Clearing the skies: a deep network architecture for single-image rain removal[J]. IEEE Transactions on Image Processing, 2017, 26(6): 2944-2956. DOI:10.1109/TIP.2017.2691802 |
[15] |
SCHAEFER G. UCID: an uncompressed color image database[C]//Storage and Retrieval Methods and Applications for Multimedia. San Jose: International Society for Optics and Photonics, 2003, 5307: 472-481.
|
[16] |
ARBELAEZ P, MAIRE M, FOWLKES C, et al. Contour detection and hierarchical image segmentation[J]. IEEE Transactions on Pattern Analysis & Machine Intelligence, 2011, 33(5): 898-916. |
[17] |
JIA Yangqing, SHELHAMER E, DONAHUE J, et al. Caffe: convolutional architecture for fast feature embedding[C]// ACM International Conference on Multimedia. Istanbul, Turkey: ACM, 2014: 675-678.
|
[18] |
MOORTHY A K, BOVIK A C. A two-step framework for constructing blind image quality indices[J]. IEEE Signal Processing Letters, 2010, 17(5): 513-516. DOI:10.1109/LSP.2010.2043888 |
[19] |
DONG Chao, CHEN C L, HE Kaiming, et al. Image super-resolution using deep convolutional networks[J]. IEEE Transactions on Pattern Analysis & Machine Intelligence, 2016, 38(2): 295. |
[20] |
徐波, 朱青松, 熊艳海. 视频图像去雨技术研究前沿[J]. 中国科技论文, 2015(8): 916-927. XU Bo, ZHU Qingsong, XIONG Yanhai. The research forefront of rain removaI for videos and images[J]. China Sciencepaper, 2015(8): 916-927. |
[21] |
ZHANG Kai, ZUO Wangmeng, CHEN Yunjin, et al. Beyond a Gaussian denoiser: residual learning of deep cnn for image denoising[J]. IEEE Transactions on Image Processing, 2017, 26(7): 3142-3155. DOI:10.1109/TIP.2017.2662206 |
[22] |
GARG K, NAYAR S K. Detection and removal of rain from videos[C]// IEEE Conference on Computer Vision and Pattern Recognition. Washington DC: IEEE Computer Society, 2004: 528-535.
|
[23] |
BARNUM P C, NARASIMHAN S, KANADE T. Analysis of rain and snow in frequency space[J]. International Journal of Computer Vision, 2010, 86(2): 256-274. |
[24] |
BOSSU J, HAUTIERE N, TAREL J P. Rain or snow detection in image sequences through use of a histogram of orientation of streaks[J]. International Journal of Computer Vision, 2011, 93(3): 348-367. DOI:10.1007/s11263-011-0421-7 |
[25] |
SANTHASEELAN V, ASARI V K. Utilizing local phase information to remove rain from video[J]. International Journal of Computer Vision, 2015, 112(1): 71-89. DOI:10.1007/s11263-014-0759-8 |