賈海彥,趙山山,張紅民(重慶理工大學電子信息與自動化學院,重慶400054)
?
一種基于機器學習的自動對焦算法
賈海彥,趙山山,張紅民
(重慶理工大學電子信息與自動化學院,重慶400054)
摘 要:針對現有面陣CCD相機自動對焦算法精度比較低、易出現局部峰值的問題,提出了一種基于機器學習的自動對焦算法。采用機器學習中的決策樹算法求得兩個決策樹,用決策樹來決定鏡頭移動的方向及下一步的狀態,進而確定了一個包含有峰值的范圍,然后再用爬山算法進行局部峰值搜索,從而確定焦點峰值位置。實驗結果表明,該算法把自動對焦的精確度提高了3%,且出現局部峰值的情況也得到了改善。
關鍵詞:自動對焦;機器學習;決策樹;爬山算法
數字成像設備針對場景目標進行快速、準確的對焦是獲取清晰圖像的重要手段[1]。現有面陣CCD相機的自動對焦算法主要是對焦搜索算法,但傳統的對焦搜索算法精度較低且容易出現局部峰值。因此,近年來有不少學者對此進行了研究,2015年,陳浩等人提出了基于相鄰像素差與NRSS的自動對焦算法[2],但該算法精度相對較低;2014年,洪裕珍等人提出了一種基于改進的離焦模糊圖像清晰度評價函數的自動對焦算法[3],但還是容易出現局部峰值;2013年,郭惠楠等人提出一種基于光流場估計的自動對焦算法[4],但精度還是不夠。
本文針對現有算法的局限性,設計了機器學習搜索算法。
本文提出用機器學習中的決策樹算法來確定鏡頭移動的方向及下一步的狀態,再利用爬山算法進一步確定峰值。
1.1算法描述
如圖1所示,鏡頭處在一個任意位置,所以算法要決定鏡頭在尋找峰值時,向近焦的方向移動還是向遠焦的方向移動[5]。本文用決策樹Tα來決定鏡頭移動的方向,決策樹Tα需要三個焦點值來確定,焦點值是通過鏡頭以雙精步向遠焦移動過程中的三個連續的鏡頭位置測量的。
鏡頭在決策樹Tα確定的方向上開始粗略搜索一個峰值。在每一步中都會用一元組(i,fi)記錄下來,其中i表示搜索中的步數,fi表示相應的焦點值。一元組(0,f0)表示鏡頭初始位置。記錄的一元組用來計算第二個帶有三個標簽葉的決策樹Tβ,這三個標簽葉分別為“繼續”“返回”“成功”,每一個標簽代表一種狀態。

圖1 自動對焦工作過程
1.2算法詳細流程
在生成決策樹的過程中首先需要采集訓練數據,然后用訓練數據來創建一系列的特征值,最后生成兩個決策樹[6]。
(1)數據采集及特征值的提取
在機器學習算法中,成功與否的第一個重要因素是基準圖像的數據[7],在數據采集過程中,基準圖像來自于32個不同的日常場景,包括風景、特寫、室內、靜物等。本文采用CCD相機對基準圖像進行采集,對每一個場景都在167個不同的鏡頭位置分別采集圖像,圖像在該位置的焦點值用平方梯度算法來計算。
第二個重要因素是數據特征值的提取,特征值必須能夠區分每一組數據的不同分類[8]。兩組特征值是通過手動采集的,第一組特征值用Tα表示,該組特征值用來確定決策樹Tα(即判斷鏡頭向近焦移動還是遠焦移動),這組特征值是布爾量,主要包括三個焦點值與不同粒度級別之間的比較。第二組特征值用Tβ表示,用來確定決策樹Tβ(即判斷三個狀態之間的轉移),這組特征值是十進制數值,包括搜索的步數、最新兩個焦點值的斜率和最新焦點值與迄今為止最大焦點值之間的比率。對于機器學習算法,描述特征的特征值比焦點值本身更容易處理。但構造特征值面臨的一個問題是不同相機和鏡頭有不同的鏡頭位置數Tp,這會影響采集數據的特征值。例如,如果一個相機的鏡頭位置數很少,則它的每一步之間的焦點值增長得很快。另一個問題是焦點值的測量是任意的,而且會受到場景細節和照明情況的影響,因此,為了確保通用性,每當它們被用作計算特征值和焦點值時,鏡頭的位置數都被歸為[0,1]。例如特征值F代表兩個焦點值(x,fx)、(y,fy)之間的斜率,則該特征值為:

