0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

AI与RTC中结合点有那四大技术应用方向的详细资料说明

BYXG_shengwang 来源:未知 2018-12-23 09:38 次阅读

大到无人驾驶智能物流,小到人们出国旅游手上拿着的翻译机,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 行业的应用还只是刚刚开始。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • AI
    AI
    +关注

    关注

    87

    文章

    30155

    浏览量

    268426
  • RTC
    RTC
    +关注

    关注

    2

    文章

    528

    浏览量

    66312
  • 机器学习
    +关注

    关注

    66

    文章

    8378

    浏览量

    132414

原文标题:AI 在 RTC 中的四大技术应用方向

文章出处:【微信号:shengwang-agora,微信公众号:声网Agora】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    新手求轴飞行器详细资料

    新手求轴飞行器详细资料 代价
    发表于 09-22 19:00

    Keil C和Proteus结合使用的设计及开发实例详细资料说明

    本文档的主要内容详细介绍的是Keil_C和Proteus联调的单片机系统的设计及开发实例的详细资料说明免费下载主要内容包括了:1.概述 2.系统设计 3.Keil C及C51简介 4.使用Proteus和Keil C
    发表于 10-23 17:34 13次下载
    Keil C和Proteus<b class='flag-5'>结合</b>使用的设计及开发实例<b class='flag-5'>详细资料</b><b class='flag-5'>说明</b>

    运算放大器接电容什么样的作用详细资料说明

    本文档的主要内容详细介绍的是运放接电容什么样的作用详细资料说明主要介绍的是:运放的超前补偿,运放的自激震荡,运放的相位补偿电容。
    发表于 12-29 08:00 60次下载
    运算放大器<b class='flag-5'>中</b>接电容<b class='flag-5'>有</b>什么样的作用<b class='flag-5'>详细资料</b><b class='flag-5'>说明</b>

    条电学定理的详细资料说明

    本文档的主要内容详细介绍的是条电学定理的详细资料说明内容包括了:基尔霍夫第一定律,基尔霍夫第二定律,楞次定律,欧姆定律
    发表于 01-09 08:00 25次下载
    <b class='flag-5'>四</b>条电学定理的<b class='flag-5'>详细资料</b><b class='flag-5'>说明</b>

    PCB电路板哪些设计要素详细资料说明

    本文档的主要内容详细介绍的是PDB电路板哪些设计要素详细资料说明
    发表于 04-09 08:00 0次下载
    PCB电路板<b class='flag-5'>有</b>哪些设计要素<b class='flag-5'>详细资料</b><b class='flag-5'>说明</b>

    使用51单片机进行8x8阵的详细资料说明

    本文档的主要内容详细介绍的是使用51单片机进行8x8阵的详细资料说明
    发表于 06-17 17:44 12次下载
    使用51单片机进行8x8<b class='flag-5'>点</b>阵的<b class='flag-5'>详细资料</b><b class='flag-5'>说明</b>

    如何使用C语言实现软复位详细资料说明

    本文档的内容详细介绍的是如何使用C语言实现软复位详细资料说明
    发表于 06-14 17:44 1次下载
    如何使用C语言实现软复位<b class='flag-5'>详细资料</b><b class='flag-5'>说明</b>

    UART的硬件流控RTS与CTS的知识详细资料说明

    本文档的主要内容详细介绍的是UART的硬件流控RTS与CTS的知识详细资料说明。最近太忙了,没时间写对Ucos-II的移植,先将工作
    发表于 05-31 17:53 10次下载
    UART<b class='flag-5'>中</b>的硬件流控RTS与CTS的知识<b class='flag-5'>点</b><b class='flag-5'>详细资料</b><b class='flag-5'>说明</b>

    使用STM8小板实现12864阵的程序和详细资料说明

    本文档的主要内容详细介绍的是使用STM8小板实现12864阵的程序和详细资料说明
    发表于 05-13 08:00 3次下载
    使用STM8小板实现12864<b class='flag-5'>点</b>阵的程序和<b class='flag-5'>详细资料</b><b class='flag-5'>说明</b>

    在写Verilog时对时序约束的四大步骤的详细资料说明

    本文档的主要内容详细介绍的是在写Verilog时对时序约束的四大步骤的详细资料说明包括了:一、 时钟,二、 Input delays,三、 Output delays,
    发表于 08-30 08:00 32次下载
    在写Verilog时对时序约束的<b class='flag-5'>四大</b>步骤的<b class='flag-5'>详细资料</b><b class='flag-5'>说明</b>

    光电的知识和单位运用等详细资料说明

    本文档的主要内容详细介绍的是光电的知识和单位运用等详细资料说明包括了:W、PF、PFC、Ra、Lm、Lux、cd、L
    发表于 10-08 08:00 2次下载
    光电的知识<b class='flag-5'>点</b>和单位运用等<b class='flag-5'>详细资料</b><b class='flag-5'>说明</b>

    晶体中原子的结合详细资料总结说明

    本文档的主要内容详细介绍的是晶体中原子的结合详细资料总结说明:晶体结合能的普遍规律,五种基本结合
    发表于 12-30 08:00 3次下载
    晶体中原子的<b class='flag-5'>结合</b><b class='flag-5'>详细资料</b>总结<b class='flag-5'>说明</b>

    乐华2025L板屏驱动的详细资料说明

    本文档的主要内容详细介绍的是乐华2025L板屏驱动的详细资料说明
    发表于 04-01 08:00 6次下载
    乐华2025L板<b class='flag-5'>点</b>屏驱动的<b class='flag-5'>详细资料</b><b class='flag-5'>说明</b>

    多声道环绕声技术详细资料说明

    本文档的主要内容详细介绍的是多声道环绕声技术详细资料说明
    发表于 02-22 08:00 4次下载

    高频电源技术参数的详细资料说明

    本文档的主要内容详细介绍的是高频电源技术参数的详细资料说明
    发表于 03-01 17:40 25次下载