基于低秩矩阵补全的单幅图像去雨算法

2020-07-27 09:57刘培钰陈炳丰蔡瑞初
广东工业大学学报 2020年4期
关键词:单幅亮度像素

朱 鉴,刘培钰,陈炳丰,蔡瑞初

(广东工业大学 计算机学院,广东 广州 510006)

无人机、自动驾驶等的视频监控系统经常会获取到受雨天气影响的视频和图像数据,雨线的存在和反射会对拍摄的场景内容造成遮挡和干扰,改变原始视频和图像信息导致许多视觉算法的有效性严重降低。尽管视频去雨技术已经相对成熟[1-4],但该类算法不能很好兼容处理单幅雨图像,因为单幅图像数据缺乏视频数据中丰富的时空特征,无法利用相邻帧之间的冗余信息来提供检测和修补线索。因此,研究单幅图像中雨线的检测和去除,对提高单幅图像的视觉质量及其他视觉系统的处理效果等均具有重要意义。

近10年来,主流的单幅图像去雨方法大致分为以图像分解为主的模型求解方法和以深度学习为代表的数据训练方法。基于模型求解的方法主要利用图像分解等技术建立模型,利用雨的先验知识等作为约束条件,通过设计优化算法求解模型,得到干净的图像[5-11]。如Li等[8]基于输入图像的先验知识,采用混合高斯模型实现图像层分离,但该模型只适合处理背景较为平滑的雨图像。Luo等[9]基于滤色模型采用一种图层混合模型,并利用稀疏表示与贪婪追踪求解达到单幅图像去雨的目的,但该算法对于大雨图像处理效果并不理想。文献[10]中,作者采用联合优化过程,由3个新颖的图像先验辅助,从雨图中分离出无雨背景层B和图层R,从而达到去雨目的。总体来说,该类方法常用的假设是将雨图像视为非雨背景层和雨层的线性组合,目标是将背景层与雨图像分离。但从层分离的角度来看该类算法是一个不适定问题,通常需要添加额外的先验层来解决该问题。针对此问题,Liu等[11]研究了一种通用的优化展开技术,该技术可将深层架构合并到迭代中以进行自适应图像层分离,从而达到去雨的目的。但实验显示该类方法仍会由于雨层和背景层之间固有的歧义性,不可避免地存在过度去雨或产生伪影等问题。

基于数据训练的方法主要以深度学习为代表[12-17],该类方法构建神经网络并训练大量数据,通过拟合形成有雨图像和无雨图像之间的映射,从而得到干净的无雨图像。如文献[15]中构建了一个多任务深度网络,共同学习3个目标:二进制雨图,雨层图和干净的背景图,进而达到去雨的目的。Zhang等[16]采用多数据流稠密网络自动判定雨密度信息,并根据估计的雨密度标签去除相应的雨条纹。但正如文献[17]中所述,该类方法总是涉及复杂的网络结构设计和繁琐的参数调整问题,因此很难服务于实际应用。

基于上述分析及存在的问题,本文充分利用雨像素和非雨像素的特性,提出一种新颖的3阶段去雨方法,采用检测、修补、优化的策略,引入矩阵补全算法有效解决单幅图像去雨的问题。

具体地,本文算法分为以下3阶段:

(1) 检测:利用雨像素的亮度先验信息检测雨像素的位置。

(2) 修补:利用自然图像的自相似性,结合低秩矩阵补全算法,修补图像中被雨影响的像素。

(3) 优化:利用修正策略优化去雨效果。

利用上述3阶段处理,将去雨的问题转换为低秩矩阵的补全问题。在算法上避免图像层分离方法的歧义性以及深度学习方法繁琐的预训练和参数调整问题,仅涉及到低秩矩阵补全的最小化求解问题。另外在实验数据上,本文算法不仅对雨线细小的雨图有较好的去雨效果,而且对大雨图像的处理效果也有一定的优势。

1 低秩矩阵补全算法

