Giter Club home page Giter Club logo

maniqa's Introduction

MANIQA: Multi-dimension Attention Network for No-Reference Image Quality Assessment

Sidi Yang*, Tianhe Wu*, Shuwei Shi, Shanshan Lao, Yuan Gong, Mingdeng Cao, Jiahao Wang and Yujiu Yang

Tsinghua University Intelligent Interaction Group

๐Ÿš€ ๐Ÿš€ ๐Ÿš€ Updates:

  • something more...
  • โœ… Mar. 11, 2023: Model trained with Koniq10k dataset checkpoint has be released.
  • โœ… Mar. 10, 2023: We release the large dataset (kadid10k) checkpoint and add the predicting one image files.
  • โœ… April. 11, 2022: We release the MANIQA source code and the checkpoint of PIPAL22.

paper download Open issue Closed issue visitors IIGROUP GitHub Stars

This repository is the official PyTorch implementation of MANIQA: Multi-dimension Attention Network for No-Reference Image Quality Assessment. ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ We won first place in the NTIRE2022 Perceptual Image Quality Assessment Challenge Track 2 No-Reference competition.

Ground Truth Distortion 1 Distortion 2 Distortion 3 Distortion 4
MOS (GT) 1539.1452 (1) 1371.4593 (2) 1223.4258 (3) 1179.6223 (4)
Ours (MANIQA) 0.743674 (1) 0.625845 (2) 0.504243 (3) 0.423222 (4)
MOS (GT) 4.33 (1) 2.27 (2) 1.33 (3) 1.1 (4)
Ours (MANIQA) 0.8141 (1) 0.2615 (2) 0.0871 (3) 0.0490 (4)
Model: 0.3398 Model: 0.2612 Model: 0.3078 Model: 0.3716 Model: 0.3581

No-Reference Image Quality Assessment (NR-IQA) aims to assess the perceptual quality of images in accordance with human subjective perception. Unfortunately, existing NR-IQA methods are far from meeting the needs of predicting accurate quality scores on GAN-based distortion images. To this end, we propose Multi-dimension Attention Network for no-reference Image Quality Assessment (MANIQA) to improve the performance on GAN-based distortion. We firstly extract features via ViT, then to strengthen global and local interactions, we propose the Transposed Attention Block (TAB) and the Scale Swin Transformer Block (SSTB). These two modules apply attention mechanisms across the channel and spatial dimension, respectively. In this multi-dimensional manner, the modules cooperatively increase the interaction among different regions of images globally and locally. Finally, a dual branch structure for patch-weighted quality prediction is applied to predict the final score depending on the weight of each patch's score. Experimental results demonstrate that MANIQA outperforms state-of-the-art methods on four standard datasets (LIVE, TID2013, CSIQ, and KADID-10K) by a large margin. Besides, our method ranked first place in the final testing phase of the NTIRE 2022 Perceptual Image Quality Assessment Challenge Track 2: No-Reference.


Network Architecture

image.png

Dataset

The PIPAL22 dataset is used in NTIRE22 competition and we test our model in PIPAL21.
We also conducted experiments on LIVE, CSIQ, TID2013 and KADID-10K datasets.

Attention:

  • Put the MOS label and the data python files into data folder.
  • The validation dataset comes from NTIRE 2021. If you want to reproduce the results on validation or test set for NTIRE 2022 NR-IQA competition, register the competition and upload the submission.zip by following the instruction on the website.

Checkpoints

Click into the website and download the pretrained model checkpoints, ignoring the source files (tag Koniq-10k has the latest source file).

Training Set Testing Set Checkpoints of MANIQA
PIPAL2022 dataset (200 reference images, 23200 distortion images, MOS scores for each distortion image) [Validation] PIPAL2022 dataset (1650 distortion images) download
SRCC:0.686, PLCC:0.707
KADID-10K dataset (81 reference images and 10125 distorted images). 8000 distorted images for training KADID-10K dataset. 2125 distorted images for testing download
SRCC:0.939, PLCC:0.939
KONIQ-10K dataset (in-the-wild database, consisting of 10,073 quality scored images). 8058 distorted images for training KONIQ-10K dataset. 2015 distorted images for testing download
SRCC:0.930, PLCC:0.946

Usage

Training MANIQA model

  • Modify "dataset_name" in config
  • Modify train dataset path: "train_dis_path"
  • Modify validation dataset path: "val_dis_path"
python train_maniqa.py

Predicting one image quality score

  • Modify the path of image "image_path"
  • Modify the path of checkpoint "ckpt_path"
python predict_one_image.py 

Inference for PIPAL22 validing and testing

Generating the ouput file:

  • Modify the path of dataset "test_dis_path"
  • Modify the trained model path "model_path"
python inference.py

Results

image.png

Environments

  • Platform: PyTorch 1.8.0
  • Language: Python 3.7.9
  • Ubuntu 18.04.6 LTS (GNU/Linux 5.4.0-104-generic x86_64)
  • CUDA Version 11.2
  • GPU: NVIDIA GeForce RTX 3090 with 24GB memory

Requirements

Python requirements can installed by:

pip install -r requirements.txt

Citation

@inproceedings{yang2022maniqa,
  title={MANIQA: Multi-dimension Attention Network for No-Reference Image Quality Assessment},
  author={Yang, Sidi and Wu, Tianhe and Shi, Shuwei and Lao, Shanshan and Gong, Yuan and Cao, Mingdeng and Wang, Jiahao and Yang, Yujiu},
  booktitle={Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition},
  pages={1191--1200},
  year={2022}
}

Acknowledgment

Our codes partially borrowed from anse3832 and timm. Thanks for the SwinIR Readme.md. We modify ours file like them.

Related Work

NTIRE2021 IQA Full-Reference Competition

[CVPRW 2021] Region-Adaptive Deformable Network for Image Quality Assessment (4th place in FR track)

paper code

NTIRE2022 IQA Full-Reference Competition

[CVPRW 2022] Attentions Help CNNs See Better: Attention-based Hybrid Image Quality Assessment Network. (1th place in FR track)

paper code

maniqa's People

Contributors

tianhewu avatar stephen0808 avatar shuweis avatar

Stargazers

Kingmin avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.