APP下载

基于Kinect骨骼信息的三维轨迹特征稳定性研究

2022-07-20杨洪臣蔡能斌

关键词:步态骨骼轨迹

高 宇, 杨洪臣, 蔡能斌

(1.中国刑事警察学院, 辽宁沈阳 110035; 2.上海市刑事科学技术研究院, 上海 200083)

0 引言

步态识别是一种非接触性的生物识别技术,它通过人在行走状态下各骨骼肌肉之间稳定相互作用进行识别,在远距离的身份识别中,步态识别因其不需要特定对象的配合以及其难伪装性的特点而具有独特优势。Kinect v2是2014年微软发布的一台体感游戏外设,因其搭载了ToF(Time of Flight)技术的深度相机而被广泛运用于三维现场重建、物体三维模型重建、虚拟现实等项目的开发中。

根据信息获取的维度,步态识别技术可以分为基于二维视频图像的步态识别以及基于可穿戴设备和深度相机的步态识别。基于二维视频图像的步态识别方法与深度学习技术的结合一定程度上解决了步态识别领域中视角不变性和特征提取的问题,Wu等[1]第一次提出了基于深度卷积神经网络(Convolutional Neural Networks,CNNs)以解决交叉视角和交叉行走模式的问题,Lin等[2]提出基于多时间尺度的三维卷积神经网络(3D Convolutional Neural Network,3D CNN),在CASIA- B公共数据集上取得了最好的性能,Chao等[3]提出基于融合神经网络(Fused Deep Neural Network,Fused DNN)的深度集(Deep set)的概念,可以自然的整合不同行走模式下的视频帧用来步态识别。近年来,消费级深度相机的兴起使得人体步态识别进入三维数据获取阶段,数据维度的增加从原理上解决了视角不变性和数据估计的问题,目前使用深度相机进行步态识别的方法主要分为基于人体骨骼点信息的步态识别方法和基于行走序列深度信息的步态识别方法。Sivapalan等[4]首次提出基于深度图像的步态能量体积图(Gait Energy Volumes,GEV)用来改进传统二维图像的步态能量图(Gait Engery Image,GEI),Chattopadhyay等[5]提出姿势深度体积(Pose Depth Volume,PDV)的新型步态特性,该特征考虑了个体在一个步态周期的每个关键姿势形状和深度变化。Yang等[6]提出基于骨骼点相对距离的步态特征,可以有效地进行步态识别工作,并与人体测量特征相结合达到了95%识别精度。深度相机在步态识别领域取得良好的进展,但Kinect等深度相机在公安领域应用潜力尚未被充分发掘,步态识别在视频侦查同一认定中更是处于起步阶段,有着极大的发展利用空间。

本文基于Python语言和Kinect SDK 2.0开发包,运用Kinect v2对人体行走时的21个骨骼点的三维坐标进行实时提取,并将每次行走的动态骨骼点坐标进行绘制,即每个骨骼点的三维运动轨迹。基于模型的步态识别方法,通过对部分骨骼点在行走时的空间振动轨迹曲线分析,由此提出了一种新的步态识别特征,通过对比分析不同行走模式、不同相机位姿、不同运动个体的骨骼点的三维运动轨迹,结合基于欧氏距离的动态时间规整算法(Dynamic Time Warping algorithm,DTW)对空间曲线相似度进行评价,验证了这种新型步态特征的稳定性,为公安工作提供了一种可行的步态数据提取方法以及一种基于模型的步态识别特征。

1 Kinect工作原理

深度相机(RGB- D Camera)也称作3D相机,是通过特定光学传感器或多镜头视差来测量物到相机距离的拍摄设备。基于飞行时间技术(Time of Flight,ToF)的Kinect v2相较于第一代产品,其在追踪准确度、近距离精度有显著提高,其内部结构如图1所示。使用Kinect对人体行走时骨骼点坐标实时提取的实现过程可以简单描述为:红外相机获取深度数据流后,通过USB3.0端口进行传输,将深度数据中出现的人体与背景图像进行分割,通过机器学习的结果,快速对人体的部位进行分类,并从识别出的部位上进一步识别出各骨骼点,将21个骨骼点的空间坐标实时写入预先建好的csv文件中,方法流程如图2所示。

图1 Kinect V2内部结构

图2 方法流程图

1.1 ToF技术

Kinect v2深度传感器基于间接飞行时间(indirect ToF)算法原理,通过持续频闪的红外光照亮检测范围,红外光遇到障碍物后反射,并由红外接收器记录每个像素的飞行时间,在相机内部使用连续波调制和相位检测来估计到障碍物的距离。以连续正弦波调制(图3)推导测量的原理:假设发射的正弦信号s(t)振幅是a,调制频率是f,s(t)可以表示为:

图3 正弦调制波

s(t)=a(1+sin(2πft))

(1)

经过时延Δt后接收到的信号为接收r(t),衰减后的振幅为A,强度偏移为B,可以将r(t)表示为:

r(t)=A(1+sin(2πf(t-Δt)))+B

(2)

=A(1+sin(2πft-Δφ))+B

(3)

四个采样时间间隔相等,均为T/4,根据上述采样时间可以列出方程组从而计算出发射和接收的正弦信号的相位偏移Δφ:

(4)

(5)

Δφ=2πfΔt=atan(r2-r0,r1-r3)

(6)

据此可以根据(4)中公式计算物体和深度相机的距离d:

(7)

1.2 骨骼点实时追踪技术

Shotton等[7]人提出基于每幅深度图像快速准确地进行人体区域划分,而无需依赖于先前帧中的信息,这大大增强了系统从跟踪错误中恢复的能力。Kinect获得深度图像流后,通过当前的物体识别策略分辨人体,根据约定的字节编码,系统为每个被追踪的人体进行背景剔除,并在后续的处理中仅传输人体这部分深度数据,从而降低计算压力。然后根据机器学习的成果,将追踪到的人体划分成31个密集部位,判断每个像素所属部位以确定骨骼点,利用这种在识别身体部位设计的中间表示将困难的姿势估计问题转化为简单的像素聚类问题。Kinect v2可以实时追踪6人并分别提取每个个体25个骨骼点,本文运用除左手指尖、右手指尖、左手拇指、右手拇指以外的21个骨骼点对人体的步态信息进行提取分析,各骨骼点分布及名称如图4所示。

图4 人体骨骼点分布及名称

1.3 骨骼点三维轨迹特征

步态特征是指人体在正常行走时,人体通过髋、膝、踝、足趾等关节的一系列连续活动使身体沿着一定方向移动的过程。对于正常步态来说,其具有稳定性、协调性以及个体差异性。骨骼点的三维轨迹特征是指人在正常行走过程中,由于重心的迁移,人体在三维空间所呈现出的周期性振动,进而体现在各骨骼点轨迹在空间中规律性的变化。使用深度相机对个体进行骨骼点捕获,实验所获得骨骼点坐标直接定位在摄像机坐标系,在对相机位姿进行固定或者后期对相机位姿进行求解可以将不同角度拍摄的轨迹曲线纳入到同一坐标系中,并保留其空间位置特征。受身体重心迁移影响的曲线振动幅度特征、受步长影响的曲线周期频率特征以及由人体身高等静态特征决定的曲线空间位置特征,共同构成了骨骼点三维轨迹特征。

1.4 动态时间规整算法

动态时间规整算法(DTW)基于动态规划(Dynamic Programming,DP)的思想,是语音识别中出现较早、较为经典的一种算法。传统的欧氏距离计算是两个序列对应点之间的距离计算,这对于特征在时间上有先后顺序的两个序列评价的适应性较差,而DTW算法可以很好的适用于全局或局部扩展、压缩或变形的模式匹配,解决了动态模式的相似度量和分类问题,其基本原理如下:

两个时间序列Q和C,其长度分别是n和m,Q序列为测试模板,C序列为参考模板:

Q=[q1,q2,…,qi,…,qn]

(8)

Q=[q1,q2,…,qi,…,qn]

(9)

为了计算两个序列之间的相似性,现构造一个n×m的匹配距离矩阵d:

(10)

矩阵中的元素d(i,j)表示两个时间序列数据点qi和cj之间的距离值,距离值可以看作是序列Q和序列C之间对应点的匹配度。

通过构建序列之间对应点之间的距离矩阵,采用局部最优解进行迭代计算,找寻一条代价最小的路径W,使得这条路径上累加值最小,并构造累计距离矩阵D:

(11)

D(i,j)为累计距离:

