GAN评价指标代码(FID、LPIPS、MS-SSIM)

科研需要,对GAN生成的图片要做定量评价,因此总结一些自己要用到的一些评价指标。

FID

描述:FID越小,表示生成图片越多样、质量越好。

步骤:
(1)先下载pytorch-fid

pip install pytorch-fid

(2)执行命令

python -m pytorch_fid path/dataset1/test/images path/dataset2/test/images

参数:
path/dataset1/test/images是真实图像路径
path/dataset2/test/images是生成图像路径

注意:
有个额外的参数 --dims N,其中 N 是特征的维度,一共有64、192、768、2048(默认)这四种,表示的是使用Inception的哪一层去测试,一般默认都是2048即最终平均池化特征去测试。
但是官方说如果测试的样本少于2048个可以用–dims这个参数,但这会改变FID分数的大小,因此只有–dims相同时跑出来的分数才有可比性。
不过我看TensorFlow那边的FID说,建议使用10,000的最小样本量来计算 FID,否则会低估生成器的真实FID。所以如果样本量太少建议不使用FID这个指标。

LPIPS

步骤:
(1)下载LPIPS代码
(2)执行命令

python lpips_2dirs.py -d0 imgs/ex_dir0 -d1 imgs/ex_dir1 -o imgs/example_dists.txt --use_gpu

参数:
-d0是真实图像路径
-d1是生成图像路径
-o是输出的结果保存位置

MS-SSIM

代码
把生成图片放在 imgs/fake_img路径下,把真实图片放在 imgs/real_img路径下,然后运行即可

import os
import cv2
import paddle
from paddle_msssim import ssim, ms_ssim

def file_name(file_dir):
    img_path_list = []
    for root, dirs, files in os.walk(file_dir):
        for file in files:
             img_path_list.append((os.path.join(root, file),file))
    return img_path_list
def imread(img_path):
    img = cv2.imread(img_path)
    return paddle.to_tensor(img.transpose(2, 0, 1)[None, ...], dtype=paddle.float32)

if __name__ == '__main__':
    file_dir = 'imgs/fake_img'
    target_dir = 'imgs/real_img'

    img_path_list = file_name(file_dir)
    target_path_list = file_name(target_dir)
    d = 0
    for i in range(img_path_list.__len__()):
        (img_path, img_name) = img_path_list[i]
        (target_path, target_name) = target_path_list[i]
        print(img_path)
        print(target_path)
        fake = imread(img_path)
        real = imread(target_path)

        distance = ms_ssim(real, fake).cpu().numpy()
        print(distance)
        d += distance
print('average ms_ssim')
print(d/img_path_list.__len__())

你笑我徒劳,而我一个人在路上,走完的四季,确实你永远体会不到的风景。

Original: https://blog.csdn.net/iiiiiiimp/article/details/123946075
Author: iiiiiiimp
Title: GAN评价指标代码(FID、LPIPS、MS-SSIM)

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/646622/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球