低秩矩阵补全(Low Rank Matrix Completion,LRMC)是指某矩阵含已知缺失元素时,根据矩阵的低秩结构利用已有的少量像素来补全矩阵的所有元素[18]。目前已有不少工作通过求解凸优化问题实现低秩矩阵恢复[19-21]。具体的来说,通过解决以下优化问题从不完整的矩阵 P 得到补全的矩阵Q 。

近年来,上述矩阵补全算法频繁应用于信号处理、视频去噪、图像修补等领域[22-24]。在视频/图像去雨领域也已有相关工作,Wang等[25]将雨堆叠起来构造三阶张量,通过考虑张量形式的低秩来表征相似度和重复模式,并使用张量核规范(Tensor Nuclear Norm, TNN)进一步规范低秩,从而保留雨条纹的内在空间结构达到有效去雨的目的。文献[26]中,作者通过恢复相邻帧之间的低秩分量来提取雨雪无失真的信号,从而达到去雨的目的。Zhang等[27]基于低秩表示的卷积滤波器,提出一种基于卷积编码的算法应用于单幅图像去雨。

本文基于以下核心思想,将低秩矩阵补全算法应用于单幅图像去雨领域:清晰的自然图像分割成重叠的图像块后大部分都是相似的,图像块组成的数据矩阵是低秩的,从而可以投影到更低维的线性子空间,因此仅需要少量元素即可通过低秩矩阵补全算法恢复整个矩阵。在本文方法中将第一阶段检测到的雨像素标记为矩阵的丢失元素,利用自相似性及低秩属性可将单幅图像去雨问题转化为低秩矩阵补全问题,从而达到去雨目的。

2 本文算法

本文算法分为3阶段:首先在2.1节介绍如何利用雨的亮度信息检测图像中雨线位置。第2.2节,利用图像块的自相似性,结合低秩矩阵补全算法,修补图像中被雨影响的像素。最后,第2.3节提出修正策略优化去雨效果,并提高客观度量值。

2.1 检测

去雨算法中常假设雨图像由雨层和干净背景层叠加组成,因此雨像素的亮度值通常大于其邻居像素的亮度值。假设I为输入的彩色雨图像,分辨率为a×b。首先将RGB三通道转化为YCbCr的Y通道(即luma通道),并转化为双精度值进行处理。根据亮度先验,若像素 (i,j)的 亮度值 I(i,j)大于检测窗口覆盖的邻域像素平均值,将其视为候选雨像素,见式(2)。

其中, M为标记矩阵,其大小同输入图像分辨率,用以表示图像中对应像素是否被标记为候选雨像素。M(i,j) 为1时 表 示 像 素( i,j) 的 亮 度 值 I(i,j)大 于 以(i,j)为 中心的窗口覆盖的邻域像素的平均值I¯,即该像素被标记为候选雨像素。

为提高检测的准确性,本文不仅定义了被检测像素( i,j)位于正中心的窗口,另外定义了4个窗口,分别表示被检测像素(i,j)位于窗口左上角、右上角、左下角、右下角位置。全部窗口记作 ωk(k=1,2,3,4,5),大小为7×7。若像素(i,j)的 亮度值I (i,j)全部大于预定义的5个窗口的邻域像素的平均值,则将其标记为雨像素,见式(3)。

图 1 雨检测模型的结果Fig.1 Results of our rain detection model

其中, B代 表最终雨标记位图,其大小与 M一致。值为1时表示像素( i,j)在5个窗口均被标记为候选雨像素,即在每个窗口中像素 (i,j)的 标记矩阵值 M(i,j)均为1,则该像素被确定标记为雨像素,反之标记为非雨像素。

