CN113793360B - 基于惯性传感技术的三维人体重构方法 - Google Patents
基于惯性传感技术的三维人体重构方法 Download PDFInfo
- Publication number
- CN113793360B CN113793360B CN202111008812.7A CN202111008812A CN113793360B CN 113793360 B CN113793360 B CN 113793360B CN 202111008812 A CN202111008812 A CN 202111008812A CN 113793360 B CN113793360 B CN 113793360B
- Authority
- CN
- China
- Prior art keywords
- human body
- coordinate system
- representing
- data
- error
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 50
- 238000005516 engineering process Methods 0.000 title claims abstract description 18
- 230000033001 locomotion Effects 0.000 claims abstract description 75
- 238000006073 displacement reaction Methods 0.000 claims abstract description 39
- 230000005540 biological transmission Effects 0.000 claims abstract description 14
- 230000004927 fusion Effects 0.000 claims abstract description 12
- 230000001360 synchronised effect Effects 0.000 claims abstract description 10
- 230000036544 posture Effects 0.000 claims description 49
- 239000013598 vector Substances 0.000 claims description 38
- 239000011159 matrix material Substances 0.000 claims description 23
- 230000001133 acceleration Effects 0.000 claims description 17
- 238000012937 correction Methods 0.000 claims description 17
- 230000008569 process Effects 0.000 claims description 13
- 230000003068 static effect Effects 0.000 claims description 12
- 238000005259 measurement Methods 0.000 claims description 9
- 238000005070 sampling Methods 0.000 claims description 8
- 238000001914 filtration Methods 0.000 claims description 7
- 230000008878 coupling Effects 0.000 claims description 5
- 238000010168 coupling process Methods 0.000 claims description 5
- 238000005859 coupling reaction Methods 0.000 claims description 5
- 238000012545 processing Methods 0.000 claims description 5
- 230000005484 gravity Effects 0.000 claims description 4
- 238000007499 fusion processing Methods 0.000 claims description 2
- 238000005096 rolling process Methods 0.000 claims description 2
- 230000035945 sensitivity Effects 0.000 claims description 2
- 238000012544 monitoring process Methods 0.000 abstract description 3
- 238000001514 detection method Methods 0.000 abstract description 2
- 210000003414 extremity Anatomy 0.000 description 44
- 210000001624 hip Anatomy 0.000 description 13
- 238000010586 diagram Methods 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 5
- 230000007547 defect Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000005286 illumination Methods 0.000 description 3
- 238000011065 in-situ storage Methods 0.000 description 3
- 238000002474 experimental method Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 244000309466 calf Species 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000004146 energy storage Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000011478 gradient descent method Methods 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 210000000629 knee joint Anatomy 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 210000004197 pelvis Anatomy 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
- G06T7/251—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments involving models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/277—Analysis of motion involving stochastic approaches, e.g. using Kalman filters
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
- G06T7/75—Determining position or orientation of objects or cameras using feature-based methods involving models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30196—Human being; Person
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30241—Trajectory
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)
Abstract
本发明属于人体动作捕捉领域,提供一种基于惯性传感技术的三维人体重构方法。其中,三维人体重构所依赖的设备主要是15个惯性传感节点,该惯性传感节点包括三轴加速度计、三轴陀螺仪、三轴磁力计和无线传输模块,每个节点均可单独发送数据到上位机,上位机利用肢体的运动数据确定人体初始姿态,并将人体初始姿态与人体模型进行标定;利用基于卡尔曼的零速更新算法求解足部位移,利用基于梯度下降的数据融合算法求解肢体的姿态,按照本发明的重构方法实现人体姿态和位移的同步重构。本发明适用于多传感器医疗监护、消防救援等应用中,可以同时监测人体的姿态和位移,对动作行为检测领域有重大意义。
Description
技术领域
本发明属于三维人体动作捕捉领域,尤其涉及一种基于惯性传感技术的融合人体姿态和位移的三维人体重构方法。
背景技术
动作捕捉是指利用机械装置、光学、声学、电磁学或惯性传感器等设备获取人体运动数据并将运动姿态重现的技术,在影视游戏制作,机器人控制,虚拟现实互动,体育训练,医疗康复,健康监测等方面发挥巨大的作用,受到越来越多研究人员的关注。其本质是通过数据采集设备对人体运动信息和空间位置进行实时采集,对采集到的数据进行处理分析,并通过虚拟现实技术,利用三维人体模型重现人体在现实空间中的姿态变化和空间位置变化。
目前,应用较多的动作捕捉方法主要有两类:光学式和惯性式动作捕捉方法。光学式动作捕捉方法需要事先在空间内安装多台摄像机,并在人体上布置光学标识,通过不同位置摄像机从不同角度确定人体上光学标识的空间位置,各光学标识之间构成刚体,在计算机上构建虚拟人体,实现动作捕捉。该方法捕捉精度高,实时性强,可以同时重构人体姿态和位移,并且可以同时捕捉多个人体目标;但是需要的设备较多,并且较为昂贵,使用场地要求较高,场地转换时间成本较高,携带不便,并且受光照,视角,阴影,遮挡等因素的影响较大。
随着MEMS传感技术的飞速发展,惯性传感器性能提升,精度提高,并且越来越小巧轻便,使其可以穿戴于人体关键运动肢体且不会影响人体的正常运动,惯性式动作捕捉方法受到越来越多研究人员的关注。该方法通过穿戴于人体关键运动肢体的传感节点采集人体运动数据,利用数据融合算法融合加速度计、磁力计和陀螺仪数据解算人体姿态实现动作捕捉。具有无需提前布置额外的辅助设备,成本较低,不会受到遮挡、光照的影响,室内室外都可以使用,携带方便,环境因素限制小的优点;但是仍然存在一定的缺点:惯性传感节点通过物理连接实现数据传输,限制人体肢体运动;惯性传感节点数据不能同步;三维人体模型只能原地捕捉人体运动姿态,无法计算人体腰部根节点的绝对位置,不能实现人体姿态和位移的同步重构。
发明内容
为了克服现有技术中存在的不足,本发明以微型惯性传感器技术为基础,结合惯性导航、数据融合原理和计算机图形学,提出一种融合人体姿态和位移的三维人体重构系统。其采用全部惯性传感节点无线连接方式传输数据,不受光照约束,穿戴简单,运动限制较小,性价比较高的实时的融合人体姿态和位移的三维人体重构系统。
为了实现以上目的,本发明采用以下技术方案实现:
一种基于惯性传感技术的三维人体重构系统,它包括十五个惯性传感节点、路由装置和上位机:所述的每个惯性传感节点包括三轴陀螺仪、三轴加速度计和三轴磁力计,以及一个无线传输模块,利用无线传输模块通过UDP无线传输协议以路由装置为中间媒介发送给上位机,上位机进行数据融合处理更新人体姿态和位置。
所述的基于惯性传感技术的三维人体重构方法,包括以下步骤:
步骤100、将十五个惯性传感节点穿戴于人体关键运动肢体,采集人体关键运动肢体的惯性运动数据和三轴磁力计数据,每个惯性传感节点通过无线模块按照规定的数据传输协议将数据发送到上位机;所述的惯性运动数据包括三轴加速度计数据和三轴陀螺仪数据。
步骤200、人体静止站立面向磁场北方向站立,利用三维加速度数据和经过椭球拟合矫正后的三维磁力计数据求解人体运动肢体的初始姿态,并根据初始姿态确定传感器坐标系到载体坐标系的旋转四元数;其中,初始姿态包括各运动肢体站立状态时的欧拉角,包括俯仰角、翻滚角和航向角。
步骤300、根据静止站立时的运动数据和磁力计数据,通过重力矢量方向和磁场北极方向获得传感器坐标系到导航坐标系的旋转四元数,并利用旋转四元数对人体初始姿态和人体模型标定。
步骤400、针对不同部位的传感节点采用不同的处理方式。对足部惯性传感节点采用基于卡尔曼滤波器的零速更新算法求解足部位移;对全身惯性传感节点采用基于梯度下降的数据融合算法求解各运动肢体的姿态。然后融合足部空间位置和各关键运动肢体姿态,腰部根节点位置通过足部空间位置推算得到,再以腰部节点为根节点,更新人体姿态和位置,实现三维人体重构。
优选的,步骤200,人体静止站立面向磁场北方向站立,利用三维加速度数据和经过椭球拟合矫正后的三维磁力计数据求解人体运动肢体的初始姿态,并根据初始姿态确定传感器坐标系和载体坐标系的旋转四元数,包括以下过程:
步骤201,利用最小二乘法进行椭球拟合,求解以下误差模型:
其中,表示磁力计的测量值,/>表示磁力计不存在误差的理论值,/>表示磁力计零偏误差,kx,ky,kz表示磁力计各轴灵敏度误差系数;kxy、kyx、kzx、kzy、kxz、kyz表示磁力计各轴的耦合系数。
通过最小二乘法拟合得到椭球方程,求解误差系数K和零偏误差B0,
其中,表示椭球形状矩阵;a,b,c,d,e,f,p,q,r表示需要求解的椭球面参数;H表示某地的磁场强度。
步骤202,根据磁场误差模型,将磁力计数据进行矫正;
步骤203,利用磁力计分量确定磁场北极方向,结合加速度计分量确定运动肢体的初始姿态:
利用三轴加速计数据求解得到俯仰角θ和横滚角γ:
其中,分别为加速度计三个轴向的输出;
得到俯仰角和横滚角后,结合磁力计数据可得到航向角
其中,是X轴和Y轴磁场强度修正到当地水平面后磁力计的值。
步骤204,利用下式将俯仰角、横滚角和航向角转换为载体坐标系到传感器坐标系的旋转四元数
优选的,步骤300,根据静止站立时的运动数据和磁力计数据,通过重力矢量方向和磁场北极方向获得传感器坐标系到导航坐标系的旋转四元数,并利用旋转四元数对人体初始姿态标定,包括以下过程:
人体模型关节点坐标位置公式:
其中,为编号为m的人体模型关节在导航坐标系下t时刻的坐标;a为人体模型肢体向量的个数;/>为编号为m的人体模型肢体向量在导航坐标系下t时刻的表示;O(t)为人体模型起始关节点的坐标。
人体模型肢体向量在导航坐标系的旋转可以表示为:
其中,表示载体坐标系到导航坐标系的旋转四元数;/>表示载体坐标系到导航坐标系的旋转四元数的共轭;人体模型肢体向量在导航坐标系表示为/>人体模型肢体向量在载体坐标系表示为/>表示四元数乘法。
人体模型肢体向量在导航坐标系的旋转公式进一步可以表示为:
其中,表示传感器坐标系到地理坐标系的旋转四元数,初始/>通过三维加速度数据和三维磁力计数据求得;/>表示人体载体坐标系到传感器坐标系的旋转四元数;/>表示地理坐标系到传感器坐标系的旋转四元数。
在进行初始人体姿态校正时,载体坐标系通过静止时朝北站立的方式与导航坐标系重合,可以得到在静止时刻:
利用人体模型肢体向量在导航坐标系的旋转公式,对人体初始姿态和人体模型进行标定。
优选的,步骤400,对足部惯性传感节点采用基于卡尔曼滤波器的零速更新算法求解足部位移;对全身惯性传感节点采用基于梯度下降的数据融合算法求解各运动肢体的姿态。然后融合足部空间位置和各关键运动肢体姿态,腰部根节点位置通过足部空间位置推算得到,再以腰部节点为根节点,更新人体姿态和位置,实现三维人体重构。
步骤401,对足部惯性传感节点采用基于卡尔曼滤波器的零速更新算法求解足部位移,包括以下过程:
在人体运动过程中的摆动相时,利用如下公式更新足部姿态、速度和位置:
其中,姿态表示为姿态矩阵I表示单位矩阵;e表示采样序列号;/>表示陀螺仪在载体坐标系中的输出值;vn表示足部的速度;gn表示当地的重力加速度;pn表示足部的位置;fb表示在载体坐标系下加速度计的输出量;Δt表示系统采样周期。
在人体运动过程中的支撑相时,将支撑相内的速度作为速度误差在间接卡尔曼滤波中作为误差子系统的伪观测值,利用姿态、速度和位置之间的相互耦合关系校正更多的误差,误差子系统可表示为:
其中表示姿态在误差子系统中的估计量;/>表示速度在误差子系统中的估计量;/>表示位移在误差子系统中的估计量;/>表示姿态在误差子系统中的精确量;δvn表示速度在误差子系统中的精确量;δpn表示位移在误差子系统中的精确量;δfb表示在载体坐标系下加速误差精确量;/>表示地心坐标系相对于载体坐标系的角速度在载体坐标系的投影的计算误差。该系统的状态向量可表示为/>系统噪声可表示为/>[fn×]表示在导航坐标系下的加速度反对称矩阵;/>表示载体坐标系到导航坐标系的旋转矩阵。
步骤402,利用基于梯度下降的数据融合算法更新运动肢体姿态,可用以下公式进行迭代:
其中,q表示旋转四元数,β表示陀螺仪的测量误差,可通过标定算法测量得到;ts表示采样周期;Ff,m(q,f,m)表示目标函数。
步骤403,更新后的足部位移和四元数可以用于驱动人体模型的肢体向量,首先从足部推算腰部关节点的位置,然后遍历更新全身关节点的位置,实现姿态和位移的同步重构。
本发明的有益效果:本发明提供一种基于惯性传感技术的融合人体姿态和位移的三维人体重构系统和方法,采用无线传输方式采集人体运动信息,将足部位移融合到动作捕捉中,克服人体模型只能原地捕捉人体运动姿态,推算出人体腰部根节点的绝对位置,实现姿态和位移的同步重构。本发明适用于多传感器医疗监护、消防救援等应用中,可以同时监测人体的姿态和位移,对动作行为检测领域有重大意义。
附图说明
图1为本发明实施例提供的基于惯性传感技术的融合人体姿态和位移的三维人体重构方法的实现流程图。
图2为本发明实施例中15个惯性传感节点穿戴位置示意图。
图3(a)为本发明实施例中载体坐标系的示意图。
图3(b)为本发明实施例中导航坐标系的示意图。
图3(c)为本发明实施例中传感器坐标系的示意图。
图4为本发明实施例中硬件设施示意图。
图5为本发明实施例中人体模型关节点变量里更新顺序。
图6(a)为本发明实施例中实例一中三维动作捕捉效果图。
图6(b)为本发明实施例中实例一中右手运动轨迹变化。
图7为本发明实施例中实例二中三维动作捕捉效果图。
图8为本发明实施例中实例二中右足和骨盆位置曲线。
具体实施方式
为使本发明解决的技术问题、采用的技术方案和达到的技术效果更加清楚,下面结合附图和实施例对本发明进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需说明的是,为了便于描述,附图中仅示出了与本发明的部分而非全部内容。
图1为本发明实施例提供的基于惯性传感技术的融合人体姿态和位移的三维人体重构方法的实现流程图。本发明实施例提供的基于惯性传感技术的融合人体姿态和位移的三维人体重构方法可以由本发明实施例提供的基于惯性传感技术的融合人体姿态和位移的三维人体重构系统来执行。如图1所示,本发明实施例提供的基于惯性传感技术的融合人体姿态和位移的三维人体重构方法,包括以下步骤:
步骤100、将十五个惯性传感节点穿戴于人体关键运动肢体,采集人体关键运动肢体的惯性运动数据和三轴磁力计数据,每个惯性传感节点通过无线模块按照规定的数据传输协议将数据发送到上位机,图4展示了本发明所使用的硬件;所述的惯性运动数据包括三轴加速度计数据和三轴陀螺仪数据;每个节点将采集到的九轴运动数据以数据包的形式通过无线模块以UDP协议发送到上位机,供上位机解析处理。
具体的,参照图2,将15个惯性传感节点穿戴于人体肢体的不同部位,通过上位机运行的软件平台可以控制惯性传感节点工作,主要控制命令为开始/结束采集命令,保存数据命令,软件平台对采集到的数据进行后续处理分析。在采集数据时,每个惯性传感节点与上位机之间通过路由器连接在同一个局域网下,惯性传感节点将九轴运动数据和一个字节的包头共19个字节打包为一个数据包,通过套接字编程建立连接,将数据发送到上位机。九轴运动数据包括三轴加速度计采集到的加速度数据,三轴陀螺仪采集到的角速度数据,三轴磁力计采集到的磁场强度数据。
步骤200、人体静止站立面向磁场北方向站立,利用三维加速度数据和经过椭球拟合矫正后的三维磁力计数据求解人体运动肢体的初始姿态,并根据初始姿态确定传感器坐标系到载体坐标系的旋转四元数。
为了阐述如何确定人体初始姿态,便于理解动作捕捉的原理,先给出三个坐标系的定义。参照图3,展示了导航坐标系、载体坐标系和传感器坐标系。
导航坐标系(n-坐标系):该坐标系的OZn轴沿当地垂线指向下时,OXn、OYn轴分别指向当地的北、东,构成“北-东-地”坐标系。
载体坐标系(b-坐标系):该坐标系位于人的肢体上,坐标系的原点位于相邻肢体的交点,一般为人体关节处,例如,膝关节是小腿坐标系。
传感器坐标系(s-坐标系):通常惯性传感器的传感器坐标系的轴向采用陀螺仪三个敏感轴约束的坐标轴,构成右手直角坐标系。
步骤201,在进行姿态校正以及后续的数据处理之前,需要对磁力计数据进行校正。采集八字型随机旋转时的数据,作为磁力计校正的样本采用最小二乘法进行椭球拟合校正,磁场误差模型可以表示为:
Be=K-1(Bm-B0)
其中,表示磁力计的测量值,/>表示磁力计不存在误差的理论值,/>表示磁力计零偏误差;K表示误差系数。
在地球表面位置变化范围不大的情况下,可以认为磁场强度是不变的,所以||Be||是不变的。所以将磁力计进行“8”字晃动采集数据得到的磁场值是圆球形,即
||Be||=H
其中,H表示某地的磁场强度。在实际过程中,磁力计测量的磁场值受到周围磁场环境的干扰,不是一个圆球形,会畸变成椭球状,所以误差模型可以表示为
其中,A=(K-1)TK-1。得到上式后通过椭球拟合算法可以求解上式,得到误差系数K和零偏误差B0。
椭球的一般方程可以表示为:
F(ξ,z)=ξTz=ax2+by2+cz2+2dxy+2exy+2fyz+2px+2qy+2rz+l=0
其中,ξ=[a,b,c,d,e,f,p,q,r,l]T表示需要求解的椭球面参数,F(ξ,z)为样本点数据(x,y,z)到椭球面F(ξ,z)=0的代数距离。
椭球拟合过程中,以测量样本数据到拟合椭球面的代数距离平方和最小为准则,即
其中,为测量样本数据。
椭球拟合得到满足条件的椭球方程后,可将椭球一般方程表示为矢量形式来求解误差系数K和零偏误差B0,其矢量形可表示为:
(X-X0)TAe(X-X0)=1
其中,表示与椭球半轴和旋转角度相关的椭球形状矩阵;表示椭球中心点坐标。对比误差方程化简后形式和椭球一班方程的矢量形式可得:
B0=X0,
由于A=(K-1)TK-1,因此求得矩阵A后,对A矩阵进行cholesky分解即可得到误差系数K。
步骤202,根据磁场误差模型,将磁力计数据进行矫正;
步骤203,利用磁力计分量确定磁场北极方向,结合加速度计分量确定运动肢体的初始姿态:
利用三轴加速计数据求解得到俯仰角θ和横滚角γ:
其中,分别为加速度计三个轴向的输出;
得到俯仰角和横滚角后,结合磁力计数据可得到航向角
其中,是X轴和Y轴磁场强度修正到当地水平面后磁力计的值。
步骤204,利用下式将俯仰角、横滚角和航向角转换为载体坐标系到传感器坐标系的旋转四元数
步骤300、根据静止站立时的运动数据和磁力计数据,通过重力矢量方向和磁场北极方向获得传感器坐标系到导航坐标系的旋转四元数,并利用旋转四元数对人体初始姿态标定。
人体初始姿态标定的基本思想是利用传感器坐标系到载体坐标系的旋转四元数(通过步骤200求得),以及传感器坐标系到导航坐标系的旋转四元数(通过步骤300求得),间接得到载体坐标系到导航坐标系的旋转四元数,用载体坐标系到导航坐标系的旋转四元数旋转人体模型的肢体向量。
在人体初始姿态标定过程中,人体需面向磁北方向静止站立几秒钟,根据加速度数据和磁力计数据在静止站立阶段的均值估计传感器坐标系到导航坐标系的旋转四元数,标定时求出的旋转四元数同时可以作为数据融合算法的初始四元数,如果在标定过程中未保持静止或受到较强的磁场干扰,需重新进行标定。
人体模型可以简化为铰链连接的骨架,如图2所示,各线段代表人体的肢体向量,线段的端点连接处代表人体的主要关节。人体模型关节点坐标位置可用下式推算:
其中,为编号为m的人体模型关节在导航坐标系下t时刻的坐标;a为人体模型肢体向量的个数;O(t)为人体模型起始关节点的坐标,一般将骨盆位置为人体模型起始关节点。
人体模型肢体向量在导航坐标系的旋转可以表示为:
其中,表示载体坐标系到导航坐标系的旋转四元数的共轭;人体模型肢体向量在导航坐标系表示为/>人体模型肢体向量在载体坐标系表示为表示四元数乘法。
人体模型肢体向量在导航坐标系的旋转公式进一步可以表示为:
其中,初始通过三维加速度数据和三维磁力计数据求得。
在进行初始人体姿态校正时,载体坐标系通过静止时朝北站立的方式与导航坐标系重合,可以得到在静止时刻:
利用人体模型肢体向量在导航坐标系的旋转公式,对人体初始姿态和人体模型进行标定。
步骤400、针对不同部位的传感节点采用不同的处理方式。对足部惯性传感节点采用基于卡尔曼滤波器的零速更新算法求解足部位移;对全身惯性传感节点采用基于梯度下降的数据融合算法求解各运动肢体的姿态。然后融合足部空间位置和各关键运动肢体姿态,腰部根节点位置通过足部空间位置推算得到,再以腰部节点为根节点,更新人体姿态和位置,实现三维人体重构。
步骤401,人体在行走、跑动、跳远等运动时,足部会存在支撑相和摆动相,针对这一特性,对足部惯性传感节点采用基于卡尔曼滤波器的零速更新算法求解足部位移,在摆动相时通过惯性导航公式估计足部位移,在支撑相内估计系统误差并对姿态、速度和位置进行矫正,包括以下过程:
在人体运动过程中的摆动相时,利用如下公式更新足部姿态、速度和位置:
其中,姿态表示为姿态矩阵k表示采样序列号;/>表示陀螺仪在载体坐标系中的输出值;vn表示足部的速度;gn表示当地的重力加速度;pn表示足部的位置。
在人体运动过程中的支撑相时,将支撑相内的速度作为速度误差在间接卡尔曼滤波中作为误差子系统的伪观测值,利用姿态、速度和位置之间的相互耦合关系校正更多的误差,误差子系统可表示为:
该系统的状态向量可表示为系统噪声可表示为/>
离散化后的误差子系统的状态方程和观测方程可以表示为:
其中,状态转移矩阵Fk|k-1和噪声输入矩阵Gk|k-1如下所示:
本发明采用闭环带反馈的滤波算法估计系统误差,将每一时刻的误差估计反馈到不含噪声的子系统修正系统状态,修正完成后将误差估计/>置为零,因此,在闭环卡尔曼滤波中,误差状态不需要通过状态预测方程/>传递,于是,闭环的卡尔曼滤波算法的递推更新过程为:
协方差阵预测:
Pk|k-1=Fk|k-1Pk-1Fk|k-1 T+Gk|k-1Qk-1Gk|k-1 T
滤波增益矩阵:
Kk=Pk|k-1Hk T(HkPk|k-1Hk T+Rk)-1
状态更新:
协方差阵更新:
Pk=(I-KkHk)Pk|k-1(I-KkHk)T+KkRkKk T
在上述的卡尔曼滤波算法中,假设观测噪声的标准差为该标准差代表零速修正时速度观测值的可信度,于是系统噪声方差阵Qk-1和观测噪声方差阵Rk如下所示。
系统状态的修正公式为:
其中,速度修正和位置修正进行简单的算数求和即可,但是姿态修正运算并不是简单的算数求和,需要利用姿态角误差对姿态矩阵/>进行校正,校正的公式为
其中,是在导航坐标系中估算出来的,所以对/>左乘上式的左侧分式进行修正。载体的姿态角估计/>可以通过/>求出。
步骤402,利用基于梯度下降的数据融合算法更新运动肢体姿态,由于直接通过陀螺仪数据求解微分方程存在较大的误差,所以加以加速度数据和磁力计数据估计误差修正项,消除陀螺仪数据积分的误差,实现姿态更新。下面将详细阐述数据融合算法的使用方法,本发明选用四元数来表示姿态旋转。
在该算法中,通过定义一个误差函数来反映解算过程中的姿态误差,该误差函数就是梯度下降算法中的目标函数,在本文系统中,该误差函数是一个多元向量函数。系统的姿态误差由两部分产生,一部分由加速度计产生,另一部分由磁力计产生,因此,误差函数由加速度计计算误差和磁力计计算误差两部分组成,当该误差函数为零时,则认为求解得到的姿态矩阵不存在误差。
加速度计产生的误差用误差函数Ff(q,f)可表示为:
其中,为加速度计的测量值。
由磁力计产生的误差用误差函数Fm(q,m)可表示为:
其中,为磁力计的测量值。总误差函数,即目标函数Ff,m(q,f,m)可表示为
将目标函数求偏导数,得到雅可比矩阵可表示为
/>
从优化的角度考虑,最小化误差,使用高斯牛顿法求解,表示计算过程中的目标姿态,可有如下关系
其中,μ为步长;表示微分算子,表示q的变化率,其和误差矢量,即Ff,m(q,f,m)的关系如下:
梯度下降法解算姿态最后求解得到一个表示姿态的四元数,该四元数包含两部分。一部分是利用陀螺仪输出值求解微分方程解得;另一部分是通过目标函数求解得到的修正四元数。这两部分四元数都可以用来描述在同一时刻下运动肢体的姿态,所以,都有一定的可信度。设求解四元数微分方程得到的姿态四元数为qω,t,用α表示修正四元数所占的权重,将这两部分四元数结合,则最终的姿态四元数qt可以表示为
假设β表示陀螺仪的测量误差,该系统参数可以通过标定算法测量得到;ts表示采样周期;则权重α与步长μ有如下关系:
最终姿态四元数可以表示为:
更新后的四元数可以驱动人体模型的肢体向量,从而实现动作捕捉。
步骤403,更新后的足部位移和四元数可以用于驱动人体模型的肢体向量,首先从足部推算腰部关节点的位置,然后遍历更新全身关节点的位置,实现姿态和位移的同步重构。
本步骤在遍历更新全身关节点时本发明提出一种新的遍历更新顺序。其基本思想是首先从足部节点空间位置通过关节位置坐标推算公式推算腰部节点空间位置,然后再从腰部节点遍历更新全身关节点的位置,其更新顺序如图5所示。由于足部节点在空间中的坐标位置已经求出,所以可以实现腰部节点在空间中移动,实现姿态和位移的同步重构,实现类似于光学动作捕捉系统可以同时捕捉人体姿态以及各关节点在空间中的坐标。
本发明实施例提供一种基于惯性传感技术的融合人体姿态和位移的三维人体重构系统和方法,采用无线传输方式采集人体运动信息,将足部位移融合到动作捕捉中,克服人体模型只能原地捕捉人体运动姿态,推算出人体腰部根节点的绝对位置,实现姿态和位移的同步重构。
下面以实例的形式对本发明做进一步的解释说明:
实例一
人体穿戴节点,进行向前直线行走过程中右臂伸直画圆运动实验,实验结果如图6所示,由于加入足部位移,所以人体会产生空间中的移动,观察右手的空间轨迹,可以精确的推算出肢体末端的空间位置。
实例二
人体穿戴节点,进行长距离闭合矩形行走实验,观察由足部推算出的骨盆位置是否准确,实验结果如图7,8所示,由实验结果可知,可以实现长距离的姿态和位移的同步重构,且腰部节点推算位置准确。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解;对其前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换,并不使用相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (1)
1.一种基于惯性传感技术的三维人体重构方法,其特征在于,针对该方法构建的三维人体重构系统包括十五个惯性传感节点、路由装置、上位机以及一个无线传输模块;每个惯性传感节点包括三轴陀螺仪、三轴加速度计和三轴磁力计,利用无线传输模块通过UDP无线传输协议以路由装置为中间媒介发送给上位机,上位机进行数据融合处理更新人体姿态和位置;
具体步骤如下:
步骤100、将十五个惯性传感节点穿戴于人体关键运动肢体,采集人体关键运动肢体的惯性运动数据和三轴磁力计数据,每个惯性传感节点通过无线传输模块按照规定的数据传输协议将数据发送到上位机;所述的惯性运动数据包括三轴加速度计数据和三轴陀螺仪数据;
步骤200、人体静止站立面向磁场北方向站立,利用三维加速度数据和经过椭球拟合矫正后的三维磁力计数据求解人体运动肢体的初始姿态,并根据初始姿态确定传感器坐标系到载体坐标系的旋转四元数;其中,初始姿态包括各运动肢体站立状态时的欧拉角,包括俯仰角、翻滚角和航向角;其具体包括步骤201至步骤204:
步骤201,利用最小二乘法进行椭球拟合,求解以下误差模型:
其中,表示磁力计的测量值,/>表示磁力计不存在误差的理论值,/>表示磁力计零偏误差,kx,ky,kz表示磁力计各轴灵敏度误差系数;kxy、kyx、kzx、kzy、kxz、kyz表示磁力计各轴的耦合系数;
通过最小二乘法拟合得到椭球方程,求解误差系数K和零偏误差B0,
其中,表示椭球形状矩阵;a,b,c,d,e,f,p,q,r表示需要求解的椭球面参数;H表示某地的磁场强度;
步骤202,根据磁场误差模型,将磁力计数据进行矫正;
步骤203,利用磁力计分量确定磁场北极方向,结合加速度计分量确定运动肢体的初始姿态:
利用三轴加速计数据求解得到俯仰角θ和横滚角γ:
其中,分别为加速度计三个轴向的输出;
得到俯仰角和横滚角后,结合磁力计数据可得到航向角
其中,是X轴和Y轴磁场强度修正到当地水平面后磁力计的值;
步骤204,利用下式将俯仰角、横滚角和航向角转换为载体坐标系到传感器坐标系的旋转四元数
步骤300、根据静止站立时的运动数据和磁力计数据,通过重力矢量方向和磁场北极方向获得传感器坐标系到导航坐标系的旋转四元数,并利用旋转四元数对人体初始姿态和人体模型标定;
人体模型关节点坐标位置公式:
其中,为编号为m的人体模型关节在导航坐标系下t时刻的坐标;a为人体模型肢体向量的个数;/>为编号为m的人体模型肢体向量在导航坐标系下t时刻的表示;O(t)为人体模型起始关节点的坐标;
人体模型肢体向量在导航坐标系的旋转表示为:
其中,表示载体坐标系到导航坐标系的旋转四元数;/>表示载体坐标系到导航坐标系的旋转四元数的共轭;人体模型肢体向量在导航坐标系表示为/>人体模型肢体向量在载体坐标系表示为/> 表示四元数乘法;
人体模型肢体向量在导航坐标系的旋转公式进一步表示为:
其中,表示传感器坐标系到地理坐标系的旋转四元数,初始/>通过三维加速度数据和三维磁力计数据求得;/>表示人体载体坐标系到传感器坐标系的旋转四元数;/>表示地理坐标系到传感器坐标系的旋转四元数;
在进行初始人体姿态校正时,载体坐标系通过静止时朝北站立的方式与导航坐标系重合,得到在静止时刻:
利用人体模型肢体向量在导航坐标系的旋转公式,对人体初始姿态和人体模型进行标定;
步骤400、针对不同部位的传感节点采用不同的处理方式;
对足部惯性传感节点采用基于卡尔曼滤波器的零速更新算法求解足部位移;对全身惯性传感节点采用基于梯度下降的数据融合算法求解各运动肢体的姿态;然后融合足部空间位置和各关键运动肢体姿态,腰部根节点位置通过足部空间位置推算得到,再以腰部节点为根节点,更新人体姿态和位置,实现三维人体重构;其具体包括步骤401至步骤403:
步骤401,对足部惯性传感节点采用基于卡尔曼滤波器的零速更新算法求解足部位移,包括以下过程:
在人体运动过程中的摆动相时,利用如下公式更新足部姿态、速度和位置:
其中,姿态表示为姿态矩阵I表示单位矩阵;e表示采样序列号;/>表示陀螺仪在载体坐标系中的输出值;vn表示足部的速度;fb表示在载体坐标系下加速度计的输出量;gn表示当地的重力加速度;pn表示足部的位置;Δt表示系统采样周期;
在人体运动过程中的支撑相时,将支撑相内的速度作为速度误差在间接卡尔曼滤波中作为误差子系统的伪观测值,利用姿态、速度和位置之间的相互耦合关系校正更多的误差,误差子系统表示为:
其中,表示姿态在误差子系统中的估计量;/>表示速度在误差子系统中的估计量;表示位移在误差子系统中的估计量;/>表示姿态在误差子系统中的精确量;δvn表示速度在误差子系统中的精确量;δpn表示位移在误差子系统中的精确量;δfb表示在载体坐标系下加速误差精确量,/>表示地心坐标系相对于载体坐标系的角速度在载体坐标系的投影的计算误差;该系统的状态向量表示为/>系统噪声表示为[fn×]表示在导航坐标系下的加速度反对称矩阵;/>表示载体坐标系到导航坐标系的旋转矩阵;
步骤402,利用基于梯度下降的数据融合算法更新运动肢体姿态,用以下公式进行迭代:
其中,q表示旋转四元数;β表示陀螺仪的测量误差,通过标定算法测量得到;ts表示采样周期;Ff,m(q,f,m)表示目标函数;
步骤403,更新后的足部位移和四元数可以用于驱动人体模型的肢体向量,首先从足部推算腰部关节点的位置,然后遍历更新全身关节点的位置,实现姿态和位移的同步重构。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111008812.7A CN113793360B (zh) | 2021-08-31 | 2021-08-31 | 基于惯性传感技术的三维人体重构方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111008812.7A CN113793360B (zh) | 2021-08-31 | 2021-08-31 | 基于惯性传感技术的三维人体重构方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113793360A CN113793360A (zh) | 2021-12-14 |
CN113793360B true CN113793360B (zh) | 2024-02-06 |
Family
ID=79182458
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111008812.7A Active CN113793360B (zh) | 2021-08-31 | 2021-08-31 | 基于惯性传感技术的三维人体重构方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113793360B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114533039B (zh) * | 2021-12-27 | 2023-07-25 | 重庆邮电大学 | 基于冗余传感器的人体关节位置及角度解算方法 |
CN114967942B (zh) * | 2022-03-31 | 2023-04-18 | 河北迥然科技有限公司 | 一种运动姿态分析方法、终端及存储介质 |
CN115024715B (zh) * | 2022-05-20 | 2023-06-06 | 北京航天时代光电科技有限公司 | 一种人体运动智能测量与数字训练系统 |
CN116058829A (zh) * | 2022-12-26 | 2023-05-05 | 青岛大学 | 基于imu的实时显示人体下肢姿态的系统 |
CN115868967A (zh) * | 2023-01-10 | 2023-03-31 | 杭州程天科技发展有限公司 | 一种基于imu的人体动作捕捉方法、系统及存储介质 |
CN117503120B (zh) * | 2023-12-18 | 2024-04-16 | 北京铸正机器人有限公司 | 人体姿态估计方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106500695A (zh) * | 2017-01-05 | 2017-03-15 | 大连理工大学 | 一种基于自适应扩展卡尔曼滤波的人体姿态识别方法 |
CN107478223A (zh) * | 2016-06-08 | 2017-12-15 | 南京理工大学 | 一种基于四元数和卡尔曼滤波的人体姿态解算方法 |
CN107898466A (zh) * | 2017-10-17 | 2018-04-13 | 深圳大学 | 一种基于惯性传感器的肢体运动捕捉系统和方法 |
CN108836346A (zh) * | 2018-04-16 | 2018-11-20 | 大连理工大学 | 一种基于惯性传感器的人体步态分析方法和系统 |
-
2021
- 2021-08-31 CN CN202111008812.7A patent/CN113793360B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107478223A (zh) * | 2016-06-08 | 2017-12-15 | 南京理工大学 | 一种基于四元数和卡尔曼滤波的人体姿态解算方法 |
CN106500695A (zh) * | 2017-01-05 | 2017-03-15 | 大连理工大学 | 一种基于自适应扩展卡尔曼滤波的人体姿态识别方法 |
CN107898466A (zh) * | 2017-10-17 | 2018-04-13 | 深圳大学 | 一种基于惯性传感器的肢体运动捕捉系统和方法 |
CN108836346A (zh) * | 2018-04-16 | 2018-11-20 | 大连理工大学 | 一种基于惯性传感器的人体步态分析方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN113793360A (zh) | 2021-12-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113793360B (zh) | 基于惯性传感技术的三维人体重构方法 | |
CN108939512B (zh) | 一种基于穿戴式传感器的游泳姿态测量方法 | |
Bachmann et al. | Inertial and magnetic posture tracking for inserting humans into networked virtual environments | |
Yun et al. | Estimation of human foot motion during normal walking using inertial and magnetic sensor measurements | |
JP2013500812A (ja) | 運動学的連結の慣性計測 | |
Yun et al. | Design, implementation, and experimental results of a quaternion-based Kalman filter for human body motion tracking | |
Young et al. | IMUSim: A simulation environment for inertial sensing algorithm design and evaluation | |
US6820025B2 (en) | Method and apparatus for motion tracking of an articulated rigid body | |
EP1593931A1 (en) | Difference correcting method for posture determining instrument and motion measuring instrument | |
CN110327048B (zh) | 一种基于可穿戴式惯性传感器的人体上肢姿态重建系统 | |
CN109284006B (zh) | 一种人体运动捕获装置和方法 | |
EP2210061A2 (en) | Orientation measurement of an object | |
Chen et al. | Real‐time human motion capture driven by a wireless sensor network | |
Comotti et al. | Development of a wireless low-power multi-sensor network for motion tracking applications | |
Gong et al. | Robust inertial motion tracking through deep sensor fusion across smart earbuds and smartphone | |
CN108734762B (zh) | 运动轨迹仿真方法及系统 | |
CN110609621B (zh) | 姿态标定方法及基于微传感器的人体运动捕获系统 | |
KR20120059824A (ko) | 복합 센서를 이용한 실시간 모션 정보 획득 방법 및 시스템 | |
CN115373511A (zh) | 基于惯性动作捕捉技术的人体运动数字孪生的构建方法 | |
Abbate et al. | Development of a MEMS based wearable motion capture system | |
CN109883451A (zh) | 一种用于行人方位估计的自适应增益互补滤波方法及系统 | |
Daponte et al. | Experimental comparison of orientation estimation algorithms in motion tracking for rehabilitation | |
Yang et al. | Research on human motion monitoring method based on multi-joint constraint filter model | |
Viegas et al. | NUI therapeutic serious games with metrics validation based on wearable devices | |
Sikeridis et al. | An imu-based wearable system for automatic pointing during presentations |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |