APP下载

低照度图像增强方法综述

2022-08-02朱泓宇

林业机械与木工设备 2022年7期
关键词:图像增强照度灰度

汤 浩, 朱泓宇, 谢 超

(南京林业大学机械电子工程学院,江苏 南京 210037)

近年来,随着社会的进步发展,多媒体设备使用越来越广泛,视频图像的应用领域也随之越来越广,但由于受图像采集设备的限制,拍摄视频的亮度常常比较低,特别是夜晚拍摄的图像和视频,很难达到我们想要的采集效果,或者获取我们满意的图像信息,因此对这些低照度的图像进行增强处理就很必要。低照度图像增强的目的是突出图像的有用特征,同时削弱或消除干扰信息,将原来不清晰或者亮度较低的图像变得清晰或者增强亮度。夜间照明亮度低,比如月光,火光,灯光等会使得周围环境的光线复杂,从而导致可见光和对比度严重下降,并且伴随着大量的噪声产生;或者因为光照不均匀的影响,出现图像区域间亮度相差较大的现象。影响低照度图像照度的因素还有很多,但是对于军事、监测、安防等领域而言,提高低照度图像的亮度是关键因素。

下面列出了几种典型的以及目前使用范围比较广泛的低照度图像增强算法。灰度变换算法是调整图像的灰度范围,如直方图均衡化[1,2](Histogram Equalization,HE)将图像中原来比较集中的某个灰度空间调整为图像全部灰度区域的均匀分布,并由此算法衍生出了局部直方图均衡算法[3-5](Local HE,LHE),针对于局部图像处理,使用滑动窗口将图像进行分块处理,局部细节增强效果明显。在此基础上又分为了图像分块算法、滑动窗口重叠算法、滑动窗口部分重叠算法,其中滑动窗口部分重叠算法能够结合其他直方图均衡算法的优点,不仅计算速度较快,并且能够有效地削弱块效应。Retinex[6,7]是一种常用的建立在科学实验和科学分析基础上的图像增强方法,改进的Retinex算法有单尺度Retinex算法[8](SSR)、多尺度Retinex算法[9](MSR)、带色彩恢复的多尺度Retinex算法[10](MSRCR)和基于HSV颜色空间的自适应多尺度Retinex算法[11]等等,其中前两种算法在处理过程中会导致颜色的丧失,后两种算法能有效地避免颜色失真。基于Retinex理论改进的低照度图像增强算法还有很多,例如翟海祥[12]等提出的改进Retinex与多图像融合算法,卢晓亮[13]等提出结合单尺度Retinex与引导滤波的红外图像增强算法,基于低照度的带雾彩色图像增强算法[14]等。Retinex本身的难度在于计算速度和处理效果,但它可以通过进一步构造更复杂的模型以获得更好的效果。基于暗原色去雾算法的低照度图像增强[15]依据低照度图像进行翻转操作后,与去雾之前的图像相似,在基于暗通道去雾的图像处理后,有较好的增强效果。近年来,基于深度学习的图像处理取得了关键突破,低照度图像处理常见的两种模式:一种是端到端的训练,另一种则是光照估计,并在低照度图像增强的领域内不断创新。

低照度图像增强面临的问题复杂,并且各个问题之间相互影响,在设计增强算法时难以逐一解决,往往需要借助假设以及先验简化问题难度,因此低照度图像增强相对普通图像增强难以找到合适的方法。研究者们提出了不同的假设和先验,在一个方法中解决一个或多个问题,或者将所有问题构建在统一的增强算法框架之中,以达到最优的增强效果。

1 低照度图像增强算法

1.1 基于域处理的低照度图像增强方法

此类技术根据增强处理过程所在域的不同,又可以分为基于空间域的增强方法和基于频率域的增强方法。

