仵宗欽,劉 鵬
(1.長春理工大學 電子信息工程學院, 吉林 長春 130022;2.長春理工大學 空地激光通信技術國防重點學科實驗室,吉林 長春 130022)
基于FPGA的數字相機自動曝光技術研究
仵宗欽1,劉 鵬2
(1.長春理工大學 電子信息工程學院, 吉林 長春 130022;2.長春理工大學 空地激光通信技術國防重點學科實驗室,吉林 長春 130022)
針對傳統的自動曝光算法不能滿足特殊光照條件的場合,在研究數字相機的工作原理及特點的基礎上,實現一種以現場可編程邏輯器件(FPGA)為控制核心的數字相機自動曝光系統,提出了基于圖像熵的一種新的自動曝光算法。工作在外觸發下的數字相機通過CameraLink接口作為圖像數據的輸入,利用FPGA的高速并行性完成了數字圖像數據的采集、數據流的緩存控制,并且綜合分析了基于圖像熵的圖像分區自動曝光算法的原理和過程,給出了該算法具體的實現方法,最后將得出的曝光參數輸出給相機以達到合適的曝光。經實驗驗證:該算法的曝光效果不但適用于普通光照,而且在特殊光照條件下同樣能很好的曝光,不受光照條件的影響,提高了相機系統輸出圖像的動態范圍。
圖像熵;自動曝光; FPGA;CCD;外觸發方式
CommunicationTechnologyLaboratory,Changchun130022,China)
現代圖像技術的發展,尤其是CCD[1-2](Charge Coupled Device)水平的不斷提高,使得它在軍事、工業等領域有重要的應用,但并不是所有的相機都有自動曝光功能,對于動態范圍大且相機品質優良,但卻不能保證圖像質量的情況下,利用CCD的自動曝光能力來改善圖像無疑是一個最好的方法和手段,目前通常的數字相機帶有自動曝光功能的有很多,但是這種自動曝光是通用化的,這種通用化的自動曝光算法有時候對一些特殊的軍事需求并不合適,另外對一些特殊的相機,由于它們的通用性不高,往往不帶自動曝光算法,如相機RA-1000。因此,有必要對自動曝光技術進行研究。
另外,在一些復雜的環境下,如當目標處于特殊背景光時,圖像中背景的亮度與主體的亮度相差較大,圖像整體亮度偏暗或偏亮,顯示效果較差。同樣對于海上的目標,由于海水的反射作用使得圖像中背景與主體有較大亮度的對比度,影響圖像的顯示效果,嚴重的情況下圖像中的目標可能丟失,也需要相機的自動曝光來改善圖像的質量。
系統的總體框圖如圖1所示。系統的基本硬件主要包括以下部分:圖像采集、主控單元、數據緩存、圖像傳輸以及電源模塊。

圖1 系統總體框圖
系統中,數字相機選用CMCB-140MCL,相機采集的圖像信號經CameraLink電平轉換電路,輸出LVTTL電平信號送給FPGA接收,FPGA把接收到的圖像信息移交給算法處理,算法計算出下次圖像的曝光時間,此曝光時間就是CCD的積分時間,快門在下降沿觸發采集一幀圖像,低電平的寬度大小代表曝光時間的長短,也即CCD的積分時間。每次圖像的曝光時間都是由上幅圖像計算而得來,這樣就能夠實時地對目標進行適當的曝光,使圖像達到最佳。乒乓數據緩存電路是為視頻流能無縫隙地輸出而設計的,保證了每幅圖像的實時處理并給顯示系統。
2.1 Camera Link接口轉換電路設計
Camera Link信號主要包括圖像數據信號、相機控制信號和串行通信信號3個部分[3-4]。其中圖像數據信號是主要部分,包括1對差分時鐘信號(Xclk-~Xclk+)和4對差分數據信號(X0-~X0+、X1-~X1+、X2-~X2+、X3-~X3+)。系統工作流程為:相機輸出的信號經過Camera Link電纜傳輸到板上的26芯接插件,由DS90CR288芯片將LVDS信號轉換為FPGA能識別的LVTTL電平,并分離出圖像數據和3個視頻控制信號LVAL,DVAL,FVAL;FPGA通過DS90LV47A芯片對相機的工作模式進行控制,本系統使其工作在外觸發模式,通過FPGA產生外觸發信號,驅動相機抓拍一副圖像;相機可以和FPGA進行串行通信,相機的初始化以及內外觸發等配置是通過串行完成的,DS90LV019芯片將相機輸出的LVDS電平轉換為LVTTL電平后直接和FPGA通過2根信號線(一發一收)相連,FPGA內部的串口模塊按照一定的通信格式和相機通信。Camera Link接口驅動電路如圖2所示。

圖2 Camera Link接口驅動電路
28位的圖像數據包括4位控制信號和24位圖像數據信號,其中4位控制信號包括:
1)FVAL(幀同步信號),為高則幀數據有效。
2)LVAL(行同步信號),在FVAL為高時,為高則行數據有效。
3)DVAL(數據有效信號),在FVAL和LVAL都為高時,為高則數據有效。
4)XCLK(圖像像素時鐘信號),行有效時,在時鐘上升沿數據穩定。
2.2 乒乓緩存電路設計
FPGA自身的存儲能力有限,但采集到的相機數據量非常大,故必須對數據流進行緩存,防止因處理數據時無法連續接收而丟失部分數據。系統選擇乒乓操作來緩沖圖像數據,以2片動態隨機存儲器SDRAM(Synchronous Dynamic Random Access Memory)作為緩沖體,SDRAM具有價格低廉、存儲容量大、高速等特點[5],符合系統高速大容量緩沖數據的要求。乒乓緩沖電路設計如圖3所示。

圖3 乒乓緩沖電路設計
從整體來看,數據的輸入與輸出都是連續的,無任何停頓。乒乓操作實現數據緩沖的實質是:通過SDRAM這種緩存單元,實現了數據流的串并轉換。
自動曝光是通過系統對所拍攝物體進行自動曝光的。自動曝光原理主要包含自動曝光的實現方式和自動曝光依據。
3.1 兩種自動曝光方法
自動曝光大多采用光學或電子學方式[6-7]。光學方式采用兩個傳感器,一個用來測光照度,另一個傳感器用來測圖像,成像與測光單獨處理。而電子學用一個傳感器同時測光照度與圖像。
光學方法分為內測光與外測光。外測光是將測光傳感器放于圖像傳感器上方或斜上方,如圖4a所示,這種測光方式由于測光傳感器與圖像傳感器存在視角的不同,會造成一定的誤差,測量精度小,要求不高的場合可用此方式;內測光是將測光傳感器放于鏡頭之后,如圖4b所示,這種測光不存在視角的誤差,測量精度高,但這種方式結構復雜,成本較高,不宜選用。電子學測光方式無需增加測光傳感器,首先預設一個自動曝光參數,獲得第一幅圖像后,算法對其進行亮度分析,計算出下一幅自動曝光參數,按此方法,以后每幅圖像的曝光參數都是經過分析上幅圖像的亮度信息計算而來。電子學方式成本低,結構簡單,測量精度高,且能滿足實時性的要求,故本系統選用電子學方式。

圖4 光學方式
3.2 自動曝光依據
3.2.1 “中間亮度”標準
物體在18%的反射率下亮度顯示最佳。這種標準對于普通光照條件下拍攝的圖像具有較好的效果,然而對于特殊光照條件下時,雖然整幅圖像達到了中間亮度,但目標和背景的對比度比較大,圖像中目標區域可能曝光過度或曝光不足,會造成目標的不清晰。
3.2.2 “中間亮度”標準
一幅圖像中,圖像的灰度分布情況可以反映不同的圖像質量,灰度直方圖在各個灰度值上分布越均勻,圖像對應的動態范圍就越寬,圖像自然就越清晰。在這里用圖像熵來定義灰度直方圖的均勻性[8]。

