深度学习(24): 计算两个图像的LPIPS,SSIM指标 (python代码)

这篇具有很好参考价值的文章主要介绍了深度学习(24): 计算两个图像的LPIPS,SSIM指标 (python代码)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. 计算LPIPS

1.0.说明

LPIPS:学习感知图像块相似度(Learned Perceptual Image Patch Similarity, LPIPS)也称为“感知损失”(perceptual loss),用于度量两张图像之间的差别。来源于CVPR2018《The Unreasonable Effectiveness of Deep Features as a Perceptual Metric》

1.1. 代码

要计算两张图片之间的LPIPS(Learned Perceptual Image Patch Similarity)距离,可以使用已经训练好的LPIPS模型来进行计算。以下是一个示例代码,演示了如何使用PyTorch和LPIPS模型计算两张图片的LPIPS距离:

import torch
import lpips
from PIL import Image

# 假设您已经有了要计算LPIPS距离的两张图片 image1 和 image2
# 加载图像文件
image1 = Image.open("image1.jpg")
image2 = Image.open("image2.jpg")

# 加载预训练的LPIPS模型
lpips_model = lpips.LPIPS(net="alex")

# 将图像转换为PyTorch的Tensor格式
image1_tensor = torch.tensor(np.array(image1)).permute(2, 0, 1).unsqueeze(0).float() / 255.0
image2_tensor = torch.tensor(np.array(image2)).permute(2, 0, 1).unsqueeze(0).float() / 255.0

# 使用LPIPS模型计算距离
distance = lpips_model(image1_tensor, image2_tensor)

print("LPIPS distance:", distance.item())

在上述代码中,您需要将要计算LPIPS距离的两张图片存储在变量image1和image2中(可以使用PIL库的Image.open()函数加载图像文件)。

然后,我们加载了预训练的LPIPS模型,这里使用了alex网络。您可以根据需要选择其他可用的网络,如vggsqueeze

接下来,我们将图像转换为PyTorch的Tensor格式,并进行归一化处理,将像素值范围从[0, 255]归一化到[0, 1]。注意,这里的图像顺序是通道在前,即形状为[C, H, W]。

最后,我们使用LPIPS模型对两张图像的Tensor进行计算,得到LPIPS距离。距离的值通过distance.item()获取。

请确保安装了PyTorch和lpips库。您可以使用以下命令安装lpips库:

pip install lpips

2. 计算SSIM

2.0 说明

结构相似性指数(SSIM,Structural Similarity Index)

2.1 代码

安装

pip install scikit-image
import cv2
from skimage import metrics

# Assume you have two image files: image1.jpg and image2.jpg

# Load the images
image1 = cv2.imread("image1.jpg")
image2 = cv2.imread("image2.jpg")

# Convert images to grayscale
gray_image1 = cv2.cvtColor(image1, cv2.COLOR_BGR2GRAY)
gray_image2 = cv2.cvtColor(image2, cv2.COLOR_BGR2GRAY)

# Compute SSIM
ssim_score = metrics.structural_similarity(gray_image1, gray_image2)

print("SSIM score:", ssim_score)

使用cv2.imread()函数加载图像文件,并将其分别存储在变量image1和image2中。

然后,将图像转换为灰度图像,以便计算SSIM。使用cv2.cvtColor()函数将图像从BGR色彩空间转换为灰度色彩空间。

最后,使用skimage.measure.compare_ssim()函数计算两张灰度图像之间的SSIM。文章来源地址https://www.toymoban.com/news/detail-617831.html

