介绍
图像算法评估=定性(主观,观察)+定量(客观,特征值)+算法时间
- 定性:主要是观察+分析
- 定量:主要是各参数指标,又分为 参考质量+非参考质量
- 参考质量:处理后的图和原图之间的相关质量度量,比如对比度提升,轮廓复原率,过饱和率,结构相似度,
PSN, SSIM, RMSE and UIQ - 非参考质量:图像本身的一些指标,
e, σ, r and CNR
分述
- 全参考Full-reference FR
- 基于图像像素统计基础PSNR
- PSNR峰值信噪比
- MSE均方误差
- 基于信息论基础:
- IFC,信息保真度准则Information Fidelity Criterion
- VIF,视觉信息保真度Visual Information Fidelity
- 基于结构信息基础
- SSIM结构相似性
- 基于图像像素统计基础PSNR
- 半参考,部分参考,Reduced-Reference,RR
- 无参考,也叫盲评价,blind quality,No-Reference,NR
- 均值
- 标准差
- 平均梯度
- 熵
- 平均梯度Gradient
指图像的边界或影线两侧附近灰度有明显差异,即灰度变化率大,这种变化率的大小可用来表示图像清晰度。
它反映了图像微小细节反差变化的速率,即图像多维方向上密度变化的速率,表征图像的相对清晰程度。
一般而言,评价梯度越大,图像层次越多,也就越清晰。
img = imread('*.jpg');
img = double(img);
[r,c,b] = size(img);
dx = 1;
dy = 1;
for k = 1 : b
band = img(:,:,k);
[dzdx,dzdy] = gradient(band,dx,dy);
s = sqrt((dzdx .^ 2 + dzdy .^2) ./ 2);
g(k) = sum(sum(s)) / ((r - 1) * (c - 1));
end
outval = mean(g)
- 信息熵Entropy
图像信息熵也是图像质量评价的常用指标,它从信息论的角度反映图像信息丰富程度。通常情况下,图像信息熵越大
其信息量就越丰富,质量越好。
img = imread('*.jpg');
img = im2uint8(img);
[r,c,b] = size(img);
% 灰度图像
if b == 1
hspec = imhist(img);
idx = find(hspec == 0);
hspec(idx) = eps; % 最小精度浮点数
hspec = hspec ./ (r * c);
H = -(hspec .* log2(hspec));
s = sum(H(:))
% 彩色图像
elseif b == 3
band1 = img(:,:,1);
band2 = img(:,:,2);
band3 = img(:,:,3);
outval = zeros(256,256,256);
for m = 1 : r
for n = 1 : c
i = band1(m,n) + 1;
j = band2(m,n) + 1;
k = band3(m,n) + 1;
outval(i,j,k) = outval(i,j,k) + 1;
end
end
% 将outval归一化
outval = outval ./ (r*c);
h = -(outval .* log2(outval + eps));
s = sum(sum(sum(h)))
end
- 视觉信息保真度
VIF是Sheikh等结合自然图像统计模型、图像失真模型和人眼视觉系统模型提出的图像质量评价指标. 与峰值信噪比(Peak Signal-to-Noise Ratio, PSNR)、结构相似性(Structural Similarity, SSIM)等指标相比,VIF与主观视觉有更高的一致性。其值越大,表明图像质量越好。 - 峰值信噪比PSNR
- 均方误差MSE