Pytorchの画質(PIQ)は、Facebook、Inc。によって承認されていません。
Pytorch、Pytorchのロゴ、および関連するマークは、Facebook、Inc。の商標です。


Pytorch Image Quality(PIQ)は、画質評価のための測定とメトリックのコレクションです。 PIQは、ボイラープレートコードなしで実験に集中するのに役立ちます。ライブラリには、継続的に拡張されている一連の測定値とメトリックが含まれています。損失関数として使用できるメジャー/メトリックの場合、対応するPytorchモジュールが実装されます。
私たちは提供します:
PIQは当初PhotoSynthesis.metricsと名付けられました。
Pytorchの画質(PIQ)は、 pip 、 conda 、またはgitを使用してインストールできます。
pipを使用する場合は、次のようにインストールできます。
$ pip install piq condaを使用する場合は、次のようにインストールできます。
$ conda install piq -c photosynthesis-team -c conda-forge -c PyTorchマスターから直接最新の機能を使用する場合は、クローンPIQレポを使用します。
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-sim | 2004年 | マルチスケールの構造的類似性 |
| IW-sim | 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年 | 平均偏差類似性指数 |
| lpips | 2018年 | 学習した知覚画像パッチの類似性 |
| Pieapp | 2018年 | ペアワイズ設定による知覚画像とエラーの評価 |
| Dists | 2020 | 深い画像構造とテクスチャの類似性 |
| 頭字語 | 年 | メトリック |
|---|---|---|
| テレビ | 1937年 | 総変動 |
| ブリスク | 2012年 | ブラインド/参照画像空間品質評価者 |
| クリップIQA | 2022 | クリップIQA |
| 頭字語 | 年 | メトリック |
|---|---|---|
| は | 2016年 | インセプションスコア |
| fid | 2017年 | フレチェットの開始距離 |
| GS | 2018年 | ジオメトリスコア |
| 子供 | 2018年 | カーネルの開始距離 |
| msid | 2019年 | マルチスケールの固有距離 |
| Pr | 2019年 | 精度とリコールの改善 |
ライブラリの一部として、共通の平均意見スコアデータベースのセットですべてのメトリックをベンチマークするコードを提供します。現在、いくつかのフルリファレンス(TID2013、Kadid10k、Pipal)およびNo-Reference(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と高度に相関しており、限られた追加情報を提供するため、報告しません。ピアソン線形相関係数(PLCC)は、フィッティング方法に大きく依存しており、簡単な例に偏っているため、報告しません。
グレースケールまたはカラー画像を取得できるメトリックの場合、 c色帯バージョンを意味します。
| TID2013 | kadid10k | pipal | |
|---|---|---|---|
| ソース | PIQ /リファレンス | PIQ /リファレンス | PIQ /リファレンス |
| psnr | 0.69 / 0.69 TID2013 | 0.68 / - | 0.41 / 0.41 PIPAL |
| ssim | 0.72 / 0.64 TID2013 | 0.72 / 0.72 Kadid10k | 0.50 / 0.53 PIPAL |
| ms-sim | 0.80 / 0.79 TID2013 | 0.80 / 0.80 Kadid10k | 0.55 / 0.46 PIPAL |
| IW-sim | 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 PIPAL |
| 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 Dists | 0.72 / - | 0.57 / 0.58 PIPAL |
| Pieapp | 0.84 / 0.88 Dists | 0.87 / - | 0.70 / 0.71 PIPAL |
| Dists | 0.81 / 0.83 Dists | 0.88 / - | 0.62 / 0.66 PIPAL |
| ブリスク | 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 | ライブイット | |
|---|---|---|
| ソース | PIQ /リファレンス | PIQ /リファレンス |
| ブリスク | 0.22 / - | 0.31 / - |
| クリップIQA | 0.68 / 0.68 Clip-IQAオフ | 0.64 / 0.64 Clip-IQAオフ |
画像ごとの距離を計算するように設計されたFRおよびNR IQMSとは異なり、DBメトリックは画像のセットの分布を比較します。これらの問題に対処するために、https://arxiv.org/abs/2203.07809で提案されているDB IQMSを計算する別の方法を採用します。画像全体から特徴を抽出する代わりに、 stride = 32でサイズ96 × 96の重複タイルにそれらをトリミングします。この前処理により、各画像のペアをタイルの分布のペアとして扱うことができ、さらなる比較を可能にします。 DB IQMSの計算の他の段階はそのままに保たれます。
PIQでは、一部のコンポーネントが予想されるタイプの入力を受信しない場合に、アサーションを使用して意味のあるメッセージを上げます。これにより、プロトタイピングとデバッグが容易になりますが、パフォーマンスを損なう可能性があります。すべてのチェックを無効にするには、python -O flag: 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]