一种全身姿态还原方法及系统与流程

专利2022-05-09  134


本申请涉及空间定位与动作捕捉领域,尤其涉及全身姿态还原方法及系统。



背景技术:

近年来,随着虚拟现实(virtualreality,vr),增强现实(augmentedreality,ar),混合现实(mixedreality,mr)和xr(xreality,x表示一个未知变量)等技术的迅速发展,可以实现虚拟现实(vr)、增强现实(ar)、混合现实(mr)、xr等不同场景。目前,随着虚拟现实、人机交互、网络通信等技术高速发展,为满足多领域积极推进虚实结合训练模式,加速探索安全、高效、贴近真实的训练解决方案,努力打造环境逼真、沉浸感强、操作直观的沉浸式虚拟仿真训练系统,关键在于实现大空间内多人精准定位与动作捕捉技术。

现有主流的空间定位及动作捕捉技术包含两大类:光学定位及动作捕捉(含红外定位、激光定位等)和惯性动作捕捉,已被广泛应用于影视动画、教育培训、体育运动等领域。在大空间动作捕捉中,往往只能采集到几个关键点的数据(头部、脚踝、手腕等),根据少数的几个关键点的数据来还原整个人体的姿态。然而,在还原过程中,需要进一步考虑到还原出来的姿态是否符合人体工程学。

因此,期望提供一种全身姿态还原方法及系统,通过采集关键点的数据,还原整个人体的姿态,并实现符合人体工程学的还原过程。



技术实现要素:

根据本申请的一些实施例的第一方面,提供了一种全身姿态还原方法,应用于终端(例如,电子设备等)中,所述方法可以包括:初始化全身姿态的数据;获取末端位置及其对应的目标点位置的距离和方向,所述末端包括第一末端至第四末端,所述目标点包括第一目标点至第四目标点;根据所述末端位置及其对应的目标点位置的距离,计算第一部分和第二部分的偏移量及重心位置;根据权重融合第一部分和第二部分,得到全身的躯干及第一重心位置;获取第三部分及其重心位置;更新得到最终重心位置;根据最终重心位置、第一部分位置和第二部分位置,还原全身的脊椎;计算第一部分和第二部分的四肢位置以及第三部分的朝向,还原全身姿态。

在一些实施例中,所述更新得到最终重心位置具体包括根据第三部分及其重心位置,更新至第二重心位置;获取第二重心位置处的关节及其目标点位置,并根据权重融合更新得到最终重心位置。

在一些实施例中,所述初始化全身姿态的数据包括初始化多个目标点位置,所述多个目标点包括第一末端至第四末端的四个目标点,第三部分的目标点,第二重心位置处关节的目标点;初始化骨骼姿态数据;初始化多类调节参数数据。

在一些实施例中,所述根据所述末端位置及其对应的目标点位置的距离,计算第一部分和第二部分的偏移量及重心位置具体包括根据第一末端及第一目标点位置的距离,以及第二末端及第二目标点位置的距离,计算第一部分的偏移量及重心位置;根据第三末端及第三目标点位置的距离,以及第四末端及第四目标点位置的距离,计算第二部分的偏移量及重心位置。

在一些实施例中,所述获取末端位置及其对应的目标点位置的距离和方向具体包括根据第i末端点及第i目标点,得到第i末端点至第i目标点方向的第i向量,其中i为1至4的整数;计算第i向量长度;获取第i四肢长度,得到第i四肢长度和第i向量长度的第i差值。

在一些实施例中,当所述第i差值不为零,所述计算第一部分和第二部分的偏移量及重心位置具体包括当第一末端对应的第一始端移动时或当第二末端对应的第二始端移动时,分别计算第一空间数据和第二空间数据;当第三末端对应的第三始端移动时或当第四末端对应的第四始端移动时,分别计算第三空间数据和第四空间数据;根据第一空间数据和第二空间数据,根据权重融合得到第一部分的偏移量及重心位置;根据第三空间数据和第四空间数据,根据权重融合得到第二部分的偏移量及重心位置;根据第一部分和第二部分的偏移量及重心位置,分别推算第一躯干和臀部的位置信息和第二躯干和臀部的位置信息。

