基于新投影策略的人体行为识别方法研究*
2018-10-08赵晓叶王豪聪吉训生
赵晓叶,王豪聪,吉训生,彭 力
(江南大学物联网工程学院物联网应用技术教育部工程中心,江苏 无锡 214122)
1 引言
目前,人体行为识别已成为机器视觉与模式识别最热门的研究方向之一,该技术利用计算机对含有行人的视频进行分析,识别出不同的人体行为,在视频检索、视频监控、智能家居、医疗健康看护等领域具有广泛的应用[1,2]。目前关于人体行为识别的研究主要集中在传统的RGB视频上,缺少三维立体信息,且对光照条件和背景极其敏感,鲁棒性差,应用效果及范围受到很大限制[3 - 8]。随着图像获取技术的发展,深度图像获取也越来越容易,深度图像比RGB图像提供更多的人体表观和结构信息,且对光照变化不敏感。因此,基于深度图像传感器的人体行为识别技术已引起人们的极大关注[6 - 10]。
目前,基于深度图像传感器的人体行为识别方法主要分为基于骨架关节点的方法[10 - 12]和基于深度映射图像的方法[13 - 19]。骨架关节点数据非常简单,只包含关节点的三维位置信息,而深度映射图像可以提供整个身体的深度数据,从而得到更丰富的有关动作的形状和运动信息。一般地,基于深度映射图像的人体行为识别技术可分为整体特征方法和局部特征方法,本文主要关注基于投影的全局特征方法。
在RGB彩色图像中,文献[20]引用了运动历史图MHI(Motion History Images)来表征动作序列形状的改变,得到高识别率。受MHI成功的启发,Yang等人[13]首次提出了一种称为深度运动图DMM(Depth Motion Map)的方法来捕获时间聚集的运动能量,用来描述形状和深度动作序列的运动线索。然后,将DMM投影到三个互相正交的平面上,并且在每个平面上提取梯度方向直方图HOG(Gradient Direction Histogram)特征,将三个平面的特征连接在一起形成 DMM-HOG 描述子,用支持向量机分类器得到了高识别率。Chen等人[14]改进了DMM的计算方法,取消了文献[13]中计算运动能量表达式的阈值,并且引入了协同分类器。进一步,在文献[14]的基础上,文献[15]引入了局部二值模式LBP(Local Binary Pattern)作为特征描述子,并使用改进的核极端学习机KELM(Kernel Extreme Learning Machine)进行分类。另外,在文献[13]的基础上,Liang等人[16]进行了DMM横向分层优化,其中第一层DMM计算的是相邻帧差分能量之和,第二层DMM计算的是每隔三帧差分能量之和,第三层DMM计算的是每隔五帧差分能量之和,通过DMM分层,在一定程度上缓解了同一动作由于速度不同造成的识别误差,最后使用稀疏字典学习对分层后得到的HOG特征描述的人体行为进行识别。文献[17]在文献[16]基础上,引入LBP特征,使用协同分类器进行了人体行为识别。
尽管文献[13-17]在基于深度信息的人体行为识别上已实现较高识别率,但仍存在不足。首先,文献[14-17]得到DMM的投影策略采用的都是文献[13]的投影策略,只考虑了原深度图的位置信息,并没有考虑数量信息,导致得到的DMM反映动作信息不稳定;其次,文献[13-15]都是基于整个深度图得到的DMM,虽然文献[16,17]进行了DMM横向分层优化,在一定程度上对动作速度变化具有鲁棒性,但本质上来说DMM仍然是基于整个深度图得到的,这样会造成区分不同人体动作的许多细节信息丢失,从而降低识别率。基于以上分析,本文提出一种结合新投影策略和能量均匀化视频分割的多层DMM的人体行为识别方法。首先,对所有视频序列,不同于文献[13]的投影策略,本文采用新的投影策略投影到三个正交笛卡尔平面;其次,为了适应动作速度差异,不同于文献[16]的横向分层,本文利用基于能量均匀化的纵向视频分割方法将一个动作视频划分为几个子视频序列;然后,对子视频序列相邻帧进行差分后得到的运动能量求和,形成DMM,更大限度地保留了视频序列的细节信息;最后,计算所有子视频序列DMM的LBP特征表征人体运动,并建立行为分类器进行识别。
本文主要内容结构如下:第1节是引言,主要介绍人体行为识别的研究背景、意义、现状及本文算法核心思想;第2节详细介绍本文新的投影策略;第3节给出本文算法的具体实现流程,并将基于能量均匀化的行为序列分割方法运用到深度图序列中;第4节给出了具体的实验结果和分析;最后,第5节进行总结和展望。
2 投影策略
为了进行人体行为识别,本文首先需要将深度图投影到三个正交笛卡尔平面,该部分将对已有的投影策略以及本文改进的投影策略进行详细介绍,并进行对比。
2.1 基于固定深度值的像素位置的投影策略
为了充分利用视频中的每一帧深度图像所反映的身体形状和运动信息,基于DMM进行人体行为识别的方法基本都采用文献[13]中的方法,将原始深度图像投影到三个正交平面上,其中,正面投影、侧面投影、顶面投影分别是原深度图像在X-Y平面、X-Z平面、Z-Y平面的投影。正面投影是原本的深度图像,描述了动作序列的正面形状信息,可反映大部分动作信息。侧面投影和顶面投影从其他层面上体现了动作信息,是对正面投影信息的细微补充。
假定原深度图像为depth,大小为M×N(M为行数,N为列数),z=depth(x,y)表示空间位置(x,y)处的深度值。从文献[13]中可以得出:正面投影是原本的深度图像,每个点(x,y)记录了原始深度图中的深度信息,如式(1)所示;侧面投影中,每个点(x,z)记录了原深度图中对应的第x行中深度为z的最后一个点的列坐标y,如式(2)所示;顶面投影中,每个点(z,y)记录了原深度图中对应的第y列中深度为z的最后一个点的行坐标x,如式(3)所示。
If(x,y)=depth(x,y)=z
(1)
Is(x,z)=max(y),where (z=depth(x,y))
(2)
It(z,y)=max(x),where (z=depth(x,y))
(3)
这种投影策略从一定程度上更进一步丰富了原深度图中的运动信息,但忽略了深度数据本身的数量统计信息。
2.2 基于具有同一深度值的像素个数的投影策略
如2.1节所述,传统DMM中的投影方法,侧面投影和顶面投影没有反映深度图本身的数量统计信息。基于此,本文提出了一种基于统计具有同一深度值的像素个数的新的投影策略,从另一层面上对原本深度信息进行补充。正面投影不变,依旧是原深度图像;侧面投影中,对式(2)进行了改进,每个点(x,z)记录了原深度图中对应的第x行中深度为z的像素点个数,如式(4)所示;顶面投影中,对式(3)进行改进,每个点(z,y)记录了原深度图中对应的第y列中深度为z的像素点个数,如式(5)所示。
(4)
(5)
2.3 基于深度位置和像素个数的投影策略
为将原深度图像本身的位置信息和数量统计信息同时反映在侧面投影和顶面投影中,本文将文献[13]中的基于固定深度值的像素位置的投影策略和2.2节中提出的基于具有同一深度值的像素个数的投影策略相结合,最终提出了同时考虑深度位置和像素个数的新投影策略。综合的投影策略得到的运动能量图DMM包含的信息更稳定。
在此策略的侧面投影中,每个点(x,z)记录了原深度图中对应的第x行中深度为z的像素点个数和位置信息,将式(2)改进为式(6);顶面投影中,每个点(z,y)记录了原深度图中对应的第y列中深度为z的像素点个数和位置信息,将式(3)改进为式(7)。
(6)
(7)
对于给定的一帧深度图像,分别采用上面三种投影策略进行投影,得到的结果如图1所示,其中,策略1、策略2、策略3分别是2.1节、2.2节、2.3节中的投影策略。
总体来说,策略1记录的是深度信息的位置信息,本文提出的策略2记录的是深度信息的数量统计信息,二者反映的信息都有些片面,得到的行为识别特征不是很稳定。策略3将二者结合,在此投影策略上可得到分类性能表现更好的特征描述子。
Figure 1 Front projection,side projection,and top projection obtained by three projection strategies图1 采用三种投影策略得到的正面投影、侧面投影和顶面投影
3 视频分割、特征提取及分类
本文使用基于深度图像全局特征的人体行为识别方法,在训练和识别过程中都包括DMM获取、特征提取和分类三个步骤。本节将对具体流程做详细介绍:3.1节介绍DMM获取过程,为了充分利用深度视频序列中的细节信息,首先对整个行为序列进行视频分割,然后利用第2节提出的新投影策略求得各个子视频序列的DMM;3.2节介绍本文所用的人体行为特征描述子LBP和行为分类器KELM。
3.1 基于能量均匀化的行为序列分割
基于整个视频得到的DMM虽然可以反映视频的整体运动信息,但忽略了很多细节信息,可以考虑将整个视频序列划分为多个子视频序列。经典的视频分割采用在时间维度上进行均匀分割的时间金字塔[10]方法,但由于同一动作由不同人多次完成,动作幅度和速度是变化的,幅度大和速度快的动作不但能量变化更大,而且还包含更多的细节,幅度小和速度慢的动作反之。基于此,本文采用基于能量均匀化[18]的视频分割方法(如图2所示),将一个动作视频划分为多个子视频序列。
Figure 2 Video segmentation based on the uniform division of energy function图2 基于能量函数均匀划分进行视频分割
(8)
然后对归一化能量进行四等分均匀划分后对应得到五个时刻t0、t1、t2、t3、t4,构建一个如图3所示的时间金字塔。原深度视频序列在时间维度上被划分为七个子序列,用式(9)分别计算七个子视频序列的正面投影、侧面投影、顶面投影的DMM。
(9)
Figure 3 Three-level time pyramid based on energy homogenization图3 基于能量均匀化构建的三层时间金字塔
3.2 特征提取及分类
LBP[21]是一种用来描述图像局部纹理特征的算子,具有旋转不变性和灰度不变性等显著优点,已经被广泛应用于各种场合。因此,本文采用等价LBP特征来表征DMM的纹理特征,并作为动作的特征描述输入到分类器中进行动作识别。
4 实验结果与分析
为了验证本文算法的识别效果,基于两个公开的人体行为识别数据集,开展了如下实验与分析。
4.1 基于MSRAction3D数据库的人体行为识别
MSRAction3D数据库[9]是一个由557个视频序列组成的人体行为公共数据库,使用微软Kinect深度传感器采集得到。该数据库包含20种动作,由10个表演者对每个动作重复2~3次得到。该数据库的视频背景虽然已经进行过预处理,但由于许多动作之间的高相似性,进行行为识别仍然具有很大挑战性。为了便于性能比较,本文的实验设置和文献[18]中的设置完全相同,将20个动作作为一个集合,在10个表演者中选择第1、3、5、7、9个的数据作为训练集,第2、4、6、8、10个的数据作为测试集。本文算法与近几年比较优秀的识别算法的比较结果见表1。从表1可以看出:与文献[13]的投影策略相比,本文提出的新的投影策略在MSRAction3D数据库上的识别率可提高0.83%,本文算法可达到94.55%的高识别率。
Table 1 Recognition rate of the proposed algorithm and the existing algorithms on MSRAction3D database表1 本文算法与现有算法在MSRAction3D 数据库上的识别率
Figure 4 MSRAction3D database:confusion matrix图4 MSRAction3D数据库:混淆矩阵
在MSRAction3D数据库上,实验的混淆矩阵如图4所示,其中,纵坐标表示视频序列标记的动作类别,横坐标表示实验识别得到的动作类别。从图4中可看出,本文算法的识别率可达到94.55%,除了特别相似的动作(例如,33%的“手抓”被识别成了“高抛”,15% 的“画╳”被识别成“敲打”,15%的“画╳”被识别成“画√”。)外,其他绝大部分动作都被正确地识别出来了。
4.2 基于MSRGesture3D 数据库的人体行为识别
MSRGesture3D是一个由333个视频序列组成的十分流行的人体手势测试评价数据库,使用深度相机采集得到,包含12个由美国标准手语定义的动态手势,每个手势由10个人执行2~3次。这个数据库存在很多自遮挡问题,因此基于该数据库的识别具有很大的挑战性。本文采用文献[15,18,19]中的Leave one-subject-out交叉验证方法,总共进行10次实验。第n次实验使用第n个表演者的所有数据作为测试集,其余表演者的数据作为训练集,最终取这10次实验结果的平均值作为最终得到的识别率。
在MSRGesture3D数据库上,实验的混淆矩阵如图5所示。从图5可以看出,本文算法在很多手势识别上都取得了优异效果。另外,在表2中,将本文算法与近几年的识别算法进行了比较。从表2可以看出:与文献[13]的投影策略相比,本文提出的新的投影策略在MSRGesture3D数据库上的识别率提高了0.47%,本文算法可达到95.67%的高识别率。
Table 2 Recognition rate of the proposed algorithm and the existing algorithms on MSRGesture3D database表2 本文算法与现有算法在MSRGesture3D 数据库上的识别率
Figure 5 MSRGesture3D database:Confusion matrix图5 MSRGesture3D数据库:混淆矩阵
4.3 计算效率分析
本文算法得到的LBP特征属于高维数据,且包含了大量的冗余,因此需要消除冗余,本文采用主成分分析PCA(Principal Componet Analysis)进行特征降维。为了综合评价本文算法,对计算效率进行了分析。本文实验的硬件配置为Intel i7,4 GB RAM,3.2 GHz,软件配置为Matlab 2012,本文中PCA降维的维度设置为稍小于训练样本数(比样本数小10),在MSRAction3D数据库中设置为274,在MSRGesture3D数据库中,实验评估采用的是Leave one-subject-out交叉验证方法,总共进行10次实验,PCA维度分别设置为287、299、299、287、287、287、287、290、287、287。表3和表4分别显示在MSRAction3D和MSRGesture3D两个数据库中,本文算法各个步骤的耗时情况。由于不同视频序列的视频帧数不同,所以计算DMM时间耗费情况也不一样。帧数越多,计算DMM耗时越长。
Table 3 Time consumption of each step on MSRAction3D database表3 MSRAction3D数据库上各个步骤的时间消耗
Table 4 Time consumption of each step on MSRGesture3D database表4 在MSRGesture3D数据库上各个步骤的时间消耗
5 结束语
本文提出了一种结合新投影策略和能量均匀化视频分割的多层DMM的人体行为识别算法。该算法首先采用新的投影策略将三维信息转化为三个二维平面信息;然后采用基于能量均匀化的视频分割方法,将原视频序列分割为多个子序列,并求得所有子序列的三个平面的运动能量图;最后,提取LBP纹理特征作为动作的特征描述子进行人体行为识别。实验表明:本文算法与现存许多算法相比,在人体行为识别上都有更高的识别率、鲁棒性和实时性。但是,本文算法对于动作幅度较小的行为识别率仍有待提高,因此,接下来考虑结合关节信息进一步提高微小行为的识别率。