No-reference Image Quality Assessment(NIQA) Algorithms (BRISQUE, NIQE, PIQE, RankIQA, MetaIQA)

Overview

No-Reference Image Quality Assessment Algorithms


No-reference Image Quality Assessment(NIQA) is a task of evaluating an image without a reference image. Since the evaluation algorithm learns the features of good quality images and scores input images, a training process is required.

Teaser


1. Target Research Papers

  1. BRISQUE: Mittal, Anish, Anush Krishna Moorthy, and Alan Conrad Bovik. "No-reference image quality assessment in the spatial domain." IEEE Transactions on Image Processing (TIP) 21.12 (2012): 4695-4708.

  2. NIQE: Mittal, Anish, Rajiv Soundararajan, and Alan C. Bovik. "Making a “completely blind” image quality analyzer." IEEE Signal Processing Letters (SPL) 20.3 (2012): 209-212.

  3. PIQE: Venkatanath, N., et al. "Blind image quality evaluation using perception based features." 2015 Twenty First National Conference on Communications (NCC). IEEE, 2015.

  4. RankIQA: Liu, Xialei, Joost Van De Weijer, and Andrew D. Bagdanov. "Rankiqa: Learning from rankings for no-reference image quality assessment." Proceedings of the IEEE International Conference on Computer Vision (ICCV). 2017.

  5. MetaIQA: Zhu, Hancheng, et al. "MetaIQA: Deep meta-learning for no-reference image quality assessment." Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR). 2020.


2. Dependencies

I used the following libraries in Windows 10.

python == 3.9.7

pillow == 8.4.0

tqdm == 4.62.3

pytorch == 1.10.1

torchvision == 0.11.2

opencv-python == 4.5.4.60

scipy == 1.7.1

pandas == 1.3.4

3. Quick Start

Download the pre-trained model checkpoint files.

  1. RankIQA: https://drive.google.com/drive/folders/1Y2WgNHL6vowvKA0ISGUefQiggvrCL5rl?usp=sharing

    default directory: ./RankIQA/Rank_live.caffemodel.pt

  2. MetaIQA: https://drive.google.com/drive/folders/1SCo56y9s0yB-TPcnVHqoc63TZ2ngSxPG?usp=sharing

    default directory: ./MetaIQA/metaiqa.pth

Windows User

  • Run demo1.bat & demo2.bat in the windows terminal.

Linux User

  • Run demo1.sh & demo2.sh in the linux terminal.

Check "options.py" as well. The demo files are tutorials.

The demo images are from KADID10K dataset: http://database.mmsp-kn.de/kadid-10k-database.html


4. Acknowledgements

Repositories

  1. BRISQUE(↓): https://github.com/spmallick/learnopencv/blob/master/ImageMetrics/Python/brisquequality.py
  2. NIQE(↓): https://github.com/guptapraful/niqe
  3. NIQE model parameters: https://github.com/csjunxu/Bovik_NIQE_SPL2013
  4. PIQE(↓): https://github.com/buyizhiyou/NRVQA
  5. RankIQA(↓): https://github.com/YunanZhu/Pytorch-TestRankIQA
  6. MetaIQA(↑): https://github.com/zhuhancheng/MetaIQA

Images

  1. KADID10K: http://database.mmsp-kn.de/kadid-10k-database.html

5. Author

Dae-Young Song

M.S. Student, Department of Electronics Engineering, Chungnam National University

Github: https://github.com/EadCat

Owner
Dae-Young Song
M.S. Student Majoring in Computer Vision, Department of Electronic Engineering
Dae-Young Song
This repo is about to create the Streamlit application for given ML model.

HR-Attritiion-using-Streamlit This repo is about to create the Streamlit application for given ML model. Problem Statement: Managing peoples at workpl

Pavan Giri 0 Dec 10, 2021
High performance Cross-platform Inference-engine, you could run Anakin on x86-cpu,arm, nv-gpu, amd-gpu,bitmain and cambricon devices.

Anakin2.0 Welcome to the Anakin GitHub. Anakin is a cross-platform, high-performance inference engine, which is originally developed by Baidu engineer

514 Dec 28, 2022
A curated list of awesome papers for Semantic Retrieval (TOIS Accepted: Semantic Models for the First-stage Retrieval: A Comprehensive Review).

A curated list of awesome papers for Semantic Retrieval (TOIS Accepted: Semantic Models for the First-stage Retrieval: A Comprehensive Review).

Yinqiong Cai 189 Dec 28, 2022
The repository includes the code for training cell counting applications. (Keras + Tensorflow)

