Skip to content
ModelListedExternal
Download

IQA ONNX Models

Pre-converted ONNX models for No-Reference Image Quality Assessment (NR-IQA), exported from IQA-PyTorch and ready for deployment with ONNX Runtime (no PyTorch dependency needed).

KindOtherVersionRevision 2e32ab1

Model source

Kind
Other
File size
99.8 KB–436 MB
Version
vRevision 2e32ab1
Updated
Sep 28, 2026
Downloads
0
Source
Hugging Face

Source description

IQA ONNX Models

Pre-converted ONNX models for No-Reference Image Quality Assessment (NR-IQA), exported from IQA-PyTorch and ready for deployment with ONNX Runtime (no PyTorch dependency needed).

Models

ModelInput SizeFilesTotal SizeScore RangeDescription
LIQE224×224clip_model.onnx + liqe_model.onnx + text_features.json~675 MB1–5CLIP-based learned quality & scene & distortion assessment
DBCNN224×224dbcnn_model.onnx~59 MB0–100Double-blind CNN with VGG16 + SCNN bilinear pooling
HyperIQA224×224hyperiqa_model.onnx~105 MB0–1Hyper-network based quality prediction on ResNet50
MANIQA224×224maniqa_model.onnx~437 MBcontinuousMulti-dimension Attention Network with ViT backbone
MUSIQ224×224musiq_model.onnx~104 MB0–100Multi-scale Image Quality Transformer (single-scale export)
TReS224×224tres_model.onnx~575 MB0–100Transformer + ResNet ensemble with relative ranking
CLIPIQA224×224clipiqa_model.onnx~146 MB0–1CLIP-IQA+ with learned prompts and antialias RN50

Most models use external data format (.onnx + .onnx.data). Both files must be in the same directory for loading.

Quick Start

import onnxruntime as ort
import numpy as np
from PIL import Image

# Load model
sess = ort.InferenceSession("dbcnn_model.onnx")

# Preprocess: resize to 224x224, normalize with ImageNet mean/std
img = Image.open("test.jpg").convert("RGB").resize((224, 224))
x = np.array(img).astype(np.float32) / 255.0
mean = np.array([0.485, 0.456, 0.406])
std = np.array([0.229, 0.224, 0.225])
x = (x - mean) / std
x = x.transpose(2, 0, 1)[np.newaxis]  # (1, 3, 224, 224)

# Run inference
score = sess.run(None, {"input": x.astype(np.float32)})[0]
print(f"Quality score: {score.item():.4f}")

Preprocessing

ModelNormalizationNotes
DBCNN, HyperIQA, TReSImageNet: mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]Standard ImageNet
MANIQAInception: mean=[0.5, 0.5, 0.5], std=[0.5, 0.5, 0.5]
MUSIQ[-1, 1]: (x - 0.5) / 0.5Equivalent to Inception
CLIPIQACLIP: mean=[0.48145466, 0.4578275, 0.40821073], std=[0.26862954, 0.26130258, 0.27577711]
LIQECLIP: same as CLIPIQATwo-stage: CLIP encoder → LIQE scorer

For multi-crop inference (recommended for HyperIQA, MANIQA, TReS), extract multiple 224×224 crops from the full-resolution image and average the scores.

LIQE Usage

LIQE requires a two-stage pipeline:

import json
import onnxruntime as ort
import numpy as np

# Load both models and text features
clip_sess = ort.InferenceSession("clip_model.onnx")
liqe_sess = ort.InferenceSession("liqe_model.onnx")
with open("text_features.json") as f:
    text_features = np.array(json.load(f), dtype=np.float32)

# Step 1: Extract image features with CLIP
img_input = preprocess_clip(image)  # (1, 3, 224, 224)
img_features = clip_sess.run(None, {"input": img_input})[0]

# Step 2: Score with LIQE
score = liqe_sess.run(None, {
    "image_features": img_features,
    "text_features": text_features
})[0]

