发明名称 一种人体建模中曲面拟合的进化算法
摘要 本发明公开了一种人体建模中曲面拟合的进化算法,属于计算机应用技术领域。本发明的原理及有益效果:进化算法是一种新兴的搜索寻优技术,提供了一种求解复杂系统的通用框架。本发明将基于进化算法的B样条曲面拟合应用到人体建模中,首先利用进化算法的B样条曲线拟合方法确定曲线边界线,从而得到基面,再按照曲面拟合的基本原理反求出曲面控制点,依据进化算法对控制点适应度大小的判断进行优化选择,最终实现人体建模中的曲面拟合。该方法利用进化算法的鲁棒性提高计算速度和效率,简化求取过程,降低拟合过程产生的误差,进而证明了该方法的优越性。
申请公布号 CN102938008A 申请公布日期 2013.02.20
申请号 CN201210476158.7 申请日期 2012.11.21
申请人 大连工业大学 发明人 杨继新;刘芳;陶学恒;王学俊;程金石;王慧慧;张鹏;刘彤宴;卜繁岭;吕艳;刘佳琪
分类号 G06F17/50(2006.01)I 主分类号 G06F17/50(2006.01)I
代理机构 大连东方专利代理有限责任公司 21212 代理人 曲永祚;李洪福
主权项 1.一种人体建模中曲面拟合的进化算法,其特征在于:包括以下几个步骤第一步:根据复杂曲面上的呈矩形阵列的数据点p<sub>i,j</sub>,(i=0,1,...,r;j=0,1,...,s),反求出控制点d<sub>i,j</sub>(i=0,1,...,m;j=0,1,...,s),对控制顶点和数据点横、纵向进行平均规范积累弦长参数化从而得到节点矢量,这样就确定了一个B样条拟合曲面,该曲面逼近于已知的复杂曲面,但由于选取的数据点的数量、位置有可能存在噪声和摆动,所以计算出的拟合曲面在某些点处会过分偏离原有曲面;这时根据误差判断条件,实时调整偏离点处对应的控制顶点,便可修改拟合曲面的局部性状,达到更好的拟合效果,由于双三次B样条曲面具有良好的局部特性,工程实践中常常使用双三次B样条曲面来拟合复杂曲面;采用双三次B样条曲面进行解释并运用四边域曲面拟合方法对其拟合;所述四边域曲面拟合方法步骤如下:1、边界预处理,2、空间散乱点的参数化,3、三角网格的建立,4、建立数学模型;第二步:建立目标函数为:<maths num="0001"><![CDATA[<math><mrow><msup><mi>I</mi><mi>r</mi></msup><mo>=</mo><mi>&alpha;</mi><munderover><mi>&Sigma;</mi><mrow><mi>k</mi><mo>=</mo><mn>0</mn></mrow><mi>j</mi></munderover><msup><mrow><mo>[</mo><msup><mi>S</mi><mi>r</mi></msup><mrow><mo>(</mo><msubsup><mi>u</mi><mi>k</mi><mrow><mi>r</mi><mo>-</mo><mn>1</mn></mrow></msubsup><mo>,</mo><msubsup><mi>v</mi><mi>k</mi><mrow><mi>r</mi><mo>-</mo><mn>1</mn></mrow></msubsup><mo>)</mo></mrow><mo>-</mo><msub><mi>P</mi><mi>k</mi></msub><mo>]</mo></mrow><mn>2</mn></msup><mo>+</mo><mi>&beta;</mi><mo>[</mo><msubsup><mi>S</mi><mi>uu</mi><mi>r</mi></msubsup><msup><mrow><mo>(</mo><msubsup><mi>u</mi><mi>k</mi><mrow><mi>r</mi><mo>-</mo><mn>1</mn></mrow></msubsup><mo>,</mo><msubsup><mi>v</mi><mi>k</mi><mrow><mi>r</mi><mo>-</mo><mn>1</mn></mrow></msubsup><mo>)</mo></mrow><mn>2</mn></msup><mo>+</mo><msubsup><mi>S</mi><mi>vv</mi><mi>r</mi></msubsup><msup><mrow><mo>(</mo><msubsup><mi>u</mi><mi>k</mi><mrow><mi>r</mi><mo>-</mo><mn>1</mn></mrow></msubsup><mo>,</mo><msubsup><mi>v</mi><mi>k</mi><mrow><mi>r</mi><mo>-</mo><mn>1</mn></mrow></msubsup><mo>)</mo></mrow><mn>2</mn></msup><mo>+</mo><mn>2</mn><msubsup><mi>S</mi><mi>uv</mi><mi>r</mi></msubsup><msup><mrow><mo>(</mo><msubsup><mi>u</mi><mi>k</mi><mrow><mi>r</mi><mo>-</mo><mn>1</mn></mrow></msubsup><mo>,</mo><msubsup><mi>v</mi><mi>k</mi><mrow><mi>r</mi><mo>-</mo><mn>1</mn></mrow></msubsup><mo>)</mo></mrow><mn>2</mn></msup><mo>]</mo><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>1.1</mn><mo>)</mo></mrow></mrow></math>]]></maths>所述:S<sup>r</sup>(u,0)=p(u,0);S<sup>r</sup>(u,1)=p(u,1)S<sup>r</sup>(0,v)=p(0,v);S<sup>r</sup>(1,v)=p(1,v)S<sub>v</sub><sup>r</sup>(u,0)=p<sub>v</sub>(u,0);S<sub>v</sub><sup>r</sup>(u,1)=p<sub>v</sub>(u,1)S<sub>u</sub><sup>r</sup>(0,v)=p<sub>u</sub>(0,v);S<sub>u</sub><sup>r</sup>(1,v)=p<sub>u</sub>(1,v)散乱点的个数必须大于所求曲面的未知控制顶点数(l>m×n),r表示曲面的迭代次数;s<sup>r</sup>(u,v)是经过r次迭代后得到的曲面,并且<img file="FDA00002444850200021.GIF" wi="676" he="116" /><img file="FDA00002444850200022.GIF" wi="629" he="55" />是曲面S<sup>r</sup>(u,v)的u,v两向量的二阶导数和混合偏导数;P<sub>k</sub>(k=0,1,...l)为散乱数据点;<img file="FDA00002444850200023.GIF" wi="196" he="53" />是散乱点Pk在r-1次迭代曲面上的参数值;α为逼近权,β为光顺权,且α+β=1;当α值越大时曲线越靠近逼近点,则β较小,曲线越不光顺;当β越大时,线越光顺,则α变小曲线到数据点的距离则越大,所以应调节好α和β平衡曲线光顺和精度的关系;所述可知目标曲面的目标函数是带有复杂约束条件的二次优化问题使目标函数I<sup>r</sup>既能满足约束,又能达到最小,由此就可求得第r次几何迭代目标曲面的控制顶点为<img file="FDA00002444850200024.GIF" wi="54" he="54" />(i=0,1,…,m;j=0,1,…,n);第三步:目标函数I<sup>r</sup>的求解目标函数I<sup>r</sup>的优化分为两步;1.采用Delaunay三角化方法对散乱点进行三角网格拟合,以人体模型数据为例,优化整体曲面的边界线和基曲面;2.利用公目标函数运用最小二乘法反求出曲面控制点,将控制点进行编码产生初始群体,通过适应度函数f=1/|(F(x,y,z)-z)<sup>2</sup>+(y(x,y)-y)<sup>2</sup>+(x-x<sub>i</sub>)<sup>2</sup>-ε|求得最大值,即最终的曲面控制点,以便拟合出基面;所述拟合出基面的过程:首先对反求出的控制点进行编码,对控制点数据分块得到相互连接的矩形区域,为保证曲面的连续性,将每块曲面的左上角和右下角数值记录,以便确定细化曲面的范围,对分块后曲面内的数据建立初始群体,判断它的迭代次数是否超出给定范围,即初次分块迭代次数为零;如果超出则进入到上层计算重复分块动作,如果没有则接着从初始群体中随机选取第0代群体,所述第0代群体含有n个,所述初始群体含有N个基因,第0代群体含有n个;对其拟合并求出适应度,如果适应度达到给出的标准则停止循环,直接得到拟合曲面,如果不符合适应度的要求则根据适应度的大小对数据进行遗传和变异操作,判断新生代基因个数,如果小于初始群体个数则从余下的数据中随机选取使新生代群体达到n个,从而得到第一代群体,再进入到循环中直到满足停机条件得到最优的拟合曲面。
地址 116034 辽宁省大连市甘井子区轻工苑1号
您可能感兴趣的专利