常亮亮,王廣龍,高鳳岐,喬中濤,張姍姍
(1.軍械工程學(xué)院導(dǎo)彈工程系,河北 石家莊 050003;2.上海市計(jì)量測試研究院在線通用所,上海 200230)
隨著軍事偵查、遙感測控領(lǐng)域?qū)D像質(zhì)量的要求不斷提高,人們迫切希望一種能夠克服目前各種圖像傳感器不能按要求提供完整可靠信息的處理方法,圖像融合因此成為該領(lǐng)域的研究熱點(diǎn)。圖像融合是指將多個(gè)不同模式的圖像傳感器所獲得的同一場景多幅圖像,或同一傳感器在不同時(shí)刻獲得的同一場景的多幅圖像,采用一定的算法將各圖像數(shù)據(jù)中所包含的信息優(yōu)勢或互補(bǔ)性有機(jī)地結(jié)合起來產(chǎn)生新圖像的技術(shù)[1]。
圖像融合方法主要有加權(quán)平均法、IHS變換融合法及小波變換融合法等。加權(quán)平均法最簡單,但效果較差;IHS變換大大提高了融合圖像的空間信息表現(xiàn)能力且計(jì)算量小,但光譜失真嚴(yán)重;小波變換融合在獲得高分辨力的同時(shí)較好地保持了圖像的原始光譜信息,但在一般的小波變換融合算法中,小波分解的層數(shù)對融合結(jié)果影響很大,階數(shù)過低或過高都會影響到結(jié)果圖像的細(xì)節(jié)表現(xiàn)能力和光譜特性的保持[2]。為了將多種融合算法有機(jī)結(jié)合,文獻(xiàn)[3-4]提出了將小波變換和IHS變換結(jié)合的方法,文獻(xiàn)[5]提出了采用提升小波技術(shù)的圖像融合方法。研究普遍認(rèn)為,小波變換與IHS變換相結(jié)合的融合方法能得到比較滿意的圖像。
目前,小波變換與IHS變換融合算法多采用軟件實(shí)現(xiàn),本文提出了一種基于FPGA的IHS變換與提升小波變換相結(jié)合的實(shí)時(shí)圖像融合算法,使得算法的運(yùn)算量極大減少,有效地提高了圖像處理的時(shí)效性。
圖像處理中經(jīng)常應(yīng)用的彩色坐標(biāo)系統(tǒng)有RGB模型和IHS模型,兩種坐標(biāo)系統(tǒng)具有各自不同的特點(diǎn),其中IHS空間中三分量I,H,S具有較強(qiáng)的獨(dú)立性并能準(zhǔn)確定量地描述顏色特征。在圖像融合處理中,經(jīng)常需要建立RGB系統(tǒng)和IHS系統(tǒng)之間的轉(zhuǎn)換關(guān)系。通常把圖像RGB模型變換到IHS模型稱為IHS正變換,而由I,H,S變換為R,G,B稱為IHS逆變換。
盡管不同IHS變換法模型在運(yùn)算速度、復(fù)雜度上有所不同,但是變換得到的I,H和S分量圖像基本相同。RGB系統(tǒng)與HIS系統(tǒng)的轉(zhuǎn)換公式如下所示。
1)正變換
式中:ν1,ν2為中間變量。
2)反變換
提升小波變換是基于提升方案的小波變換,與傳統(tǒng)小波變換相比,提升小波算法簡單、運(yùn)算量低、逆變換簡單、邊界處理容易,因而被廣泛應(yīng)用于圖像處理領(lǐng)域。如圖1所示,提升方案首先將輸入數(shù)據(jù)分為去相關(guān)的偶數(shù)序列x(2n)和奇數(shù)序列x(2n+1),然后用偶數(shù)序列預(yù)測奇數(shù)序列得到預(yù)測誤差d(n),最后用預(yù)測誤差來更新偶數(shù)序列,得到低頻分量c(n)。
圖1 提升小波結(jié)構(gòu)框圖
IHS和小波變換融合算法的基本思想是將IHS變換法與提升小波變換法結(jié)合起來。如圖2所示,首先對圖像A進(jìn)行IHS正變換,獲得該圖像的亮度分量I,H,S;對圖像A的亮度分量I和圖像B進(jìn)行提升小波正變換;將圖像B小波提升分解后的系數(shù)疊加到圖像A亮度分量I的分解系數(shù)上,而后對亮度分量I進(jìn)行提升小波逆變換,然后對新的小波系數(shù)進(jìn)行提升反變換以獲得新的亮度分量I';將新的亮度分量和第一步IHS正變換得到的H,S進(jìn)行IHS逆變換以獲得融合圖像C。
為了便于硬件實(shí)現(xiàn),本文采用的融合規(guī)則如式(5)所示,主要是將高分辨力圖像小波分解后的系數(shù)c2_h與低分辨力圖像亮度分量I的c1_h相加后再乘以一個(gè)加權(quán)系數(shù)得到融合圖像系數(shù)
圖2 IHS和小波變換圖像融合示意圖
由RGB系統(tǒng)與IHS系統(tǒng)的轉(zhuǎn)換公式知:在IHS變換中,盡管H,S的求取含有開放和求反正切的非線性運(yùn)算,但是I,ν1,ν2分量的獲得是通過加乘運(yùn)算實(shí)現(xiàn)的。在融合算法中,僅需要I分量及中間量ν1,ν2,并通過新的I'和原 ν1,ν2,進(jìn)行逆變換可得 R,G,B 值。
本模塊是要把RGB格式的圖像數(shù)據(jù)轉(zhuǎn)換成IHS格式的數(shù)據(jù),由式(1)可得
由于上面的計(jì)算涉及浮點(diǎn)數(shù)乘法,為了便于用Verilog語言在FPGA上實(shí)現(xiàn),需要首先對系數(shù)進(jìn)行放大轉(zhuǎn)換,即
式(7)只涉及整數(shù)加乘法,只需將運(yùn)算結(jié)果右移即可得I,ν1,ν2,從而進(jìn)一步可用 FPGA 實(shí)現(xiàn) IHS變換。仿真結(jié)果如圖3所示,由圖可以看出,對于輸入的8 bit RGB信號(159,61,82),經(jīng)轉(zhuǎn)換后得到放大的 I,ν1,ν2(174,22,69),與理論值相同。IHS逆變換的實(shí)現(xiàn)與正變換類似。
圖3 RGB到IHS變換仿真圖(截圖)
采用IHS和小波變換相結(jié)合的融合方法處理圖像時(shí),必須考慮小波分解層數(shù)對融合圖像質(zhì)量的影響。研究表明:IHS和小波變換相結(jié)合的融合方法明顯地改善了影像的質(zhì)量,融合圖像質(zhì)量對小波分解層數(shù)的敏感性較強(qiáng),在小波分解層數(shù)為2,3或4時(shí),都能獲得高質(zhì)量的融合圖像[6-7]。本文在二維提升小波變換基礎(chǔ)上設(shè)計(jì)了基于FPGA的多級提升小波變換,以滿足圖像融合質(zhì)量和小波分解層數(shù)的合理匹配。
3.2.1 一維提升小波正變換的FPGA實(shí)現(xiàn)
一維變換的行變換預(yù)測為
更新運(yùn)算為
式中:小波基選用可完全重構(gòu)的5/3提升小波,x(2n)為圖像輸入數(shù)據(jù)的偶數(shù)序列;x(2n+1)為奇數(shù)序列;d(n)為分解后的高頻分量;c(n)為分解后的低頻分量。
行變換預(yù)測的具體實(shí)現(xiàn)如圖4所示,R1,R2,R3,R4,R5均為寄存器,MUX1,MUX2為多路選擇器。由式(1)可知,預(yù)測過程中d(n)的值需要x(2n+1)減去相鄰2個(gè)偶數(shù)數(shù)據(jù)的平均值,所以至少要用3個(gè)寄存器,因此,R1,R2,R3被用于寄存當(dāng)前數(shù)據(jù)及其左右相鄰的數(shù)據(jù)。MUX1的選擇信號在非邊界數(shù)據(jù)時(shí)對R1選通,邊界數(shù)據(jù)時(shí)對R3選通,用來完成邊界數(shù)據(jù)的對稱延拓。由于輸入數(shù)據(jù)是串行逐個(gè)輸入,故R4寄存器內(nèi)數(shù)據(jù)為(x(2n)+x(2n+2))與(x(2n-1)+x(2n+1)),通過多路選擇器2,選通(x(2n)+x(2n+2))與R3寄存器運(yùn)算,運(yùn)算結(jié)果存入R5寄存器,再輸出。
圖4 行變換預(yù)測硬件實(shí)現(xiàn)框圖
行變換更新的實(shí)現(xiàn)與預(yù)測基本類似。對一維提升小波變換的仿真如圖5所示,其中S為輸入數(shù)據(jù),approximation表示低頻分量,detail表示高頻分量。
圖5 一維提升小波正變換的仿真(截圖)
3.2.2 二維提升小波變換的FPGA實(shí)現(xiàn)[8-10]
如圖6所示,在一維變換的基礎(chǔ)上,對于一幅存儲在RAM2的二維圖像,首先執(zhí)行一維行變換,行提升小波變換完成后,再對每一列數(shù)據(jù)進(jìn)行提升小波變換;列變換的方式和行變換的方式基本相同,最終的小波系數(shù)存儲在RAM2中,即可完成二維提升小波正變換。將提升正變換過程中列變換和行變換模塊分別用于反變換過程行方向和列方向的小波變換模塊,就可以得到二維提升小波反變換。
圖6 二維提升小波變換的FPGA實(shí)現(xiàn)
3.2.3 多層小波提升變換的實(shí)現(xiàn)方法
在二維提升小波變換的基礎(chǔ)上,通過多級變換控制就可以完成多層小波二維提升變換,如圖7所示。小波多級分解控制由狀態(tài)機(jī)實(shí)現(xiàn),狀態(tài)轉(zhuǎn)換如圖8所示,系統(tǒng)復(fù)位后,提升小波變換進(jìn)入S0狀態(tài),首先置當(dāng)前分解級數(shù)為0,然后設(shè)置小波變換的行數(shù)、列數(shù)和分解的總級數(shù),啟動小波變換后由S0狀態(tài)轉(zhuǎn)向S1進(jìn)行行變換,行變換結(jié)束后由S1狀態(tài)轉(zhuǎn)向S2進(jìn)行列變換,列變換完成后當(dāng)前分解級數(shù)增1,如果當(dāng)前分解級數(shù)小于設(shè)定的分解總級數(shù),由S2狀態(tài)轉(zhuǎn)向S1進(jìn)行下一級分解,否則S2狀態(tài)轉(zhuǎn)向S0以結(jié)束多級小波提升分解。
為了驗(yàn)證本設(shè)計(jì)實(shí)現(xiàn)的有效性,選用了多光譜圖像和高分辨力圖像進(jìn)行融合,采用了圖9所示的實(shí)驗(yàn)方案。
圖9 實(shí)驗(yàn)方案
1)將測試圖像轉(zhuǎn)換為仿真的激勵信號,分別利用ModelSim軟件、MATLAB軟件工具進(jìn)行IHS和提升小波變換圖像融合,并分別記錄輸出的二進(jìn)制圖像數(shù)據(jù)。ModelSim仿真數(shù)據(jù)同MATLAB計(jì)算結(jié)果之間最大誤差為3,誤差為0的像素平均占95%,表明了FPGA實(shí)現(xiàn)了該算法。
2)利用MATLAB將1)中記錄的二進(jìn)制數(shù)據(jù)轉(zhuǎn)換為圖像信息,如圖10所示,可見本文方法融合圖像與軟件融合結(jié)果比較接近,部分區(qū)域的模糊是由于運(yùn)算過程中數(shù)值取舍誤差所致。
圖10 融合算法處理結(jié)果
本文在分析IHS和提升小波變換圖像融合算法原理的基礎(chǔ)上,給出了一種基于FPGA的該圖像融合算法的實(shí)現(xiàn)設(shè)計(jì),重點(diǎn)給出了IHS變換算法分析及圖像二維提升小波變換的FPGA實(shí)現(xiàn),實(shí)驗(yàn)結(jié)果表明,該設(shè)計(jì)在誤差允許的范圍內(nèi),實(shí)現(xiàn)了融合算法的實(shí)時(shí)處理,并得到了較好的融合效果。該設(shè)計(jì)方法可以滿足遙感測控微型化、時(shí)效性的需求,具有較好的應(yīng)用前景。
[1]李朝鋒,曾生根.遙感圖像智能處理[M].北京:電子工業(yè)出版社,2007:190-191.
[2]羅智勇,楊武年.基于梯度權(quán)重規(guī)則的IHS變換與小波變換結(jié)合算法[J].光電工程,2007,34(10):102-107.
[3]王紅梅,李言俊.一種改進(jìn)的遙感圖像融合方法[J].光電工程,2007,34(7):50-53.
[4]唐國良.一種基于IHS和小波變換的彩色圖像融合算法[J].計(jì)算機(jī)應(yīng)用研究,2006(10):174-176.
[5]趙高鵬.基于提升小波的紅外和可見光圖像融合方法[J].計(jì)算機(jī)工程與設(shè)計(jì),2009,30(7):1697-1699.
[6]龔建周,劉彥隨,夏北成,等.IHS和小波變換結(jié)合多源遙感影像融合質(zhì)量對小波分解層數(shù)的響應(yīng)[J].中國圖象圖形學(xué)報(bào),2010,15(8):1269-1277.
[7]孫穎力.圖像融合算法的研究及可重構(gòu)FPGA實(shí)現(xiàn)[D].西安:西北工業(yè)大學(xué),2007.
[8]崔巍,汶德勝,馬濤.二維提升小波變換的FPGA結(jié)構(gòu)設(shè)計(jì)[J].計(jì)算機(jī)工程,2007,33(15):261-263.
[9]薛堅(jiān).提升小波變換的應(yīng)用與硬件實(shí)現(xiàn)[D].南京:南京航空航天大學(xué),2008.
[10]劉桂華,馮全源.圖像的二維提升小波變換的FPGA實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,2008(3):108-110.