二维最大熵阈值分割算法[引用]杜峰,施文康,邓勇等:《一种快速红外图像分割方法》1.二维最大熵阈值分割熵是平均信息量的表征。二维最大熵法是基于图像二维直方图。图像二维直方图定义如下:NMnPjiji,,其中NM表示图像大小,jin,表示图像灰度值为i,邻域灰度平均值为j的像素个数。通常二维直方图的平面示意图可以用下图1表示:其中区域1和2表示背景和目标像素,区域3和4通常表示边界和噪声信息。阈值向量(t,s),t表示灰度值,s表示像素邻域均值(通常是8邻域)。对于L个灰度级的图像,设在阈值(t,s)定义区域1和2的概率P1,P2:1010,1sitjjiPP,11,2LsiLtjjiPP定义二维离散熵H的一般表示:ijjijiPPH,,lg对各区域概率jiP,进行归一化处理可得区域1的二维熵:11)1lg(1lg1)1(1010,,PHPPPPPHsitjjiji同理区域2的二维熵:22)2lg()2(PHPH其中,H1,H2为:1010,,lg1sitjjijiPPH,11,,lg2LsiLtjjijiPPH那么整个图像中目标和背景熵之和的函数)2()1(),(HHts根据最大熵原则,存在最佳的阈值向量满足条件:图1二维直方图平面示意图灰阶L均值L0ts1234)},(max{),(tsts图2显示了一幅图像的二维直方图说明了背景和目标的主要分布情况,其中图2(b)横坐标表示邻域的均值,纵坐标表示灰度值分布:2.微粒群寻优算法(PSO)PSO最早由Kenredy和Eberhart于1995年提出。PSO把优化问题的潜在解都当做解空间的粒子,所有粒子都有一个适应值(适应值由被优化函数决定),每个粒子还有一个速度决定它们飞翔的方向和距离。然后粒子们就追随当前的最优粒子在解空间中搜索,初始化为一群随机粒子(随机解)然后通过迭代找到最优解。最后在每一次迭代中粒子通过跟踪两个极值来更新自己,第一个就是粒子本身所找到的最优解,称为个体极值;另一个极值是整个种群目前找到的最优解,称为全局极值。本文的目标是要找到满足最大熵原则的最优解ts,,下面以图文方式解释PSO算法步骤原理:第1步:第1次迭代→如图3在解空间有效范围内)255,0(rand);255,0(randts选定m个随机解(即粒子)并初始化,如:),(11ts、),(22ts…),(iits…),(mmts其中ts,为最优解位置向量。①计算每个粒子的适应度,即目标函数的熵),(iits,mi...2,1。均值灰度值0st),(33ts),(mmts),(jits),(11ts),(22ts图3随机初始化的粒子群位置图2目标与背景的二维直方图分布情况(a)原始红外图(b)二维直方图的平面分布(c)二维直方图的空间分布②计算当前粒子群的全局最优解(熵)及其对应位置:}...2,1),,(max{mitsQSii}...2,1),,{(optimal_mitsQPYOUii③计算n次迭代后每个粒子自身找到的最优解(熵)及其位置:}i...2,1;...2,1),,(max{_eDnmitsSYOUninii;}i...2,1;...2,1),,{(optimal_eDnmitsPYOUninii其中n表示迭代次数,Die表示最大迭代次数。首次迭代(n=1)时单个粒子最优值即为其初始化时的随机值。第2步:第n次迭代→如图4更新粒子速度向量和位置,粒子运动服从如下方程:)ˆ(22)(111ninnnininniniPSrcPSrcVwVnininiPVP11其中nr1、nr2为随机数,服从(0,1)之间的均分布,1c、2c为学习因子,通常221cc,w是惯性系数。iP表示第i个粒子的位置向量(即),(iits),iV表示第i个粒子的运动速度,iS表示第i个粒子自身的最优位置。iSˆ表示整个粒子群全局最优位置。3.实验结果如图5显示了二维最大熵阈值分割的结果。其中图2(b)也就是图5(a)对应的二维直方图分布。如何在图2(b)找到最优的阈值向量ts,使(a)原始红外图图5二维最大熵阈值分割结果(b)阈值分割后的二值化图图4粒子群的运动速度和更新位置均值灰度值0st),(33ts),(mmts),(jits),(11ts),(22ts得目标图像熵最大,一个最直接的方法就是穷尽搜索法。穷尽搜索法无目的性而且计算量大,需要进行256×256次计算。本文采用PSO算法搜索最佳阈值,在实验中,令粒子群为15个,迭代次数30,c1=c2=2,w=0.35。图6显示了粒子群在每次迭代中达到的局部最优熵。完成整个迭代寻优过程粒子群找到的全局最优阈值向量为(105,103)全局最优熵1484.5)103,105(。从图6可以看出:第14代的粒子群局部最优熵就达到了5.1484,说明了迭代到第14代就至少有一个粒子寻找到了全局最优位置。从第16代到30代之间,粒子群局部最优熵一直保持5.1484,说明此时粒子群中至少且总有一个粒子到达了全局最优位置。因此整个迭代过程中,寻找到全局最优位置PSO的计算量为16×15次。图7首次迭代时初始化的随机粒子分布第1次迭代0501001502002503000100200300st图6粒子群在各次迭代中的局部最优熵图7显示了在首次迭代时初始化的15个随机粒子位置分布图,其中横坐标表示均值(s),纵坐标表示灰度值(t)。图8显示了在第14次迭代后粒子群的位置分布以及各个粒子的位置坐标),(iits。从图8可以看出第6个粒子首次寻找到全局最优位置(105,103)。图8第14次迭代粒子群的位置分布及其位置坐标值图9显示了第30次迭代后粒子群的分布情况。从图中可以看出此时大部分粒子都收敛于全局最优位置。图9第30次迭代粒子群的位置分布及其位置坐标值总之,PSO算法中的粒子群从初始随机位置经过各次迭代过程遵照粒子运动方程向着全局最优位置靠拢。第14次迭代9698100102104106108110112100102104106108110112st第30次迭代101.8102102.2102.4102.6102.8103103.2103.5104104.5105105.5stst10710211199104103105100110103105103106102106102110100111991109810899102111107102104102st105103105103105103105103105102105103105103105103105103105103105103105103105103105103104103