当前位置: 首页 > 专利查询>中北大学专利>正文

基于随机森林算法的分层布料模拟方法技术

技术编号:21247403 阅读:32 留言:0更新日期:2019-06-01 07:37
本发明专利技术公开了基于随机森林算法的分层布料模拟方法,首先使用传统的基于物理的方法来模拟计算分层布料模型的最粗糙水平的模拟;然后利用随机森林模型的回归算法预测出更精细水平的布料。相比于传统的基于物理的布料模拟方法,该方法可以在保证布料模拟效果的同时,加快布料动画的模拟速度。

Layered Distribution Simulation Method Based on Stochastic Forest Algorithms

The invention discloses a layered cloth simulation method based on random forest algorithm. First, the traditional physical method is used to simulate and calculate the simulation of the roughest level of the layered cloth model, and then the regression algorithm of the random forest model is used to predict the more fine level cloth. Compared with the traditional physical-based cloth simulation method, this method can not only ensure the cloth simulation effect, but also accelerate the cloth animation simulation speed.

【技术实现步骤摘要】
基于随机森林算法的分层布料模拟方法
本专利技术属于计算机动画领域,涉及基于随机森林算法的分层布料模拟方法,具体涉及一种基于随机森林回归算法的预测计算机动画中质点位置的方法。
技术介绍
计算机动画内容(例如电影和游戏)需要快速且可靠的方法来进行模拟,以获得更灵活和逼真的视觉效果。特别是在进行服装动画模拟时,布料的模拟效果直接影响着整个动画场景的视觉逼真度。质量弹簧系统为各种物体建模提供了一种简单而实用的方法,包括布料,头发和其他可变形固体。然而,与其他用于建模弹性的方法一样,获得真实的材料行为通常需要构建刚性系统。显示积分法的求解速度快,但其稳定性不能得到保障。传统的隐式积分法虽然能够保持系统的稳定,但其求解复杂,系统开销大,所需时间长,这些因素使得它的实时模拟效果不好。后来的改进隐式欧拉积分算法,以及相继提出的各种分层布料划分方法都为快速可靠地进行布料模拟提出了可行方案,并取得了不错的效果。但是,使用这些方法的成本依旧很高,不仅在实时应用程序(例如,游戏)中,而且在离线图形系统(例如,电影和视觉效果)中亦是如此。近年来,与机器学习相结合的算法已经在各个领域崭露头角。在计算机动画,尤其是布料模拟领域,也已经开始有研究者利用机器学习的思想来对布料建模进行优化。例如Guan等考虑到人体衣物的变形是由人体的运动所驱动,提出了将人的衣物布料的变形分别在只考虑人体形态与只考虑人体运动姿势的情况下进行训练,最后再整合在一起的方法。该方法可以在任意形态及任意姿势的人身上产生合适的衣服布料模型,对服装动画的实时性方面有一定的贡献。石敏等指出了Guan等人的方法的不足,自定义了一种人体姿态特征,将人体定义为由11个关节驱动的骨架,并定义了每个关节的特征表达式,最后从动画实例数据中提取人体运动特征和服装变形特征数据,利用机器学习的方法学习了二者之间的关系,并成功构建了有效的关系模型,达到了输入新的人体运动,便可预测服装各区域变形程度的效果。上述方法虽然都对服装形变进行了合理的预测,使系统不用再进行复杂的曲率计算,在一定程度上加速了服装模拟的速度,但由于其底部布料的划分还是基于物理驱动的,所以其整体的效率并未提高很多。
技术实现思路
本专利技术针对现有技术中布料的模拟是基于物理驱动存在布料模拟效果不佳的技术问题,提供基于随机森林算法的分层布料模拟方法,本专利技术对布料网格的划分方法进行优化,将传统物理方法与机器学习方法相结合,加快布料网格的划分速度,提高布料划分的实时性,从而达到优化服装动画的效果。为解决上述技术问题,本专利技术采用的技术方案为:基于随机森林算法的分层布料模拟方法,具体按照以下步骤进行:步骤1,使用传统的隐式积分方法计算出初始布料中质点位置x0(t+Δt),将质点用线连接,产生布料网格L0,将布料网格L0里的三角形的索引值标为0,即产生最初始水平的布料;步骤2,使用随机森林模型中的回归算法,在初始水平布料的基础上,计算出新质点的位置,然后将新质点与步骤1产生的布料网格L0里与新质点相对应的三角形的三个顶点相连,产生新的布料网格,将新产生的布料网格里的三角形的索引值标为1;步骤3,因本专利技术采取的是划分法来划分网格,因此步骤2会产生许多狭长的三角形,狭长的三角形因含有钝角,不够稳定,不适宜用来模拟布料动画,因此,本专利技术采取边翻转操作,将步骤2中新的布料网格中的狭长三角形转化为不含钝角的稳定三角形,产生了新的布料网格L1,将新的布料网格L1里的经边翻转产生的三角形索引值加1;步骤4,重复操作步骤2-3,每当产生新的三角形,其索引值依次加1;直至产生满意的布料动画,即完成基于随机森林算法的分层布料模拟。进一步,所述步骤1中使用隐式积分方法计算出初始布料中质点位置x0(t+Δt),具体操作过程是:x0(t+Δt)=x0(t)+v0(t+Δt)Δt(1)M0v0(t+Δt)=M0v0(t)+(fext(t)+f(t+Δt))Δt(2)其中:x0(t)表示t时刻质点的位置;v0(t)表示t时刻质点的速度;M0表示质量矩阵;fext表示外力;f代表模型的隐含力;将方程(1)和(2)的计算可以转换为一下最小化问题:其中:表示的是在没有隐含力f的情况下所预测的质点的下一位置,U是影响布料模型的不同能量项的总和。在模拟初始布料时使用隐式积分方法,可以有效避免后续步骤使用随机森林算法推断质点位置时发生错误。再进一步,所述步骤2中使用随机森林模型中的回归算法,计算出下一水平布料中新质点的位置,具体操作过程是:步骤2.1:将布料网格中质点的位置作为样本,假设原始数据样本含量为n,样本含有7个输入特征维,利用bootstrap有放回地随机抽取b个新的自助训练样本集,每次未被抽到的样本组成b个袋外数据,作为随机森林的测试样本;步骤2.2:将三角形的各质点与其初始位置相比的局部差异作为输入特征向量,定义为:其中:为的初始位置;步骤2.3:随机森林算法的输出为预测的新质点的位置与其真实位置的差异,定义为:其中:为的初始位置;步骤2.4:随机森林算法所预测的新质点的位置为:使用随机森林算法替代隐式积分方法,来预测更精细水平布料中的新质点位置,可以减少大量数值计算,在很大程度上提高整个系统效率。更进一步,所述步骤3中需要采取边翻转操作的狭长三角形为:满足以下两个条件:(1)有与三角形中钝角所对应的边共享此边的三角形;(2)要进行边翻转操作的两个三角形具有相同的索引值。对满足要求得狭长三角形进行边翻转操作,可以产生稳定可靠的三角形,有助于布料动画的可靠模拟。更进一步,所述步骤4中重复操作步骤2-3,每当产生新的三角形,其索引值依次加1;直至产生满意的布料动画,即完成基于随机森林算法的分层布料模拟,具体操作过程是:每当使用随机森林算法产生更精细水平的布料,便评判产生的布料模拟效果,如果满意则停止整个模拟过程;如果产生的布料动画不满意,继续重复步骤2和步骤3,直至产生令人满意的布料动画。本专利技术的有益效果:本专利技术是基于随机森林算法的分层布料模拟方法,涉及到随机森林算法预测质点位置,实现了对布料模拟计算的简化。方法采用随机森林模型中的回归算法来预测质点在下一水平布料中的位置,避免了传统基于物理方法所需的大量数值计算,极大程度上提高了布料模拟的效率。在保证产生稳定可靠的布料动画的前提下,极大地缩短了整个模拟过程所需的时间。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术实施例的整体算法流程图;图2是本专利技术实施例的布料模拟示意图;图3是各算法模拟效率图。具体实施方式下面将结合本专利技术实施例中,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。实施例1如图1所示,本专利技术实施例提供了一种基于随机森林算法的分层布料模拟方法,其中包括以下功能:使用传统的隐式积分方法计算初始布料中本文档来自技高网
...