(1)
科學研究表明:同樣條件下,圖像熵值越大,圖像的灰度直方圖分布越均勻,圖像越清晰。如對一個8 bit的圖像信息,當灰度0~255每個值出現的概率相當時,直方圖分布最均勻,圖像熵最大(為8),圖像處于理想清晰。圖像熵不同于“中間亮度”,它在不同光照條件下(包括前述特殊光照條件)均適用。無論是強正面光還是強背景光都能很好的曝光,清晰地顯示出目標圖像。
4.1 圖像熵值大小決定目標區域及權重
依據視覺特性,人們力圖獲得最大量的信息。圖像中灰度級越均勻的為感興趣區域即主體,相反,灰度級越不均勻的為不感興趣區域。基于“中間灰度”標準的算法是對整幅圖像的灰度求其平均,自動曝光的結果是對整幅圖像而言的,對于普通光照條件結果比較理想。而對于特殊光照條件,會造成曝光不理想。如果知道圖像中感興趣區域[9-10],依據該區域的值進行曝光設置,則能對數字相機更好地自動曝光。
本文就圖像熵開發了基于圖像熵的圖像分區自動曝光算法。對圖像首先分成各個區域,比較各個區域熵值大小把這些區域分為兩類,一類為感興趣區域,另一類為非感興趣區域,同時,對這些區域根據熵值大小對照權重曲線進行分配權重,進而對數字相機準確曝光,這是本文的創新點。該方法不但適用于普通光照,而且對于特殊光照(強光和逆光)和場景中有多個目標的情況仍然能正確地自動曝光,使主體區域或目標清晰地呈現在圖像上。
4.2 依據圖像熵獲得加權亮度
圖像熵表示不確定性,值越大,所含信息量就越多,自然就是感興趣區域。為了更好地獲知感興趣區域,將圖像平均分成m×n份,所分區域不是越多越好,如果太多,所分區域就越小,這時噪聲可能占據主要成分,不能夠更好地反映圖像信息。分好區域后由前述圖像熵計算公式算出每個區域圖像熵Eij,求出平均圖像熵
(2)
如果某一區域的圖像熵Eij大于整體平均值Eavg,該區域可能是圖像中的目標區域;如果某一區域的圖像熵Eij小于整體平均值Eavg,該區域可能是圖像中的背景區域。對大于平均值的區域在計算該區域亮度時分配高的權重,小于平均值的區域在計算該區域亮度時分配低的權重,熵越大,亮度分配的權重越高,依照圖5權重分配曲線進行分配權重,橫坐標代表最大圖像熵與最小圖像熵的差,縱坐標代表權重。

圖5 權重分配曲線
加權后的圖像亮度為
(3)
式中:Bij為各區域亮度;WRONI為相應區域的權重;分母為總權重。同樣的曝光值可以由不同的光圈和快門得到,圖像亮度的表達式為
B=k×L×G×T×(F/d)-2
(4)
式中:k為一系數;L為環境亮度;G為增益;T為曝光時間;F/d為光圈。由此可知參考亮度Bopt和當前亮度Bcur表達式為
Bopt=k×L×G×Topt×(F/d)-2
(5)
Bcur=k×L×G×Tcur×(F/d)-2
(6)
式中:Topt為下次曝光時間;Tcur為當前曝光時間;Bopt參考亮度為128,由以上公式得到
Topt=Tcur×Bopt/Bcur
(7)
這樣便可以計算出下次的曝光時間,此時間參數由FPGA通過Camera Link傳輸給相機,相機以此參數作為曝光的積分時間,來達到自動曝光的效果。總的算法流程如圖6所示(Eth為平均熵)。

圖6 算法流程圖
本文采用Altera公司的CYCLONE IV系列芯片EP4CE55F23I7作為系統的主控和處理核心[11],同時使用Altera公司的FPGA集成開發環境QuartusII作為本系統開發環境,該開發環境自帶仿真功能,它可以完全模擬實體芯片的功能和運行特性,幫助設計人員判斷所設計模塊的功能正確與否。
按照前述算法通過用硬件描述語言Verilog HDL編寫代碼,連接好電路后,把程序通過JTAG下載到FPGA中,對環境中的景物分別做自動曝光前和自動曝光后拍攝,并通過MATLAB對圖像進行灰度直方圖統計及圖像熵計算,結果如圖7和圖8所示。
圖7為強背景光下自動曝光圖,可以看出經過自動曝光算法后的圖像能夠清晰地顯示出目標圖像,灰度直方圖分布也相對均勻,圖像熵與理想值相差不多;圖8為弱背景光下自動曝光圖,同樣可以看出經過自動算法后的圖像也能夠清晰地顯示出目標圖像,灰度直方圖相對均勻,圖像熵與理想值接近。理論和結果正面該算法不僅適用于普通光照,對于特殊光照(強背景光和弱背景光)也能夠很好的曝光,提高目標在圖像中的對比度,更加清晰地顯示出目標。

