图像超分辨率评价指标

article/2025/9/16 6:02:32

参考文章:https://zhuanlan.zhihu.com/p/50757421

                  https://blog.csdn.net/weixin_36815313/article/details/108531674

实现方式有两种

  • skimage.measure.compare_ssim
sk_psnr = skimage.measure.compare_psnr(im1, im2, 255)
print(sk_psnr )
  • 手动实现
def calculate_psnr(img1, img2):# img1 and img2 have range [0, 255]img1 = img1.astype(np.float64)img2 = img2.astype(np.float64)mse = np.mean((img1 - img2)**2)if mse == 0:return float('inf')return 20 * math.log10(255.0 / math.sqrt(mse))

以上两种方式的计算结果一致。

一般来说,MSE越小,则PSNR 越大,代表着图像质量越好。

  1. PSNR高于40dB说明图像质量极好(即非常接近原始图像)
  2. 在30-40dB通常表示图像质量是好的(即失真可以察觉但可以接受)
  3. 在20-30dB说明图像质量差
  4. 低于20dB图像不可接受

对于三通道的图像,对每个通道分别求ssim值,之后求平均,最大值为1.0

实现方式有两种

  • skimage.measure.compare_ssim
sk_ssim = measure.compare_ssim(img1, img2, gaussian_weights = True,multichannel = True, data_range=255)
print(sk_ssim )
  • 手动实现
def calculate_ssim(img1, img2):'''calculate SSIMthe same outputs as MATLAB'simg1, img2: [0, 255]'''if not img1.shape == img2.shape:raise ValueError('Input images must have the same dimensions.')if img1.ndim == 2:return ssim(img1, img2)elif img1.ndim == 3:if img1.shape[2] == 3:ssims = []for i in range(3):ssims.append(ssim(img1, img2))return np.array(ssims).mean()elif img1.shape[2] == 1:return ssim(np.squeeze(img1), np.squeeze(img2))else:raise ValueError('Wrong input image dimensions.')def ssim(img1, img2):C1 = (0.01 * 255)**2C2 = (0.03 * 255)**2img1 = img1.astype(np.float64)img2 = img2.astype(np.float64)kernel = cv2.getGaussianKernel(11, 1.5)window = np.outer(kernel, kernel.transpose())mu1 = cv2.filter2D(img1, -1, window)[5:-5, 5:-5]  # validmu2 = cv2.filter2D(img2, -1, window)[5:-5, 5:-5]mu1_sq = mu1**2mu2_sq = mu2**2mu1_mu2 = mu1 * mu2sigma1_sq = cv2.filter2D(img1**2, -1, window)[5:-5, 5:-5] - mu1_sqsigma2_sq = cv2.filter2D(img2**2, -1, window)[5:-5, 5:-5] - mu2_sqsigma12 = cv2.filter2D(img1 * img2, -1, window)[5:-5, 5:-5] - mu1_mu2ssim_map = ((2 * mu1_mu2 + C1) * (2 * sigma12 + C2)) / ((mu1_sq + mu2_sq + C1) *(sigma1_sq + sigma2_sq + C2))return ssim_map.mean()

以上两种方式的计算结果基本一致。

SSIM,Structural Similarity,结构相似性. 也是衡量两幅图片相似性的指标.

结构相似性的基本原理是,认为自然图像时高度结构化的,即相邻像素间具有很强的关联性,而这种关联性表达了场景中物体的结构信息. 人类视觉系统对于图像已经具有很强的理解与信息抽取能力,所以在衡量图像质量时,结构性失真是很重要的考量


http://chatgpt.dhexx.cn/article/SyqZVm1l.shtml

相关文章

超分辨率——综述文章

参考地址:https://www.jiqizhixin.com/articles/2019-03-15-7 超分辨率研究的意义 超分辨率研究的问题是 将低分辨率的图像重建为高分辨率的图像。这种操作主要有这么几种应用场景: 图像压缩方面,在传输过程中可以只传输低分辨率的图片&am…

超分辨率基础

超分辨率综述 Image Super-resolution 的深度学习方法 微信二维码引擎OpenCV开源 微信扫码背后的图像超分辨率技术 技术解析 | 即构移动端超分辨率技术 DIV2K数据集下载 B100/Manga109/Set5/Set14/Urban100 提取码:q4ev 超分难点延伸出的技术方向上采样倍数是整数无…

超分辨率学习

超分辨率学习 传统图像超分辨率重建方法基于插值基于重建基于学习(机器学习)基于深度学习 获取低分图像的方法简单下采样加入模糊和噪声的下采样 超分图像的评价指标客观峰值信噪比PSNR(DB)结构相似度SSIM 主观:意见平…

超分辨率综述

概念: 图像超分辨率(image super resolution, SR)是计算机视觉和图像处理中一类重要的图像处理技术,是指从低分辨率(low resolution, LR)图像中恢复高分辨率(high resolution, HR)图像的过程。它有广泛的现实世界的应用,如医学成像&#xff0…