空域法直接对像素灰度值进行处理,分为灰度变换和空域滤波两种方法。灰度变换法可以分为全域线性变换、分段线性变换和非线性灰度变换。全域线性变换可以将原图像的灰度范围调节到想要的范围,从而达到增强的效果;分段线性变换将有用信息的灰度范围扩展,增强对比度,将噪声的灰度降低到较小的范围,可以突出图像的部分细节或者抑制图像的部分区域;非线性灰度变换采取指数函数[16]、对数函数[17]等作为映射函数,指数变换可以压缩输入图像中低灰度区的对比度,扩展高灰度值,对数变换可以压缩图像的高灰度区的对比度,扩展低灰度值。直方图是一幅图像中各像素灰度值出现频率的统计结果。它只反映该图像中不同灰度值出现的次数,不反映某一灰度值像素所在的位置。对于相同的场景,由于获取图像时的亮度或对比度不同,对应的图像直方图也不同,因此,我们可以通过改变直方图的形状到增强图像对比度的效果。采用直方图修正后,可使图像的灰度间距拉大或使灰度分布均匀,从而增大反差,使图像细节清晰。基于空域法改进的低照度图像增强算法还有很多,张令波[18]等提出一种空域和变换域相结合的低照度图像增强算法,该算法结合了拉普拉斯算法和伽马校正,不但能够提高欠曝光区域的对比度,而且能够对过曝光区域实现有效抑制,达到很好的视觉均衡。张大兴[19]等提出基于自适应直方图均衡化耦合拉普拉斯变换的红外图像增强算法,本算法对不同红外图像进行了增强实验,具有更好的增强质量,其输出图像拥有更高的对比度和清晰度,呈现出更好的视觉效果。

频域法对图像进行傅里叶变换后的频谱进行处理,然后逆傅里叶变换得到所需图案,分为低通滤波法[20],高通滤波法[21,22]和同态滤波法[23]。低通滤波器常用的频率域低通滤波器包含理想低通滤波器、巴特沃思低通滤波器和指数低通滤波器。由于噪声主要集中在高频部分,所以低通滤波器能够很好的去除噪声,改善图像质量。理想低通滤波器在去除噪声时会导致边缘信息损失导致图像边缘模糊,产生振铃效应。巴特沃思滤波器相对于低通滤波器没有振铃现象,图像边缘的模糊程度也会大大降低,但是计算量较大。指数低通滤波器处于两者之间,边缘模糊程度大些,但无明显的振铃现象。高通滤波器和低通滤波器一样,具有理想高通滤波器、巴特沃思高通滤波器和指数高通滤波器。图像的边缘一级细节部分都是在高频部分,而图像的模糊就是因为高频部分比较弱导致的,采取高通滤波器能能够让高频成分通过,削弱低频成分,再经过傅里叶逆变换得到边缘锐化的图像。同态滤波是一种在频域中同时将图像亮度范围进行压缩和将图像对比度进行增强的方法,是基于图像成像模型进行的。一幅图可以表示成照度分量与反射分量的乘积,这是同态滤波基本思想。同态滤波器的函数图像跟高通巴特沃斯或者高通高斯滤波器很像,相同情况下,指数型同态滤波器有最好的效果。

1.2 基于Retinex理论的低照度图像增强方法

基于图像处理的方法是单纯地采用线性函数或者非线性函数,拉伸图像直方图的空间分布,以此提升图像的亮度,但是这种方法是单纯地运用数学方法,并没有考虑到图像的形成模型,所以往往达不到效果。

美国物理学家Land首次提出Retinex理论,之后研究者们在此基础上又提出了大量改进的低照度图像增强算法。Retinex是由Retina(视网膜)和Cortex(皮层)两个单词组成的。Land认为红、绿、蓝是三原色,物体的图像都是由物体表面对入射光反射得到的,而反射光是有物体对不同波长光线的反射能力决定的,是物体的固有属性,不受入射光的影响。Retinex原理如图1所示。

图1 Retinex原理

Retinex的原理可以表示为:

S(x,y)=R(x,y)×F(x,y)

