天天看點

稀疏孔徑光學系統的幾種圖像品質評價方法

        在這裡列舉了幾個稀疏孔徑光學系統,常用于比對對成像後的圖像的複原效果進行評價,也可用于評價不同光學系統的成像效果等。

        第一類是通用的圖像品質評價算法,即可适用于任何的圖像。由于不是本次的核心,僅簡單過一遍公式和代碼。以下f表示參考圖像(原始圖像),g表示複原圖像。大小都為m*n。

        (1)均方誤差(Mean Square Error,MSE)

MSE以及同系的均方根誤差(RMSE)、平均絕對誤差(MAE)

稀疏孔徑光學系統的幾種圖像品質評價方法
f=imread('f.jpg');
g=imread('g.jpg');
MSE=mean2((double(f)-double(g)).^2);
%RMSE=sqrt(MSE);
RMSE=sqrt(mean2((double(f)-double(g)).^2));
MAE=mean2(abs(double(f)-double(g)));
           

為友善起見,直接用灰階圖像,彩色圖像可先轉為灰階圖像,由于圖像讀入為uin8格式,在uint8格式中,最小為0,為了防止出現uint8(2)-uint8(22)=0(uint8)這種錯誤,改為double格式。RMSE可直接由MSE開方獲得。

        (2)峰值信噪比(Peak Signal to Noise Ratio,PSNR)

信噪比(SNR)如下,PSNR可由MSE間接得到。

稀疏孔徑光學系統的幾種圖像品質評價方法
SNR=10*log10(sum(sum(double(f).^2))/sum(sum((double(f)-double(g).^2))));
PSNR=10*log10(255^2/MSE);
           

        (3)資訊熵

稀疏孔徑光學系統的幾種圖像品質評價方法

Pi為g的灰階值i出現的機率,max為灰階級,一般為255,每個灰階值的機率可由直方圖得到。

plist=imhist(g);
plist=plist/(sum(sum(plist)));
E=-sum(plist.*log2(plist));
           

        (4)清晰度

稀疏孔徑光學系統的幾種圖像品質評價方法

為了書寫友善,将f和g轉為double格式(應該先轉的)。

G=0;
f=double(f);
g=double(g);
for i=1:m-1
    for j=1:n-1
        G=G+(g(i+1,j)-g(i,j))^2+(g(i,j+1)-g(i,j))^2;
    end
end
D=sqrt(G/2)/(m*n);
           

        (5)相關系數

就是數學中的那個相關系數,大于0小于1,為正相關,等于0,為不相關,大于-1小于0,為負相關。

稀疏孔徑光學系統的幾種圖像品質評價方法

式中E[·]為數學期望,即均值。

% cormatrix=corrcoef(f,g);
% cor=cormatrix(1,2);
cor=mean2((f-mean2(f)).*(g-mean2(g)))/(sqrt(mean2(f.^2)-mean2(f)^2)*sqrt(mean2(g.^2)-mean2(g)^2));
           

        (6)結構相似度

稀疏孔徑光學系統的幾種圖像品質評價方法

C1、C2為兩個常數,miu表示平均亮度(均值),sigma_x表示标準差,sigma_fg表示f和g地協方差。這個算法使用地最廣,代碼也很容易得到,包括Matlab也有自帶,是以就不贅述了。

       第二類為針對稀疏孔徑光學系統所提出的算法,相對于第一類方法,該類方法更針對稀疏孔徑或其他成像系統,所用的算法更有說服力。

(1)峰值旁瓣積分比(Peak to Intergrated-Sidelobe Ratio,PISLR)

PISLR是描述成像系統的PSF函數主峰内集中能量大小的算法,定義為PSF在主瓣圓内外能量之比,即

稀疏孔徑光學系統的幾種圖像品質評價方法

一個PSF函數平面和三維面如下所示

稀疏孔徑光學系統的幾種圖像品質評價方法
稀疏孔徑光學系統的幾種圖像品質評價方法

主峰(主瓣圓)可以看作是三維(平面)圖中間最高(亮)的那一部分,其他地方視作旁瓣。首先要做的是定義多大的峰寬(直徑)内作為主峰(主瓣圓)的界限。在這裡采用論文《稀疏孔徑光學成像系統圖像恢複算法研究 蔣豔超》中的提及:主瓣圓的直徑可以表示為峰值半高寬(Full Width Half Maximum,FWHM)的倍數關系:

