孫少偉,楊粵濤,楊炳偉,萬(wàn)安軍,鐘海林
基于FPGA的紅外鏡頭自動(dòng)聚焦技術(shù)研究與實(shí)現(xiàn)
孫少偉,楊粵濤,楊炳偉,萬(wàn)安軍,鐘海林
(蘇州長(zhǎng)風(fēng)航空電子有限公司,江蘇 蘇州 215001)
自動(dòng)聚焦技術(shù)在紅外熱像儀監(jiān)控領(lǐng)域有著非常重要的作用。目前業(yè)內(nèi)紅外自動(dòng)聚焦技術(shù)存在聚焦成功率低、架構(gòu)復(fù)雜、聚焦速度慢等狀況,為此提出了一種基于FPGA的紅外鏡頭自動(dòng)聚焦技術(shù),采用單FPGA實(shí)現(xiàn)了紅外圖像處理顯示和自動(dòng)聚焦的功能。鑒于紅外圖像普遍存在豎條紋噪聲和隨機(jī)噪聲等特點(diǎn),本文在實(shí)現(xiàn)聚焦過(guò)程中對(duì)紅外清晰度評(píng)價(jià)算法和爬山算法做了改進(jìn)和優(yōu)化。實(shí)驗(yàn)結(jié)果表明本文提出的算法和實(shí)現(xiàn)方式能夠很好地實(shí)現(xiàn)紅外鏡頭的自動(dòng)聚焦,同時(shí)具備集成度高、聚焦速度快、成功率高等特點(diǎn),有比較廣泛的應(yīng)用前景。
紅外;自動(dòng)聚焦;FPGA;清晰度評(píng)價(jià);爬山算法
紅外熱成像技術(shù)近些年在國(guó)防、戰(zhàn)爭(zhēng)、探測(cè)、監(jiān)測(cè)等領(lǐng)域有著十分廣泛的應(yīng)用。對(duì)于應(yīng)用在邊海防的熱像監(jiān)控儀來(lái)說(shuō),使用過(guò)程中紅外轉(zhuǎn)臺(tái)需要固定周期的旋轉(zhuǎn)定位來(lái)達(dá)到巡視目的,每次轉(zhuǎn)動(dòng)到新的位置對(duì)應(yīng)新的場(chǎng)景需要重新聚焦來(lái)得到清晰的畫(huà)面顯示,因此紅外熱像儀的自動(dòng)聚焦功能能夠大大方便操作者的觀察和使用。
相比于可見(jiàn)白光成像技術(shù),紅外成像技術(shù)根據(jù)被觀測(cè)物體本身的發(fā)熱實(shí)現(xiàn)對(duì)被觀測(cè)物的成像,由于其成像原理跟可見(jiàn)白光成像原理不一致,因此紅外成像技術(shù)與白光成像技術(shù)在實(shí)現(xiàn)上有一定的差異?;趫D像實(shí)現(xiàn)自動(dòng)聚焦技術(shù)在白光畫(huà)面處理中已經(jīng)非常成熟了,文獻(xiàn)[1]和文獻(xiàn)[2]中,作者分別使用PC和FPGA完成了基于可見(jiàn)白光畫(huà)面的鏡頭自動(dòng)聚焦。
在實(shí)際應(yīng)用中,由于紅外探測(cè)成像儀的性能受到紅外探測(cè)器、模數(shù)轉(zhuǎn)換電路、結(jié)構(gòu)散熱、光學(xué)鏡頭等諸多因素影響,傳統(tǒng)的白光圖像自動(dòng)聚焦技術(shù)在紅外畫(huà)面的自動(dòng)聚焦上效果很差。因此要針對(duì)紅外畫(huà)面自身的特點(diǎn)(存在豎條紋現(xiàn)象、噪聲過(guò)高等)提出一種自動(dòng)聚焦技術(shù)。本文提出一種基于FPGA的紅外鏡頭自動(dòng)聚焦技術(shù),相比于文獻(xiàn)[3],針對(duì)紅外畫(huà)面豎條紋的特點(diǎn)改進(jìn)了圖像質(zhì)量評(píng)判的算法,相比于文獻(xiàn)[4],針對(duì)紅外圖像噪聲大的特點(diǎn)優(yōu)化了爬山算法來(lái)實(shí)現(xiàn)鏡頭控制,相比于文獻(xiàn)[5],本文不依賴(lài)于上位機(jī)的參與,完全由FPGA本身實(shí)現(xiàn)圖像采集、圖像優(yōu)化、圖像清晰度評(píng)估、爬山算法實(shí)現(xiàn)、電機(jī)控制等工作,大大提高了熱像儀整機(jī)的集成度。
本文提出的具備自動(dòng)聚焦功能的熱像儀實(shí)物如圖1所示。主要組成部分包括紅外鏡頭、紅外探測(cè)器、圖像處理電路、FPGA電路、DDR3、電機(jī)驅(qū)動(dòng)電路以及調(diào)焦電機(jī)和調(diào)焦機(jī)構(gòu)(機(jī)械齒輪)。
圖1 自動(dòng)聚焦紅外熱像儀實(shí)物圖
紅外熱像儀的主要架構(gòu)如圖2所示。
圖2 紅外熱像儀主要架構(gòu)
從圖2中可以看出整個(gè)熱像儀的組成架構(gòu),熱像儀的工作流程如下。
1)光線通過(guò)紅外鏡頭進(jìn)入到紅外探測(cè)器焦平面,紅外鏡頭能夠通過(guò)的光譜有效波長(zhǎng)為8~12mm,可以將可見(jiàn)白光濾掉。
2)紅外焦平面將紅外光轉(zhuǎn)化為電信號(hào),本次選用的紅外焦平面能夠成像的有效分辨率為720×576。
3)紅外焦平面輸出的信號(hào)為模擬視頻信號(hào),電路中需要將其進(jìn)行數(shù)模轉(zhuǎn)換,用AD轉(zhuǎn)換芯片AD9251實(shí)現(xiàn)將紅外模擬信號(hào)轉(zhuǎn)換為奇偶各14bit的數(shù)字視頻數(shù)據(jù)。
4)奇偶數(shù)據(jù)需要在FPGA內(nèi)部進(jìn)行重組,然后對(duì)紅外畫(huà)面進(jìn)行非均勻校正、圖像增強(qiáng)、去豎條紋、溫度補(bǔ)償?shù)群笃趫D像處理,這一部分不是本文的重點(diǎn),不多討論。
這一步中,需要將步驟3)生成的奇偶數(shù)據(jù)逐行拼接成一幅完整的畫(huà)面,圖像中每一行相鄰的兩個(gè)像素的灰度值來(lái)自不同的源(奇偶通道),在成像中會(huì)產(chǎn)生“豎條紋”現(xiàn)象。豎條紋在紅外成像中普遍存在,在本步驟環(huán)節(jié)FPGA對(duì)畫(huà)面進(jìn)行優(yōu)化處理,消除豎條紋帶來(lái)的干擾,使整幀畫(huà)面顯示更加平緩流暢。
5)處理好的圖像數(shù)據(jù)通過(guò)外部電路編碼成PAL制視頻格式直接輸出到顯示器,也可以通過(guò)網(wǎng)絡(luò)壓縮編碼到服務(wù)器端進(jìn)行顯示。
對(duì)于自動(dòng)聚焦來(lái)說(shuō),需要依賴(lài)于這一步生成的圖像數(shù)據(jù)進(jìn)行。
6)根據(jù)5)生成的圖像,進(jìn)行圖像清晰度評(píng)價(jià)。FPGA對(duì)并行數(shù)據(jù)有強(qiáng)大的處理能力,因此選用梯度能量算法進(jìn)行清晰度評(píng)價(jià)。常用的梯度能量算法需要對(duì)整幅畫(huà)面的所有像元做數(shù)據(jù)處理,計(jì)算量比較大,同時(shí)處理時(shí)間長(zhǎng)。本文提出了一種改進(jìn)的梯度能量算法來(lái)評(píng)價(jià)成像清晰度,具體見(jiàn)第2章。
7)FPGA的PL端將圖像清晰度評(píng)價(jià)的結(jié)果交給下一個(gè)環(huán)節(jié)處理。對(duì)于這一步,文獻(xiàn)[5]的設(shè)計(jì)里整個(gè)6)和7)都依賴(lài)于上位機(jī)的PC實(shí)現(xiàn)。本文則是繼續(xù)在FPGA內(nèi)部實(shí)現(xiàn)根據(jù)清晰度來(lái)進(jìn)行自動(dòng)調(diào)焦。
8)FPGA的PL端根據(jù)清晰度評(píng)價(jià)數(shù)據(jù)采用爬山算法實(shí)現(xiàn)對(duì)電機(jī)的控制,進(jìn)而調(diào)整鏡頭焦距,最終得到清晰的畫(huà)面,完成聚焦。
爬山算法在可見(jiàn)光成像自動(dòng)聚焦中有比較廣泛的應(yīng)用,但是由于紅外圖像本身噪聲大,豎條紋多,在爬山過(guò)程中會(huì)出現(xiàn)“偽山頂”狀態(tài)?!皞紊巾敗钡拇嬖跁?huì)直接導(dǎo)致自動(dòng)聚焦的失敗,為此本文針對(duì)爬山算法做了優(yōu)化和改進(jìn),具體見(jiàn)第3章。
概括起來(lái),自動(dòng)調(diào)焦的實(shí)現(xiàn)流程如圖3所示,整個(gè)過(guò)程是一個(gè)閉環(huán)反饋的過(guò)程,需要反復(fù)的調(diào)整優(yōu)化,最終達(dá)到圖像的最清晰狀態(tài),即聚焦?fàn)顟B(tài)。
本文采用Xillinx公司的ZYNQ系列FPGA- FXC7Z030-2FBG676實(shí)現(xiàn)上述4)~8)步。ZYNQ內(nèi)部分為PL端和PS端,其中PL端為可編程邏輯門(mén)陣列,用來(lái)實(shí)現(xiàn)圖像處理和清晰度評(píng)價(jià),PS端內(nèi)部為ARM核,用來(lái)實(shí)現(xiàn)爬山算法和電機(jī)控制。同時(shí)FPGA外部配置兩片DDR3,型號(hào)為Micron公司的MT41J128M16HA,單片容量256MB,兩片容量512MB,用于緩存視頻畫(huà)面數(shù)據(jù)。
圖3 自動(dòng)聚焦流程
文獻(xiàn)[6]中對(duì)清晰度評(píng)判算法做了全面具體地介紹,結(jié)合紅外圖像的特性以及FPGA實(shí)現(xiàn)難易程度。本文采用梯度能量算法來(lái)對(duì)圖像清晰度進(jìn)行評(píng)判。
如圖4所示,對(duì)圖像素3×3掩模區(qū)域內(nèi)的像素灰度值做平方差和處理。
圖4 利用3×3掩碼計(jì)算梯度能量
對(duì)于圖中像素點(diǎn)(,),定義其能量值為(,)為其周邊8個(gè)相鄰像素灰度值與其差的平方和。如公式(1)所示:
(,)=((-1,-1)-(,))2+[(,-1)-(,)]2+[(+1,-1)-(,)]2+[(-1,)-(,)]2+[(+1,-1)-(,)]2+((-1,+1)-(,))2+[(,+1)-(,)]2+[(+1,+1)-(,)]2(1)
將所有的像素灰度差方和累計(jì)相加得到一幅圖像的梯度能量值為:
對(duì)于清晰度高的畫(huà)面,由于其圖像細(xì)節(jié)比較多,因此梯度能量值value會(huì)是一個(gè)比較大的數(shù)值。對(duì)于模糊的畫(huà)面,每個(gè)像素值都差別不大,value的值也很小。對(duì)于一幅單像素畫(huà)面(所有像素值都一樣)來(lái)說(shuō),value=0。
所以,value數(shù)值大小能夠反映圖像細(xì)節(jié)的程度,進(jìn)而反映出一幅圖像畫(huà)面的清晰度。梯度能量算法能夠評(píng)價(jià)出圖像的清晰度,本文采用該算法評(píng)估紅外畫(huà)面的清晰度。
2.1節(jié)中提及的梯度能量對(duì)于評(píng)價(jià)可見(jiàn)白光畫(huà)面清晰度有很好的結(jié)果,但是由于紅外畫(huà)面是奇偶列數(shù)據(jù)拼接而成(1.2節(jié)提及到的第3步),因此左右相鄰像素灰度值差別很大,直接采用傳統(tǒng)的梯度能量評(píng)價(jià)算法實(shí)施的聚焦效果不佳。本文針對(duì)這種現(xiàn)象對(duì)算法做了一定的改進(jìn),使用3×5掩模而不是3×3掩模,這樣能夠避免不同視頻源的畫(huà)面像素帶來(lái)的差異,將豎條紋帶來(lái)的噪聲降到最小。
同時(shí)鑒于熱像儀自動(dòng)聚焦對(duì)時(shí)間的要求,本文采用的梯度能量計(jì)算沒(méi)有對(duì)整幅畫(huà)面像素值進(jìn)行計(jì)算,而是取了中間1/3區(qū)域的像素進(jìn)行計(jì)算,這樣計(jì)算量為整幅畫(huà)面計(jì)算量的1/9。經(jīng)過(guò)大量的實(shí)驗(yàn)驗(yàn)證,采取畫(huà)面中心1/3區(qū)域計(jì)算完成的自動(dòng)聚焦效果跟整幅畫(huà)面計(jì)算的效果一致。
改進(jìn)的掩模與中心區(qū)域選擇示意見(jiàn)圖5。
圖5 在1/3中心窗格內(nèi)選用3×5掩模示意圖
FPGA的PL端使用FIFO和寄存器實(shí)現(xiàn)掩模窗口9個(gè)數(shù)據(jù)的緩存。在PL端的程序中需要完成①設(shè)計(jì)FIFO讀寫(xiě)控制信號(hào)的時(shí)序;②緩存3×5掩模的數(shù)據(jù);③計(jì)算單個(gè)像素點(diǎn)3×5掩模的方差和,輸出該數(shù)據(jù)。
FPGA內(nèi)部對(duì)FIFO讀寫(xiě)控制示意圖如圖6所示。當(dāng)?shù)谝恍袛?shù)據(jù)到來(lái)時(shí),將其寫(xiě)入FIFO1中;當(dāng)?shù)诙袛?shù)據(jù)到來(lái)時(shí),將FIFO1中保存的第一行數(shù)據(jù)讀出,寫(xiě)入FIFO2中,同時(shí)將第二行數(shù)據(jù)寫(xiě)入到FIFO2中;當(dāng)?shù)谌袛?shù)據(jù)到來(lái)時(shí),同時(shí)讀出FIFO1和FIFO2中的數(shù)據(jù),此時(shí),第三行數(shù)據(jù)與FIFO1、FIFO2中保存的第一行和第二行數(shù)據(jù)一同進(jìn)入其后的寄存器組REG1~REG9。REG1~REG9的數(shù)據(jù)分別代表3×3掩模內(nèi)(-2,-1),(,-1),(+2,-1),(-2,),(,),(+2,),(-2,+1),(,+1),(+2,+1)9個(gè)點(diǎn)。
圖6 利用FIFO和寄存器緩存3×3掩模數(shù)據(jù)
根據(jù)圖6中的REG1~REG9寄存器中的9個(gè)數(shù)據(jù),F(xiàn)PGA計(jì)算REG5中像素點(diǎn)與其余8個(gè)寄存器所對(duì)應(yīng)的像素點(diǎn)灰度值的方差(公式(1))。由于改進(jìn)算法只對(duì)中間1/3區(qū)域進(jìn)行計(jì)算,因此程序設(shè)置列計(jì)數(shù)器和行計(jì)數(shù)器對(duì)一幀畫(huà)面的行列進(jìn)行計(jì)數(shù),當(dāng)列計(jì)數(shù)器計(jì)數(shù)到241~480以及行計(jì)數(shù)器計(jì)數(shù)到193~384的范圍內(nèi)(此范圍即對(duì)于720×576分辨率的畫(huà)面,1/3中心區(qū)域像素點(diǎn)的范圍)時(shí),認(rèn)為像素?cái)?shù)據(jù)可以進(jìn)行計(jì)算。對(duì)此范圍內(nèi)的所有像素點(diǎn)的方差值進(jìn)行累加,最終得到32bit的梯度能量值(公式(2))。
按照前面介紹的理論,該32bit數(shù)值越大表明圖像越清晰,為后面實(shí)現(xiàn)調(diào)焦提供爬山依據(jù)。
文獻(xiàn)[7]中對(duì)爬山算法有比較詳細(xì)的介紹。如圖7所示,爬山算法的基本原理是不斷逼近最大梯度能量值的一個(gè)過(guò)程,從圖3自動(dòng)聚焦流程圖中可以看出,每一次調(diào)焦后圖像都會(huì)發(fā)生變化,梯度能量也隨之變化,在這個(gè)不斷的變化過(guò)程中,找到最大的梯度能量值,即為圖像最清晰的時(shí)刻。這個(gè)最清晰畫(huà)面對(duì)應(yīng)的鏡頭位置即為聚焦位置。
從圖7的示意中可以看出,聚焦過(guò)程共爬山8步。其中前3步一直處于“上山”過(guò)程,第4、5步處于“下山”過(guò)程,這時(shí)畫(huà)面已經(jīng)比之前第3步后變差,因此第6、7步又開(kāi)始“回頭爬山”。在第7步后已經(jīng)過(guò)了山頂,因此改變步長(zhǎng),最終第8步爬到了“山頂”,完成聚焦工作。
圖7 爬山算法示意
實(shí)際工作中,爬山過(guò)程往往8次嘗試之內(nèi)可以完成,期間需要不斷的調(diào)整步長(zhǎng)來(lái)達(dá)到聚焦的目的。
圖7所示為白光畫(huà)面下爬山的實(shí)現(xiàn),相對(duì)來(lái)說(shuō)是比較理想的一個(gè)過(guò)程。對(duì)于存在比較大噪聲的紅外圖像來(lái)說(shuō),爬山過(guò)程中會(huì)出現(xiàn)多個(gè)“山頂”的情況,如圖8所示。
圖8 紅外圖像聚焦的爬山示意
圖8中的A、B和D為“偽山頂”,是由紅外圖像中的噪聲引起的。按照爬山的標(biāo)準(zhǔn)流程,從鏡頭初始位置開(kāi)始爬山,很容易將A初誤判為山頂,這時(shí)就無(wú)法達(dá)到聚焦的目的。為此本文對(duì)紅外圖像自動(dòng)聚焦的爬山算法做了如下優(yōu)化處理。
1)FPGA的PS端接收PL端傳輸?shù)奶荻饶芰恐祦?lái)判斷是否爬山。為了減少噪聲的影響,每接收3個(gè)值做一個(gè)平均值作為爬山的依據(jù),即對(duì)一個(gè)固定畫(huà)面計(jì)算三次梯度能量值取平均值,這樣能夠減少隨機(jī)噪聲對(duì)畫(huà)面清晰度評(píng)判的影響。
2)對(duì)于是否“回頭爬山”的判斷機(jī)制,判定在當(dāng)前的步長(zhǎng)下,連續(xù)兩次都為“下山”則開(kāi)始回頭。這種機(jī)制下,A和B這種比較小的山頂在第二次判定過(guò)程中會(huì)出現(xiàn)梯度能量值反彈現(xiàn)象,這樣即判斷為是偽山頂,但是這種情況在真山頂C處是不會(huì)出現(xiàn)的。
基于上述兩條優(yōu)化方案,本文基于FPGA的PS端實(shí)現(xiàn)自動(dòng)聚焦的流程如圖9所示。
針對(duì)本文提出的自動(dòng)聚焦技術(shù),以及文獻(xiàn)[2]和文獻(xiàn)[4]提出的自動(dòng)聚焦的方式分別作了復(fù)現(xiàn)和對(duì)比。如圖10所示。
圖9 本文提出的改進(jìn)爬山算法在FPGA PS端實(shí)現(xiàn)流程
圖10 本文提出的自動(dòng)聚焦后效果與其他方案效果對(duì)比
圖10的4幅紅外圖片可以看出紅外鏡頭的聚焦效果。對(duì)于本次聚焦過(guò)程來(lái)說(shuō),由于原始畫(huà)面相對(duì)已經(jīng)比較清楚了,因此更加考驗(yàn)聚焦算法對(duì)圖片細(xì)節(jié)的讀取和處理能力。對(duì)(b)(c)(d)(e)四幅畫(huà)面客觀地評(píng)價(jià)其清晰度,采用參考文獻(xiàn)[8]中提出的“灰度方差值”來(lái)評(píng)價(jià)4幅圖片的清晰度。對(duì)焦清晰的圖像相比對(duì)焦模糊的圖像,它的數(shù)據(jù)之間的灰度差異應(yīng)該更大,即它的方差應(yīng)該較大,可以通過(guò)圖像灰度數(shù)據(jù)的方差來(lái)衡量圖像的清晰度,方差越大,表示清晰度越好[8]。
將圖片在MATLAB進(jìn)行灰度方差值計(jì)算,得到結(jié)果如表1所示。
表1 四幅畫(huà)面的灰度方差值
從圖10的畫(huà)面以及表1中可以看出:
原始的紅外畫(huà)面(b)沒(méi)有經(jīng)過(guò)任何聚焦處理,畫(huà)面雖然能夠顯示出對(duì)象的畫(huà)面,但是肉眼觀測(cè)還是有點(diǎn)模糊,其灰度方差值相對(duì)不大,表明細(xì)節(jié)不夠多。
(c)圖片是采用白光圖像聚焦方式處理的,沒(méi)有考慮到紅外圖像的豎條紋噪聲特性,因此聚焦效果一般,從其灰度方差值上也能看出來(lái)。
(d)圖片的顯示效果較之(c)有一定的改善,但是達(dá)不到本文提出的算法(e)的效果。應(yīng)該是在爬山過(guò)程中的優(yōu)化算法不足夠好。
(e)圖片為本文提出的算法實(shí)現(xiàn)的聚焦后的顯示效果,可以明顯看出其顯示效果要優(yōu)于(d)和(c)。
從表1中4幅畫(huà)面的灰度方差值大小也能看出畫(huà)面的清晰度質(zhì)量,其中本文提出的算法聚焦后的畫(huà)面最為清晰。表明本文提出的算法在自動(dòng)聚焦過(guò)程有很好的表現(xiàn)和效果。
圖11對(duì)比了整幅畫(huà)面求梯度能量值和1/3區(qū)域求梯度能量值后得到的聚焦顯示畫(huà)面。其中圖11的(b)畫(huà)面即圖10中的(e)。
圖11 兩種區(qū)域像素求梯度能量值的圖像顯示對(duì)比
圖11的兩圖對(duì)比來(lái)看,基本看不出差異來(lái),兩者的灰度均方值差值不到1,說(shuō)明了本文提出的圖像中心1/3去區(qū)域求梯度能量值的方式是可行的。這種優(yōu)化和改進(jìn)后的算法優(yōu)勢(shì)在于很大程度地節(jié)省了自動(dòng)聚焦時(shí)間和FPGA資源消耗。
本節(jié)分析3種算法在實(shí)現(xiàn)自動(dòng)聚焦過(guò)程中的爬山曲線。由于整個(gè)爬山是基于電機(jī)轉(zhuǎn)動(dòng)實(shí)現(xiàn)的,所以通過(guò)電機(jī)轉(zhuǎn)動(dòng)的角度可以觀測(cè)出整個(gè)爬山過(guò)程。下面對(duì)比了3個(gè)算法(文獻(xiàn)[2]、文獻(xiàn)[4]和本文)在自動(dòng)聚焦過(guò)程中,電機(jī)轉(zhuǎn)動(dòng)的情況以及最終聚焦的情況。經(jīng)過(guò)前期的測(cè)試,得出電機(jī)從初始位置到聚焦位置需要正向轉(zhuǎn)動(dòng)751°,即圖12的水平參考虛線。
從圖12中可以看出:
1)本文提出的爬山算法在前期設(shè)置的步長(zhǎng)比較大,因此能夠快速地爬到山頂。在第三次爬坡結(jié)束已經(jīng)超過(guò)山頂,因此第四次爬坡的步長(zhǎng)減少,來(lái)判斷是否“偽山頂”;
2)3種算法在對(duì)“山頂”的判斷上都比較準(zhǔn)確,是因?yàn)閳D像本身比較干凈,噪聲小,因此本文算法提出的二次爬坡在這里沒(méi)有起到作用;
3)本文提出的算法和文獻(xiàn)[4]提出的算法在判斷下坡趨勢(shì)上要比文獻(xiàn)[2]提出的算法響應(yīng)快速,并且控制得好;
4)本文提出算法在第7次爬坡后基本達(dá)到了穩(wěn)定狀態(tài)(聚焦結(jié)束),在第3s達(dá)到聚焦結(jié)束,另外兩種在第8次爬坡后達(dá)到穩(wěn)定狀態(tài),其中文獻(xiàn)[2]的算法用時(shí)3.6s,文獻(xiàn)[4]的算法用時(shí)3.4s;
5)3種算法由于設(shè)置步長(zhǎng)和每次操作時(shí)間上有所差異,因此從圖12中可以看出前期爬坡過(guò)程時(shí)間上比較一致,后期沒(méi)調(diào)整一次用時(shí)不一致;
6)從最終的聚焦效果來(lái)看,本文提出的算法優(yōu)于文獻(xiàn)[2]和文獻(xiàn)[4]的聚焦效果,其中文獻(xiàn)[2]的聚焦效果最差,這個(gè)與圖10所示的聚焦效果示意吻合。
基于FPGA架構(gòu)的紅外鏡頭自動(dòng)聚焦系統(tǒng)能夠比較好地完成自動(dòng)聚焦工作,單CPU工作方式在產(chǎn)品集成度上較其他架構(gòu)也有很大的優(yōu)勢(shì),同時(shí)本系統(tǒng)在實(shí)時(shí)性也有比較好的表現(xiàn)。從參考文獻(xiàn)中來(lái)看,其他方案對(duì)自動(dòng)聚焦的時(shí)間沒(méi)有過(guò)多闡述,對(duì)于本文提出的設(shè)計(jì)而言,從開(kāi)始成像到聚焦完成可以控制在5s以?xún)?nèi),主要的時(shí)間消耗分析如圖13所示。
共計(jì)時(shí)間為3.55s,這個(gè)速度優(yōu)于市面上大部分紅外相機(jī)的自動(dòng)聚焦時(shí)間。
本文對(duì)梯度能量值計(jì)算采用了整幅畫(huà)面1/3區(qū)域做計(jì)算,主要是為了節(jié)省FPGA資源以及計(jì)算時(shí)間。從計(jì)算時(shí)間上,計(jì)算整幅畫(huà)面的像素梯度能量和1/3區(qū)域計(jì)算相差42.84-4.76=38.08ms。這個(gè)時(shí)間雖然對(duì)于整個(gè)聚焦過(guò)程所用的4.55s來(lái)說(shuō)很小,但是對(duì)于FPGA內(nèi)部程序運(yùn)行來(lái)說(shuō)是一個(gè)比較長(zhǎng)的時(shí)間。
圖13 自動(dòng)聚焦用時(shí)分析
對(duì)于FPGA內(nèi)部資源消耗來(lái)說(shuō),兩者相差也比較大,表2羅列了兩種方式對(duì)FPGA資源的消耗情況。
表2 FPGA資源消耗對(duì)比
從表2中可以看出,本文采用的自動(dòng)聚焦方法使用FPGA內(nèi)部資源不多,即使對(duì)整幅畫(huà)面做,XC7Z030的資源也足夠使用。但是對(duì)于FPGA來(lái)說(shuō),資源用的越少,程序可控性越強(qiáng)。
針對(duì)紅外熱像儀成像裝置的鏡頭自動(dòng)聚焦,本文提出一種基于FPGA的紅外鏡頭自動(dòng)聚焦技術(shù),相比可見(jiàn)白光的自動(dòng)聚焦技術(shù)和傳統(tǒng)的紅外聚焦技術(shù),本文提出的技術(shù)有3大改進(jìn):①整機(jī)采用單FPGA處理器完成紅外圖像處理顯示和鏡頭聚焦工作,大大地提升了產(chǎn)品的集成度;②針對(duì)紅外圖像的特點(diǎn)以及FPGA并行處理數(shù)據(jù)的優(yōu)勢(shì),提出一種改進(jìn)型的梯度能量算法,能夠真實(shí)地評(píng)價(jià)紅外圖像的清晰度;③針對(duì)紅外圖像的特點(diǎn),對(duì)爬山算法進(jìn)行改進(jìn)和優(yōu)化,有效地濾掉偽山頂,實(shí)現(xiàn)爬山的目的。
本文對(duì)上述3個(gè)技術(shù)改進(jìn)的地方進(jìn)行了驗(yàn)證,結(jié)果也驗(yàn)證了本文提出的算法的優(yōu)越性。目前本文提出的自動(dòng)聚焦技術(shù)已經(jīng)成熟地應(yīng)用在熱像儀產(chǎn)品中,功能和性能都處于業(yè)界領(lǐng)先的水平,有比較好的推廣意義。
[1] 趙志彬. 機(jī)載光電平臺(tái)可見(jiàn)光攝像機(jī)自動(dòng)調(diào)焦技術(shù)研究[D]. 長(zhǎng)春: 中國(guó)科學(xué)院研究生院(長(zhǎng)春光學(xué)精密機(jī)械與物理研究所), 2010.
ZHAO Zhibin. Research on Automatic Focusing Technology of Visible Light Camera for Airborne Photoelectric Platform[D]. Graduate School of Chinese Academy of Sciences (Changchun Institute of Optics, Precision Machinery and Physics), 2010.
[2] 倪文佳. 基于FPGA的可自動(dòng)聚焦視頻監(jiān)控系統(tǒng)[D]. 武漢: 武漢理工大學(xué), 2012.
NI Wenjia. Auto Focusing Video Monitoring System Based on FPGA[D]. Wuhan: Wuhan University of Technology, 2012.
[3] 李申燕. 基于紅外圖像能量值的自動(dòng)聚焦算法[J]. 山西電子技術(shù), 2014(4): 6-9.
LI Shenyan. Auto Focusing Algorithm Based on Infrared Image Energy Value[J]., 2014(4): 6-9.
[4] 張博, 張剛, 程永強(qiáng). 具有自動(dòng)聚焦功能的視頻處理器的設(shè)計(jì)[J]. 液晶與顯示, 2010, 25(3): 396-400.
ZHANG Bo, ZHANG Gang, CHENG Yongqiang. Design of Video Processor WithAuto Focus Function[J]., 2010, 25(3): 396-400.
[5] 萬(wàn)曉帆, 呂耀文, 章冬巖, 等. 在線自動(dòng)聚焦紅外熱像儀系統(tǒng)設(shè)計(jì)[J].紅外技術(shù), 2018, 40(8): 743-748.
WAN Xiaofan, LYU Yaowen, ZHANG Dongyan. Design of an Auto-focusing Infrared Thermal Imager Online System[J]., 2018, 40(8): 743-748.
[6] 王健. 基于圖像處理的自動(dòng)調(diào)焦技術(shù)研究[D]. 成都: 中國(guó)科學(xué)院研究生院(光電技術(shù)研究所), 2013.
WANG Jian. Research on Automatic Focusing Technology Based on Image Processing[D]. Chengdu: Graduate School of Chinese Academy of Sciences(Institute of Optoelectronic Technology), 2013.
[7] 徐志麗. 基于FPGA的SEM自動(dòng)聚焦系統(tǒng)研究[D]. 南京: 東南大學(xué), 2016.
XU Zhili. Research on SEM auto focusing system based on FPGA[D]. Nanjing: Southeast University, 2016.
[8] 陳國(guó)金, 朱妙芬, 張克松. 圖像調(diào)焦過(guò)程的清晰度評(píng)價(jià)函數(shù)研究[J]. 數(shù)據(jù)采集與處理, 2009, 24(2): 165-169.
CHEN Guojin, ZHU Miaofen, ZHANG Kesong. Study on sharpness evaluation function of image focusing processk[J]., 2009, 24(2): 165-169.
Research and Implementation of Infrared Lens Auto-focus Technology Based on Field Programmable Gate Array
SUN Shaowei,YANG Yuetao,YANG Bingwei,WAN Anjun,ZHONG Hailin
(AVIC Suzhou Changfeng Avionics Co., Ltd., Suzhou 215001, China)
Autofocus technology plays an important role in the field of infrared thermal imager monitoring. At present, there existsome problems withinfrared auto focusing technology, such as low success rate, complex architecture andlow focusing speed. Therefore, this studyproposes an auto focusing technology of infrared lens based on FPGA, which realizes the functions of infrared image processing, display, and auto focusing with a single FPGA. In view of the common characteristics of vertical stripe noise and random noise in infrared images, this studyimproves and optimizes the infrared definition evaluation algorithm and mountain climbing algorithm in the focusing process. The experimental results show that the algorithm and implementation method proposed in this studycan help infocusing on the infrared lens remarkably. Meanwhile, the proposed method has characteristics such ashigh integration, fast focusing speed, and high success rate, and thus haswide application prospects.
infrared, autofocus, FPGA, definition evaluation, mountain climbing algorithm
THB11
A
1001-8891(2021)05-0464-09
2020-11-07;
2021-03-24.
孫少偉(1982-),男,碩士,高級(jí)工程師,主要從事圖像處理方面研究。E-mail: shaowei_sun171@sina.com.