评价图像质量的新方式SSIM
来源:互联网 发布:淘宝网迷你小音响 编辑:程序博客网 时间:2024/06/10 06:31
【引言】在研究图像压缩算法的时候,最终需要对压缩的质量进行评价,现有的评价质量的方法是按照PSNR或者压缩前后图像的最大误差值来判定,PSNR起源于香浓理论,表达信息的相对多少,最大误差值仅能看出图像局部信息丢失的多少;但是在实际应用中,人们评价被处理后的图像,看中的却不是信息量的多少,如针对压缩,我们更关注的是压缩后图像会有变化吗?人的眼睛能感受到该变化吗?该变化人们在其应用上是否能够接受吗?等等这些都是以人为主导判断的。再如针对人物肤色增强,最终评价肤色好坏的还是以人的主观感受为主,因此最大可能的模拟人的感受来评价图像的变化前后的好坏,成为了人们的研究方向。
SSIM是Structural Similarity的简称,即结构相似性。它是一种衡量电视、电影或者其他数字图像、视频的主观感受质量的一种方法,该方法首先是由德州大学奥丁分校的图像与视频工程实验室提出的,接下来其与纽约大学合作发展此理论。SSIM算法是用来测试两幅图像的相似性,其测量或者预测图像的质量是基于未压缩的或者无失真的图像作为参考的。传统检测图像质量的方法MSE,PSNR与人眼的实际视觉感知是不一致的,SSIM算法在设计上考虑了人眼的视觉特性,比传统方式更符合人眼视觉感知。该算法再2001年提出之后,得到很多人的引用和对此算法的不断改进,并在2015年该算法的提出者获得视频协会给予的个人黄金工程Emmy奖。
前面提到的MSE或者是PSNR算法,都是对绝对误差的评估,SSIM是一种基于感知的计算模型,它能够考虑到图像的结构信息在人的感知上的模糊变化,该模型还引入了一些与感知上的变化有关的感知现象,包含亮度mask和对比mask,结构信息指的是像素之间有着内部的依赖性,尤其是空间上靠近的像素点。这些依赖性携带着目标对象视觉感知上的重要信息。
【算法】
SSIM可以基于不同的窗口做计算,假设窗口x,y的大小是N*N;
其中:
- 是x的平均值;
- 是的平均值;
- 是 的方差;
- 是 的方差;
- 是和的协方差;
- 是维持稳定的两个变量
- 是像素的动态范围即,(如果是常用的真彩24bit图像,bits per pixel=8)
- 和 是默认值
Multi-Scale
Multi-Scale是在SSIM基础上改进的算法,是对子群采用多阶段多多尺度推导计算的结构,SSIM和Multi-Scale SSIM对人主观判断的相关性上具有较高的表现,且具有很广泛的应用,其中包含:LIVE 图像质量数据库,和TID数据库。DSSIM
Structural dissimilarity(DSSIM),结构差异点是基于SSIM得出的一个距离度量:视频质量度量:
值得注意的是最初的SSIM是用来衡量静态图像质量的,它没有包含任何与人类感知和判断的时间相关的参数,然而,到了后期一些与时间相关的参数被植入到SSIM算法,用来衡量视频质量的好坏,一个简单的方式来评价视频质量的好坏是计算视频帧中SSIM的平均值。
应用:
基于SSIM较低的计算成本和较好的表现,SSIM算法广泛应用于广播,电报,卫星电视工业,成为用来评价视频质量的主要方式。
讨论:
有一个叫Yang写出了一份报告,描述了SSIM算法并没有它说宣称的那样精准,他宣称SSIM所提供的图像质量等级其与人类的视觉判断相关性还没有MSE算法好。他指出“基于感知的SSIM算法”,其公式中没有体现任何与视觉感知相关的模型,它是基于一种“无视觉感知”的算法,如人的视觉系统不会计算两幅图片各自的平均值。所以对于SSIM算法最终的认可还有待商榷,继续考量。
举例实验:
测试图片 测试结果
个人问题:
问题1:对JPEG图像做压缩,JPEG图像本身已经被处理过,那么SSIM算法还适用吗?
问题2:从对该算法的介绍来看,看算法只是引用的次数较多,并没有哪一个协会或者组织对此算法作出充分的理论和数据验证。
问题3:对于结构相似性中提到的亮度mask和对比度mask还需要进一步理解其意义。
问题4:window大小的选择,如果不考虑计算的复杂度,是不是size越大评价效果越真实?
问题5:为什么在评价图像时,目前都是基于对亮度分量的评价,亮度分量指的是什么?是颜色空间转换后的亮度的吗?
参考链接:
1.SSIM白皮书:https://ece.uwaterloo.ca/~z70wang/publications/ssim.html
2.代码:我这里有一份官方的matlab,c,c++.java代码,其中matlab代码已经做过实验验证,有需要的联系我:sunlinju303@outlook.com;
3.有感兴趣的大家一起讨论;
- 评价图像质量的新方式SSIM
- 图像质量评价--SSIM
- 图像质量评价:SSIM&PSNR
- 医学图像质量评价方法SSIM
- 图像压缩质量评价PSNR和SSIM
- OpenCV图像质量评价的SSIM算法(图像相似度)
- SSIM——基于结构相似性的图像质量评价(matlab)
- 两种常用的全参考图像质量评价指标--PSNR和SSIM
- 图像质量评价之PSNR 和SSIM(附Matlab实现代码)
- 图像质量的评价准则
- 视频质量客观评价PSNR和SSIM
- 图像质量的客观评估指标PSNR与SSIM
- 图像质量的客观评估指标PSNR与SSIM
- psnr ssim图像评价指标解释
- 图像质量评估psnr ssim mse
- 图像质量评估PSNR和SSIM
- 图像质量评估算法 SSIM(结构相似性)
- 图像质量评估(PSNR+SSIM)-C++
- Java之对象笔记
- ATOM基础教程一linter-php配置(12)
- 编程思想之多线程与多进程(1)——以操作系统的角度述说线程与进程
- 139. Word Break 单词切分
- spring声明式事务管理的几种方式
- 评价图像质量的新方式SSIM
- <s:set>标签中value使用表达式变量的问题
- Java8初体验(二)Stream语法详解
- java--关于线程同步(5种同步方式)
- Graphviz 入门
- (4.6.17.1)进程保活(一、Android层面):关于 Android 进程保活,你所需要知道的一切
- centos服务器上java环境和tomcat部署过程以及mysql简单修改
- mac电脑用pycharm编程from sys import argv报错
- flush redo时出现ora-00922