当前位置: 首页 > news >正文

PSNR/SSIM/LPIPS图像质量评估三件套(含代码)

在图像质量评估上,有三个重要指标:PSNR,SSIM,LPIPS。本文提供简易脚本分别实现。

PSNR,峰值信噪比,是基于MSE的像素比较低质量评估,一般30dB以上质量就不错,到40dB以上肉眼就很难分别了。
SSIM,结构相似性,从分布上来比较相似性,量化到(0-1)之间,越接近1则证明图像质量越好。具体数学公式可以看我之前的博客《SSIM》。
LPIPS,利用AI模型来量化图像之间的相似性。取值范围也是[0,1],与SSIM相反,LPIPS是越小则证明图像质量越好

像这种常见的图像质量评价指标,都会收录到torchmetrics里面。只需安装:

pip install torchmetrics

实验脚本:

import torch
from torchmetrics.image.lpip import LearnedPerceptualImagePatchSimilarity
from torchmetrics.image import StructuralSimilarityIndexMeasure
from torchmetrics.image import PeakSignalNoiseRatio_ = torch.manual_seed(123)def psnr_torch(img1, img2):mse = ((img1 - img2) ** 2).view(img1.shape[0], -1).mean(1, keepdim=True)return 20 * torch.log10(1.0 / torch.sqrt(mse))def psnr(img1, img2):metric = PeakSignalNoiseRatio()return metric(img1, img2)def ssim(img1, img2):metric = StructuralSimilarityIndexMeasure(data_range=1.0)return metric(img1, img2)def lpips(img1, img2):metric = LearnedPerceptualImagePatchSimilarity(net_type='vgg')return metric(img1, img2)def _main():img1 = torch.rand(1, 3, 100, 100)img2 = torch.rand(1, 3, 100, 100)# PSNRprint("PNSR: ", psnr_torch(img1, img2))print("PNSR1: ", psnr(img1, img2))print("SSIM: ", ssim(img1, img2))print("LPIPS: ", lpips(img1, img2))if __name__ == "__main__":_main()

代码里给了两种PSNR实现方法,计算结果差别不大。欢迎自取~

相关文章:

PSNR/SSIM/LPIPS图像质量评估三件套(含代码)

在图像质量评估上,有三个重要指标:PSNR,SSIM,LPIPS。本文提供简易脚本分别实现。 PSNR,峰值信噪比,是基于MSE的像素比较低质量评估,一般30dB以上质量就不错,到40dB以上肉眼就很难分…...

20240318uniapp怎么引用组件

在script中增加 import index from "/pages/index/index.vue" 把index直接整个作为一个组件引入 然后注册组件 在export default中增加 components: {index:index }, 注册了index组件&#xff0c;内容为import的index 然后就可以在template里使用 <index&…...

扩展以太网(数据链路层)

目录 一、在物理层扩展以太网 二、在数据链路层扩展以太网 三、以太网交换机的特点 四、以太网交换机的交换方式 五、以太网交换机的自学习功能 六、小结 一、在物理层扩展以太网 使用光纤扩展&#xff1a; • 主机使用光纤&#xff08;通常是一对光纤&#xff09;和…...

每日一练 | 华为认证真题练习Day202

1、在组播网络环境中&#xff0c;如果IGMPv2主机和IGMP V1路由器&#xff08;以下简称版本2主机和版本1路由器&#xff09;共同处于同一局域网当中&#xff0c;那他们是如何协同工作的&#xff1f;&#xff08;多选&#xff09; A. 版本1路由器把IGMPv2报告看作无效的IGMP信息…...

基于python+vue的幼儿园管理系统flask-django-php-nodejs

随着信息时代的来临&#xff0c;过去的传统管理方式缺点逐渐暴露&#xff0c;对过去的传统管理方式的缺点进行分析&#xff0c;采取计算机方式构建幼儿园管理系统。本文通过课题背景、课题目的及意义相关技术&#xff0c;提出了一种活动信息、课程信息、菜谱信息、通知公告、家…...

【java】java环境变量分类

测试代码&#xff1a; public class TestSys {public static void main(String[] args) {/*** 获取所有的系统环境变量*/Map<String, String> map System.getenv();map.forEach((key, value) -> System.out.printf("env&#xff1a;key:%s->value:%s%n"…...

掌握Go语言:Go语言通道,并发编程的利器与应用实例(20)

通道&#xff08;Channel&#xff09;是用来在 Go 程序中传递数据的一种数据结构。它是一种类型安全的、并发安全的、阻塞式的数据传输方式&#xff0c;用于在不同的 Go 协程之间传递消息。 基本概念 创建通道&#xff1a;使用make()函数创建一个通道。 ch : make(chan int)…...

JavaSE(上)-Day9

