改進(jìn)BP網(wǎng)絡(luò)在超光譜圖像壓縮中的應(yīng)用
超光譜圖像是利用超光譜傳感器對(duì)同一對(duì)象獲得的多個(gè)窄光譜波段范圍上的圖像,其光譜分辨率可以達(dá)到納米級(jí)。通過分析圖像中近乎連續(xù)的光譜曲線,可以分辨出不同物體光譜特征的微小差別,有利于識(shí)別更多的目標(biāo),從而被廣泛應(yīng)用于環(huán)境監(jiān)測(cè)、地質(zhì)、農(nóng)業(yè)、醫(yī)學(xué)和軍事等領(lǐng)域。但是在獲得較高譜間分辨率的同時(shí),也產(chǎn)生了巨大的數(shù)據(jù)量。為了能夠快速傳輸和處理這些數(shù)據(jù)并減少存儲(chǔ)空間,必須對(duì)超光譜圖像進(jìn)行有效的壓縮。
目前,采用的壓縮方法主要有基于變換技術(shù)、基于矢量量化和基于預(yù)測(cè)的方法[1-3]。其中K-L變換和矢量量化復(fù)雜度較高,在實(shí)際應(yīng)用中難以計(jì)算。預(yù)測(cè)編碼實(shí)現(xiàn)簡(jiǎn)單,但實(shí)現(xiàn)的壓縮比有限。DCT變換有方塊效應(yīng),小波變換對(duì)于實(shí)現(xiàn)較大壓縮時(shí)圖像質(zhì)量明顯下降。人工神經(jīng)網(wǎng)絡(luò)具有分布式存儲(chǔ)和內(nèi)在并行處理的特點(diǎn),可以實(shí)現(xiàn)快速的壓縮編碼。另外神經(jīng)網(wǎng)絡(luò)具有的自適應(yīng)性和容錯(cuò)性特點(diǎn)為設(shè)計(jì)一個(gè)實(shí)時(shí)、高效和自適應(yīng)的圖像壓縮系統(tǒng)提供了可能[4]。
采用BP(Back-Propagation)神經(jīng)網(wǎng)絡(luò)進(jìn)行圖像壓縮可以得到較高的峰值信噪比,但是網(wǎng)絡(luò)學(xué)習(xí)時(shí)間長(zhǎng),不適于圖像數(shù)據(jù)的實(shí)時(shí)處理?;诖?,針對(duì) BP網(wǎng)絡(luò)自身特性采用最小化 Cauchy函數(shù)作為逼近目標(biāo),在轉(zhuǎn)移函數(shù)中引入陡度因子,對(duì)轉(zhuǎn)移函數(shù)的導(dǎo)數(shù)進(jìn)行提升,各層調(diào)節(jié)采用不同的尺度——即在整個(gè)學(xué)習(xí)過程進(jìn)行聯(lián)合優(yōu)化,從而全局性的提高學(xué)習(xí)速度,減少學(xué)習(xí)時(shí)間。
1.1 網(wǎng)絡(luò)結(jié)構(gòu)
為方便實(shí)現(xiàn),使用如圖1所示的3層BP神經(jīng)網(wǎng)絡(luò)。網(wǎng)絡(luò)輸入為原始圖像數(shù)據(jù),輸出代表重建圖像,中間隱含層神經(jīng)元的輸出是需存儲(chǔ)的圖像特征。由于隱含層神經(jīng)元數(shù)目比輸入層和輸出層要少(M<N),而信道中傳輸?shù)闹皇请[含層輸出值,因此,可達(dá)到圖像壓縮的目的。解碼為壓縮的逆過程,只需隱含層神經(jīng)元的輸出值和該網(wǎng)絡(luò)的右側(cè)權(quán)值,即可恢復(fù)出原始圖像信息。
圖1 3層BP網(wǎng)絡(luò)結(jié)構(gòu)(M<N)
BP神經(jīng)網(wǎng)絡(luò)用于圖像壓縮的壓縮比與輸入層和隱含層的節(jié)點(diǎn)數(shù)有關(guān),因此,一般來說采用不同數(shù)目的隱層節(jié)點(diǎn)就可實(shí)現(xiàn)同一圖像的不同壓縮比。為了研究利用BP神經(jīng)網(wǎng)絡(luò)進(jìn)行圖像壓縮的性能,將隱層節(jié)點(diǎn)分別選為16、8和4三種情況以觀察結(jié)果。
1.2 網(wǎng)絡(luò)輸入
用于壓縮的原始圖像為512×512×8Bit的512幀“圖譜合一”的遙感超光譜圖像序列。為了避免網(wǎng)絡(luò)過于龐大而帶來算法復(fù)雜性及訓(xùn)練時(shí)間的增加,將原始圖像分為16×16的塊,每一塊作為輸入樣本接入網(wǎng)絡(luò)。故而網(wǎng)絡(luò)的輸入節(jié)點(diǎn)為256個(gè)。網(wǎng)絡(luò)輸出即解壓圖像應(yīng)和原始圖像大小相同,所以網(wǎng)絡(luò)輸出節(jié)點(diǎn)也為 256個(gè)。 為防止因凈輸入的絕對(duì)值過大使神經(jīng)元輸出飽和,要對(duì)輸入輸出數(shù)據(jù)進(jìn)行歸一化,即通過變換將網(wǎng)絡(luò)的輸入輸出數(shù)據(jù)限制在[-1, 1]區(qū)間內(nèi)。
BP神經(jīng)網(wǎng)絡(luò)采用學(xué)習(xí)誤差作為代價(jià)函數(shù),通過對(duì)樣本的學(xué)習(xí)和訓(xùn)練, 不斷的調(diào)整各網(wǎng)絡(luò)節(jié)點(diǎn)的連接權(quán)值和閾值,從而得到樣本的輸入與輸出的非線性關(guān)系。
經(jīng)典BP算法存在訓(xùn)練時(shí)間長(zhǎng)和易陷入局部極小值兩個(gè)主要不足而在實(shí)際應(yīng)用中很難勝任,因而需要對(duì)其進(jìn)行改進(jìn)。BP算法的改進(jìn)主要有兩種途徑:一種是采用增加動(dòng)量法, 另一種則是自適應(yīng)調(diào)整學(xué)習(xí)率[5]。
2.1 增加動(dòng)量法
標(biāo)準(zhǔn)BP算法在調(diào)整權(quán)值時(shí),只按t時(shí)刻誤差的梯度降方向調(diào)整,而沒有考慮t時(shí)刻以前的梯度方向,從而常使訓(xùn)練過程發(fā)生震蕩,收斂緩慢。為了提高網(wǎng)絡(luò)的訓(xùn)練速度,可以在權(quán)值調(diào)整公式中增加動(dòng)量項(xiàng),使權(quán)值調(diào)整公式為[5]
其中,α稱為動(dòng)量系數(shù),一般有α ∈ (0,1)??梢?,增加動(dòng)量項(xiàng)即從前一次權(quán)值調(diào)整量中取出一部分疊加到本次權(quán)值調(diào)整量中,反映了以前累積的調(diào)整經(jīng)驗(yàn)。當(dāng)誤差曲面出現(xiàn)驟然起伏時(shí),可減小振蕩趨勢(shì),提高訓(xùn)練速度。
2.2 自適應(yīng)調(diào)節(jié)學(xué)習(xí)率
在標(biāo)準(zhǔn)BP算法中學(xué)習(xí)率η定為常數(shù),然而在實(shí)際應(yīng)用中,很難確定一個(gè)由始至終都合適的最佳學(xué)習(xí)率。從誤差曲面可以看出,在平坦區(qū)域η太小會(huì)使訓(xùn)練次數(shù)增加,因而希望增大η值;而在誤差變化劇烈的區(qū)域,η太大會(huì)使調(diào)整量過大而跨過較窄的“坑凹”處,使訓(xùn)練出現(xiàn)振蕩,反而使迭代次數(shù)增加。為了加速收斂過程,一個(gè)較好的思路是自適應(yīng)改變學(xué)習(xí)率,使其該大時(shí)增大,該小時(shí)減小。式(2)給出了一種自適應(yīng)學(xué)習(xí)速率的調(diào)整公式[6]:
許多學(xué)者從不同角度對(duì)BP網(wǎng)絡(luò)的缺陷進(jìn)行了研究同時(shí)提出不少改進(jìn)算法[7],并取得了較好的效果,然而常規(guī)的改進(jìn)方法都只是著眼于對(duì)學(xué)習(xí)過程中的局部改善。為進(jìn)一步提高BP算法的學(xué)習(xí)速度,本文提出了一種聯(lián)合優(yōu)化的改進(jìn)算法,從而全局性的改善學(xué)習(xí)速度,減少學(xué)習(xí)時(shí)間。
3.1 Cauchy誤差估計(jì)器
由于BP網(wǎng)絡(luò)采用學(xué)習(xí)誤差作為代價(jià)函數(shù),學(xué)習(xí)誤差的計(jì)算形式對(duì)BP網(wǎng)絡(luò)的學(xué)習(xí)速度產(chǎn)生重要的影響。經(jīng)典BP算法一般采用LMS誤差估計(jì)器來計(jì)算學(xué)習(xí)誤差[5],對(duì)初始值比較敏感。Cauchy誤差估計(jì)器是一種穩(wěn)健型誤差估計(jì)器[8],根據(jù)穩(wěn)健統(tǒng)計(jì)理論,有穩(wěn)健解的函數(shù)能抑制系統(tǒng)的過失誤差,對(duì)初始權(quán)值不會(huì)存在敏感性問題。本文采用的Cauchy誤差估計(jì)器表示形式如式(3)式(4)所示:
可見,Cauchy誤差估計(jì)更具有魯棒性:少數(shù)輸入樣本元素的輸出誤差對(duì)整個(gè)樣本學(xué)習(xí)誤差 EPl變化率的影響是有限的;相反,對(duì)于LMS誤差估計(jì)器而言, EPl的變化率則與呈線性關(guān)系,如圖2所示。這種情況極易導(dǎo)致由于極少數(shù)大的輸出誤差的存在而造成參數(shù)集合迭代偏離正常方向,從而導(dǎo)致大多數(shù)元素的輸出誤差再次增大,因此,減慢甚至阻止了自學(xué)習(xí)過程的正常收斂,最終延長(zhǎng)了學(xué)習(xí)時(shí)間。
圖2 誤差估計(jì)器對(duì)EP變化率的影響
基于此,采用Cauchy誤差估計(jì)器作為代價(jià)函數(shù)是合理的,它能有效地消除少數(shù)“異?!闭`差帶來的負(fù)面影響,同時(shí)保留了主要輸出誤差的數(shù)值特性,因此,整個(gè)學(xué)習(xí)過程能保持預(yù)定方向行進(jìn),從而加快了收斂速度。
3.2 轉(zhuǎn)移函數(shù)中引入陡度因子
在Sigmoid轉(zhuǎn)移函數(shù)中引入陡度因子s,重新定義為
其一階導(dǎo)數(shù)為
當(dāng)s取不同的值(s=1,2,3,4)時(shí), fs(x)及其一階導(dǎo)數(shù) fs′(x )的曲線如圖3、圖4所示。
圖3 fs(x)曲線變化圖
從表達(dá)式上看,考察式(8)和式(9),由于BP網(wǎng)絡(luò)參數(shù)的逼近采用梯度下降法,因此 f ′(?)作為參數(shù)增量項(xiàng)的乘積因子而對(duì)訓(xùn)練速度產(chǎn)生影響。在標(biāo)準(zhǔn)算法中,往往認(rèn)為Sigmoid函數(shù)的形態(tài)調(diào)整和學(xué)習(xí)步長(zhǎng)η的調(diào)整對(duì)整個(gè)訓(xùn)練速度的影響是等效的,于是在這一種情況下為方便起見都取s=1,而只通過改變?chǔ)侵祦韺?shí)現(xiàn)對(duì)學(xué)習(xí)速度的調(diào)整,但這樣常常使得迭代次數(shù)增加并最終導(dǎo)致學(xué)習(xí)時(shí)間延長(zhǎng),因?yàn)橥ㄟ^對(duì)式(9)的分析可知,對(duì)于不同的s值,Sigmoid函數(shù)的導(dǎo)數(shù) f′ (?)及其變化率都有很大的不同,如圖4所示,因此,在調(diào)節(jié)學(xué)習(xí)步長(zhǎng)的同時(shí)引入陡度因子將有助于提高學(xué)習(xí)速度。它可使得學(xué)習(xí)過程快速脫離誤差曲面上“平坦區(qū)域(對(duì)應(yīng) f′ (?)接近于零處)”,同時(shí),可避免梯度方向背離全局最小點(diǎn)的局部最小點(diǎn)。
另外,從圖3和圖4的比較也可發(fā)現(xiàn):
2) 對(duì)于x的微小變動(dòng),fs(x)比f (x)的變動(dòng)更加靈敏;
3) 對(duì)比 fs(x)的導(dǎo)數(shù)sf(x)[1-f(x)]和f (x)的導(dǎo)數(shù)f(x)[1-f(x)]也可以發(fā)現(xiàn),當(dāng)x相同的時(shí)候,fs(x)的導(dǎo)數(shù)比f(x)的導(dǎo)數(shù)大,這說明在調(diào)整權(quán)值與閾值的過程中,引入陡度因子比不引入的調(diào)整幅度要大,這就提高了調(diào)整的速度。
3.3 導(dǎo)數(shù)提升
BP網(wǎng)絡(luò)各層權(quán)值的調(diào)整都和 Sigmoid函數(shù)的導(dǎo)數(shù)f′(x)=f(x)[1-f(x)]有關(guān)。當(dāng)f(x)趨于0或1時(shí),f′(x )將趨于0,BP網(wǎng)將喪失調(diào)節(jié)能力,陷入一個(gè)平坦的局部極小區(qū)。f′(x )易趨于 0是導(dǎo)致BP算法收斂極慢的重要原因,可采用如下的解決辦法:
3.4 各層權(quán)值調(diào)整變尺度
可見多層權(quán)值的修正速率是不同的,離輸出層越遠(yuǎn)的權(quán)值越難以被修正,這正是導(dǎo)致BP網(wǎng)訓(xùn)練速度緩慢的重要原因。為了各層能充分利用誤差能量信號(hào)修正權(quán)值,采取如下措施
其中,m為大于1的常數(shù),η ( k)和η ( j)分別為輸出層和隱含層的權(quán)值修正步長(zhǎng)。通過實(shí)驗(yàn)也發(fā)現(xiàn)輸出層比隱含層更敏感,輸出層的權(quán)值修正步長(zhǎng)取為隱層權(quán)值修正步長(zhǎng)的倍數(shù)時(shí),能夠明顯減少訓(xùn)練步數(shù)和學(xué)習(xí)時(shí)間。
在本次實(shí)驗(yàn)中,分別用經(jīng)典BP算法、標(biāo)準(zhǔn)改進(jìn)算法和本文所提出的聯(lián)合優(yōu)化算法對(duì)一組512×512大小的超光譜圖像進(jìn)行壓縮。其中參數(shù)設(shè)定為:Cauchy誤差估計(jì)器中的系數(shù)C=2.5,轉(zhuǎn)移函數(shù)中的陡度因子 s=4,導(dǎo)數(shù)提升因子b=0.001,輸出層權(quán)值的修正是隱層權(quán)值修正步長(zhǎng)的m=4倍。標(biāo)準(zhǔn)改進(jìn)算法中, α =0.9,η按式(2)取值。實(shí)驗(yàn)的軟件編譯環(huán)境是MATLAB 6.5。對(duì)其中一幅超光譜圖像進(jìn)行壓縮的結(jié)果,如圖5所示。
圖5 聯(lián)合優(yōu)化BP算法壓縮的仿真結(jié)果
由圖5可見,在壓縮比分別為16、32及64時(shí),解壓后的恢復(fù)圖像和原始圖像從肉眼上幾乎看不出差別,這說明了利用BP網(wǎng)絡(luò)進(jìn)行超光譜圖像壓縮可以得到很好的主觀質(zhì)量。
實(shí)驗(yàn)結(jié)果的平均客觀指標(biāo)如表1所示,可見,利用BP網(wǎng)絡(luò)進(jìn)行超光譜圖像壓縮可以得到很好的主觀質(zhì)量,經(jīng)典BP算法的PSNR值可以達(dá)到57dB以上,本文算法的PSNR值在60dB以上。這一點(diǎn)在圖5中也有反映。
標(biāo)準(zhǔn)改進(jìn)算法相比經(jīng)典BP算法在減少訓(xùn)練步數(shù)、減小壓縮時(shí)間上也有改善,但壓縮時(shí)間仍然過長(zhǎng)。在壓縮質(zhì)量提高的同時(shí),本文算法的訓(xùn)練步數(shù)明顯減少,壓縮時(shí)間也有大幅度的減小。如壓縮比為16時(shí),本文算法和經(jīng)典BP算法相比,PSNR值為其110.04%,訓(xùn)練步數(shù)為其23.81%,而壓縮時(shí)間僅為其15.25%。可見,在壓縮比相同的情況下,本文算法相比經(jīng)典BP算法在減少訓(xùn)練步數(shù)、縮短壓縮時(shí)間和提高峰值信噪比上的優(yōu)越性。
壓縮質(zhì)量高和壓縮時(shí)間短是超光譜圖像壓縮需要具備的兩個(gè)重要性能。本文將BP神經(jīng)網(wǎng)絡(luò)用于遙感超光譜圖像壓縮,詳細(xì)討論了采用最小化Cauchy函數(shù)作為逼近目標(biāo),同時(shí)在轉(zhuǎn)移函數(shù)中引入陡度因子,對(duì)轉(zhuǎn)移函數(shù)的導(dǎo)數(shù)進(jìn)行提升,各層修正權(quán)值時(shí)采用不同的尺度,即在整個(gè)學(xué)習(xí)過程進(jìn)行聯(lián)合優(yōu)化的改進(jìn)BP算法。無論從圖像主觀上來看,還是從客觀指標(biāo)分析,本文所提出的算法進(jìn)行圖像壓縮具有較好的效果。較之傳統(tǒng)的圖像壓縮方法,使用人工神經(jīng)網(wǎng)絡(luò)方法顯示了很大的優(yōu)越性。
從仿真結(jié)果看到,本文所提出的算法還沒有達(dá)到實(shí)時(shí)處理的要求。神經(jīng)網(wǎng)絡(luò)的基本優(yōu)點(diǎn)之一就是可以通過并行處理來獲得很高的計(jì)算速度。但是,神經(jīng)網(wǎng)絡(luò)的這種優(yōu)勢(shì)只有在硬件實(shí)現(xiàn)的網(wǎng)絡(luò)上才能充分體現(xiàn)出來。
[1] 吳立彬. 矢量量化技術(shù)及其在超光譜圖像中的應(yīng)用研究[D]. 重慶郵電大學(xué), 2012.
[2] 吳冬梅, 李 科, 張海寧. 基于譜間 DPCM 和整數(shù)小波變換的超光譜圖像無損壓縮[J]. 光子學(xué)報(bào), 2008, 37(1): 156-159.
[3] 高 文, 朱 明, 潤(rùn) 瀾, 等. 一種空間劃分與譜間預(yù)測(cè)相結(jié)合的超光譜圖像壓縮新方法[J]. 光譜學(xué)與光譜分析, 2011, 31(8): 2287-2293.
[4] 楊淑媛, 王 敏, 焦李成. 基于脊波和神經(jīng)網(wǎng)絡(luò)的大壓縮比遙感圖像壓縮[J]. 紅外與毫米波學(xué)報(bào), 2007, 26(4): 297-301.
[5] 韓力群. 人工神經(jīng)網(wǎng)絡(luò)理論、設(shè)計(jì)及應(yīng)用(第 2版)[M]. 北京: 化學(xué)工業(yè)出版社, 2007.
[6] 從 爽. 面向Matlab工具箱的神經(jīng)網(wǎng)絡(luò)理論與應(yīng)用(第3版)[M]. 合肥: 中國(guó)科技大學(xué)出版, 2009.
[7] 滕明鑫, 熊忠陽, 張玉芳. BP改進(jìn)算法綜述[J]. 計(jì)算機(jī)科學(xué), 2008, 35(4A): 237-239.
[8] Liu Guangyuan, Yu Juebang, Qiu Yuhui. A Fast BP Learning Algorithm via A Hybrid Approach. Journal of UEST of China [J]. 1999, 27(3): 265-268.
閆紅梅, 吳冬梅
(西安科技大學(xué)通信與信息工程學(xué)院,陜西 西安 710054)
鑒于超光譜圖像的應(yīng)用領(lǐng)域,對(duì)超光譜圖像的壓縮要重點(diǎn)考慮壓縮質(zhì)量和壓縮時(shí)間。將BP神經(jīng)網(wǎng)絡(luò)用于超光譜圖像壓縮可得到較好的壓縮質(zhì)量。在保證較好恢復(fù)質(zhì)量的前提下,提出了一種利用Cauchy誤差估計(jì)器、在轉(zhuǎn)移函數(shù)中引入陡度因子、進(jìn)行導(dǎo)數(shù)提升及各層調(diào)節(jié)變尺度的改進(jìn)BP算法進(jìn)一步減少壓縮時(shí)間。實(shí)驗(yàn)結(jié)果表明:算法減少了壓縮時(shí)間,提高了編碼效率。
圖像壓縮;超光譜圖像;神經(jīng)網(wǎng)絡(luò);BP算法
Application of Improved BP Neural Network in Hyper-spectral Image Compression
Yan Hongmei, Wu Dongmei
( Communictiom and Information Engineering College, Xi’an University of Science and Technology, Xi’an Shaanxi710054, China )
The hyper-spectral image compression is focused on compression quality and time owing to the application fields of hyper-spectral image. The application of BP Neural Network in the hyper-spectral image compression can get better compression quality. A joint-optimized improved algorithm on the premise of good renewed qualities is presented. It uses Cauchy error estimator and shape factor in Sigmoid function, upgrades the differential coefficient and each lay adapts different step adjustment. Simulation results prove that the algorithm can reduce compression time and improve coding efficiency.
image compression; hyper-spectral image; neural network; BP algorithm
TP 919.81
A
2095-302X (2013)05-0110-05
2012-09-12;定稿日期:2013-02-27
西安科技大學(xué)培育基金項(xiàng)目(201254)
閆紅梅(1978-),女,陜西商洛人, 講師,碩士,主要研究方向?yàn)樯窠?jīng)網(wǎng)絡(luò)和圖像處理。E-mail:yhm523@163.com