全民K歌客观清晰度评估算法技术分享

您所在的位置:网站首页 全民k歌技巧打分高低是怎样表示 全民K歌客观清晰度评估算法技术分享

全民K歌客观清晰度评估算法技术分享

2023-09-20 07:50| 来源: 网络整理| 查看: 265

导读 | 作者:张亚彬 当我们讨论视频清晰度时,我们在讨论什么?

一、背景介绍

    很多时候清晰度会被等同于视频分辨率和码流等等,在PGC时代也确如此,电影、电视剧、新闻媒体等都是通过专业设备录制剪辑和压缩,制作精良的源视频能够代表最高的清晰度,下采样降低分辨率和增大QP压低码流等操作都会丢失有效信息,导致视频清晰度变差。此类场景下我们能够通过峰值信噪比(PSNR)和基于人眼视觉特征的SSIM等评价准则来测量用户接受视频的主观质量,与源视频越相近则清晰度越高。然而在UGC时代用户多样化的视频录制设备和参差不齐的专业水平,无法继续提供有效的高质量源视频作为参考,用户看的视频既可能是由于压缩传输质量变差,也可能是由于低光照噪声和抖动等视频采集问题,这时只能根据Human Visual System(HVS)的日常观察经验来判定视频的清晰程度。另外,比如游戏视频和屏幕分享等媒体内容的日趋多样化,也使通用且有效的视频清晰度评估算法发展变得更加困难。本文主要分享多媒体实验室和全民K歌团队合作开发的针对细分主播场景定制的无参考清晰度评估算法,主要介绍我们如何在细分场景获取有效标注数据、模型训练和模型部署之后的数据上报汇总分析的细节内容:

区别于常见CV标注的主观打分数据集构建细节清晰度算法着重解决的问题及结果分析针对低质量视频的讨论分析

    客观无参考质量评估算法效果展示,如下为算法对最近采集上报视频的预测分数以及视频码率和分辨率(由于最多上传三个视频,故转码gif格式呈现,可能有一定质量变化):

【清晰度评分:84.91 bitrate: 2014 kb/s resolution: 720x1280】

【清晰度评分:40.74  bitrate: 1906 kb/s resolution: 720x1280】

【清晰度评分:90.89  bitrate: 9096 kb/s resolution: 720x1280】

【清晰度评分:55.20  bitrate: 2019 kb/s resolution: 720x1280】

二、数据集构建

    近些年来,比较流行的基于rank learning的质量评估算法在很多公开的IQA数据集上(比如TID2013、LIVE challenge和KonIQ-10K)都有比较明显的指标提升,rank learning的无监督思路在一定程度上可以通过人为产生的数据对来缓解对主观标注的数据的依赖,进而在目前相对其他CV任务体积较小的主观数据集上取得不错的性能提升,但是依然很难有效解决训练样本与实际应用场景样本分布差异的gap,针对细分场景的足够大小的数据集依然是质量评估算法落地的不可或缺的步骤。

    通常的,CV任务标注目标是如物体类别、位置和mask等客体信息,少量的熟练的标注人员即可满足标注的需求,但是QA相关的数据集捕捉的是广泛的人群对同一个媒体内容的平均主观评价信息,属于用户主体信息,必须有效地收集足够数量的被测者的评价结果,过滤掉个人的偏好等,从而获取接近真实大众评价,即所谓的mean opinion score (MOS)。目前主观数据集的构建一般是参考ITU recommendations。广泛使用的TID-2013数据集,共有3000张失真图片,共计有非重复的971人在实验室环境下参与一共524,340次打分,采用的是pair-wise的打分方式,平均每张图片被约170人打分,从这些数字我们可以看到主观数据集的构建是非常的耗时耗力,这也是现有主观数据集的大小受限的主要原因。

    在足够的资金支持下,我们可以选择通过众包方式来完成主观打分,但将任务直接分发给公司外部的众包测试会遇到很多不稳定的因素,带来过多的噪声信息,无法控制每个session之间的休息间隔和用户多次重复参与打分等现象。为此我们从2018年就开始搭建了包含视频和音频的主观测试平台,通过建立防水墙和白名单等模式,经过了长时间的不同任务训练筛选过滤,屏蔽掉很多非法刷任务的薅羊毛党,逐步保留下来了一批质量相对稳定的用户定期参与我们的主观打分任务,这使得我们通过通过众包的方式能获得相对可靠的主观打分。

    具体的数据集构建信息:

视频内容:2595条视频,长度5s,2135条来自K歌,460条来自微视打分方式:三分类 (好中坏三挡)参与人数:134个独立用户打分人次:30组x100条视频x60人次=(2595+405) * 60=180,000,其中405条冗余视频用作一致性校验有效比例:85.3%,根据打分偏向,一致性和outlier检测,共计剔除264组无效打分

 打分方式:相对于常用的五分类打分,为了降低众包打分的复杂度,我们选用了更简单的三分类打分方式,可以一定程度避免混淆,也方便后续的埋点数据校验,易于数据的清洗。

    Ksong Dataset部分视频展示,最后一行为来自微视的视频源:

数据分布问题:K歌直播场景为了保障产品的流畅度,相比于短视频等场景在在码率方面有所牺牲,一定程度上限制了高质量视频的比例,所以我们通过人脸检测+人工二次分类筛选出和K歌场景类似的约460条码率较高的微视短视频片段,其中大部分视频质量较高,从而使得数据源的分布更加均衡。

    用户打分raw data,打分选项1,2,3对应低,中,高质量:

