← all repositories
chaofengc/IQA-PyTorch

One PyTorch toolbox to replace a shelf of MATLAB scripts

It corrals dozens of scattered image quality metrics into a single, GPU-accelerated PyTorch API so you can stop porting MATLAB scripts.

3.3k stars Python Computer VisionML Frameworks
IQA-PyTorch
Not currently ranked — collecting fresh signals.
star history

What it does

pyiqa is a comprehensive toolbox that reimplements popular full-reference (LPIPS, SSIM, FID) and no-reference (BRISQUE, NIQE, MUSIQ) image quality metrics in pure Python and PyTorch. It exposes them through a unified factory interface and can load official weights or custom checkpoints. The project also bundles dataset loaders and benchmark protocols to standardize evaluation.

The interesting bit

The maintainers calibrate their Python outputs against the original MATLAB implementations where possible, which is the boring part that matters: it means you can swap a metric into a training pipeline without silently shifting the numerical target. Several metrics can also flip into loss-function mode, though backpropagation support varies by model.

Key highlights

  • Calibrated against official MATLAB scripts to keep scores consistent with published literature.
  • GPU-accelerated implementations that the authors claim run much faster than their MATLAB counterparts.
  • Unified API for both full-reference and no-reference metrics, with optional loss-function mode.
  • Built-in dataset configs and Hugging Face integration for common IQA benchmarks.
  • Active model zoo tracking recent methods like TOPIQ, MUSIQ, and QualiCLIP.

Caveats

  • Not all metrics support gradient propagation; using one as a loss function requires checking lower_better and the Model Card first.
  • Weight loading has a quirk: checkpoints trained inside this package store weights under weight_dict['params'], while external weights need weight_keys=None.
  • Datasets are aggregated for academic use, but licensing terms still belong to the original creators.

Verdict

Researchers and generative-model engineers who need rigorous, comparable image quality scores should look here. If you only need a quick PSNR one-liner, it is probably overkill.

Frequently asked

What is chaofengc/IQA-PyTorch?
It corrals dozens of scattered image quality metrics into a single, GPU-accelerated PyTorch API so you can stop porting MATLAB scripts.
Is IQA-PyTorch open source?
Yes — chaofengc/IQA-PyTorch is an open-source project tracked on heatdrop.
What language is IQA-PyTorch written in?
chaofengc/IQA-PyTorch is primarily written in Python.
How popular is IQA-PyTorch?
chaofengc/IQA-PyTorch has 3.3k stars on GitHub.
Where can I find IQA-PyTorch?
chaofengc/IQA-PyTorch is on GitHub at https://github.com/chaofengc/IQA-PyTorch.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.