2025 AI基础设施风向标,不看必后悔!#AI基础设施峰会 了解详情
写点什么

AI 在 RTC 中的四大技术应用方向

  • 2019-11-30
  • 本文字数:3559 字

    阅读完需:约 12 分钟

AI 在 RTC 中的四大技术应用方向

大到无人驾驶、智能物流,小到人们出国旅游手上拿着的翻译机,AI 早已从曾经的天马行空变得触手可及。AI 也成了很多公司未来的核心战略,并应用到了产品中。其实,在 RTC 领域亦是如此。


提到 RTC 中的 AI,你可能还会记得今年 RTC 领域中的热门话题超分辨率。前几天,据说某款手机已经将其应用于调节照片远景放大后的清晰度上。我们也曾有不止一位演讲人,曾在 RTC 2018 中分享过将超分辨率应用于实时音视频中的研究。不过,超分辨率只是 AI 在 RTC 中的一个应用而已。


概括来讲,目前 AI 与 RTC 的结合点有四个:


  • 语音分析:使用机器学习分析,将实时音视频中的语音转录为文本、字幕。

  • 语音机器人:在对话框中与用户交互的语音机器人,输入与输出皆通过语音,比如 Siri、Alexa、Cortana 等。

  • 计算机视觉:处理视频,分析和理解视频中的内容。

  • RTC 优化:用于提高服务质量或性能的机器学习算法模型。

1 语音分析(Speech Analytics)

如果你对今年 Google I/O 有印象,你可能还会记得官方曾经做过一段演示,YouTube 可以根据视频的图像和声音,将视频内容翻译并以字幕形式显示出来。而且,Google 在语音识别、分析方面做了优化,即使视频中口音模糊,也能根据视频内容进行智能翻译,最终显示为字幕。应用于其中的一个重要技术方向就是语音分析。


在 RTC 中,语音分析主要的应用形式包括电话中心智能语音交互、语音转文本、翻译等等。语音分析是一个相对成熟的技术应用方向,也是一个多学科应用于实际的范例。它涉及了信号处理、模式识别、概率论和信息论、发声机理和听觉机理、深度学习等。就像 Google 所做的,我们可以将它应用于自己的视频会议、视频通话、直播连麦等一系列实时音视频场景中。如果想快速实现,市场上有很多 API 可以帮助到你;如果你的团队技术实力雄厚,那么也有几个比较著名,也比较老的开源工具可以使用。


业界有不少公司都能提供语音分析功能,例如国内的讯飞、百度、搜狗等,再例如 Google Speech API 和 Facebook 推出的 wav2letter 等。Agora 开发者也完全可以基于 SDK 的接口与这些语音识别、分析服务结合,实现创新场景。



如果自研,那么也有不少可以参考的算法模型。例如这 4 个“历史悠久”的语音识别相关的开源项目与非开源项目:HTK、CMU Sphinx、Julius、Kaldi。我们逐一简单介绍下。

1. HTK

首先 HTK 并不是开源项目,它是由剑桥大学工程学院(Cambridge University Engineering Department ,CUED)的机器智能实验室于 1989 年开发的,用于构建 CUED 的大词汇量的语音识别系统。HTK 主要包括语音特征提取和分析工具、模型训练工具、语音识别工具。1999 年 HTK 被微软收购。2015 年 HTK 发布了 3.5 Beta 版本,也是目前最新的版本。

2. CMU-Sphinx

CMU-Sphinx 是卡内基-梅隆大学(CarnegieMellon University,CMU)开发的一款开源的语音识别系统。它包括了一系列语音识别器和声学模型训练工具,被称为第一个高性能的连续语音识别系统。Sphinx 的发展也很快,Sphinx4 已经用 Java 改写,所以适合嵌入到 Android 平台。

3. Julius

Julius 是日本京都大学和 Information-technology Promotion Agency 联合开发的一个实用高效双通道的大词汇连续语音识别引擎。Julius 通过结合语言模型和声学模型,可以很方便地建立一个语音识别系统。Julius 支持的语言模型包括:N-gram 模型,以规则为基础的语法和针对孤立词识别的简单单词列表。它支持的声学模型必须是以分词为单位,且由 HMM 定义的。HMM 作为语音信号的一种统计模型,是语音识别技术的主流建模方法,正在语音处理各个领域中获得广泛的应用。Julius 由 C 语言开发,遵循 GPL 开源协议,能够运行在 Linux、Windows、Mac:OS X、Solaris 以及其他 Unix 平台。Julius 最新的版本采用模块化的设计思想,使得各功能模块可以通过参数配置。

