范云鵬 郭小娥
摘 要: 圖像是人類獲取信息和傳遞信息的重要手段,但是圖像占有相當(dāng)大的數(shù)據(jù)量。本文致力于研究矩陣的低秩逼近實(shí)現(xiàn)圖像壓縮,提出了一種矩陣廣義低秩逼近算法中獲得和的非迭代算法——SVGLRAM。通過在不同的人臉數(shù)據(jù)庫上選取不同的參數(shù)做實(shí)驗(yàn)得知,這種算法能獲得和GLRAM接近的誤差和壓縮比,并且具有很小的時(shí)間和空間復(fù)雜度。
關(guān)鍵詞: 壓縮 算法 誤差
1.本文采用的方法
在SVD中,對圖像矩陣奇異值分解后得到奇異值矩陣和正交矩陣U和V,其中矩陣U和V是由A的奇異值按照從大到小的次序?qū)?yīng)的特征向量組成的,它們含有圖像的重要信息,而在GLRAM算法中作者是通過計(jì)算M■=■A■■L■l■■A■和M■=■A■R■R■■A■■前幾個(gè)最大的特征值對應(yīng)的特征向量求出L和R。因此,結(jié)合SVD和GLRAM,本文創(chuàng)造性地提出一種求出L和R的非迭代算法,稱之為SVGLRAM算法,步驟如下:
SVGLRAM算法
輸入:A■,i=1…n,k
輸出:L,R,M■,i=1…n
1.計(jì)算M=■A■A■■,對M做奇異值分解,選取U的前k列對應(yīng)的矩陣作為L;
2.計(jì)算N=■A■■A■,對N做奇異值分解,選取V的前k列對應(yīng)的矩陣作為R;
3.計(jì)算:M■=■L■A■R,然后利用■■=■LM■R■對各圖像進(jìn)行重構(gòu)。
2.算法的測試
本文所采用的數(shù)據(jù)庫為ORL人臉庫和Yale人臉庫。ORL人臉庫是由英國劍橋Olivetti實(shí)驗(yàn)室從1992年4月到1994年4月期間拍攝的一系列人臉圖像,Yale人臉庫也是著名的人臉庫,由耶魯大學(xué)計(jì)算視覺與控制中心制作。
在算法的評價(jià)中,PSNR是評價(jià)各種算法的重要指標(biāo),PSNR反映重構(gòu)圖像和原圖像的誤差,我們選定相同的值觀察各種算法的PSNR值,本文計(jì)算了ORL人臉數(shù)據(jù)庫第一個(gè)人和YALE人臉數(shù)據(jù)庫第一個(gè)人當(dāng)k=5,k=10,k=20,k=30時(shí)各種算法重構(gòu)的圖像和PSNR值。
下表是對于取不同值時(shí)各種算法的PSNR和壓縮比ρ:
我們通過重構(gòu)圖像的PSNR判斷各算法的優(yōu)劣。從表中可以看出,當(dāng)k=5,SVD算法得出的PSNR最大,其次是GLRAM和SVGLRAM,它們計(jì)算的PSNR比較接近,最小的是2DPCA算法,當(dāng)k=10,k=20,k=30也都有相同的變化趨勢,對于SVD算法,在k階逼近里面,它的誤差是最小的,GLRAM和SVGLRAM誤差比SVD大,但比2DPCA要小,2DPCA算法由于采用的是單邊壓縮,丟失了圖像的單側(cè)信息,所以誤差是最大的。
3.小結(jié)
在本文中,結(jié)合SVD和GLRAM算法提出了一種計(jì)算和的非迭代算法—SVGLRAM算法。我們把該算法在ORL和YALE人臉數(shù)據(jù)庫上做實(shí)驗(yàn)。我們是讓取相同的值,這種思路SVD算出的PSNR最大,SVGLRAM算法位于中間,2DPCA最小,但是SVGLRAM算法是非迭代算法,所以這種算法較其他算法有一定的優(yōu)越性。
參考文獻(xiàn):
[1]J.Ye.Generalized Low Rank Approximations of Matrices,Machine learning,2004:887-894.
[2]J.Ye.Generalized Low Rank Approximations of Matrices.Machine learning,2005,61(13):167-191.
[3]徐樹方.矩陣計(jì)算的理論和方法(第4版).北京,北京大學(xué)出版社,2005:5-17.