(長(zhǎng)春光學(xué)精密機(jī)械與物理研究所1,吉林 長(zhǎng)春 130033;中國科學(xué)院大學(xué)2,北京 100049)
在光電經(jīng)緯儀對(duì)動(dòng)態(tài)目標(biāo)進(jìn)行捕獲和跟蹤的過程中,當(dāng)目標(biāo)運(yùn)動(dòng)時(shí),目標(biāo)與經(jīng)緯儀的距離的變化會(huì)造成目標(biāo)成像模糊,這不利于觀察目標(biāo)的特性。
為了解決這一難題,需要經(jīng)緯儀有自動(dòng)調(diào)焦的能力[1]。但現(xiàn)有的評(píng)價(jià)函數(shù)在調(diào)焦性能比較好時(shí),計(jì)算量比較大,實(shí)時(shí)性差;當(dāng)計(jì)算量小、實(shí)時(shí)性相對(duì)較好時(shí),調(diào)焦性能不能令人滿意[2-4]。因此,本文提出了一種調(diào)焦評(píng)價(jià)函數(shù)。該函數(shù)在靈敏度下降不大的情況下,大大減少了計(jì)算量,提高了實(shí)時(shí)性。最后在分析了傳統(tǒng)爬山算法理論以及存在的不足的基礎(chǔ)上,提出了改進(jìn)的爬山算法。
調(diào)焦評(píng)價(jià)函數(shù)主要有3類:①一幅圖像越清晰,它的灰度值曲線變化越劇烈,從頻域上看就是越清晰的圖像,其高頻分量越豐富,可以此為依據(jù)制定調(diào)焦評(píng)價(jià)函數(shù)[5];②熵和信息量有關(guān),一幅清晰的圖像的熵大于模糊圖像的熵,因此可以用熵函數(shù)作為評(píng)價(jià)函數(shù);③眼睛能感受辨別出圖像的清晰與否,這是因?yàn)榍逦膱D像各點(diǎn)間的灰度對(duì)比度更高,因此可以用提取圖像邊緣信息的梯度算法作為評(píng)價(jià)函數(shù),以衡量圖像清晰度[6-8]。本文基于第三類評(píng)價(jià)函數(shù),提出了新方法。
1.1.1 能量梯度函數(shù)
將水平相鄰像素和垂直相鄰像素的灰度值差值的平方和,作為能量函數(shù)對(duì)整幅圖像梯度變化的衡量標(biāo)準(zhǔn)。一幅M×N的圖像的能量梯度函數(shù)公式為:
f(p)={[p(x+1,y)-p(x,y)]2+[p(x,y+1)-p(x,y)]2}
式中:f(p)為調(diào)焦評(píng)價(jià)函數(shù);p(x,y)為圖像第x列、第y行像素的灰度值。
能量梯度值f(p)能很好地反映圖像的對(duì)焦情況。一幅圖像越是離焦,像素間的對(duì)比度就越小,即能量函數(shù)值f(p)越小。因此,當(dāng)檢測(cè)到f(p)取極大值時(shí),即尋找到了對(duì)焦點(diǎn)。
1.1.2 Tenengrad函數(shù)
Tenengrad函數(shù)的核心思想基于邊緣檢測(cè)的Sobel算子。一幅M×N的圖像的Tenengrad函數(shù)公式為:
(1)
1.1.3 方差函數(shù)
一幅M×N的圖像的方差函數(shù)公式為:
(2)
由各個(gè)評(píng)價(jià)函數(shù)的公式可以看出,運(yùn)算量由大到小依次是Tenengrad函數(shù)、能量梯度函數(shù)、方差函數(shù)。雖然方差函數(shù)是這幾個(gè)函數(shù)中計(jì)算量最小的,但公式比較復(fù)雜,在處理圖像這樣龐大的數(shù)據(jù)量時(shí)比較耗時(shí)。而經(jīng)緯儀是一種對(duì)實(shí)時(shí)性要求很高的設(shè)備,要求評(píng)價(jià)函數(shù)在具有良好性能的同時(shí),擁有盡量小的計(jì)算量?;诖耍岢隽艘环N算法,從而簡(jiǎn)化了公式,相對(duì)減少了計(jì)算量。
本文提出的新評(píng)價(jià)函數(shù)公式為:
(3)
圖像中的所有像素都具有相關(guān)性(除了少數(shù)的噪點(diǎn)),不會(huì)產(chǎn)生大量的像素突變,這樣p(x+1,y+1)和p(x,y+1)、p(x+1,y)像素的灰度值也具有相關(guān)性。公式兼顧了水平方向的梯度變化和垂直方向的梯度變化,而計(jì)算量相比上述幾種評(píng)價(jià)函數(shù)大大減少。
下面選取了從離焦到聚焦再到離焦過程的20幅圖片(512×512像素),對(duì)應(yīng)編號(hào)分別為1~20,其中第11幅圖像為準(zhǔn)確聚焦圖像。第3幅、第5幅、第11幅、第15幅及第20幅的檢測(cè)圖像如圖1所示。
圖1 5幅檢測(cè)圖像
用這20幅圖像對(duì)能量梯度函數(shù)、Tenengrad函數(shù)、方差函數(shù)和新函數(shù),進(jìn)行運(yùn)行算法消耗時(shí)間的檢測(cè)及對(duì)焦靈敏度驗(yàn)證。
1.3.1 運(yùn)算量及運(yùn)算時(shí)間分析
試驗(yàn)中將20幅待檢測(cè)圖像輸入程序,并記錄每種函數(shù)計(jì)算完20幅圖像所用的時(shí)間。對(duì)于一幅像素為M×N的圖像(本試驗(yàn)中M=512、N=512),運(yùn)算結(jié)果如表1所示。
表1 各函數(shù)運(yùn)送量及運(yùn)算需要時(shí)間
從表1可以看出,Tenengrad的運(yùn)算量無論是乘法次數(shù)還是加法次數(shù)都是最高的,比其他3個(gè)函數(shù)相加總和還多,而本文的算法不包含乘法運(yùn)算且加法運(yùn)算次數(shù)最少。運(yùn)算時(shí)間隨著運(yùn)算量的減少而減少,如能量函數(shù)與方差函數(shù)的加法次數(shù)相差不多,但是乘法次數(shù)相差一半,時(shí)間相差接近一半。本文算法運(yùn)算量最小,且計(jì)算20幅圖像消耗時(shí)間最少。這些都證明本文算法可以提高調(diào)焦過程中的實(shí)時(shí)性。
1.3.2 調(diào)焦靈敏度分析
評(píng)價(jià)一種調(diào)焦評(píng)價(jià)函數(shù)的好壞不能僅憑運(yùn)算速度來判定,還需要對(duì)比實(shí)際過程中的調(diào)焦靈敏度。在對(duì)20幅圖像進(jìn)行測(cè)試試驗(yàn)時(shí),對(duì)各種函數(shù)的評(píng)價(jià)函數(shù)值作了記錄,表2列出了20幅圖像中編號(hào)為奇數(shù)的圖像各評(píng)價(jià)函數(shù)值。
表2 奇數(shù)編號(hào)圖像評(píng)價(jià)函數(shù)值
由表2可知,在圖像從離焦到聚焦再到離焦的過程中,所有評(píng)價(jià)函數(shù)值由小變大再變小。本文提出的評(píng)價(jià)函數(shù)也滿足這一規(guī)律,說明該函數(shù)可以作為調(diào)焦評(píng)價(jià)函數(shù),但是作為調(diào)焦評(píng)價(jià)函數(shù)的一項(xiàng)重要指標(biāo)——調(diào)焦靈敏度還需進(jìn)一步驗(yàn)證。將所有評(píng)價(jià)函數(shù)值進(jìn)行歸一化處理并繪圖,結(jié)果如圖2所示。
圖2 對(duì)比曲線圖
由圖2可以看出,在第11幅圖像附近即對(duì)焦點(diǎn)附近,變化最緩慢的是方差函數(shù),變化最劇烈的是改進(jìn)函數(shù)。評(píng)價(jià)函數(shù)在對(duì)焦點(diǎn)附近變化越劇烈說明圖像在聚焦與離焦時(shí)差別大。這種細(xì)微差別的檢測(cè)說明該函數(shù)的調(diào)焦靈敏度越好。
綜上所述,從評(píng)價(jià)函數(shù)的運(yùn)算量、運(yùn)算時(shí)間、調(diào)焦靈敏度幾方面考慮,新評(píng)價(jià)函數(shù)具有更大的優(yōu)勢(shì)。
傳統(tǒng)爬山算法只局限于理想的調(diào)焦評(píng)價(jià)函數(shù)曲線,實(shí)際的評(píng)價(jià)函數(shù)曲線不是平滑的,在一些地方存在局部極值。在這種情況下,利用傳統(tǒng)爬山算法搜索,就會(huì)使光學(xué)鏡頭停留在采集到的圖像出現(xiàn)局部極值的位置,從而造成圖像對(duì)焦的誤判。這就需要對(duì)爬山算法進(jìn)行優(yōu)化。文獻(xiàn)[9]中提出了一種優(yōu)化爬山算法,這種算法根據(jù)梯度值對(duì)評(píng)價(jià)函數(shù)進(jìn)行選擇,可以滿足速度和精度要求,但是要求有多種評(píng)價(jià)函數(shù)。文獻(xiàn)[10]中提出的優(yōu)化爬山算法根據(jù)每次步長(zhǎng)的評(píng)價(jià)函數(shù)值大小來決定步長(zhǎng)大小,由此進(jìn)行搜索。
經(jīng)緯儀在對(duì)目標(biāo)進(jìn)行跟蹤時(shí),跟蹤目標(biāo)處于一個(gè)大的背景下,目標(biāo)只占整幅圖像的一小部分。如果采用評(píng)價(jià)函數(shù)對(duì)整幅圖像進(jìn)行判斷,評(píng)價(jià)函數(shù)取得最大值時(shí)應(yīng)該是背景最為清晰時(shí)。目標(biāo)最為清晰時(shí)可能是評(píng)價(jià)函數(shù)曲線上的某一個(gè)局部極值,而不一定是最大值。所以傳統(tǒng)爬山算法很難找到目標(biāo)清晰圖像。
在整個(gè)跟蹤過程中,目標(biāo)始終在經(jīng)緯儀視場(chǎng)的波門中,波門中的大部分像素為目標(biāo)像素。因此,可以利用爬山算法對(duì)波門中的圖像進(jìn)行搜索。這時(shí)只需要計(jì)算整幅圖像中的一部分,大大簡(jiǎn)化了計(jì)算量,而且也便于找到目標(biāo)聚焦時(shí)的極值[11]。
對(duì)于波門內(nèi)圖像由于噪聲而使搜索陷入局部極值的情況,因?yàn)樵趫D像對(duì)焦點(diǎn)附近評(píng)價(jià)函數(shù)變化很大,而局部極值處變化相對(duì)不明顯,所以可以設(shè)定一個(gè)閾值T。這里取T值為0.5,當(dāng)?shù)趎步評(píng)價(jià)函數(shù)值F(n)和上一步函數(shù)值F(n-1)滿足如下關(guān)系:
[F(n)-F(n-1)]/F(n-1)>T
(4)
說明F(n)附近存在對(duì)焦點(diǎn)。這時(shí)如果第(n+1)步長(zhǎng)評(píng)價(jià)函數(shù)值F(n+1)-F(n)<0,則在(n+1)步處減小步長(zhǎng)進(jìn)行反向(以開始搜索時(shí)前進(jìn)方向?yàn)檎?搜索,否則從第n步長(zhǎng)開始減小步長(zhǎng)進(jìn)行正向搜索。這在一定程度上避免了傳統(tǒng)算法陷入局部極值的缺點(diǎn)。
為了確定優(yōu)化爬山算法的優(yōu)勢(shì),選取三組景物,分別用傳統(tǒng)爬山算法和優(yōu)化爬山算法進(jìn)行對(duì)焦搜索測(cè)試,對(duì)焦所需時(shí)間如表3所示。
表3 爬山算法對(duì)焦所需時(shí)間對(duì)比
由表3可見,由于優(yōu)化爬山算法只對(duì)波門內(nèi)感興趣目標(biāo)進(jìn)行搜索,因此可以節(jié)省很多時(shí)間。但是節(jié)省的時(shí)間多少要視具體情況而定,如果觀察的目標(biāo)與背景相比越小,那么節(jié)省的時(shí)間越多。
表3從時(shí)間上將優(yōu)化算法與傳統(tǒng)算法進(jìn)行了對(duì)比。下面從實(shí)際的圖像效果對(duì)比兩種算法。
以告示牌作為跟蹤目標(biāo),傳統(tǒng)爬山算法與優(yōu)化爬山算法對(duì)焦圖像的對(duì)比結(jié)果如圖3所示。
圖3 對(duì)比結(jié)果
由圖3可知,當(dāng)采用傳統(tǒng)爬山算法時(shí)背景較清晰,而當(dāng)采用優(yōu)化爬山算法時(shí)告示牌(跟蹤目標(biāo))更清晰。這主要有以下兩個(gè)原因:
① 傳統(tǒng)爬山算法對(duì)整幅圖像搜索,而背景所占面積更大,取到評(píng)價(jià)函數(shù)峰值時(shí),背景作出的貢獻(xiàn)更多,所以圖3(a)中背景更清晰;
② 優(yōu)化爬山算法在波門內(nèi)進(jìn)行搜索,即對(duì)跟蹤目標(biāo)進(jìn)行搜索,且有效地避免了局部極值的干擾,所以圖3(b)中告示牌更為清晰。
經(jīng)緯儀作為跟蹤測(cè)量設(shè)備,主要是觀察跟蹤目標(biāo)的運(yùn)動(dòng)軌跡,測(cè)量相關(guān)數(shù)據(jù)。如果運(yùn)用傳統(tǒng)爬山算法進(jìn)行搜索,得到的圖像有點(diǎn)主次不明,不利于觀察測(cè)量,所以優(yōu)化爬山算法效果更好。
本文基于原有的自動(dòng)調(diào)焦系統(tǒng),結(jié)合經(jīng)緯儀的需求,提出了一種新的評(píng)價(jià)函數(shù),并對(duì)搜索算法進(jìn)行了優(yōu)化。試驗(yàn)證明,改進(jìn)算法大大提高了系統(tǒng)的反應(yīng)速度,滿足經(jīng)緯儀實(shí)時(shí)性要求,無論是調(diào)焦效果,還是調(diào)焦完成所需時(shí)間都取得了理想效果,令人滿意。
[1] 姚珺,張俊舉,常本康.一種基于灰度分割的自動(dòng)調(diào)焦算法[J].計(jì)算機(jī)應(yīng)用研究,2012,29(8):3148-3172.
[2] 王健,陳洪斌,周國忠,等.改進(jìn)的Brenner圖像清晰度評(píng)價(jià)算法[J].光子學(xué)報(bào),2012,41(7):855-858.
[3] 莫建文,馬愛紅,首照宇,等.基于Brenner函數(shù)與新輪廓波變換的多聚焦融合算法[J].計(jì)算機(jī)應(yīng)用,2012,32(12):3353-3356.
[4] 張亞濤,吉書鵬,王強(qiáng)鋒,等.基于區(qū)域?qū)Ρ榷鹊膱D像清晰度評(píng)價(jià)算法[J].應(yīng)用光學(xué),2012,33(2):293-299.
[5] 洪宇,高廣珠,余理富,等.一種基于動(dòng)態(tài)背景的運(yùn)動(dòng)車輛跟蹤算法[J].計(jì)算機(jī)應(yīng)用研究,2004,(6):107-109.
[6] 王海娟,王國宇,丁文.散焦圖像清晰度評(píng)價(jià)函數(shù)的研究[J].微計(jì)算機(jī)信息,2011,27(8):166-167.
[7] 許兆林,王尚強(qiáng).圖像清晰度評(píng)價(jià)函數(shù)在航空相機(jī)中的應(yīng)用[J].電光與控制,2012,19(7):57-59.
[8] 鄭媛媛,姜威.一種新的自動(dòng)聚焦算法研究[J].光學(xué)技術(shù),2011,37(4):471-474.
[9] Subbarao M,Tyan J K.Selection the optimal focus for auto-focus and depth from focus[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,1998,20(8):864-870.
[10]王劍華,鄧華秋,陳參寧.數(shù)字自動(dòng)對(duì)焦中的搜索算法研究[J].傳感器與微系統(tǒng),2012,31(5):51-54.
[11]郭龍,鄭劍.基于梯度方向信息的醫(yī)學(xué)圖像質(zhì)量評(píng)價(jià)方法研究[J].計(jì)算機(jī)科學(xué),2012,39(12):278-280.