一种基于区域分割的直方图均衡算法
2022-06-22朱家乙杨宏双王伟男沙怡中黄晓江许桢杰
朱家乙,杨宏双,何 伟,王伟男,沙怡中,黄晓江,许桢杰
(1.江苏北方湖光光电有限公司,江苏 无锡 214000;2.北京富吉瑞光电科技股份有限公司,北京 顺义 101300)
0 引言
近年来,红外热成像设备应用越来越广泛,对其成像质量要求也越来越高。红外热成像设备的探测器采样位宽一般都是14~16 bit,而且原始的红外图像对比度低、细节模糊、信噪比也比较低[1]。为了能够实时显示,得到更好的图像效果,需要将原始的14~16 bit 数据转换成8 bit,并做一些图像增强处理。数据转换的常用方法包括线性变换、传统直方图均衡、平台直方图均衡等[2]。
直方图均衡算法是一种常用的图像灰度变换和增强的方法。根据图像的直方图分布信息来调整图像灰度,使得调整后的图像的直方图分布更均匀,增大图像的灰度级范围,使整体图像的对比度和清晰度更强。由于红外图像自身的特点灰度级较少,使用传统直方图均衡增强后会造成背景噪声的对比度提高,某些细节不能体现出来,对于有些场景会有高灰度区域过亮或者低灰度过暗,对比度不自然的现象。
平台直方图均衡可以通过调节平台值来限制直方图的峰值,从而限制部分噪声,同时保留部分灰度级统计的差异性使图像对比度得到增强,且实时处理下不会出现明显亮度抖动。近年来,又提出许多的改进的直方图算法[3-9],包括自适应直方图均衡化[5-7]、抑制背景的局部直方图均衡[8]、限制对比度自适应直方图均衡化[9]等。但这些算法都是基于全局直方图处理,图像的局部细节得不到提升,本文提出了一种基于区域分割的直方图均衡算法,有效提升了图像的局部细节。
1 传统直方图均衡
直方图均衡化是一种增强图像对比度的方法,其主要思想是将一幅图像的直方图分布变成近似均匀分布,重新分配图像的像素值,从而增强图像的对比度。
灰度直方图是指图像中每一个灰度级与其出现频数间的统计关系。对于数字图像,由于图像空间坐标和灰度值都已离散化,可以很容易统计出灰度等级的分布状况:
式中:p(k)为第k个灰度级的概率密度;L为该幅图像中的灰度等级数;nk为第k个灰度级中包含的像素数;n为该幅图像中的总像素数。灰度直方图可以看成是一个随机分布密度函数。
直方图的形态分布反映出图像的质量,根据直方图形态的分布可以看出图像亮度过亮或者过暗或者灰度是否太过于集中对比度太弱等。如图1所示,列出各种直方图的形态分布。
图1 各种灰度直方图形态分布示意图Fig.1 Distribution of various gray level histograms schemes
第1 幅图中直方图靠近低灰度区域,表明整幅图像亮度偏暗,该图像属于低亮图像。
第2 幅图中直方图靠近高灰度区域,表明整幅图像亮度偏亮,该图像属于高亮图像。
第3 幅图中直方图灰度分布比较集中,标准差较小,表明整幅图像对比度较低,该图像属于低反差景物图像。
第4 幅图中直方图灰度分布比较宽,标准差较大,表明整幅图像对比度高,该图像属于高反差景物图像。
将L级灰度图像变换到M级灰度图像的直方图均衡算法原理如下:
①统计各灰度级的像素个数nk,k=0,1,2,…,L-1;
②计算原始图像直方图各灰度级的频数,见公式(1);
式中:n为原始图像像素总数。
③计算累积分布函数F,见公式(2);
④应用公式(M-1)×F求出变换后的灰度值,见公式(3)。
假设红外原始图像的位宽为14 bit,则原始图像f的灰度级范围为[0,16383],变换后的灰度图像f′的位宽为8 bit,灰度级范围为[0,255]。
设原始图像的直方图统计为P(k),k∈(0~16383)。则变换后的图像为:
传统直方图算法是有选择地对占有较多像素的灰度进行了增强,扩展了这些灰度的动态范围,对占有较少像素的灰度进行了抑制。占有较多像素点的灰度,均衡后会比前一级出现的灰度亮许多,而占有较少像素点的灰度,均衡后可能和前一级出现的灰度相差很小甚至可能被合并。这也是传统直方图均衡的缺点。
2 算法设计
本算法将图像分成多块区域,对每个区域进行直方图均衡。再通过双线性插值处理得到最后的图像。
2.1 图像区域分割
将图像分割成m×n个区域;分别统计各个区域的直方图Pi(k),(1≤i≤m×n,k∈(0~16383));
2.2 直方图平台限制
平台直方图均衡是在计算时对权重设置一个上限值,用平台值去限制原直方图。相较于传统直方图均衡算法,平台直方图算法统计完成后需对直方图信息作修正,高平台对背景和噪声进行抑制。设定平台阈值为T,分别对各区域的直方图做平台修正处理,如果某个灰度级的直方图值小于平台阈值T就保持不变,如果大于阈值T则直接将其置为T。设修正后的直方图为PTi(k),则:
图2 为直方图平台限制示意图。在平台直方图均衡算法中,平台值的选取是一个关键因素。平台值的选取直接影响图像的效果。
图2 平台限制示意图Fig.2 Platform restrictions schemes
2.3 直方图映射
对各个区域的图像分别映射,用g表示映射后的图像,f表示原始14 bit 图像:
式中:k∈(0~16383);PTi(l)是根据原始图像f计算出得平台直方图,Si为f的累积求和直方图,按上述关系可将f映射到g。
2.4 双线性插值处理
对映射后的图像按区域采用双线性插值[9]变换得到输出图像。如图3所示,图像分割的区域用A1,A2,A3,A4 来表示。
图3 区域分割示意图Fig.3 Region segmentation schemes
对于第一个模块中,如图3 中的区域1,将重构后像素点(x,y)的灰度值设为G,则G直接沿用映射后像素值:
对于除去顶角图像边沿,即图像上下边沿和左右边沿,如图3 中的区域2,将重构后像素点(x,y)的灰度值分别设为Gtop、Gbottom、Gleft、Gright,区域A1 的映射值为gA1(x,y),区域A2 的映射值为gA2(x,y),区域A3 的映射值为gA3(x,y),区域A4 的映射值为gA4(x,y),l1、l2、l3、l4为该点到各区域的距离,则上边沿的灰度为:
下边沿的灰度为:
左边沿的灰度为:
右边沿的灰度为:
对于中间区域,如图3 中的区域3,将重构后像素点(x,y)的灰度值设为Gm,则该区域的灰度为:
3 FPGA 实现
3.1 直方图统计模块
本算法的直方图统计模块如图4所示,采用多个RAM 模块,根据输入图像的灰度,分别统计各区域的直方图。根据图像数据输入时序每个像素时钟周期进行累加计算,一幅图像传输完成后就可以完成统计。实时性高。
图4 直方图统计模块设计Fig.4 Histogram statistics module
3.2 直方图映射模块
完成直方图图像统计后,分别计算出各区域灰度映射值存于另一组RAM 中,如图5所示。
图5 直方图映射模块设计Fig.5 Histogram map module
3.3 线性插值计算
按照2.4 提到的双线性插值算法,根据图像所在的区域分别计算重构后的灰度值,得到最终输出图像。FPGA 里图像是按照时序图流水线传输,所以一幅图像传输完成后就可以完成所有像素的重构计算。
4 结果分析
本算法采用软件仿真得到很好的效果,而且算法简单,结合FPGA 的高速、并行处理能力使得本算法已成功应用在红外热成像设备中,提高了红外热像仪的图像质量。
4.1 主观视觉效果对比
主观视觉效果对比如图所示,图6 为复杂场景的图像对比,其中图6(a)为原始图像,图6(b)为复杂场景的全局直方图均衡处理算法结果,图6(c)为复杂场景的本算法的处理结果。图7 为对比度较弱的场景图像对比,图7(a)为对比度较弱的场景的原始图像,图7(b)为对比度较弱的场景的全局直方图均衡处理算法,图7(c)为对比度较弱的场景的本算法的处理结果。图8 为近距离场景图像对比,图8(a)为近距离场景的原始图像,图8(b)为近距离场景的全局直方图均衡处理算法,图8(c)为近距离场景的本算法的处理结果。通过图像对比可以看出本算法的对比度、细节信息以及视觉效果优于传统全局直方图均衡算法。
图6 复杂场景图像对比Fig.6 Complex scene image comparison
图7 对比度弱的场景图像对比Fig.7 Contrast weak scene image contrast
图8 近距离场景图像对比Fig.8 Close scene image comparison
4.2 图像客观评价
人眼观察是一种有效的图像质量评价标准,但是它是一种主观评价,为了更加客观地评价本算法的效果,采用信息熵[10]和标准差作为定量评价指标。信息熵的表达式如下:
式中:L是图像的灰度最大值;p(k)为图像灰度值出现的概率。
图像信息熵是一种特征统计形式,它反映了图像中平均信息量的多少。图像信息熵表示图像中灰度分布的聚集特征所包含的信息量。信息熵越大表示图像中含的信息量越多。表1 列出了全局直方图算法和本算法的信息熵对比。
表1 图像信息熵Table 1 Image information entropy
由表1 可以看出,本算法的信息熵值大于传统全局直方图算法,信息量更多。
另一种定量评价指标为标准差δ,其表达式如下:
式中:指图像f(x,y)的灰度平均值;M和N指图像的行数和列数。
图像标准差反映图像的细节信息,标准差越大,图像的细节信息就越多。
表2 列出了全局直方图算法和本算法的图像标准差的对比。
表2 图像标准差Table 2 Image standard deviation
由表2 可以看出,本算法的标准差值优于传统全局直方图算法,图像细节信息量更多。
5 结语
本文提出了一种基于区域分割的直方图均衡算法,算法简单,容易在FPGA 中实现。通过主观观察处理后的图像和客观评价。本算法有较好的细节表现力和动态范围压缩能力,有效提升了红外图像的清晰度和对比度,得到了更好的图像视觉效果。