陳仕旗 ,李明臻 ,蘇建功
(長安大學(xué)工程機(jī)械學(xué)院,陜西 西安 710064)
隨著光學(xué)儀器的迅速發(fā)展,自動(dòng)對(duì)焦技術(shù)顯得越來越重要,該技術(shù)被廣泛用于工業(yè)相機(jī)、顯微鏡、農(nóng)用機(jī)械導(dǎo)航等各行各業(yè)中[1-3]。依據(jù)能否知曉鏡頭絕對(duì)位置,自動(dòng)對(duì)焦系統(tǒng)可分為閉環(huán)控制自動(dòng)對(duì)焦系統(tǒng)與開環(huán)控制自動(dòng)對(duì)焦系統(tǒng)。
與閉環(huán)控制自動(dòng)對(duì)焦系統(tǒng)相比,開環(huán)控制自動(dòng)對(duì)焦系統(tǒng)無法準(zhǔn)確獲取鏡頭絕對(duì)位置,對(duì)焦精度較低,算法更加復(fù)雜,但開環(huán)控制自動(dòng)對(duì)焦系統(tǒng)結(jié)構(gòu)簡(jiǎn)單,成本低,應(yīng)用范圍更廣,更適合農(nóng)用機(jī)械。許多學(xué)者針對(duì)開環(huán)控制自動(dòng)對(duì)焦系統(tǒng)進(jìn)行了深入的研究,在不同程度上提高了對(duì)焦的速度與精度。Zhang等[4]提出了一種結(jié)合全局搜索與爬山法的自動(dòng)對(duì)焦算法,該算法先使用大步長全局搜索算法尋找最佳對(duì)焦位置所在區(qū)域,再使用小步長爬山算法在區(qū)域內(nèi)尋找最優(yōu)對(duì)焦位置,可有效提高對(duì)焦精度。楊鵬博等[5]提出了一種變步長爬山法的自動(dòng)對(duì)焦算法,通過實(shí)時(shí)改變爬山法步長,有效提高了對(duì)焦的精度與速度。然而這些方法需來回調(diào)節(jié)鏡頭完成對(duì)焦,加大了遲滯誤差的影響。
為解決這一問題,本文提出一種基于曲線擬合與數(shù)據(jù)相似度的自動(dòng)對(duì)焦算法。該算法將曲線擬合與數(shù)據(jù)相似度算法相結(jié)合,通過曲線擬合尋找理想對(duì)焦位置作為數(shù)據(jù)相似度算法基準(zhǔn)點(diǎn),再通過相似度算法,確定最佳對(duì)焦位置。曲線擬合算法可有效降低局部噪聲對(duì)尋找基準(zhǔn)點(diǎn)的影響,數(shù)據(jù)相似度算法可有效降低遲滯誤差和局部噪聲對(duì)對(duì)焦結(jié)果的影響。
曲線擬合算法在自動(dòng)對(duì)焦中有著廣泛應(yīng)用[6-7],通過曲線擬合可準(zhǔn)確找到聚焦測(cè)度(Focus on the measure, FM)曲線峰值位置,但該方法無法解決遲滯誤差問題。本文采用該方法求解數(shù)據(jù)相似度算法所需基準(zhǔn)點(diǎn)。一般情況下,F(xiàn)M曲線符合高斯函數(shù)[8],其函數(shù)形式如下所示:
將FM曲線中的數(shù)據(jù)點(diǎn)通過廣義逆法進(jìn)行求解,得到a、b、c的值,確定擬合曲線表達(dá)式,求解極值點(diǎn),利用該方法可有效降低噪聲對(duì)尋找FM曲線極值點(diǎn)的影響。
利用數(shù)據(jù)相似度算法可有效解決遲滯誤差問題。首先,數(shù)據(jù)相似度算法需確定一個(gè)基準(zhǔn)點(diǎn),該點(diǎn)為擬合曲線極值點(diǎn)之后的一個(gè)點(diǎn)r;隨后,選取擬合曲線中基準(zhǔn)點(diǎn)之后的N1個(gè)點(diǎn)作為基準(zhǔn)曲線;最后,選擇基準(zhǔn)曲線最后一個(gè)點(diǎn)之后的第N2個(gè)點(diǎn)為相似度計(jì)算起始采樣位置,不斷減小鏡頭相對(duì)位置,重新計(jì)算對(duì)應(yīng)位置FM值。當(dāng)返回曲線的點(diǎn)個(gè)數(shù)達(dá)到N1,得到待測(cè)曲線,隨后計(jì)算與基準(zhǔn)曲線的相似度。繼續(xù)減小鏡頭相對(duì)位置,獲得新的待測(cè)曲線并重新計(jì)算相似度,不斷迭代,直到相似度第一次下降,此時(shí)的鏡頭相對(duì)位置就是相機(jī)的最佳對(duì)焦位置。其中,N1由后續(xù)實(shí)驗(yàn)獲取,N2=30為觀察回程誤差所得。
本文通過余弦相似度法計(jì)算數(shù)據(jù)相似度,余弦相似度法是用向量空間中兩個(gè)向量夾角的余弦值來衡量兩個(gè)個(gè)體差異的大小[9]。
綜上,當(dāng)曲線擬合方法用于對(duì)焦時(shí),雖然可有效降低圖像噪聲對(duì)對(duì)焦結(jié)果的影響,卻不能解決遲滯誤差問題;采用數(shù)據(jù)相似度算法能夠有效解決噪聲與遲滯誤差問題,但是需先確定一個(gè)基準(zhǔn)點(diǎn)與一個(gè)基準(zhǔn)曲線。因此,本文提出一種基于曲線擬合與數(shù)據(jù)相似度的自動(dòng)對(duì)焦算法,該算法將曲線擬合與數(shù)據(jù)相似度算法相結(jié)合,通過曲線擬合得到數(shù)據(jù)相似度算法所需要的基準(zhǔn)點(diǎn)與基準(zhǔn)曲線,隨后采用數(shù)據(jù)相似度算法,尋找最佳對(duì)焦位置,有效降低了圖像噪聲影響,并解決了遲滯誤差問題。
本文在不同的光照與拍攝距離條件下,拍攝了10組不同圖片。每組圖片中,鏡頭相對(duì)位置從0調(diào)整至U,再從U調(diào)整至0,其中U為相機(jī)鏡頭相對(duì)位置變化上限。每個(gè)鏡頭相對(duì)位置處均連拍10張圖片,計(jì)算每一張圖片的FM值,用于獲取每個(gè)相對(duì)位置對(duì)應(yīng)的平均清晰度,從而降低噪聲影響,精準(zhǔn)找到實(shí)際的最佳對(duì)焦位置,與對(duì)焦搜索算法所得到的最佳對(duì)焦位置進(jìn)行對(duì)比。
參數(shù)選擇主要涉及兩個(gè)方面:一是參與曲線擬合的點(diǎn)的采樣步長B,二是基準(zhǔn)曲線的點(diǎn)的個(gè)數(shù)N1。
采樣步長大小與曲線擬合效果密切相關(guān)。若B過小,采樣點(diǎn)數(shù)較多,擬合效率降低;若B過大,采樣點(diǎn)數(shù)較少,擬合精度降低。N1的大小也會(huì)對(duì)對(duì)焦結(jié)果產(chǎn)生極大的影響,N1過大或過小都可能導(dǎo)致計(jì)算結(jié)果不準(zhǔn)確。
N1的選擇范圍為0~F,F(xiàn)的值為U-r-N2。本實(shí)驗(yàn)從0.05F開始,每次增加0.05F直至0.95F。通過計(jì)算不同B與N1所得最佳對(duì)焦位置與實(shí)際最佳對(duì)焦位置之間的誤差,選取最合適的方案。圖1展示了在不同的B與N1的情況下的對(duì)焦精度。從圖中可以看出,當(dāng)B≤10,N1=0.2F時(shí),誤差較小,精度較高。本文選擇B=10,N1=0.2F作為自動(dòng)對(duì)焦算法的參數(shù)。
圖1 不同采樣步長與基準(zhǔn)曲線數(shù)據(jù)點(diǎn)個(gè)數(shù)下的誤差
圖2展示了在上述所選參數(shù)條件下,代碼所得對(duì)焦結(jié)果與實(shí)際最佳對(duì)焦位置的差值以及采用傳統(tǒng)爬山法時(shí)所得對(duì)焦結(jié)果與實(shí)際對(duì)焦位置之間的差值[10]。從圖中可以看出,經(jīng)過多次對(duì)焦,相比于傳統(tǒng)的爬山算法,本文算法所得的對(duì)焦結(jié)果與爬山算法對(duì)焦成功時(shí)均有較高的精度,但本文算法抗噪能力更強(qiáng),不容易出現(xiàn)對(duì)焦失敗的情況。
圖2 兩種方法誤差對(duì)比
本文提出一種基于曲線擬合與數(shù)據(jù)相似度的自動(dòng)聚焦算法,該算法由曲線擬合與數(shù)據(jù)相似度兩部分組成,曲線擬合部分用于確定數(shù)據(jù)相似度算法所需要的基準(zhǔn)點(diǎn),數(shù)據(jù)相似度部分用于確定最佳對(duì)焦位置,通過二者結(jié)合可有效解決開環(huán)控制自動(dòng)對(duì)焦系統(tǒng)中遲滯誤差嚴(yán)重影響對(duì)焦精度的問題。實(shí)驗(yàn)結(jié)果表明,與傳統(tǒng)的自動(dòng)對(duì)焦算法相比,該算法具有更強(qiáng)的抗噪能力、更高的精度和穩(wěn)定性,可以很好地用于開環(huán)控制的自動(dòng)對(duì)焦系統(tǒng),適合農(nóng)用機(jī)械的智能化運(yùn)用。