(1)

其中,S(x,y)为人眼或者摄像设备看到或者接收到的反射光图像,R(x,y)表示物体的反射性质图像,是物体的固有属性,不随光照的变化而变化,也称为反射图;F(x,y)表示入射光图像,它决定了图像中像素的动态范围,也称为照明图,×表示乘法运算。Retinex采用的是分离的思想,通过算法降低甚至去除入射图像的影响,保留物体本质的反射属性图像。因为R(x,y)是物体的固有属性无法改变,所以我们可以通过调整F(x,y)的强度达到提升S(x,y)亮度和对比度的目的。因此,我们需要将一幅图像拆分为两幅图像,但是求解R(x,y)是一个“病态”问题,所以这种情况下需要通过近似估计的方法计算。Retinex的模型中,照明图为灰度图,反射图中包含着全部的色彩信息,人眼或者摄像机镜头看到的图片亮度都是由照射图决定的,部分区域相较于原图会变暗。

在Land提出Retinex理论之后,Jobson[8]等提出了单尺度retinex算法(SSR),该原理是利用构建高斯环绕函数对图像的三个彩色通道分别进行滤波,经过滤波之后的图像就是估计的光照分量,在对原始图像和光照图像分别进行对数处理后,相减得到输出结果。表达式如下:

ri(x,y)=log(Ri(x,y))=log(Ii(x,y))

-log(Ii(x,y)*G(x,y))

(2)

式中:Ri(x,y)为原始待增强图像,Ii(x,y)为实数域原始图像,G(x,y)为中心环绕函数,*为卷积运算。

G(x,y)的表达如下:

(3)

其中,σ是唯一可调节的参数。σ越小,图像的细节越能保留,同时增大像素动态范围,但颜色会失真;σ越大,色彩保真度越高,但细节会确实,同时像素动态范围变小,但σ过大或者过小也会造成图像增强效果不明显和曝光过度,所以该方法最重要的就是找到合适的σ。多尺度Retinex增强算法[9](MSR)相对于单尺度算法就是增加了高斯环绕函数的个数,可以看作是多个不同尺度的单尺度Retinex进行加权求和。表达式如下:

-log(I(x,y)*Fi(x,y)))

(4)

其中,k表示高斯环绕函数个数,一般取3;Wi表示各高斯环绕函数的加权系数,一般取1/3。这样MSR就能够获得不同尺度下SSR的特点,兼顾图像的整体效果和细节突出,从而达到理想效果。而基于HSV颜色空间的自适应多尺度Retinex算法[11]会先进行图像空间变换,将RGB空间的图像转换到HSV空间,之后估算出图像的反射分量,再将HSV空间转换回RGB空间显示。H、S、V分别对应色调、饱和度和亮度。HSV模型是人眼最为直观的空间模型,因此在图像处理方面有较广的应用。

1.3 基于图像去雾算法的低照度图像增强方法

韩宇星[24]等在研究图像去雾算法时发现低光照图像的反转图像与有雾图像看起来相似,经过试验证明,低光照图像的反转图像像素值与有雾图像的像素值分布十分相似,其中的低光照图像远景部分像素值很高,并且在反转的低亮度图中,非天空区域中,以及在RGB通道中,至少有一个通道的像素值非常低。既然低光照图像的反转图像相似于有雾图像,那我们将图像去的算法应用在低光照的反转图上,再对处理图像进行反转,就可以获得低光照的亮度增强图像。

基于图像去雾的低照度图像增强算法步骤:

输入原始图像I;

将图像在R、G、B三个通道上进行0~255的反转;

根据大气散射模型进行去雾;

选择100个像素点,它们是计算RGB通道上最小值中最大的100个,然后选择这100个中RGB三导通和最大的作为A环境光;将去雾图像进行反转得到低照度增强图像。在研究过程中发现对于低照度图像增强的效果不太明显,因此增加了一个中间变量P(x),来实现有目标的区域性增强。

