Introduction
It is a tool for convenient use of objective quality metrics via the command line. You can use it to run calculations on whole datasets via GPU or CPU and track the results.
There is support of No Reference (NR) and Full Reference (FR) image and video quality (I/VQA) metrics with the possibility of using image metrics on videos framewise with averaging.
Written on Python and PyTorch. 52 methods have been implemented.
Most implementations are based on IQA-PyTorch and PIQ. Some are taken from the repositories of the authors (see List of available models). The VMAF implementation was taken from FFMPEG.
See Homepage for more information.
Dependencies
- Python: >=3.10,<3.11
- ffmpeg (build with libvmaf for VMAF)
- decord (you can build decord with GPU to use NVDEC)
- CUDA: >= 10.2 (OPTIONAL if use GPU)
- CuPy (OPTIONAL if use SI, CF, TI with GPU)
List of available models
Image models
NR IQA
| Paper Link | Method | Code |
|---|---|---|
| SPAQ Baseline (spaq-bl) | PyTorch | |
| SPAQ MT-A (spaq-mta) | PyTorch | |
| SPAQ MT-S (spaq-mts) | PyTorch | |
| HyperIQA (hyperiqa) | PyTorch | |
| CNNIQA (cnniqa) | PyTorch | |
| arXiv | Linearity (linearity) | PyTorch |
| arXiv | PaQ2PiQ (paq2piq) | PyTorch |
| arXiv | CLIPIQA (clipiqa) | PyTorch |
| arXiv | CLIPIQA+ (clipiqa+) | PyTorch |
| arXiv | KonCept512 (koncept512) | PyTorch |
| arXiv | MANIQA (maniqa) | PyTorch |
| arXiv | TReS (tres) | PyTorch |
| arXiv | MUSIQ (musiq) | PyTorch |
| arXiv | PI (pi) | PyTorch |
| arXiv | DBCNN (dbcnn) | PyTorch |
| arXiv | NIMA (nima) | PyTorch |
| arXiv | NRQM (nrqm) | PyTorch |
| ILNIQE (ilniqe) | PyTorch | |
| BRISQUE (brisque) | PyTorch | |
| NIQE (niqe) | PyTorch | |
| arXiv | UNIQUE (unique) | PyTorch |
| arXiv | TOPIQ (topiq_nr) | PyTorch |
| ITU | Spatial Information (si) | self-made |
| ResearchGate | Colourfulness (cf) | self-made |
FR IQA
PSNR, SSIM, MS-SSIM, CW-SSIM are computed on Y channel in YUV (YCbCr) color space.
| Paper Link | Method | Code |
|---|---|---|
| arXiv | TOPIQ (topiq_fr) | PyTorch |
| arXiv | AHIQ (ahiq) | PyTorch |
| arXiv | PieAPP (pieapp) | PyTorch |
| arXiv | LPIPS (lpips) | PyTorch |
| arXiv | DISTS (dists) | PyTorch |
| arXiv | CKDN1 (ckdn) | PyTorch |
| FSIM (fsim) | PyTorch | |
| wiki | SSIM (ssim) | PyTorch |
| MS-SSIM (ms_ssim) | PyTorch | |
| CW-SSIM (cw_ssim) | PyTorch | |
| arXiv | PSNR (psnr) | PyTorch |
| VIF (vif) | PyTorch | |
| arXiv | GMSD (gmsd) | PyTorch |
| NLPD (nlpd) | PyTorch | |
| IEEE Xplore | VSI (vsi) | PyTorch |
| MAD (mad) | PyTorch | |
| IEEE Xplore | SR-SIM (srsim) | PyTorch |
| IEEE Xplore | DSS (dss) | PyTorch |
| arXiv | HaarPSI (haarpsi) | PyTorch |
| arXiv | MDSI (mdsi) | PyTorch |
| MS-GMSD (msgmsd) | PyTorch |
[1] This method use distorted image as reference. Please refer to the paper for details.
Feature Extractors
| Paper Link | Method | Code |
|---|---|---|
| arXiv | InceptionV3 (inception_v3) | PyTorch |
Video models
NR VQA
| Paper Link | Method | Code |
|---|---|---|
| arXiv | MDTVSFA (mdtvsfa) | PyTorch |
| arXiv | FAST-VQA (FAST-VQA) | PyTorch |
| arXiv | FasterVQA (FasterVQA) | PyTorch |
| arXiv | DOVER (dover) | PyTorch |
| ITU | Temporal Information (ti) | self-made |
FR VQA
| Paper Link | Method | Code |
|---|---|---|
| wiki | VMAF (vmaf) | FFMPEG VMAF |
License
This project is licensed under the MIT License. However, it also includes code distributed under the BSD+Patent license.
Metadata
Release files for objective-metrics 1.2.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| objective_metrics-1.2.2.tar.gz | 87.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| objective_metrics-1.2.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 245.7 kB
Release files / objective_metrics-1.2.2.tar.gz
| Download URL | objective_metrics-1.2.2.tar.gz |
|---|---|
| Size | 87.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3eaea85ad676dd1c7ddcb0c48b0892cf7b5ec7b19fc272839370940114f6e344
|
|
BLAKE2b-256 checksum How to use checksums |
9236e2b682ac86e80a30d8bc9d2273e16041115e20cbb0abf6a7620387de7013
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.0 CPython/3.10.13
|
Release files / objective_metrics-1.2.2-py3-none-any.whl
| Download URL | objective_metrics-1.2.2-py3-none-any.whl |
|---|---|
| Size | 158.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
fb09917cf073d8dd197702687b6b0938f158b61db544a7e92ab7014165b9f95d
|
|
BLAKE2b-256 checksum How to use checksums |
97a61f374e819ff3d1f99d61bb40c41c4cc09f3e3859d8a9ab5a34845603c7d7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.0 CPython/3.10.13
|