航天三维可视化系统中语音控制技术的研究与应用

2015-07-09 21:40朱俊等
现代电子技术 2015年8期
关键词:语音识别

朱俊等

摘 要: 语音控制技术作为一种有效的自动化控制方法在航天领域有着广阔的应用前景。基于Kinect设备,将语音控制技术运用于航天三维可视化系统的智能控制,通过语音指令采集、预处理、语音识别和三维可视化界面控制,实现了一套完整的航天三维可视化系统的语音控制方案。测试结果表明,该语音控制方案能有效识别用户的语音命令,并完成对三维可视化界面的控制。

关键词: 语音控制; 语音识别; 航天三维可视化; Kinect

中图分类号: TN912?34 文献标识码: A 文章编号: 1004?373X(2015)08?0151?03

三维可视化展示在航天领域有着极其重要的地位,指挥显示系统需要通过三维可视化展示向各级指挥员直观地显示航天器发射的过程。在实际应用中,传统的可视化控制方式是指挥员向可视化操作人员下达指令,然后由操作人员完成三维可视化系统的操作,包括视角的切换、推远、拉近以及关键动作的控制等。这种控制模式在很大程度上限制了指挥员对于三维可视化系统的自由控制,并且加重了三维可视化操作人员的工作负担。同时,传统控制模式不能实现远距离控制,指挥员的位置与三维可视化操控台要控制在一定的距离内。而语音识别技术能够很好地解决这些问题,通过语音识别技术,指挥员可直接向三维可视化服务器下达口令,无需通过操作人员进行控制,并能解除指挥员与操控台距离的限制。

语音识别技术是通过识别说话者声音标识而正确判断出声音所传递的信息,以方便实现相关处理和控制[1]。近年来该技术在军事、工业、家电、通信、医疗[2]等诸多领域得到广泛应用,如电灯等家用电器的控制,通过语音识别可以实现设备的控制自动化等[3]。张建等人将语音识别技术应用到雷达模拟系统中,通过设置语音服务器将内话通信系统与语音识别相结合,运用语音命令输入进行模拟控制,降低了模拟机长的工作负担,提高了工作效率[4]。孙爱中等人对基于DSP的语音识别系统进行了研究,实现了在移动电子设备上的汉字语音输入[5]。另外,语音识别技术在机器人控制[6]、机器狗控制系统模型[7] 方面也有应用。随着航空航天领域的发展,语音识别在机载语音控制方面也有相关研究[8]。

本文基于语音识别技术设计了一套航天可视化界面控制系统,通过识别三维可视化常用控制命令,实现指挥员对显示页面的直接语音控制,突破传统指挥控制模式的局限性。

1 系统结构

为实现通过语音技术对三维可视化页面完成视角切换、场景放缩等语音控制功能,设计了如下步骤:第一步通过语音采集设备获取指令;第二步运用语音识别系统对获取的指令进行识别;第三步将识别出的指令传递给三维可视化服务器并触发相应控制动作。

1.1 硬件结构

硬件设备主要包括三个部分(如图1所示):语音指令采集器、指令识别服务器和三维可视化系统服务器。语音指令采集器主要用于捕获语音指令,并将语音指令转换成音频流传递给指令识别服务器。

由于Kinect[9]在语音采集和识别方面有很多优良的特性和广泛的应用,这里选择了Kinect作为语音指令采集器。指令识别服务器的主要功能是对Kinect传入的音频进行预处理和语音指令的识别,并将识别出的控制指令发送给三维可视化系统服务器。预处理包括背景噪音去除、回音去除、自动增益控制等内容。由于语音控制指令相对简单,并且指令识别服务器只需要对几条固定的指令进行正确识别,所以对于计算机硬件要求不高。因此,采用一台普通的联想办公电脑作为指令识别服务器。三维可视化系统服务器要完成航天发射过程中各器件的三维模型和状态的展示,并响应从指令识别服务器获取的指令,完成三维可视化页面的操作和控制。由于三维可视化系统服务器在显示各航天器件的三维可视化模型和图像时计算资源开销比较大,所以采用了配置较高的联想工作站(ThinkStation D30)作为三维可视化系统服务器。

1.2 软件模块

