IQA-PyTorch

👁️ 🖼️ 🔥PyTorch Toolbox for Image Quality Assessment, including LPIPS, FID, NIQE, NRQM(Ma), MUSIQ, TOPIQ, NIMA, DBCNN, BRISQUE, PI and more...

OTHER License

Downloads
21K
Stars
1.6K
Committers
6

Bot releases are visible (Hide)

IQA-PyTorch - pyiqa v0.1.11 Latest Release

Published by chaofengc 6 months ago

📢 Fix Bugs

  1. 🐛 fix topiq_nr-face multiple inference error
  2. 📝 update distributed train

✨ New features

You can now use pyiqa in terminal like this:

# list all available metrics
pyiqa -ls

# test with default settings
pyiqa [metric_name(s)] --target [image_path or dir] --ref [image_path or dir]
  1. ✨ add wadiqam pretrained models
  2. ✨ add qalign
  3. 🔨 add scandir_images func
  4. 🚩 add inception_score
  5. 🚩 add console entry point with pyiqa command

🛠️ Improvements

  1. add star-history
  2. 🔧 set seed for every forward in test mode

🍻 New Contributors

Many thanks to the valuable contributions 🤗 !

Full Changelog: https://github.com/chaofengc/IQA-PyTorch/compare/v0.1.10...v0.1.11

IQA-PyTorch - pyiqa v0.1.10

Published by chaofengc 10 months ago

📢 Fix Bugs

  1. fix vertical flip in data transforms 872e6ca3b8477187ae5eb9c4eab2e082ce0115be
  2. fix bug of fid calculation for different sizes 2da824daa7e84912ff1336048fab8d0fb51bd6dc
  3. fix maniqa hyperparameter error 33a28297236364a8db2916c1f64e97c545b6de24
  4. fix device handling 6b1547f61b1bb6493a73a42aa3fa5aa3e27a883d

✨ New features

  1. Add huggingface link to download datasets 031fafdfb248ffc45a08b9ae75ffd277a5efa53e
  2. Add liqe liqe_mix by @zwx8981
  3. Add nima-koniq and nima-spaq bd385c7d6cfe24c9be8f9d92c1919f98c49d9538

🛠️ Improvements

  1. Improve training pipeline 43fb3922c86651dcccf1a2ee70243a268ffca675
  2. Add more error messages in fid c36d31c25f1a059064e8fbee42f8b44df12c6469
  3. Improve error message for FR and demo codes 921bd753627ab3268094e2f970f784ba499c5ae3

🍻 New Contributors

Full Changelog: https://github.com/chaofengc/IQA-PyTorch/compare/v0.1.8...v0.1.10

IQA-PyTorch - pyiqa v0.1.8

Published by chaofengc about 1 year ago

📢 Fix Bugs

  1. Fix lower_better for FID be5d8c758e7699212e4b4ea6d68ac97e1c0381d6
  2. Change mad option test_y_channel to be false by default cf84ffba7031d2eafe6aabe8193fa8672a9b5638
  3. Set read rgb to true in inference model to force read RGB image ad93cd42455ef0aa7285ca980ee959b11111d728

✨ New features

  1. Add topiq_fr, topiq_nr, topiq_nr-face, topiq_iaa etc. introduced by our paper TOPIQ
  2. Add st-lpips by @abhijay9 in https://github.com/chaofengc/IQA-PyTorch/pull/93. Many thanks ❤️ !
  3. Add laion_aes introduced by LAION-Aesthetics_Predictor
  4. Add datasets PIQ2023, GFIQA f46faaec43df379ec2584c6c198d58fc8025c38e

🛠️ Improvements

  1. Add documents: https://iqa-pytorch.readthedocs.io
  2. Update to torchvision>=0.13, torch>=1.12
  3. Improve dataset api 6fbae36668f2a0826b70ce808f8bae8b0c0e717a
  4. Meta information files for training can be download automatically now.
  5. Update evaluation protocol and results 2770a7e55b5778222fbd7aa872336e3450edb7ea
  6. Update results of maniqa 7ee5ea6eaf78c0c3cb5b3b587df5fc75ae886783
  7. Add assertion for brisque to force gray input 4e2c707f4d43792a54399eccb558f1672e69ac70

New Contributors

Full Changelog: https://github.com/chaofengc/IQA-PyTorch/compare/v0.1.7...v0.1.8

IQA-PyTorch - pyiqa v0.1.7

Published by chaofengc over 1 year ago

📢 Important Changes & Bug Fix

  1. Fix verbose option in FID 49b2297af31d81be1fbef3ccf3407a3087d5f039
  2. Fix grad backpropagation for as_loss=True e027618de46a7f43238a210e35afd144eae07e47
  3. Fix niqe with gray scale input 212ecefebd466cac019a1678e1b3a4e0378face0

✨ New features

  1. Add metric uranker b142d1c3cca730e128f1b0935b2b96cd7cc7aec5
  2. Add metric maniqa-koniq, maniqa-kadid fe95923f9c48188c65666930048597b45c9046de
  3. Add metric clipscore for image-caption matching ecb3e5e58b47212655aa1e87d7faf162b5087788
  4. Add metric entropy to calculate gray scale image entropy like matlab 5f6d4fbc79d14d56b29c0a0c9c84baa8d33e78c5
  5. Add pytest cases for results calibration, datasets loading and gradient backward. bc5e13519491a1f9344feebaef16d0e07d67f873

🛠️ Improvements

  1. Recursively find images in folder for FID calculation d7ade54fd9d9e5c817604045795e533823b0d9dd
  2. Add metric output doc in model cards
IQA-PyTorch - Hotfix of NRQM & PI

Published by chaofengc over 1 year ago

