CN113240044B - 一种基于多Kinect的人体骨骼数据融合评价方法 - Google Patents
一种基于多Kinect的人体骨骼数据融合评价方法 Download PDFInfo
- Publication number
- CN113240044B CN113240044B CN202110610406.1A CN202110610406A CN113240044B CN 113240044 B CN113240044 B CN 113240044B CN 202110610406 A CN202110610406 A CN 202110610406A CN 113240044 B CN113240044 B CN 113240044B
- Authority
- CN
- China
- Prior art keywords
- data
- bone
- kinect
- confidence
- skeleton
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/25—Fusion techniques
-
- 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/20—Image preprocessing
- G06V10/24—Aligning, centring, orientation detection or correction of the image
-
- 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/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
- G06V10/443—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/60—Type of objects
- G06V20/64—Three-dimensional objects
-
- 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/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
-
- 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/40—Extraction of image or video features
- G06V10/62—Extraction of image or video features relating to a temporal dimension, e.g. time-based feature extraction; Pattern tracking
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Data Mining & Analysis (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Computation (AREA)
- Evolutionary Biology (AREA)
- General Engineering & Computer Science (AREA)
- Bioinformatics & Computational Biology (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Human Computer Interaction (AREA)
- Image Analysis (AREA)
Abstract
本发明涉及一种基于多Kinect的人体骨骼数据融合评价方法,包括:基于无标记运动追踪系统进行数据采集并进行卡尔曼滤波处理,将数据进行预处理,通过无标记运动追踪系统获得的位姿矩阵将若干台Kinect传感器数据转换到Unity3D引擎世界坐标系内,进行多约束数据质量评价;若在预处理过程中关节点位置信息缺失,则采用粒子滤波算法对缺失的关节点进行预测;选择人体移动类和肢体调整类各若干种动作,以OptiTrack采集的数据做为真值对照,将基于多Kinect的人体骨骼数据融合评价方法与加权方法进行性能表现对比分析。本发明方法,为实时骨骼融合提供了一套全面的质量测量;构建了日常动作库来对算法的精度进行分析。
Description
技术领域
本发明涉及虚拟现实技术领域,特别是涉及一种基于多Kinect的人体骨骼数据融合评价方法。
背景技术
人体运动捕捉作为一种非常自然地人机交互方法,在计算机领域和工业领域都发挥着重要的作用。在虚拟环境中捕捉人体运动的方法主要包括电磁位置追踪器、超声波位置追踪器、惯性位置追踪器和光学位置追踪器等几大类,其中主流的人体追踪设备主要为惯性系统和光学运动捕捉系统。
Kinect V1 SDK获取骨骼三维数据的原理是使用经过训练的决策森林将深度图像的每个像素分类为关节的一部分,然而在缺乏高精度深度信息的情况下,保证足够的追踪精度对无标记运动捕捉是一个挑战,导致无标记运动捕捉无法直接应用于工业领域。2014年Kinect V2成功发布,尽管与Kinect V1相比,Kinect V2提供了更好的跟踪效果,在图像获取的分辨率、深度数据获取的精度、追踪范围、追踪骨骼的数量、面部表情检测等都有较大的改善,但是使用单个Kinect V2进行运动追踪还是存在很大的问题。
针对单Kinect在运动捕捉中存在的局限,国内外的研究大多集中在如何解决遮挡的问题,插值法广泛应用于估计缺失的数据,但是由于它需要知道缺失前、后的数据,因此不能满足实时性要求。虽然有一些解决方案通过改进单视图系统提取的骨架来提高追踪精度,但是如自遮挡、无法区分正反面等问题无法解决。对于Kinect这种较低成本的相机,目前公认较好的解决方案是在一个工作空间内引入多个Kinect传感器从不同角度对追踪对象进行重叠测量,以保证处于自遮挡状态的骨骼在其他角度有传感器对其稳定追踪,并将来自不同传感器的测量结果进行组合,实现与单个传感器相比更精确、稳健的骨骼跟踪。
发明内容
本发明为了解决单Kinect视野范围狭窄、自遮挡严重和无法区分正面,从而导致采集到的骨骼数据精度对于工业级应用严重不足,无法对产品的人机功效进行合理评价的问题提出了一种基于多Kinect的人体骨骼数据融合评价方法。
为实现上述目的,本发明提供了如下方案:
一种基于多Kinect的人体骨骼数据融合评价方法,包括以下步骤:
S1、基于无标记运动追踪系统进行骨骼数据采集,并进行卡尔曼滤波处理,得到第一数据,将所述第一数据进行预处理后通过所述无标记运动追踪系统获得的位姿矩阵,转换到Unity3D引擎世界坐标系内,进行多约束数据质量评价;
S2、若在所述预处理过程中关节点位置信息缺失,则此时采用粒子滤波算法对缺失的关节点进行预测;
S3、选择人体移动类和肢体调整类各若干种动作,以OptiTrack采集的数据做为真值对照,将基于多Kinect的人体骨骼数据融合评价方法与加权方法进行性能表现对比分析。
优选地,所述S1的具体步骤为:
基于无标记运动追踪系统的客户端采集骨骼数据,并进行卡尔曼滤波处理,得到所述第一数据,将所述第一数据进行预处理,通过所述无标记运动追踪系统获得的位姿矩阵,通过若干台Kinect传感器数据转换到Unity3D引擎世界坐标系内。
优选地,所述骨骼数据包括:三维骨骼数据、骨骼追踪状态和用户与视场相对位置置信度。
优选地,所述预处理包括数据层骨骼预处理和系统层骨骼预处理。
优选地,所述数据层骨骼预处理包括:
SDK追踪状态置信度判断:通过三种状态来返回人体关节的追踪状态,通过所述追踪状态,定义第i个Kinect传感器采集到的第m个关节可信度参数权重为λ(si,m);
其中,M是跟踪的关节数量,jk,m为第m个关节位置向量,为jk,m=[(jk,m)x (jk,m)y(jk,m)z]T;
若测量值与预测值之间符合三维高斯分布,则预测状态的条件分布表示为:
将每个测量值噪声的倒数用作权重,则测量噪声影响下的权重计算公式为:
用户与视场相对位置置信度判断:将用户在Kinect传感器视场中的位置对数据采集精度的影响整合到融合算法内,使用两个椭球置信度曲面拟合精度分布边界,并将所述Kinect传感器采集到的关节数据分为三类:骨骼节点位于高置信度曲面内、骨骼节点位于高置信度曲面与低置信度曲面之间、骨骼节点位于低置信度曲面外,通过判断所述椭球面的剖面线的交点位置,判断置信度的高低。
优选地,所述系统层骨骼预处理包括:
相机整体骨架置信度:假设采集到的动作帧Ft有若干个关节,用Ft i表示第i个Kinect传感器在时间t获得的一个动作帧,si,m表示从第i个Kinect传感器获得的第m个骨骼节点的追踪状态;
将单个骨骼节点的追踪状态进行量化,定义骨架置信度为所有骨骼节点置信度之和,第i个Kinect传感器的骨架置信度表示为:
式中,λ(si,m)为当前Kinect传感器报告的第m个骨骼点根据追踪状态确定;
人体朝向约束置信度μi(α):
计算公式为:
式中,δ*为骨骼点所对应的肢体的误差函数,α为人体面部朝向与第i个Kinect的Z轴负半轴方向的夹角,误差越大则该方向角下该肢体上的骨骼数据可信度越低,取误差的倒数作为骨骼数据关于方向角的可信度。
优选地,所述S2的具体过程为:
首先,判断k时刻每台客户端Kinect传感器对关节点m的SDK跟踪状态,为当前传感器采集到的骨骼点分配SDK追踪状态置信度,并计算用户与视场相对位置约束置信度,如果不存在则得到输入粒子滤波的真实测量值,此时经过卡尔曼滤波对该真实测量值进行预测;
然后,如果存在在服务器端接收到所述每台客户端Kinect传感器传递来的SDK跟踪状态以及位置信息后,计算每台Kinect传感器的传感器整体骨架置信度,然后计算人体的面部朝向以及用户与当前Kinect传感器之间的夹角,完成位置信息与追踪状态信息的左右交换,进而计算人体朝向约束置信度以及基于预测模型的置信度;
最后,基于所有提出的预处理约束,加权计算得到若干个关节点的真实测量值输入到若干个粒子滤波器中,获得最终的关节点位置信息,组成精度较高且完整的人体骨架。
本发明的有益效果为:
(1)本发明提出了数据层骨骼数据预处理与系统层骨骼数据预处理方法,获得了多约束数据质量评价方法,为实时骨骼融合提供一套全面的质量测量;
(2)本发明基于粒子滤波的多Kinect数据融合算法,该算法考虑了Kinect传感器可信度参数判断、运动过程中肢体的自遮挡、用户在Kinect传感器视场中的相对位置和前一帧数据对当前帧数据的置信度影响;构建了日常动作库来对算法的精度进行分析。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明同均值不同方差下高斯分布情况示意图;
图2为本发明平均误差随多维高斯分布方差变化图;
图3(a)为本发明低置信度椭球面拟合图,图3(b)为本发明高置信度椭球面拟合图;
图4(a)为本发明骨骼节点位于高置信度椭球面内情况示意图;
图4(b)为本发明骨骼节点位于低置信度椭球面与高置信度椭球面之间情况示意图;
图4(c)为本发明骨骼节点位于低置信度椭球面外情况示意图;
图5为本发明不同角度下Kinect采集精度实验示意图;
图6为本发明不同角度下Kinect采集精度对脊柱的影响示意图;
图7为本发明不同角度下Kinect采集精度对上肢的影响示意图;
图8为本发明不同角度下Kinect采集精度对下肢的影响示意图;
图9为本发明粒子滤波工作过程流程图;
图10为本发明实施例中关键姿势的OptiTrack光学设备捕捉骨架结构示意图;
图11为本发明肢体调整类动作误差情况对比示意图;
图12为本发明人体移动类动作误差情况对比示意图;
图13为本发明方法流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
一种基于多Kinect的人体骨骼数据融合评价方法(如图13所示),包括以下步骤:
S1、基于无标记运动追踪系统进行骨骼数据采集,并进行卡尔曼滤波处理,得到第一数据,将所述第一数据进行预处理后通过所述无标记运动追踪系统获得的位姿矩阵,转换到Unity3D引擎世界坐标系内,进行多约束数据质量评价;
进一步优化方案,基于无标记运动追踪系统的客户端采集骨骼数据,并进行卡尔曼滤波处理,将经过所述卡尔曼滤波处理后的数据再进行预处理,通过所述无标记运动追踪系统获得的位姿矩阵将六台Kinect传感器数据转换到Unity3D引擎世界坐标系内,在本实施例中所述传感器为Kinect V2传感器。
进一步优化方案,所述骨骼数据包括:三维骨骼数据、骨骼追踪状态和用户与视场相对位置置信度。
进一步优化方案,所述预处理包括数据层骨骼预处理和系统层骨骼预处理。
进一步优化方案,所述数据层骨骼预处理包括:
1.SDK跟踪状态:
Kinect V2的SDK以三种状态来返回人体关节的追踪状态:Tracked(追踪)、Inferred(推测)和NotTracked(未追踪)三种枚举字段。其中“Tracked”表示该骨骼的跟踪具有很高的置信度,“Inferred”表示该骨骼信息的获得是通过传感器自身算法从其它骨骼的位置推测出来的,“Not Tracked”表示关节点信息不可用。根据追踪状态,定义第i个Kinect V2传感器采集到的第m个关节可信度参数权重λ(si,m),如表1所示:
表1
2.基于预测模型的置信度判断
其中,M是跟踪的关节数量,在本实施例中取25,jk,m为第m个关节位置向量,为jk,m=[(jk,m)x (jk,m)y (jk,m)z]T;
为了判断每台Kinect传感器在第k帧测量的关节位置的可靠性,假定测量值与预测值之间符合三维高斯分布,那么预测状态的条件分布可以表示为:
式中,Δt为Unity3D引擎中生命周期每帧的更新频率。
由于函数更新频率和设备的性能以及渲染的对象有关,而FixedUpdate函数是在固定的时间间隔内执行,不受帧率的影响,处理物理逻辑的时候一般使用FixedUpdate而不是Update,所以Δt使用FixedUpdate函数的更新速率,大约等于0.0167s。
如果对于当前测量值的可信度很高,那么噪声值就会很小,该测量值就会对融合位置信息具有较大的贡献,反之则会对融合位置信息贡献极小。应当注意式(4)中的测量噪声随着概率的增大很减小,反之亦然。将每个测量值噪声的倒数用作权重,那么测量噪声影响下的权重计算公式可以表示为:
根据提出的三维高斯分布模型,在三维坐标空间内六台Kinect传感器获得的每个骨骼节点测量值,与对应骨骼节点的预测值之间距离“越近”,就认为它的测量噪声越小,可信度越高。但是三维高斯分布模型的协方差矩阵σ2I影响着预测状态条件分布的“胖瘦”,如附图1以一维高斯分布为例展示同一均值、同一自变量下可信度的不同,因此需要对三维高斯分布模型的协方差矩阵σ2I进行优化。
具体动作方案如表2所示:
表2
肢体调整类中拳击、挥手和鼓掌三个任务动作,分别在场景中心以及场景中心为圆心直径为2m的圆上分别面向Kinect1、Kinect3、Kinect5采集四套数据,每套数据重复完成5次动作,每次动作大概400帧数据。人体移动类则在以场景为中心,直径为2m的圆上完成指定任务动作,每个任务动作大概有700帧数据。
根据实际情况在提出的融合算法中,考虑到每帧数据更新速率为0.0167s,因此每帧位置信息数据变化应该在厘米级,分别采用12个协方差矩阵σ2I输入融合算法,矩阵对角线的数值分别为0.002、0.004、0.006、0.008、0.01、0.02、0.04、0.06、0.08、0.10、0.15、0.2m2,矩阵对角线数值包含了0.001m2、0.01m2、0.1m2三个数量级。当前协方差矩阵下的融合算法得到的融合骨架数据,每个动作分别与OptiTrack光学捕捉设备采集到的数据作为地板真值比较计算误差并求均值,获得的结果作为当前协方差矩阵下训练动作的整体误差,获得结果如附图2所示。
在协方差矩阵对角线数值为0.002~0.04m2时候,误差均值迅速下降,协方差矩阵对角线数值为0.04~0.2m2时候误差缓慢增加,0.1m2到0.2m2之间跨度很大但是训练数据的平均误差增长率仅有1%。这个现象可通过3σ原则解释,对于一个正态分布数值分布在(μ-σ,μ+σ)中的概率为0.682,数值分布在(μ-2σ,μ+2σ)中的概率为0.9544,数值分布在(μ-3σ,μ+3σ)中的概率为0.9974,数值几乎全部集中在这个区间内,超出这个区间的可能性仅为0.3%。当σ2越来越大时,导致本实施例中六台Kinect传感器测量得到的数据几乎全落在(μ-3σ,μ+3σ)范围内,甚至是(μ-σ,μ+σ)范围内,所有测量数据获得的测量可信度都极高,对于融合位置信息的贡献几乎相同,权重计算方法相当于不再发挥作用,因此平均误差会缓慢的上升,最终趋于平稳。当σ2越来越小时,对于置信度的分配越来越苛刻,例如当σ2=0.002m2时候,多维高斯分布十分的“瘦”,极少数的测量数据会位于3σ范围内获得十分高的权重,大量数据分布在3σ范围外权重几乎为0,权重的分配十分不平滑,算法的稳定性极差,同时经过实验验证当σ2=0.001m2时,算法已经崩溃不能正常运行。
3.用户与视场相对位置置信度
将用户在Kinect传感器视场中的位置对数据采集精度的影响整合到融合算法内,具体的措施是根据精度分布规律使用两个椭球置信度曲面拟合精度分布边界,分别为低置信度椭球面(图3a)和高置信度椭球面(图3b)。
将Kinect传感器采集到的关节数据分为三类:骨骼节点位于高置信度曲面内、骨骼节点位于高置信度曲面与低置信度曲面之间、骨骼节点位于低置信度曲面外,如附图4所示。
图4(a)所示的为骨骼节点位于高置信度椭球面内的情况,图中的“*”为采集到的骨骼节点在三维空间中的位置,在该区域内追踪状态是最好的,因此当第i个Kinect采集到的第m个骨骼节点满足这种情况时,节点位置置信度
图4(c)所示的为骨骼节点位于低置信度椭球面外的情况,图中的“*”为采集到的骨骼节点在三维空间中的位置,在该区域内追踪状态是最差的,因此当第i个Kinect采集到的第m个骨骼节点满足这种情况时,节点位置可信度当然骨骼节点应该位于Kinect传感器锥形追踪范围内,这也是该权重计算方法的前提,否则该节点位置信息不对融合算法做出贡献。
图4(b)所示的为骨骼节点位于低置信度椭球面与高置信度椭球面之间的情况,与中间椭球面的交点“*”为采集到的骨骼节点在三维空间中的位置,从相机坐标原点引一条射线,分别相交于外侧椭球面、与内侧椭球面。在该区域内的情况较为复杂,同时骨骼位置信息也较大概率的出现在这个范围,为了算法的稳定性以及关节位置的连续性,在这个区域内的权重变化是连续的而不是阶跃的,因此以骨骼节点与传感器坐标原点的距离为指标,将权重从内侧椭球面交点到外侧椭球面交点按照指数趋势由1.0变化到0.5,联立以下三个方程:
可得:
ax2+by2+cz2+dxy+exz+fyz+g=0 (10)
对于该系统,椭球方程和射线方程均为已知,为了确定权重计算方程,如果使用一般椭球方程计算,则需要建立椭球方程与射线方程来求交点信息的坐标,这在缺乏数学计算工具包的C#.Net框架下是较难完成的,因此考虑使用极坐标方程来解决这个问题,令α为传感器原点到椭球上点的射线与xy平面的夹角,β为该射线在xy平面的投影与y轴的夹角,ρ为椭球上该点到传感器原点的距离,那么三维坐标可以由式11表示:
代入一般椭球方程式ax2+by2+cz2+dxy+exz+fyz+g=0之后,方程的变量就由x,y,z转化为了α,β,ρ,对于骨骼节点坐标P(xi,j,yi,j,zi,j),ρi,j代表骨骼节点P到传感器原点距离,两个角度自变量αi,j,βi,j的三角函数值可以表示为:
均为已知量,将椭球方程用极坐标表示后,将以上四个三角函数值代入,求射线与椭球面交点的问题就转化为求解关于射线与椭球面上的交点到相机原点距离ρ的问题,同时观察到代入化简后为关于ρ的一元二次方程,同时结合ρ>0的现实条件,很容易唯一的确定ρ1、ρ2的数值,将ρi,j代入获得权重。
进一步优化方案,所述系统层骨骼预处理的过程为:
1.相机整体骨架置信度:
假设采集到的一个动作帧为Ft由25个关节{J1,J2,J3...J25}组成,其中Ji=1,2...25∈R3,用Ft i表示第i个Kinect传感器在时间t获得的一个动作帧,而si,m表示从第i个Kinect传感器获得的第m个骨骼节点的追踪状态。因此一套骨架的平均追踪状态也可以作为当前Kinect追踪水平的一个评价标准,将单个骨骼节点的追踪状态进行量化。定义骨架置信度为所有骨骼节点置信度之和,第i个Kinect传感器的骨架置信度可以表示为:
式中,λ(si,m)为当前Kinect传感器报告的第m个骨骼点根据追踪状态确定。
人体朝向约束:
人体的面部朝向追踪是确定人体运动所需的重要向量参数。面部朝向信息的主要来源为融合后的骨架信息,但是融合过程的第一帧并没有完整的融合骨架信息,因此对面部朝向需要做初始化,具体方法为用户在进入装配区域内后,正对一个Kinect传感器,做姿势“Tpose”,使用正对Kinect传感器的左右肩膀计算出身体向量,通过从左肩到右肩的向量逆时针旋转90°得到面部朝向的初值。之后的面部朝向更新则由融合得到的身体骨架计算得出。在本实施例中,将面部朝向与骨骼坐标系Z轴负半轴之间的夹角定义为方向角,具体方案为:
在装配区域内,六台Kinect传感器均布在以区域中心为圆心半径为2.5m的90°圆上,分别正面向Kinect1和Kinect6做静态姿势“Tpose”和动态姿势原地踏步走,每个姿势采集2000帧数据,进而拼接成180°的误差曲线,为了方便叙述,拼接得到的示意图中-90°~0°命名为Kinect6~Kinect1,0°~90°命名为Kinect1’~Kinect6’,示意图如图5所示。
每套数据均与OptiTrack采集的地板真值为基准计算误差,该误差包含两套骨骼数据采集设备的系统误差以及Kinect由于环境等因素而导致的测量误差,其中测量误差是主要考量的部分。将肢体分为左臂、右臂、左腿、右腿、躯干分别对计算得到的误差进行加权求均值,躯干包括臀部、脊柱、胸部、颈部、头部,上肢包括肩膀、手肘、手腕,下肢包括侧臀部、膝关节、脚踝,刨除了手、拇指、指尖、脚等抖动较大的肢体末端关节点。获得误差均值随方向角变化的散点图后,对散点图进行多项式拟合,进而得到身体部位对应的误差曲线函数。
图6为脊柱误差均值随方向角变化情况,分析曲线可得脊柱误差随角度变化微乎其微,可以说是不随角度变化的,这是由于脊柱上的关节点无论在何种角度Kinect总能追踪到,因此系统层关于方向角的权重对脊柱影响不大。
图7为上肢误差均值随方向角变化情况,对于左臂误差曲线分析可得,偏左侧的Kinect6到Kinect4’误差明显要小,正对Kinect传感器时候误差较低两侧稍高,但是在54°到90°期间,误差会呈现指数上升的现象,这是由于最右侧的两台Kinect对于左侧肢体的捕捉几乎处于完全遮挡状态,这个角度下对左臂上的骨骼大多是推测出来的,造成的精度大大下降。右臂误差曲线特征的原因也相似,可以看到误差曲线呈对称关系。
图8为下肢误差均值随方向角变化情况,左右腿部的分析也是相似的,尤其注意腿部数据的误差曲线和手臂数据误差曲线的绘图比例是不同的,腿部的误差要明显小于胳膊的误差,这是由于人体结构的特征,腿部的骨骼很难对腿部的其他骨骼造成遮挡,但是胳膊上的骨骼很容易由于做动作“TPose”时造成相互遮挡,这也就说明胳膊上的骨骼自遮挡出现的概率远远大于腿部骨骼出现自遮挡的概率。
方向角权重计算公式为:
式中,δ*为骨骼点所对应的肢体的误差函数,α为人体面部朝向与第i个Kinect的Z轴负半轴方向的夹角,误差越大则该方向角下该肢体上的骨骼数据可信度越低,因此取误差的倒数作为骨骼数据关于方向角的可信度。
S2、若在所述预处理过程中关节点位置信息缺失,则此时采用粒子滤波算法对缺失的关节点进行预测(如附图9所示);
首先,判断k时刻每台客户端Kinect传感器对关节点m的SDK跟踪状态,为当前相机采集到的骨骼点分配SDK追踪状态置信度,并计算用户与视场相对位置约束置信度,如果不存在那么无法得到输入粒子滤波的真实测量值,需要经过卡尔曼滤波对该真实测量值进行预测。
然后,如果存在那么在服务器端接收到每台客户端Kinect传感器传递来的SDK跟踪状态以及位置信息后,首先计算每台Kinect传感器的相机整体骨架置信度,然后计算人体的面部朝向以及用户与当前Kinect传感器之间的夹角,完成位置信息与追踪状态信息的左右交换,进而计算人体朝向约束置信度以及基于预测模型的置信度。
最后,综合考虑所有提出的预处理约束,加权计算得到25个关节点的真实测量值输入到25个粒子滤波器中,获得最终的关节点位置信息组成精度较高且完整的人体骨架,用于之后的人机功效分析。
S3、选择人体移动类和肢体调整类各若干种动作,以OptiTrack采集的数据做为真值对照,将基于多Kinect的人体骨骼数据融合评价方法与加权方法进行性能表现对比分析。
为了验证本发明方法的技术效果,在本实施例中选择了人体移动类和肢体调整类各5种动作,以OptiTrack采集的数据做为真值对照,将本发明提出的方法与简单加权方法进行性能表现对比。
按照人体运动情况将用户的运动姿势分为人体移动类和肢体调整类。肢体调整类动作的特点为人体根节点在三维空间中的位置基本不变,通过改变四肢的姿态来调整姿势。人体移动类动作的特点为人体根节点在空间中的位置不断改变,同时四肢周期性的完成动作。为了对融合算法的一般性精度进行验证,选择了10种姿势如表4所示所示。
表4
以上描述的动作由5~8个实验者来完成,在开始记录之前,每个受试者都被告知如何通过视频进行练习。考虑到系统的特性,对于肢体调整类动作,要求受试者在训练场地中心、以中心为原点直径为2m的圆上三个点,每个动作分别做四组运动,其中每组运动重复5次,计算每种动作的平均误差。对于人体移动类动作按照动作要点、既定路径完成即可。每个活动项目都是从站立姿势开始,每组运动大约由600~700帧数据组成。如图10所示。
图11和图12展示了与Optitrack运动捕捉系统相比,10种姿势的平均3D误差对比情况,在图中黑色、白色分别代表平均加权方法(SA:Simple Average)、本发明建议方法(Proposal Method)产生的误差平均值。在分析数据之前应当注意,OptiTrack运动捕捉系统与KinectV2采集到的参与计算的15个骨骼节点并不完全重合,应当考虑到该系统误差,并在计算过程中进行剔除,此时15个骨骼节点的误差平均值约为4.8cm。
通过观察可以发现,图11的平均误差要大于图12的平均误差,这是因为图12中的动作需要旋转与周向走动,身体的遮挡情况在时刻发生变化。可以看出,本发明建议的方法比简单加权给出的效果更好,这是因为人体在Kinect视场内的位置不同、与Kinect之间的面部朝向不同而导致捕捉到人体的精度是不同的,用户的面部朝向与Kinect传感器之间的夹角时刻在变化,本发明建议的方法根据人体面部朝向的不同对每台Kinect传感器采集到的不同肢体部位进行重新分配权重,同时考虑了Kinect V2 SDK对每个骨骼节点的追踪质量,以及用户在Kinect传感器视场内的相对位置,对于融合结果的性能有一定提升,在拳击、捡起&投掷、弯腰行走、蛙跳等动作性能提升较为明显,能够以相对较小的误差跟踪真实的3D关节位置。
以上所述的实施例仅是对本发明优选方式进行的描述,并非对本发明的范围进行限定,在不脱离本发明设计精神的前提下,本领域普通技术人员对本发明的技术方案做出的各种变形和改进,均应落入本发明权利要求书确定的保护范围内。
Claims (6)
1.一种基于多Kinect的人体骨骼数据融合评价方法,其特征在于,包括以下步骤:
S1、基于无标记运动追踪系统进行骨骼数据采集,并进行卡尔曼滤波处理,得到第一数据,将所述第一数据进行预处理后通过所述无标记运动追踪系统获得的位姿矩阵,转换到Unity3D引擎世界坐标系内,进行多约束数据质量评价;
S2、若在所述预处理过程中关节点位置信息缺失,则此时采用粒子滤波算法对缺失的关节点进行预测;
S3、选择人体移动类和肢体调整类各若干种动作,以OptiTrack采集的数据做为真值对照,将基于多Kinect的人体骨骼数据融合评价方法与加权方法进行性能表现对比分析;
所述S2的具体过程为:
首先,判断k时刻每台客户端Kinect传感器对关节点m的SDK跟踪状态,为当前传感器采集到的骨骼点分配SDK追踪状态置信度,并计算用户与视场相对位置约束置信度,如果不存在则得到输入粒子滤波的真实测量值,此时经过卡尔曼滤波对该真实测量值进行预测;
然后,如果存在在服务器端接收到所述每台客户端Kinect传感器传递来的SDK跟踪状态以及位置信息后,计算每台Kinect传感器的传感器整体骨架置信度,然后计算人体的面部朝向以及用户与当前Kinect传感器之间的夹角,完成位置信息与追踪状态信息的左右交换,进而计算人体朝向约束置信度以及基于预测模型的置信度;
最后,基于提出的预处理约束,加权计算得到若干个关节点的真实测量值输入到若干个粒子滤波器中,获得最终的关节点位置信息,组成精度较高且完整的人体骨架。
2.根据权利要求1所述的基于多Kinect的人体骨骼数据融合评价方法,其特征在于,所述S1的具体步骤为:
基于无标记运动追踪系统的客户端采集骨骼数据,并进行卡尔曼滤波处理,得到所述第一数据,将所述第一数据进行预处理,通过所述无标记运动追踪系统获得的位姿矩阵,通过若干台Kinect传感器数据转换到Unity3D引擎世界坐标系内。
3.根据权利要求2所述的基于多Kinect的人体骨骼数据融合评价方法,其特征在于,所述骨骼数据包括:三维骨骼数据、骨骼追踪状态和用户与视场相对位置置信度。
4.根据权利要求2所述的基于多Kinect的人体骨骼数据融合评价方法,其特征在于,所述预处理包括数据层骨骼预处理和系统层骨骼预处理。
5.根据权利要求4所述的基于多Kinect的人体骨骼数据融合评价方法,其特征在于,所述数据层骨骼预处理包括:
SDK追踪状态置信度判断:通过三种状态来返回人体关节的追踪状态,通过所述追踪状态,定义第i个Kinect传感器采集到的第m个关节可信度参数权重为λ(si,m);
其中,M是跟踪的关节数量,jk,m为第m个关节位置向量,为jk,m=[(jk,m)x (jk,m)y(jk,m)z]T;
若测量值与预测值之间符合三维高斯分布,则预测状态的条件分布表示为:
将每个测量值噪声的倒数用作权重,则测量噪声影响下的权重计算公式为:
用户与视场相对位置置信度判断:将用户在Kinect传感器视场中的位置对数据采集精度的影响整合到融合算法内,使用两个椭球置信度曲面拟合精度分布边界,并将所述Kinect传感器采集到的关节数据分为三类:骨骼节点位于高置信度曲面内、骨骼节点位于高置信度曲面与低置信度曲面之间、骨骼节点位于低置信度曲面外,通过判断椭球置信度曲面的剖面线的交点位置,判断置信度的高低。
6.根据权利要求4所述的基于多Kinect的人体骨骼数据融合评价方法,其特征在于,所述系统层骨骼预处理包括:
相机整体骨架置信度:假设采集到的动作帧Ft有若干个关节,用Ft i表示第i个Kinect传感器在时间t获得的一个动作帧,si,m表示从第i个Kinect传感器获得的第m个骨骼节点的追踪状态;
将单个骨骼节点的追踪状态进行量化,定义骨架置信度为所有骨骼节点置信度之和,第i个Kinect传感器的骨架置信度表示为:
式中,λ(si,m)为当前Kinect传感器报告的第m个骨骼点根据追踪状态确定;
人体朝向约束置信度μi(α):
计算公式为:
式中,δ*为骨骼点所对应的肢体的误差函数,α为人体面部朝向与第i个Kinect的Z轴负半轴方向的夹角,误差越大则该方向角下该肢体上的骨骼数据可信度越低,取误差的倒数作为骨骼数据关于方向角的可信度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110610406.1A CN113240044B (zh) | 2021-06-01 | 2021-06-01 | 一种基于多Kinect的人体骨骼数据融合评价方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110610406.1A CN113240044B (zh) | 2021-06-01 | 2021-06-01 | 一种基于多Kinect的人体骨骼数据融合评价方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113240044A CN113240044A (zh) | 2021-08-10 |
CN113240044B true CN113240044B (zh) | 2021-12-24 |
Family
ID=77136166
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110610406.1A Active CN113240044B (zh) | 2021-06-01 | 2021-06-01 | 一种基于多Kinect的人体骨骼数据融合评价方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113240044B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115211847A (zh) * | 2022-06-08 | 2022-10-21 | 赵玉斌 | 传统健身功法训练姿态的智能监测装置、方法及应用 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102682452A (zh) * | 2012-04-12 | 2012-09-19 | 西安电子科技大学 | 基于产生式和判别式结合的人体运动跟踪方法 |
CN109685037A (zh) * | 2019-01-08 | 2019-04-26 | 北京汉王智远科技有限公司 | 一种实时动作识别方法、装置及电子设备 |
CN110502981A (zh) * | 2019-07-11 | 2019-11-26 | 武汉科技大学 | 一种基于彩色信息和深度信息融合的手势识别方法 |
CN111476155A (zh) * | 2020-04-07 | 2020-07-31 | 南京邮电大学 | 基于时空图卷积神经网络与特征融合的人体动作分类方法 |
CN111506199A (zh) * | 2020-05-06 | 2020-08-07 | 北京理工大学 | 基于Kinect的高精度无标记全身运动追踪系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3618075A1 (en) * | 2018-08-29 | 2020-03-04 | Tata Consultancy Services Limited | Particle filtering for continuous tracking and correction of body joint positions |
-
2021
- 2021-06-01 CN CN202110610406.1A patent/CN113240044B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102682452A (zh) * | 2012-04-12 | 2012-09-19 | 西安电子科技大学 | 基于产生式和判别式结合的人体运动跟踪方法 |
CN109685037A (zh) * | 2019-01-08 | 2019-04-26 | 北京汉王智远科技有限公司 | 一种实时动作识别方法、装置及电子设备 |
CN110502981A (zh) * | 2019-07-11 | 2019-11-26 | 武汉科技大学 | 一种基于彩色信息和深度信息融合的手势识别方法 |
CN111476155A (zh) * | 2020-04-07 | 2020-07-31 | 南京邮电大学 | 基于时空图卷积神经网络与特征融合的人体动作分类方法 |
CN111506199A (zh) * | 2020-05-06 | 2020-08-07 | 北京理工大学 | 基于Kinect的高精度无标记全身运动追踪系统 |
Also Published As
Publication number | Publication date |
---|---|
CN113240044A (zh) | 2021-08-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Von Marcard et al. | Human pose estimation from video and imus | |
Asteriadis et al. | Estimating human motion from multiple kinect sensors | |
Tao et al. | A novel sensing and data fusion system for 3-D arm motion tracking in telerehabilitation | |
WO2017210654A2 (en) | Methods and devices for assessing a captured motion | |
Chen et al. | Real-time human motion capture driven by a wireless sensor network | |
CN103999126A (zh) | 用于估计姿态的方法和装置 | |
Hanson et al. | Improving walking in place methods with individualization and deep networks | |
CN109284006B (zh) | 一种人体运动捕获装置和方法 | |
CN114495267A (zh) | 基于多维数据融合的老人跌倒风险评估方法 | |
CN113240044B (zh) | 一种基于多Kinect的人体骨骼数据融合评价方法 | |
JP2021135619A (ja) | 状況識別装置、状況学習装置及びプログラム | |
Ohri et al. | On-device realtime pose estimation & correction | |
Wang et al. | Arbitrary spatial trajectory reconstruction based on a single inertial sensor | |
CN112149531B (zh) | 一种行为识别中人体骨骼数据的建模方法 | |
Joukov et al. | Real-time unlabeled marker pose estimation via constrained extended Kalman filter | |
Hwang et al. | Motion data acquisition method for motion analysis in golf | |
US20220262013A1 (en) | Method for improving markerless motion analysis | |
Yang et al. | Multi-inertial sensor-based arm 3d motion tracking using elman neural network | |
CN115294228A (zh) | 基于模态引导的多图人体姿态生成方法及装置 | |
Cheng et al. | Capturing human motion in natural environments | |
Carrasco-Plaza et al. | Evaluation of Human Pose Estimation in 3D with Monocular Camera for Clinical Application | |
Sun et al. | 3D hand tracking with head mounted gaze-directed camera | |
Hachaj et al. | Averaging of motion capture recordings for movements’ templates generation | |
Zeng et al. | An evaluation approach of multi-person movement synchronization level using OpenPose | |
Holzreiter | Autolabeling 3D tracks using neural networks |
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 |