在一些实施例中,根据权重融合所述第一躯干和臀部的位置信息和第二躯干和臀部的位置信息,得到全身的躯干及第一重心位置。

在一些实施例中,根据所述第一重心位置,反向调整全身的躯干和臀部处的部分骨骼信息。

在一些实施例中,根据线性单链ik,更新四肢位置。

根据本申请的一些实施例的第二方面,提供了一个系统,所述系统包括:一个存储器,被配置为存储数据及指令;一个与存储器建立通信的处理器,其中,当执行存储器中的指令时,所述处理器被配置为:初始化全身姿态的数据;获取末端位置及其对应的目标点位置的距离和方向,所述末端包括第一末端至第四末端,所述目标点包括第一目标点至第四目标点;根据所述末端位置及其对应的目标点位置的距离,计算第一部分和第二部分的偏移量及重心位置;根据权重融合第一部分和第二部分,得到全身的躯干及第一重心位置;获取第三部分及其重心位置;更新得到最终重心位置;根据最终重心位置、第一部分位置和第二部分位置,还原全身的脊椎;计算第一部分和第二部分的四肢位置以及第三部分的朝向,还原全身姿态。

因此,根据本申请的一些实施例的一种全身姿态还原方法及系统,通过采集关键点的数据,还原整个人体的姿态,并实现符合人体工程学的还原过程。

附图说明

为更好地理解并阐述本申请的一些实施例,以下将结合附图参考实施例的描述,在这些附图中,同样的数字编号在附图中指示相应的部分。

图1是根据本申请的一些实施例提供的全身姿态还原系统的示例性示意图。

图2是根据本申请的一些实施例提供的全身姿态还原方法的示例性流程图。

图3是根据本申请的一些实施例提供的全身姿态还原方法的具体流程图。

图4是根据本申请的一些实施例提供的全身姿态还原方法的具体示意图。

具体实施方式

以下参考附图的描述为便于综合理解由权利要求及其等效内容所定义的本申请的各种实施例。这些实施例包括各种特定细节以便于理解,但这些仅被视为示例性的。因此,本领域技术人员可以理解对在此描述的各种实施例进行各种变化和修改而不会脱离本申请的范围和精神。另外,为简要并清楚地描述本申请,本申请将省略对公知功能和结构的描述。

在以下说明书和权利要求书中使用的术语和短语不限于字面含义,而是仅为能够清楚和一致地理解本申请。因此,对于本领域技术人员,可以理解,提供对本申请各种实施例的描述仅仅是为说明的目的,而不是限制所附权利要求及其等效定义的本申请。

下面将结合本申请一些实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

需要说明的是,在本申请实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请实施例和所附权利要求书中所使用的单数形式的“一”、“一个”、“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本申请中使用的术语“和/或”是指并包含一个或多个相绑定的列出项目的任何或所有可能组合。表达“第一”、“第二”、“所述第一”和“所述第二”是用于修饰相应元件而不考虑顺序或者重要性,仅仅被用于区分一种元件与另一元件,而不限制相应元件。

根据本申请一些实施例的终端可以是电子设备,该电子设备可以包括个人电脑(pc,例如平板电脑、台式电脑、笔记本、上网本、掌上电脑pda)、客户端设备、虚拟现实设备(vr)、增强现实设备(ar)、混合现实设备(mr)、xr设备、渲染机、智能手机、移动电话、电子书阅读器、便携式多媒体播放器(pmp)、音频/视频播放器(mp3/mp4)、摄像机和可穿戴设备等中的一种或几种的组合。根据本申请的一些实施例,所述可穿戴设备可以包括附件类型(例如手表、戒指、手环、眼镜、或头戴式装置(hmd))、集成类型(例如电子服装)、装饰类型(例如皮肤垫、纹身或内置电子装置)等,或几种的组合。在本申请的一些实施例中,所述电子设备可以是灵活的,不限于上述设备,或者可以是上述各种设备中的一种或几种的组合。在本申请中,术语“用户”可以指示使用电子设备的人或使用电子设备的设备(例如人工智能电子设备)。

本申请实施例提供了一种全身姿态还原方法及系统。为了便于理解本申请实施例,以下将参考附图对本申请实施例进行详细描述。

图1是根据本申请的一些实施例提供的全身姿态还原系统的示例性示意图。如图1所述,全身姿态还原系统100可以包括网络110、控制端120、用户端130和服务器140等。具体的,控制端120与用户端130在通过网络建立通信,例如,控制端120与用户端130可以在同一个局域网(比如,同一个路由器的网络环境等)中通信。进一步,控制端120可以通过有线(例如,网线等)或无线(例如,云端服务器等)等方式与网络110连接,用户端130可以通过有线或无线(例如,wifi等)等方式与网络110建立通信连接。在一些实施例中,用户端130可以向控制端120、服务器140发送目标点信息等。进一步地,控制端120、服务器140可以向用户端130反馈全身的姿态等信息。作为示例,服务器140可以获取用户端130的空间信息和动作捕捉信息等。

根据本申请的一些实施例,控制端120、用户端130可以为相同或不同的终端设备等。所述终端设备可以包括但不限于智能终端,移动终端,计算机,渲染机等。在动作捕捉场景中,控制端120可以包括计算机等,用户端130可以包括动作采集装置等。在一些实施例中,控制端120和用户端130可以集成在一个设备中,例如,一体机、智能终端(例如,平板、手机)等。在一些实施例中,服务器140是计算机的一种,具有比普通计算机运行更快、负载更高等优势,而相对应的价格更高昂。在网络环境中,服务器可以为其它客户机(例如,pc机、智能手机、atm等终端,以及交通系统等大型设备)提供计算或者应用服务。服务器具有高速的cpu运算能力、长时间的可靠运行、强大的i/o外部数据吞吐能力以及更好的扩展性。所述服务器可以提供的服务包括但不限于承担响应服务请求、承担服务、保障服务的能力等。所述服务器作为电子设备,具有极其复杂的内部结构,包括与普通计算机相近的内部结构等,作为示例,所述服务器的内部结构可以包括中央处理器(centralprocessingunit,cpu)、硬盘、内存,系统、系统总线等。

在本申请的一些实施例中,全身姿态还原系统100可以省略一个或多个元件,或者可以进一步包括一个或多个其它元件。作为示例,全身姿态还原系统100可以包括多个用户端130,如多个动作采集设备等。又例如,全身姿态还原系统100可以包括多个控制端120。再例如,全身姿态还原系统100可以包括多个服务器140等。网络110可以为任意类型的通信网络,所述通信网络可以包括计算机网络(例如,局域网(lan,localareanetwork)或广域网(wan,wideareanetwork))、互联网和/或电话网络等,或几种的组合。在一些实施例中,网络110可以为其他类型的无线通信网络。所述无线通信可以包括微波通信和/或卫星通信等。所述无线通信可以包括蜂窝通信,例如,全球移动通信(gsm,globalsystemformobilecommunications)、码分多址(cdma,codedivisionmultipleaccess)、第三代移动通信(3g,the3rdgenerationtelecommunication)、第四代移动通信(4g)、第五代移动通信(5g)、第六代移动通信(6g)、长期演进技术(lte,longtermevolution)、长期演进技术升级版(lte-a,lte-advanced)、宽带码分多址(wcdma,widebandcodedivisionmultipleaccess)、通用移动通信系统(umts,universalmobiletelecommunicationssystem)、无线宽带(wibro,wirelessbroadband)等,或几种的组合。在一些实施例中,用户端130可以为其他具备同等功能模块的电子设备,该电子设备可以包括虚拟现实设备(vr)、渲染机、个人电脑(pc,例如平板电脑、台式电脑、笔记本、上网本、掌上电脑pda)、智能手机、移动电话、电子书阅读器、便携式多媒体播放器(pmp)、音频/视频播放器(mp3/mp4)、摄像机和可穿戴设备等中的一种或几种的组合。

