๐ผ๏ธ Thanawanit's Upscale ONNX Models Collection
This repository contains a curated set of 8 ONNX models optimized for image and video upscaling. The collection includes models tuned for anime line-art, live-action content, denoising, sharpening, and compression artifact removal.
๐ฆ Included Models
| Model File | Scale | Category / Type | Original License | Notes |
|---|---|---|---|---|
Adore_2x.onnx |
2x | Anime / Line Art | Unknown | Fast compact model; clears blur and sharpens anime line art. |
Ani4Kv2_2x.onnx |
2x | Ani4Kv2 Project | CC BY-NC 4.0 | Compact variant; excellent for preserving depth-of-field and smooth textures. |
Balanced_2x.onnx |
2x | General Purpose | Unknown | Fast, versatile, and balanced general-purpose upscaler. |
LiveActionV1_2x.onnx |
2x | Live-Action / SPAN | Unknown | SPAN architecture model tuned for live-action videos, real faces, and movies. |
RealESRGAN_2x.onnx |
2x | Xintao Wang | BSD 3-Clause | Compact Real-ESRGAN; fast, stable, and reliable. |
Strong_v1.5.onnx |
2x | Rescue / De-artifact | Unknown | "Rescue" model for heavily compressed or low-quality inputs. |
Strong_v2.5.onnx |
2x | Smooth / VFX | Unknown | Smooth sharpness; great for VFX-heavy edits and video. |
Strong_v3.onnx |
2x | Sharp / Detail | Unknown | Maximum edge sharpness and detail enhancement. |
Important: Several models (Adore, Balanced, LiveAction, Strong series) have unknown original licenses. They are included here for research and personal use only. If you are the original creator and would like them removed or properly attributed, please open an issue.
๐ Overall License
This collection as a whole is distributed under the Creative Commons AttributionโNonCommercialโShareAlike 4.0 International license (CC BYโNCโSA 4.0).
However, individual models retain their original licenses (see table above). Commercial use may require separate permission from the original authors.
๐ Usage
All models are provided in the ONNX format and can be used directly with ONNX Runtime.
Python Example
import onnxruntime as ort
import cv2
import numpy as np
# Load model (e.g., Balanced_2x.onnx)
sess = ort.InferenceSession("Balanced_2x.onnx", providers=['CUDAExecutionProvider', 'CPUExecutionProvider'])
# Preprocess image
img = cv2.imread("input.jpg").astype(np.float32) / 255.0
img = img.transpose(2, 0, 1)[np.newaxis, ...]
# Run inference
input_name = sess.get_inputs()[0].name
output_name = sess.get_outputs()[0].name
output = sess.run([output_name], {input_name: img})[0]
# Postprocess image
output = (output.squeeze().transpose(1, 2, 0) * 255).clip(0, 255).astype(np.uint8)
cv2.imwrite("output.png", output)