賈海彥,趙山山,張紅民(重慶理工大學(xué)電子信息與自動(dòng)化學(xué)院,重慶400054)
?
一種基于機(jī)器學(xué)習(xí)的自動(dòng)對(duì)焦算法
賈海彥,趙山山,張紅民
(重慶理工大學(xué)電子信息與自動(dòng)化學(xué)院,重慶400054)
摘 要:針對(duì)現(xiàn)有面陣CCD相機(jī)自動(dòng)對(duì)焦算法精度比較低、易出現(xiàn)局部峰值的問(wèn)題,提出了一種基于機(jī)器學(xué)習(xí)的自動(dòng)對(duì)焦算法。采用機(jī)器學(xué)習(xí)中的決策樹(shù)算法求得兩個(gè)決策樹(shù),用決策樹(shù)來(lái)決定鏡頭移動(dòng)的方向及下一步的狀態(tài),進(jìn)而確定了一個(gè)包含有峰值的范圍,然后再用爬山算法進(jìn)行局部峰值搜索,從而確定焦點(diǎn)峰值位置。實(shí)驗(yàn)結(jié)果表明,該算法把自動(dòng)對(duì)焦的精確度提高了3%,且出現(xiàn)局部峰值的情況也得到了改善。
關(guān)鍵詞:自動(dòng)對(duì)焦;機(jī)器學(xué)習(xí);決策樹(shù);爬山算法
數(shù)字成像設(shè)備針對(duì)場(chǎng)景目標(biāo)進(jìn)行快速、準(zhǔn)確的對(duì)焦是獲取清晰圖像的重要手段[1]。現(xiàn)有面陣CCD相機(jī)的自動(dòng)對(duì)焦算法主要是對(duì)焦搜索算法,但傳統(tǒng)的對(duì)焦搜索算法精度較低且容易出現(xiàn)局部峰值。因此,近年來(lái)有不少學(xué)者對(duì)此進(jìn)行了研究,2015年,陳浩等人提出了基于相鄰像素差與NRSS的自動(dòng)對(duì)焦算法[2],但該算法精度相對(duì)較低;2014年,洪裕珍等人提出了一種基于改進(jìn)的離焦模糊圖像清晰度評(píng)價(jià)函數(shù)的自動(dòng)對(duì)焦算法[3],但還是容易出現(xiàn)局部峰值;2013年,郭惠楠等人提出一種基于光流場(chǎng)估計(jì)的自動(dòng)對(duì)焦算法[4],但精度還是不夠。
本文針對(duì)現(xiàn)有算法的局限性,設(shè)計(jì)了機(jī)器學(xué)習(xí)搜索算法。
本文提出用機(jī)器學(xué)習(xí)中的決策樹(shù)算法來(lái)確定鏡頭移動(dòng)的方向及下一步的狀態(tài),再利用爬山算法進(jìn)一步確定峰值。
1.1算法描述
如圖1所示,鏡頭處在一個(gè)任意位置,所以算法要決定鏡頭在尋找峰值時(shí),向近焦的方向移動(dòng)還是向遠(yuǎn)焦的方向移動(dòng)[5]。本文用決策樹(shù)Tα來(lái)決定鏡頭移動(dòng)的方向,決策樹(shù)Tα需要三個(gè)焦點(diǎn)值來(lái)確定,焦點(diǎn)值是通過(guò)鏡頭以雙精步向遠(yuǎn)焦移動(dòng)過(guò)程中的三個(gè)連續(xù)的鏡頭位置測(cè)量的。
鏡頭在決策樹(shù)Tα確定的方向上開(kāi)始粗略搜索一個(gè)峰值。在每一步中都會(huì)用一元組(i,fi)記錄下來(lái),其中i表示搜索中的步數(shù),fi表示相應(yīng)的焦點(diǎn)值。一元組(0,f0)表示鏡頭初始位置。記錄的一元組用來(lái)計(jì)算第二個(gè)帶有三個(gè)標(biāo)簽葉的決策樹(shù)Tβ,這三個(gè)標(biāo)簽葉分別為“繼續(xù)”“返回”“成功”,每一個(gè)標(biāo)簽代表一種狀態(tài)。
圖1 自動(dòng)對(duì)焦工作過(guò)程
1.2算法詳細(xì)流程
在生成決策樹(shù)的過(guò)程中首先需要采集訓(xùn)練數(shù)據(jù),然后用訓(xùn)練數(shù)據(jù)來(lái)創(chuàng)建一系列的特征值,最后生成兩個(gè)決策樹(shù)[6]。
(1)數(shù)據(jù)采集及特征值的提取
在機(jī)器學(xué)習(xí)算法中,成功與否的第一個(gè)重要因素是基準(zhǔn)圖像的數(shù)據(jù)[7],在數(shù)據(jù)采集過(guò)程中,基準(zhǔn)圖像來(lái)自于32個(gè)不同的日常場(chǎng)景,包括風(fēng)景、特寫、室內(nèi)、靜物等。本文采用CCD相機(jī)對(duì)基準(zhǔn)圖像進(jìn)行采集,對(duì)每一個(gè)場(chǎng)景都在167個(gè)不同的鏡頭位置分別采集圖像,圖像在該位置的焦點(diǎn)值用平方梯度算法來(lái)計(jì)算。
第二個(gè)重要因素是數(shù)據(jù)特征值的提取,特征值必須能夠區(qū)分每一組數(shù)據(jù)的不同分類[8]。兩組特征值是通過(guò)手動(dòng)采集的,第一組特征值用Tα表示,該組特征值用來(lái)確定決策樹(shù)Tα(即判斷鏡頭向近焦移動(dòng)還是遠(yuǎn)焦移動(dòng)),這組特征值是布爾量,主要包括三個(gè)焦點(diǎn)值與不同粒度級(jí)別之間的比較。第二組特征值用Tβ表示,用來(lái)確定決策樹(shù)Tβ(即判斷三個(gè)狀態(tài)之間的轉(zhuǎn)移),這組特征值是十進(jìn)制數(shù)值,包括搜索的步數(shù)、最新兩個(gè)焦點(diǎn)值的斜率和最新焦點(diǎn)值與迄今為止最大焦點(diǎn)值之間的比率。對(duì)于機(jī)器學(xué)習(xí)算法,描述特征的特征值比焦點(diǎn)值本身更容易處理。但構(gòu)造特征值面臨的一個(gè)問(wèn)題是不同相機(jī)和鏡頭有不同的鏡頭位置數(shù)Tp,這會(huì)影響采集數(shù)據(jù)的特征值。例如,如果一個(gè)相機(jī)的鏡頭位置數(shù)很少,則它的每一步之間的焦點(diǎn)值增長(zhǎng)得很快。另一個(gè)問(wèn)題是焦點(diǎn)值的測(cè)量是任意的,而且會(huì)受到場(chǎng)景細(xì)節(jié)和照明情況的影響,因此,為了確保通用性,每當(dāng)它們被用作計(jì)算特征值和焦點(diǎn)值時(shí),鏡頭的位置數(shù)都被歸為[0,1]。例如特征值F代表兩個(gè)焦點(diǎn)值(x,fx)、(y,fy)之間的斜率,則該特征值為:
(2)生成決策樹(shù)
數(shù)據(jù)采集完以后就預(yù)示著機(jī)器學(xué)習(xí)的訓(xùn)練數(shù)據(jù)已經(jīng)生成[9-10],每一個(gè)圖像的數(shù)據(jù)都對(duì)應(yīng)一組特征值和代表該數(shù)據(jù)的標(biāo)簽,然后分別生成決策樹(shù)Tα和決策樹(shù)Tβ。特征值是按照步驟一中的算法生成的,第一個(gè)決策樹(shù)Tα的狀態(tài)是按照一個(gè)簡(jiǎn)單的規(guī)則自動(dòng)生成的:如果在焦點(diǎn)搜索過(guò)程中最大峰值是x,那么x左邊的記做“近焦”,x右邊的記做“遠(yuǎn)焦”。第二個(gè)決策樹(shù)Tβ是這樣生成的:如果搜索過(guò)程中經(jīng)過(guò)兩個(gè)或更多的峰值,則狀態(tài)為“成功”;如果在該方向上經(jīng)過(guò)四個(gè)粗步搜索仍然沒(méi)有更多的峰,則狀態(tài)為“返回”;除了以上兩種狀態(tài),剩下的狀態(tài)則是“繼續(xù)”。
圖2 決策樹(shù)
圖2是生成的決策樹(shù)Tα,圖中R表示采集的兩個(gè)相鄰點(diǎn)之間的斜率;圖3是生成的決策樹(shù)Tβ,圖中L表示該位置到迄今為止最大焦點(diǎn)值之間的距離,R1表示該位置到迄今為止最大焦點(diǎn)值之間的斜率,R2表示迄今為止最小值與最大值之間的斜率,R3表示當(dāng)前最大斜率,R4表示下降的第一個(gè)半斜率。
(3)爬山算法
當(dāng)搜索進(jìn)入“成功”狀態(tài)時(shí),說(shuō)明鏡頭到達(dá)的位置是目前為止焦點(diǎn)值最大的地方,也就是說(shuō)鏡頭已經(jīng)處于峰值或最接近峰值的位置。這時(shí),局部搜索即將開(kāi)始,這里用到簡(jiǎn)單的爬山算法[11],鏡頭根據(jù)該算法找到一個(gè)焦點(diǎn)值不再增加的位置,即峰值。
圖3 決策樹(shù)
表1是在不同場(chǎng)景下各算法的精確度以及出現(xiàn)局部峰值的頻率,通過(guò)對(duì)比得知,本文算法的精度得到了相對(duì)的提高且出現(xiàn)局部峰值的概率也相對(duì)減小。因?yàn)楸疚闹挥挟?dāng)粗略搜索輸出“成功”時(shí)才進(jìn)行局部搜索,這時(shí)鏡頭已經(jīng)非??拷逯盗耍源怂阉鞑粫?huì)受到局部極值的影響。
表1 不同算法聚焦參數(shù)對(duì)比表
本文把機(jī)器學(xué)習(xí)中的決策樹(shù)算法應(yīng)用到自動(dòng)對(duì)焦算法中,實(shí)驗(yàn)結(jié)果表明,該算法有效提高了精度并減少了出現(xiàn)局部峰值的概率,具有一定的實(shí)用價(jià)值。
參考文獻(xiàn)
[1]郭曉東,陳華旺,王晨晟,等.基于紅外圖像邊緣特征的自動(dòng)對(duì)焦技術(shù)[J].光學(xué)與光電技術(shù),2013,11(2):79-82.
[2]陳浩,陳建,葉輕舟,等.基于相鄰像素差與NRSS的自動(dòng)對(duì)焦算法[J].計(jì)算機(jī)工程,2015,41(9):261-265.
[3]洪裕珍,任國(guó)強(qiáng),孫健.離焦模糊圖像清晰度評(píng)價(jià)函數(shù)的分析與改進(jìn)[J].光學(xué)精密工程,2014,22(12):3401-3408.
[4]郭惠楠,曹劍中,周祚峰,等.采用光流估計(jì)的數(shù)字相機(jī)自動(dòng)對(duì)焦算法[J].紅外與激光工程,2013,42(12):3417-3422.
[5]馬鵬川,楊波,唐艦.一種自動(dòng)對(duì)焦算法的優(yōu)化[J].光學(xué)儀器,2013,35(2):26-31.
[6]HANAY Y S,ARAKAWA S,MURATA M.Network topology selection with multistate neural memories[J].Expert Systems with Applications,2015(42):3219-3226.
[7]Chen Rudi,BEEK P V.Improving the accuracy and low-light performance of contrast-based autofocus using supervised machine learning[J].Pattern Recognition Letters,2015,56(C):30-37.
[8]AMIN M J,RIZA N A.Active depth from defocus system using coherent illum ination and a no moving parts camera[J].Optics Communications,2015,359:135-145.
[9]梁野,郭寧寧,李碧獲,等.基于機(jī)器學(xué)習(xí)的網(wǎng)絡(luò)媒體熱點(diǎn)話題預(yù)測(cè)方法研究與實(shí)現(xiàn)[J].微型機(jī)與應(yīng)用,2014,33(15):62-64.
[10]張穎瑩,李艷紅.基于Web挖掘的新股破發(fā)原因探究與預(yù)測(cè)[J].微型機(jī)與應(yīng)用,2015,34(10):58-60.
[11]張艷超,趙建,韓希珍,等.SUSAN清晰度評(píng)價(jià)函數(shù)在自動(dòng)對(duì)焦中的應(yīng)用[J].中國(guó)光學(xué),2014,7(2):240-244.
賈海彥(1990 -),女,碩士研究生,主要研究方向:圖像處理。
趙山山(1990 -),男,碩士研究生,主要研究方向:信號(hào)與信息處理。
張紅民(1970 -),男,博士,教授,主要研究方向:圖像處理。
引用格式:賈海彥,趙山山,張紅民.一種基于機(jī)器學(xué)習(xí)的自動(dòng)對(duì)焦算法[J].微型機(jī)與應(yīng)用,2016,35(10):7-8,11.
An auto-focus algorithm based on machine learning
Jia Haiyan,Zhao Shanshan,Zhang Hongmin
(School of Electronic Information and Automation,Chongqing University of Technology,Chongqing 400054,China)
Abstract:For the problem that existing area CCD camera autofocus algorithm has low accuracy and is easy to appear local peak,this paper presents an auto-focus algorithm based on machine learning.It uses decision tree algorithm in the machine learning to obtain two decision trees,which determ ines the direction and the next step of lens and determines the range of peak.Then the local peak search is performed by using the hill-climbing algorithm to determ ine the focus peak position.Experimental results show that the accuracy of the auto-focus is improved by 3%and the situation of the local peak has also been reduced.
Key words:auto-focus;machine learning;decision tree;hill-climbing
作者簡(jiǎn)介:
收稿日期:(2016-01-24)
中圖分類號(hào):TP212.14
文獻(xiàn)標(biāo)識(shí)碼:A
DOI:10.19358 /j.issn.1674-7720.2016.09.003