掌桥专利:专业的专利平台
掌桥专利
首页

一种基于IMU的人体动作捕捉方法、系统及存储介质

文献发布时间:2023-06-19 19:07:35


一种基于IMU的人体动作捕捉方法、系统及存储介质

技术领域

本申请涉及机器人设备领域,具体为一种基于IMU的人体动作捕捉方法、系统及存储介质。

背景技术

现阶段,能够进行人体动作捕捉的相关产品,由于检测方式的不同,可以分为光学式和惯性式两种,惯性人体动作捕捉系统能够通过其内部的传感器获取被测对象的运动信息,没有使用场景的限制,实时性好,精度较光学系统存在差异但能够满足医疗健康应用场景下对运动节点关键信息的持续采集及生物学分析的要求,目前,惯性式人体动作捕捉方法在精度方面存在缺陷,造成获得关节活动度数据和步态数据与实际数据有较大出入,严重制约惯性式测量方法在人体动作捕捉领域的应用。

发明内容

本发明要解决的技术问题是针对上述技术方案的不足,提供一种基于IMU的人体动作捕捉方法、系统及存储介质,用于实现人体动作的精准捕捉和识别,从而为病人的治疗提供更科学的诊断依据。

为了实现上述目的,根据本发明的一个方面,一种基于IMU的人体动作捕捉方法,包括以下步骤:

步骤1:通过IMU采集人体动作数据;

步骤2:对所述IMU采集的人体动作数据进行坐标系转换;

步骤3:对所述步骤2获取的所述四元数表示的人体动作姿态数据进行低通滤波;

步骤4:对所述步骤3得到的人体动作姿态数据进行四元数归一化处理;

步骤5:将所述步骤4得到的数据导入到un ity软件中,得到人体模型姿态,并将所述人体模型姿态转换为镜像姿态;

步骤6:对所述步骤4得到的人体动作姿态数据进行帧率插值处理;

步骤7:根据矩阵变换递推活动关节的姿态;

步骤8:根据所述步骤7获取的所有关节的姿态计算所有的关节角度。

具体地,所述IMU为惯性测量系统,其包括陀螺仪、加速度计以及磁力计等不同类型的IMU组件,通过该IMU对人体动作数据进行采集;

具体地,所述IMU采集的数据为右手坐标系下获得的数据,通过坐标系转换得到unity坐标系下的数据;

更进一步地,所述对所述IMU采集的数据进行坐标系转换具体包括:

步骤2.1:将所述IMU采集的人体动作数据转换为四元数表示的人体动作姿态数据;

由于四元数的表示方法能够在计算过程中表现的更快速高效,因此本实施例在进行人体动作捕捉时选择四元数作为人体动作姿态的表示方法;

