DISTS
IQA: Deep Image Structure and Texture Similarity Metric
Install / Use
/learn @dingkeyan93/DISTSREADME
Deep Image Structure and Texture Similarity (DISTS) Metric
This is the repository of paper Image Quality Assessment: Unifying Structure and Texture Similarity.
Highlights:
- A full-reference IQA model correlated well with human perception of image quality.
- It is robust to texture variance (e.g., evaluating the images generated by GANs) and mild geometric transformations (e.g., evaluating the image pairs that are not strictly point-by-point aligned).
- It can be employed as an objective function in various optimization problems (see optimization comparison). <!-- (The best practice: pretrain with L1/L2 loss, then finetune with DISTS + GAN loss) -->
Three implementation versions:
- Pytorch
DISTS_pt.py(recommend) - Tensorflow
DISTS_tf.py - Matlab
DISTS.m.
====== Pytorch ======
Installation:
pip install dists-pytorch
Requirements:
- Python>=3.6
- Pytorch>=1.0
Usage:
from DISTS_pytorch import DISTS
D = DISTS()
# calculate DISTS between X, Y (a batch of RGB images, data range: 0~1)
# X: (N,C,H,W)
# Y: (N,C,H,W)
dists_value = D(X, Y)
# set 'require_grad=True, batch_average=True' to get a scalar value as loss.
dists_loss = D(X, Y, require_grad=True, batch_average=True)
dists_loss.backward()
or
git clone https://github.com/dingkeyan93/DISTS
cd DISTS_pytorch
python DISTS_pt.py --ref <ref_path> --dist <dist_path>
====== Tensorflow ======
Requirements:
- Python>=3.6
- Tensorflow>=1.15
Usage:
git clone https://github.com/dingkeyan93/DISTS
cd DISTS_tensorflow
python DISTS_tf.py --ref <ref_path> --dist <dist_path>
====== Matlab ======
Requirements:
- Matlab>=2019b
Usage:
git clone https://github.com/dingkeyan93/DISTS
run demo.m
help DISTS
Citation
@article{ding2020iqa,
title={Image Quality Assessment: Unifying Structure and Texture Similarity},
author={Ding, Keyan and Ma, Kede and Wang, Shiqi and Simoncelli, Eero P.},
journal = {CoRR},
volume = {abs/2004.07728},
year={2020},
url = {https://arxiv.org/abs/2004.07728}
}
Related Skills
node-connect
340.2kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
84.1kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
340.2kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
84.1kCommit, push, and open a PR
