CN108090951B - 用于模拟采取姿势的身体的计算机实现的方法 - Google Patents
用于模拟采取姿势的身体的计算机实现的方法 Download PDFInfo
- Publication number
- CN108090951B CN108090951B CN201711162800.3A CN201711162800A CN108090951B CN 108090951 B CN108090951 B CN 108090951B CN 201711162800 A CN201711162800 A CN 201711162800A CN 108090951 B CN108090951 B CN 108090951B
- Authority
- CN
- China
- Prior art keywords
- rotation
- computer
- target
- effector
- kinematic chain
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 46
- 239000012636 effector Substances 0.000 claims abstract description 33
- 241001465754 Metazoa Species 0.000 claims abstract description 17
- 210000000988 bone and bone Anatomy 0.000 claims abstract description 13
- 238000013500 data storage Methods 0.000 claims abstract description 4
- 238000004422 calculation algorithm Methods 0.000 claims description 14
- 125000004122 cyclic group Chemical group 0.000 claims description 3
- 238000004590 computer program Methods 0.000 abstract description 4
- 238000013459 approach Methods 0.000 description 6
- 238000011960 computer-aided design Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 210000003414 extremity Anatomy 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 101000666896 Homo sapiens V-type immunoglobulin domain-containing suppressor of T-cell activation Proteins 0.000 description 1
- 102100038282 V-type immunoglobulin domain-containing suppressor of T-cell activation Human genes 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000019771 cognition Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 108010063460 elongation factor T Proteins 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- IJJVMEJXYNJXOJ-UHFFFAOYSA-N fluquinconazole Chemical compound C=1C=C(Cl)C=C(Cl)C=1N1C(=O)C2=CC(F)=CC=C2N=C1N1C=NC=N1 IJJVMEJXYNJXOJ-UHFFFAOYSA-N 0.000 description 1
- 210000000245 forearm Anatomy 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 210000000707 wrist Anatomy 0.000 description 1
- 229910052724 xenon Inorganic materials 0.000 description 1
- FHNFHKCVQCLJFQ-UHFFFAOYSA-N xenon atom Chemical compound [Xe] FHNFHKCVQCLJFQ-UHFFFAOYSA-N 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/20—3D [Three Dimensional] animation
- G06T13/40—3D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/24—Indexing scheme for image data processing or generation, in general involving graphical user interfaces [GUIs]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2219/00—Indexing scheme for manipulating 3D models or images for computer graphics
- G06T2219/20—Indexing scheme for editing of 3D models
- G06T2219/2016—Rotation, translation, scaling
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Architecture (AREA)
- Computer Hardware Design (AREA)
- Geometry (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Processing Or Creating Images (AREA)
Abstract
一种用于模拟采取姿势的人体或动物体的计算机实现的方法,包括以下步骤:a)提供所述身体的模型(AV),其包括骨架,所述骨架包括由旋转关节(A‑D)链合的多个骨头(b0‑b4)以形成至少一个运动链;b)定义针对所述骨架的每个旋转关节的起始位置和起始旋转状态,以及运动链的被称为效应器(EF)的点的目标位置(T),所述运动链被称为活动的运动链;c)针对所述活动的运动链的多个关节中的每一个关节的至少一个旋转轴,定义:致动顺序;对目标旋转的最大分数贡献;以及最大旋转角;以及d)采用其致动顺序迭代地将围绕其旋转轴的旋转应用于所述活动的运动链的关节,以便使所述效应器接近目标位置(T),其中关于旋转轴的关节的每个旋转由相对应的最大旋转角和对所述目标旋转的相对应的最大分数贡献中的一个来限定,所述目标旋转将使所述效应器与其目标位置之间的距离最小化。用于执行这样的方法的计算机程序产品、非暂时性计算机可读数据存储介质以及计算机系统。
Description
技术领域
本发明涉及用于模拟采取姿势的人类(或动物)的动作的计算机实现的方法。这涉及计算机图形领域,并且使其本身应用于若干应用,例如,计算机辅助设计(CAD)、人体工程学、视频游戏等。
背景技术
已知由数字模型来表示人类或动物身体,所述模型包括由“皮肤”覆盖的“骨架”。骨架由一组被称为“骨头”的区段构成,即使它们不必对应于实际的解剖学上的骨头,所述骨头由具有一、二或三个旋转自由度的旋转关节链合。这样的模型,也被称为“化身”,通常以诸如人类身体模型的所谓的“T-姿势”(腿部分地伸展、手臂水平方向延伸)之类的标准姿势被提供。
为了使化身采取与原始姿势不同的特定姿势,有必要确定链合化身的骨架的骨头的一组关节的旋转产生期望结果。这并非容易的任务。
在许多情况中,用户仅对骨架的一个或多个特定的点(被称为“效应点(effector)”)施加约束,而不是完全指定期望的姿势。例如,用户可以迫使化身的手(例如,对应于表示其前臂的骨头的端点)采用特定的位置。从理论的角度而言,这对应于反向运动学(IK)的问题。
正向运动学允许计算运动链(例如,骨架或其部分)的一个或多个效应器的位置X作为一组参数θ的方程,其中一组参数θ定义链的关节的旋转角:
X=f(θ)
而反向运动学的目的在于计算产生效应器的指定目标位置X的参数θ:
θ=f1(X)
虽然正向运动学问题通常允许单个解,但是反向运动学问题可以具有零解或无限解。在第一种情况下,不可能达到目标位置X;在第二种情况下(受约束的系统),其与定义“解空间”的无限数量的不同姿势(冗余)相对应,无限数量的不同姿势中的一个必须是任意地或基于一些准则来进行分类的。
反向运动学问题仅允许非常短的运动链的解析解,其通常具有很少的实际意义。
在更复杂的情况下,可以局部对正向运动学方程f进行线性化并且对其求逆。实际上,如果系统是受约束的,则可以仅得到(线性化的)正向运动学方程的伪逆,并且通过选择使适当地选择的成本方程最小化的解来处理冗余。这种方法是非常强大并且灵活的-实际上,比许多计算机图形应用所要求的要更加强大和灵活,但是其涉及与实时实现不兼容的复杂的计算。
存在用于以快速并且更实际的方法来解决反向运动学问题的其他方法。
公知的方法在于将反向运动学问题简化为最小化问题-将要被最小化的方程是效应器与目标位置之间的距离,并且使用循环坐标下降(CCD)算法(参见David G.Luenberher和Yinyu Ye“Linear and Nonlinear Programming”第三版,Springer(2008))来解决目标位置。循环坐标下降反向运动学(CCD-IK)事实上是迭代的算法,其执行对关节的局部调节以使位置的错误和效应器的定向最小化。每次迭代都通过运动链从末端到根部并且逐步地修改每个关节。然后,这种调整足够简单以解析地来执行。
这种方法的主要优点是在其收敛期间不存在奇点。然而,其也有一些主要缺点。首先,该方法不提供考虑到冗余的可能解的空间,而仅提供单个解,其可以不与人体或动物体的真实的姿势相对应。最后,所述调整在关节之间不是均匀地被分布。实际上,将要被修改的第一关节经受最大的旋转,其通常太大以至于不能产生真实的姿势。这种方法很适合于机器人,其中仅有最后的效应器的位置是有意义的,而不是姿势本身。
归纳的反向运动学算法(J.O.Kim等,“The Inductive Inverse KinematicsAlgorithm to Manipulate the Posture of an Articulated Body”,ICCS 2003)是CCD的修改形式,其产生更多真实的姿势。为了这样做,该方法在启动CCD算法之前将运动链初始化为处于被存储在所谓的“统一姿势图谱”中的预先计算的姿势。这种方法的缺点是其需要存储针对单个运动链的大量的预先计算的姿势。将该方法应用于人体或动物体的建模可能需要计算针对若干不同的骨架(例如,与不同的个体相对应)的统一姿势图谱,每个不同的骨架包括多个运动链,进一步增加了负担,这很快就变得难以承受。
三角测量反向运动学算法(R.Müller-Cajar和R.Mukundan“Triangulatio:A newalgorithm for Inverse Kinematics”,Proceedings of Image and Vision ComputingNew Zealand 2007)介绍了以下认知:基于CCD的方法给出了非真实的姿势主要是因为将要被调整的第一参数经受了最大的改变。“三角测量”通过由余弦定理来确定朝向目标的每个关节的旋转从而减弱这个缺点。该算法是简单并且快速地实现的,但是其不产生充分真实的姿势。
本发明的目的在于克服现有技术的缺点。更准确地说,其目的在于提供简单并且快速的方法以用于模拟采取姿势的人体或动物体,从而产生真实-即使在解剖学上不一定是准确的-结果。
发明内容
允许实现该目的的本发明的对象是一种用于模拟采取姿势的人体或动物体的计算机实现的方法,包括以下步骤:
a)提供所述人类或动物身体的模型,其包括骨架,所述骨架包括由旋转关节链合的多个骨头以形成至少一个运动链,每个旋转关节连接两个骨头并且具有被包括在一至三个之间的许多旋转轴;
b)定义针对骨架的每个旋转关节的起始位置以及起始旋转状态,以及运动链的被称为效应器的点的目标位置,所述运动链被称为活动运动链;
c)针对所述活动的运动链的多个关节中的每一个关节的至少一个旋转轴,定义:
-致动顺序;
-对目标旋转的最大分数贡献;以及
-最大旋转角;以及
d)采用其致动顺序迭代地将围绕其旋转轴的旋转应用于所述活动的运动链的关节,以便使所述效应器接近其目标位置,其中关节的关于旋转轴的每个旋转由相对应的最大旋转角和对所述目标旋转的相对应的最大分数贡献中的一个来限定,所述目标旋转将使所述效应器与其目标位置之间的距离最小化。
本发明的另一对象是计算机程序产品,其被存储在非暂时性计算机可读数据存储介质上,所述计算机程序产品包括计算机可执行指令,所述指令用于使计算机系统执行这样的方法。
而本发明的另一对象是非暂时性计算机可读数据存储介质,其包括计算机可执行指令,所述指令用于使计算机系统执行这样的方法。
本发明的进一步对象是计算机系统,其包括耦合至存储器的处理器以及图形用户界面,存储器存储计算机可执行指令,所述指令用于使计算机系统执行这样的方法。
本发明的另一对象是使用这样的方法被仿真的采取姿势的人类或动物身体的模型。
附图说明
根据随后的描述结合附图,本发明的附加的特征和优点将会变得显而易见,其中:
图1、图2A、图2B、图3A、图3B、图4A和图4B示出了根据本发明的方法的示例性实施例的旋转的序列,其被应用于骨架的运动链以便移动效应器朝向目标;
图5A-图5C示出了本发明的方法的示例性应用;
图6和图7是根据本发明的不同实施例的适用于执行方法的相应的计算机系统的框图。
具体实施方式
本发明将参照非常简单的示例来进行描述,如图1上所示:运动链由四个骨头b1、b2、b3、b4、固定的基底b0(其可以被认为是骨头)和四个旋转关节A、B、C、D构成,每个关节具有单个旋转轴。旋转轴彼此平行;因此,链的移动被约束在平面中。效应器EF是骨头b4的端点,距基b0最远。对更复杂(以及三维)的情况的普遍原理是简单易懂的。图1表示处于初始姿势的运动链,其中所有关节都具有0°初始旋转角,并且所有骨头都是对齐的。
本发明的方法包括两个阶段。总是被执行的第一阶段收敛到真实的姿势,在该姿势中效应器EF的位置可以不是完全符合目标点T。第二阶段,其是可选的,修改该姿势以确保效应器达到目标点。
在使用本发明的算法之前,需要创建简单的数据结构:元素的有序列表,每个元素包括:
关节的标识符及其旋转轴的标识符;
指示关节对目标旋转的最大分数贡献(maximal fractional contribution)的数值;以及
指示关节的最大旋转角的数值。
以下的表1提供了这样的列表的示例;然而,不存在关节的旋转轴的标识符,这是由于在图1的示例中仅考虑了一个自由度的关节:
关节 | 最大分数贡献 | 最大旋转角度 |
B | 30% | 20。 |
A | 30% | 60° |
D | 100% | 20° |
… | … | … |
表1
该算法的第一阶段被迭代地执行并且与CCD算法有某些相似之处。然而,针对每个旋转轴定义的“最大分数贡献”和“最大旋转角”确保更加平衡的-并且由用户自由定制的-关节旋转的分布。
列表的第一元素与关节B相对应。然后,第一阶段的第一步骤包括旋转该关节以便移动效应器EF朝向目标T。在图2A中,虚线20表示如果关节B被旋转以便确切地使EF-T距离最小化则子链b2-b3-b4将会采用的配置。然而,列表示出了关节B的特征在于最大分数贡献是30%并且最大旋转角是20°。这表示该关节的实际旋转被限定为“完全”旋转的30%(参见虚线21)或旋转了20°(参见虚线22)。选择两个限定中较大的,在这种情况下是20°旋转。在图2B中示出了得到的配置(“姿势”)。
被致动的下一个节点是A。在图3A中,线30示出了与“完全”旋转相对应的姿势,并且线31与由最大分数贡献是30%来限定的旋转相对应。理论上,线32应该与最大旋转角即60°相对应,但是这将会超过“完全”旋转,其是不被允许的,这是由于其将移动效应器越过目标。因此,线32与线30对齐,并且确定关节A的实际旋转(图3B)。
被致动的第三节点是D。图4A上所示的模拟与先前的步骤类似;线40与完全旋转相对应,线41与最大分数贡献相对应并且线42符合线40,最大旋转角由完全旋转来限定。图4B示出了在这第三步骤之后获得的姿势。
在本发明的该示例性实施例中,算法的第一阶段在此结束。在更复杂的实施例中,也可以致动关节C和/或可以执行若干迭代,即列表中的关节可以被处理若干次。
在图4B中可以看出,在第一步骤结束时,效应器没有达到目标。此外,对步骤进行迭代不可以解决这个问题。因此,为了使效应器符合目标,使用常规CCD算法来执行第二步骤。由于CCD仅须提供相对小的改进,因此其将不“破坏”由第一步骤生成的姿势的真实的表现。
可以理解的是,通过例如三角测量的本发明的方法的关键优点是其可调谐性:用户可以自由改变列表中的关节的顺序,以及针对每个关节的最大分数贡献和最大旋转角度的数值。姿态的计算是非常快速的,用户可以简单地尝试不同的设置以便找到最真实的姿势。
直到现在,仅考虑了“抽象”的运动链的情况。在方法的实际实现中,运动链将表示与例如肢体(例如,手臂)相对应的骨架的一部分。通常,骨架将被认为是由多个运动链组成的。本发明的方法允许对单个“活动的”链起作用,而其他的链被认为是固定的。另外,当该方法被应用于化身时,可能需要对关节的旋转施加附加的约束,附加的约束反映了建模的人体或动物体的生理学约束。
图5A-图5C示出了具有包括多个运动链的骨架(未示出)的化身AV。表示左臂(在每幅图的右侧)的链是“活动的”链,并且其效应器与右手腕相对应;身体的剩余部分构成固定的基。目标T由光标组成,该光标由用户使用例如鼠标来在包含化身的三维场景中移动。如可以看到的,针对目标的连续位置重复地执行本发明的方法,这允许效应器实时地跟随目标,并且化身的姿势总是看起来非常自然。
重要的是注意到,虽然最后的姿势是真实的,但是由运动链执行的以达到最后的姿势的移动不是必需的,除了小的移位以外。因此,如果本发明的方法用于执行动画,则建议从位于靠近效应器的目标点开始,并且逐渐地移动效应器朝向其最后的位置。
效应器不需要与肢体的末端相对应。例如,可以固定化身的手的位置(即,使手作为基),并且可以认为肩膀或者身体的中心是效应器。
直到现在,仅有其中选择最大旋转角和对目标旋转的相对应的最大分数贡献中的较大的一个来限定关节的旋转的情况。这个选择加速了收敛。然而,相反的选择(即,最大旋转角和对目标旋转的相对应的最大分数贡献中的较小的一个)也是可以的。还可以采取“混合的”方法,例如,选择较大的限定以用于第一迭代并且选择较小的限定以用于最后的迭代。
本发明的方法可以由适当编程的通用计算机或包括计算机网络的计算机系统来执行,其将适当的程序以非暂时性形式的存储到计算机可读介质(例如,硬盘、固态盘或CD-ROM)上、并且使用其微处理器和存储器来执行所述程序。
参照图6描述了适用于执行根据本发明的示例性实施例的方法的计算机。在图6中,计算机包括中央处理单元(CPU),其执行上述的过程。该过程可以被存储为可执行的程序,即存储器(例如,RAM M1或ROM M2)中的、或硬盘驱动器(HDD)M3、DVD/CD驱动器M4上的、或可以远程存储的一组计算机可读指令。此外,一个或多个计算机文件也可以被存储在存储器设备M1到M4中的一个或多个上或者远程地被存储,其中一个或多个计算机文件定义至少一个人体或动物体的数字模型(化身)和/或其中浸入所述模型的三维场景。
所要求保护的发明不由其上存储了本发明过程的计算机可读指令和/或数字文件的计算机可读介质的形式所限制。例如,指令和文件可以被存储在CD、DVD上、在闪存、RAM、ROM、PROM、EPROM、EEPROM、硬盘或计算机辅助设计站或示例编写站(illustrationauthoring station)与i进行通信的任何其他信息处理设备(例如,服务器或计算机)中。程序和文件可以被存储在相同的存储器设备上或不同的存储器设备上。
此外,适用于执行本发明的方法的计算机程序可以被提供作为实用应用、后台守护进程、或操作系统的组件、或其组合,与CPU 800和例如以下的操作系统共同执行:Microsoft VISTA、Microsoft Windows 8、UNIX、Solaris、LINUX、Apple MAC-OS、以及本领域的技术人员已知的其他系统。
中央处理单元CPU可以是来自美国Intel的Xenon处理器、或来自美国AMD的Opteron处理器、或可以是其他处理器类型,例如,来自美国Freescale公司的FreescaleColdFire、IMX、或ARM处理器。可替换地,中央处理单元可以是例如来自美国Intel公司的Core2Duo之类的处理器,或者可以被实现在FPGA、ASIC、PLD上或可以使用分立的逻辑电路来实现,如本领域的普通技术人员可以识别的。
此外,中央处理单元可以被实现为协作地进行工作以用于执行上述发明过程的计算机可读指令的多个处理器。
图6中的计算机还包括网络接口NI(例如,来自美国Intel公司的Intel以太网PRO接口卡)以用于与网络(例如,局域网(LAN)、广域网(WAN)、因特网等)进行接合。计算机辅助设计站还包括显示控制器DC(例如,来自美国NVIDIA公司的NVIDIA GeForce GTX图形适配器)以用于与显示器DY(例如,惠普HPL2445w LCD监视器)进行接合。通用I/O接口IF与键盘KB和定点设备PD(例如,滚球、鼠标、触摸板等)进行接合。显示器、键盘和定点设备与显示控制器和I/O接口一起形成了图形用户界面,其由用户使用以提供输入命令(例如,移动指针工具、定义参数的值…)并且由计算机辅助设计站使用以用于显示包括化身的三维场景。
盘控制器DKC将HDD M3和DVD/CD M4与通信总线CBS进行连接,通信总线CBS可以是ISA、EISA、VESA、PCI、或类似的以用于将计算机辅助设计站的组件中的所有组件进行互连。
为了简洁,本文中省略了显示器、键盘、定点设备以及显示控制器、盘控制器、网络接口和I/O接口的一般特征和功能的描述,这是由于这些特征是已知的。
图7是适用于执行根据本发明的不同示例性实施例的方法的计算机系统的框图。
在图7中,可执行程序EXP和定义化身和可能的三维场景的计算机文件被存储在连接到服务器SC的存储器设备上。存储器设备和服务器的总体架构可以与上面参照图6所讨论的是相同的,除了在该服务器中显示控制器、显示器、键盘和/或定点设备可以缺失以外。
然后,服务器SC经由网络NW被连接到管理员系统ADS和终端用户计算机EUC。
管理员系统和终端用户计算机的总体架构可以与参照图6所讨论的是相同的,除了管理员系统和终端用户计算机的存储器设备不存储可执行程序EXP和/或定义化身和/或三维场景的计算机文件以外。然而,终端用户计算机存储被设计用于与服务器的可执行程序进行协作的客户端程序,如其将在下面进行讨论的。
如可以理解的是,网络NW可以是公共网络(例如,因特网)或私有网络(例如,LAN或WAN网络)或其任何组合,并且还可以包括PSTN或ISDN子网络。网络NW还可以是有线的(例如,以太网网络)或可以是无线的(例如,蜂窝网络,包括EDGE、3G和4G无线蜂窝系统)。无线网络还可以是Wi-Fi、蓝牙或已知的任何其它无线形式的通信。因此,网络NW仅是示例性的并且不会限制本改进的范围。
存储在终端用户计算机的存储器设备中的并且由终端用户计算机的CPU执行的客户端程序经由网络NW访问由服务器SC存储的并且包含定义三维场景、化身或其元件的文件的数据库DB。服务器执行如上所述的处理,并且再次使用网络NW将与期望的场景的表示相对应的图像文件发送到终端用户计算机。
尽管仅示出了一个管理员系统ADS和一个终端用户系统EUX,但是在没有限制的情况下系统可以支持任何数量的管理员系统和/或终端用户系统。类似地,在不脱离本发明的范围的情况下,还可以在系统中实现多个服务器。
本文中描述的任何过程应该被理解为表示代码的模块、区段、或的部分,所述代码包括一个或多个可执行指令以用于实现过程中的特定逻辑功能或步骤,并且替代的实现被包括在本发明的示例性实施例的范围内。
Claims (10)
1.一种用于模拟采取姿势的人体或动物体的计算机实现的方法,包括以下步骤:
a)提供所述人体或所述动物体的模型(AV),其包括骨架,所述骨架包括由旋转关节(A-D)链合的多个骨头(b0-b4)以形成至少一个运动链,每个旋转关节连接两个骨头并且具有被包括在一个到三个之间的多个旋转轴;
b)定义针对所述骨架的每个旋转关节的起始位置和起始旋转状态,以及运动链的被称为效应器(EF)的点的目标位置(T),所述运动链被称为活动的运动链;
c)针对所述活动的运动链的多个关节中的每一个关节的至少一个旋转轴,定义:
-致动顺序;
-对目标旋转的最大分数贡献;以及
-最大旋转角;以及
d)采用其致动顺序迭代地将围绕其旋转轴的旋转应用到所述活动的运动链的关节,以便使所述效应器接近其目标位置(T),其中,关节的关于旋转轴的每个旋转由相对应的最大旋转角和对所述目标旋转的相对应的最大分数贡献中的一个来限定,所述目标旋转将使所述效应器与其目标位置之间的距离最小化。
2.根据权利要求1所述的计算机实现的方法,还包括在步骤d)之后执行的以下步骤:
e)应用循环坐标下降算法来使所述效应器收敛到目标点,除非收敛在所述步骤d)结束时已经完成。
3.根据权利要求1-2中的任何一项所述的计算机实现的方法,其中,关节的关于旋转轴的每个旋转是由所述相对应的最大旋转角和对所述目标旋转的相对应的最大分数贡献中的最大的来限定的,所述目标旋转将使所述效应器与其目标位置之间的距离最小化。
4.根据权利要求1-2中的任何一项所述的计算机实现的方法,其中,在步骤d)中至少一个旋转是由对所述人体或所述动物体的生理学约束进行建模的至少一个约束来限定的。
5.根据权利要求1-2中的任何一项所述的计算机实现的方法,其中,步骤c)包括创建元素的有序列表,所述列表的每个元素包括至少:
-旋转关节的标识符和其旋转轴的标识符;
-指示对目标旋转的相对应的最大分数贡献的数值;以及
-指示所述相对应的最大旋转角的数值。
6.根据权利要求1-2中的任何一项所述的计算机实现的方法,其中,所述目标在包含所述人体或所述动物体的模型的三维场景中移动,并且其中,步骤d)是针对所述目标的多个连续位置被实时地重复执行的。
7.根据权利要求1-2中的任何一项所述的计算机实现的方法,还包括显示所述人体或所述动物体的图形表示。
8.根据权利要求1-2中的任何一项所述的计算机实现的方法,其中,所述效应器与在所述人体或所述动物体的手、手指、脚、脚趾、头部或其部分之中选择的元素相对应。
9.一种非暂时性计算机可读数据存储介质(M1-M4),其包括计算机可执行指令(EXP),所述计算机可执行指令使计算机系统执行根据权利要求1至8中的任一项所述的方法。
10.一种计算机系统,包括与存储器(M1-M4)和图形用户界面(KB、PD、DC、DY)耦合的处理器(P),所述存储器存储计算机可执行指令(EXP),所述计算机可执行指令使所述计算机系统执行根据权利要求1至8中的任一项所述的方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP16306533.7 | 2016-11-22 | ||
EP16306533.7A EP3324366A1 (en) | 2016-11-22 | 2016-11-22 | Computer-implemented method for simulating a body taking a posture |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108090951A CN108090951A (zh) | 2018-05-29 |
CN108090951B true CN108090951B (zh) | 2024-01-30 |
Family
ID=57482350
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711162800.3A Active CN108090951B (zh) | 2016-11-22 | 2017-11-21 | 用于模拟采取姿势的身体的计算机实现的方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10482647B2 (zh) |
EP (1) | EP3324366A1 (zh) |
JP (1) | JP7278026B2 (zh) |
CN (1) | CN108090951B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017040905A1 (en) * | 2015-09-03 | 2017-03-09 | Stc.Unm | Accelerated precomputation of reduced deformable models |
EP3324365A1 (en) | 2016-11-22 | 2018-05-23 | Dassault Systèmes | Computer-implemented method for simulating a body taking a posture, in particular to look at a target |
CN109711329B (zh) * | 2018-12-25 | 2021-02-09 | 北京迈格威科技有限公司 | 姿态估计及网络训练方法、装置和系统及存储介质 |
CN111080755B (zh) * | 2019-12-31 | 2023-11-14 | 上海米哈游天命科技有限公司 | 一种运动解算方法、装置、存储介质及电子设备 |
CN113409425B (zh) * | 2020-09-04 | 2024-03-22 | 完美世界(重庆)互动科技有限公司 | 一种动画文件的输出方法和装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6191798B1 (en) * | 1997-03-31 | 2001-02-20 | Katrix, Inc. | Limb coordination system for interactive computer animation of articulated characters |
WO2013123306A1 (en) * | 2012-02-16 | 2013-08-22 | Brown University | System and method for simulating realistic clothing |
CN105678838A (zh) * | 2014-12-05 | 2016-06-15 | 达索系统公司 | 用于设计具有至少一件服装的化身的计算机实现的方法 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6400368B1 (en) | 1997-03-20 | 2002-06-04 | Avid Technology, Inc. | System and method for constructing and using generalized skeletons for animation models |
US6088042A (en) | 1997-03-31 | 2000-07-11 | Katrix, Inc. | Interactive motion data animation system |
US6535215B1 (en) * | 1999-08-06 | 2003-03-18 | Vcom3D, Incorporated | Method for animating 3-D computer generated characters |
US6738065B1 (en) | 1999-08-10 | 2004-05-18 | Oshri Even-Zohar | Customizable animation system |
JP3568861B2 (ja) * | 2000-01-27 | 2004-09-22 | 株式会社スクウェア・エニックス | ビデオゲームにおける三次元オブジェクト変形方法及びビデオゲーム装置、並びにビデオゲーム用のプログラムを記録したコンピュータ読み取り可能な記録媒体 |
JP2002319036A (ja) | 2001-02-13 | 2002-10-31 | Sega Corp | アニメーション生成プログラム |
US20050278157A1 (en) * | 2004-06-15 | 2005-12-15 | Electronic Data Systems Corporation | System and method for simulating human movement using profile paths |
US8014565B2 (en) | 2005-08-26 | 2011-09-06 | Sony Corporation | Labeling used in motion capture |
US7872653B2 (en) | 2007-06-18 | 2011-01-18 | Microsoft Corporation | Mesh puppetry |
US9001132B1 (en) | 2010-12-22 | 2015-04-07 | Lucasfilm Entertainment Company Ltd. | Constraint scenarios for retargeting actor motion |
JP5602043B2 (ja) | 2011-02-08 | 2014-10-08 | 株式会社セルシス | 骨格モデルの関節角度の曲がりにくさの制御装置,方法,及びプログラム |
JP5490080B2 (ja) * | 2011-12-06 | 2014-05-14 | 株式会社セルシス | スケルトンモデルの姿勢制御方法,及びプログラム |
GB2523560B (en) | 2014-02-27 | 2016-08-31 | Naturalmotion Ltd | Defining an animation of a virtual object within a virtual world |
JP6424050B2 (ja) | 2014-09-22 | 2018-11-14 | 日本放送協会 | 多関節骨格モデル処理装置及びプログラム |
US9959655B2 (en) | 2015-04-17 | 2018-05-01 | Autodesk, Inc. | Segmented full body inverse kinematics |
US9911219B2 (en) * | 2015-05-13 | 2018-03-06 | Intel Corporation | Detection, tracking, and pose estimation of an articulated body |
US10621384B2 (en) | 2015-12-09 | 2020-04-14 | Dassault Systemes Americas Corp. | Method and system of constraint-based optimization of digital human upper limb models |
GB2546817B (en) | 2016-02-01 | 2018-10-24 | Naturalmotion Ltd | Animating a virtual object in a virtual world |
EP3324365A1 (en) | 2016-11-22 | 2018-05-23 | Dassault Systèmes | Computer-implemented method for simulating a body taking a posture, in particular to look at a target |
-
2016
- 2016-11-22 EP EP16306533.7A patent/EP3324366A1/en active Pending
-
2017
- 2017-11-14 US US15/812,789 patent/US10482647B2/en active Active
- 2017-11-21 CN CN201711162800.3A patent/CN108090951B/zh active Active
- 2017-11-22 JP JP2017224926A patent/JP7278026B2/ja active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6191798B1 (en) * | 1997-03-31 | 2001-02-20 | Katrix, Inc. | Limb coordination system for interactive computer animation of articulated characters |
WO2013123306A1 (en) * | 2012-02-16 | 2013-08-22 | Brown University | System and method for simulating realistic clothing |
CN105678838A (zh) * | 2014-12-05 | 2016-06-15 | 达索系统公司 | 用于设计具有至少一件服装的化身的计算机实现的方法 |
Non-Patent Citations (1)
Title |
---|
基于运动捕获数据的目标导向运动合成;石荣;《计算机应用与软件》;20120715(第07期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
US20180144533A1 (en) | 2018-05-24 |
JP7278026B2 (ja) | 2023-05-19 |
JP2018092623A (ja) | 2018-06-14 |
US10482647B2 (en) | 2019-11-19 |
CN108090951A (zh) | 2018-05-29 |
EP3324366A1 (en) | 2018-05-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108090951B (zh) | 用于模拟采取姿势的身体的计算机实现的方法 | |
CN108090247B (zh) | 用于模拟采取姿势特别是用于看目标的姿势的身体的计算机实现的方法 | |
US20160163103A1 (en) | Computer-implemented method for designing an avatar with at least one garment | |
WO2005124604A1 (en) | System and method for simulating human movement using profile paths | |
CN105389412B (zh) | 顺序更新的执行 | |
JP7241462B2 (ja) | 3次元シーンにおけるオブジェクトの高速操作 | |
JP6924018B2 (ja) | 三次元シーンにおいてポリラインを描画するためのコンピュータ実装方法 | |
JP6892256B2 (ja) | 制約される非対称的細分割メッシュの修正 | |
EP3118725A1 (en) | Walk simulation system and method | |
JP4267508B2 (ja) | 仮想ダミーの人間工学的動きの最適化 | |
GB2546817A (en) | Animating a virtual object in a virtual world | |
GB2546814A (en) | Animating a virtual object in a virtual world | |
US10410393B2 (en) | Animating a virtual object in a virtual world | |
US11410402B2 (en) | Computer-implemented method for making a skeleton of a modeled body take a posture | |
US10032304B1 (en) | Automatic creation of temporary rigid relationships between moving parts in motion simulation | |
EP3200160B1 (en) | Computer implemented method for designing a three-dimensional modeled object comprising a curve and a point placed on the curve | |
TWI819989B (zh) | 三維物件的建模裝置及建模方法 | |
CN113129414A (zh) | 手部动作修复方法、装置、设备及存储介质 | |
KR101197969B1 (ko) | 프로파일 경로들을 이용하여 인간의 동작을 시뮬레이팅하는시스템 및 방법 | |
CN116485954A (zh) | 虚拟骨骼的修型方法和装置、存储介质及电子设备 | |
Skublewska-Paszkowska | Comparison of arm animation | |
Ben Yahia et al. | Retracted: Wednesday, October 1, 2014 at 8: 01 pmed: Gestures in Sign Language: Animation and Generation in Real-Time |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |