本发明涉及运动捕捉技术,尤其涉及惯性运动捕捉姿态瞬时校准方法及其系统。
背景技术:
运动/动作捕捉技术是一种利用各种传感器设备和科学技术方法把物体的运动信息转换成电脑能识别的信息的一种技术。运动捕捉技术被广泛的应用在影视动画,虚拟游戏,体育,医疗等各个领域。
根据使用的硬件方法的不同,运动捕捉技术包括机械式运动捕捉、声学式运动捕捉、电磁式运动捕捉、光学式运动捕捉和惯性运动捕捉等几种方法。各种运动捕捉方法在使用环境、捕捉精度、易于使用性和价格等几个维度上都各有不同。综合来说,惯性运动捕捉技术在这几个维度上都有不错的性能,所以在运动捕捉的应用领域得到越来越多的应用。采用惯性动捕技术,在使用时需要在被捕捉的物体上绑定姿态捕捉模块。在运动捕捉之前安装姿态捕捉模块时,由于不能保证每次安装在被捕捉物体上姿态捕捉模块的位置都是一样的,尤其是设备安装在个体差异比较大的人体时,所以,需要在物体上固定好姿态捕捉模块之后,再去完成姿态捕捉模块计算的物体初始姿态和设备终端的物体模型的初始姿态的对应关系,这就是惯性动捕技术里所说的校准。任何惯性动捕技术只有在完成校准这个过程后,才能进行下一步的动作捕捉。
现有的惯性动捕技术的校准比较复杂,一般地,需要使用者摆多个不同的姿势,并且要求每个姿势都保持十几秒到几十秒的时间。因为在摆姿势的时候,多少都会和标准姿势存在偏差,而且要求姿势保持的时间越长,偏差会有增大的趋势。而校准需要摆的姿势越多的话,偏差就更有增大的趋势,不利于惯性动作捕捉系统的精度,影响惯性动作捕捉系统的使用和应用。
另一方面,在现有的动作捕捉技术中,为了高度还原被捕捉物体的动作,需要把虚拟的物体结构比例按照实际物体的结构比例去建模,由此实现姿态的精准校准。当被捕捉的物体的各部分骨骼比例差别较大时,需要手动修改虚拟物体模型的骨骼比例。当被捕捉的物体的骨骼数量较多时(以人体为例,如果捕捉人体全身包括手指的动作,总共需要捕捉大概47个主要的骨骼),现有通过手动修改虚拟物体模型的骨骼比例进行参数调整实现校准的方法,给动作捕捉系统的使用带来很大的不方便,不利于动作捕捉技术的应用和推广。
技术实现要素:
为了克服上述现有技术的不足,本发明提供一种惯性运动捕捉姿态瞬时校准方法,使用本发明的技术方案,不需要使用者摆多个不同的姿势,只需采用一个姿势,即能瞬间快速完成系统校准,还可在校准过程中进行姿势纠偏和自动快速调整虚拟模型骨骼比例,进一步提高使用者姿态与虚拟模型的初始姿态的匹配度,有效解决虚拟模型和实际模型骨骼比例不一致的问题。
本发明的原理是:在动作捕捉系统中,存在几个坐标系。一个是世界坐标系V(w),是姿态捕捉模块直接能捕捉并输出的坐标系,表示的是物体三维世界里的物体姿态;由于传感器的硬件不同,用传感器的输出来表示的世界坐标系V(w)可以是不一样的;可用Vi(w)(i=1,2,…n)来表示每个传感器所确定的世界坐标系。另一个是被捕捉的物体所处的坐标系,各个物体所处的坐标系可能不一样,可以简单化地把各个被捕捉的物体所处的坐标系定义成一个统一的坐标系,即坐标系V(o)。此外,姿态捕捉模块需要安装在被捕捉的物体上才能捕捉到物体的动作,由于安装姿态捕捉模块时并不能保证每个姿态捕捉模块安装的倾斜角和朝向都一样,因此,被捕捉的物体和安装的姿态捕捉模块之间存在一个安装坐标系V(a)。每个被捕捉的物体的安装坐标系都不一样,可用Vi(a)(i=1,2,…n)来表示第i个物体的安装坐标系。当用惯性传感器来捕捉物体(特别是捕捉人体)的动作时,一个首要解决的问题是要找出各个姿态捕捉模块表示的世界坐标系之间的关系。在实际实验中,影响传感器精度的因素主要是磁场的因素,当用欧拉角来表示传感器的输出姿态时,磁场主要影响的是水平角度的值,即yaw值。本发明采用四元数表示各个姿态捕捉模块的世界坐标系的关系,将各个姿态捕捉模块之间的世界坐标系进行统一,再定义物体的初始姿态和坐标系,并找出物体坐标系和世界坐标系的关系,由此实现运动捕捉的瞬时校准。在此基础上,能够进一步实现捕捉物体的运动姿态。
本发明的技术方案是:
一种惯性运动捕捉姿态瞬时校准方法及其系统,只需通过采用一个姿势,即能瞬间快速完成惯性运动捕捉系统的姿态校准;所述惯性运动捕捉系统包括数据通信模块、多个姿态捕捉模块和数据终端;姿态捕捉模块包括九轴传感器和微处理器或仅包括九轴传感器,以其中一个姿态捕捉模块为基准模块;所述姿态瞬时校准方法包括如下步骤:
1)姿态捕捉模块直接捕捉并输出的坐标系为世界坐标系,设定世界坐标系为V(w);各个被捕捉的物体所处的坐标系定义物体统一坐标系,设定物体统一坐标系为V(o);被捕捉的物体和安装的姿态捕捉模块之间的坐标系为安装坐标系,设定安装坐标系为V(a);设定Vi(a)(i=1,2,…n)表示第i个物体的安装坐标系;
2)采用四元数(x,y,z,w)表示各个姿态捕捉模块的世界坐标系V(w),其中,x,y,z,w分别表示四元数的四个参数;通过测量各个传感器的欧拉角水平角度的偏移值YAWi(i=1,2,…n),统一各个姿态捕捉模块之间的世界坐标系;
通过式1统一各个姿态捕捉模块之间的世界坐标系:
Quati(x,y,z,w)=Etoq(YAWi,0,0)(i=1,2,…n) (式1)
式1中,Quati(x,y,z,w)为第i个模块的四元数,本发明采用四元数表示各个姿态捕捉模块之间统一的世界坐标系;YAWi为欧拉角的水平旋转角度,其取值通过测量得到;当姿态捕捉模块为基准模块时,YAWi=0;Etoq(yaw,pitch,roll)是欧拉角转换四元数的方法,用式2表示:
其中,Quat(x,y,z,w)表示一个四元数;yaw、pitch和roll分别为欧拉角水平旋转角度、俯仰选转角度、倾斜旋转角度。
3)设定系统虚拟模型和系统标准Tpose,在被捕捉物体上安装好惯性运动捕捉系统并摆好初始校准姿态;定义被捕捉物体的初始姿态Tpose和坐标系;
本发明实施例中,以捕捉人体的运动为例,Tpose表示人处于两手伸开保持水平,两腿垂直地面站立,脚面互相平行的姿态,一般以Tpose作为人体的初始姿态。定义物体的X轴正方向为左手方向,Y轴正方向为垂直水平面向上方向,Z轴正方向为人正前方方向为物体坐标系的X轴、Y轴、Z轴的朝向。
此步骤还可进一步进行人体摆出的姿势和标准Tpose的纠偏处理,可通过骨骼比例进行模型配准;当人体摆出的初始校准姿势Tpose不符合标准Tpose时,给出做反方向调整姿势的提示,被捕捉物体根据提示进行姿势纠偏,直到摆出的初始校准姿势Tpose姿势符合标准姿势,再执行瞬时校准操作;此外,在校准过程中还可通过自动快速调整虚拟模型骨骼比例的方法,快速地把虚拟模型的骨骼比例调整得和实际人体的骨骼比例一致;
4)设姿态捕捉模块i安装时的姿态为初始校准姿态Eulor(yawi0,pitchi0,rolli0),传感器i的姿态输出为Qi,通过计算得到物体i的姿态四元数为Qrlti,由此找出物体坐标系和世界坐标系的关系,从而实现运动捕捉的瞬时校准;
此步骤输入的参数是基准模块的局部坐标系的X轴和被捕捉物体局部坐标系的X轴的相对偏移角度baseangle、被捕捉物体保持初始姿态时各个姿态捕捉模块输出的欧拉角的yaw值YAWi、各个姿态捕捉模块的初始校准姿态的欧拉角(yawi0,pitchi0,rolli0),输出的结果是物体i的姿态四元数Qrlti(i=1,2,…n);
41)在固定在被捕捉物体上的姿态捕捉模块中,选择一个模块作为基准姿态捕捉模块;所述基准姿态捕捉模块的安装要满足位置和方向要求,使得基准模块的局部坐标系的X轴和被捕捉物体局部坐标系的X轴的相对偏移角度是一个固定值,该固定值为基准模块的局部坐标系和被捕捉物体的局部坐标系的X轴夹角与被捕捉物体保持初始姿态时基准姿态捕捉模块输出的欧拉角的yaw值之和;
除基准姿态捕捉模块外,对姿态捕捉模块安装的位置和方向没有要求;对基准模块安装的位置和方向要求是:每次在被捕捉物体上安装时,基准模块的局部坐标系的X轴和物体局部坐标系的X轴的相对偏移角度是个固定值。设定这个偏移角度为baseangle,假设基准模块的局部坐标系和被捕捉物体的局部坐标系的X轴夹角为α,被捕捉物体保持初始姿态时基准姿态捕捉模块输出的欧拉角的yaw值为β,则baseangle=α+β;
42)采用姿态捕捉模块安装在物体时的初始姿态来表示物体的安装坐标系,记录初始校准姿态下各传感器的安装坐标系(yawi0,pitchi0,rolli0);
43)通过式3计算得到安装坐标系与世界坐标系的关系:
Qi0x,y,z,w)=Etoq(yawi0,pitchi0,rolli0)-1×Qi (式3)
式3中,Qi0(x,y,z,w)为第i个传感器的安装坐标系与世界坐标系的关系四元数;(yawi0,pitchi0,rolli0)为初始校准姿态下各传感器的安装坐标系;Qi为传感器i的姿态输出,是传感器i的输出四元数;
44)通过式4~5计算得到姿态捕捉模块局部坐标系与世界坐标系的关系:
Qi1(x,y,z,w)=Etoq(yawi0,0,0) (式4)
Qi2(x,y,z,w)=Qi1×Qi0×Qi1-1 (式5)
其中,Qi1为第i个传感器水平旋转了角度yawi0后的四元数;Qi2为第i个姿态捕捉模块的局部坐标系与世界坐标系的关系四元数;(yawi0,0,0)为初始校准姿态下基准姿态捕捉模块的安装坐标系;
43)通过式6~7计算得到物体局部坐标系与世界坐标系的关系:
Qi3(x,y,z,w)=Etoq(baseangle+YAWi-yawi0,0,0) (式6)
Qrlti=Qi3*Qi2*Qi3-1 (式7)
其中,Qi3为第i个姿态捕捉模块水平角度旋转角度(baseangle+YAWi-yawi0)后的四元数;Qrlti为物体i的姿态四元数。
上述瞬时校准方法也称为Tpose校准。通过上述过程,只需被捕捉物体保持初始校准姿态,即可实现运动捕捉系统的瞬间校准;进行上述校准之后,被捕捉物体在运动时的动态姿态可以由传感器的输出计算得到。
本发明提供的惯性动作捕捉系统包括运动捕捉硬件系统和数据终端;动作捕捉硬件系统包括数据通信模块和姿态捕捉模块;其中,姿态捕捉模块由九轴传感器和微处理器组成(或仅由九轴传感器组成),微处理器采集传感器捕捉的信息进行计算,并把计算好的姿态数据传输到通信模块(当姿态模块不包含微处理器时,这部分的工作由通信模块上的微处理器来完成)。通信模块由电池,RF通信模块和微处理器组成。电池给整个动作捕捉硬件系统供电,微处理器把姿态捕捉模块发送过来的数据组织成帧发送给数据终端。数据终端接受通信模块发过来的数据,先进行计算,再对数据进行显示或者保存。
完成上述校准之后,人做的任何动作都可以捕捉下来,并且可以实时、直观地从软件中的虚拟人物模型的动作反映出来。
在上述进行瞬时校准(Tpose校准)的过程中,还可以对被捕捉物体(如人体)进行拍照,根据拍摄照片时人体的姿势和标准Tpose的区别进行纠偏处理,例如,在软件系统中设置标准Tpose,当分析图片发现人体摆出的初始校准姿势Tpose不符合标准Tpose时,给出做反方向调整姿势的提示,被捕捉物体根据提示进行姿势纠偏,直到摆出的初始校准姿势Tpose姿势符合标准姿势,再执行瞬时校准操作。
进一步地,本发明还提供一种在校准过程中自动快速调整虚拟模型骨骼比例的方法,这个方法能快速地把虚拟模型的骨骼比例调整得和实际模型的骨骼比例一致。本方法通过摄像头把被捕捉物体的初始姿态拍下来,然后通过对图像进行分析,计算出被捕捉物体的骨骼比例,然后按照这个比例重新构造虚拟物体模型。因为这个方法是在校准的过程软件自动完成的,并没有增加用户的额外操作时间,但又能有效的解决了虚拟模型和实际模型骨骼比例不一致所导致的一系列问题。
针对在校准过程中自动快速调整虚拟模型骨骼比例的方法,具体地,若被捕捉物体为人体或动物,在进行上述瞬间校准时,可以通过快速获取被捕捉物体的骨骼比例来同步修改虚拟人物模型的骨骼比例而进行配准,使得虚拟人物模型的骨骼比例与被捕捉的人体的骨骼比例一样;骨骼比例配准方法包括以下步骤:
1)通过拍照或图像获取得到被捕捉物体的影像信息;
2)通过对影像的分析,提取得到被捕捉物体的身体主要肢节的比例信息;
可通过计算机或者其他图像处理设备对图像进行分析处理,通过多种方法获取使用者的身体肢节比例。
3)根据被捕捉物体的身体比例信息,调整已有虚拟人物模型各部分的比例,可在已有的虚拟人物模型库中查找合适的模型进行更新,或者选取合适的模型进行组装获得新的虚拟人物模型进行更新;也可以根据上述得到的身体主要肢节比例重新生成一个适合的人体模型,作为当前的虚拟人物模型。
与现有技术相比,本发明的有益效果是:
本发明提供一种惯性运动捕捉姿态瞬时校准方法及其系统,通过建立动作捕捉系统中的世界坐标系V(w)、捕捉物体坐标系、安装坐标系之间的关系进行姿态瞬时校准。使用本发明的技术方案,不需要使用者摆多个不同的姿势,只需采用一个姿势,即能瞬间快速完成系统校准,操作简单便捷,因此能够减少校准误差,同时也极大地节省了捕捉动作的时间。本发明还可在校准过程中进行姿势纠偏和自动快速调整虚拟模型骨骼比例,进一步提高使用者姿态与虚拟模型的动作节点的匹配度,有效解决虚拟模型和实际物体骨骼比例不一致而导致的问题,能够高度还原被捕捉物体的动作,提高运动捕捉的精准程度。
附图说明
图1是本发明提供的姿态瞬时校准方法的流程框图。
图2是本发明实施例中采用的运动捕捉系统的结构框图。
图3是本发明实施例中运动捕捉系统人体安装结构框图;
其中,1~17为姿态捕捉模块;18为通信模块。
图4是本发明提供的模型配准方法的流程框图。
具体实施方式
下面结合附图,通过实施例进一步描述本发明,但不以任何方式限制本发明的范围。
本发明提供一种惯性运动捕捉姿态瞬时校准方法,通过建立动作捕捉系统中的世界坐标系V(w)、捕捉物体坐标系、安装坐标系之间的关系进行姿态校准。使用本发明的技术方案,不需要使用者摆多个不同的姿势,只需采用一个姿势,即能瞬间快速完成系统校准,操作简单便捷,因此能够减少校准误差,同时也极大地节省了捕捉动作的时间。本发明进一步提出模型配准方法,用于提高姿态匹配的一致性,提高使用者姿态与虚拟模型的动作节点的匹配度,能够高度还原被捕捉物体的动作。
图1是本发明提供的姿态瞬时校准方法的流程框图;图2是本发明实施例中采用的运动捕捉系统的结构框图,运动捕捉系统包括运动捕捉硬件系统和数据终端;动作捕捉硬件系统包括数据通信模块和姿态捕捉模块;其中,姿态捕捉模块由九轴传感器和微处理器组成(或仅由传感器模块组成),九轴传感器用于捕捉加速度,陀螺仪,磁力计等信息,微处理器采集传感器捕捉的信息进行计算,并把计算好的姿态数据传输到通信模块(当姿态捕捉模块不包含微处理器时,这部分的工作由通信模块上的微处理器来完成)。通信模块由电池,RF通信模块和微处理器组成。电池给整个动作捕捉硬件系统供电,微处理器把姿态捕捉模块发送过来的数据组织成帧发送给数据终端。数据终端接受通信模块发过来的数据,先进行计算,再对数据进行显示或者保存。
下面以捕捉人体动作为例,具体阐述本发明的实施方式。
在人体上安装动捕硬件系统前,测量好了各个模块相对于基准模块的世界坐标系偏移角度(YAWi),(i=0,1,2…n),在本实施例中,n=17;
要捕捉人体的运动,首先要把动捕硬件系统安装在人体上。如图3所示,需要在人体关键的17个骨骼安装姿态捕捉模块。传感器1安装在左手手掌背部,传感器2安装在左手手腕处,传感器3安装在左手上臂,传感器4安装在左肩膀,传感器5安装在头部,传感器6安装在右肩膀,传感器7安装在右手上臂,传感器8安装在右手手腕,传感器9安装在右手手掌背部,传感器10安装在右大腿,传感器11安装在右小腿,传感器12安装在右脚,传感器13安装在左大腿,传感器14安装在左小腿,传感器15安装在左脚,传感器16安装在腰部,传感器17安装在背部,通信模块18安装在背部上方。
所述的姿态捕捉模块由九轴传感器和微处理器组成(或仅由九轴的传感器组成)。九轴传感器用于捕捉加速度,陀螺仪,磁力计等信息。微处理器以500HZ的采样速率对传感器的输出进行采样,计算存储,并且监听总线,当从总线上监听到发送数据请求,则把存储的数据发送给通信模块(当姿态模块不包含微处理器时,这部分的工作由通信模块上的微处理器来完成)。
所述的通信模块由RF模块,电池和微处理器组成,电池给整个动捕硬件系统供电,微按照固定的时间间隔,给不同的姿态捕捉模块发送数据请求,在接受到数据后,按照120FPS的速率发送给数据处理终端。
在本实施例中,选择右手腕处的模块8为基准模块。安装时,姿态捕捉模块得局部坐标系X方向与右手腕骨骼的局部坐标系的X方向的夹角为90。所以baseangle=(90+yaw80)
在数据处理终端上运行的动作捕捉软件上导入建好的虚拟人物模型,并把虚拟人物的每根骨骼的局部坐标系定义为:X轴正方向为左手方向,Y轴正方向为垂直水平面向上方向,Z轴正方向为人正前方方向。
开启硬件系统开关,并摆好Tpose的姿势(此步骤还可进一步进行人体的姿势和标准Tpose的纠偏处理,或/并通过骨骼比例进行模型配准),在数据处理终端上运行实现了本发明提供的瞬时校准方法的动作捕捉软件,该软件在进行校准时,首先记录下所有姿态捕捉模块的安装坐标系(yawi0,pitchi0,rolli0)(i=0,1,2…n)。在本实例中,n=17。
然后,通过公式3将接收到的传感器的世界坐标系转换为姿态捕捉模块的安装坐标系;通过公式4、5,将安装坐标系转换为姿态捕捉模块的局部坐标系;再根据公式6、7,将姿态捕捉模块的局部坐标系转换为对应骨骼(人体)的局部坐标系。
完成上述校准之后,人做的任何动作都可以捕捉下来,并且可以实时、直观地从软件中的虚拟人物模型的动作反映出来。
在上述进行瞬时校准(Tpose校准)的过程中,还可以对被捕捉物体(如人体)进行拍照,根据拍摄照片时人体的姿势和标准Tpose的区别进行纠偏处理,例如,在软件系统中设置标准Tpose,当分析图片发现人体摆出的初始校准姿势Tpose不符合标准Tpose时,给出做反方向调整姿势的提示,被捕捉物体根据提示进行姿势纠偏,直到摆出的初始校准姿势Tpose姿势符合标准姿势,再执行瞬时校准操作。本实施例中,标准Tpose是两腿垂直地面站立,两两脚互相平行,两手臂水平伸展,眼睛目视前方。软件里的模型初始姿态即为Tpose,人在摆Tpose的时候,实际姿势都会和标准的姿势Tpose有偏差,比如,手臂可能跟水平线有正负5度的偏差,如果手臂向下偏差5度,软件可以提示手臂向上调整5度。
进一步地,若被捕捉物体为人体或动物,在进行上述校准时,还可以通过快速获取被捕捉物体的骨骼比例来同步修改虚拟人物模型的骨骼比例而进行配准,使得虚拟人物模型的骨骼比例与被捕捉的人体的骨骼比例一样;图4是本发明提供的通过骨骼比例进行模型配准方法的流程框图,骨骼比例配准方法包括以下步骤:
1)通过拍照或图像获取得到被捕捉物体的影像信息;
2)通过对影像的分析,提取得到被捕捉物体的身体主要肢节的比例信息;
可通过计算机或者其他图像处理设备对图像进行分析处理,通过多种方法获取使用者的身体肢节比例。例如,可采用文献1(梁梦雪,基于深度图像的人体骨骼提取技术的研究,沈阳工业大学硕士学位论文,2015.03)记载的方法,通过对深度图像的分析提取人体的主要骨骼模型;或采用文献2(魏莱,基于关节点的人体动作识别及姿势分析研究,北京邮电大学硕士学位论文,2014.01)所记载的方法,通过检查关节的位置,通过各个关节直接的间距,根据关节间距的比例关系得到人体主要骨骼的比例;等。为简化图像分析难度,也可采用文献3(黄虎,基于单目视觉的人体动作捕捉,电子科技大学硕士学位论文,2011.04)所记载的方法,直接在关节处进行人工标注,然后通过图像分析这些标记点的间距比例关系得到人体的骨骼模型;也可以采用文献4(杨冬梅,基于双目视觉的人体参数获取方法的研究,吉林大学硕士学位论文,2014.06)所记载的使用双目视觉的方法提取出人体各主要肢节的比例关系。
3)根据被捕捉物体的身体比例信息,调整已有虚拟人物模型各部分的比例,可在已有的虚拟人物模型库中查找合适的模型进行更新,或者选取合适的模型进行组装获得新的虚拟人物模型进行更新;也可以根据上述得到的身体主要肢节比例重新生成一个适合的人体模型,作为当前的虚拟人物模型。
上述方法能够实现自动快速调整虚拟模型骨骼比例,这个方法能快速地把虚拟模型的骨骼比例调整得和实际模型的骨骼比例一致。可通过摄像头把被捕捉物体的初始姿态拍下来,然后通过对图像进行分析,计算出被捕捉物体的骨骼比例,然后按照这个比例重新构造虚拟物体模型。上述方法可在瞬间校准过程的同时自动完成,并没有增加用户的额外操作时间,但该方法能有效的解决了虚拟模型和实际模型骨骼比例不一致所导致的一系列问题。
需要注意的是,公布实施例的目的在于帮助进一步理解本发明,但是本领域的技术人员可以理解:在不脱离本发明及所附权利要求的精神和范围内,各种替换和修改都是可能的。因此,本发明不应局限于实施例所公开的内容,本发明要求保护的范围以权利要求书界定的范围为准。