基于去雾算法的低照度图像增强公式如下:

(5)

式中:J(x)为增强图像亮度;R(x)为相机获取到的图像亮度;A为大气的量度,t(x)=e-βd(x),β是大气的散射系数,d(x)是像素x的景深。

基于去雾的低照度图像增强算法之后也有很多的改进,如王同森[25]等提出基于光源区域自适应的夜间去雾方法,该算法在抑制光晕和光源区域发散的同时,能够较好地重现暗部细节,恢复图像具有较好的亮度和对比度,且色彩自然。Prince[26]提出一种新颖的夜间单幅图像去雾方法,它在一幅被破坏的图像上独立而非整幅图像上局部估计每个选定掩模的大气强度,该方法在速度和鲁棒性方面极具优越性。

1.4 基于深度学习的低照度图像增强算法

近些年深度学习的热度一直很高,其强大的特征表示合非线性映射能力在图像领域也有很多应用,并且取得了很大的成功。Lore[27]等最早运用深度学习的方法实现了低光照图像增强,即LLNet。他们提出了一种基于深度自编码器的方法,从低照度图像中识别信号特征,并在高动态范围的图像中自适应地亮化图像而不过度放大/饱和较轻的部分,证明了堆叠稀疏去噪自动编码器的一个变体可以从合成的黑暗和添加噪声的训练示例中学习,以自适应地增强从自然低光环境和硬件降级的图像,并且在真实拍摄到的低光照图像上进行实验,证明了用合成数据训练模型的有效性。Liang[28]等提出了一种基于卷积神经网络和Retinex理论的低光照图像增强算法,首先该团队证明了MSR相当于具有不同高斯卷积核的前馈卷积神经网络,仿照MSR提出MSR-net直接学习暗图像和亮图像之间的端到端映射,相比较于传统方法,在这个模型中绝大部分参数都是通过反向优化的,这也是相比较于其他方法的优势。Cai[29]等提出一种用卷积神经网络(CNN)来训练单幅图像对比度增强的方法,与现有的方法相比能够更好地揭示图像的细节,具有明显的优势。Chen[30]等在Retinex的模型上提出了Retinex-Net,包括用于分解的Decom-Net和用于照明调整的Enhance-Net,其中Decom-Net对图像进行解耦,拆分得到光照图和反射图;Enhance-Net对拆分得到的光照图进行增强,将反射图与增强后的光照图相乘得到增强后的图像。Chen[31]等运用了一个基于全卷积网络FCN的网络结构,专注于极端条件下的图像成像技术,通过端对端的训练,用卷积神经网络去完成Raw图像到RGB图像的处理,效果十分惊艳。Jiang[32]等提出一种高效的无监督生成对抗网络EnlightenGAN,是第一个将unpaired training应用到低光照图像增强中,避免了对paired data的依赖,并且能够分别处理全局信息和局部信息,通过实验证明了EnlightenGAN在该环境下的处理效果的有效性。Guo[33]提出一种新的方法——零参考深度曲线估计(Zero-DCE),该方法将光增强作为具有深度网络的图像特定曲线估计任务,并训练了一个轻量级的深度网络DCE-Net,用于估计像素级、高阶曲线及动态范围调整给定图像。Zero-DCE在其对参考图像的宽松假设中具有吸引力,即在训练过程中不需要任何配对或非配对的数据。该算法虽然简单,但却十分高效,可以很好地推广到不同情况下的光照条件。

2 低照度图像增强算法的对比和分析

根据图2所示各类算法的增强效果可以看出,基于深度学习的低照度图像增强算法在亮度和对比度提升方面有明显效果。但是低照度图像的增强不仅包括人眼视觉感受的评价,还有很多客观的方法验证图像的增强效果,其中图像对比度(Image Contrast)、信息熵(Information Entropy)[34]等指标的衡量方法比较普遍。

图2 各类算法的增强效果对比

