趙 凡,張 葆
(1.中國科學院長春光學精密機械與物理研究所
中國科學院航空光學成像與測量重點實驗室,吉林 長春 130033;2.中國科學院大學,北京 100049)
圖像增強主要是將圖像轉換為更適合人眼觀察或者機器分析、識別的形式,改善圖像的質量和視覺效果,以便獲得更清楚、明晰的富含大量有用信息的可使用圖像[1-4]。對于航拍圖像,由于惡劣的天氣條件和拍攝距離遠會使圖像的對比度低、圖像的紋理細節模糊[5-6]。因此,改善圖像的對比度、增強圖像的細節紋理信息是航拍圖像增強中的重要部分。
直方圖均衡化是增強圖像對比度的一種常見方法[7-8],該方法將圖像的直方圖變為均勻分布的形式,來增大灰度值的動態范圍。單一形式的全局均衡化會造成一些灰度級的合并,使得一些細節信息缺失。對圖像進行分段拉伸也是一種常見算法[9-10],但是分段拉伸算法的關鍵點在于分段點的選擇,分段點的選擇稍有不慎便影響了整幅圖像的增強效果。本文提出了一種能夠提高圖像對比度、增強圖像紋理細節的算法。首先將原始直方圖進行子層分割,根據子層灰度概率密度之和的大小將灰度概率密度較大的灰度值動態范圍進行擴展。通過對分割后子層灰度范圍的重新定義,完成灰度范圍拉伸,從而提高圖像的整體對比度。
在圖像增強的硬件實現上,現場可編程門陣列(FPGA)在結構上的并行處理優勢使得其更適合完成高速的運算能力[11-13]。該系統采用cyclone3系列的EP3C16FPGA為處理器,具有實現簡單、集成度高、功耗低的特點,同時系統結構性強,具有很大的靈活性。流水線操作設計是FPGA中常用的設計思想與技術之一,利用它可以提高時鐘頻率,降低功耗。流水線系統為級聯結構,各級通過存貯元件分開[14-15]。流水線最大特點是數據流在各步驟在時間上是連續的,并且每步運算都是在時鐘的控制下進行的,如果每步執行時間并不相等,流水線就會產生“瓶頸”,降低了數據處理效率。而組合邏輯引起的時序事件,沒有時鐘的控制,采用組合邏輯對本文算法進行建模,則能夠快速高效地進行運算。
為了更好地對圖像中的目標增強,突出其信息,通常我們會用直方圖分割。通過將直方圖分割成幾個子區域,然后根據子層直方圖的特征,在每個子區域中完成該區域灰度范圍的拓展或壓縮。增大灰度概率密度較大子層的動態范圍,壓縮概率密度較小子層的灰度值范圍。通過直方圖灰度范圍的重新映射,能有效擴大對比度,提高視覺效果。
將原始直方圖按其灰度級范圍平均分割為n個區域,即SR0,SR1,...SRn-1。為了增大處理后圖像的對比度,在這幾個區域中對灰度級進行拉伸。我們采取以下方法對灰度范圍進行拉伸或壓縮:

其中:h(Xi)是圖像中灰度級為Xi的像素個數,SSHk則表示在分割的后的SRk與SRk+1區間內所有灰度級的像素個數和,反映到直方圖上也就是SRk與SRk+1區間的面積。該子層區域占全局直方圖的比例為:

其中:n為圖像中所有像素數和。該子層區域反映到表示灰度值的橫坐標上為:

其中:L為灰度最大值,SSRk為區域SRk重新定義后的區域。從上述公式可以看出,重新定義后的區域SSRk與原始區域SRk的面積成正比。

圖1 子層分割Fig.1 Sub-layer segmentation
考慮到圖像的增強后效果以及計算量,本文中將直方圖分為4個子層,每個子層經拉伸或壓縮后如圖1所示??梢钥闯龌叶让芏雀怕屎洼^大的區域如SR0,經過映射后其灰度范圍SSR0較廣。灰度級拉伸后,圖像的對比度得到了提高。
為了避免子層直方圖灰度范圍被過分拉伸或者壓縮,我們對子層灰度區域的重新映射過程加以約束:

其中:L為灰度最大值,k為所劃分子層區域的個數。我們將重新拉伸或者壓縮后的子層灰度區域范圍約束為:

其中:α為子層灰度范圍約束參數,ASSRk為子層SSRk經過約束后的灰度值區域。從該公式可以看出,當SSRk小于r時,則經過約束后子層k的灰度值范圍ASSRk大于經過壓縮后子層k的灰度值范圍SSRk,也就意味著經過約束后,避免了概率密度之和較小區域被過分壓縮的缺點。當參數α取值0.5時,ASSRk與SSRk之間的關系反映到視覺上,可以用圖2表示。

圖2 子層范圍約束Fig.2 Sublayer range constraints
由圖2可以看出,原本灰度值范圍較大的SSR0經過此約束后范圍變為ASSR0,明顯變小,而與r相等的區域SSR1、SSR2經過此變換后保持不變,小于r的區域SSR3約束為范圍ASSR3,范圍變大,也就防止了累積概率密度之和較小的區域被過分壓縮。
子層灰度級經過拉伸或者壓縮后,輸入灰度值所對應的輸出灰度值為:

其中:I(n)為輸入圖像的灰度值,O(n)為該輸入灰度值對應輸出灰度值。
該系統以EP3C系列FPGA為主處理器,完成圖像的增強處理,系統的結構框圖如圖3所示。

圖3 系統結構框圖Fig.3 System block diagram
系統工作流程為:在FPGA相機控制模塊的控制下采集來自相機的圖像,經過本文算法處理后,顯示在VGA上。具體實現過程如下。由于圖像具有實時性的特點,在連續兩幀圖像變化不大的假設下,根據前一幀直方圖統計結果對后一幀進行處理。在相機控制信號的控制下,在幀有效,行有效和數據有效的前提下,一個像素時鐘FPGA接收一個有效數據,將灰度值作為RAM地址,不同地址中的數值表示該亮度的像素數,進行直方圖統計,并在統計過程中求得最小與最大值灰度值Vmin和Vmax。算法的實現具體步驟為:
步驟1:根據直方圖統計結果,在最大值與最小值間平分成4個區域。
步驟2:分別求出每個區域的面積。
步驟3:每個區域歸一化處理,得到每個區域灰度級范圍的重新映射。
步驟4:根據每個灰度值范圍的大小,加約束條件,求得最終每個區域的灰度級范圍。最終根據步驟1~4所求得的結果帶入公式(6)中。這樣在下一幀圖像的每個像素灰度值輸入的同時可以求得對應的輸出灰度值。
由于本文系統圖像的采集是實時性的,所以系統處理具有實時性的要求。流水線處理是高速設計中一個比較常用的設計步驟,流水操作是在時鐘CLK的控制下按照步驟進行的,且整個數據流的處理是單流向的,它是將某個設計處理流程分為若干步驟(串聯起來)。如果本文算法按照流水操作,則可以按照如圖4的步驟流程進行。

圖4 流水線操作Fig.4 Pipelining operation
流水線操作的最大特點是,數據流在各個步驟的處理從時間上看是連續的,每個步驟是在時鐘的控制下進行的,且前一個步驟的輸出是后一個步驟的輸入。本文處理過程中,步驟1(Vmax-Vmin)/4完成需要1個時鐘周期,步驟2中從RAM地址Vmin與Vmax之間將對應地址中數值相加,得到每個區域面積,需要Vmax-Vmin個時鐘周期,步驟三需要1個時鐘周期,步驟4需要1個時鐘周期。由于步驟2所需時間較長,在步驟2處理過程中,步驟3需要等待很長時間。流水線各段執行時間不相等,流水線就會產生堵塞,按照上述計算,本文算法完成一條線性流水線需要Vmax-Vmin+3個時鐘周期。
用流水線加速比(Tp)來衡量流水線的有效性,流水線加速比是指在完成同樣n個任務的情況下,非流水線所需的順序執行時間與流水線所需的執行時間的比值。

其中:n為任務數,K為一條流水線上的段數,Dt表示每段完成需要的時鐘周期。本文中每秒需要處理圖像數為50幀,即任務數為50,每條流水線需要分為4步完成,所以k取值4,所以Tp=50[1+1+ (Vmax-Vmin)+1]/[(1+1+ (Vmax-Vmin)+1)+49(Vmax-Vmin)]趨近于1,所以該流水線的性能并不好,處理速度比較慢,在對實時性要求較高時,流水線操作并不能滿足要求。
組合邏輯沒有時鐘的控制。利用FPGA可以并行執行程序的特點,采用組合邏輯對本文算法進行建模,使之能夠快速高效地進行運算。本文將由組合邏輯引起的事件稱為即使事件,特征是不受時鐘沿的控制。如圖5所示。

