陳 崢
(中國空空導彈研究院,河南 洛陽 471009)
紅外熱成像系統(tǒng)在實際工作中,隨著器件工作溫度、環(huán)境溫度的改變,光信號在傳輸過程中受到的隨機干擾,電路中的隨機噪聲等多重因素的共同影響,致使紅外圖像普遍存在目標與背景對比度低、細節(jié)模糊等問題[1]。因此,有必要采用紅外圖像細節(jié)增強處理算法對圖像進行加工,改善圖像目標細節(jié)與場景間的對比度,突出圖像中的特征信息,削弱或者消除干擾信號[2]。
傳統(tǒng)的圖像增強方法中,分空域圖像增強和頻域圖像增強。空域圖像增強包括直方圖均衡化、平臺直方圖均衡化等;頻域圖像增強中,常用的有高通濾波器、同態(tài)濾波[3-4]等。這類算法簡單有效、易于硬件實現(xiàn),但對于低對比度紅外圖像的細節(jié)部分增強效果有限,更難以為后續(xù)圖像處理工作提供高效識別。而效果較好的紅外圖像處理算法通常計算量較大,不易實時實現(xiàn)。近年來,隨著FPGA技術的發(fā)展,器件性能不斷提高。由于其靈活高效、并行處理能力強的優(yōu)點,廣泛應用于信號處理領域。本文結(jié)合雙邊濾波算法和平臺直方圖均衡算法的優(yōu)點,在FPGA中實現(xiàn)了一種實時紅外圖像細節(jié)增強算法,能夠有效提升紅外圖像的清晰度和對比度。
平臺直方圖均衡算法是常用的圖像增強算法之一,它是對直方圖均衡化法的一種改進。該算法的基本原理是:通過選擇一個合適的平臺閾值P,對統(tǒng)計直方圖進行修正,如果某直方圖的灰度級小于平臺閾值P,就保持不變;如果大于平臺閾值P,則將其直方圖值置為P。對于目標成分較少的圖像,平臺值P可以取得適當?shù)鸵稽c,而對于目標成分較多的圖像,P值可以適當取得高一點,以突出目標的對比度[5]。
圖像的平臺直方圖[6]:
(1)
圖像的累積直方圖:
(2)
圖像的平臺直方圖均衡化后的灰度值:
(3)
式中,k表示圖像的灰度級,k∈[0,L-1],PT(k)是圖像的平臺直方圖,Ρ(k)是圖像的統(tǒng)計直方圖,Ρ為平臺閾值。式(2)中,FT(k)即為圖像的累積平臺直方圖;式(3)中,DT(k)是灰度為k的像素經(jīng)過平臺直方圖均衡化后的灰度值,DT(k)∈[0,255],? 」表示取整。
雙邊濾波器的概念最早是由Tomasi和Manduci在1998年提出的,它是一種非線性的邊緣保持平滑濾波器。雙邊濾波器利用局部的加權(quán)平均,在2維鄰域內(nèi)的加權(quán)系數(shù)由兩部分因子乘積組合而成,一部分由像素間的空間距離決定,稱之為空間鄰近度因子;另一部分由像素間的亮度值之差決定,稱之為亮度相似度因子[7-8]。
考慮到在數(shù)字圖像處理系統(tǒng)中的實現(xiàn),離散型的雙邊濾波的算法公式為:
(4)
其中,Sx,y表示中心點(x,y)的(2N+1)×(2N+1)大小的鄰域。公式等號右邊就是中心像素點鄰域內(nèi)像素亮度值的加權(quán)平均。對該鄰域內(nèi)的每一個像素點g(i,j),其加權(quán)系數(shù)W(i,j)由兩部分因子的乘積組成:
(5)
和
(6)
權(quán)重因子核函數(shù)WS(i,j)和Wr(i,j)均為高斯函數(shù),WS(i,j)是空間鄰近度因子,Wr(i,j)是亮度鄰近度因子。
從式(4)~(6)可以看出,雙邊濾波器的加權(quán)系數(shù)是空間鄰近度因子WS和亮度鄰近度因子Wr的非線性組合。前者隨著像素點與中心點之間歐幾里德距離的增加而減小,后者隨著兩像素亮度值之差的增大而減小。在圖像變化平緩的區(qū)域,鄰域內(nèi)像素亮度值相差不大,雙邊濾波轉(zhuǎn)化為高斯低通濾波器,在圖像灰度值突變的區(qū)域,濾波器利用邊緣點附近亮度值相近的像素點的亮度值平均代替原來的亮度值。因此,雙邊濾波既平滑濾波了圖像,又保持了圖像的邊緣,圖像增強效果良好[9]。
原始紅外圖像數(shù)據(jù)進入FPGA后,首先經(jīng)過雙波濾波算法處理。算法流程如圖1所示。
圖1 算法FPGA設計流程圖
探測器輸出的14位原始圖像先儲存于圖像存儲RAM中,然后按列讀出圖像數(shù)據(jù),計算在3×3鄰域中每個像素點與中心點的灰度差值,在亮度相似度因子查找表中查找到該灰度差值對應的亮度相似度因子;然后與已知的空間臨近度因子對應相乘,得到3×3的濾波系數(shù)矩陣。然后計算出3×3圖像數(shù)據(jù)與濾波系數(shù)之乘積作為分子,濾波系數(shù)之和作為分母,二者相除得到處理后的圖像。
4.1.1空間鄰近度因子WS計算
根據(jù)式(5),σs的值控制著空間鄰近度因子WS的衰減程度,一般選擇圖像對角線像素數(shù)量的2.5%。在此,根據(jù)選用探測器的像元數(shù),選擇σs=20。而且,考慮到運算的復雜度及可編程器件的運算能力,選取3×3掩膜來實現(xiàn)。對于卷積運算,可以調(diào)用FPGA乘累加器IP來實現(xiàn)。如圖2所示,空間臨近度因子為一恒定系數(shù)矩陣,可事先計算好,直接存儲在FPGA的ROM中以供調(diào)用。
圖2 空間鄰近度因子的系數(shù)矩陣
4.1.2 亮度相似度因子Wr計算
根據(jù)式(6),σr的值控制著亮度相似度因子Wr的衰減程度。由于當前像素參與計算,Wr需要實時產(chǎn)生,指數(shù)運算在FPGA中可通過映射表的方式實現(xiàn),即在1個時鐘周期內(nèi)查表得到指數(shù)運算結(jié)果,并將結(jié)果寄存。采用3×3的矩陣進行處理,要求緩存三行數(shù)據(jù)。如圖3所示,在FPGA內(nèi)部建立三個FIFO用于緩存數(shù)據(jù)和進行計算。
圖3 數(shù)據(jù)和緩存示意圖
如圖4所示,設定當前點的數(shù)據(jù)為reg5,采用多個寄存器,通過一個乘法器和指數(shù)的查找表即可獲得3×3的亮度相似度因子Wr矩陣。查找表深度為16384,位寬16。
圖4 Wr計算時序
4.2.1 圖像數(shù)據(jù)I/O時序
該平臺的熱像儀采用ULIS公司生產(chǎn)的640×480像元多晶硅探測器,該探測器可以配置為單路或者雙路數(shù)據(jù)輸出。
采用合理的時序設計將雙邊濾波算法作為數(shù)據(jù)模塊嵌入到FPGA中,適當提高主時鐘頻率,能夠在一幅圖像傳輸完成后,即可獲得灰度映射表,保證數(shù)據(jù)的輸出顯示。在數(shù)據(jù)處理時,采用乒乓切換技術對SRAM進行復用。如圖5所示,采用兩片大容量SRAM交替緩存輸入原始圖像,數(shù)據(jù)交替輸入輸出過程。
圖5 數(shù)據(jù)交替輸入輸出過程
在目前的數(shù)據(jù)流中,雙邊濾波算法涉及大量的乘加運算,對FPGA的資源需求和時序優(yōu)化提出了很高的要求。根據(jù)設計要求,需要在40 ms內(nèi)完成一幅圖像的處理,為了盡量提高圖像處理速度,處理方式采用了流水線設計。
4.2.2 流水線設計
如圖6所示,雙邊濾波圖像處理算法流水線。算法共分為以下7個步驟:讀取列數(shù)據(jù)、計算灰度差值、查表得Wr和Ws、計算Wr和Ws乘積、計算公式(4)分母以及因子W與灰度值乘積、計算公式(4)分子、分子分母相除得到灰度值。所以在FPGA中用7級流水線實現(xiàn)。
圖6 流水線設計雙邊濾波圖像處理算法
由于每次載入一列新數(shù)據(jù)后需要對3×3鄰域的周圍8個點進行空間臨近度因子Ws和亮度相似度因子Wr的計算,所以每8個周期可以完成1個像素值的濾波運算,并載入一列新的圖像數(shù)據(jù)。由于除法運算延時較大,所以流水線總延時為30個周期。采用的圖像處理時鐘速率為80 MHz,完成一幅圖像處理的總時間為30.72 ms,滿足實時性要求。
4.2.3 PE模塊
如圖7所示,PE模塊處理流程設計。完成雙邊濾波處理的14位圖像數(shù)據(jù)先存儲于RAM中,得到整幅圖像數(shù)據(jù)后,從RAM中將數(shù)據(jù)逐個讀出進行PE算法處理。首先對所有數(shù)據(jù)進行直方圖統(tǒng)計,得到圖像直方圖數(shù)據(jù)并存入平臺直方圖RAM。然后對每個灰度級進行平臺直方圖運算,得到新的8 bit灰度級并存入RAM建立灰度查找表。最后從圖像存儲RAM中將每個數(shù)據(jù)讀出,根據(jù)原始灰度從查找表中查找出新灰度并輸出。PE模塊同樣采用80 MHz時鐘,總處理時間為7.88 ms。
圖7 PE模塊流程圖設計
綜上所述,紅外圖像細節(jié)增強算法在FPGA中采用流水線設計,可在40 ms內(nèi)實現(xiàn)完成。器件采用Xilinx Virtex-5系列XC5VLX50 FPGA芯片,該芯片片內(nèi)資源豐富,包含7200邏輯單元、48×36 Kb的ram容量以及48個乘法單元,完全能夠滿足資源需求。
實驗驗證中,分別采用平臺直方圖均衡算法和本文提出紅外圖像細節(jié)增強算法對14 bit原始圖像進行增強。實驗結(jié)果如圖8所示,采用凝視型中波640×480紅外熱像儀采集原始紅外圖像。由于平臺直方圖均衡算法在處理大動態(tài)范圍的圖像時,無法同時保留圖像低溫區(qū)和高溫區(qū)的細節(jié)信息,因此均衡后的細節(jié)損失較大(大多數(shù)是被合并掉的灰度級),圖像對比度較小,目標的邊緣部分不清晰;而經(jīng)過紅外圖像細節(jié)增強算法處理后,目標圖像與場景間的對比度要明顯優(yōu)于單獨用PE算法處理的圖像,而且在濾除圖像噪聲時不會由于過度壓縮而導致視頻圖像細節(jié)的丟失。
圖8 平臺直方圖均衡算法和本文算法圖像顯示效果對比
本文提出的基于FPGA的紅外圖像細節(jié)增強算法能夠有效提升紅外圖像的清晰度和對比度,處理后圖像具有良好的視覺效果。在算法實現(xiàn)中,充分利用FPGA并行運算的特點,通過乒乓操作、多級流水線設計等,能夠滿足紅外視頻圖像處理的實時性要求,具備良好的應用前景。