李藤,刘凯雷
(黑龙江科技大学电气与控制工程学院,黑龙江哈尔滨,150022)
安全生产是煤矿企业发展的关键,视频监控是当前煤矿安全生产系统中的重要组成部分[1]。由于井下环境存在灯光照射不均匀,空气中有大量粉尘等因素,井下视频监控质量容易受到影响。目前所使用的矿井下低照度图像增强算法大多为以Retinex算法为主的传统算法及其改进算法。
低照度图像增强方法主要分为传统算法和深度学习方法两类[2]。传统方法中,基于Retinex 理论主要在频域中增强图像。Z Rahman提出带色彩恢复的多尺度Retinex算法(MSRCR)[3],该算法对图像具有一定的增强效果但该算法处理后的图像会出现部分边缘细节消失和图像整体泛白出现光晕现象。程德强等提出了基于引导滤波的单尺度Retinex算法[4],采用引导滤波进行照度估计,并改进对比度增强方法,能够有效地保留图片的边缘信息,增强了图像的对比度。蔡利梅等人提出自适应HSV空间Retinex算法[5],利用自适应增强系数对反射分量进行增强处理,实现了参数自适应,提高了图像的对比度与亮度。Wei等人根据Retinex理论,使用卷积神经网络,将图像增强过程分为图像分解、图像增强两个阶段,提出了Retinex-Net[6],该算法可以对低照度图像进行增强,但增强后的图像存在明显的失真。
本文使用的KinD-Net算法[7]是基于深度学习的低照度图像增强,该算法采用了分阶段的模式,包括图像分解、反射图恢复、照度图调整三个模块。反射恢复模块中通过引入照度图信息减小图像的颜色失真并加入去噪模块抑制图像增强过程中产生的噪声。图像分解模块加入重构损失,相互一致性损失与光照平滑损失增强图像的边缘细节。照度调整模块提高图像的亮度。
KinD-Net算法可以有效地优化图像暗光线部分的退化问题,还可以灵活地调整曝光条件。该算法由三个模块构成,分解模块、反射模块与亮度调整模块。该网络的输入为一个包含低光照与正常光照的图像对,通过分解模块,将两张图片分别分解为反射图与照度图,低光照图像的反射图与照度图通过恢复模块与正常光照图片的反射图进行降噪处理后合并得到输出的反射图,低光照图像的照度图输入亮度调整模块后与正常光照图像的照度图合并得到调整亮度后的照射图,恢复模块输出的反射图与亮度调整模块输出的照度图合并得到增强后的图片。如图1所示为KinD-Net算法结构
图1 kinD-Net 算法结构
1.1.1 分解模块
该模块的作用是把图片分为照射分量与反射分量。从一个图像中恢复两个组件是一个高度不适定问题,在光照条件下,图像的标准反射率与照度图是很难获取的,因为这里面存在人们的主观意向。光照发生变化不会影响物体对光的固有属性。在理想状态下分解反射率对(Rl与Rh)应该相同,所以此处设计反射相似性损失如式(1)所示。
光照平滑度损失如式(2)所示,该损失对边缘位置的惩罚很小,对平坦区域的惩罚会比较大。Li表示正常光配置,Lh表示曝光配置。
为了强化边缘信息设计了相互一致性损失如式(3)所示,光照梯度的大小表示表示光照在物体上的位置,较大则表示在物体的边缘,较小表示在物体表面。该损失会在梯度处于中间值时进行惩罚。c表示常数值。
分解模块被分解的两层需要重新生成输入,而输入受到重构误差的约束如式(4)所示,因此层分解模块的损失函数为式(5)所示。Il表示图像的照度,Ih表示图像的反射率
1.1.2 反射恢复模块
该模块的作用是反射图的恢复。低照度图像的反射图与照度图作为输入,通过4次卷积与池化操作后提取图像的输入特征,再通过4次卷积与上采样实现降噪模块。低光照图像的反射图比正常光照的反射图更容易收到退化的影响,为了有效地降噪,该模块的损失函数如式6所示。
1.1.3 亮度调整模块
该模块的作用是亮度调节。低光照图像的照度图作为输入,使用两层3*3以ReLU作为激活函数的卷积层获取照度图的光照信息,再经过一次3*3的卷积操作后利用Sigmoid层输出亮度调节后的照度图。该模块的损失函数如式(7)所示:
本文使用的训练数据集为公开数据集LOL dataset,对该数据集进行了重新排列并添加了几张全零图像,以改善分解结果和恢复结果。该数据集包含485对低光照/正常光照训练图像和测试图像。训练数据使用imgaug库实现数据的预处理,做几何变换,像素变换等操作。
网络采用图像对训练,批量化大小设置为10,块大小设为48*48,像素块尺寸为384*384。本文采用Adam优化器对整个模型进行优化。整个网络的训练在NVIDIA GTX 3060 GPU设备上完成,实现代码基于TensorFlow框架。Tensorflowgpu 1.13 版本,numpy 1.19版本。
为了验证本文所使用算法在普通场景以及矿井下的处理效果,使用了以下对比算法做对比实验:Retinex算法,MSRCR算法,基于HSV色彩空间下的MSRCR算法与Retinex-Net算法。
为了验证本文所使用的KinD-Net算法的优越性,选取了三张矿井下工作面、巷道等真实场景的低光照图片。在矿井下各算法的处理效果如图2,图3,图4所示。矿井下的三种场景都受到了不均匀光照,图像存在高亮度与低亮度区域,符合煤矿下恶劣的环境,可以很好地对算法进行检验。从主观角度上这几种算法对图像的亮度都有明显的增强但还是存在一些问题,在场景一中,Retinex算法与MSRCR算法处理后的图片存在过度增强问题,图像出现光晕现象。Retinex-Net算法处理后的图片出现明显的颜色失真问题,图像的一些纹理细节也有一定程度的丢失。HSV MSRCR算法处理后的图片略微出现颜色失真问题,本文算法相比较其它算法有较好的图像增强效果。在场景二中,四种对比算法处理后的图片都出现了明显的噪声,本文算法对图像低光照区域增强后并没有明显的噪声。场景三中,HSV MSRCR算法与Retinex-Net算法处理后的图片存在颜色失真的问题,四种对比算法没有消除图像低亮度区域的噪声,反而在增强图片的同时,放大了该区域的噪声。本文算法处理后,图像效果清晰且提高了图像低光照区域的亮度以及对比度,边缘特征相比较其他算法也都较好地保留下来。从主观角度评价,本文算法针对矿井下不同场景的低照度图像有较好的增强效果。
图2 场景一不同算法比较
图3 场景二不同算法比较
图4 场景三不同算法比较
从客观角度上,本文使用了峰值信噪比(PSNR)与结构相似性(SSIM)来评价算法的结果。各算法的处理结果如表1和表2所示,各算法对图像都有所增强。本文算法在矿井下的三种场景中都取得最高的峰值信噪比与机构相似性,峰值信噪比越高说明图像失真程度越小,结构相似性越高也说明图像失真程度越小。从客观角度评价,本文算法优化了颜色失真问题,矿井下的图像得到了较好的增强效果。
表1 各算法处理结果的的PSNR值对比
表2 各算法处理结果的SSIM值对比
针对井下生产环境恶劣,光线差,亮度低,存在大量光照不均匀图片为矿井下视频监控带来不便这个问题,本文提出使用KinD-Net算法对矿井下图片进行去噪增强,该算法在图像分解网络中加入重构损失,反射图恢复网络中加入去噪模块,抑制图像增强过程中产生的噪声。在反射恢复网络中引入照度图信息减少图像颜色失真。本文选取Retinex算法、MSRCR算法、HSV MSRCR算法与Retinex-Net算法做对比实验,引入峰值信噪比,结构相似性作为评价指标,在主观角度与客观角度综合评价后,得出结论:本文算法可以有效提高提高图像的亮度,减弱图像失真问题使处理后的图像有较为理想的增强结果。