4. Kaldi

Kaldi 是 2009 年由 JohnsHopkins University 开发的,刚开始项目代码是基于 HTK 进行的开发,现在是 C++ 作为主要语言。Kaldi 的维护和更新非常及时,几乎每一、两天就有新的 commits,而且在跟进学术研究的新算法方面也更加快速。国内外很多公司和研究机构也都在用 Kaldi。


上述几种语音识别开源代码是基础的开源版本,基于这些版本诞生了不少衍生的版本,比如 Platypus、FreeSpeech、Vedics、NatI、Simon、Xvoice、Zanzibar、OpenIVR、Dragon Naturally Speaking 等。

2 语音机器人

现在很多呼叫中心都引入了 IVR(互动式语音应答),顾客可在任何时间打电话获取他们希望得到的信息,当遇到无法解决的问题时才转入人工坐席。它可以提高服务质量、节省费用。


但它自身也存在着问题。你可能也遇到过,有时候打给一个客户中心,语音提供了多个选项让你选择,可当你听到第五个之后,就忘了之前的选项都有什么,以至于还要再听一遍。所以很多呼叫中心会把菜单设计成更少选项更多层级。但这会让用户的交互过程变得更长。


所以语音机器人开始成为呼叫中心的新选择(也可能有人管它叫智能客服或其它名字)。用户只需要说出想要什么,它就能根据关键信息筛选出用户想要的信息,就好像电话那头多了一个 Siri。



当然,Siri 也是是除了呼叫中心以外,语音机器人的另一种应用形式。目前已经有很多公司都推出了相应的产品或接口(如上图所示)。不过,要建立一个能与人自然交流的语音机器人,从架构、音频处理到算法模型的训练等,需要面对很多问题:


  • 处理噪音

  • 处理方言和自定义词汇表

  • 语音验证

  • 处理延迟

  • 使用 SSML 进行更自然的语音合成

  • 模型训练

3 计算机视觉

现在计算机视觉的应用应该已经很常见了,例如:


  • 面部识别

  • 物体检测

  • 手势识别

  • 情感分析


我们曾在年初的时候分享过两篇文章,讲述了如何结合 WebRTC 与 TensorFlow 实现物体识别,这是一位开发者的实验。大体过程是,每秒将视频图像经由 HTTP 传输到服务器端,然后通过服务器端的机器学习算法模型处理后得出检测结果,再反馈给本地,具体代码可以看我们之前的文章。


不过这个实验仍然存在很多的局限,如果图像质量过高,会需要更多传输、处理的时间,这会影响检测的实时性。所以,后来有人提出了可以在本地进行图像识别。



上图是一个基本架构,如果你感兴趣,也可以尝试一下。它利用了 google 的 AIY 硬件工具来运行 DNN。也就是说,当你采集到视频之后,可以在本地进行处理,那么就无需担心图像识别的实时性问题了。

4 对 RTC 的优化

利用 AI 可以在实时音视频方面做很多事情,例如利用超分辨率来提升实时视频中模糊图像的细节,给用户呈现更高清的视频效果,提高视觉体验;同时,由于网络传输线路上有丢包,接收的数据有失真,所以 AI 也被用来做算法补偿,提升传输质量。


超分辨率是通过深度学习来提高其分辨率,进而改善实时视频图像质量的技术。为什么需要这项技术呢?因为尽管现在用户都在高分辨率模式下获取图像,但在实时传输过程中,视频编码器可能会降低分辨率,以匹配可用带宽和性能限制。由于这个处理机制,导致图像质量通常会低于实际拍摄的质量。而超分辨率的目的就是将视频质量恢复到原始状态。


超分辨率在整个实时音视频传输过程中属于后处理中的一步。视频源经过编码在网络上传输,解码器收到后经过解码出来是一个相对模糊的图像,经过超分辨率处理把细节提升或者放大,再显示出来。


现在很多的实时视频场景都发生在移动设备上,所以对于一个深度学习算法模型来讲,需要模型体量尽量要小,这就需要面对三个主要的挑战:


  • 模型能够实时运行于移动设备上,且尽量降低功耗,避免引起发热等问题。

  • 模型小,但性能要好,可以得到足够好的结果。

  • 训练要能够基于比较合理数量的数据集。


我司的首席科学家钟声曾在 上海的 DevFest 活动和美国的 Kranky Geek 上分享过相关话题的演讲。如果你希望深入了解,可以查看我们过去的分享。