圖7 強背景光下自動曝光前后圖像及灰度直方圖

圖8 弱背景光下自動曝光前后圖像及灰度直方圖
本系統通過數字相機采集圖像,在研究了自動曝光的原理及圖像熵的基礎上,提出了一種自動曝光的新算法,該算法不僅適用于普通光照條件,還能很好地適用于特殊光照條件。系統詳細介紹了CameraLink接口驅動電路、乒乓緩存電路及自動曝光算法的流程,并通過實驗驗證了該方法的可行性。實驗結果表明,采用基于圖像熵的圖像分區自動曝光算法可準確地對不同光照條件下的目標進行曝光,可用在不同的應用領域。
[1] 王濤.線陣CCD傳感器實驗場幾何定標的理論與方法研究[D]. 鄭州:解放軍信息工程大學,2012.
[2] 華磊. 基于CCD的圖像采集系統設計與實現[D]. 西安:西安電子科技大學,2012.
[3] 韓紅霞,鐘子晶. 基于FPGA的CameraLink視頻信號分配系統設計[J].微計算機信息,2010,26(17):8-9.
[4] 吳振鋒.基于FPGA的CameraLink相機圖像采集及處理技術研究[D].哈爾濱:哈爾濱工業大學,2013.[5] 仵宗欽,王曉曼,劉鵬,等. 基于FPGA的SDRAM控制器設計與實現[J].電子與封裝,2014,14(10):20-24.
[6] AAMPAT N.System implications of implementing auto-exposure on consumer digital cameras[C]//Proc. SPIE Conference on Sensors,Cameras,and Applicatios for Digital Photography. [S.l.]:SPIE,2009:100-107.
[7] 梁佳毅.高性能數碼相機自動曝光算法研究與實現[D]. 上海:復旦大學,2008.
[8] 行長印,毛亞杰,楊立宏.基于圖像熵的自動曝光設計[J]. 長春理工大學學報:自然科學版,2009,32(1):28-30.
[9] JIN E W,LIN S,DHARUMALINGAM D. Face detection assisted auto exposure: supporting evidence from a psychophysical study [J]. Digital Photography VI,2010,7537:1-12.
[10] 周杰.基于多分區分割及模糊邏輯的自動曝光算法[D]. 上海:上海交通大學,2007.
[11] ALTERA. Cyclone device handbook [EB/OL].[2013-03-15]. HYPERLINK http://www.altera.com/.
仵宗欽(1989— ),碩士生,主研光電傳感與光電探測技術;
劉 鵬(1982— ),博士生,主研信息檢測與處理技術。
責任編輯:閆雯雯
Study on Technology of Digital Camera Automatic Exposure Based on FPGA
WU Zongqin1, LIU Peng2
(1.ChangchunUniversityofScienceandTechnologyCollegeofElectricalandInformationEngineering,Changchun130022,China;2.ChangchunUniversityofScienceandTechnologyFundammontalScienceonSpace-GroundLaser
Due to the need of the special illumination condition can not be met by the traditional automatic exposure algorithm, a digital camera automatic exposure system is designed using FPGA as the control core in research of the basic work principle and characteristic of digital camera, and a new automatic exposure algorithm for image based on entropy is presented. The digital camera which works in the external trigger mode transmits image data through camera link interface. FPGA completes high frame rate digital image acquisition, data cache control by high speed parallel characteristics and comprehensively analysis of the principle and process of image partition automatic exposure algorithm based on image entropy. It gives the realization method of the specific algorithm and finally draws to appropriate exposure parameter. Experiments prove that the exposure result of the proposed algorithm is not only suitable for general illumination, but also in the special illumination condition. The system is not affected by light conditions, and even improves the dynamic range of the camera system of the output image.
image entropy;automatic exposure; FPGA; CCD; external trigger mode
【本文獻信息】仵宗欽,劉鵬.基于FPGA的數字相機自動曝光技術研究[J].電視技術,2015,39(11).
總裝備部靶場測試基金項目(KYC-XZ-XM-2014-015)
TN98
A
10.16280/j.videoe.2015.11.027
2015-03-17