图1(a)、(c)展示了两幅原始雨图R-1和R-2,图1(b)、(d)展示了由式(2)得到的对应雨标记位图B-1和B-2。如图所示,几乎所有的雨像素都被标记出来。但由于自然图像中往往存在部分背景较亮的情况,这些非雨像素的亮度值可能小于相邻雨像素的亮度值,但大于邻域像素的平均亮度值I¯,因此该检测条件也可能将该部分检测标记为雨像素。如图1(b)、(d)中红色箭头所示,一些与雨像素亮度值接近的白色背景像素被误检测标记为雨像素。然而,较为松弛的雨检测标准正是本文算法所需,适当的过检测对本文的修补结果更加友好。如图2为非雨图像测试的结果展示,图2(a)为输入的干净非雨图像(假设为雨图像),图2(b)为根据式(2)检测得到的雨标记位图,图2(c)为利用本文修补模型得到的“去雨”图像。可以明显看出,即使存在误检测的非雨背景像素,低秩矩阵补全算法的高质量修补能将雨像素与误检测的背景像素都恢复至与原有像素值十分接近,部分差异用蓝色框标记。此外,在相似块匹配算法中一些较亮背景的图像块因为较尖锐的亮度值同样影响匹配的精确性,因此适当的过检测将较亮的背景像素标记为雨像素处理,同样可以提高相似块匹配的准确性。然而,若检测不足去雨效果会由于残留大量未修补雨像素而大打折扣。

图 2 非雨图像的雨检测与修补测试Fig.2 Rain detection and repair test for non-rain image

2.2 修补

正如第1节所述,修补模型基于以下事实:自然图像分割成重叠的图像块后通常有许多自相似块,当把这些相似块堆叠组成相似矩阵,则该矩阵满足低秩属性。因此,可将雨像素标记为矩阵的丢失元素,再把去雨问题转换为低秩矩阵补全算法的求解问题,达到修补雨像素的目的。具体实施如下:

首先,将输入图像I预处理后,划分为大小为n×n的步长为s的重叠图像块,在N×N的邻域中利用相似块匹配算法搜索其相似块集合(其中n=8,s=3 pixels,N=10s=30),然后将这些相似块堆叠为具有低秩属性的相似矩阵。其次,将矩阵中检测到的雨像素标记为相似矩阵的缺失元素,通过迭代求解约束条件下的最小化问题,将去雨转化为低秩矩阵补全问题,最终得到干净的图像块。所有图像块处理后,将去雨后的图像块重构为去雨后的整幅图像。本文将上述处理过程简称为RM-LRMC(Repairing Model Based on Low Rank Matrix Completion)。最后,基于对上述低秩矩阵补全修补模型的分析和实验(见2.3节),提出有效的修正策略,进一步优化整体去雨效果,简称为RM-LRMC+。图3给出了上述修补过程的流程图。

2.2.1 图像块匹配与组合

首先,对于待比较的两个图像块 p和q,定义其欧几里得范数的平方作为两者的距离度量∆ ψ,见式(4)。

上式距离 ∆ψ与图像块之间的相似度关系为∆ψ的值越小表明两个图像块的匹配程度越高,即越相似。反之,∆ ψ越大表明两图像块越不相似。

对于原始输入的雨图像,本文首先进行高斯滤波预处理:将被标记的雨像素的亮度值用高斯滤波处理后的结果替换,非雨像素的亮度值保持不变。由于原始输入的图像含有大量的雨线,直接分块匹配是不合适的,采用上述预处理的中间数据代替原始雨数据,可以提高相似块匹配的准确性。

图 3 RM-LRMC+修补算法流程图Fig.3 RM-LRMC+ repairing algorithm flowchart

图像块匹配与分组是指以像素( i,j)为中心的大小为n×n的样本图像块p,利用式(4)在N×N的邻域中寻找与其相似的图像块。假设 {pr}是样本图像块p经过匹配算法后得到m个相似块集合,其中相似块数量m由距离阈值∆ ψ控制,因为固定的m值或距离阈值并不能适用于所有图像,为了提高实验的鲁棒性,本文的距离阈值∆ ψ 由与其最相似的n2个图像块之间的平均距离决定。将样本图像块 p 和所有相似块 pr分别展开用列向量表示,再组成图像块 p的相似块矩阵P,其大小为n2(m+1)。

2.2.2 去雨

得到每个图像块 p对应的相似矩阵 P后,下一步基于相似矩阵的低秩属性,通过解决式(1)的优化问题将去雨问题转化为低秩矩阵补全的最小值优化问题。

