一种惯性动作捕捉姿态快速校准方法及系统与流程

文档序号:16640956发布日期:2019-01-16 07:32阅读:726来源:国知局
一种惯性动作捕捉姿态快速校准方法及系统与流程

本发明涉及动作捕捉领域,尤其是一种惯性动作捕捉姿态快速校准方法及系统。



背景技术:

动作捕捉技术是通过各种设备采集捕捉物的动作信息并转化为简单可读的信息的一种技术,主要包括机械式动作捕捉、声学式动作捕捉、电磁式动作捕捉、光学式动作捕捉和惯性动作捕捉这几种方法。综合使用环境、使用复杂度、价格及捕捉精度来全面考虑,惯性动作捕捉技术具有最大的优势。惯性动作捕捉系统一般包括控制器模块、多个姿态捕捉模块以及数据终端;在使用时需要在佩戴者的主要骨骼部位佩戴姿态捕捉模块,因佩戴者的差异性及每次佩戴部位的不一致性,就需要对姿态捕捉模块输出的姿态数据进行校准,只有通过校准,姿态数据才能进行下一步应用(如驱动虚拟模型进行相应的姿态展示)。另外在使用运动数据对虚拟模型驱动时,因不同模型各段骨骼坐标系存在的不一致性,及同一模型各段骨骼坐标系与模型所在世界坐标系的方向存在的不一致性,同样需要对驱动模型的姿态数据进行校准,校准后模型才能正确演示佩戴者姿态。

现有惯性动作捕捉技术的校准主要包括单姿势校准方法和多姿势校准方法,单姿势校准方法需要使用者在佩戴前手动测量各姿态捕捉模块相对某一姿态捕捉模块的夹角,因为这种复杂的操作对使用者来说更愿意使用多姿势校准。现有惯性动作捕捉技术的校准一般采用倒计时方式,不对佩戴者所做姿势进行判断或需要额外硬件设备进行提示,而且一般需要佩戴者需要摆多个不同的姿势,这就使得现有的校准方法所需时间长,且校准精度不高:因为佩戴者所摆姿势,总会和标准姿势有所偏差,且所做姿势越多可能导致偏差越大;又因校准时间较长,佩戴者难免有所抖动,从而导致校准精度下降,而现有方法并没有考虑该抖动问题。



技术实现要素:

为解决上述技术问题,本发明的目的在于:提供一种操作简单、快速和精度高的惯性动作捕捉姿态快速校准方法及系统。

本发明所采取的第一技术方案是:

一种惯性动作捕捉姿态快速校准方法,包括以下步骤:

通过姿态捕捉模块获取被捕捉对象在校准姿势下的姿态数据;

根据获取的姿态数据得到姿态捕捉模块佩戴部位的重力加速度和抖动程度,进而根据得到的重力加速度和抖动程度调整被捕捉对象所摆姿势和抖动程度,直至被捕捉对象所摆姿势为校准姿势且被捕捉对象的抖动程度不超过预设阈值为止;

根据姿态捕捉模块在调整后的姿态数据计算得到第一变换关系,所述第一变换关系反映地理坐标系与被捕捉对象佩戴部位坐标系的变换关系;

根据姿态捕捉模块在调整后的姿态数据和第一变换关系计算得到第二变换关系,所述第二变换关系反映姿态捕捉模块坐标系与被捕捉对象佩戴部位坐标系的变换关系;

根据第二变换关系对姿态捕捉模块输出的姿态数据进行第一次校准。

进一步,还包括以下步骤:

计算得到第三变换关系,所述第三变换关系反映虚拟模型在初始状态下佩戴部位坐标系与虚拟模型所在世界坐标系的变换关系;

根据第三变换关系对姿态捕捉模块第一次校准后的姿态数据进行第二次校准。

进一步,所述被捕捉对象为人体,所述校准姿势具体为:双手伸直垂下,掌心向内,两腿垂直站立,两脚平行。

进一步,所述虚拟模型为机器人,所述初始状态具体为:两手左右伸开保持水平,两腿垂直地面站立,两脚平行。

进一步,所述根据获取的姿态数据得到姿态捕捉模块佩戴部位的重力加速度和抖动程度,进而根据得到的重力加速度和抖动程度调整被捕捉对象所摆姿势和抖动程度,直至被捕捉对象所摆姿势为校准姿势且被捕捉对象的抖动程度不超过预设阈值为止这一步骤,具体包括:

取若干组能表征校准姿势特征的姿态捕捉模块的四元数,并根据取的四元数得到姿态捕捉模块各佩戴部位重力加速度的三轴分量;