图像对比度计算公式如下:

(6)

其中,Ii,j为中心像素点的灰度值,N为图像局部块内像素点的个数,为了计算一幅完整图像的对比度,需要对图像内所有部分块对比度总体的平均值来表示。

图像的信息熵计算公式如下:

(7)

式中:p(k)为灰度级k的概率密度,M为最大的灰度级。

通过表1比较各类算法的客观效果,以及表2比较各类算法的优势对比,对以上算法进行分析研究。灰度变换和直方图均衡化属于全局图像处理方法,该方法适用性较强,算法简单,但是因为全局增强算法并不考虑原始图像中的亮度分布,所以在全局增强亮度的同时不能兼顾到细节的保留,并且不能保证全局所有区域都能得到加强,会降低图像的质量。Retinex算法分为SSR、MSR和MSRCR,三者相比SSR会极大地受到高斯核的影响,过大过小的高斯核会导致低照度图像增强不足或曝光过度,MSR通过多个高斯核弥补这一缺点,但是还会在高亮度区域产生光晕现象,因此Jobson等提出了带色彩恢复的MSR算法,同时因为该算法增加了颜色校正算法,所以相比于原来的SSR和MSR算法没有明显的颜色失真现象,很好地抑制了噪声,增强效果较明显。而基于HSV颜色空间的自适应多尺度Retinex算法能在保留原图像色调一致的前提下,增强图像的亮度和饱和度。基于去雾处理的低照度增强算法效果也比较明显,但是在大气光相似的区域,不符合算法处理的条件,会造成颜色的失真。基于深度学习的低照度图像增强算法通过复杂的神经网络,在增强图像亮度的同时,保留了图像的细节部分,在视觉质量以及客观评价方面都取得了很好的效果。

表1 不同算法得到的图像质量的客观评价

表2 各类算法的优缺点对比

随着各种低照度图像增强算法的不断改进,现有算法已经能够很好地提高图像的亮度以及对比度。但是仍有不少问题亟待解决:

(1)如何准确地从图片中估计出光照成分;

(2)如何降低增强后图像的噪声和图像颜色失真;

(3)如何实现极端条件以及光照度极低的环境下的低照度图像增强。

面对上述瓶颈,相较于其他算法,深度学习的方法能避免或者有效降低其带来的缺陷。通过构建复杂的神经网络,进行相应的训练,深度学习的方法能取得更好的精度,并且深度学习的网络灵活多变,在改善训练时间的前提下,是最有效的低照度图像增强算法。随着算法的不断改进以及计算机硬件性能的不断提高,基于深度学习的低照度图像算法在未来一定有更好的前景。

3 结束语

现代社会发展对于低照度环境下的信息获取要求越来越多,如夜间视频摄像的信息传输、水下救援与海洋生物的探测、根据医学影像对病人的诊断与治疗、公安对现场的勘探侦查等都离不开图像的增强技术,因此低照度图像增强依旧是数字图像处理领域的主流方向之一。本文介绍的四类算法对低照度图像都有比较明显的加强效果,但是客观质量评价和人眼视觉感受程度还没有达到最优。随着新算法的不断涌现,以及研究者们对于上述算法的不断改进,相信之后在低照度图像增强的效果上能达到视觉效果、对比度、信息熵的多点平衡,为该技术在更多的领域获得应用创造前提。

猜你喜欢

图像增强照度灰度
通过图像增强与改进Faster-RCNN网络的重叠鱼群尾数检测
航空滤光片阵列多光谱图像条带灰度调整算法
一种基于轻量级深度网络的无参考光学遥感图像增强算法
地铁车辆照度试验方法和均匀性分析
天津港智慧工作平台灰度发布系统和流程设计
Arduino小车巡线程序的灰度阈值优化方案
基于非下采样剪切波变换与引导滤波结合的遥感图像增强
基于双树四元数小波变换的图像降噪增强
一种基于灰度分割的调焦评价函数