CN110928420B - 一种人体动作姿态捕捉方法及*** - Google Patents
一种人体动作姿态捕捉方法及*** Download PDFInfo
- Publication number
- CN110928420B CN110928420B CN201911396845.6A CN201911396845A CN110928420B CN 110928420 B CN110928420 B CN 110928420B CN 201911396845 A CN201911396845 A CN 201911396845A CN 110928420 B CN110928420 B CN 110928420B
- Authority
- CN
- China
- Prior art keywords
- node
- joint
- data acquisition
- determining
- spatial
- 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 34
- 238000005452 bending Methods 0.000 claims description 68
- 210000000629 knee joint Anatomy 0.000 claims description 47
- 210000004394 hip joint Anatomy 0.000 claims description 33
- 210000000323 shoulder joint Anatomy 0.000 claims description 33
- 244000309466 calf Species 0.000 claims description 24
- 210000000245 forearm Anatomy 0.000 claims description 24
- 210000002310 elbow joint Anatomy 0.000 claims description 15
- 230000000295 complement effect Effects 0.000 claims description 13
- 238000001914 filtration Methods 0.000 claims description 13
- 230000001133 acceleration Effects 0.000 claims description 10
- 210000003739 neck Anatomy 0.000 claims description 8
- 238000004364 calculation method Methods 0.000 abstract description 17
- 210000003414 extremity Anatomy 0.000 description 8
- 210000002414 leg Anatomy 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 238000005070 sampling Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 210000003423 ankle Anatomy 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 210000001624 hip Anatomy 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 210000000689 upper leg Anatomy 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)
Abstract
本申请提供一种人体动作姿态的捕捉方法及***,方法包括:基于每个数据采集节点的原始数据,确定出每个数据采集节点的空间朝向及空间位置;基于IK算法确定关节节点的空间位置及空间朝向;校准各数据采集节点的空间朝向及各关节节点的空间朝向;将各关节节点的空间位置及空间朝向、数据采集节点的空间位置及空间朝向与人体模型进行对应标定;利用人体模型捕捉人体的动作姿态;利用IK算法解算出人体第一关节节点及第二关节节点的空间位置及空间朝向;这样IK算法的解算过程相当于将三维空间的运算转化为关节空间中的运算,运算维度降低,因此可以降低运算时间,进而可以提高动作姿态捕捉的实时性,提高捕捉精度。
Description
技术领域
本申请涉及动作捕捉技术领域,尤其涉及一种人体动作姿态捕捉方法及***。
背景技术
动作捕捉用于记录物体移动的过程并将其模拟到数字模型中,近年来,随着计算机数据采集和传感器技术的发展,动作捕捉在游戏、娱乐、体育、军事、运动分析、舞蹈采集及虚拟现实技术中得到广泛应用。
而惯性式动作捕捉通过佩戴多个惯性运动传感器,实现人体三维姿态重现。
现有技术中在捕捉人体姿态时,对人体姿态的解算用时较长,导致动作姿态捕捉的实时性较低,进而导致捕捉精度较低。
发明内容
针对现有技术存在的问题,本申请实施例提供了一种人体动作姿态捕捉方法及***,用于解决现有技术中在捕捉人体动作姿态时,动作姿态捕捉的实时性较低,进而导致捕捉精度较低。
本申请提供一种人体动作姿态捕捉方法,所述方法包括:
获取各数据采集节点的原始数据,基于每个数据采集节点的原始数据,根据互补滤波算法确定出每个所述数据采集节点的空间朝向及空间位置,所述数据采集节点包括:头部节点,躯干节点、第一前臂节点、第二前臂节点、第一小腿节点及第二小腿节点;所述原始数据包括:加速度数据、角速度数据及磁场方向数据;
基于反向运动学IK算法确定第一关节节点的弯曲角度,根据所述第一关节节点的弯曲角度确定所述第一关节节点的空间位置及空间朝向,所述第一关节节点包括:肘关节及膝关节;
根据所述数据采集节点的空间位置确定所述第二关节节点的空间位置,所述第二关节节点包括:颈部、肩关节及髋关节;
根据所述第一关节节点的空间位置及所述第二关节节点的空间位置确定所述第二关节节点的空间朝向;
获取各所述数据采集节点的姿态偏差,利用所述姿态偏差对应校准各所述数据采集节点的空间朝向及各关节节点的空间朝向;
将所述各关节节点的空间位置、各所述数据采集节点的空间位置、校准后的各关节节点的空间朝向以及校准后的各所述数据采集节点的空间朝向与预先建立的人体模型进行对应标定;
利用标定后的所述人体模型捕捉人体的动作姿态;其中,
所述基于反向运动学IK算法确定所述第一关节节点的弯曲角度,包括:
确定所述第一关节节点的辅助节点以及与所述第一关节节点对应的目标数据采集节点;
获取所述第一关节节点与所述辅助节点之间的第一距离、所述第一关节节点与所述目标数据采集节点之间的第二距离以及所述辅助节点与所述目标数据采集节点之间的第三距离;
可选地,当所述第一关节节点为肘关节时,所述辅助节点根据根节点及第一相对位置确定,所述第一相对位置为所述根节点与肩关节之间的相对位置;
当所述第一关节节点为膝关节时,所述辅助节点根据所述根节点及第二相对位置确定,所述第二相对位置为所述根节点与髋关节之间的相对位置;其中,所述根节点为躯干节点。
可选地,所述根据所述第一关节节点的弯曲角度确定所述第一关节节点空间位置及空间朝向,包括:
确定所述第一关节节点所在的弯曲面,在所述弯曲面中基于所述第一关节节点与辅助节点之间的第一距离、所述第一关节节点与目标数据采集节点之间的第二距离及所述第一关节节点的弯曲角度确定所述第一关节节点的空间位置;
根据所述第一关节节点的位置及所述辅助节点的位置确定所述第一关节节点的空间朝向。
可选地,所述根据所述数据采集节点的空间位置确定所述第二关节节点的空间位置,包括:
获取所述髋关节与根节点之间的第二相对位置,获取颈部与所述根节点之间的第三相对位置,获取肩关节与所述根节点之间的第四相对位置;
根据所述第二相对位置与所述根节点的空间位置确定所述髋关节的空间位置;根据所述第三相对位置与所述根节点的空间位置确定所述颈部的空间位置;根据所述第四相对位置与所述根节点的空间位置确定所述肩关节的空间位置。
可选地,所述利用所述姿态偏差对应校准各所述数据采集节点的空间朝向,包括:
本申请还提供一种人体动作姿态捕捉***,所述***包括:
多个数据采集单元,用于采集各数据采集节点的原始数据;所述原始数据包括:加速度数据、角速度数据及磁场方向数据;
终端,用于获取所述原始数据,基于所述原始数据,根据互补滤波算法确定出每个所述数据采集节点的空间朝向及空间位置,所述数据采集节点包括:头部节点,躯干节点、第一前臂节点、第二前臂节点、第一小腿节点及第二小腿节点;
基于反向运动学IK算法确定第一关节节点的弯曲角度,根据所述第一关节节点的弯曲角度确定所述第一关节节点的空间位置及空间朝向,所述第一关节节点包括:肘关节及膝关节;
根据所述数据采集节点的空间位置确定所述第二关节节点的空间位置,所述第二关节节点包括:颈部、肩关节及髋关节;
根据所述第一关节节点的空间位置及所述第二关节节点的空间位置确定所述第二关节节点的空间朝向;
获取各所述数据采集节点的姿态偏差,利用所述姿态偏差对应校准各所述数据采集节点的空间朝向及各关节节点的空间朝向;
将所述各关节节点的空间位置、各所述数据采集节点的空间位置、校准后的各关节节点的空间朝向以及校准后的各所述数据采集节点的空间朝向与预先建立的人体模型进行对应标定;
用于利用标定后的所述人体模型捕捉人体的动作姿态;其中,
所述基于反向运动学IK算法确定所述第一关节节点的弯曲角度,包括:
确定所述第一关节节点的辅助节点以及与所述第一关节节点对应的目标数据采集节点;
获取所述第一关节节点与所述辅助节点之间的第一距离、所述第一关节节点与所述目标数据采集节点之间的第二距离以及所述辅助节点与所述目标数据采集节点之间的第三距离;
可选地,所述终端具体用于:
确定所述第一关节节点的辅助节点以及与所述第一关节节点对应的目标数据采集点,所述第一关节节点包括:肘关节及膝关节;
获取所述第一关节节点与所述辅助节点之间的第一距离、所述第一关节节点与所述目标数据采集节点之间的第二距离以及所述辅助节点与所述目标数据采集节点之间的第三距离;
可选地,所述终端具体用于:
确定所述第一关节节点所在的弯曲面,在所述弯曲面中基于所述第一关节节点与辅助节点之间的第一距离、所述第一关节节点与目标数据采集节点之间的第二距离及所述第一关节节点的弯曲角度确定所述第一关节节点的空间位置;
根据所述第一关节节点的位置及所述辅助节点的位置确定所述第一关节节点的空间朝向。
可选地,所述终端具体用于:
获取所述髋关节与根节点之间的第二相对位置,获取颈部与所述根节点之间的第三相对位置,获取肩关节与所述根节点之间的第四相对位置;
根据所述第二相对位置与所述根节点的空间位置确定所述髋关节的空间位置;根据所述第三相对位置与所述根节点的空间位置确定所述颈部的空间位置;根据所述第四相对位置与所述根节点的空间位置确定所述肩关节的空间位置。
可选地,所述终端具体用于:
本申请提供了一种人体动作姿态的捕捉方法及***,方法包括:获取各数据采集节点的原始数据,基于每个数据采集节点的原始数据,根据互补滤波算法确定出每个所述数据采集节点的空间朝向及空间位置,所述数据采集节点包括:头部节点,躯干节点、第一前臂节点、第二前臂节点、第一小腿节点及第二小腿节点;所述原始数据包括:加速度数据、角速度数据及磁场方向数据;基于反向运动学IK算法确定第一关节节点的弯曲角度,根据所述第一关节节点的弯曲角度确定所述第一关节节点的空间位置及空间朝向,所述第一关节节点包括:肘关节及膝关节;根据所述数据采集节点的空间位置确定所述第二关节节点的空间位置,所述第二关节节点包括:颈部、肩关节及髋关节;根据所述第一关节节点的空间位置及所述第二关节节点的空间位置确定所述第二关节节点的空间朝向;获取各所述数据采集节点的姿态偏差,利用所述姿态偏差对应校准各所述数据采集节点的空间朝向及各关节节点的空间朝向;将所述各关节节点的空间位置、各所述数据采集节点的空间位置、校准后的各关节节点的空间朝向以及校准后的各所述数据采集节点的空间朝向与预先建立的人体模型进行对应标定;利用标定后的所述人体模型捕捉人体的动作姿态;所述基于反向运动学IK算法确定所述第一关节节点的弯曲角度,包括:确定所述第一关节节点的辅助节点以及与所述第一关节节点对应的目标数据采集节点;获取所述第一关节节点与所述辅助节点之间的第一距离、所述第一关节节点与所述目标数据采集节点之间的第二距离以及所述辅助节点与所述目标数据采集节点之间的第三距离;利用公式确定所述第一关节节点的弯曲角度/>;其中,所述a为所述第一距离,所述b为所述第二距离,所述c为所述第三距离;如此,本申请利用IK算法解算出第一关节节点及第二关节节点的空间位置及空间朝向,IK算法的解算过程相当于将三维空间的运算转化为关节空间中的运算,运算维度降低,因此可以降低运算时间,进而可以提高动作姿态捕捉的实时性,提高捕捉精度。
附图说明
图1为本申请实施例提供的人体动作姿态的捕捉方法流程示意图;
图2为本申请实施例提供的数据采集节点标定示意图;
图3为本申请实施提供的IK算法解算示意图;
图4为本申请实施例提供的人体姿态标定示意图;
图5为本申请实施例提供的人体模型示意图;
图6为本申请实施例提供的人体动作姿态的捕捉***结构示意图。
具体实施方式
为了用于解决现有技术中在捕捉人体动作姿态时,需要用到的传感器数量较多,导致捕捉成本较高的技术问题。本申请提供了一种人体动作姿态的捕捉方法及***。
下面通过附图及具体实施例对本申请的技术方案做进一步的详细说明。
实施例一
本实施例提供一种人体动作姿态捕捉方法,其特征在于,所述方法包括:
S110,获取各数据采集节点的原始数据,根据互补滤波算法确定出每个所述数据采集节点的空间朝向及空间位置;
本申请在获取各数据采集节点的原始数据之前,需要确定出数据采集节点,为了降低传感器的使用数量,本申请设置了6个数据采集节点,所述数据采集节点包括:头部节点1,躯干节点2、第一前臂节点3、第二前臂节点4、第一小腿节点5及第二小腿节点6;各数据采集节点如图2的标记所示。
确定出数据采集节点后,将数据采集模块绑在各数据采集节点,每个数据采集模块包括一个六轴IMU和一个三轴磁传感器,每个IMU包括:一个三轴加速度计和一个三轴陀螺仪。各个数据采集模块采集到原始数据后,通过数据总线传输至数据汇总模块,数据汇总模块安装在躯干节点上,数据汇总模块接收到原始数据后,通过无线传输方式将原始数据发送至终端,终端可以包括工控机、计算机等硬件设备。
数据采集模块用于采集数据节点的原始数据,所述原始数据包括:加速度数据、角速度数据及磁场方向数据。
获取到原始数据后,可以基于原始数据,根据互补滤波算法确定各个数据采集节点的空间朝向及空间位置。作为一种可选的实施例,所述基于所述每个数据采集节点的原始数据,根据互补滤波算法计算出所述每个数据采集节点的空间朝向,包括:
根据公式(1)确定出每个数据采集节点的空间朝向q:
作为一种可选的实施例,针对每一个数据采集节点,所述基于所述每个数据采集节点的原始数据,根据互补滤波算法确定出所述每个数据采集节点的空间位置,包括:
根据公式(2)确定所述数据采集节点的速度;
数据采集节点的速度确定出之后,根据公式(3)确定所述数据采集节点的空间位置:
其中,所述v0为所述数据采集节点的初始速度,所述为所述数据采集节点的加速度,所述p0为所述数据采集节点的初始空间位置,所述/>为所述数据采集节点的速度,/>和vt从积分的角度来看是同一个参数,所述pt为所述数据采集节点的空间位置,所述/>为时间参数,t0</><t。
各个数据采集节点的空间朝向和空间位置确定之后,就可以获得人体模型的根节点和末端节点的空间位置和空间朝向了。这里,根节点为躯干节点,末端节点包括:头部节点、第一前臂节点、第二前臂节点、第一小腿节点及第二小腿节点。
S111,基于反向运动学IK算法确定第一关节节点的弯曲角度,根据所述第一关节节点的弯曲角度确定所述第一关节节点的空间位置及空间朝向,所述第一关节节点包括:肘关节及膝关节;
为了减少姿态计算占用的时间,提高运算效率,本申请先通过反向运动学IK算法确定第一关节节点的弯曲角度根据所述第一关节节点的弯曲角度确定所述第一关节节点的空间位置及空间朝向,所述第一关节节点包括:肘关节及膝关节。
作为一种可选的实施例,所述基于反向运动学IK算法确定所述第一关节节点的弯曲角度,包括:
确定所述第一关节节点的辅助节点以及与所述第一关节节点对应的目标数据采集节点;
获取所述第一关节节点与所述辅助节点之间的第一距离、所述第一关节节点与所述目标数据采集节点之间的第二距离以及所述辅助节点与所述目标数据采集节点之间的第三距离;其中,第一关节节点、辅助节点与目标数据采集节点的位置关系如图3所示,在图3中,第一关节节点为p、辅助节点为p0,目标数据采集节点为p1。
在公式(4)中,a为所述第一距离,所述b为所述第二距离,所述c为所述第三距离,第一距离、第二距离和第三距离可参考图3。
这里,第一关节节点不同,对应的辅助节点及目标数据采集节点也不同。当所述第一关节节点为肘关节时,所述辅助节点根据根节点及第一相对位置确定,所述第一相对位置为所述根节点与所述肩关节之间的相对位置;
当所述第一关节节点为膝关节时,所述辅助节点根据所述根节点及第二相对位置确定,所述第二相对位置为所述根节点与所述髋关节之间的相对位置;其中,所述根节点为躯干节点。
举例来说,继续参考图2,当第一关节节点p为膝关节时,辅助节点为髋关节p0(p0和根节点之间的第二相对位置是不变的),目标数据采集节点为第一小腿节点5,那么当膝关节弯曲时,第一关节节点p、辅助节点p0以及目标数据采集节点可以构成一个三角形,此时,膝关节的弯曲角度可以由公式(4)确定出。
当第一关节节点的弯曲角度确定出之后,作为一种可选的实施例,所述根据所述第一关节节点的弯曲角度确定所述第一关节节点空间位置及空间朝向,包括:
确定所述第一关节节点所在的弯曲面,在所述弯曲面中基于所述第一关节节点与辅助节点之间的第一距离、所述第一关节节点与目标数据采集节点之间的第二距离及所述第一关节节点的弯曲角度确定所述第一关节节点的空间位置;
根据所述第一关节节点的位置及所述辅助节点的位置确定所述第一关节节点的空间朝向。
举例来说,以膝关节为例,由于膝关节是在三维空间中的,即使膝关节的弯曲角度确定之后,还是不能准确得知膝关节的准确位置(参考图3,以p为圆心,r为半径形成的圆上有无穷解),因此需要先确定出一个合理的膝关节所在的弯曲面,本申请中将大腿与脚踝朝向一致所在的面确定为膝关节的弯曲面。
在弯曲面上,膝关节与髋关节之间的距离是一定的,膝关节与第一小腿节点5之间的距离也是一定的;由于弯曲角度是已知的;第一小腿节点5的空间位置是已知的;髋关节相对根节点的相对位置是一定的,根节点的空间位置已经确定出,因此髋关节的空间位置也相当于是已知的,因此可以确定出膝关节的空间位置。
而当第一小腿节点5的空间位置与膝关节的空间位置确定出之后, 第一小腿节点5与膝关节两点可以组成一个向量,该向量的方向就是膝关节的空间朝向(从膝关节指向第一小腿节点)。
S112,根据所述数据采集节点的空间位置确定所述第二关节节点的空间位置,所述第二关节节点包括:颈部、肩关节及髋关节;
同样的道理,当数据采集节点的空间位置确定出之后,根节点的空间位置也可以获得,对于同一个人体来说,第二关节节点(颈部、肩关节及髋关节)相对于根节点的距离是不变的,而这个相对位置(相对位置和相对角度)是可以预先获取到的,因此,作为一种可选的实施例,根据所述数据采集节点的空间位置确定所述第二关节节点的空间位置,包括:
获取髋关节与根节点之间的第二相对位置,获取颈部与根节点之间的第三相对位置,获取肩关节与根节点之间的第四相对位置;
根据第二相对位置与所述根节点的空间位置确定所述髋关节的空间位置;根据第三相对位置与所述根节点的空间位置确定所述颈部的空间位置;根据第四相对位置与所述根节点的空间位置确定所述肩关节的空间位置。
S113,根据所述第一关节节点的空间位置及所述第二关节节点的空间位置确定所述第二关节节点的空间朝向;
同样的道理,当所述第一关节节点的空间位置及所述第二关节节点的空间位置确定出之后,可以根据所述第一关节节点的空间位置及所述第二关节节点的空间位置确定所述第二关节节点的空间朝向。
举例来说,当第二关节节点为任意一个肩关节时,肩关节的空间位置确定之后,由于前臂节点的空间位置也是已知的,两点可组成一个向量,那么肩关节的空间朝向为该向量的方向,(从肩关节指向前臂节点)。
S114,获取各所述数据采集节点的姿态偏差,利用所述姿态偏差对应校准各所述数据采集节点的空间朝向及各关节节点的空间朝向;
各关节节点的姿态信息(空间位置和空间朝向)及各数据采集节点的姿态信息确定出之后,需要将上述信息转换为人体模型中姿态动作信息,因此需要将上述姿态信息与预先建立的人体模型进行对应标定。
而在实际应用中,由于传感器与肢体的坐标系通常具有一个姿态偏差,为了提高捕捉精度,在标定之前,获取各所述数据采集节点及各关节节点的姿态偏差,利用所述姿态偏差对应校准各关节节点的空间朝向及所述数据采集节点的空间朝向。
具体地,参考图4,传感器绑定在肢体上,左边的X1轴是关节节点的空间朝向,右边的X轴是数据采集节点的空间朝向,在实际应用中当存在姿态偏差时,X1轴和X轴之间会有误差,不会完全重合,这是就需要对该偏差进行校准,确保X1轴和X轴重合。
针对每一个数据采集节点来说,人体保持“T”姿态静止一段时间,可以从传感器中获取对应数据采集节点的四元数q_sensor,那么可以根据公式(5)确定出数据采集节点的姿态偏差q_bias:
在公式(5)中,q_seg为人体保持“T”姿态时对应肢体的空间朝向。
姿态偏差确定出之后,根据公式(6)对应校准每个数据采集节点的空间朝向:
当数据采集节点的空间朝向校准后,因传感器是绑定在肢体上的,那么也就相当于关节节点的空间朝向也被校准了。
S115,将所述各关节节点的空间位置、各所述数据采集节点的空间位置、校准后的各关节节点的空间朝向以及校准后的各所述数据采集节点的空间朝向与预先建立的人体模型进行对应标定;
各数据采集节点的空间朝向及关节节点的空间朝向校准后,将所述各关节节点的空间位置、所述数据采集节点的空间位置、校准后的各关节节点的空间朝向以及校准后的所述数据采集节点的空间朝向与预先建立的人体模型进行对应标定。其中,人体模型为刚体三维模型,可如图5所示。
S116,利用标定后的所述人体模型捕捉人体的动作姿态。
标定完毕后,可利用定后的所述人体模型捕捉人体的动作姿态,在相应的软件中重现人体的全身动作姿态。
基于同样的发明构思,本申请还提供一种捕捉人体动作姿态的***,详见实施例二。
实施例二
本实施例提供一种捕捉人体动作姿态的***,如图6所示,***包括:多个数据采集模块、数据汇总模块51及终端52。
本申请的数据采集模块在获取各数据采集节点的原始数据之前,需要确定出数据采集节点,为了降低传感器的使用数量,本申请设置了6个数据采集节点,所述数据采集节点包括:头部节点1,躯干节点2、第一前臂节点3、第二前臂节点4、第一小腿节点5及第二小腿节点6;各数据采集节点如图2中画圈的标记所示。
确定出数据采集节点后,将数据采集模块绑在各数据采集节点,每个数据采集模块包括一个六轴IMU和一个三轴磁传感器,每个IMU包括:一个三轴加速度计和一个三轴陀螺仪。各个数据采集模块用于采集数据采集节点的原始数据,各个数据采集模块采集到原始数据后,通过数据总线传输至数据汇总模块51,数据汇总模块安装在躯干节点上,数据汇总模块51接收到原始数据后,通过无线传输方式将原始数据发送至终端52,终端可以包括工控机、计算机等硬件设备。其中,所述原始数据包括:加速度数据、角速度数据及磁场方向数据。
因此,本申请中的数据采集模块包括6个,分别为:第一数据采集模块53、第二数据采集模块54、第三数据采集模块55、第四数据采集模块56、第五数据采集模块57及第六数据采集模块58。
当终端52获取到各原始数据后,可以基于原始数据,根据互补滤波算法确定各个数据采集节点的空间朝向及空间位置。作为一种可选的实施例,所述基于所述每个数据采集节点的原始数据,根据互补滤波算法计算出所述每个数据采集节点的空间朝向,包括:
根据公式(1)确定出每个数据采集节点的空间朝向q:
作为一种可选的实施例,针对每一个数据采集节点,所述基于所述每个数据采集节点的原始数据,根据互补滤波算法确定出所述每个数据采集节点的空间位置,包括:
根据公式(2)确定所述数据采集节点的速度;
数据采集节点的速度确定出之后,根据公式(3)确定所述数据采集节点的空间位置:
其中,所述v0为所述数据采集节点的初始速度,所述为所述数据采集节点的加速度,所述p0为所述数据采集节点的初始空间位置,所述/>为所述数据采集节点的速度,和vt从积分的角度来看是同一个参数,所述pt为所述数据采集节点的空间位置,所述/>为时间参数,t0</><t。
各个数据采集节点的空间朝向和空间位置确定之后,就可以获得人体模型的根节点和末端节点的空间位置和空间朝向了。这里,根节点为躯干节点,末端节点包括:头部节点、第一前臂节点、第二前臂节点、第一小腿节点及第二小腿节点。
为了减少姿态计算占用的时间,提高运算效率,本申请的终端52先通过反向运动学IK算法确定第一关节节点的弯曲角度根据所述第一关节节点的弯曲角度确定所述第一关节节点的空间位置及空间朝向,所述第一关节节点包括:肘关节及膝关节。
作为一种可选的实施例,所述基于反向运动学IK算法确定所述第一关节节点的弯曲角度,包括:
确定所述第一关节节点的辅助节点以及与所述第一关节节点对应的目标数据采集节点;
获取所述第一关节节点与所述辅助节点之间的第一距离、所述第一关节节点与所述目标数据采集节点之间的第二距离以及所述辅助节点与所述目标数据采集节点之间的第三距离;其中,第一关节节点、辅助节点与目标数据采集节点的位置关系如图3所示,在图3中,第一关节节点为p、辅助节点为p0,目标数据采集节点为p1。
在公式(4)中,a为所述第一距离,所述b为所述第二距离,所述c为所述第三距离,第一距离、第二距离和第三距离可参考图3。
这里,第一关节节点不同,对应的辅助节点及目标数据采集节点也不同。当所述第一关节节点为肘关节时,所述辅助节点根据根节点及第一相对位置确定,所述第一相对位置为所述根节点与所述肩关节之间的相对位置;
当所述第一关节节点为膝关节时,所述辅助节点根据所述根节点及第二相对位置确定,所述第二相对位置为所述根节点与所述髋关节之间的相对位置;其中,所述根节点为躯干节点。
举例来说,继续参考图2,当第一关节节点p为膝关节时,辅助节点为髋关节p0(p0和根节点之间的第二相对位置是不变的),目标数据采集节点为第一小腿节点5,那么当膝关节弯曲时,第一关节节点p、辅助节点p0以及目标数据采集节点可以构成一个三角形,此时,膝关节的弯曲角度可以由公式(4)确定出。
当第一关节节点的弯曲角度确定出之后,作为一种可选的实施例,所述根据所述第一关节节点的弯曲角度确定所述第一关节节点空间位置及空间朝向,包括:
确定所述第一关节节点所在的弯曲面,在所述弯曲面中基于所述第一关节节点与辅助节点之间的第一距离、所述第一关节节点与目标数据采集节点之间的第二距离及所述第一关节节点的弯曲角度确定所述第一关节节点的空间位置;
根据所述第一关节节点的位置及所述辅助节点的位置确定所述第一关节节点的空间朝向。
举例来说,以膝关节为例,由于膝关节是在三维空间中的,即使膝关节的弯曲角度确定之后,还是不能准确得知膝关节的准确位置(参考图3,以p为圆心,r为半径形成的圆上有无穷解),因此需要先确定出一个合理的膝关节所在的弯曲面,本申请中将大腿与脚踝朝向一致所在的平面确定为膝关节的弯曲面。
在弯曲面上,膝关节与髋关节之间的距离是一定的,膝关节与第一小腿节点5之间的距离也是一定的;由于弯曲角度是已知的;第一小腿节点5的空间位置是已知的;髋关节相对根节点的相对位置是一定的,根节点的空间位置已经确定出,因此髋关节的空间位置也相当于是已知的,因此可以确定出膝关节的空间位置。
而当第一小腿节点5的空间位置与膝关节的空间位置确定出之后, 第一小腿节点与膝关节两点可以组成一个向量,该向量的方向就是膝关节的空间朝向(从膝关节指向第一小腿节点)。
第一关节节点的空间位置确定之后,根据所述数据采集节点的空间位置确定所述第二关节节点的空间位置,所述第二关节节点包括:颈部、肩关节及髋关节;
同样的道理,当数据采集节点的空间位置确定出之后,根节点的空间位置也可以获得,对于同一个人体来说,第二关节节点(颈部、肩关节及髋关节)相对于根节点的距离是不变的,而这个相对位置(相对位置和相对角度)是可以预先获取到的,因此,作为一种可选的实施例,根据所述数据采集节点的空间位置确定所述第二关节节点的空间位置,包括:
获取髋关节与根节点之间的第二相对位置,获取颈部与根节点之间的第三相对位置,获取肩关节与根节点之间的第四相对位置;
根据第二相对位置与所述根节点的空间位置确定所述髋关节的空间位置;根据第三相对位置与所述根节点的空间位置确定所述颈部的空间位置;根据第四相对位置与所述根节点的空间位置确定所述肩关节的空间位置。
同样的道理,当所述第一关节节点的空间位置及所述第二关节节点的空间位置确定出之后,可以根据所述第一关节节点的空间位置及所述第二关节节点的空间位置确定所述第二关节节点的空间朝向。
举例来说,当第二关节节点为任意一个肩关节时,肩关节的空间位置确定之后,由于前臂节点的空间位置也是已知的,两点可组成一个向量,那么肩关节的空间朝向为该向量的方向,(从肩关节指向前臂节点)。
各关节节点的姿态信息(空间位置和空间朝向)及数据采集节点的姿态信息确定出之后,终端52需要将上述信息转换为人体模型中姿态动作信息,因此需要将上述姿态信息与预先建立的人体模型进行对应标定。
而在实际应用中,由于传感器与肢体的坐标系通常具有一个姿态偏差,为了提高捕捉精度,在标定之前,获取各所述数据采集节点及各关节节点的姿态偏差,利用所述姿态偏差对应校准各关节节点的空间朝向及所述数据采集节点的空间朝向。
具体地,参考图4,传感器绑定在肢体上,左边的X1轴是关节节点的空间朝向,右边的X轴是数据采集节点的空间朝向,在实际应用中当存在姿态偏差时,X1轴和X轴之间会有误差,不会完全重合,这是就需要对该偏差进行校准,确保X1轴和X轴重合。
针对每一个数据采集节点来说,人体保持“T”姿态静止一段时间,可以从传感器中获取对应数据采集节点的四元数q_sensor,那么可以根据公式(5)确定出数据采集节点的姿态偏差q_bias:
在公式(5)中,q_seg为,人体保持“T”姿态时对应肢体的空间朝向。
姿态偏差确定出之后,根据公式(6)对应校准每个数据采集节点的空间朝向:
当数据采集节点的空间朝向校准后,因传感器是绑定在肢体上的,那么也就相当于关节节点的空间朝向也被校准了。
各数据采集节点的空间朝向及各关节节点的空间朝向校准后,终端52将所述各关节节点的空间位置、各所述数据采集节点的空间位置、校准后的各关节节点的空间朝向以及校准后的各所述数据采集节点的空间朝向与预先建立的人体模型进行对应标定。其中,人体模型为刚体三维模型,可如图5所示。
标定完毕后,终端52可利用定后的所述人体模型捕捉人体的动作姿态,在相应的软件中重现人体的全身动作姿态。
本申请实施例提供的捕捉人体动作姿态的方法及***能带来的有益效果至少是:
本申请提供了一种人体动作姿态的捕捉方法及***,方法包括:获取各数据采集节点的原始数据,基于每个数据采集节点的原始数据,根据互补滤波算法确定出每个所述数据采集节点的空间朝向及空间位置,所述数据采集节点包括:头部节点,躯干节点、第一前臂节点、第二前臂节点、第一小腿节点及第二小腿节点;所述原始数据包括:加速度数据、角速度数据及磁场方向数据;基于反向运动学IK算法确定第一关节节点的弯曲角度,根据所述第一关节节点的弯曲角度确定所述第一关节节点的空间位置及空间朝向,所述第一关节节点包括:肘关节及膝关节;根据所述数据采集节点的空间位置确定所述第二关节节点的空间位置,所述第二关节节点包括:颈部、肩关节及髋关节;根据所述第一关节节点的空间位置及所述第二关节节点的空间位置确定所述第二关节节点的空间朝向;获取各所述数据采集节点的姿态偏差,利用所述姿态偏差对应校准所述各数据采集节点的空间朝向及各关节节点的空间朝向;将所述各关节节点的空间位置、所述数据采集节点的空间位置、校准后的各关节节点的空间朝向以及校准后的各所述数据采集节点的空间朝向与预先建立的人体模型进行对应标定;利用标定后的所述人体模型捕捉人体的动作姿态;所述基于反向运动学IK算法确定所述第一关节节点的弯曲角度,包括:确定所述第一关节节点的辅助节点以及与所述第一关节节点对应的目标数据采集节点;获取所述第一关节节点与所述辅助节点之间的第一距离、所述第一关节节点与所述目标数据采集节点之间的第二距离以及所述辅助节点与所述目标数据采集节点之间的第三距离;利用公式确定所述第一关节节点的弯曲角度/>;其中,所述a为所述第一距离,所述b为所述第二距离,所述c为所述第三距离;如此,本申请利用IK算法解算出第一关节节点及第二关节节点的空间位置及空间朝向,IK算法的解算过程相当于将三维空间的运算转化为关节空间中的运算,运算维度降低,因此可以降低运算时间,进而可以提高动作姿态捕捉的实时性,提高捕捉精度。
并且,本申请先解算出人体第一关节节点的姿态,再由第一关节节点的姿态解算出第二关节节点的姿态,这样只需设置6个数据采集点就可以实现对人体动作姿态的捕捉,有效降低了传感器的使用数量,从而降低了人体动作姿态捕捉成本。
以上所述,仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围,凡在本申请的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本申请的保护范围之内。
Claims (8)
1.一种人体动作姿态捕捉方法,其特征在于,所述方法包括:
获取各数据采集节点的原始数据,基于每个数据采集节点的原始数据,根据互补滤波算法确定出每个所述数据采集节点的空间朝向及空间位置,所述数据采集节点包括:头部节点,躯干节点、第一前臂节点、第二前臂节点、第一小腿节点及第二小腿节点;所述原始数据包括:加速度数据、角速度数据及磁场方向数据;
基于反向运动学IK算法确定第一关节节点的弯曲角度,根据所述第一关节节点的弯曲角度确定所述第一关节节点的空间位置及空间朝向,所述第一关节节点包括:肘关节及膝关节;
根据所述数据采集节点的空间位置确定第二关节节点的空间位置,所述第二关节节点包括:颈部、肩关节及髋关节;
根据所述第一关节节点的空间位置及所述第二关节节点的空间位置确定所述第二关节节点的空间朝向;
获取各所述数据采集节点的姿态偏差,利用所述姿态偏差对应校准各所述数据采集节点的空间朝向及各关节节点的空间朝向;
将所述各关节节点的空间位置、各所述数据采集节点的空间位置、校准后的各关节节点的空间朝向以及校准后的各所述数据采集节点的空间朝向与预先建立的人体模型进行对应标定;
利用标定后的所述人体模型捕捉人体的动作姿态;其中,
所述基于反向运动学IK算法确定所述第一关节节点的弯曲角度,包括:
确定所述第一关节节点的辅助节点以及与所述第一关节节点对应的目标数据采集节点;
获取所述第一关节节点与所述辅助节点之间的第一距离、所述第一关节节点与所述目标数据采集节点之间的第二距离以及所述辅助节点与所述目标数据采集节点之间的第三距离;
当所述第一关节节点为肘关节时,所述辅助节点根据根节点及第一相对位置确定,所述第一相对位置为所述根节点与肩关节之间的相对位置;
当所述第一关节节点为膝关节时,所述辅助节点根据所述根节点及第二相对位置确定,所述第二相对位置为所述根节点与髋关节之间的相对位置;其中,所述根节点为躯干节点。
2.如权利要求1所述的方法,其特征在于,所述根据所述第一关节节点的弯曲角度确定所述第一关节节点空间位置及空间朝向,包括:
确定所述第一关节节点所在的弯曲面,在所述弯曲面中基于所述第一关节节点与辅助节点之间的第一距离、所述第一关节节点与目标数据采集节点之间的第二距离及所述第一关节节点的弯曲角度确定所述第一关节节点的空间位置;
根据所述第一关节节点的位置及所述辅助节点的位置确定所述第一关节节点的空间朝向。
3.如权利要求1所述的方法,其特征在于,所述根据所述数据采集节点的空间位置确定所述第二关节节点的空间位置,包括:
获取所述髋关节与根节点之间的第二相对位置,获取颈部与所述根节点之间的第三相对位置,获取肩关节与所述根节点之间的第四相对位置;
根据所述第二相对位置与所述根节点的空间位置确定所述髋关节的空间位置;根据所述第三相对位置与所述根节点的空间位置确定所述颈部的空间位置;根据所述第四相对位置与所述根节点的空间位置确定所述肩关节的空间位置。
5.一种人体动作姿态捕捉***,其特征在于,所述***包括:
多个数据采集单元,用于采集各数据采集节点的原始数据;所述原始数据包括:加速度数据、角速度数据及磁场方向数据;
终端,用于获取所述原始数据,基于所述原始数据,根据互补滤波算法确定出每个所述数据采集节点的空间朝向及空间位置,所述数据采集节点包括:头部节点,躯干节点、第一前臂节点、第二前臂节点、第一小腿节点及第二小腿节点;
基于反向运动学IK算法确定第一关节节点的弯曲角度,根据所述第一关节节点的弯曲角度确定所述第一关节节点的空间位置及空间朝向,所述第一关节节点包括:肘关节及膝关节;
根据所述数据采集节点的空间位置确定第二关节节点的空间位置,所述第二关节节点包括:颈部、肩关节及髋关节;
根据所述第一关节节点的空间位置及所述第二关节节点的空间位置确定所述第二关节节点的空间朝向;
获取各所述数据采集节点的姿态偏差,利用所述姿态偏差对应校准各所述数据采集节点的空间朝向及各关节节点的空间朝向;
将所述各关节节点的空间位置、各所述数据采集节点的空间位置、校准后的各关节节点的空间朝向以及校准后的各所述数据采集节点的空间朝向与预先建立的人体模型进行对应标定;
用于利用标定后的所述人体模型捕捉人体的动作姿态;其中,
所述基于反向运动学IK算法确定所述第一关节节点的弯曲角度,包括:
确定所述第一关节节点的辅助节点以及与所述第一关节节点对应的目标数据采集节点;
获取所述第一关节节点与所述辅助节点之间的第一距离、所述第一关节节点与所述目标数据采集节点之间的第二距离以及所述辅助节点与所述目标数据采集节点之间的第三距离;
当所述第一关节节点为肘关节时,所述辅助节点根据根节点及第一相对位置确定,所述第一相对位置为所述根节点与肩关节之间的相对位置;
当所述第一关节节点为膝关节时,所述辅助节点根据所述根节点及第二相对位置确定,所述第二相对位置为所述根节点与髋关节之间的相对位置;其中,所述根节点为躯干节点。
6.如权利要求5所述的***,其特征在于,所述终端具体用于:
确定所述第一关节节点所在的弯曲面,在所述弯曲面中基于所述第一关节节点与辅助节点之间的第一距离、所述第一关节节点与目标数据采集节点之间的第二距离及所述第一关节节点的弯曲角度确定所述第一关节节点的空间位置;
根据所述第一关节节点的位置及所述辅助节点的位置确定所述第一关节节点的空间朝向。
7.如权利要求5所述的***,其特征在于,所述终端具体用于:
获取所述髋关节与根节点之间的第二相对位置,获取颈部与所述根节点之间的第三相对位置,获取肩关节与所述根节点之间的第四相对位置;
根据所述第二相对位置与所述根节点的空间位置确定所述髋关节的空间位置;根据所述第三相对位置与所述根节点的空间位置确定所述颈部的空间位置;根据所述第四相对位置与所述根节点的空间位置确定所述肩关节的空间位置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911396845.6A CN110928420B (zh) | 2019-12-30 | 2019-12-30 | 一种人体动作姿态捕捉方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911396845.6A CN110928420B (zh) | 2019-12-30 | 2019-12-30 | 一种人体动作姿态捕捉方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110928420A CN110928420A (zh) | 2020-03-27 |
CN110928420B true CN110928420B (zh) | 2023-06-13 |
Family
ID=69862530
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911396845.6A Active CN110928420B (zh) | 2019-12-30 | 2019-12-30 | 一种人体动作姿态捕捉方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110928420B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008029164A2 (en) * | 2006-09-08 | 2008-03-13 | University Of Leeds | Method and network for routing data between a network of spatially distributed nodes using spatial indications |
CN107898466A (zh) * | 2017-10-17 | 2018-04-13 | 深圳大学 | 一种基于惯性传感器的肢体运动捕捉***和方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103279186B (zh) * | 2013-05-07 | 2015-11-18 | 兰州交通大学 | 融合光学定位与惯性传感的多目标运动捕捉*** |
CN104856684A (zh) * | 2015-04-10 | 2015-08-26 | 深圳市虚拟现实科技有限公司 | 运动目标采集方法和*** |
WO2017080137A1 (zh) * | 2015-11-13 | 2017-05-18 | 上海逸动医学科技有限公司 | 关节运动检测***、方法及膝关节动态评估方法、*** |
US10888735B2 (en) * | 2016-10-07 | 2021-01-12 | William W. Clark | Calibration of initial orientation and position of sports equipment and body segments for inertial sensors |
FR3074676A1 (fr) * | 2017-12-07 | 2019-06-14 | Cr Tools | Ensemble de vetements et dispositifs de mesures de parametres de posture corporelle d'un individu |
CN108621161B (zh) * | 2018-05-08 | 2021-03-02 | 中国人民解放军国防科技大学 | 基于多传感器信息融合的足式机器人本体状态估计方法 |
-
2019
- 2019-12-30 CN CN201911396845.6A patent/CN110928420B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008029164A2 (en) * | 2006-09-08 | 2008-03-13 | University Of Leeds | Method and network for routing data between a network of spatially distributed nodes using spatial indications |
CN107898466A (zh) * | 2017-10-17 | 2018-04-13 | 深圳大学 | 一种基于惯性传感器的肢体运动捕捉***和方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110928420A (zh) | 2020-03-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108762495B (zh) | 基于手臂动作捕捉的虚拟现实驱动方法及虚拟现实*** | |
Zhou et al. | Reducing drifts in the inertial measurements of wrist and elbow positions | |
WO2016183812A1 (zh) | 一种混合运动捕捉***及方法 | |
CN109079794B (zh) | 一种基于人体姿态跟随的机器人控制与示教方法 | |
KR101080078B1 (ko) | 통합센서 기반의 모션 캡쳐 시스템 | |
KR20160020065A (ko) | 트랙킹 시스템 및 이를 이용한 트랙킹 방법 | |
CN103279186A (zh) | 融合光学定位与惯性传感的多目标运动捕捉*** | |
CN103578135A (zh) | 虚拟影像与真实场景相结合的舞台交互集成***及实现方法 | |
CN110609621B (zh) | 姿态标定方法及基于微传感器的人体运动捕获*** | |
CN103837157A (zh) | 一种运动测量方法及装置 | |
CN111158482B (zh) | 一种人体动作姿态捕捉方法及*** | |
CN109737941B (zh) | 一种人体动作捕捉方法 | |
CN108279773B (zh) | 一种基于marg传感器和磁场定位技术的数据手套 | |
CN110567484B (zh) | 标定imu与刚体姿态的方法、设备以及可读存储介质 | |
JP2015227813A (ja) | センサーモジュールの位置の取得方法及び装置、及び、動作計測方法及び装置 | |
CN106227368B (zh) | 一种人体关节角度解算方法及装置 | |
CN111433783A (zh) | 手部模型生成方法、装置、终端设备及手部动作捕捉方法 | |
US20180216959A1 (en) | A Combined Motion Capture System | |
CN113119104B (zh) | 机械臂控制方法、机械臂控制装置、计算设备及*** | |
CN109453505B (zh) | 一种基于可穿戴设备的多关节追踪方法 | |
KR20120059824A (ko) | 복합 센서를 이용한 실시간 모션 정보 획득 방법 및 시스템 | |
CN115919250A (zh) | 一种人体动态关节角测量*** | |
Abbate et al. | Development of a MEMS based wearable motion capture system | |
Callejas-Cuervo et al. | Capture and analysis of biomechanical signals with inertial and magnetic sensors as support in physical rehabilitation processes | |
CN112711332B (zh) | 一种基于姿态坐标的人体动作捕捉方法 |
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 |