This repository is the official PyTorch implementation of "MDIQA: Unified Image Quality Assessment for Multi-dimensional Evaluation and Restoration".
(a) For Evaluation: our MDIQA achieves higher consistency with human subjective opinions and provides interpretable predictions through multi-dimensional quality modeling, in contrast to existing methods that output a single, opaque score.
(b) For Restoration: our MDIQA serves as a tunable loss for image restoration, where adjusting the weights of perceptual dimensions (e.g., sharpness or noisiness) enables adaptation to varying restoration preferences.
Illustration of our MDIQA. (a) Overall architecture of MDIQA. (b) The structure of each head. (c) MDIQA acted as No-Reference loss function for image restoration. (d) MDIQA acted as Full-Reference loss function for image restoration.
git clone https://github.com/YaoShunyu19/MDIQA.git
cd MDIQA
conda create -n mdiqa python=3.10
pip install -r requirements.txt
python setup.py develop
git clone https://github.com/mlfoundations/open_clip.git
cd open_clip
sed -i '93s/return x\[0\]/return x/' src/open_clip/modified_resnet.py
pip install -e .Download the checkpoints from Google Drive
train backbone and head:
python MDIQA/train_shared.py -opt MDIQA/options_MDIQA/aesthetic/train_spaq_5_tech_CFANet.yml
python MDIQA/train_shared.py -opt MDIQA/options_MDIQA/aesthetic/train_para_4_aes_CFANet.ymltrain overall iqa:
python MDIQA/train_MDIQA.py -opt MDIQA/options_MDIQA/benchmark_experiments/train_MDIQA_koniq.ymltrain cross dataset:
python MDIQA/train_MDIQA.py -opt MDIQA/options_MDIQA/benchmark_experiments/train_MDIQA_xd_koniq.ymlTo use MDIQA for restoration, please refer to BasicSR and MDIQA/BasicSR/options/train/RealESRGAN/finetune_realesrgan_x4plus.yml.
You can download the datasets here.
@misc{yao2025mdiqaunifiedimagequality,
title={MDIQA: Unified Image Quality Assessment for Multi-dimensional Evaluation and Restoration},
author={Shunyu Yao and Ming Liu and Zhilu Zhang and Zhaolin Wan and Zhilong Ji and Jinfeng Bai and Wangmeng Zuo},
year={2025},
eprint={2508.16887},
archivePrefix={arXiv},
primaryClass={cs.CV},
url={https://arxiv.org/abs/2508.16887},
}Thanks for the work of IQA-PyTorch and BasicSR. Our code is based on the implementation of them.

