基于骨骼关节点投影特征的人体行为识别方法

2019-03-04 10:56黄潇逸
现代计算机 2019年36期
关键词:关节点识别率分类器

黄潇逸

(四川大学计算机学院,成都610065)

0 引言

在计算机视觉领域中,人体行为识别技术具有非常重要的理论研究和应用价值。人体行为识别技术旨在让计算机理解人体行为,主要是对图像序列中人的行为进行分析并识别出行为类别,其在智能监控[1]、基于内容的视频检索[2]等多个方面有着良好的应用前景。

早期的行为识别技术主要使用RGB 图像,由于只包含颜色信息,若人体处于复杂背景或者光照异常的环境下,难以从中分割出前景人物进行进一步识别。随着深度传感器的迅速发展,近几年深度信息开始被广泛地使用在人体行为识别领域中,相比于传统的RGB 图像,其可以很好地消除大部分由于复杂背景所带来的干扰,但仍然存在类间差异小、类内差异大[3]的问题。

有研究人员使用机器学习算法,从深度数据中提取出了骨骼数据,在包含运动信息的同时大大减少了数据量。现有的基于骨骼数据的人体行为识别主要提取了骨骼之间的距离、夹角等信息作为识别的特征,这些特征过于依赖局部的姿态和变化,假如存在对行为类别贡献不大的局部动作出现了异常,则整个特征很可能会出现较大变化,造成判别失误。针对这个问题,本文提出了一种骨骼关节点投影特征,该特征不依赖于局部的变化,而着重于骨骼节点的整体位置分布情况,即使存在局部异常动作,提取的全局特征也不会出现较大的变化,依然可以正确分类。在获得动作的骨骼累积投影图后,划分成若干子格进行骨骼数量的统计,并使用支持向量机进行多分类。在MSRAction3D数据集上的实验表明,和一些现有的人体行为识别方法相比,能更好地表征人体行为,即识别率更高。

1 相关工作

1.1 基于RGB图像序列的人体行为识别

早期的人体行为识别,主要基于传统摄像头获取的RGB 图像进行研究。Bobick 等人[5]将人体行为序列沿着时间轴进行加权,获取运动历史图(Motion History Image,MHI)和运动能量图(Motion Energy Image,MEI)两种特征,再使用模板匹配进行识别,可以识别坐下、挥手等简单行为。此外还有Wang 等人[6]在每帧彩色图像中划分网格进行稠密采样,并用光流法进行跟踪,得到稠密采样点的运动轨迹,并提取光流方向直方图特征(Histogram Of Flow,HOF)、梯度方向直方图特征(Histogram Of Gradient,HOG)[7]、MBH 特 征(Motion Boundary Histograms)[8]和帧间运动轨迹共四种特征,并使用Fisher Vector 对特征进行编码,最后用SVM 分类。目前,在基于RGB 图像序列的人体行为识别研究中,基于改进稠密轨迹算法的行为识别方法取得的结果相对较好,之后的研究大都是基于改进稠密轨迹算法。

1.2 基于深度图像序列的人体行为识别

随着深度传感器的出现,其可以获取视野中的深度信息,相比于传统摄像头,深度摄像头可以不受大部分背景和光照的影响,将人体较好地从背景分隔开来。Li 等人[9]提出了的动作图(Action Graph)概念,其将人体的深度数据向不同投影面进行投影,并提取人体轮廓边缘,再用词袋模型对其进行编码,利用动作图对行为进行建模。Yang 等人[10]将深度图像三个正交平面做投影,在每个投影面上计算相邻深度图的差值得到深度运动图特征(Depth Motion Maps,DMM),再提取HOG 特征进行识别。此外还有Jalal 等人[11]使用R 变换将从深度图中获取的轮廓转化为更加紧致的特征表达,用PCA 进行降维,最后构建状态转移模型隐马尔科夫模型(Hidden Markov Models,HMM)进行行为识别。

1.3 基于骨骼序列的人体行为识别

