郑 永,颜 冬,陈 艳,刘尧平,张天恒
(1.重庆理工大学 时栅传感及先进检测技术重庆市重点实验室,重庆 400054;2.重庆理工大学 机械工程学院,重庆 400054;3.重庆理工大学 机械检测技术与装备教育部工程研究中心,重庆 400054;4.重庆理工大学 电气与电子工程学院,重庆 400054)
蜗轮副接触斑点是蜗轮蜗杆精度判断的指标之一[1],可以通过其面积、分布位置等信息判断蜗轮蜗杆的啮合是否合格,蜗轮蜗杆装配时是否有安装误差[2],以及蜗轮加工时蜗轮精滚刀是否出现误差[3]等。
作为传统的检测方法,目测法具有主观性强、效率低等缺点。目前,机器视觉技术较为完善,它不仅克服了目测的缺点,还可做出更为快速、准确的检测判断。由于受涂色法中红铅粉、蜗轮齿面的反射性质以及低光强的影响,摄像头所采集到的图像整体亮度较低、对比度低,导致图像检测结果不够理想,所以需使用图像增强技术,对图像的亮度、对比度等信息进行增强,使处理后的图片更加符合视觉要求,拥有更好的图像质量和特征。
图像特征增强算法主要有小波变换算法[4]、直方图均衡化[5]、Retinex模型[6]等。其中,Retinex模型增强效果明显,它可以根据颜色恒常性的特点,对入射分量和反射分量进行分离,从而获得物体的特征[7]。目前,已有单尺度Retinex、多尺度Retinex等多种改进Retinex算法。
任斌[8]根据Retinex的颜色恒常性的特点,对图像进行了增强;但这样的方法可能会导致光晕效应的产生。魏赟等人[9]基于快速亮通道双边滤波器的Retinex图像增强算法,使用多层亮度先验算法,对亮度进行了增强,再用多尺度的高斯滤波进行了图像细节提升,避免了光晕效应的产生;但同时可能会出现增强过度或者增强不足等问题。张立亚等人[10]提出了在色调、饱和度和明度(hue,saturation,and value,HSV)空间变换条件下,用传统双边滤波的方法改进Retinex算法,即先对亮度分量进行增强,再对饱和度分量进行校正;该方法增强了图像的细节保持能力,抑制了图像光晕、边缘模糊现象,但可能会导致图像颜色的失真。
上述研究结果表明:利用传统双边滤波改进Retinex的算法具有较强的细节保持能力,解决了增强算法常见的图像光晕、边缘模糊等缺点;但有可能会导致图像的颜色失真。
因此,笔者提出一种基于通道拉伸和改进多尺度Retinex的蜗轮副接触斑点图像增强算法。首先,对HSV颜色空间的饱和度和亮度通道进行拉伸,增加其饱和度和亮度,避免在图像细节增强过程中出现颜色失真;同时,为避免丢失边缘等细节数据,提出改进的MSR算法,使用自适应权重双边滤波替换高斯滤波,并使用tanh函数替换对数函数;最后,使用伽马校正算法进一步调整图像亮度,改善图像的质量和特征信息。
图像特征是一幅图区别于另一幅图的基本信息,常用于识别图像的内容。它一般分为表面特征和统计特征。表面特征一般分为物体的颜色、纹理、形状、空间位置、亮度等。统计特征也可以认为是数据特征,指图像数值之间的关系,例如均值、标准差以及熵等数据分布关系。
图像特征的好坏会影响图像特征提取效果的好坏,最终会影响后续图像处理效果的好坏。
Retinex算法的理论基础是三色理论和和颜色恒常性[11]:即物体的颜色是由物体对长波(红色)、中波(绿色)、短波(蓝色)光线的反射能力来决定的,而不是由反射光强度的绝对值来决定的;物体的色彩不受光照非均匀性的影响,具有一致性,即Retinex是以色感一致性(颜色恒常性)为基础的。
Retinex的反射模型如图1所示[12]。
图1 Retinex反射原理图
根据Retinex理论,摄像头所获取图片为入射光图像与反射物体图像相乘[13],可得下式:
I(x,y)=L(x,y)×R(x,y)
(1)
式中:I为相机所获得的图片;L为入射光图片;R为反射物体的图片。
入射光是一种低频量,反射图像是高频量。因此,可以通过低通滤波的方式获得L(x,y):
L(x,y)=I(x,y)*F
(2)
式中:F通常为高斯函数。
在实际计算中,为了消去入射光图片,得到反射物体图片,学者们会将图像转换到对数域进行处理,其表达式为:
logR(x,y)=logI(x,y)-log[I(x,y)*F]
(3)
式中:*为卷积符号。
上述算法为单尺度Retinex算法(single scale Retinex,SSR)。由于SSR具有高斯中心环绕函数的特点,增强后的图片不能在保持图像的高保真度的同时,对图像动态范围进行压缩。
为此,学者们后续分别提出了多尺度Retinex[14]和带色彩恢复的Retinex[15],对Retinex算法进行不断完善,在提高图像细节的同时,又保持了其颜色的保真度。
基于传统双边滤波的Retinex虽然在一定程度上解决了单尺度Retinex和多尺度Retinex的过度增强、颜色失真以及细节模糊等缺点,但在图像增强过程中,其颜色失真和细节模糊问题可能依然存在。
针对这些问题,笔者提出了基于HSV通道拉伸和改进多尺度Retinex的蜗轮副接触斑点增强算法。
算法流程如图2所示。
图2 图像增强算法流程图
该算法主要分为3个部分:
1)HSV通道拉伸,增强图像的饱和度和亮度,避免基于双边滤波改进MSR算法对图像进行增强后,出现颜色失真;
2)多尺度Retinex(MSR)算法改进,也可以称为MSR算法融合,即将自适应权重双边滤波与其融合,提高算法的细节保留能力;tanh函数与其融合,避免对数函数出现数据丢失的问题;
3)使用自适应伽马校正算法对图像亮度进一步改善,以增加图像的质量。
物体的颜色由物体表面物质的反射性质和光源共同决定。涂色法用的是红丹粉,其主要成分是四氧化三铅,使用时需混合机油,将其涂在金属表面,使其呈橙红色,啮合后蜗轮接触斑点边缘呈淡橙红色,而且图像整体对比度较低。
由于在低亮度的环境下,图像整体颜色较暗,笔者直接使用基于双边滤波改进的MSR算法对图像进行增强。
原图和双边滤波改进MSR增强对比图,如图3所示。
图3 原图和双边滤波改进MSR增强对比图
由图3可知:图3(b)中出现了颜色失真,其原因是在图像增强过程中,出现饱和度和亮度比例失调的问题,导致HSV图像转换为RGB图像[16]时会出现R、G、B这3个通道不均匀的情况[17],从而导致图像出现偏色、光晕、颜色失真等问题[18]。
因此,笔者先对其亮度和饱和度通道进行拉伸,其表达式为:
(4)
式中:vari(x,y)是图像中S分量值;Min()为最小值函数;Max()为最大值函数;dst(x,y)为拉伸后的值。
笔者采用通道拉伸处理方式,先调整图像的饱和度和对比度,提高图像的鲜艳程度,避免增强过程中掺入过多白光,从而导致图像的亮度和颜色饱和度比例不合理[19],转换到R、G、B这3个通道时不均匀,最终出现颜色失真的情况。
2.2.1 自适应权重双边滤波与MSR融合
在SSR的基础上进行改良可得到MSR。MSR的优点是可以保持图像高保真度,并对图像的动态范围进行压缩[20]。
传统的MSR使用高斯滤波[21]作为中心环绕函数,其表达式为:
(5)
由式(2)可得光照图像,然后通过式(5)可知:高斯滤波最大的不足是仅考虑了图像空间的相关性,而忽略了像素域的相关性,从而不能有效地保持图像的细节并对光照做出准确的判断[22],导致增强后的图像存在对比度不强、颜色失真、部分边缘信息丢失等问题。
然而,笔者对接触斑点图片增强的目标是提高对斑点信息提取的准确度。因此,有效保留图像细节信息至关重要。
在常见的滤波方式中,双边滤波以边缘保持能力强而著称。定义双边滤波为[23]:
(6)
式中:f(x,y)为双边滤波后的图像;I(x,y)为原始图像;s(i,j)为(i,j)为中心的(2N+1)2范围的图像域;W(x,y)为空间域和像素域的权值乘积。
W(x,y)公式如下:
(7)
(8)
W(x,y)=Ws×Wr
(9)
式中:σs为空域标准差;(x-k)+(y-l)为点(x,y)到点(y,l)的空间距离;σr为像素域标准差;f(x,y)-f(k,l)为(2N+1)2范围内每个像素值与中心点像素值之差;Ws为空间距离权重系数;Wr为像素域权重系数。
由式(9)可得:双边滤波综合考虑了距离和色彩的权重,既能有效过滤噪声,又能较好地保护边缘信息。但是,其中Ws本质上就是一个高斯函数,它对任何相同大小的区域都是一样;而Wr不一样,它对于平滑区域,其σr较小;对于边缘等细节区域,σr较大,Wr具有细节敏感性[24]。
因此,在平滑地区和边缘区域,不能把双边滤波中Ws和Wr在总权重比中的占比视为等同,这样会导致图像增强后缺乏鲁棒性,需要体现出差异,来提升细节保持能力。
因此,权重W(x,y)为:
W(x,y)=βWr+(1-β)Ws
(10)
其中,由下式计算得到变量β,即:
(11)
式中:Information(I)为当前窗口的信息熵;Information(N)为图像的信息熵。
信息熵代表一个图像或图像区域细节信息的丰富程度[25]。平滑区域的信息熵较小,对应β很小,因此,空间距离权重在总权重中占比大;而在细节区域,对应β较大,像素域权重在总权重中占比大。
改进后的双边滤波充分展现出不同区域的权重自适应,能够提高双边滤波的细节保持能力。
2.2.2 tanh函数与MSR融合
由双边滤波替代高斯滤波作为中心环绕函数,可以提高MSR的细节保留能力。但是,传统的MSR算法却采用取对数的方法来分离出物体图像。根据对数函数的定义域和值域的特点,笔者需要在取对数前,进行零替换或者转化到对数域,然后进行加一处理。
加一处理表达式如下:
(12)
上述的2种转化方式可以避免定义域出现零值的情况;但是会导致部分细节数据的丢失,从而破坏图像数据的完整性。
为了避免数据的丢失,笔者采用tanh[26]函数代替log函数,tanh函数表达式为:
(13)
tanh函数的曲线与式(12)处理后的对数曲线如图4所示。
图4 tanh函数的曲线与log函数曲线图
由图4可知:2条曲线非常接近;同时,tanh具有更好的特性,如光滑性和动态压缩能力等。
为了验证融合后MSR图像的有效性,笔者分别采用传统双边滤波改进的MSR,以及所提算法处理图像,然后对比它们的灰度分布频率。
双边滤波改进Retinex和所提算法直方图对比图结果,如图5所示。
图5 双边滤波改进Retinex和所提算法直方图对比图
从图5可知:笔者所提的融合MSR算法处理后的直方图跨度最大,证明其有较大的对比度;而且其直方图主要分布在灰度值比较大的位置,说明了在亮度的增强能力方面,该方法强于传统双边滤波改进的MSR算法。
2.2.3 融合Retinex流程图
融合Retinex流程图如图6所示。
图6 融合Retinex算法流程
为进一步提高图像质量,笔者提取出HSV颜色空间中的亮度分量,进行伽马变换[27],以改善图像的亮度。
伽马变换表达式为:
V(x,y)=C×V(x,y)γ
(14)
式中:V(x,y)为原图亮度分量;C为灰度缩放系数,取1;γ为伽马校正因子。
为达到在不同位置γ会自适应调节的目的,笔者使用文献[9]1944-1949的算法调节方式,其表达式如下:
(15)
式中:Vmin(x,y)为亮度通道最小值;Vmax(x,y)为亮度通道最大值。
笔者经过式(15)计算,得到γ分布在0~1的范围。最后,结合经过通道拉伸的S通道,可以起到自适应调节亮度的作用,使图像质量更好、特征更明显。
为了验证基于通道拉伸和改进多尺度Retinex算法的有效性,笔者取一组低光强的蜗轮副接触斑点图片,利用该算法与MSR、基于双边滤波改进的MSR,从主观评价和客观评价2个方面分别进行实验验证和结果对比分析。
主观评价是从亮度和对比度2个方面进行比较。
由图像的亮度可以直观地发现,基于通道拉伸和改进多尺度Retinex的蜗轮副接触斑点图像增强算法与MSR、基于传统的双边滤波改进的MSR和原图的亮度对比图,如图7所示。
图7 亮度对比图
由图7可知:原图的整体亮度较低,通过各个算法增强后,其亮度都有所改善。
采用MSR算法后,亮度增强过度,导致图像出现了光晕和颜色失真的问题;采用基于传统双边滤波改进的MSR后,解决了MSR产生光晕的问题,由于增强后图像在R、G、B这3个通道有轻微的不均匀问题,图片依然出现了颜色失真;而相比于其他算法,笔者所提算法在亮度、适宜程度和图片的自然程度上,更有优势。
图像的对比度是指图像暗与亮的落差值,灰度图表现为灰度值的反差,可以利用sobel算子检测边缘的原理[28]去检查灰度值的变化,从而表明图像对比度。
sobel边缘检测对比图如图8所示。
图8 sobel边缘检测对比图
由图8可知:利用sobel算子检查原图的灰度值,其变化位置少,而且较浅,说明了原图对比度较低。
经过了各种算法的增强后,笔者检查出图像的灰度值变化位置增加,该位置的明亮程度也有所增加。相比于其他2种算法,笔者所提算法的检查效果最强,表明了这个图像的对比度最大。
此处,笔者将均值[29]、标准差[30]、信息熵[31]、对比度[32]等客观指标作为图像增强的判断依据[33]。均值可描述图像的亮度,均值越大,图像越亮;标准差可描述灰度值与灰度均值的离散程度,值越大,说明灰度级分布越广,反映的图像信息越多;信息熵反映了图像中各像素点的分布复杂情况,是评价图像质量的重要指标,信息熵越大,说明图像的细节表达越好[34]。
以上各类客观数据的对比表如表1所示。
由表1数据可知:原图的均值、标准差、对比度和信息熵都较低;采用传统的MSR算法时,由于出现了颜色失真和亮度增强过度的情况,均值过大,表明了增强后的图像出现均值增强过度的问题;基于传统双边滤波改进MSR的各个数据都有所增加。
相比而言,采用基于通道拉伸和改进多尺度Retinex的蜗轮副接触斑点图像增强算法,在保持图像质量的同时,亮度和对比度增强效果是最好的;与原图的均值、标准差、信息熵、对比度相比,其分别提高了48.3%、61.6%、7.1%、91.3%。
以上从客观的角度证明了该算法具有有效性和较强的鲁棒性,进而表明了增强后的图片具有更好的图像特征。
笔者提出了一种基于通道拉伸和改进多尺度Retinex的蜗轮副接触斑点图像增强算法。
首先,对HSV颜色空间的饱和度和亮度通道进行了拉伸,增加其饱和度和亮度,避免了图像增强过程中细节出现颜色失真的问题;同时,为了避免边缘等细节数据的丢失,提出了一种改进的MSR算法,使用自适应权重双边滤波替换高斯滤波,并使用tanh函数替换对数函数;最后,使用自适应伽马校正算法对图像亮度做了进一步调整,并利用主观评价和客观评价结果进行了验证。
研究结果表明:
1)与传统双边滤波改进的多尺度Retinex算法相比,基于通道拉伸和改进多尺度Retinex的蜗轮副接触斑点图像增强算法解决了其颜色失真的问题;
2)采用基于通道拉伸和改进多尺度Retinex的蜗轮副接触斑点图像增强算法增强图像后,相比于原图,其均值、标准差、信息熵、对比度分别提高了48.3%、61.6%、7.1%、91.3%,这表明了图像的质量和特征信息相比于原图有很大的提高和改善。
下一阶段,笔者将利用其他算法对增强后的图片进行处理,以便更好地判断蜗轮副接触斑点分布和位置所表达的信息。