李映輝,史卓,安亞磊(桂林電子科技大學(xué),桂林 541004)
?
基于Leap Motion的三維手勢識(shí)別方法
李映輝,史卓,安亞磊
(桂林電子科技大學(xué),桂林541004)
摘要:
關(guān)鍵詞:
隨著微軟Kinect的發(fā)展和普及,深度攝像頭吸引了越來越多人的注意,同時(shí)各類3D應(yīng)用也層出不窮。盡管Kinect價(jià)廉普及廣,但它相對于人體手部信息的識(shí)別和處理太復(fù)雜,必須經(jīng)過繁雜的圖像處理等識(shí)別過程,難以保證快速的估計(jì)手部姿態(tài)[1]。而其他更高性能的深度攝像頭價(jià)格昂貴,無法普及。Leap Motion的出現(xiàn)解決了這一問題。它是由美國的Leap公司出品的一款廉價(jià)的專門捕獲手部運(yùn)動(dòng)信息的體感控制器,它提供了一種專門識(shí)別手并能進(jìn)行手勢交互的解決方案。相較于傳統(tǒng)的三維手勢識(shí)別基本上都是通過轉(zhuǎn)換為二維圖像來處理[2-4],Leap Motion利用雙目紅外成像的原理重建出手的三維空間運(yùn)動(dòng)信息,能檢測并跟蹤手、手指和類似手指的工具,實(shí)時(shí)獲取它們的位置、方向和部分手勢信息?;贚eap Motion的高精度和實(shí)時(shí)性,并且價(jià)格低廉易于普及,在本文系統(tǒng)中采用Leap Motion作為三維手勢獲取和識(shí)別的設(shè)備。
在Leap Motion中,一個(gè)Frame類對象代表一個(gè)數(shù)據(jù)幀,F(xiàn)rame類的成員函數(shù)hands()返回一個(gè)容器-HandList類對象,它包含了若干個(gè)Hand類的對象,每個(gè)Hand類對象包含了Leap Motion檢測到的一只手的全部信息[5]。
Hans類主要描述了三維手勢的手指屬性和手掌屬性。其中手指屬性Hand::fingers()具體包括手指的個(gè)數(shù)FingerList::count()、每根手指尖的位置pointable.tip-Position()和指向方向pointable.direction()。本文中為了進(jìn)行識(shí)別添加手指的狀態(tài)有兩種:張開狀態(tài)和閉合狀態(tài),可以通過公式(1)計(jì)算得到每根手指向量分別于手掌心向量的夾角來判斷該手指是張開還是閉合;添加夾角屬性,即計(jì)算并記錄張開狀態(tài)下的相鄰手指間的夾角。手掌屬性則具體包括左右手屬性,手掌心在三維坐標(biāo)下的位置hand.palmPosition(),手掌心的6個(gè)朝向(上、下、內(nèi)、外、前、后),其中手掌心朝向由兩個(gè)向量給出:一個(gè)是從手掌中心指向手指的方向hand.direction();一個(gè)是垂直于手的平面,指向手掌的外側(cè)hand.palmNormal(),如圖1所示。手指的指向如圖2所示。
以單手手勢圖4中的手勢“Okay”為例,三維手勢識(shí)別過程具體細(xì)分到下面幾個(gè)主要步驟:
(1)拍攝用戶做出的手勢動(dòng)作。
在這里,在體感設(shè)備有效范圍內(nèi)檢測到用戶的手勢信息,持續(xù)兩秒的拍攝,對于靜態(tài)三維手勢,兩秒時(shí)間內(nèi)的手勢保持不動(dòng)對用戶無論生理上或心理上都是在可忍耐時(shí)間內(nèi);
(2)對用戶手勢信息進(jìn)行初步判斷。
根據(jù)拍攝到的手心點(diǎn)的三維坐標(biāo)個(gè)數(shù)及初步判定出現(xiàn)在Leap Motion有效范圍內(nèi)手掌個(gè)數(shù),由此判斷出現(xiàn)在用戶輸入的是單手還是雙手。單手靜態(tài)三維手勢和動(dòng)態(tài)三維手勢在拍攝時(shí)間段只有一只手出現(xiàn)在攝像頭可視范圍內(nèi),雙手靜態(tài)三維手勢要求兩只手在拍攝時(shí)間段同時(shí)出現(xiàn)在攝像頭可視范圍內(nèi)。
(3)用T1-T5表示一只手的五根手指,其中T1表示大拇指,T5表示小拇指。分析圖5手勢特點(diǎn):
①結(jié)合圖4的Leap Motion的空間三維坐標(biāo)系[6]易判斷出T1和T2在X軸和Y軸上的坐標(biāo)絕對值是小于T3、T4和T5,而Z軸上T1和T2絕對值是大于T3、T4和T5;
②T1和T2指尖是相觸的,所以它們指尖的歐氏距離必須小于閾值d;
③T3和T4之間的夾角α34以及T4和T5之間的夾角α45必須大于一定角度α';
④T3、T4和T5是張開狀態(tài),故它們與手掌的垂直向量hand.palmNormal()呈一定大小的夾角β';
通過公式(2)計(jì)算T1和T2指尖三維空間位置坐標(biāo)的歐氏距離d。隨后分別計(jì)算出T3和T4之間的夾角α34以及T4和T5之間的夾角α45。用分別表示兩根相鄰手指的指向,那么兩指間的夾角α可以通過公式(1)計(jì)算得出。相應(yīng)的手指與手掌的垂直向量夾角β也可通過式(1)求得。
圖1 手掌心朝向示意圖
圖2 手指朝向示意圖
圖3 Leap Motion空間三維坐標(biāo)系
由于Leap Motion的高精度(0.01mm),經(jīng)過試驗(yàn)調(diào)整,在本文中設(shè)置的歐氏距離閾值d=0.3,α'=15°,β'= 60°。
圖4 三維手勢Okay手指指向與手掌心垂直向量示意圖
在本系統(tǒng)中,定義的三維手勢主要包括為單手靜態(tài)三維手勢和雙手靜態(tài)三維手勢。通過本文方法,可以有效識(shí)別不同姿態(tài)的三維手勢,因此可以建立一個(gè)基于單手和雙手靜態(tài)三維手勢庫。結(jié)合傳統(tǒng)的簡單的靜態(tài)手語,我們的三維手勢庫中的手勢包含的單手靜態(tài)三維手勢如圖6所示:數(shù)字0-9,通用手語,如OK(食指尖與拇指尖相觸,其他手指豎起),棒(豎大拇指),差(握拳狀后大拇指朝下豎起),我愛你(豎起大拇指、食指和小指)等。
對于雙手靜態(tài)三維手勢,分為兩類:一類可以是簡單的單手靜態(tài)三維手勢的組合,即一只手可以表達(dá)14中不同姿態(tài),雙手組合起來的三維手勢就可以多達(dá)196種(14×14);另一類就是簡單的、盡可能少遮擋或無遮擋的三維手勢,如圖5所示。
圖5 單手靜態(tài)三維手勢
圖6 雙手靜態(tài)三維手勢
通過不同單手靜態(tài)三維手勢的組合以及雙手靜態(tài)三維手勢,本文所能建立的三維手勢庫可以包含200多種不同的三維手勢。
借力于三維體感技術(shù)和新型體感設(shè)備的快速發(fā)展和普及,本文提出了一種非接觸式的、基于視覺感知的三維手勢識(shí)別方法,并使用雙手的不同手勢組合建立了一個(gè)簡單三維手勢庫,可以應(yīng)用于手語識(shí)別等領(lǐng)域。鑒于Leap Motion設(shè)備識(shí)別范圍有限,不能精確識(shí)別人上肢動(dòng)作,并且手語手勢的遮擋和細(xì)節(jié)微小差別,都是目前的難點(diǎn)問題,希望在未來的新一代設(shè)備上加以解決。
參考文獻(xiàn):
[1]Shi Zhuo,Li Ying-hui,Yu Ke,ChengYuan-quan,Zhou Chang-shao.Research of Hand Gesture using Kinect based on Finger Recognition[J].Computer Modelling and New Technologies,2014,VOL.18,P158-162
[2]范保玲.基于Hough變換和神經(jīng)網(wǎng)絡(luò)的中國靜態(tài)手語識(shí)別[D].西安建筑科技大學(xué),2008
[3]郭彩龍.中國近代手語識(shí)別的研究[D].西安建筑科技大學(xué),2009
[4]翁漢良,戰(zhàn)蔭偉.基于視覺的多特征手勢識(shí)別[J].計(jì)算機(jī)工程與科學(xué).2012(2)
[5]龐啟超.面向人機(jī)交互的三維手勢數(shù)據(jù)處理技術(shù)研究[D].華南理工大學(xué),2015
[6]胡弘,晁建剛,楊進(jìn),趙再騫,林萬洪.Leap Motion關(guān)鍵點(diǎn)模型手姿態(tài)估計(jì)方法[J].計(jì)算機(jī)輔助圖形設(shè)計(jì)與圖形學(xué)學(xué)報(bào),20015(1):1211-1216
3D Gesture Recognition Based on Leap Motion
SHI Zhuo,LI Ying-hui,AN Ya-lei
(Guilin University of Electronic Technology,Guilin 541004)
Abstract:
Studies 3D gesture recognition with Leap Motion,and establishes a static 3D gesture library in single hand and two hands.By reading the document of palm and finger in Leap Motion API,looks for the feature of certain 3D gesture and presents a novel method of 3D gesture recognition.With the establishing of 3D gesture library,the more research on 3D gesture recognition or the large-scale gesture library will be in progress.
Keywords:
研究基于體感設(shè)備Leap Motion的三維手勢識(shí)別方法,并建立單手和雙手靜態(tài)三維手勢庫。通過研究Leap Motion API中關(guān)于手掌和手指的數(shù)據(jù)結(jié)構(gòu)描述,尋找特定三維手勢特征,進(jìn)而提出一種三維手勢識(shí)別方法。結(jié)合靜態(tài)手勢的特征,建立一組關(guān)于單手靜態(tài)和雙手靜態(tài)的三維手勢庫。對今后基于體感設(shè)備的三維手勢識(shí)別和建立大型的三維手勢庫等一系列研究有一定的參考價(jià)值。
人機(jī)交互;三維手勢;手勢識(shí)別
基金項(xiàng)目:
廣西可信軟件重點(diǎn)實(shí)驗(yàn)室開發(fā)課題(No.KX201304)、廣西信息科學(xué)實(shí)驗(yàn)中心開放課題(No.YB1506)
文章編號(hào):1007-1423(2016)14-0074-04
DOI:10.3969/j.issn.1007-1423.2016.14.016
作者簡介:
史卓(1978-),男,江蘇常州人,副教授,研究方向?yàn)閳D形圖像處理、數(shù)字媒體、移動(dòng)軟件開發(fā)技術(shù)
李映輝(1988~),男,湖北黃岡人,在讀碩士研究生,研究方向?yàn)橛?jì)算機(jī)圖形學(xué)
收稿日期:2016-03-15修稿日期:2016-04-30
Human-Computer Interaction;3D Hand Gesture;Gesture Recognition