乐趣区

关于深度学习:如何用人工智能技术优化-WebRTC-产品内附具体方案

WebRTC(网页实时通信),作为一个反对网页浏览器进行实时语音或视频对话的开源技术,解决了互联网音视频通信的技术门槛问题,正逐步成为寰球规范。

过来十年间,在泛滥开发者的奉献之下,这项技术的利用场景越来越宽泛和丰盛。在人工智能时代,WebRTC 将走向何方?本文次要分享 WebRTC 与人工智能技术联合的相干方向及融云的翻新实际(加 融云寰球互联网通信云 服务号理解更多)。

WebRTC+ 人工智能,让声音更真切、视频更高清

人工智能技术在音频和视频方面的利用越来越来宽泛,在音频方面,人工智能技术次要用于噪声克制(noise suppression)、回声打消(echo removal)等;在视频方面,人工智能技术则更多用于虚构背景、视频超分辨率等。

AI 语音降噪

语音降噪曾经有多年历史,最早常应用模仿电路降噪办法。随着数字电路的倒退,降噪算法代替传统模仿电路,大大晋升了语音降噪的品质。这些经典的算法都基于统计实践预计噪声,可能将稳态噪声打消得比拟洁净。对于非稳态噪声,如敲击键盘、桌子的声音,马路上车来车往的声音,经典算法就显得无能为力了。

AI 语音降噪应运而生,它基于大量语料,通过设计简单的算法,联合继续的训练学习而成,省去了繁琐而不置可否的调参过程。AI 语音降噪在解决非稳态噪声时有着人造劣势,它能辨认非稳态数据的特色,有针对性地升高非稳态乐音。

回声打消

回声是因为扬声器放进去的声音通过衰减和延时后又被麦克风收录产生的。咱们在发送音频时,要把不须要的回音从语音流两头去掉。WebRTC 的线性滤波器采纳频域分块的自适应解决,但并没有认真思考多人通话的问题,非线性回声打消局部采纳维纳滤波的办法。

联合人工智能技术,咱们能够基于深度学习办法,采纳语音拆散形式,通过精心设计的神经网络算法,间接打消线性回声和非线性回声。

虚构背景

虚构背景依靠于宰割技术,通过将图片中的前景宰割进去,对背景图片进行替换得以实现。次要利用场景包含直播、实时通信、互动娱乐,波及到的技术次要包含图像宰割和视频宰割。典型的实例如图 1 所示。

(图 1 上图彩色背景替换为下图紫色背景)

视频超分辨率

视频超分辨率是将高糊视频变清晰,在带宽受限、码率较低的状况下,传输较低质量的视频,而后通过图像超分辨率技术还原成高清视频,这一技术在 WebRTC 中具备重要意义。典型的图像如图 2 所示。在带宽无限的状况下,传输低分辨率的视频码流,仍然能够取得高分辨率的视频。

(图 2 原始低分辨率图像 vs 解决后的高分辨率图像)

融云的翻新实际

WebRTC 是一个开源技术栈,想真正在理论场景下做到极致,还须要进行大量的优化。融云联合本身的业务特点,对 WebRTC 音频解决和视频压缩局部源代码进行批改,用以实现基于深度学习的音频噪声克制和视频高效压缩。

音频解决

除了 WebRTC 原有的 AEC3、ANS 和 AGC 外,针对会议、教学等纯语音场景,融云退出了 AI 语音降噪模块,并对 AEC3 算法做了优化,大大提高音乐场景下的音质。

AI 语音降噪:业界大都采纳时域和频域的 mask 办法,联合了传统算法和深度神经网络。通过深度神经网络预计信噪比,能够计算出不同频段的增益,转换到时域后,再次计算一个时域的增益,最初利用到时域上,能够最大限度打消噪声,保留语音。

因为深度学习语音降噪模型过多采纳 RNN (循环神经网络),所以语音完结一段时间内,模型仍然认为有人声存在,拖延时间太长以至于语音无奈掩蔽掉残余噪声,导致语音完结后短暂的噪声。融云在现有模型的根底上增加预测模块,依据语音幅度包络和 SNR 降落水平,提前预测到语音的完结,打消在语音完结时可能察觉到的残余噪声。

(图 3 优化前的乐音拖尾)

(图 4 优化后没有噪声拖尾)

视频解决

在 WebRTC 源码中,视频编码局部次要采纳了开源的 OpenH264、VP8、VP9 并从新封装成了对立的接口。融云通过批改 OpenH264 源码实现背景建模和感兴趣区域编码等工作。

背景建模:为了实现实时的视频编码,将背景建模的解决放在 GPU 上十分必要。通过调研发现,OpenCV 中的背景建模算法反对 GPU 减速。实际操作中,咱们将摄像头等采集设施获取的原始 YUV 图像转成 RGB 图像,再将 RGB 图像送入 GPU 中。而后,在 GPU 中获取背景帧并将其从 GPU 转移到 CPU 中。最初,再将该背景帧退出到 OpenH264 的长期参考帧列表中,用于进步压缩效率。流程图如图 5 所示。


(图 5 背景建模流程图)

感兴趣区域提取:感兴趣区域编码局部实现采纳了 yolov4tiny 模型,进行指标检测以及与背景建模提取的前景区域交融。局部代码展现下图 6 所示。网络加载后,抉择 cuda 进行减速,输出图像设置为 416*416。


(图 6 将网络加载到 GPU 的局部程序)

视频编码在 WebRTC 上的试验成果:为了验证成果,咱们采纳 WebRTC 中的 videoloop 测试程序对批改的 OpenH264 进行测试。图 7 为摄像头现场采集的视频,选用 1920*1080 分辨率进行背景建模的成果。图 8 为输入的后果,WebRTC 为了保障实时性,会摈弃因为各种起因未在设定的工夫内理论编码的帧。图 8 显示,咱们采纳的算法没有耗费很大的编码工夫,没有使编码器产生被摈弃的帧。

(图 7 以后帧和背景帧)

如何用人工智能技术优化 WebRTC 产品(内附具体计划)_深度学习_10


(图 8 编码器的实际效果)

总结而言,在音频方面采纳基于人工智能的降噪解决,能够显著进步现有语音通话的体验,然而模型预测还不够精准,计算量绝对较大。随着模型的不断完善优化,数据集的不断扩大,AI 语音降噪技术肯定会为咱们带来更好的通话体验。在视频方面,采纳背景建模技术将背景帧退出到长期参考帧列表中,无效地进步了监控类场景的编码效率,采纳基于指标检测和背景建模以及高效的码率调配计划进步视频感兴趣区域的编码品质,无效地改善了在弱网环境下人们的观看体验。

技术更迭步履不停,咱们曾经迈入了全面智能化时代。人工智能技术深度利用于各类场景,在音视频产业畛域,先进技术与 WebRTC 相结合,亦是前景广大。服务优化永无止尽,融云将持续紧跟科技趋势,一直对翻新科技进行积极探索,并将其积淀成为可供开发者便捷应用的底层能力,长期赋能开发者。

退出移动版