# VMAF Re-implementation on PyTorch: Some Experimental Results

arXiv: https://arxiv.org/abs/2310.15578 · HTML: https://mlsanity.com/paper/2310.15578/

## Key facts

- Cited by 4 papers in the map (data through 14 Oct 2026).
- Builds on 8 of its 21 references that are in the map.
- First posted on arXiv 24 Oct 2023.

## Builds on (most cited first, 8 of 8)

- [Neural Discrete Representation Learning](https://mlsanity.com/paper/1711.00937/) (2017)
- [Estimating or Propagating Gradients Through Stochastic Neurons for Conditional Computation](https://mlsanity.com/paper/1308.3432/) (2013)
- [Quantization and Training of Neural Networks for Efficient Integer-Arithmetic-Only Inference](https://mlsanity.com/paper/1712.05877/) (2017)
- [Automatic differentiation in machine learning: a survey](https://mlsanity.com/paper/1502.05767/) (2015)
- [ProxIQA: A Proxy Approach to Perceptual Optimization of Learned Image Compression](https://mlsanity.com/paper/1910.08845/) (2019)
- [Differentiable JPEG: The Devil is in the Details](https://mlsanity.com/paper/2309.06978/) (2023)
- [One Transform To Compute Them All: Efficient Fusion-Based Full-Reference Video Quality Assessment](https://mlsanity.com/paper/2304.03412/) (2023)
- [Hacking VMAF and VMAF NEG: vulnerability to different preprocessing methods](https://mlsanity.com/paper/2107.04510/) (2021)

## Built on by (most cited first, 4 of 4)

- [SIEDD: Shared-Implicit Encoder with Discrete Decoders](https://mlsanity.com/paper/2506.23382/) (2025)
- [Towards properties of adversarial image perturbations](https://mlsanity.com/paper/2503.14111/) (2025)
- [SCENE: Semantic-aware Codec Enhancement with Neural Embeddings](https://mlsanity.com/paper/2601.22189/) (2026)
- [Implicit neural representation of textures](https://mlsanity.com/paper/2602.02354/) (2026)

## Abstract (arXiv)

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.