式(1)模型最早用于解决视频去噪问题[23]。本文则利用其从雨数据 P 恢复出去雨数据Q ,从而解决单幅图像去雨问题。值得一提的是,文献[23]中使用自适应中值滤波器粗略地检测出要恢复的像素(即噪声),而本文采用较为准确的雨的标记位图 B ,从而更为可靠地确定参与矩阵补全逼近修补的非雨像素。另外,目标函数的核范数用于保证恢复的Q 具有较低的秩,因为Q 中的向量彼此相似,约束条件用于保证恢复的Q 中 的 P非雨部分足够接近。

基于文献[23],本文引入参数μ求解式(1)的拉格朗日版本,见式(5)。

如第1节所述,目前已有较多算法解决上述优化问题,本文基于效率性考虑选取定点迭代算法求解[20]。同时为了提高修补的力度,本文设置当迭代误差小于1 0−3或达到最大迭代次数100时停止迭代认为得到最优解。最终,对全部雨图像块进行上述去雨操作后,将图像块重构为完整的图像。由于本文图像块是重叠划分,重构时每个像素的亮度值由所覆盖的像素块的平均值决定。

2.3 优化

仅用上述操作便可达到较好的去雨效果,如图4(e)和图5(e)所示。对于存在的过检测问题,图2可充分说明算法能有效处理。然而,一方面由于部分图像块含突兀背景信息且像素值较大,从而秩比较大且在全局中相似信息较少,因此在相似块匹配时匹配得到的符合条件的相似块较少,导致修补效果不足。另一方面,由于参数设置时考虑到平衡逼近精度和时间复杂度以及实验数据的鲁棒性,部分像素的迭代次数可能不够,因而存在恢复精度不足的情况。如图4中,前3幅图红色框标记的区域,部分边缘背景像素未修补完整。因此,本文进一步提出修正策略,优化去雨效果,并有效提高客观度量值。

图 4 8幅合成雨图的去雨结果对比Fig.4 Comparison of the de-raining results of the eight synthetic rain images

图 5 4幅真实雨图的去雨结果对比Fig.5 Comparison of the de-raining results of the four real rain images

现有的去雨工作一般对雨图的生成模型进行相应的简化处理,常用的是加法模型,见式(6)。

其中, x为图像中像素点所在的位置,原始干净图像层为F(x) ,雨层为R1(x),式(9)表示为R2(x),两层图像混合之后得到的雨图像为I(x)。

而在ICCV2015中,Luo等[9]采用一种新颖的图层混合模式的雨图生成模型,如式(7)所示。

基于以上2个模型反求雨层,可得到

理想情况下,减去背景非雨层,雨层 R1(x)与R2(x)的值应该十分接近。定义两者之间的差值为

则 d 的绝对值(表示为| d|)应该足够小。假设输入雨图像为 I(x) ,RM-LRMC算法得到的去雨图像为 F(x)。基于上述事实,本文的修正策略为(RM-LRMC+修正算法):将| d|约 束在较小的阈值 β 内,其中 β=mean(|d|),即 |d|中 标记为雨像素的位置的平均值。保证(x)与R2(x)的值足够接近。超过该阈值的像素值被认为修补精度不够,将根据式(11)的规则进行更新。

由于是判定条件为绝对值 |d|, 增量值µ 过大或过小均可能会造成过分循环。因此经过多次实验,考虑取增量 µ=。该修整方案能尽量保证更新恢复的是未修补完整的背景像素,而不是已被修复的雨像素。基于上述修正策略,修正了RM-LRMC算法中部分过暗的背景像素,更大程度地保留了图像背景细节(如图4前两幅图(e)和(f)中红色框标记位置),也提高了各客观度量值(参考表1、表2中RM-LRMC与RMLRMC+对应的值)。

表 1 图像质量评估指标PSNRTable 1 Image quality assessment with PSNR

3 实验

