# Model Cards for IQA-PyTorch ## General FR/NR Methods List all model names with: ``` import pyiqa print(pyiqa.list_models()) ``` | FR Method | Model names | Description | Score Direction | | ------------------------ | ---------------------------------------------------------------------- | ---------------------------------------------------------- | ---------------- | | DMM | `dmm` | Published in [TMM](https://ieeexplore.ieee.org/abstract/document/10886996) | Higher is better | | TOPIQ | `topiq_fr`, `topiq_fr-pipal` | Proposed in [this paper](https://arxiv.org/abs/2308.03060) | Higher is better | | AHIQ | `ahiq` | | Higher is better | | PieAPP | `pieapp` | | Lower is better | | LPIPS | `lpips`, `lpips-vgg`, `stlpips`, `stlpips-vgg`, `lpips+`, `lpips-vgg+` | | Lower is better | | DISTS | `dists` | | Lower is better | | WaDIQaM | `wadiqam_fr` | | Higher is better | | CKDN[1](#fn1) | `ckdn` | | Higher is better | | FSIM | `fsim` | | Higher is better | | SSIM | `ssim`, `ssimc` | Gray input (y channel), color input | Higher is better | | MS-SSIM | `ms_ssim` | | Higher is better | | CW-SSIM | `cw_ssim` | | Higher is better | | PSNR | `psnr`, `psnry` | Color input, gray input (y channel) | Higher is better | | VIF | `vif` | | Higher is better | | GMSD | `gmsd` | | Lower is better | | NLPD | `nlpd` | | Lower is better | | VSI | `vsi` | | Higher is better | | MAD | `mad` | | Lower is better | | NR Method | Model names | Description | Score Direction | |------------------------------|---------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------- | ---------------- | | Q-Align | `qalign` (with quality[default], aesthetic options) | Large vision-language models | Higher is better | | QualiCLIP(+) | `qualiclip`, `qualiclip+`, `qualiclip+-clive`, `qualiclip+-flive`, `qualiclip+-spaq` | [QualiCLIP(+)](https://arxiv.org/abs/2403.11176) with different datasets, `koniq` by default | Higher is better | | MACLIP | `maclip` | CLIP based method | Higher is better | | LIQE | `liqe`, `liqe_mix` | CLIP based method | Higher is better | | ARNIQA | `arniqa`, `arniqa-live`, `arniqa-csiq`, `arniqa-tid`, `arniqa-kadid`, `arniqa-clive`, `arniqa-flive`, `arniqa-spaq` | [ARNIQA](https://arxiv.org/abs/2310.14918) with different datasets, `koniq` by default | Higher is better | | TOPIQ | `topiq_nr`, `topiq_nr-flive`, `topiq_nr-spaq` | [TOPIQ](https://arxiv.org/abs/2308.03060) with different datasets, `koniq` by default | Higher is better | | TReS | `tres`, `tres-flive` | TReS with different datasets, `koniq` by default | Higher is better | | FID | `fid` | Statistic distance between two datasets | Lower is better | | CLIPIQA(+) | `clipiqa`, `clipiqa+`, `clipiqa+_vitL14_512`,`clipiqa+_rn50_512` | CLIPIQA(+) with different backbone, RN50 by default | Higher is better | | FGResQ | `fgresq`, `fgresq_pair` | `fgresq` gives single-image quality; `fgresq_pair` takes two images and returns `(quality0, quality1, rank, rank_prob)` | Higher is better | | MANIQA | `maniqa`, `maniqa-kadid`, `maniqa-pipal` | MUSIQ with different datasets, `koniq` by default | Higher is better | | MUSIQ | `musiq`, `musiq-spaq`, `musiq-paq2piq`, `musiq-ava` | MUSIQ with different datasets, `koniq` by default | Higher is better | | DBCNN | `dbcnn` | | Higher is better | | PaQ-2-PiQ | `paq2piq` | | Higher is better | | HyperIQA | `hyperiqa` | | Higher is better | | MetaIQA | `metaiqa` | | Higher is better | | NIMA | `nima`, `nima-vgg16-ava` | Aesthetic metric trained with AVA dataset | Higher is better | | WaDIQaM | `wadiqam_nr` | | Higher is better | | CNNIQA | `cnniqa` | | Higher is better | | NRQM(Ma)[2](#fn2) | `nrqm` | No backward | Higher is better | | PI(Perceptual Index) | `pi` | No backward | Lower is better | | BRISQUE | `brisque`, `brisque_matlab` | No backward | Lower is better | | ILNIQE | `ilniqe` | No backward | Lower is better | | NIQE | `niqe`, `niqe_matlab` | No backward | Lower is better | | PIQE | `piqe` | No backward | Lower is better | [1] This method use distorted image as reference. Please refer to the paper for details.
[2] Currently, only naive random forest regression is implemented and **does not** support backward. ## IQA Methods for Specific Tasks | Task | Method | Description | Score Direction | | -------------- | --------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------- | | Color IQA | `msswd` | Perceptual color difference metric MS-SWD, ECCV2024, [Arxiv](http://arxiv.org/abs/2407.10181), [Github](https://github.com/real-hjq/MS-SWD) | Lower is better | | Face IQA | `topiq_nr-face` | TOPIQ model trained with face IQA dataset (GFIQA) | Higher is better | | Underwater IQA | `uranker` | A ranking-based underwater image quality assessment (UIQA) method, AAAI2023, [Arxiv](https://arxiv.org/abs/2208.06857), [Github](https://github.com/RQ-Wu/UnderwaterRanker) | Higher is better | ## Metric Output Score Range **Note: `~` means that the corresponding numeric bound is typical value and not mathematically guaranteed** You can now access the **rough** output range of each metric like this: ``` metric = pyiqa.create_metric('lpips') print(metric.score_range) ```