到了这里,关于深度学习(24): 计算两个图像的LPIPS,SSIM指标 (python代码)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 图像质量指标:PSNR、SSIM、MSE

           方法描述:有两幅图像patch(当然也可是整幅图像),分别计算两幅图像的直方图,并将直方图进行归一化,然后按照某种距离度量的标准进行相似度的测量。 方法的思想:基于简单的向量相似度来对图像相似度进行度量。 优点:直方图能够很好的归一化,比如256个b

    2024年02月04日
    浏览(44)
  • 【DA-CLIP】test.py解读,调用DA-CLIP和IRSDE模型复原计算复原图与GT图SSIM、PSNR、LPIPS

    文件路径daclip-uir-main/universal-image-restoration/config/daclip-sde/test.py 代码有部分修改 注意open_clip使用的是项目里的代码,而非环境里装的那个。data、util、option同样是项目里有的包 设置配置文件相对地址options/test.yml 在该配置文件中配置GT和LQ图像文件地址 设置results_root结果地址,

    2024年04月09日
    浏览(50)
  • 图像处理之图像质量评价指标SSIM(结构相似性)

    一、SSIM基本定义 SSIM全称为“Structural Similarity Index”,中文意思即为结构相似性,是衡量图像质量的指标之一。给定两张图像x和y,其结构相似性可以定义为: matlab中对SSIM的文档说明: SSIM的范围为[0,1],其值越大,表示图像的质量越好 。当两张图像一模一样时,此时SSIM=1。

    2024年02月07日
    浏览(42)
  • 深入理解SSIM(两图像结构相似度指标)(附matlab代码)

    作者:老李 日期:2022-1-18 SSIM用于评价两张图像的相似程度。 对于SSIM这个指标的设计思路,如下图所示。 图像的均值表示图像的亮度。 图像的方差表示图像的对比度。 注意:要先将图像归一化(把像素的阈值调整为[0,1]),才可以通过计算,得出数值进行比较。 当α=β=γ

    2024年02月05日
    浏览(39)
  • 【最新最近】详细介绍图像修复评价指标MaPSNR、DISTS、FQeIQA、L0SSIM、LPIPSvgg、FID

    目录 MaPSNR DISTS FQeIQA L0SSIM LPIPSvgg FID MaPSNR(Multi-scale Peak Signal-to-Noise Ratio)是一种多尺度峰值信噪比指标。它是PSNR (Peak Signal-to-Noise Ratio) 的一种变体。MaPSNR是Mean-adjusted Peak Signal-to-Noise Ratio的缩写,即平均调整峰值信噪比。 在传统的PSNR指标中,只考虑了图像的全局信息,而没

    2024年02月11日
    浏览(90)
  • 深度学习图像风格迁移 - opencv python 计算机竞赛

    🔥 优质竞赛项目系列,今天要分享的是 🚩 深度学习图像风格迁移 - opencv python 该项目较为新颖,适合作为竞赛课题方向,学长非常推荐! 🥇学长这里给一个题目综合评分(每项满分5分) 难度系数:3分 工作量:3分 创新点:4分 🧿 更多资料, 项目分享: https://gitee.com/danche

    2024年02月04日
    浏览(58)
  • 计算机竞赛 opencv python 深度学习垃圾图像分类系统

    🔥 优质竞赛项目系列,今天要分享的是 🚩 opencv python 深度学习垃圾分类系统 🥇学长这里给一个题目综合评分(每项满分5分) 难度系数:3分 工作量:3分 创新点:4分 这是一个较为新颖的竞赛课题方向,学长非常推荐! 🧿 更多资料, 项目分享: https://gitee.com/dancheng-senior/p

    2024年02月13日
    浏览(80)
  • 计算机竞赛 深度学习 opencv python 公式识别(图像识别 机器视觉)

    🔥 优质竞赛项目系列,今天要分享的是 🚩 基于深度学习的数学公式识别算法实现 该项目较为新颖,适合作为竞赛课题方向,学长非常推荐! 🥇学长这里给一个题目综合评分(每项满分5分) 难度系数:3分 工作量:4分 创新点:4分 🧿 更多资料, 项目分享: https://gitee.com/d

    2024年02月07日
    浏览(59)
  • 计算机竞赛 深度学习+opencv+python实现昆虫识别 -图像识别 昆虫识别

    🔥 优质竞赛项目系列,今天要分享的是 🚩 **基于深度学习的昆虫识别算法研究与实现 ** 该项目较为新颖,适合作为竞赛课题方向,学长非常推荐! 🥇学长这里给一个题目综合评分(每项满分5分) 难度系数:3分 工作量:4分 创新点:4分 🧿 更多资料, 项目分享: https://git

    2024年02月07日
    浏览(92)
  • 深度学习卫星遥感图像检测与识别 -opencv python 目标检测 计算机竞赛

    🔥 优质竞赛项目系列,今天要分享的是 🚩 **深度学习卫星遥感图像检测与识别 ** 该项目较为新颖,适合作为竞赛课题方向,学长非常推荐! 🥇学长这里给一个题目综合评分(每项满分5分) 难度系数:3分 工作量:3分 创新点:5分 🧿 更多资料, 项目分享: https://gitee.com/da

    2024年02月03日
    浏览(71)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包