根据姿态捕捉模块各佩戴部位重力加速度的三轴分量判断被捕捉对象所摆姿势是否为校准姿势,若是,则直接执行下一步骤,反之,则在调整被捕捉对象所摆姿势为校准姿势后执行下一步骤;

将所有姿态捕捉模块输出的四元数进行求和,并根据求和的结果在时域上的差值来判断被捕捉对象的抖动程度是否超过预设阈值,若是,则调整被捕捉对象直至被捕捉对象的抖动程度不超过预设阈值后执行根据姿态捕捉模块在调整后的姿态数据计算得到第一变换关系这一步骤,反之,则直接执行根据姿态捕捉模块在调整后的姿态数据计算得到第一变换关系这一步骤。

进一步,所述根据姿态捕捉模块在调整后的姿态数据计算得到第一变换关系这一步骤,具体为:

取姿态捕捉模块在调整后的若干组姿态数据的均值,并令捕捉对象各佩戴部位坐标系方向一致,计算出地理坐标系至被捕捉对象相应佩戴部位坐标系的四元数,从而得到对应的第一变换关系。

进一步,所述根据姿态捕捉模块在调整后的姿态数据和第一变换关系计算得到第二变换关系这一步骤,具体包括:

从姿态捕捉模块在调整后的姿态数据中获取各姿态捕捉模块由地理坐标系至姿态捕捉模块坐标系输出的四元数;

根据获取的四元数和第一变换关系对应的四元数得到姿态捕捉模块坐标系至被捕捉对象佩戴部位坐标系的四元数,从而得到对应的第二变换关系,所述姿态捕捉模块坐标系至被捕捉对象佩戴部位坐标系的四元数计算公式为:

qc(i)=[qs(i)]-1×q0

其中,qc(i)表示第i个姿态捕捉模块坐标系至被捕捉对象佩戴部位坐标系的四元数,i表示第i个姿态捕捉模块,i为正整数,qs(i)表示第i个姿态捕捉模块由地理坐标系至姿态捕捉模块坐标系输出的四元数,符号×表示四元数叉乘,q0为第一变换关系中地理坐标系至被捕捉对象佩戴部位坐标系的四元数。

本发明所采取的第二技术方案是:

一种惯性动作捕捉姿态快速校准系统,包括:

姿态数据获取模块,用于通过姿态捕捉模块获取被捕捉对象在校准姿势下的姿态数据;

调整模块,用于根据获取的姿态数据得到姿态捕捉模块佩戴部位的重力加速度和抖动程度,进而根据得到的重力加速度和抖动程度调整被捕捉对象所摆姿势和抖动程度,直至被捕捉对象所摆姿势为校准姿势且被捕捉对象的抖动程度不超过预设阈值为止;

第一变换关系计算模块,用于根据姿态捕捉模块在调整后的姿态数据计算得到第一变换关系,所述第一变换关系反映地理坐标系与被捕捉对象佩戴部位坐标系的变换关系;

第二变换关系计算模块,用于根据姿态捕捉模块在调整后的姿态数据和第一变换关系计算得到第二变换关系,所述第二变换关系反映姿态捕捉模块坐标系与被捕捉对象佩戴部位坐标系的变换关系;

第一次校准模块,用于根据第二变换关系对姿态捕捉模块输出的姿态数据进行第一次校准。

进一步,还包括:

第三变换关系计算模块,用于计算得到第三变换关系,所述第三变换关系反映虚拟模型在初始状态下佩戴部位坐标系与虚拟模型所在世界坐标系的变换关系;

第二次校准模块,用于根据第三变换关系对姿态捕捉模块第一次校准后的姿态数据进行第二次校准。

本发明所采取的第三技术方案是:

一种惯性动作捕捉姿态快速校准系统,包括:

存储器,用于存储程序;

处理器,用于加载所述程序以执行如第一技术方案所述的惯性动作捕捉姿态快速校准方法。

本发明的有益效果是:本发明一种惯性动作捕捉姿态快速校准方法及系统,通过姿态捕捉模块获取被捕捉对象在校准姿势下的姿态数据,只需被捕捉对象采用一个校准姿势就能完成校准,既不需要佩戴者摆多个不同的姿势,也不需要额外的角度预测量等操作,操作简单且快速;根据获取的姿态数据得到姿态捕捉模块佩戴部位的重力加速度和抖动程度,进而根据得到的重力加速度和抖动程度调整被捕捉对象所摆姿势和抖动程度,直至被捕捉对象所摆姿势为校准姿势且被捕捉对象的抖动程度不超过预设阈值为止,能在校准过程中识别被捕捉对象所做姿势是否满足要求及抖动程度是否过大并进行相应的调整,避免因被捕捉对象所摆姿势不标准或抖动程度过大而降低校准精度。

