摘 要 本文通过对咳嗽声特性的分析,在对咳嗽声进行预处理后,提取咳嗽的Mel频率倒谱系数作为特征参数,建立咳嗽模板库。采用基于动态时间规整算法的模板匹配方法对特定人的孤立咳嗽进行识别,实验证明,通过将咳嗽声的特性和语音识别方法的结合,动态时间规整算法在对孤立咳嗽声识别中有很好的准确性和可靠性。
关键词 特征提取;Mel频率倒谱系数;动态时间规整;咳嗽声识别
1 引言
咳嗽是机体的一种保护性动作,以消除呼吸道的分泌物、渗出物及侵入呼吸道的异物
[1]。多数患者未能完整对自身的咳嗽特征进行描述,比如咳嗽的症状、发作时间、频率等,影响了咳嗽的及时诊断和合理。因此,有必要进行咳嗽的实时监测及其特征的识别。
至今这种对咳嗽严重性的评估,主要依靠主观措施,如咳嗽反射敏感性、患者对自身症状的感觉、咳嗽可视模拟测评、生活质量问卷、咳嗽症状描述和患者的日记等
[3]。 从而使大部分的咳嗽监测器的诊断受到人为的影响较大。
利用可靠的咳嗽检测算法可以减少大量需人工分析的数据,甚至可以做到去除人工分析的过程,因此,要提高咳嗽声识别系统的有效性,这就要求有一种算法能够识别出大部分在特定录音中的咳嗽声,同时又能够将它与其它的具有相似特性的声音区分开来。文章在了国内外关于咳嗽声识别的研究现状,并比较了咳嗽声识别与语音识别的关系,提出使用动态时间规整算法作为本文咳嗽声识别的主要算法。
2 基本定义
2.1 咳嗽发生机制
咳嗽表现为深呼吸气后,声门关闭,继而以突然剧烈的呼气,冲出狭窄的声门裂隙产生咳嗽动作和发出声音
[2]。
2.2 Mel频率倒谱系数[12](MFCC)
频率f与Mel频率B之间的转换公式为:

(1)
MFCC的提取及过程如图1所示。
(1)原始咳嗽声信号y(n)通过预加重、分帧、加窗处理后,得到每帧的时域信号x(n)。
(2)将得到的每帧时域信号进行离散傅立叶变换(DFT)。

(2)
其中,X(k)为线性频谱,N为DFT的窗宽。
(3)线性频谱经过Mel频率滤波器组处理后为M(t),然后对其进行对数能量处理,得到结果为d(m)。

图1 Mel频率倒谱系数(MFCC)提取过程

图2 通过Mel频率滤波器组得到Mel频谱
其中Mel频率滤波器组为在语音的频谱范围内设置的若干个带通滤波器

,M为滤波器的个数。每个带通滤波器的传递函数为:

(3)
f(m)可以用下面的方法定义:

(4)
其中,S
s为采样频率,而B
-1为B的逆函数:

,而滤波器的频率应用范围的最低频率为f=100Hz和最高频率为f =4000Hz,在实验中为了减少甚至消除交流电的影响,滤波器的个数取M=26,即可以得到26维的MFCC倒谱系数。考虑到让得到的结果对噪声和谱估计误差有更好的鲁棒性,将经过Mel滤波器组得到的Mel频谱取对数能量,其传递函数为:

(5)
(4)将上述对数频谱d(m)经过离散余弦变换(DCT)变换到倒频谱域,得到Mel频率倒谱系数(MFCC):

(6)
以上参数称为静态参数,为了描述咳嗽声帧之间的相关性,引入了动态参数一阶差分和二阶差分。
2.3 模版匹配技术[12]
模版匹配法是模式识别中最常用的一种相似度计算与匹配方法,把具有不同人的咳嗽声信号经过特征提取变换后作为不同的模版,构建一个基于模版匹配的简单的咳嗽声识别系统,如图3所示,是该咳嗽声识别系统的原理框图。

