基于Retinex和同态滤波的X射线电池图像增强算法

2021-05-13 02:19赵爱玲张鹏程
测试技术学报 2021年2期
关键词:同态滤波均衡化图像增强

赵爱玲,张鹏程,刘 祎

(1. 中北大学 信息与通信工程学院,山西 太原 030051;2. 生物医学成像与影像大数据山西重点实验室(中北大学),山西 太原 030051)

0 引 言

工业X射线电池图像的特点是: 一层一层卷积起来形成上下两层电池图,最上面一层的褶皱由深到浅,下面一层则是两条粗线对应一条折痕,其中折痕由清晰逐渐到模糊,上面一层还能看到一些细节信息,下面一层几乎是乌黑一片且亮度从亮到暗递减. 而且在实际应用中,由于X射线电池图像受到外界环境影响或自身因素限制造成图像对比度低、 噪声多且图像质量不好,严重影响后期图像的观察与分析[1-3]. 因此,对电池图像的增强是非常有必要的.

图像增强算法主要有灰度变换、 直方图均衡化[4]以及Retinex算法[5,6]等,灰度变换虽然可以提高对比度但容易导致图像的一些细节缺失,直方图均衡化算法易造成弱增强或者过增强现象[7],Retinex算法可以有效地改善图像的视觉效果,但容易产生光晕和伪影. Jang等[8]提出了在光照和物体对比度边缘条件下的自适应权重多尺度 Retinex 算法,该算法能够获得良好的图像动态范围,但处理后的图像会出现过增强现象; Kwon等[9]提出了用亮度函数来自适应地调整图像亮度,从而达到图像增强的目的; 孙斌等[10]提出的算法先用多尺度Retinex对图像增强,再对增强后的图像截断拉伸; 李忠海等[11]提出一种用引导滤波图像分层处理与多尺度Retinex 算法相结合的图像增强算法. 该算法使图像的边缘更加突出,能够消除光晕伪影现象; 牟琦等[12]采用引导滤波和低秩分解对Retinex算法进行改进,形成新的图像增强算法. 上述几种方法不能有效地改善X射线电池图像的视觉效果且不能有效地增强图像中的细节信息.

针对上述问题,本文提出了一种基于Retinex和同态滤波的X射线图像增强算法. 首先,根据多尺度Retinex得到照射分量和反射分量,对照射分量用改进的直方图均衡化方法来处理,以增强图像的对比度,对反射分量用改进的巴特沃斯高通滤波器对图像的局部细节增强; 然后,将反射分量与照射分量按比例融合; 最后,用改进的同态滤波对图像增强,即可得到增强后的图像.

1 改进的Retinex算法

根据色彩恒常理论可知: X射线电池图像I(x,y) 由反射分量R(x,y)和照射分量L(x,y)组成,其表达式为

I(x,y)=L(x,y)×R(x,y).

(1)

为了计算简便,将其统一到对数域中.

lg(I(x,y))=lg(L(x,y))+lg(R(x,y)).

(2)

单尺度Retinex(Single scale Retinex,SSR)算法的表达式为

R(x,y)=lg(L(x,y))-lg[L(x,y)*G(x,y)],

(3)

式中: *代表卷积运算;G(x,y)为低通滤波函数,用来估计图像的照射分量. 其表达式为

G(x,y)=Ke-r2/c2,

(4)

式中:c是尺度,K是归一化常数. 其设置满足

∬G(x,y)dxdy=1.

(5)

单尺度Retinex算法中c的取值特别重要,c的取值太小,可以增强图像暗区域的细节,但导致颜色失真,c的取值太大时,图像的细节信息增强不够. 因此,Jobson等人提出多尺度Retinex(Multi scale Retinex,MSR)算法[13]. MSR算法的特点是可以压缩图像的动态范围[14],其理论模型为

lg[L(x,y)*G(x,y)]},

(6)

式中:RM(x,y)为反射分量;n为尺度数目;wk表示第k个尺度所对应的权重,w1=w2=w3.

在Retinex算法中,当光照强度变换太大时,易产生光晕现象,因此,对多尺度Retinex算法进行改进: 首先在MSR算法中用引导滤波[15]代替高斯函数对照射分量估计,从而可以得到图像的反射分量. 引导滤波与高斯函数相比,引导滤波不仅可以保持图像的边缘信息,消除光晕伪影,而且提取的照射分量可以反映图像的整体结构; 然后将多尺度Retinex算法得到的照射分量和反射分量分别用直方图均衡化、 改进的巴特沃斯高通滤波器处理,再将处理后的反射分量与照射分量按比例融合,最后,用改进的同态滤波对图像增强,即可得到增强后的图像. 具体流程如图1 所示.

图1 本文算法的流程图Fig.1 Flow chart of the algorithm in this paper