(12)

累计距离D(i,j)是对两条空间曲线进行相似度评价的依据,累计距离越小,说明两条曲线相似度越高。

2 实验研究

2.1 实验环境

深度相机:Microsoft Kinect for Windows v2;PC:Lenovo ThinkPad X13;操作系统:Windows10家庭中文版。配置:AMD Ryzen 7 PRO 4750U处理器16 GB+512 GB;集成开发环境:PyCharm Professional 2020.3 x64。

2.2 实验流程

首先对深度相机骨骼点有效检测范围进行测量,并根据实际距离和Kinect的测量距离的差值对深度相机的深度信息进行校准,同时设计空白对照组排除深度相机内部连续波调制对骨骼点坐标记录的影响,然后对同一个体的行走骨骼点三维轨迹进行捕获,选取3个拍摄角度(与相机光轴方向呈0°、与相机光轴方向呈30°、与相机光轴方向呈45°),两种拍摄高度(距离地面1.25 m、距离地面0.85 m),3种运动模式(快走、适中、慢走)进行18组实验,并在固定拍摄高度1.25 m、行走方向沿光轴方向、行走速度正常的条件下,对10个不同个体的步态骨骼点轨迹进行捕获,最后将各组所得数据绘制三维曲线,在同一坐标下进行展示。

2.2.1 有效范围测量

在检测距离方面,Kinect v2深度相机可以捕获的范围在0.50~4.50 m。经过实验验证,在相机高度为1.25 m,深度相机镜头光轴方向与地面平行的条件下,人体完整骨骼点检测的有效范围为2.00~4.50 m,Kinect v2在对目标持续追踪过程中,具有较好的鲁棒性,对于上半身人体骨骼点检测的有效距离为1.20~4.50 m。

图5 Kinect视场角

2.2.2 深度相机校准

Kinect v2具有RGB摄像头和深度摄像头,需要对深度相机的深度信息进行校准。Kinect v2所使用的ToF技术可以从原理上避免深度信息精度随距离的增加而骤减的情况,对于上半身的骨骼点的有效追踪距离为1.20~4.50 m,将实际距离作为标准与捕获到的骨骼点的三维坐标的测量距离进行比较,计算出深度相机的精度随距离变化的关系。以脊椎中部骨骼点的Z轴坐标作为深度相机测量的距离,在骨骼点检测的有效范围内,每隔0.30 m进行一次记录,计算数据如表1,误差分析如图6所示。

表1 测量距离数值

图6 测量距离误差分析

通过对深度相机精度的测量, Kinect v2在其骨骼点识别范围内具有较好的精度,误差在0.04%~1.10%范围内,且测量误差不会随着距离的增加而骤增,这对后期数据的分析和修正提供了重要参考。

2.2.3 骨骼点三维坐标提取

Kinect SDK中包含彩色图像二维坐标、深度图像空间坐标、骨骼点空间坐标,对于在Kinect视野范围内的同一点,在3个坐标系中的坐标和度量并不一致。实验采用的的是骨骼点空间坐标系,Z轴表示红外摄像头光轴方向,与图像平面垂直,Y轴垂直与地面,X轴与Y轴、Z轴相垂直,Kinect空间坐标轴如图7所示。

图7 Kinect空间坐标轴

为排除相机自身发射调制波对骨骼点记录所产生的影响,使用空白对照组实验:将相机光轴方向与人体垂直,相机拍摄的人体与地面呈直立状,实验对象直立静止站在推车上,推动推车沿相机光轴方向前进,并记录实验骨骼数据,通过与相同条件下的正常行走骨骼点轨迹比对,空白组骨骼轨迹曲线基本呈直线,与正常行走时呈周期性的轨迹曲线差距明显,符合实验预期,空间坐标曲线对比如图8所示。

图8 推车滑行(a)与正常行走(b)骨骼点轨迹对比

