艾 达,王 倩,樊炜鑫,郝 瑞,刘 颖
(1.西安邮电大学 公安部电子信息勘验应用技术实验室,陕西 西安 710121;2.西安邮电大学 通信与信息工程学院,陕西 西安 710121)
随着智能手机的普及,基于智能手机传感器的人体行为识别逐渐成为研究热点。人体行为识别(human activity recognition,HAR)[1]是通过分析人类活动的运动信息,从而对运动行为进行分类认识,已广泛应用在人机交互、医疗辅助和公共安全等领域。
根据使用设备和检测方法的不同,人体行为识别可分为基于计算机视觉和基于智能终端传感器两种方法。基于计算机视觉方法是从监控设备中获取人体运动信息,并对获取的图像或视频进行处理,但这种方法会受到光照条件不同、视角多样性和空间复杂等诸多因素的影响[2];基于智能终端传感器方法通过分析手持式传感器、穿戴式传感器和智能手机多传感器,获取传感器数据进行分析,具有设备体积小、功能丰富和人体活动数据采集便捷等优点[3]。
智能手机相对于其他终端设备,能够同时完成数据的采集、处理、传输和接收[4],并能与其他设备或传感器连接[5],已在人体行为识别技术中取得了一定的进展。本文通过归纳智能手机传感器数据采集和处理方法,总结现有人体行为特征的提取和分类方法,讨论基于机器学习和深度学习各类算法的优缺点。对比常用的手机传感器行为数据集,展望基于智能手机传感器的行为识别技术在刑侦领域的应用,指出人体行为识别技术的发展趋势。
智能手机开发过程中,开发板上集成传感器类型在最初的加速度传感器、重力传感器、陀螺仪、距离传感器、压力传感器、磁力传感器和光感应器等8种传感器的基础上,又集成了霍尔感应器、电子罗盘、指纹识别、面部识别等传感器,各传感器功能介绍如表1所示。利用嵌入智能手机的多传感器进行数据采集,给获取数据提供了高效便捷的方式。
表1 常用多传感器功能介绍
目前,利用传感器进行行为识别较为常用的方法是从加速度传感器和陀螺仪进行数据采集,从中提取特征,建立行为识别模型[6]。利用独立加速度传感器采集步态特征数据,验证了基于加速度传感器进行人体识别的可行性[7];结合加速度和陀螺仪传感器,可实时读取人体运动的加速度和角速度信息,从而识别跌倒行为[8];通过增加光线传感器和距离传感器,可在行为识别过程中表现出较强的特征代表,提高识别准确率[9];增加压力传感器,采集人体足部的运动数据进行分析,进而识别行为运动[10]。
数据采集过程中由于受到外界环境和人为误差等因素干扰,传感器原始数据通常含有噪声(缺失值、错误值或异常值等),并且数据量较大,持续时间较长[11],因此,需对原始数据进行预处理。常用的数据预处理方法主要为数据滤波和加窗分割。
数据滤波是为了清除传感器原始数据中的噪声,使数据更接近实际值。使用信号处理领域常用特定滤波技术可以消除噪声以及平滑数据,主要方法有低通滤波、巴特沃斯滤波、卡尔曼滤波和滑动均值滤波等。
加窗分割有助于解决人体行为活动持续时间不同,活动准确边界难以界定的问题。常用的数据分割方法为滑动窗口法[12],窗口理想大小是在时间为2~5 s、频率为20~50 Hz之间变化。
传感器数据是由一系列信号组成,需对其进行数据转换后提取特征,通过构建特征向量再进行识别。特征提取方法主要包括时域特征提取和频域特征提取两大类。
特征选择是在获取到行为活动的各种特征后,选择适合表征的特定行为构成运动行为识别所需的特征向量。例如,文献[13]通过分析特征的信息增益和每个特征之间的相互关系,提取重要特征;文献[14]将多特征融合技术应用于特征提取步骤。
特征通常维数较高,数量过多,导致行为识别过程变得复杂,所以要对数据进行降维。常见降维方法主要有主成分分析法(principal component analysis,PCA)[15]、线性判别分析法(linear discriminant analysis,LDA)[16]以及核判别分析法(kernel discriminant analysis,KDA)[17]。例如,利用非参数加权特征提取方法结合PCA减小惯性信号的特征尺寸,降低了惯性信号的特征维数[15];提取原始传感器数据时域特征,利用KDA对非线性重要特征进行鉴别,达到了降维目的[17];从原始传感器数据中提取时域和频域特征,结合LDA可大幅度降低特征向量维数[18]。
在特征提取工作中,利用PCA的降维方法使用较为广泛,降维的计算开销小,适合于无监督学习分类;LDA主要以类别为主要因素,生成的特征适合于有监督学习分类,但LDA可能会过度拟合数据;KDA可以对非线性重要特征进行标记处理,以提高识别精度[15]。
分类算法通过生成分类模型推断人体行为活动,从特征提取角度可分为传统机器学习算法(人工特征提取)和深度学习算法(自动特征提取)。
2.2.1 基于传统机器学习算法
目前传统机器学习算法有支持向量机(support vector machine,SVM)、决策树(decision tree,DT)、朴素贝叶斯(naive bayes,NB)和K近邻(K-nearest neighbor,KNN)算法等。
SVM[19]是一种广泛使用的监督学习模型,其基本思想是通过非线性变换将数据从原空间映射到高维空间,然后在这个高维空间构造线性分类器,常用于解决二分类问题。例如,利用欧拉角法解决传感器坐标系漂移问题时,结合SVM可对用户步态特征变化进行分类识别[20];将提取加速度计数据的自回归系数作为活动识别的特征,利用SVM对跑步、站立、跳跃和行走等人类活动行为进行分类识别,取得了良好的识别效果[20]。
DT[21]是一种高效的分类算法,其基本思想是构建一个树状的层次决策图,每个非叶子节点表示特征属性的判断条件,每个分支表示在其父节点上特征属性分类的结果,叶子节点表示所判定的最终类别,它的复杂程度只与树的层数有关。文献[22]利用加速度计,构建了基于DT算法的位置无关的活动识别模型,对五类日常行为分类取得了较好识别效果。
NB是一种基于统计的分类算法,其基本思想是通过计算待分类数据在各类别中的概率,判定的类别即为概率最大类别。文献[23]采用NB算法,计算每个日常行为动作的阈值,提高动作识别的准确率。
KNN[24]算法的基本思想是通过计算待测样本与实际样本间的欧式距离,统计距离最小的k个样本所属类别,待测样本的类别即为出现频率最高的类别。文献[25]提取了5种不同步行运动时足底压力数据的特征,利用KNN实现对步行、跑步和跳跃等不同行走类型的分类识别,结果较为理想。
传统机器学习算法优缺点如表2所示。
表2 传统机器学习算法性能的优缺点
由表2可知,在传统机器算法中,进行传感器缺失数据处理时,NB和KNN对缺失数据不敏感,稳定性较优,而SVM对缺失数据较敏感,稳定性较差;对站立、静坐和躺下等静止行为识别时,SVM性能优于DT和NB;对跑步、跳跃和步行等动态行为识别时,KNN性能优于其他算法,DT 性能较差;对步行和慢跑等特征较为相似行为识别时,KNN 性能最优,SVM和NB性能较差。
2.2.2 基于深度学习算法
深度学习方法[27]与传统模式识别方法的最大不同在于,改变了传统方法的提取和特征选择步骤,在分类模型训练时可以自动生成特征,而非采用手工设计的特征,针对复杂场景和数据类型能更准确地表征真实人体行为特征[28]。
目前常用的分类算法有卷积神经网络(convolutional neural network ,CNN)、循环神经网络(recurrent neural network ,RNN)、长短期记忆网络(long short-term memory ,LSTM)和受限玻尔兹曼机(restricted boltzmann machine ,RBM)。
CNN处理运动数据时,可采集相同时间内多个传感器通道的数据,将一维的时间列重组成“图像”数据输入网络。利用递归图捕获时间序列动态特征,结合CNN对动态特征进行活动分类,对步行、上楼和下楼等动态活动识别效果较好[29];利用CNN进行局部特征提取,分析时间序列长度对识别精度的影响,可对连续的实时活动进行分类[30]。
RNN是一种具有记忆功能的网络,它能够存储过去的输入,并在当前时间产生所需的输出,但是无法训练较长的时间序列数据,容易出现梯度消失问题[31]。
三电平逆变器在通信电源的AC-DC变换、DC-DC变换和DC-AC变换以及高压大功率交流电源(UPS)等领域得到了广泛的应用[1-2]。
LSTM和RNN结构相似,解决了RNN结构中梯度点消失的问题,可以长时间保存信息。通过建立LSTM网络,自动选择对分类有决定性影响的时间序列,获取最重要的时间相关性特征作为网络输入,可提高识别的精确度[32];利用多层LSTM网络从原始传感器数据中自动提取时间序列特征,并增加 LSTM并行单元以降低计算复杂度[33];建立基于LSTM-RNN深度神经结构识别结构模型,结合二者优点,对6种行为进行实时预测,并具有较好的泛化能力[34]。
RBM是一种随机神经网络,网络的神经元节点被激活时会有随机行为,随机取值。通过建立RBM网络,在特征提取之前利用训练数据训练模型,确定模型参数,能较好地提取局部特征,对拳击和拍手等较为复杂行为的识别效果优于传统算法[35];通过归一化训练数据的特征(方差和均值),利用RBM网络训练,达到了较好地识别效果[36]。
深度学习算法的优缺点如表3所示。
表3 深度学习算法性能的优缺点
由表3可知,在深度学习算法中,CNN对重复性动态行为分类效果最优;RNN对跳跃和下蹲等识别短时行为分类效果最优;LSTM对跑步、步行、上楼和下楼等长时间周期性行为分类效果最优;RBM对打拳和拍手等复杂行为分类效果最优,对步行和慢跑等特征较为相似行为分类效果较差。
目前国内外有多个公开人体行为数据集,使用公共数据库能方便地验证相关算法的可行性及对比不同算法的性能,手机传感器常用的公开数据集如表4所示。
表4 手机传感器常用公开数据集
除此之外,还有瑞士洛桑理工学院的OPPORTUNITY数据集[41],主要记录日常手势、生活和运动行为;社区密集活动数据集PlaceLab[42],可提供长期的日常活动行为记录。
在常用数据库中,为更好的表征人体行为特性,实验通常使用加速度传感器和陀螺仪进行数据采集,且大多数都为步行、跑步、上楼梯、下楼梯、站立、静坐和躺下等日常简单基础行为的识别分类。
从文献计量学角度,检索2016-2019年以来人体行为识别技术在国际学术研究论文发表情况。分别对IEL、web of science、Science Direct、SpringerLink和ACM等5个常用的数据库文献标题进行human activity recognition(HAR)、HAR &sensor、HAR &phone sensor 和HAR &phone security等关键词查询,得到的文献计量统计结果如表5所示。
由表5可知,题目中包含关键词“human activity recognition” 的论文共计920篇;含有关键词“human activity recognition & sensor”的论文共计295篇;含“human activity recognition &phone sensors”的论文共计6篇;含“human activity recognition&phone sensor&security”关键字的论文有1篇。上述所有检索文献中,主要是对人体行为识别的相关技术进行研究,而涉及实际应用场景的并不多见,在刑侦相关研究领域仅有文献[43]1篇。
表5 文献计量统计结果
刑侦现场环境复杂、数据量大、数据属性多,使得犯罪行为特征识别更加复杂。若将基于智能手机传感器人体行为识别技术扩展到公安刑侦领域,为公安侦查和预防违法犯罪提供有力支撑,则有很大的实际应用价值,但相关研究工作仍需要研究。
从传感器数据采集、特征提取、分类算法和常用公开数据集等4个方面对基于智能手机传感器的人体活动识别技术进行了分析总结。现有的基于智能手机传感器数据的HAR研究都已取得了较好的实验结果,在未来进一步研究中提出以下6点建议。
1)扩大数据量。目前的研究中,样本数据多是人工采集,数据数量较少,且需手工标记训练数据标签,无法快速获得大量的训练数据,为达到更好的识别效果,需扩大数据量。
2)优化传感器选择方案。选取更能表征行为特性的传感器,进行多传感器关联,如结合加速度计和陀螺仪更能有效识别跑、跳、上下楼梯等动态活动。
3)优化数据特征。合理融合特征,降低维度,有效降低类内方差和增大类间方差。
4)优化活动识别的通用模型。智能手机位于身体不同位置会给识别造成一定影响,因此生成活动识别的通用模型仍是一个需要克服的挑战。
5)丰富人体行为活动种类。目前人体活动识别大多是对简单日常活动的识别,探索结合实际情景 (如刑侦勘验现场) 进行更高语义行为上的识别也是待研究的方向。
6)面向刑侦领域,包括涉案传感器数据集的构建、数据特征的分析、案件现场还原等,相关研究工作有待开展。