Pytorch Quality (PIQ) ไม่ได้รับการรับรองโดย Facebook, Inc. ;
Pytorch โลโก้ Pytorch และเครื่องหมายใด ๆ ที่เกี่ยวข้องเป็นเครื่องหมายการค้าของ Facebook, Inc.


คุณภาพของภาพ Pytorch (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หากคุณต้องการใช้ฟีเจอร์ล่าสุดโดยตรงจากต้นแบบ 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 | 2546 | ความคล้ายคลึงกันของโครงสร้าง |
| MS-SSIM | พ.ศ. 2547 | ความคล้ายคลึงกันของโครงสร้างหลายระดับ |
| IW-SSIM | ปี 2554 | เนื้อหาข้อมูลข้อมูลความคล้ายคลึงกันโครงสร้างถ่วงน้ำหนัก |
| VIFP | พ.ศ. 2547 | ข้อมูลภาพความจงรักภักดี |
| ฟิสิกส์ | ปี 2554 | การวัดดัชนีความคล้ายคลึงกันของคุณลักษณะ |
| SR-SIM | ปี 2555 | ความคล้ายคลึงกันตามสเปกตรัม |
| GMSD | 2013 | การเบี่ยงเบนความคล้ายคลึงกันของขนาดการไล่ระดับสี |
| MS-GMSD | 2017 | ส่วนเบี่ยงเบนความคล้ายคลึงกันของการไล่ระดับสีแบบหลายระดับ |
| VSI | 2014 | ดัชนีที่เกิดจากการมองเห็น |
| DSS | ปี 2558 | ดัชนีความคล้ายคลึงกันของ DCT |
| - | ปี 2559 | คะแนนเนื้อหา |
| - | ปี 2559 | คะแนนสไตล์ |
| Haarpsi | ปี 2559 | ดัชนีความคล้ายคลึงกันของ HAAR |
| MDSI | ปี 2559 | ค่าเฉลี่ยของดัชนีความคล้ายคลึงกันของการเบี่ยงเบน |
| LPIPS | 2018 | เรียนรู้แพทช์ภาพที่มีความคล้ายคลึงกัน |
| Pieapp | 2018 | การประเมินภาพข้อผิดพลาดการรับรู้ผ่านการตั้งค่าแบบคู่ |
| ห่างออกไป | 2020 | โครงสร้างภาพลึกและความคล้ายคลึงกันของพื้นผิว |
| คำย่อ | ปี | ตัวชี้วัด |
|---|---|---|
| ทีวี | 2480 | การเปลี่ยนแปลงทั้งหมด |
| ถ่วง | ปี 2555 | ผู้ประเมินคุณภาพเชิงพื้นที่ของภาพตาบอด/อ้างอิง |
| คลิป IQA | 2022 | คลิป IQA |
| คำย่อ | ปี | ตัวชี้วัด |
|---|---|---|
| เป็น | ปี 2559 | คะแนนเริ่มต้น |
| บด | 2017 | ระยะทางเริ่มต้น Frechet |
| GS | 2018 | คะแนนเรขาคณิต |
| เด็ก | 2018 | ระยะเริ่มต้นเคอร์เนล |
| MSID | 2019 | ระยะทางภายในหลายระดับ |
| PR | 2019 | ปรับปรุงความแม่นยำและการเรียกคืน |
เป็นส่วนหนึ่งของห้องสมุดของเราเราให้รหัสเพื่อเปรียบเทียบการวัดทั้งหมดในชุดฐานข้อมูลคะแนนความคิดเห็นทั่วไปทั่วไป ขณะนี้เราสนับสนุนการอ้างอิงเต็มรูปแบบ (TID2013, Kadid10k และ Pipal) และชุดข้อมูล No-Reference (KONIQ10K และ Live-ITW) คุณต้องดาวน์โหลดแยกต่างหากและให้เส้นทางไปยังรูปภาพเป็นอาร์กิวเมนต์ของสคริปต์
นี่คือตัวอย่างวิธีการประเมินตัวชี้วัด SSIM และ MS-SSIM ในชุดข้อมูล TID2013:
python3 tests/results_benchmark.py --dataset tid2013 --metrics SSIM MS-SSIM --path ~ /datasets/tid2013 --batch_size 16ด้านล่างเราให้การเปรียบเทียบระหว่างค่าสัมประสิทธิ์สหสัมพันธ์อันดับของสเปียร์แมน (SRCC) ที่ได้รับกับ PIQ และรายงานในการสำรวจ ค่า SRCC ที่ใกล้ชิดยิ่งขึ้นแสดงถึงระดับที่สูงขึ้นของข้อตกลงระหว่างผลลัพธ์ของการคำนวณในชุดข้อมูลที่กำหนด เราไม่ได้รายงานค่าสัมประสิทธิ์สหสัมพันธ์ Kendall Rank (KRCC) เนื่องจากมีความสัมพันธ์อย่างมากกับ SRCC และให้ข้อมูลเพิ่มเติมที่ จำกัด เราไม่ได้รายงานค่าสัมประสิทธิ์สหสัมพันธ์เชิงเส้นของเพียร์สัน (PLCC) เนื่องจากขึ้นอยู่กับวิธีการที่เหมาะสมและมีอคติต่อตัวอย่างง่ายๆ
สำหรับตัวชี้วัดที่สามารถถ่ายภาพ Greyscale หรือสีสี c หมายถึงรุ่นสี
| TID2013 | kadid10k | พิพล | |
|---|---|---|---|
| แหล่งที่มา | 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-SSIM | 0.80 / 0.79 TID2013 | 0.80 / 0.80 kadid10k | 0.55 / 0.46 pipal |
| 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 / - |
| ฟิสิกส์ | 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 |
| ห่างออกไป | 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 / - |
| บด | 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 CLIP-IQA ปิด | 0.64 / 0.64 CLIP-IQA ปิด |
ซึ่งแตกต่างจาก FR และ NR IQMS ที่ออกแบบมาเพื่อคำนวณระยะทางภาพที่ชาญฉลาดตัวชี้วัด DB เปรียบเทียบการแจกแจง ชุด ภาพ เพื่อแก้ไขปัญหาเหล่านี้เราใช้วิธีการคำนวณ DB IQM ที่เสนอใน https://arxiv.org/abs/2203.07809 แทนที่จะแยกคุณสมบัติจากภาพทั้งหมดเราครอบตัดลงในกระเบื้องที่ทับซ้อนกันขนาด 96 × 96 ด้วย stride = 32 การประมวลผลล่วงหน้านี้ช่วยให้เราสามารถรักษาภาพแต่ละคู่เป็นคู่ของการแจกแจงของกระเบื้องทำให้การเปรียบเทียบเพิ่มเติม ขั้นตอนอื่น ๆ ของการคำนวณ DB IQMs ยังคงอยู่เหมือนเดิม
ใน 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]