为验证本文算法的性能,在合成雨图和真实雨图上均作了验证,并分别与Li等[8]和Luo等[9]基于模型求解的方法和Zhang等[16]基于数据训练的方法作对比,前两者是基于模型求解的代表性去雨算法,其中Li等[8]采用经典的高斯混合模型,Luo等[9]采用较为新颖的图层混合模型,后者是基于深度学习的代表性算法。此外,以峰值信噪比(PSNR)和结构相似性指数(SSIM)作为度量标准[29-30]。所有测试图像数据选自Li等[8]和Yang等[31],对彩色图像的处理,本文均先将RGB图像转化为YCbCr格式,再基于Y通道的双精度数值进行去雨操作,最后再转化为RGB格式输出。

表 2 图像质量评估指标SSIMTable 2 Image quality assessment with SSIM

表1、表2分别列出了图4中8幅合成雨图对应的PSNR/SSIM指标值。表格的最后一行显示平均值,最佳值和最差值分别以红色和蓝色突出显示(RMLRMC算法不参与比较)。就PRNR/SSIM而言,本文的RM-LRMC+算法均展示出较佳的度量值。其中Image1~Image4选自Li等[8]方法提供的数据集,Image5~Image8选自Yang等[31]提供的数据集。明显可以看出虽然Image1和Image3中Li等[8]方法的PSNR结果略高于本文算法,但Image2和Image4以及Image6~Image8的最佳PSNR值均为本文的RM-LRMC+算法。由于去雨结果中存在残留雨线,而且修补后图像出现不自然的伪影导致Luo等[9]方法表现的结果一般。Zhang等[16]方法由于去雨后的图像整体偏暗,因此PSNR/SSIM值大多最低。整体上,本文方法针对8幅合成图的平均PSNR和SSIM值均为最优。

图4和图5分别展示8幅合成雨图和4幅真实雨图的去雨结果。其中第1列为原始雨图,后5列分别为其他3种方法和本文提出的RM-LRMC、RM-LRMC+算法处理的结果。主观观察可以发现,无论是合成雨图还是真实雨图,本文算法均表现一定的优势。Li等[8]方法有一定的去雨效果,但仍有存在明显未消除的雨条纹,Luo等[9]方法因为过度去雨出现不自然的伪影,导致较为明显的处理痕迹,且对雨线较粗的图像处理并不好。Zhang等[16]方法基于复杂的深度学习网络模型去雨效果有一定的优势,但处理后的整体图像明显变暗。反观本文RM-LRMC+算法,在有效去除雨线的同时保留了图像背景细节,可获得更好的视觉效果。值得一提的是,图4中后2幅图是含有较粗雨线的图像,可以看出本文对于大雨的图像仍然有较好的去雨效果。综上,无论是主观视觉还是客观度量,本文算法均表现出一定的优势,充分说明本文方法能更好地在恢复被雨破坏像素的同时保留背景细节。

4 结语

为了解决单幅图像去雨问题,本文采用检测、修补、优化的策略提出一种新型的3阶段去雨算法。首先利用雨线的亮度先验检测雨像素的位置,再利用图像块自相似性将去雨问题转化为低秩矩阵补全问题。并通过迭代逐步优化求解,初步达到去雨的目的。最后提出有效的修正策略进一步优化去雨效果并提高客观度量值。相比其他方法,本文方法在合成雨图和真实雨图的实验结果均具有一定优势。

此外,由于本方法基于图像块处理,每个图像块都需要进行低秩矩阵补全过程,因此相对耗时较长。未来将尝试使用其他更有效的低秩求解算法,例如利用低秩张量模型约束秩,从而提高算法的效率。

猜你喜欢
单幅亮度像素
基于改进大气散射模型的单幅图像去雾方法
像素前线之“幻影”2000
基于CNN的轻量级神经网络单幅图像超分辨率研究
远不止DCI色域,轻量级机身中更蕴含强悍的亮度表现 光峰(Appptronics)C800
“像素”仙人掌
亮度调色多面手
ÉVOLUTIONDIGAE Style de vie tactile
亮度一样吗?
基于稀疏表示和结构自相似性的单幅图像盲解卷积算法
基于改进暗通道和导向滤波的单幅图像去雾算法