语音交互正在被视为用户在未来很多场景下的主要流量入口之一。因此,寻求可靠有效的远场语音技术突破变成了当下工业界和学术界的迫切需求。一个经典的语音识别系统包含麦克风信号采集模块、信号处理模块以及语音识别模块。每个模块的处理方法都会影响最终的识别效果。

具体来说,目前远场语音识别的技术难点主要集中在以下4个部分:

第一个是多通道同步采集硬件研发;

第二个是前端麦克风阵列信号处理算法研发;

第三个是后端语音识别与前端信号处理的匹配;

第四个是前端和后端联合优化。

首先,多通道麦克风阵列技术已经被证明可以显著提升语音识别质量。当信号采集通道数足够多时,需要额外研发多通道同步技术。并且,目前消费电子上很少有集成多个麦克风的情况,相关研究成果很少,这也增加了该硬件方案的研发难度。

然后,在语音识别系统中,我们也要重点关注麦克风阵列信号处理算法设计的问题。如上图所示,远场语音识别主要面临着回声干扰、室内混响、多信号源干扰以及非平稳噪声的干扰等。关于语音增强方面,目前存在着两个主要的技术流派:一派认为利用深度学习的方法可以实现去混响、降噪声的目的。另外一派则采用基于麦克风阵列的传统信号处理方法。从目前的产品上看,麦克风阵列信号处理的方式占主流应用市场。例如:Echo采用7个麦克风,叮咚采用8个麦克风, Google home用了2个麦克风。本文主要阐述传统信号处理方法在远场语音识别中所面临的困境。

针对回声干扰问题,需采取回声消除技术,将设备自身播放的声音从麦克风接收到的信号中除去。该技术在手持移动端上已经非常成熟,比如speex和webrtc的开源软件中都有该算法。但是,这两个方案为了达到更大的回声抑制效果,使用了大量的非线性处理手段。而语音识别引擎对于语音信号的非线性处理非常敏感。因此,如果直接将近场回声消除技术用在远场语音识别领域,效果并不好。

房间混响是远场语音识别特有的问题。房间混响会造成麦克风接收到的信号有很长的拖尾,让人听起来感觉发闷。在实际中,人耳具有自动解混响的能力,在实际房间中相互交流并没有影响反而觉得声音饱满。但是这个对于语音识别来说是致命的。之前主要是近场识别,对去混响的需求不大,相关的研究内容不多。目前去混响技术主要以逆滤波方法、倒谱平均、谱减法为主,但这类方法对远场语音识别率提升不大。多步线性预测方法在去混响中表现不错,有兴趣的可以尝试一下。

多源信号干扰检测问题又称作“鸡尾酒会”问题。语音识别系统需要能够同时跟踪多个声源,且对每个声源都能够单独做处理。例如,对于某个目标源来说,其他信号源都是干扰,必须从接收信号中去除。或者将多个信号源同时进行识别输出,盲源分离需求对语音识别系统提出了巨大的挑战。谷歌在Google IO 2018大会上展示了能够同时识别2个人说话的技术,有兴趣的可以去找找相关的技术文献。

可以利用波束形成方法抑制非平稳噪声。在做波束形成之前需要先知道说话人的方向,这就需要对波达方向进行估计。学术界一般研究如何提高测向的精度和分辨率,但这些指标在实际中意义不大,实际中更需要解决如何在混响条件下提高DOA估计的鲁棒性。知道方向之后,就可以做波束形成,抑制周围的非平稳噪声。麦克风阵列增益和麦克风的数目与间距(满足空间采样定理)成正比,但是由于消费产品价格和尺寸的限制,麦克风的个数和间距有限,这个对算法的设计也提出来新挑战。

相对于近场语音识别来说,远场识别所面临的挑战主要是由复杂的信号传播环境引起的。因此,对于语音信号研究者来说,非常基础且重要的工作是对声音传播环境进行精准的建模。这个模型不光有助于我们认识信号衰减特性,能够设计出具有针对性的语音信号增强算法。而且,还可以借助这个模型,快速生成大量的远场语音数据用于识别端的声学模型训练,有助于解决远场语音数据难采集难的问题。

语音识别引擎对于语音信号的非线性处理非常敏感。相对于残留的背景噪声来说,语音失真程度对语音识别率起着主要的影响。前端信号处理中的非线性算法可以显著提升我们人耳的听觉效果,但是对于识别来说却会带来致命的影响。所以,对于信号处理的每个流程,我们都要结合前端和后端一起来评估信号处理算法的应用价值。而且,目前做前端和后端的人员往往属于不同的团队,所了解的知识大都有局限性,很难出一套前端后端联合设计的方案。

其次,语音识别引擎要和前端匹配。为了提升远场语音识别性能,需要用远场的语音数据训练声学模型。因为前端的信号处理和后端识别是联合使用的,所以,最佳的方法就是利用麦克风阵列采集的信号经过前端信号处理算法处理后的数据去训练语音识别引擎,效果应该会有大幅提升。同时,远场语音数据库不容易采集,如何通过信道传播模型生成包含干扰的信号来扩充数据库也是亟需研究的问题。

最后,综合上面来看,我个人觉得我们还有必要将前端信号处理和后端识别放在一个整体的框架下去做。主要方向可以考虑以下3点:

• 根据后端语音识别需求,重新评估前端信号处理模块的设计要点;

• 前端和后端进行联合设计,利用后端的神经网络来弥补前端信号处理算法性能不足的问题。尤其是当前端阵列尺寸受到限制,阵列增益有限的情况下;

• 目前的识别流程是先处理,再识别。这种方法的性能上界只能由前端和后端算法的性能的上界决定。然而,算法性能提升总是有限的,所以依靠算法去解决人机交互中的各种问题不是永远有效的。是否可以借助事先确定说话人身份的识别机制(识别+合理的猜测)来提升识别效果。