圖5 組合邏輯的即使事件Fig.5 Immediate action of combinational logic
我們把算法的每一個步驟當作一個即時事件,根據組合邏輯的特點,每個即時事件可在一個時鐘周期內完成,4個即時事件可并行執行,全部總合起來也是引起一個即時事件,所以可以在一個時鐘周期內完成。本文算法的建模圖如圖6所示。

圖6 本文算法即時式的建模圖Fig.6 Modeling of instant style of proposed algorithm
即時事件1是執行增強算法運算的任務模塊,它的輸入是由直方圖統計得到的灰度最大值和灰度最小值。它根據輸入最大和最小灰度值運算以后,將區域劃分結果輸出給下一個任務模塊即即時事件2,依次進行,等第四任務模塊完成時,完成一幀圖像的處理。采用組合邏輯對本文算法進行建模,使之能夠快速高效地進行運算,整個算法在一個時鐘周期內即可完成,相對于流水線操作處理速度明顯提高。
圖7(a)圖像大小為256×256。本文通過對原始圖像觀察,可以發現,灰度值比較集中,反映到圖像中就是細節不明顯,對比度低。同時原始圖像主要的輪廓不明顯。

圖7 不同算法圖像增強后效果Fig.7 Performance comparison of different algorithms
區域多直方圖紅外圖像增強方法(RHE)是通過對直方圖分層,在每個子層進行直方圖均衡化來達到對圖像增強的目的。這種基于分層的直方圖均衡化相對于直方圖均衡化(HE)有了一定改進,由于該方法都是基于直方圖分割的,在每個子層做直方圖均衡化處理,經過處理后直方圖的灰度范圍得到了拓展,從(b)可以看出經過RHE算法處理后圖像的對比度得到了很好的提高,但是由于這類方法是基于直方圖均衡化的,不可避免地會導致灰度級合并,通過直方圖均衡化后圖像,灰度值較小區域更暗,不能顯現出水紋的細節信息,且灰度值較大區域過亮,失去原有紋理信息。本文算法α=0時增強后的圖像較RHE算法處理后圖像相比,圖像效果有了明顯改進,可以看到圖中的水紋細節信息。但是α=0該算法對子層區域灰度值范圍的拉伸或壓縮時,存在過度拉伸或壓縮的缺點,灰度值較小的像素點經過范圍拓展后灰度值更小,圖7(c)所示,部分區域過暗,水紋的細節信息不明顯,同時灰度值較大區域的灰度值經拉伸后灰度值更大。圖7(d)為當α=0.5時,經過處理后圖像。該灰度范圍較原圖明顯增大,但是在α的約束下,灰度值范圍沒有被過分拉伸,所以明顯看出整幅圖像的細節信息,視覺效果很好。
本文采用灰度平均梯度值(GMG)以及信息熵來判斷增強算法的效果和有效性?;叶绕骄荻戎凳欠謩e將圖像長度和寬度方向上的相鄰像素灰度值做差后求平方和再求均方根值,它能較好地反映圖像的對比度和紋理變化特征,其值越大表示圖像越清晰,圖像質量越好。公式為:

而信息熵代表圖像中所有信息狀態所具有的平均信息量,作為圖像質量的評價標準,信息熵越大意味著圖像中細節信息越多,視覺效果越好[16],定義為:

其中:p(i)表示灰度值為i的概率密度。

圖8 不同算法處理后圖像信息熵以及GMGFig.8 Image information entropy and GMG of enhanced image after different algorithms
由圖8可以看出經過本文算法處理后圖像的GMG以及信息熵最大。
為了驗證采用即時操作實現該算法的有效性,本文采用即時操作對圖7(a)進行了處理與普通實現方法、流水線操作方式進行了比較。圖7(a)圖像大小為256×256。

