发明名称 一种基于双策略和声搜索算法的柚子图像分割方法
摘要 本发明公开了一种基于双策略和声搜索算法的柚子图像分割方法,主要解决传统和声搜索算法应用于柚子图像分割时存在着分割速度慢,分割精度不高的问题。本发明在和声搜索算法分割柚子图像的音调调整过程中融合了最优个体导向的调整策略和随机个体导向的调整策略,从而实现收敛速度与种群多样性之间的平衡,提高柚子图像的分割精度;此外,利用精英混沌搜索策略来提高算法的局部搜索能力,加快柚子图像的分割速度;与同类方法相比,本发明能够加快柚子图像的分割速度,提高分割精度。
申请公布号 CN104809737B 申请公布日期 2017.04.26
申请号 CN201510242661.X 申请日期 2015.05.13
申请人 江西理工大学 发明人 郭肇禄;岳雪芝;谢霖铨;尹宝勇;杨火根;叶坤涛;吴志健
分类号 G06T7/11(2017.01)I;G06T7/90(2017.01)I 主分类号 G06T7/11(2017.01)I
代理机构 赣州凌云专利事务所 36116 代理人 曾上
主权项 一种基于双策略和声搜索算法的柚子图像分割方法,其特征在于:包括以下步骤:步骤1,利用摄像机采集一幅柚子图像AI,然后将采集到的柚子图像AI转换成为YCrCb色彩空间的柚子图像BI;步骤2,提取柚子图像BI中每个像素的Cb颜色分量值作为聚类数据,将提取到的聚类数据按像素在柚子图像BI中的行列坐标存储到矩阵Data中,这样就可以建立起矩阵Data的每个元素与柚子图像AI中每个像素之间的行列坐标的一一对应关系,其中矩阵Data的大小为DH×DW,并且DH的值等于柚子图像AI的高度,DW的值等于柚子图像AI的宽度;步骤3,用户初始化参数,所述初始化参数包括分割类别数目D,和声库大小Popsize,记忆库学习率HMCR,音调调整率PAR,最大评价次数MAX_FEs;步骤4,当前演化代数t=0,当前评价次数FEs=0;步骤5,随机产生初始和声库<img file="FDA0001238348970000011.GIF" wi="674" he="87" />其中:个体下标i=1,...,Popsize,并且<img file="FDA0001238348970000012.GIF" wi="579" he="71" />为和声库P<sub>t</sub>中的第i个个体,其随机初始化公式为:<maths num="0001"><math><![CDATA[<mrow><msubsup><mi>B</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow><mi>t</mi></msubsup><mo>=</mo><mrow><mo>(</mo><mi>j</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow><mo>&times;</mo><mn>255.0</mn><mo>/</mo><mi>D</mi><mo>+</mo><mi>r</mi><mi>a</mi><mi>n</mi><mi>d</mi><mrow><mo>(</mo><mn>0</mn><mo>,</mo><mn>1</mn><mo>)</mo></mrow><mo>&times;</mo><mrow><mo>(</mo><mn>255.0</mn><mo>/</mo><mi>D</mi><mo>-</mo><mn>1.0</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0001238348970000013.GIF" wi="1158" he="71" /></maths>其中维数下标j=1,...,D,并且D表示把图像分割成多少个类别;<img file="FDA0001238348970000014.GIF" wi="54" he="59" />为在和声库P<sub>t</sub>中的第i个个体,存储了D个分割类别的聚类中心,rand(0,1)为在[0,1]之间服从均匀分布的随机实数产生函数;步骤6,计算和声库P<sub>t</sub>中每个个体<img file="FDA0001238348970000015.GIF" wi="58" he="63" />的适应值<img file="FDA0001238348970000016.GIF" wi="193" he="63" />其中个体下标i=1,...,Popsize,计算个体<img file="FDA0001238348970000017.GIF" wi="58" he="62" />的适应值<img file="FDA0001238348970000018.GIF" wi="169" he="63" />的方法为:首先计算矩阵Data中每个元素Data<sub>m,n</sub>分别与个体<img file="FDA0001238348970000019.GIF" wi="57" he="62" />中存储的D个分割类别的聚类中心的距离,Data<sub>m,n</sub>与哪个聚类中心的距离最小,则令Data<sub>m,n</sub>属于哪个类,然后计算矩阵Data中所有元素Data<sub>m,n</sub>与它所属个体<img file="FDA00012383489700000110.GIF" wi="59" he="61" />中分割类别的聚类中心的距离之和作为个体<img file="FDA00012383489700000111.GIF" wi="58" he="63" />的适应值,其中适应值越小则表明个体越优秀,并且矩阵行下标m=1,...,DH,列下标n=1,...,DW;步骤7,当前评价次数FEs=FEs+Popsize;步骤8,保存和声库P<sub>t</sub>中适应值最小的个体为最优个体Best<sup>t</sup>;步骤9,采用双策略操作算子产生一个的试验个体U<sup>t</sup>,并计算试验个体U<sup>t</sup>的适应值Fit(U<sup>t</sup>),具体步骤如下:步骤9.1,按以下公式计算当前和声库的搜索下界CA<sub>j</sub>和上界CB<sub>j</sub>:<maths num="0002"><math><![CDATA[<mrow><msub><mi>CA</mi><mi>j</mi></msub><mo>=</mo><mi>m</mi><mi>i</mi><mi>n</mi><mrow><mo>(</mo><msubsup><mi>B</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow><mi>t</mi></msubsup><mo>)</mo></mrow><mo>,</mo></mrow>]]></math><img file="FDA0001238348970000021.GIF" wi="341" he="71" /></maths><maths num="0003"><math><![CDATA[<mrow><msub><mi>CB</mi><mi>j</mi></msub><mo>=</mo><mi>m</mi><mi>a</mi><mi>x</mi><mrow><mo>(</mo><msubsup><mi>B</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow><mi>t</mi></msubsup><mo>)</mo></mrow></mrow>]]></math><img file="FDA0001238348970000022.GIF" wi="302" he="71" /></maths>其中个体下标i=1,...,Popsize;维数下标j=1,...,D;min为取最小值函数,max为取最大值函数;步骤9.2,令计数器j=1;步骤9.3,在[0,1]之间随机产生一个实数r1,如果r1小于记忆库学习率HMCR,则转到步骤9.4,否则转到步骤9.11;步骤9.4,在[1,Popsize]之间随机产生一个正整数RI1,并令<img file="FDA0001238348970000023.GIF" wi="258" he="63" />步骤9.5,在[0,1]之间随机产生一个实数r2,如果r2小于音调调整率PAR,则转到步骤9.6,否则转到步骤9.12;步骤9.6,在[0,1]之间随机产生一个实数r3,如果r3小于0.5,则转到步骤9.7,否则转到步骤9.9;步骤9.7,令<img file="FDA0001238348970000024.GIF" wi="811" he="71" />其中rand(‑1,1)为在[‑1,1]之间服从均匀分布的随机实数产生函数,abs为取绝对值函数;步骤9.8,转到步骤9.12;步骤9.9,在[1,Popsize]之间随机产生一个不等于RI1的正整数RI2;步骤9.10,令<img file="FDA0001238348970000025.GIF" wi="803" he="70" />然后转到步骤9.12;步骤9.11,令<img file="FDA0001238348970000026.GIF" wi="1187" he="71" />步骤9.12,令计数器j=j+1,如果计数器j小于或等于D,则转到步骤9.3,否则转到步骤9.13;步骤9.13,计算试验个体U<sup>t</sup>的适应值Fit(U<sup>t</sup>),转到步骤10;步骤10,令当前评价次数FEs=FEs+1,并找到当前和声库中适应值最差个体的下标WorstI;步骤11,按以下公式在当前和声库中的最差个体<img file="FDA0001238348970000027.GIF" wi="139" he="71" />与个体U<sup>t</sup>两者之间选择出更优个体进入下一代和声库:<img file="FDA0001238348970000028.GIF" wi="1460" he="190" />步骤12,随机选择出一个个体,然后对选择出来的个体执行精英混沌搜索操作得到个体EU<sup>t</sup>,具体步骤如下:步骤12.1,在[1,Popsize]之间随机产生一个正整数RI3;步骤12.2,随机产生一个[0.05,0.2]之间的实数r4;步骤12.3,精英个体数量BestN=max(2,Popsize×r4);步骤12.4,令中间变量ct为在[0,1]之间随机产生的一个实数,如果ct等于0.25,0.50或0.75,则再重新产生直到ct不等于0.25,0.50或0.75;步骤12.5,令计数器i=1,并令精英混沌搜索最大次数SLN=max(5,D/5),其中max为取最大值函数;步骤12.6,如果计数器i小于或等于SLN,则转到步骤12.7,否则转到步骤13;步骤12.7,令混沌因子ck=4.0×ct×(1‑ct);步骤12.8,令计数器j=1;步骤12.9,如果计数器j小于或等于D,则转到步骤12.10,否则转到步骤12.13;步骤12.10,从当前和声库中的前BestN个精英个体中随机选择出一个个体<img file="FDA0001238348970000031.GIF" wi="163" he="71" />步骤12.11,令<img file="FDA0001238348970000032.GIF" wi="755" he="71" />步骤12.12,令计数器j=j+1,转到步骤12.9;步骤12.13,计算精英混沌搜索操作得到的个体EU<sup>t</sup>的适应值,并令当前评价次数FEs=FEs+1;步骤12.14,如果个体EU<sup>t</sup>的适应值比个体<img file="FDA0001238348970000033.GIF" wi="83" he="62" />的适应值更优,则在当前和声库中用个体EU<sup>t</sup>替换个体<img file="FDA0001238348970000034.GIF" wi="106" he="63" />并转到步骤13,否则转到步骤12.15;步骤12.15,令中间变量ct=ck;步骤12.16,令计数器i=i+1,转到步骤12.6;步骤13,保存和声库P<sub>t</sub>中适应值最小的个体为最优个体Best<sup>t</sup>;步骤14,当前演化代数t=t+1;步骤15,重复步骤9至步骤14直至当前评价次数FEs达到MAX_FEs后结束,执行过程中得到的最优个体Best<sup>t</sup>为D个分割类别的聚类中心,利用优化得到的D个分割类别的聚类中心对矩阵Data中的所有元素进行划分类别,在确定了Data中的所有元素的类别后,再利用矩阵Data中每个元素与柚子图像AI中每个像素之间的行列坐标一一对应关系,就可以确定柚子图像AI中的每个像素的类别,即得到最终分割的结果。
地址 341000 江西省赣州市红旗大道86号