室外人体脚步声事件及环境联合识别
2021-09-26徐峰李平
徐峰, 李平
(华侨大学 信息科学与工程学院, 福建 厦门 361021)
声场景分类(ASC)和声事件检测(SED)是声音场景分析领域中的两个独立任务[1-2].许多研究把重点放在一般用途的环境声识别上,很少有专门用于人类活动检测的方法[3].一般的声音分类技术与室外人类活动、环境分类之间存在差距,需要考虑室外更加丰富、嘈杂的噪声环境,以及提取的声音特征是否融合了环境和人类活动.
传统的基于隐马尔科夫模型(HMM)[4]、高斯混合模型(GMM)[5]和支持向量机(SVM)[6]的研究方法需考虑声音的持续时间,从而便于对上、下文进行标记[7-8],此外,使用音频中的关键信息区分场景或事件,往往需要人工设定和精心选择,适用性较差.随着神经网络的发展,深度学习方法比传统方法具有更好的性能[9-11].由于声学事件和环境密切相关,近期的相关研究已着眼于二者的联合分析[12-13].
多任务识别模型学习的关键是输入数据中是否包含不同任务的区分特征.人的连续脚步声数据是一种近似周期信号的数据,可以提取单个周期或单个脚步声信号,即把模型建立在事件的较短持续时间上,使事件和环境的联合识别重点避开模型的复杂度.就数据处理的角度而言,因为音频信号具有时变特性,基于短帧的特征能够逼近时不变函数和表达细节[14],所以可将音频流切割成指定长度帧(毫秒级),并提取特征构建模型.基于此,本文构建一个复杂室外环境下的人体活动数据集,分析交叉双脚步声分割算法和两种融合特征,提出一种室外人体脚步声事件及环境联合识别方法.
1 交叉双脚步声分割
在音频信息中区分非周期信号是音频信号处理领域最重要的问题之一[15].在一段特定的时间范围内,脚步声音频信号可近似为周期信号,一连串的脚步声中包含的特征具有重复性,需要将脚步声音频信号进行分割,从而降低数据冗余.
考虑到脚步声的类周期性,一些研究将分割得到的单个脚步声数据作为处理对象,用于后续任务[16].然而,就人的运动特点而言,双脚步声数据含有更明显的行为特征,因为人的行走和脚步运动往往以左右或者右左为一个运动周期.同时,如果只按照双脚步分割原始脚步声,一方面,会造成部分连续性特征的损失,另一方面,背景声的切割会破坏数据,降低识别精度.因此,提出一种基于包络波谷值的交叉双脚步声分割算法.
基于包络波谷值的交叉双脚步声分割算法如下.
输入:原始脚步声数据data;时间窗Tw.
步骤1初始化变量i,j,n,througmin,troughstepi,dstepj.
步骤2去掉data前无声的数据,遍历数据,找到最小的波谷点troughmin,troughstepi=troughmin.
步骤4重复步骤3,直至找不到新的脚步波谷值.
步骤5按照时间顺序排列troughstepi,再初始化i,分割出第1个交叉双脚步dstep0=data[0]~troughstepi,第j个交叉双脚步dstepj=stepi+stepi+1,i=i+1,j=j+1.
通过信号波形,可清晰判断脚步声的静音段,利用中间的静音分割出一个行动周期内的脚步声.由于脚步声音频数据极不平滑,无法直接从原始数据波形中找到单个脚步声的波谷值,故先对脚步声数据取包络.3个脚步声的波形及包络,如图1所示.图1中:A为振幅;ts为脚步声持续时间;Ns为脚步声采样点数.根据包络中的单个脚步声波谷值判定单个脚步声的结束位置,再进行分割,可得交叉双脚步声.
(a) 波形 (b) 包络图1 3个脚步声的波形及包络 Fig.1 Waveforms and envelopes of three footsteps
2 特征提取
交叉双脚步声切割时,完整地切割了脚步声数据,切割后的数据长度不同,因此,在特征提取时需保证特征数固定.声音可以平行地被观察到,通过室外人体脚步声数据可对活动和环境进行联合识别,用于该多任务学习的特征需随时间的推移而建立.因此,分别从事件、环境和平衡3个角度进行特征提取.
2.1 事件的角度
声音以压力波的形式存在于当前时刻,声音现象只能当作事件,而不能当作物体.从脚步声判断人的活动是对跨时间依赖事件的分析,提取的特征必须从时间维度进行考虑.
图2 脚步声的时间表示 Fig.2 Time representation of footsteps
(1)
2.2 环境的角度
基于人耳听觉特性提取的梅尔倒谱系数(MFCC)[17]不依赖于信号的性质,可反映语音信号的静态特征,在语音识别和环境声分析中得到了广泛的应用[11].
图3 MFCC特征的提取过程 Fig.3 Extraction process of MFCC features
MFCC是利用梅尔频率(Mel)和物理频率(f)的非线性对应关系得到的物理频率特征,梅尔频率和物理频率之间的关系为
Mel=2 595×lg(1+f/700).
(2)
MFCC特征的提取过程(图3)如下.
1) 将统一采样后的交叉双脚步声数据y(n)通过预加重滤波器进行预加重,有
y(n)′=y(n)-α×y(n-1),α=0.95.
(3)
式(3)中:y(n)′为预加重后的数据;α为预加重系数.
2) 将y(n)′分成短时帧s(n),n=0,1,…,N-1,N为帧的大小,N=512;统一采样率rs为22 050.经计算可得覆盖时间tc(单位为ms)为
tc=1 000N/rs≈23.
(4)
3) 采用汉明窗W(n)进行加窗,窗外值设定为0,将每一帧与汉明窗相乘,可得时域信号s(n)′,有
(5)
4) 将时域信号s(n)′转化到频域后,进行频率分析,经离散傅里叶变换(DFT)后的频谱S(k)为
(6)
式(6)中:k为傅里叶变换的点数;Nw为加窗后的采样点数.
5) 计算功率谱,并将每帧谱线能量|S(k)|2通过Mel滤波器组后取对数,得到对数能量Hm(k)和S(m),有
(7)
式(7)中:f(m)为第m个三角滤波器中心频率;M为三角滤波器的个数,也表示MFCC的维度.
S(m)经离散余弦变换(DCT),得到梅尔倒谱系数,表示为
(8)
式(8)中:L为MFCC阶数.
图4 wetleaves和metal的MFCC特征可视化 Fig.4 MFCC visualization of wetleaves and metal
MFCC特征是经Librosa 0.7数据处理库调整数据维度计算得到,其中,wetleaves和metal的MFCC特征可视化,如图4所示.由图4可知:不同环境下脚步声数据的MFCC特征区别较大.周期性声音信号通常是由一个基波和若干谐波组成,这些谐波由声源按照特定的关系隔开,谐波的混合决定了声音的音色;频率的分布是非局部分布的,信号特征能够表示当前的活动环境.
2.3 平衡的角度
虽然只采用MFCC特征区分环境声的效果更加突出,但会破坏联合识别多任务学习的平衡性.因此,提取一阶差分MFCC_Δ和二阶差分MFCC_Δ2,以反映音频信号的动态特征,加大特征对事件的敏感度.MFCC_Δ表示当前MFCC相邻两项的差,可体现交叉双脚步声相邻两帧的关系;MFCC_Δ2表示当前MFCC_Δ相邻两项的关系,可体现交叉双脚步声相邻3帧的动态关系.
单个领域的特征只代表有限信息,为使模型学习更加平衡,从2个融合特征方向进行考虑.1) MFCC+T;2) MFCCs,MFCCs=MFCC+MFCC_Δ+MFCC_Δ2.为便于比较,融合特征维度保持一致,取36维.其中,MFCC+T由MFCC∶T=30∶6组成;MFCCs由MFCC∶MFCC_Δ∶MFCC_Δ2=12∶12∶12组成.wetdirleaves和wood_r的MFCC,MFCC_Δ,MFCC_Δ2的特征对比,如图5所示.
(a) wetdirleaves (b) wood_r 图5 wetdirleaves和wood_r的MFCC,MFCC_Δ,MFCC_Δ2的特征对比 Fig.5 Characteristics comparison of MFCC, MFCC_Δ, MFCC_Δ2 of wetdirleaves and wood_r
3 实验分析
3.1 实验数据
为了研究室外人体脚步声活动事件和环境的联合识别,构建一个数据集,其相关资料,如表1所示.通过学习数据本身的性质实现事件和环境的联合识别.
表1 数据集的相关资料Tab.1 Relevant information of data set
图6 脚步声数据分布 Fig.6 Footstep data distribution
通过交叉脚步声分割的方法,得到模型的输入数据,切割后的脚步声数据分布,如图6所示.图6中:b为脚步声数据的数量.由于脚步声的类周期性,实验数据不需要非常大.数据类型分为11类,共586个脚步声数据.为了增加模型的泛化能力,胜任多任务识别,采用的数据类别和数量都是特定选取的,数据类标签带有_r的表示跑步状态,其他表示行走状态.该设计可保证模型能从脚步声中区分多种环境.特别的,如wetdirleaves和wetleaves这两种类别的脚步声较为相似,需仔细聆听才能区分出两种脚步声的场景.此外,选取一组wood场景下,活动类型为跑步和行走的脚步声,用于训练模型活动类别的区分能力.数据集特别选取了两对场景相似的跑步和行走状态的脚步声(wetsones_r/wetsand,ice_r/mud),以保证模型能够在区分活动类型的同时也能区分相似的活动场景.
3.2 实验方法
脚步声对象本身相对较简单,重点在于设计融合特征,在保证较高精度的前提下,实现事件和环境
图7 卷积模型 Fig.7 Convolution model
的联合识别.适合的融合特征设计能够简化任务,采用较为简单的模型即可达到多任务识别的要求.建立如下3种较为简单的深度学习模型,对室外脚步声事件和环境进行联合识别.
1) 四层感知机(MLP)模型(无状态分类算法).每个隐层神经元个数为50,激活函数采用ReLU,输出层采用Softmax.
2) 卷积(CNN)模型(无状态分类算法),如图7所示.图7中:Max_pooling层后Dropout设置为0.3.
3) 循环神经网络(GRU)模型(有状态分类算法).在任务中,实验处理得到交叉双脚步声数据,针对活动事件的识别,提取的特征与时间密切相关,采用有状态分类算法门控循环单元网络完成任务,单个隐层神经元个数为50.同时,与前两种无状态分类算法进行比较.
采用3种模型进行实验对比.学习率为0.01,batch_size为200,迭代次数为1 000次.
3.3 实验结果
对交叉双脚步声数据提取两种融合特征MFCC+T,MFCCs,分别采用3种模型训练,进行联合识别.从实验结果中统计11类数据的真正例(TP)、假正例(FP)、真反例(TN)及假反例(FN),得到分类结果的混淆矩阵.定义查准率P、查全率R及F1分数分别为
(9)
(10)
(11)
不同模型的MFCC+T,MFCCs融合特征分类精度,如表2,3所示.表2,3中:δ为分类精度.由表2,3可得以下3点结论.1) 两种融合特征起到很好的识别效果.2) 相较于MLP模型、GRU模型,CNN模型的建模效果更加突出.同时,MFCC+T比MFCCs表现得更加稳定,这是因为除了MFCC特征,还额外从事件的角度上提取特征T,融合特征MFCC+T一方面保证了分类精度,另一方面,使分类模型在事件和环境上建模平衡.3) 在MLP模型下,MFCCs的效果最差,其对文中数据集相似环境的区分效果不佳,这是由于增加任务复杂性后,设计的数据中部分环境容易混淆.混淆矩阵(图8,d为识别结果的实际数量)中wetleaves,wetdirleaves的识别效果最差,两类环境非常相似.相较而言,采用CNN模型后,MFCC+T能达到最佳效果.实验中发现GRU模型在迭代多次后才开始收敛,虽然收敛速度最快,但非常不稳定,效果一般.此外,MFCC+T可在无状态分类算法中起到比有状态分类算法更好的效果.
由实验可知,原始室外人体脚步声经过交叉双脚步声分割后,提取事件与环境的融合特征,采用较为简单的深度模型就能实现室外人体脚步声事件与环境联合识别.
表2 不同模型的MFCC+T融合特征分类精度Tab.2 Classification accuracy of MFCC+T fusion feature of different models
表3 不同模型的MFCCs融合特征分类精度Tab.3 Classification accuracy of MFCCs fusion feature of different models
(a) MFCCs(MLP模型) (b) MFCC+T(CNN模型)图8 混淆矩阵 Fig.8 Confusion matrix
4 结束语
提出一种室外人体脚步声事件及环境联合识别的多任务学习方法,对提出的复杂相似环境下的人体跑动和行走脚步声数据设计分割算法,得到交叉双脚步声数据,从而便于脚步声事件及环境特征的提取,通过融合事件与环境特征平衡任务,能够用简单的模型较精准地实现室外人体脚步声事件及环境的联合识别.由此可知,部分联合识别任务从预处理和特征融合的角度出发,可采用简单模型实现精准识别,简化任务.