基于骨导麦克风数据的咀嚼发音类型自动识别与分类方法

2022-10-17 10:53更太加张新意魏建国
声学技术 2022年4期
关键词:马尔可夫特征参数语音

更太加,张新意,魏建国,

(1.青海民族大学人工智能应用技术国家民委重点实验室,青海西宁 810007;2.天津大学智能与计算学部,天津 300350)

0 引言

健康的饮食可以使人们获得充足的营养,同时也可以预防一些疾病。饮食和健康是息息相关的,所以人们也越来越注重饮食习惯。现代社会,人们承受着生活和工作的双重压力,再加上不健康的饮食习惯,处于“亚健康”状态的人越来越多。健康问题也逐渐成为研究热点。研究人员正致力于将计算机技术、生物医学技术和物联网技术紧密结合,开发出更加精确便利的系统来监控、指导人们的饮食和健康状况。

为了降低饮食习惯不规律的风险,需要对人们的进食进行计划和评估从而保持健康饮食。通常情况下,医护人员通过采访来检查人们的健康状态、记录饮食数据。但是,这种方法存在一个问题,得到的数据准确率通常很低。通过监测人们的口腔运动,可以间接监测人们的饮食习惯,例如咀嚼次数、咀嚼频率等都会影响着人们的饮食和健康。在分析健康饮食行为的领域,Woda等研究了在摄入固体食物过程中咀嚼过程的重要性,认为咀嚼频率是诊断健康饮食行为的一个关键参数[1]。

2013年,台湾大学资讯工程系的研究员研发了一款牙齿传感器Tattletale,这款传感器可以放入假牙的传感装置,实时监控用户的口腔活动以及饮食状况[2]。Tattletale装置将有望应用于健康护理方面,用来监测人们的咀嚼、吸烟、讲话以及咳嗽等活动。装置中有内置的加速度计,智能手机可以接收其上传的信息,用于口腔活动的数据分析,准确程度高达94%。2014年,一款名为BitBite的产品进入了人们的视野。它通过收集和分析人们咀嚼食物发出的声音,来监测用户的咀嚼习惯[3]。其工作原理是通过内部的麦克风、传感器,把传感器收集的信息,发送到智能手机上。经过算法处理咀嚼食物时所产生的音频信号,最终判别所吃的食物类型。不仅如此,它还能记录咀嚼的间隔和吃饭的速度。应用程序能可视化显示这些信息,生成一系列图表和报告,提醒用户咀嚼习惯和饮食习惯是否健康。应用程序有多种判断标准,比如咀嚼质量、咬合数,以及摄入的热量等,最后应用程序还可以提供关于饮食习惯和热量摄入的建议。2016年,德国帕绍大学研发了一款新颖的设备“节食眼镜”,一般的眼镜主要是改善视力或者保护眼睛,但是这款设备可以对所食用的食物进行分类[4]。它的工作机制是采用机器学习技术来处理收集到的数据。对于不同种类的食物,人们的咀嚼力度是不一样的,例如饼干需要的咀嚼力量会小一些,而牛轧糖需要的咀嚼力量会比大一些,因此收集到的肌电图信号也不同,使用机器学习算法来处理这些数据,从而判别食物的种类。目前,这款眼镜还处于研究阶段。

以往的研究方法成本较高,硬件也较复杂,没有对食物咀嚼做骨导麦克风数据的咀嚼音识别。骨导麦克风对振动敏感,能够很好地排除环境噪声对实验数据采集的影响,而且其体积相对小巧,便与用户携带,固定性好。本文通过骨导麦克风数据对咀嚼声音的类型进行判断,从而指导人们的健康饮食习惯。

本文从咀嚼音的发音机制、骨导音的传导机制、隐马尔可夫模型、骨导音数据采集,实验和实验结果等方面介绍了基于骨导麦克风数据下的咀嚼发音类型分类方法。

1 咀嚼音的发音机制

