GAN评价指标代码(FID、LPIPS、MS-SSIM)
GAN评价指标代码(FID、LPIPS、MS-SSIM
- 写在前面
- FID
- LPIPS
- MS-SSIM
- 写在后面
写在前面
科研需要,对GAN生成的图片要做定量评价,因此总结一些自己要用到的一些评价指标。
FID
官方链接:https://github.com/mseitzer/pytorch-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
官方链接:https://github.com/richzhang/PerceptualSimilarity
描述: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
链接:https://blog.csdn.net/m0_63642362/article/details/123297405
描述:接近1的值表示更好的图像质量,接近0的值表示较差的质量
代码
把生成图片放在imgs/fake_img
路径下,把真实图片放在imgs/real_img
路径下,然后运行即可
import os
import cv2
import paddle
from paddle_msssim import ssim, ms_ssimdef 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 = 0for 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__())
写在后面
你笑我徒劳,而我一个人在路上,走完的四季,确实你永远体会不到的风景。
-----《愿有人陪你颠沛流离》
GAN评价指标代码(FID、LPIPS、MS-SSIM)相关推荐
- 【语义分割】评价指标代码函数:np.sum()、np.nansum()、np.nanmean()、np.diag()、np.bincount()
引言 本文针对: [语义分割]评价指标:PA.CPA.MPA.IoU.MIoU详细总结和代码实现(零基础从入门到精通系列!)中实现评价指标代码里相关函数进行补充说明,包括:np.sum().np.na ...
- 图像增强评价指标学习之——结构相似性SSIM
SSIM(structural similarity index),结构相似性,是一种衡量两幅图像相似度的指标.该指标首先由德州大学奥斯丁分校的图像和视频工程实验室(Laboratory for Im ...
- pytorch训练GAN的代码(基于MNIST数据集)
论文:Generative Adversarial Networks 作者:Ian J. Goodfellow 年份:2014年 从2020年3月多开始看网络,这是我第一篇看并且可以跑通代码的论文,简 ...
- 电荷负载分解(NILM)评价指标代码详解
有关NILM中的评价指标的解释请看我们另外一篇博文 ,下面简单解释一下代码实现,代码为python版本. import numpy as npdef tp_tn_fp_fn(states_pred, ...
- plt生成固定的colormap_白话生成对抗网络GAN及代码实现
本文主要是个简单的笔记,参考资料来自下面三部分 Tutorial_HYLee_GAN Renu Khandelwal 的博客 Jason 的博客 神经网络一览 各种神经网络(全连接前向网络.卷积神经网 ...
- 显著性检测的评价指标代码
包括MAE.Pre.Rec.F-measure.Auc.CC.Nss MAE: 平均绝对误差MAE(mean absolute error),范围[0,+∞),当预测值与真实值完全吻合时等于0,即完美 ...
- deeplabv3+ 论文相关参数 代码解析 Flip MS SC random crop
目录 1.Flip 2. multi_scale input eval 3.SC 在aspp与deconv采用seperate conv multi_scale 的参数传递是: 另外,如果batch ...
- 图像质量评价指标FID、LPIPS、NIQE及其代码
文章目录 FID LPIPS NIQE FID FID的全称是Fréchet Inception Distance,用于衡量两个多元正态分布的距离,数值越小越好.具体的,FID使用Inception ...
- 生成对抗网络GAN论文总结+复现代码(已完成27篇,未完待续。。。)
GAN论文学习心得 写在前面 (GAN)Generative Adversarial Networks (CGAN)Conditional Generative Adversarial Nets (D ...
- gan怎么输入一维数据_GAN评价指标最全汇总
本文首发于微信公众号:有三AI 作者:小米粥 最近一部分的内容将会比较容易,将和大家一起讨论GAN的评价指标.在判别模型中,训练完成的模型要在测试集上进行测试,然后使用一个可以量化的指标来表明模型训练 ...
最新文章
- Python 元组的使用
- 电视盒子root_电视盒子 免root 去广告换桌面,20分钟还原干净清爽的桌面
- 注定不平凡的2020年
- netty系列之:使用netty搭建websocket服务器
- Windows 2008 R2安装DHCP服务器问题及解决方法
- FPGA时钟激励编写(方法二)
- java bufferedrandomaccessfile_java 读写操作大文件 BufferedReader和RandomAccessFile
- 远程命令,代码执行漏洞原理
- python 读取xlsx特定页_python 读取 Excel
- shell学习教程(超详细完整)
- EXCEL无法插入公式
- MYSQL字符串聚合函数
- 根据IP获取城市-新浪ip接口
- 关于Qt6.2中的所有属性绑定
- 360年会三娘逆袭 女程序员戴假发化妆成-搜狐滚动
- 红旗linux镜像文件iso,红旗Linux11下载-红旗Linux国产操作系统11ISO 社区预览版下载...
- android 手机屏幕密度等级和屏幕逻辑尺寸
- AES加密算法在Java中的应用
- 计算机网络数据通信论文,浅谈计算机网络与数据通信的发展
- EGL和OpenGL简介