除了超分辨率,开发者们还可以利用无监督学习来分析通过 WebRTC 的 RTCStats 接口收集到的数据,从而来确定影响通话质量的原因。也可以用 TensorFlow 来分析并规范化 MOS 数据。



上图所示是一个常规的降噪算法的处理逻辑,但在以后,,Mozilla 曾推出过一个 RNNoise Project,利用了深度学习,帮助 WebRTC 用户,特别是在嘈杂环境中进行多方通话的用户实现更好的降噪效果。他们也在官方提供了一个 Sample,与 Speexdsp 的降噪效果进行对比。在 Sample 中,他们模拟了人在马路旁、咖啡馆中、车上的通话效果,然后用不同的方式进行降噪处理。你会明显听出,通过 RNNoise 降噪后,无人说话时几乎听不到噪声,而在有人说话时,还是会有轻微的噪音掺杂进来。如果你感兴趣,可以去搜搜看,体验一下。你可以在 xiph 的 Github 中找到它的代码。尽管这只是一个研究项目,但提供了一种很好的改进思路。


尽管举了这么多的研究案例与开源项目,但 AI 在 RTC 行业的应用还只是刚刚开始。


本文转载自公众号声网 Agora(ID:shengwang-agora)。


原文链接:


https://mp.weixin.qq.com/s/_KqrBhth0CDN53u1YpMLKw


2019-11-30 14:131833

评论

发布
暂无评论
发现更多内容

Android屏幕适配前先了解这些,在阿里工作5年了

android 程序员 移动开发

Android应用启动流程分析,IDEA太强悍了

android 程序员 移动开发

Android开发5年,分享下初级-中级-高级工程师-划分标准

android 程序员 移动开发

Android开发5年,怎么样通过自学拿到40W年薪的?,kotlin语言架构

android 程序员 移动开发

Android开发7年,疫情期间八家大厂高工的面试经历和真题整理

android 程序员 移动开发

学习总结(第二周)

Geek_1d37ea

架构实战营

Android妹子深夜和我视频,哭的像个泪人,我该怎么安慰

android 程序员 移动开发

Android小白在两年时间成为一个大牛,我究竟做了什么?

android 程序员 移动开发

Android开发之旅:android架构,并发知识体系大全

android 程序员 移动开发

Android应用Context详解及源码解析,Android大厂技术面试题汇总

android 程序员 移动开发

Android开发五年,面试阿里才发现这些知识点没完全掌握;你知道吗

android 程序员 移动开发

Android应用开发编译框架流程与IDE及Gradle概要,android游戏开发从入门到精通

android 程序员 移动开发

Android基础进阶 - 消息机制 之Native层分析,统统给你解决

android 程序员 移动开发

Android学习别“走弯路”,django实战项目源码

android 程序员 移动开发

Android学习趋势:讲一下音视频热点知识,移动设备开发图书

android 程序员 移动开发

Android布局优化技巧大盘点,最新BAT大厂面试者整理的Android面试题目

android 程序员 移动开发

Android复习资料——常见面试算法题汇总,2021年最新Android大厂面试笔试题分享

android 程序员 移动开发

Android大牛是如何炼成的:郭霖的成长之路专访,flutter游戏引擎

android 程序员 移动开发

Android岗常见40道面试题,面试前必须了解的知识点!,android开发工程师企业所在区域

android 程序员 移动开发

Android基础之Binder分析,flutter环境变量配置

android 程序员 移动开发

Android应用保活实践,字节跳动Android研发岗这些知识点内部泄露出来了

android 程序员 移动开发

Android开发三年,面了八家公司终于腾讯上岸,含泪整理面经

android 程序员 移动开发

Android大牛近期大厂面试详解(附解答),hashmap底层原理

android 程序员 移动开发

Android应用启动流程分析(1),android应用开发实战项目

android 程序员 移动开发

Android开发UI新技能,你get这个新技能了吗?(附源码详解)

android 程序员 移动开发

Android基础系列(3)编译时注解处理器APT,android订餐系统源码

android 程序员 移动开发

Android干货---丢掉你老旧的参数传递方式,投入Bracer的怀抱吧。

android 程序员 移动开发

Android开发了解这些,自然无惧面试,2021最新Android面试笔试

android 程序员 移动开发

Android布局优化:include-、merge,android开发入门与实战作者

android 程序员 移动开发

Android开发3年,我转Java后台了,真香,想转行当程序员的必看

android 程序员 移动开发

Android开发之Theme、Style探索及源码浅析,kotlin语言实例精解

android 程序员 移动开发

AI 在 RTC 中的四大技术应用方向_AI&大模型_声网_InfoQ精选文章