为验证骨骼点三维轨迹特征的稳定性,对同一对象从不同拍摄角度,不同运动状态进行验证实验。选取3个拍摄角度(与相机光轴平呈0°、与相机光轴呈30°、与相机光轴呈45°),两种拍摄高度(距离地面1.25 m、距离地面0.85 m),3种运动模式(快走、适中、慢走)进行18组实验,记录数据并分析骨骼点轨迹空间振动的稳定性。对每张三维轨迹图从两个角度进行展示,具体结果如表2。为进一步验证个体骨骼点轨迹特征的稳定性,将拍摄高度1.25 m、行走方向与光轴方向呈0°、行走速度正常作为固定条件,对同一个体进行5次实验记录。最后为验证骨骼点三维轨迹特征的广泛性并为同一人的骨骼点轨迹曲线的相似度提供对比参考,选取10个实验对象在同种实验条件下进行骨骼点数据记录提取。

表2 不同相机位姿、不同行走模式实验结果

续表2

3 结果分析

通过对比同一个体在不同相机位姿下、不同运动状态的骨骼点三维运动轨迹曲线,结果显示,在人体行走时提取的21个骨骼点的三维轨迹中,头部、颈部、肩部(肩部中心、左肩、右肩)、脊椎中心、髋部(髋部中心、左髋、右髋)的骨骼点因重心的迁移而使得其空间振动呈周期性变化,并且这种特征不会随着运动模式、观察角度的改变而消失,具有较好的可观察性与稳定性;肘部(左肘、右肘)、腕部(左腕、右腕)、手部(左手、右手)、膝部(左膝、右膝)、踝部(左踝、右踝)、脚部(左脚、右脚)骨骼点因有前后摆动动作,其轨迹曲线有往返重合现象且较复杂,不再作为曲线评价的对象。对于同一运动个体相同条件下行走的5条运动轨迹,选取颈部、左肩、左髋3个骨骼点在同一个空间坐标下进行比对,实验结果显示同一个体的骨骼点轨迹在同一运动模式下具有较好的稳定性。对3个骨骼点轨迹选取两个空间坐标角度进行展示,如图9所示。

图9 同一个体左髋(a)、颈部(b)、左肩(c)多次行走骨骼点轨迹

为客观评价曲线之间的相似度,以三维空间欧氏距离公式作为距离计算公式,并运用动态时间规整算法(DTW),对曲线之间的累计距离进行计算,累计距离越小,相似度越高。三维空间中两个点a(x1,y1,z1),b(x2,y2,z2)之间的真实距离计算公式为:

(13)

对同一个体的颈部、左肩、左髋3个骨骼点轨迹曲线运用基于欧氏距离的动态时间规整算法进行相似度匹配,所得累计距离结果如表3所示。

表3 同一个体3个骨骼点曲线累计距离

为客观衡量同一人相同运动模式下的骨骼点三维轨迹特征累计距离参数,将提取到相同运动条件下的10人运动轨迹与前者做相似度分析,将10人颈部骨骼点运动轨迹在同一坐标下绘制如图10所示,并将骨骼点轨迹曲线累计距离进行对比排序,结果如表4所示。

图10 不同个体颈部骨骼点三维轨迹

表4 不同个体颈部、左肩、左髋骨骼点曲线间累计距离

结果表明,在选取的颈部、左肩、左髋3个骨骼点的14条曲线相似度计算中,同一个体的轨迹曲线之间累计距离值在1.3~4.6范围内,不同个体之间的累计距离值在4.8~118.9范围内,个体之间的骨骼点轨迹存在较大差异,实验结果客观评价了同一个体的骨骼点轨迹曲线具有较好的稳定性,可以作为步态识别的重要特征。

4 结语

对于步态识别这种常见的生物特征,鉴于行走数据的难以提取、模式的难以匹配而未能在广泛性上取得良好进展。步态识别作为非接触性的生物特征,对于公安侦查工作却有着十分重要的意义以及独特的优势。在本文中,通过借助消费级的ToF相机Kinect v2作为三维信息获取的有力工具,进行了全面的实验评估,发现并验证了骨骼点三维运动轨迹特征在步态识别中稳定性,为后续的研究奠定了基础。深度相机和步态识别在公安工作中均处于起步阶段,为了取得更好更快的步态识别模型,也为了更好地服务于公安工作,需要将两者进行有机结合,从而在实战中做到警之于前,察之于后。

猜你喜欢

步态骨骼轨迹
基于步态参数分析的老年跌倒人群步态特征研究
特别策划《步态分析研究综述》
解析几何中的轨迹方程的常用求法
轨迹
轨迹
步态识人
3D打印骨骼指日可待
骨骼是如何生长的
神奇的骨骼