机器学习帮助WebRTC视频质量评价

简介: 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/vn9PLgZvnPs1522s82g/article/details/83629499 ...
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/vn9PLgZvnPs1522s82g/article/details/83629499

640?wx_fmt=jpeg


本文来自CosMos Software创始人Alex. Gouaillard的博客,他同时为WebRTC、QUIC等标准组织工作。LiveVideoStack对原文进行了摘译。


文 / Alex. Gouaillard

译 / 元宝

原文 http://webrtcbydralex.com/index.php/2018/10/11/webrtc-video-quality-assessment/


如何确保WebRTC视频通话或视频流的质量良好呢?可以从统计API中获取所有可能的指标,但仍然无法接近答案。原因很简单。首先,报告的大部分统计数据都是关于网络的,而不是视频质量。然后,众所周知,并且尝试过的人也知道,虽然这些影响了通话的感知质量,但它们并不直接相关,这意味着您无法根据这些指标猜测或计算视频质量。最后,通话质量是一个非常主观的问题,而这些问题是计算机难以直接计算的。


在受控环境中,例如在实验室中,或在进行单元测试时,人们可以使用参考指标进行视频质量评估,即在发送方标记带有ID的帧,然后捕获接收方的帧,匹配ID (以补偿抖动,延迟或其他网络引起的问题)并测量两个图像之间的某种差异。谷歌的 “ 全栈测试 ” 可以解决许多编解码器和网络损伤的问题,可以作为单元测试套件的一部分运行。但是如何在生产和实时中做到这一点呢?


