一种基于遗传变异改进蚁群分类的姿态图像识别方法与流程

文档序号:11432655阅读:176来源:国知局
一种基于遗传变异改进蚁群分类的姿态图像识别方法与流程
本发明涉及一种基于遗传变异改进蚁群分类的姿态图像识别方法,属于图像识别
技术领域

背景技术
:许多蚂蚁种群都会有群落分类育雏以及分类食物或者尸体的行为。观察者们经过长期的观察发现,有些蚂蚁种群还能自发的将不同发育时期的幼虫安排在同心圆上,刚孵化不久的蚂蚁幼虫被放在中心,获得较少的空间,大的幼虫放在同心圆上,获得更大的空间,按这样同心簇的方式一层一层组织起来。蚂蚁所表现出来的复杂群体行为一直受到人们的广泛关注。生物学家经过大量的实验发现,蚂蚁可以通过感知和释放信息素来实现信息交流,并以此来分类它们的幼虫和堆积它们的食物。在求解分类问题的时候,正是蚂蚁这种特有的分类行为引发了人们的探索灵感。在进行人体姿态图像识别过程中,首先是要识别人体是处于一种什么姿态,是站着、坐着还是躺着,这实际上是一种分类。如图1-图4所示,蚁群分类幼体属于分类行为,蚂蚁可以在没有任何全局性指导的环境下进行分类。在模型中,将人体姿态图像识别问题转化为蚁群在二维的网格中随意移动并搬运物体问题。每只蚂蚁在行进过程中都会在沿途留下信息素,蚂蚁群落趋向于向信息素聚集的地方行进,这是一种正反馈。模型经过蚂蚁个体间、蚂蚁和外部环境之间的相互作用与反作用,形成了自组织分类,在人体姿态图像识别问题中可以得到成功应用。该算法的程序流程图如图5所示。参数调试如下,其中r代表蚂蚁数,t_max代表迭代次数的最大值。表1蚁群分类算法参数调试表rt_maxalltime(s)10100504312.1007101000450457.242410100003280068.52341010000022559670.74461001005210911.693210010004002547.26211001000019726359.8759100100000289623503.8当all=30710时,蚁群分类算法matlab仿真实验结果1如图6所示,易知,此时的分类效果还没有达到最优,应该进一步迭代。当all=18937时,结果如下:t=4017time=231.6215best_value=1.8517e+004index1=4161518213533index2=219203139414947index3=13581291114172225262832384042444851index4=306710132724292334363743454650蚁群分类算法matlab仿真实验结果2如图7所示。但是在人体姿态图像识别过程中,传统蚁群算法在解决姿态图像识别问题的时候往往容易陷入局部最优,不能准确的进行识别。技术实现要素:本发明要解决的技术问题是:提供了一种聚类中心的偏离误差小的基于遗传变异改进蚁群分类的姿态图像识别方法,解决了传统蚁群算法在解决姿态图像识别问题的时候往往容易陷入局部最优的问题。为了解决上述技术问题,本发明的技术方案是提供了一种基于遗传变异改进蚁群分类的姿态图像识别方法,其特征在于,包括以下步骤:步骤一:程序初始化,设置初始参数;步骤二:信息素矩阵初始化;步骤三:根据信息素矩阵,确定蚂蚁的行走路径,并在信息素矩阵上做好标识;步骤四:根据路径标识求出每一类的聚类中心;步骤五:计算各样本到其他对应的聚类中心的总体偏离误差;步骤六:根据总体偏离误差的大小,找到此时的最佳路径;步骤七:产生随机数,根据随机数的大小对最佳路径进行变异;步骤八:计算新路径下各样本到其对应的聚类中心的总体偏离误差;步骤九:比较总体偏离的变化,若此时的总体偏离误差减小,则新路径为最佳路径;步骤十:对信息素矩阵进行更新;步骤十一:在进行更新后,用新的信息素矩阵来进行路径的判断,不断进行迭代,直到达到最大次数t_max,或者偏离误差到达给定值。优选地,所述的在信息素矩阵上做好标识是通过定义字符标识矩阵,用信息素的值确定分到哪一组,实现过程如下:首先判断样本中信息素的值与阈值的大小关系,若阈值q大于信息素的值,则取信息素最大的为作为路径。优选地,所述的聚类中心为该类的所有样本当中各属性的平均值;在二维格子上随机分布一些数据向量,在观察个地点周围的一定范围内的nn条路径时,蚂蚁在一个方形区域内移动,移动范围是nn×nn个点,设蚂蚁位于i位置时在t时刻,定义一个数据向量oi,在以蚂蚁为中心的一定范围内向量oi的局部密度由如下公式来计算:在上式中,υ~u(1,vmax),vmax代表蚂蚁的最大移动速度;通过局部密度可以求出聚类中心。优选地,所述的总体偏离误差为将各样本到其聚类中心的欧几里得距离(即欧氏距离)之和,总体偏离误差可以通过两个数据对象的相异度求出;对于数据类型为浮点型的向量,可以采用余弦距离来作为两个数据对象的相异度公式,具体的定义方法如下:dcos(oi,oj)=1-sin(oi,oj)在上式中,用sin(oi,oj)来计算向量oi,oj之间的夹角,当他们之间相似度较高时,sin(oi,oj)的值接近1,则dcos(qi,oj)的值接近0。优选地,所述的对信息素矩阵进行更新的具体方法是将原信息素值乘以(1-gac)作为新信息素,gac为信息素蒸发率,再加上最小偏差值rap的倒数。优选地,所述的信息素设于人工蚁群背负的物体中,当物体被放置时,信息素也被传递到网格中,在一片固定区域中,信息素的含量增加,蚂蚁放下物体的几率会相应增大。通过本发明的算法在求出初始分类即任务分配结果后,会通过遗传变异机制产生随机数进行变异,然后计算新分配下各人体姿态图像样本到其对应聚类中心的距离偏差,如果偏差减小,则更新最优解。在最大迭代次数相同的情况下,本发明的算法大大减小了与其聚类中心的偏离误差,很好的解决了蚁群算法陷入局部最优解的问题。本发明不但可以实现全局最优方案,而且有着很好的鲁棒性,容易与其他算法结合,可以进行较少的改进实现其他复杂问题。本发明采用正反馈机制,可以在很大程度上加快进化过程。本发明可以为人体姿态图像识别问题提供有力的求解工具。附图说明图1为蚂蚁行进过程中突然增加障碍物;图2为蚂蚁自主选择各条路径的示意图(蚂蚁自主选择各条路径的概率大小相同。在单位时间内,由于短路径上的信息素浓度逐渐升高,该路径上蚂蚁数量增多);图3为蚂蚁选路过程示例;图4为蚂蚁找到最优路径示意图;图5为蚁群分类算法流程图;图6为蚁群分类算法仿真实验结果1;图7为蚁群分类算法仿真实验结果2;图8为基于遗传变异改进蚁群分类算法的流程图;图9为人体姿态图像识别结果图。具体实施方式为使本发明更明显易懂,兹以优选实施例,并配合附图作详细说明如下。下面结合具体实施例,进一步阐述本发明。应理解,这些实施例仅用于说明本发明而不用于限制本发明的范围。此外应理解,在阅读了本发明讲授的内容之后,本领域技术人员可以对本发明作各种改动或修改,这些等价形式同样落于本申请所附权利要求书所限定的范围。本发明为一种基于遗传变异改进蚁群分类的姿态图像识别方法,基于蚂蚁分类幼体的分类分析模型,主要是把位于稀疏区域的物体转移到另一个具有更多同样类型物体的区域。首先假设实验只有一种物体,这种物体在二维格子上面随机分布,每个格子上只有一个物体,蚂蚁在二维格子上面也是随机分布,并且每次沿着任意随机方向移动一格。在移动完成后,如果所在位置格点有物体的话,没有任何负担的蚂蚁可能会捡起物体,捡起的概率用pj表示,如下:式中,μ代表蚂蚁感觉到的在它周围的物体数,且β1>0。当蚂蚁周围有少量物体时,即μ<<β1,则pj接近于1;说明蚂蚁拾起物体的概率较大;如果有许多物体在蚂蚁附近时,μ>>β1,则pj≈0,说明蚂蚁拾起物体的概率较小。当蚂蚁身上已经有物体时,它有一定的几率放下物体,概率满足如下公式:这个公式成立的条件是,给定相应的格子是空的,β2>0,如果在蚂蚁的周围存在大量物体,即μ>>β2,则pf的结果会非常接近1,说明此时蚂蚁有很大概率放下物体。如果蚂蚁周围物体很少时,μ<<β2,则pf的结果约为0,说明蚂蚁几乎不会放下物体。在此基础上,进一步将高维数据投影到二维的空间上,然后用人工蚁群进行数据的搬运来实现该分类,加入了一个相似密度函数,可以对不同对象之间的相似性进行比较,具体描述如下:在二维格子上随机分布着一些数据向量,在观察个地点周围的一定范围内的nn条路径时,蚂蚁在一个方形区域内移动,移动范围是nn×nn个点,设蚂蚁位于i位置时在t时刻,定义一个数据向量oi,在以蚂蚁为中心的一定范围内向量oi的局部密度由如下公式来计算:在上式中,υ~u(1,vmax),vmax代表蚂蚁的最大移动速度。通过局部密度可以求出聚类中心。对于数据类型为浮点型的向量,可以采用余弦距离来作为两个数据对象的相异度公式,具体的定义方法如下:dcos(oi,oj)=1-sin(oi,oj)在上式中,用sin(oi,oj)来计算向量oi,oj之间的夹角,当他们之间相似度较高时,sin(oi,oj)的值接近1,则dcos(oi,oj)的值接近0。通过两个数据对象的相异度可以求出总体偏离误差。在人工蚁群背负的物体中加入信息素,当物体被放置时,信息素也被传递到网格中,在一片固定区域中,信息素的含量增加,蚂蚁放下物体的几率会相应增大。本发明的一种基于遗传变异改进蚁群分类的姿态图像识别方法,包括以下步骤:步骤一:程序初始化,设置初始参数;步骤二:信息素矩阵初始化;c=0.01;res=ones(n,k)*c;%初始值为0.01,维数为n*k的信息素矩阵步骤三:根据信息素矩阵,确定蚂蚁的行走路径,并在信息素矩阵上做好标识;定义字符标识矩阵,用信息素的值确定分到哪一组,实现过程如下:首先判断样本中信息素的值与阈值的大小关系,若阈值q大于信息素的值,则取信息素最大的为作为路径。步骤四:根据路径标识求出每一类的聚类中心;聚类中心为该类的所有样本当中各属性的平均值。步骤五:计算各样本到其他对应的聚类中心的总体偏离误差;将各样本到其聚类中心的欧几里得距离(即欧氏距离)之和表示为总体偏离误差,用all表示。all越小,分类效果越好。计算每只蚂蚁的偏差值,其中最小的所对应的路径选为最优路径。步骤六:根据总体偏离误差的大小,找到此时的最佳路径;步骤七:产生随机数,根据随机数的大小对最佳路径进行变异;其代码如下所示:步骤八:计算新路径下各样本到其对应的聚类中心的总体偏离误差;步骤九:比较总体偏离的变化,若此时的总体偏离误差减小,则新路径为最佳路径;步骤十:对信息素矩阵进行更新;随着时间的推移,需要对信息素矩阵进行更新,具体方法是将原信息素值乘以(1-gac)作为新信息素,gac为信息素蒸发率,再加上最小偏差值rap的倒数。具体程序如下:fori=1:nres(i,best_results(1,i))=(1-gac)*res(i,best_results(1,i))+1/rap;步骤十一:在进行更新后,用新的信息素矩阵来进行路径的判断,不断进行迭代,直到达到最大次数t_max,或者偏离误差到达给定值。参数调试如下,其中r代表蚂蚁数,t_max代表迭代次数的最大值,flu代表局部寻优参数。表3-2改进蚁群分类算法参数调试表本发明的分类效果与传统的分类效果对比如下表所示:表3-3改进后分类效果对比表可以看出,基于遗传变异的改进蚁群分类算法与基本算法相比,在最大迭代次数相同的情况下,大大减小了与其聚类中心的偏离误差,分类的效果有明显改善。将基于遗传变异改进的蚁群分类算法用于人体姿态图像识别中,将24幅图像分成站、坐、躺三类,matlab实验结果如图9所示。可以看到,当t_max=1000时,最优解将24幅图像分成了三类,分别用1,2,3表示,1代表站,二代表坐,三代表躺,最优解的函数值为198.1243。将基于遗传变异改进蚁群分类算法的24个分类结果与实际结果进行比对,正确率达到百分之百。基于遗传变异的改进蚁群分类算法不但可以实现全局最优方案,而且有着很好的鲁棒性,容易与其他算法结合,可以进行较少的改进实现其他复杂问题。算法采用正反馈机制,能够使进化过程更快。因此,基于遗传变异改进蚁群分类的姿态图像识别方法具有很强的实用性。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1