4xNomos2 OTF ESRGAN

4× photo upscaler that also cleans up JPEG compression and noise.

An ESRGAN upscaler fine-tuned from Real-ESRGAN x4plus on the Nomos-v2 photo dataset with on-the-fly degradations, so it removes compression and noise while it upscales.

Scale
4×
Parameters
16.7M
CPU time per 256 px tile
8.4s
ONNX file
67MB

Example output

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

After: Input: a 120 px street photo saved as a low-quality JPEG, enlarged with bicubic resizing. Output: the model's 4× result.
Before: Input: a 120 px street photo saved as a low-quality JPEG, enlarged with bicubic resizing. Output: the model's 4× result.
BeforeAfter
Input: a 120 px street photo saved as a low-quality JPEG, enlarged with bicubic resizing. Output: the model's 4× result.

Technical details

Architecture
ESRGAN (RRDBNet, 64 features, 23 blocks)
Fine-tuned from
Real-ESRGAN x4plus
Training data
Nomos-v2, 6,000 photos, on-the-fly degradations
Training
246,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
22 June 2024

Good for

  • Compressed photos
  • Old phone pictures
  • Images saved from the web

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 · Dartgeneral4xhigh.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/general4xhigh.onnx');

final result = await upscaler.upscaleImage(
  image,
  scale: 4,
  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
general4xhigh.onnx67.0 MB21905712a7963b95…
portrait4xhigh.onnx67.0 MB21905712a7963b95…

Related models

All models

Credits and license

Original model
4xNomos2 OTF ESRGAN
Created by
Philip Hofmann (Helaman)
License
CC-BY-4.0
Changes
None (the original ONNX export, renamed)

Check the license terms before using this model in a product. More permissive 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