(2)生成決策樹
數據采集完以后就預示著機器學習的訓練數據已經生成[9-10],每一個圖像的數據都對應一組特征值和代表該數據的標簽,然后分別生成決策樹Tα和決策樹Tβ。特征值是按照步驟一中的算法生成的,第一個決策樹Tα的狀態是按照一個簡單的規則自動生成的:如果在焦點搜索過程中最大峰值是x,那么x左邊的記做“近焦”,x右邊的記做“遠焦”。第二個決策樹Tβ是這樣生成的:如果搜索過程中經過兩個或更多的峰值,則狀態為“成功”;如果在該方向上經過四個粗步搜索仍然沒有更多的峰,則狀態為“返回”;除了以上兩種狀態,剩下的狀態則是“繼續”。

圖2 決策樹
圖2是生成的決策樹Tα,圖中R表示采集的兩個相鄰點之間的斜率;圖3是生成的決策樹Tβ,圖中L表示該位置到迄今為止最大焦點值之間的距離,R1表示該位置到迄今為止最大焦點值之間的斜率,R2表示迄今為止最小值與最大值之間的斜率,R3表示當前最大斜率,R4表示下降的第一個半斜率。
(3)爬山算法
當搜索進入“成功”狀態時,說明鏡頭到達的位置是目前為止焦點值最大的地方,也就是說鏡頭已經處于峰值或最接近峰值的位置。這時,局部搜索即將開始,這里用到簡單的爬山算法[11],鏡頭根據該算法找到一個焦點值不再增加的位置,即峰值。

圖3 決策樹
表1是在不同場景下各算法的精確度以及出現局部峰值的頻率,通過對比得知,本文算法的精度得到了相對的提高且出現局部峰值的概率也相對減小。因為本文只有當粗略搜索輸出“成功”時才進行局部搜索,這時鏡頭已經非常靠近峰值了,所以此搜索不會受到局部極值的影響。

表1 不同算法聚焦參數對比表
本文把機器學習中的決策樹算法應用到自動對焦算法中,實驗結果表明,該算法有效提高了精度并減少了出現局部峰值的概率,具有一定的實用價值。
參考文獻
[1]郭曉東,陳華旺,王晨晟,等.基于紅外圖像邊緣特征的自動對焦技術[J].光學與光電技術,2013,11(2):79-82.
[2]陳浩,陳建,葉輕舟,等.基于相鄰像素差與NRSS的自動對焦算法[J].計算機工程,2015,41(9):261-265.
[3]洪裕珍,任國強,孫健.離焦模糊圖像清晰度評價函數的分析與改進[J].光學精密工程,2014,22(12):3401-3408.
[4]郭惠楠,曹劍中,周祚峰,等.采用光流估計的數字相機自動對焦算法[J].紅外與激光工程,2013,42(12):3417-3422.
[5]馬鵬川,楊波,唐艦.一種自動對焦算法的優化[J].光學儀器,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].微型機與應用,2014,33(15):62-64.
[10]張穎瑩,李艷紅.基于Web挖掘的新股破發原因探究與預測[J].微型機與應用,2015,34(10):58-60.
[11]張艷超,趙建,韓希珍,等.SUSAN清晰度評價函數在自動對焦中的應用[J].中國光學,2014,7(2):240-244.
賈海彥(1990 -),女,碩士研究生,主要研究方向:圖像處理。
趙山山(1990 -),男,碩士研究生,主要研究方向:信號與信息處理。
張紅民(1970 -),男,博士,教授,主要研究方向:圖像處理。
引用格式:賈海彥,趙山山,張紅民.一種基于機器學習的自動對焦算法[J].微型機與應用,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
作者簡介:
收稿日期:(2016-01-24)
中圖分類號:TP212.14
文獻標識碼:A
DOI:10.19358 /j.issn.1674-7720.2016.09.003