客观评价模型与主观DMOS分数拟合的分享与实用性探讨
去年我们发过一篇文章《综合多项指标评价视频质量,才能更接近主观感受》,指出了不同客观评价指标的“喜”与“忧”,并表示“在日常评价视频质量时,单看一组指标数据容易产生误差,需综合多项指标,才能更接近主观感受”,得到了业内众多同仁的认同。
但文中没有谈及人眼直接观测的主观质量评价,是因为主观评价的时间成本极高、观看环境要求苛刻、存在个体差异、且无法实时监测,不适合在日常中做编码器的视频质量评价标准。客观评价方法的诞生,就是为了精确化描述人眼的主观感受。
那么,客观评价方法的准确性,如何衡量?客观指标表现很好,主观感受就一定好吗?
虽然客观评价方法是让计算机尽量从人的主观视角出发来预测特定视频的评分,但不同客观评价指标与主观感受的符合程度差距不同,因此需要通过客观评价模型与主观评价DMOS分数的非线性拟合结果,基于预测的准确性、一致性、稳定性、单调性来衡量该客观评价方法的好坏。
· 准确性:指主观评价打分和客观评价指标分数的相似性;
· 一致性:指不应仅对某种类型的视频/图像表现良好,而应该对所有类型的视频/图像都可以表现良好;
· 稳定性:指对同一视频/图像每次评价的结果数值应该相同或误差在可接收的范围内;
· 单调性:指评价分数应该随DMOS分的增减呈现相应的单增或单减。
实际上,在日常实操过程中,主客观之间拟合的重要性不容小觑,除了能够衡量一个客观评价指标本身的好坏,更能帮助我们全方位地评估画面质量,使得各客观指标的主观感受趋于统一;另外,也能帮助我们为参数设置提供依据,在平衡压缩率与画质时,便于决策。
接下来就向大家分享一下微帧在日常训练中所做的拟合方法,并探讨一下其中的实用性。
主观质量评价
主观评分一般是由平均主观得分(mean opinion score, MOS)或平均主观得分差(difference mean opinion score, DMOS)来表示。
MOS,描述的是受损视频序列的平均主观得分,是通过对观察者的评分归一化来判断图像质量。
其中,N为参与评分的人数,S(i)为第i个人的评分
DMOS,描述人眼对无失真图像和有失真图像评价得分的差异取平均值,它更贴切的描述受损视频和原始视频的差异。
微帧根据日常训练做的拟合方法:
映射函数
一般情况下客观指标与主观指标都是单调函数,所以需要做一个映射函数,使得客观分尽可能与主观分接近,记客观分为x,主观分为y,也就是拟合某种函数关系:
其中p为待拟合的参数
f(x;p)通常有3种形式:多项式、分式或者带一次项的Logistics曲线。由于Logistics曲线的拐点较少,数值稳定性要好于多项式和分式,所以一般都是用其进行拟合,其形式如下:
其中tanh(x)为双曲正切函数
客观指标与主观指标的映射一般要考虑如下几个约束:
1)误差最小化
这是所有函数拟合都需要考虑的一个最基本的约束条件,就是要拟合后的函数值尽可能逼近主观分,写出公式的形式:
2)单调性一致
一般情况下我们需要客观分满足单调递增或单调递减,这个是很容易理解的,像SSIM这种客观分越大主观越好,对应的就是单调递增函数;或是MSE这种客观分越小,主观越好的就是单调递减。对于单调递减的情况只需要把客观分取个相反数就变成了单调递增,所以只需要考虑单调递增就可以了。写成公式的形式就是:
对于多项式或分式形式的拟合函数,极值点一般不好直接求解,简单的方法就是在定义域内均匀取点代替极值点,取的点越多计算量越多,准确性也越高;对于Logistics曲线则更为简单,由于其导函数为钟形曲线,所以其导数的最小值只会在两个端点,或是 x=-u/k 处取到,只要保证这3个点的导数都不小于0即可。
3)端点一致性
端点一致性就是考虑两种极端的情况客观分和主观分应该是一样的(客观分和主观分都提前归一化到[0,1]区间),也就是客观分为0或1的时候,对应的主观分也应该是0和1,写成公式的形式就是:
总体误差函数
最终总体误差函数为一个带约束的形式:
上式是一个带约束的最小二乘问题,可以转换为无约束的形式,然后用非线性最小二乘的求解算法进行求解。
使用上述方法对开源数据集进行拟合的结果:
* 公式及图例中的DMOS实际=100 - DMOS标准,为了方便表达,均用DMOS代替。
* 散点图中散点越集中,越接近拟合曲线,说明客观模型与主观感知的一致性越好。
① SSIM - DMOS
数据集采用的LIVE-release2中的jpeg和jpeg2000,拟合公式如下(下面两个公式均可):
②PSNR - DMOS
数据集采用的LIVE-release2中的jpeg和jpeg2000,拟合公式如下(下面两个公式均可):
③VMAF - DMOS
数据集采用的LIVE-release2中的jpeg和jpeg2000,拟合公式如下(下面两个公式均可):
最后总结并探讨实用性,表明几个观点:
1)拟合可更便捷分析质量差异。 客观分数与主观变化大致呈线性,才更便于理解分析质量差异。比如对于原始的PSNR,当分数在20~40之间变化时,主观变化明显,而分数在50分以上时,主观几乎没变化。尤其对于SSIM,平常我们计算出来的SSIM一般都在0.9以上,而两图之间的SSIM分数差距仅在0.00x或0.000x之间,相差太小,分析起来非常不方便,通过拟合做完映射之后,千分之一的对比就可以变成十分之一的对比。如下图,0.001的SSIM分值差异在主观上体现为约0.5的差异(图例进行了放大处理,实际中0.001的分值差在SSIM轴表现极小)。
2)拟合能将各个客观评价指标进行统一处理。各个客观指标对主观评价的尺度不同,SSIM的取值范围为0~1,PSNR的取值范围为0~+∞(一般会限制最大值为100),VMAF的取值范围为0~100,同样是相差0.01,在SSIM这里已经是非常巨大的差异,在PSNR和VMAF那里又是可以忽略的,这样单纯查看各指标分数来综合判断质量,准确度有所欠缺,但通过拟合就可以让各客观指标都映射到主观分数上,进行统一处理、判断。
3)为参数设置提供依据。单一给出一个客观分无法了解主观水平,比如80分以上可能主观还可以,95分以上表示非常不错。当我们调整了一个参数,SSIM提高了千分之一,对主观影响大概又有多少?但凭经验可能也无法判断。0.9分时候的千分之一,和 0.95分时候的千分之一,对主观影响也很不一样。通过映射到主观分数,可判断是否还有进一步向下压缩的空间,可以更好地指导编码器调整参数。