# #保姆级教学 「图像评价指标」（MSE、LPIPS）——理论+代码

• *均方误差MSE

#原图为I，生成图为K

#pytorch ——直接调用torch.nn.MSELoss()函数
function = torch.nn.MSELoss()
mse_loss = funciton(I, K)

#tensorflow 1.x
mse_loss = tf.keras.losses.MSE(I, K)

#tensorflow 2.x
mse_loss = tf.losses.MSE(I, K)

• *LPIPS

https://arxiv.org/pdf/1801.03924.pdf

[En]

Take the average in space and sum on the layer.

#pytorch 求LPIPS

import torch
import lpips
import os

use_gpu = False         # Whether to use GPU
spatial = True         # Return a spatial map of perceptual distance.

Linearly calibrated models (LPIPS)
loss_fn = lpips.LPIPS(net='alex', spatial=spatial) # Can also set net = 'squeeze' or 'vgg'
loss_fn = lpips.LPIPS(net='alex', spatial=spatial, lpips=False) # Can also set net = 'squeeze' or 'vgg'

if(use_gpu):
loss_fn.cuda()

## Example usage with dummy tensors
rood_path = r'D:\Project\results\faces'
img0_path_list = []
img1_path_list = []
## path in net is already exist
'''
for root, _, fnames in sorted(os.walk(rood_path, followlinks=True)):
for fname in fnames:
path = os.path.join(root, fname)
if '_generated' in fname:
im0_path_list.append(path)
elif '_real' in fname:
im1_path_list.append(path)
'''

dist_ = []
for i in range(len(img0_path_list)):
if(use_gpu):
dummy_img0 = dummy_img0.cuda()
dummy_img1 = dummy_img1.cuda()
dist = loss_fn.forward(dummy_img0, dummy_img1)
dist_.append(dist.mean().item())
print('Avarage Distances: %.3f' % (sum(dist_)/len(img0_path_list)))


http://rail.eecs.berkeley.edu/models/lpips/

#tensorflow &#x6C42;LPIPS

import numpy as np
import tensorflow as tf
import lpips_tf

batch_size = 32
image_shape = (batch_size, 64, 64, 3)
image0 = np.random.random(image_shape)  #read real image
image1 = np.random.random(image_shape)  #read generate image
image0_ph = tf.placeholder(tf.float32)
image1_ph = tf.placeholder(tf.float32)

distance_t = lpips_tf.lpips(image0_ph, image1_ph, model='net-lin', net='alex')

with tf.Session() as session:
distance = session.run(distance_t, feed_dict={image0_ph: image0, image1_ph: image1})


Original: https://blog.csdn.net/m0_49629753/article/details/121547634
Author: 砸吧砸吧
Title: #保姆级教学 「图像评价指标」（MSE、LPIPS）——理论+代码

(0)

### 大家都在看

• #### 半监督学习是否能够应用于深度学习模型

深度学习框架的主要应用领域 深度学习框架是构建和训练深度神经网络的工具，广泛应用于许多领域，包括计算机视觉、自然语言处理、音频处理和强化学习等。下面将详细介绍深度学习框架在这些领域…

人工智能 2024年1月1日
094
• #### GNSS及其定位原理，差分GNSS技术分析

1 GNSS概述 根据后方交会定位原理，要实现 GNSS定位，需要解决两个问题:一是观测瞬间卫星的 空间位置；二是观测站点和卫星之间的距离，即卫星在某坐标系中的坐标。 为此首先要建…

人工智能 2023年6月15日
0122
• #### python自然语言处理—命名实体识别

命名实体识别 与自动分词、词性标注一样，命名实体识别也是自然语言处理的一个基础任务，是信息抽取、信息检索、机器翻译、问答系统等多种自然语言处理技术必不可少的组成部分。 1、目的：识…

人工智能 2023年6月1日
0111
• #### Espnet ASR Demo & Quantization Document

This is a document of how to run Espnet (v1) ASR Demo and its model quantization Test envi…

人工智能 2023年5月25日
0189
• #### pytorch稀疏矩阵处理（torch.sparse）

pytorch稀疏矩阵（torch.sparse） Pytorch稀疏矩阵处理 * 稀疏矩阵存储方式 – 1. COO 2. CSR/CSC 3. LIL 稀疏矩阵的处…

人工智能 2023年6月16日
0153
• #### AI绘画——使用stable-diffusion生成图片时提示RuntimeError: CUDA out of memory处理方法

提示显存不足 RuntimeError: CUDA out of memory. Tried to allocate 1.50 GiB (GPU 0; 8.00 GiB total…

人工智能 2023年6月23日
0143
• #### 在运行yolo5的v5.0版本detect.py时遇到的一些错误

跟着小土堆的视频教学自己遇到的一些问题。 出现错误的原因：由于yolov5目前最新版本为v6.1，但我跑的是5.0版本，则运行detect.py时自动从github上下载的训练好的…

人工智能 2023年6月23日
0158
• #### 基于stm32的自平衡小车

文章目录 引言 1、系统概述 * 1.1、设计任务 1.2、设计要求 2、方案设计与论证 * 2.1、芯片选择方案 2.2 、系统概述 2.3、设计要求 2.4、系统总体设计 2….

人工智能 2023年6月2日
0146
• #### Win10下Tensorflow-gpu使用cpu训练而不是gpu加速

问题1：明明安装好了tensorflow-gpu，但是运行代码时无法使用gpu加速 明明安装好了tensorflow-gpu，但是运行代码时无法使用gpu加速，运行tensorfl…

人工智能 2023年5月23日
0171
• #### 目标追踪—deepsort原理讲解

目录 一、多目标追踪的主要步骤 二、sort流程 三、Deepsort算法流程 一、多目标追踪的主要步骤 获取原始视频帧 利用目标检测器对视频帧中的目标进行检测 将检测到的目标的框…

人工智能 2023年7月4日
0120
• #### 使用ResNet18对kaggle官网state farm数据集中的distracted driver detection数据集进行分类

一、写在前面 最近在阅读文献的时候刚好看到了kaggle比赛中有驾驶分心的数据集，于是又想到了前段时间刚学过ResNet18网络算法的搭建，又于是萌生了使用ResNet18对kag…

人工智能 2023年7月22日
096
• #### 深度学习基础—-吴恩达课后编程练习（一）识别猫

目录 前言一、数据预处理1.加载数据2.数据降维处理3.标准化处理二、搭建神经网络1.定义模型结构2.初始化模型参数3.循环迭代3.1 计算当前的损失（正向传播）3.2 计算当前的…

人工智能 2023年6月15日
0201
• #### DeepFaceLab3：工作目录和基本概念

上一篇文章我们已经讲了安装DeepFaceLab所需要的软硬件环境。正常来说就可以进入安装，实操的阶段了。但是，我觉得安装之前还是要先结合workspace来讲一些概念，这样用起来…

人工智能 2023年5月25日
0138
• #### 灰色预测模型_python

### 回答1： LSTM（长短时记忆网络）是一种适用于序列数据建模的神经网络模型，它能够捕捉序列中的长期依赖关系。多变量序列堆叠式LSTM模型可以用于多个时间序列数据之间的关系建…

人工智能 2023年6月12日
0162
• #### Pycharm中ModuleNotFoundError：No Module named ‘****‘ 解决办法

Pycharm中ModuleNotFoundError：No Module named ‘****’ 解决办法 方法一：Anaconda Prompt中安装…

人工智能 2023年5月23日
0145
• #### 数据结构-(2)链表

链表整体代码及相关操作： #include <stdio.h> #include <stdlib.h> #include <time.h> //…

人工智能 2023年6月4日
0184