雾气和降雨复杂图像联合恢复卷积网络

2020-12-28 12:01余卓权范俊宇彭绍湖刘长红
关键词:雾气条纹雨滴

余卓权,范俊宇,彭绍湖,刘长红

(广州大学 a.电子与通信工程学院; b.机械与电气工程学院, 广东 广州 510006)

户外摄像头常遭受环境影响,降雨天气会显著降低图像质量,从而影响户外视觉系统的识别与检测性能,因此,恢复遭受雨滴污染的图像对于计算机而言相当重要.由于雨滴的产生是大量且随机的,难以建立准确的统计模型,雨滴去除是一个相当有挑战性的问题.在降雨图像恢复领域中,过去一段时间内有许多相关的方法被提出.图像中的雨滴去除通常分为在视频序列中去除雨水[1-6],以及在单帧雨滴图像中去除雨滴条纹[7-12],其中有关注雨滴的整体方向性,也有考虑雨滴的时域特性,以及雨滴条纹的频域特性[13-14].在传统方法中,通常将视频序列中多帧图像作为处理对象,利用雨滴的时域与色域特征,但由于雨滴降落过程中的随机性与不确定性,难以建立准确的统计模型,常常具有较大的局限性,去雨效果较差.在使用深度神经网络的方法中通常关注单帧图像的去雨[15-16],例如,有文献使用了生成对抗式网络(GAN)[17],以图像恢复的方式训练神经网络.

在早期的工作中,Garg等[1]提出在一个大的时间段内考虑正波动像素的空间相关性,Tripathi等[2]集中于雨滴在时域上的亮度波动特性,Barnum等[3]建立复杂雨线模型,来检测视频序列中的雨滴像素,Zhang等[4]对时间轴上的像素亮度进行K聚类来区分雨滴与非雨滴像素,根据降雨图像中的像素在帧与帧之间的波动对称性来区分雨滴与非雨滴像素,但建立的概率统计模型不足以准确地描述雨滴特征.Chen等[5]通过视频间超像素对齐并使用CNN框架进行去雨,Jiang等[6]通过考虑雨滴方向梯度进行收缩来恢复图像,Huang等[7]集中于图像上下文内容,通过字典学习与SVM分类的方式对雨滴图像进行去雨,以上方式比之前的研究都取得了更好的效果,但计算复杂度较高.

Zhang等[8]的DID-MDN能够估计降雨密度自适应调整去雨效果,Fu等[9]所提出的DDN通过关注图像的细节信息进行去雨,Yang等[10]通过联合多尺度检测的方式进行降雨检测与去除.同时,国内的研究也进一步深入,如文献[15]提出的基于深度学习的雨滴图像修复只对亮度分量进行处理,从而避免了颜色信息的损失,文献[16]提出将注意力模块与深度残差网络相结合能自适应调整通道上特征的权重并捕获空间维度上雨条纹像素之间的相关性,从而更有利于从有雨的图像中得到干净的背景图,文献[17]则采用条件生成网络来实现去雨.

以上的方法在他们自己的合成测试数据集上均取得了比传统方法更好的效果,但存在一个问题:这些方法在实际中通常只考虑明显的雨滴条纹或者是单纯的雾化场景,但真实雨滴场景存在的深度信息,将会导致雨滴在图像上是以明显清晰的雨滴条纹显示以及雾化的形式叠加,雾化部分将对图像清晰度的恢复产生巨大影响.这些方法在去雨网络中试图仅仅用添加雨滴条纹合成图像训练的网络来恢复真实图像中的雨滴条纹污染部分以及雾化污染部分,虽然能够同时去除部分真实雨滴场景的雨滴条纹以及雾化部分,但更多的是仅仅去除了雨滴条纹部分,而对雾化部分的去除没有泛化效果.这对于网络视觉效果的恢复以及后续网络处理性能有着较大不利的影响.

