Skip to main content

Deep Image Structure and Texture Similarity (DISTS) Metric

This is the repository of paper Image Quality Assessment: Unifying Structure and Texture Similarity.

Highlights:

  1. A full-reference IQA model correlated well with human perception of image quality.
  2. It is robust to texture variance (e.g., evaluating the images generated by GANs) and mild geometric transformations (e.g., evaluating the image pair that are not strictly point-by-point aligned).
  3. It can be employed as the objective function in various optimization problems.

Three implementation versions:

  1. Pytorch DISTS_pt.py (recommend)
  2. Tensorflow DISTS_tf.py
  3. 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,3,H,W) 
# Y: (N,3,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}
}

Metadata

Release files for DISTS-pytorch 0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distribution (wheel)

Table of built distributions (wheels) for DISTS-pytorch 0.1
File Interpreter ABI Platform
DISTS_pytorch-0.1-py3-none-any.whl Python 3 none any Details

Release files / DISTS_pytorch-0.1-py3-none-any.whl

Download URL DISTS_pytorch-0.1-py3-none-any.whl
Size 20.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
73e54ce13e7cf3ca962ee8e433d129884ec3dc75e00a27af90525e1da760ac61
BLAKE2b-256 checksum
How to use checksums
fa78f76cbe06c88076f6d6d5ef16a7591a7e3b7eb225e39b035e16d95f0fb89c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.4.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.4

Release history Release notifications | RSS feed

This release

0.1 This release

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page