Verification Results

All models verified against PyTorch source (absolute difference < 0.01):

ModelPyTorch ScoreONNX ScoreAbs Diff
LIQE——< 0.001
DBCNN——0.000011
HyperIQA——0.00000003
MANIQA——0.000019
MUSIQ——0.000025
TReS——0.000439
CLIPIQA——0.000002

Export Details

  • Source: IQA-PyTorch v0.1.15
  • PyTorch version: 2.10.0+cu128
  • ONNX opset: 14–18 (varies by model)
  • Pretrained on: KonIQ-10k (all models)
  • Export mode: eval-only forward pass (no training-specific branches)

Per-Model Conversion Details

ModelPaperConferenceONNX FilesExport Notes
LIQEBlind Image Quality Assessment via Vision-Language CorrespondenceCVPR 2023clip_model.onnx liqe_model.onnx text_features.jsonTwo-stage: CLIP ViT-B/32 image encoder + LIQE scoring head; text features pre-encoded to JSON
DBCNNBlind Image Quality Assessment Using A Deep Bilinear CNNIEEE TCSVT 2020dbcnn_model.onnxVGG16 + SCNN with bilinear pooling; both sub-networks exported as single model
HyperIQABlindly Assess Image Quality in the Wild Boosted by A Large-scale DatabaseCVPR 2020hyperiqa_model.onnxResNet50 backbone with hyper-network; exported forward patch path only
MANIQAMANIQA: Multi-dimension Attention Network for No-Reference Image Quality AssessmentCVPR 2022 NTIREmaniqa_model.onnxViT-B/8 backbone; single-file export (no external data)
MUSIQMUSIQ: Multi-scale Image Quality TransformerICCV 2021musiq_model.onnxSimplified to single-scale 224×224 input (original uses multi-scale patches)
TReSNo-Reference Image Quality Assessment via Transformers, Relative Ranking, and Self-ConsistencyWACV 2022tres_model.onnxEval-only path; dual-path consistency and flip branches removed
CLIPIQAExploring CLIP for Assessing the Look and Feel of ImagesAAAI 2023clipiqa_model.onnxCLIP-IQA+ variant with learned prompts baked into the model; antialias RN50 backbone

File List

clip_model.onnx           # LIQE CLIP image encoder
clip_model.onnx.data
liqe_model.onnx           # LIQE scoring head
liqe_model.onnx.data
text_features.json        # LIQE pre-encoded text prompts
dbcnn_model.onnx          # DBCNN
dbcnn_model.onnx.data
hyperiqa_model.onnx       # HyperIQA
hyperiqa_model.onnx.data
maniqa_model.onnx         # MANIQA (single file, no .data)
musiq_model.onnx          # MUSIQ
musiq_model.onnx.data
tres_model.onnx           # TReS
tres_model.onnx.data
clipiqa_model.onnx        # CLIPIQA+
clipiqa_model.onnx.data

Citation

If you use these models, please cite the original papers and the IQA-PyTorch toolbox:

@article{chaofeng2022iqapytorch,
  title={IQA-PyTorch: PyTorch Toolbox for Image Quality Assessment},
  author={Chaofeng Chen and Jiadi Mo},
  year={2022},
  journal={arXiv preprint arXiv:2208.14818}
}

License

Apache 2.0. Original model weights are subject to their respective licenses.

Sources

1 source
Hugging FacePrimaryVersion 2e32ab1ad40c592da9d199f4c7fb8a2383bbae94
huggingface.co/86Cao/IQA-ONNX-Models/tree/2e32ab1ad40c592da9d199f4c7fb8a2383bbae94

Verified Sep 28

Model artifacts

8 artifacts

clip_model.onnx

onnx · 1.14 MB · SHA-256 b90d49cd8f3e…eba1 · Hugging Face

Download

clipiqa_model.onnx