在一些实施例中,所述wifi可以为其他类型的无线通信技术。根据本申请的一些实施例,所述无线通信可以包括无线局域网(wifi,wirelessfidelity)、蓝牙、低功耗蓝牙(ble,bluetoothlowenergy)、紫蜂协议(zigbee)、近场通讯(nfc,nearfieldcommunication)、磁安全传输、射频和体域网(ban,bodyareanetwork)等,或几种的组合。根据本申请的一些实施例,所述有线通信可以包括全球导航卫星系统(glonass/gnss,globalnavigationsatellitesystem)、全球定位系统(gps,globalpositionsystem)、北斗导航卫星系统或伽利略(欧洲全球卫星导航系统)等。所述有线通信可以包括通用串行总线(usb,universalserialbus)、高清多媒体接口(hdmi,high-definitionmultimediainterface)、推荐标准232(rs-232,recommendstandard232)、和/或简易老式电话服务(pots,plainoldtelephoneservice)等,或几种的组合。

需要说明的是,以上对于全身姿态还原系统100的描述,仅为描述方便,并不能把本申请限制在所举实施例的范围之内。可以理解,对于本领域技术人员,基于本系统的原理,可能在不背离该原理的前提下,对各个元件进行任意组合,或者构成子系统与其他元件连接,对实施上述方法和系统的应用领域进行形式和细节上的各种修正和改变。例如,控制端120和用户端130可以集成在一个设备中等。诸如此类的变形,均在本申请的保护范围之内。

图2是根据本申请的一些实施例提供的全身姿态还原方法的示例性流程图。如图2所述,流程200可以通过全身姿态还原系统100实现。在一些实施例中,所述全身姿态还原方法200可以自动启动或通过指令启动。所述指令可以包括系统指令、设备指令、用户指令、动作指令等,或几种的组合。

在201,初始化全身姿态的数据。操作201可以通过全身姿态还原系统100的控制端120、服务器140实现。在一些实施例中,控制端120和/或服务器140可以初始化全身姿态的数据。在一些实施例中,用户端130可以更新初始化后的全身姿态数据。作为示例,所述初始化全身姿态的数据可以包括但不限于目标点位置数据、骨骼姿态数据、调节参数数据等,或几种的组合。

根据本申请的一些实施例,所述初始化全身姿态的数据包括初始化多个目标点位置,所述多个目标点包括第一末端至第四末端的四个目标点,第三部分的目标点,第二重心位置处关节的目标点;初始化骨骼姿态数据;初始化多类调节参数数据等。

在202,获取末端位置及其对应的目标点位置的距离和方向,所述末端包括第一末端至第四末端,所述目标点包括第一目标点至第四目标点。操作202可以通过全身姿态还原系统100的控制端120、用户端130、服务器140实现。在一些实施例中,控制端120和/或服务器140可以通过用户端130获取末端位置及其对应的目标点位置的距离和方向。作为示例,用户端130可以采集末端位置及其对应的目标点位置的距离和方向。在一些实施例中,所述末端包括第一末端至第四末端,所述目标点包括第一目标点至第四目标点。

根据本申请的一些实施例,所述获取末端位置及其对应的目标点位置的距离和方向具体包括根据第i末端点(endpi)及第i目标点(ti),得到第i末端点至第i目标点方向的第i向量(endpi→ti),其中i为1至4的整数;计算第i向量长度;获取第i四肢长度(chainleni),得到第i四肢长度和第i向量长度的第i差值(diffleni)。

