野生动物监测光照自适应Retinex图像增强算法
2018-08-21张军国程浙安胡春鹤鲍伟东
张军国,程浙安,胡春鹤,陈 宸,鲍伟东
(1.北京林业大学工学院,北京 100083;2.北卡罗来纳大学电气与计算机工程系,夏洛特 28223;3.北京林业大学生物科学与技术学院,北京 100083)
0 引 言
中国野生动物资源丰富,其中,国家一级保护动物97种,国家二级保护动物320种[1],对野生动物进行有效保护意义重大。利用图像、视频信息对野生动物进行监测是野生动物保护管理工作的关键组成,可以对物种多样性、种群数量及栖息地分布等进行准确估计,为野生动物资源保护提供科学依据。红外感应触发相机技术是当前野生动物监测的主要方式[2],然而受到野外环境下的不同光照条件和林木遮挡等影响,红外感应相机采集到的监测图像会出现照度不足、过度曝光及光照突变等问题[3],对监测图像的质量产生严重影响,所以对野生动物监测图像进行增强具有重要意义。
实现不同光照条件下的图像增强,对增强技术的自适应性及动态范围压缩能力提出更高的要求。文献[4]通过先验知识确定其颜色集,得到颜色分布直方图,进行差分归一化对大熊猫监测图像进行增强,为野生动物监测图像增强进行初步探索。而相比于直方图均衡化与Gamma矫正等传统图像增强算法,Land[5]基于Retinex理论提出的图像增强算法(以下简称Retinex算法)在压缩动态范围与边缘特征保持方面更具优势,使得其在农业作物自动化采摘[6-7]、林区航拍图像增强[8]等领域有着广泛的应用。Retinex 理论是一种基于人类视觉系统颜色恒常知觉的计算理论,它认为物体的颜色是由物体对不同波长光线的反射能力决定的,而不是由反射光强度的绝对值决定的,且物体的色彩不受光照非均匀性的影响,具有一致性。Retinex算法将图像分为照度分量与反射分量两部分,认为反射分量图像包含了物体本身的特性,可将其作为最终增强的图像。
传统Retinex算法[9-11]存在伪光晕现象、灰化效应等局限性。学者们针对上述问题进行深入研究,设计复合噪声特征的滤波器替换经典Retinex算法中的高斯滤波器以消除伪光晕,文献[12-13]采用双边滤波估计照度分量,取得较好的降噪和消除光晕的效果,不足之处在于增加了算法的复杂度;文献[7]采用引导滤波提高运行效率,并实现物体的边缘保持与伪光晕的消除。文献[14]采用增加颜色恢复函数对图像色彩进行校正;文献[15]将图像转化至HSV色彩空间,对亮度通道进行单独增强,均取得较好的色彩保持效果。以上改进使得Retinex算法在近些年取得了快速发展,实现了对夜间图像[16]、雾天图像[17]及低照度医疗影像[18]等特定光照条件下的图像增强处理,但上述方法应用在保护区野生动物监测图像增强中,缺乏对不同光照条件的自适应性,造成图像过增强或增强不足等问题。
针对以上问题,本文在对实地采集的野生动物监测图像进行分析的基础上,提出一种基于Retinex理论的野生动物监测图像自适应增强算法。首先采用基于复合梯度的引导滤波估计照度分量,实现伪光晕消除与动态范围压缩的自适应平衡;然后提出一种基于Otus阈值的自适应拉伸方法对照度分量进行校正,解决传统Retinex算法过度增强的问题,并且提高算法对不同光照条件的自适应性;最后利用单通道照度分量计算反射分量,实现色彩的保真。
1 野生动物监测图像分析
受到野外自然光照变化、天气条件变化及林木遮挡等诸多因素影响,实地采集到的野生动物监测图像光照信息复杂且存在光照突变情况。本文采用实地拍摄的野生动物监测图像为图像样本进行分析,上述样本为 2010年至2014年间课题组在内蒙古赛罕乌拉自然保护区利用红外触发相机采集,监测图像均为24位RGB真彩色图像,分辨率为 2560×1920,其中包含马鹿、斑羚、狍、野猪、猞猁等多种国家级野生保护动物[19]。分析结果表明,野生动物监测图像按照光照条件大致可分为以下 4类:充足照度图像,低照度图像,阴影图像,过度曝光图像。图 1为在同一地点拍摄到的不同光照条件下的野生动物监测图像及对应的灰度直方图。
分别对不同光照条件图像进行分析:1)充足照度条件下,灰度直方图在[0,255]内均有分布,野生动物区域照度充足,但增强后图像易出现过度增强的情况;2)低照度条件下,灰度值集中分布在[0,100]内,图像整体偏暗,细节信息不明显;3)阴影遮挡条件下,灰度直方图呈现双峰,且野生动物在监测图像中出现的区域存在不确定性,即野生动物出现在阴影区域或非阴影区域均存在可能性;4)过度曝光条件下,灰度值集中分布在[150,250]内,图像信息丢失严重,在本文研究中被视为异常样本。
2 光照自适应Retinex图像增强算法
针对野外监测图像易受不同光照条件影响,本节提出光照自适应Retinex图像增强算法,首先采用基于复合梯度的自适应引导滤波代替传统算法的高斯滤波,估计单通道照度分量,克服伪光晕效应;然后通过基于Otus阈值的自适应对比度拉伸对照度分量进行校正,克服过度增强并提高算法自适应性;最后计算反射分量图像以实现色彩信息的保留,克服灰化效应。算法流程如图2所示。
2.1 基于复合梯度引导滤波的照度分量图像估计
根据本文第一节分析,实地拍摄的监测图像受到天气变化、林木遮挡等影响,会出现光照条件突变的情况,传统Retinex算法采用高斯滤波估计图像照度分量,仅依据像素点的欧氏距离赋予不同的权重来估算当前像素的照度,明暗像素值相互影响,导致光照突变区域照度估计失真,造成伪光晕现象。从运算效率角度分析,高斯滤波器算法的时间复杂度为O(m×n×r2),其中m、n为图像的尺寸,r为高斯滤波器窗口尺寸,运行效率较低。因此,本文提出一种基于复合梯度的自适应引导滤波,克服以上问题。
引导滤波是一种局部线性滤波器[20],通过建立引导图像I与输出图像Q的线性模型,实现输入的原图P的滤波效果,滤波器模型可表示为:
式中,ak与bk是当引导滤波窗口中心位于像素点k时该线性函数的系数。要使得输出图像Q与输入图像P的差别最小,转化为最优化问题:
利用线性回归求解可得局部线性系数ak与bk的值:
式中,ωk是以r为尺寸的方形滤波器,ω是窗口ωk中像素的数量,uk、σk2分别是引导图像I在窗口ωk中的平均值和标准差,是输入图像P在窗口ωk中的均值,ε为调节滤波程度的平滑因子。引导滤波的运算速率与滤波窗口尺寸无关,时间复杂度为 O(m×n),运算效率优于高斯滤波。
本文首先将原图P转化成单通道灰度图像Pgray作为输入图像,利用公式(1)至公式(4)计算单通道照度分量图像L,其中,将Pgray作为引导滤波的引导图像I,则式(3)(4)可简化为:
平滑因子ε决定了照度分量图像的平滑程度,可按需设定。对式(5)、(6)进行分析,当 ε=0时,ak=1,bk=0,输出为原始图像;当 ε>σk2时,ak趋近于 0,bk近似等于uk,滤波器表现出平滑的效果;反之,当 ε<σk2时,ak趋近于1,bk近似等于0,L近似等于I,滤波器表现出边缘保持的效果。不同平滑因子ε表现在反射分量图像中的效果也存在差异,分别设定平滑因子ε为1、0.1、0.01对图像进行增强试验,滤波器窗口尺寸r=600,增强结果如图3所示。对试验结果进行分析,ε值越大,反射分量图像明暗突变区域的伪光晕现象越明显,但图像细节更加突出;ε值越小,伪光晕现象越小,但动态范围压缩过小,细节增强能力不足。
图 3 不同尺度引导滤波增强效果图Fig. 3 Enhancement effect of different scale guided filtering
图 4 不同滤波器窗口尺寸r增强效果Fig. 4 Enhanced results of different filter windows size r
针对全局平滑因子 ε导致算法的动态范围压缩能力与伪光晕消除效果无法兼顾的问题,本文提出一种基于图像复合梯度的局部自适应平滑因子 ε对引导滤波进行改进。对于原图的灰度图像 Pgray,通过计算灰度图像各像素点的复合梯度[21]得到梯度图像Cp,
式中Hp为图像水平梯度,Vp为图像垂直梯度,可通过矩阵(8)中的水平/垂直微分模板计算得到,水平/垂直微分模板代表相对于像素点水平/垂直方向 0º与 180º、45º与135º、-45º与-135º的邻域像素点灰度值差值相加后取平均值。式(8)左起第1个矩阵为水平微分模板,左起第2个矩阵为垂直微分模板。
将得到的复合梯度图像Cp(i,j)归一化,并提出自适应平滑因子ε(i,j)与图像复合梯度Cp(i,j)的关系式(9),
式中δ为限制平滑因子ε过小的常数,本文δ值取0.01。局部自适应平滑因子 ε(i,j)可以保证在图像复合梯度较大的区域,即明暗对比度较强的区域,采用较小的平滑因子ε,达到去除伪光晕去除的效果;在图像复合梯度较小的区域,采用较大的平滑因子ε,突出图像细节信息,实现伪光晕消除与动态范围压缩联合最优。
滤波器窗口尺寸的大小同样会对滤波效果产生影响,本文分别选取r取100、300、600、800进行对比,增强结果如图4所示。可以看出,r越小,增强后图像暗区域失真越严重;r越大,动态范围压缩能力越差。综合考虑,本文滤波器窗口尺寸r取600。
2.2 照度分量图像自适应校正
传统Retinex算法在估计照度分量时,往往会出现光照信息强度估计不足的情况,表现在反射分量图像中,造成图像较亮区域的过度增强,因此,需要对估计的照度分量进行校正。而仅对照度分量进行整体提亮,会损害算法的动态压缩能力,造成图像较暗区域的增强不足。因此,本文提出一种基于Otsu阈值的对比度拉伸方法对估计的照度分量图像进行自适应校正,在保证算法动态压缩能力的同时,实现算法对不同光照情况的自适应性。照度分量图像 L经过映射后得到如下拉伸后的照度图像L’,
式中,α为拉伸因子,决定对比度拉伸的程度,β为拉伸曲线对称轴值,调节对比度拉伸区间。图 5分别绘制了参数拉伸因子α以及拉伸曲线对称轴值β取不同值下的对比度拉伸曲线图。
图 5 自适应对比度拉伸曲线Fig. 5 Adaptive contrast stretch curve
图5a绘制了α=1.05下,曲线对称轴值β分别取100、127.5及150的对比度拉伸曲线,黑色虚线为参考线y=x,参考线上,图像像素值没有变化。可以看出,照度分量图像灰度值在对称轴值 β附近的映射曲线斜率最大,即对比度拉伸能力最大,保证了图像的最大拉伸效果;且映射后,照度分量图像较暗像素点绝大部分位于参考线y=x以下,较亮像素点绝大部分位于参考线y=x以上,表现在反射分量图像中,可以实现图像暗部的提亮,并且限制图像亮部的过度增强。
为了实现不同光照条件下监测图像的自适应增强,采用照度分量 Otus阈值确定式(10)中的参数 β。Otus阈值法通过计算图像的最大类间方差,得到灰度阈值T,可最大差别的将野生动物监测图像分为明暗2个部分[22]。本文令 β = 2 55T ,则公式(9)可改写成即通过Otus阈值自适应调整拉伸区间。
α决定对比度拉伸的程度,图 5b分别绘制了 β取127.5条件下,α分别取1.03、1.05、1.1时3条对比度拉伸曲线。当α趋近于1时,映射曲线斜率趋近于0,对比度拉伸能力差,当α趋近于2时,映射曲线斜率趋近于∞,对比度拉伸能力强。经过试验对比,本文选择拉伸能力较为适中的参数α=1.05。
2.3 反射分量图像计算
根据Retinex理论,图像P(x,y)可以表示为照度分量L(x,y)和反射分量R(x,y)的乘积形式。传统Retinex算法在计算反射分量时,是将原图和照分量图像的R、G、B三个色彩通道独立计算,这破坏了图像色彩通道的相关性,造成图像色调偏离与饱和度降低,即所谓的“灰度世界破坏”[23]。带色彩恢复的 Retinex算法[19]采用增加颜色恢复函数以克服“灰化效应”,但增加了算法的复杂度。当前,学者普遍将图像从RGB色彩空间转化至色调、饱和度、明度(Hue, Saturation, Value, HSV)色彩空间,对明度分量进行独立的Retinex增强以实现色彩保真,但试验表明,图像亮度值的改变使亮度与饱和度的相对关系发生变化,图像色感存在偏离。
本文采用校正后的单通道的照度分量 L’(x,y)与原图P(x,y)的R、G、B三个色彩通道进行运算,不仅可以保持三个色彩通道的相关性,达到色彩保持的效果,而且避免对色彩空间进行转换,不增加算法的复杂度。在处理中,通常将图像转至对数域,从而将乘积关系转换为和的关系,计算公式如下:
式中,i∈{1,2,3}表示RGB三个色彩通道。最后通过公式(12)将对数域的反射分量图像经指数函数量化后作为增强后的图像R(x,y)。
3 结果及分析
本文试验所用计算机配置为:CPU:IntelCorei5-3210M,2.50 GHz,RAM 4GB;运行环境:Matlab 2012a。将本文算法与带色彩恢复的Retinex算法(Multi-scale Retinex with color restoration , MSRCR)[14]、HSV色彩空间下基于双边滤波的Retinex算法(简称双边滤波Retinex算法)[24]与YCbCr色彩空间下基于引导滤波的Retinex算法(简称引导滤波Retinex算法)[25]进行对比分析。MSRCR算法的3个高斯核σ取值为30、80、200,且三者权值平均分配,窗口尺寸为 300,色彩恢复参数α取20,β取1;双边滤波Retinex算法滤波器参数为εr=30、εd=0.3,窗口尺寸为300;引导滤波Retinex算法滤波器参数为ε=0.01,窗口尺寸为300,色彩恢复参数α取140,β取1。
3.1 图像增强视觉效果对比分析
图6为对充足光照条件、低照度条件、阴影条件下的野生动物监测图像的算法试验效果图。通过视觉效果对比可以得出,MSRCR算法的色调偏离问题最严重,在部分区域会出现色彩翻转的现象,在图 6阴影条件下,左起第二幅图的明暗突变区域出现伪光晕现象,明暗过度不自然;且 MSRCR算法存在过增强,图像信息丢失的问题。双边滤波Retinex算法与引导滤波Retinex算法分别将图像转化到HSV与YCbCr色彩空间,对亮度通道进行单独的运算处理,所以具有较好的色调保持性;且双边滤波与引导滤波估计的照度分量相较于高斯滤波更为准确,伪光晕消除效果理想。但双边滤波Retinex算法图像整体偏暗,且在图 6低照度条件下的左起第三幅图中出现黑边现象。引导滤波Retinex算法对于光照突变条件下图像暗区域的增强能力不足。本文算法使得增强后的图像较好的保持了原图的色彩,在明暗突变区域过度自然,提高了不同光照条件的图像较暗区域的亮度,且限制了较亮区域的过度增强,实现了光照自适应的要求。
图 6 不同光照条件图像增强效果对比图Fig. 6 Different illumination conditions experimental image
3.2 图像增强效果客观评价
本文分别从色调保真度、信息熵、峰值信噪比与运行时间等客观评价指标[26-27]对图 6的增强效果图进行对比分析,对本文算法的有效性进行验证。色调保真度反映了增强后图像色调的偏差程度,色调保真度值越低则保真效果越好;信息熵描述了图像信源的平均信息量的多少,信息熵越高则图像含有信息更丰富;峰值信噪比用来反映增强算法增强后图像的保真程度,其值越大,图像增强效果越好。
表 1 图像增强质量性能评价Table 1 Image enhancement quality performance evaluation
试验图像6的客观评价如表1所示。
通过表1的数据对图像算法进行分析:1)本文算法增强后图像的色调均小于 0.03,说明对原图的色彩信息起到了理想的保真效果,与主观感觉相符,优于MSRCR算法;由于双边滤波Retinex算法与引导滤波Retinex算法分别将图像转化至HSV空间与YCbCr空间,对亮度空间进行单独的增强运算,因此也具有较强的色彩保持能力。2)本文算法的信息熵相较于MSRCR算法、双边滤波Retinex算法及引导滤波Retinex算法最高,说明本文算法增强后的图像含有更多的信息量。3)本文算法的峰值信噪比值明显高于 MSRCR算法,略优于双边滤波Reitnex算法,表明增强后图像相较于原图失真较少,保留了更多的原图信息。4)由于本文算法在传统 Retinex算法基础上加入了自适应校正环节,因此运算效率略低于MSRCR算法;但相比于引导滤波Retinex算法更为快速,且相比于双边滤波 Retienx算法,本文算法的运算时间仅为其五分之一,证明了本文算法拥有较高的运算效率。
为了进一步验证本文算法的性能,从野生动物监测图像中随机选取50张,计算并统计不同算法的性能评价指标值,统计分析结果显示:本文算法相比于 MSRCR算法、双边滤波Retinex算法和引导滤波Retinex算法,色调保真度平均提高81.00%、5.24%和3.58%,信息熵平均提高 6.76%、6.23%和 2.61%,峰值信噪比平均提高53.43%、5.36%和-2.85%,运算耗时减少-29.03%、78.51%和28.68%,进一步证明本文算法的优越性。
4 结论
本文提出了一种基于Retinex理论的图像增强方法,通过对照度分量图像的自适应估计与校正,实现了白天不同光照条件下野生动物监测图像的自适应增强。利用本文算法对内蒙古赛罕乌拉国家级自然保护区实地采集到的野生动物监测图像进行处理,并与 MSRCR算法、双边滤波Retinex算法及引导滤波Retinex算法进行比较。试验结果表明,本文算法相比于 MSRCR算法、双边滤波Retinex算法及引导滤波Retinex算法,色调保真度平均提高81.00%、5.24%和3.58%,信息熵平均提高6.76%、6.23%和2.61%,峰值信噪比平均提高53.43%、5.36%和-2.85%,运算耗时仅为双边滤波Retinex算法的五分之一,并且克服了传统Retinex算法存在的伪光晕效应、灰化效应及过增强问题,可以实现不同光照条件野生动物监测图像自适应增强,可以为进一步提高野生动物的机器自动识别准确率提供了有效支撑。