趙 凡,張 葆
(1.中國科學(xué)院長春光學(xué)精密機械與物理研究所
中國科學(xué)院航空光學(xué)成像與測量重點實驗室,吉林 長春 130033;2.中國科學(xué)院大學(xué),北京 100049)
圖像增強主要是將圖像轉(zhuǎn)換為更適合人眼觀察或者機器分析、識別的形式,改善圖像的質(zhì)量和視覺效果,以便獲得更清楚、明晰的富含大量有用信息的可使用圖像[1-4]。對于航拍圖像,由于惡劣的天氣條件和拍攝距離遠會使圖像的對比度低、圖像的紋理細節(jié)模糊[5-6]。因此,改善圖像的對比度、增強圖像的細節(jié)紋理信息是航拍圖像增強中的重要部分。
直方圖均衡化是增強圖像對比度的一種常見方法[7-8],該方法將圖像的直方圖變?yōu)榫鶆蚍植嫉男问剑瑏碓龃蠡叶戎档膭討B(tài)范圍。單一形式的全局均衡化會造成一些灰度級的合并,使得一些細節(jié)信息缺失。對圖像進行分段拉伸也是一種常見算法[9-10],但是分段拉伸算法的關(guān)鍵點在于分段點的選擇,分段點的選擇稍有不慎便影響了整幅圖像的增強效果。本文提出了一種能夠提高圖像對比度、增強圖像紋理細節(jié)的算法。首先將原始直方圖進行子層分割,根據(jù)子層灰度概率密度之和的大小將灰度概率密度較大的灰度值動態(tài)范圍進行擴展。通過對分割后子層灰度范圍的重新定義,完成灰度范圍拉伸,從而提高圖像的整體對比度。
在圖像增強的硬件實現(xiàn)上,現(xiàn)場可編程門陣列(FPGA)在結(jié)構(gòu)上的并行處理優(yōu)勢使得其更適合完成高速的運算能力[11-13]。該系統(tǒng)采用cyclone3系列的EP3C16FPGA為處理器,具有實現(xiàn)簡單、集成度高、功耗低的特點,同時系統(tǒng)結(jié)構(gòu)性強,具有很大的靈活性。流水線操作設(shè)計是FPGA中常用的設(shè)計思想與技術(shù)之一,利用它可以提高時鐘頻率,降低功耗。流水線系統(tǒng)為級聯(lián)結(jié)構(gòu),各級通過存貯元件分開[14-15]。流水線最大特點是數(shù)據(jù)流在各步驟在時間上是連續(xù)的,并且每步運算都是在時鐘的控制下進行的,如果每步執(zhí)行時間并不相等,流水線就會產(chǎn)生“瓶頸”,降低了數(shù)據(jù)處理效率。而組合邏輯引起的時序事件,沒有時鐘的控制,采用組合邏輯對本文算法進行建模,則能夠快速高效地進行運算。
為了更好地對圖像中的目標(biāo)增強,突出其信息,通常我們會用直方圖分割。通過將直方圖分割成幾個子區(qū)域,然后根據(jù)子層直方圖的特征,在每個子區(qū)域中完成該區(qū)域灰度范圍的拓展或壓縮。增大灰度概率密度較大子層的動態(tài)范圍,壓縮概率密度較小子層的灰度值范圍。通過直方圖灰度范圍的重新映射,能有效擴大對比度,提高視覺效果。
將原始直方圖按其灰度級范圍平均分割為n個區(qū)域,即SR0,SR1,...SRn-1。為了增大處理后圖像的對比度,在這幾個區(qū)域中對灰度級進行拉伸。我們采取以下方法對灰度范圍進行拉伸或壓縮:
其中:h(Xi)是圖像中灰度級為Xi的像素個數(shù),SSHk則表示在分割的后的SRk與SRk+1區(qū)間內(nèi)所有灰度級的像素個數(shù)和,反映到直方圖上也就是SRk與SRk+1區(qū)間的面積。該子層區(qū)域占全局直方圖的比例為:
其中:n為圖像中所有像素數(shù)和。該子層區(qū)域反映到表示灰度值的橫坐標(biāo)上為:
其中:L為灰度最大值,SSRk為區(qū)域SRk重新定義后的區(qū)域。從上述公式可以看出,重新定義后的區(qū)域SSRk與原始區(qū)域SRk的面積成正比。
圖1 子層分割Fig.1 Sub-layer segmentation
考慮到圖像的增強后效果以及計算量,本文中將直方圖分為4個子層,每個子層經(jīng)拉伸或壓縮后如圖1所示??梢钥闯龌叶让芏雀怕屎洼^大的區(qū)域如SR0,經(jīng)過映射后其灰度范圍SSR0較廣。灰度級拉伸后,圖像的對比度得到了提高。
為了避免子層直方圖灰度范圍被過分拉伸或者壓縮,我們對子層灰度區(qū)域的重新映射過程加以約束:
其中:L為灰度最大值,k為所劃分子層區(qū)域的個數(shù)。我們將重新拉伸或者壓縮后的子層灰度區(qū)域范圍約束為:
其中:α為子層灰度范圍約束參數(shù),ASSRk為子層SSRk經(jīng)過約束后的灰度值區(qū)域。從該公式可以看出,當(dāng)SSRk小于r時,則經(jīng)過約束后子層k的灰度值范圍ASSRk大于經(jīng)過壓縮后子層k的灰度值范圍SSRk,也就意味著經(jīng)過約束后,避免了概率密度之和較小區(qū)域被過分壓縮的缺點。當(dāng)參數(shù)α取值0.5時,ASSRk與SSRk之間的關(guān)系反映到視覺上,可以用圖2表示。
圖2 子層范圍約束Fig.2 Sublayer range constraints
由圖2可以看出,原本灰度值范圍較大的SSR0經(jīng)過此約束后范圍變?yōu)锳SSR0,明顯變小,而與r相等的區(qū)域SSR1、SSR2經(jīng)過此變換后保持不變,小于r的區(qū)域SSR3約束為范圍ASSR3,范圍變大,也就防止了累積概率密度之和較小的區(qū)域被過分壓縮。
子層灰度級經(jīng)過拉伸或者壓縮后,輸入灰度值所對應(yīng)的輸出灰度值為:
其中:I(n)為輸入圖像的灰度值,O(n)為該輸入灰度值對應(yīng)輸出灰度值。
該系統(tǒng)以EP3C系列FPGA為主處理器,完成圖像的增強處理,系統(tǒng)的結(jié)構(gòu)框圖如圖3所示。
圖3 系統(tǒng)結(jié)構(gòu)框圖Fig.3 System block diagram
系統(tǒng)工作流程為:在FPGA相機控制模塊的控制下采集來自相機的圖像,經(jīng)過本文算法處理后,顯示在VGA上。具體實現(xiàn)過程如下。由于圖像具有實時性的特點,在連續(xù)兩幀圖像變化不大的假設(shè)下,根據(jù)前一幀直方圖統(tǒng)計結(jié)果對后一幀進行處理。在相機控制信號的控制下,在幀有效,行有效和數(shù)據(jù)有效的前提下,一個像素時鐘FPGA接收一個有效數(shù)據(jù),將灰度值作為RAM地址,不同地址中的數(shù)值表示該亮度的像素數(shù),進行直方圖統(tǒng)計,并在統(tǒng)計過程中求得最小與最大值灰度值Vmin和Vmax。算法的實現(xiàn)具體步驟為:
步驟1:根據(jù)直方圖統(tǒng)計結(jié)果,在最大值與最小值間平分成4個區(qū)域。
步驟2:分別求出每個區(qū)域的面積。
步驟3:每個區(qū)域歸一化處理,得到每個區(qū)域灰度級范圍的重新映射。
步驟4:根據(jù)每個灰度值范圍的大小,加約束條件,求得最終每個區(qū)域的灰度級范圍。最終根據(jù)步驟1~4所求得的結(jié)果帶入公式(6)中。這樣在下一幀圖像的每個像素灰度值輸入的同時可以求得對應(yīng)的輸出灰度值。
由于本文系統(tǒng)圖像的采集是實時性的,所以系統(tǒng)處理具有實時性的要求。流水線處理是高速設(shè)計中一個比較常用的設(shè)計步驟,流水操作是在時鐘CLK的控制下按照步驟進行的,且整個數(shù)據(jù)流的處理是單流向的,它是將某個設(shè)計處理流程分為若干步驟(串聯(lián)起來)。如果本文算法按照流水操作,則可以按照如圖4的步驟流程進行。
圖4 流水線操作Fig.4 Pipelining operation
流水線操作的最大特點是,數(shù)據(jù)流在各個步驟的處理從時間上看是連續(xù)的,每個步驟是在時鐘的控制下進行的,且前一個步驟的輸出是后一個步驟的輸入。本文處理過程中,步驟1(Vmax-Vmin)/4完成需要1個時鐘周期,步驟2中從RAM地址Vmin與Vmax之間將對應(yīng)地址中數(shù)值相加,得到每個區(qū)域面積,需要Vmax-Vmin個時鐘周期,步驟三需要1個時鐘周期,步驟4需要1個時鐘周期。由于步驟2所需時間較長,在步驟2處理過程中,步驟3需要等待很長時間。流水線各段執(zhí)行時間不相等,流水線就會產(chǎn)生堵塞,按照上述計算,本文算法完成一條線性流水線需要Vmax-Vmin+3個時鐘周期。
用流水線加速比(Tp)來衡量流水線的有效性,流水線加速比是指在完成同樣n個任務(wù)的情況下,非流水線所需的順序執(zhí)行時間與流水線所需的執(zhí)行時間的比值。
其中:n為任務(wù)數(shù),K為一條流水線上的段數(shù),Dt表示每段完成需要的時鐘周期。本文中每秒需要處理圖像數(shù)為50幀,即任務(wù)數(shù)為50,每條流水線需要分為4步完成,所以k取值4,所以Tp=50[1+1+ (Vmax-Vmin)+1]/[(1+1+ (Vmax-Vmin)+1)+49(Vmax-Vmin)]趨近于1,所以該流水線的性能并不好,處理速度比較慢,在對實時性要求較高時,流水線操作并不能滿足要求。
組合邏輯沒有時鐘的控制。利用FPGA可以并行執(zhí)行程序的特點,采用組合邏輯對本文算法進行建模,使之能夠快速高效地進行運算。本文將由組合邏輯引起的事件稱為即使事件,特征是不受時鐘沿的控制。如圖5所示。
圖5 組合邏輯的即使事件Fig.5 Immediate action of combinational logic
我們把算法的每一個步驟當(dāng)作一個即時事件,根據(jù)組合邏輯的特點,每個即時事件可在一個時鐘周期內(nèi)完成,4個即時事件可并行執(zhí)行,全部總合起來也是引起一個即時事件,所以可以在一個時鐘周期內(nèi)完成。本文算法的建模圖如圖6所示。
圖6 本文算法即時式的建模圖Fig.6 Modeling of instant style of proposed algorithm
即時事件1是執(zhí)行增強算法運算的任務(wù)模塊,它的輸入是由直方圖統(tǒng)計得到的灰度最大值和灰度最小值。它根據(jù)輸入最大和最小灰度值運算以后,將區(qū)域劃分結(jié)果輸出給下一個任務(wù)模塊即即時事件2,依次進行,等第四任務(wù)模塊完成時,完成一幀圖像的處理。采用組合邏輯對本文算法進行建模,使之能夠快速高效地進行運算,整個算法在一個時鐘周期內(nèi)即可完成,相對于流水線操作處理速度明顯提高。
圖7(a)圖像大小為256×256。本文通過對原始圖像觀察,可以發(fā)現(xiàn),灰度值比較集中,反映到圖像中就是細節(jié)不明顯,對比度低。同時原始圖像主要的輪廓不明顯。
圖7 不同算法圖像增強后效果Fig.7 Performance comparison of different algorithms
區(qū)域多直方圖紅外圖像增強方法(RHE)是通過對直方圖分層,在每個子層進行直方圖均衡化來達到對圖像增強的目的。這種基于分層的直方圖均衡化相對于直方圖均衡化(HE)有了一定改進,由于該方法都是基于直方圖分割的,在每個子層做直方圖均衡化處理,經(jīng)過處理后直方圖的灰度范圍得到了拓展,從(b)可以看出經(jīng)過RHE算法處理后圖像的對比度得到了很好的提高,但是由于這類方法是基于直方圖均衡化的,不可避免地會導(dǎo)致灰度級合并,通過直方圖均衡化后圖像,灰度值較小區(qū)域更暗,不能顯現(xiàn)出水紋的細節(jié)信息,且灰度值較大區(qū)域過亮,失去原有紋理信息。本文算法α=0時增強后的圖像較RHE算法處理后圖像相比,圖像效果有了明顯改進,可以看到圖中的水紋細節(jié)信息。但是α=0該算法對子層區(qū)域灰度值范圍的拉伸或壓縮時,存在過度拉伸或壓縮的缺點,灰度值較小的像素點經(jīng)過范圍拓展后灰度值更小,圖7(c)所示,部分區(qū)域過暗,水紋的細節(jié)信息不明顯,同時灰度值較大區(qū)域的灰度值經(jīng)拉伸后灰度值更大。圖7(d)為當(dāng)α=0.5時,經(jīng)過處理后圖像。該灰度范圍較原圖明顯增大,但是在α的約束下,灰度值范圍沒有被過分拉伸,所以明顯看出整幅圖像的細節(jié)信息,視覺效果很好。
本文采用灰度平均梯度值(GMG)以及信息熵來判斷增強算法的效果和有效性?;叶绕骄荻戎凳欠謩e將圖像長度和寬度方向上的相鄰像素灰度值做差后求平方和再求均方根值,它能較好地反映圖像的對比度和紋理變化特征,其值越大表示圖像越清晰,圖像質(zhì)量越好。公式為:
而信息熵代表圖像中所有信息狀態(tài)所具有的平均信息量,作為圖像質(zhì)量的評價標(biāo)準(zhǔn),信息熵越大意味著圖像中細節(jié)信息越多,視覺效果越好[16],定義為:
其中:p(i)表示灰度值為i的概率密度。
圖8 不同算法處理后圖像信息熵以及GMGFig.8 Image information entropy and GMG of enhanced image after different algorithms
由圖8可以看出經(jīng)過本文算法處理后圖像的GMG以及信息熵最大。
為了驗證采用即時操作實現(xiàn)該算法的有效性,本文采用即時操作對圖7(a)進行了處理與普通實現(xiàn)方法、流水線操作方式進行了比較。圖7(a)圖像大小為256×256。
表1 三種操作性能比較Tab.1 Performance evaluation of three performances
表1給出了3種操作的性能評價,可以看出,完成圖7(a)的增強處理,采用即時操作相比于流水線操作時間減少了5×103ns,比普通操作時間減少5.2×103ns。運行速度明顯提高。
為了提高圖像對比度、增強圖像紋理細節(jié),提出了一種子層分割灰度拉伸算法,根據(jù)子層灰度概率密度之和的大小將灰度概率密度較大的灰度值動態(tài)范圍進行擴展或壓縮,為了防止區(qū)間被過分拓展或壓縮,運用系數(shù)α加以約束,完成灰度范圍拉伸,從而提高圖像的整體對比度。本文方法處理后的圖像,細節(jié)豐富,灰度動態(tài)范圍寬,該算法很大程度上改善圖像了的清晰度和視覺質(zhì)量。該增強系統(tǒng)采用FPGA作為整個算法的中央處理器,根據(jù)FPGA并行執(zhí)行的特點,采用組合邏輯對本文算法進行建模,算法可在一個時鐘周期內(nèi)完成,相比于流水線操作時間提高5×103ns。該系統(tǒng)具有集成度高、圖像處理速度快和實時性強等特點。結(jié)果表明,該算法在硬件實現(xiàn)上,能夠有效地實現(xiàn)預(yù)期目標(biāo),基本可以實現(xiàn)工程應(yīng)用。
[1]Rui L.A quantitative measure based infrared image enhancement algorithm using plateau histogram [J].Optics Communications,2010,283:4283-4288.
[2]賀柏根,劉劍.基于 DSP+FPGA的實時圖像去霧增強系統(tǒng)設(shè)計[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-h(huán)at transform [J].Optics & Laser Technology,2012,44:328-336.
[4]尹傳歷,王嘯哲.機載嵌入式圖像增強系統(tǒng)設(shè)計與實現(xiàn)[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].光學(xué)精密工程,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]易盟,郭寶龍.結(jié)合優(yōu)化梯度濾波與投影不變的航拍視頻配準(zhǔn)[J].光學(xué)精密工程,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]牛英宇.圖像自適應(yīng)分段線性拉伸算法的FPGA設(shè)計[J].現(xiàn)代電子技術(shù),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].光子學(xué)報,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實現(xiàn)的視頻顯示系統(tǒng)[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].光學(xué)精密工程,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]韓希珍.結(jié)合偏微分方程增強圖像紋理及對比度[J].光學(xué)精密工程,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)