在203,根据所述末端位置及其对应的目标点位置的距离,计算第一部分和第二部分的偏移量及重心位置。操作203可以通过全身姿态还原系统100的控制端120、服务器140实现。在一些实施例中,控制端120和/或服务器140可以根据所述末端位置及其对应的目标点位置的距离,计算第一部分和第二部分的偏移量及重心位置。作为示例,控制端120和/或服务器140可以根据第一末端及第一目标点位置的距离,以及第二末端及第二目标点位置的距离,计算第一部分的偏移量及重心位置;根据第三末端及第三目标点位置的距离,以及第四末端及第四目标点位置的距离,计算第二部分的偏移量及重心位置。

根据本申请的一些实施例,当所述第i差值(diffleni)不为零,所述计算第一部分和第二部分的偏移量及重心位置具体包括当第一末端对应的第一始端移动时或当第二末端对应的第二始端移动时,分别计算第一空间数据和第二空间数据;当第三末端对应的第三始端移动时或当第四末端对应的第四始端移动时,分别计算第三空间数据和第四空间数据;根据第一空间数据和第二空间数据,根据权重融合得到第一部分的偏移量及重心位置;根据第三空间数据和第四空间数据,根据权重融合得到第二部分的偏移量及重心位置;根据第一部分和第二部分的偏移量及重心位置,分别推算第一躯干和臀部的位置信息和第二躯干和臀部的位置信息。

作为示例,所述第一末端包括左手手腕,所述第一末端对应的第一始端包括左肩;所述第二末端包括右手手腕,所述第二末端对应的第二始端包括右肩。在一些实施例中,计算的两个上肢(包括左臂和右臂)的diffleni(i取值1-2)不为0时,会分别牵引左右肩膀产生移动,需要执行两次计算,包括假设只有左肩膀移动的时候进行一次计算,以及假设只有右肩膀移动的时候进行一次计算,每次的计算可以获得一次躯干处部分骨骼的空间数据信息。又例如,若假设臀部处的部分骨骼和躯干处的部分骨骼处于同一平面,可以进一步推算臀部处骨骼的数据信息。进一步,两次数据信息记为databyleftshoulder以及databyrightshoulder,再对两次计算得到的数据信息根据权重融合如下:databyupper=lerp(databyleftshoulder,databyrightshoulder,weightupper),就可以得到由上半身推算的躯干和臀部的位置信息。

又例如,所述第三末端包括左脚脚踝,所述第三末端对应的第三始端包括左臀;所述第四末端包括右脚脚踝,所述第四末端对应的第四始端包括右臀。在一些实施例中,计算的两个下肢(包括左腿和右腿)的diffleni(i取值3-4)若不为0,同理需要进行两次计算,得到两次臀部和躯干处部分骨骼的空间数据信息,再对两次数据根据权重融合,得到由下半身推算的躯干及臀部的位置信息,如下:

databylower=lerp(databylefthip,databyrighthip,weightlower)。

根据本申请的一些实施例,控制端120和/或服务器140可以进行反向调整。在一些实施例中,根据权重融合所述第一躯干和臀部的位置信息和第二躯干和臀部的位置信息,得到全身的躯干及第一重心位置。根据所述第一重心位置,反向调整全身的躯干和臀部处的部分骨骼信息。在一些实施例中,通过已知数据信息确定新的重心位置,根据新的重心位置与区域之间的距离远近,先更新近距离的区域,再处理远距离的区域。

在204,根据权重融合第一部分和第二部分,得到全身的躯干及第一重心位置。操作204可以通过全身姿态还原系统100的服务器140和/或控制端120实现。在一些实施例中,服务器140和/或控制端120可以根据权重融合第一部分和第二部分,得到全身的躯干及第一重心位置。作为示例,用户端130可以根据服务器140和/或控制端120提供的全身的躯干及第一重心位置数据,进行实时更新。

