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)的对比显示,其差异在VMAF单位中满足 $\lesssim 10^{-2}$。我们研究了将VMAF作为目标函数时的梯度计算问题,并证明使用该函数进行训练不会产生异常梯度行为。该实现随后被用于训练一个预处理滤波器。实验表明,其性能优于非锐化掩模滤波器。所得滤波器也易于实现,可应用于视频处理任务中以提升视频压缩效果。数值实验结果证实了这一点。