稀疏孔徑光學系統的幾種圖像品質評價方法

(注:論文《光學合成孔徑系統成像性能優化與分析》中的乘子為1.18) 

峰值半高寬又稱半高寬、半高全寬,是在函數中最大峰(最大值)前後兩個點對應的函數值為函數最大峰對應的最大值一半的寬度。即某函數最大值為1,峰值半高寬為最大值附近兩個取值為0.5的點的距離。

由于PSF具有旋轉對稱性,并且PSF在Matlab中表示是離散化的(以矩陣形式讀取檔案直接獲得),在實作中,首先通過find函數找到最大值所在的坐标(r,c),然後向右查找,直到這個坐标對應的值小于0.5倍的最大值結束,這個周遊長度(不包括最後小于0.5倍的坐标)的二倍就是離散化後的峰值半高寬,因為離散化是以最小間隔為1,可以通過采樣或拟合等提高精度。得到峰值半高寬,就得到了主瓣圓的直徑,根據之前的公式,就得到了最後的PISLR,同樣由于離散化,實質上公式右側的分子等于與峰值坐标距離小于半徑(之前計算的直徑的一半)的所有坐标對應的PSF值之和,分母等于大于半徑的所有坐标對應的PSF值之和。

[h,w]=size(Psf);
[r,c]=find(Psf==max(max(Psf)));
FHWM=0;
for i=c+1:w
    if Psf(r,i)<0.5*max(max(Psf))
        break
    else
        FHWM=FHWM+1;
    end
end
wpeak=2.37*FHWM;
Smain=0;
Sside=0;
for i=1:h
    for j=1:w
        if sqrt((i-r)^2+(j-c)^2)<=0.5*wpeak
            Smain=Smain+Psf(i,j);
        else
            Sside=Sside+Psf(i,j);
        end
    end
end
PISLR=10*log10(Smain/Sside);
           

(2)中高頻MTF

反映了物體不同頻率成分的傳遞能力。一般來說,高頻部分反映物體的細節傳遞情況,中頻部分反映物體的層次傳遞情況低頻部分反映物體的輪廓傳遞情況。不同成像系統表現在MTF的中高頻下降的速度,是以中高頻内的平均MTF可以作為衡量成像系統的成像性能的标準。

OTF由PSF的歸一化傅裡葉變換得到,MTF為OTF的模。

稀疏孔徑光學系統的幾種圖像品質評價方法

由于OTF是複數矩陣,其模相當于每個元素實數的平方加上虛數的平方再開根号,在matlab中可直接用abs()函數表示模,是以計算如下:

OTF=fftshift(fft2(Psf))./(sum(sum(Psf)));
MTF=abs(OTF);
           

得到的MTF三維面以及頻率變化曲線:

稀疏孔徑光學系統的幾種圖像品質評價方法
稀疏孔徑光學系統的幾種圖像品質評價方法

計算中高頻MTF公式如下:

稀疏孔徑光學系統的幾種圖像品質評價方法

rou_Dc和rou_dc分别為系統截止頻率和子孔徑截止頻率:

稀疏孔徑光學系統的幾種圖像品質評價方法

lambda為波長,D為子孔徑外接圓直徑,d為子孔徑直徑,di為出瞳到像面的距離。由于作者比較菜,是以頻率與矩陣的比例關系隻能手動地建立關系。

[rm,cm]=find(MTF==max(max(MTF)));
di=10;
d=0.5;
D=1;
lambda=7e-10;
mtf=MTF(rm,cm:w);
DC=D/lambda/di;
dc=d/lambda/di;
midfre=0;
r=43;%截止頻率對應的矩陣内的半徑
for i=1:h
    for j=1:w
        if sqrt((i-rm)^2+(j-cm)^2)>=r && sqrt((i-rm)^2+(j-cm)^2)<=r*(DC/dc)
            midfre=midfre+MTF(i,j);
        end
    end
end
midfre=midfre/(2*pi^2*(DC^2/dc^2-1));
           

繼續閱讀