根据本申请的一些实施例,所述第一部分包括上半身,所述第二部分包括下半身,服务器140和/或控制端120可以首先将databyupper和databylower混合,获得最后的数据wholedata,wholedata=lerp(databyupper,databylower,weightwhole);其中wholedata中的重心数据信息记为cogwholedata。进一步,根据臀部目标点的位置,记为pelvispos,这个数据用于偏移wholedata中包含的所有骨骼位置,同时,姿态保持不变,偏移量为offset=|lerp(0,cogwholedata.pos-pelvispos,weightpelvis);其中weightpelvis是偏移量权重参数。在一些实施例中,可以进一步对偏移后的数据增加臀部扭转角的限制,具体包括当初始的臀部方位和混合计算后获得的臀部方位处于两个不同的平面时,则存在扭转角,通过限制扭转角的大小以符合人体的运动范围。

在205,获取第三部分及其重心位置。操作205可以通过全身姿态还原系统100的控制端120、用户端130、服务器140实现。在一些实施例中,控制端120和/或服务器140可以通过用户端130获取第三部分及其重心位置。在一些实施例中用户端130可以获取头部及头部的重心位置。作为示例,所述第三部分可以包括头部。

在206,更新得到最终重心位置。操作206可以通过全身姿态还原系统100的控制端120、服务器140实现。在一些实施例中,控制端120和/或服务器140可以更新得到最终重心位置。在一些实施例中,用户端130可以更新得到最终重心位置。

根据本申请的一些实施例,控制端120和/或服务器140可以根据第三部分及其重心位置,更新至第二重心位置;获取第二重心位置处的关节及其目标点位置,并根据权重融合更新得到最终重心位置。根据本申请的一些实施例,控制端120和/或服务器140可以进行反向调整。在一些实施例中,根据所述第二重心位置或根据所述最终重心位置,可以反向调整全身的躯干和臀部处的部分骨骼信息。

在207,根据最终重心位置、第一部分位置和第二部分位置,还原全身的脊椎。操作207可以通过全身姿态还原系统100的控制端120、服务器140实现。在一些实施例中,控制端120和/或服务器140可以根据最终重心位置、第一部分位置和第二部分位置,还原全身的脊椎。在一些实施例中,所述第一部分位置可以包括上半身位置,所述第二部分位置可以包括下半身位置等。

在208,计算第一部分和第二部分的四肢位置以及第三部分的朝向,还原全身姿态。操作208可以通过全身姿态还原系统100的控制端120、服务器140实现。在一些实施例中,控制端120和/或服务器140可以计算第一部分和第二部分的四肢位置以及第三部分的朝向,还原全身姿态。在一些实施例中,用户端130可以更新全身姿态数据等。在一些实施例中,控制端120和/或服务器140可以根据线性单链ik反向运动学算法(inversekinematics,ik),更新四肢位置。

根据本申请的一些实施例,在一些实施例中,所述还原的全身姿态,可以显示在用户端130的ui中,并在特定场景中实现,所述场景可以包括但不限于vr,ar,mr,xr任一场景或组合的场景。

图3是根据本申请的一些实施例提供的全身姿态还原方法的具体流程图。全身姿态还原方法的具体流程,如图3所示。根据本申请的一些实施例,流程首先执行对每帧数据初始化,再获取四肢末端和其对应的目标点的距离和方向。进一步,同时执行依据左右手腕和其目标点位置的远近,计算上半身的偏移量及重心位置;以及左右脚踝和其目标点位置的远近,计算下半身偏移量及重心位置。进一步,根据权重融合上半身和下半身数据,初步获得躯干及重心位置。进一步,在所述躯干的基础上,根据头部和其目标点的位置,更新躯干位置。进一步,根据重心位置处的关节和其目标点,再次根据权重融合上述重心位置和其目标点的位置。进一步,根据最终的重心位置以及上半身、下半身位置还原整个脊椎。进一步,计算四肢位置以及头部等朝向。最后,返回计算数据,用于还原全身姿态。

根据本申请的一些实施例,流程200的操作208可以进一步包括增加四肢的限制。图4是根据本申请的一些实施例提供的全身姿态还原方法的具体示意图。在一些实施例中,所述增加四肢的限制,可以防止四肢运动到不合理的地方,以实现还原过程符合人体工程学。