🚨 Hotfix: NRQM & PI Calculation Bug Resolved

We have identified and resolved a critical bug in the NRQM calculation within our toolbox. The issue stemmed from the SSIM (Structural Similarity Index) function, where only the structure similarity score was being utilized. We apologize for any inconvenience this may have caused.

As a result of this bug, the PI, which is determined by the formula PI = 0.5 * (10 - NRQM + NIQE), was also affected.

With this hotfix, we have:

  • Updated the NRQM calculation to correctly incorporate all relevant components of the SSIM function.
  • Adjusted the PI calculation to reflect the corrected NRQM values.

We strongly recommend using the latest release to benefit from these crucial fixes.

If you encounter any issues or have further questions, please don't hesitate to reach out to our support team. Thank you for your understanding and continued support.

IQA-PyTorch - IQA-PyTorch v0.1.6

Published by chaofengc over 1 year ago

⚠️ Important Changes & Bug Fix

  1. Fix OOM on GPU for NRQM fcb7f6e0d4370da8afc5a9c9ad33daf7f61c4563
  2. Fix device problem for gradient calculation 08f88508f71eaf02234ebd04aeda091fdc3ab8e7
  3. Fix bug for small image test of NIQE 8d7462dafcff4ca463cc9a216ac1c15840d4fdf0
  4. Fix default dataset config 1baa70ee70c9c05747d2ba8b56bc3aa8f46fc7fd
  5. Fix clip installation error 53d176f695fb418946c9e29b7fb141267828541f
  6. feat: add psnry for y colorspace; ssimc for RGB ssim

New features

  1. Add CNNIQA, TreS
  2. Pass forward argument to inference model
  3. Add loss reduction when using metric as loss f03d7f1c5f1b9fdf0d8a08911a8b4edc7b034569

Improvements

  1. Update benchmark results
  2. Update clipiqa+
IQA-PyTorch - IQA-PyTorch v0.1.5

Published by chaofengc almost 2 years ago

⚠️ Fix bugs

  1. Fix FID bug
  2. Fix read meta info error in livechallenge.
  3. Fix shape error for NRQM
  4. Fix bug in nancov
  5. Add missing requirements package
  6. Fix link for lpips squeeze net version

New features

  1. Add MANIQA, AHIQ pretrained weights
  2. Add metric_mode option for list_models
  3. Add new metrics: FID, MANIQA
  4. Enable image path as inputs. See demo codes in README
  5. Add as_loss option to enable gradient backpropagation for metric. Default False.

Improvements

  1. Use epoch instead of iteration in lr scheduler
  2. Add clean_state_dict before loading pretrain model
IQA-PyTorch - IQA-PyTorch v0.1.4

Published by chaofengc over 2 years ago

New features

  1. Add new metrics: FID, MANIQA
  2. Enable image path as inputs. See demo codes in README
  3. Add as_loss option to enable gradient backpropagation for metric. Default False.

Fix bugs

  1. Fix rmse error
  2. Fix benchmark test with PieAPP

Improvements

  1. Disable gradient calculation by default for convenience.
  2. Add filter2 function to matlab utils
  3. Add reduction option to EMDLoss
  4. Add crop_border option to PSNR, SSIM
IQA-PyTorch - pyiqa v0.1.3 beta version

Published by chaofengc over 2 years ago

New features

  1. Add RMSE metric
  2. Add scale fitting option for calculation of PLCC and RMSE

Fix bugs

  1. Fix NIQE error when calculating images with large (>96 x 96) plain regions (regions with constant value). See #23
  2. Correct batch inference error for pieapp
  3. Fix compatibility of "torch.linalg.svd" for pytorch 1.9 #25

Improvements

  1. Improve function interface to match original matlab codes, including nanmean, nancov, blockproc, fspecial.
  2. Improve efficiency of symmetric padding, according to this link
  3. For pieapp, we change default stride to 27 for computation-performance trade off.
IQA-PyTorch - IQA-PyTorch v0.1.3 Alpha version

Published by chaofengc over 2 years ago

New features

  1. We add the following new metrics:
    • pieapp
    • paq2piq
    • dbcnn trained with our own splits and configurations
  2. Add SRCC based loss function

Important change

We change the default musiq weights from musiq-ava to musiq-koniq because it is more robust according to NR benchmark results

Fix bugs

  • Remove Lambda transform in dataset to enable distributed training
  • Fix paq2piq batch test error
IQA-PyTorch - IQA-PyTorch v0.1.2 Alpha version

Published by chaofengc over 2 years ago

Important Change

  • Change default color space from YCbCr to YIQ

New Features

  • Add NRQM, PI, ILNIQE metrics.
  • Add NIMA model trained on AVA
  • Add lower_better flag. This indicates whether a lower metric score is better.
IQA-PyTorch - IQA-PyTorch v0.1.1 Alpha version

Published by chaofengc over 2 years ago

Bug fix

  • Fix bugs in rgb2ycbcr

New Features

  • Use round in to_y_channel for more consistent results with matlab
  • Add NRQM metric
IQA-PyTorch - IQA-PyTorch v0.1.0 Alpha version

Published by chaofengc over 2 years ago

First experimental release version of pyiqa tools 😃 . It supports

  • Installation with pip install pyiqa
  • Several IQA metrics implemented with pure PyTorch. List supported metrics with pyiqa.list_models()

Hope this will help your research and project. We will add more features and pretrained models.
And welcome contribute, and report bugs ! 🍻

IQA-PyTorch - Pretrained Models Download

Published by chaofengc over 2 years ago

This release contains

  • All model parameters and weights from official implementations.
  • Data info files, including
    • .csv files: meta information of different datasets
    • .pkl files: train/split of different datasets