以上是我个人最近在从事相关工作中的一点感想,欢迎各位读者对上面的观点进行纠正与补充。上面所有的问题都是开放性的,我也再不断思考以上问题,期望各位读者能给出更好的解决方案。

本文转自:知乎 - liang wang,转载此文目的在于传递更多信息,版权归原作者所有。

原文链接:https://zhuanlan.zhihu.com/p/43279047

远场语音识别面临的瓶颈与挑战相关推荐

  1. 智源深度 | NLP 面临的三大真实挑战(含视频)

    自然语言处理一直被誉为人工智能皇冠上的明珠. 一方面,实现语言智能十分艰难.尽管机器人在电竞.围棋等方面频频超越人类,但目前的系统仍无法达到三.四岁孩童的语言和理解能力. 另一方面在于自然语言处理本身 ...

  2. 腾讯AI Lab:AI辅助诊疗系统面临的三大技术挑战

    感谢阅读腾讯AI Lab微信号第25篇文章.腾讯AI Lab总监杨巍4月12日在重庆召开的「2018中国互联网+数字经济峰会」上发表了主题为「人工智能辅助诊疗系统面临的三大技术挑战」的演讲,介绍了AI ...

  3. 5G时代下,射频器件、PCB等电子元器件产业面临的机遇与挑战

    2019 年 10 月 30 日至 11 月 1 日,第 94 届中国电子展在上海新国际博览中心盛大召开.展会涵盖上游基础电子元器件到下游产品应用端全产业链,汇聚 800 多家厂商和数万名买家.观众参 ...

  4. 银行数字化转型开年布局,金融级架构面临的6大挑战和应对思路

    2021 年 12 月和 2022 年 1 月,两份关于银行数字化转型的重量级指导文件--中国人民银行的<金融科技发展规划(2022-2025 年)>(以下简称"发展规划&quo ...

  5. 清华大学孙茂松:NLP 面临的三大真实挑战

    2020-12-09 02:14:54 来源 | 智源社区 编辑 | 陈彩娴 自然语言处理一直被誉为人工智能皇冠上的明珠. 一方面,实现语言智能十分艰难.尽管机器人在电竞.围棋等方面频频超越人类,但目 ...

  6. 云计算中面临的9个挑战和风险及防范策略

    新钛云服已累计为您分享680篇技术干货 随着时间的推移,云计算正在获得更广泛的采用.在可伸缩性.速度.性能和灵活性方面,它为各种规模的组织和个人提供了许多好处. 迁移到云已经成为大流行后的必然,不再只 ...

  7. 远场语音识别错误率降低30%,百度提基于复数CNN网络的新技术

    [12月公开课预告],入群直接获取报名地址 12月11日晚8点直播主题:人工智能消化道病理辅助诊断平台--从方法到落地 12月12日晚8点直播:利用容器技术打造AI公司技术中台 12月17日晚8点直播 ...

  8. 原创 | 专家对话:大数据助力健康管理面临的机遇与挑战

    作者:赵邑新 本文长度为1500字,建议阅读5分钟 本文绕国内外健康医疗监测的主要特点,发展面临的现状与挑战等方面展开,并对"互联网+健康医疗"的未来方向提出畅想与新方向. 近年来 ...

  9. 头号任务:CIO面临的十大挑战预测

    作为企业数字化转型的领航者和数字基础设施的管理者,在这个充满不确定性的动荡时代,CIO的头号任务是创建更加坚韧.敏捷.技术适应性更强的未来型企业. IDC最新的全球CIO日程预测报告<IDC F ...

最新文章

  1. (C++)按照公式求圆周率pi的近似值的两种方法
  2. java刷新操作_java实现删除某条信息并刷新当前页操作
  3. android浮动文本,android – 如何将文本添加到浮动操作按钮?
  4. 2021年第二届“华数杯”全国大学生数学建模竞赛
  5. android如何使用ios14组件,ios14小组件怎么添加 苹果ios14小组件添加使用教程
  6. 基于Redis实现分布式锁,避免重复执行定时任务
  7. linux vi编辑器 Ctrl s,Linux命令-----vi/vim编辑器
  8. php curl 客户端,PHP易用的http客户端:curlpp
  9. 3.13下午 名词动化例句运用,拉丁词汇掌握
  10. 期望dp+高斯消元——bzoj3143
  11. 哈工大计算机系统大作业——程序人生-Hello’s P2P
  12. 万能分页显示上一页下一页
  13. c语言设计奥运奖牌管理系统,求一个用C语言编程的奥运奖牌管理系统
  14. 面试侃集合 | ArrayBlockingQueue篇
  15. 如何用USBCNC四轴泡沫切割机切割锥形锥
  16. Implementing the 3DVIA Composer Player ActiveX in Windows Presentation Foundation
  17. 集成电路工程专业英语
  18. 联想flex 换android,联想flex15拆机加装SSD固态硬盘教程!
  19. 如何下载MathType及踩的坑(详细)
  20. Spring Cloud 断路器 Hystrix

热门文章

  1. maven配置(myeclipse版)
  2. Centos修改默认网卡名
  3. iOS获取label的高度模仿博友
  4. HDU1131 Java大数
  5. HDU2503 a/b + c/d【水题】
  6. 远程登录工具 —— filezilla(FTP vs. SFTP)、xshell、secureCRT
  7. goto 语句和标号
  8. Spark MLlib(一)正则化特征
  9. 概率、随机数、随机数生成函数(面试题)
  10. 没有计算机基础可以学python-Python入门必看篇(面向小白)想学Python只看这一篇就够了...