当前位置: 首页 > 科技观察

国际视频质量评估算法大赛:火山引擎夺冠

时间:2023-03-17 11:59:54 科技观察

7月26日消息,在全球多媒体领域顶级学术会议ICME2021的“压缩UGC视频质量评估”竞赛中,字节跳动火山引擎多媒体实验室成立“QA-FTE”团队凭借自主研发的VQScore算法,在“No-ReferenceVideoQualityEvaluation(NR-VQA)MOSTrack”比赛中获得第一名。除了火山发动机多媒体实验室,还有来自世界知名高校和企业的11支队伍参赛。整个比赛分为两条赛道,对应VQA领域的两种主流解决方案:1.无参考视频质量评估(NR-VQA)MOS赛道:在缺乏参考信息的前提下评估受损视频的质量;2.Full-referencevideoqualityassessment(FR-VQA)DMOStrack:测量参考视频和减损视频之间的质量差异。除了在无参考视频质量评估(NR-VQA)MOS赛道上拿下所有最高分外,在全参考视频质量评估(FR-VQA)DMOS赛道上,火山引擎多媒体实验室也拿下了最高分对于一些指标。观点。什么是“compressedUGCvideoqualityassessment”视频质量评估是用算法模型自动判断视频的质量,比如是否清晰,是否有噪点,画质好不好,给出不同的分数。视频质量的高低直接影响用户观看视频的体验。通过自动评估视频质量的算法模型,可以在用户制作视频和系统处理视频的过程中,自动使用某种手段更好地处理视频。例如,如果评测发现某个视频的分辨率太低,让人看不清楚,可以使用超分辨率算法使其清晰;或者如果评估发现视频有太多噪音,您可以使用去噪算法来减少这些噪音。例如,如果您发现视频本身很模糊,您可以降低转码码率来节省系统带宽,节省观看用户的流量。例如,当用户拍摄视频,发现当前场景逆光,人物五官不清晰时,可以提醒用户需要调整灯光和角度。可以理解,视频质量评估是视频的“入学考试”。算法老师根据考试成绩,因材施教,让每一个视频看起来更美。但与传统专业电视台拍摄的视频相比,UGC视频的评分难度更大——毕竟做视频不能低估网友的脑洞。例如,UGC视频包括用户拍摄的自然风光、美食、建筑、人像、动物等各种题材的内容。有些不是自然镜头,而是游戏录屏,还会加上各种字幕。例如,有些视频不是竖屏视频。为了在移动端播放,在顶部和底部添加了背景填充。填充图案其实是很清晰的色块,只是中间的视频不一定清晰。不能因为两边的填充图案看起来清晰就判断视频清晰。又比如这个大头特效。特效的部分很清晰,但是特效之外的人物部分就有些模糊了。这算清楚还是不清楚?此外,由于UGC拍摄中存在多种情况,用户手抖动时视频变得模糊,噪声、过曝、抖动、失真等各种问题交织在一起,导致算法难以评估。火山引擎多媒体实验室开发的算法VQScore专门用于视频质量评分。用于训练该算法的数据集均由众包用户根据自己的审美和观看体验进行打分,可以保证该算法的打分适合大多数普通观众。观影经验积累了2年多。目前,VQScore系列视频质量评估算法不仅已经在抖音、西瓜视频等产品中实现,还作为火山引擎点播服务的一部分对外开放。从用户出发,我们巧妙地“拆解”了数据集,回顾了整个比赛过程。火山引擎多媒体实验室在模型评分上也遇到了瓶颈。不管怎么优化,分数都提不上来。这里需要说明一下,整场比赛的数据集来自一些视频APP中的真实视频,包括:训练集:6400个训练视频片段验证集:800个验证视频片段测试集:800个测试视频片段,用于比赛模型进行比较和评分,参赛者无法访问。每个视频都经过H.264/AVC编码器压缩成7个压缩段,损坏程度从弱到强。主办方通过主观测试为每个视频片段收集了50多个主观MOS分数。参赛选手训练模型使用的数据必须来自比赛主办方的官方数据,不能使用自己的数据。数据是训练模型的原材料。如果数据不足,算法工程师经常会遇到巧妇难为无米之炊的问题。虽然不是“无米”,但“米”的量还是不够的。怎样才能增加“米”的数量呢?火山引擎多媒体实验室的参赛同学们决定直接将数据集中的视频一个一个观看。看了很多样本??之后,他们找到了一个突破口:在原来的方法中,使用了大量的时域信息。视频的每一帧之间存在相关性。当视频的主人公完成一个动作,场景发生一点变化时,前后帧之间就产生了联系。比赛数据集中大部分视频时长只有10秒左右,时域信息相当稳定,图像质量没有明显变化。因为对数据和用户有着深刻的理解,基于多年的数据处理经验,工程师们意识到一件事:用户其实对时域并不敏感,更关注每一帧中的图片信息——也就是,空域信息。基于对用户体验的尊重,他们做了一个更务实的权衡:将单个视频数据集拆分成分散的帧来使用。在关注时间信息的方法中,数据集中的每个视频都被视为单条数据进行训练,总共有6400个输入数据。但是如果我们放弃时域信息,将每个10秒的训练视频拆分成单独的帧,我们可以得到大约300帧数据,相当于将训练算法数据集增加了30倍,有6400个输入。数据可以变成192000。而且这种新方法还有一个额外的好处——避免过拟合,即模型死记硬背训练集中的答案,而在测试集中表现不佳。“使用过多的时域信息会导致过拟合,相当于牺牲了一小块蛋糕,保留了一块更大的蛋糕。”参赛模型的技术实现火山引擎多媒体实验室不仅使用了比较传统的CNN(卷积神经网络),而且考虑到Transformer在NLP领域的巨大成功,决定使用Transformer来评估UGC视频的质量,并提出一个结合CNN和Transformer的框架,利用CNN提取局部特征,利用Transformer结构通过自动注意力机制预测主观质量得分。没有参考模型的框架如上图所示。火山引擎多媒体实验室使用卷积神经网络(CNN)作为特征提取器来计算输入视频块的深层特征。提取ResNet不同层的特征,使用MaxPooling将这些特征在空间维度下采样到相同大小,并在特征维度进行拼接。将特征的空间维度展平并进行Linearprojection,并加入embedding作为Transformer的输入:采用的Transformer架构遵循标准的VisionTransformer,包括L层多头注意力模块(MSA)和多层感知器模块(多层板)。Transformer与MLPhead连接,用于回归最终的主观得分。训练的损失函数均方误差l1-Loss和PLCC-Loss的加权相加构成:PLCC表示一个batch内预测值与groudturthlabel的相关性,其值归一化为[-1,1]。PLCC值越高性能越好,所以PLCC损失表示为:完整的参考模型框架如下图所示。相应位置的referencepatch和distortionpatch输入共享权值的孪生神经网络分别提取深度特征,并计算特征空间中的L1距离,拼接成新的特征输入回归模块映射得到主观DMOS分数。如下图所示,在训练过程中,从压缩视频片段和对应的参考视频片段中随机裁剪出一个256×256的图像块patch(针对FR框架),则压缩视频的质量得分为直接用作裁剪补丁训练标签。测试时,从每个帧的四个角和中心切出5个大小为256×256的patch计算分数(FR帧),所有patch的平均分数作为压缩后的预测分数视频。在实验中,用于特征提取的ResNet18网络使用在ImageNet上预训练的用于分类任务的网络的权重进行初始化,并使用相同的学习率与框架的其余部分进行训练;Transformer包含2层,MSA头数为16。在加权w1=1.00,w2=0.02的条件下,使用L1loss和PLCCloss的联合优化框架。通过比较比赛结果中各队在测试集上的性能指标(PLCC/SROCC/KROCC/RMSE)和SOTAFR/NR算法的预测质量得分散点图来验证所提模型的性能,其中PLCC/SRCC/KROCC越接近1越好,RMSE越接近0越好。A.MOStrack:与SOTANR-VQAmetrics对比:B.DMOStrack:与SOTAFR-VQAmetrics对比:对于直接预测压缩损坏视频MOS分数的NR方法,火山引擎多媒体提出的NR框架实验室在各项评价指标中排名第一;对于预测参考视频和损坏视频质量差异的DMOS得分的FR方法,火山引擎多媒体实验室提出的FR框架在预测单调性(即SROCC和KROCC)上排名第一,在预测准确率(即PLCC和RMSE)排名第二。同时,从散点图中可以看出,所提方法与主观评分的相关性较高,明显优于其他SOTAFR/NR方法。在当前行业中,视频质量的好坏直接影响到实际的业务QoE,包括用户的播放完成、留存、关注等行为,这已经是不争的事实。由于模仿人的主观感受非常困难,因此受到很多因素的干扰。但是,用户的真实感知与业界已有的学术测量体系(PSNR、SSIM、VMAF等)还有差距,包括他们的评价标准也不完全统一。因此,对于视频行业制作中的需求,如支持高清原片、打击低画质视频内容、针对画质精准匹配转码档位节省成本等需求,目前还没有很好的解决方案。基于以上原因,字节/火山引擎着力开发了VQScore来解决这种情况,解决公司业务长期存在的痛点,同时向业界推出他们无参考的质量评价标准.对UGC内容的研究更贴近实际应用场景。UGC质量评价算法对监控视频平台的整体图像质量、监督图像质量提升算法、指导压缩效率的提升等具有重要作用。据悉,火山引擎多媒体实验室提出的Transformer结构提升了算法的性能,对后续相关算法的研究具有很强的指导意义。