1.1 改进的直方图均衡化算法处理照射分量

照射分量反映了图像的边缘信息,对应图像的低频部分. 直方图均衡化算法使图像的灰度级分布较广且呈现均匀分布,提高了图像的对比度. 但是传统的直方图均衡化算法易使图像的灰度级缺失从而使图像清晰度降低.因此本文采用改进的直方图均衡化算法对照射分量增强.

本文提出的直方图均衡化算法利用图像亮度值取对数后的平均值作为key值[16],从而得到图像低照度区域的阈值LT和图像高照度区域的阈值LH,将直方图分为3个子直方图L1,L2,L3. 图像亮度小于LT时,为低照度子直方图; 大于LH时为高照度子直方图; 介于LT和LH之间的亮度区域为中照度子直方图.

(7)

(8)

式中:w为图像中的像素总数;δ为一个较小的值,是为了避免像素值为0时带来的运算异常;Lmax为图像的最大亮度值;Lmin为最小亮度值.

LT=Lmaxn-(0.9+0.1key)(Lmaxn-Lminn),

(9)

LH=Lminn-(0.6+0.4key)(Lmaxn-Lminn),

(10)

Lmaxn,Lminn为图像归一化为0~1时的最大值和最小值.

L=L1∪L2∪L3,

(11)

L1={L(x,y)≤LT,∀L(x,y)∈L},

(12)