相比于2 维RGB 图像和深度数据,骨骼数据更加能表征人体行为,并且骨骼数据量相对较小,运算速度相对快些。研究人员通常利用骨骼关节点的几何相关信息和时空运动信息来进行人体行为的识别。如Campbell 等人[12]开发的多摄像头运动捕捉系统(Multicamera motion Capture,MoCap)获取人体骨骼数据的运动轨迹,将轨迹映射到相空间中,通过曲线的划分进行识别,Chen 等人[13]使用骨骼节点之间的距离、夹角和速度信息特征GPF(Geometric Pose Descriptor)进行行为识别。Xia 等人[14]通过构建球形坐标系,提取人体三维骨骼节点位置统计直方图(Histogram Of 3D Joint Locations,HOJ3D)作为描述人体骨架的描述子,通过使用K-means 算法得到骨架的姿态视觉词典,最后通过状态转移模型隐马尔科夫模型(Hidden Markov Model,HMM)来对人体行为建模。

2 基于骨骼关节点投影特征的人体行为识别序

2.1 骨骼数据介绍

本文使用Kinect 采集的骨骼关节点数据进行研究,其可以不依赖于各帧之间的运动信息,从每一帧提取出20 个骨骼关节点的位置,可以完整且有效地表达人体姿态构造,如图1 所示。本文使用该20 个骨骼关节点的三维坐标进行人体行为识别的研究。

图1 Kinect骨骼关节点位置

2.2 数据初始化

由于Kinect 提取的骨骼坐标是在Kinect 的世界坐标系中,而每个行为序列中人体相对Kinect 镜头的位置是不同的,因此需要将关节点坐标进行转换。取长度为L 帧的行为序列中第1 帧的髋关节(图1 中的HIP_CENTER)作为新坐标系的原点,设髋关节的坐标为P1,1(x1,1,y1,1,z1,1),用公式(1)对整个序列的骨骼关节点进行坐标的变换,变换后的序列初始位置如图2。

图2 坐标变换后的序列初始位置

i ∈[1,L]表示序列的第i 帧,j ∈[1,20]表示20 个骨骼关节点,P'i,j表示经过坐标变换的骨骼点。

2.3 特征提取

本文提出一种骨骼关节点投影特征(Skeletal joint point Projection Feature,SPF),其可以用来描述人体骨骼关节点在行为执行时间内的累积投影分布情况。

对于某长度为L 帧的行为序列,将第i 帧的20 个三维骨骼关节点投影到三个正交平面xoy 、yoz 、xoz上,生成投影图(其中v ∈{f,s,t},f ,s,t 分别表示投影前视图、侧视图和俯视图),表示第i 帧骨骼关节点在三个正交平面上的二维投影图。在每个投影平面上使用公式(2)计算L 帧的累积投影图SMMV(v ∈{f,s,t}),其各值即为对应投影位置上骨骼关节点出现的次数。

由于人与人之间的尺寸、距离镜头的远近不一致,导致SMMV之间的尺寸不同,构造BiCubic 函数见公式(3),对像素点取其4*4 领域点( )xi,yj,i,j ∈[0,3], 使用双三次插值算法(BiCubic Interpolation)见公式(4),将SMMV中相同投影面下的累积投影图调整为相同尺寸,该尺寸是训练数据中所有行为序列在对应投影面的累积投影图尺寸的平均值。

将调整大小后的SMMV平均划分为n*n 的子格块,计算每个子格块的骨骼点数之和sumi,j,其中i,j ∈[0,n)。由于行为序列之间的长度L 可能不同,需要使用公式(5)将sumi,j归一化成区间为[ ymin, ymax]的Ni,j。

xmin和xmax表示sumi,j的最小和最大值。最后将三个投影平面的Ni,j进行拼接,形成该行为序列的SPF,该特征向量维数是3n2。

2.4 支持向量机

支持向量机(Support Vector Machine,SVM)是由Vapnik 等人[15]提出的一种二值分类器,属于有监督的学习模型,可以用于模式识别、回归分析及分类。在解决小数据量样本、非线性分类以及高维模式分类问题中,SVM 方法表现出独特的优势。

SVM 本身是一个典型的二值分类器,当需要处理多分类问题时需要构造合适的多类分类器,常用的方法有一对多法和一对一法。

