面向舞台场景的改进Retinex 低照度图像增强
2023-10-02李星仪马新德
季 渊,李星仪,马新德,廖 亮
(1.上海大学 微电子研究与开发中心,上海 200444;2.上海大学 机电工程与自动化学院,上海 200444;3.上海大学 上海电影学院,上海 200072)
1 引言
近眼显示设备[1]是人们感知元宇宙的主要入口之一,人们通过近眼显示设备观看由计算机构建而成的三维数字世界。娱乐沉浸式体验是元宇宙的典型应用,其中舞台是常见场景之一,舞台表演中通常采用灯光设备集中照射来突出环境或者渲染气氛,而没有被灯光照射的地方则是一片漆黑,强烈的对比使得舞台场景的亮度范围非常广阔。但是,目前成像设备单次拍摄的亮度动态范围最大不超过3 个数量级,容易出现过曝光或者欠曝光的情况,不能反映真实舞台场景。由此可见,舞台场景拍摄需要对图像进行动态范围扩展,增强图像的明暗对比度,还原舞台真实场景。此外,使用虚拟现实(Virtual Reality,VR)设备观看直播时,图像处理的实时性尤为重要。
Land 等[2]基于人类视觉感知模型提出了Retinex 理论,该理论是经典的图像增强算法,也常应用于低照度图像的增强。Retinx 理论将图像分为光照和反射两部分,其中光照部分对应图像的低频信号部分,反射分量对应着图像的高频信号部分。基于Retinex 理论,Jobson 等[3]提出单尺度Retinex(Single Scale Retinex,SSR)算法,采用高斯低通滤波估计光照分量,但该算法存在增强后颜色严重失真,图像整体泛白的问题。针对颜色失真的问题,Jobson 等[4]随后提出多尺度Retinex(Multiscale Retinex,MSR)算法,采用多个不同高斯核的低通滤波估计光照分量,但是该算法并未解决颜色失真的问题,并且图像伴有光晕现象。Rahman 等[5]提出带色彩恢复的Retinex(Multi Scale Retinex with Color Restoration,MSRCR)算法,该算法用了色彩因子C 来调节RGB三通道的比例关系,一定程度上改善了颜色失真的情况,但仍然存在失真问题。Wang 等[6]提出采用双边滤波估计光照分量,可以较好地改善光晕现象,但是颜色失真问题仍然没有解决,还提高了计算的复杂度。Shin 等[7]提出 将RGB 通道转换到HSV 通道,对V 通道进行Retinex 算法处理,用高斯低通滤波估计光照,该方法可以有效地解决颜色失真的问题,但是由于采用的是高斯滤波估计光照分量,所以光晕现象仍然存在。Chen 等[8]提出拍摄多帧图像,将低照度图像转换到YUV 色彩空间,采用降噪和选取最佳Y 通道分量的方法。Huang 等[9]提出结合平滑聚类和改进的Retinex 算法估计照明的低照度全景图像增强算法。目前,将深度学习与低照度图像结合起来的方法还有很多。Wang 等[10]提出基于模拟多曝光融合的低照度增强算法。Lore 等[11]将深度学习与低照度图像增强结合起来,证明了采用深度学习可以同时实现低照度图像的增强和去噪。Chen 等[12]设计了Retinex-Net,包括Decom-Net和Enhance-Net 两部分。Jiang 等[13]提出一种高效无监督的生成对抗网络,包括全局-局部鉴别器结构,自正规化感知损失融合和注意机制。但是,深度学习计算量复杂,硬件实现困难,很难达到实时的要求。
传统的SSR 算法采用高斯低通滤波进行光照估计,虽然可以一定程度增强图像,但未考虑实际场景中光照非均匀变化的情况,尤其舞台场景中常会有灯光剧变的情况。选择合适的低通滤波估计光照分量显得至关重要,大部分改进的Retinex 算法采用可以保留更多细节的低通滤波,增加了算法计算量,并且采用不同滤波估计光照都是基于理想状态,认为低通滤波可以很好地估计光照分量,再由光照分量计算出反射分量,这样计算出的反射分量很容易出现细节数据丢失的问题[14],而反射分量是图像细节的主要部分。
针对舞台场景,为了解决颜色失真和光晕现象的问题,综合考虑计算复杂度以及运行速度,本文提出一种低照度增强融合算法(Low-Light Enhancement Fusion,LLEF),它包括低照度增强和图像融合两部分。其中,低照度增强部分采用改进的基于高斯-拉普拉斯的Retinex 算法。相较于传统算法,LLEF 算法在提高图像亮度的同时,保证了图像较好的色彩和细节质量,保留了原图的明暗对比度,可以广泛应用在舞台场景中。
2 原理
2.1 Retinex 算法原理
Retinex 理论认为人眼观察到的物体颜色与光照强度无关,与物体本身反射不同频率光线的能力有关,其表达式为:
其中:S为观测图像,R为图像的反射部分,L为图像的光照部分,即整体的最终成像为反射部分与光照部分的乘积。SSR 算法将反射分量作为增强后的最终结果,采用高斯低通滤波估计光照分量,并且将式(1)转换到对数域进行算术运算。其表达式为:
将式(2)结果量化到0~255 的像素空间,该结果即为增强后的图像。
2.2 LoGR(LoG-Retinex)算法
LLEF 算法分成低照度增强和图像融合两部分,整体流程如图1 所示。其中,低照度增强部分采用改进Retinex 算法,图像融合部分采用改进的金字塔融合方法。
图1 LLEF 算法流程Fig.1 Flow chart of LLEF algorithm
2.2.1 颜色空间
HSV 色彩空间中,H 通道代表色度,S 通道代表色调的饱和度,V 通道代表亮度[15]。其亮度独立于色调和饱和度,分割鲁棒性更好。LLEF算法将图像转换到HSV 色彩空间,单独对V 通道进行处理,不会出现颜色失真问题,并且有效加快图像运算速度。
2.2.2 图像预处理
Canny 算子是典型的边缘检测算子[16],在提取边缘前会对图像进行高斯滤波处理,有较好的噪声容忍度,非常适合低照度图像的边缘提取。在图像增强之前,可先对V 通道用Canny 算子进行边缘提取,然后将提取出的边缘细节添加到原图像上,增强边缘,避免图像边缘细节丢失。未经过Canny 算子处理与经过Canny 算子处理的细节对比如图2 所示。可以看出,图2(a)中右下角地面纹理扩散不清晰,图2(b)中地面纹理清晰,未出现光晕模糊的情况。
图2 Canny 算子效果对比Fig.2 Comparison of Canny operator results
Gamma 校正广泛应用于图像处理领域[17-19],通过调整图像的Gamma 曲线,对图像进行非线性拉伸,增强图像的明暗对比度,使图像获得较好的动态范围。完成边缘提取后,进一步进行Gamma 校正,增强图像对比度。
Gamma 算子的表达式为:
式中:γ为常量,参数γ对应拉伸效果。当γ=1时,图像保持原来的动态范围不变;当γ>1 时,高灰度区域图像的对比度增强;当γ<1 时,低灰度图像的动态范围增强。为了获得较高的灰度级,γ参数选在[0,1]内。在[0,1]内,增强的灰度级随着参数的增加而单调减小,但是γ值越小,引入的噪声越多。经过实验,选取γ=0.7 时可以较好拉伸动态范围又不会引入过多的噪声。
低照度图像由于整体图像偏暗,在图像采集和增强时很容易出现噪声。中值滤波在去除噪声时能较好地保持图像边缘性,模糊效应较低,可以去除一些随机噪声。因此,在进行图像增强算法前进行中值滤波,可去除图像中本来存在的噪声和Gamma 校正中出现的噪声。
2.2.3 反射分量估计
为了减少图像细节丢失,LLEF 算法采用高斯-拉普拉斯高通滤波代替高斯低通滤波,先求出反射分量。根据文献[20],高斯滤波之所以能够估计光照的原因在于采用了拉普拉斯算法,根据Retinex 理论,进一步可采用高斯-拉普拉斯滤波(Laplace of Gaussian,LoG),将图像反射分量直接提取出来,可解决图像相减过程中细节数据丢失的问题,并进行增强处理,然后通过反射分量反向求得光照分量,最后将处理后的反射分量与光照分量相结合得出最终成像。
在数字图像处理中,图像一阶导数的极大值往往对应着图像的边缘区域,而二阶导数的边缘定位能力更强,可以确定边缘是否存在。拉普拉斯算子就是一个二阶微分线性算子,它通过二阶微分特性来判断图像的边缘位置。图像I(x,y)进行拉普拉斯变换的数学表达式为:
用卷积模板形式表示,如图3 所示。模板可以直观地看出拉普拉斯算子能够增强图像中的亮点,但是噪声也会在图像中以突然的亮点或者其他形式出现,拉普拉斯算子无法判断该点是边缘还是噪声,有时还会增强图像中的噪声,所以在进行拉普拉斯边缘检测前,先进行高斯滤波,这样就形成了高斯-拉普拉斯算子。
图3 拉普拉斯卷积模板Fig.3 Laplace convolution template
高斯是图像处理中常用的滤波,二维的高斯平滑卷积核表达式为:
式中:Gσ(x,y)为高斯平滑后的图像,σ是标准差,表示周围像素对当前像素的影响程度。σ越大,表示影响程度越大;σ越小,表示影响程度越小。高斯-拉普拉斯算子在高斯平滑后进行二阶求导提取边缘,采用高斯标准差为σ的二维高斯-拉普拉斯的数学表达式为:
式中LoG(x,y)为高斯-拉普拉斯算子运算后的图像。LLEF 算法提出的改进的Retinex 中,反射分量由高斯-拉普拉斯高通滤波对图像进行滤波得到,即:
式中:V(x,y)为预处理后图像在HSV 色彩空间中的V 通道分量;*表示卷积操作;F(x,y)为高斯-拉普拉斯高通滤波;R(x,y)为求出的反射分量。
得出反射分量后,采用限制对比度自适应直方图的方法(Contrast Limited Adaptive Histogram Equalizatin,CLAHE)[21]对反射分量进行对比度拉伸,增强图像对比度,使图像更加清晰。表达式为:
根据Retinex 理论,得出图像的光照分量,表达式为:
最终V 通道分量V'(x,y)由增强后的反射分量与光照分量相乘得到,表达式为:
用增强后的V 通道分量代替原来的V 通道分量,与H 通道、S 通道融合,然后转换到RGB 色彩空间,整体流程如图4 所示。
图4 低照度增强算法流程Fig.4 Flow chart of low illumination enhancement algorithm
2.3 图像融合
由于舞台场景中有灯光,相机拍摄过程中容易出现过曝的情况,进行低照度增强之后,原本灯光部分可能出现过度增强的问题。采用图像融合的方式,将增强后的图像与原始图像进行融合,消除过度增强的部分。
为了达到实时处理效果,这里采用速度较快的Mertens[22]融合方法。该方法将原图与增强后图像的权重图与残差图分别构建高斯金字塔与拉普拉斯金字塔,然后将两个金字塔进行融合和反向求解得出最终图像。其中,图像质量的权重图采用对比度、饱和度和曝光度3 个指标。LLEF 算法采用改进后的融合方法,将原算法中的5×5 的卷积核改为3×3 的卷积核。根据文献[23],该改进可以大量减少每个像素点的计算次数,减少了48 次卷积计算。卷积核由式(11)改为式(12):
原算法中权重图采用了3 个指标,由于融合是为了消除过度增强的部分,并且融合之前进行了对比度增强,故只选取曝光这个指标作为权重。灯光部分过度增强后灰度值接近1,而曝光度接近0.5 是比较好的曝光度。根据高斯曲线判断像素点的曝光度的好坏,高斯曲线可以表示为:
式中:高斯标准差σ设为0.2,i为像素点的灰度值。融合后舞台场景灰度值对比如图5 所示。灰度值为图中方框区域的灰度值,可以看出,融合后图像消除了背景中过度增强而导致的条纹,背景区域灰度值整体降低,保留了舞台上演员区域增强的部分,使整体图像更加清晰自然,更接近真实舞台场景的亮度动态范围。
图5 图像融合前后灰度值对比Fig.5 Comparison of grayscale before and after image fusion
图6 为原图、增强后图像和融合后图像的直方图对比。可以看出,增强后图像灰度级拉伸,色彩明亮,细节清晰,明暗对比度增强。原图灰度级集中在0~100 低灰度级区域,增强后图像灰度级集中在50~150 较高灰度级区域,图像灰度级整体向右移,并且保留了原图的灰度结构。LoGR 算法在不改变图像灰度级结构的前提下,增强图像亮度动态范围效果明显,较好保留了图像亮度细节。但是增强后图像灰度级分散,从图6(d)可以看出,不同灰度级像素点数量差距很大,图像质量较差。从图6(f)可以看出,融合后图像不同灰度级像素点数量变化较为平缓,解决了大量灰度级突变的问题,图像的整体视觉效果很好。
图6 原图与图像增强和图像融合后图像的直方图对比Fig.6 Histogram comparison of original image with image after enhancement and fusion
3 FPGA 验证平台
3.1 硬件整体框架
软件平台难以达到实时要求,而现场可编程门阵列(Field-Programmable Gate Array,FPGA)硬件平台可以对图像进行流水线处理,合理的流水线填充和清空时间可以使算法达到实时效果。因此,本实验在FPGA 上对LLEF 算法进行验证,整体框图如图7 所示,主要分为视频采集模块、图像处理模块和扫描控制模块。
图7 LLEF 算法的FPGA 实现框架Fig.7 Framework for FPGA implementation of LLEF algorithm
视频源由双目相机传入PC(Personal Computer)端,通过高清多媒体接口(High Definition Multimedia Interface,HDMI)传入FPGA。首先,视频数据经过视频采集模块处理后传入图像处理模块和双倍数据率同步动态随机存取存储器(Double Data Rate Synchronous Dynamic Random Access Memory,DDRSDRAM,DDR3)。其次,图像进行LoGR 算法增强和金字塔融合后获得最终图像。最后,图像数据传入扫描控制模块,以低压差分信号(Low Voltage Differential Signaling,LVDS)方式将同步信号和数据信号传输到显示器接收端中。
3.2 图像处理模块
图像处理模块主要包括RGB-HSV 转换模块、HSV-RGB 转换模块、预处理模块、LoGR 算法模块和金字塔融合模块。首先,对数据进行色彩空间转换,提取V 通道数据,将S,H 通道数据存入同步DDR3 中。其次,对V 通道数据采用FIFO(First Input First Output)缓存器和D 触发器构建3×3 窗口的方式进行边缘提取,用查找表法进行Gamma 校正和对数转换。再次,金字塔分解时不同的图层依次存放进Frame Buffer 中,融合时按照空间地址依次取出。最后,融合后图像通过扫描模块驱动显示器显示最终视频。扫描模块采用数字脉宽调制(Pulse Width Modulation,PWM)的方式对显示器进行扫描驱动,对需要显示的一帧图像进行接收,采用寻址的方式输出图像数据,通过控制信号进行图像显示。
图8 为实验硬件平台,红线框图为FPGA 芯片,型号为Altera Arria 10 GX 270。
图8 硬件测试平台Fig.8 Hardware test platform
4 实验与结果分析
为了验证LLEF 算法的有效性,实验从主观和客观两个方面进行对比分析,采用5 种低照度图像增强算法、6 组尺寸不同的图像进行对比实验,所采用的对比算法分别为:基于BIMEF 的多曝光融合框架实现微光图像增强(A Bio-Inspired Multi-Exposure Fusion Framework for Low-light Image Enhancement,BIMEF)[24]、通过结构先验细化初始光照的方法(Low-light image enhancement via Illumination Map Estimation,LIME)[25]、带色彩恢复的MSRCR、利用相机相应模型局部调整曝光的低照度图像增强方法(Low-Light Image Enhancement Using the Camera Response Model,LECARM)[26]。实验运行的环境配置是Intel(R)Core(TM)i7-1065G7 CPU 1.50 GHz处理器,软件平台为Matlab2020b。
4.1 主观评价
主观效果如图9~图10 所示,图9 是尺寸为5 500×3 500 左右的房子和乡村图像,图10 为用双目相机实拍的舞台1~4 表演场景,图像形式为双目相机拍摄拼接成尺寸为7 500×2 000 左右的图像。
图9 不同算法对于低照度图像的处理结果Fig.9 Results of low-light images processed with different algorithms
图10 不同算法对于双目相机拍摄的舞台场景的处理结果Fig.10 Processed results of different algorithms for stage scenes taken by binocular cameras
从图9 和图10 可以看出,BIMEF 算法的增强效果不错,但弱化了图像对比度,图像整体色彩饱和度较低。LIME 算法在亮度和色彩上都容易出现过度增强问题,并且会增强噪声,图像严重失真。MSRCR 算法增强图像清晰度较低,并且图像色彩失真,整体呈现泛白的问题,部分区域变为白色,图像细节丢失严重。LECARM 算法虽然整体效果不错,但从图9(e)和9(f)对比可以,看出该算法弱化了天空明暗对比度,桥和墙区域的噪声明显。LLEF 算法有较高的清晰度,低照度增强效果明显,并且保留了原图的对比度,没有色彩偏移和色差的问题,整体视觉效果更加自然。在双目相机拍摄的图10 中可以看出,LLEF 算法明显优于另外4 种算法,BIMEF,LIME,MSRCR 算法的增强效果欠佳,人物区域增强过度,丢失细节,舞台背景区域噪声严重。LECARM 算法的增强效果较好,但是舞台地面部分也存在过度增强的问题,降低了舞台的明暗对比度,不适用于舞台场景。LLEF 算法在保证图像质量的同时,增强了舞台场景中人物和道具区域的亮度范围,并且保持背景亮度范围不变,突出舞台人物表演区域。
4.2 客观评价
客观评价结果如表1 和表2 所示,实验采用峰值信噪比(Peak Signal-to-Noise Ratio,PSNR)和结构相似性(Structural Similarity,SSIM)作为图像质量客观评价的标准。PSNR 表示图像重构质量,PSNR 越大,图像质量越好。SSIM 将图像的结构信息定义为独立于亮度、对比度反映场景中物体结构的属性,并将失真建模为亮度、对比度和结构3 个不同因素的组合,SSIM 值越大表示图像质量越好。
表1 不同算法的峰值信噪比指标比较Tab.1 Comparison of peak signal-to-noise ratio metrics of different algorithms
表2 不同算法的结构相似性指标比较Tab.2 Comparison of structural similarity metrics of different algorithms
由表1 和表2 可以看出,在前两组自然风景图像中LLEF 算法在PSNR 和SSIM 两方面优于BIMEF,明显优于其他3 种算法。从后四组双目相机拍摄的舞台图像可以看出,LLEF 算法处理舞台场景效果最好,PSNR 和SSIM 都远高于其他4 种经典算法,最适合应用于舞台场景的低照度增强。由此表明,LLEF 算法的增强效果最好,相较于其他4 种经典算法,PSNR 最高可提高2倍,平均提高了57.06%;SSIM 最高可提高1.6倍,平均提高了27.34%。
5 结论
由于相机拍摄亮度的动态范围受限,影响VR 观感,本文研究了面向双目相机图像亮度动态范围扩展的方法,根据双目相机舞台拍摄特性,提出了一种改进的Retinex 低照度图像增强融合算法,通过Matlab 平台对设计方案进行理论仿真,并在FPGA 上对该设计方案进行硬件实现。实验结果表明,在保证图像质量的前提下,亮度动态范围有明显的提升,并且速度可以达到实时效果。该方法为VR 直播互动舞台剧院等低照度场景图像动态范围受限问题提供了一个较好的解决方案。