附图说明

图1为本发明一种惯性动作捕捉姿态快速校准方法的整体流程图;

图2为本发明优选实施例惯性动作捕捉系统的结构框图;

图3为本发明优选实施例姿态校准方案的具体实现流程图;

图4为本发明优选实施例人体穿戴惯性动作捕捉设备的示意图及校准姿势示意图。

具体实施方式

参照图1,一种惯性动作捕捉姿态快速校准方法,包括以下步骤:

通过姿态捕捉模块获取被捕捉对象在校准姿势下的姿态数据;

根据获取的姿态数据得到姿态捕捉模块佩戴部位的重力加速度和抖动程度,进而根据得到的重力加速度和抖动程度调整被捕捉对象所摆姿势和抖动程度,直至被捕捉对象所摆姿势为校准姿势且被捕捉对象的抖动程度不超过预设阈值为止;

根据姿态捕捉模块在调整后的姿态数据计算得到第一变换关系,所述第一变换关系反映地理坐标系与被捕捉对象佩戴部位坐标系的变换关系;

根据姿态捕捉模块在调整后的姿态数据和第一变换关系计算得到第二变换关系,所述第二变换关系反映姿态捕捉模块坐标系与被捕捉对象佩戴部位坐标系的变换关系;

根据第二变换关系对姿态捕捉模块输出的姿态数据进行第一次校准。

进一步作为优选的实施方式,还包括以下步骤:

计算得到第三变换关系,所述第三变换关系反映虚拟模型在初始状态下佩戴部位坐标系与虚拟模型所在世界坐标系的变换关系;

根据第三变换关系对姿态捕捉模块第一次校准后的姿态数据进行第二次校准。

进一步作为优选的实施方式,所述被捕捉对象为人体,所述校准姿势具体为:双手伸直垂下,掌心向内,两腿垂直站立,两脚平行。

进一步作为优选的实施方式,所述虚拟模型为机器人,所述初始状态具体为:两手左右伸开保持水平,两腿垂直地面站立,两脚平行。

进一步作为优选的实施方式,所述根据获取的姿态数据得到姿态捕捉模块佩戴部位的重力加速度和抖动程度,进而根据得到的重力加速度和抖动程度调整被捕捉对象所摆姿势和抖动程度,直至被捕捉对象所摆姿势为校准姿势且被捕捉对象的抖动程度不超过预设阈值为止这一步骤,具体包括:

取若干组能表征校准姿势特征的姿态捕捉模块的四元数,并根据取的四元数得到姿态捕捉模块各佩戴部位重力加速度的三轴分量;

根据姿态捕捉模块各佩戴部位重力加速度的三轴分量判断被捕捉对象所摆姿势是否为校准姿势,若是,则直接执行下一步骤,反之,则在调整被捕捉对象所摆姿势为校准姿势后执行下一步骤;

将所有姿态捕捉模块输出的四元数进行求和,并根据求和的结果在时域上的差值来判断被捕捉对象的抖动程度是否超过预设阈值,若是,则调整被捕捉对象直至被捕捉对象的抖动程度不超过预设阈值后执行根据姿态捕捉模块在调整后的姿态数据计算得到第一变换关系这一步骤,反之,则直接执行根据姿态捕捉模块在调整后的姿态数据计算得到第一变换关系这一步骤。

进一步作为优选的实施方式,所述根据姿态捕捉模块在调整后的姿态数据计算得到第一变换关系这一步骤,具体为:

取姿态捕捉模块在调整后的若干组姿态数据的均值,并令捕捉对象各佩戴部位坐标系方向一致,计算出地理坐标系至被捕捉对象相应佩戴部位坐标系的四元数,从而得到对应的第一变换关系。

进一步作为优选的实施方式,所述根据姿态捕捉模块在调整后的姿态数据和第一变换关系计算得到第二变换关系这一步骤,具体包括:

从姿态捕捉模块在调整后的姿态数据中获取各姿态捕捉模块由地理坐标系至姿态捕捉模块坐标系输出的四元数;

根据获取的四元数和第一变换关系对应的四元数得到姿态捕捉模块坐标系至被捕捉对象佩戴部位坐标系的四元数,从而得到对应的第二变换关系,所述姿态捕捉模块坐标系至被捕捉对象佩戴部位坐标系的四元数计算公式为:

qc(i)=[qs(i)]-1×q0