JavaSE&#xff08;上&#xff09;-Day9 集合static静态变量静态方法静态方法的注意事项重新认识main方法 继承继承注意事项子类到底能继承父类哪些内容继承中成员变量和成员方法的访问特点重写构造方法的访问特点this & super 集合 因为数组是不可变的&#xff0c;我们在…...

Java 内存模型概述

Java 内存区域 引言&#xff1a; 在并发编程中&#xff0c;需要解决两个问题&#xff1a;线程之间如何通信和线程之间如何同步 通信是指线程之间以何种机制来交换信息 在命令式编程中&#xff0c;通信机制主要分为两种&#xff1a;共享内存和消息传递 Java 的并发采用的是…...

远程桌面安卓版下载 安卓远程控制免费版

远程桌面安卓版下载与安卓远程控制免费版的应用解析 随着移动互联网的快速发展&#xff0c;远程桌面应用逐渐成为了许多用户、特别是技术爱好者和商务人士的必备工具。它们不仅可以在电脑上实现远程控制&#xff0c;还能将这种功能延伸到移动设备上&#xff0c;如安卓手机和平…...

算法打卡day18|二叉树篇07|Leetcode 530.二叉搜索树的最小绝对差、501.二叉搜索树中的众数、236. 二叉树的最近公共祖先

算法题 Leetcode 530.二叉搜索树的最小绝对差 题目链接:530.二叉搜索树的最小绝对差 大佬视频讲解&#xff1a;二叉搜索树的最小绝对差视频讲解 个人思路 因为是在二叉搜索树求绝对差&#xff0c;而二叉搜索树是有序的&#xff0c;那就把它想成在一个有序数组上求最值&…...

MySQL 中的自增ID及其应用场景

在MySQL中&#xff0c;自增ID主要体现在几种不同的场景下&#xff0c;每种自增ID都有其特定用途和行为特征&#xff1a; 1. Auto-Increment ID (PRIMARY KEY AUTO_INCREMENT) 场景&#xff1a;在创建表时&#xff0c;可以为某个整数字段设置AUTO_INCREMENT属性&#xff0c;生成…...

ChatGPT高效完成简历制作[中篇4]-有爱AI实战教程(十一)

演示站点&#xff1a; https://ai.uaai.cn 对话模块 官方论坛&#xff1a; www.jingyuai.com 京娱AI 一、导读&#xff1a; 在使用 ChatGPT 时&#xff0c;当你给的指令越精确&#xff0c;它的回答会越到位&#xff0c;举例来说&#xff0c;假如你要请它帮忙写文案&#xff0c…...

5.2.5、【AI技术新纪元:Spring AI解码】VertexAI Embeddings

基于Models REST API的PaLM API允许开发者利用下一代大型语言模型PaLM构建生成式AI应用。大型语言模型(LLMs)是一种强大的、多用途的机器学习模型,通过一系列提示使计算机能够理解和生成自然语言。PaLM API基于Google的下一代LLM PaLM,擅长多种任务,包括代码生成、推理和文…...

【vue baidu-map】实现百度地图展示基地,鼠标悬浮标注点展示详细信息

实现效果如下&#xff1a; 自用代码记录 <template><div class"map" style"position: relative;"><baidu-mapid"bjmap":scroll-wheel-zoom"true":auto-resize"true"ready"handler"><bm-mar…...

uniapp canvas文字和元素居中

文字居中&#xff1a;ctx.textAlign "center"; 元素居中&#xff1a;ctx.arc(screenWidth / 2, 122, 40, 0, 2 * Math.PI); ctx.arc()的x轴为当前屏幕的宽度/2&#xff1b; let screenWidth 540; let screenHeight 960; // 头像 if (photoimg) {ctx.setFillSty…...

深度探索:SWAT模型和生物地球化学循环模型实现流域生态系统水-碳-氮耦合过程模拟

目录 专题一 流域水碳氮建模概述 专题二 ArcGIS入门 专题三 SWAT模型建模流程 专题四 DEM数据制备流程 专题五 土地利用数据制备流程 专题六 土壤数据制备流程 专题七 气象数据制备流程 专题八 农业措施数据制备流程 专题九 参数率定与结果验证 专题十 CENTURY模型建…...

C语言经典算法-5

文章目录 其他经典例题跳转链接26.约瑟夫问题&#xff08;Josephus Problem&#xff09;27.排列组合28.格雷码&#xff08;Gray Code&#xff09;29.产生可能的集合30.m元素集合的n个元素子集 其他经典例题跳转链接 C语言经典算法-1 1.汉若塔 2. 费式数列 3. 巴斯卡三角形 4. …...

python与excel第二节