图3 基于模版匹配的咳嗽声识别原理框图
2.3.1 相似度度量
在基于模板匹配的咳嗽声识别系统中,对原始的咳嗽声信号进行训练得到一系列的特征模板,将其存储于模板库中。而在识别过程中采用相似度度量来进行模板匹配,将特征模板库中的各个模板称为参考模板,用R来表示;在模板库建好后,又将待识别的输入咳嗽声信号通过预处理和特征提取得到特征矢量序列,称为待检测模板,用W表示
[12]。
参考模板用R={R(1)、R(2)、……、R(m)、……、R(M)}表示,其中M为参考模板所包含的咳嗽帧的总数,r为咳嗽帧的时序标号,R(r)为第m帧的咳嗽特征矢量。
待检测模板用W={W(1)、W(2)、……、W(n)、……、W(N)}表示,其中N为参考模板所包含的咳嗽帧的总数,w为咳嗽帧的时序标号,W(w)为第n帧的咳嗽特征矢量。
待检测模板和参考模板之间的总体相似度可以用它们之间的失真来度量,从W、R中的每个对应帧之间的失真算起,假设r、w为W、R中的任意选择帧号,这两帧之间的帧失真表示为D[W(w),R(r)]。2.3.2 动态时间规整(DTW)
考虑到咳嗽声识别的过程中,进行训练或者识别时,即使每次尽量以同样的方式去录制一个咳嗽,其持续时间的长度也会随机改变,而且不同病人的咳嗽相对时长也时不可预测的。所以,需要对特征参数序列模式重新进行时间的对准,为了有效的解决这个问题,采用动态时间规整算法(DTW)。
动态时间规整算法是寻找一条通过各个交叉点的从起始点到终止点的帧失真度总和为最小的最佳路径,其路径搜索算法
[12]:
(1)初始化:


在搜索的过程中路径的选择不是任意的,一般对路径中各点处路径的斜率的最大和最小做出了规定,最大斜率为2,最小斜率为0.5。设定路径初始关系为(0,0),r=1,…,N,w=1,…,M。
(2)当

时,求

: ①求所有可能的w
i,满足限定条件:r
i=i且 (r
i,w
i)∈R ②遍历所有w
i,进行下列各步计算:

其中

(3)由d[N,M]即可得到路径的总失真度;
(4)由i=N时点(N,M)向前回溯,得到最佳路径:
若在回溯过程中出现

