CN114626293A - 预测碰撞仿真结果的方法、装置、设备及存储介质 - Google Patents

预测碰撞仿真结果的方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN114626293A
CN114626293A CN202210170947.1A CN202210170947A CN114626293A CN 114626293 A CN114626293 A CN 114626293A CN 202210170947 A CN202210170947 A CN 202210170947A CN 114626293 A CN114626293 A CN 114626293A
Authority
CN
China
Prior art keywords
sample
collision
information
dynamic information
time
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.)
Pending
Application number
CN202210170947.1A
Other languages
English (en)
Inventor
钱银玲
孙寅紫
王琼
王平安
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Institute of Advanced Technology of CAS
Original Assignee
Shenzhen Institute of Advanced Technology of CAS
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Institute of Advanced Technology of CAS filed Critical Shenzhen Institute of Advanced Technology of CAS
Priority to CN202210170947.1A priority Critical patent/CN114626293A/zh
Publication of CN114626293A publication Critical patent/CN114626293A/zh
Priority to PCT/CN2022/140060 priority patent/WO2023160162A1/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • G06F30/27Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Computer Hardware Design (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请适用于物理仿真技术领域,提供了预测碰撞仿真结果的方法、装置、设备及存储介质,包括:获取t时刻的可变形物体的第一动态信息;获取t+1时刻的碰撞物体的第二动态信息;将第一动态信息和第二动态信息输入到已训练的碰撞仿真模型中处理,得到t+1时刻的可变形物体的碰撞仿真结果;在训练过程中,确定样本训练集中样本可变形物体和样本碰撞物体之间的渗透距离,并根据渗透距离更新图神经网络的网络参数。上述方案中,采用碰撞仿真模型在处理可变形物体和碰撞物体的动态信息过程中,不会有可变形物体和碰撞物体相互渗透的情况出现,进而使得通过该碰撞仿真模型预测得到的碰撞仿真结果精度高,提升了仿真结果的准确性,提高了视觉逼真度。

Description

预测碰撞仿真结果的方法、装置、设备及存储介质
技术领域
本申请属于物理仿真技术领域,尤其涉及预测碰撞仿真结果的方法、装置、设备及存储介质。
背景技术
物理仿真也称实体仿真,是许多计算机图形学应用的重要组成部分。例如,碰撞仿真在计算机图形学、影视动画和虚拟现实等领域就有着广泛的应用。
最传统的仿真方法是数值计算方法,虽然通过数值计算方法可以产生物理上准确的仿真结果和视觉效果,但是这种计算方法太过于耗费时间,增大了仿真成本,且无法满足各个交互应用程序所需的性能。
近年来,随着机器学习的发展,深度仿真方法随之兴起,其主要是利用神经网络的能力快速学习非线性函数,并输出可变形物体的可微模型。然而,这种深度仿真方法还不成熟,处理过程中物体容易发生渗透现象,导致仿真精度低、仿真结果不准确、视觉逼真度差。
发明内容
有鉴于此,本申请实施例提供了预测碰撞仿真结果的方法、装置、设备及存储介质,以解决现有的深度仿真方法不成熟,处理过程中物体容易发生穿透现象,导致仿真精度低、仿真结果不准确、视觉逼真度差的问题。
本申请实施例的第一方面提供了一种预测碰撞仿真结果的方法,该方法包括:
获取t时刻的可变形物体的第一动态信息;t≥0且为整数;获取t+1时刻的碰撞物体的第二动态信息;将所述第一动态信息和所述第二动态信息输入到已训练的碰撞仿真模型中处理,得到t+1时刻的所述可变形物体的碰撞仿真结果;所述碰撞仿真模型是基于样本训练集对图神经网络进行训练得到的;在训练过程中,确定所述样本训练集中样本可变形物体和样本碰撞物体之间的渗透距离,并根据所述渗透距离更新所述图神经网络的网络参数。
第一方面提供的预测碰撞仿真结果的方法,由于碰撞仿真模型在训练过程中,计算了样本可变形物体和样本碰撞物体之间的渗透距离,并根据渗透距离更新图神经网络的网络参数,使得训练得到的碰撞仿真模型在实际使用过程中不会出现渗透现象。因此,采用该碰撞仿真模型在处理可变形物体和碰撞物体的动态信息过程中,不会有可变形物体和碰撞物体相互渗透的情况出现,进而使得通过该碰撞仿真模型预测得到的碰撞仿真结果精度高,提升了仿真结果的准确性,提高了视觉逼真度。且碰撞仿真模型是基于样本训练集对图神经网络进行训练得到的,对于消息传递、信息编码、数据表示等都可通过图神经网络有效地学习到,因此,基于图神经网络进行训练得到的碰撞仿真模型,在处理状态信息的过程中,可以提取到更多有效的信息,更好的进行消息传递,从而使预测到的碰撞仿真结果更真实、更准确。
可选地,在一种可能的实现方式中,所述获取t+1时刻的碰撞物体的第二动态信息,包括:获取初始时刻的所述碰撞物体的初始动态信息;根据所述初始动态信息预测所述第二动态信息。在该实现方式中,通过初始时刻的碰撞物体的初始动态信息预测t+1时刻的碰撞物体的第二动态信息,可以得到更准确地第二动态信息,有助于后续根据该第二动态信息预测出更准确地碰撞仿真结果。
可选地,在一种可能的实现方式中,所述碰撞仿真模型包括编码器、处理器以及解码器,所述将所述第一动态信息和所述第二动态信息输入到已训练的碰撞仿真模型中处理,得到t+1时刻的所述可变形物体的碰撞仿真结果,包括:将所述第一动态信息和所述第二动态信息输入到所述编码器中,并通过所述编码器将所述第一动态信息和所述第二动态信息编码为图信息;通过所述处理器更新所述图信息中的点信息和边信息;通过所述解码器对更新后的点信息和边信息进行转换,得到t+1时刻的所述可变形物体的碰撞仿真结果。在该实现方式中,通过碰撞仿真模型中的编码器、处理器以及解码器对第一动态信息和第二动态信息进行处理,可以提取到完整的点、边、面信息,以及提取到隐变量空间信息,利用处理器进行更好的消息传递,有效避免渗透现象发生,从而使预测到的碰撞仿真结果更真实、更准确。
可选地,在一种可能的实现方式中,所述将所述第一动态信息和所述第二动态信息输入到已训练的碰撞仿真模型中处理,得到t+1时刻的所述可变形物体的碰撞仿真结果之前,所述方法还包括:在所述样本训练集中获取t时刻的样本可变形物体的第一样本动态信息;在所述样本训练集中获取t+1时刻的样本碰撞物体的第二样本动态信息;将所述第一样本动态信息和所述第二样本动态信息输入到所述图神经网络中处理,得到t+1时刻的所述样本可变形物体的样本碰撞仿真结果;所述图神经网络包括递归回归模块;基于所述第二样本动态信息、所述样本碰撞仿真结果以及所述递归回归模块,确定所述样本可变形物体与所述样本碰撞物体之间的渗透距离;根据预设损失函数和所述渗透距离确定损失值;当检测到所述损失值不满足预设条件时,更新所述图神经网络的网络参数,并继续训练所述图神经网络。
可选地,在一种可能的实现方式中,所述根据预设损失函数和所述渗透距离确定损失值之后,所述方法还包括:当检测到所述损失值满足所述预设条件时,停止训练所述图神经网络,并将训练后的所述图神经网络确定为所述碰撞仿真模型。
在该实现方式中,现有技术中,为了避免相互渗透,需要手动设置一个相对较大的训练数据生成的碰撞阈值,然而该碰撞阈值非常难以确定,导致训练模型的速度慢、成本高。而本申请中通过递归回归模块计算不同情况下的渗透距离,基于渗透距离反向调节图神经网络的网络参数,在少量训练数据的情况下,就可得到无渗透现象的碰撞仿真模型。提升了训练碰撞仿真模型的速度,节省了训练成本,提升了碰撞仿真模型处理结果的精确度,保证了高仿真效率和质量。
同时使训练好的碰撞仿真模型在真实性和实时性方面均有提高,即一方面可以准确地表现出物体特性,一方面可以加快运算能力。
可选地,在一种可能的实现方式中,所述基于所述第二样本动态信息、所述样本碰撞仿真结果以及所述递归回归模块,确定所述样本可变形物体与所述样本碰撞物体之间的渗透距离,包括:在所述第二样本动态信息中提取所述样本碰撞物体对应的第一点边面信息;在所述样本碰撞仿真结果中提取所述样本可变形物体对应的第二点边面信息;利用所述递归回归模块对所述第一点边面信息和所述第二点边面信息进行处理,得到t+1时刻的所述样本可变形物体与t+1时刻的所述样本碰撞物体之间的渗透距离。在该实现方式中,利用递归回归模块,通过不同的方式计算渗透距离,可以多方位地模拟出会出现渗透现象的各种情况,从而有效规避这些情况,使最终训练得到的碰撞仿真模型有效避免渗透现象出现。
可选地,在一种可能的实现方式中,所述方法还包括:获取预设的自监督函数;根据所述自监督函数调整所述图神经网络的网络参数。在该实现方式中,通过自监督函数调整图网络模型的网络参数,能够使训练好的碰撞仿真模型实现对隐空间进行采样,可有效解决样本训练集不平衡、不充分时,所导致的训练效果不佳的问题,可提供更多信息紧凑的碰撞响应,进而更有效地避免渗透现象。
本申请实施例的第二方面提供了一种预测碰撞仿真结果的装置,包括:
第一获取单元,用于获取t时刻的可变形物体的第一动态信息;t≥0且为整数;
第二获取单元,用于获取t+1时刻的碰撞物体的第二动态信息;
处理单元,用于将所述第一动态信息和所述第二动态信息输入到已训练的碰撞仿真模型中处理,得到t+1时刻的所述可变形物体的碰撞仿真结果;所述碰撞仿真模型是基于样本训练集对图神经网络进行训练得到的;在训练过程中,确定所述样本训练集中样本可变形物体和样本碰撞物体之间的渗透距离,并根据所述渗透距离更新所述图神经网络的网络参数。
本申请实施例的第三方面提供了一种预测碰撞仿真结果的设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如上述第一方面所述的预测碰撞仿真结果的方法的步骤。
本申请实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述第一方面所述的预测碰撞仿真结果的方法的步骤。
本申请实施例的第五方面提供了一种计算机程序产品,当计算机程序产品在预测碰撞仿真结果的设备上运行时,使得该预测碰撞仿真结果的设备执行上述第一方面所述的预测碰撞仿真结果的方法的步骤。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请提供的渗透现象示意图;
图2是本申请一示例性实施例提供的预测碰撞仿真结果的方法的示意性流程图;
图3是本申请示出的矩阵运算示意图;
图4是本申请另一示例性实施例示出的一种预测碰撞仿真结果的方法的步骤S103的具体流程图;
图5是本申请提供的编码器处理过程示意图;
图6是本申请提供的处理器处理过程示意图;
图7是本申请再一示例性实施例示出的训练碰撞仿真模型的方法的具体流程图;
图8是本申请示出的一种计算渗透距离的方式的示意图;
图9是本申请示出的另一种计算渗透距离的方式的示意图;
图10是本申请示出的碰撞仿真结果对比图;
图11是本申请一实施例提供的一种预测碰撞仿真结果的装置的示意图;
图12是本申请另一实施例提供的预测碰撞仿真结果的设备的示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,在本申请实施例的描述中,“多个”是指两个或多于两个。
以下,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
为更好地理解本申请实施例,以下对实施例中可能涉及的术语或概念进行介绍。
1.图神经网络(Graph Neural Networks,GNN)
是一种基于图结构的深度学习方法。从定义中可以看出图神经网络主要由两部分组成,即“图”和“神经网络”。这里的“图”是图论中的图数据结构,“神经网络”是深度学习神经网络结构。
2.碰撞仿真
模拟碰撞物体与可变形物体的碰撞结果。
物理仿真也称实体仿真,一般仿真的过程是以物理性质和几何形状相似为基础,其他性质不变的仿真。物理仿真是许多计算机图形学应用的重要组成部分。例如,碰撞仿真在计算机图形学、影视动画和虚拟现实等领域就有着广泛的应用。
最传统的仿真方法是数值计算方法,虽然通过数值计算方法可以产生物理上准确的仿真结果和视觉效果,但是这种计算方法太过于耗费时间,增大了仿真成本,且无法满足各个交互应用程序所需的性能。
近年来,随着机器学习的发展,深度仿真方法随之兴起,其主要是利用神经网络的能力快速学习非线性函数,并输出可变形物体的可微模型。然而,这种深度仿真方法还不成熟,在处理冲突的检测和响应方面都比较薄弱,在处理过程中,碰撞物体与可变形物体容易发生相互渗透现象,导致仿真精度低、仿真结果不准确、视觉逼真度差。
请参见图1,图1是本申请提供的渗透现象示意图。
如图1所示,图1中的球表示碰撞物体,与球接触的物体为可变形物体。图1左边为理想化碰撞仿真结果,图1右边为通过现有技术中的深度仿真方法得到的碰撞仿真结果。对比图1左边中间用方框框起来的部分和图1右边中间用方框框起来的部分,可明显看出,右边球与可变形物体发生了相互渗透现象,即右边图中出现了用方框框起来的深色部分。
例如,球与布料的碰撞时,真实碰撞结果中球并不会穿透布料。当我们模拟球与布料的碰撞结果时,如果出现了渗透现象,对后续的模拟会产生不可逆的影响,且此时的模拟结果精度低、不准确、视觉逼真度差。
有鉴于此,本申请实施例提供了一种预测碰撞仿真结果的方法,获取t时刻的可变形物体的第一动态信息;t≥0且为整数;获取t+1时刻的碰撞物体的第二动态信息;将第一动态信息和第二动态信息输入到已训练的碰撞仿真模型中处理,得到t+1时刻的可变形物体的碰撞仿真结果;碰撞仿真模型是基于样本训练集对图神经网络进行训练得到的;在训练过程中,确定样本训练集中样本可变形物体和样本碰撞物体之间的渗透距离,并根据渗透距离更新图神经网络的网络参数。上述实现方式中,由于碰撞仿真模型在训练过程中,计算了样本可变形物体和样本碰撞物体之间的渗透距离,并根据渗透距离更新图神经网络的网络参数,使得训练得到的碰撞仿真模型在实际使用过程中不会出现渗透现象。因此,采用该碰撞仿真模型在处理可变形物体和碰撞物体的动态信息过程中,不会有可变形物体和碰撞物体相互渗透的情况出现,进而使得通过该碰撞仿真模型预测得到的碰撞仿真结果精度高,提升了仿真结果的准确性,提高了视觉逼真度。
且碰撞仿真模型是基于样本训练集对图神经网络进行训练得到的,对于消息传递、信息编码、数据表示等都可通过图神经网络有效地学习到,因此,基于图神经网络进行训练得到的碰撞仿真模型,在处理状态信息的过程中,可以提取到更多有效的信息,更好的进行消息传递,从而使预测到的碰撞仿真结果更真实、更准确。
请参见图2,图2是本申请一示例性实施例提供的预测碰撞仿真结果的方法的示意性流程图。本申请提供的预测碰撞仿真结果的方法的执行主体为预测碰撞仿真结果的设备,其中,该预测碰撞仿真结果的设备包括但不限于车载电脑、平板电脑、计算机、个人数字助理(Personal Digital Assistant,PDA)、可穿戴设备等,还可以包括各种类型的服务器。例如,服务器可以是独立的服务器,也可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content DeliveryNetwork,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务。
如图2所示的预测碰撞仿真结果的方法可包括:S101~S103,具体如下:
S101:获取t时刻的可变形物体的第一动态信息。
可变形物体,顾名思义,可发生形变的物体。例如,可变形物体可以为布料、塑料等。此处仅为示例性说明,对此不做限定。
第一动态信息可以包括可变形物体的位置信息、姿态信息、运动信息、速度信息、形变信息等。其中,运动信息可以包括可变形物体的运动方向、运动趋势、运动轨迹等。速度信息可以包括可变形物体的加速度、角速度、线速度等。
第一动态信息还可以包括可变形物体的第一点信息、第一边信息、第一面信息。例如,在进行碰撞仿真实验时,当可变形物体与碰撞物体接触时,会产生接触点、接触边、接触面等,第一点信息为可变形物体上的接触点对应的信息,第一边信息为可变形物体上的接触边对应的信息,第一面信息为可变形物体上的接触面对应的信息。
可选地,在可变形物体与碰撞物体发生碰撞的过程中,会出现可变形物体与碰撞物体未接触的情况。此时,第一点信息可以为预测到的可变形物体将会与碰撞物体接触的点所对应的信息,第一边信息可以为预测到的可变形物体将会与碰撞物体接触的边所对应的信息,第一面信息可以为预测到的可变形物体将会与碰撞物体接触的面所对应的信息。此处仅为示例性说明,对此不做限定。
示例性地,t时刻的可变形物体的第一动态信息是已知的。例如,在进行碰撞仿真实验时,会通过设备记录已经发生的每一时刻的可变形物体的第一动态信息。如在数据库中预先存储t时刻的可变形物体的第一动态信息。其中,t≥0且为整数。当需要预测t+1时刻的可变形物体的碰撞仿真结果时,获取t时刻的可变形物体的第一动态信息。
例如,在接收到预测指令时,在数据库中获取t时刻的可变形物体的第一动态信息。其中,预测指令用于指示预测t+1时刻的可变形物体的碰撞仿真结果。预测指令可以由其他终端发送到本设备,也可以由用户在本设备中手动触发。此处仅为示例性说明,对此不做限定。
不同的时刻,可变形物体的第一动态信息可能相同,也可能不相同,以实际情况为准。
S102:获取t+1时刻的碰撞物体的第二动态信息。
在物理仿真领域,碰撞物体也称为工具,可以理解为在预测可变形物体的碰撞仿真结果的过程中用到的辅助工具。本实施例中,以碰撞物体为球为例进行说明。
第二动态信息可以包括碰撞物体的位置信息、姿态信息、运动信息、速度信息、形变信息等。其中,运动信息可以包括碰撞物体的运动方向、运动趋势、运动轨迹等。速度信息可以包括碰撞物体的加速度、角速度、线速度等。
第二动态信息还可以包括碰撞物体的第二点信息、第二边信息、第二面信息。例如,当碰撞物体与可变形物体接触时,会产生接触点、接触边、接触面等,第二点信息为碰撞物体上的接触点对应的信息,第二边信息为碰撞物体上的接触边对应的信息,第二面信息为碰撞物体上的接触面对应的信息。
可选地,在碰撞物体与可变形物体发生碰撞的过程中,会出现碰撞物体与可变形物体未接触的情况。此时,第二点信息可以为预测到的碰撞物体将会与可变形物体接触的点所对应的信息,第二边信息可以为预测到的碰撞物体将会与可变形物体接触的边所对应的信息,第二面信息可以为预测到的碰撞物体将会与可变形物体接触的面所对应的信息。此处仅为示例性说明,对此不做限定。
示例性地,t时刻的碰撞物体的动态信息是已知的。例如,在进行碰撞仿真实验时,会通过设备记录已经发生的每一时刻的碰撞物体的动态信息。如在数据库中预先存储有t时刻的碰撞物体的动态信息。当需要预测t+1时刻的可变形物体的碰撞仿真结果时,获取t时刻的碰撞物体的动态信息。根据t时刻的碰撞物体的动态信息,预测t+1时刻的碰撞物体的第二动态信息。
例如,利用现有的模拟器模拟t+1时刻的碰撞物体的第二动态信息。具体地,将t时刻的碰撞物体的位置信息、姿态信息、运动信息、速度信息、形变信息、点信息、边信息、面信息等输入模拟器中,输出碰撞物体在t+1时刻的碰撞物体的第二动态信息。此处仅为示例性说明,对此不做限定。
可选地,在一种可能的实现方式中,还可以是获取初始时刻的碰撞物体的初始动态信息,根据初始动态信息预测t+1时刻的碰撞物体的第二动态信息。
S103:将第一动态信息和第二动态信息输入到已训练的碰撞仿真模型中处理,得到t+1时刻的可变形物体的碰撞仿真结果。
示例性地,碰撞仿真模型是基于样本训练集对图神经网络进行训练得到的。样本训练集中包括不同时刻的样本可变形物体对应的第一样本动态信息,以及不同时刻的样本碰撞物体对应的第二样本动态信息。例如,样本训练集中包括t时刻的样本可变形物体的第一样本动态信息、t+1时刻的样本可变形物体的第一样本动态信息、t时刻的样本碰撞物体的第二样本动态信息、t+1时刻的样本碰撞物体的第二样本动态信息等。其中,t≥0且为整数。
值得说明的是,第一样本动态信息中包含的具体信息类型,与第一动态信息中包含的具体信息类型相同。即第一样本动态信息可以包括样本可变形物体的位置信息、姿态信息、运动信息、速度信息、形变信息等,还可以包括样本可变形物体的点信息、边信息、面信息等。具体参考S101中的描述,此处不再赘述。
同理,第二样本动态信息中包含的具体信息类型,与第二动态信息中包含的具体信息类型相同,可参考S102中的描述,此处不再赘述。
在本实施例中,预测碰撞仿真结果的设备中预先存储有预先训练好的碰撞仿真模型。该碰撞仿真模型是基于样本训练集对图神经网络进行训练得到的。在训练过程中,确定样本训练集中样本可变形物体和样本碰撞物体之间的渗透距离,并根据渗透距离更新图神经网络的网络参数。
例如,在训练过程中,计算样本训练集中样本可变形物体和样本碰撞物体之间的渗透距离,当渗透距离大于0时,证明当前模型还未训练好,调整图神经网络的网络参数,并根据调整网络参数后的图神经网络对样本训练集继续训练。当渗透距离小于或等于0时,证明当前模型已训练好,固定当前图神经网络的网络参数,并将固定网络参数后的图神经网络作为训练好的碰撞仿真模型。
可以理解的是,碰撞仿真模型可以由预测碰撞仿真结果的设备预先训练好,也可以由其他设备预先训练好后将碰撞仿真模型对应的文件移植至预测碰撞仿真结果的设备中。也就是说,训练该碰撞仿真模型的执行主体与使用该碰撞仿真模型进行碰撞仿真结果预测的执行主体可以是相同的,也可以是不同的。例如,当采用其他设备训练碰撞仿真模型时,其他设备对碰撞仿真模型结束训练后,固定碰撞仿真模型的网络参数,得到训练好的碰撞仿真模型对应的文件。然后将该文件移植到预测碰撞仿真结果的设备中。
将t时刻的可变形物体的第一动态信息,和t+1时刻的碰撞物体的第二动态信息输入到已训练的碰撞仿真模型中处理,得到t+1时刻的可变形物体的碰撞仿真结果。可以根据实际需求调整t的值,从而得到不同时刻可变形物体的碰撞仿真结果。也就是说,利用不同时刻的可变形物体的第一动态信息、与不同时刻相邻的下一时刻的碰撞物体的第二动态信息,以及已训练的碰撞仿真模型,可以预测得到任意时刻的可变形物体的碰撞仿真结果。
碰撞仿真结果可以包括t+1时刻的可变形物体的运动状态,具体包含的信息与第一动态信息类似。例如,碰撞仿真结果可以包括t+1时刻的可变形物体的位置信息、姿态信息、运动信息、速度信息、形变信息等。其中,运动信息可以包括可变形物体的运动方向、运动趋势、运动轨迹等。速度信息可以包括t+1时刻的可变形物体的加速度、角速度、线速度等。碰撞仿真结果还可以包括t+1时刻的可变形物体的点信息、边信息、面信息等。碰撞仿真结果还可以包括t+1时刻的可变形物体的图像。
上述实现方式中,由于碰撞仿真模型在训练过程中,计算了样本可变形物体和样本碰撞物体之间的渗透距离,并根据渗透距离更新图神经网络的网络参数,使得训练得到的碰撞仿真模型在实际使用过程中不会出现渗透现象。因此,采用该碰撞仿真模型在处理可变形物体和碰撞物体的动态信息过程中,不会有可变形物体和碰撞物体相互渗透的情况出现,进而使得通过该碰撞仿真模型预测得到的碰撞仿真结果精度高,提升了仿真结果的准确性,提高了视觉逼真度。实现了在减少相互渗透的伪影下,同时保证了高仿真效率。
且碰撞仿真模型是基于样本训练集对图神经网络进行训练得到的,对于消息传递、信息编码、数据表示等都可通过图神经网络有效地学习到,因此,基于图神经网络进行训练得到的碰撞仿真模型,在处理状态信息的过程中,可以提取到更多有效的信息,更好的进行消息传递,从而使预测到的碰撞仿真结果更真实、更准确。
可选地,在本申请一些可能的实现方式中,上述S102可以包括S1021~S1022,具体如下:
S1021:获取初始时刻的碰撞物体的初始动态信息。
初始动态信息中包含的具体信息类型,与第二动态信息中包含的具体信息类型相同,即初始动态信息可以包括碰撞物体的位置信息、姿态信息、运动信息、速度信息、形变信息等,还可以包括碰撞物体的点信息、边信息、面信息等。具体可参考上面描述,此处不再赘述。
初始时刻指该碰撞物体在进行碰撞仿真实验时,最开始的时刻。在进行碰撞仿真实验时,会通过设备记录已经发生的每一时刻碰撞物体的动态信息,并将记录的信息存储到数据库中。当需要确定t+1时刻的碰撞物体的第二动态信息时,在数据库中获取初始时刻的碰撞物体的初始动态信息。
值得说明的是,碰撞仿真模型是以图神经网络为基础进行训练得到的,图神经网络善于对图数据结构的数据进行处理。为了提升碰撞仿真模型的处理速度、仿真精度,在本实施方式中,初始动态信息以仿真网格的形式表现。
当初始动态信息以仿真网格的形式表现时,初始动态信息中包含节点信息和边信息,可以理解为此时初始动态信息由多个节点和多个边构成。每个节点用一个状态向量表示该节点的状态,该节点的状态由该节点的特征向量、邻居节点的特征向量、邻居节点的状态向量、与该节点相连的边的特征向量计算得到。
其中,特征向量可用于表示碰撞物体的位置信息、姿态信息、运动信息、速度信息、形变信息、点信息、边信息、面信息等。
S1022:根据初始动态信息预测第二动态信息。
示例性地,对初始动态信息进行矩阵运算,得到t+1时刻的碰撞物体的第二动态信息。
例如,在初始动态信息中获取节点信息和边信息。具体地,获取初始动态信息对应的仿真网格中的每个节点和每个边,以及获取节点的个数和边的个数,对获取到的节点和边进行矩阵运算,得到t+1时刻的碰撞物体的第二动态信息。
请参见图3,图3是本申请示出的矩阵运算示意图。
如图3所示,
Figure BDA0003517586950000111
表示初始时刻碰撞物体的初始动态信息,
Figure BDA0003517586950000112
表示t+1时刻的碰撞物体的第二动态信息。
Figure BDA0003517586950000113
分别表示初始时刻碰撞物体对应的节点,右上角的数字表示节点的个数,
Figure BDA0003517586950000114
分别表示初始时刻碰撞物体对应的边,右上角的数字表示边的个数。
按图中所示的方式对获取到
Figure BDA0003517586950000115
Figure BDA0003517586950000116
进行矩阵运算,得到t+1时刻的碰撞物体的第二动态信息。此处仅为示例性说明,对此不做限定。
上述实现方式中,通过初始时刻的碰撞物体的初始动态信息预测t+1时刻的碰撞物体的第二动态信息,可以得到更准确地第二动态信息,有助于后续根据该第二动态信息预测出更准确地碰撞仿真结果。
请参见图4,图4是本申请另一示例性实施例示出的一种预测碰撞仿真结果的方法的步骤S103的具体流程图;可选地,在本申请一些可能的实现方式中,上述S103可包括S1031~S1033,具体如下:
S1031:将第一动态信息和第二动态信息输入到编码器中,并通过编码器将第一动态信息和第二动态信息编码为图信息。
示例性地,碰撞仿真模型包括编码器(Encoder)、处理器(Processor)以及解码器(Decoder)。其中,编码器用于对输入的第一动态信息和第二动态信息进行编码。
值得说明的是,碰撞仿真模型是以图神经网络为基础进行训练得到的,图神经网络善于对图数据结构的数据进行处理。为了提升碰撞仿真模型的处理速度、仿真精度,在本实施方式中,第一动态信息和第二动态信息以仿真网格的形式表现。
以第一动态信息为例进行说明。第一动态信息以仿真网格的形式表现时,第一动态信息中包含节点信息和边信息,可以理解为此时第一动态信息由多个节点和多个边构成。每个节点用一个状态向量表示该节点的状态,该节点的状态由该节点的特征向量、邻居节点的特征向量、邻居节点的状态向量、与该节点相连的边的特征向量计算得到。
其中,特征向量可用于表示可变形物体的位置信息、姿态信息、运动信息、速度信息、形变信息、点信息、边信息、面信息等。第二动态信息同理,此处不再赘述。
为例便于理解,请参见图5,图5是本申请提供的编码器处理过程示意图。如图5所示,图5中浅色圆球表示可变形物体对应的网格节点(Deformable object mesh nodes),深色圆球表示碰撞物体对应的网格节点(Tool mesh nodes),浅色圆球与浅色圆球之间的线条表示可变形物体对应的网格边(Deformable object mesh edges),深色圆球与深色圆球之间的线条表示碰撞物体对应的网格边(Tool mesh edges),浅色圆球与深色圆球之间的线条表示碰撞物体对应的接触边缘(Tool object contact edges)。
通过编码器对输入的两种仿真网格进行编码,得到图信息。
示例性地,将第一动态信息和第二动态信息输入到编码器中。例如,输入的是一个仿真网格对:
Figure BDA0003517586950000121
其中,Mx t=(Vx,Ex),用于表示可变形物体在t时刻的模拟网格,点Vx被网格边Ex连接。
Figure BDA0003517586950000122
用于表示碰撞物体在t+1时刻的模拟网格,点Vy被网格边Ey连接。其中,Pt+1(pt+1,ot+1)表示碰撞物体在t+1时刻的位姿信息。例如,pt+1表示位置,ot+1表示旋转。
Figure BDA0003517586950000123
表示碰撞物体在t′时刻的基准网格信息。
通过pt+1
Figure BDA0003517586950000124
计算碰撞物体在t+1时刻的模拟网格
Figure BDA0003517586950000125
在此基础上,编码器将网格对:
Figure BDA0003517586950000126
编码为图神经网络的图信息:G=(V,E)。模拟网格中的点信息、边信息与图神经网络中的点信息、边信息分别对应。
S1032:通过处理器更新图信息中的点信息和边信息。
碰撞仿真模型中的处理器用于更新图信息中的点信息和边信息。
示例性地,该处理器包含L层消息传递块,每层消息传递块更新图信息中的边信息和点信息。
为例便于理解,请参见图6,图6是本申请提供的处理器处理过程示意图。
如图6所示,fE表示边缘消息传递块(Edge messages passing blocks),fV表示节点消息传递块(Node messages passing blocks),e′ij表示已更新的边缘消息(Passededge messages),v′i表示传递的节点消息(Passed node messages),vi表示点特征向量。
其中,fE和fV为两层的残差连接的多层感知机(Multilayer Perceptron,MLP),大小可以为128。
示例性地,在处理器中可通过e′ij←fE(eij,vi,vj)、
Figure BDA0003517586950000127
更新图信息中的点信息和边信息。
S1033:通过解码器对更新后的点信息和边信息进行转换,得到t+1时刻的可变形物体的碰撞仿真结果。
碰撞仿真模型中的解码器用于将隐变量空间信息转化为物理***中的动态信息。通俗理解为,通过解码器将更新后的点信息和边信息转换为t+1时刻的可变形物体的碰撞仿真结果。
示例性地,为了将隐变量空间信息转化为物理***中的动态信息,解码器使用两层的MLP去更新隐变量空间的动态信息。
具体地,将t时刻的隐空间的点特征向量vi转换为t时刻的动态信息ai
通过使用前馈欧拉积分计算t+1时刻的物理***的动态信息
Figure BDA0003517586950000131
Figure BDA0003517586950000132
得到t+1时刻的可变形物体的碰撞仿真结果。
上述实现方式中,通过碰撞仿真模型中的编码器、处理器以及解码器对第一动态信息和第二动态信息进行处理,可以提取到完整的点、边、面信息,以及提取到隐变量空间信息,利用处理器进行更好的消息传递,有效避免渗透现象发生,从而使预测到的碰撞仿真结果更真实、更准确。
请参见图7,图7是本申请再一示例性实施例示出的训练碰撞仿真模型的方法的具体流程图;可选地,在本申请一些可能的实现方式中,在执行如图1所示的方法之前,还可包括训练碰撞仿真模型的方法,训练碰撞仿真模型的方法可包括:S201~S206,具体如下:
S201:在样本训练集中获取t时刻的样本可变形物体的第一样本动态信息。
数据库中存储有预先采集的样本训练集。样本训练集中包括不同时刻的样本可变形物体对应的第一样本动态信息,以及不同时刻的样本碰撞物体对应的第二样本动态信息。
在训练碰撞仿真模型时,可根据实际需求直接在样本训练集中获取t时刻的样本可变形物体的第一样本动态信息。
S202:在样本训练集中获取t+1时刻的样本碰撞物体的第二样本动态信息。
示例性地,可直接在样本训练集中获取t+1时刻的样本碰撞物体的第二样本动态信息。也可在样本训练集中获取初始时刻的样本碰撞物体的初始样本动态信息,根据初始样本动态信息预测t+1时刻的样本碰撞物体的第二样本动态信息。具体的实现方式可参考S1021~S1022中的描述,此处不再赘述。
S203:将第一样本动态信息和第二样本动态信息输入到图神经网络中处理,得到t+1时刻的样本可变形物体的样本碰撞仿真结果;图神经网络包括递归回归模块。
示例性地,图神经网络的结构与训练好的碰撞仿真模型的结构类似,即图神经网络也包括编码器、处理器以及解码器。因此,通过图神经网络对第一样本动态信息和第二样本动态信息进行处理的过程,与碰撞仿真模型对第一动态信息和第二动态信息进行处理的过程类似,可参考S1031~S1033中的描述,此处不再赘述。
样本碰撞仿真结果具体包含的信息与碰撞仿真结果具体包含的信息类似,此处不再赘述。
值得说明的是,图神经网络中还包括递归回归模块。递归回归模块又称碰撞感知的递归回归(Collision aware recursive regression)模块。
递归回归模块用于计算t+1时刻的样本可变形物体与t+1时刻的样本碰撞物体之间的渗透距离,进而便于根据渗透距离调整训练中的图神经网络的网络参数,直至通过图神经网络输出的碰撞仿真结果不会出现渗透现象。
S204:基于第二样本动态信息、样本碰撞仿真结果以及递归回归模块,确定样本可变形物体与样本碰撞物体之间的渗透距离。
该递归回归模块主要包括两部分,均用于计算渗透距离。其中,一部分为顶点--面测试(Vertex-face test),另一部分为边-边测试(Edge-edge test)。即通过顶点--面测试计算渗透距离,以及通过边-边测试计算渗透距离。
样本可变形物体与样本碰撞物体碰撞时接触的地方不同,选择计算渗透距离的方式也不同。例如,样本可变形物体与样本碰撞物体碰撞时接触的地方为点和面时,则通过顶点--面测试的方式计算渗透距离。又例如,样本可变形物体与样本碰撞物体碰撞时接触的地方为边和边时,则通过边-边测试的方式计算渗透距离。再例如,样本可变形物体与样本碰撞物体碰撞时接触的地方为面和点时,则通过顶点--面测试的方式计算渗透距离。此处仅为示例性说明,对此不做限定。
可选地,在本申请一些可能的实现方式中,上述S204可以包括S2041~S2043,具体如下:
S2041:在第二样本动态信息中提取样本碰撞物体对应的第一点边面信息。
示例性地,第一点边面信息可以包括点信息、边信息、面信息中的任意一种。实际发生的碰撞不同,在第二样本动态信息中提取到的样本碰撞物体对应的第一点边面信息也不相同。
S2042:在样本碰撞仿真结果中提取样本可变形物体对应的第二点边面信息。
示例性地,第二点边面信息可以包括点信息、边信息、面信息中的任意一种。实际发生的碰撞不同,在样本碰撞仿真结果中提取到的样本可变形物体对应的第二点边面信息也不相同。
例如,样本可变形物体与样本碰撞物体碰撞时接触的地方为点和面时,提取样本可变形物体对应的点信息,提取样本碰撞物体对应的面信息。样本可变形物体与样本碰撞物体碰撞时接触的地方为边和边时,提取样本可变形物体对应的边信息,提取样本碰撞物体对应的边信息。
可选地,为了实现碰撞过程的多样性,从而保证训练结果的准确性,也可以随机提取样本碰撞物体的点信息、边信息、面信息中的任意一种,同时随机提取样本可变形物体的点信息、边信息、面信息中的任意一种。此处仅为示例性说明,对此不做限定。
S2043:利用递归回归模块对第一点边面信息和第二点边面信息进行处理,得到t+1时刻的样本可变形物体与t+1时刻的样本碰撞物体之间的渗透距离。
示例性地,当提取了样本可变形物体对应的点信息、样本碰撞物体对应的面信息,或当提取了样本碰撞物体对应的点信息、样本可变形物体对应的面信息时,通过顶点--面测试的方式计算渗透距离。
请参见图8,图8是本申请示出的一种计算渗透距离的方式的示意图。
如图8所示,以样本碰撞物体和样本可变形物体,从t=0时刻到t=1时刻之间的状态变化为例进行说明,实际训练模型的过程中,可以是任意时刻到与任意时刻相邻的下一时刻之间的状态变化。
Δa0b0c0表示t=0时刻的变形三角形,Δa1b1c1表示t=1时刻的变形三角形,p0表示t=0时刻的顶点,p1表示t=1时刻的顶点,n0、n1、nt表示法向量。
Tt表示t=0时刻到t=1时刻之间任意时刻的变形三角形,pt表示t=0时刻到t=1时刻之间任意时刻的顶点。可以理解为,由起始位置和结束位置定义区间[0,1],这些位置是线性的,变形三角形Tt和顶点pt是在这个区间内对时间变量t的插值。
可以通过检测共面性,确定渗透距离。当共面时,可以通过(pt-at)·nt计算渗透距离。这里的at表示t=0时刻到t=1时刻之间任意时刻的变形三角形。
例如,可以通过下述方式确定是否共面。
如果A、B、(2*C+F)/3、(2*D+E)/3这四个标量值是一样的符号,Tt和pt在间隔期间不会共面。具体如下:
A=(p0-a0)·n0,B=(p1-a1)·n1
Figure BDA0003517586950000151
E=(p0-a0)·n1,F=z(p1-a1)·n0
例如,当n0正交于Δa0b0c0,n1正交于Δa1b1c1时,n0与n1不共面,此时不会发生碰撞,也不会产生渗透距离。
示例性地,当提取样本可变形物体对应的边信息、样本碰撞物体对应的边信息时,通过边-边测试计算渗透距离。
请参见图9,图9是本申请示出的另一种计算渗透距离的方式的示意图。
如图9所示,以样本碰撞物体和样本可变形物体,从t=0时刻到t=1时刻之间的状态变化为例进行说明,实际训练模型的过程中,可以是任意时刻到与任意时刻相邻的下一时刻之间的状态变化。
u0、v0和k0、l0表示t=0时刻的两条边,u1、v1和k1、l1表示t=1时刻的两条边,nt表示法向量,ut、vt和kt、lt表示t=0时刻到t=1时刻之间任意时刻的两条边。
Figure BDA0003517586950000161
表示t=0时刻到t=1时刻之间任意时刻的两条变形边。可以理解为,由起始位置和结束位置定义区间[0,1],这些位置是线性的,
Figure BDA0003517586950000162
是在这个区间内对时间变量t的插值。
可以通过检测共面性,确定渗透距离。当共面时,可以通过(lt-kt)·nt计算渗透距离。
例如,可以通过下述方式确定是否共面。
如果A′、B′、(2*C′+F′)/3、(2*D′+E′)/3这四个标量值的符号相同,
Figure BDA0003517586950000164
Figure BDA0003517586950000165
不会共面。具体如下:
A′=(l0-k0)·n′0,B′=(l1-k1)·n′1
Figure BDA0003517586950000163
E′=(l0-k0)·n′1,F′=(l1-k1)·n′0
例如,当n′0正交于平面Δu0k0v0,n′1正交于平面Δu1k1v1时,n′0与n′1不共面,此时不会发生碰撞,也不会产生渗透距离。
在上述实现方式中,利用递归回归模块,通过不同的方式计算渗透距离,可以多方位地模拟出会出现渗透现象的各种情况,从而有效规避这些情况,使最终训练得到的碰撞仿真模型有效避免渗透现象出现。
可选地,为了提升确定渗透距离的速度,从而加快训练碰撞仿真模型的速度,可采用剔除策略剔除一些点。这些点为不会导致出现渗透现象的点。例如,预先设定一个SDF阈值e,对于SDF值大于e的点进行剔除。
S205:根据预设损失函数和渗透距离确定损失值。
示例性地,获取不同情况下计算得到的各个渗透距离,将各个渗透距离代入预设损失函数中,计算得到损失值。
预设损失函数可以包括:
ξVF=max(Dvf),
Figure BDA0003517586950000171
其中,
Figure BDA0003517586950000172
分别用于表示通过顶点--面测试计算得到的各个渗透距离。
预设损失函数还可以包括:
ξEE=max(Dee),
Figure BDA0003517586950000173
其中,
Figure BDA0003517586950000174
分别用于表示通过边--边测试计算得到的各个渗透距离。
S206:当检测到损失值不满足预设条件时,更新图神经网络的网络参数,并继续训练图神经网络。
预设条件可以是损失值小于或等于损失值阈值,也可以是损失值属于预设误差范围,但并不限于此,还可以根据实际情况进行设置,此处不做限制。
判断损失值是否满足预设条件。当损失值不满足预设条件时,执行S206;当损失值满足预设条件时,执行S207。
例如,假设预设条件为损失值小于或等于预设的损失值阈值。那么,当执行训练过程的设备(例如,预测碰撞仿真结果的设备,或者其他设备)在确认当前的损失值大于预设的损失值阈值时,判定当前的图神经网络输出的碰撞仿真结果中还存在渗透现象。此时,需要更新图神经网络的网络参数,之后返回S201,继续执行S201至S205,直到在S206中确定的损失值小于或等于预设的损失值阈值时,执行S207。
在更新图神经网络的网络参数时,可以先更新解码器中的网络参数(如权重值),解码器通过反向传递的方式改变处理器和编码器中的网络参数。此处仅为示例性说明,对此不做限定。
S207:当检测到损失值满足预设条件时,停止训练图神经网络,并将训练后的图神经网络确定为碰撞仿真模型。
例如,假设预设条件为损失值小于或等于预设的损失值阈值。那么,当执行训练过程的设备在确认当前的损失值小于或者等于预设的损失值阈值时,判定当前的图神经网络输出的碰撞仿真结果中不存在渗透现象,即判定当前的图神经网络的训练符合预期要求,停止训练图神经网络。固定当前图神经网络中的网络参数,将此时的图神经网络确定为训练好的碰撞仿真模型。
值得说明的是,在S205中提供了两种损失函数,可计算得到两种损失值,分别根据两种损失值调整图神经网络的网络参数,互不影响。当两种损失值分别满足各自对应的预设条件时,停止训练图神经网络,并将训练后的图神经网络确定为碰撞仿真模型。
现有技术中,为了避免相互渗透,需要手动设置一个相对较大的训练数据生成的碰撞阈值,然而该碰撞阈值非常难以确定,导致训练模型的速度慢、成本高。而本申请中通过递归回归模块计算不同情况下的渗透距离,基于渗透距离反向调节图神经网络的网络参数,在少量训练数据的情况下,就可得到无渗透现象的碰撞仿真模型。提升了训练碰撞仿真模型的速度,节省了训练成本,提升了碰撞仿真模型处理结果的精确度,保证了高仿真效率和质量。
同时使训练好的碰撞仿真模型在真实性和实时性方面均有提高,即一方面可以准确地表现出物体特性,一方面可以加快运算能力。
可选地,在一种可能的实现方式中,在训练碰撞仿真模型的过程中,还可包括:获取预设的自监督函数;根据自监督函数调整图神经网络的网络参数。
示例性地,可以预先设置自监督项,自监督项能够对隐空间进行采样,可有效解决样本训练集不平衡、不充分时,所导致的训练效果不佳的问题。
自监督项可以包括自监督函数,具体如下:
τcompact=ξRandomKL
Figure BDA0003517586950000181
该自监督函数服从正太分布,Δ表示无碰撞的约束阈值,SDF()表示符号距离场函数,D(z)表示解码器,Pt+1表示碰撞物体在t+1时刻的动态信息,τKL表示分布误差。
根据通过自监督函数计算得到的值,更新图神经网络的网络参数。例如,当该值大于预设值时,更新图神经网络的网络参数。在更新图神经网络的网络参数时,可以先更新解码器中的网络参数(如权重值),解码器通过反向传递的方式改变处理器和编码器中的网络参数。此处仅为示例性说明,对此不做限定。
当该值小于或等于预设值时,不再更新图神经网络中的网络参数。值得说明的是,根据上述S206中的损失值更新图神经网络中的网络参数,以及根据本实施例中的自监督函数更新图神经网络中的网络参数,两者互不影响。
因为根据上述S206中的损失值更新图神经网络中的网络参数,是为了使训练好的碰撞仿真模型不再出现渗透现象,而本实施例中的自监督函数更新图神经网络中的网络参数是为了使训练好的碰撞仿真模型有效地处理更多不同类型的碰撞。
示例性地,可在损失值小于或者等于预设的损失值阈值,且通过自监督函数计算得到的值小于或等于预设值时,将此时的图神经网络确定为训练好的碰撞仿真模型。此处仅为示例性说明,对此不做限定。
上述实现方式中,通过自监督函数调整图网络模型的网络参数,能够使训练好的碰撞仿真模型实现对隐空间进行采样,可有效解决样本训练集不平衡、不充分时,所导致的训练效果不佳的问题,可提供更多信息紧凑的碰撞响应,进而更有效地避免渗透现象。
为了更直观地感受到本申请提供的碰撞仿真模型,所输出的可变形物体的碰撞仿真结果仿真精度高、仿真结果准确、视觉逼真度好,请参见图10,图10是本申请示出的碰撞仿真结果对比图。
如图10所示,图10中第一行所展示的为真实的碰撞结果,第二行展示为通过现有技术中的方法得到的碰撞仿真结果,第三行为采用本申请中的碰撞仿真模型处理后得到的碰撞仿真结果。
可明显看出,第二行通过现有技术中的方法得到的碰撞仿真结果,球与可变形物体发生了相互渗透现象,即第二行左图以及右图中出现了用方框框起来的深色部分。
通过采用本申请中的碰撞仿真模型预测不同时刻的碰撞仿真结果,无论是点对面的碰撞、点对点的碰撞、边对面的碰撞、边对边的碰撞,还是面对面的碰撞,都可有效避免出现渗透现象,从而得到仿真精度高、仿真结果准确、视觉逼真度高的碰撞仿真结果。
请参见图11,图11是本申请一实施例提供的一种预测碰撞仿真结果的装置的示意图。该预测碰撞仿真结果的装置包括的各单元用于执行图2、图4、图7对应的实施例中的各步骤。具体请参阅图2、图4、图7各自对应的实施例中的相关描述。为了便于说明,仅示出了与本实施例相关的部分。参见图11,包括:
第一获取单元310,用于获取t时刻的可变形物体的第一动态信息;t≥0且为整数;
第二获取单元320,用于获取t+1时刻的碰撞物体的第二动态信息;
处理单元330,用于将所述第一动态信息和所述第二动态信息输入到已训练的碰撞仿真模型中处理,得到t+1时刻的所述可变形物体的碰撞仿真结果;所述碰撞仿真模型是基于样本训练集对图神经网络进行训练得到的;在训练过程中,确定所述样本训练集中样本可变形物体和样本碰撞物体之间的渗透距离,并根据所述渗透距离更新所述图神经网络的网络参数。
可选地,所述第二获取单元320具体用于:
获取初始时刻的所述碰撞物体的初始动态信息;
根据所述初始动态信息预测所述第二动态信息。
可选地,所处理单元330具体用于:
将所述第一动态信息和所述第二动态信息输入到所述编码器中,并通过所述编码器将所述第一动态信息和所述第二动态信息编码为图信息;
通过所述处理器更新所述图信息中的点信息和边信息;
通过所述解码器对更新后的点信息和边信息进行转换,得到t+1时刻的所述可变形物体的碰撞仿真结果。
可选地,所述装置还包括训练单元,所述训练单元用于:
在所述样本训练集中获取t时刻的样本可变形物体的第一样本动态信息;
在所述样本训练集中获取t+1时刻的样本碰撞物体的第二样本动态信息;
将所述第一样本动态信息和所述第二样本动态信息输入到所述图神经网络中处理,得到t+1时刻的所述样本可变形物体的样本碰撞仿真结果;所述图神经网络包括递归回归模块;
基于所述第二样本动态信息、所述样本碰撞仿真结果以及所述递归回归模块,确定所述样本可变形物体与所述样本碰撞物体之间的渗透距离;
根据预设损失函数和所述渗透距离确定损失值;
当检测到所述损失值不满足预设条件时,更新所述图神经网络的网络参数,并继续训练所述图神经网络。
可选地,所述所述训练单元还用于:
当检测到所述损失值满足所述预设条件时,停止训练所述图神经网络,并将训练后的所述图神经网络确定为所述碰撞仿真模型。
可选地,所述所述训练单元还用于:
在所述第二样本动态信息中提取所述样本碰撞物体对应的第一点边面信息;
在所述样本碰撞仿真结果中提取所述样本可变形物体对应的第二点边面信息;
利用所述递归回归模块对所述第一点边面信息和所述第二点边面信息进行处理,得到t+1时刻的所述样本可变形物体与t+1时刻的所述样本碰撞物体之间的渗透距离。
可选地,所述装置还包括:
第三获取单元,用于获取预设的自监督函数;
调整单元,用于根据所述自监督函数调整所述图神经网络的网络参数。
请参见图12,图12是本申请另一实施例提供的预测碰撞仿真结果的设备的示意图。如图12所示,该实施例的预测碰撞仿真结果的设备4包括:处理器40、存储器41以及存储在所述存储器41中并可在所述处理器40上运行的计算机程序42。所述处理器40执行所述计算机程序42时实现上述各个预测碰撞仿真结果的方法实施例中的步骤,例如图1所示的S101至S103。或者,所述处理器40执行所述计算机程序42时实现上述各实施例中各单元的功能,例如图11所示单元310至330功能。
示例性地,所述计算机程序42可以被分割成一个或多个单元,所述一个或者多个单元被存储在所述存储器41中,并由所述处理器40执行,以完成本申请。所述一个或多个单元可以是能够完成特定功能的一系列计算机指令段,该指令段用于描述所述计算机程序42在所述预测碰撞仿真结果的设备4中的执行过程。例如,所述计算机程序42可以被分割为第一获取单元、第二获取单元以及处理单元,各单元具体功能如上所述。
所述设备可包括,但不仅限于,处理器40、存储器41。本领域技术人员可以理解,图12仅仅是预测碰撞仿真结果的设备4的示例,并不构成对设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器40可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器41可以是所述设备的内部存储单元,例如设备的硬盘或内存。所述存储器41也可以是所述设备的外部存储终端,例如所述设备上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器41还可以既包括所述设备的内部存储单元也包括外部存储终端。所述存储器41用于存储所述计算机指令以及所述终端所需的其他程序和数据。所述存储器41还可以用于暂时地存储已经输出或者将要输出的数据。
本申请实施例还提供了一种计算机存储介质,计算机存储介质可以是非易失性,也可以是易失性,该计算机存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述各个预测碰撞仿真结果的方法实施例中的步骤。
本申请还提供了一种计算机程序产品,当计算机程序产品在设备上运行时,使得该设备执行上述各个预测碰撞仿真结果的方法实施例中的步骤。
本申请实施例还提供了一种芯片或者集成电路,该芯片或者集成电路包括:处理器,用于从存储器中调用并运行计算机程序,使得安装有该芯片或者集成电路的设备执行上述各个预测碰撞仿真结果的方法实施例中的步骤。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述***中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神范围,均应包含在本申请的保护范围之内。

Claims (10)

1.一种预测碰撞仿真结果的方法,其特征在于,包括:
获取t时刻的可变形物体的第一动态信息;t≥0且为整数;
获取t+1时刻的碰撞物体的第二动态信息;
将所述第一动态信息和所述第二动态信息输入到已训练的碰撞仿真模型中处理,得到t+1时刻的所述可变形物体的碰撞仿真结果;所述碰撞仿真模型是基于样本训练集对图神经网络进行训练得到的;在训练过程中,确定所述样本训练集中样本可变形物体和样本碰撞物体之间的渗透距离,并根据所述渗透距离更新所述图神经网络的网络参数。
2.如权利要求1所述的方法,其特征在于,所述获取t+1时刻的碰撞物体的第二动态信息,包括:
获取初始时刻的所述碰撞物体的初始动态信息;
根据所述初始动态信息预测所述第二动态信息。
3.如权利要求1所述的方法,其特征在于,所述碰撞仿真模型包括编码器、处理器以及解码器,所述将所述第一动态信息和所述第二动态信息输入到已训练的碰撞仿真模型中处理,得到t+1时刻的所述可变形物体的碰撞仿真结果,包括:
将所述第一动态信息和所述第二动态信息输入到所述编码器中,并通过所述编码器将所述第一动态信息和所述第二动态信息编码为图信息;
通过所述处理器更新所述图信息中的点信息和边信息;
通过所述解码器对更新后的点信息和边信息进行转换,得到t+1时刻的所述可变形物体的碰撞仿真结果。
4.如权利要求1至3任一项所述的方法,其特征在于,所述将所述第一动态信息和所述第二动态信息输入到已训练的碰撞仿真模型中处理,得到t+1时刻的所述可变形物体的碰撞仿真结果之前,所述方法还包括:
在所述样本训练集中获取t时刻的样本可变形物体的第一样本动态信息;
在所述样本训练集中获取t+1时刻的样本碰撞物体的第二样本动态信息;
将所述第一样本动态信息和所述第二样本动态信息输入到所述图神经网络中处理,得到t+1时刻的所述样本可变形物体的样本碰撞仿真结果;所述图神经网络包括递归回归模块;
基于所述第二样本动态信息、所述样本碰撞仿真结果以及所述递归回归模块,确定所述样本可变形物体与所述样本碰撞物体之间的渗透距离;
根据预设损失函数和所述渗透距离确定损失值;
当检测到所述损失值不满足预设条件时,更新所述图神经网络的网络参数,并继续训练所述图神经网络。
5.如权利要求4所述的方法,其特征在于,所述根据预设损失函数和所述渗透距离确定损失值之后,所述方法还包括:
当检测到所述损失值满足所述预设条件时,停止训练所述图神经网络,并将训练后的所述图神经网络确定为所述碰撞仿真模型。
6.如权利要求4所述的方法,其特征在于,所述基于所述第二样本动态信息、所述样本碰撞仿真结果以及所述递归回归模块,确定所述样本可变形物体与所述样本碰撞物体之间的渗透距离,包括:
在所述第二样本动态信息中提取所述样本碰撞物体对应的第一点边面信息;
在所述样本碰撞仿真结果中提取所述样本可变形物体对应的第二点边面信息;
利用所述递归回归模块对所述第一点边面信息和所述第二点边面信息进行处理,得到t+1时刻的所述样本可变形物体与t+1时刻的所述样本碰撞物体之间的渗透距离。
7.如权利要求4所述的方法,其特征在于,所述方法还包括:
获取预设的自监督函数;
根据所述自监督函数调整所述图神经网络的网络参数。
8.一种预测碰撞仿真结果的装置,其特征在于,包括:
第一获取单元,用于获取t时刻的可变形物体的第一动态信息;t≥0且为整数;
第二获取单元,用于获取t+1时刻的碰撞物体的第二动态信息;
处理单元,用于将所述第一动态信息和所述第二动态信息输入到已训练的碰撞仿真模型中处理,得到t+1时刻的所述可变形物体的碰撞仿真结果;所述碰撞仿真模型是基于样本训练集对图神经网络进行训练得到的;在训练过程中,确定所述样本训练集中样本可变形物体和样本碰撞物体之间的渗透距离,并根据所述渗透距离更新所述图神经网络的网络参数。
9.一种预测碰撞仿真结果的设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述的方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的方法。
CN202210170947.1A 2022-02-23 2022-02-23 预测碰撞仿真结果的方法、装置、设备及存储介质 Pending CN114626293A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202210170947.1A CN114626293A (zh) 2022-02-23 2022-02-23 预测碰撞仿真结果的方法、装置、设备及存储介质
PCT/CN2022/140060 WO2023160162A1 (zh) 2022-02-23 2022-12-19 预测碰撞仿真结果的方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210170947.1A CN114626293A (zh) 2022-02-23 2022-02-23 预测碰撞仿真结果的方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN114626293A true CN114626293A (zh) 2022-06-14

Family

ID=81899780

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210170947.1A Pending CN114626293A (zh) 2022-02-23 2022-02-23 预测碰撞仿真结果的方法、装置、设备及存储介质

Country Status (2)

Country Link
CN (1) CN114626293A (zh)
WO (1) WO2023160162A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114972366A (zh) * 2022-07-27 2022-08-30 山东大学 基于图网络的大脑皮层表面全自动分割方法及***
CN115952569A (zh) * 2023-03-14 2023-04-11 安世亚太科技股份有限公司 仿真方法、装置、电子设备及计算机可读存储介质
WO2023160162A1 (zh) * 2022-02-23 2023-08-31 中国科学院深圳先进技术研究院 预测碰撞仿真结果的方法、装置、设备及存储介质
CN118246294A (zh) * 2024-05-27 2024-06-25 浙江凌迪数字科技有限公司 布料仿真方法、装置、电子设备及存储介质

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118245136A (zh) * 2024-05-21 2024-06-25 北京天平地成信息技术服务有限公司 基于机器学习的vr物理引擎调优方法及***

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2868180B1 (fr) * 2004-03-24 2006-06-16 Commissariat Energie Atomique Procede et dispositif de simulation interactive du contact entre objets
CN111192367B (zh) * 2020-01-03 2021-01-15 北京中科深智科技有限公司 一种可变形对象碰撞变形实时模拟方法及装置
CN112417746B (zh) * 2020-11-18 2022-11-25 中北大学 一种基于神经网络预测碰撞检测的方法
CN112915542B (zh) * 2021-03-31 2022-07-22 腾讯科技(深圳)有限公司 一种碰撞数据处理方法、装置、计算机设备及存储介质
CN114626293A (zh) * 2022-02-23 2022-06-14 中国科学院深圳先进技术研究院 预测碰撞仿真结果的方法、装置、设备及存储介质

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023160162A1 (zh) * 2022-02-23 2023-08-31 中国科学院深圳先进技术研究院 预测碰撞仿真结果的方法、装置、设备及存储介质
CN114972366A (zh) * 2022-07-27 2022-08-30 山东大学 基于图网络的大脑皮层表面全自动分割方法及***
CN114972366B (zh) * 2022-07-27 2022-11-18 山东大学 基于图网络的大脑皮层表面全自动分割方法及***
CN115952569A (zh) * 2023-03-14 2023-04-11 安世亚太科技股份有限公司 仿真方法、装置、电子设备及计算机可读存储介质
CN118246294A (zh) * 2024-05-27 2024-06-25 浙江凌迪数字科技有限公司 布料仿真方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
WO2023160162A1 (zh) 2023-08-31

Similar Documents

Publication Publication Date Title
CN114626293A (zh) 预测碰撞仿真结果的方法、装置、设备及存储介质
CN110020620B (zh) 一种大姿态下的人脸识别方法、装置及设备
CN109359539B (zh) 注意力评估方法、装置、终端设备及计算机可读存储介质
JP6812086B2 (ja) 網状パターン除去システムのトレーニング方法、網状パターン除去方法、装置、機器及び媒体
CN111046027A (zh) 时间序列数据的缺失值填充方法和装置
CN112966742A (zh) 模型训练方法、目标检测方法、装置和电子设备
CN112085056B (zh) 目标检测模型生成方法、装置、设备及存储介质
CN112668716A (zh) 一种神经网络模型的训练方法及设备
CN111985414B (zh) 一种关节点位置确定方法及装置
CN110807379A (zh) 一种语义识别方法、装置、以及计算机存储介质
CN111185909B (zh) 机器人运行工况获取方法、装置、机器人及存储介质
JP2023022831A (ja) コンピュータシステム、コンピュータ実装方法、プログラム、及びコンピュータ実装システム(学習因果関係)
CN108520532B (zh) 识别视频中物体运动方向的方法及装置
CN113887708A (zh) 基于平均场的多智能体学习方法、存储介质及电子设备
CN110765843A (zh) 人脸验证方法、装置、计算机设备及存储介质
CN107612737B (zh) 一种告警方法及其装置
CN117785677A (zh) 一种屏幕灵敏度的滑动测试方法、移动终端及存储介质
CN110728351A (zh) 数据处理方法、相关设备及计算机存储介质
CN111798518A (zh) 机械臂姿态检测方法、装置和设备及计算机存储介质
CN114820755B (zh) 一种深度图估计方法及***
CN113139490B (zh) 一种图像特征匹配方法、装置、计算机设备及存储介质
CN111461091B (zh) 万能指纹生成方法和装置、存储介质及电子装置
CN113886547A (zh) 基于人工智能的客户实时对话转接方法、装置和电子设备
CN112242959B (zh) 微服务限流控制方法、装置、设备及计算机存储介质
CN113961962A (zh) 一种基于隐私保护的模型训练方法、***及计算机设备

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