本发明属于手势识别技术,该系统具体涉及在wi-fi系统下,一种基相对运动轨迹重建的手势识别方法。
背景技术:
手势识别作为人机交互(humancomputerinteraction,hci)中的一个研究分支,已经成为计算机领域的一个重要工具。与传统交互方式相比,手势作为一种更加清晰、形象的肢体语言,包含了更多丰富的信息,有助于用户更直观的表达自己的想法。研究手势识别,对于推动hci的发展有着重要的作用。
传统手势识别的研究大多基于视觉(visionbased)和基于传感器(sensorsbased)完成。基于视觉的手势识别系统在光线较弱的情况下识别精度较低,同时由于此类系统需要摄像头等辅助设备,容易涉及隐私问题;基于传感器的系统通常需要用户佩戴配套的传感器设备,使得用户体感较差且设备成本较高。随着无线网络技术的不断提高与相关设备的普及,越来越多的研究人员开始研究利用无线信号完成手势识别。手势识别系统wisee,该系统在解决了载波频偏的基础上,提取出信号中由于手势引起的的多普勒信息,最终完成如推、拉等九个手势的识别;手势识别系统wigest,利用手势对接收信号强度(rssi)的扰动,系统将不同的信号波动映射到对应的手势从而完成识别。此类系统利用手势对接收信号强度及相位造成的影响进行识别,但信号中背景噪声较大,干扰信号较强,使得接收信号粒度粗糙、分辨率低,仅能完成单手手势识别。
针对上述问题,本发明在wi-fi系统下,设计了一种基于相对运动轨迹跟踪的手势识别方法。该方法在没有任何附加设备的情况下,对接收信号中的干扰信号进行抑制,然后利用捕捉到的反射信号构造虚拟阵列,从而完成手势相对运动轨迹重建,最终可实现双手手势识别。
技术实现要素:
本发明的目的是在wi-fi系统下,提供一种基于相对运动轨迹跟踪的手势识别方法,它能在没有任何附加设备的情况下,实现双手运动轨迹重建和双手手势识别。
本发明所述的是,基于相对运动轨迹跟踪的wi-fi手势识别方法,具体包括以下步骤:
步骤一、首先利用wi-fi设备完成信道状态信息(channelstateinformation,csi)数据采集。由于wi-fi设备的收发两端时钟未同步、晶振不同及硬件精度不足的原因,采集的csi数据包含了由采样频偏(samplefrequencyoffset,sfo)、载波频偏(carrierfrequencyoffset,cfo)以及符号定时偏差(symboltimeoffset,sto)引入的误差。其中cfo与sto引起的相位误差均与信号频率相关,与子载波编号成比例。而由于中心频偏引入的误差对所有子载波均一样,因此由cfo引入误差可视为常数。基于该分析,实际接收到的csi相位可表示为:
其中,
步骤二、误差项
步骤三、估计出的s和i中包含了真实的斜率
步骤四、根据接收机两根天线接收的数据,利用迭代干扰抑制算法对环境中发射机到接收机的直射信号和静态物体反射信号进行干扰抑制,所述步骤四包括以下步骤:
步骤1、发射端发送一个已知的导频信号x,第一根接收天线接收到信号并估算出发射天线与第一根接收天线间的信道参数
步骤2、利用估计出的
cres=c1-r×c2≈0;
其中c1与c2表示两根接收天线同时接收时,分别计算出的信道估计值;
步骤3、假设估计值
步骤4、结合求取的cres及采集的多组数据,利用上述的修正方法,对
步骤5、当环境中物体开始移动时,利用手运动过程中采集的数据及求取的抑制系数r′,对发射机与接收机之间的直射信号、静态物体反射信号进行抑制,求取c′res,即:
c′res=c1-r′×c2
从而完成对干扰信号的抑制,同时由手的运动对信道造成的影响已被记录在c′res中。
步骤五、利用经过干扰抑制后数据构建虚拟天线阵列的接收信号矩阵,并求取其自相关矩阵,然后通过二维平滑处理自相关矩阵,实现室内多径环境下相干信号的去相干操作,所述步骤五包括以下步骤:
步骤1、在短时间内,假设手的运动为匀速运动,因此构造的虚拟阵列为等间距阵列且间距小于等于信号的半波长,此时假设间距d=t×v,其中t为采样周期,v为手的移动速度,可构建转向矩阵,表示为:
其中λ为信号波长,δ为手运动过程中的速度抖动偏差;
步骤2、当手处于运动状态时,将移动的手虚拟为天线阵列,此时系统接收到的连续时域采样就对应于手在连续位置上对信号完成的空间采样,因此利用抑制后提取时序数据cres构建接收信号矩阵,构建的接收信号矩阵为
步骤3、为了对抗室内多径环境下的相干信号,首先对接收信号矩阵进行平滑处理,把长度为k的阵列分成若干个相互重叠的子阵列,子阵列长度为n(n<k),每个子阵依次向右移动,过程如图所示:
子阵列个数为i=k-n+1,第1个子阵列的输出为:
步骤4、通过平滑处理后,矩阵
并计算该矩阵的自相关矩阵rrh,至此虚拟阵列的接收信号矩阵构造及解相关处理。
步骤六、对矩阵rrh进行特征值分解,分解后较大的特征值对应的特征向量为信号张成的信号子空间,较小的特征值对应的特征向量为噪声子张成的噪声子空间;
步骤七、利用构建的转向矩阵与噪声子空间的正交性计算信号的波达方向,即:
其中a(θ,n)为构建的转向矩阵,en为求取的噪声子空间;
步骤八、将每一时刻估计出的谱峰按照时序进行排列,获取整个手势过程中信号波达角的变化情况,最终构建出手势的相对运动轨迹;
步骤九、根据估计重构的相对运动轨迹,采用支持向量机(supportvectormachine,svm)分类器对手势进行识别。将每次谱峰中估计出的角度值以及峰值的个数最为训练的特征,假设给定一组训练数据d={(xi,yi)|xi∈rd,yi∈{-1,+1}},i=1,...,l,其中xi为第i个峰值点的角度值或峰值个数,yi是其对应的类标号,利用svm计算出最优分类超平面w*·x+b*=0,识别阶段将利用该超平面完成对手势的判别;
步骤十、由于数据大多是线性不可分的,因此使用径向基函数(radialbasisfunction,rbf)将数据映射到高维空间完成训练和分类。同时,组合多个svm分类器,使系统可以完成对多种手势的识别。
有益效果
本发明首先有效分析相位误差源,并利用斜率和截距的估计值完成误差消除;其次,提出一种新的基于数据融合的迭代干扰抑制算法,以完成静态物体反射信号和发射机与接收机之间直射信号的干扰消除;然后捕捉手反射的信号,通过利用信号的连续时间采样构造虚拟天线阵,并利用平滑music算法估计信号的来波方向。结合多个时刻估计出的信号波达方向,重建手势的运动轨迹;最后,根据估计重构的运动轨迹,利用基于高斯核的分类器支持向量机完成手势识别。本发明设计了一种新颖的虚拟阵列技术,在大大减小接收端天线开销的基础上,提高了分辨率,完成手的运动轨迹重建;同时,本方法不仅能够完成单手手势识别,对于双手手势也能够达到较高的识别精度,更能够满足人机交互中对手势识别系统的要求。
附图说明
图1为本发明中步骤一至步骤十的总体框图。
图2为获取csi信息过程中通过ofdm接收机完成信道估计的流程图。
图3为本系统构造的天线阵列示意图。
图4为滑动手势示意图及实验结果。
图5为在不同手势下利用本系统的进行实测数据的场景示意图;
图6为在图5基础上实现的运动轨迹复现结果示意图;
图7为不同手势识别精度的混淆矩阵示意图。
具体实施方案
下面结合附图进一步详细描述本发明的技术方案:
如图1所示的wi-fi系统下,基于相对运动轨迹跟踪的手势识别方法,具体包含以下步骤:
步骤一、首先利用wi-fi设备完成信道状态信息(channelstateinformation,csi)数据采集。由于wi-fi设备的收发两端时钟未同步、晶振不同及硬件精度不足的原因,采集的csi数据包含了由采样频偏(samplefrequencyoffset,sfo)、载波频偏(carrierfrequencyoffset,cfo)以及符号定时偏差(symboltimeoffset,sto)引入的误差。其中cfo与sto引起的相位误差均与信号频率相关,与子载波编号成比例。而由于中心频偏引入的误差对所有子载波均一样,因此由cfo引入误差可视为常数。基于该分析,实际接收到的csi相位可表示为:
其中,
步骤二、误差项
步骤三、估计出的s和i中包含了真实的斜率
步骤四、根据接收机两根天线接收的数据,利用迭代干扰抑制算法对环境中发射机到接收机的直射信号和静态物体反射信号进行干扰抑制,所述步骤四包括以下步骤:
步骤1、发射端发送一个已知的导频信号x,第一根接收天线接收到信号并估算出发射天线与第一根接收天线间的信道参数
步骤2、利用估计出的
cres=c1-r×c2≈0;
其中c1与c2表示两根接收天线同时接收时,分别计算出的信道估计值;
步骤3、假设估计值
步骤4、结合求取的cres及采集的多组数据,利用上述的修正方法,对
步骤5、当环境中物体开始移动时,利用手运动过程中采集的数据及求取的抑制系数r′,对发射机与接收机之间的直射信号、静态物体反射信号进行抑制,求取c′res,即:
c′res=c1-r′×c2
从而完成对干扰信号的抑制,同时由手的运动对信道造成的影响已被记录在c′res中。
步骤五、利用经过干扰抑制后数据构建虚拟天线阵列的接收信号矩阵,并求取其自相关矩阵,然后通过二维平滑处理自相关矩阵,实现室内多径环境下相干信号的去相干操作,所述步骤五包括以下步骤:
步骤1、在短时间内,假设手的运动为匀速运动,因此构造的虚拟阵列为等间距阵列且间距小于等于信号的半波长,此时假设间距d=t×v,其中t为采样周期,v为手的移动速度,可构建转向矩阵,表示为:
其中λ为信号波长,δ为手运动过程中的速度抖动偏差;
步骤2、当手处于运动状态时,将移动的手虚拟为天线阵列,此时系统接收到的连续时域采样就对应于手在连续位置上对信号完成的空间采样,因此利用抑制后提取时序数据cres构建接收信号矩阵,构建的接收信号矩阵为
步骤3、为了对抗室内多径环境下的相干信号,首先对接收信号矩阵进行平滑处理,把长度为k的阵列分成若干个相互重叠的子阵列,子阵列长度为n(n<k),每个子阵依次向右移动,过程如图所示:
子阵列个数为i=k-n+1,第1个子阵列的输出为:
步骤4、通过平滑处理后,矩阵
并计算该矩阵的自相关矩阵rrh,至此虚拟阵列的接收信号矩阵构造及解相关处理。
步骤六、对矩阵rrh进行特征值分解,分解后较大的特征值对应的特征向量为信号张成的信号子空间,较小的特征值对应的特征向量为噪声子张成的噪声子空间;
步骤七、利用构建的转向矩阵与噪声子空间的正交性计算信号的波达方向,即:
其中a(θ,n)为构建的转向矩阵,en为求取的噪声子空间;
步骤八、将每一时刻估计出的谱峰按照时序进行排列,获取整个手势过程中信号波达角的变化情况,最终构建出手势的相对运动轨迹;
步骤九、根据估计重构的相对运动轨迹,采用支持向量机(supportvectormachine,svm)分类器对手势进行识别。将每次谱峰中估计出的角度值以及峰值的个数最为训练的特征,假设给定一组训练数据d={(xi,yi)|xi∈rd,yi∈{-1,+1}},i=1,...,l,其中xi为第i个峰值点的角度值或峰值个数,yi是其对应的类标号,利用svm计算出最优分类超平面w*·x+b*=0,识别阶段将利用该超平面完成对手势的判别;
步骤十、由于数据大多是线性不可分的,因此使用径向基函数(radialbasisfunction,rbf)将数据映射到高维空间完成训练和分类。同时,组合多个svm分类器,使系统可以完成对多种手势的识别。