2xVHS2HD

2× restoration for VHS-quality images: less haloing, ghosting and noise.

A RealPLKSR model built to restore VHS recordings by reducing halos, ghosting and noise patterns while upscaling 2×. It also works well on soft, low-quality photos.

Scale
2×
Parameters
7.4M
CPU time per 256 px tile
3.8s
ONNX file
30MB

Example output

Drag the handle to compare. Produced by running this model.

After: Input: a 240 px frame with VHS-style softness, colour bleed and noise. Output: the model's 2× result.
Before: Input: a 240 px frame with VHS-style softness, colour bleed and noise. Output: the model's 2× result.
BeforeAfter
Input: a 240 px frame with VHS-style softness, colour bleed and noise. Output: the model's 2× result.

Technical details

Architecture
RealPLKSR (partial large kernel CNN)
Training data
Movies and private films
Training
385,000 iterations
ONNX build
FP32, opset 17, any image size
Input
RGB, NCHW, values 0–1
Benchmark
ONNX Runtime CPU, Apple M2 Pro
Original release
27 August 2024

Good for

  • VHS and video frames
  • Soft, low-quality photos
  • Halo and ghosting removal

Run it in Flutter

This model runs as-is with our open-source flutter_super_resolution package (MIT), which tiles large images and uses Core ML on Apple devices when available. It works on iOS, Android (ARM devices), macOS and Windows.

pubspec.yaml · Dartgeneral2xhigh.onnx
dependencies:
  flutter_super_resolution: ^1.1.1

// Load the model, then upscale a ui.Image
final upscaler = FlutterUpscaler(tileSize: 128, overlap: 8);
await upscaler.initializeModel('assets/models/general2xhigh.onnx');

final result = await upscaler.upscaleImage(
  image,
  scale: 2,
  onProgress: (progress, message) => print('$message ${(progress * 100).round()}%'),
);

upscaler.dispose();

Files in our release

The same model can ship under more than one name. Check the SHA-256 to confirm a download.

FileSizeSHA-256
general2xhigh.onnx29.9 MB1ccfc3bcca6487a5…
portrait2xhigh.onnx29.9 MB1ccfc3bcca6487a5…

Related models

All models

Credits and license

Original model
2xVHS2HD
Created by
asterixcool (Starinspace)
Changes
Converted from PyTorch to an FP32 ONNX file

Shared under CC BY-SA 4.0: if you adapt this model, share the result under the same license.

Check the license terms before using this model in a product. More copyleft models

Building with AI?

Our models are available as APIs for teams who want to build on them. Tell us what you're working on.

Get in touch