L2={LT

(13)

L3={L(x,y)>LH,∀L(x,y)∈L}.

(14)

每个子直方图的概率密度函数和累计分布函数为

(15)

(16)

通过累计分数将输入图像映射到整个灰度级,则转换函数的表达式为

fi(l)=Lmini+(Lmaxi-Lmini)Ci(l),

(17)

式中:xmini和xmaxi分别表示每个子直方图的最大值和最小值;fi(l)表示经过直方图均衡化之后的结果图.

1.2 改进的巴特沃斯高通滤波器处理反射分量

反射分量决定图像的细节,对应图像的高频部分. 采用改进的高通滤波器对图像的细节部分增强.

巴特沃斯型高通滤波器的特点是削弱了图像的低频成分而高频成分保持不变,使图像的边缘和细节突出. 经过高通滤波后,图像的平均强度会减小甚至为0. 因此,对巴特沃斯型高通滤波器进行改进. 改进方法就是给巴特沃斯型高通滤波器加一个偏移量,滤波器乘以一个大于1的常数再和偏移量相加,这样使零频率不被滤波器除掉.

截止频率距原点为D0且N阶的巴特沃斯型高通滤波器[17,18]传递函数为

(18)

式中:D0是指定的非负数值;D(u,v)是(u,v)点距频率矩形中心的距离.

改进后的巴特沃斯型高通滤波器的传递函数为

Hhfe(u,v)=a+bHhp(n,v),

(19)

式中:a是偏移量;b是乘数;Hhp(u,v)是巴特沃斯高通滤波器的传递函数.

照射分量用改进的直方图均衡化处理,使其有很好的对比度. 反射分量用改进的巴特沃斯高通滤波器对细节增强,最后将处理后的反射分量和照射分量按比例融合. 其表达式为

(20)

2 同态滤波算法

2.1 同态滤波

同态滤波[19]采用的是照射-反射模型,即通过同时减小图像的灰度范围和增强图像的对比度来对图像增强. 图像可表示为照射i(x,y)和反射r(x,y) 两部分的乘积

f(x,y)=i(x,y)r(x,y).

(21)

将其变换到对数域,并进行傅里叶变换得

Inf(x,y)=In(i(x,y))+In(r(x,y)),

(22)

F(u,v)=I(u,v)+R(u,v),

(23)

式中:I(u,v)和R(u,v)分别是In(i(x,y))和In(r(x,y)) 的傅里叶变换,借助滤波函数H(u,v)对F(u,v)进行滤波,可以分离得到入射分量和反射分量

H(u,v)F(u,v)=H(u,v)I(u,v)+

H(u,v)R(u,v).

(24)

滤波后,进行傅里叶逆变换得

hf(x,y)=hi(x,y)+hr(x,y).

(25)

对式(25)取指数后,得到滤波后的图像

g(x,y)=ehf(x,y)=ehi(x,y)ehr(x,y).

(26)

2.2 同态滤波算法改进

图像的增强效果由同态滤波的传递函数来决定,而传递函数的滤波范围由参数来控制,传递函数有高斯型、 巴特沃斯型、 指数型等,但这几种传递函数的参数较多,不太好调整到效果最好的状态. 因此,在保持滤波效果不变的情况下,提出一种改进传递函数的同态滤波.

该传递函数是基于S型曲线的改进,该曲线方程为

(27)

其对应的曲线图如图2 所示.

可以得到改进后的传递函数为

H(u,v)=1/(1+D(u,v)-t),

(28)

式中:

(29)

式(29)表示点(u,v)到滤波中心点(u0,v0)的距离.

由式(28)可知: 改进后的同态滤波,只要控制好参数t就可以达到很好的滤波效果,有效解决了传统同态滤波算法传递函数参数太多的问题. 本实验中改进后的同态滤波的传递函数中参数t=0.001.

图2 S型曲线图Fig.2 S-shaped graph

3 结果分析

本文实验环境: Inter(R)Core(TM)i7-7700CPU@3.6 GHz; 内存为16.0 GB; 操作系统为windows10; 采用matlab2016a仿真实现. 为了说明本文算法的有效性及其通用性,通过两组不同的电池图像对算法进行验证.

第1组实验参数为: X射线能量为95 kV,150 μA,采用平板探测器接收数据,探测器大小为2 352*2 944,探元大小为0.2 mm,故图像大小为2 352*2 944,像素为2 B.

第2组实验参数为: X射线能量为110 kV,150 μA,采用平板探测器进行接收数据,探测器大小为2 352*2 944,探元大小为0.2 mm,故图像大小为2 352*2 944,像素为2 B.

实验中3个尺度参数小尺度σ1一般选择图像大小的0.01~0.05; 中尺度σ2为图像大小的0.1~0.15; 大尺度σ3为图像大小的0.3~0.5. 本实验中融合的权重取值wI=0.6,wp=0.4.

图3 X射线电池图像Fig.3 X-ray battery image

3.1 主观分析

为了验证本文算法的有效性,分别利用本文算法、 伽马矫正算法以及尚月提出的基于Retinex的夜间低照度图像的自适应增强算法[20]对两组电池图像增强. 其结果如图4,图5 所示.

图4 第一组X射线电池图像的增强结果Fig.4 Enhancement results of first group of the X-raybattery images

图5 第二组X射线电池图像的增强结果Fig.5 Enhancement results of second group of the X-raybattery images

对于两组结果图: 当薄厚不均的电池图被X射线穿透时,厚的部分看不到任何细节,薄的部分容易被打穿,这时就需要对电池图作后处理. 本文提出的方法在视觉效果上是最好的,图像细节清晰并且亮区到暗区有过渡区域,在亮区域不会过度曝光且暗区域可以看到更多的细节信息. 在对应的局部图中可以看到两条粗线中间有一条细线; Gamma矫正对于X射线电池图会有伪影产生,只能看到一小部分的细节信息且对应的局部图中乌黑一片,看不到任何细节信息; 尚月提出的Retinex算法,X射线电池图的第一层上面褶皱的增强效果也不太理想,不能看到更多的细节信息,在对应的局部图中可以看出,曝光严重.

3.2 客观分析

为了客观评价本文提出的算法,采用两种客观指标对图像进行评价,分别是信息熵和平均梯度. 平均梯度主要用来衡量图像对比度,其值越大图像的对比度就越高. 信息熵是衡量图像中包含信息多少的指标,信息熵越大则表明图像中含有的信息就越多.

表1 各算法的评价指标

由表1 可知: 本文算法在两组测试图的信息熵都是最大的,表明本文提出的算法可以看到更多的细节信息; 本文算法在两组测试图的平均梯度都是最大的,表明本文所提的算法可以有效地提高图像的对比度.

综上所述,本文算法对于X射线电池图像的增强效果,在主观视觉上比其他算法更有优势,在客观评价体系下,本文所提算法的评价指标总体来说是最好的,说明本文提出的算法在图像的清晰度和亮度上有很大的改善.

4 结 语

高范围X射线电池图像是比较新的研究课题,本文结合多尺度Retinex、 改进的直方图均衡化、 巴特沃斯高通滤波器以及同态滤波,综合考虑了图像的全局与局部信息,组合成一个能应用于低对比度的X射线电池图像增强算法. 用两个客观指标对图像评价,结果表明本文所提的算法能更有效地提高图像的亮度与对比度,使处理后的图像更加具有可视性.

猜你喜欢
同态滤波均衡化图像增强
图像增强技术在超跨声叶栅纹影试验中的应用
水下视觉SLAM图像增强研究
虚拟内窥镜图像增强膝关节镜手术导航系统
基于图像增强的无人机侦察图像去雾方法
基于同态滤波与GA优化的QR码识别算法及其应用
PSO约束优化耦合直方图均衡化的图像增强算法
基于同态滤波和Retinex的图像去雾算法
利用同态滤波提取高分辨率遥感影像树冠信息
制度变迁是资源均衡化的关键
直方图均衡化技术在矢量等值填充图中的算法及实现