表1 三種操作性能比較Tab.1 Performance evaluation of three performances
表1給出了3種操作的性能評價,可以看出,完成圖7(a)的增強處理,采用即時操作相比于流水線操作時間減少了5×103ns,比普通操作時間減少5.2×103ns。運行速度明顯提高。
為了提高圖像對比度、增強圖像紋理細節,提出了一種子層分割灰度拉伸算法,根據子層灰度概率密度之和的大小將灰度概率密度較大的灰度值動態范圍進行擴展或壓縮,為了防止區間被過分拓展或壓縮,運用系數α加以約束,完成灰度范圍拉伸,從而提高圖像的整體對比度。本文方法處理后的圖像,細節豐富,灰度動態范圍寬,該算法很大程度上改善圖像了的清晰度和視覺質量。該增強系統采用FPGA作為整個算法的中央處理器,根據FPGA并行執行的特點,采用組合邏輯對本文算法進行建模,算法可在一個時鐘周期內完成,相比于流水線操作時間提高5×103ns。該系統具有集成度高、圖像處理速度快和實時性強等特點。結果表明,該算法在硬件實現上,能夠有效地實現預期目標,基本可以實現工程應用。
[1]Rui L.A quantitative measure based infrared image enhancement algorithm using plateau histogram [J].Optics Communications,2010,283:4283-4288.
[2]賀柏根,劉劍.基于 DSP+FPGA的實時圖像去霧增強系統設計[J].液晶與顯示,2013,6(28):968-972.He B G,Liu J.Real-time image defogging and enhanced system designed based on DSP+FPGA [J].Chinese Journal of Liquid Crystal and Displays,2013,6(28):968-972.(in Chinese)
[3]Xiang Z B.Image enhancement using multi scale image features extracted by top-hat transform [J].Optics & Laser Technology,2012,44:328-336.
[4]尹傳歷,王嘯哲.機載嵌入式圖像增強系統設計與實現[J].液晶與顯示,2013,28(4):604-607.Yin C L,Wang X Z.Design and realization of airborne embedded image enhancement system [J].Chinese Journal of Liquid Crystal and Displays,2013,28(4):604-607.(in Chinese)
[5]孫偉,李大健.基于大氣散射模型的單幅圖像快速去霧[J].光學精密工程,2013,21(4):1040-1046.Sun W,Li D J.Fast single image fog removal based on atmospheric scattering model[J].Optics and Precision Engineering,2013,21(4):1040-1046.(in Chinese)
[6]易盟,郭寶龍.結合優化梯度濾波與投影不變的航拍視頻配準[J].光學精密工程,2012,20(3):651-660.Yi M,Guo B L.Aerial video registration combining optimal gradient filters and projective invariant[J].Optics and Precision Engineering,2012,20(3):651-660.(in Chinese)
[7]Turgay C.Two-dimensional histogram equalization and contrast enhancement[J].Pattern Recognition,2012,45:3810-3824.
[8]Lee Chulwoo,Lee Chul.Power-constrained contrast enhancement for emissive displays based on histogram equalization [J].IEEE Transactions on Image Processing,2012,21(1):80-93.
[9]牛英宇.圖像自適應分段線性拉伸算法的FPGA設計[J].現代電子技術,2010,10:78-80.Niu Y Y.Implementation of adaptive-piecewise linear stretching algorithm based on FPGA [J].Modern Electronics Technique,2010,10:78-80.(in Chinese)
[10]武治國,王延杰.一種基于直方圖非線性變換的圖像對比度增強方法 [J].光子學報,2010,39(4):755-758.Wu Z G,Wang Y J.An image enhancement algorithm based on histogram nonlinear transform [J].Acta Photon Ica Sin ica,2010,39(4):755-758.
[11]Hamouda M.An efficient dsp-fpga-based real-time implementation method of SVM algorithms for an indirect matrix converter[J].IEEE Transactions On Industrial Electronics,2011,58(11):5024-5031.
[12]熊文彬,蔣泉.基于FPGA實現的視頻顯示系統[J].液晶與顯示,2011,26(1):92-95.Xiong W B,Jiang Q.Video display system based on FPGA [J].Chinese Journal of Liquid Crystal and Displays,2011,26(1):92-95.(in Chinese)
[13]劉春香,郭永飛.星上多通道遙感圖像的實時合成壓縮[J].光學精密工程,2013,21(2):445-453.Liu C X,Guo Y F.Composition and compression of satellite multi-channel remote sensing images[J].Optics and Precision Engineering,2013,2(21):445-453.(in Chinese)
[14]Porikli F.Constant time O (1)bilateral filtering[C].IEEE Conference on Computer Vision and Pattern Recognition,2008.
[15]Paris S,Durand F.A fast approximation of the bilateral filter using a signal processing approach [C].ECCV,2006:568-580.(in Chinese)
[16]韓希珍.結合偏微分方程增強圖像紋理及對比度[J].光學精密工程,2012,20(6):1382-1388.Han X Z .Enhencement of image texture and contrast combined with partial differential equation[J].Optics and Precision Engineering,2012,20(6):1382-1388.(in Chinese)