基于多流扩张残差稠密网络的图像去雨算法 下载: 773次
1 引言
在雨天情况下,拍摄的图像和视频的能见度降低,从而改变了图像的内容和色彩,影响人的主观视觉感受,并且也对计算机视觉系统任务造成严重干扰,如目标检测[1]、视频监控及自动驾驶等。例如,由于雨水遮挡住图像中的目标,目标检测和定位的准确性降低。因此,有效去除图像中的雨条纹,恢复图像细节信息,具有实际的应用价值。
图像去雨算法主要分为两类:基于视频的去雨算法和基于单幅图像的去雨算法。视频去雨算法可以利用丰富的时间知识,而单幅图像去雨算法无时域信息可以利用,且雨的随机分布特征使雨像素点的位置不好确定,因此单幅图像去雨一直是一个极具挑战性的问题。同时,单幅图像去雨算法不仅可以处理单幅图像,也可以处理视频帧图像,因此,单幅图像的去雨算法具有重要的研究意义和广泛的应用前景。
传统的图像去雨算法主要有基于纯粹物理模型和数学推导的去雨模型方法、基于图像处理知识的去雨方法、基于稀疏编码字典学习和分类器的去雨方法。传统图像去雨算法建模复杂、计算量大,去雨效果不理想。近些年来,深度学习逐渐被应用到图像去雨领域。基于深度学习的图像去雨方法直接学习含雨图像到无雨图像的端到端映射,在某些情况下取得了良好的性能。但仍然忽视了一些重要问题:首先,雨条纹大小和方向的多样性往往被忽略,导致图像去雨效果不好,图像的细节信息丢失;其次,大多数方法都有一个受限的接受域,增加接受域以获得更多周围信息的潜力仍需讨论。本文提出一种基于多流扩张残差稠密网络的图像去雨算法来解决上述问题,该算法受图像分解去雨算法中图像分解和深度细节去雨算法中负映射操作的启发。首先,将含雨图像分解为包含雨条纹和轮廓信息的细节层和包含背景信息的基础层,直接学习含雨图像细节层和无雨图像细节层之间的残差,减小映射范围,提高网络训练速度。然后,采用带有不同扩张因子(DF)的扩张卷积层提取细节层中复杂多向的雨条纹特征,通过扩张残差稠密连接网络去除提取的雨条纹信息。扩张残差稠密网络结构便于充分利用图像中的多尺度冗余,随着扩张卷积中扩张因子的增大,网络以更快的速度扩大感受野,从而获得更多的上下文信息。最后,对去雨后的细节层与基础层进行叠加获得无雨的图像。
2 相关工作
传统的图像去雨方法探索了关于雨条纹特征的某些先验信息,将含雨图像看作是由干净的背景图像层和雨条纹层组成的,因此图像去雨问题可以为一个分层的问题。Kang等[2]最早提出了一种基于图像分解的单图像去雨方法,该方法首先利用双边滤波器把含雨图像分解为低频和高频两个部分,然后通过稀疏编码和字典学习算法检测和消除高频部分的雨痕。Kim等[3]利用核回归方法检测雨痕区域,然后利用自适应非局部均值滤波器去除检测到的雨痕。Chen等[4]提出一个广义的低秩外观模型,该模型可以去除单个图像或视频中的雨痕。Lou等[5]提出了一种判别稀疏编码的方法,将互斥性考虑到优化框架中,通过将雨层系数向量稀疏化来达到去除图像中雨条纹的目的。Li等[6]通过建立高斯混合模型获取背景层图像块和雨层图像块的先验信息,从含雨图像中分离出雨条纹,并去除分离出的雨条纹。Zhu等[7]提出一种基于联合双层优化的图像去雨方法,该方法通过三项先验迭代分离雨层和背景层,并采用最小二乘法来优化问题,达到图像去雨的目的。
近些年来,深度学习由于强大的特征表示能力和端到端的数据表达能力,被广泛应用于图像去雨任务中。Fu等[8]最先将卷积神经网络引入到图像去雨领域,首先将含雨图像分解为基础层和细节层,然后用三层卷积网络去除含雨图像细节层中的雨条纹,最后将去雨后的细节层与基础层相加得到无雨图像。随后,Fu等[9]将残差网络[10]作为图像去雨的主干网络并引入负残差映射思想,减小映射范围,提高了计算效率。Yang等[11]提出了一种联合雨水检测和去除的循环卷积神经网络,该网络采用膨胀卷积和循环结构处理雨条纹信息,并且为了有效去除大气中的烟雾,在网络中嵌入了去雾网络。Zhang等[12]提出了一种基于条件生成对抗网络的去雨方法,该方法通过引入一个感知损失函数来提高训练的稳定性和减少生成对抗网络引入的伪影。Zhang等[13]提出了一种密度感知的多流密集连接的卷积神经网络,该网络由一个感知雨密度的分类器和一个雨水去除网络组成,用于联合估计雨密度和去除雨条纹。此外,Fu等[14]还提出一种基于轻量级金字塔网络的图像去雨框架,拉普拉斯网络框架的应用减少了计算参数量,提高了计算效率,但代价是去雨质量明显下降。
3 图像去雨增强算法
采用如
3.1 细节层
直接在整个图像域训练含雨图像到无雨图像之间的映射,映射范围覆盖所有可能的像素值,这很难很好地学习回归函数,并且随着网络深度的加深可能会出现梯度消失现象。考虑到雨条纹信息几乎存在于高频部分,将含雨图像和无雨图像分别通过导向滤波器分解为低频(基础层)和高频(细节层)两部分,表达式分别为
式中:X为含雨图像;Y为无雨图像;base代表基础层,detail代表细节层。相比传统双边滤波器,导向滤波器对图像进行分解时具有计算效率高、边缘保护强等特性。在滤波效果上,导向滤波器对细节的处理更加细腻。
如
图 3. 图像分解示例。(a)含雨图像;(b)含雨图像基础层;(c)无雨图像基础层;(d) 含雨图像细节层
Fig. 3. Examples of image decomposition. (a) Rainy image; (b) base layer of rainy image; (c) base layer of rainless image; (d) detail layer of rainy image
图 4. 基础层颜色曲线图。(a)无雨图像;(b)含雨图像
Fig. 4. Color curves of base layer. (a) Rainless image; (b) rainy image
3.2 负残差映射
为进一步缩小映射范围,优化映射空间,引入残差思想到网络中。无雨图像和含雨图像之间的残差显著稀疏,建立无雨图像和含雨图像之间的负残差映射可以降低网络训练的难度,有助于学习映射。
无雨图像、含雨图像以及两者之间的残差如
图 5. 残差图示例。(a)无雨图像;(b)含雨图像;(c)残差图像
Fig. 5. Example of residual image. (a) Rainless image; (b) rainy image; (c) residual image
3.3 多尺度特征提取网络
考虑到雨条纹的多样性,如有的含雨图像中雨点小,有的含雨图像中雨点大,小雨点对应小的感受野,大雨点对应大的感受野。为提取多尺度、多方向的雨条纹特征,将这些特征聚合起来。采用3条带有不同扩张因子的扩张卷积对含雨图像细节层进行特征提取,3条支路分别采用扩张因子为1,2,3的扩张卷积来提取特征,该结构可以聚合更多尺度上下文空间信息。其效果类似于使用不同大小的卷积核,但相比直接使用不同大小的卷积提取特征,使用扩张卷积进行多尺度特征提取具有参数量更少、训练更容易、效果更好的优点[16]。
3.4 改进的密集连接块
为了加强特征的传递,更有效地利用特征,使用密集连接块(Dense block)结构,Dense block前面每一层的输出都会通过短连接的方式输入到后面的每一层中,处于网络后面的卷积层也能够利用前面卷积层所提取到的特征[17]。为了减少网络参数计算量,密集块中的卷积部分使用1×1的卷积,为了扩大感受野,密集块中的另一部分卷积使用扩张卷积。Dense block结构如
3.5 目标函数及网络的具体设置
对于含雨图像X和无雨图像Y,定义目标函数为
式中:N为训练图像数目;f(·)为扩张残差密集网络;W为权重;b为偏移量;Xdetail和Ydetail分别为含雨图像的细节层和无雨图像的细节层;
基本网络结构可以表示为
式中:网络层数l=1,2,…,(L-2)/2;*为卷积操作符号;σ为线性矫正单元;C[·]为特征图级联合并。最终去雨图像可以表示为已去雨的细节层和基础层的叠加,即预测的无雨图像表示为
网络参数设置如
表 1. 参数层的详细设置
Table 1. Detailed setting of parameter layer
|
4 实验及结果分析
4.1 数据集
采用3种数据集训练和测试MERDN图像去雨算法。数据集1:来源于文献[ 5],包含1000张无雨图片和14000张合成带雨图片,14000张带雨图像由1000张无雨图像通过Photoshop操作添加14个不同方向和尺度的雨条纹制作而成,选取900对图像作为训练集,从剩下的图像中随机选择100对图像作为测试集。数据集2:来源于文献[ 7],训练集包括200对不同环境下拍摄的图像,测试集包括100对不同环境下拍摄的图片。数据集3:来源于文献[ 3],包含12对不同环境下拍摄的测试图像对。
4.2 参数设置
实验环境为Windows 10,处理器为Intel(R)Core(TM) i7-6700 CPU @3.4 GHz,内存32 G,显卡为GTX1080,编程环境为Python3.7,开发工具为PyCharm 2018,使用TensorFlow框架进行网络训练和测试。使用权重衰减为10-10的Adam优化器来迭代更新网络参数,批次大小为20,学习率初始化为10-3,并在100000次迭代后除以10,在200000次迭代后终止训练。
4.3 基本方法
对MERDN算法和几个经典且去雨效果较好的算法进行比较,包括基于高斯混合滤波器的去雨算法(GMM)、基于判别稀疏编码的去雨算法(DSC)、基于图像分解的去雨算法(DCN)、基于条件生成对抗网络的去雨算法(ID-CGAN)、基于多流密集网络的密度感知的去雨算法(DID-MDN)。前两种是传统的去雨方法,后几种是最新的基于深度学习的去雨方法。
4.4 合成图片结果
对于合成图片,采用峰值信噪比(PSNR)[18]和结构相似性指数(SSIM)[19]这两个评价指标。各种图像去雨算法的PSNR和SSIM如
表 2. 不同算法的PSNR
Table 2. PSNR of different algorithms unit: dB
|
表 3. 不同算法的SSIM
Table 3. SSIM of different algorithms
|
从
为了直观地显示出所提算法与其他对比算法在图像去雨视觉效果上的不同,在两张合成图像上对所提算法与其他算法的去雨效果进行比较,实验结果如
图 6. 不同算法在合成雨水图像上的视觉比较。(a1)(a2) 含雨图像;(b1)(b2) GMM算法;(c1)(c2) DSC算法;(d1)(d2) DCN算法;(e1)(e2) DID-MDN算法;(f1)(f2) MERDN算法
Fig. 6. Visual comparison of different algorithms on composite rainy images. (a1)(a2) Rainy image; (b1)(b2) GMM algorithm; (c1)(c2) DSC algorithm; (d1)(d2) DCN algorithm; (e1)(e2) DID-MDN algorithm; (f1)(f2) MERDN algorithm
从
4.5 真实图片结果
由于真实拍摄的雨天图像没有相对应的标签图像,因此无法对算法进行关于PSNR和SSIM的比较,只能从主观视觉效果上比较各种算法的去雨效果。
图 7. 不同算法在真实雨水图像上的视觉比较。 (a1)(a2)含雨图像;(b1)(b2) GMM算法;(c1)(c2) DSC算法;(d1)(d2) DCN算法;(e1)(e2) DID-MDN算法;(f1)(f2) MERDN算法
Fig. 7. Visual comparison of different algorithms on real rainy images. (a1)(a2) Rainy image; (b1)(b2) GMM algorithm; (c1)(c2) DSC algorithm; (d1)(d2) DCN algorithm; (e1)(e2) DID-MDN algorithm; (f1)(f2) MERDN algorithm
观察
4.6 算法效率比较
表 4. 不同算法的效率比较
Table 4. Efficiency comparison of different algorithms
|
5 结论
针对图像去雨后图像中的残留部分雨条纹、图像细节模糊等问题,提出了一种基于多流扩张残差稠密网络的图像去雨算法,实现了图像去雨增强。首先,构造多流多尺度特征提取网络,对带有图像雨条纹信息的细节层进行特征提取,提取多尺度雨条纹信息。然后,采用残差密集块结构对提取的信息进行处理,残差密集块结构可以在保持网络深度的同时缓解梯度消失现象,加强特征利用。最后,对去雨后的细节层与带有背景信息的基础层进行叠加,得到无雨图像。实验证明,无论是在去雨图像的主观视觉效果上,还是在PSNR和SSIM客观评价指标上,所提算法均具有一定的优势。从而说明所提算法能够有效克服传统图像去雨算法中未考虑多尺度雨条纹的问题,较好地恢复图像细节信息,得到了细节清晰的无雨图像,图像去雨质量得到了提升。
[1] 欧攀, 张正, 路奎, 等. 基于卷积神经网络的遥感图像目标检测[J]. 激光与光电子学进展, 2019, 56(5): 051002.
[3] Kim JH, LeeC, Sim JY, et al.Single-image deraining using an adaptive nonlocal means filter[C]∥2013 IEEE Transactions on Image Processing, September 15-18, 2013, Melbourne, VIC, Australia.New York: IEEE Press, 2013: 914- 917.
[4] Chen YL, Hsu CT. A generalized low-rank appearance model for spatial-temporally correlated rain streaks[C]∥2013 IEEE International Conference on Computer Vision, December 1-8, 2013, Sydney, NSW, Australia.New York: IEEE Press, 2013: 1968- 1975.
[5] LouY, XuY, JiH. Removing rain from a single image via discriminative sparse coding[C]∥2015 IEEE International Conference on Computer Vision, December 7-13, 2015, Santiago, Chile.New York: IEEE Press, 2015: 3397- 3405.
[6] LiY, Tan RT, GuoX, et al.Rain streak removal using layer priors[C]∥ 2016 IEEE Conference on Computer Vision and Pattern Recognition, June 26-July 1, 2016, Las Vegas, NV.New York: IEEE Press, 2016: 2736- 2744.
[7] ZhuL, Fu CW, LischinskiD, et al.Joint bi-layer optimization for single-image rain streak removal[C]∥2017 IEEE International Conference on Computer Vision, October 22-29, 2017, Venice, Italy.New York: IEEE Press, 2017: 2526- 2534.
[9] Fu XY, Huang JB, Zeng DL, et al.Removing rain from single images via a deep detail network[C]∥2017 IEEE Conference on Computer Vision and Pattern Recognition, July 21-26, 2017, Honolulu, HI, USA.New York: IEEE Press, 2017: 1715- 1723.
[10] He KM, Zhang XY, Ren SQ, et al.Deep residual learning for image recognition[C]∥2016 IEEE Conference on Computer Vision and Pattern Recognition, June 27-30, 2016, Las Vegas, NV, USA.New York: IEEE Press, 2016: 770- 778.
[11] Yang WH, Tan RT, Feng JS, et al. and removal from a single image[EB/OL]. ( 2017-03-13)[2020-09-24]. https: ∥arxiv.org/abs/1609. 07769.
[13] ZhangH, Patel VM. Density-aware single image de-raining using a multi-stream dense network[C]∥2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition, June 18-23, 2018, Salt Lake, UT, USA.New York: IEEE Press, 2018: 695- 704.
[15] Huang G, Liu Z. Maaten L V D, et al. Densely connected convolutional networks[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2017, 39(6): 1137-1149.
[16] 陈永, 郭红光, 艾亚鹏. 基于多尺度卷积神经网络的单幅图像去雾方法[J]. 光学学报, 2019, 39(10): 1010001.
[17] 黄盛, 李菲菲, 陈虬. 基于改进深度残差网络的计算断层扫描图像分类算法[J]. 光学学报, 2020, 40(3): 0310002.
[18] Huynh-Thu Q, Ghanbari M. Scope of validity of PSNR in image/video quality assessment[J]. Electronics Letters, 2008, 44(13): 800-801.
[19] Wang Z, Bovik A C, Sheikh H R, et al. Image quality assessment: from error visibility to structural similarity[J]. IEEE Transactions on Image Processing, 2004, 13(4): 600-612.
Article Outline
王薇薇, 翟亚宇, 陈平, 曹凤才. 基于多流扩张残差稠密网络的图像去雨算法[J]. 激光与光电子学进展, 2021, 58(4): 0410024. Weiwei Wang, Yayu Zhai, Ping Chen, Fengcai Cao. Image Deraining Algorithm via Multiflow Expansion Residual Dense Network[J]. Laser & Optoelectronics Progress, 2021, 58(4): 0410024.