ArtCNN

January 29, 2026 ยท View on GitHub

Overview

ArtCNN is a collection of simple SISR CNNs aimed at anime content.

Two distinct architectures are currently offered:

  • C: Original ArtCNN models optimised mostly for speed. These should only be used for real-time tasks like video playback. The architecture consists of a series of convolution layers aided by a single long-skip connection. Offered in the ONNX format and as GLSL shaders. ArtCNN Architecture

  • R: Bigger models aimed mostly at non real-time tasks like rescaling. On top of having more filters per convolution layer, the architecture was also made much deeper with the help of residual blocks and short-skip connections. Offered only in the ONNX format. ArtCNN Architecture

Models

4 configurations are currently offered:

ModelArchitectureResidual Blocks/LayersFiltersParameter CountRecommended Usage
R16F96R1696~4mHighest-quality reconstruction for non real-time tasks
R8F64R864~926kBalanced option for non real-time tasks
C4F32C432~48kReal-time tasks if hardware allows
C4F16C416~12kLightweight option for real-time tasks

Regarding the suffixes:

  • Models without any suffixes are neutral luma doublers.
  • DS: Luma doublers trained to denoise and sharpen.
  • DN: Luma doublers trained to denoise and soften.
  • Chroma: Trained to reconstruct chroma. These are intended to be used on 4:2:0 BT.709 YCbCr content, and chroma must be upscaled with bilinear first.
  • Chroma_DN: Trained to reconstruct and denoise chroma. These are intended to be used on noisy 4:2:0 BT.709 YCbCr content, and chroma must be upscaled with bilinear first.
  • JPEG444: Trained to clean JPEG artifacts. These are intended to be used on 4:4:4 JPEGs.
  • JPEG420: Trained to clean JPEG artifacts. These are intended to be used on 4:2:0 JPEGs.

You may occasionally find some experimental models under the Experiments directory.

mpv Instructions

Add something like this to your mpv config:

vo=gpu-next
glsl-shader="path/to/shader/ArtCNN_C4F32_DS.glsl"

VapourSynth Instructions

ArtCNN is supported by vs-mlrt, with an easy-to-use wrapper in vs-jetpack. Please follow the instructions found there.

Alternatively, can also run the GLSL shaders with vs-placebo.

Examples

ArtCNN Example