车俐
(1.桂林电子科技大学广西无线宽带通信与信号处理重点实验室, 广西桂林 541004;2.桂林电子科技大学信息与通信学院, 广西桂林 541004;3.桂林电子科技大学计算机与信息安全学院, 广西桂林 541004)
随着社会老龄化和城镇化程度的加剧,数量逐年增长的空穴老人行动不便等已成为社会越来越关注的问题。在安全监控领域,基于人体动作识别也具有很多优势,即使犯罪分子带有面具,基于动作识别系统也能分析出人体的动作数据,与整个公安系统的犯罪分子动作数据库进行对比,对潜在的犯罪分子具有一定的预警作用[1]。现有的研究大多数是基于视频的人体动作分析,由于现实环境的复杂性容易被一些障碍物遮挡以及个人隐私的问题。因此,基于超宽带雷达的人体动作识别具有重大的意义。
近年来,针对人体动作识别开展了许多研究,是当前研究的热点。Bryan等[2]提出应用超宽带雷达来识别人体动作,通过采集8种典型人体动作下的超宽带雷达接收信号,然后应用主成分分析法[3]得到信号的主要分量作为特征,结合支持向量机进行训练分类,最后能达到85%的准确率。Kim等[4]同样应用超宽带雷达进行采集数据,根据人体运动时产生的多普勒特征,提出利用微多普勒特征[5-7]来训练模型,最终对7种常见动作的分类达到了90%正确率,但这种方法的缺陷是不能对静止的动作进行分类。然而,这些研究主要集中在连续波雷达和有载波的超宽带雷达,目前只能够用来识别一些简单基本的人体动作类型。对于室内复杂环境下、未训练的动作以及多人交互的动作等还不能进行准确识别。
本文首次搭建无载波超宽带雷达人体动作识别系统,并提出一种新颖的基于PCA和DCT相结合的无载波超宽带雷达人体动作识别方法,同时利用改进的网格搜索算法优化支持向量机的参数。
本文对采集到的超宽带雷达人体动作回波信号构建主元子空间,首先计算该回波信号矩阵的协方差矩阵的特征值和特征向量。根据特征值的大小排序,然后筛选部分特征向量的空间就是主元子空间。
特征向量的选取根据特征值的大小比例决定,由于特征值的大小反映了该特征向量所携带的信息量。因此,特征向量的选择应该由它所对应的特征值的大小来决定。设置一个阈值,根据比值的大小,选取特征向量。这样选择的好处是,既包含了大部分的信息量,又同时去除掉了一部分噪声,同时,大大地减少了计算量,因为一般前面的小部分特征值就会包含大量的信息。
离散余弦变换(DCT)[8-10]是一种将信号转换为基本频率分量的技术,具有非常好的能量聚集性。DCT变换经常用于信号和图像数据的压缩,经过DCT变换后,信号的绝大多数能量被集中到变换域的低频部分。
对于给定的N点离散信号x(0),x(1),…,x(N-1),它们的离散余弦变换(DCT)定义为
k=0,1,…,N-1
(1)
式中,
(2)
用矢量形式可表示为
y=CTx
(3)
矩阵C的元素可以由式(4)给出:
(4)
针对无载波超宽带雷达人体动作识别,本文首次提出基于PCA和DCT相结合的特征提取方法,利用PCA和DCT相结合的方法提取雷达动作回波中的特征值的具体步骤包含以下四步:
第1步:将无载波超宽带雷达人体动作回波信号数据划为训练数据集和测试数据集。
第2步:对训练数据集和测试数据集进行PCA降维,并构建主元子空间。
第3步:将第1步构建的主元子空间进行离散余弦变换,提取主元子空间中的低频信号,提取的低频信号作为分类器的输入矩阵。
第4步:将训练数据集经过PCA-DCT提取的低频信号作为改进的网格搜索算法优化支持向量机的输入矩阵,训练模型,然后利用训练好的模型对测试训练集进行识别,得到识别结果。
支持向量机的目标函数是二次的,约束条件是线性的,所以它是一个凸二次规划问题。这个问题可以用现成的QP(Quadratic Programming)优化包进行求解。此外,还可以通过拉格朗日对偶性(Lagrange duality)变换到对偶变量(dual variable)的优化问题,即可通过求解与原问题等价的对偶问题(dual problem)得到原始问题的最优解。
(5)
对于非线性的情况,SVM的处理方法就是选择一个核函数K(.,.),通过使用恰当的核函数来替代内积将数据映射到高维空间,来解决在原始空间中线性不可分的问题。
常用的核函数有:
3)线性核K(x1,x2)=〈x1,x2〉,实际上就是原始空间中的内积。线性核主要目的是使“映射后空间中的问题”和“映射前空间中的问题”两者在形式上统一起来。
2.3.1 交叉验证
交叉验证(Cross Validation, CV)是用来验证分类器性能的一种统计方法,基本思想是把在某种意义下将原始数据进行分组,一部分作为训练集,另一部分作为验证集。 首先用训练集对分类器进行训练,再利用验证集来测试训练得到的模型,以此作为评价分类器的性能指标。 通常人们都采用K-折交叉验证,将原始数据分成K组(一般是均分),将每个子集数据分别做一次验证集,其余的K-1组子集数据作为训练集,这样会得到K个模型,用这K个模型最终的验证集的分类准确率的平均数作为此K-折下分类器的性能指标。K一般大于等于2,实际操作时一般从3开始取。只有在原始数据集合数据量小的时候才会尝试取2,K-折交叉验证可以有效地避免过学习以及欠学习状态的发生,最后得到的结果也比较具有说服性。本文采用的是5-折交叉验证,寻找最优参数。
2.3.2 网格搜索算法
网格搜索算法(Grid Search, GS)作为一种智能算法,当前已在很多领域展开了应用,它可以很好地优化参数,所得到的参数的值也比较可靠。本文基于网格搜索算法优化支持向量机对人体动作类型进行分类。
网格搜索算法的基本原理为:
第1步:根据经验给出惩罚参数c与核参数g的范围。
第2步:将参数值网格离散化,则设置确定搜索步长,并沿参数不同的增长方向创建网络,网络中的节点是相关的参数对。
第3步:在需要搜索的样本中,每个参数选择一些离散值,随后将惩罚参数c与核函数所有可能的组合挑选出来,用于模型的训练。
第4步:经过搜索,最优参数一般是挑选训练之后的最佳的参数。
2.3.3 改进的网格搜索算法优化支持向量机
利用网格搜索算法对支持向量机的惩罚参数c和径向基核函数的宽度g在一定的区间上进行搜索,其分类准确率很高,但是搜索的范围往往根据经验给出的,不确定因素很大,有可能会导致分类的准确率很低,因此若能先定位出比较可靠的参数寻优区间,再进行精确搜索,就能够减少不必要的计算,节省大量的时间。
本文针对传统网格搜索算法呈现的问题,提出一种改进的网格搜索算法优化支持向量机。首先,在较大的范围内采用大步距进行粗略的搜索,并选择分类准确率最高的局部最优解c和g。找到了局部最优参数之后,再在这组参数附近选择一个小区间,采用传统方法中的小步距进行二次精细搜索,找到最终全局最优参数,该方法大大减少了寻优搜索参数时间。
无载波超宽带雷达作为一种新型的雷达,不仅可以弥补传统雷达盲区大、精度低的不足,还具备很好的探测隐身目标和抗干扰能力。但是由于无载波超宽带雷达信号不含载波信息,能量集中于极窄的波形内,并且发射信号与回波相关性弱,因此传统的提取信号特征值的方法不再适用。本文首次提出基于PCA和DCT相结合的特征提取方法,并利用改进的网格搜索算法优化支持向量机验证本文提出方法的优越性。
本文首次搭建无载波超宽带雷达人体动作识别系统,使用无载波超宽带雷达人体回波信号识别人体动作类型由3个关键部分组成:1)数据采集与获取;2)回波数据处理和特征提取;3)智能识别算法。图1显示了本文提出的无载波超宽带雷达人体动作识别系统。第1步,利用SIR-20无载波超宽带雷达采集人体动作回波信号,并对回波信号进行相关预处理。第2步,利用本文所提出的基于PCA和DCT相结合的特征提取方法,提取人体动作回波信号中的有效特征。特征提取直接表征与人体动作类型相关的信息,并极大地影响最终的识别结果,是整个识别模型中最关键的一步。第3步,将所提取出的特征用来训练SVM模型,并利用最终的识别结果评估所提出的识别模型。本文利用改进后的网格搜索算法优化SVM模型参数,有效地提高了整体识别率,避免了传统网格搜索算法优化SVM模型参数容易陷入局部最优的情况。基于PCA和DCT相结合的人体动作识别整体流程图如图2所示。
图1 无载波超宽带雷达人体动作识别系统
图2 基于PCA和DCT相结合的人体动作识别整体流程图
本文中实验数据测量是由美国劳雷工业科技有限公司研发的SIR-20高速探地雷达。SIR-20系统预装了操作系统和采集处理软件,该设备采用标准的GSSI天线。本文实验采集的中心频率为400 MHz,带宽为800 MHz,天线的增益约为3 dBi,单通道采集的扫描速率为100次/秒,每次扫描的采样数为512个点。SIR-20探地雷达是由松下PC机控制,测试的数据保存在PC机上。SIR-20实验测量设备如图3所示,表1描述了本文实测数据使用的雷达参数。
表1 实验雷达参数表
图3 SIR-20探地雷达
本文实验测量是在桂林电子科技大学图书馆513室内进行,室内摆放了少量的桌椅。实验总共采集了10种典型的人体动作接收信号,主要包含:(a)向前走;(b)向后走;(c)向前跑;(d)向后跑;(e)向前摔倒;(f)向后摔倒;(g)原地走动;(h)上下跳动;(i)向前跳;(j)向后跳。
在实际的实验数据采集中,SIR-20实验设备采用收发一体天线,收发天线放置在距离地面1 m处的桌子上,参与数据采集的是同门,身高约为172 cm,体重约为65 kg,面向雷达天线,距离天线2 m左右。实验中每个动作重复做20次作为1组,每组动作收集数据的持续时间大概是120 s。从(a)~(j)的实际测试场景如图4所示,每种动作的具体要求如表2所示,实验采集的原始数据如图5所示。
图4 10种不同类型人体动作实测场景(从左到右、从上至下依次为动作(a)~(j))
序号动作类别具体动作要求描述(a)向前走两只手周期交替摆动,并面向雷达缓慢向天线方向走去(b)向后走两只手周期交替摆动,起点靠近天线位置,并缓慢向后走动,慢慢远离天线(c)向前跑两只手周期交替摆动,并面向雷达向天线方向跑去(d)向后跑两只手周期交替摆动,起点靠近天线位置,并向后跑动,远离天线(e)向前摔倒站在距离天线2m处,向前慢慢摔倒,最后躺在地上(f)向后摔倒站在距离天线2m处,向后慢慢摔倒,最后躺在地上(g)原地走动站在距离天线2m处,原地走动(h)上下跳动站在距离天线2m处,上下呈周期性跳动(i)向前跳站在距离天线2m处,匀速向前连续跳跃(j)向后跳起点靠近天线位置,匀速向后连续跳跃
向前走
向前摔倒
原地走动
向前跳图5 4种不同人体动作类型原始回波数据
在本文中,针对每种不同类型的动作重复做20次,并保存测量数据。从图6可以明显看出,当人体在重复不同动作的时候,接收信号的幅度会有明显的差异,这表明可以通过分析回波信号,提取回波信号中的特征,从而区别不同动作类型。
向前走
向前摔倒
原地走动
向前跳图6 4种不同动作类型的回波信号波形图
本文研究了利用无载波超宽带雷达对人体动作进行分类识别的可行性并提出了基于PCA和DCT相结合的方法提取超宽带人体雷达回波信号的特征,最后利用改进的GS参数优化SVM对人体动作类型进行分类。实验利用SIR-20设备对每种人体动作类型采集了20组样本作为数据集,因此,建立了包括所有动作类型200个样本的数据集。将每种动作采集的数据以3∶1的比例分成两组:一组用于训练SVM分类算法,称为训练集(包含150个动作数据);另一组用于测试SVM分类算法的准确性,称为测试集(包含50个动作数据)。为了更好地验证本文所提出方法的泛化性能,减少训练集的大小,从每种动作的20组数据中选取10组作为训练集(包含100组动作数据),另外的10组作为测试集(100组动作数据)。其中训练数据集用于训练SVM算法模型,测试数据集用于测试分类算法的准确性。通过改进的网格算法(GS)搜索SVM的惩罚参数c和RBF核函数的宽度参数g,以提高SVM分类算法的准确率。
利用改进的GS搜索算法优化SVM中的惩罚因子参数c和高斯核函数(RBF)的宽度参数g,以最小化每个SVM的平均分类误差。本文GS参数优化的参数设置如下:c的范围2-8~28;g的范围2-8~28;c的步长0.5;g的步长0.5;采用5折交叉验证的方法寻找最优参数。所提出的改进GS参数寻优的3D视图结果如图7所示。
图7 改进的GS参数优化3D结果视图
本文提出的基于PCA和DCT相结合的方法提取接收到的无载波超宽带人体雷达回波信号的特征,最后利用改进的GS参数优化SVM对人体动作类型进行分类,分类的结果如图8所示。
从图8可以明显看出,基于PCA和DCT相结合的方法提取无载波超宽带雷达人体动作回波特征值具有非常好的效果,表2中的10种人体动作类型均能100%地识别出来。通过混淆矩阵可以清晰地看出,采集的10种类型的动作识别率达到了100%。即使是之前实验中很难区分的向前走和向前跑两种相似动作,利用本文所提出的方法可以很好地区分开。
(a) 测试集的实际分类和预测分类图
(b) 超宽带人体动作识别预测标签与真实标签的混淆矩阵图8 本文所提出的方法针对表2中10种动作类型的识别率和混淆矩阵
为了更好地验证本文所提出方法的泛化性能,减少训练集的大小,重复利用基于PCA和DCT相结合的方法提取特征,然后利用改进的GS优化SVM进行分类识别。从每种动作的20组数据中选取10组作为训练集(包含100组数据集),另外的10组作为测试集(100组数据集)。分类的结果如图9所示。
(a) 测试集的实际分类和预测分类图
(b) 超宽带人体动作识别预测标签与真实标签的混淆矩阵图9 每种动作的训练数据集为10组时10种动作类型的识别率和混淆矩阵
从图9可以看出,在减少训练集大小时,基于PCA和DCT相结合的特征提取方法依然可以很有效地识别出实验所测量的10种不同类型的动作。除了(c)动作的识别率为99%,其余9种动作的识别率均可以达到100%,证明了基于PCA和DCT变换相结合提取特征的方法针对无载波超宽带雷达人体动作回波的提取非常有效。
为了验证基于PCA和DCT变换相结合的特征提取的优越性,本小节将预处理后的目标回波信号的PCA特征与基于PCA和DCT变换相结合的特征进行比较。首先利用PCA与基于PCA和DCT变换相结合的方法分别提取无载波超宽带雷达人体动作回波信号,然后分别利用改进的GS优化SVM进行分类识别,两种方法识别率的比较结果如表3所示。
表3 不同特征值提取方法下人体动作的平均识别率
从表3可以清楚地看出,基于PCA和DCT变换相结合的特征值提取方法明显比仅仅使用PCA方法提取特征值更加有效,具有更高的识别率。因为人体属于非刚体目标,人体运动的信号能量主要集中在低频段,只利用PCA方法提取人体动作回波特征不能很有效地提取出动作属性。DCT变换经常用于信号处理和图像处理,人体的动作回波信号的能量大多集中在余弦变换后的低频部分。因此,基于PCA和DCT变换相结合的特征提取方法明显优于其他特征提取方法,并且经实验验证获得较高的识别率。
本文首次搭建无载波超宽带雷达人体动作识别系统,提出一种新颖的基于PCA和DCT相结合的无载波超宽带雷达人体动作识别方法,同时利用网格搜索算法优化支持向量机的参数,利用最后整体的识别率评估提出方法的优越性和所搭建识别系统的性能。
首先对雷达回波信号根据不同的方案划分为训练数据集和测试数据集,然后利用主成分分析法(PCA)进行降维,构建训练集主元子空间和测试集主元子空间。将训练集主元子空间和测试集主元子空间分别进行离散余弦变换(DCT),然后将训练集主元子空间经过DCT处理后提取的特征用于训练改进后的网格搜索算法优化支持向量机并训练模型,利用测试集主元子空间经过DCT处理后提取的特征用于测试训练后的支持向量机模型,并将基于PCA和DCT相结合的特征提取方法和仅仅使用PCA特征提取进行对比。
最后得到的识别率都是基于实测数据在Matlab平台上仿真的结果,采用基于PCA和DCT相结合的特征提取方法,对实测的10种不同类型的动作进行分类识别。实验结果显示,本文所提出的方法具有很高的识别率,对雷达回波信号数据集按3∶1划分为训练样本集和测试样本集的识别率能达到100%,对于数据集按1∶1划分为训练样本集和测试样本集的识别率也能达到99%,只有一组动作类型分类错误。因此,具有很好的现实意义。