吳彩芳+謝鈞+周開店
DOI:10.16644/j.cnki.cn33-1094/tp.2016.02.009
摘 ?要: 手勢交流是一種自然直觀的交互方式,研究手勢識別能夠有力的推動(dòng)人機(jī)交互技術(shù)的發(fā)展。回顧了手勢識別的發(fā)展歷程,列舉了一些影響力較大的手勢識別技術(shù),概括了手勢識別的現(xiàn)狀,說明了靜態(tài)手勢識別和動(dòng)態(tài)手勢識別的含義;總結(jié)了常用的幾類手勢識別方法,包括基于模板匹配技術(shù)、基于概率統(tǒng)計(jì)技術(shù)和基于數(shù)據(jù)分類技術(shù),分別對其中經(jīng)典的算法進(jìn)行闡述;并對人機(jī)交互領(lǐng)域的下一步研究工作做出了展望。
關(guān)鍵詞: 手勢識別; 綜述; 人機(jī)交互; 總結(jié)
中圖分類號:TP391.4 ? ? ? ? ?文獻(xiàn)標(biāo)志碼:A ? ? 文章編號:1006-8228(2016)02-29-04
Overview of human-computer interaction technology based on gesture recognition
Wu Caifang, Xie Jun, Zhou Kaidian
(School of Command Information System, PLA University of Science and Technology, Nanjing, Jiangsu 210007, China)
Abstract: Gesture is a natural and intuitive communication mode, and the study of gesture recognition can strongly stimulate the development of human-computer interaction. In this paper, the development history of gesture recognition technology is reviewed, several influential gesture recognition techniques are listed; the present status of gesture recognition is summarized; the definition of the static gesture recognition an dynamic gesture recognition are explained. ?the frequently-used methods of hand gesture recognition are also summarized, including the template matching technology, gesture recognition based on probability statistics and data classification techniques. Finally, the next step in the field of human-computer interaction research work is prospected.
Key words: gesture recognition; overview; human-computer interaction; summarize
0 引言
隨著計(jì)算機(jī)和互聯(lián)網(wǎng)的迅速普及,人機(jī)交互活動(dòng)逐漸成為人們?nèi)粘I畹闹匾M成部分。研究自然人機(jī)交互方式可以降低操作本身難度,避免身體單一部位的勞動(dòng),可降低患頸椎病、腰間盤突出等疾病的幾率。傳統(tǒng)的人機(jī)交互方式,比如鍵盤、鼠標(biāo)、遙控、觸摸屏等,都需要人去適應(yīng)機(jī)器,需要人按照預(yù)先設(shè)定的規(guī)范去操作,而現(xiàn)今技術(shù)的發(fā)展使得人機(jī)交互的方式有了更多的選擇?;谑謩葑R別的人機(jī)交互以直接操作為主,使人機(jī)交互技術(shù)從以機(jī)器為中心逐步轉(zhuǎn)移到以人為中心,符合人的交流習(xí)慣。因此,手勢識別正逐漸被開發(fā)和應(yīng)用于工程中。
1 手勢識別概述
手勢識別最早是由Grimes等人利用數(shù)據(jù)手套實(shí)現(xiàn)的,他們因此獲得了AT&T“數(shù)據(jù)手套”專利[1]。臺灣大學(xué)的Liang等人設(shè)計(jì)的手勢識別系統(tǒng)通過單個(gè)VPL數(shù)據(jù)手套實(shí)現(xiàn)了對臺灣手語課本字條的識別,準(zhǔn)確率達(dá)到99.2%[2]。Intel的OpenCv手勢識別系統(tǒng),實(shí)現(xiàn)了與位置無關(guān)的基于立體視覺和Hu矩特征的識別。哈爾濱工業(yè)大學(xué)的高文等人用18個(gè)CyberGlove型號的數(shù)據(jù)手套,結(jié)合ANN與HMM模型訓(xùn)練手勢,實(shí)現(xiàn)了對孤立詞的識別,識別率超過90%[3]。清華大學(xué)的祝遠(yuǎn)新、徐光祐等給出的基于視覺的識別技術(shù),能夠識別12種動(dòng)態(tài)孤立手勢,識別率達(dá)90%[4]。上海大學(xué)的段洪偉用LS-SVM算法實(shí)現(xiàn)了對靜態(tài)手勢識別,并使用HMM模型實(shí)現(xiàn)了動(dòng)態(tài)手勢的識別[5]。北京大學(xué)的張凱、葛文兵等人利用平面立體匹配算法得到三維手勢信息,實(shí)現(xiàn)了基于立體視覺的手勢識別[6]??偠灾?,手勢識別研究可以分為兩種:基于數(shù)據(jù)手套的手勢識別和基于視覺的手勢識別。
基于數(shù)據(jù)手套的手勢識別需要操作者佩戴數(shù)據(jù)手套,通過它上面的傳感器獲取人手信息及手指運(yùn)動(dòng)軌跡和時(shí)序信息,計(jì)算機(jī)對獲取的數(shù)據(jù)進(jìn)行分析識別,達(dá)到人機(jī)交互的效果[7]。雖然這種識別方法識別精度高,速度快,但是設(shè)備價(jià)格高,使用舒適感差,不是自然的人機(jī)交互方式?;谝曈X的手勢識別是通過攝像機(jī)采集包含操作者手勢的圖像序列,通過圖像分析進(jìn)行識別。設(shè)備便宜易獲得,操作簡便[8]。如今攝像頭不再局限于僅僅獲取場景的二維圖,還可以獲取場景的深度信息。例如微軟的體感設(shè)備Kinect可以同時(shí)獲取場景的彩色圖像、深度圖像、人體骨骼數(shù)據(jù)等,利于分割出目標(biāo)物體,并且其識別過程不受光照強(qiáng)度、背景、物體顏色、紋理等影響,具有很好的魯棒性[9]。因此,基于視覺的手勢識別越來越受到研究者的關(guān)注。
2 常見的手勢識別技術(shù)
手勢識別技術(shù)目前主要分三大類:基于模板匹配技術(shù)、基于概率統(tǒng)計(jì)技術(shù)和基于數(shù)據(jù)分類技術(shù)。模板匹配方法是先將圖像序列轉(zhuǎn)換為一組靜態(tài)形狀模式,然后在識別過程中與預(yù)先存儲(chǔ)的行為模板進(jìn)行比較,最后從中選擇相似度最接近的已知模板所屬類別作為被測動(dòng)作的識別結(jié)果。例如,Bobick等人將目標(biāo)的運(yùn)動(dòng)信息轉(zhuǎn)化為MEI(運(yùn)動(dòng)能量圖像)和MHI(運(yùn)動(dòng)歷史圖像)兩個(gè)二維模板,采用馬氏距離度量測試樣本與模板之間的相似度[10]。該方法的優(yōu)點(diǎn)是計(jì)算復(fù)雜度低,實(shí)現(xiàn)簡單,缺點(diǎn)是無法解決運(yùn)動(dòng)時(shí)間快慢的影響。基于模板的技術(shù)主要有模板匹配方法、動(dòng)態(tài)時(shí)間規(guī)整以及動(dòng)態(tài)規(guī)劃方法等。基于概率統(tǒng)計(jì)的手勢識別方法是將概率統(tǒng)計(jì)的方法應(yīng)用到運(yùn)動(dòng)序列中,將其中間經(jīng)歷的動(dòng)作定義為一個(gè)狀態(tài)之間是按照某種特定的順序所排列的,狀態(tài)和狀態(tài)間的轉(zhuǎn)移用概率來表示?;诟怕式y(tǒng)計(jì)的技術(shù)有隱馬爾科夫模型、動(dòng)態(tài)貝葉斯網(wǎng)絡(luò)以及條件隨機(jī)場等方法?;跀?shù)據(jù)分類的技術(shù)有神經(jīng)網(wǎng)絡(luò)、支持向量機(jī)等。
2.1 動(dòng)態(tài)時(shí)間規(guī)整算法
動(dòng)態(tài)時(shí)間規(guī)整算法(DTW),是把時(shí)間規(guī)整與距離測度計(jì)算結(jié)合起來的一種非線性技術(shù),是一種經(jīng)典的模板匹配算法,最初用在孤立詞的語音識別中,可以解決序列長短不一的模板匹配問題。DTW算法涉及兩個(gè)序列,一個(gè)是模板序列,一個(gè)是待測序列,主要思想是利用動(dòng)態(tài)規(guī)劃方法尋找一條科學(xué)的時(shí)間校準(zhǔn)匹配路徑,而匹配路徑就是序列上點(diǎn)與點(diǎn)的映射關(guān)系。對于時(shí)間軸存在差異的兩條序列,DTW算法可以消除時(shí)間軸上的差別,使它們之間的失真度達(dá)到最小,其方法是對序列進(jìn)行全局或局部擴(kuò)展、壓縮或者變形,跟另外一個(gè)序列的時(shí)間軸重疊度達(dá)到最大[11]。
設(shè)待測手勢序列為X=(x1,x2,…,xn),手勢模板序列為Y=(y1,y2,…,ym),n和m表示手勢幀的時(shí)序標(biāo)號,構(gòu)造一個(gè)矩陣C,矩陣中任一元素c(xi,yj)表示待測手勢序列中第幀的特征向量與模板序列中第幀的特征向量之間的距離。一般情況下,xi和yj越為相似,則c(xi,yj)的值越小,也就是這兩個(gè)特征向量的距離越短,我們稱代價(jià)小。反之向量間的距離越大,代價(jià)越大。這樣問題就可以轉(zhuǎn)化為在該矩陣中尋找一種路徑,使X和Y之間的距離最小。這條路徑同時(shí)滿足以下條件:路徑起點(diǎn)是矩陣的左下角,終點(diǎn)是矩陣右上方;路徑上直接相連的任意兩點(diǎn)在矩陣中是相鄰的;路徑具有非遞減性n1?n2?…?nL且m1?m2?…?mL。一條合法的X和Y之間的路徑P的總代價(jià)cp(X,Y)定義為:
一條和之間最優(yōu)化的平均路徑p*是在所有可能的路徑中代價(jià)最小的路徑。則X與Y 之間的DTW距離DTW(X,Y)就定義為平均路徑p*的代價(jià)。
使用DTW算法進(jìn)行手勢識別,首先需要對模板進(jìn)行訓(xùn)練,為每個(gè)手勢提取特征,歸一化處理成一個(gè)序列作為模板。DTW算法將待測手勢與模板手勢庫中的每一個(gè)模板進(jìn)行匹配,DTW距離最小的模板作為識別結(jié)果返回。
2.2 隱馬爾科夫模型
和DTW算法進(jìn)行比較,HMM具有明顯的優(yōu)點(diǎn),其可同時(shí)對時(shí)空特性及其相關(guān)性建立模型,具有性能良好的時(shí)變數(shù)據(jù)匹配性。
在隱馬爾科夫模型中存在著兩個(gè)隨機(jī)的過程:一個(gè)是可觀察的狀態(tài),一個(gè)是隱藏狀態(tài)。兩個(gè)過程之間存在著一定的關(guān)系,隱過程必須通過觀察序列表現(xiàn)出來。一個(gè)HMM可用一個(gè)5元組{N,M,π,A,B}表示,其中N表示隱藏狀態(tài)的數(shù)量,M表示可觀測狀態(tài)的數(shù)量,π={πi}為初始狀態(tài)概率,A={aij}為隱藏狀態(tài)的轉(zhuǎn)移矩陣P(xt(i)|xt-1(j)),B={bjk}表示某個(gè)時(shí)刻因隱藏狀態(tài)而可觀察的狀態(tài)的概率,即輸出概率矩陣,P(ot(i)|xt(j))。
由于手勢是一個(gè)連續(xù)的過程,所以宜采用連續(xù)密度隱馬爾科夫模型。連續(xù)密度隱馬爾可夫模型的每個(gè)狀態(tài)的概率密度函數(shù)是由個(gè)連續(xù)高斯密度函數(shù)描述,即CDHMM模型的狀態(tài)輸出采用多維高斯概率密度分布:
其中N(o,μjk,∑jk)為多維高斯概率密度函數(shù),o為觀察適量序列(o1,o2,…,oT),即從Kinect中提取的特征矢量序列,T為觀察矢量序列的時(shí)間長度,μjk和∑jk為第k個(gè)高斯混合度的均值矢量和協(xié)方差矩陣,參數(shù)cjk是混合權(quán)重,滿足約束條件。
使用HMM經(jīng)常要解決以下三類基本問題。
⑴ 估值問題:已知模型HMM,計(jì)算某一給定可觀察狀態(tài)序列的概率。這類問題通常使用前向算法(forward algorithm)來解決。
⑵ 解碼問題:根據(jù)可觀察狀態(tài)的序列找到一個(gè)最可能的隱藏狀態(tài)序列。這類問題通常使用維特比算法(viterbi algorithm)來解決。
⑶ 學(xué)習(xí)問題:這是最難的HMM應(yīng)用。也就是根據(jù)觀察序列和其代表的隱狀態(tài),估算該連續(xù)型隱馬爾科夫模型參數(shù)。使得CDHMM模型能夠最好的描述我們所見的這個(gè)現(xiàn)象規(guī)律。這類問題通常使用前向后向算法(forward-backward algorithm)來解決[12]。
使用CDHMM進(jìn)行手勢識別,首先需要訓(xùn)練HMM模型。每種手勢對應(yīng)一個(gè)HMM模型。提取代表某手勢的特征向量,作為訓(xùn)練HMM模型的觀察序列,使用前向后向算法訓(xùn)練出HMM模型。在進(jìn)行手勢識別的時(shí)候,先將待測手勢提取特征向量,使用前向算法分別求每個(gè)HMM模型產(chǎn)生該手勢的序列的概率,則使得這個(gè)概率最大的HMM模型對應(yīng)的手勢即為識別出的結(jié)果。HMM需要假設(shè)觀察序列是基于條件獨(dú)立的,這種不確切的假設(shè)導(dǎo)致其不能表示時(shí)間序列中的上下文依賴關(guān)系以及序列間的特征多重重疊。
[獲取數(shù)據(jù)][預(yù)處理][特征提取][CDHMM
模型庫][Viterbi
算法][識別結(jié)果] [訓(xùn)練][識別]
圖1 ?使用隱馬爾科夫進(jìn)行手勢識別的流程圖
2.3 姿勢序列有限狀態(tài)機(jī)的識別方法
林水強(qiáng)等人使用有限狀態(tài)機(jī)的方法有效識別人體動(dòng)作,這種方法也可借鑒到手勢識別中[13]。將手勢動(dòng)作分解成對應(yīng)的關(guān)節(jié)點(diǎn)的連續(xù)運(yùn)動(dòng)軌跡,在運(yùn)動(dòng)軌跡中選出幾個(gè)離散的關(guān)鍵點(diǎn),不同的運(yùn)動(dòng)軌跡可以由不同的關(guān)鍵點(diǎn)組合代表,每個(gè)關(guān)鍵點(diǎn)代表一個(gè)姿勢狀態(tài),動(dòng)態(tài)手勢的識別由識別狀態(tài)轉(zhuǎn)移的過程實(shí)現(xiàn)。根據(jù)這種思想,提出姿勢序列有限狀態(tài)機(jī)的識別方法識別預(yù)定義的手勢動(dòng)作,姿勢序列表示一個(gè)動(dòng)態(tài)手勢由多個(gè)靜態(tài)手勢在時(shí)間軸上描述的一組運(yùn)動(dòng)序列,姿勢序列有限狀態(tài)機(jī)描述了每個(gè)動(dòng)態(tài)手勢的有限狀態(tài)以及各個(gè)狀態(tài)之間的轉(zhuǎn)移過程。定義姿勢序列有限狀態(tài)機(jī)為A,它可以用一個(gè)五元組表示:
A=(S,∑,δ,s0,F(xiàn))
其中,S表示狀態(tài)集{s0,s1,…,sn,f0,f1},其對動(dòng)態(tài)手勢的每個(gè)特定的姿勢狀態(tài)進(jìn)行描述;∑表示輸入的手部節(jié)點(diǎn)特征向量和限制參數(shù)字母表{u,┐p,┐t},其中符號“┐”表示邏輯否定;δ為轉(zhuǎn)移函數(shù),定義為S×∑→S,表示姿勢序列FSM從當(dāng)前狀態(tài)轉(zhuǎn)移到后繼狀態(tài);s0表示開始狀態(tài);F={f0,f1}為最終狀態(tài)集合,分別表示識別成功狀態(tài)和識別無效狀態(tài)。
字母表∑中,變量u代表某個(gè)動(dòng)態(tài)手勢類型對應(yīng)的所有手部節(jié)點(diǎn)特征向量V的集合,特征向量表示手運(yùn)動(dòng)軌跡在空間網(wǎng)格中的離散點(diǎn)域規(guī)則,通過點(diǎn)域規(guī)則可以構(gòu)造出動(dòng)態(tài)手勢的軌跡正則表達(dá)式。
路徑限制p={xyz|x∈[xmin,xmax],y∈[ymin,ymax],z∈[zmin,zmax]}對特定的姿勢進(jìn)行關(guān)鍵點(diǎn)的范圍控制,在任何情況下超出預(yù)定義路徑范圍,即┐p為真,則被標(biāo)記為無效狀態(tài)。
時(shí)間戳t∈[tstart,tend]規(guī)定了手勢在當(dāng)前狀態(tài)到后繼狀態(tài)轉(zhuǎn)移所需要的時(shí)間,若手勢的某個(gè)狀態(tài)在規(guī)定的時(shí)間內(nèi)未轉(zhuǎn)移到后繼有效狀態(tài),即┐t為真,則跳轉(zhuǎn)到無效狀態(tài)。每個(gè)動(dòng)態(tài)手勢由幾個(gè)典型的靜態(tài)手勢構(gòu)成,靜態(tài)手勢對應(yīng)已定義的狀態(tài)量,每種狀態(tài)量由關(guān)鍵點(diǎn)特征數(shù)據(jù)在空間網(wǎng)格中計(jì)算得到,動(dòng)態(tài)手勢狀態(tài)轉(zhuǎn)移必須滿足路徑限制p和時(shí)間戳t的條件,從而識別動(dòng)態(tài)手勢。通過五元組可以描述姿勢序列有限狀態(tài)機(jī)的各項(xiàng)屬性特性以及每一步轉(zhuǎn)移過程。
在初始狀態(tài)s0下,按照待測手勢達(dá)到第一個(gè)有效狀態(tài)s1,如果下一時(shí)刻的手勢仍然在預(yù)定義的范圍內(nèi),則達(dá)到后繼有效狀態(tài)sk。以此類推,直至達(dá)到成功狀態(tài)f0,即手勢識別成功。在任意有效狀態(tài)下,如果行為超出路徑限制或者時(shí)間戳范圍,則直接標(biāo)記該序列手勢為無效狀態(tài),即手勢識別失敗。在達(dá)到任意結(jié)束狀態(tài)后,當(dāng)前的姿勢序列有限狀態(tài)機(jī)運(yùn)行完畢,重新初始化進(jìn)行下一組動(dòng)作手勢的識別。
3 結(jié)束語
當(dāng)今智能設(shè)備充斥在人們生活的各個(gè)角落,人機(jī)交互技術(shù)的發(fā)展使得這些設(shè)備的性能越來越流暢,因此手勢識別作為人機(jī)交互技術(shù)的重要組成部分而成為研究熱點(diǎn)。本文研究了手勢識別技術(shù),詳細(xì)介紹了動(dòng)態(tài)時(shí)間規(guī)整算法、隱馬爾科夫算法、姿勢序列有限狀態(tài)機(jī)法。下一步在提高手勢識別率方面,要研究使某一手勢識別算法的識別率最大化的多種手勢特征的特征選擇和優(yōu)化處理問題;在手勢多樣化方面,要研究結(jié)合動(dòng)態(tài)手勢和靜態(tài)手勢的復(fù)雜手勢的識別方法。隨著人臉識別、語音識別、眼球追蹤等模式識別技術(shù)如雨后春筍般出現(xiàn),人機(jī)交互有了更加廣泛的詮釋方式,研究結(jié)合多種識別技術(shù)設(shè)計(jì)出更加自然流暢的人機(jī)交互系統(tǒng)也是很重要的工作。
參考文獻(xiàn)(References):
[1] Grimes G J. Digital data entry glove interface device[P]. US
Patent, 4,414,537, Bell Tele Phone Laboratories, November 1983.
[2] R-H Liang, M Ouhyoung. A real-time continuous gesture
recognition system for sign language.In: Proc of the 3rd Intel Conf on Automatic Face and Gesture Recognition. Nara, Japan: IEEE Computer Society,1998:558-565
[3] 吳江琴,高文,陳熙霖.基于數(shù)據(jù)手套的漢語手指字母的識別[J].
模式識別與人工智能,1999.12(1):74-78
[4] 任海兵,祝遠(yuǎn)新,徐光祐等.基于視覺手勢識別的研究綜述[J].
電子學(xué)報(bào),2000.2:118-121
[5] 段洪偉,陳一民,林鋒.基于LSSVM靜態(tài)手勢識別[J].計(jì)算機(jī)
工程與設(shè)計(jì),2004.12.
[6] 張凱,葛文兵,汪國平,董士海.基于立體視覺的自然手勢識別[A].
第一屆建立和諧人機(jī)環(huán)境聯(lián)合學(xué)術(shù)會(huì)議論文集[C],2005.
[7] HolgerKenn, Friedrich Van Megen, and Robert Sugar. A
glove-based gesture interface for wearable computing applications.Applied Wearable Computing(IFAWC),2007 4th International Forum ?on,2007:1-10
[8] 孔曉明,陳一民,陳養(yǎng)彬等.基于視覺的動(dòng)態(tài)手勢識別[J].計(jì)算
機(jī)工程與設(shè)計(jì),2005.26(11):76-78
[9] Stefan Stegmueller. Hand and finger tracking with Kinect
depth data,2011.http://candescentnui.codeplex.com.
[10] Davis J W, Bibick A F. The representation and
recognition of human movement using temporal templates[A]. Proceedings of IEEE Conference on Computer Vision andPattern Recognition[C]. San Juan, PR, USA: IEEE Press,1997:928-934
[11] 姚桂林,姚鴻勛,姜峰.一種基于DTW/ISODATA算法的多
層分類器手語識別方法[J].計(jì)算機(jī)工程與應(yīng)用,2005.41(8):45-47
[12] 常亞南.基于HMM的動(dòng)態(tài)手勢識別[D].華南理工大學(xué),2012.
[13] 林水強(qiáng),吳亞東,余芳,楊永華.姿勢序列有限狀態(tài)機(jī)動(dòng)作識別
方法[J].計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào),2014.26(9):5-6