其中,qc(i)表示第i个姿态捕捉模块坐标系至被捕捉对象佩戴部位坐标系的四元数,i表示第i个姿态捕捉模块,i为正整数,qs(i)表示第i个姿态捕捉模块由地理坐标系至姿态捕捉模块坐标系输出的四元数,符号×表示四元数叉乘,q0为第一变换关系中地理坐标系至被捕捉对象佩戴部位坐标系的四元数。

与图1的方法相对应,本发明一种惯性动作捕捉姿态快速校准系统,包括:

姿态数据获取模块,用于通过姿态捕捉模块获取被捕捉对象在校准姿势下的姿态数据;

调整模块,用于根据获取的姿态数据得到姿态捕捉模块佩戴部位的重力加速度和抖动程度,进而根据得到的重力加速度和抖动程度调整被捕捉对象所摆姿势和抖动程度,直至被捕捉对象所摆姿势为校准姿势且被捕捉对象的抖动程度不超过预设阈值为止;

第一变换关系计算模块,用于根据姿态捕捉模块在调整后的姿态数据计算得到第一变换关系,所述第一变换关系反映地理坐标系与被捕捉对象佩戴部位坐标系的变换关系;

第二变换关系计算模块,用于根据姿态捕捉模块在调整后的姿态数据和第一变换关系计算得到第二变换关系,所述第二变换关系反映姿态捕捉模块坐标系与被捕捉对象佩戴部位坐标系的变换关系;

第一次校准模块,用于根据第二变换关系对姿态捕捉模块输出的姿态数据进行第一次校准。

进一步作为优选的实施方式,还包括:

第三变换关系计算模块,用于计算得到第三变换关系,所述第三变换关系反映虚拟模型在初始状态下佩戴部位坐标系与虚拟模型所在世界坐标系的变换关系;

第二次校准模块,用于根据第三变换关系对姿态捕捉模块第一次校准后的姿态数据进行第二次校准。

与图1的方法相对应,本发明一种惯性动作捕捉姿态快速校准系统,包括:

存储器,用于存储程序;

处理器,用于加载所述程序以执行如本发明所述的惯性动作捕捉姿态快速校准方法。

本发明的原理是:在惯性动作捕捉系统中,要令虚拟模型正确演示使用者姿态,需要知道姿态捕捉模块(一般包括9轴传感器及微处理器)坐标系与被驱动模型相应的骨骼坐标系(即佩戴部位坐标系)间的转换关系,该转换关系涉及到被定义的使用者佩戴部位坐标系、地理坐标系和虚拟模型所在的世界坐标系,其中,地理坐标系与虚拟模型所在的世界坐标系的转换关系是可以预先确定的,而使用者佩戴部位坐标系与地理坐标系的转换关系需要通过姿态捕捉模块得到的姿态数据及姿态捕捉模块坐标系与使用者佩戴部位坐标系间的旋转参数得到。因此本发明只需要通过校准来确定姿态捕捉模块与使用者佩戴部位坐标系间的旋转关系,以及虚拟模型各段骨骼坐标系与模型所在世界坐标系间的旋转关系。本发明的惯性动作捕捉系统中姿态捕捉模块输出的姿态数据是四元数(x,y,z,w),x,y,z分别表示旋转轴在x,y,z轴下的相关量,w则为旋转角度相关量。因此在校准过程中本发明各坐标系间的转换关系都用四元数表示。本发明只需要一个校准姿势即可完成校准,本发明定义佩戴者在该校准姿势下,各姿态捕捉模块佩戴部位的坐标系方向是一致的,只要通过该校准姿势下各姿态捕捉模块的姿态四元数,就可识别佩戴者所做姿势的正确性及抖动性,并且得出各姿态捕捉模块坐标系在佩戴部位坐标系下的姿态四元数(即校准参数),从而完成校准。另外,本发明在虚拟模型初始姿态下,得出的虚拟模型各段骨骼坐标系在虚拟模型所在世界坐标系下的姿态四元数即为驱动虚拟模型的姿态四元数的校准参数。

如图2所示,本发明实施例提供的惯性动作捕捉系统包括惯性动作捕捉硬件设备和数据终端,惯性动作捕捉硬件设备包括姿态捕捉模块和控制器模块,其中姿态捕捉模块由9轴传感器(陀螺仪、加速度计、磁力计)和微处理器组成,微处理器对9轴传感器捕捉的数据进行计算,得到姿态数据,并把姿态数据传入控制器模块,控制器模块包含电池、数据通信模块和微处理器,电池对整个动作捕捉硬件设备供电,而微处理器把各姿态捕捉模块传入的姿态数据合成帧后,由数据通信模块发送到数据终端。数据终端根据发送过来的姿态数据在经过校准等计算后,即可通过虚拟模型对佩戴者的各种动作进行实时显示,也可对动作数据进行保存。

