全参考视频质量评价方法(PSNR,SSIM)以及相关数据库

来源:互联网 发布:美工刀片磨刀机 编辑:程序博客网 时间:2024/06/08 21:14

最常用的全参考视频质量评价方法有以下2种:

PSNR(峰值信噪比):用得最多,但是其值不能很好地反映人眼主观感受。一般取值范围:20-40.值越大,视频质量越好。

SSIM(结构相似性):计算稍复杂,其值可以较好地反映人眼主观感受。一般取值范围:0-1.值越大,视频质量越好。

PSNR,SSIM计算有如下工具可选:

MSU Video Quality Measurement Tool:商业软件,图形化界面,易上手,使用有限制。

Evalvid中的psnr.exe:开源软件,命令行界面,使用无限制。推荐,适合批处理。


偶然发现了一个很好的网站。里面包含了大量主观评价算法的数据,导入到Matlab中就可以使用。

http://sse.tongji.edu.cn/linzhang/IQA/IQA.htm

注:MOS(Mean Opnion Score,平均意见分)是主观评价实验之后,得到的主观分数,取值0-100,值越大,代表主观感受越好。


以下实验数据来自Live数据库:http://live.ece.utexas.edu/research/Quality/


PSNR主观感受与客观分数之间的关系:


更新(2014.7.31)===============

拟合结果:MOS = -24.3816 *( 0.5 - 1./(1 + exp(-0.56962 * (PSNR - 27.49855)))) + 1.9663*PSNR   -2.37071;



SSIM主观感受与客观分数之间的关系:


拟合结果:

MOS = 2062.3 * (1/(1 + EXP(-11.8 * (SSIM - 1.3)))+0.5) + 40.6*SSIM -1035.6


摘自:http://blog.csdn.net/leixiaohua1020/article/details/11694369


matlab练习程序(SSIM)

  一种评价压缩后图像质量的方法,和PSNR类似。具体论文看这里。

  代码:

复制代码
function main    img=imread('lena.jpg');    [m n]=size(img);    imgn=imresize(img,[floor(m/8) floor(n/8)]);    imgn=imresize(imgn,[m n]);    img=double(img);    imgn=double(imgn);    tmp=[];    for i=9:8:m       for j=9:8:n          tmp=[tmp SSIM(img(i-8:i,j-8:j),imgn(i-8:i,j-8:j))];               end        end    MSSIM=mean(tmp)    function re=SSIM(X,Y)  %返回值在0-1之间,越大质量越好。        X=double(X);        Y=double(Y);        ux=mean(mean(X));        uy=mean(mean(Y));        sigma2x=mean(mean((X-ux).^2));        sigma2y=mean(mean((Y-uy).^2));           sigmaxy=mean(mean((X-ux).*(Y-uy)));        k1=0.01;        k2=0.03;        L=255;        c1=(k1*L)^2;        c2=(k2*L)^2;        c3=c2/2;        l=(2*ux*uy+c1)/(ux*ux+uy*uy+c1);        c=(2*sqrt(sigma2x)*sqrt(sigma2y)+c2)/(sigma2x+sigma2y+c2);        s=(sigmaxy+c3)/(sqrt(sigma2x)*sqrt(sigma2y)+c3);        re=l*c*s;    endend
复制代码

 

分类: Matlab练习程序
http://www.cnblogs.com/tiandsp/archive/2012/12/14/2818299.html


0 0
原创粉丝点击