仵宗欽,劉 鵬
(1.長春理工大學(xué) 電子信息工程學(xué)院, 吉林 長春 130022;2.長春理工大學(xué) 空地激光通信技術(shù)國防重點(diǎn)學(xué)科實(shí)驗(yàn)室,吉林 長春 130022)
基于FPGA的數(shù)字相機(jī)自動曝光技術(shù)研究
仵宗欽1,劉 鵬2
(1.長春理工大學(xué) 電子信息工程學(xué)院, 吉林 長春 130022;2.長春理工大學(xué) 空地激光通信技術(shù)國防重點(diǎn)學(xué)科實(shí)驗(yàn)室,吉林 長春 130022)
針對傳統(tǒng)的自動曝光算法不能滿足特殊光照條件的場合,在研究數(shù)字相機(jī)的工作原理及特點(diǎn)的基礎(chǔ)上,實(shí)現(xiàn)一種以現(xiàn)場可編程邏輯器件(FPGA)為控制核心的數(shù)字相機(jī)自動曝光系統(tǒng),提出了基于圖像熵的一種新的自動曝光算法。工作在外觸發(fā)下的數(shù)字相機(jī)通過CameraLink接口作為圖像數(shù)據(jù)的輸入,利用FPGA的高速并行性完成了數(shù)字圖像數(shù)據(jù)的采集、數(shù)據(jù)流的緩存控制,并且綜合分析了基于圖像熵的圖像分區(qū)自動曝光算法的原理和過程,給出了該算法具體的實(shí)現(xiàn)方法,最后將得出的曝光參數(shù)輸出給相機(jī)以達(dá)到合適的曝光。經(jīng)實(shí)驗(yàn)驗(yàn)證:該算法的曝光效果不但適用于普通光照,而且在特殊光照條件下同樣能很好的曝光,不受光照條件的影響,提高了相機(jī)系統(tǒng)輸出圖像的動態(tài)范圍。
圖像熵;自動曝光; FPGA;CCD;外觸發(fā)方式
CommunicationTechnologyLaboratory,Changchun130022,China)
現(xiàn)代圖像技術(shù)的發(fā)展,尤其是CCD[1-2](Charge Coupled Device)水平的不斷提高,使得它在軍事、工業(yè)等領(lǐng)域有重要的應(yīng)用,但并不是所有的相機(jī)都有自動曝光功能,對于動態(tài)范圍大且相機(jī)品質(zhì)優(yōu)良,但卻不能保證圖像質(zhì)量的情況下,利用CCD的自動曝光能力來改善圖像無疑是一個最好的方法和手段,目前通常的數(shù)字相機(jī)帶有自動曝光功能的有很多,但是這種自動曝光是通用化的,這種通用化的自動曝光算法有時候?qū)σ恍┨厥獾能娛滦枨蟛⒉缓线m,另外對一些特殊的相機(jī),由于它們的通用性不高,往往不帶自動曝光算法,如相機(jī)RA-1000。因此,有必要對自動曝光技術(shù)進(jìn)行研究。
另外,在一些復(fù)雜的環(huán)境下,如當(dāng)目標(biāo)處于特殊背景光時,圖像中背景的亮度與主體的亮度相差較大,圖像整體亮度偏暗或偏亮,顯示效果較差。同樣對于海上的目標(biāo),由于海水的反射作用使得圖像中背景與主體有較大亮度的對比度,影響圖像的顯示效果,嚴(yán)重的情況下圖像中的目標(biāo)可能丟失,也需要相機(jī)的自動曝光來改善圖像的質(zhì)量。
系統(tǒng)的總體框圖如圖1所示。系統(tǒng)的基本硬件主要包括以下部分:圖像采集、主控單元、數(shù)據(jù)緩存、圖像傳輸以及電源模塊。
圖1 系統(tǒng)總體框圖
系統(tǒng)中,數(shù)字相機(jī)選用CMCB-140MCL,相機(jī)采集的圖像信號經(jīng)CameraLink電平轉(zhuǎn)換電路,輸出LVTTL電平信號送給FPGA接收,F(xiàn)PGA把接收到的圖像信息移交給算法處理,算法計算出下次圖像的曝光時間,此曝光時間就是CCD的積分時間,快門在下降沿觸發(fā)采集一幀圖像,低電平的寬度大小代表曝光時間的長短,也即CCD的積分時間。每次圖像的曝光時間都是由上幅圖像計算而得來,這樣就能夠?qū)崟r地對目標(biāo)進(jìn)行適當(dāng)?shù)钠毓?,使圖像達(dá)到最佳。乒乓數(shù)據(jù)緩存電路是為視頻流能無縫隙地輸出而設(shè)計的,保證了每幅圖像的實(shí)時處理并給顯示系統(tǒng)。
2.1 Camera Link接口轉(zhuǎn)換電路設(shè)計
Camera Link信號主要包括圖像數(shù)據(jù)信號、相機(jī)控制信號和串行通信信號3個部分[3-4]。其中圖像數(shù)據(jù)信號是主要部分,包括1對差分時鐘信號(Xclk-~Xclk+)和4對差分?jǐn)?shù)據(jù)信號(X0-~X0+、X1-~X1+、X2-~X2+、X3-~X3+)。系統(tǒng)工作流程為:相機(jī)輸出的信號經(jīng)過Camera Link電纜傳輸?shù)桨迳系?6芯接插件,由DS90CR288芯片將LVDS信號轉(zhuǎn)換為FPGA能識別的LVTTL電平,并分離出圖像數(shù)據(jù)和3個視頻控制信號LVAL,DVAL,F(xiàn)VAL;FPGA通過DS90LV47A芯片對相機(jī)的工作模式進(jìn)行控制,本系統(tǒng)使其工作在外觸發(fā)模式,通過FPGA產(chǎn)生外觸發(fā)信號,驅(qū)動相機(jī)抓拍一副圖像;相機(jī)可以和FPGA進(jìn)行串行通信,相機(jī)的初始化以及內(nèi)外觸發(fā)等配置是通過串行完成的,DS90LV019芯片將相機(jī)輸出的LVDS電平轉(zhuǎn)換為LVTTL電平后直接和FPGA通過2根信號線(一發(fā)一收)相連,F(xiàn)PGA內(nèi)部的串口模塊按照一定的通信格式和相機(jī)通信。Camera Link接口驅(qū)動電路如圖2所示。
圖2 Camera Link接口驅(qū)動電路
28位的圖像數(shù)據(jù)包括4位控制信號和24位圖像數(shù)據(jù)信號,其中4位控制信號包括:
1)FVAL(幀同步信號),為高則幀數(shù)據(jù)有效。
2)LVAL(行同步信號),在FVAL為高時,為高則行數(shù)據(jù)有效。
3)DVAL(數(shù)據(jù)有效信號),在FVAL和LVAL都為高時,為高則數(shù)據(jù)有效。
4)XCLK(圖像像素時鐘信號),行有效時,在時鐘上升沿數(shù)據(jù)穩(wěn)定。
2.2 乒乓緩存電路設(shè)計
FPGA自身的存儲能力有限,但采集到的相機(jī)數(shù)據(jù)量非常大,故必須對數(shù)據(jù)流進(jìn)行緩存,防止因處理數(shù)據(jù)時無法連續(xù)接收而丟失部分?jǐn)?shù)據(jù)。系統(tǒng)選擇乒乓操作來緩沖圖像數(shù)據(jù),以2片動態(tài)隨機(jī)存儲器SDRAM(Synchronous Dynamic Random Access Memory)作為緩沖體,SDRAM具有價格低廉、存儲容量大、高速等特點(diǎn)[5],符合系統(tǒng)高速大容量緩沖數(shù)據(jù)的要求。乒乓緩沖電路設(shè)計如圖3所示。
圖3 乒乓緩沖電路設(shè)計
從整體來看,數(shù)據(jù)的輸入與輸出都是連續(xù)的,無任何停頓。乒乓操作實(shí)現(xiàn)數(shù)據(jù)緩沖的實(shí)質(zhì)是:通過SDRAM這種緩存單元,實(shí)現(xiàn)了數(shù)據(jù)流的串并轉(zhuǎn)換。
自動曝光是通過系統(tǒng)對所拍攝物體進(jìn)行自動曝光的。自動曝光原理主要包含自動曝光的實(shí)現(xiàn)方式和自動曝光依據(jù)。
3.1 兩種自動曝光方法
自動曝光大多采用光學(xué)或電子學(xué)方式[6-7]。光學(xué)方式采用兩個傳感器,一個用來測光照度,另一個傳感器用來測圖像,成像與測光單獨(dú)處理。而電子學(xué)用一個傳感器同時測光照度與圖像。
光學(xué)方法分為內(nèi)測光與外測光。外測光是將測光傳感器放于圖像傳感器上方或斜上方,如圖4a所示,這種測光方式由于測光傳感器與圖像傳感器存在視角的不同,會造成一定的誤差,測量精度小,要求不高的場合可用此方式;內(nèi)測光是將測光傳感器放于鏡頭之后,如圖4b所示,這種測光不存在視角的誤差,測量精度高,但這種方式結(jié)構(gòu)復(fù)雜,成本較高,不宜選用。電子學(xué)測光方式無需增加測光傳感器,首先預(yù)設(shè)一個自動曝光參數(shù),獲得第一幅圖像后,算法對其進(jìn)行亮度分析,計算出下一幅自動曝光參數(shù),按此方法,以后每幅圖像的曝光參數(shù)都是經(jīng)過分析上幅圖像的亮度信息計算而來。電子學(xué)方式成本低,結(jié)構(gòu)簡單,測量精度高,且能滿足實(shí)時性的要求,故本系統(tǒng)選用電子學(xué)方式。
圖4 光學(xué)方式
3.2 自動曝光依據(jù)
3.2.1 “中間亮度”標(biāo)準(zhǔn)
物體在18%的反射率下亮度顯示最佳。這種標(biāo)準(zhǔn)對于普通光照條件下拍攝的圖像具有較好的效果,然而對于特殊光照條件下時,雖然整幅圖像達(dá)到了中間亮度,但目標(biāo)和背景的對比度比較大,圖像中目標(biāo)區(qū)域可能曝光過度或曝光不足,會造成目標(biāo)的不清晰。
3.2.2 “中間亮度”標(biāo)準(zhǔn)
一幅圖像中,圖像的灰度分布情況可以反映不同的圖像質(zhì)量,灰度直方圖在各個灰度值上分布越均勻,圖像對應(yīng)的動態(tài)范圍就越寬,圖像自然就越清晰。在這里用圖像熵來定義灰度直方圖的均勻性[8]。
(1)
科學(xué)研究表明:同樣條件下,圖像熵值越大,圖像的灰度直方圖分布越均勻,圖像越清晰。如對一個8 bit的圖像信息,當(dāng)灰度0~255每個值出現(xiàn)的概率相當(dāng)時,直方圖分布最均勻,圖像熵最大(為8),圖像處于理想清晰。圖像熵不同于“中間亮度”,它在不同光照條件下(包括前述特殊光照條件)均適用。無論是強(qiáng)正面光還是強(qiáng)背景光都能很好的曝光,清晰地顯示出目標(biāo)圖像。
4.1 圖像熵值大小決定目標(biāo)區(qū)域及權(quán)重
依據(jù)視覺特性,人們力圖獲得最大量的信息。圖像中灰度級越均勻的為感興趣區(qū)域即主體,相反,灰度級越不均勻的為不感興趣區(qū)域?;凇爸虚g灰度”標(biāo)準(zhǔn)的算法是對整幅圖像的灰度求其平均,自動曝光的結(jié)果是對整幅圖像而言的,對于普通光照條件結(jié)果比較理想。而對于特殊光照條件,會造成曝光不理想。如果知道圖像中感興趣區(qū)域[9-10],依據(jù)該區(qū)域的值進(jìn)行曝光設(shè)置,則能對數(shù)字相機(jī)更好地自動曝光。
本文就圖像熵開發(fā)了基于圖像熵的圖像分區(qū)自動曝光算法。對圖像首先分成各個區(qū)域,比較各個區(qū)域熵值大小把這些區(qū)域分為兩類,一類為感興趣區(qū)域,另一類為非感興趣區(qū)域,同時,對這些區(qū)域根據(jù)熵值大小對照權(quán)重曲線進(jìn)行分配權(quán)重,進(jìn)而對數(shù)字相機(jī)準(zhǔn)確曝光,這是本文的創(chuàng)新點(diǎn)。該方法不但適用于普通光照,而且對于特殊光照(強(qiáng)光和逆光)和場景中有多個目標(biāo)的情況仍然能正確地自動曝光,使主體區(qū)域或目標(biāo)清晰地呈現(xiàn)在圖像上。
4.2 依據(jù)圖像熵獲得加權(quán)亮度
圖像熵表示不確定性,值越大,所含信息量就越多,自然就是感興趣區(qū)域。為了更好地獲知感興趣區(qū)域,將圖像平均分成m×n份,所分區(qū)域不是越多越好,如果太多,所分區(qū)域就越小,這時噪聲可能占據(jù)主要成分,不能夠更好地反映圖像信息。分好區(qū)域后由前述圖像熵計算公式算出每個區(qū)域圖像熵Eij,求出平均圖像熵
(2)
如果某一區(qū)域的圖像熵Eij大于整體平均值Eavg,該區(qū)域可能是圖像中的目標(biāo)區(qū)域;如果某一區(qū)域的圖像熵Eij小于整體平均值Eavg,該區(qū)域可能是圖像中的背景區(qū)域。對大于平均值的區(qū)域在計算該區(qū)域亮度時分配高的權(quán)重,小于平均值的區(qū)域在計算該區(qū)域亮度時分配低的權(quán)重,熵越大,亮度分配的權(quán)重越高,依照圖5權(quán)重分配曲線進(jìn)行分配權(quán)重,橫坐標(biāo)代表最大圖像熵與最小圖像熵的差,縱坐標(biāo)代表權(quán)重。
圖5 權(quán)重分配曲線
加權(quán)后的圖像亮度為
(3)
式中:Bij為各區(qū)域亮度;WRONI為相應(yīng)區(qū)域的權(quán)重;分母為總權(quán)重。同樣的曝光值可以由不同的光圈和快門得到,圖像亮度的表達(dá)式為
B=k×L×G×T×(F/d)-2
(4)
式中:k為一系數(shù);L為環(huán)境亮度;G為增益;T為曝光時間;F/d為光圈。由此可知參考亮度Bopt和當(dāng)前亮度Bcur表達(dá)式為
Bopt=k×L×G×Topt×(F/d)-2
(5)
Bcur=k×L×G×Tcur×(F/d)-2
(6)
式中:Topt為下次曝光時間;Tcur為當(dāng)前曝光時間;Bopt參考亮度為128,由以上公式得到
Topt=Tcur×Bopt/Bcur
(7)
這樣便可以計算出下次的曝光時間,此時間參數(shù)由FPGA通過Camera Link傳輸給相機(jī),相機(jī)以此參數(shù)作為曝光的積分時間,來達(dá)到自動曝光的效果??偟乃惴鞒倘鐖D6所示(Eth為平均熵)。
圖6 算法流程圖
本文采用Altera公司的CYCLONE IV系列芯片EP4CE55F23I7作為系統(tǒng)的主控和處理核心[11],同時使用Altera公司的FPGA集成開發(fā)環(huán)境QuartusII作為本系統(tǒng)開發(fā)環(huán)境,該開發(fā)環(huán)境自帶仿真功能,它可以完全模擬實(shí)體芯片的功能和運(yùn)行特性,幫助設(shè)計人員判斷所設(shè)計模塊的功能正確與否。
按照前述算法通過用硬件描述語言Verilog HDL編寫代碼,連接好電路后,把程序通過JTAG下載到FPGA中,對環(huán)境中的景物分別做自動曝光前和自動曝光后拍攝,并通過MATLAB對圖像進(jìn)行灰度直方圖統(tǒng)計及圖像熵計算,結(jié)果如圖7和圖8所示。
圖7為強(qiáng)背景光下自動曝光圖,可以看出經(jīng)過自動曝光算法后的圖像能夠清晰地顯示出目標(biāo)圖像,灰度直方圖分布也相對均勻,圖像熵與理想值相差不多;圖8為弱背景光下自動曝光圖,同樣可以看出經(jīng)過自動算法后的圖像也能夠清晰地顯示出目標(biāo)圖像,灰度直方圖相對均勻,圖像熵與理想值接近。理論和結(jié)果正面該算法不僅適用于普通光照,對于特殊光照(強(qiáng)背景光和弱背景光)也能夠很好的曝光,提高目標(biāo)在圖像中的對比度,更加清晰地顯示出目標(biāo)。
圖7 強(qiáng)背景光下自動曝光前后圖像及灰度直方圖
圖8 弱背景光下自動曝光前后圖像及灰度直方圖
本系統(tǒng)通過數(shù)字相機(jī)采集圖像,在研究了自動曝光的原理及圖像熵的基礎(chǔ)上,提出了一種自動曝光的新算法,該算法不僅適用于普通光照條件,還能很好地適用于特殊光照條件。系統(tǒng)詳細(xì)介紹了CameraLink接口驅(qū)動電路、乒乓緩存電路及自動曝光算法的流程,并通過實(shí)驗(yàn)驗(yàn)證了該方法的可行性。實(shí)驗(yàn)結(jié)果表明,采用基于圖像熵的圖像分區(qū)自動曝光算法可準(zhǔn)確地對不同光照條件下的目標(biāo)進(jìn)行曝光,可用在不同的應(yīng)用領(lǐng)域。
[1] 王濤.線陣CCD傳感器實(shí)驗(yàn)場幾何定標(biāo)的理論與方法研究[D]. 鄭州:解放軍信息工程大學(xué),2012.
[2] 華磊. 基于CCD的圖像采集系統(tǒng)設(shè)計與實(shí)現(xiàn)[D]. 西安:西安電子科技大學(xué),2012.
[3] 韓紅霞,鐘子晶. 基于FPGA的CameraLink視頻信號分配系統(tǒng)設(shè)計[J].微計算機(jī)信息,2010,26(17):8-9.
[4] 吳振鋒.基于FPGA的CameraLink相機(jī)圖像采集及處理技術(shù)研究[D].哈爾濱:哈爾濱工業(yè)大學(xué),2013.[5] 仵宗欽,王曉曼,劉鵬,等. 基于FPGA的SDRAM控制器設(shè)計與實(shí)現(xiàn)[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] 梁佳毅.高性能數(shù)碼相機(jī)自動曝光算法研究與實(shí)現(xiàn)[D]. 上海:復(fù)旦大學(xué),2008.
[8] 行長印,毛亞杰,楊立宏.基于圖像熵的自動曝光設(shè)計[J]. 長春理工大學(xué)學(xué)報:自然科學(xué)版,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] 周杰.基于多分區(qū)分割及模糊邏輯的自動曝光算法[D]. 上海:上海交通大學(xué),2007.
[11] ALTERA. Cyclone device handbook [EB/OL].[2013-03-15]. HYPERLINK http://www.altera.com/.
仵宗欽(1989— ),碩士生,主研光電傳感與光電探測技術(shù);
劉 鵬(1982— ),博士生,主研信息檢測與處理技術(shù)。
責(zé)任編輯:閆雯雯
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
【本文獻(xiàn)信息】仵宗欽,劉鵬.基于FPGA的數(shù)字相機(jī)自動曝光技術(shù)研究[J].電視技術(shù),2015,39(11).
總裝備部靶場測試基金項(xiàng)目(KYC-XZ-XM-2014-015)
TN98
A
10.16280/j.videoe.2015.11.027
2015-03-17