孫翔侃,白寶興
(長(zhǎng)春理工大學(xué) 計(jì)算機(jī)科學(xué)技術(shù)學(xué)院,長(zhǎng)春 130022)
?
基于機(jī)器學(xué)習(xí)的NAO機(jī)器人檢測(cè)跟蹤
孫翔侃,白寶興
(長(zhǎng)春理工大學(xué)計(jì)算機(jī)科學(xué)技術(shù)學(xué)院,長(zhǎng)春130022)
摘要:為了解決對(duì)人形NAO機(jī)器人的檢測(cè)跟蹤問題,提出了一種機(jī)器學(xué)習(xí)與特征匹配相結(jié)合的方法。向梯度直方圖(Histogram of Oriented Gradient)特征是一種在計(jì)算機(jī)視覺和圖像處理中用來進(jìn)行物體檢測(cè)的特征描述子,在行人檢測(cè)中取得了較好的效果。將其應(yīng)用于人形NAO機(jī)器人的檢測(cè)跟蹤,并結(jié)合AdaBoost算法通過機(jī)器學(xué)習(xí)的方法,從大量的訓(xùn)練樣本中自動(dòng)抽取HOG特征并建立級(jí)聯(lián)分類器,利用分類器找出視頻幀中含有機(jī)器人目標(biāo)的區(qū)域,并在此基礎(chǔ)上利用SURF (Speed Up Robust Features)特征匹配方法與模板圖像進(jìn)行特征匹配,以提高目標(biāo)識(shí)別的正確率。實(shí)驗(yàn)結(jié)果表明,該方法對(duì)NAO機(jī)器人在室內(nèi)光線無遮擋的情況下取得了穩(wěn)定的跟蹤效果。
關(guān)鍵詞:目標(biāo)檢測(cè);方向梯度直方圖;AdaBoost分類器;SURF特征匹配
目標(biāo)檢測(cè)跟蹤是計(jì)算機(jī)視覺領(lǐng)域的重要研究方向,在智能化交通系統(tǒng)、智能監(jiān)控系統(tǒng)等方面有著廣泛的應(yīng)用?;谔卣鞯臋z測(cè)方法是找到一種特征能夠較好的描述目標(biāo)物體,并且盡量不受背景光照因素的影響。方向梯度直方圖特征(Histogram of Oriented Gradient,HOG)[1]是一種在計(jì)算機(jī)視覺和圖像處理中用來進(jìn)行物體檢測(cè)的特征描述子,在行人檢測(cè)中取得了較好的效果[2,3]。本文將其應(yīng)用于人形機(jī)器人NAO的檢測(cè)跟蹤,并結(jié)合AdaBoost算法[4]通過機(jī)器學(xué)習(xí)的方法,從大量的訓(xùn)練樣本中自動(dòng)抽取HOG特征并建立分類器,利用分類器找出視頻幀中含有機(jī)器人目標(biāo)的區(qū)域,并在此基礎(chǔ)上利用SURF(Speed Up Robust Features)特征[5]與模板圖像進(jìn)行特征匹配,以提高目標(biāo)識(shí)別的正確率。
Kuranov[6]等人提到他們使用了5000個(gè)人臉正面圖像作為正樣本,3000個(gè)非人臉圖像作為負(fù)樣本用來進(jìn)行訓(xùn)練,而所用的5000個(gè)人臉正面圖像是由1000個(gè)原始圖像派生出來的。考慮到NAO機(jī)器人的特殊性,只采集少量NAO機(jī)器人正面全身圖像,并由這些原始原始圖像派生出所需的正樣本圖像即可。本文采集了20張NAO機(jī)器人正面站立姿勢(shì)圖像作為正樣本原始圖像??紤]到NAO機(jī)器人整體高度和寬度的比例,圖像大小設(shè)置為32×48。并準(zhǔn)備了5300張與目標(biāo)無關(guān)的背景圖像作為負(fù)樣本,圖像大小設(shè)置為640×480。利用opencv_createsamples使每一張?jiān)颊龢颖緢D像與背景圖像中隨機(jī)選取的一張進(jìn)行結(jié)合,在以背景圖片為底建立的笛卡爾坐標(biāo)系上,合成過程中通過改變正樣本圖像相對(duì)于背景圖像在水平方向和垂直方向上的旋轉(zhuǎn)角度利用原始正樣本圖像生成4800張包含檢測(cè)目標(biāo)的訓(xùn)練集。
2.1方向梯度直方圖特征提取
方向梯度直方圖(HOG)特征是一種在計(jì)算機(jī)視覺和圖像處理中用來進(jìn)行物體檢測(cè)的特征描述子,由Dalal[1]提出。HOG方法是在圖像的局部細(xì)胞單元上進(jìn)行處理,它對(duì)圖像的幾何或者光學(xué)變化都能保持很好的不變性[2]。HOG特征提取主要過程[1]如下:
(1)提取視頻中每一幀圖像,并將其由RGB圖像變換為灰度圖像。
(2)計(jì)算圖像中所有點(diǎn)的梯度值。
(3)對(duì)每個(gè)細(xì)胞單元建立相應(yīng)的梯度直方圖。梯度直方圖方向可取0~180度或0~360度范圍內(nèi)。實(shí)驗(yàn)中采用0~180度無符號(hào)方向角度范圍,并將其平均分成9個(gè)通道。直方圖的建立過程是將細(xì)胞單元中每一個(gè)像素點(diǎn)根據(jù)其梯度對(duì)應(yīng)的角度范圍進(jìn)行加權(quán)投票的過程,其中權(quán)值可以用梯度幅度來表示。
(4)將細(xì)胞單元合成塊,塊對(duì)應(yīng)的直方圖是由細(xì)胞單元的直方圖合成得到的。塊與塊之間可以重疊。實(shí)驗(yàn)中用到的塊的類型為矩形塊,其中每塊含有2×2個(gè)細(xì)胞單元,每個(gè)細(xì)胞單元含有8×8個(gè)像素。一個(gè)矩形塊可由每塊所含的細(xì)胞單元數(shù),細(xì)胞單元所含的像素點(diǎn)數(shù)和每個(gè)細(xì)胞單元所含的直方圖通道數(shù)來描述。
(5)對(duì)塊的HOG特征向量歸一化。歸一化是針對(duì)每一個(gè)塊進(jìn)行的,實(shí)驗(yàn)中所使用的歸一化函數(shù)為:
2.2AdaBoost分類器
AdaBoost(adaptive boosting)算法是由Freund 和Schapire[4]提出的一種改進(jìn)的Boosting迭代算法。Boosting算法的核心思想是針對(duì)同一個(gè)訓(xùn)練集訓(xùn)練不同的分類器,即弱分類器,然后把這些弱分類器按一定權(quán)重集合起來,構(gòu)造一個(gè)更強(qiáng)的最終分類器[7]。常用的AdaBoost算法有Discrete AdaBoost,Real AdaBoost,LogitBoost和Gentle AdaBoost[7]。這四種算法總體結(jié)構(gòu)相似,其學(xué)習(xí)方法基于n個(gè)訓(xùn)練樣本集(x1,y1),...,(xn,yn)且xi∈Rk,yi∈{}-1,1。xi是作為輸入的相關(guān)特征向量,yi是分類器判斷結(jié)果輸出的標(biāo)記。在實(shí)驗(yàn)中xi就是一個(gè)HOG特征。而輸出的+1,-1表示所輸入的樣本是否完全包含目標(biāo)。AdaBoost算法訓(xùn)練數(shù)據(jù)集中的每個(gè)樣本,并賦予每個(gè)樣本一個(gè)權(quán)重,這些權(quán)重構(gòu)成了一組向量。首先將樣本的權(quán)重都初始化為相等值。在此樣本分布下訓(xùn)練出一弱分類器并計(jì)算該分類器的錯(cuò)誤率。而在第二次訓(xùn)練中,對(duì)于第一次分類錯(cuò)誤的樣本,將其對(duì)應(yīng)的權(quán)重加大;而對(duì)于第一次分類正確的樣本,使其權(quán)重降低。在新的權(quán)重向量計(jì)算出來后又開始下一輪迭代。AdaBoost算法會(huì)不斷地重復(fù)訓(xùn)練和調(diào)整權(quán)重的過程,直到弱分類器的數(shù)目達(dá)到用戶指定要求為止。
2.3級(jí)聯(lián)分類器
級(jí)聯(lián)分類器(Cascade of Classifiers)是一個(gè)退化決策樹,每一層級(jí)的分類器可讓大部分目標(biāo)樣本通過,而排除一部分非目標(biāo)樣本[8]。一旦某一級(jí)分類器排除了某個(gè)樣本,那么該樣本就被判定為負(fù),不再進(jìn)一步處理。在實(shí)驗(yàn)中級(jí)聯(lián)分類器的每一級(jí)的弱分類器都使用AdaBoost算法訓(xùn)練,其最小命中率設(shè)為0.995即允許排除0.5%的正樣本,而最大錯(cuò)誤率設(shè)為0.5,即允許去除50%的非機(jī)器人樣本。
3.1特征檢測(cè)
SURF特征是一種尺度不變特征,該算法由Herbert Bay[5]等人提出。SURF算法首先計(jì)算每個(gè)像素的Hessian矩陣,該矩陣測(cè)量一個(gè)函數(shù)的局部曲率,其定義如下:
該矩陣的行列式給出曲率的強(qiáng)度,定義角點(diǎn)為具有較高局部曲率的圖像點(diǎn)。該矩陣可以使用不同σ尺度的拉普拉斯高斯核進(jìn)行計(jì)算,因此Hessian矩陣變?yōu)椋篐(x,y,σ)。當(dāng)Hessian的值同時(shí)在空間域和尺度域上達(dá)到局部最大值是,就認(rèn)為找到了尺度不變特征。實(shí)驗(yàn)中通過使用SurfFeatureDetector的對(duì)象實(shí)例來獲取一副圖像的SURF特征,并保存為KeyPoint類型的向量集。
3.2特征描述子
SURF描述子將特征點(diǎn)周圍較大范圍內(nèi)應(yīng)用如圖的簡(jiǎn)單核。
圖1 簡(jiǎn)單核
左邊的核測(cè)量水平方向的局部強(qiáng)度差dx,右邊的核測(cè)量垂直方向的差dy。用于提取描述子向量的區(qū)域尺寸定義為特征尺度因子的20倍。方形區(qū)域被分為4×4大小的子區(qū)域,并計(jì)算5×5范圍內(nèi)的dx和dy響應(yīng)。對(duì)所有響應(yīng)求和,對(duì)每個(gè)子區(qū)域得出四個(gè)描述子值:
因?yàn)榇嬖?×4共16個(gè)子區(qū)域,所以共有64個(gè)描述子值。通過使用SurfDescriptionExtractor對(duì)象實(shí)例的compute方法基于特征檢測(cè)得到的向量計(jì)算出描述子值。
3.3特征匹配
用SURF方法獲得參考圖像和待配準(zhǔn)圖像的特征點(diǎn)后,進(jìn)行特征匹配。實(shí)驗(yàn)中使用BFMatcher對(duì)象實(shí)例NORM_L2方法對(duì)兩幅圖像的SURF特征描述子進(jìn)行匹配并返回所匹配的特征數(shù)量,并與預(yù)設(shè)的閾值進(jìn)行比較以判斷兩幅圖像的相似度,進(jìn)而判斷識(shí)別區(qū)域是否包含NAO機(jī)器人。
在目標(biāo)被檢測(cè)出來之后,通過計(jì)算矩形目標(biāo)區(qū)域的質(zhì)心,以實(shí)現(xiàn)對(duì)目標(biāo)的跟蹤定位。具體計(jì)算方法如下:其中(x,y)為矩形目標(biāo)區(qū)域左上角坐標(biāo),h和w分別表示矩形區(qū)域的高與寬。在跟蹤時(shí)在窗口中顯示跟蹤位置。
實(shí)驗(yàn)利用生成的訓(xùn)練集分別以Discrete Adaboost,Real AdaBoost,LogitBoost和Gentle Ada-Boost這四種方法訓(xùn)練基于HOG特征的級(jí)聯(lián)分類器,且保證層級(jí)相同,實(shí)驗(yàn)中使用由NAO機(jī)器人攝像頭所錄制的視頻進(jìn)行測(cè)試。通過測(cè)試15層的級(jí)聯(lián)分類器在測(cè)試中可以在大多數(shù)情況下識(shí)別站立運(yùn)動(dòng)的NAO機(jī)器人目標(biāo),但是會(huì)檢測(cè)到一些不包含目標(biāo)的錯(cuò)誤窗口。而隨著層級(jí)數(shù)的增加分類器扔能對(duì)站立的NAO機(jī)器人目標(biāo)正確識(shí)別,但是對(duì)運(yùn)動(dòng)的NAO機(jī)器人特別是包含一些動(dòng)作的情況分類器不能正確識(shí)別。我們的目的是在NAO機(jī)器人站立的情況下且有一些簡(jiǎn)單動(dòng)作的情況下也能識(shí)別跟蹤目標(biāo)。所以將分類器層級(jí)數(shù)設(shè)為15級(jí)。不同的層級(jí)分類器的正確識(shí)別率如表1所示。
表1 四種AdaBoost方法不同層級(jí)分類器正確識(shí)別率
比較檢測(cè)跟蹤效果得出通過Discrete Adaboost算法訓(xùn)練得到的分類器的對(duì)于包含一些細(xì)微動(dòng)作的檢測(cè)跟蹤效果略好于其通過他三種算法訓(xùn)練得到的分類器,但存在錯(cuò)誤識(shí)別。在此基礎(chǔ)上再利用SURF特征匹配以拒絕錯(cuò)誤的識(shí)別情況。如圖2所示,左邊圖像未使用SURF特征匹配,右邊為使用SURF特征匹配效果。
圖2 SUEF特征匹配使用前后效果對(duì)比圖
將用分類器所檢測(cè)出的區(qū)域圖像與模板圖像進(jìn)行匹配將所得到的相似度值與預(yù)設(shè)閾值進(jìn)行比較,相似度大于閾值的判斷為是目標(biāo),小于閾值的判斷為非目標(biāo)。實(shí)驗(yàn)中閾值設(shè)定為20時(shí)效果較好,將正確識(shí)別率提升至88.7%。對(duì)NAO機(jī)器人的跟蹤結(jié)果如圖3所示。
圖3 NAO機(jī)器人跟蹤效果圖
本文主要通過使用行人檢測(cè)中經(jīng)常使用的HOG特征與AdaBoost算法相結(jié)合的方法應(yīng)用于類人型機(jī)器人的檢測(cè),并在此檢測(cè)基礎(chǔ)上結(jié)合SURF特征匹配的方法將通過分類器檢測(cè)出的區(qū)域與模板圖像進(jìn)行匹配進(jìn)一步提高了目標(biāo)識(shí)別的正確率,實(shí)現(xiàn)了對(duì)兩個(gè)機(jī)器人的同時(shí)識(shí)別跟蹤,達(dá)到了實(shí)驗(yàn)預(yù)期。
參考文獻(xiàn)
[1]N Dalal,B Triggs. Computer vision and pattern recognition[C].IEEE Conference on Computer Vision and Pattern Recognition,San Diego,CA,USA,2005.
[2]F Suard,A Rakotomamonjy,A Bensrhair,et al. Intelligent vehicles symposium[C].IEEE Conference on Intelligent Vehicles Symposium,Tokyo,2006.
[3]朱文佳.基于機(jī)器學(xué)習(xí)的行人檢測(cè)關(guān)鍵技術(shù)研究[D].上海:上海交通大學(xué),2008.
[4]Y Freund,R Schapire. A decision-theoretic generalization of on-line learning and an application to boosting[J].Journal of Computer and System Sciences,1997,55(1):119-139.
[5]H Bay,T Tuytelaars,L Van Gool. SURF:Speeded Up Robust Features[J].Computer Vision and Image Understanding,2008,110(3):404-417.
[6]Alexander Kuranov,Rainer Lienhart,Vadim Pisarevsky. Pattern recognition[C].In DAGM 25th Pattern Recognition Symposium,Berlin,2003.
[7]Y Freund,R E Schapire. Experiments with a new boosting algorithm[C].Proceedings of the Thirteenth International Conference,San Francisco,1996.
[8]Paul Viola,Michael J Jones. Computer vision and pattern recognition[C]. IEEE Conference on Computer Vision and Pattern Recognition,Kauai,HI,2001.
Detection and Tracking of NAO Based on Machine Learning
SUN Xiangkan,BAI Baoxing
(School of Computer Science and Technology,Changchun University of Science and Technology,Changchun 130022)
Abstract:To detect and track the NAO robot,a method of combing machine learning and feature matching was proposed. Histograms of Oriented Gradient(HOG)feature is a descriptor which is used for object detection in computer vision and image processing. HOG descriptors outperform existing feature sets for human detection. The HOG feature sets was used to detect the NAO robot. A method of combining AdaBoost algorithm and HOG features created a cascade classifier. The cascade classifier was used to detect the NAO robot. In order to improve the right rate of recognition,SURF(Speed Up Robust Features)algorithm was used to compare the region of interest and the template,the region of interest was obtained by the cascade classifier. By matching the two pictures,to determine whether the region of interest contains the target. In the experiment,two NAO robots were tracked. The experimental results show that the tracking and recognition of NAO performed steadily on indoor lights without any shelter conditions.
Key words:NAO detection;HOG;AdaBoost classifier;SURF feature matching
中圖分類號(hào):TP391.41
文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1672-9870(2016)02-0116-04
收稿日期:2015-10-08
作者簡(jiǎn)介:孫翔侃(1990-),男,碩士研究生,E-mail:sxk1990ly@126.com
通信作者:白寶興(1953-),男,教授,博士生導(dǎo)師,E-mail:bxbai@cust.edu.cn