【AICon】探索RAG 技术在实际应用中遇到的挑战及应对策略!AICon精华内容已上线73%>>> 了解详情
写点什么

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


公众号推荐:

2024 年 1 月,InfoQ 研究中心重磅发布《大语言模型综合能力测评报告 2024》,揭示了 10 个大模型在语义理解、文学创作、知识问答等领域的卓越表现。ChatGPT-4、文心一言等领先模型在编程、逻辑推理等方面展现出惊人的进步,预示着大模型将在 2024 年迎来更广泛的应用和创新。关注公众号「AI 前线」,回复「大模型报告」免费获取电子版研究报告。

AI 前线公众号
2019-11-30 14:131191

评论

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

Java面试题大全(整理版)1000+面试题附答案详解最全面看完稳了

Java你猿哥

Java MySQL redis mybatis java面试

ZeroErr 零误框架

西风逍遥游

大模型时代入场级技能:提示词工程!百度文心中文教程来啦

飞桨PaddlePaddle

百度飞桨

2023 年最新 Java 面试必背八股文,1338 道最新大厂架构面试题

架构师之道

Java 面试

膜拜!阿里内部都在强推的K8S(kubernetes)学习指南,不能再详细了

做梦都在改BUG

Java Kubernetes k8s

耗时一个月,整理了这份大厂Java面试 / 学习指南,共计1500+ 题全面解析

采菊东篱下

Java 程序员

PCB如何设计防静电?华秋一文告诉你

华秋电子

方案精讲丨TiDB 在社交场景的解决方案实践

TiDB 社区干货传送门

Prompt learning 教学[进阶篇]:简介Prompt框架并给出自然语言处理技术:Few-Shot Prompting、Self-Consistency等;项目实战搭建知识库内容机器人

汀丶人工智能

人工智能 深度学习 ChatGPT prompt learning

【源码分析】【seata】at 模式分布式事务-server端与客户端交互

如果晴天

源码分析 分布式事务 分布式锁 seata Seata框架

跑步课程导入能力,助力科学训练

HMS Core

HMS Core

大厂工作四年Java经验总结了学习路线规划,所有私藏资料我都贡献出来了

Java你猿哥

Java Spring Boot JVM java基础 java面

不到1分钟,帮你剪完旅行vlog,火山引擎全新 AI「神器」真的这么绝?

字节跳动技术范儿

字节跳动 算法 计算机视觉 云服务 火山引擎

Fabarta 参加 2023 数云原力大会,与各方共同发布《2023 数据资产盘点实践白皮书》

Fabarta

数据要素 数据资产管理 数据资产化 数据要素流通

国内商业BI工具介绍,瓴羊Quick BI、帆软怎么样

流量猫猫头

如何使用appuploader制作apple证书​

雪奈椰子

AntDB数据库携手金蝶Apusic应用服务器, 共促信创产业繁荣发展

亚信AntDB数据库

AntDB AntDB数据库 企业号 5 月 PK 榜

Elasticsearch分布式搜索引擎的基本使用

北桥苏

php elasticsearch

微信小程序二维码文件流上传到OSS解决方法

北桥苏

php OSS thinkphp

中建信息亮相华为中国合作伙伴大会2023

Geek_2d6073

从零开始打造一款基于SpringBoot+SpringCloud的后台权限管理系统

做梦都在改BUG

Java Spring Cloud Spring Boot 权限管理

重磅来袭!微服务的里程碑SpringCloudAlibaba

做梦都在改BUG

Java 架构 微服务 Spring Cloud spring cloud alibaba

文盘Rust -- rust连接oss

TiDB 社区干货传送门

开发语言

从 MySQL 到 Oracle 再到全面 TiDB ,云盛海宏的数据库架构实践

TiDB 社区干货传送门

简单学习一下 MyBatis 动态SQL使用及原理

做梦都在改BUG

Java mybatis

2023年报业网络安全等级保护定级流程

行云管家

网络安全 等级保护 报业

Windows本地搭建RabbitMQ Server

北桥苏

Rabbit MQ RabbitMQ安装

开源轻量级 IM 框架 MobileIMSDK 的Uniapp客户端库已发布

JackJiang

网络编程 即时通讯 即时通讯IM

小心白蛇!PyPI仓库被持续投放White Snake后门组件

墨菲安全

pypi 开源软件供应链安全

短信验证 创建应用

MobTech袤博科技

并发编程-ReentrantLook底层设计

做梦都在改BUG

Java 并发编程 ReentrantLook

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