cell_counting_v2 The repository includes the code for training cell counting applications. (Keras + Tensorflow) Dataset can be downloaded here : http:

Weidi 113 Oct 06, 2022
Facebook Research 605 Jan 02, 2023
MMdnn is a set of tools to help users inter-operate among different deep learning frameworks. E.g. model conversion and visualization. Convert models between Caffe, Keras, MXNet, Tensorflow, CNTK, PyTorch Onnx and CoreML.

MMdnn MMdnn is a comprehensive and cross-framework tool to convert, visualize and diagnose deep learning (DL) models. The "MM" stands for model manage

Microsoft 5.7k Jan 09, 2023
PyTorch implementation of "A Two-Stage End-to-End System for Speech-in-Noise Hearing Aid Processing"

Implementation of the Sheffield entry for the first Clarity enhancement challenge (CEC1) This repository contains the PyTorch implementation of "A Two

10 Aug 19, 2022
Codes to pre-train T5 (Text-to-Text Transfer Transformer) models pre-trained on Japanese web texts

t5-japanese Codes to pre-train T5 (Text-to-Text Transfer Transformer) models pre-trained on Japanese web texts. The following is a list of models that

Kimio Kuramitsu 1 Dec 13, 2021
Repo for my Tensorflow/Keras CV experiments. Mostly revolving around the Danbooru20xx dataset

SW-CV-ModelZoo Repo for my Tensorflow/Keras CV experiments. Mostly revolving around the Danbooru20xx dataset Framework: TF/Keras 2.7 Training SQLite D

20 Dec 27, 2022
Crosslingual Segmental Language Model

Crosslingual Segmental Language Model This repository contains the code from Multilingual unsupervised sequence segmentation transfers to extremely lo

C.M. Downey 1 Jun 13, 2022
Code for "AutoMTL: A Programming Framework for Automated Multi-Task Learning"

AutoMTL: A Programming Framework for Automated Multi-Task Learning This is the website for our paper "AutoMTL: A Programming Framework for Automated M

Ivy Zhang 40 Dec 04, 2022
A disassembler for the RP2040 Programmable I/O State-machine!

piodisasm A disassembler for the RP2040 Programmable I/O State-machine! Usage Just run piodisasm.py on a file that contains the PIO code as hex! (Such

Ghidra Ninja 29 Dec 06, 2022
PyTorch implementation of the paper: Label Noise Transition Matrix Estimation for Tasks with Lower-Quality Features

Label Noise Transition Matrix Estimation for Tasks with Lower-Quality Features Estimate the noise transition matrix with f-mutual information. This co

<a href=[email protected]"> 1 Jun 05, 2022
Continual learning with sketched Jacobian approximations

Continual learning with sketched Jacobian approximations This repository contains the code for reproducing figures and results in the paper ``Provable

Machine Learning and Information Processing Laboratory 1 Jun 30, 2022
Instance-based label smoothing for improving deep neural networks generalization and calibration

Instance-based Label Smoothing for Neural Networks Pytorch Implementation of the algorithm. This repository includes a new proposed method for instanc

Mohamed Maher 1 Aug 13, 2022
Learn about Spice.ai with in-depth samples

Samples Learn about Spice.ai with in-depth samples ServerOps - Learn when to run server maintainance during periods of low load Gardener - Intelligent

Spice.ai 16 Mar 23, 2022
Pytorch implementation of Cut-Thumbnail in the paper Cut-Thumbnail:A Novel Data Augmentation for Convolutional Neural Network.

Cut-Thumbnail (Accepted at ACM MULTIMEDIA 2021) Tianshu Xie, Xuan Cheng, Xiaomin Wang, Minghui Liu, Jiali Deng, Tao Zhou, Ming Liu This is the officia

3 Apr 12, 2022
nnFormer: Interleaved Transformer for Volumetric Segmentation

nnFormer: Interleaved Transformer for Volumetric Segmentation Code for paper "nnFormer: Interleaved Transformer for Volumetric Segmentation ". Please

jsguo 610 Dec 28, 2022
Implementation for Learning to Track with Object Permanence

Learning to Track with Object Permanence A video-based MOT approach capable of tracking through full occlusions: Learning to Track with Object Permane

Toyota Research Institute - Machine Learning 91 Jan 03, 2023
Deploy a ML inference service on a budget in less than 10 lines of code.

BudgetML is perfect for practitioners who would like to quickly deploy their models to an endpoint, but not waste a lot of time, money, and effort trying to figure out how to do this end-to-end.

1.3k Dec 25, 2022