2. 天津大学 软件学院, 天津 300072
2. School of Computer Software, Tianjin University, Tianjin 300072, China
如果机器人能够在运动过程中表现出很好的自动语音识别性能[1],就将使得人机交互变得更加自然[2-3]。在机器人运动过程中,自动语音识别系统处在一个非常低的信噪比环境。这是因为机器人会不可避免地产生自身噪声。自身噪声既包括了平稳噪声,如风扇/硬件噪声,也包括了非平稳噪声,如关节马达噪声。而且,自身噪声到机器人麦克风的距离要比目标声源近得多。由于自身噪声的干扰,自动语音识别对于运动中的机器人非常困难。
如果机器人能够在运动过程中表现出很好的自动语音识别性能[1],就将使得人机交互变得更加自然[2-3]。在机器人运动过程中,自动语音识别系统处在一个非常低的信噪比环境。这是因为机器人会不可避免地产生自身噪声。自身噪声既包括了平稳噪声,如风扇/硬件噪声,也包括了非平稳噪声,如关节马达噪声。而且,自身噪声到机器人麦克风的距离要比目标声源近得多。由于自身噪声的干扰,自动语音识别对于运动中的机器人非常困难。
关于机器人自动语音识别的研究,Nakadai等提出了使用两对麦克风的噪声消除法[4]:利用机器人内置和外置的麦克风分离内部噪声和外部声源,从而消除内部噪声的影响。然而,由于机器人内部反射作用,噪声是非线性的,这会影响定位和分离的准确性。Even等通过额外安装在机器人内部的传感器来检测噪声,使用半盲分离法对噪声进行估计[5]。但是,这需要对机器人进行硬件上的修改,额外增加的传感器也会加大计算开支,从而给CPU造成一定负担。传统的噪声估计技术[6-7]不太适用于机器人的自身噪声,因为从非平稳语音信号中检测出自身噪声非常困难,而且无法应对自身噪声改变速度快的问题。Ito等提出了一种利用神经网络来复制非平稳噪声的方法[8]。然而,他们专注于有限自由度的机器人;对于大数据集,神经网络训练速度慢而且线上自适应很难实现。Nishimura等利用机器人的动作指令,从库中找到预先录制好的动作噪声模板[9]。但是,这种方法的缺点在于无法找到未知动作的噪声模板;同时,这种方法不能很好地处理动作在时间以及轨迹上的动态改变。Ince等将关节、角度位置以及加速度等信息进行整合,进一步改善了基于模板库方法的有效性和准确度[10-11]。但是,此方法的实验平台是本田(HONDA) 的ASIMO机器人,ASIMO机器人的每个关节处都有传感器来分别处理关节信息,而且其具有强大的计算和存储能力,该方法对于计算能力和内存空间有限的机器人而言并不适合。
本文提出了一种基于机器人自身噪声环境的自动语音识别方法。该方法针对机器人的不同噪声种类进行估计和抑制,将谱减法(spectral subtraction, SS)、基于标注区域的倒谱均值减法(labeled area cepstral mean subtraction, LACMS)、关节噪声模板减法(joint noise template subtraction, JNTS) 以及多条件训练(multi-condition training, MCT) 结合起来,处理机器人自身的加性噪声、卷积噪声以及关节部分所产生的非平稳噪声。通过实验,本文证明了所提出的方法可以在有限的计算资源下减少机器人自身噪声对自动语音识别性能的影响,从而提高了自动语音识别的鲁棒性。
1 机器人自身噪声抑制本节根据机器人自身的噪声特点和种类,结合噪声抑制和噪声估计方法来处理机器人的自身噪声。
1.1 机器人自身噪声特点机器人的自身噪声既包括了平稳噪声,也包括了非平稳噪声。而且,这两类噪声是同时存在的。此外,由于机器人内部的反射作用,自身噪声中还包括卷积噪声。图 1展示了机器人自身环境下的语音样本。样本中包含了为CPU散热的风扇噪声、脖子部位的关节噪声、经过反射后叠加的噪声,以及中文词语“前进”。所需要处理的机器人自身噪声包含了平稳和非平稳加性噪声,同时还有经过反射作用后的卷积噪声。
1.2 加性噪声抑制
机器人散热风扇所产生的噪声为加性平稳噪声。在机器人进行语音识别过程中,人为地停止CPU散热风扇的转动是不现实的,这将导致CPU的散热出现问题,从而影响机器人的正常工作。因此,机器人自启动开始,语音样本中始终都会伴随CPU散热风扇的噪声。而且,通过对若干CPU风扇噪声的观测,本文作者发现每个样本中的风扇噪声等级都不相同,这是由于CPU处在不同温度而需要不同程度的散热造成的。图 2显示了不同幅度的风扇噪声。
根据机器人CPU散热风扇噪声的特点,谱减法[12] (spectral subtraction, SS) 引入的约束条件最少,物理意义最直接,运算量小,能够适用于机器人的运算能力。因此,本文采用谱减法,根据语音样本中初始的一段纯净噪声估计出风扇噪声的能量,进而对机器人的平稳风扇噪声进行抑制。
1.3 卷积噪声抑制由于机器人自身噪声存在于其身体内部,而且距离机器人身体外壳内壁的距离非常近,这就会产生反射现象,自身噪声的反射使得语音样本中存在卷积噪声。
倒谱均值减(cepstral mean subtraction, CMS) 法,又称为倒谱均值归一化(cepstral mean normalization, CMN) 法,由于其算法运算复杂度小,适于机器人的内存条件和计算能力,因此本文采用倒谱均值减法对卷积噪声进行处理。与此同时,倒谱均值减法不仅可以抑制机器人内部反射所造成的卷积噪声,而且还可以部分消除加性噪声处理后的剩余噪声[13],这是因为加性噪声在倒谱域造成的偏差能够被部分消除。
倒谱均值减法的关键在于倒谱均值的计算。由于语音样本中噪声的分布范围不平均,传统的倒谱均值是通过完整语音样本计算出来的全局均值,这会导致对不涉及噪声的部分过分处理,而对噪声相对集中的部分又处理不充分。因此,本文提出了基于标注区域的倒谱均值减法(labeled area cepstral mean subtraction, LACMS),根据语音标注文件,按照其对语音内容的标注,分区域计算倒谱均值(见图 1),从而能够对噪声进行更具针对性的处理。
1.4 非平稳关键噪声抑制在运动过程中,机器人会产生非平稳的关节噪声。通过对机器人关节噪声的采集,本文发现:每次关节做同一运动所产生的关节噪声都是近似相同的,关节噪声模板可以通过重复多次记录而得到[11]。因此,本文采用关节噪声模板减法(joint noise template subtraction, JNTS) 来处理机器人所产生的非平稳关节噪声。
首先,将每种关节噪声录制M遍。在录制的过程中,将每种噪声在时间上对齐,保证每一帧的同步对应,于是可以得到每种关节噪声的平均频谱,
$\bar N\left( {n,f} \right) = \frac{1}{M}\sum\limits_{k = 1}^M {N\left( {n,f} \right)} .$ | (1) |
其中:N(n, f) 为关节噪声,n为当前帧,f为当前频率。观察到的信号为
$Y\left( {n,f} \right) = S\left( {n,f} \right) + N\left( {n,f} \right).$ | (2) |
其中:S(n, f) 代表了语音信号,N(n, f) 代表了关节噪声。最终,要得到的语音信号为
${\left| {Y'\left( {n,f} \right)} \right|^2} \approx {\left| {Y\left( {n,f} \right)} \right|^2} - {\left| {\bar N\left( {n,f} \right)} \right|^2}.$ | (3) |
当实际关节噪声的频谱大于平均关节频谱时,Y′(n, f) 在包含了需要信号的同时,还包含了残留的关节噪声。为了抑制残留的关节噪声的影响,在特征参数提取的过程中,本文使用之前提出的基于标注区域的倒谱均值减法来消除残留关节噪声。
此外,本文将所记录的机器人关节噪声加到纯净的语音中去,通过使用多条件训练(multi-condition training, MCT) 得到加了关节噪声的声学模型,从而提高消除方法对关节噪声的鲁棒性。
2 实验方法本文实验过程使用的实验平台为2台Aldebaran Robotics的NAO机器人(见图 3)。用于采集数据的设备是NAO机器人头部前方的麦克风。
实验中的语料库包括了50个指令性汉语普通话音素平衡孤立词。其中包括16对单字词、18对双字词、8对三字词以及8对四字词。每个词的持续时间为1.5~2 s。训练集包括7个人(4男,3女) 的数据,测试集包括3个人(2男,1女) 的数据。噪声数据包含距离麦克风最近的、最具代表性的3种:NAO机器人头部CPU散热的风扇噪声、脖子关节的噪声以及胳膊关节的噪声。为了避免其他环境噪声的干扰,整个数据采集过程在静音室中完成。
3 结果表 1展示了采用不同技术以及技术组合方法在不同自身噪声环境下(全部自身噪声、风扇噪声、胳膊以及脖子关节噪声) 的自动语音识别结果。为了证明本文所提出方法的有效性,本文将谱减法、倒谱均值减法以及多条件训练组合起来作为基线方法(baseline method)。
技术及组合方法 | 孤立词识别正确率/% | |||
全部自身噪声(信噪比/dB: -7.28) | 风扇噪声(信噪比/dB: -6.55) | 胳膊关节噪声(信噪比/dB: -2.22) | 脖子关节噪声(信噪比/dB: -6.08) | |
技术1:SS | 68.88 | 94.11 | 88.48 | 24.14 |
技术2:CMS | 70.68 | 92.16 | 80.50 | 39.43 |
技术3:LACMS | 77.48 | 92.86 | 80.55 | 59.00 |
技术4:MCT | 81.18 | 92.11 | 86.93 | 64.83 |
基线方法:SS+CMS+MCT | 83.27 | 92.16 | 87.13 | 64.95 |
方法1:SS+LACMS+MCT | 84.42 | 93.70 | 88.80 | 71.15 |
方法2:SS+LACMS+ JNTS+MCT | 91.52 | 94.16 | 93.86 | 86.64 |
图 4和5分别展示了采用谱减法以及关节噪声模板减法处理风扇噪声的前后对比。图 6展示了本文提出的基于标注区域的倒谱均值减法与传统基于全局的倒谱均值减法的对比结果。
从图 4可以看出,通过采用谱减法,NAO机器人的CPU散热风扇所产生的噪声可以得到很好的抑制。这也很好地证明了采用谱减法来应对处在不同幅度级别的平稳的加性噪声的有效性。图 5的语音样本表明,本文所采用的关节噪声模板减法可以很好地减少NAO机器人非平稳关节噪声的影响,突出语音信息,这说明了关节噪声模板减法的有效性。
从表 1可以看出,相比于基线方法,本文所采用技术组合方法,无论是在所有噪声样本下还是在风扇背景噪声以及胳膊、脖子关节噪声下,语音识别率都有相应提高。其中,识别效果最好的是将噪声抑制与噪声估计相结合起来的方法2 (SS + LACMS + JNTS + MCT)。这很好地证明了所采用技术组合的针对性:谱减法(SS) 能够有效处理不同等级的平稳的加性风扇背景噪声,关节噪声模板减法(JNTS) 可以很好地处理非平稳关节部位的加性噪声,基于标注区域的倒谱均值减法(LACMS) 不但可以处理由于反射作用造成的卷积噪声还可以对残留的加性噪声有抑制作用,以及多条件训练(MCT) 可以增加声学模型对于所有噪声的鲁棒性。
另外,图 6的结果表明了所提出的基于标注区域的倒谱均值减法(LACMS) 要好于传统的基于全局的倒谱均值减法(CMS)。基于标注区域的倒谱均值减法可以很好地应对语音样本中噪声分布范围不平均的情况,根据不同的标注区域来计算均值更具有针对性。
4 总结本文根据NAO机器人自身噪声的特点和种类,提出了一种机器人自身噪声环境下的自动语音识别方法。该方法将噪声抑制与噪声估计相结合,谱减法抑制了不同振幅的平稳风扇噪声,关节噪声模板减法和多条件训练估计并抑制了非平稳的关节部位的噪声,基于标注区域的倒谱均值减法处理了噪声在机器人体内由于反射所产生的卷积噪声以及残留的加性噪声。一系列实验证明,本文提出的方法可以有效地提高机器人在自身噪声环境下的自动语音识别的鲁棒性。
[1] | Ince G, Nakadai K, Rodemann T, et al. A hybrid framework for ego noise cancellation of a robot[C]//2010 IEEE International Conference on Robotics and Automation (ICRA). Piscataway, NJ:IEEE Press, 2010:3623-3628. |
[2] | Breazeal C L. Designing Sociable Robots[M]. Boston, MA: MIT Press, 2004. |
[3] | Miwa H, Okuchi T, Itoh K, et al. A new mental model for humanoid robots for human friendly communication introduction of learning system, mood vector and second order equations of emotion[C]//Proc 2003 IEEE International Conference on Robotics and Automation (ICRA). Piscataway, NJ:IEEE Press, 2003, 3:3588-3593. |
[4] | Nakadai K, Lourens T, Okuno H G, et al. Active audition for humanoid[C]//Proc of the 17th National Conference on Artificial Intelligence and 12th Conference on Innovative Applications of Artificial Intelligence. Palo Alto, CA:AAAI Press, 2000:832-839. |
[5] | Even J, Sawada H, Saruwatari H, et al. Semi-blind suppression of internal noise for hands-free robot spoken dialog system[C]//Proc 2009 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS). Piscataway, NJ:IEEE Press, 2009:658-663. |
[6] | Cohen I, Berdugo B. Speech enhancement for non-stationary noise environments[J]. Signal Processing, 2001, 81(1): 2403–2418. |
[7] | Cohen I, Berdugo B. Noise estimation by minima controlled recursive averaging for robust speech enhancement[J]. IEEE Signal Processing Letters, 2002, 9(1): 12–15. DOI:10.1109/97.988717 |
[8] | Ito A, Kanayama T, Suzuki M, et al. Internal noise suppression for speech recognition by small robots[J]. IEICE Technical Report Speech, 2005, 105: 43–48. |
[9] | Nishimura Y, Ishizuka M, Nakadai K, et al. Speech recognition for a humanoid with motor noise utilizing missing feature theory[C]//2006 6th IEEE-RAS International Conference on Humanoid Robots. Piscataway, NJ:IEEE Press, 2006:26-33. |
[10] | Ince G, Nakadai K, Rodemann T, et al. Incremental learning for ego noise estimation of a robot[C]//2011 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS). Piscataway, NJ:IEEE Press, 2011:131-136. |
[11] | Ince G, Nakadai K, Rodemann T, et al. Ego noise suppression of a robot using template subtraction[C]//Proceedings of the 2009 IEEE/RSJ International Conference on Intelligent Robots and Systems. Piscataway, NJ:IEEE Press, 2009:199-204. |
[12] | Boll S. Suppression of acoustic noise in speech using spectral subtraction[J]. Processing IEEE Transactions on Acoustics Speech & Signal, 1979, 27(2): 113–120. |
[13] | Viikki O, Bye D, Laurila K. A recursive feature vector normalization approach for robust speech recognition in noise[C]//Proc 1998 IEEE International Conference on Acoustics, Speech and Signal Processing. Piscataway, NJ:IEEE Press, 1998, 2:733-736. |