图像质量评价指标 PSNR 和 SSIM
PSNR 和 SSIM 是两种常见的图像质量评价指标,通常用于衡量两张图像的相似度。
参考材料:
PSNR
PSNR:峰值信噪比(Peak signal-to-noise ratio),常用对数分贝单位来表示。
先定义均方误差 。
灰度 MSE
两张大小均为 的灰度图像,原图为 ,有损图为 ,则定义
RGB MSE
分别计算 RGB 三个通道的 MSE,然后取平均值。
PSNR
先定义 为 中每个像素的可能颜色数量。对于 8 位图像,每个像素可能有255种颜色,于是 =255。当然也有 =255。
那么,
PSNR 的取值
PSNR 没有理论上限值,值越大,表明 和 越相似。容易看出, 和 完全相同时,PSNR 。
- PSNR 接近 50dB,代表压缩后的图像仅有些许非常小的误差。
- PSNR 大于 30dB,人眼很难察觉压缩后和原始影像的差异。
- PSNR 介于 20dB 到 30dB 之间,人眼就可以察觉出图像的差异。
- PSNR 介于 10dB 到 20dB 之间,人眼还是可以用肉眼看出这个图像原始的结构,且直观上会判断两张图像不存在很大的差异。
- PSNR 低于 10dB,人类很难用肉眼去判断两个图像是否为相同,一个图像是否为另一个图像的压缩结果。
一组来自 wiki 的对比图[1]:
原图 | PSNR 47.61dB | PSNR 34.02dB | PSNR 24.46dB |
---|---|---|---|
![]() |
![]() |
![]() |
![]() |
SSIM
SSIM:结构相似性指标(structural similarity index)
SSIM 的基本思想为自然图像是高度结构化的,即在自然图像中相邻像素之间有很强的关系性,而这样的关系性承载了场景中物体的结构信息。人类视觉系统在观看图像时已经很习惯抽取这样的结构性信息。
SSIM 的定义
设两张图分别为 和 。
SSIM 从三个维度来衡量图像的相似性:
-
亮度 luminance
其中 表示图像的均值, 和 是为了避免除以 0 而添加的常数:
默认取 0.01, 默认取 0.03。 和 PSNR 中的 是同一个东西。
-
对比度 contrast
其中 表示图像的方差。
-
结构 structure
其中 是 和 的协方差, 一般取 的一半。
于是,得到
、、 是控制三者相对重要性的参数,一般都取1即可。
在实际计算时,一般从图片上取一个固定大小的窗口,在窗口内进行 计算,然后不断滑动窗口,最后取平均值作为全局的 。
SSIM 的取值
如果 ,则有 ,,可以推算得出此时 。
SSIM 是可以取负值的。
SSIM 越大,表明两张图的相似性越高。
局限性
有时,PNSR 和 SSIM 可能无法正确地反映图像的视觉质量。见 https://videoprocessing.ai/metrics/ways-of-cheating-on-popular-objective-metrics.html
SSIM 不适用于位移、旋转、缩放这些非结构性失真。这些种类的极轻微失真就会导致 SSIM 剧烈变化。
来自 Miiishele - 自己的作品,CC BY-SA 4.0,https://commons.wikimedia.org/w/index.php?curid=91759828 ↩︎
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix