本期作者
徐一方
哔哩哔哩算法工程师
郝大为
哔哩哔哩开发工程师
马鑫军
哔哩哔哩高级算法工程师
蔡春磊
哔哩哔哩资深算法工程师
前言
B 站在为用户提供优质视频内容的同时,还要保障用户的观看体验,而视频画质是影响用户观看体验的重要因素。为了保证用户观看到的视频画质清晰,B 站建设了画质监控系统,并自研了很多视频图像分析和处理算法,但不论是研发算法,还是量化用户观看体验,都绕不开同一个问题:“如何评价视频的画质?”。视频质量评价(Video Quality Assessment,VQA)是视频图像应用的终极问题之一。
图1:VQA 是视频图像应用的终极问题之一
为了对视频质量进行准确的评价,我们研发了一套基于深度学习的无参考视频画质评价体系,如图 2,其中包括哔哩哔哩无参视频质量评价模型(BILIVQA)的设计、训练与工程化,以及在业务中的应用方式。不仅解决了 VQA 准确率的问题,更重要的是提出了一整套应用模式,使 VQA 能够满足丰富多变的业务需求,并支持基于 VQA 的应用长期稳定地运转。
图2:基于深度学习的无参视频画质评价体系
一、视频画质评价相关背景
视频画质评价(Video Quality Assessment,VQA)是一种衡量视频内容质量的方法,旨在评估和量化数字视频的视觉和感知质量,它的目标是判断人们在观看视频时所感受到的质量,包括图像的清晰度、色彩还原、运动流畅性等方面。对视频网站来说,画质十分重要,是所有的业务关注的重要指标之一。用户在视频网站上观看到的视频,都经历了三个步骤:1)生产端:视频作者在完成视频的拍摄、剪辑后,将原片上传网站;2)云端:通常会对视频稿件进行转码压缩。这是因为用户上传的原片码率较高,若不经过转码压缩,用户可能无法流畅地观看,同时视频网站将会产生巨额带宽成本;3)消费端:指用户通过手机端或网页端直接观看视频的过程。
如图 1 所示,对于视频处理和传输系统,VQA 的作用贯穿始终:
1)生产端:这一环节 VQA 可以对自动对视频稿件进行画质检测;
2)云端:B 站自研了很多视频图像处理算法用于提升视频质量,如 SDR 视频转 HDR 视频、视频去噪、去抖动、去块效应、时域插帧、画质增强、超分辨率等算法,VQA 能为这些视频图像处理提供优化方向,提高视频的主观效果。在对视频进行转码时,可以采用基于 VQA 的质量可控的编码方法,保证编码后的视频具有稳定的画质体验。
3)消费端:这一环节与用户体验(Quality Of Experience,QoE)直接相关,我们需要 VQA 来实时监控用户观看到的视频画质,也可以对一些画质极好的视频进行推荐加权。
总之,对于视频网站而言,视频图像分析、处理、编码、画质监控、用户体验分析、视频内容推荐等都与 VQA 息息相关。毫无疑问,VQA 是视频网站关注的 “终极问题”之一,大多数的视频公司都在 VQA 技术上有着不遗余力的投入,如 Netflix、Youtube、抖音、淘宝、快手、腾讯等。
1.1 有参考视频画质评价(Reference VQA)
自数字图像技术诞生起,VQA 就已经存在,最初使用的是一些传统画质评价指标,通常需要参考视频作为比较对象,通过量化目标视频和参考视频之间的画质差异,来评价目标视频的画质,这类方法统称为有参 VQA。其中,参考视频通常是原始未失真的版本或者是已知质量的视频。峰值信噪比(Peak Signal-to-Noise Ratio, PSNR)是目前最常用的有参客观质量评价指标,通常用来评价编码画质失真,原理是计算两个信号之间的相似程度,当其中一个信号是无失真原片,另一个信号是失真视频,二者计算得到的 PSNR 值就可以表示失真视频相对于原片的失真程度。PSNR 计算复杂度小,实现速度快,但是受局部像素点的影响大,没有考虑到视频的结构信息,与人眼主观感受的相关性较低;结构相似性指数(Structural Similarity Index Measure, SSIM)试图模拟从场景图像中提取结构(Structure)信息的过程,然后同时考虑结构信息与亮度(Luminance)、对比度(Contrast)来衡量两个图像或视频之间的结构相似性,但该评价方式与人眼主观评价画质还是存在一定差异,真实的主观评价还会受人类视觉系统的一些重要的心理、生理因素的影响,如视频流畅度、视频包含的信息量、是否符合美学标准等;视频多方法综合评价(Video Multi-Method Assessment Fusion, VMAF)是 Netflix 提出的一个客观有参画质评价指标,通过 3 个基础指标同时提取空间域(同一帧画面内)图像特征和时间域(连续多帧画面间)相关性特征,其中 Visual Quality Fidelity(VIF)和 Detail Loss Measure(DLM)属于空域特征,Temporal Information(TI)属于时域特征,最终使用机器学习算法(SVM)将这 3 个基础指标融合成最终的画质分数。VMAF 与主观感受相关性很高,已经成为了目前视频行业的事实画质标准之一,在编码应用中具有不可替代的作用。
1.2 无参考视频画质评价
(No-Reference VQA)
然而在更广泛的业务场景中,待评价视频的原片可能是无法获取的,没有参考视频,也就意味着无法使用有参 VQA 方法,因此无需参考视频即可评价视频画质的无参 VQA 是更符合业务场景的一种 VQA 方法。最初的无参 VQA 方法如 BRISQUE、VIDEVAL 等,是通过手工设计特征,然后用 SVM 等机器学习模型预测视频主观质量,在这个过程中,将人工标注的 MOS 分数作为监督,把画质评价问题转化为一个回归问题。随着深度学习的快速发展,基于神经网络的无参 VQA 算法逐渐成为主流,原因在于神经网络能自动且高效地提取特征,并将特征学习融入到模型训练的过程中,且深度学习引入了深度神经网络,具有多个隐藏层,能够学习视频中更抽象、更高级别的特征。
二、BILIVQA 算法设计
学术界和工业界不乏开源的 VQA 模型,但开源的模型不能直接用于 B 站的业务场景,主要原因在于:不同模型在训练时所用的数据集不同,有些数据集中的视频是自然场景下的视频,训练出来的模型对自然类型的失真更敏感,如模糊、抖动、雾化、过曝等;有些数据集由编码视频组成,训练出来的模型对编码失真更敏感,如块效应、振铃效应等。而用户上传 B 站的视频种类繁多,如下图 3,包括 PGC(Professionally-generated Content,专业生产内容)、UGC(User-generated Content,用户生产内容)、横屏、竖屏、鬼畜、二创、特效贴纸等诸多场景,涵盖多种失真类型,现有的公共数据集训练出来的模型无法满足业务需求。
图3:上传 B 站的视频种类繁多且包含多种失真类型
更具体地,视频画质评价模型,根本上评价的是画质的相对关系,设想视频画质评价模型是一个完全准确和公正的受试者,如果他预先在数据集 A 上学习打分标准,理论上对一个新视频,他打出的分数是该视频在数据集 A 中的画质排名的一个映射值。但是如果让他评价的视频与数据集 A 的分布有差异,那他打出的分数在数据集 A 中相对位置将不再准确,这就是我们常说的“评价不准”,即开源的模型在 B 站视频上表现出很弱的泛化性。
为此,我们自研了 BILIVQA 算法,并建设了一个 UGC 视频数据集用于训练该模型。
 2.1 BILIVQA 模型设计