更进一步地,所述步骤2.1具体包括:根据公式f(q

步骤2.2:得到所述四元数表示的人体动作数据的表达式;

具体地,所述2.2具体为:取人体动作过程中的任一点q,设q=(wxyz),w x y z是标准四元数的四个基本元素,则

式中,f(q)为四元数表示的人体动作数据;

步骤2.3:根据所述步骤2.1和所述步骤2.2求解得到四元数表示的人体动作姿态数据;

具体地,所述步骤2.3具体包括:通过公式:

求解得到四元数表示的人体动作姿态数据;

式中,q

具体地,所述低通滤波的表达式为:

q

式中,q

具体地,所述四元数归一化处理公式具体为:

具体地,所述步骤5具体为:

假设人体模型的某一部位的姿态为q

q

式中,A为中间矩阵,R

更进一步地,所述A通过矩阵B求解得到,其中,B=f(q

b

b

为了保证动作的连贯性和软件模型的动作柔顺,需要对姿态进行三维动态帧率插值运算,

具体地,所述帧率插值运算的公式为:

p=slerp(q

p(i)=aq

θ=cos

式中,slerp为球面插值函数,q

由于人体模型的关节数量要远远多于安装的IMU数量,因此,并不能保证每个关节的父系和子系都安装imu,从而需要递推每个运动关节的父系姿态和子系姿态;

具体地,所述步骤7聚具体包括:

步骤7.1:设人体模型零点位置时某个运动关节的父系姿态q

q

步骤7.2:求取关节父系的姿态;

具体地,所述求取关节父系的姿态的公式为:

q

具体地,所述步骤8具体包括:安装有imu的所有部位采用上述的坐标映射、模型姿态求解、镜像变换获取实时姿态,然后假设关节的子系实时姿态为q

q=f

根据本发明的另一方面,本发明还包括一种基于IMU的人体动作捕捉系统,其中,该系统包括:

若干IMU,用于获取人体动作数据;

处理器,用于执行上述的基于IMU的人体动作捕捉方法。

根据本发明的另一方面,本实施例包括一种计算机可读存储介质,所述计算机可读存储介质上存储有数据处理程序,所述数据处理程序被处理器执行上述的基于IMU的人体动作捕捉方法。

基于上述技术方案,本申请提供的一种基于IMU的人体动作捕捉方法、系统和计算机可读存储介质,具有如下技术效果:

本发明通过对IMU采集的人体动作数据进行坐标系转换、低通滤波、四元数归一化处理、转换为镜像姿态、进行帧率插值处理、矩阵变换递推活动关节的姿态从而计算关节角度,可根据IMU获取的数据计算得到人体动作过程中的所有关节的关节角度,用于实现人体动作的精准捕捉和识别,从而为病人的治疗提供更科学的诊断依据。

附图说明

构成本文的一部分的附图用来提供对本文的进一步理解,本文的示意性实施例及其说明用于解释本文,并不构成对本文的不当限定。在附图中:

图1为本申请实施例提供的一种基于I MU的人体动作捕捉方法的流程图;

图2为本申请实施例提供的对所述I MU采集的数据进行坐标系转换的流程图;

图3为本申请实施例提供的根据矩阵变换递推活动关节的姿态的流程图;

图4为本申请实施例提供的一种基于I MU的人体动作捕捉系统的示意图。

具体实施方式

为使本文实施例的目的、技术方案和优点更加清楚,下面将结合本文实施例中的附图,对本文实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本文一部分实施例,而不是全部的实施例。基于本文中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本文保护的范围。需要说明的是,在不冲突的情况下,本文中的实施例及实施例中的特征可以相互任意组合。

除非上下文明确要求,否则整个说明书和权利要求书中的“包括”、“包含”等类似词语应当解释为包含的含义而不是排他或穷举的含义;也就是说,是“包括但不限于”的含义。

实施例一

本实施例提供的人体动作捕捉方法通过对原始加速度、角速率数据进行数据融合及滤波处理,从而输出I MU的姿态数据,从而计算关节角度。

如图1所示,一种基于I MU的人体动作捕捉方法,包括以下步骤:

步骤1:通过I MU采集人体动作数据;

具体地,所述I MU为惯性测量系统,其包括陀螺仪、加速度计以及磁力计等不同类型的IMU组件,通过该IMU对人体动作数据进行采集;

步骤2:对所述IMU采集的人体动作数据进行坐标系转换;

具体地,所述IMU采集的数据为右手坐标系下获得的数据,通过坐标系转换得到unity坐标系下的数据;

更进一步地,如图2所示,所述对所述IMU采集的数据进行坐标系转换具体包括:

步骤2.1:将所述IMU采集的人体动作数据转换为四元数表示的人体动作姿态数据;

由于四元数的表示方法能够在计算过程中表现的更快速高效,因此本实施例在进行人体动作捕捉时选择四元数作为人体动作姿态的表示方法;

更进一步地,所述步骤2.1具体包括:根据公式f(q

步骤2.2:得到所述四元数表示的人体动作数据的表达式;

具体地,所述2.2具体为:取人体动作过程中的任一点q,设q=(wxyz),w x y z是标准四元数的四个基本元素,则

式中,f(q)为四元数表示的人体动作数据;

步骤2.3:根据所述步骤2.1和所述步骤2.2求解得到四元数表示的人体动作姿态数据;

具体地,所述步骤2.3具体包括:通过公式:

求解得到四元数表示的人体动作姿态数据;

式中,q

步骤3:对所述步骤2获取的所述四元数表示的人体动作姿态数据进行低通滤波;

具体地,所述低通滤波的表达式为:

q

式中,q

步骤4:对所述步骤3得到的人体动作姿态数据进行四元数归一化处理;具体地,所述四元数归一化处理公式具体为:

步骤5:将所述步骤4得到的数据导入到unity软件中,得到人体模型姿态,并将所述人体模型姿态转换为镜像姿态;

具体地,所述步骤5具体为:

假设人体模型的某一部位的姿态为q

q

式中,A为中间矩阵,R

更进一步地,所述A通过矩阵B求解得到,其中,B=f(q

b

b

步骤6:对所述步骤4得到的人体动作姿态数据进行帧率插值处理;

为了保证动作的连贯性和软件模型的动作柔顺,需要对姿态进行三维动态帧率插值运算,

具体地,所述帧率插值运算的公式为:

p=slerp(q

p(i)=aq

θ=cos

式中,slerp为球面插值函数,q

步骤7:根据矩阵变换递推活动关节的姿态;

由于人体模型的关节数量要远远多于安装的IMU数量,因此,并不能保证每个关节的父系和子系都安装imu,从而需要递推每个运动关节的父系姿态和子系姿态;

具体地,如图3所示,所述步骤7聚具体包括:

步骤7.1:建立每个关节的递推节点公式;

具体地,设人体模型零点位置时某个运动关节的父系姿态q

q

步骤7.2:求取关节父系的姿态;

具体地,所述求取关节父系的姿态的公式为:

q

步骤8:根据所述步骤7获取的所有关节的姿态计算所有的关节角度;

具体地,所述步骤8具体包括:安装有imu的所有部位采用上述的坐标映射、模型姿态求解、镜像变换获取实时姿态,然后假设关节的子系实时姿态为q

q=f

由此,通过上述的步骤1-8的流程,可根据IMU获取的数据计算得到人体动作过程中的所有关节的关节角度,用于实现人体动作的精准捕捉和识别,从而为病人的治疗提供更科学的诊断依据。

实施例二

如图4所示,本实施例还包括一种基于IMU的人体动作捕捉系统,其中,该系统包括:

若干IMU,用于获取人体动作数据;

处理器,用于执行实施例一的基于IMU的人体动作捕捉方法。

实施例三

本实施例包括一种计算机可读存储介质,所述计算机可读存储介质上存储有数据处理程序,所述数据处理程序被处理器执行实施例一的基于IMU的人体动作捕捉方法。

本领域技术人员应明白,本文的实施例可提供为方法、装置(设备)、或计算机程序产品。因此,本文可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本文可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质上实施的计算机程序产品的形式。计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质,包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质等。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。

本文是参照根据本文实施例的方法、装置(设备)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本文的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本文范围的所有变更和修改。

显然,本领域的技术人员可以对本文进行各种改动和变型而不脱离本文的精神和范围。这样,倘若本文的这些修改和变型属于本文权利要求及其等同技术的范围之内,则本文的意图也包含这些改动和变型在内。

技术分类

06120115799133