发声运动主要借助于能够发音的器官相互协调配合。另外在发声时声道内空气特性也会发生变化。在日常的生活中,我们会通过说话进行交流,感冒身体不舒服时会发出咳嗽的声音,吃东西的时候会发出咀嚼的声音。说话、咳嗽、咀嚼、安静是最常见的口腔运动。食物材质不同,类型不同,发出的咀嚼音也不相同。看起来杂乱无章的咀嚼运动,其实也相对比较有规律,例如牙齿周期性地研磨食物,舌头和牙齿配合使食物在口腔中不断被磨碎,由此形成的咀嚼音也比较有规律。本文主要研究口腔运动中咀嚼音的识别。

2 骨导音的传导机制

声音的产生来源于物体的振动,身体内声音的传导主要分为两种类型,气传导和骨传导。在气传导的过程当中,声波依靠空气传播至人的外耳道,再通过外耳道传导至鼓膜,受到声波的影响,鼓膜发生振动,振动的声音经过听小骨,引起听小骨振动,接着将振动传导至内耳,这些声音信号进入耳蜗,刺激耳蜗内的组织器官,使之发生神经冲动,神经冲动通过身体相应的细胞组织进行传播,最终传导至大脑皮层上的听觉中枢,最后人们感受到了声音。还有一种通过骨传导的声音信号,由于传导介质是骨头,所以传导的速度更快。骨导语音与气导语音信号均由同一发声源产生。两者最大的不同在于声音传输路径的不同,气导语音是激励信号经过声道调制后再经过口腔、鼻腔等辐射最终形成的语音信号。骨导语音则可看成激励信号经过人体内部骨头、组织等路径传输形成的语音信号[5]。

3 隐马尔可夫模型

3.1 隐马尔可夫模型简介

1970年前后,Baum等建立了隐马尔可夫模型(HiddenMarkovModels,HMM)的理论基础[6]。后来,研究人员将隐马尔可夫模型引入到语音识别过程中,打开了隐马尔可夫模型在语音识别领域的大门。在20世纪80年代中期,更多的研究人员扩大了隐马尔模型的研究范围。隐马尔可夫模型算法比较成熟,效率比较高,在语音识别领域应用比较广泛[7-9]。同时隐马尔可夫模型也存在一定的缺点,即它需要建立一个较大的训练库,识别过程中的运算量较大[10]。

HMM和一阶马尔可夫(Markov)过程的不同之处在于HMM由两个随机过程组成,一个是状态转移序列,另一个是每次状态转移时输出的符号组成的符号序列[11]。图1是三个状态的隐马尔可夫模型状态转移图。其中:X1、X2、X3代表了隐含状态序列,y1、y2、y3代表了可观察的输出,a12、a23、a32、a21代表了状态转移概率,b1、b2、b3代表了输出概率。

图1 三个状态的隐马尔可夫模型状态转移图Fig.1 State transition graph of hidden Markov model under three states

隐马尔可夫工具包(Hidden Markov Toolkit,HTK)是构建隐马尔可夫模型的工具包,隐马尔科夫模型可用于对任何时间序列进行建模,HTK的核心具有与其一致的目的。然而,HTK主要是用来构建基于隐马尔科夫模型的语音处理工具,特别是构建识别器。因此,HTK的大部分基础架构支持都致力于这项任务。作为最常用的语音处理工具集之一,HTK的实现方法在业界十分具有影响力。它具有语音识别和合成源代码的开放性过程,而且它还为了大众提供了开发新的语音识别工具的全部过程。

隐马尔科夫模型可以由以下元素组成:

(1)模型中的状态数N。虽然状态是隐藏的,但对于许多实际应用来说,通常会对可观状态或模型状态集合具有某些程度上的物理意义。例如遍历模型那样,通常情况下,各状态之间可以通过某种连接相互到达。我们将各个状态表示为S={s1,s2,...,sn},时间t的状态为q1。

