《电子技术应用》
您所在的位置:首页 > 嵌入式技术 > 设计应用 > 基于Retinex和BM3D的图像增强
基于Retinex和BM3D的图像增强
2014年微型机与应用第21期
郭永生,卢一相,张 琪,于 洋
(安徽大学 电气工程与自动化学院,安徽 合肥 230039)
摘要: 为克服传统Retinex算法没有解决的噪声问题,提出了一种基于Retinex和BM3D的图像增强算法。该方法将BM3D去噪环节加入到传统Retinex算法中。首先,计算出图像各像素之间的相对明暗关系,进而对待处理图像中的每个像素点灰度值进行校正;然后,通过在相邻图像块中搜索相似块,组成一个三维矩阵,并在三维空间进行滤波处理,得到块预估计值;最后,对图像中每个点进行加权得到最终的处理结果。实验结果表明,该算法既能显示阴影、光照区域中的细节,又能有效消除图像中含有的噪声,克服了传统Retinex图像增强算法的不足。
Abstract:
Key words :

  摘 要: 为克服传统Retinex算法没有解决的噪声问题,提出了一种基于Retinex和BM3D图像增强算法。该方法将BM3D去噪环节加入到传统Retinex算法中。首先,计算出图像各像素之间的相对明暗关系,进而对待处理图像中的每个像素点灰度值进行校正;然后,通过在相邻图像块中搜索相似块,组成一个三维矩阵,并在三维空间进行滤波处理,得到块预估计值;最后,对图像中每个点进行加权得到最终的处理结果。实验结果表明,该算法既能显示阴影、光照区域中的细节,又能有效消除图像中含有的噪声,克服了传统Retinex图像增强算法的不足。

  关键词: 图像增强;视网膜皮层理论;三维块匹配

0 引言

  人类接受的各种信息中视觉信息占很大比重,所以图像信息是十分重要的信息传递方式。但由于光照环境或物体表面反光等原因造成图像整体光照不均,或是图像采集系统由于机械设备的缘故无法避免地加入采集噪声等,导致图像质量大幅度下降,这时就需要图像增强技术改善人的视觉效果。例如,在军事应用中,对敌侦查的图像资料有限,因此可通过图像增强处理获取更多更准确的目标信息;在医学应用中,增强低剂量CT图像质量退化问题等,从而确定病症的准确位置;在空间应用中,可通过图像增强处理改善太空中拍摄的图像的质量,从而更多了解太空中的细节信息;在农业应用中,增强遥感图像了解农作物的分布以及生态的动态监测和估产。因此,研究有效的图像增强算法成为图像分析和图像理解领域发展的关键内容之一。

  到目前为止,一般一种图像增强算法只能对图像中的某一项内容进行增强。比如直方图均衡化,该算法能对图像灰度的动态范围进行调整。缺点是会造成灰度拉伸的“两极分化”,而且在提高有用信息对比度的同时,也增强了无用信息的对比度[1]。同态滤波也广泛用于消除因光照不均或大雾影响造成图像质量较差等问题 ,但是对彩色图像处理效果不佳,会产生色彩失真。Retinex算法相对普通图像增强算法能够得到更好的处理效果。该算法具有锐化、高动态范围压缩、色彩恒常等特性。对于光照不均及雾霾天气等原因引起的图像质量的下降有很好的增强效果[3-4]。但传统Retinex算法在图像增强处理中存在明显的噪声放大问题,该问题将直接影响后续的特征提取操作所获得结果的准确性,大大影响Retinex的实际应用价值。

  对于消除噪声对图像质量的影响,传统空间域降噪算法(如中值滤波、均值滤波等)虽然可以取得一定的平滑效果,但具有边缘保持较差等缺点[5]。而三维块匹配(BM3D)算法去噪效果显著。该算法不仅可以得到较高的峰值信噪比,而且视觉效果很好。此外,该算法还可以克服传统算法在滤除噪声的同时引入人工噪声的局限性[6]。

  本文提出基于Retinex和BM3D相结合的方法,旨在弥补传统Retinex算法的不足,从而改善图像质量,丰富信息量,加强图像判读和识别效果,满足某些特殊分析的需要。

1 Retinex与BM3D算法

  1.1 Retinex理论

  根据Retinex色彩理论可知,物体的颜色是由物体对各种波长的光线的反射能力共同决定的,而物体在某个波段内的反射能力是物体本身固有的属性,与光源强度没有依赖关系。因此,通过计算每个波段内像素间的相对明暗关系,可以获得各像素之间相对明暗关系值,从而对待处理图像中的每个像素点灰度值进行校正[7],消除光源非均匀性的影响, 提高图像的对比度, 大幅度改善图像的主观质量。

  Retinex图像增强算法主要包括以下几个步骤:

  ⑴数据准备

  待处理图像以灰度图像为例,首先要将每个像素点的灰度值由整数转换为浮点数,为后期的浮点运算做准备。

  ⑵计算每个波段内相对明暗关系