【技术保护点】
1.基于随机森林算法的分层布料模拟方法,其特征在于:具体按照以下步骤进行:步骤1,使用隐式积分方法计算出初始布料中质点位置x

【技术特征摘要】
1.基于随机森林算法的分层布料模拟方法,其特征在于:具体按照以下步骤进行:步骤1,使用隐式积分方法计算出初始布料中质点位置x0(t+Δt),将质点用线连接,产生布料网格L0,将布料网格L0里的三角形的索引值标为0,即产生最初始水平的布料;步骤2,使用随机森林模型中的回归算法,在初始水平布料的基础上,计算出新质点的位置,然后将新质点与步骤1产生的布料网格L0里与新质点相对应的三角形的三个顶点相连,产生新的布料网格,将新产生的布料网格里的三角形的索引值标为1;步骤3,采取边翻转操作,将步骤2中新的布料网格中的狭长三角形转化为不含钝角的稳定三角形,产生了新的布料网格L1,将新的布料网格L1里的经边翻转产生的三角形索引值加1;步骤4,重复操作步骤2-3,每当产生新的三角形,其索引值依次加1;直至产生满意的布料动画,即完成基于随机森林算法的分层布料模拟。2.根据权利要求1所述的基于随机森林算法的分层布料模拟方法,其特征在于:所述步骤1中使用隐式积分方法计算出初始布料中质点位置x0(t+Δt),具体操作过程是:x0(t+Δt)=x0(t)+v0(t+Δt)Δt(1)M0v0(t+Δt)=M0v0(t)+(fext(t)+f(t+Δt))Δt(2)其中:x0(t)表示t时刻质点的位置;v0(t)表示t时刻质点的速度;M0表示质量矩阵;fext表示外力;f代表模型的隐含力;将方程(1)和(2)的计算可以转换为一下最小化问题:其中:表示的是在没有隐含力f的情况下所预测的质点的下一位置,U是影响...

【专利技术属性】
技术研发人员:靳雁霞张晋瑞张程程程奇甫齐欣马博贾瑶张建华雷海卫
申请(专利权)人:中北大学
类型:发明
国别省市:山西,14

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1