在一些实施例中,投影面可以在平面x-o-y左上角区域的部分限制曲面,即曲面q1-o-q2,其中,曲面上q1的投影点是r1,q2的投影点是r2,如图4所示,这部分曲面横穿投影面,并且和投影面有交线op,即op将投影面拦截在两个象限之中,分别为曲面p-o-q2和曲面p-o-q1。若有一个目标点t,当t在x-o-y上的投影点处于左上角的象限时,此时包括4种情况,并需要针对4种情况进行区别处理。

1.t处于o-axis所在的区域内且其投影点在r2-o-p的这个扇形区域内;

2.t处于o-axis所在的区域内且其投影点在r1-o-p的这个扇形区域内;

3.t处于o-axis反方向所在的区域内且其投影点在r2-o-p的这个扇形区域内;

4.t处于o-axis反方向所在的区域内且其投影点在r1-o-p的这个扇形区域内;

如图4所示,若为情况1,四肢不需要增加限制,可以在当前区域执行任意活动;若为情况4,则四肢需要增加曲面p-o-q1的限制,对于情况2或情况3,则四肢在部分区域可以活动,在部分区域需要增加限制。

同理,若t的投影点投影在其他的3个象限,每个象限均存在上述的4种情况,针对4个象限共计16种情况。根据所述16种情况,可以对四肢增加限制。

最后,通过流程200可以还原出所有骨骼信息,将结果设置到骨架,还原全身姿态。

需要说明的是,以上对于流程200的描述,仅为描述方便,并不能把本申请限制在所举实施例的范围之内。可以理解,对于本领域技术人员,基于本系统的原理,可能在不背离该原理的前提下,对各个操作进行任意组合,或者构成子流程与其它操作组合,对实施上述流程和操作的功能进行形式和细节上的各种修正和改变。例如,流程200可以进一步包括增加四肢的限制等操作。诸如此类的变形,均在本申请的保护范围之内。

综上所述,根据本申请实施例的一种全身姿态还原方法及系统,通过采集关键点的数据,还原整个人体的姿态,并实现符合人体工程学的还原过程。

需要注意的是,上述的实施例仅仅是用作示例,本申请不限于这样的示例,而是可以进行各种变化。

需要说明的是,在本说明书中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

最后,还需要说明的是,上述一系列处理不仅包括以这里所述的顺序按时间序列执行的处理,而且包括并行或分别地、而不是按时间顺序执行的处理。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序指令相关的硬件来完成,所述的程序可存储于一计算机可读存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储器(read-onlymemory,rom)或随机存储器(randomaccessmemory,ram)等。

以上所揭露的仅为本申请一些优选的实施例,不能以此来限定本申请之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本申请权利要求所作的等同变化,仍属于发明所涵盖的范围。


技术特征:

1.一种全身姿态还原方法,其特征在于,包括:

初始化全身姿态的数据;

获取末端位置及其对应的目标点位置的距离和方向,所述末端包括第一末端至第四末端,所述目标点包括第一目标点至第四目标点;

根据所述末端位置及其对应的目标点位置的距离,计算第一部分和第二部分的偏移量及重心位置;

根据权重融合第一部分和第二部分,得到全身的躯干及第一重心位置;

获取第三部分及其重心位置;

更新得到最终重心位置;

根据最终重心位置、第一部分位置和第二部分位置,还原全身的脊椎;

计算第一部分和第二部分的四肢位置以及第三部分的朝向,还原全身姿态。

2.根据权利要求1所述的方法,其特征在于,所述更新得到最终重心位置具体包括:

根据第三部分及其重心位置,更新至第二重心位置;

获取第二重心位置处的关节及其目标点位置,并根据权重融合更新得到最终重心位置。

3.根据权利要求2所述的方法,其特征在于,所述初始化全身姿态的数据包括:

初始化多个目标点位置,所述多个目标点包括第一末端至第四末端的四个目标点,第三部分的目标点,第二重心位置处关节的目标点;

初始化骨骼姿态数据;

