高 鹏,张 岩,唐新余,王 蒙,季文飞
(1.中国科学院 新疆理化技术研究所,新疆 乌鲁木齐 830011;2.中国科学院大学,北京 100049;3.中国科学院 新疆民族语音语言信息处理重点实验室,新疆 乌鲁木齐 830011;4.江苏中科西北星信息科技有限公司,江苏 无锡 214135)
人体动作识别在人机交互、安防监控、智能家居等领域有着重要的研究意义和广泛的应用价值。常见的基于接触式传感器[1](如陀螺仪)和非接触式传感器[2](如摄像头)的人体动作识别在隐私和舒适、易用等方面具有局限性。相比之下,雷达传感器具有良好的隐私保护、不易受光线因素影响、不需要人为主动干扰等优点,在居家等室内场所更加符合人体动作识别的需求。
从雷达回波中获取简单而有效的动作特征是实现人体动作识别的关键性工作,针对提取到的特征设计适配数据的高效分类方法是进一步提高识别准确率的保障。当前的雷达动作特征提取方法大多将雷达对人体动作的回波估算为含有动作特征的微多普勒特征谱图[3-5],一方面,微多普勒图含有大量人体和环境的微动特征,而较为宽幅的人体动作对微动特征并不敏感,环境微动特征还会降低特征表征能力,相对而言,微动特征更适用于手势和步态识别[6-7];另一方面,训练复杂的深度学习模型需要大量多普勒图像数据集,对硬件的运算性能有较高要求。文献[3]采用脉冲超宽带雷达将人体的多个回波反射点组成时间距离谱图,该方法仅提取了动作的距离特征,提取特征单一,对距离变化小、角度变化大的动作不具有普适性;文献[4]使用基于卷积神经网络(Convolutional Neural Networks,CNN)的模型对距离多普勒和微多普勒融合分类,增加了特征维度,但忽略了动作在时间上的连续性和前后相关性;文献[5]使用了多输入多输出(Multiple Input Multiple Output,MIMO)毫米波雷达采集数据,相较于单发单收的雷达,MIMO雷达可以测量人体的俯仰角度,提高角度分辨率,但仅使用了单发单收天线采集数据,浪费了硬件资源,未使用俯仰角度这一重要特征;文献[8]使用雷达回波直接计算出人体重心的高度和速度作为动作关键点特征量,该方法提取到的特征过于简单,主观性强,损失了雷达信号中的有效信息,只能表达简单有限的动作;文献[9]基于雷达距离多普勒图分解降维后的一维特征,分别使用支持向量机(Support Vector Machines,SVM)、一维卷积神经网络(One-dimensional Convolutional Neural Network,1DCNN)等多种网络对比识别性能,实验结果显示1DCNN的平均识别正确率最高,证明了1DCNN可以更好地抽取含有动作信息的一维数据特征,但是缺少对数据的时序处理;文献[10]使用双向长短期记忆网络(Bi-directional Long Short-Term Memory,Bi-LSTM)对时间序列微多普勒图进行训练,学习微多普勒图在时间上的前后相关性,得到了较好的分类效果,证明了时序特征也是分类的重要依据,但其将较长的微多普勒图序列直接作为Bi-LSTM的输入,导致算法延迟较大。
针对上述存在的问题,首先,基于MIMO雷达时分复用(Time-Division Multiplexing,TDM)模式,提出了一种雷达多信号特征提取方法,该方法对回波信号进行时域、频域分析和相位计算,提取出动作的一维时序信号特征,构建包含8种人体动作的训练数据集;其次,针对提取到的多信号特征设计了融合分类网络,使用注意力机制在1DCNN-GRU充分提取时序特征后对不同的信号序列做重要程度的加权分配;最后,通过实验验证了所提方法的有效性。工作的主要贡献如下:
(1)提出了一种新的人体动作识别架构,使用时分复用模式的L型三发四收MIMO雷达进行人体动作识别;
(2)构建了一种新的雷达信号序列动作特征模型,将人体动作的幅度变化、距离变化、方位变化分别描述为信号的短时能量变化、频率质心变化、水平和俯仰相位变化;
(3)设计了多信号序列融合分类网络,以适配提取到的雷达动作信号特征,得到更高的动作识别性能。
FMCW毫米波雷达硬件结构主要包括发射天线、接收天线、信号合成器、混频器和滤波器。当雷达调制波为锯齿波时,发射信号可以表示为:
sT(t)=AT·exp[-j2π·(fct+Kτdτ)]
(1)
式中,AT为发射信号振幅,fc为载波频率,K=B/Tc表示调频率,B为信号调频带宽,Tc为线性调频的脉宽。接收天线接收目标反射的信号形成雷达回波。
sR(t)=AR·exp{-j2π[fc(t-Δt)+
(2)
式中,AR为接收信号振幅,Δt=2R/c为信号的传播时间,R为目标与雷达间的相对径向距离,c为光速,K(τ-Δt)为τ时刻接收到的回波频率,Δfd为多普勒频移。发射信号与接收信号经过混频器混频,再经过滤波器滤波后得到中频信号。
sIF(t)=fLPF{sT(t)·sR(t)}=AT·AR·
exp{j2π[fcΔt+(fIF-Δfd)t]}
(3)
式中,fIF=KΔt表示t时刻中频信号的频率,对中频信号进行IQ采样,第n个周期的第m个采样点的差拍信号可以近似表示为:
SIF(n,m)≈AIexp·{j2π[fIF(n)-Δfd(m)]/fs}
(4)
MIMO雷达可以通过时分复用的方法增加天线孔径,提高角度分辨率[11]。以使用时分复用的2发4收雷达为例,在雷达工作时,两个发射天线交替发射信号,如图1所示,四个接收天线同时采样接收信号回波,2发4收雷达工作一个周期就可以得到8组回波信号。
图1 2发4收雷达TDM工作示意图
为了使TX1→RX1、TX1→RX2、TX1→RX3、TX1→RX4和TX2→RX1、TX2→RX2、TX2→RX3、TX2→RX4两组信号回波相参,需要使TX1和TX2之间的天线间隔为RX1、RX2、RX3、RX4之间天线间隔的四倍。
雷达回波信号可以处理为多种信号特征[12-13],如梅尔频率倒谱系数(Mel-Frequency Cepstral Coefficients,MFCCs)、Gammatone倒谱系数等特征,从雷达信号的时频角度描述信号的不同指标,距离、速度等特征从具体的动作特征角度描述动作的不同指标。前一种只描述信号忽略了特征与动作的匹配,后一种只描述动作丢失了信号的有效信息,且两种方式处理较为复杂。该文选取的信号特征仅与动作有映射关系,不需要继续对特征做深层次的处理。
人体动作的雷达回波信号是随着动作变化而变化的,具有时变特性。一个信号的时域波形可以表述为信号随时间变化的曲线,通过曲线的高低幅值可以判断不同时刻与动作对应点的能量高低。通常动作幅度越大,能量幅值越高,动作变化越剧烈,能量变化越大[14]。
雷达信号中将每一个回波周期称作一个chirp,每一个chirp得到的数据是由多个IQ采样点组成,由于连续动作引起能量波动,故取每个短时chirp为能量波动的短时单位,然后积累每个chirp内采样点的总信号幅值作为短时能量。IQ信号计算幅值的方法见公式(5),短时能量的计算方法见公式(6),将E在时间轴上按照顺序排列得到信号的短时能量特征。
(5)
(6)
式中,Am为幅值,I为IQ采样点的实部信号,Q为IQ采样点的虚部信号,E为短时能量,n为采样点数。
假设从信号发射到雷达回波接收的时间差为t,雷达与人体之间的距离为d,那么:
(7)
式中,c为光速。由K=B/Tc,fIF=KΔt可以得到t时刻中频信号的频率与d的关系。
(8)
由上式可知,动作信号的频率特征反映了人体与雷达之间的距离特征,所以频率的质心描述了人体躯干的距离变化。由于回波信号每个chirp都包含多个散射点,属于时变非平稳信号,故将每个chirp所在的极短时间内看作平稳信号,使用快速傅里叶变换(Fast Fourier Transform,FFT)对每个短时平稳信号分析频谱[15],得到每个chirp的频率后求每个chirp的频率质心,频率质心的计算方法如公式(9):
(9)
式中,f(n)为采样点频率,E(n)为对应频率的能量幅值,将FC在时间轴上按照顺序排列得到信号的频率质心特征。
对于同一个目标,目标与不同的接收天线的距离差会造成FFT后峰值的相位变化,根据相位变化可以推算目标的到达角,1发2收雷达的相位差可以表示为:
(10)
从公式(10)可知,动作信号的相位变化反映了动作的角度变化,对IQ信号的每个chirp做FFT,将能量幅值峰值处对应的频率作为动作频率,动作频率在不同接收天线对应的时间步位置也是相同的,对该时间步的接收天线维度做FFT即可得到对应频率处复平面内相应的相位,将相位在时间轴上按照顺序排列得到信号的相位特征。
通过对雷达回波数据的处理得到了多维动作信号特征数据,在数据结构上为一维长序列时序数据,在包络特征上对应人体动作的不同物理特征,各个维度具有不同的时间相关特性。由于所提取的信号特征具有长序列、多维、时序的结构特点,设计的分类网络必须要充分提取到多维长序列的通道特征并将长序列压缩以便更快地提取其时序特征,而常见的多特征融合网络[3-4]通常将序列先合并后再进行卷积处理,这样会将每个单独序列对应的物理特征过早被卷积核打乱,导致重要的特征被模糊,对所有向量做相同权重的卷积也会导致有效特征进一步被覆盖。为了充分提取每种信号特征,一维卷积阶段采用四个独立并列的1DCNN分别提取信号特征,然后再对提取和压缩后的多维短序列实时特征进行融合,并借助GRU神经网络独特的门结构,记忆卷积融合后的抽象特征的时间相关性,从而充分对时序进行表征建模,最后使用注意力机制通过概率分配权重的方式对重要特征加权增强,避免有效信息被噪声信息覆盖,进而完成融合分类网络模型的设计。
所设计的融合分类网络模型结构如图2所示,模型主要分为Input层、CNN层[16]、Feature Fusion层、GRU层[17]、Attention层[18]和Output层。
图2 模型结构
模型的每层具体描述如下:
(1)输入层。输入层将提取到的四维信号序列特征作为输入,特征序列可以统一表示为:
Xi=[xi1,xi2,…,xit-1,xit]T
(11)
式中,i代表不同维度的编号,t代表时间步顺序。
(2)CNN层。设CNN层输出的特征向量为Ci,可以表示为:
Ci=f(Xi⊗Wi+bi)=ReLU(Xi⊗Wi+bi)
(12)
式中,Ci为1DCNN卷积后的输出,Wi为权重,bi为偏差,⊗为卷积运算。
(3)Feature Fusion层。为了便于后续的分类处理,本层将CNN层得到的特征向量融合,结构上使用Concatenate按照通道维度把特征向量拼接起来,然后经过Dense层对特征进行融合。设Feature Fusion层输出的特征向量为R,可以表示为:
Con=Concatenate(Ci)
(13)
R=ReLU(Con×WR+bR)
(14)
式中,WR为Dense层的权重,bR为Dense层的偏差。
(4)GRU层。本层对Feature Fusion层融合后的特征向量进行学习,为了加快收敛速度,结构采用隐藏层为100的单层GRU结构。设GRU层的输出为h,在时间步t的输出表示为:
ht=GRU(Rt-1,Rt)
(15)
式中,t的值域为[1,时间步长]。
(5)Attention层。尽管GRU可以控制序列在时间步上的遗忘和保留,但它无法区分输入序列的某一步的重要性,而当GRU的输入序列较长时,还会出现重要特征丢失现象。注意力机制通过计算特征向量与结果的概率产生权重,以概率加权的方式替代了随机分配权重的方式,给予关键时间步较高权重,提高模型的效率和精确度。故在GRU模型后引入注意力机制,GRU输出的h1,h2,…,ht向量用作注意力层的输入。
本层由一层激活函数为SoftMax的Dense层和自定义层组成,Dense层通过概率分配权重,自定义层将权重对GRU层产生的重要特征加权增强,设Attention层的输出为A,在时间步t的输出表示为:
et=UAtanh(WAht+bA)
(16)
(17)
(18)
式中,et为在时间步t时ht对应的注意力概率值,UA和WA为本层的权重,bA为本层的偏置。
(6)Output层。本层将Attention层输出的特征向量放入Flatten层展平后经过Dense层分类。设Output层输出为Out,可表示为:
Out=Softmax(Wo·Flatten(At)+bo)
(19)
式中,Flatten将多层特征向量合并为一层,Wo为Dense层的权重,bo为Dense层的偏差。模型参数配置见表1。
表1 模型参数配置
实验中硬件部分选用德州仪器公司研发的IWR6843ISK-ODS雷达传感器模块和与其配套的DCA1000EVM数据采集适配器模块作为人体动作信号采集平台,雷达帧周期设置为65 ms,帧数为50帧每秒,每一帧的Chirp数为128个,每个Chirp采样点为128个,初始频率为60 GHz,采样率为1e7。实验的整体流程如图3所示。
图3 实验流程
实验共设计了8种不同类型的人体动作:(1)静止站立;(2)行走;(3)往复踱步;(4)坐下;(5)站起;(6)蹲下起立;(7)起立蹲下;(8)跌倒。在采集数据过程中,雷达信号发射方向仅有测试人员运动,其他桌椅等物品均为静止摆放状态,雷达固定在距离地面1.2 m的支架上,测试人员在雷达正前方2 m外,每个动作固定采集50帧,重复50次,共采集到400组回波数据。
对回波数据进行特征提取,可分别提取到400条信号特征;在水平方向上,每个chirp信号共有8个接收天线接收回波,使用所有的接收天线计算相位变化可以最大程度上提高相位变化精确度,在俯仰方向上同理,水平相位特征和俯仰相位特征可分别提取到400条信号特征,以上采集到的4×400条信号特征数据共同构成人体动作数据集。
表2为动作的实际采集场景与多维信号特征图例,为了显示直观,表中数据均为同类归一化后数据,实验中为了模拟真实情况,数据未归一化。从表中可以看出,不同动作的短时能量、频率质心、相位在统一时间分布上具有比较明显的差异,这为下一步模型训练分类奠定了良好的基础。
实验一:为了验证提取信号特征的有效性和多维信号特征对人体动作的表征能力,使用不同信号特征组合进行以下六组实验:(1)仅使用短时能量;(2)仅使用频率质心;(3)仅使用水平相位;(4)仅使用俯仰相位;(5)使用短时能量、频率质心、水平相位;(6)使用全部特征。分类模型结构和参数对应章节3的GRU模块,使用交叉熵损失函数和Adam优化器,batchsize设置为40,epoch设置为100,为了保证分类准确率,进行五折交叉验证取平均值。
平均分类准确率如表3所示。
表3 五折交叉验证平均准确率
由表中的分类准确率对比可以得出,各信号特征均对动作有一定的表征能力,其中相位信号的表征能力最强,单独使用水平相位信号对动作进行分类可以获得86.50%的准确率;使用多维信号特征的分类准确率明显高于单一特征,其中使用短时能量、频率质心、水平相位进行人体动作识别的准确率可以达到95.00%,添加俯仰相位后准确率又进一步提升到96.00%;可以得出结论,多维信号特征比单一信号特征有更好的动作表征能力,包含俯仰相位特征的多维信号特征对动作的表征能力进一步增强。
为了进一步分析不同信号特征对不同动作分类的表征能力和准确率,对五折交叉验证的混淆矩阵取均值,六组实验的混淆矩阵如图4所示。图中横轴为真实标签,竖轴为预测标签,准确率越高灰度越深。从实验(1)的混淆矩阵可以看出短时能量对静止站立和起立蹲下动作识别准确率低;从实验(2)的混淆矩阵可以看出频率质心对坐下、跌倒动作识别准确率低;从实验(3)的混淆矩阵可以看出水平相位对站起、蹲起动作识别准确率较低;从实验(4)的混淆矩阵可以看出俯仰相位对静止站立、蹲起、起蹲的动作识别准确率较低。从总体来看,短时能量对动作幅度大、区域宽泛的动作特征敏感,频率质心对距离变化大的动作特征敏感,相位特征分别对不同角度方向的动作特征敏感,四类信号特征对不同的动作表征可以很好的互补,三维信号特征联合已经可以较好地识别所有动作,加入俯仰相位特征后又进一步提高了行走和蹲下起立的识别准确率。
(a)实验(1) (b)实验(2)
(c)实验(3) (d)实验(4)
(e)实验(5) (f)实验(6) 图4 六组实验的混淆矩阵
实验二:为了验证所设计的分类网络对人体动作识别的性能提升,在实验(6)的基础上增加了以下两组对比实验:(7)使用1DCNN-GRU对人体动作识别;(8)使用多信号序列融合分类网络对人体动作识别。两组实验均使用四维信号特征作为数据输入,分类模型结构和参数对应章节3的各自模块,使用交叉熵损失函数和Adam优化器,batchsize设置为40,epoch设置为50,实验结果均为五折交叉验证取平均值。
实验(6)、(7)、(8)的训练损失值和识别准确率随迭代次数的变化情况如图5(a)、(b)所示。可以看出,仅使用GRU的分类模型在迭代60次后损失值和准确率才趋于稳定,模型拟合速度慢,而在加入1DCNN后,模型拟合速度加快,在迭代30次后损失值和准确率便趋于稳定,与此同时,识别准确率有1.25%的提升,达到了97.25%,证明了串联1DCNN对单一GRU模型的性能提升。在1DCNN-GRU模型上加入注意力机制后,模型训练速度明显加快,仅训练10次左右损失值和准确率便趋于稳定,识别准确率达到了98.50%,加入注意力机制提高了训练速度和识别准确率,验证了所设计的网络对人体动作识别的性能提升。
(a)损失变化
(b)准确率变化
(c)Attention权重分配 图5 实验(6-8)的损失和准确率及 Attention权重分配
实验(8)在实验(7)的基础上添加了Attention层,用以计算GRU中输出的序列数据的动作分类类型和实际类型的匹配程度,并根据匹配程度分配权重,其权重可视化如图5(c)所示,从图中可以看出,在100个序列数据中第62、79个序列与输出匹配程度较高,因此相应的权重系数较高。
表4从特征类型和分类算法两方面将该文与文献中已有的对幅度较大人体动作的分类方法作对比。
表4 动作识别方法对比
从表中可以看出,微多普勒图对宽幅人体动作的表征弱于多维雷达序列信号特征和多维动作关键点特征量,其中多维行为关键点特征量较为简单,所携带的动作信息只能分类少量动作;时序特征的分类准确率高于不含时序的特征,在分析时序特征之前对特征进行适当的特征抽取可以取得更好的分类效果;多维特征的融合能提供更丰富的动作信息;通过对比可知,该文提出的特征分类方法数据量较小,同时可以表征多种宽幅动作,在识别准确率上优于其他方法。
通过研究MIMO毫米波雷达的特性,提出了一种动作多信号特征提取方法,该方法可以增加动作相位的俯仰维度特征;使用多信号特征建立了人体动作数据集,并根据信号特征的数据结构设计了一种基于1DCNN、GRU和Attention的多信号序列融合分类网络。实验使用动作多信号特征提取方法构建数据集并对网络进行训练分类,通过对比证明,含有俯仰相位的多维信号特征表达幅度大的人体动作更有优势,设计的分类模型收敛速度快,可以充分提取多维信号中的动作信息,对8种不同的人体动作进行识别,平均识别正确率达到了98.5%,验证了方法的有效性和可行性。后续工作将对提出的方法移植到嵌入式设备上实时识别人体动作做进一步研究。