系统软件模块主要包括语音预处理、语音指令识别、三维可视化界面控制三个模块。

(1) 语音预处理。从语音指令采集器获取的原始音频数据质量较低,需要通过一系列算法处理来提高音频数据质量,主要处理包括回声消除(Acoustic Echo Cancellation,AEC)、自动增益控制(Acoustic Gain Control,AGS)和噪声抑制(Noise Suppression,NS)。回声消除(AEC)通过提取发声者的声音模式,然后根据这一模式从麦克风接收到的音频中挑选出特定的音频来消除回声。自动增益控制(AGS)用于调整发生者声音振幅与时间保持一致。例如当发声者靠近或者远离麦克风时,声音会出现变得响亮或更柔和,自动增益控制就是将这种变化效果进一步增强。噪声抑制(NS)用于从麦克风接收到的音频信号中剔除非语言声音。通过删除背景噪音,使讲话者的声音能够被麦克风更清楚更明确地捕获到。

(2) 语音指令识别。语音识别可分为两类:对自由形式的语音识别(Recognition of Free?form Dictation)和对特定命令的识别(Recognition of Command)。自由形式的语音识别需要训练软件来识别特定的声音以提高识别精度,通常让讲话人朗读一段文字使得软件能够识别讲话人声音的特征模式,然后根据这一特征模式来进行识别。而特定命令的识别限制了说话人所讲词汇的范围,基于这一词汇范围,识别软件不需要熟悉讲话人语音模式就可以识别出讲话人所说的内容。针对本文的应用,语音识别引擎只需要识别几种特定的语音指令,因此属于对特定命令的识别。在实际应用中,向语音识别引擎中添加了6种三维可视化界面控制常用的语音命令,包括“打开”、“点火”、“重置”、“推远”、“拉近”、“切换”。语音识别引擎对上述6种指令进行识别,并向三维可视化界面控制模块发送控制信号。

(3) 三维可视化界面控制。三维可视化界面控制模块能够接受语音指令识别模块发送的6种语音指令,并触发每个指令所对应的事件,调用一些控制三维可视化界面的函数,实现对三维可视化界面的控制。例如,当接受到“打开”命令信号时,三维可视化界面控制模块触发“打开”所对应的事件,可视化界面会开始展示发射塔架抱臂打开的三维动画。

2 基于Kinect的语音控制系统

Kinect被誉为和鼠标一样伟大的人机交互方式,其提供的动作识别、手势识别和语音识别功能在医疗、教育、科研以及娱乐等多个领域都有令人惊叹的应用。针对航天三维可视化系统的语音控制这一实际需求,采用Kinect提供的强大语音识别功能来实现对航天三维可视化界面的智能控制。

Kinect配备有麦克风阵列用于采集用户的语音音频数据,其麦克风阵列包含4个相互独立的朝向下方的小型麦克风,能够捕捉多声道立体声音。值得一提的是,微软认为最佳的声音收集方向应该是朝下的。因此,Kinect设计了朝下的麦克风阵列用于尽可能地获取优质声音信号以及判断不同方向的声源。与普通单麦克风采集的数据相比,Kinect阵列技术包含了噪声抑制(NS)、回声消除(AEC)以及自动增益控制(AGS)等多种预处理,尽可能避免了环境噪声的影响,大大提高了采集的语音数据质量。正是因为Kinect在高质量地采集用户语音数据方面展现出来的优良性能,才促使在实际采集用户语音命令时选择Kinect作为语音采集设备。

为了方便开发人员基于Kinect进行开发,微软提供的Kinect SDK允许开发者借助Visual Studio,利用C++或C#等语言进行相关应用的开发[10]。针对本文涉及的语音指令识别应用,主要用到Kinect SDK中封装的KinectAudioSource和SpeechRecognitionEngine两个类。通过设置KinectAudioSource对象提供的功能属性NoiseSuppression、EchoCancellationMode和AutomaticGainControlEnabled的属性值,就可以很方便地