初始化多类调节参数数据。

4.根据权利要求1所述的方法,其特征在于,所述根据所述末端位置及其对应的目标点位置的距离,计算第一部分和第二部分的偏移量及重心位置具体包括:

根据第一末端及第一目标点位置的距离,以及第二末端及第二目标点位置的距离,计算第一部分的偏移量及重心位置;根据第三末端及第三目标点位置的距离,以及第四末端及第四目标点位置的距离,计算第二部分的偏移量及重心位置。

5.根据权利要求4所述的方法,其特征在于,所述获取末端位置及其对应的目标点位置的距离和方向具体包括:

根据第i末端点及第i目标点,得到第i末端点至第i目标点方向的第i向量,其中i为1至4的整数;

计算第i向量长度;

获取第i四肢长度,得到第i四肢长度和第i向量长度的第i差值。

6.根据权利要求5所述的方法,其特征在于,当所述第i差值不为零,所述计算第一部分和第二部分的偏移量及重心位置具体包括:

当第一末端对应的第一始端移动时或当第二末端对应的第二始端移动时,分别计算第一空间数据和第二空间数据;

当第三末端对应的第三始端移动时或当第四末端对应的第四始端移动时,分别计算第三空间数据和第四空间数据;

根据第一空间数据和第二空间数据,根据权重融合得到第一部分的偏移量及重心位置;

根据第三空间数据和第四空间数据,根据权重融合得到第二部分的偏移量及重心位置;

根据第一部分和第二部分的偏移量及重心位置,分别推算第一躯干和臀部的位置信息和第二躯干和臀部的位置信息。

7.根据权利要求6所述的方法,其特征在于,根据权重融合所述第一躯干和臀部的位置信息和第二躯干和臀部的位置信息,得到全身的躯干及第一重心位置。

8.根据权利要求7所述的方法,其特征在于,根据所述第一重心位置,反向调整全身的躯干和臀部处的部分骨骼信息。

9.根据权利要求1所述的方法,其特征在于,根据线性单链ik,更新四肢位置。

10.一个系统,其特征在于,包括:

一个存储器,被配置为存储数据及指令;

一个与存储器建立通信的处理器,其中,当执行存储器中的指令时,所述处理器被配置为:

初始化全身姿态的数据;

获取末端位置及其对应的目标点位置的距离和方向,所述末端包括第一末端至第四末端,所述目标点包括第一目标点至第四目标点;

根据所述末端位置及其对应的目标点位置的距离,计算第一部分和第二部分的偏移量及重心位置;

根据权重融合第一部分和第二部分,得到全身的躯干及第一重心位置;

获取第三部分及其重心位置;

更新得到最终重心位置;

根据最终重心位置、第一部分位置和第二部分位置,还原全身的脊椎;

计算第一部分和第二部分的四肢位置以及第三部分的朝向,还原全身姿态。

技术总结
本申请涉及一种全身姿态还原方法及系统,涉及空间定位与动作捕捉领域。所述方法包括初始化全身姿态的数据;获取末端位置及其对应的目标点位置的距离和方向,所述末端包括第一末端至第四末端,所述目标点包括第一目标点至第四目标点;根据所述末端位置及其对应的目标点位置的距离,计算第一部分和第二部分的偏移量及重心位置;根据权重融合第一部分和第二部分,得到全身的躯干及第一重心位置;获取第三部分及其重心位置;更新得到最终重心位置;根据最终重心位置、第一部分位置和第二部分位置,还原全身的脊椎;计算第一部分和第二部分的四肢位置以及第三部分的朝向,还原全身姿态。本申请的全身姿态还原方法及系统,通过采集关键点的数据,还原整个人体的姿态,并实现符合人体工程学的还原过程。

技术研发人员:周清会;汤代理;张建国
受保护的技术使用者:上海曼恒数字技术股份有限公司
技术研发日:2021.05.20
技术公布日:2021.08.03

转载请注明原文地址:https://doc.8miu.com/read-912.html

最新回复(0)