《No-Reference Image Quality Assessment in the Spatial Domain》,BRISQUE。
1. 廣義高斯分布,generalized Gaussian distribution,GGD
1.1 描述
零均值的廣義高斯分布如下:
其中
而 Γ(·) 是gamma函數。
形狀參數 γ 控制分布的“形狀”,而 σ² 控制方差。
例如另 γ = 2 就會得到零均值的高斯分布:
首先記
則
因此
就得到了一個比函數:
1.2 參數估計方法
對於零均值廣義高斯分布,計算估計值:
然后就有
在知道了 ρ(γ) 的估計值之后,就很容易通過枚舉的方式來估計 γ。
1.3 代碼
參考BRISQUE中給出的源代碼:
function [gamparam sigma] = estimateggdparam(vec) gam = 0.2:0.001:10; r_gam = (gamma(1./gam).*gamma(3./gam))./((gamma(2./gam)).^2); sigma_sq = mean((vec).^2); sigma = sqrt(sigma_sq); E = mean(abs(vec)); rho = sigma_sq/E^2; [min_difference, array_position] = min(abs(rho - r_gam)); gamparam = gam(array_position);
2. 非對稱廣義高斯分布,asymmetric generalized Gaussian distribution,AGGD
2.1 描述
零均值的非對稱廣義高斯分布如下:
其中
形狀參數 α 控制分布的“形狀”,而 σl2 和 σr2 是縮放參數,它們控制模式兩邊的擴散程度。當 σl2 = σr2 的時候,AGGD退化成GGD。
參考論文《MULTISCALE SKEWED HEAVY TAILED MODEL FOR TEXTURE ANALYSIS》的做法:
記
則
因此
所以記
就有
類似地
然后計算比值:
其中
2.2 參數估計方法
首先估計 σl2 和 σr2 :
所以
而 r 的一個無偏估計是
所以就可以
求得
然后就和上文的GGD的方法一樣,枚舉求出最優的 α 就可以了。
2.3 代碼
也是來自BRISQUE的matlab代碼:
function [alpha leftstd rightstd] = estimateaggdparam(vec) gam = 0.2:0.001:10; r_gam = ((gamma(2./gam)).^2)./(gamma(1./gam).*gamma(3./gam)); leftstd = sqrt(mean((vec(vec<0)).^2)); rightstd = sqrt(mean((vec(vec>0)).^2)); gammahat = leftstd/rightstd; rhat = (mean(abs(vec)))^2/mean((vec).^2); rhatnorm = (rhat*(gammahat^3 +1)*(gammahat+1))/((gammahat^2 +1)^2); [min_difference, array_position] = min((r_gam - rhatnorm).^2); alpha = gam(array_position);