--- license: mit language: - en tags: - video-frame-interpolation - mobile-deployment - npu - int8-quantization - codec-motion-vectors library_name: pytorch pipeline_tag: image-to-image --- # ANVIL — Accelerator-Native Video Interpolation Pretrained weights and ONNX models for the ANVIL video frame interpolation system. ANVIL achieves 1080p INT8 real-time frame interpolation on mobile NPUs by replacing learned optical flow with codec motion vector prealignment, producing an NPU-friendly inference graph dominated by standard convolutions. ## Models | Model | Params | Vimeo90K PSNR | Xiph 1080p PSNR | HTP V75 INT8 (avg) | |-------|-------:|:-------------:|:---------------:|:-------------------:| | **ANVIL-S** | 855K | 33.45 dB | 29.65 dB | 12.8 ms | | **ANVIL-M** | 2.66M | 33.66 dB | 29.74 dB | 16.7 ms | | NAFNet-ceiling | 17.1M | 34.58 dB | 30.30 dB | — | Capacity sweep models (D-tiny through D-unet-l, 1.8K–289K params) are included under `checkpoints_capacity/`. ## File Structure ``` checkpoints/ D-unet-v3bs-nomv/best.pt # ANVIL-S (10 MB) D-unet-v3bm-nomv/best.pt # ANVIL-M (31 MB) D-nafnet-nomv/best.pt # NAFNet ceiling (197 MB) checkpoints_capacity/ D-tiny-nomv/best.pt # 1.8K params D-mini-nomv/best.pt # 10.6K params D-mid-nomv/best.pt # 33K params D-unet-s-nomv/best.pt # 129K params D-unet-l-nomv/best.pt # 289K params onnx/ D_unet_v3bs_nomv_1080p.onnx # ANVIL-S 1080p (BN fused) D_unet_v3bm_nomv_1080p.onnx # ANVIL-M 1080p (BN fused) ``` ## Usage ```bash git clone https://github.com/NihilDigit/anvil && cd anvil pixi install pixi run download-weights # downloads to artifacts/ pixi run reproduce-main-quality ``` ## Links - **Paper repository**: [github.com/NihilDigit/anvil](https://github.com/NihilDigit/anvil) - **Android demo**: [github.com/NihilDigit/mpv-android-anvil](https://github.com/NihilDigit/mpv-android-anvil) ## License MIT