,那么终止算法。
3 验过程
首先针对特定人,采取了63个咳嗽声样本,运用多模板平均训练算法,其算法如下:
(1)设定最大模板失真阈值:a。
(2)从采集的咳嗽声样本集中取出样本,假设第一个咳嗽声样本形成的特征矢量序列为:Sample1={S1
1,S1
2,……,S1
n},另一个特征序列为:Sample2={S2
1,S2
2,……,S2
n},通过DTW算法它们的失真度,如果小于a,那么则转(3),否则转(2)。
(3)通过回溯法得到DTW搜索的最优路径序列:(r
1,w
1),(r
2,w
2),……(r
t,w
t)。
(4)新的模板取为Sample1、Sample2的时间规整后的平均,即:Sample={ Sample1,Sample2,……SampleL,……,SampleT},其中SampleL=0.5×(S1
L+S2
L)(L=1,2,……T)。
通过上述的算法,实验中用63个样本来训练,获得了7种类型的咳嗽声样本的模板。在采集特定人的咳嗽声样本时,也采集了其孤立的语音样本33个,同样运用这个算法训练20个样本,得到3个语音模板。在识别时,待识别的咳嗽声信号矢量序列用DTW算法分别求得与每个模板的总失真度,然后根据总失真度的大小来判断待识别咳嗽声接近哪个模板,即是属于哪一类咳嗽声或者是非咳嗽声。
4 实验结果
在实验中,采样频率为16000HZ,DFT的窗宽N=512,最大模板失真阈值a=0.45。其中模板1~模板7为咳嗽声模板,模板8~模板10是语音模板。如表1所示,输入待识别的信号为咳嗽声时,经过DTW算法后计算的得到失真度,选取最小的,即最接近模板1,是属于跟模板1类似的咳嗽。当输入的待识别信号为语音信号时,如表2可以看到,运用DTW算法进行比较,得到结果是跟模板8比较接近,即是属于语音类的信号。
表1 待识别信号为咳嗽声的识别结果 |
模板 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
失真度 | 1.3154 | 3.8826 | 4.2669 | 4.4524 | 4.4157 | 5.5385 | 4.9011 | 7.1392 | 4.9011 | 4.9011 |
表2 待识别信号为非咳嗽声的识别结果 |
模板 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
失真度 | 5.2275 | 3.8379 | 7.1947 | 7.8193 | 3.1395 | 7.9286 | 4.2015 | 2.14 | 4.2015 | 4.2015 |
在实验中,运用动态时间规整算法(DTW)对从病房采集同一个病人的96个咳嗽声和33说话声音进行训练和识别,其结果如表3所示。由于采集的咳嗽样本存在比较严重背景音的影响,因而识别率受到了的影响。
表3 DTW 算法识别结果 |
模板类型 | 咳嗽声类 | 说话声类 |
识别率% | 89.58 | 90.9 |
虽然咳嗽声的识别可以语音识别技术,但咳嗽声的识别与语音识别又有着不同。
(1)根据语音产生的离散时域模型,语音识别主要区分清音与浊音。清音是气流通过声道中狭窄缝隙形成湍流,造成噪声源;而浊音的声源则是气流通过声门时所产生的周期脉冲。由咳嗽的医学定义,咳嗽声是否更接近浊音,因其由大量气流通过声门而产生声音,因此是否可以通过引入其它生理特征信号,如呼吸流量等,与咳嗽信号一起作为识别参数,而得到更好的识别效果。
(2)在语音识别中,不同语音由不同的浊音表征,而不同的浊音又是以声道的不同来表征的。而咳嗽的机理原因是为把呼吸道的分泌物、渗出物及侵入呼吸道的异物排出,是否就可以判断其声道(即口腔)形状也是应相对固定,以使气流顺畅通过,因此是否可以得出咳嗽的识别比语音的识别简单。
6 结论
咳嗽的强度及其发生的频率在医学上具有很高的诊断价值,自动识别咳嗽声的系统能帮助医生更好地监护病人。本文探讨性地使用动态时间规整算法来实现对咳嗽声自动识别。实验中使用了Mel频率倒谱系数+ Mel频率倒谱系数一、二阶差分的结构来提取咳嗽的特征向量,然后使用动态时间规整算法对咳嗽进行训练和识别,结果为:咳嗽的正确识别率为89.58%,非咳嗽的正确识别率为90.9%。
由于我们的实验中训练数据不足,使得一些出现次数很少的观察矢量没有出现在训练数据中,从而直接影响了咳嗽的正确识别率。今后学习研究工作将集中在提高咳嗽的正确识别率,一方面从医院获取更多的训练数据,另一方面应进一步研究模型训练的方法和技术,通过以上的方法来提高咳嗽的正确识别率。最后建立计算机的专家系统,能辨认各种咳嗽特点的智能仪器,如分析刺激性咳嗽、喘息性咳嗽、上呼吸道疾病性咳嗽、下呼吸道疾病性咳嗽等,减少分析咳嗽对专家的依赖性。
参考
[1] Eugene Braunwald…[et al.] Harrison`s principles of internal medicine-15
th ed [M].北京:人民卫生出版社,2001[2] 陈文彬,潘祥林. 诊断学(第六版)[M].北京:人民卫生出版社,2004[3] 杨行峻,迟惠生等. 语音信号数字处理 [M].北京:出版社,1995[4] Q. Zhu,A. Alwan. Non-linear feature extraction for robust speech recognition in stationary and non-stationary noise. Computer Speech and Language,2003,381-402[5] S. B. Dais,P. Memelstein. Comparison of parametric representations of monosyllabic word recognition in continuously spoken sentences. IEEE Transactions on Speech and Audio Processing,1980,(28)4: 357-366[6] J. C. Wang,H. F. Wang,Y. S. Weng. Chip design of MFCC extraction for speech recognition. Intergatjion,the VLSI journal,2002,32: 111-131[7] H. Hermansky. Perceptual linear Predictive (PLP) analysis of speech. Journal of Acoustical Society of America,1990,87(4): 1738-1752[8] M. N. Murthi,B .D. Rao. All-pole modeling of speech based on the minimum variance distortionless response spectrum. IEEE Transactions on speech and audio processing,2000,8(3): 221-239[9] S. Dharanipragada,B. D. Rao. MVDR-based feature extraction for robust speech recognition. In Proc. ICASSP,2001,309-312[10] U. H. Yapanel,J. H. L. Hansen. A new perspective on feature extraction for robust in-vehicle speech recognition. Eurospeech,2003,1281-1284[11] Sergio Matos,Surinder S. Birring,Ian D. Pavord,and David H. Evans “Detection of Cough Signals in Continuous Audio Recordings Using Hidden Markov Models”[J].IEEE Transactions on Biomedical Engineering,vol.53,NO.6,pp.1078-1083,Jun 2006[12] 蔡莲红,黄德智,蔡锐. 语言技术基础与应用 [M].北京:清华大学出版社,2003[13] 赵彦平,赵晓晖. 孤立词小词汇量抗噪声语音识别方法的研究 [C] 吉林:吉林大学,2004