基于Retinex的图像增强方法综述
2019-02-27谢凤英
谢凤英 汤 萌 张 蕊
(1.北京航空航天大学宇航学院图像处理中心,北京,100191;2.北京航空航天大学生物医学工程高精尖创新中心,北京,100191)
引 言
20世纪70年代前后,Land等人[1-2]发现在不同光照条件下,人眼可以产生近乎一致的色彩感知,这种性质被称为颜色恒常性,他们猜测这种恒常性是经过视网膜(Retina)和大脑皮层(Cortex)共同处理后的结果,于是将两个英文单词组合成“Retinex”,提出了用于模拟人类视觉系统(Human visual system,HVS)机理的Retinex理论。在Retinex理论提出的40多年来,诸多学者对其进行了大量的研究,产生了许多新的解读[3-5],这也显示出Retinex旺盛的生命力。需要注意的是,Retinex的初始模型依赖于心理学的实验,目的在于研究如何解读HVS的机理,而当前的Retinex在某种意义上是对数字图像进行处理,使其更接近于人类所观察到的场景,这两者存在区别[6]。本文主要针对后者进行讨论。
Retinex理论提出的40多年来,各种Retinex模型相继提出,Retinex理论也不断得到丰富和发展。Land和MacCann在提出Retinex的同时提到了一种用于基于路径的计算机制[1-2],即通过计算路径相邻位置的相对亮度并结合路径中的局部最亮点——白色参考点(White patch,WP)[7]来获取物体的反射率。Land并未构造足够明确的Retinex数学模型,这使得许多研究学者对Retinex理论产生了不同的理解,陆续提出了路径模型、PDE(Partial differential equations)模型、变分模型和中央周边模型(Centersurround)等各种Retinex模型。路径模型是最基础的一种Retinex模型,源于Land提出的路径机制,近年来亦有不少学者致力于路径模型的改进[6,8-11]。而Horn创新性地将图像分解为光照图像和反射图像,以此设计偏微分方程,构建了PDE模型[4];这种将图像进行分解的做法能够降低后续算法设计的难度,启发了后来的许多变分模型。变分模型是Retinex模型里比较重要的一个分支,也是近年研究的重点[12-16];变分模型将求解Retinex问题看作最优化问题,该方法通过设计满足Retinex理论的约束项来构造能量泛函,进而获得理论上的最优结果。变分方法效果较好,但由于需要求解优化问题,计算量偏大。中央周边方法最早由Land提出[3],其目的是希望简化基于路径的Retinex模型,这类方法中最具代表性的是多尺度Retinex模型(Multiscale Retinex,MSR)[17],该方法在处理效果和处理速度之间取得了较好的平衡,应用也最为广泛。
Retinex理论方法的发展,促进了其在图像增强中的应用。Retinex主要用来解决数字图像中的光照不均和色偏等问题,也被广泛用于雾霾图像、水下图像等图像处理任务中以获得高对比度的图像[18-22],同时在医学、遥感、公安、交通等各个领域都有成功的应用。如文献[23]采用Retinex算法来减少航拍图像中出现的阴影;文献[24]针对视网膜图像中存在的光照不均问题,采用Retinex算法进行矫正;文献[25]将Retienx用于改善夜间图像的成像效果。
本文首先介绍Retinex理论的基本原理,并对Retinex的4种主要模型分别进行综述,在此基础上对当前Retinex增强方法在图像处理任务中的应用进行介绍,最后总结Retinex的当前研究现状和未来发展方向。
1 Retinex理论基本原理
Land等人使用由不同色块组成的“蒙德里安”图像进行人类视觉恒常性的研究。他们对“蒙德里安”图像使用梯度光照进行照射并仔细调整光照,使图像不同色块的反射光的组成成分一致。他们发现尽管最后反射到人眼的光的组成成分相同,但人眼依然可以准确地确定不同色块在正常光照条件下的对应颜色。为解释这种现象,Land和MacCann等人进行一系列的实验[1-2,26],发现色觉产生所依赖的3个色彩感知系统相互独立并且每个系统都能够单独在复杂的光照条件下表现出恒常特性。他们认为色觉不由照射到人眼的可见光的光强决定,而是由物体表面固有的反射率所确定,人眼能够以某种方式过滤掉光照的影响而直接获得物体表面的反射率从而确定颜色。对每个色彩感知系统来说,如果将其所接收到的光的强弱用光出射度I表示(为便于叙述本文也将其称为为亮度),将物体表面对于相应波长的光的反射率记为R,将光照度记为B,那么每个通道所感知的色彩强弱可以认为由如下简化模型得到
式中x为坐标点。
反射率是物体本身固有的性质,与光照条件无关,如果能够从一幅图像中获得3个色彩通道对应的反射率R,那么从某种程度上可以说是解读了人类的视觉恒常特性。
对于数字图像来说,Retinex对其处理方式一般分为两种:一种是将彩色图像分为RGB三个通道,对每个通道应用Retinex算法以解决色偏问题;另一种是将图像转换到含有亮度通道的色彩模型(如HSV色彩模型、CIELuv色彩模型)中,对其亮度通道单独进行处理以解决光照不均的问题。在色偏问题中Retinex对RGB图像3个通道处理方式相同,在光照不均问题中仅处理亮度通道,因此接下来对模型的叙述不再对通道加以区分。
2 Retinex模型分类
2.1 路径模型
路径模型是Retinex模型中最为基础的一类模型,最早由Land提出,后来诸多的Retinex模型或多或少与路径模型有着一定的联系。
(1)原始的路径方法
Land在提出了Retinex理论后,引入一种路径计算机制,通过计算路径相邻位置的相对亮度并结合路径中的WP[7]来获取物体的反射率。Provenzi等人[27]则对该模型进行了精确的数学描述。给定归一化的数字图像I,从该图像上某一点y到目标点x可以选定任一条路径,假设路径上相邻的两个像素上对应的亮度值分别为I(xk),I(xk+1),比值为,则沿这条路径可以求得x处相对亮度值为
式中:n表示该条路径中像素点的个数;δϵ为阈值函数。
为减弱噪声的影响,可以计算多条这样的路径,最终x处相对亮度值可以表示为
如果忽略阈值机制δϵ,Provenzi等人证明实际上就是终点x处的亮度I(x)与路径中最大
亮度I(xH)的比值[27]。因此式(3)可以简化为
(2)改进的路径模型
式(4)中N越大噪声越少,但相应的计算量会大大增加。为了尽可能在路径较少的情况下减弱噪声,Marini和Rizzi采用了一种随机中点位移的方法来使选取的路径接近于布朗运动[28],Cooper等则使用一种双重螺旋的方式来选取路径[29]。不过这些路径的采样方式是一种一维的采样,依赖于方向而不是某一点的邻域信息,因而会导致处理后的图像出现光晕、伪影等问题[10,30-31]。此外这类方法所需的参数较多,并且不同的图像对这些参数也比较敏感,很难确定统一的参数来获得一致的结果。
针对一维采样方法的不足,Provenzi等人提出了基于二维的随机撒点模型(Random spay Retinex,RSR)[10]。该方法将一维的路径方式改为向二维圆形中撒点,并通过“密度函数”来控制离中心x距离r处圆周撒点的密度,其公式描述如下
式中Ck(x)表示第k次撒点的区域。该模型减少了参数个数,而后出现一些模型来对其继续改进。比较有代表性的是 Banić和 Lončarić提出的 LRSR(Light random sprays Retinex)模型[32]以及 SLRMSR(Smart light random memory sprays Retinex)模型[11],前者能够在参数N和n更小的情况下获得噪声更少的Retinex结果,而后者通过改变撒点的方式来进一步降低计算复杂度。
Bertalmío等人将二维撒点过程用更加高效的“核”来替代,提出了KBR(Kernel-based Retinex)模型[6]。其形式如下
式中:x,y为图像空间Ω上的两个点;w(x,y)为所谓的“核”,表示在点x周围选点选到y的概率密度,取值在(0,1)区间,并且满足
Provenzi等人用严格的数学理论证明了上述几种Retinex模型在计算过程中仅能够对欠曝的图像进行处理,无法处理过曝的图像[27]。为此Bertalmío等人参考了Palma-Amestoy提出的一种图像色彩增强的变分框架[12],将KBR模型进行反对称改造,得到了aKBR(Anti-symmetrization KBR)变分模型[6],从而解决了KBR模型无法处理过曝图像的问题。经过改造的模型可以表示为如下的形式
这类改进的路径模型忠实于Land路径模型,参数相对较多、计算量大且易于产生噪声,最新的一些路径模型[8-9,33]也多围绕减少噪声、降低计算量进行改进。而一些学者则试图摆脱路径模型的基础框架,从其基本的原理出发,衍生出了更丰富的Retinex模型。
2.2 PDE模型
通常认为Land提出的路径模型是最原始的Retinex模型。该方法一方面需要进行随机采样来尽可能在减少计算量的情况下减弱噪声,而另一方面Retinex从某种意义上说是使用局部信息恢复颜色认知的一种计算模型[34],但如果选取的路径不断增多、范围不断增大,模型将退化为全局的WP模型[27]。Retinex提出后不久,Horn率先以一种极具创新的视角解读了Retinex模型[4]并对其进行简化,提出了一种PDE形式的Retinex模型。他率先将式(1)中的光照分量B和反射分量R从亮度I中分离开来,分别得到光照图像和反射图像,以此构建偏微分方程。后来的许多方法都受此思想的影响。
出于计算方便,将式(1)两边取对数后有
式中ℐ(x)=log I(x),ℛ(x)=log R(x),ℬ(x)=log B(x),那么由式(8)可以得到
式中Δ为拉普拉斯算子。取
Horn认为在光照平滑的前提下,光照图ℬ处处平滑,对应点位置的偏导数是一个小量;另一方面,物体反射率一般只在边缘处有较大变化,在物体内部可视为反射率不变,因此认为δϵ(Δℐ(x))≈ Δℛ(x)。最终得到泊松方程为
对此Horn采用了一种迭代的策略进行求解,但该方法并不是一个最优的方法[30]。Blake[35-37]对Horn的方法进行了改进,他指出Horn的方法不完全等同于Land的Retinex,因而将Horn微分方程中的Laplace算子更改为了梯度。
Morel等人[38-39]直接从基于路径的Retinex模型中推导出了具有类似形式的泊松方程。他们证明了对称随机游走Retinex模型可以表示为具有诺伊曼边界条件的离散泊松方程为
式中Δd以及∂d分别表示离散拉普拉斯算子以及离散偏微分符号。在此基础上可以推导出,在不考虑阈值函数δϵ的情况下,式(12)将退化为Horn的泊松方程的形式。
Ma等人[40]分析了式(12)后认为其本质可视为L2范数的优化问题,因而可以称为L2-Retinex,即
类似地,他们提出了一种L1-Retinex模型[40]
PDE模型根据Retinex理论的一些基本假设来构建偏微分方程,相对于路径模型其描述更为精确,并且参数量少,得到的结果更为稳定。
2.3 变分模型
变分方法是Retinex方法中的另一条重要的分支。基于变分方法的Retinex模型融合一些假设和先验条件构造变分问题。相对而言,变分模型在保证模型描述精确的同时又不失灵活,既可以完全遵照Retinex的基本理论和假设,也可以融合一些限制条件来满足实际应用需要。由于构建的模型可能不完全遵照原始的Retinex理论,因此有文献也将这种类型的模型称为Retinex-like模型。
变分模型主要包括两个分支,一种来源于对人类视觉系统的研究,称为基于HVS的变分模型;另一种模型把Hron将图像分解为光照图像和反射图像这一思想作为一种先验信息,称为基于Horn物理先验的变分模型。
(1)基于HSV的变分模型
Palma-Amestoy等人[12]率先从HVS出发构建了一种Retinex-like变分模型,具体形式为
式中全局项D用以控制最终生成的图像满足GW(Gray world)假设;另一项为局部项Cw,最小化该项会使得图像对比度增强,而这一项具有一定的Retinex模型的特性。
Palma-Amestoy选取“离差熵”作为全局项,将最终优化的结果接近原始图像I0,同时满足GW假
式中α,β>0。局部项可以定义为
式中:w(x,y)为距离函数,其值随像素之间距离的增加单调递减,用以实现“局部”特性;F用以对图像进行伽马校正。事实上如果令F‘(ξ)=ξf(ξ),通过计算可以得到
变分模型计算量相对较大,为此Provenzi等人[41]在Palma-Amestoy等人的变分模型基础上与小波进行结合,降低了计算量。
(2)基于Horn物理先验的变分模型
Kimmel等人认为光照分量的空间变化是平滑的,根据这一先验假设,其在Horn工作的基础上,构造了Retinex的变分形式
式中:‖∇ R ‖2为TV项,以获取分段光滑的反射图;参数t为权重系数。Ma和Osher等人的模型并未考虑保真项,Ng和Wang在此基础上加入保真项得到
式中:‖ℬ - ℛ-ℐ ‖2为保真项;α和β为权重系数。
这类基于Horn物理先验的变分模型相对灵活,可以方便地添加不同的约束项来获得更好的效果。例如Wang等人[13]参考了凸优化问题中的内点法定义约束项,而Cheng等人[16]则加入了混合超拉普拉斯先验来构造约束项,均获得了很好的效果。
2.4 中央周边模型
中央周边模型是一个相对简单但效果不错的Retinex模型,可以说中央周边模型本身就是为降低计算的复杂度而诞生的,最早也是由Land提出[3],他认为图像某点的Retinex结果应当为该点的光出射度与邻近位置光平均出射度的比值,并且通过实验解释了马赫带现象,确立了该方法的合理性。Land的中央周边模型希望通过某一点与其周围区域相比较从而消去光照的影响这一思想,在某种程度上可以看作Land路径方法中通过相邻像素之比消去光照影响这一思想的延伸,在此基础上Jobson等人[46]构造了SSR模型(Single-scale Retinex)为
式中F为卷积核,作者选取具有局部特征的高斯核作为卷积核。考虑光照变化平滑这一先验假设,那么可认为
令 F*R=Rˉ,可以得到
由式(24)可以看到,SSR模型通过“局部对比”消去了光照的影响,因而在光照平滑变化的条件下具有光照不变的恒常特性。然而SSR最终效果与高斯核的大小密切相关,对于一幅灰度图像来说,小尺寸高斯核可以提升图像暗部亮度,但有可能会导致补偿过度使图像动态范围过小,亦会出现“光晕”现象,而大尺寸高斯核可以提升图像动态范围,但可能使模型丧失局部特性,导致图像阴影处无法得到补偿。因此Jobson等人进而提出MSR模型[17],该模型融合多尺度高斯核,可以获得稳定的结果
对应处理彩色图像的MSR模型为MSRCR(MSR with color restoration)模型[17,47-48]和MSRCP(MSR with chromaticity preservation)模型[48],前者用于处理彩色图像色偏,后者用于解决光照不均的问题。
3 基于Retinex的图像增强算法应用
Retinex理论的一个重要基础是将图像分解为光照照度和反射率的乘积,各种Retinex模型的一个共同目标是获得尽可能准确的反射图,从而在复杂的光照条件下恢复场景中物体的真实色彩,这给Ret⁃inex的应用提供了很大的空间。
在实际应用中,如果仅对图像的亮度信息使用Retinex相关算法进行处理,可以提高图像暗区的亮度[49],因而许多Retinex模型被用于处理曝光不足或者动态范围较低的图像以获得较好的视觉观感。再比如夜间相机成像曝光普遍不足,因而文献[25,50]将改进的MSR算法用在夜间成像中,在不损失高光细节的情况下提升了图像整体亮度;文献[23]则将Retinex用于航空影像中,以去除航空影像中高大建筑物的阴影。此外Petro[48]和Palma-Amestoy[12]等人指出,如果使用Retinex算法对彩色图像RGB三个通道分别进行处理,可以在一定程度上减少色偏。
事实上Retinex作为一种解决光照不均或色偏的图像增强算法,已经被广泛用于各种图像分析任务的预处理步骤中,以降低图像的复杂性,从而增强后续算法的鲁棒性。例如文献[51,52]在人脸检测任务中将Retinex作为图像的预处理步骤,移除光照的影响从而提升复杂光照条件下算法的鲁棒性。Lu等人[53]采用Retinex变分模型来评价皮肤镜图像的光照不均程度;文献[54]则将Retinex用于眼底图像光照不均的矫正。
另一方面许多Retinex模型在求解反射率时假设光照是均匀的,那么根据式(8)可以看到,在光照均匀这一前提下可以将一幅图像视为低频的光照信息与高频的反射率信息的加和,这与同态滤波的思想非常接近,因而一些学者将这类Retinex模型用于增强低能见度图像,通过抑制图像分解后的低频部分,达到增强图像的效果。例如Rajput等人[18]提出了一个基于Retinex的对比度增强算法,有效提升了雾天图像的视觉效果。Gao等人[19]则将彩色图像转换到HSI空间后应用MSR算法,也取得了不错的去雾效果。类似地,文献[20,22]将Retinex用于水下的彩色图像,以增强水下图像的能见度。
Retinex适用的任务十分广泛,实际上很多图像处理任务复杂,单纯应用Retinex方法经常不能达到理想的图像增强效果,因此许多文献也往往将Retinex方法与其他方法结合起来,进行图像的预处理增强。例如Zhan等人[55]将Retinex与小波变换结合,用以红外图像的处理,在增强细节的同时改善了红外图像的视觉效果;文献[56]将Retinex与引导滤波结合以实现图像细节,同时减少图像颜色失真;文献[57]则将Retinex与Shearlet变换结合,在提升处理速度的同时改善了图像视觉效果。
4 结束语
在各种图像处理任务中,图像质量的优劣,对最终图像处理的结果至关重要。而在实际任务中,受限于各种条件,所获取的图像往往会存在诸多质量问题,而Retinex作为一种致力于实现人眼的颜色恒常特性的图像增强模型,能够将图像分解为反射率图像和光照图像,进而能够剔除或减弱光照的影响,在解决光照不均或是色偏方面有着非常出色的效果,能够大大降低后续图像处理算法的处理难度。
Retinex方法可以分为路径模型、PDE模型、变分模型和中央周边模型4种类型。本文对这4种Ret⁃inex模型进行原理介绍和综述,同时给出了Retinex算法在图像增强中的一些典型应用。综合来看,基于路径的Retinex模型源自Land对人类视觉系统的相关实验,具有相对完备的理论支撑,然而由于路径方法参数较多,相对耗时,并且存在噪声,目前的应用相对较少。PDE模型源自Horn,是对路径方法的一种全新的解读,相对于路径模型而言,PDE模型的参数较少,性能稳定。基于HSV的Retinex模型与路径模型出发点相似,从人类视觉模型的特点出发给出了Retinex模型的变分形式,具有启发意义;而对基于物理性质的变分模型而言,灵活的架构能够对变分模型中的约束项加以调整,从而获得出色的结果,但其对计算的要求太高,难以获得广泛的应用。中央周边模型是目前最为均衡的一种模型,参数量少、速度较快、结果较为稳定,在性能和速度上取得了很好的平衡,是当前应用最为广泛的一种Retinex模型。
近年来,上述4种模型都在不断地改进与完善。但是,Retinex算法仍然面临的主要挑战是计算速度和处理效果之间的矛盾。一方面Retinex可以通过构造更复杂的模型来获得更好的效果,例如变分Retienx模型可以添加不同类型的能量泛函以对模型进行更精确的调整,从而提升图像整体的视觉效果。但另一方面,复杂的结构又使得模型的计算量大大增加,限制了算法的广泛应用。如何在优化处理速度的同时提升效果,将是Retinex算法未来研究的一个难点和热点。