Based on the standard VMAF implementation we propose an implementation of VMAF using PyTorch framework. For this implementation comparisons with the standard (libvmaf) show the discrepancy $\lesssim 10^{-2}$ in VMAF units. We investigate gradients computation when using VMAF as an objective function and demonstrate that training using this function does not result in ill-behaving gradients. The implementation is then used to train a preprocessing filter. It is demonstrated that its performance is superior to the unsharp masking filter. The resulting filter is also easy for implementation and can be applied in video processing tasks for video copression improvement. This is confirmed by the results of numerical experiments.
翻译:基于标准VMAF实现,我们提出了一种采用PyTorch框架的VMAF实现方案。该实现与标准实现(libvmaf)的比对结果显示,两者差异不超过10^{-2}个VMAF单位。我们研究了将VMAF作为目标函数时的梯度计算,证明了使用该函数进行训练不会产生不良梯度行为。进一步利用该实现训练了预处理滤波器,实验表明其性能优于非锐化掩模滤波器。所获滤波器易于实现,可应用于视频压缩优化等视频处理任务中。数值实验结果验证了上述结论。