001.jpg

  如图1所示,从图像上的A到终点B存在一条路径,该路径共有7个像素点,灰度值依次为(d1,d2,d3,d4,d5)。则起点A和终点B之间的明暗关系可表示为:

  1.png

  其中,T(x)为门限函数,即相邻的像素值变化低于此门限时,则认为它们没有改变。另外,Land等人的实验表明:人眼和摄像机对亮度的感知能力成指数型关系,所以像素间的明暗关系应在对数域中处理[7]。这样处理的另一好处是将复杂的乘除运算转换为加减运算。故式(1)可简化为:

  2.png

  式(2)中,起点A与终点B之间的相对明暗关系实质上就是其像素灰度值在对数域中的差。

  ⑶像素点灰度值校正

  根据像素之间的明暗关系来对原图像中的每个像素点的灰度值进行校正。校正后在图像显示时还需对图像进行线性拉伸,以得到更好的处理效果。

  1.2 BM3D算法

  BM3D是一种基于多尺度、非局部的滤波技术,是一种效果较好的图像去噪算法。该方法通过在相邻图像块中搜索相似块,组成一个三维矩阵,并在三维空间进行滤波处理,得到块预估计值,最后对图像中每个点进行加权得到最终的去噪结果[6]。

  BM3D算法一般分为以下几个步骤:

  ⑴分组

  分组是以图像块之间高度的相似性为依据的。首先,在一个噪声图I中设定若干个参考块。假设当前参考块为Ir,其大小为N1×N1。则以当前参考块为中心,以一个步长(通常为3个像素)在其周围适当区域内进行搜索,比较候选块In与参考块Ir的相似性,即两块距离。用dis来表示,故dis可定义为:

  3.png

  式(3)中,Mr和Mn分别表示图像矩阵块的模。

  在此,使用一个距离阈值τmatch,通常也会设置相似块的最大数量。如果参考块与候选块之间的距离小于τmatch,则认为两块相似。由此,将每个参考块与其相似块进行分组,即形成各参考块的三维数组。

  ⑵联合滤波

  首先对得到的三维数组进行三维线性变换,在变换域中选取合适的阈值,滤除噪声,然后通过逆变换得到所有分组块的估计值。联合滤波可表示如下:

  4.png

  式(4)中,T3D为一种三维变换,W3DZE3}2`7E_$)~AXSDIXGB.jpg为其逆变换,Sm为搜索到的相似块结果的集合,λthr为阈值参数。γ(.)为某硬阈值函数,可表述为:

  5.png

  通过变换域硬阈值函数处理,可以滤除大部分噪声分量,同时保留了真实图像的信息。

  ⑶聚集

  聚集实质上就是对估计值的加权平均。由于分组和滤波后,每一块的估计值有可能是重叠的,例如,块A可能同时与块B、C相似,所以在分组时A既会分到以B为参考块的组,也会分到以C为参考块的组。因此,A的估计值就有多个,会产生重叠。为了获得真实图像的估计值,需要对不同估计值进行加权平均。假设矩阵系数的非零个数为Nz,那么该参考块的预估权值由式(6)计算:

  6.png

  Nz越小,表明真实图像中夹杂的噪声分量的值就越小,从而得到的权值就越大。

2 基于BM3D与Retinex的图像增强

  对于输入图像,首先进行全局Retinex图像增强算法处理。此方法既能保持颜色的恒定性,又能使得动态范围压缩和边缘增强相协调,并且增强后的画面细节还原充分,轮廓清晰,视觉效果好。然后,进行基于BM3D图像去噪算法处理。该方法在像素点估算过程中引入的人工噪声很小,而且保留了图像大部分细节信息,克服了传统去噪算法在滤除噪声时引入人工噪声的局限性。算法流程如下:

  ⑴输入图像为S(x,y),若其为彩色图像,则将其分解为SR(x,y)、SG(x,y)、SB(x,y)三幅灰度图像,并分别将各灰度图像中各像素的灰度值的数据类型由字节型转换为双字节型;若为灰度图像,则将图像中各像素的灰度值的数据类型由字节型转换为双字节型。

  ⑵将输入图像S(x,y)进行对数处理:

  7.png

  ⑶将增强后的图像R(x,y)中的像素点的灰度值都初始化为constant。

  ⑷水平方向,令h=width/2,计算JFN0QZ%`YX(POWAXXBO$8{7.png之间的相对明亮关系。通过式(8)、(9)、(10)对R(x,y)进行校正。

  810.png

  ⑸竖直方向,令l=height/2,计算_)`NGK96O3`EX7NB@6KT_4W.png间的相对明亮关系。通过式(9)、(10)、(11)对R(x,y)进行校正。

  1113.png

  ⑹重复⑷和⑸,直至h=1,l=1。

  ⑺对校正后的R(x,y)进行线性拉伸,然后对其进行分组、联合滤波、聚集,从而得到最终的处理结果。

3 仿真结果及分析

002.jpg

  图2为以matlab 7.11为实验平台的仿真结果,实验图像为427×277像素的JPEG类型的灰度图像。BM3D算法中参数设置:块大小为8×8,硬阈值为2.7。

  图2分别给出了同态滤波、直方图均衡化、单尺度Retinex算法(SSR)、多尺度Retinex算法(MSR)以及本文算法对于灰度增强效果图。表1列出了上述算法对于灰度图像处理前后图像质量评价指标统计数据。图像的均值反映图像整体灰度。标准差反映图像整体灰度的分布,标准差越大,对比度就越大;标准差越小,对比度也越小。信息熵反映图像的信息量,是图像像素位置的灰度信息和像素邻域内灰度分布的综合特征。

  由图2实验结果对比可知,直方图均衡化在处理灰度图像时使得亮的地方更亮,暗的地方更暗。因此,无法还原出原图中大多数细节问题。从表1中可以看出,直方图均衡化虽然可以很大程度上提高图像的亮度和对比度,但是同时也会淹没很多有用信息,故其信息熵并不是很高。同态滤波虽然广泛应用于压缩图像灰度的动态范围,增强对比度,但是处理后的图像对比度和整体亮度偏低。单尺度Retinex算法可以还原出原图中大多数细节问题,但是无法在动态范围压缩和颜色保真达到平衡。多尺度Retinex能够使动态范围压缩和颜色保真达到平衡,但增强后的图像并不具有非常好的色彩保真。此外,从峰值信噪比指标表明,SSR和MSR会增强噪声,从而降低图像峰值信噪比,造成图像一定程度的失真。而本文图像增强算法既能还原出原图像中的大多数细节问题,还能使动态范围压缩和边缘增强相协调,并且可以消除Retinex算法中产生的噪声问题,提高图像的峰值信噪比,克服了传统Retinex图像增强算法的不足,达到了较好的图像处理效果,使得处理后的图像更接近于真实图像。

  因此,实验结果表明,本文图像增强算法在保持颜色的恒定性、提高对比度、消除Retinex算法中产生的噪声问题、提高图像的峰值信噪比、有效显示阴影和光照区域中的细节等方面具有明显的优势。

003.jpg

4 结论

  Retinex是一种建立在科学实验和科学分析基础上的图像增强理论,其本质就是抛开图像中的入射分量的影响,获得物体的反射分量,即获得物体的本来面貌。与其他图像增强算法相比,Retinex算法具有颜色恒常性强、动态范围压缩大、色彩保真度高等特点。

  本文提出一种Retinex和BM3D相结合的方法。仿真结果表明,该方法不仅可以显示阴影、光照区域中的细节,加强图像判读和识别效果,从而能够满足某些特殊分析的需要。同时,又能有效消除图像对比度拉伸过程中产生的噪声问题,克服了传统Retinex图像增强算法的不足。

  本文研究成果可广泛应用于交通方面,对大雾天气、早晚阴雨天气情况下的图像进行增强,提高车牌、路标等重要信息的识别效果。

参考文献

  [1] 黄华,王孝通. 基于Retinex理论的图像增强算法[J]. 四川兵工学报,2009,30(1): 64-68.

  [2] 郑刚,贾振红. 同态技术在红外图像处理中的应用[J]. 光子学报,2005,34(9): 1401-1403.

  [3] 李学明. 基于Retinex理论的图像增强算法[J]. 计算机应用与研究, 2005.22(2): 235-237.

  [4] 史延新. 一种基于Retinex 理论的图像增强算法[J]. 电子科技, 2007,17(12): 32-35.

  [5] 范习健,李庆武,黄河,等. 侧扫声呐图像的3维块匹配降斑方法[J]. 中国图象图形学报, 2012,17(1):68-74.

  [6] Dabov K,Foi A,Katkovnik V,et al. Image denoising by sparse 3D transform-domain collaborative filtering [J].IEEE Transactions on Image Processing(S1057-7149), 2007,16 (8):2080-2095.

  [7] Land E H. The Retinex theory of color vision[J] . Scientific American, 1977, 237(6):108-128.


此内容为AET网站原创,未经授权禁止转载。