数据清洗:虽然参与打分的志愿者整体质量有所保障,但仍需对所有打分做数据清洗。用户参与的每个session包含共计100条视频,主观测试预估时长约15mins,每组视频中有随机的约13条视频会重复出现两次。如果用户对这些埋点的anchor视频判定分数差距过大,比如同一个视频两次打分为3和1,则该用户在此session所有的数据都会被视作无效数据丢弃。如果用户过多的给出接近全部是同一分数的打分,比如80%打分均为2,则也视为无效数据。另外,每组视频都获取到约60人次的打分,如果单一用户打分与平均打分偏差过大,则会被视作outlier丢弃。

【数据集主观打分分布图】

    最终获得的数据集的MOS打分分布如上图所示,可以看出大部分的视频偏向于低质量的区间[1,2],也再次验证了加入码率更高的视频源的必要性。

三、算法及分析

    我们的视频清晰度评估算法使用离散的视频帧作为输入,不考虑额外的时域信息,算法针对前处理、模型和训练方式的整体改进可以简要概括为三点:

Larger input:更接近720p的672x448输入尺寸Hyper-column结构:抬升low-level特征对质量预测的影响结合Rank-learning:利用rank order强化学习效果

使用不同的缩放函数的效果对比:降采样4倍之后使用nearest neighbor上采样:

Larger input:传统的质量评估方法如SSIM和BRISQUE等仅依赖于low-level特征即可达到不错的性能,这些算法除非是multi-scale情况下,通常是使用原始分辨率作为输入。CNN常用的输入缩放尺寸如224等会大大降低图像原有的信息量,导致后续的算法性能降低。经过部分实验对比,通过全卷积方式FCN输入更大的图像尺寸,能够明显地提升预测效果。考虑应用场景视频的aspect ratio大都为16:9和4:3等,同时为了避免非均匀缩放拉伸带来的干扰 ,我们采用了(224x3)x(224x2)=672x448的输入尺寸来更充分得利用有限的输入尺寸。如下图所示,视频的输入帧经过缩放之后填充至642x448的尺寸,保持aspect ratio的情况下输入的长或者宽缩放至642或448,剩余部分使用zero-padding黑边;如果输入为横屏模式,则对视频帧做90度翻转。

【核心网络结构】

Hyper-column结构:如上图的特征提取模块所示,我们借鉴语义分割中的hyper-column结构,对每个block的最后一层做global avg pooling,分别提取不同level的特征向量并将所有block的的特征拼接在一起通过FC layer进行最终的评分预测。相比于直接在使用最后一层layer信息,hyper-column对于语义分割可以提供更多的local细节位置信息,而对于质量评估则提供了更多的比如梯度变化等low-level图像失真信息。

    Rank-learning: 除了常用的用于回归训练的L1 loss,我们也结合使用hinged ranking loss来通过不同视频之间的分数差来强化视频order的学习效果

L1 Loss: L_reg = sum|mos - pred|Hinged rank loss: L_rank = sum(max(0, thres-(mos_a – mos_b)*(pred_a-pred_b) ))Overall Loss: L = L_rank + lambda*(sum(|mos_a-pred_a|+|mos_b-pred_b|))

    模型训练方式分为两步:首先在公开数据集KonIQ-10K进行预训练,之后在KsongDataset进行进一步调优训练,两次训练采用相同的参数如下:

{ "arch":"resnet18 or other backbones",

    "epochs":100,

"batch_size":256,

    "opt_id": Adam,

    "lr":1e-4,

    "loss_type": reg+rank,

    "workers":24,

    "shuffle":1,

    "fixsize":[672,448],}

【KonIQ-10K: comparison with SOTA methods】

    在KonIQ-10K数据集上,BIQI, BRISEQUE, DIIVINE和HOSA为使用传统特征的评估算法,指标最好的HOSA的PLCC和SRCC均在0.8左右(PLCC和SRCC区间为-1到1,越接近约1则正相关性越强,-1为负相关,0为相关性最弱;PLCC关注线性一致性,SRCC关注单调性);和近期的DIQA和Learn-from-rank IQA等CNN based方法对比,我们的算法的预测效果与state-of-the-art的指标不相上下,SRCC和PLCC指标均在0.9以上。

【Performance on KsongDataset using different backbone CNN models】

    Hyper-resnet18在KsongDataset的scatter plot,散点分布越贴合中心实线,算法与人眼主观预测的相关性越好:

    从使用不同backbone models结果对比来看,基于ResNet50/ResNext50的算法在KSongDataset上的PLCC/SRCC指标相对较高,但是考虑到ResNet18指标与之很接近,但模型更小且前馈速度更快,所以目前我们主要使用的是基于ResNet18的质量评估算法。

四、讨论

    目前我们算法已经集成在QUAlity Standalone Interface (QUASI) SDK,对K歌每日线上视频片段进行扫描,经过从2020年1月份至今约3个月左右的线上监测,我们进一步验证了算法对清晰度评估的可靠性,同时也收集到一批低质量的视频序列。作为无参考视频清晰度闭环反馈的关键步骤,我们针对性分析了低质量视频的产生原因,迭代了低质量原因分析算法,从而进一步提升K歌直播视频的整体质量。

2020-04-13 低质量视频片段,常出现强噪声、过曝光等明显失真类型:

    低质量视频分析:我们首先分析了头部用户和尾部用户的质量是否和设备网络等硬件设备有明显相关性。如下图所示,我们采集了约450个主播的网络和设备信息,发现网络类型主要是3G、4G和WIFI,从分布比例上头尾主播没有明显的差异。用户机型方面,我们主要分为三类:>=iPhone10的机型,



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3