常鑲石,胡玉蘭
(沈陽理工大學(xué) 信息科學(xué)與工程學(xué)院,沈陽 110159)
隨著人工智能的火熱,許多人機交互應(yīng)用漸漸進入人們的生活。手勢是比較熱門的人機交互方式之一,手勢識別是先利用計算機對手勢圖像進行預(yù)處理和特征提取,然后利用統(tǒng)計學(xué)習(xí)方法等算法使對圖像特征進行學(xué)習(xí),分析出每個手勢的具體含義,進而實現(xiàn)人與計算機之間的人機交互操作?,F(xiàn)在,手勢識別已成為一個倍受人們關(guān)注的研究領(lǐng)域,尤其是基于視覺的手勢識別,包括在虛擬現(xiàn)實(VR)、增強現(xiàn)實(AR)、視頻游戲等方面有著很好的應(yīng)用前景。
目前,關(guān)于手勢識別的研究有很多。Grimes[1]被認為是最早研究手勢識別的人,在AT&T最先取得了“數(shù)據(jù)手套”的專利。在實驗過程中,實驗者可以戴上一個帶有傳感器的手套,計算機通過手套可以獲取手的位置、手指的伸展狀況等豐富信息。Graobal等[2]在記錄視頻中提取實驗者手套顏色的特征,采用隱性馬爾科夫模型(Hidden Markov Model,HMM)識別261個手勢孤立詞匯,其正確率達到91.3%。杜堃等[3]研究了在復(fù)雜環(huán)境下利用卷積神經(jīng)網(wǎng)絡(luò)對手勢進行識別,引入滑動窗口思想使識別率達到了96.1%,但是增加滑動窗口的同時大大增加了處理時間。范文兵等[4]通過膚色檢測手掌,提取手掌質(zhì)心和輪廓來識別手勢,最終也達到了平均96%的識別率。楊紅玲等[5]則提出了卷積神經(jīng)網(wǎng)絡(luò)和膚色檢測相結(jié)合的識別方法,在識別率和處理時間取得了不錯的效果。王龍等[6]將深度學(xué)習(xí)引入手勢識別,利用卷積神經(jīng)網(wǎng)絡(luò)對手勢圖像進行降維和抽取特征并進行權(quán)值訓(xùn)練,網(wǎng)絡(luò)識別率高達97.2%。
現(xiàn)在比較成熟的Adaboost人臉檢測算法和膚色檢測算法在人臉識別和手勢識別領(lǐng)域中有著廣泛的應(yīng)用。Adaboost算法的基本思想是構(gòu)建小型且高效的分類器用以濾除大量的負樣本,使相對復(fù)雜的級聯(lián)分類器在小工作量的情況下檢測出目標,但是在待檢測圖像中,負樣本的數(shù)量占整個窗口的大多數(shù),包含目標的圖像比例比較低,因此檢測器將會耗費大量時間在無人臉區(qū)域的檢測上,在應(yīng)用實時目標監(jiān)測系統(tǒng)中不會有太好的效果。膚色檢測應(yīng)用在檢測人臉和手掌時有著較好的時效性,并且對于遮擋、旋轉(zhuǎn)等情況均有一定的魯棒性,但是由于其自身的局限性,使得基于該方法的目標檢測有較高的誤檢率。
本文針對兩種方法的優(yōu)勢和缺陷,提出一種將集成學(xué)習(xí)和膚色檢測相結(jié)合的手勢位置識別方法,將膚色檢測理論引入基于視覺的手勢識別中,對手勢識別問題進行適應(yīng)性研究。人臉膚色與手掌膚色有著相似的顏色模型結(jié)構(gòu),首先通過Adaboost人臉檢測找到人臉所在位置,在人臉周圍畫出若干個位置方框圖,再通過膚色檢測找到手掌具體所在位置然后向計算機反饋,如果膚色檢測沒有找到手掌具體位置,再用已經(jīng)訓(xùn)練好的分類器對圖像進行識別。這種識別策略大大增強了整個手勢識別系統(tǒng)的魯棒性和實時性,減小泛化誤差。
整個手勢位置識別系統(tǒng)包括兩個過程:尋找人臉過程和尋找人手過程。尋找人臉過程是先從人臉分類器入手,調(diào)用通過Haar特征結(jié)合Adaboost算法訓(xùn)練完成的人臉分類器對實時傳輸進來的每一幀圖像進行人臉檢測,由于分類器人臉檢測會有一定誤差,出現(xiàn)檢測不到人臉的狀況,出現(xiàn)這種情況時對圖像進行亮度均衡處理,然后在圖像中心利用膚色檢測尋找人臉。之后是尋找人手過程,尋找人手過程需要在已經(jīng)找到的人臉周圍畫出若干個矩形位置方框,有了矩形方框很容易通過膚色檢測得到手掌的位置,人臉與人手的膚色結(jié)構(gòu)很相似,通過截取人臉上的一塊膚色在畫好的方框中找到其相似的結(jié)構(gòu),便可以確定手掌的位置。通過膚色尋找手掌速度很快,有很高的實時性,但是有可能出現(xiàn)多個位置方框同時出現(xiàn)膚色,或者沒有方框出現(xiàn)膚色的情況,因此,利用HOG特征訓(xùn)練出的手掌分類器作為輔助和補短可以在很大程度上減小誤差。手勢位置識別流程圖,如圖1所示。
本文分別利用Haar特征和HOG特征結(jié)合集成學(xué)習(xí)技術(shù)構(gòu)造人臉和手掌分類器。通過研究前人的論文成果發(fā)現(xiàn)人臉和眼睛的生理結(jié)構(gòu)與Haar特征相似,而手掌的輪廓的梯度變化適合于HOG特征,從而分別從人臉人眼和手掌提取Haar特征和HOG特征,并利用加性模型推導(dǎo)的Adaboost算法訓(xùn)練分類器。下面介紹本文使用的算法和特征。
圖1 手勢位置識別流程圖
Kearns等[7]首先提出了“強可學(xué)習(xí)(strongly learnable)”和“弱可學(xué)習(xí)(weakly learnable)”的概念。文獻[8]提出了強可學(xué)習(xí)和弱可學(xué)習(xí)的關(guān)系。在學(xué)習(xí)中,如果發(fā)現(xiàn)了“弱學(xué)習(xí)算法”,能否將其提升為“強學(xué)習(xí)算法”。關(guān)于提升方法的研究有很多,最具代表性的是Adaboost算法。Freund等[9]在1995年改進了提升算法,提出的Adaboost算法在速度上取得了巨大的成功,第一次在理論上實時實現(xiàn)了人臉檢測。Paul Viola等[10]在2001年成功實現(xiàn)了Adaboost算法的人臉檢測應(yīng)用,并完成相應(yīng)人臉檢測系統(tǒng),取得里程碑式的意義。
Adaboost算法有很多種推導(dǎo)方式,比較容易理解的是基于“加性模型”(additive model),即基學(xué)習(xí)器ht(x)乘以各自的權(quán)重αt線性組合成強分類器H(x)
(1)
最小化指數(shù)損失函數(shù)
lexp(H|D)=Ex~D[e-f(x)H(x)]
(2)
給定訓(xùn)練集D={(x1,y1),(x2,y2),…,(xm,ym)},訓(xùn)練集樣本xi?Rn,訓(xùn)練集標簽yi={-1,+1},損失函數(shù)lexp(H|D)和基學(xué)習(xí)器ht(x),學(xué)習(xí)加性模型的算法如下。
輸入:
訓(xùn)練集D={(x1,y1),(x2,y2),…,(xm,ym)};
基學(xué)習(xí)算法ζ;
訓(xùn)練輪數(shù)T.
過程:
1:D(x)=1/m.
2:fort=1,2,…,Tdo
3:ht=ζ(D,Dt);
5: ifεt>0.5 then break
7:
通過加性模型[11]訓(xùn)練的Adaboost級聯(lián)分類器是由若干個占不同權(quán)重的弱分類器組成,對圖像分類采用投票機制。在分類過程中,超過半數(shù)以上的弱分類器給出的分類結(jié)果作為級聯(lián)分類器最后的分類結(jié)果。
2.2.1 Haar特征
Haar特征是由Papageorgiou C等[12]最早提出的,因類似于Haar小波而得名。Haar特征是通過計算圖像中灰度值相差較大的相鄰區(qū)域的灰度值總和之差得到的,并且能夠反映被檢測對象局部特征的灰度變化。這種特征計算量較大,對計算機的算力和算法有一定要求。
Viola等[13-14]在人臉檢測系統(tǒng)中將積分圖的思想應(yīng)用到Haar特征計算里,極大地提高了用于檢測器的特征獲取速度。Lienhart等[15]在Viola的算法基礎(chǔ)上提出了擴展的Haar特征,使系統(tǒng)在識別速度沒有太大變化的情況下提高識別效果。本文采用Haar特征來描述人臉的邊緣及結(jié)構(gòu)特征,共分4大類15種a特征,如圖2所示。人臉人眼(來源自網(wǎng)絡(luò))特征示例如圖3所示。
本項目總建筑面積51933.88m2,其中地上27層,建筑面積41902.12m2。地下1層,建筑面積10031.76m2。建筑高度99.60m。主要包括大堂、宴會廳、全日制餐廳、行政酒廊、中餐廳和客房,以及附屬的門廳、大堂吧、休息廳、廚房、酒店管理用房和各種設(shè)備房,以及泳池、SPA、棋牌室、健身室等康體功能。
圖2 四大類Haar特征
圖3 Haar人眼和人臉特征
2.2.2 HOG特征
(3)
(4)
式中Gx與Gy分別是x方向與y方向的梯度。HOG在進行特征描述時將θ的梯度方向在[-90°,90°]區(qū)間劃分為N個均勻空間Sk,像素點(x,y)在k個梯度方向上的梯度投影L為
(5)
仿真結(jié)果如圖4所示(圖片來自于網(wǎng)絡(luò))。
圖4 HOG特征仿真
隨著人機交互設(shè)備的普及,人的膚色逐漸成為計算機視覺中的熱門研究領(lǐng)域,在與人有關(guān)的各種智能視覺系統(tǒng)中,膚色檢測技術(shù)得到了越來越多的應(yīng)用,有比較好的應(yīng)用前景。膚色檢測是一種基于顏色空間模型對皮膚顏色進行檢測的方法,有著計算量小且檢測速度快的優(yōu)點,但由于生活中有很多與膚色相近的物體,所以,這種方法會產(chǎn)生較高的誤檢率。規(guī)定膚色范圍是一種閾值化的方法,是一種常用并且非??焖俚哪w色建模方法,在人臉檢測和手勢識別中有著廣泛的應(yīng)用。
用數(shù)學(xué)表達式明確規(guī)定膚色范圍已經(jīng)被提出,Chai等[17]采用YCbCr顏色空間的CbCr平面,如果輸入像素的顏色落入RCr=[133:173]和RCb=[77:127]限定的矩形區(qū)域,就認為是屬于膚色像素。張洪明等[18]提到在不同的亮度分量Y上的矩形區(qū)域(RCr,RCb)不同,因此在Y分量上分段定義膚色矩形區(qū)域,并且提出在YUV空間中根據(jù)Y范圍和UV平面中色度范圍進行膚色檢測。這種膚色檢測方法計算量小,處理時間短并且可以反饋給計算機簡單明確的結(jié)果,特別是在實時系統(tǒng)中有著巨大的優(yōu)勢。基于HSV顏色模型的膚色檢測方法,是本文主要運用的方法。
RGB顏色模型到HSV顏色模型的變換公式如下。
(6)
式中:由于色調(diào)H不易到光線的影響,所以H(Hue)為檢測膚色的主要依據(jù);S代表顏色中的飽和度(Saturation),其值在0到1之間;V代表明暗度(Value),其值在0到1之間。由于膚色一般是分布在某一個特定的區(qū)域中,可以通過下式組合定義出在HSV中的子集合。
(7)
圖5是根據(jù)式(7)的膚色范圍提取的膚色區(qū)域(圖片作者拍攝)。
圖5 膚色檢測結(jié)果
為驗證本文膚色檢測與集成學(xué)習(xí)技術(shù)相結(jié)合的有效性,搭建實驗平臺進行有效性驗證。實驗平臺為Intel Core i5-7500 CPU 3.4GHz,8GB RAM,NVIDIA GeForce GTX 1060。顯卡支持CUDA平臺,操作系統(tǒng)為Windows 10 家庭中文版 64位。軟件環(huán)境為Visual Studio 2015+OpenCV 3.2,部分結(jié)果如圖6所示。
圖6為作者在室內(nèi)光照下,通過攝像頭對手勢位置識別算法的結(jié)果截圖。圖6中方框1代表膚色檢測,方框2代表分類器,方框3代表手掌可能放置的位置,通過截取人臉膚色與綠色方框內(nèi)手掌膚色對比,判斷手掌的位置。分類器判斷結(jié)果是基于大量訓(xùn)練集訓(xùn)練若干個弱分類器,識別手勢位置時若干個弱分類器進行投票,取半數(shù)以上為結(jié)果。圖6代表左、左上和右三個命令。
圖6 仿真結(jié)果
圖7為分類器未識別情況。
圖7 分類器未識別情況
由圖7可以看出,當分類器未識別時,膚色檢測可以快速的給出識別結(jié)果。圖7為右上和上命令。同理,膚色檢測未檢測出結(jié)果時,分類器會識別手掌所在的給出結(jié)果。將膚色檢測與集成學(xué)習(xí)相結(jié)合,在識別速度上較分類器大大提升,有很高的實時性;兩種算法相結(jié)合,加強了整個系統(tǒng)的魯棒性。本文采用2000張正負樣本圖片作為數(shù)據(jù)集,其中,80%為訓(xùn)練集,20%作為測試集。Adaboost算法、膚色檢測算法和本文算法對比結(jié)果如表1所示。
表1 算法對比
實驗結(jié)果表明,本文提出的方法用時較少,且提高了系統(tǒng)識別率和魯棒性。
提出一種集成學(xué)習(xí)與膚色檢測相結(jié)合的手勢位置識別方法和先尋找人臉后尋找人手的識別策略,與傳統(tǒng)的人機交互方式相比,該方法具有較高的魯棒性。將集成學(xué)習(xí)與膚色檢測相結(jié)合,識別率較高,實時性較好。通過實驗仿真,證明了該方法的有效性,在實時系統(tǒng)中有很好的應(yīng)用前景。