对于含有K 个类别的样本数据:一对多法将某个样本作为正样本,其余作为负样本,依次训练出K 个二分类器,判别时选择判别函数值最大的类别作为分类结果;一对一法对任意两类样本训练一个分类器,共得到K(K-1)/2 个分类器,判别时使用每个分类器对样本进行判断,并使用Friedman 提出的投票策略来统计分类投票结果,最后选择投票最高的类别作为分类结果。

3 实验设计和结果分析

3.1 MSR Action 3D数据集

MSR Action 3D 是最常用的基于Kinect 骨骼数据的人体行为识别数据集,本文也选取该数据集来进行相关实验。MSR Action 3D 一共包含20 种行为类别,每种行为由10 个人重复执行2 到3 次,共有567 个行为序列。行为序列的每一帧提供如图3 所示的20 个骨骼关节点的三维坐标值。本文参考Yang 等人的做法[10],将20 种行为划分成表1 所示的3 个子数据集AS1、AS2 和AS3,每个子集各包含8 种行为类别。

图3 人体骨骼架构图

表1 MSR Action 3D 数据集的三个子集

3.2 实验设计

本文参考文献[9]中的实验策略,使用MSR Action 3D 的三个子数据集AS1、AS2 和AS3,分别采用Test One、Test Two 和Cross Subject Test 方法进行试验。Test One:1/3 数据作为训练集,2/3 数据作为测试集。Test Two:2/3 数据作为训练集,1/3 数据作为测试集。Cross Subject Test:取一半的人的行为数据作为训练集,另一半作为测试集。共计9 组实验。

3.3 骨骼关节点特征n值的选取

在提取SPF 时,需要将SMMV划分成大小相同的n*n 子格块,本实验旨在研究不同n 值对人体行为识别率的影响,并选择合适的n 值用于后续实验。表2 是在AS1、AS2 和AS3 数据集上采用Test One 取不同n值得到的识别率结果。

表2 不同n 值的识别率

从结果来看,不同的n 值确会影响识别率,且n 为9 时获得的平均识别率相对最高。

3.4 实验结果

表3 中为9 组实验的平均识别率,以及现有人体行为识别方法的识别率。从结果可以看出,本文提出的基于骨骼关节点投影特征的人体行为识别方法在Test Two 和Cross Subject Test 中的多组实验中的识别率都超过了Li 的方法,原因是Li 使用的深度信息包含大量噪声,在提取HOG 特征时受到了较大影响,说明本文提出的方法在解决深度数据噪声过多这方面是有效的。但在AS2 数据集中,本文的识别率都低于Li的,是因为AS2 中存在很多相似的动作,如高处挥手、抓、画叉、画勾和画圆,这些动作中手的运动轨迹和相对身体位置相似,导致累加后子格中的骨骼数量大致相同,说明本文在识别相似动作方面还有待提高。

表3 本文方法以及现有方法的识别率

4 结语

本文提出了一种基于骨骼关节点投影特征的人体行为识别方法,核心在于对整个人体行为中的所有骨骼点进行投影,划分子格,提取投影点的频率并归一化。该特征可以用来描述人体骨骼关节点的累积投影分布情况,很好地表达了所有关节点在空间中的关系。从实验结果来看,在MSRAction3D 数据集上,该方法对于人体行为的识别是有效的,具有更高的识别率。但在类间差异小这方面仍然表现不足,即在识别相似动作上还有待提高。

猜你喜欢
关节点识别率分类器
基于关节点数据关注RGB视频的双人交互行为识别
少样本条件下基于K-最近邻及多分类器协同的样本扩增分类
学贯中西(6):阐述ML分类器的工作流程
基于朴素Bayes组合的简易集成分类器①
基于人体行为模型的跌倒行为检测方法①
结构化:向儿童思维更深处漫溯
基于AdaBoost算法的在线连续极限学习机集成算法
档案数字化过程中OCR技术的应用分析
基于PCA与MLP感知器的人脸图像辨识技术
科技文档中数学表达式的结构分析与识别