1. 背景介绍
随着直播、短视频以及各种音视频类应用的兴起与迅猛发展,如今全民K歌与QQ音乐活跃用户数以亿计,终端每天都会产生海量的UGC视频(包括直播和短视频等)。面对内容多样化的大规模视频带来的挑战,如何更好的把控端到端视频画质体验对整个直播、视频的全链路优化尤为关键。同时,为保障直播视频质量、对视频画质进行评估度量和实时监控,建设一个高效、准确的视频画质评估系统十分必要。
本文主要分享腾讯音乐技术团队针对细分直播视频场景定制的无参考的清晰度评估算法 TDQA(TME Deeplearning based Quality Assessment),主要介绍我们如何针对直播细分场景构建标注数据集、模型搭建与训练以及结果分析等细节内容。
2. 研究现状
视频质量评估(Video Quality Assessment, VQA),作为一个专业性较强、技术难度较大的测试分支领域,其被人了解相对偏少。清晰度作为视频质量最重要的评估属性,其效果的提升依赖于一个准确完善的基准评估体系。视频清晰度评估可分为主观评估方法和客观评估方法,主观评估由观察者对视频清晰度进行主观评分,其工作量较大、耗时较长,使用起来不方便;客观评估是指根据算法计算得到视频的质量指标,根据评估时是否需要参考又可分为全参考、半参考和无参考三类评估方法。有参考方法在评估图像/视频清晰度时,需要提供一个无失真的原始图像/视频,通过对二者的对比,得到一个对失真图像/视频的评估结果,如PSNR、SSIM和VMAF等,其缺点是需要提供无失真的参考图像/视频源,这在实际应用中往往很难得到。半参考方法只需将失真图像的某些特征与原始图像的相同特征进行比较,如小波变换系数的概率分布、综合多尺度几何分析和对比度敏感函数等。而无参考评估方法,则完全无需参考图像/视频源,其最具实用价值,也正由于没有参考图像/视频源,图像内容的千变万化使得无参考图像/视频清晰度评估相对更加困难。
无参考的图像/视频清晰度评估方法可分为两大类:传统特征提取算法和深度学习算法。传统算法包含基于梯度函数的算法和基于方差函数的算法等,该算法在处理具有相同图像内容的场景下具有一定优势,但当被评估的图像/视频内容差异较大时,其评估结果与主观感知往往有较大出入。近年来,基于深度学习的清晰度评估算法在视频清晰度评估研究中占据一定地位,通过卷积神经网络(Convolutional Neural Network, CNN)可提取鲁棒的、通用性较强的清晰度特征,并结合分类或回归思想将清晰度映射成与主观感知相适应的分数数值,以此量化清晰度评估结果。
3. 视频清晰度评估算法 TDQA
自研 TDQA 是一个无参考的端到端视频清晰度评估算法,其预测过程无需借助高质量的参考视频源,可实现从视频预处理、特征提取到清晰度评估的全流程计算。
3.1 数据集构建
近年来,越来越多的可用于图像质量评估的数据集开始出现并陆续公开(比如TID2013和KonIQ-10K等),无参考的评估算法一定程度上在相对较小的主观数据集上能够取得不错的评估效果,但很难有效解决训练样本与实际应用场景样本分布差异带来的泛化能力较低的问题,针对细分场景构建足够大小的数据集并进行高质量的主观标注是质量评估算法落地过程中不可或缺的步骤。
对于通常意义上的图像识别和检测等任务,少量的标注人员即可满足标注要求,其标注结果相对单一。但质量评估相关的数据集捕捉的是多人对同一个标注样本的平均主观评估信息,不同的用户对同一个标注样本的评价标准不完全相同,必须有效地收集足够多的标注者的评估结果,以此过滤个人偏好等以获得更接近真实大众群体的得分,即平均主观得分(Mean Opinion Score,MOS)。近几年发表的样本量级较大的KonIQ-10K数据集,共有10073张图片样本,共计有非重复的1459个众包个体在规定的环境条件下参与一共120万次打分,平均每张图片最少被约120人打分,由此可知,主观数据集的构建非常耗时费力,这也是目前业界主观数据集大小受限的主要原因。
在足够的资金支持下,我们选择通过外部众包的方式来完成主观标注打分任务,并通过内部主观标注平台进行任务制定、分发、进度管理和数据回收。从以下三个主要步骤分别展开叙述。
3.1.1 数据采样
在进行标注之前,可能会拿到大量的视频数据,但主观标注本身是一个耗时费力的过程,需要挑选合适数量具有代表性的数据进行打分标注。我们在筛选直播视频数据进行标注时,遵循以下三个原则:
- 视频清晰度的分布应是从模糊、一般到高清的连续过度,不存在清晰度断层的现象,且采样保证随机而不失一般性;
- 挑选的视频样本应包含尽可能多的视频场景,对于直播,我们需要覆盖到室内、户外、Avatar以及三明治等场景;
- 选择的视频样本应保证直播产品的丰富性,而不仅仅局限于全民K歌,同时还包含集团内部其他应用的直播视频样本。
如上图所示,精心挑选的这些视频也是为了让整个数据集的多样性更高、分布更广,有利于模型的训练。
3.1.2 打分方式
数据的主观打分应该包含预打分和正式打分两部分。预打分的视频数量较少(20个左右),用于让标注人员对本次任务有一个整体的认识,还可以达到初步筛选不合格标注人员的目的,只有在完成预打分任务后才能开始正式打分任务。
五分类是比较常用的主观打分方式,为了降低众包打分的复杂度,同时便于后续数据校验和清洗,我们使用较简单的三分类打分方式,在一定程度上可以避免主观混淆带来的影响。整个数据集平均分成30个小组,近100个外部众包独立个体分别对其中的若干个任务组进行标注,平均每个视频样本被70人次打分。其中,每个任务小组都有一部分冗余的视频样本用于一致性检验,便于标注数据回收后的数据清洗。
整个标注过程均在线上主观标注平台进行,标注工作的时效性和有效性得以保障。
3.1.3 数据清洗
虽然我们在预打分阶段作了初步的标注人员筛选,但难免在正式打分任务时仍会存在打分置信度较低的众包人员,因此需要对打分数据作进一步的清洗,分别从以下三点作数据清洗:
- 每个任务小组中都有约10%的冗余数据用于一致性检验,如果标注人员对埋点视频的打分差距过大,即同一个视频前后两次被同一个用户分别标注为清晰和模糊,则该用户在该组的所有标注数据都会被视为无效数据丢弃;
- 如果某个标注人员在某组的打分大部分(比如超过90%)都为同一个分数,则视为异常打分,该用户在该组的所有标注数据也会视为无效;
- 如果单一用户在某一组的打分与该组的分数均值差异过大,则该用户在该组的所有标注数据也会被丢弃。
3.2 算法及分析
时域信息对视频清晰度影响较小,不考虑额外的时域信息,我们的视频清晰度算法以离散的视频帧作为输入。以下将从图像帧输入尺寸大小、端到端网络结构和模型训练等方面阐述我们的方法及需要注意的地方。
3.2.1 图像帧输入尺寸
传统的质量评估算法如SSIM等通常是使用图像原始分辨率作为输入,但CNN如果使用原始分辨率作为输入会导致负担过重,一次送入网络训练的图片数量少(GPU资源限制),不利于梯度下降,且现有网络大多基于小尺寸图片训练,对大尺寸图片没有进行调优。而CNN常用的输入图片尺寸如224会大大降低图像本身的信息量,特别是画质评估任务,其对图像质量本身依赖较大,使用小尺寸图像输入必然导致预测准确率大打折扣。我们采用384X512的输入尺寸来尽可能地充分利用有限的图像尺寸规格,一个重要的原因是该尺寸接近视频帧本身16:9或4:3的高宽比,能够降低非均匀缩放拉伸带来的干扰。视频帧通过缩放后填充到384X512尺寸,剩余部分用黑边填充。
3.2.2 端到端网络结构
我们的端到端TDQA模型结构总体可分为四个模块,分别为预处理、基础网络、全局均值池化(Global Avg Pooling,GAP)和分类/回归模块。其中包含一个可选的特征融合模块(特征融合策略包括且不限于hyper-column,双线性池化等),位于基础网路模块之后,下文只针对以上四个必选模块进行阐述。
预处理模块用于视频的离散帧抽取、图像缩放对齐以及数据增强等操作,保障图像的规格满足网络输入要求。对基础网络模块而言,可根据需要设置相应的backbone作为特征提取器,如Resnet-18、Mobilenet或Inception-resnet-v2等的骨干网络(将原网络卷积层后的全连接层去掉),不同的backbone对图像清晰度特征的提取能力有一定差异。GAP对backbone的最后一层卷积层输出作降维处理,并与全连接层相接,通过分类/回归的方式得到最终的清晰度评分结果。
3.2.3 模型训练
模型训练使用迁移学习的思想,采用two-step finetune的方式:首先在公开图像数据集ImageNet上进行预训练,之后在自身构建的K歌直播视频数据集上进行进一步调优训练。预训练模型很重要,训练深层网络没有预训练模型,如果初始化做得不好,模型很难收敛。
以基础网络Inception-resnet-v2为例,两步训练的参数设置略微不同,部分参数如下所示:
第一步预训练:
{ epoch:70,lr:3e-4,batch_size:36,weight_decay:5e-6…… }
第二步调优训练:
{ epoch:35,lr:6e-5 ,batch_size:36,weight_decay:5e-4…… }
3.3 模型落地及应用
我们的TDQA模型经初步调优后的准确性与主观感知相近,其PLCC和SRCC指标值已达到较高的水平,与state-of-the-art指标不相上下。得益于在视频解码、网络前馈以及工程化服务加载模型策略等方面的效率优化,模型的预测速度较快,单视频预测耗时不足1秒,便于模型工程化落地进行自动化建设。下图为测试集中的视频样本预测值与MOS值关联散点图,散点分布越贴合中心实线,算法与人眼主观预测的相关性越好。
目前,TDQA已接入内部多个直播和视频应用并在外网高效稳定运行,用于直播视频清晰度实时监控,并指导清晰度提升以及直播视频整个链路的维护和优化。如下图为TDQA对最近采集上报视频的预测效果展示(以视频帧为例),评分区间为[40, 100]。同时,我们基于线上数据定时进行抽样检测并结合多人主观评测,对模型在预测过程中产生的Badcase进行收集分析并作针对性的模型效果优化。
4. 总结
端到端的视频质量评估算法是用户主观体验提升和直播视频全链路优化工作中不可或缺的一个环节。本文主要介绍了我们针对直播视频细分场景进行清晰度评估的算法实现过程,包含目前该领域的研究现状、数据集构建、网络搭建、模型训练及落地应用等。未来,我们会将清晰度评估算法的应用扩展到更多的应用场景和领域(如图像美学评估等),并逐步优化模型在各场景的泛化能力。
参考资料
[1] 王志明. 无参考图像质量评价综述[J]. 自动化学报, 2015 (2015 年 06): 1062-1079.
[2] Szegedy C, Ioffe S, Vanhoucke V, et al. Inception-v4, inception-resnet and the impact of residual connections on learning[C]//Proceedings of the AAAI Conference on Artificial Intelligence. 2017, 31(1).
[3] He K, Zhang X, Ren S, et al. Deep residual learning for image recognition[C]. Proceedings of the IEEE conference on computer vision and pattern recognition. 2016: 770-778.
[4] Talebi H, Milanfar P. NIMA: Neural image assessment[J]. IEEE Transactions on Image Processing, 2018, 27(8): 3998-4011.
[5] Li J, Ling S, Wang J, et al. GPM: A Generic Probabilistic Model to Recover Annotator's Behavior and Ground Truth Labeling[J]. arXiv preprint arXiv:2003.00475, 2020.
[6] Hosu V, Lin H, Sziranyi T, et al. KonIQ-10k: An ecologically valid database for deep learning of blind image quality assessment[J]. IEEE Transactions on Image Processing, 2020, 29: 4041-4056.
[7] Kim J, Nguyen A D, Lee S. Deep CNN-based blind image quality predictor[J]. IEEE transactions on neural networks and learning systems, 2018, 30(1): 11-24.
QQ音乐招聘Android/ios客户端开发、测试,点击左下方“查看原文”投递简历~
也可将简历发送至邮箱:tmezp@tencent.com