实现语音原始数据的预处理,具体属性值如表1所示。SpeechRecognitionEngine是基于Microsoft.Speech类库实现的语音命令识别,它可以分析和解译预处理后的音频数据流,然后匹配出最合适的语音命令。语音识别引擎会对音频数据流中的特定单元设定一定的可信度权重,并有选择地过滤不包含特定待识别命令的音频数据流。待识别命令集可以通过GrammarBuilder类进行建立和添加。在本文中,通过GrammarBuilder类添加了包含“打开”、“点火”、“重置”、“推远”、“拉近”、“切换”6种语音命令的待识别命令集,SpeechRecognitionEngine会查找和识别这6种语音指令,并向三维可视化界面控制模块发送相应控制信号。另外,Kinect SDK不支持中文语音识别,添加了微软中文语音识别功能,实现了基于Kinect中文语音指令识别。

3 实验结果与分析

为了检验本文设计的语音控制系统在航天三维可视化界面控制中的效果,选取了男女各一名,在不同噪声背景下,向语音指令采集设备发出6种语音命令20次,以测试是否正确控制界面。考虑到实际应用中,指挥员在下达控制口令时环境中可能存在不同程度的背景噪声,因此,在测试时设置三种不同强度的背景噪音,以检测本语音控制系统的抗噪能力。三种背景噪声非别设定为低噪音(20~40 dB)、中噪音(40~60 dB)、高噪音(60~80 dB)。详细测试结果见表2。

表1 KinectAudioSource类功能属性的详细信息

通过表2的测试统计数据可以看出,在各种不同条件下,运用语音识别技术对航天三维可视化系统进行控制均能够达到较高的正确率,能够满足航天领域的实际需求。其中,在低噪音下的控制正确率能达到90%以上,随着环境噪音增强,界面控制的正确率有所下降,这和最初的估计一致。考虑到实际发射时,现场环境的噪声不会太高,因此本语音控制系统的抗噪能力可以达到实际应用的要求。

4 结 语

本文研究了语音控制技术在航天三维可视化系统中的应用,并基于Kinect的语音处理和识别系统具体实现了对航天三维可视化界面的语音控制,取得了初步研究成果。目前,只实现了6种最常用的三维可视化界面语音控制,但随着航天三维可视化技术的发展,必然对三维可视化界面控制提出更高的要求,届时将进一步丰富和完善本文实现的语音控制系统。另外,随着语音控制技术进一步发展,将深入发掘该技术在航天领域的其他应用潜力。

参考文献

[1] SHANNON R V, ZENG F G, KAMATH V, et al. Speech recognition with primarily temporal cues [J]. Science, 1995, 270(5234): 303?304.

[2] HAWLEY M S, ENDERBY P, GREEN P, et al. A speech?controlled environmental control system for people with severe dysarthria [J]. Medical Engineering & Physics, 2007, 29(5): 586?593.

[3] 徐子豪,张腾飞.基于语音识别和无线传感网络的智能家居系统设计[J].计算机测量与控制,2012,20(1):180?183.

[4] 张健,谭景信.语音命令识别技术及其在雷达模拟机中的应用技术及其在雷达模拟[J].计算机工程与设计,2010,31(3): 655?659.

[5] 孙爱中,刘冰,张琬珍,等.基于DSP的语音识别系统研究与实现[J].现代电子技术,2013,36(9):76?78.

[6] ROGALLA O, EHRENMANN M, ZOLLNER R, et al. Using gesture and speech control for commanding a robot assistant [C]// Proceedings of 2002 11th IEEE International Workshop on Robot and Human Interactive Communication. [S.l.]: IEEE, 2002: 454?459.

[7] 闵华松,刘冬.王田苗智能机器狗的语音控制模型研究[J].计算机工程,2012,38(1):188?191.

[8] 须明,王博,王凯.驾驶舱语音控制指令的设计问题讨论[J].航空电子技术,2012,43(3):39?43.

[9] 余涛.Kinect应用开发实战:用最自然的方式与机器对话[M].北京:机械工业出版社,2012.

猜你喜欢
语音识别
空管陆空通话英语发音模板设计与应用
通话中的语音识别技术
面向移动终端的语音签到系统
农业物联网平台手机秘书功能分析与实现
基于语音识别的万能遥控器的设计
基于语音技术的商务英语移动学习平台设计与实现
基于Android手机语音和Arduino控制板的机器人控制系统
支持向量机在语音识别中的应用