(2)每个状态的不同观察符号的数量M。观测符号对应于被建模的系统的物理输出。我们将各个符号表示为V={v1,v2,...,vm}。

(3)状态转移概率分布矩阵A={aij},其中,aij如式(1)所示:

对于任意状态可以在单个步骤中达到任何其他状态的特殊情况,对于所有i,j,我们有aij>0。对于其他类型的HMM,对于一个或多个(i,j)对,有aij=0。

(4)状态j的观测符号概率分布矩阵B={bj(k)},如式(2)所示:

(5)初始状态分布π={πi},其中πi式(3)所示:

最终对于给定N、M、A、B和π的适当值,HMM可以用作发生器来给出观测序列:O=O1O2……OT,其中每个观察值OT是来自V的符号之一,T是序列中的观测次数.

4 数据处理与准备

4.1 骨导音数据的采集与准备

在建立口腔运动信号数据库时,使用骨导麦克风采用单声道模式采集咀嚼信号,采样频率为16 000Hz。在数据采集过程中,共采集了20名不同的实验人员的咀嚼音信号,实验人员没有明显的面部偏斜、颞颔关节症状等严重影响咀嚼的病症,其中男生16人,女生4人,年龄分布为:10~20岁5人,20~30岁25人。每个实验人员录制的内容包括软咀嚼(咀嚼米饭)、硬咀嚼(咀嚼花生)、口香糖咀嚼(咀嚼口香糖)和咳嗽声音,每个内容每人录制10 min,每人骨导音采集持续约30 min。骨导音录制的内容如表1所示。

表1 骨导音录制的内容Table 1 Content of the bone guided sound recording

4.2 骨导音数据的标注

要使机器正确地学习采集到的数据特征,需要提供正确的数据标注,算法在标注内容的监督下调整产生正确的模型。

根据本项目的需求,需要分别建立包括三种咀嚼音模型在内的五种模型,即软咀嚼、硬咀嚼和口香糖咀嚼、静音模型和咳嗽模型。对于软咀嚼,选择米饭作为实验材料,米饭的质地比较柔软,咀嚼发出的骨导音信号强度较小;对于硬咀嚼,选择质地相对坚硬的花生,因为质地较硬,产生的骨导音相对较强,不过质地较脆的食品在咀嚼初始阶段信号强度较大,被牙齿咬断磨碎后,食物粒度变小,信号强度随之下降,咀嚼类型由硬咀嚼变为软咀嚼,所以在标注时,对于硬咀嚼的不同阶段特征,要标注不同的信息;口香糖咀嚼是相对比较稳定的一种咀嚼状态,信号强度基本上不会随着咀嚼过程有太大变化,标注比较简单。除了咀嚼食物发出的咀嚼音之外,我们还要考虑人体触碰仪器所发出的噪声、周围环境的噪声和吞咽的声音,由于录音器材和贴附位置仪器与皮肤之间的摩擦等声音,所以需要将与咀嚼无关的声音进行标注。本项目采用praat软件对声音进行标注,最后确定的标注为软咀嚼(chs)、硬咀嚼(chh)、口香糖咀嚼(gum)、咳嗽(cou)、静音(sil)和其它(oth)。咀嚼信号的内容和标签如表2所示。

表2 咀嚼音数据标注内容和标签Table 2 Marking content and symbols of chewing sound data

根据praat软件,对以上咀嚼音数据进行标注,标注结果如图2~6所示,图2~6中上方的数据表示时长,单位s。

图2所示咀嚼米饭的咀嚼音标注过程是软咀嚼,标注为chs。图3表示咀嚼花生时的咀嚼音标注,咀嚼过程为硬咀嚼,标注为chh。图4表示咀嚼口香糖时的咀嚼音标注,咀嚼过程为口香糖咀嚼,标注为gum。图5表示咳嗽时的标注,标注为cou。图6为静音标注图,标注为sil。

