郑永权,张飞云,董 坤
(1.西安交通大学城市学院,陕西 西安 710018;2.西北工业大学,陕西 西安 710072)
人体运动姿态识别是计算机视觉与人工智能领域的重要研究方向。进行人体姿态识别对于促进视频监控、智能家居发展及辅助体育训练等均具有一定的指导作用[1]。但由于人体的运动姿态较为复杂,且目前基于单特征的传统人体姿态识别算法难以对其进行有效地描述与分析,故使该方法在实际应用中无法达到良好的效果。因此,亟需一种准确率高、性能较优并可应用于日常生活中的人体运动姿态智能识别算法[2-3]。
针对上述问题,该文基于多特征融合技术提出了一种运动姿态智能识别算法。该算法由图像数据采集、图像预处理、单特征提取、多特征融合及运动姿态识别五个模块组成,各模块相互配合共同完成对人体运动姿态的智能识别。运动姿态识别与性能测试的实验结果证明了所提方法的有效性与可靠性。
人体运动姿态识别由四个基本部分组成,分别为原始数据图像集获取、图像预处理、运动特征提取及姿态分类识别。人体运动姿态识别过程如图1所示。
图1 人体运动姿态识别过程
原始数据图像集获取是指利用摄像机等图像采集设备获取所需的人体运动姿态原始数据;而图像预处理负责对获得的图像数据进行去噪、归一化等处理,使其更加清晰[4],并突出关键信息;运动特征提取是指在处理后的图像中提取运动关键特征的过程,以便于后续的多特征融合及分类识别;而姿态分类识别可根据提取到的单特征或融合后的多特征,利用SVM(Support Vector Machine)[5]、贝叶斯分类器[6]等算法对人体运动姿态进行分类,进而实现对姿态的识别。
原始数据图像集获取是运动姿态识别的基础部分,也是人体运动分析中的重要环节。根据获取方式的不同,目前的图像采集技术可分为接触式与非接触式两大类。而考虑到接触式采集方式会对运动员的运动姿态产生一定影响,且不适用于本次需求,故选用非接触式的采集技术。
非接触式采集技术的主要原理:通过特定摄像设备实时获取人体的运动姿态。常见的包括Kinect三维体感摄像机及Vicon 光学捕捉系统等。因Kinect 具备更强的适用性与精确性,所以文中的数据图像采集也利用该设备实现。Kinect[7-8]摄像机的部分参数如表1 所示。其运行环境为常规Windows7系统,同时还使用Kinect SDK for Windows 处理采集到的视频流。
表1 Kinect摄像机的部分参数
人体视频图像的采集除了自身因素外,周围环境也会对Kinect 的采集结果产生干扰,从而增加后续的识别难度、降低识别准确性。因此在进行后续处理之前,还需对采集到的原始图像进行预处理,其包括去噪、图像灰度化、归一化及图像增强等操作。
目前,常见的图像去噪方法包括直方图均衡化法(Histogram Equalization,HE)、高斯滤波法(Gauss Filtering)、双边滤波法(Bilateral Filter)与Top-Hat 滤波法等。而该文采用的是其中使用最为广泛的双边滤波算法[9-10],该算法是针对高斯滤波会产生模糊边缘,同时无法有效保护图像高频细节而提出的一种改进算法。其处理结果依赖于近邻像素点的加权组合,具体的数学表达式如下:
式中,f(i,j)是像素点(i,j)经滤波的处理结果,g(k,l)与R分别为待处理像素点的近邻像素点灰度值及邻域,ω则是双边滤波核函数。
人体运动特征提取是多特征融合及运动姿态识别的重要组成部分,且不同特征能反映信息在不同层面的表现[11]。而特征的选择对人体运动姿态的描述程度、在姿态识别时对识别结果的稳定性与准确性均有较大影响。因此在选择特征时,除了准确描述运动特征外,还需考虑不同特征所属类别的差异。
该文在考虑人体运动姿态的特殊性及特征提取全面性的基础上,选取了人体姿态的Hu不变矩、HOG(Histogram of Oriented Gradient)直方图及小波矩三种特征构建所需的多特征算子,并结合局部尺度不变特征变换(Scale-Invariant Feature Transform,SIFT)算法对核心位置进行描述。
姿态分类识别的主要作用是根据样本特征信息完成运动姿态分类器的训练,并通过该分类器实现人体运动姿态的智能识别。目前,常用的分类方法包括SVM、朴素贝叶斯及决策树(Decision Tree)算法[12]等。该文选择其中相对成熟,同时在人体姿态识别方面适用性更优的SVM 算法进行相关识别处理。
该文旨在设计一种人体运动姿态智能识别算法,并在训练过程中识别运动员的姿态动作,从而进行精准的智能化辅助训练与技战术分析,以提高运动成绩。
针对上述提到的算法设计需求,文中基于多特征融合的人体运动姿态智能识别算法架构如图2所示。
图2 人体运动姿态识别算法架构
该算法主要由图像数据采集、图像预处理、单特征提取、多特征融合及运动姿态识别五个模块所组成。其中,图像数据采集模块功能与上文提到的保持一致。图像预处理模块则除了上述提到的去噪、灰度化、归一化等方式外,还引入了背景分割算法(Background Segment,BS)来进一步提高预处理的效果,并突出人体运动姿态特征。而单特征提取模块负责利用OpenCV 对预处理后的数据集进行Hu 不变矩、HOG 直方图及小波矩三种单特征的提取,以此进行后续的多特征融合与分析。多特征融合模块将提取到的三种特征利用神经网络算法进行合理融合,进而解决单特征描述不完备与不可靠的问题,且提高了算法的性能。运动姿态识别模块则负责利用SVM 算法与融合后的多特征算子建立样本分类模型,并通过模型实现对人体运动姿态的智能识别。
背景分割[13-14]的基本思想:对场景进行建模,并利用输入图像数据及场景模型间的差异实现场景中背景与有效信息或目标的分割。背景分割过程如图3所示。
图3 背景分割过程
针对人体运动姿态的特点,文中选用对硬件要求较低,适用于运动目标背景分割的ViBe(Visual Background Extractor)算法[15-16]进行处理。该处理过程描述如下:
1)单帧图像背景模型初始化:以帧为单位对图像各像素点进行建模,并从第一帧开始进行模型初始化。背景模型的数学表达式为:
式(2)中,M(x)为像素点x处的背景模型,pi为像素点x处的背景像素值。
2)前景目标分割:根据设定的阈值进行前景目标与背景的分割。分割判定如下:
式中,T为设定的阈值。当像素点背景大于或等于设定的阈值时,可认定该点为前景目标;反之,则为背景。
3)背景模型更新:采用八邻域更新法(Eight Neighborhood Contour Tracking Algorithm)对背景模型进行更新,进而令背景分割更为准确。
该文利用神经网络算法对提取到的Hu 不变矩、HOG 直方图及小波矩三个单特征进行融合。融合设计方案如图4 所示。
图4 多特征融合过程
SVM 是基于统计分析(Statistical Analysis)与机器学习(Machine Learning,ML)的一种分类算法。该文利用SVM 算法实现人体运动姿态的分类,具体如图5 所示。
图5 基于SVM的运动姿态分类设计方案
该方案主要由训练与测试样本输入、SVM 分类器构建及投票分类四部分组成。其中,SVM 分类器是利用机器学习与训练样本集构建的。投票分类则是在完成SVM 构建后,对测试样本集的运动姿态进行分类投票,并选取票数最高的作为该运动姿态的最终类别。
为验证文中基于多特征融合人体运动姿态智能识别算法的有效性与可靠性,该文以UCF-Sport 库、KTF 库及自建运动识别库(MDB)作为实验数据集,并分别进行运动姿态分类实验。
实验环境的硬件配置及涉及的软件版本如表2所示。
而所选用三种行为识别数据集的相关属性如表3 所示。
表3 行为识别数据集信息
实验主要验证该文算法在不同数据集上的性能表现。同时,为了体现算法的优势,实验中还将基于HOG 单特征的人体运动姿态识别算法设置为对照组。在相同条件下,采用上述两种算法进行人体运动姿态识别,并计算在不同数据集中对运动姿态识别的准确率,实验结果如表4-6 所示。
表4 UCF-Sport数据集实验结果
表5 KTF数据集实验结果
表6 MDB数据集实验结果
通过上述实验结果发现,与HOG 单特征算法相比,该文算法对各数据集运动姿态识别的准确率明显更高,且可达93%以上,由此证明了算法的有效性与可靠性。
该实验主要验证所提算法的处理效率能否满足设计需求。为此,对算法在不同样本数下的单帧图像平均处理时间进行测试,结果如表7 所示。
表7 算法性能测试结果
从性能测试结果可看出,该文算法对单帧图像的平均处理时间在46 ms左右,即每秒能够处理约22 帧图像。因此,其处理效率能够满足算法设计需要。
基于多特征融合技术,该文文设计了一种人体运动姿态智能识别算法,其将表征人体姿态的多个特征进行了有效融合,从而得到了描述能力更强的多特征算子,再将该算子与支持向量机相结合,以实现对人体运动姿态的准确识别。为了验证所提算法的可行性,还进行了运动姿态识别与性能测试两项实验。实验结果表明,与基于方向梯度直方图的单特征姿态识别算法相比,该文算法对各数据集运动姿态识别的准确率较高,且性能也较优。因此,该文算法的提出为进一步分析人体运动姿态,并将其实际应用于体育训练等领域提供了重要的技术支持与保障。