如图3所示,以人体姿态捕捉为例,基于图2的惯性动作捕捉系统,本实施例的姿态快速校准过程的具体实现步骤如下:

s1、首先需要使用者穿戴好本发明的惯性动作捕捉系统的硬件设备,如图4所示,本实施例在人体关键的17部位都有一个姿态捕捉模块,姿态捕捉模块1-17所在部位分别为:腰部、右大腿、右小腿、右脚、左大腿、左小腿、左脚、背部、头部、右肩膀、右大臂、右小臂、右手、左肩膀、左大臂、左小臂和左手。另外,0表示控制器模块,0扣在身上。

s2、令佩戴者在tpose(两手左右伸开保持水平,两腿垂直地面站立,两脚平行,因为一般虚拟模型为tpose)姿势下各姿态模块佩戴部位相应的骨骼坐标系方向是一致的,满足右手坐标系,z轴指向天,x轴指向佩戴者右边,y轴指向佩戴者正前方。而佩戴者在校准时摆apose(即站立,具体为双手伸直垂下,掌心向内,两腿垂直站立,两脚平行),如图4所示,本实施例的apose简单易做。

s3、取多组能表示apose特征的姿态捕捉模块的四元数,由这些四元数得到各佩戴部位重力加速度的三轴分量,然后综合这些加速度值即可判断佩戴者是否处于apose姿势;同时对所有姿态捕捉模块输出的四元数作和,并根据该和值在时域上的差值来判断佩戴者的抖动程度。

s4、在佩戴者所摆姿势正确且抖动程度小于预设阈值时,取多组数据的均值,并令捕捉对象各佩戴部位坐标系方向一致,计算出姿态捕捉模块坐标系至相应佩戴者骨骼坐标系的四元数。鉴于腰部的姿态捕捉模块绑在腰上,且又与背部姿态捕捉模块相连,故佩戴者在apose姿势下腰部佩戴的姿态捕捉模块具有垂直地面且佩戴稳定的特性,所以本实施例取该姿态捕捉模块在地理坐标系(右手坐标系,z轴指向天)下的航向角作为地理坐标系至佩戴者apose下骨骼坐标系绕z轴的夹角yaw,转换为四元数(如通过欧拉角变换为四元数)后用q0表示,这里应该注意的是佩戴者两只手因为apose的关系,还存在一个绕y轴的90度夹角。

s5、通过各姿态捕捉模块输出的四元数qs(地理坐标系至姿态捕捉模块坐标系)及q0得到姿态捕捉模块坐标系至佩戴部位骨骼坐标系的四元数qc,即有:

qc(i)=[qs(i)]-1×q0(1)

式(1)中,i表示第i个姿态捕捉模块,符号×表示四元数叉乘,qs(i)表示第i个姿态捕捉模块由地理坐标系至姿态捕捉模块坐标系输出的四元数,符号×表示四元数叉乘,qc(i)表示第i个姿态捕捉模块坐标系至被捕捉对象佩戴部位坐标系的四元数。

s6、得到qc后,即可对各姿态捕捉模块输出的四元数进行校准,令校准后的四元数为qb,则:

qb(i)=qs(i)×qc(2)

s7、在得到校准后的四元数qb后,如要用其对虚拟模型进行驱动,考虑到虚拟模型初始状态下各段骨骼坐标系与虚拟模型所在世界坐标系方向可能并不一致,故需要对qb进行再一次校准:首先需要得到初始状态下(tpose)虚拟模型所在世界坐标系至虚拟模型各段骨骼坐标系的四元数qm,然后即可根据qm得到用于驱动虚拟模型的四元数qu,即有:

qu(i)=f[qb(i)]×qm(i)(3)

其中,f[·]表示四元数从地理坐标系至虚拟模型所在世界坐标系的转换运算,可根据理论模型与虚拟模型的人体朝向来预先确定。

上述快速校准方法称为apose校准方法,其只需佩戴者保持apose姿势,即可完成快速校准,没有时间约束,并且佩戴者也无需担心校准过程中出现的抖动问题,另外apose简单易做,也不用担心做得不标准。此外,若使用者想更换虚拟模型,也无需考虑虚拟模型各段骨骼坐标系问题,该方法会自动得出驱动虚拟模型的校准参数。

以上是对本发明的较佳实施进行了具体说明,但本发明并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1