onnx · 400 KB · SHA-256 4f959db3c321…ac37 · Hugging Face

Download

dbcnn_model.onnx

onnx · 99.8 KB · SHA-256 2a679a6264bf…bc3f · Hugging Face

Download

hyperiqa_model.onnx

onnx · 377 KB · SHA-256 b1f4f3ab88c6…8d3d · Hugging Face

Download

liqe_model.onnx

onnx · 1.41 MB · SHA-256 fab87cfdec74…77ed · Hugging Face

Download

maniqa_model.onnx

onnx · 436 MB · SHA-256 a26523f01378…9919 · Hugging Face

Download

musiq_model.onnx

onnx · 1.13 MB · SHA-256 a25cf5f0f108…5120 · Hugging Face

Download

tres_model.onnx

onnx · 483 KB · SHA-256 d32079095108…65b6 · Hugging Face

Download

Source excerpts

2 excerpts

--- license: apache-2.0 tags: - image-quality-assessment - onnx - iqa - no-reference language: - en library_name: onnxruntime pipeline_tag: image-classification --- # IQA ONNX Models Pre-converted ONNX models for **No-Reference Image Quality Assessment (NR-IQA)**, exported from [IQA-PyTorch](https://github.com/chaofengc/IQA-PyTorch) and ready for deployment with ONNX Runtime (no PyTorch dependency needed). ## Models | Model | Input Size | Files | Total Size | Score Range | Description | |-------|-----------|-------|------------|-------------|-------------| | **[LIQE](https://arxiv.org/abs/2304.00451)** | 224×224 | `clip_model.onnx` + `liqe_model.onnx` + `text_features.json` | ~675 MB | 1–5 | CLIP-based learned quality & scene & distortion assessment | | **[DBCNN](https://arxiv.org/abs/1907.02665)** | 224×224 | `dbcnn_model.onnx` | ~59 MB | 0–100 | Double-blind CNN with VGG16 + SCNN bilinear pooling | | **[HyperIQA](https://arxiv.org/abs/2003.08932)** | 224×224 | `hyperiqa_model.onnx` | ~105 MB | 0–1 | Hyper-network based quality prediction on ResNet50 | | **[MANIQA](https://arxiv.org/abs/2204.08958)** | 224×224 | `maniqa_model.onnx` | ~437 MB | continuous | Multi-dimension Attention Network with ViT backbone | | **[MUSIQ](https://arxiv.org/abs/2108.05997)** | 224×224 | `musiq_model.onnx` | ~104 MB | 0–100 | Multi-scale Image Quality Transformer (single-scale export) | | **[TReS](https://arxiv.org/abs/2108.06858)** | 224×224 | `tres_model.onnx` | ~575 MB | 0–100 | Transformer + ResNet ensemble with relative ranking | | **[CLIPIQA](https://arxiv.org/abs/2207.12396)** | 224×224 | `clipiqa_model.onnx` | ~146 MB | 0–1 | CLIP-IQA+ with learned prompts and antialias RN50 | > Most models use external data format (`.onnx` + `.onnx.data`). **Both files must be in the same directory** for loading. ## Quick Start ```python import onnxruntime as ort import numpy as np from PIL import Image # Load model sess = ort.InferenceSession("dbcnn_model.onnx") # Preprocess: resize to 224x224, normalize with ImageNet mean/std img = Image.open("test.jpg").convert("RGB").resize((224, 224)) x = np.array(img).astype(np.float32) / 255.0 mean = np.array([0.485, 0.456, 0.406]) std = np.array([0.229, 0.224, 0.225]) x = (x - mean) / std x = x.transpose(2, 0, 1)[np.newaxis] # (1, 3, 224, 224) # Run inference score = sess.run(None, {"input": x.astype(np.float32)})[0] print(f"...

Source context: 0 downloads · 0 likes · Pipeline image-classification · Library onnxruntime · Repo 86Cao/IQA-ONNX-Models