python与excel第二节 打开一个工作簿 例子&#xff1a; import xlwings as xw app xw.App(visibleTrue,add_bookFalse) workbook app.books.open(rD:\TEST\python与excel\工作簿test0.xlsx) 上面例子打开了工作簿test0.xlsx。 但是&#xff0c;如果该excel文件不存在则报错…...

Google云计算原理与应用(四)

目录 七、海量数据的交互式分析工具Dremel&#xff08;一&#xff09;产生背景&#xff08;二&#xff09;数据模型&#xff08;三&#xff09;嵌套式的列存储&#xff08;四&#xff09;查询语言与执行&#xff08;五&#xff09;性能分析&#xff08;六&#xff09;小结 八、…...

如何快速掌握开源UE资产编辑器:UAssetGUI完整配置与实战指南

如何快速掌握开源UE资产编辑器&#xff1a;UAssetGUI完整配置与实战指南 【免费下载链接】UAssetGUI A tool designed for low-level examination and modification of Unreal Engine game assets by hand. 项目地址: https://gitcode.com/gh_mirrors/ua/UAssetGUI UAss…...

HDI 高密度互连板阶数的深度理解

一、概述高密度互连板&#xff08;High Density Interconnector, HDI&#xff09;是通过激光微孔技术和逐层积层工艺实现高密度布线的印制电路板。其阶数划分是行业内统一的技术标准&#xff0c;核心依据为独立积层压合次数与配套激光盲孔制程次数&#xff0c;而非单面层数或钻…...

基于MAX78000的离线鸟类声音识别:边缘AI从数据到部署全流程解析

1. 项目概述&#xff1a;当边缘AI“听懂”鸟鸣在野外生态监测或自家后院观鸟时&#xff0c;你是否有过这样的经历&#xff1a;听到一阵清脆或婉转的鸟鸣&#xff0c;却完全不知道是哪位“歌唱家”在表演&#xff1f;传统的鸟类识别依赖专家经验和图鉴比对&#xff0c;不仅门槛高…...

如何快速上手DeepPurpose?5分钟完成你的第一个药物-靶点相互作用预测模型

如何快速上手DeepPurpose&#xff1f;5分钟完成你的第一个药物-靶点相互作用预测模型 【免费下载链接】DeepPurpose A Deep Learning Toolkit for DTI, Drug Property, PPI, DDI, Protein Function Prediction (Bioinformatics) 项目地址: https://gitcode.com/gh_mirrors/de…...

告别DLL缺失烦恼!Visual C++运行库合集一键搞定Windows应用依赖问题

告别DLL缺失烦恼&#xff01;Visual C运行库合集一键搞定Windows应用依赖问题 【免费下载链接】vcredist AIO Repack for latest Microsoft Visual C Redistributable Runtimes 项目地址: https://gitcode.com/gh_mirrors/vc/vcredist 你是否曾经在打开某个软件或游戏时…...

3步快速解密中兴光猫配置:ZET工具终极实战指南

3步快速解密中兴光猫配置&#xff1a;ZET工具终极实战指南 【免费下载链接】ZET-Optical-Network-Terminal-Decoder 项目地址: https://gitcode.com/gh_mirrors/ze/ZET-Optical-Network-Terminal-Decoder 中兴光猫配置解密工具是每个网络管理员必备的神器&#xff01;Z…...

如何深度定制索尼相机:Sony-PMCA-RE逆向工程工具完整指南

如何深度定制索尼相机&#xff1a;Sony-PMCA-RE逆向工程工具完整指南 【免费下载链接】Sony-PMCA-RE Reverse Engineering Sony Digital Cameras 项目地址: https://gitcode.com/gh_mirrors/so/Sony-PMCA-RE 索尼相机逆向工程工具Sony-PMCA-RE是一款专业的开源工具&…...

从无线破解到PDF解密:盘点那些容易被忽略的‘非主流’密码审计场景与工具

密码安全审计的隐秘战场&#xff1a;从无线网络到加密文档的实战指南 当大多数人谈论密码安全时&#xff0c;脑海中浮现的往往是服务器登录、数据库访问这些企业级场景。然而在数字生活的每个角落&#xff0c;从家庭Wi-Fi到工作文档&#xff0c;密码保护的脆弱性同样可能成为安…...

TigerVNC跨平台远程桌面解决方案:构建企业级安全连接的技术实践

TigerVNC跨平台远程桌面解决方案&#xff1a;构建企业级安全连接的技术实践 【免费下载链接】tigervnc High performance, multi-platform VNC client and server 项目地址: https://gitcode.com/gh_mirrors/ti/tigervnc 在数字化转型浪潮中&#xff0c;远程桌面访问已成…...

抖音批量下载工具:免费获取无水印视频的终极解决方案

抖音批量下载工具&#xff1a;免费获取无水印视频的终极解决方案 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback suppor…...