针对这个问题,本文提出一种新颖的深度神经网络,在原有的合成降雨图像上加入了合成雾进行训练,虽然增加了图像恢复的难度,但是更贴近于真实雨滴场景.另外,本文基于多阶段、多任务设计的网络与直接的端到端网络相比能够降低训练难度,同时引入反馈连接,能增加网络的误差积累,提高网络独立性,提升网络泛化能力.本文的网络选择先去除输入图像中的雾气,增加图像对比度以突出雨滴条纹,再进行雨滴去除.由于去雨更多关注于局部特征而不是整体特征,并且使用池化层将会破坏图像纹理,降雨图像恢复很大程度上依赖于输入图像的纹理以及色彩特征,本文在网络中加入大小尺度的融合残差结构,多尺度的卷积融合有利于整合较大感受野的信息,在大小感受野融合的残差结构中将使用大卷积核配合空洞卷积,尽可能扩大感受野去代替池化层.如图1所示.

图1 对真实图像的去雾去雨效果

本文的主要贡献如下:

(1)提出了一种用于单帧雨雾图像恢复的多任务去除雾气和雨滴条纹的深度网络,加入了大小感受野融合的残差结构来更好地提取局部特征,可以分阶段输出去雾图像与去雨图像,让网络的恢复效果更为可控,提升网络泛化能力.

(2)提出了一种基于误差累积的反馈连接方法用于降雨图像恢复网络的训练,通过多次进行相同权重的网络处理再计算损失函数,能够有效扩大网络对图像错误处理的部分,从而增加损失函数值,驱动网络进一步收敛,从而达到精准修复的目的.

(3)实验证明,相较于其他网络,本文所提出的网络对在由于进一步添加了雾气而相比于其他去雨网络更加困难的合成测试数据集,以及真实图像数据集上都有着更好的恢复效果.

1 雾气和降雨复杂图像联合恢复卷积网络

1.1 降雨模型

许多应用深度神经网络进行降雨图像恢复任务时,通常将降雨图像的数学模型简单考虑为降雨条纹层覆盖在无雨的清晰图像上[18-20]:

O=B+R

(1)

其中,O为网络输入的降雨图像,B为清晰的背景图像,而R为附加在背景图像B上的降雨纹路,即将降雨图像考虑为原图与降雨条纹的线性组合,设计的网络目的也通常是在输入的O上将R去除,从而获得干净的背景图像B,这样的模型能够让设计出的神经网络趋向于学习降雨条纹层R的特征,简单且直观地对图像进行恢复.

但实际上,真实降雨图像的数学模型应该进一步考虑降雨图像中原图与降雨上的覆盖关系,而不是简单的亮度叠加,由于降雨天气中因远处的降雨以及水汽使所在图像产生雾气效果,这将直接影响图像的质量,简单去除降雨场景中的雨滴条纹在很多情况下并不能更真实地恢复降雨图像.更加合理的做法是将降雨图像考虑为清晰图像与降雨效果的组合,其中,降雨效果是图像中深度的函数:

O=B+R(d)

(2)

与真实的降雨图像所反映的视觉效果对应,将在原图上的降雨效果R(d)考虑为前景的雨滴条纹与后景的雨滴条纹以及水汽雾化效果的叠加,可以将上式简化为

O=B+R+H

(3)

其中,H为雾化效果,R为雨滴条纹,以上描述的图像均为三通道位图.因此,最后将降雨图像考虑为背景图像清晰的B与前景降雨条纹R以及后景雾化效果H的组合.但由于组合后的O可能会超出位图范围的最大值255,故本文会将所有超过255的值均设定为255.大气散射模型是分析雾天由于悬浮粒子对光的折射与散射而对视觉系统观测到的图像出现对比度下降的物理模型,参考文献[20]的方法,本文将对降雨天气中的雾气部分在图像所产生上的效果的估计模型考虑为大气散射模型,如下式:

J=KO-K+b

(4)

其中,J为去雾后的图像,K为统一参数t和A的变量,b为默认值为1的恒定偏差,K的计算公式如下:

(5)

其中,A代表全球大气光,t是介质透视图,t的定义如下式:

t(x)=exp(-βd(x))

(6)