对于大多数WebRTC PaaS用例,参考框架(https://chromium.googlesource.com/external/webrtc/+/master/video/full_stack_tests.cc)不可用(服务提供商以任何方式访问客户内容都是非法的)。当然,服务的用户可以在发送方和接收方来记录流,并离线计算质量得分。但是,这不允许对突然的质量下降采取行动或做出反应。它只会有助于事后分析。那么如何在不需要额外录音、上传、下载...的情况下实时检测到质量下降并采取行动呢?


在我的案例中,或者在某些特定情况下,哪个WebRTC PaaS提供了最佳视频质量呢?对大多数人来说,这是一个无法回答的问题。如何在检测网络的同时实时、自动实现4×4比较,或者这种Zoom与WebRTC(https://jitsi.org/news/a-simple-congestion-test-for-zoom/)的比较呢?


CoSMo R&D推出了一种新的基于人工智能的视频评估工具,与其KITE测试引擎和相应的网络仪表模块相结合,实现了这一壮举。


介绍


1992年,康奈尔大学(Cornell University)的CU-SeeMe开始进行第一次互联网上实时通信(RTC)实验。随着Skype在2003年8月的推出,RTC在互联网上迅速普及。从2011年开始,WebRTC技术使得RTC可以直接在web浏览器和移动应用程序上使用。


根据2017年6月发布的思科视觉网络指数【1】,实时视频流量(流媒体,视频会议)应从2016年互联网视频流量的3%(每月1.5 exabyte)急剧增长到2021年的13%(每月24 exabyte)。


对于任何处理视频的应用程序,终端用户的体验质量(QoE)是非常重要的。行业中已经有许多工具和指标来自动评估视频应用程序的QoE。例如,Netflix开发了视频多方法评估融合(VMAF)度量【2】,通过使用不同的视频编码器和编码设置来度量交付的质量。这个度量有助于常规和客观地评估几十个编码设置下的数千个视频编码的质量。


但它需要原始参考非失真视频来计算压缩后的视频质量得分。该方法很好地适用于非失真视频预先录制内容的视频流,但不适用于RTC,因为RTC通常无法提供原始视频。 


可以从源端记录原始视频,但是不能实时地进行视频质量评估。此外,在实时通信期间录制实况视频会带来法律和安全问题。由于这些原因,执行视频质量评估的实体(例如第三方平台即服务)可能不能被授权存储视频文件。


因此,RTC的特殊情况不能通过需要参考视频的度量来解决。因此,有必要使用无需参考指标的评估方法。这些指标称为无参考视频质量评估(NR-VQA)指标。


I. 视频质量指标


视频质量评估技术可分为三类。


首先,存在全参考(FR)技术,其需要完全访问参考视频。在FR方法中,我们发现了传统的视频质量方法:信噪比(SNR),峰值信噪比(PSNR)【3】,均方误差(MSE),结构相似性(SSIM)【4】,视觉信息保真度(VIF)【5】,VSNR【6】或视频质量度量工具(VQM)【7】


这些指标众所周知且易于计算,但它们并不能很好地反映用户体验的质量 【8、9】


然后存在缩减参考(RR)技术,其需要从参考视频提取的一组粗略特征。


最后,无参考(NR)技术不需要关于参考视频的任何信息。实际上,他们根本不需要任何参考视频。


对NR视频质量指标的全面而详细的评论已于2014年发布【10】。最近对音频和视频质量评估方法的调查已于2017年发布【11】。 度量被分为两组:基于像素的方法(NR-P),其根据从基于像素的特征导出的统计来计算,以及比特流方法(NR-B),其从编码的比特流计算。


II. 先前为WebRTC视频质量评估所做的努力


在文献【12】中已经提出了通过WebRTC向许多观众评估广播视频质量的第一个举措。对于这个实验,作者使用SSIM索引【4】作为视频质量的衡量标准。测试的目的是测量有多少观众可以加入观看广播,同时保持可接受的图像质量。在准确评估用户体验时,结果并不确定。随着加入广播的观众数量的增加,SSIM测量值仍保持令人惊讶的稳定,其值为[0.96,0.97]。然后突然,当客户端数量达到大约175时,SSIM下降到接近0的值。当从1到175的观众增加时,用户体验不可能在没有质量损失的情况下保持可接受。此外,测试使用的是伪客户端,只实现了WebRTC中负责negotiation和传输的部分,而不是WebRTC媒体处理管道,这对于评估广播实验的视频质量是不现实的。


在文献【13】中,作者评估了在有损网络上压缩和传输受损的视频上的各种NR指标(0到10%丢包率)。研究的八个NR度量是复杂性(帧中存在的对象或元素的数量),运动,块效应(相邻块之间的不连续性),急动(帧的非流畅和非平滑呈现),平均模糊,模糊比,平均噪音和噪音比。由于这些NR指标中没有一个能够准确评估此类受损视频的质量,因此他们建议使用机器学习技术将若干NR指标与两个网络测量(比特率和数据包丢失水平)相结合,以提供改进NR度量标准能够提供与视频质量度量(VQM)相当的视频评级,这是一种可靠的FR度量,可提供与人类感知的良好相关性。在本次实验中,他们使用了从实时质量视频数据库获得的十个视频。这些视频使用H.264在8个不同级别进行压缩,并且通过网络传输时受到了损害,网络丢失了12个包。


他们根据FR度量标准视频质量度量(VQM)【14】给出的分数评估了他们的结果质量,但没有针对NR度量。


在文献【15】中,作者依靠许多基于比特流的特征来评估接收视频的损伤以及这些损伤如何影响感知视频质量。


论文【16】提出了音频和视频指标的组合来评估视听质量。评估已在两个不同的数据集上进行。


首先,他们展示了FR指标组合的结果。作者选择的FR音频指标是音频质量的感知评估(PEAQ)【17】和ViSQOL【18】。至于FR视频指标,他们使用视频质量度量(VQM)【7】,峰值信噪比(PSNR)和SSIM【4】


然后他们展示了NR指标组合的结果。NR音频指标是SESQA和降低的SESQA(RSESQA)【19】。对于NR视频指标,他们使用了块状模糊度量【20】,盲/无参考图像空间质量评估器(BRISQUE)【21】,盲图像质量指数(BIQI)【22】 和自然图像质量评估器( NIQE)【23】。两个数据集的最佳组合是RSESQA的块状模糊。


最近在移动宽带网络上评估WebRTC视频流体验质量的实验已在文献【24】中发表。各种分辨率的不同视频(从720×480到1920×1080)通过Chrome浏览器和Kurento Media Server之间的WebRTC进行视频通话的输入。WebRTC视频的质量由28人主观评估,得分从1(质量差)到5(优质)。然后,作者使用了几个指标,这些指标均基于原始视频和WebRTC视频之间计算的错误,以客观地评估WebRTC视频的质量。不幸的是,作者没有清楚地报告主观评估与计算的客观测量之间是否存在相关性。


III.  NARVAL:基于神经网络的视频质量评价无参考指标的聚合


III.1 方法论


这项工作主要有两个部分:第一,从代表视频会议用例的视频中提取特征(与例如Netflix使用的预先录制的内容),然后训练模型以预测给定的分数视频。我们使用了六个公开可用的视频质量数据集,其中包含视频通信期间可能出现的各种失真,以训练和评估我们模型的性能。


640?wx_fmt=png


NARVAL TRAINING:密集深度神经网络图


对于特征提取部分,我们选择了在不同图像质量数据集上发布和评估的度量和特征。在我们的数据库的视频上计算它们之后,我们存储了数据以便能够在训练部分中重复使用它们。然后可以处理数据以用于我们的训练模型,例如取得视频上的特征的均值。第二部分,我们使用了不同的回归模型,主要是输入和层变化的神经网络,也支持向量回归。


我们为每个模型测试了多个参数组合,并且仅针对每个模型类别保持最佳。除了最基本的神经网络之外,还使用了卷积,循环和时间延迟神经网络。


640?wx_fmt=png


NARVAL TRAINING:3D卷积网络图


我们使用5倍拟合在数据库上训练我们的模型,然后多次重复训练。由于每个数据库包含多个失真,我们不能随意拆分折叠,因此我们尝试选择5个折叠,这样所有失真都存在于一个折叠中,并且我们对所有测试保持相同的分布。然后,只考虑折叠的平均值。


另一种创建折叠的方法是制作一个视频,它的变形是一个折叠。使用这种方法,折叠会更小,验证折叠对模型来说是全新的。


III.2 结果


首先针对训练集(即具有已知分数的集合)进行验证,以查看我们计算的视频质量是否与已知值匹配,如下所示。


640?wx_fmt=png


为了进行健全性检查,我们再次计算了NARVAL在相同参考视频上的SSIM和WMAF分数所提供的分数。我们可以看到,虽然不完全相同,但得分表现出相同的行为。有趣的是,它还说明了图像处理社区中已知的结果,但在WebRTC社区中显然是违反直觉的:感知视频质量不会随比特率/带宽线性降低。您可以在下图中看到,要将质量降低10%,您需要将带宽减少6到10倍!


640?wx_fmt=png


结论


实际上,这意味着您现在可以使用NARVAL在没有参考帧或视频的情况下计算视频质量!它为现有用例中更简单的实现打开了大门,并为许多新的用例打开了大门,在这些用例中,可以在流式传输管道的任何给定点进行质量评估。


完整的研究报告可从CoSMo获得。CoSMo还为两个实现提供许可证:一个用于研究和原型设计的Python实现,以及一个用于速度和SDK嵌入的C / C ++实现。最终,视频质量评估将被提议作为一种服务,与 Citrix的AQA服务建立在POLQA之上。


参考文献


[1] – Visual Networking Index, Cisco, 2017.

[2] – Toward A Practical Perceptual Video Quality Metric, Netflix, 2016.

[3] – Objective video quality measurement using a peak-signal-to-noise-ratio (PSNR) full reference technique, American National Standards Institute, Ad Hoc Group on Video Quality Metrics, 2001.

[4] – Image Quality Assessment: From Error Visibility to Structural Similarity, Wang et al., 2004.

[5] – Image information and visual quality, Sheik et al., 2006.

[6] – VSNR: A Wavelet-Based Visual Signal-to-Noise Ratio for Natural Images,

chandler et al., 2007.

[7] – A new standardized method for objectively measuring video quality, Margaret H. Pinson and Stephen Wolf, 2004.

[8] – Mean Squared Error: Love It or Leave It? A new look at Signal Fidelity Measures, Zhou Wang and Alan Conrad Bovik, 2009.

[9] – Objective Video Quality Assessment Methods: A Classification, Review, and Performance Comparison, Shyamprasad Chikkerur et al., 2011.

[10] – No-reference image and video quality assessment: a classification and review of recent approaches, Muhammad Shahid et al., 2014.

[11] – Audio-Visual Multimedia Quality Assessment: A Comprehensive Survey,Zahid Akhtar and Tiago H. Falk, 2017.

[12] – WebRTC Testing: Challenges and Practical Solutions, B. Garcia et al., 2017.

[13] – Predictive no-reference assessment of video quality, Maria Torres Vega et al., 2017.

[14] – A new standardized method for objectively measuring video quality, Margaret H. Pinson and Stephen Wolf, 2004.

[15] – A No-Reference bitstream-based perceptual model for video quality estimation of videos affected by coding artifacts and packet losses, Katerina Pandremmenou et al., 2015.

[16] – Combining audio and video metrics to assess audio-visual quality, Helard A. Becerra Martinez and Mylene C. Q. Farias, 2018.

[17] – PEAQ — The ITU Standard for Objective Measurement of Perceived Audio Quality, Thilo Thiede et al., 2000.

[18] – ViSQOL: The Virtual Speech Quality Objective Listener, Andrew Hines et al., 2012.

[19] – The ITU-T Standard for Single-Ended Speech Quality Assessment, Ludovic Malfait et al., 2006.

[20] – No-reference perceptual quality assessment of {JPEG} compressed images, Zhou Wang et al, 2002.

[21] – Blind/Referenceless Image Spatial Quality Evaluator, Anish Mittal et al., 2011.

[22] – A Two-Step Framework for Constructing Blind Image Quality Indices, Anush Krishna Moorthy and Alan Conrad Bovik, 2010.

[23] – Making a “Completely Blind” Image Quality Analyzer, Anish Mittal et al., 2013.

[24] – Quality of Experience Estimation for WebRTC-based Video Streaming, Yevgeniya Sulema et al., 2018.

[25] – Real-time communication testing evolution with WebRTC 1.0, Alexandre Gouaillard and Ludovic Roux, 2017.

[26] – Comparative study of WebRTC Open Source SFUs for Video Conferencing, Emmanuel Andre et al., 2018

相关文章
|
7月前
|
机器学习/深度学习 算法 Python
【Python机器学习】分类算法任务、分类模型评价指标详解(图文解释)
【Python机器学习】分类算法任务、分类模型评价指标详解(图文解释)
217 0
|
2月前
|
机器学习/深度学习 数据挖掘 Serverless
手把手教你全面评估机器学习模型性能:从选择正确评价指标到使用Python与Scikit-learn进行实战演练的详细指南
【10月更文挑战第10天】评估机器学习模型性能是开发流程的关键,涉及准确性、可解释性、运行速度等多方面考量。不同任务(如分类、回归)采用不同评价指标,如准确率、F1分数、MSE等。示例代码展示了使用Scikit-learn库评估逻辑回归模型的过程,包括数据准备、模型训练、性能评估及交叉验证。
134 1
|
7月前
|
机器学习/深度学习 自然语言处理 算法
|
6月前
|
机器学习/深度学习 算法 数据可视化
【机器学习】分类与预测算法的评价与优化
【机器学习】分类与预测算法的评价与优化
112 0
|
机器学习/深度学习
【机器学习】多标签分类的评价指标与代码实现
【机器学习】多标签分类的评价指标与代码实现
736 1
【机器学习】多标签分类的评价指标与代码实现
|
机器学习/深度学习 算法 数据可视化
学习笔记: 机器学习经典算法-分类算法模型的评价指标
机器学习经典算法-个人笔记和学习心得分享
230 0
|
机器学习/深度学习 算法
机器学习算法常用评价指标总结
考虑一个二分问题,即将实例分成正类(positive)或负类(negative)。对一个二分问题来说,会出现四种情况。如果一个实例是正类并且也被 预测成正类,即为真正类(True positive),如果实例是负类被预测成正类,称之为假正类(False positive)。相应地,如果实例是负类被预测成负类,称之为真负类(True negative),正类被预测成负类则为假负类(false negative)。
机器学习算法常用评价指标总结
|
机器学习/深度学习
使用 scikit-learn 玩转机器学习——模型评价(下)
对于分类模型来说,我们一般会用模型的准确率来进行模型的评价,模型的准确率是用预测正确的样本数除以模型的总数。如果一个模型的准确率达到了95%,那么在我们的印象中,是不是这个模型表现的还挺不错的,那如果达到了99%呢,岂不是更好?
146 0
使用 scikit-learn 玩转机器学习——模型评价(下)
|
机器学习/深度学习
使用 scikit-learn 玩转机器学习——模型评价(上)
对于分类模型来说,我们一般会用模型的准确率来进行模型的评价,模型的准确率是用预测正确的样本数除以模型的总数。如果一个模型的准确率达到了95%,那么在我们的印象中,是不是这个模型表现的还挺不错的,那如果达到了99%呢,岂不是更好?
184 0
使用 scikit-learn 玩转机器学习——模型评价(上)
|
监控 安全 算法
【云周刊】第153期:2017机器学习和AI最热!2018看海外13位专家如何评价技术趋势?
2017机器学习和AI最热!2018看海外13位专家如何评价技术趋势?【飞天解决方案】金融企业从自建MySQL数据库迁移RDS方案,未来,阿里云ET大脑将如何打造可编程城市,阿里聚安全年终盘点|2017互联网安全领域十大话题...更多精彩内容,尽在云周刊!
41334 0