Skip to content

HiRQA: Hierarchical Ranking and Quality Alignment for Opinion-Unaware IQA

Notifications You must be signed in to change notification settings

uf-robopi/HiRQA

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

HiRQA: Hierarchical Ranking and Quality Alignment for Opinion-Unaware Image Quality Assessment

This repository provides the official implementation of HiRQA, an opinion-unaware no-reference image quality assessment (NR-IQA) framework. HiRQA structures a hierarchical quality-aware embedding space using a novel pair-of-pairs ranking loss, embedding distance consistency loss, and contrastive alignment of image and text. It requires only a single distorted image during inference and generalizes effectively to real-world distortions. It also supports real-time quality prediction via its lightweight variant, HiRQA-S.

Paper:

HiRQA: Hierarchical Ranking and Quality Alignment for Opinion-Unaware Image Quality Assessment Vaishnav Ramesh, Haining Wang, Md Jahidul Islam

HiRQA Inference Pipeline


Installation

git clone https://github.com/uf-robopi/HiRQA.git
cd HiRQA

conda create -n hirqa python=3.10 -y
conda activate hirqa

conda install pytorch torchvision cudatoolkit=11.8 -c pytorch -c nvidia
pip install -r requirements.txt

Pretrained Weights

We provide pretrained weights for:

  • HiRQA (ResNet50))
  • HiRQA-S (ResNet18)

You can download weights from Dropbox. Use the --ckpt argument during inference.


Inference

To run HiRQA on benchmark datasets, first prepare the datasets as specified in their respective documentation. Then, provide the root directory as a parameter to the inference script.

python inference_iqa_dataset.py --dataset live  --dataset_path /path/to/dataset/root --model HiRQA --ckpt /path/to/HiRQA.pth

Arguments:

  • --dataset: dataset name [ live, csiq, tid2013, kadid10k, livec, koniq10k, flive, spaq ]
  • --dataset_path: Path to the root folder of benchmark dataset
  • --model: Model backbone (HiRQA or HiRQA-S)
  • --ckpt: Path to HiRQA or HiRQA-S .pth model

To run HiRQA on single image.

python single_image_inference.py --img_path /path/to/image  --model HiRQA --ckpt /path/to/HiRQA.pth

Citation

@misc{ramesh2025hirqahierarchicalrankingquality,
      title={HiRQA: Hierarchical Ranking and Quality Alignment for Opinion-Unaware Image Quality Assessment}, 
      author={Vaishnav Ramesh and Haining Wang and Md Jahidul Islam},
      year={2025},
      eprint={2508.15130},
      archivePrefix={arXiv},
      primaryClass={cs.CV},
      url={https://arxiv.org/abs/2508.15130}, 
}

Acknowledgements

We thank the authors of ARNIQA for their image degradation model and CLIP for their text encoder used during training for alignment. We also thank the contributors of KADIS-700k and other benchmark IQA datasets used in this work.


About

HiRQA: Hierarchical Ranking and Quality Alignment for Opinion-Unaware IQA

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages