CN116045971A - 姿态估计方法、装置和系统 - Google Patents
姿态估计方法、装置和系统 Download PDFInfo
- Publication number
- CN116045971A CN116045971A CN202211343075.0A CN202211343075A CN116045971A CN 116045971 A CN116045971 A CN 116045971A CN 202211343075 A CN202211343075 A CN 202211343075A CN 116045971 A CN116045971 A CN 116045971A
- Authority
- CN
- China
- Prior art keywords
- data
- component
- magnetometer
- acceleration
- target
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 93
- 230000001133 acceleration Effects 0.000 claims abstract description 232
- 230000033001 locomotion Effects 0.000 claims abstract description 167
- 210000001364 upper extremity Anatomy 0.000 claims description 46
- 210000003141 lower extremity Anatomy 0.000 claims description 36
- 238000005096 rolling process Methods 0.000 claims description 18
- 230000004927 fusion Effects 0.000 claims description 17
- 238000007499 fusion processing Methods 0.000 claims description 15
- 238000012549 training Methods 0.000 claims description 15
- 230000035772 mutation Effects 0.000 claims description 12
- 238000000605 extraction Methods 0.000 claims description 6
- 230000037081 physical activity Effects 0.000 abstract 1
- 230000036544 posture Effects 0.000 description 97
- 230000015654 memory Effects 0.000 description 22
- 238000010586 diagram Methods 0.000 description 20
- 230000008569 process Effects 0.000 description 19
- 238000012545 processing Methods 0.000 description 15
- 238000004590 computer program Methods 0.000 description 10
- 238000004364 calculation method Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 5
- 238000013135 deep learning Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 238000005070 sampling Methods 0.000 description 4
- 238000013527 convolutional neural network Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000002068 genetic effect Effects 0.000 description 2
- 230000005358 geomagnetic field Effects 0.000 description 2
- 238000011176 pooling Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 210000000707 wrist Anatomy 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000007477 logistic regression Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/10—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
- G01C21/12—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning
- G01C21/16—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation
- G01C21/165—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation combined with non-inertial navigation instruments
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/10—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
- G01C21/12—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning
- G01C21/16—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation
- G01C21/18—Stabilised platforms, e.g. by gyroscope
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/80—Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level
- G06V10/806—Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level of extracted features
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/20—Movements or behaviour, e.g. gesture recognition
- G06V40/23—Recognition of whole body movements, e.g. for sport training
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Multimedia (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Automation & Control Theory (AREA)
- Human Computer Interaction (AREA)
- Social Psychology (AREA)
- Psychiatry (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Molecular Biology (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)
Abstract
本申请涉及一种姿态估计方法、装置和系统。所述方法包括:获取运动传感器采集到的目标对象的运动数据;所述运动数据包括与所述目标对象的目标部位相对应的加速度分量、陀螺仪分量和磁力计分量;根据所述加速度分量、所述陀螺仪分量和所述磁力计分量,确定所述目标部位对应的姿态估计数据;所述姿态估计数据包括方位角、引力加速度、线性加速度、陀螺仪数据和磁力计数据;将所述方位角、所述引力加速度、所述线性加速度、所述陀螺仪数据和所述磁力计数据,输入至预先训练的姿态估计模型,得到所述目标对象的姿态估计结果。采用本方法能够在姿态估计时无需佩戴较多传感器,减少了对人体活动的影响,便于实际使用。
Description
技术领域
本申请涉及人工智能技术领域,特别是涉及一种姿态估计方法、装置和系统。
背景技术
人体姿态估计在康复训练、运动员表现分析、工业场所人体工程学评估、AR/VR(Augmented Reality/Virtual Reality,增强现实/虚拟现实)等应用场景中具有重要作用。
现有技术中,人体姿态估计方法主要有两种,一种是需要固定标记传感器结构的基于光学或超声波的视觉距离(Line-of-Sight)方法,另一种是基于运动传感器的系统方案。其中,基于光学或超声波的视觉距离方法要求传感元件(如相机)的位置和方向是已知且不变的,导致该方法在不受约束的自动空间条件下适用性较差;而基于运动传感器的系统方案则需要多传感器数据融合,用于人体全身姿态估计的商用惯性传感器系统大约由20个运动传感器组成,导致传感器佩戴烦琐,影响正常活动。
因此,目前的人体姿态估计技术存在不便于使用的问题。
发明内容
基于此,有必要针对上述技术问题,提供一种能够便于使用的姿态估计方法、装置、系统、计算机设备和计算机可读存储介质。
第一方面,本申请提供了一种姿态估计方法。所述方法包括:
获取运动传感器采集到的目标对象的运动数据;所述运动数据包括与所述目标对象的目标部位相对应的加速度分量、陀螺仪分量和磁力计分量;
根据所述加速度分量、所述陀螺仪分量和所述磁力计分量,确定所述目标部位对应的姿态估计数据;所述姿态估计数据包括方位角、引力加速度、线性加速度、陀螺仪数据和磁力计数据;
将所述方位角、所述引力加速度、所述线性加速度、所述陀螺仪数据和所述磁力计数据,输入至预先训练的姿态估计模型,得到所述目标对象的姿态估计结果。
在其中一个实施例中,所述获取运动传感器采集到的目标对象的运动数据,包括:
获取与所述目标对象的目标部位相对应的第一磁力计分量和第二磁力计分量;所述第一磁力计分量与当前时刻的上一时刻相对应,所述第二磁力计分量与所述当前时刻相对应;
根据所述第一磁力计分量,确定所述目标部位的磁力计分量预测值;
对所述磁力计分量预测值和所述第二磁力计分量进行第一融合处理,得到所述目标部位对应的磁力计分量。
在其中一个实施例中,所述根据所述加速度分量、所述陀螺仪分量和所述磁力计分量,确定所述目标部位对应的姿态估计数据,包括:
根据所述加速度分量,确定所述目标部位对应的翻滚角和俯仰角;
根据所述翻滚角、所述俯仰角和所述磁力计分量,确定所述目标部位对应的航向角;
根据所述翻滚角、所述俯仰角和所述航向角,得到所述目标部位对应的方位角。
在其中一个实施例中,所述根据所述加速度分量、所述陀螺仪分量和所述磁力计分量,确定所述目标部位对应的姿态估计数据,还包括:
根据所述加速度分量,确定重力加速度和所述目标部位对应的引力加速度;
根据所述引力加速度和所述重力加速度,确定所述目标部位对应的线性加速度。
在其中一个实施例中,在获取运动传感器采集到的目标对象的运动数据之前,还包括:
获取所述目标对象的至少一个标识序列;
分别对各所述标识序列进行更新处理,得到至少一个更新后标识序列;
同时对所述至少一个更新后标识序列进行变异处理,得到与各所述更新后标识序列相对应的变异后标识序列;
将所述变异后标识序列作为所述标识序列,返回至所述分别对各所述标识序列进行更新处理,得到至少一个更新后标识序列的步骤,直至各所述变异后标识序列符合预设的收敛条件;
根据至少一个所述变异后标识序列,确定所述目标对象的目标部位。
在其中一个实施例中,所述至少一个标识序列包括头部标识序列、上肢标识序列和下肢标识序列;所述根据至少一个所述变异后标识序列,确定所述目标对象的目标部位,包括:
分别根据变异后头部标识序列、变异后上肢标识序列和变异后下肢标识序列,确定头部目标部位、上肢目标部位和下肢目标部位;
将所述头部目标部位、所述上肢目标部位和所述下肢目标部位,均确定为所述目标对象的目标部位。
在其中一个实施例中,在获取运动传感器采集到的目标对象的运动数据之前,还包括:
获取运动数据样本和所述运动数据样本对应的姿态标签;
将所述运动数据样本输入至待训练的姿态估计模型,得到所述运动数据样本对应的样本估计结果;
根据所述样本估计结果与所述姿态标签之间的差异,对所述待训练的姿态估计模型进行训练,得到所述预先训练的姿态估计模型。
在其中一个实施例中,所述运动数据样本包括方位角样本、引力加速度样本、线性加速度样本、陀螺仪数据样本和磁力计数据样本;所述将所述运动数据样本输入至待训练的姿态估计模型,得到所述运动数据样本对应的样本估计结果,包括:
分别对所述方位角样本、所述引力加速度样本、所述线性加速度样本、所述陀螺仪数据样本和所述磁力计数据样本进行特征提取,得到方位角特征、引力加速度特征、线性加速度特征、陀螺仪数据特征和磁力计数据特征;
对所述方位角特征、所述引力加速度特征、所述线性加速度特征、所述陀螺仪数据特征和所述磁力计数据特征进行第二融合处理,得到样本融合特征;
基于所述待训练的姿态估计模型,对所述样本融合特征进行识别,得到所述样本估计结果。
第二方面,本申请还提供了一种姿态估计装置。所述装置包括:
获取模块,用于获取运动传感器采集到的目标对象的运动数据;所述运动数据包括与所述目标对象的目标部位相对应的加速度分量、陀螺仪分量和磁力计分量;
计算模块,用于根据所述加速度分量、所述陀螺仪分量和所述磁力计分量,确定所述目标部位对应的姿态估计数据;所述姿态估计数据包括方位角、引力加速度、线性加速度、陀螺仪数据和磁力计数据;
识别模块,用于将所述方位角、所述引力加速度、所述线性加速度、所述陀螺仪数据和所述磁力计数据,输入至预先训练的姿态估计模型,得到所述目标对象的姿态估计结果。
第三方面,本申请还提供了一种姿态估计系统。所述系统包括运动传感器和姿态估计处理器;
所述运动传感器,用于采集目标对象的运动数据,并发送所述运动数据至所述姿态估计处理器;所述运动数据包括与所述目标对象的目标部位相对应的加速度分量、陀螺仪分量和磁力计分量;
所述姿态估计处理器,用于根据接收到的所述加速度分量、所述陀螺仪分量和所述磁力计分量,确定所述目标部位对应的姿态估计数据,所述姿态估计数据包括方位角、引力加速度、线性加速度、陀螺仪数据和磁力计数据,将所述方位角、所述引力加速度、所述线性加速度、所述陀螺仪数据和所述磁力计数据,输入至预先训练的姿态估计模型,得到所述目标对象的姿态估计结果。
第四方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取运动传感器采集到的目标对象的运动数据;所述运动数据包括与所述目标对象的目标部位相对应的加速度分量、陀螺仪分量和磁力计分量;
根据所述加速度分量、所述陀螺仪分量和所述磁力计分量,确定所述目标部位对应的姿态估计数据;所述姿态估计数据包括方位角、引力加速度、线性加速度、陀螺仪数据和磁力计数据;
将所述方位角、所述引力加速度、所述线性加速度、所述陀螺仪数据和所述磁力计数据,输入至预先训练的姿态估计模型,得到所述目标对象的姿态估计结果。
第五方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取运动传感器采集到的目标对象的运动数据;所述运动数据包括与所述目标对象的目标部位相对应的加速度分量、陀螺仪分量和磁力计分量;
根据所述加速度分量、所述陀螺仪分量和所述磁力计分量,确定所述目标部位对应的姿态估计数据;所述姿态估计数据包括方位角、引力加速度、线性加速度、陀螺仪数据和磁力计数据;
将所述方位角、所述引力加速度、所述线性加速度、所述陀螺仪数据和所述磁力计数据,输入至预先训练的姿态估计模型,得到所述目标对象的姿态估计结果。
上述姿态估计方法、装置、系统、计算机设备和存储介质,通过获取运动传感器采集到的目标对象的运动数据,包括与目标对象的目标部位相对应的加速度分量、陀螺仪分量和磁力计分量,根据加速度分量、陀螺仪分量和磁力计分量确定目标部位对应的姿态估计数据,包括方位角、引力加速度、线性加速度、陀螺仪数据和磁力计数据,将方位角、引力加速度、线性加速度、陀螺仪数据和磁力计数据输入至预先训练的姿态估计模型,得到目标对象的姿态估计结果;可以通过在人体佩戴较少数量的传感器,采集人体指定部位的运动数据,基于运动数据生成人体指定部位包括方位角、引力加速度、线性加速度、陀螺仪数据和磁力计数据在内的姿态估计数据,将姿态估计数据送入姿态估计模型进行估计,得到人体姿态,由于减少了人体佩戴传感器的数量,使得在姿态估计时无需佩戴较多传感器,减少了对人体活动的影响,便于实际使用。
附图说明
图1为一个实施例中姿态估计方法的流程示意图;
图2为一个实施例中人体姿态估计过程的示意图;
图3为另一个实施例中人体姿态估计过程的示意图;
图4为一个实施例中传感器数量确定方法的交叉选择过程的示意图;
图5为一个实施例中传感器数量确定方法的变异过程的示意图;
图6为一个实施例中运动传感器数量确定结果的示意图;
图7为另一个实施例中传感器数量确定方法的示意图;
图8为一个实施例中姿态估计模型的结构框图;
图9为另一个实施例中姿态估计模型的结构框图;
图10为一个实施例中上肢关节传感器佩戴的示意图;
图11为另一个实施例中姿态估计方法的流程示意图;
图12为一个实施例中姿态估计装置的结构框图;
图13为一个实施例中姿态估计系统的结构框图;
图14为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在一个实施例中,如图1所示,提供了一种姿态估计方法,本实施例以该方法应用于终端进行举例说明,可以理解的是,该方法也可以应用于服务器,还可以应用于包括终端和服务器的系统,并通过终端和服务器的交互实现。本实施例中,该方法包括以下步骤:
步骤S110,获取运动传感器采集到的目标对象的运动数据;运动数据包括与目标对象的目标部位相对应的加速度分量、陀螺仪分量和磁力计分量。
其中,目标对象可以为姿态估计的对象。
其中,目标部位可以为目标对象上佩戴运动传感器的部位。
具体实现中,可以预先确定目标对象上的至少一个目标部位,在各目标部位设置运动传感器,使用运动传感器采集目标部位的运动数据,运动数据可以包括加速度分量、陀螺仪分量和磁力计分量,运动传感器将采集到运动数据输入至终端,使终端获取到目标对象的运动数据。
例如,预先确定人体左肘部和右肘部为目标部位,在左肘部和右肘部处各佩戴一个九轴传感器,在人体运动过程中,使用九轴传感器采集三轴加速度数据、三轴陀螺仪数据和三轴磁力计数据,并输入终端,终端可以获取到人体左肘部的三轴加速度数据、三轴陀螺仪数据和三轴磁力计数据,以及右肘部的三轴加速度数据、三轴陀螺仪数据和三轴磁力计数据。
步骤S120,根据加速度分量、陀螺仪分量和磁力计分量,确定目标部位对应的姿态估计数据;姿态估计数据包括方位角、引力加速度、线性加速度、陀螺仪数据和磁力计数据。
其中,方位角可以包括翻滚角、俯仰角和航向角。
具体实现中,终端在获取到目标部位运动数据的加速度分量、陀螺仪分量和磁力计分量后,可以将加速度分量作为目标部位的引力加速度,并根据加速度分量确定目标部位的翻滚角、俯仰角和重力加速度,根据翻滚角、俯仰角和磁力计分量确定目标部位的航向角,根据引力加速度和重力加速度确定目标部位的线性加速度,以及将陀螺仪分量作为目标部位的陀螺仪数据,将磁力计分量作为目标部位的磁力计数据。
例如,终端可以根据人体左肘部的三轴加速度数据、三轴陀螺仪数据和三轴磁力计数据,确定左肘部对应的一组姿态估计数据,包括方位角、引力加速度、线性加速度、陀螺仪数据和磁力计数据,右肘部同理。
实际应用中,基于陀螺仪的角度估计在短时间尺度上非常精确,此外,由于地磁信号较为微弱,当磁力计受到环境干扰时,容易导致磁力计分量存在偏差,进而引起航向角的失真,针对此种问题,可以对运动数据中的磁力计分量进行校正,得到磁力计数据,校正方法可以但不限于是数据融合、数理统计或者机器学习。
步骤S130,将方位角、引力加速度、线性加速度、陀螺仪数据和磁力计数据,输入至预先训练的姿态估计模型,得到目标对象的姿态估计结果。
其中,姿态估计模型可以为通过深度学习训练得到的用于估计姿态的模型。
其中,姿态估计结果可以为姿态的名称、图片或者数据。
具体实现中,可以预先训练一个姿态估计模型,终端确定目标部位对应的方位角、引力加速度、线性加速度、陀螺仪数据和磁力计数据后,将方位角、引力加速度、线性加速度、陀螺仪数据和磁力计数据输入至姿态估计模型,得到姿态估计模型输出的目标对象的姿态估计结果。
例如,终端预先训练一个姿态估计模型,姿态估计模型训练好后,将人体左肘部对应的一组姿态估计数据以及右肘部对应的另一组姿态估计数据,一起输入至姿态估计模型,得到姿态估计模型输出的人体姿态的名称,进一步地,姿态估计模型还可以输出人体姿态的角度或者人体姿态的照片。
图2提供了一个人体姿态估计过程的示意图。根据图2,人体姿态估计过程可以包含数据集生成和模型训练两部分,可以在人体指定部位佩戴运动传感器,运动传感器在人体运动过程中的不同时刻采集全身运动数据,每个部位同一时刻对应一组运动数据,全体运动数据组成原始数据集,还可以针对原始数据集,获取人体姿态标签数据集,具体地,针对原始数据集中指定部位指定时刻所对应的一组运动数据,通过人工标注的方式生成姿态标签,例如,人工识别一组运动数据对应的姿态名称、姿态照片或者关节活动角度,全部人体部位在各个时刻的姿态标签可以组成人体姿态标签数据集,利用原始数据集和人体姿态标签数据集,对待训练的人体姿态估计模型进行训练,得到预先训练的人体姿态估计模型,当需要估计人体姿态时,使用运动传感器采集人体指定部位的运动数据,输入人体姿态估计模型进行估计,人体姿态估计模型输出人体姿态估计结果,包括人体姿态的名称、活动角度或者照片,例如,针对图2,可以输出人体姿态的名称为搬运,还可以输出人体各关节的活动角度,还可以基于人体关键部位生成人体姿态示意图,如图中输出结果中的白色线段所示。其中,人体姿态估计模型可以基于深度学习网络模型来建立。
图3提供了另一个人体姿态估计过程的示意图。根据图3,可以采集九轴IMU(Inertial Measurement Unit,惯性测量单元)数据,九轴IMU数据可以包括三轴加速度数据、三轴陀螺仪数据和三轴磁力计数据,根据三轴加速度数据得到引力加速度、重力加速度以及方位角中的翻滚角和俯仰角,根据翻滚角、俯仰角和三轴磁力计数据得到方位角中的航向角,根据引力加速度和重力加速度得到线性加速度,提取方位角特征、引力加速度特征、线性加速度特征、陀螺仪数据特征和磁力计数据特征,并针对提取的上述特征进行编码,输入至人体姿态估计模型,其中,人体姿态估计模型可以基于深度学习网络来建立,人体姿态估计模型输出人体姿态估计结果,可以为人体姿态的名称、活动角度或者照片。
上述姿态估计方法,通过获取运动传感器采集到的目标对象的运动数据,包括与目标对象的目标部位相对应的加速度分量、陀螺仪分量和磁力计分量,根据加速度分量、陀螺仪分量和磁力计分量确定目标部位对应的姿态估计数据,包括方位角、引力加速度、线性加速度、陀螺仪数据和磁力计数据,将方位角、引力加速度、线性加速度、陀螺仪数据和磁力计数据输入至预先训练的姿态估计模型,得到目标对象的姿态估计结果;可以通过在人体佩戴较少数量的传感器,采集人体指定部位的运动数据,基于运动数据生成人体指定部位包括方位角、引力加速度、线性加速度、陀螺仪数据和磁力计数据在内的姿态估计数据,将姿态估计数据送入姿态估计模型进行估计,得到人体姿态,由于减少了人体佩戴传感器的数量,使得在姿态估计时无需佩戴较多传感器,减少了对人体活动的影响,便于实际使用。
在一个实施例中,上述步骤S110,可以具体包括:获取与目标对象的目标部位相对应的第一磁力计分量和第二磁力计分量;第一磁力计分量与当前时刻的上一时刻相对应,第二磁力计分量与当前时刻相对应;根据第一磁力计分量,确定目标部位的磁力计分量预测值;对磁力计分量预测值和第二磁力计分量进行第一融合处理,得到目标部位对应的磁力计分量。
其中,第一磁力计分量可以为上一时刻的磁力计分量。第二磁力计分量可以为当前时刻的磁力计分量。
其中,第一融合处理可以为姿态识别过程的融合处理,可以但不限于是加权平均或者卡尔曼滤波。
具体实现中,终端可以对目标部位各个历史时刻运动数据的测量值进行存储,当获取到当前时刻运动数据中磁力计分量的测量值时,从存储的测量值中读取上一时刻磁力计分量的测量值,根据上一时刻磁力计分量的测量值预测当前时刻的磁力计分量,得到当前时刻磁力计分量的预测值,将当前时刻磁力计分量的预测值与当前时刻磁力计分量的测量值进行融合处理,得到目标部位当前时刻的磁力计分量。
实际应用中,由于地磁信号较为微弱,当磁力计受到环境干扰时,容易无法采集到真实的地磁信号,导致通过常规姿态解算方法得到的方位角中的航向角完全失真,或者部分姿态解算方法得到的方位角中的翻滚角和俯仰角失真,针对此种情况,可以对运动传感器采集到的磁力计分量进行校正,具体地,可以在磁力计采集到磁场信号测量值的同时,通过上一采样点的磁场信号输出值与当前采样点的角速度测量值计算出当前采样点的磁场信号预测值,然后将磁场信号的测量值与预测值融合,得到最终的当前磁场信号输出值,具体公式可以为
Mago=F(Magm,Magp,w)。
其中,Magm为磁场信号的测量值,Magp为磁场信号的预测值。F为Magm与Magp的融合函数,可以使用加权平均、卡尔曼滤波等方法进行融合。w为测量值的误差或者权重,可以通过用测量值计算出的磁场强度、磁场倾角、与预测值的差异等指标进行实时调节。
其中,Magp的计算公式可以为Magp(t)=R*Mago(t-1)。其中,Magp(t)为Magp的当前值,Mago为磁场信号的测量值,Mago(t-1)为Mago在上一采样点的值,R为角速度测量值对应的旋转矩阵。
其中,F使用加权平均的一种实例可以为
F(Magm,Magp,w)=wMagm+(1-w)Magp。
其中,w使用磁场强度作为指标的一种实例可以为
相比其它抗磁干扰的姿态解算方法,上述方法不影响姿态解算原本的过程,只需要将磁场信号通过该方法处理后再进行姿态解算即可,因此在调节抗磁效果时不会影响姿态解算本身的性能,而且部署方便。
本实施例中,通过获取与目标对象的目标部位相对应的第一磁力计分量和第二磁力计分量,根据第一磁力计分量,确定目标部位的磁力计分量预测值,对磁力计分量预测值和第二磁力计分量进行第一融合处理,得到目标部位对应的磁力计分量,可以对运动传感器测量得到的磁力计分量进行校正,提高磁力计分量的准确性,进而增加根据磁力计分量计算得到的方位角的准确性,使得姿态估计更为准确。
在一个实施例中,上述步骤S120,可以具体包括:根据加速度分量,确定目标部位对应的翻滚角和俯仰角;根据翻滚角、俯仰角和磁力计分量,确定目标部位对应的航向角;根据翻滚角、俯仰角和航向角,得到目标部位对应的方位角。
具体实现中,可以针对加速度分量进行反正切运算,得到目标部位的翻滚角和俯仰角,还可以针对翻滚角、俯仰角和磁力计分量进行反正切运算,得到目标部位的航向角,翻滚角、俯仰角和航向角可以作为目标部位的方位角。
实际应用中,设九轴传感器采集到的加速度三轴分量为Ax,Ay,Az,磁力计三轴分量为mx,my,mz,则翻滚角θ的计算公式可以为
俯仰角φ的计算公式可以为
航向角Ψ的计算公式可以为
目标部位的方位角可以由翻滚角θ、俯仰角φ和航向角Ψ组成。由于方位估计容易受到加速度计的噪声干扰影响,而翻滚角、俯仰角均基于加速度分量计算得到,因此,可以在姿态估计模型的输入端增加包含加速度计噪声信息的方位角特征维度,提升姿态估计模型训练及应用的鲁棒性。
本实施例中,通过根据加速度分量,确定目标部位对应的翻滚角和俯仰角,根据翻滚角、俯仰角和磁力计分量,确定目标部位对应的航向角,根据翻滚角、俯仰角和航向角,得到目标部位对应的方位角,可以从运动传感器采集到的运动数据中提取出目标部位的方位角,在姿态估计模型中增加方位角特征,通过扩增特征维度来提高姿态估计模型的训练效果,使得姿态估计模型的性能得以提升,便于减少运动传感器的数量。
在一个实施例中,上述步骤S120,具体还可以包括:根据加速度分量,确定重力加速度和目标部位对应的引力加速度;根据引力加速度和重力加速度,确定目标部位对应的线性加速度。
具体实现中,可以将加速度分量作为目标部位的引力加速度,对引力加速度进行求和运算,得到重力加速度,对引力加速度和重力加速度进行求差运算,得到目标部位对应的线性加速度。
实际应用中,设九轴传感器采集到的加速度三轴分量为Ax,Ay,Az,可以将Ax,Ay,Az作为引力加速度,则重力加速度g的计算公式可以为
对引力加速度和重力加速度进行求差运算,得到目标部位对应的线性加速度Bx,By,Bz,具体公式可以为
本实施例中,通过根据加速度分量,确定重力加速度和目标部位对应的引力加速度,根据引力加速度和重力加速度,确定目标部位对应的线性加速度,可以从运动传感器采集到的运动数据中提取出目标部位的线性加速度,在姿态估计模型中增加线性加速度特征,通过扩增特征维度来提高姿态估计模型的训练效果,使得姿态估计模型的性能得以提升,便于减少运动传感器的数量。
在一个实施例中,上述步骤S110之前,具体还可以包括:获取目标对象的至少一个标识序列;分别对各标识序列进行更新处理,得到至少一个更新后标识序列;同时对至少一个更新后标识序列进行变异处理,得到与各更新后标识序列相对应的变异后标识序列;将变异后标识序列作为标识序列,返回至分别对各标识序列进行更新处理,得到至少一个更新后标识序列的步骤,直至各变异后标识序列符合预设的收敛条件;根据至少一个变异后标识序列,确定目标对象的目标部位。
其中,标识序列可以为由传感器标识组成的序列,传感器标识可以用于标记目标部位是否佩戴运动传感器,例如,若左肘部佩戴运动传感器,右肘部未佩戴运动传感器,则左肘部的传感器标识为1,右肘部的传感器标识为0,可以针对人体佩戴的全部或者部分运动传感器,生成标识序列。
其中,预设的收敛条件可以为相邻两次循环得到的变异后标识序列相同。
其中,更新处理可以但不限于是对标识序列进行交叉选择,得到多个交叉选择后的标识序列,计算各交叉选择后的标识序列的适应度,根据适应度从多个交叉选择后的标识序列中选取一个,作为更新后标识序列。
具体实现中,终端可以获取到目标对象的至少一个标识序列,对各标识序列进行更新处理,得到至少一个更新后标识序列,将至少一个更新后标识序列组成目标对象的一个整体标识序列,整体标识序列中包含目标对象所佩戴的全部传感器的传感器标识,通过对整体标识序列进行变异,实现同时对至少一个更新后标识序列进行变异,得到各更新后标识序列对应的变异后标识序列,之后可以将变异后标识序列作为目标对象的至少一个标识序列,返回至分别对各标识序列进行更新处理,得到至少一个更新后标识序列的步骤,直至相邻两次循环得到的变异后标识序列相同,最后可以根据变异后标识序列,确定目标对象的目标部位。
本实施例中,通过获取目标对象的至少一个标识序列,分别对各标识序列进行更新处理,得到至少一个更新后标识序列,同时对至少一个更新后标识序列进行变异处理,得到与各更新后标识序列相对应的变异后标识序列,将变异后标识序列作为标识序列,返回至分别对各标识序列进行更新处理,得到至少一个更新后标识序列的步骤,直至各变异后标识序列符合预设的收敛条件,根据至少一个变异后标识序列,确定目标对象的目标部位,可以基于对遗传算法进行改进,求解得到用于进行姿态估计的传感器数量的最小值,在减少人体佩戴传感器的数量的基础上,降低了传感器数量确定的复杂度,提高了传感器数量确定的速率。
在一个实施例中,至少一个标识序列包括头部标识序列、上肢标识序列和下肢标识序列;上述根据至少一个变异后标识序列,确定目标对象的目标部位的步骤,可以具体包括:分别根据变异后头部标识序列、变异后上肢标识序列和变异后下肢标识序列,确定头部目标部位、上肢目标部位和下肢目标部位;将头部目标部位、上肢目标部位和下肢目标部位,均确定为目标对象的目标部位。
其中,头部标识序列可以为人体头部传感器标识组成的序列,上肢标识序列可以为人体上肢传感器标识组成的序列,下肢标识序列可以为人体下肢传感器标识组成的序列。
其中,头部目标部位可以为人体头部佩戴运动传感器的部位,上肢目标部位可以为人体上肢佩戴运动传感器的部位,下肢目标部位可以为人体下肢佩戴运动传感器的部位,
具体实现中,终端可以获取目标对象的头部标识序列、上肢标识序列和下肢标识序列,分别对头部标识序列、上肢标识序列和下肢标识序列进行更新处理,得到更新后的头部标识序列、上肢标识序列和下肢标识序列,将更新后的头部标识序列、上肢标识序列和下肢标识序列组成一个整体标识序列,针对该整体标识序列进行变异处理,对变异后的整体标识序列进行分割,得到变异后头部标识序列、变异后上肢标识序列和变异后下肢标识序列,分别将变异后头部标识序列、变异后上肢标识序列和变异后下肢标识序列作为目标对象的头部标识序列、上肢标识序列和下肢标识序列,重复上述过程,直至相邻两次循环得到的变异后头部标识序列、变异后上肢标识序列和变异后下肢标识序列均相同,此时可以根据变异后头部标识序列确定目标对象的头部目标部位,根据变异后上肢标识序列确定目标对象的上肢目标部位,根据变异后下肢标识序列确定目标对象的下肢目标部位,最后将头部目标部位、上肢目标部位和下肢目标部位的集合确定为目标对象的目标部位。
实际应用中,为进一步减少人体佩戴传感器的数量,便于姿态估计方法的实际使用,本申请还提出了一种传感器数量确定方法,用于确定人体佩戴传感器数量的最小值。图4提供了一个传感器数量确定方法的交叉选择过程的示意图,图5提供了一个传感器数量确定方法的变异过程的示意图。根据图4和图5,传感器数量确定方法可以通过设置与人体N个候选位置相对应的N维向量序列[0,1,…,1]来实现,其中,1表示该候选位置佩戴传感器,0表示该候选位置不佩戴传感器,将N维向量序列分割成三个部分,分别对应头部、上肢和下肢,其中,头部对应I维向量序列,表示有I个候选位置;上肢对应J维向量序列,表示有J个候选位置;下肢对应K维向量序列,表示有K个候选位置,且I+J+K=N。交叉选择过程可以具体包括以下步骤:
步骤1,初始化,随机生成I维向量序列、J维向量序列和K维向量序列;
步骤2,对随机生成的I维向量序列、J维向量序列和K维向量序列进行交叉选择运算,并计算每个向量序列的fitness(适应度),如图4所示;
步骤3,基于适应度分别更新I维向量序列、J维向量序列和K维向量序列,得到更新后的I维向量序列、更新后的J维向量序列和更新后的K维向量序列,例如,可以将头部适应度最高的向量序列确定为更新后的I维向量序列,将上肢适应度最高的向量序列确定为更新后的J维向量序列,将下肢适应度最高的向量序列确定为更新后的K维向量序列;
步骤4,对更新后的I维向量序列、更新后的J维向量序列和更新后的K维向量序列进行变异运算,具体地,可以将更新后的I维向量序列、更新后的J维向量序列和更新后的K维向量序列组成为一个向量序列,对该向量序列进行变异运算,实现同时对更新后的I维向量序列、更新后的J维向量序列和更新后的K维向量序列进行变异运算,从而加快最优的向量序列组合的搜寻历程,如图5所示;
步骤5,迭代运行上述步骤2至4,直至结果收敛,得到最优的向量序列组合,例如,结果收敛时得到最优的向量序列组合为I维向量序列[1,0]、J维向量序列[0,1,1,1]和K维向量序列[0,1,0],则使目标对象头部2个候选位置中的1个佩戴传感器,使目标对象上肢4个候选位置中的3个佩戴传感器,使目标对象下肢3个候选位置中的1个佩戴传感器为最优,人体最少佩戴1+3+1=5个传感器即可以得到相对最好的姿态估计结果。又例如,最优的向量序列组合中J维向量序列为[0,1,1,0,1,0],则表示左手臂上臂不佩戴传感器、下臂佩戴传感器、手腕佩戴传感器,右手臂上臂不佩戴传感器、下臂佩戴传感器、手腕不佩戴传感器。
图6提供了一个运动传感器数量确定结果的示意图。根据图6,圆圈标记处为网络模型输出的能以较少数量传感器进行人体姿态估计的传感器佩戴处,对圆圈标记划叉处为相比传统的姿态估计方法所减少的传感器的位置,可以看到,采用本申请的姿态估计方法,相比于传统的姿态估计方法,可以减少9个传感器,实现了通过较少数量的运动传感器对全身关节进行姿态估计,使得整套运动传感器系统的佩戴复杂性和应用成本均大幅减少,适用性较强。而且,由于使用三轴加速度、三轴陀螺仪、三轴磁力计的九轴传感器,可以避免传统的六轴传感器方位估计漂移的问题。
本实施例中,通过分别根据变异后头部标识序列、变异后上肢标识序列和变异后下肢标识序列,确定头部目标部位、上肢目标部位和下肢目标部位,将头部目标部位、上肢目标部位和下肢目标部位,均确定为目标对象的目标部位,可以基于对遗传算法进行改进,求解得到用于进行姿态估计的传感器数量的最小值,在减少人体佩戴传感器的数量的基础上,降低了传感器数量确定的复杂度,提高了传感器数量确定的速率。
在一个实施例中,上述步骤S110之前,具体还可以包括:获取目标对象的至少一个候选标识序列,将各候选标识序列分别输入至预先训练的序列估计模型,得到目标对象的至少一个姿态估计结果;从至少一个姿态估计结果中确定目标姿态估计结果;根据目标姿态估计结果对应的候选标识序列,确定目标对象的目标部位。
其中,至少一个候选标识序列可以为目标对象全身标识序列的全体排列组合结果。
其中,序列估计模型可以为对标识序列进行识别,得到目标对象姿态的模型,可以但不限于是神经网络模型、深度学习模型等。
具体实现中,可以使用穷举法确定目标对象全身标识序列的全体排列组合结果,得到至少一个候选标识序列,将其中的每一个候选标识序列输入预先训练的序列估计模型,得到至少一个姿态估计结果,从至少一个姿态估计结果中选取一个最优结果作为目标姿态估计结果,根据目标姿态估计结果对应的候选标识序列,确定目标对象的目标部位。
例如,可以预先获取当前的人体姿态,使用穷举法设置人体佩戴传感器的各种排列组合,得到多个候选标识序列,将各候选标识序列分别输入序列估计模型,识别该候选标识序列对应的姿态估计结果,从得到的多个姿态估计结果中选取与当前人体姿态最为接近的,作为目标姿态估计结果,若目标姿态估计结果对应的候选标签序列为[0,0,1,1,…,0],则可以根据[0,0,1,1,…,0]确定人体佩戴传感器的目标部位,可以将其中0对应的人体部位不佩戴传感器,1对应的人体部位佩戴传感器。
图7提供了另一个传感器数量确定方法的示意图。根据图7,在前述实施例的基础上,可以假设人体全身佩戴的传感器数量的总数为N,佩戴位置分别为身体位置1、身体位置2、…、身体位置N,以1×N维向量序列[0,1,…,1]表示使用的传感器佩戴位置组合,其中1表示该身体位置使用传感器,0表示该身体位置不使用传感器,使用穷举法,对应传感器使用的各种组合生成向量序列,将向量序列送入序列估计模型,得到人体姿态估计结果,根据人体姿态估计结果确定最优的向量序列,根据最优的向量序列确定佩戴传感器的身体位置。例如,根据人体姿态估计结果确定[0,0,1,1,…,0]为最优的向量序列,可以在该向量序列中1所对应的身体位置处使用传感器,其他身体位置不使用传感器,其中,传感器的使用可以包括不佩戴传感器,或者将佩戴的传感器关机。在确定最优的向量序列后,还可以根据最优的向量序列统计人体佩戴传感器的数量,例如,可以对最优向量序列中的所有元素求和,得到人体佩戴传感器的数量。
本实施例中,通过获取目标对象的至少一个候选标识序列,将各候选标识序列分别输入至预先训练的序列估计模型,得到目标对象的至少一个姿态估计结果,从至少一个姿态估计结果中确定目标姿态估计结果,根据目标姿态估计结果对应的候选标识序列,确定目标对象的目标部位,可以得到用于进行姿态估计的传感器数量的最小值,减少人体佩戴传感器的数量,使得姿态估计便于使用。
在一个实施例中,上述步骤S110之前,具体还可以包括:获取运动数据样本和运动数据样本对应的姿态标签;将运动数据样本输入至待训练的姿态估计模型,得到运动数据样本对应的样本估计结果;根据样本估计结果与姿态标签之间的差异,对待训练的姿态估计模型进行训练,得到预先训练的姿态估计模型。
具体实现中,可以根据运动传感器采集到的至少一组运动数据得到运动数据样本,还可以对运动数据样本进行标注,得到运动数据样本对应的姿态标签,预先设置姿态估计模型,姿态估计模型可以采用深度学习网络模型结构,为姿态估计模型的参数设置初始值,得到待训练的姿态估计模型,将运动数据样本输入至待训练的姿态估计模型,通过待训练的姿态估计模型对运动数据样本进行识别,得到运动数据样本对应的样本估计结果,根据样本估计结果与姿态标签之间的差异调整待训练的姿态估计模型的参数,并重复上述过程,直至样本估计结果与姿态标签之间的差异符合预设的收敛条件,将此时的姿态估计模型作为预先训练的姿态估计模型。其中,预设的收敛条件可以为样本估计结果与姿态标签之间的差值小于预设阈值。
本实施例中,通过获取运动数据样本和运动数据样本对应的姿态标签,将运动数据样本输入至待训练的姿态估计模型,得到运动数据样本对应的样本估计结果,根据样本估计结果与姿态标签之间的差异,对待训练的姿态估计模型进行训练,得到预先训练的姿态估计模型,可以对姿态估计模型进行训练,通过姿态估计模型来识别人体姿态,提高姿态识别的效率。
在一个实施例中,运动数据样本包括方位角样本、引力加速度样本、线性加速度样本、陀螺仪数据样本和磁力计数据样本;上述将运动数据样本输入至待训练的姿态估计模型,得到运动数据样本对应的样本估计结果的步骤,可以具体包括:分别对方位角样本、引力加速度样本、线性加速度样本、陀螺仪数据样本和磁力计数据样本进行特征提取,得到方位角特征、引力加速度特征、线性加速度特征、陀螺仪数据特征和磁力计数据特征;对方位角特征、引力加速度特征、线性加速度特征、陀螺仪数据特征和磁力计数据特征进行第二融合处理,得到样本融合特征;基于待训练的姿态估计模型,对样本融合特征进行识别,得到样本估计结果。
其中,第二融合处理可以为模型训练过程的融合处理。
具体实现中,可以根据运动传感器采集到的运动数据确定方位角样本、引力加速度样本、线性加速度样本、陀螺仪数据样本和磁力计数据样本,具体确定方法可以与前述实施例中姿态估计数据的确定方法相同,在此不再赘述,终端可以分别对方位角样本、引力加速度样本、线性加速度样本、陀螺仪数据样本和磁力计数据样本进行特征提取,得到方位角特征、引力加速度特征、线性加速度特征、陀螺仪数据特征和磁力计数据特征,还可以对方位角特征、引力加速度特征、线性加速度特征、陀螺仪数据特征和磁力计数据特征进行融合,得到样本融合特征,将样本融合特征输入至待训练的姿态估计模型,姿态估计模型对样本融合特征进行识别,得到针对方位角样本、引力加速度样本、线性加速度样本、陀螺仪数据样本和磁力计数据样本的样本估计结果。
图8提供了一个姿态估计模型的结构框图,图9提供了另一个姿态估计模型的结构框图。根据图8,在对深度学习网络模型进行改进的基础上,可以将方位角、引力加速度、线性加速度、陀螺仪数据和磁力计数据依次输入CNN(Convolutional Neural Networks,卷积神经网络)、最大池化层和全连接层,全连接后再依次输入Bi-LSTM(Bi-directional LongShort-Term Memory,双向长短期记忆)层、丢弃(Dropout)层和密集(Dense)层,输入姿态估计结果。根据图9,可以将磁力计数据、陀螺仪数据、线性加速度、引力加速度和方位角分别依次输入多个由Conv(卷积层)、Dense Block(密集块)、Avg-Pool(平均池化层)组成的模块,达到全连接(FC,Full Concatenate)层,之后再依次输入Bi-LSTM、逻辑回归(Softmax)层,输出姿态估计结果。在九轴传感器采集的九轴原始数据的基础上,图8和图9给出的姿态估计模型扩增了线性加速度特征维度和方位角特征维度,提高了姿态估计模型进行姿态估计的性能。
本实施例中,通过分别对方位角样本、引力加速度样本、线性加速度样本、陀螺仪数据样本和磁力计数据样本进行特征提取,得到方位角特征、引力加速度特征、线性加速度特征、陀螺仪数据特征和磁力计数据特征,对方位角特征、引力加速度特征、线性加速度特征、陀螺仪数据特征和磁力计数据特征进行第二融合处理,得到样本融合特征,基于待训练的姿态估计模型,对样本融合特征进行识别,得到样本估计结果,可以通过对方位角、引力加速度、线性加速度、陀螺仪数据和磁力计数据多个特征进行融合来训练姿态估计模型,有利于提高模型性能,便于使用较少数量的传感器进行姿态估计,提高姿态估计方法的适用性。
图10提供了一个上肢关节传感器佩戴的示意图。根据图10,本申请上述实施例中的技术方案不限定只能应用于全身关节的运动传感器系统,还可单独应用于上肢关节或下肢关节。例如,通过上肢关节设置较少数量的运动传感器实现整个上肢关节的姿态估计,应用前述单传感器网络模型结构,构建上肢关节佩戴传感器使用序列组合,通过模型训练的方式基于最优的模型训练结果找到上肢关节少量传感器组合的最优解。
在一个实施例中,如图11所示,提供了一种姿态估计方法,以该方法应用于终端为例进行说明,包括以下步骤:
步骤S201,获取运动数据样本和运动数据样本对应的姿态标签,将运动数据样本输入至待训练的姿态估计模型,得到运动数据样本对应的样本估计结果,根据样本估计结果与姿态标签之间的差异,对待训练的姿态估计模型进行训练,得到预先训练的姿态估计模型;
步骤S202,获取目标对象的至少一个标识序列,分别对各标识序列进行更新处理,得到至少一个更新后标识序列,同时对至少一个更新后标识序列进行变异处理,得到与各更新后标识序列相对应的变异后标识序列,将变异后标识序列作为标识序列,返回至分别对各标识序列进行更新处理,得到至少一个更新后标识序列的步骤,直至各变异后标识序列符合预设的收敛条件,根据至少一个变异后标识序列,确定目标对象的目标部位;
步骤S203,获取运动传感器采集到的目标对象的运动数据;运动数据包括与目标对象的目标部位相对应的加速度分量、陀螺仪分量和磁力计分量;
步骤S204,根据加速度分量、陀螺仪分量和磁力计分量,确定目标部位对应的姿态估计数据;姿态估计数据包括方位角、引力加速度、线性加速度、陀螺仪数据和磁力计数据;
步骤S205,将方位角、引力加速度、线性加速度、陀螺仪数据和磁力计数据,输入至预先训练的姿态估计模型,得到目标对象的姿态估计结果。
上述姿态估计方法,通过获取运动数据样本和运动数据样本对应的姿态标签,根据运动数据样本和姿态标签,对待训练的姿态估计模型进行训练,得到预先训练的姿态估计模型,可以提高模型性能,便于使用较少数量的传感器进行姿态估计,提高姿态估计方法的适用性;获取目标对象的至少一个标识序列,分别对各标识序列进行更新处理,得到至少一个更新后标识序列,同时对至少一个更新后标识序列进行变异处理,确定目标对象的目标部位,可以求解得到用于进行姿态估计的传感器数量的最小值,在减少人体佩戴传感器的数量的基础上,降低了传感器数量确定的复杂度,提高了传感器数量确定的速率;通过获取运动传感器采集到的目标对象的运动数据,根据运动数据确定目标部位对应的姿态估计数据,将姿态估计数据输入至预先训练的姿态估计模型,得到目标对象的姿态估计结果,可以通过在人体佩戴较少数量的传感器,采集人体指定部位的运动数据,基于运动数据生成人体指定部位包括方位角、引力加速度、线性加速度、陀螺仪数据和磁力计数据在内的姿态估计数据,将姿态估计数据送入姿态估计模型进行估计,得到人体姿态,由于减少了人体佩戴传感器的数量,使得在姿态估计时无需佩戴较多传感器,减少了对人体活动的影响,便于实际使用。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的姿态估计方法的姿态估计装置和姿态估计系统。该装置和系统所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个姿态估计装置和姿态估计系统实施例中的具体限定可以参见上文中对于姿态估计方法的限定,在此不再赘述。
在一个实施例中,如图12所示,提供了一种姿态估计装置,包括:获取模块310、计算模块320和识别模块330,其中:
获取模块310,用于获取运动传感器采集到的目标对象的运动数据;所述运动数据包括与所述目标对象的目标部位相对应的加速度分量、陀螺仪分量和磁力计分量;
计算模块320,用于根据所述加速度分量、所述陀螺仪分量和所述磁力计分量,确定所述目标部位对应的姿态估计数据;所述姿态估计数据包括方位角、引力加速度、线性加速度、陀螺仪数据和磁力计数据;
识别模块330,用于将所述方位角、所述引力加速度、所述线性加速度、所述陀螺仪数据和所述磁力计数据,输入至预先训练的姿态估计模型,得到所述目标对象的姿态估计结果。
在一个实施例中,上述获取模块310,还用于获取与所述目标对象的目标部位相对应的第一磁力计分量和第二磁力计分量;所述第一磁力计分量与当前时刻的上一时刻相对应,所述第二磁力计分量与所述当前时刻相对应;根据所述第一磁力计分量,确定所述目标部位的磁力计分量预测值;对所述磁力计分量预测值和所述第二磁力计分量进行第一融合处理,得到所述目标部位对应的磁力计分量。
在一个实施例中,上述计算模块320,还用于根据所述加速度分量,确定所述目标部位对应的翻滚角和俯仰角;根据所述翻滚角、所述俯仰角和所述磁力计分量,确定所述目标部位对应的航向角;根据所述翻滚角、所述俯仰角和所述航向角,得到所述目标部位对应的方位角。
在一个实施例中,上述计算模块320,还用于根据所述加速度分量,确定重力加速度和所述目标部位对应的引力加速度;根据所述引力加速度和所述重力加速度,确定所述目标部位对应的线性加速度。
在一个实施例中,上述姿态估计装置,还包括:
序列获取模块,用于获取所述目标对象的至少一个标识序列;
更新处理模块,用于分别对各所述标识序列进行更新处理,得到至少一个更新后标识序列;
变异处理模块,用于同时对所述至少一个更新后标识序列进行变异处理,得到与各所述更新后标识序列相对应的变异后标识序列;
迭代处理模块,用于将所述变异后标识序列作为所述标识序列,返回至所述分别对各所述标识序列进行更新处理,得到至少一个更新后标识序列的步骤,直至各所述变异后标识序列符合预设的收敛条件;
部位确定模块,用于根据至少一个所述变异后标识序列,确定所述目标对象的目标部位。
在一个实施例中,上述部位确定模块,还用于分别根据变异后头部标识序列、变异后上肢标识序列和变异后下肢标识序列,确定头部目标部位、上肢目标部位和下肢目标部位;将所述头部目标部位、所述上肢目标部位和所述下肢目标部位,均确定为所述目标对象的目标部位。
在一个实施例中,上述姿态估计装置,还包括:
标签获取模块,用于获取运动数据样本和所述运动数据样本对应的姿态标签;
样本输入模块,用于将所述运动数据样本输入至待训练的姿态估计模型,得到所述运动数据样本对应的样本估计结果;
模型训练模块,用于根据所述样本估计结果与所述姿态标签之间的差异,对所述待训练的姿态估计模型进行训练,得到所述预先训练的姿态估计模型。
在一个实施例中,上述样本输入模块,还用于分别对所述方位角样本、所述引力加速度样本、所述线性加速度样本、所述陀螺仪数据样本和所述磁力计数据样本进行特征提取,得到方位角特征、引力加速度特征、线性加速度特征、陀螺仪数据特征和磁力计数据特征;对所述方位角特征、所述引力加速度特征、所述线性加速度特征、所述陀螺仪数据特征和所述磁力计数据特征进行第二融合处理,得到样本融合特征;基于所述待训练的姿态估计模型,对所述样本融合特征进行识别,得到所述样本估计结果。
在一个实施例中,如图13所示,提供了一种姿态估计系统,包括:运动传感器410和姿态估计处理器420,其中:
运动传感器410,用于采集目标对象的运动数据,并发送所述运动数据至所述姿态估计处理器;所述运动数据包括与所述目标对象的目标部位相对应的加速度分量、陀螺仪分量和磁力计分量;
姿态估计处理器420,用于根据接收到的所述加速度分量、所述陀螺仪分量和所述磁力计分量,确定所述目标部位对应的姿态估计数据,所述姿态估计数据包括方位角、引力加速度、线性加速度、陀螺仪数据和磁力计数据,将所述方位角、所述引力加速度、所述线性加速度、所述陀螺仪数据和所述磁力计数据,输入至预先训练的姿态估计模型,得到所述目标对象的姿态估计结果。
上述姿态估计装置和姿态估计系统中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图14所示。该计算机设备包括处理器、存储器、输入/输出接口、通信接口、显示单元和输入装置。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口、显示单元和输入装置通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、移动蜂窝网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种姿态估计方法。该计算机设备的显示单元用于形成视觉可见的画面,可以是显示屏、投影装置或虚拟现实成像装置。显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图14中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (10)
1.一种姿态估计方法,其特征在于,所述方法包括:
获取运动传感器采集到的目标对象的运动数据;所述运动数据包括与所述目标对象的目标部位相对应的加速度分量、陀螺仪分量和磁力计分量;
根据所述加速度分量、所述陀螺仪分量和所述磁力计分量,确定所述目标部位对应的姿态估计数据;所述姿态估计数据包括方位角、引力加速度、线性加速度、陀螺仪数据和磁力计数据;
将所述方位角、所述引力加速度、所述线性加速度、所述陀螺仪数据和所述磁力计数据,输入至预先训练的姿态估计模型,得到所述目标对象的姿态估计结果。
2.根据权利要求1所述的方法,其特征在于,所述获取运动传感器采集到的目标对象的运动数据,包括:
获取与所述目标对象的目标部位相对应的第一磁力计分量和第二磁力计分量;所述第一磁力计分量与当前时刻的上一时刻相对应,所述第二磁力计分量与所述当前时刻相对应;
根据所述第一磁力计分量,确定所述目标部位的磁力计分量预测值;
对所述磁力计分量预测值和所述第二磁力计分量进行第一融合处理,得到所述目标部位对应的磁力计分量。
3.根据权利要求2所述的方法,其特征在于,所述根据所述加速度分量、所述陀螺仪分量和所述磁力计分量,确定所述目标部位对应的姿态估计数据,包括:
根据所述加速度分量,确定所述目标部位对应的翻滚角和俯仰角;
根据所述翻滚角、所述俯仰角和所述磁力计分量,确定所述目标部位对应的航向角;
根据所述翻滚角、所述俯仰角和所述航向角,得到所述目标部位对应的方位角。
4.根据权利要求1所述的方法,其特征在于,所述根据所述加速度分量、所述陀螺仪分量和所述磁力计分量,确定所述目标部位对应的姿态估计数据,还包括:
根据所述加速度分量,确定重力加速度和所述目标部位对应的引力加速度;
根据所述引力加速度和所述重力加速度,确定所述目标部位对应的线性加速度。
5.根据权利要求1所述的方法,其特征在于,在获取运动传感器采集到的目标对象的运动数据之前,还包括:
获取所述目标对象的至少一个标识序列;
分别对各所述标识序列进行更新处理,得到至少一个更新后标识序列;
同时对所述至少一个更新后标识序列进行变异处理,得到与各所述更新后标识序列相对应的变异后标识序列;
将所述变异后标识序列作为所述标识序列,返回至所述分别对各所述标识序列进行更新处理,得到至少一个更新后标识序列的步骤,直至各所述变异后标识序列符合预设的收敛条件;
根据至少一个所述变异后标识序列,确定所述目标对象的目标部位。
6.根据权利要求5所述的方法,其特征在于,所述至少一个标识序列包括头部标识序列、上肢标识序列和下肢标识序列;所述根据至少一个所述变异后标识序列,确定所述目标对象的目标部位,包括:
分别根据变异后头部标识序列、变异后上肢标识序列和变异后下肢标识序列,确定头部目标部位、上肢目标部位和下肢目标部位;
将所述头部目标部位、所述上肢目标部位和所述下肢目标部位,均确定为所述目标对象的目标部位。
7.根据权利要求1所述的方法,其特征在于,在获取运动传感器采集到的目标对象的运动数据之前,还包括:
获取运动数据样本和所述运动数据样本对应的姿态标签;
将所述运动数据样本输入至待训练的姿态估计模型,得到所述运动数据样本对应的样本估计结果;
根据所述样本估计结果与所述姿态标签之间的差异,对所述待训练的姿态估计模型进行训练,得到所述预先训练的姿态估计模型。
8.根据权利要求7所述的方法,其特征在于,所述运动数据样本包括方位角样本、引力加速度样本、线性加速度样本、陀螺仪数据样本和磁力计数据样本;所述将所述运动数据样本输入至待训练的姿态估计模型,得到所述运动数据样本对应的样本估计结果,包括:
分别对所述方位角样本、所述引力加速度样本、所述线性加速度样本、所述陀螺仪数据样本和所述磁力计数据样本进行特征提取,得到方位角特征、引力加速度特征、线性加速度特征、陀螺仪数据特征和磁力计数据特征;
对所述方位角特征、所述引力加速度特征、所述线性加速度特征、所述陀螺仪数据特征和所述磁力计数据特征进行第二融合处理,得到样本融合特征;
基于所述待训练的姿态估计模型,对所述样本融合特征进行识别,得到所述样本估计结果。
9.一种姿态估计装置,其特征在于,所述装置包括:
获取模块,用于获取运动传感器采集到的目标对象的运动数据;所述运动数据包括与所述目标对象的目标部位相对应的加速度分量、陀螺仪分量和磁力计分量;
计算模块,用于根据所述加速度分量、所述陀螺仪分量和所述磁力计分量,确定所述目标部位对应的姿态估计数据;所述姿态估计数据包括方位角、引力加速度、线性加速度、陀螺仪数据和磁力计数据;
识别模块,用于将所述方位角、所述引力加速度、所述线性加速度、所述陀螺仪数据和所述磁力计数据,输入至预先训练的姿态估计模型,得到所述目标对象的姿态估计结果。
10.一种姿态估计系统,其特征在于,所述系统包括运动传感器和姿态估计处理器;
所述运动传感器,用于采集目标对象的运动数据,并发送所述运动数据至所述姿态估计处理器;所述运动数据包括与所述目标对象的目标部位相对应的加速度分量、陀螺仪分量和磁力计分量;
所述姿态估计处理器,用于根据接收到的所述加速度分量、所述陀螺仪分量和所述磁力计分量,确定所述目标部位对应的姿态估计数据,所述姿态估计数据包括方位角、引力加速度、线性加速度、陀螺仪数据和磁力计数据,将所述方位角、所述引力加速度、所述线性加速度、所述陀螺仪数据和所述磁力计数据,输入至预先训练的姿态估计模型,得到所述目标对象的姿态估计结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211343075.0A CN116045971A (zh) | 2022-10-31 | 2022-10-31 | 姿态估计方法、装置和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211343075.0A CN116045971A (zh) | 2022-10-31 | 2022-10-31 | 姿态估计方法、装置和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116045971A true CN116045971A (zh) | 2023-05-02 |
Family
ID=86128399
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211343075.0A Pending CN116045971A (zh) | 2022-10-31 | 2022-10-31 | 姿态估计方法、装置和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116045971A (zh) |
-
2022
- 2022-10-31 CN CN202211343075.0A patent/CN116045971A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Herath et al. | Ronin: Robust neural inertial navigation in the wild: Benchmark, evaluations, & new methods | |
CN107635204B (zh) | 一种运动行为辅助的室内融合定位方法及装置、存储介质 | |
CN106679648B (zh) | 一种基于遗传算法的视觉惯性组合的slam方法 | |
CN110770758B (zh) | 确定可移动的设备的位置 | |
CN103324938A (zh) | 训练姿态分类器及物体分类器、物体检测的方法及装置 | |
KR20200071990A (ko) | 전자 장치 및 그의 3d 이미지 표시 방법 | |
JP2016091108A (ja) | 人体部位検出システムおよび人体部位検出方法 | |
US11079860B2 (en) | Kinematic chain motion predictions using results from multiple approaches combined via an artificial neural network | |
CN112434679B (zh) | 康复运动的评估方法及装置、设备、存储介质 | |
CN115410233B (zh) | 一种基于卡尔曼滤波和深度学习的手势姿态估计方法 | |
Vedadi et al. | Automatic visual fingerprinting for indoor image-based localization applications | |
JP2022078967A (ja) | 室内測位および追跡のための深層スマートフォンセンサ融合 | |
Manos et al. | Walking direction estimation using smartphone sensors: A deep network-based framework | |
WO2023050634A1 (zh) | 定位方法及装置、设备、存储介质及计算机程序产品 | |
Hsu et al. | Random drift modeling and compensation for mems-based gyroscopes and its application in handwriting trajectory reconstruction | |
CN109544632B (zh) | 一种基于层次主题模型的语义slam对象关联方法 | |
Wang et al. | Arbitrary spatial trajectory reconstruction based on a single inertial sensor | |
CN117352126A (zh) | 肌肉受力可视化方法、装置、计算机设备以及存储介质 | |
TWI812053B (zh) | 定位方法、電子設備及電腦可讀儲存媒體 | |
CN116045971A (zh) | 姿态估计方法、装置和系统 | |
CN109186594A (zh) | 利用惯性传感器和深度摄像头传感器获取运动数据的方法 | |
Chen | Learning methods for robust localization | |
CN115294280A (zh) | 三维重建方法、装置、设备、存储介质和程序产品 | |
CN113449265A (zh) | 一种基于堆叠lstm的腰载式航向角计算方法 | |
Zhou et al. | Visual tracking using improved multiple instance learning with co-training framework for moving robot |
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 |