其中,β是大气的散射系数,d(x)是物体和相机之间的距离(景深).本文所提出的网络将分别通过2个网络估计R与K来逐步恢复背景图像B.首先估计K从而在输入的降雨图像中恢复出无雾气有雨图像,由于基于物理模型去雾方法能够降低对原图结构的影响,先进行去雾还能突出图像中的降雨条纹,使得降雨恢复网络对下一阶段对降雨条纹处理得更加容易,因此将先估计K,再估计R,来对输入降雨天气图像进行端到端的恢复,具体计算如下式:

B=KO-K+b-R

(7)

1.2 大小感受野融合残差结构层

本文提出了大小感受野融合残差结构层(Fusion Residual Structure of large and small receptive fields, FRS)来细化高感受野特征fh∈O和低感受野特征fl∈O.神经元感受野的值越大表示其能接触到的原始图像范围就越大,这也意味着大尺度感受野下的特征fh蕴含更为全局、语义信息更高的特征;相反,小尺度感受野下的特征fl则表示其所包含的特征越趋向局部和更多的信息量.这两种特征在统计上存在较大差异,在降雨图像的雨滴条纹去除过程中,由于雨滴经常以条纹的形式出现,而在图像上呈现纹理上的改变,在神经网络的前端扩大感受野能够有效提取降雨条纹的特征,但在神经网络中通常用于扩大感受野的池化层会因过度破坏图像的纹理以及细节特征,从而导致网络性能下降.根据实验结果,通过合适地选取残差结构层中卷积层的感受野大小能够有效地避免这样的情况出现.图2展现一些示例,盲目扩大感受野将导致卷积核中心点过多受邻域影响,尤其在带有雾气的降雨图像恢复后出现前后景分离的边缘区域上出现较大的光晕效应,严重影响视觉效果.

图2 不同感受野对比图

FRS执行大小感受野融合以减少特征之间的差异.本文将网络中的部分卷积层采用大感受野的卷积核,同时,在另一支路使用3×3的卷积来进行大尺度和小尺度感受野的融合,并于该结构的输入层相加,构成大小感受野融合残差结构层.与已有的方法相比,FRS避免了破坏fl和fh的特征信息,这可能会破坏待恢复的原始图像,给恢复图像的生成带来不利影响.通过大小感受野融合残差结构层,fl和fh将相互提取有用的信息以补充自身,即fl的图像纹理以及细节特征、fh的降雨条纹特征将被保留.

具体地说,FRS包含两个分支,一个用于fl,另一个用于fh,如图3所示.首先,将一个3×3卷积层分别应用于fl和fh,以适应后续处理.然后,对这些特征进行融合,融合后的特征具有fl和fh的特点.最后,融合的特征将被添加到原始输入中,以细化表示.

详细过程如下所示:

finput=finput+C(Cl(fl)+Ch(fh))

(8)

其中,每一个C(·),Cl(·),Ch(·)都是卷积和LeakyReLU的组合.

1.3 网络结构

在降雨图像恢复的任务中,由于训练与测试网络的数据集是合成图像,而合成图像的降雨模式通常与真实图像的降雨模式有着很大的区别,经常会出现去雨网络对合成数据拟合较好,在训练数据集以及测试数据集上都有着较高的峰值信噪比PSNR(Peak Signal Noise Ratio, PSNR)与结构相似度SSIM(Structural Similarity,SSIM),但对真实降雨场景进行去雨时,却经常无法进行准确的去雨,甚至没有去雨效果,并对其他非降雨覆盖的像素进行错误处理.故本文提出一种基于多层相同网络进行处理而进行误差累积的方法来提高网络泛化能力和去雨效果,笔者将整个网络分为去除雾网络、去除大雨滴条纹网络,以及去除小雨滴条纹网络.

在本文的去雾网络中全部采用3×3的卷积,在网络中加入归一化层以及长短跳层连接估计K值.去雨网络将会先使用3个大小尺度融合的大小感受野融合的残差结构进行卷积,3个大小感受野融合的残差结构分别使用3×3,5×5以及7×7的卷积核大小,然后将3个结构块进行相加,进行两次3×3卷积后再进行批归一化,最后卷积输出.如图3所示.

图3 整体联合去雨去雾网络结构

由于神经网络有着较强的数据拟合能力,在面对合成降雨图像数据集时,通常能够取得较高的PSNR与SSIM 值,但由于合成数据集与真实图像的降雨模式以及颜色表现有着相当大的差距,这导致一些网络即使取得了较高的评测数据,但面对真实图像降雨时的去雨性能较差,甚至于没有效果.为了提升网络的泛化能力与去雨效果,本文提出一种方法:基于误差累积的反馈连接方法.由于合成数据集的降雨模式并不复杂,许多去雨网络在对合成图像进行去雨时,重点关注在去雨的能力上,而忽视了非降雨覆盖像素的保留能力,并只使用均方误差作为损失函数,导致出现无法将网络收敛至面对真实雨滴时,仍具有较好效果的情况.面对这种情况,本文选择将相同权重的网络对图像进行多次处理再输出图像的方法:

Lmse=mean(x-f(f…f(y)))2

(9)

本文采用均方误差作为网络的损失函数Lmse,有利于直接提高恢复图像的PSNR,f代表处理网络函数,则f(y)即网络处理后的输出.对相同权重的网络对图像进行多次处理再输出图像,若去雨网络对降雨图像某一部分非降雨像素进行错误处理,在多次处理后将会进一步放大错误处理的部分,从而增加了网络的损失值.为了驱使网络进行精确的降雨修复以及增加保留原有非降雨像素的概率,即增强网络对降雨像素判断的能力,本文的去雨网络对降雨图像错误处理的部分进行了改善.因此,本文在去雨与去雾网络中都加入了反馈连接.值得一提的是,多次处理同样会造成网络非线性能力的约束,因此,本文只采用了一次反馈,实际上,进行反馈后的网络更趋向于表现为一个独立处理模块而可以多次使用.

2 训练设置以及测试指标

2.1 训练设置

为了保证网络收敛效果,本文在一开始将不加入反馈而进行多任务训练,训练标签是去雾后但包含降雨条纹的图像与纯净图像,待网络收敛后,加入反馈连接进一步提升网络效果.雨滴条纹去除网络将使用这一训练方法进行预训练,最后再根据真实图像进行进一步微调.本文将使用DID-MDN网络提供的合成训练和测试数据集,并在数据集上进一步加上了雾气[8],将原数据集作为去雾后的输出,数据集约包含12 000张图像,测试数据集约包含1 200张图像,数据集图像是512×512的彩色图像,笔者采用随机图像中随机裁剪出64×64的图像方式进行训练,在训练时将随机裁剪出较大的图像再缩小为64×64的图像用于产生颗粒状降雨效果图像进行训练.

其中,在现有数据集上的合成雨图像上进一步加入雾气的算法如下:

(1)在图形上每隔一个像素均匀地添加相同值的白噪声;

(2)对整个图形运行两次高斯滤波,核大小为3×3,无填充.

2.2 测试指标

对于合成图像,本文将采用PSNR峰值信噪比与SSIM结构相似度作为本文的测试指标.对于无法计算PSNR与SSIM的真实降雨图像,则以直观感受的方法进行评估.本文的方法将与目前最先进的方法进行比较,包括文献[19]:基于高斯混合模型的层先验去雨方法(LP),文献[10]:多任务全卷积从单张图片中去除雨迹(JORDER),文献[9]:通过深层细节网络去除单个图像上的雨水(DDN),文献[8]:基于多流密集网络的密度感知单图像去雨算法(DID-MDN).以下的数据对比中均使用这些方法的英文简称.

3 实验结果

3.1 合成数据对比

表1是各个对比网络的测试数据,本文采用峰值信噪比(PSNR)与结构相似度(SSIM)两个测试指标在客观数值上对各种方法的效果进行对比,分别以降雨密度作为大雨、中雨和小雨的判断标准.由于对数据进行加雾处理,进一步加大了图像恢复的难度,导致整体的测试指标均有下降.可以看到,许多网络对雨雾化后的处理并不敏感,如图4所示.本文的方法对复杂降雨图像的处理表现优于其他结果.