2.1.1 采样策略
与图片画质评价不同,人眼对视频画质的评价是一个动态过程,除了关注静态帧不同空间位置的画质特性,还会受到视频帧间内容相关性的影响,即同样的画面在连续帧之间的画质变化情况,我们把前者定义为空域信息,后者定义为时域信息。我们假设视频的时域信息和空域信息对 VQA 模型同样重要,从而设计了一种采样策略,同时对空域关键帧和时域切片帧进行采样,并分别提取这两类信息的特征用于训练 BILIVQA 模型。具体的采样策略如图 4:我们按照某种分片规则,将视频切分成 N 个切片(Clips),对每个视频切片抽取第 1 帧作为空域关键帧(Spatial Frames),抽取连续 32 帧作为时域切片帧(Motion Frames)。VQA 对每个切片推理画质分数,取所有切片分数的平均值,得到整个视频的画质分数。值得一提的是,在业务场景中我们发现更合理的视频分片规则应该基于场景分割(Scene Cut),即对每个场景的视频切片出一个分数,可以对视频进行更精确的评价。
图4:BILIVQA 时域采样策略
2.1.2 模型框架
模型训练框架如图 5 所示,我们先将输入视频切分为 N 个切片,每个切片抽取 1 帧作为空域帧组成帧序列(Frame Sequence),按照短边缩放至 510 的比例进行缩放;抽取 32 帧作为时域帧组成切片序列(Clips Sequence),缩放至 160×160。空域特征(Temporal Features)提取模型采用在大规模图像分类数据集 ImageNet 上预训练的 MobileNet V2,时域特征(Spatial Features)提取模型采用在大规模动作识别数据集 Kinetics-400 上预训练的 X3D Net,然后将时空域特征拼接在一起,送入预测网络,经过特征池化层和回归器,对每个切片预测出一个分数(Score #1 ~ #N),最后对所有切片的分数取平均,输出最后的分数(VQA Score)。
图5:BILIVQA 模型框架
2.1.3 训练数据
视频质量评价领域有很多公共数据集,如 LIVE-VQC(LIVE Video Quality Challenge Database)、KoNViD-1k(KoNViD-1k VQA Database)、LWCVQ(LIVE Wild Compressed Video Quality Database),这些数据集涵盖自然失真视频和编码失真视频,数据量都在千级以内。2021 年 LIVE(Laboratory for Image & Video Engineering)实验室发布了 LSVQ 数据集,包括 39076 个自然场景下的视频及 MOS 数据,是目前最大规模的主观自然失真视频数据集。基于 LSVQ 数据集训练的 VQA 模型已经具备较为优秀的视频特征提取能力,但由于 LSVQ 和 B 站视频在视频种类和失真类型上存在差异,以及 LSVQ 数据集多数为 PGC 视频,而 B 站 UGC 视频的占比更大,我们经过实验,结果表明,只在 LSVQ 上训练的模型直接用于评价 B 站视频将会表现出弱泛化性。
因此,为了在 B 站视频上得到强泛化且客观的 BILIVQA 模型,我们必须构建一个 B 站自己的视频数据集,其中数据样本的选取必须囊括不同类型的视频,且符合用户观看习惯,最大程度还原线上用户实际观看中会遇到的不同情况。具体地,我们按照关注的指标维度(如视频分区、视频时长、播放量、视频清晰度、编码版本等)对 B 站大盘视频进行分层抽样,以确保每个分维度都有一部分样本。完成抽样后,组织了一批热心用户,参照 ITU-R BT.500 电视画面质量的主观评价方法进行 MOS 分标注,最后经过数据清洗,筛除一些异常标注样本,最终得到包含约 5000 条视频的中等规模数据集,画质 VQA 分数区间为 0-5 分,基本符合均值为 3.3-3.5,整体在 [2, 4.5] 区间内的正态分布。
2.1.4 训练方法
有了 BILIVQA 模型框架和 B 站数据集,就正式进入了 BILIVQA 模型的训练环节。前文已经提到 LSVQ 是目前最大规模的主观自然失真视频数据集,该数据集可以帮助模型学到强大的视频基本特征提取能力,但由于数据分布的差异性,在 LSVQ 上训练的模型不可直接迁移用于评价 B 站视频,直观的解决方案是在训练过程中加入 B 站视频。因此,我们采用一种多回归头的交替式混合数据集训练方案,以 LSVQ + BILIBILI 混合数据集训练为例,每个 batch 按照 LSVQ:BILIBILI=1:1 的比例采样,如每个 batch 采 8 个视频来自 LSVQ,8 个视频来自 BILIBILI,两个数据集的视频共用模型的特征提取模块,但对应各自的分数回归头,最后业务使用的是 BILIBILI 数据集的回归头。实验结果表明,相较于直接在 LSVQ 上训练,混合数据集训练方式进一步提升了模型的视频特征提取能力,从而使得 BILIVQA 模型在 BILIBILI 测试集上的性能表现更优。
2.1.5 模型准确率
皮尔逊线性相关系数(Pearson Linear Correlation Coefficient,PLCC)和斯皮尔曼等级相关系数(Spearman Rank-Order Correlation Coefficient,SROCC)是两个最常用的 VQA 模型性能评价指标。PLCC 用于评价模型预测分数与人眼主观分数之间的相关性,PLCC 的取值范围为 -1~1,值越接近0,表示视频的模型预测分数和人眼主观分数相关性越弱,值越接近 1 或 -1,表明视频的模型预测分数和人眼主观分数相关性越强;SROCC 用于评价模型预测分数与人眼主观分数之间的排序相关性,取值范围为 0~1,SROCC 值越接近 1,表明模型越能对一组视频的质量高低进行正确排序。例如:人眼主观对 5 个视频的质量排序为“1,2,3,4,5”,数值越大代表质量越好,若模型预测的质量排序也为“1,2,3,4,5”,则 SROCC 值为 1,模型对视频质量排序完全正确;若模型预测的质量排序为“1,3,2,5,4”,则 SROCC 值为 0.799,模型对视频质量排序的准确性降低。
 图6:BILIVQA 在公共数据集和 B 站自建数据集上的性能表现
如图 6,我们在 2 个公开数据集和 B 站自建数据集上分别测试了 BILIVQA 模型的性能表现,结果表明 BILIVQA 不仅在 B 站自建数据集上的准确率较高,且在其余公开数据集上也具有较强泛化性。
2.2 BILIVQA 工程实现
BILIVQA 模型的推理过程可以简化为如下几个模块:视频解码、抽帧、帧缩放(前处理)、3D & 2D 特征提取、模型推理,其中视频解码、抽帧及前处理步骤在整体耗时中占较大比重,GPU 推理模块长期处于等待状态,在整体耗时中只占极小比重,从而造成线上调用分配的 GPU 资源在整个流程中使用频率低,造成了资源的浪费。因此为了提升 GPU 资源利用率和模型训练速度,我们实现了一套基于 GPU 的纯硬件工程化方案。
具体流程如图 7,输入的视频文件经过 GPU 硬件解码,对每个切片抽取空域关键帧和时域切片帧后,采用 CUDA 进行图片缩放,然后送入 BILIVQA 的 TensorRT 模型进行特征提取及模型推理,最终输出模型的预测分数。
 图7:BILIVQA 纯硬件方案工程化流程
三、BILIVQA 落地应用
经过实验室数据验证,BILIVQA 模型已经具备业务落地所需的精度和速度,其中一个重要的落地方向是监控大盘视频画质。用 BILIVQA 模型批量自动化地对视频计算 VQA 分数,作为当天大盘的视频画质测量值,在监控面板上可视化,对用户体验进行监测。
在这个过程中,首先有两点需要明确:1)监控面板上的画质均分反映的是每天大盘视频质量,假设 B 站大盘画质保持基本稳定,则天与天之间的画质均分不应发生跳变。但如果直接使用 VQA 模型输出的绝对分数,监控面板上的数据就无法稳定且准确地表征大盘画质,原因是伴随 VQA 模型迭代,模型输出的绝对分数会不可避免地改变(后文会详细解释),因此我们需要一种映射机制,使得不同版本的 VQA 模型对同一视频的评价分数映射值始终保持稳定;2)监控面板上的分数与画质的对应关系,即如何定义具体分数对应的视频质量?我们将这两点定义为 “BILIBILIVQA 画质量纲”
3.1 映射机制设计流程
3.1.1 映射机制设计流程
上文提到 VQA 模型迭代后,模型输出的绝对分数会不可避免地改变,其根本原因在于 VQA 模型直接输出的绝对分数是没有明确含义的,它表征的只是一个相对质量。具体地,有三个原因:1)不同数据集的标注标准不同,人眼主观评分金标准从五分制到百分制不等,用不同分制的数据集训练出来的模型,输出的绝对分数可能介于 0-5 分之间,也可能介于 0-100 分之间,显然这种情况下,模型直出的分数无法在模型版本迭代间保持数值稳定;2)即使数据集标注分制相同,例如都是 5 分制,但视频数据集失真类型复杂,通常来说 VQA 模型的训练数据集是手动收集或制作的,和实际业务场景的数据分布并不一致。比如图 8 所示是两个常用的 5 分制视频数据集,可以看出二者 MOS 分数分布差别很明显,进而基于二者分别训练得到的 VQA 模型,对同一批数据进行打分之后,其均值必然会有显著差异;3)训练 VQA 模型使用的损失函数通常为 plcc-loss 和 rank-loss,这就决定了模型训练的目标为:预测值与真实值之间的相关性和排序准确性,而非模型的预测值与真实值之间的绝对分数一致性。因此 PLCC 与 SROCC 性能完全一致的两个模型,直接输出的绝对分数也可能不同。
图8. 两个常用的视频数据集,它们的分布特性有显著差异
这意味着,在固定对同一批用户上传的原始稿件进行测试时,保持测试数据不变,仅更新 VQA 模型,就会导致 VQA 平均分数发生改变,大盘上显示的画质均值也随之改变,这显然与我们的直观感受相悖,因为用户上传的稿件不受任何处理和转码的影响,具备稳定的真实画质分布特性,其画质均值应该保持稳定,不应该在 VQA 方法更新之后发生统计量的变化。
3.1.2 VQA 分数的相对大小才有意义
前文我们已得出结论,在业务中,VQA 模型直接输出分数的绝对值不适合作为画质分数,但 VQA 分数的相对大小却有明确的含义。
假设有两个视频 A 和 B,主观上 A 的画质比 B 要好,我们在优化 VQA 的时候,本质上是在让模型学会对视频 A 的评分要高于 B。VQA 模型性能越好,对 A 和 B 画质相对高低的评价就越准确。当然在实际训练时,会对更多的视频进行优化,使得模型能够准确预测它们画质高低顺序的关系。
因此,使用 VQA 模型对一批视频进行评测时,不同视频的 VQA 分数,其绝对值大小往往并没有明确的含义,但是它们之间的相对大小,却表示其画质间的优劣关系。比如对一个视频,VQA 分数为 3,那么只看 3 分,并无法知道该视频的画质究竟是好还是坏。此时,我们来观看该值在这一批视频 VQA 分数中的相对大小位置:3 分处于 25% 的位置,即表示 3 分比 25% 的视频要好,这个相对位置才有明确的含义。
3.1.3 以 VQA 结果的排名来定义画质分数
一个视频在一批基准视频中的排名百分位是个相对值,但我们要把它转换为绝对值来表征该视频的质量分数,需要满足两个前提:其一是 VQA 算法具有基本的准确度,即对于大部分视频都可以进行正确打分,从而保证对基准视频集上所有视频的画质相对关系衡量足够准确,维持不同百分比档位本身的含义稳定性;其二是这个基准视频集数据量足够大,且内容足够丰富,在数据分布上和 B 站大盘视频分布相近,能够作为 B 站视频分布的一个无偏估计,从而保证其画质相对关系具有意义。
对于第一个前提,实验室数据已经表明我们自研的 BILIVQA 算法对于极端画质(极好或极差)的视频检出率较高,且对不同档位的编码视频分数具有单调性(编码失真越严重,分数越低);对于第二个前提,可以通过找到一个数量为 n 的 B 站视频无偏估计数据集,其中 n 的定义为:从 B 站大盘数据中按照一定的采样规则采出 n 条数据,不管这个采样过程重复多少次,BILIVQA 模型在这 n 个视频上评价的分数分布各项指标(如均值、方差、峰度、偏度等)始终趋于稳定。
图9. B站画质分数标准构实现流程
因此如图 9,我们首先需要构建一个基准视频集作为 B 站视频内容的无偏估计,用 BILIVQA 模型对基准数据集的所有视频进行打分,构造一个分数查找表,得到不同分数与百分比的对应关系。在实际使用时,根据 BILIVQA 模型对待测视频的 VQA 分数进行查表,得到对应的分数排名,并将排名转换为百分比作为最后的输出值。
3.1.4 对 B 站视频内容分布的无偏估计
一个基本假设为:B 站用户上传的视频内容足够丰富,其画质分布足够多样,能够涵盖所有的内容特性和画质,也包括了不同分辨率、压缩率、处理等操作对视频画质的影响。因此,构建 VQA 输出分数分布时,应在用户原始稿件中进行采样,理论上我们应该对 B 站所有可能出现的视频稿件进行统计后,根据其 VQA 输出分数分布得到百分比,以此来定义分数。但是实际上,B 站视频量庞大,不可能对所有 B 站用户稿件进行统计,我们认为 B 站视频真实分布与用户观看习惯紧密相关,因此我们通过设置一个累计播放量阈值,筛选出代表 B 站主要内容的数百万条视频作为原始分布,如图 10 所示,投稿时间跨度约从 2015 年至今,然后通过对这个原始分布进行无偏估计,构建一个基准视频集。
图10:基准数据集投稿时间分布
在构建视频集时,需保证其可以对真实 B 站视频内容的分布进行无偏估计,即该视频集的分布特性,比如均值、方差、偏度、峰度等统计特性与真实分布一样。根据采样原理,对原始分布的采样密度足够高的时候,也就是采样视频数量足够多的时候,即可对全集分布进行无偏估计。那么究竟需要多少个视频来构建数据集呢?
我们采用如下方案:从原始分布中随机采样 n 条视频,计算 VQA 结果,然后再采样 n+step 条视频,再计算 VQA 结果。不同 n 对应的 VQA 分数都可以计算一个分布,对每个分布的均值、方差等统计特性进行观察,在逐步扩大实验数据量的过程中,可以发现在 n 达到一定数量时,统计特性会趋向稳定。那么在统计特性足够稳定的时候,该集合的统计特性就可以对真实视频分布进行无偏估计,对应的 n 即为构建基准数据集所需要的视频数量。
例如,第一次实验从筛选出的数百万条视频中随机采样了 n=500 条视频,并计算这 500 条视频的 VQA 分数,计算均值(mean)、方差(std)、峰度(kurtosis)、偏度(skewness),然后以 step=500,从原始分布中随机选取 n+step=1000 个 VQA 分数,再次计算均值、方差、峰度、偏度,并画出四个指标的分布折线图。图 11 是指当随机采样的视频数量 n 超过 10 万时,模型分数分布的各项指标具有逐渐稳定的趋势,为了进一步提高基准数据集的代表性,我们进一步扩大基准数据集的数量,最终确定了 n=15 万为 B 站无偏估计基准数据集的总量。
图11. 随着视频采样数量的提升,采样集的统计特性会趋近真实统计特性
3.2 映射机制在业务中的表现
一个稳定的映射机制应该可以使映射后的模型分数准确反映大盘画质,即:大盘的视频质量提升时,映射后的模型均分上升;大盘画质不变时,映射后的模型均分保持稳定,即使有 VQA 模型迭代更新,均分也不应跳变。
3.2.1 体现 B 站大盘视频整体质量上升
我们最终确定的基准数据集是由 15 万条 B 站热门视频构成的,筛选机制为全站累计播放量排名靠前,因此包含一些几年前的老旧视频。随着用户拍摄设备的迭代,用户上传的原始稿件画质也在逐年上升,从视频分辨率的角度出发,我们对近期线上某一天的大盘视频进行随机抽样(以下统称为“临时抽样单日数据集”),统计这批视频的像素量(视频的宽×高),数据显示该临时抽样单日数据集的平均像素量相较于基准数据集提升了 1.94%。这说明随着时间发展,用户制作视频的质量在不断提升。
对这批视频使用 BILIVQA 画质量纲进行打分,测试数据显示,均分达到了 55 分左右。由于输出的百分制分数是由模型直出的分数在基准数据集中的排名转化而来的,所以理论上当视频分布与基准数据集一致的时候,均分一定在 50 分附近,而近期视频的均分达到了 55 分,这就证明了 BILIVQA 画质量纲可以准确的衡量用户稿件质量的提高。
3.2.1 VQA 模型版本迭代后大盘均分保持稳定
紧接着我们验证了我们的映射机制在大盘画质基本稳定的情况下,可以在不同版本的 VQA 算法之间保持均分的稳定。还是前文提到的临时抽样单日数据集,我们同时使用 BILIVQA 和当时在学术界性能表现最好的开源模型 Fast-VQA 对这批视频分别打分,并用我们的映射机制映射为百分制,然后计算均分,结果表明,BILIVQA 和 Fast-VQA 的百分制均分分别为 55.51 54.88,说明当采用两种不同的 VQA 模型时,BILIVQA 画质量纲能够保持稳定。这一属性,可以让应用不依赖于具体的 VQA 模型,同时 VQA 模型在迭代之后可以快速平滑地上线,支持基于 VQA 的应用长期稳定地运转。
3.3 画质分数与主观质量的对应关系
有了基准数据集和模型分数映射准则,我们可以对任意视频输出一个质量评估分数,但这个分数与真实视频质量之间的对应关系如何?只有确定了这个对应关系,才能打通业务落地的最后一个环节,比如,我们可以通过确定一些典型的标杆分数来指导业务行为,如对低画质视频预警、并使用前处理算法进行画质修复,对高画质视频推荐加权等。典型的几组关系如:“严格差”分数线 —— 指低于这个分数后,人眼主观认为画质差得不可接受;“严格好”分数线 —— 指高于这个分数,人眼主观会认为画质绝对好;“画质分界”分数线 —— 指小于该分数则定义为画质差。为了确定这套分数对应关系,我们设计了一系列主观实验。
3.3.1 实验设计
对视频的人眼主观评价,顾名思义是“主观”的,因人而异的,即使对同一个视频,不同人也会给出不同评价,因此归根结底我们评价一个视频的质量好坏,是基于”概率“的概念,即多数人认为该视频质量好,则该视频大概率是个高画质视频,反之亦成立。
因此对于上文中提到的三条画质分界线,我们按照人眼主观对画质的评价规律来组织实验。首先我们定义三个档位的画质评价:“画质极差”、“画质适中”、“画质极好”,我们做出如下假设:对一个画质“严格差”的视频,大多数人都会给出“画质极差”的评价;对一个画质“严格好”的视频,大多数人都会给出“画质极好”的评价;对一个画质处于“画质分界”的视频,大多数人会给出”画质适中“的评价。
图12:人眼主观感受 “画质极差”、“画质适中”、“画质极好” 的视频画面
由于人眼主观标准的差异,基准数据集的百分制分数分布中,同一分数段的视频在评价上存在差异,例如同样是 50 分的视频,也会存在”画质极差“、”画质适中“、”画质极好“三个质量档位。因此我们划分了几个分数档位,以 0-70 分为例,每隔 10 分设置一个观测档,每个档位选择 100 个视频,假设评测人员是 25 位,则每个分数档位会产生 2500 条数据,对每个档位的 2500 条数据统计如下三个指标:
好评占比 = ”画质极好“评价数 / 当前档位评价总数 × 100%
适中占比 = ”画质适中“评价数 / 当前档位评价总数 × 100%
差评占比 = ”画质极差“评价数 / 当前档位评价总数 × 100%
3.3.2 实验结果
按照上述方案,我们组织了若干评测人员,进行小规模主观实验来演示该方法效果,完成实验后进行数据回收,在每个分数档位中,每一位评测人员对于单个视频的的评价视为一条数据,每条数据之间具有同等权重。对每个分数档位计算上述”好评占比“、”适中占比“和”差评占比“,绘制堆积柱形图如图 13,注意,该结果只做演示用,不代表最终用于业务的实际数据。
图13. 分数区间从0-70分,好评占比逐步上升,
差评占比逐步下降,适中占比先升后降
图 13 中,例如画质分数为 10 分的这批视频,只有约 15% 的好评占比,差评占比约 70%,即对该分数段的视频,人们大概率会给出“画质极差”的评价。从图中看出,随着分数区间从 0-70 分,评测人员主观评价的好评占比逐步上升,差评占比逐步下降,适中占比先升后降,基本符合预期。有了这张图表作为依据,业务方可以根据实际业务需求,选择一些相应的业务分界线阈值,制定相应的产品策略,比如低劣画质预警线、极清画质推荐线等。
四、总结与展望
我们研发了 BILIVQA 算法,对其进行工程化。此外,我们制定了一套模型输出分数映射规则,用于落地大盘质量监控,这套映射规则能保证监控大盘上的画质均分具备稳定反映大盘质量变化的能力。最后,我们定义了 VQA 分数与视频画质之间的对应关系。
在无参 VQA 算法的研发、应用过程中,我们发现数据集和采样策略对 VQA 模型的准确率影响显著。在今后的工作中,我们计划制作更大规模的 UGC 视频数据集,并研发更合理的视频采样策略,从而持续优化迭代 BILIVQA 模型。同时,我们将继续探索 VQA 在其他业务场景的落地方案,如视频内容推荐、编码质量监控、指导视频处理等。
哔哩哔哩多媒体实验室是一支技术驱动的年轻队伍,具备完善的多媒体技术能力,以清晰流畅的极致视频体验为目标,通过对自研视频编码器、高效转码策略、视频图像处理、画质评价等技术的持续打磨和算法创新,提出了画量可控的窄带高清转码算法视觉无损视频前处理超实时4K60FPS直播超分高效视频图像处理引擎BILIVVC编码器等诸多高质量、低成本的多媒体解决方案,从系统尺度提升了整个转码系统的性能和效率, 助力哔哩哔哩成为体验最好的互联网视频社区。
以上是今天的分享内容,如果你有什么想法或疑问,欢迎大家在留言区与我们互动,如果喜欢本期内容的话,欢迎点个“在看”吧!
往期精彩指路
继续阅读
阅读原文