解析PSNR和SSIM

  

PSNR(Peak Signal to Noise Ratio)峰值信噪比,一种全参考的图像质量评价指标。

其中,MSE表示当前图像X和参考图像Y的均方误差(Mean Square Error),H、W分别为图像的高度和宽度;n为每像素的比特数,一般取8,即像素灰阶数为256. PSNR的单位是dB,数值越大表示失真越小。

PSNR是最普遍和使用最为广泛的一种图像客观评价指标,然而它是基于对应像素点间的误差,即基于误差敏感的图像质量评价。由于并未考虑到人眼的视觉特性(人眼对空间频率较低的对比差异敏感度较高,人眼对亮度对比差异的敏感度较色度高,人眼对一个区域的感知结果会受到其周围邻近区域的影响等),因而经常出现评价结果与人的主观感觉不一致的情况。

 

SSIM(structural similarity)结构相似性,也是一种全参考的图像质量评价指标,它分别从亮度、对比度、结构三方面度量图像相似性。

其中ux、uy分别表示图像X和Y的均值,σX、σY分别表示图像X和Y的方差,σXY表示图像X和Y的协方差,即

C1、C2、C3为常数,为了避免分母为0的情况,通常取C1=(K1*L)^2, C2=(K2*L)^2, C3=C2/2, 一般地K1=0.01, K2=0.03, L=255. 则

SSIM取值范围[0,1],值越大,表示图像失真越小.

在实际应用中,可以利用滑动窗将图像分块,令分块总数为N,考虑到窗口形状对分块的影响,采用高斯加权计算每一窗口的均值、方差以及协方差,然后计算对应块的结构相似度SSIM,最后将平均值作为两图像的结构相似性度量,即平均结构相似性MSSIM:

### 定义 #### 峰值信噪比(PSNR) 峰值信噪比(Peak Signal-to-Noise Ratio, PSNR) 是一种基于均方误差(Mean Squared Error, MSE)的量化指标,用来评估图像的质量。具体来说,PSNR通过比较重建后的图像与原始参考图像之间像素差异来衡量图像失真程度[^1]。 公式如下: \[ \text{MSE} = \frac{1}{mn}\sum_{i=0}^{m-1}\sum_{j=0}^{n-1}[I(i,j)-K(i,j)]^2 \] 其中 \( I(i,j) \) 表示原图中的像素值;\( K(i,j) \) 则代表重构后图片对应位置处的灰度级数值;而 m n 分别表示图像的宽度尺寸大小。 接着利用上述得到的结果计算最终得分: \[ \text{PSNR}=10\cdot\log _{10}\left(\frac{\max(I)^2}{\text{MSE}}\right)\quad (\text{dB}) \] 这里最大可能亮度范围通常取8位无符号整数即255作为分母部分的最大值平方项。 #### 结构相似性(SSIM) 结构相似性(Structural Similarity Index Measure, SSIM),不仅关注单个像素级别的变化,更注重整体视觉感知特性的一致性,比如对比度、亮度以及纹理模式等方面的信息匹配情况[^3]。相比起简单的逐点距离测量方法而言,这种方法能够更好地反映人类主观感受下的画质优劣评判标准。 其核心思想在于将一幅给定的目标影像分解成若干局部窗口,在每一个这样的子区域内分别考察三个因素——luminance (L), contrast (C), structure (S): \[ \text{SSIM}(x,y)=\frac{(2\mu_x\mu_y+C_1)(2\sigma_{xy}+C_2)}{(\mu_x^2+\mu_y^2+C_1)(\sigma_x^2+\sigma_y^2+C_2)} \] 这里的参数解释为: - \( x \): 参考图像; - \( y \): 待测图像; - \( C_1=(k_1 L)^2,\; C_2=(k_2 L)^2 \); 其中 k₁,k₂ 一般设为较小常数防止除零错误发生; - μ : 平均强度(mean intensity); - σ² : 方差(variance). ### 区别 两者的主要区别体现在以下几个方面: - **侧重点不同**: PSNR侧重于绝对误差统计分析,适合描述层次特征损失状况;而SSIM则更加贴近人的直觉认知习惯,可以有效捕捉到层次语义信息的变化趋势。 - **适用场景各异**: 对于那些仅需简单判断是否有明显瑕疵的任务,如视频传输过程中的快速质检环节,则可优先选用易于理解实现的PSNR方案。然而当涉及到更为复杂的艺术创作或者医学诊断等领域时,往往需要依赖像SSIM这样具备更强表征能力的技术手段来进行精准评测[^4]. ### 应用场合 - **PSNR的应用** - 图像压缩:在JPEG编码过程中,可以通过调整量化步长控制压缩率的同时观察PSNR下降幅度以权衡二者关系。 - 数字水印嵌入检测:验证隐藏数据是否成功写入载体而不影响正常观看体验。 - **SSIM的应用** - 质量监控系统设计:针对清电视广播信号源进行实时监测预警异常波动现象。 - 计算机辅助医疗阅片平台开发:帮助医生识别病变区域边界轮廓等细微差别提诊疗效率准确性[^2]. ```python import cv2 from skimage.metrics import structural_similarity as ssim def calculate_psnr(img1, img2): mse = np.mean((img1 - img2)**2) if mse == 0: return float('inf') max_pixel_value = 255.0 psnr = 20 * math.log10(max_pixel_value / math.sqrt(mse)) return psnr imageA = cv2.imread("original_image.png", cv2.IMREAD_GRAYSCALE) imageB = cv2.imread("processed_image.png", cv2.IMREAD_GRAYSCALE) psnr_result = calculate_psnr(imageA.astype(float), imageB.astype(float)) ssim_result, diff = ssim(imageA, imageB, full=True) print(f"PSNR Value: {psnr_result:.4f}") print(f"SSIM Value: {ssim_result:.4f}") ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值