HTML
-
2维最大熵阈值分割综合了点灰度值和相邻区域像素点平均值的信息得到分割图像的阈值。首先,假设输入图像大小为M×N,那么像素点的灰度值f(x, y)的取值范围为0≤f(x, y)≤L-1,其中L一般取值为256, (x, y)为图像中取样点的坐标,且1≤x≤M,1≤y≤N。通过计算像素点g(x, y)的四领域像素点的灰度平均值得到平滑图像,其像素点灰度值记为0≤g(x, y)≤L-1,那么,图像中的每一个像素点将对应一个由点灰度和区域灰度均值构成的2维向量。设nij为图像点灰度值f(x, y)=i、区域灰度均值g(x, y)=j的像素点出现的频数,pij为对应(i, j)发生的概率,记为${p_{ij}} = \frac{{{n_{ij}}}}{{M \times N}}$,所得到的{piji, j=0, 1, …, L-1}构成输入图像的点灰度和区域灰度值的2维直方图。从图 1、图 2中可以看出,pij的高峰主要集中分布在平面图的对角线附近,因为图像中的目标像素点和背景像素点占图像像素比例最大,并且其内部像素灰度值较均匀,点灰度值与区域灰度值相差不大,所以集中在对角线附近。图 2中的2维直方图呈现出近似双峰的状态,分别对应图像中的目标与背景。图 1是一般的2维直方图的平面图,其中A代表目标、B代表背景、C代表边界, D代表噪声。因为图像中的边界和噪声像素比例小,所以此处不考虑C区域和D区域[12-16]。
2维熵算法中的符号如表 1所示。
symbol meaning s point gray threshold t gray mean value threshold of region pij probability of occurrence of vector (i, j) pA the posterior probability of object region A pB the posterior probability of background region B H(A) the 2-D entropy of object region A H(B) the 2-D entropy of background region B Table 1. Symbol definition of the algorithm
2维熵算法的步骤如下:设A区和B区具有不同的概率分布,用A区和B区的后验概率分别对A区和B区的概率pij进行归一化处理,当阈值为向量(s, t)时,则:
式中, i=0, 1, …, s; j=0, 1, …, t。
式中, i=s+1, s+2, …, L-1;j=t+1, t+2, …, L-1。那么A区和B区的2维熵分别是:
式中, ${H_A} =-\sum\limits_i {\sum\limits_j {{p_{ij}}\lg {p_{ij}}} } $, 且式中条件满足i=0, 1,…, s; j=0, 1, …, t。
式中, ${H_B} =-\sum\limits_i {\sum\limits_j {{p_{ij}}\lg {p_{ij}}} } $, 且i=s+1, s+2, …, L-1;j=t+1, …, L-1。
则熵的判别式为:
由于此处不考虑C区和D区,则可以简化判别式:
式中, ${H_L} =-\sum\limits_i {\sum\limits_j {{p_{ij}}\lg{p_{ij}}} } $, 且i=0, 1, …, L-1;j=0, 1, …, L-1。则有:
则熵的判别式可以写为:
通过下式可以得到最佳阈值向量(s, t):
-
本文中将输入的灰度图像大小调整为280×272。遗传算法的参量包括:群体规模M=20,最大遗传代数G=1000,变异概率pf=0.2,pb=0.4。
当图像被熵分割时,每个候选的阈值都需要经过一次熵的计算。假设一次熵的计算时间是一个固定值T。对于灰度级为256的灰度图像,进行1维熵分割时需要进行256次熵的计算,因此,总的计算时间为256T。在2维熵分割时需要进行256×256次熵的计算,总的计算时间为256×256T=65536T。当采用普通遗传法与2维熵结合时,通过进行250次实验,得出其进化代数均值为104代,由于设置的种群数为20,所以实际总的计算时间为104×20T=2080T。采用改进遗传算法与2维熵结合时,同样进行250次实验,得出其进化代数均值为60代,由于种群数仍然为20,所以实际计算时间为60×20T=1200T。从表 2中的平均时间对比可知,无论是普通的遗传算法,还是经过改进的遗传算法都优于通过穷尽法计算的2维熵算法。然而,这些方法仍然比1维熵所用时间长,并且对于未加噪声的原始图像,使用1维熵分割图像的效果和用2维熵算法分割图像的效果是很接近的,这从图 5中就可以发现。但是,当图像添加噪声后,采用2维熵算法分割图像明显优于使用1维熵算法分割图像,分析图 6即可得出这一结论。
s t average values of evolutionary algebra averagetime/s 1-D entropy(exhaustion) 66 0.479241 2-D entropy(exhaustion) 66 62 491.4612 2-D entropy(common GA) 65 141 104 9.35342 2-D entropy(modified GA) 71 105 60 0.958795 Table 2. Performance comparison of segmentation algorithms
基于改进遗传算法的图像分割实验可视化为图 7和图 8。从这些结果图可知,1维和2维熵的结果接近于穷举法(对于有噪声或无噪声的图像)。通过实验证明了基于改进遗传算法最大2维熵分割是可行的。
Figure 7. a—segmented by combining 1-D entropy and GA without noise b—segmented by combining 2-D entropy and GA without noise
Figure 8. a—segmented by combining 1-D entropy and GA with noise b—segmented by combining 2-D entropy and GA with noise
需要说明的是:本文中采用MATLAB语言对遗传算法进行改进并实现。实验环境为:Window7系统,4G内存,MATLAB R2010b平台。