表1 各个网络测试数据的平均PSNR与SSIM对比

图4 对于合成图像的去雨结果(PSNR/SSIM)

3.2 真实降雨图像对比

真实降雨图像由于不像合成图像那样存在无雨图像进行PSNR和SSIM计算,但可以通过主观评估的方式感受本文的网络处理效果,如图5所示.图5可见,其他方法要么倾向于对图像的去雨有所欠缺,要么对图像进行过度去雨处理.相比之下,本文提出的方法在保持图像细节的同时,有效地去除了雨雾,取得了较好的效果,如图5第二行所示的雨雾天气中,在第一行的局部放大图中显示,相较于其他方法,本文提出的方法在此图像中能保留灯柱的细节的同时,将雨滴条纹、雾气很好地进行去除.此外,可以观察到,所提出的方法能够处理不同类型的降雨条件,例如,图5第二行所示的雨雾、图5第四行所示的大雨和图5第六行所示的中雨.总的来说,相对于其他方法,对不同降雨条件下拍摄的真实图像的处理效果表明了该方法的有效性和鲁棒性,即使面对复杂大雨,此方法仍然可以取得较好的效果.图5展示了本文的网络分阶段处理的输出效果.

图5 各种方法对于真实的降雨图像的去雨处理

3.3 运行时间对比

表2显示了处理1 200张测试图像的平均运行时间,测试图像均为512×512的彩色图像.可以看出,本文所提出方法的测试时间与DDN方法[9]相当, 可以非常有效地处理图像.方法LP根据提供的源代码使用CPU实现[18],而其他方法均在GPU上进行了测试.由于LP基于高斯混合模型学习,因此测试图像的去雨仍需要复杂的优化,这导致计算速度较慢.本文的方法在网络训练后是完全前馈的,因此,对于新图像的运行时间明显更快.此外,从平均运行时间的大小比较来看,本文所提出的算法更有优势,平均一幅512×512大小的图像需要大约0.37 s来进行恢复.

表2 不同方法在1 200张大小为512×512的图像上的平均运行时间

4 结 论

过去的降雨去除模型通常只考虑去除图像上的降雨条纹,而不考虑随之产生的雾气影响,虽然能够在合成的降雨数据集上得到较好的性能指标,但这也容易导致由于伴随雾气较大的真实降雨图像恢复后产生块状的模糊,使得降雨图像恢复的质量严重下降.本文将降雨图像考虑为浅层的降雨条纹产生的浅白纹理效果,深层的降雨条纹堆叠与自然水汽形成的雾气效果与原图的叠加降雨模型.所提出的降雨去除网络通过统一去雾领域的大气散射通道模型与去雨领域的叠加模型,并通过降雨像素在图像上的纹理分布特征,有意识地将网络设计为多尺度融合卷积的结构,包括空洞卷积、大小尺度卷积融合残差层等.

训练两个网络分阶段地估计无雾有雨图像与无雾无雨图像来恢复受到降雨污染的清晰图像,提升了网络的泛化性与去雨效果.通过分阶段处理雾气,以及降雨条纹来明确网络学习目标.加入了大小尺度融合的残差层扩大网络感受野,最终能够通过端到端的网络直接恢复降雨图像.本文提出的网络在合成图像数据集与真实降雨图像数据集上与其他先进的降雨去除模型都进行了对比.实验结果证明,本文的网络在合成图像数据集与真实降雨图像数据集上的测试都取得了较好的效果,尤其对雾气效果较重的图像,本文提出的网络与其他方法相比效果更加突出.

猜你喜欢
雾气条纹雨滴
雾气一样的摆渡船
雾气一样的摆渡船
小雨滴
山中雾气
水天月
可爱的小雨滴
谁是穷横条纹衣服的人
别急!丢了条纹的斑马(上)
别急!丢了条纹的斑马(下)
小雨滴