发明名称 一种基于蝙蝠优化模糊聚类的图像分割方法
摘要 本发明提出了一种基于蝙蝠优化模糊聚类的图像分割的处理方法,蝙蝠算法作为一种性能优良的演化算法,可以很好地解决传统的FCM聚类分割方法过于依赖初始聚类中心的缺点,并在很大程度上提高其收敛到全局最优解的概率;蝙蝠算法可以直接采用十进制进行编码,相对于大部分演化算法采用二进制编码而言,计算过程更为方便,能在很大程度上提高聚类分割的效率。
申请公布号 CN103824285B 申请公布日期 2017.04.26
申请号 CN201410039711.X 申请日期 2014.01.27
申请人 湖北工业大学 发明人 叶志伟;王明威;陈宏伟;王春枝;刘伟;徐慧;宗欣露;谢海涛;尹宇洁
分类号 G06T7/11(2017.01)I 主分类号 G06T7/11(2017.01)I
代理机构 武汉科皓知识产权代理事务所(特殊普通合伙) 42222 代理人 张火春
主权项 一种基于蝙蝠优化模糊聚类的图像分割方法,其特征在于,包括下述步骤:步骤1,输入待分割图像,设定聚类数目c,模糊系数m,种群规模S以及停机条件;所述停机条件设置方式为:设置一个解集和一个计数变量m,将每次得到的全局最优解存入到所述解集中,在程序运行中,如果第i代所述全局最优解与上一代所述全局最优解相同的话,计数变量加1,如果连续m代所述全局最优解相同的话,即为满足停机条件;步骤2,依据设定图像聚类数目c和种群规模S,运行蝙蝠算法,初始种群的各变量,产生初始种群G<sub>k</sub>,位置向量x<sub>t</sub>表示数字图像的聚类中心,其取值范围为0到255,其中t的取值范围是1≤t≤S,S表示种群规模,速度v<sub>t</sub>、声波频率f<sub>t</sub>、脉冲响度A<sub>t</sub>、发射速率r<sub>t</sub>四个变量随机产生,k表示蝙蝠算法的运行代数,在初始条件下,令k=0;步骤3,通过生成的初始种群,计算该种群中每个个体对应的像素的隶属度;采用FCM的隶属度计算公式计算个体的隶属度,FCM的隶属度计算公式如下:<img file="FDA0001192645670000011.GIF" wi="508" he="206" />其中1≤i≤c,1≤j≤Nd<sub>ij</sub>=||X<sub>j</sub>‑V<sub>i</sub>||其中1≤i≤c,1≤j≤N其中,对于8位灰度图像一共有256个灰度级,N是样本图像的灰度级数,其取值固定为256,u<sub>ij</sub>是灰度级为j的像素对于聚类中心V<sub>i</sub>的隶属度,m是模糊系数,c是聚类数目,d<sub>ij</sub>是灰度级为j的像素与聚类中心V<sub>i</sub>之间的欧氏距离,且1≤i≤c,1≤j≤N;步骤4,计算种群中个体的适应度并找出其全局最优解;根据每个个体对应的像素的隶属度,计算每个个体的适应度值,J<sub>q</sub>(t)表示每个个体的适应度值,其中1≤t≤S,将J<sub>q</sub>(t)中最大的值fitness<sub>generation</sub>作为种群的全局最优解,并存入最优解集;步骤5,采用蝙蝠算法对种群中各变量进行更新;调整声波频率ft产生新的解并更新速度v<sub>t</sub>和位置x<sub>t</sub>,更新公式如下:f<sub>t</sub>=f<sub>min</sub>+(f<sub>max</sub>‑f<sub>min</sub>)<sup>*</sup>βv<sub>t</sub><sup>k</sup>=v<sub>t</sub><sup>k‑1</sup>+(x<sub>t</sub><sup>k</sup>‑fitness<sub>generation</sub>)<sup>*</sup>f<sub>t</sub>x<sub>t</sub><sup>k</sup>=x<sub>t</sub><sup>k‑1</sup>+v<sub>t</sub><sup>k</sup>其中,k表示蝙蝠算法的运行代数,f<sub>min</sub>和f<sub>max</sub>分别表示声波频率的范围,β∈[0,1]是一个随机向量,保证f<sub>i</sub>在[f<sub>min</sub>,f<sub>max</sub>]范围内,fitness<sub>generation</sub>表示种群的全局最优解,速度v<sub>t</sub>可为正值或负值,位置向量x<sub>t</sub>可任意方向移动;步骤6,从最优解集中选择一个解,并在该最优解附近形成一个局部解,进而在该局部解附近形成一个新解;若k=1,局部解取步骤4中全局最优解所对应的位置变量,若k≠1,局部解直接取前一代个体适应度的全局最优解所对应的位置变量x<sub>globalbest</sub>,新解的计算公式如下:x<sub>new</sub>=x<sub>globalbest</sub>+ε<sup>*</sup>avgA<sup>k</sup>其中,x<sub>new</sub>表示得到的新解,ε∈[‑1,1]是一个任意的实数,avgA<sup>k</sup>是个体在当前代的平均脉冲响度,由脉冲响度A<sub>i</sub>计算所得;步骤7,计算新解中个体的适应度;步骤8,判断是否对个体参数进行更新;用新解x<sub>new</sub>中个体的适应度J<sub>q_new</sub>(t)与最优解集中选定解的J<sub>q</sub>(t)进行比较,其中,当k=1时,J<sub>q</sub>(t)取步骤4中全局最优解的个体适应度J<sub>q</sub>(t),当k≠1时,J<sub>q</sub>(t)取算法上一代计算产生的最优解的个体适应度J<sub>q</sub>(t),若J<sub>q_new</sub>(t)>J<sub>q</sub>(t)且脉冲响度A<sub>t</sub>大于人为设定阈值R<sub>A</sub>,其中1≤t≤S,阈值R<sub>A</sub>=1.5,则进入步骤9;否则,则进入步骤10;步骤9,对原解x中第t个个体的位置变量用新解x<sub>new</sub>中第t个个体的位置变量进行替换并对脉冲响度A<sub>t</sub>和发射速率r<sub>t</sub>进行更新后,进入步骤10,脉冲响度A<sub>t</sub>和发射速率r<sub>t</sub>的更新公式如下;<maths num="0001"><math><![CDATA[<mrow><msubsup><mi>A</mi><mi>t</mi><mrow><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msubsup><mo>=</mo><msubsup><mi>&alpha;A</mi><mi>t</mi><mi>k</mi></msubsup><mo>,</mo><msubsup><mi>r</mi><mi>t</mi><mrow><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msubsup><mo>=</mo><msubsup><mi>r</mi><mi>t</mi><mn>0</mn></msubsup><mo>&lsqb;</mo><mn>1</mn><mo>-</mo><mi>exp</mi><mrow><mo>(</mo><mo>-</mo><mi>&gamma;</mi><mi>k</mi><mo>)</mo></mrow><mo>&rsqb;</mo></mrow>]]></math><img file="FDA0001192645670000031.GIF" wi="1028" he="115" /></maths>其中k表示蝙蝠算法的运行代数,exp表示以自然对数e为底的指数函数,α和γ是两个常量;步骤10,计算种群全局最优解,通过与先前全局最优解的比较,对全局最优解进行更新;计算种群中个体的适应度,得到当前的全局最优解fitness<sub>new_gen</sub>与先前的fitness<sub>generation</sub>进行比较,当k=1时,先前的fitness<sub>generation</sub>取步骤4中全局最优解的个体适应度fitness<sub>generation</sub>;当k≠1时,先前的fitness<sub>generation</sub>取算法上一代执行步骤10计算产生的最优解集的个体适应度fitness<sub>generation</sub>;若fitness<sub>new_gen</sub>&gt;fitness<sub>generation</sub>,则根据fitness<sub>new_gen</sub>将其更新为种群新的全局最优解fitness<sub>generation</sub>;否则,将保留原先的全局最优解fitness<sub>generation</sub>;步骤11,判断是否满足停机条件,若是,则进入步骤12,否则返回步骤5;步骤12,输出最终分割图像。
地址 430068 湖北省武汉市武昌区南湖李家墩1村1号