揭秘超分辨率的正确打开方式

写在前边:图像和视频通常包含着大量的视觉信息,且视觉信息本身具有直观高效的描述能力,所以随着信息技术的高速发展,图像和视频的应用逐渐遍布人类社会的各个领域。近些年来,在计算机图像处理,计算机视觉和…

【超分辨率】3分钟带你读懂

内容概述:超分辨率技术是指从观测到的低分辨率图像重建出相应的高分辨率图像,随着深度学习技术的发展,超分辨率技术在电影、医疗影像、游戏等领域的应用,也愈发广泛。在本文中,帝视科技将深入探讨超分辨率的背景及原理…

基于深度学习的图像超分辨率——综述

2021-Deep Learning for Image Super-resolution:A Survey 基本信息 作者: Zhihao Wang, Jian Chen, Steven C.H. Hoi, Fellow, IEEE 期刊: IEEE Trans Pattern Anal Mach Intell(16.389) 引用: 156(热点论文) 摘要: 本文旨在对…

区块链学习笔记

廖雪峰的官方网站-区块链教程 https://www.liaoxuefeng.com/wiki/1207298049439968 思维导图整理

区块链学习三

目前,作为客户端验证区块链的主要方法有两种:全节点和 SPV 客户端。 全节点 第一个也是最安全的模型是比通过下载和验证从创世块一直到最近发现的块的块来确保块链的有效性。 要欺骗客户端,攻击者需要提供一个完整的替代区块链历史&#x…

区块链学习路径,看这一篇就够了 | FISCO BCOS

FISCO BCOS开源社区已沉淀过百篇文章,覆盖了区块链学习各个阶段。为了方便大家对应自身学习阶段找到合适的教程,我们按照区块链学习成长路径对社区文章进行整理排序,希望沿着这份路径规划,大家都能成为独当一面的区块链专家。 我…

区块链学习路线图 初阶+中阶+高阶

一、报告名称 区块链学习路线图 二、作者 张开翔 微众银行区块链首席架构师 三、若需要pdf版本 关注公号”元宇宙最新报告”,回复关键词“区块链学习路线图”,获取百度网盘免费下载链接。 免责声明:文章报告仅代表原作者观点,版…

区块链学习——原理入门

刚开始学习区块链,由于刚入门,所以借鉴了一些大佬的总结,仅作个人学习使用。 刚开始了解区块链,应当对其概念有所了解,要分清链圈和币圈。首先要了解区块链的概念,原理,核心技术。随后要去读一些…

区块链学习笔记3——BTC协议

区块链学习笔记3——BTC协议 学习视频:北京大学肖臻老师《区块链技术与应用》 笔记参考:北京大学肖臻老师《区块链技术与应用》公开课系列笔记——目录导航页 数字货币所面临的主要挑战 Double spending attack(双花攻击,同一张数…

区块链学习1-证书

加密和签名: 在现实生活中,如果想在某个银行存钱或者取钱,首先要开立账户,这是中心化系统的标准流程。在区块链中,我们同样需要具备这样一个账户: 公链是去中心化的,每个用户自己决定是否开户…

区块链学习笔记及总结【二】

区块链总述 区块链是比特币的核心技术,在比特币系统里用来记录有序且带有时间戳的交易记录。主要用于防止(double spend)双花攻击和篡改以前的交易记录。 这里需要注意是防止篡改,不是防止更改。实际上区块链某些情况还鼓励更改…

区块链学习心得

暑假在杭州一家区块链网络公司实习,由于工作原因,学习了区块链的一些基础知识,关于区块链的知识,我是学习的《区块链基础知识25讲》,这本书真的非常不错,有时间的小伙伴可以拿来学习一下。当然我这里也就是…

区块链学习路线

泛读精读,建立框架 区块链的创新在于老技术的组合创新,也正是区块链技术的系统之美,包括:分布式系统、拜占庭问题、密码学、数据结构、P2P网络等技术,以及博弈论、经济学等思想。针对这个特点要系统化学习,…

【区块链】区块链技术学习总结

文章目录 一、区块链技术简介1.1 区块链概念1.2 区块链应用1.2.1 区块链1.0技术:比特币1.2.2 区块链2.0技术:以太坊1.2.3 区块链3.0技术:价值互联网 二、区块链1.0技术比特币2.1 比特币2.1.1 比特币概念2.1.2 比特币性质2.1.3 比特币解决的问…

注意力机制综述

注意力最近几年在深度学习各个领域被广泛使用,无论是图像分割、语音识别还是自然语言处理的各种不同类型的任务中,注意力机制都在其中大放异彩 介绍 注意力(attention)机制最初应用于机器翻译任务,现在已被广泛地应用…

注意力机制原理

Attention机制在近几年来在图像,自然语言处理等领域中都取得了重要的突破,被证明有益于提高模型的性能。Attention机制本身也是符合人脑和人眼的感知机制,这次我们主要以计算机视觉领域为例,讲述Attention机制的原理,应…