图2 软咀嚼的咀嚼音标注图Fig.2 Annotation diagram ofsoft chewing sound during chewing rice

图3 硬咀嚼的咀嚼音标注图Fig.3 Annotation diagram of hard chewing sound during chewing peanuts

图4 口香糖咀嚼的咀嚼音标注图Fig.4 Annotation diagramof chewing sound during chewing gum

图5 咳嗽音标注图Fig.5 Phonetic notation of cough

图6 其他声音和静音标注图Fig.6 Phonetic notation of other sound and mute

4.3 骨导音特征参数提取

4.3.1 特征参数提取要求

骨导音存在很多冗余信息,一方面影响处理的速度,一方面加重存储的负担,所以需要把语音信号中最有用的信息提取出来,对其进行降维处理。特征参数最好具备以下要求[11]:

(1)提取的特征参数有代表性,不能失去语音信号的重要信息。

(2)各阶参数之间要相互独立,处理起来更加方便。

(3)提取特征参数的方法太复杂,需要控制计算量,提取方法要简单方便,这样才能使语音识别系统的实用性更强。

4.3.2 美尔频率倒谱系数

根据上述原则,本文采用了美尔频率倒谱系数(Mel Frequency Cepstrum Coefficient,MFCC)进行特征提取。MFCC结合了人耳听觉特性和语音生理的特征,相比LPCC更适合语音识别,是目前比较受欢迎的一种特征参数,且计算简便,能够比较好地区分帧与帧之间的特征参数[12]。

特征提取是提取音频信号中的部分信息使其能够代表原来的音频信号,把多余的信息去掉。人的听觉对所有频率的接收和处理是不同的。人耳类似于一个滤波器组,只让某些频率的信号通过。但这些滤波器不是均匀分布的,在低频区域滤波器较多,但人耳识别的低频信号更多,相比之下,高频区域的滤波器的数目较少,即人耳对高频信号的感知不足。提取的MFCC特征具有线性关系:即语音信号的Mel频率的差别与人耳识别的差别是一样的。图7是MFCC特征参数提取的过程。

图7 MFCC特征参数的提取过程Fig.7 The extraction process of MFCC characteristic parameters

对输入的数字语音信号进行预加权,其目的是为了对高频部分进行加权,增加语音的高频分辨率。一般通过传递函数H(z)的一阶FIR高通数字滤波器来实现预加权,传递函数H(z)为[13]

其中,μ为预加权系数,本文中所使用的预加权系数为0.97。和其他平稳信号相比,语音信号为非平稳信号,处理语音信号时,需要把语音信号进行平稳化处理[11]。人的发声器官振动会产生语音,这个振动比语音信号更加平缓,所以在短时间内(10~30 ms),可以把语音信号作为平稳信号来处理。基于这个前提,平稳信号的处理技术便可以应用于语音信号的分析和处理过程,所以第一步要对语音信号进行分帧。

分帧可以连续分段,但是由于帧与帧之间不能平滑过渡,一般情况下,采用交叠分帧法来保证帧与帧的连续性。前一帧与后一帧有部分重叠,帧与帧之间的重叠称为帧移。一般情况下,帧移的长度不会超过帧长的一半[11]。通过加窗处理,人们可以对某一窗内的序列进行分析,常用的三种窗函数为矩形窗、汉明窗和汉宁窗[13]。窗函数选取非常重要[13],就主瓣宽度而言,矩形窗最窄,其中汉明窗最宽,而两者的旁瓣高度正好相反,汉明窗应用最为广泛。

5 实验

5.1 实验数据

实验数据选用了自行录制的10个实验人员的全部478个咀嚼声音频样本。这些样本是采样率为16 000 Hz、时长为1~5 s不等的wav格式文件。

5.2 特征提取

本次实验采用了HTK工具包,HTK(HMM Tools Kit)是一个基于隐马尔可夫模型对语音信号进行分析处理的工具包。主要包括两个部分:库程序和工具,库程序是由众多开源C函数模块构成。

