Pytorch图像质量(PIQ)不受Facebook,Inc。的认可;
Pytorch,Pytorch徽标和任何相关标记都是Facebook,Inc。的商标。


Pytorch图像质量(PIQ)是图像质量评估的度量和指标集合。 PIQ可以帮助您无需任何样板代码专注于实验。该库包含一组不断扩展的度量和指标。对于可以用作损失函数的度量/指标,实现了相应的Pytorch模块。
我们提供:
PIQ最初被命名为photynthesis.metrics。
可以使用pip , conda或git安装Pytorch图像质量(PIQ)。
如果使用pip ,则可以安装它:
$ pip install piq如果使用conda ,则可以安装以下方式:
$ conda install piq -c photosynthesis-team -c conda-forge -c PyTorch如果您想直接使用Master Clone PIQ Repo的最新功能:
git clone https://github.com/photosynthesis-team/piq.git
cd piq
python setup.py install完整的文档可在https://piq.readthedocs.io上找到。
一组指标(例如PSNR,SSIM,Brisque)采用图像或一对图像作为输入,以计算它们之间的距离。我们有一个函数接口,该界面返回度量值和类接口,该界面允许使用任何度量作为损耗函数。
import torch
from piq import ssim , SSIMLoss
x = torch . rand ( 4 , 3 , 256 , 256 , requires_grad = True )
y = torch . rand ( 4 , 3 , 256 , 256 )
ssim_index : torch . Tensor = ssim ( x , y , data_range = 1. )
loss = SSIMLoss ( data_range = 1. )
output : torch . Tensor = loss ( x , y )
output . backward ()有关示例的完整列表,请参见图像指标示例。
一组指标(例如IS,FID,KID)列出了图像功能列表来计算分布之间的距离。图像功能可以分别由某些特征提取器网络提取,也可以使用类的compute_feats方法提取。
compute_feats消耗了预定义格式的数据加载程序。 import torch
from torch . utils . data import DataLoader
from piq import FID
first_dl , second_dl = DataLoader (), DataLoader ()
fid_metric = FID ()
first_feats = fid_metric . compute_feats ( first_dl )
second_feats = fid_metric . compute_feats ( second_dl )
fid : torch . Tensor = fid_metric ( first_feats , second_feats )如果您已经具有图像功能,请使用类接口进行分数计算:
import torch
from piq import FID
x_feats = torch . rand ( 10000 , 1024 )
y_feats = torch . rand ( 10000 , 1024 )
msid_metric = MSID ()
msid : torch . Tensor = msid_metric ( x_feats , y_feats )有关示例的完整列表,请参见特征指标示例。
| 缩写 | 年 | 公制 |
|---|---|---|
| psnr | - | 峰值信噪比 |
| SSIM | 2003 | 结构相似性 |
| MS-SSIM | 2004 | 多尺度结构相似性 |
| IW-SSIM | 2011 | 信息内容加权结构相似性指数 |
| vifp | 2004 | 视觉信息保真度 |
| FSIM | 2011 | 功能相似性指数量度 |
| SR-SIM | 2012 | 基于光谱残差相似性 |
| GMSD | 2013 | 梯度幅度相似性偏差 |
| MS-GMSD | 2017 | 多尺度梯度幅度相似性偏差 |
| VSI | 2014 | 视觉显着诱导的索引 |
| DSS | 2015 | DCT子带相似性指数 |
| - | 2016 | 内容分数 |
| - | 2016 | 样式得分 |
| haarpsi | 2016 | HAAR感知相似性指数 |
| MDSI | 2016 | 平均偏差相似性指数 |
| LPIP | 2018 | 学习的感知图像补丁相似性 |
| pieapp | 2018 | 通过成对的偏好评估感知图像错误评估 |
| 区 | 2020 | 深层图像结构和纹理相似性 |
| 缩写 | 年 | 公制 |
|---|---|---|
| 电视 | 1937年 | 总变化 |
| 布里斯克 | 2012 | 盲/无引用图像空间质量评估器 |
| 夹子iqa | 2022 | 夹子iqa |
| 缩写 | 年 | 公制 |
|---|---|---|
| 是 | 2016 | 成立得分 |
| fid | 2017 | 特雷希特的距离 |
| GS | 2018 | 几何得分 |
| 孩子 | 2018 | 内核成立距离 |
| MSID | 2019 | 多尺度内在距离 |
| PR | 2019 | 提高精度和召回 |
作为我们图书馆的一部分,我们提供了代码,以基于一组常见的Mene Opinon分数数据库对所有指标进行基准测试。目前,我们支持几个全参考(TID2013,KADID10K和PIPAL)以及NO-REFERY(KONIQ10K和LIVE-ITW)数据集。您需要单独下载它们,并提供图像路径作为脚本的参数。
这是一个示例,如何评估TID2013数据集中的SSIM和MS-SSIM指标:
python3 tests/results_benchmark.py --dataset tid2013 --metrics SSIM MS-SSIM --path ~ /datasets/tid2013 --batch_size 16下面我们提供了用PIQ获得并在调查中报告的Spearman等级相关系数(SRCC)值之间的比较。更接近的SRCC值表明在给定数据集的计算结果之间的一致性较高。我们不报告Kendall等级相关系数(KRCC),因为它与SRCC高度相关,并提供了有限的其他信息。我们不报告Pearson线性相关系数(PLCC),因为它高度依赖于拟合方法,并且偏向简单示例。
对于可以拍摄灰度或颜色图像的指标, c表示色版本。
| TID2013 | kadid10k | 管道 | |
|---|---|---|---|
| 来源 | PIQ /参考 | PIQ /参考 | PIQ /参考 |
| psnr | 0.69 / 0.69 TID2013 | 0.68 / - | 0.41 / 0.41管道 |
| SSIM | 0.72 / 0.64 TID2013 | 0.72 / 0.72 KADID10K | 0.50 / 0.53管道 |
| MS-SSIM | 0.80 / 0.79 TID2013 | 0.80 / 0.80 kadid10k | 0.55 / 0.46管道 |
| IW-SSIM | 0.78 / 0.78 Eval2019 | 0.85 / 0.85 kadid10k | 0.60 / - |
| vifp | 0.61 / 0.61 TID2013 | 0.65 / 0.65 kadid10k | 0.50 / - |
| FSIM | 0.80 / 0.80 TID2013 | 0.83 / 0.83 KADID10K | 0.59 / 0.60管道 |
| FSIMC | 0.85 / 0.85 TID2013 | 0.85 / 0.85 kadid10k | 0.59 / - |
| SR-SIM | 0.81 / 0.81 eval2019 | 0.84 / 0.84 KADID10K | 0.57 / - |
| SR-SIMC | 0.87 / - | 0.87 / - | 0.57 / - |
| GMSD | 0.80 / 0.80 ms-gmsd | 0.85 / 0.85 kadid10k | 0.58 / - |
| VSI | 0.90 / 0.90 eval2019 | 0.88 / 0.86 KADID10K | 0.54 / - |
| DSS | 0.79 / 0.79 Eval2019 | 0.86 / 0.86 KADID10K | 0.63 / - |
| 内容 | 0.71 / - | 0.72 / - | 0.45 / - |
| 风格 | 0.54 / - | 0.65 / - | 0.34 / - |
| haarpsi | 0.87 / 0.87 haarpsi | 0.89 / 0.89 KADID10K | 0.59 / - |
| MDSI | 0.89 / 0.89 MDSI | 0.89 / 0.89 KADID10K | 0.59 / - |
| MS-GMSD | 0.81 / 0.81 MS-GMSD | 0.85 / - | 0.59 / - |
| MS-GMSDC | 0.89 / 0.89 ms-GMSD | 0.87 / - | 0.59 / - |
| lpips-vgg | 0.67 / 0.67区 | 0.72 / - | 0.57 / 0.58管道 |
| pieapp | 0.84 / 0.88区 | 0.87 / - | 0.70 / 0.71管道 |
| 区 | 0.81 / 0.83区 | 0.88 / - | 0.62 / 0.66管道 |
| 布里斯克 | 0.37 / 0.84 Eval2019 | 0.33 / 0.53 KADID10K | 0.21 / - |
| 夹子iqa | 0.50 / - | 0.48 / - | 0.26 / - |
| 是 | 0.26 / - | 0.25 / - | 0.09 / - |
| fid | 0.67 / - | 0.66 / - | 0.18 / - |
| 孩子 | 0.42 / - | 0.66 / - | 0.12 / - |
| MSID | 0.21 / - | 0.32 / - | 0.01 / - |
| GS | 0.37 / - | 0.37 / - | 0.02 / - |
| koniq10k | live-itw | |
|---|---|---|
| 来源 | PIQ /参考 | PIQ /参考 |
| 布里斯克 | 0.22 / - | 0.31 / - |
| 夹子iqa | 0.68 / 0.68夹子IQA关闭 | 0.64 / 0.64夹子IQA关闭 |
与旨在计算图像距离的FR和NR IQM不同,数据库指标比较图像集的分布。为了解决这些问题,我们采用了一种不同的方式来计算https://arxiv.org/abs/2203.07809中提出的DB IQM。我们没有从整个图像中提取特征,而是将它们裁剪成大小96 × 96的重叠瓷砖stride = 32 。这种预处理使我们能够将每对图像视为一对瓷砖分布,从而进一步比较。计算DB IQM的其他阶段保持完整。
在PIQ中,当某些组件未收到预期类型的输入时,我们使用断言来引发有意义的消息。这使原型制作和调试更加容易,但可能会损害性能。要禁用所有检查,请使用python -O标志: python -O your_script.py
有关拟议的功能和已知问题的列表,请参见开放问题。
如果您想帮助开发此库,您将在我们的贡献指南中找到更多信息。
如果您在项目中使用PIQ,请如下引用。
@misc{kastryulin2022piq,
title = {PyTorch Image Quality: Metrics for Image Quality Assessment},
url = {https://arxiv.org/abs/2208.14818},
author = {Kastryulin, Sergey and Zakirov, Jamil and Prokopenko, Denis and Dylov, Dmitry V.},
doi = {10.48550/ARXIV.2208.14818},
publisher = {arXiv},
year = {2022}
}@misc{piq,
title={{PyTorch Image Quality}: Metrics and Measure for Image Quality Assessment},
url={https://github.com/photosynthesis-team/piq},
note={Open-source software available at https://github.com/photosynthesis-team/piq},
author={Sergey Kastryulin and Dzhamil Zakirov and Denis Prokopenko},
year={2019}
}Sergey Kastryulin- @ @snk4tr [email protected]
Jamil Zakirov- @zakajd [email protected]
denis prokopenko- @denproc [email protected]