HTK提供的HCOPY可以依据用户给出的配置文件获取相应的特征参数。配置文件通常会定义编码类型、全频带系数的个数、预处理系数、加视窗的种类和大小等特征提取所需的参数。本文提取的特征参数是梅尔频率倒谱组合参数(MFCC_0_D_A),包括梅尔频率特征参数、MFCC一阶差分系数、MFCC二阶差分系数[9],在HTK中,通过HCopy函数提取MFCC特征参数。

5.3 骨导音识别

在完成隐马尔科夫模型的训练之后,就可以进行HMM的识别测试。训练已有的语音数据会产生相应的隐马尔科夫模型参数,通过维特比算法(Viterbi Algorithm)寻找出最佳的路径,计算得出数据字典和词网络形成的各种合法的模型序列概率,修改到最优标准,可以提高识别率。实验的总体环境为:采样频率为16 000 Hz,量化精度为16 bit,单声道模式。其中,MFCC参数为39维,39个滤波器,预加权系数0.96,使用汉明窗。

在HTK过程中,可以使用Hvite命令进行识别。HTK提供的HResluts工具可以进行结果分析,工作原理是首先由HVite识别出标识文件和参考标识文件,HResluts读入这两个文件,通过比较两个文本分别计算出文本中词汇被替换、删除和插入的错误的数量,然后计算出词汇和句子的识别率。HResluts使用动态编程技术对两个标注文本进行分析处理,然后将统计结果输出到指定位置。结果输出格式如图8所示。

图8 咀嚼音识别结果的输出格式Fig.8 Output format of chewing sound recognition result

图8中第一行表示通过与参考标识文件比较,得出语句级别的准确率RCor为0,因为本文没有使用句子级别的识别,所以识别率没有参考意义。第二行给出本文得到的结果,即单词级别准确率为84.70%,准确数目H=4 357,删除的标记的数目D=324,被替换的标记数目S=463,插入的标记数目I=232,录音文件中定义的标记的总数N=5 144。使用HResults工具可以对识别系统的识别水平进行有效的评估分析,可以方便地对比多次实验的结果。

准确数目H和其他参数之间的关系式为

单词级别的精确率可以表示为

6 结论

饮食状况直接影响着人们的健康,很多人饮食不规律再加上工作压力大、生活节奏快,导致了健康状况下降,于是人们越来越重视自己的饮食状况,因此,本文致力于监测人们的咀嚼活动来监测人们的饮食状况。本文共录制了20人的咀嚼音数据,并利用HTK工具包、基于隐马尔可夫模型对咀嚼音进行分析,识别出咀嚼音中的硬咀嚼、软咀嚼、口香糖咀嚼、咳嗽和静音。

通过音频文件的识别结果和结果分析可以得到以下结论:

(1)通过实验表明,可以通过隐马尔可夫模型分辨出软咀嚼,硬咀嚼以及口香糖咀嚼的音频。

(2)咳嗽的音频识别率较高,因为静音和咳嗽的特征明显区分于其他咀嚼音的特征。

本课题的研究结果可以为今后口腔运动以及医疗健康检查方面的研究提供可靠的数据和参考价值。但数据规模较小、音频场景单一等问题,今后将结合领域知识与深度学习技术进行更深入的研究。

猜你喜欢
马尔可夫特征参数语音
基于视频图像序列的船用雷达目标检测和目标特征参数提取
融合LPCC和MFCC的支持向量机OSAHS鼾声识别
面向电力系统的继电保护故障建模研究
魔力语音
基于MATLAB的语音信号处理
基于马尔可夫链共享单车高校投放研究
基于马尔可夫链共享单车高校投放研究
基于MQ3与MP3的价廉物美的酒驾语音提醒器
基于马尔科夫算法对预测窗户状态模型的研究
对方正在输入……