苗凱 曲海洲 徐何江
手勢跟蹤與識別是一項(xiàng)至關(guān)重要的技術(shù),它直接影響著人機(jī)交互能否進(jìn)一步發(fā)展,同時(shí)也是當(dāng)前比較熱門的研究與發(fā)展課題。目前,國內(nèi)外的專家學(xué)者已經(jīng)從不同的側(cè)重點(diǎn)對對手勢識別進(jìn)行了深入的研究,也取得了一定的成功,但囿于手勢識別的學(xué)科交叉性和復(fù)雜性,仍有諸多問題亟待深入研究。
國內(nèi)外同類研究情況
國際上對手勢識別技術(shù)的研究已經(jīng)進(jìn)行了相當(dāng)長的時(shí)間。1893年,Bell實(shí)驗(yàn)室的Grimes最先取得了“數(shù)據(jù)手套”的專利,開創(chuàng)了手勢識別研究的先河。到20世紀(jì)90年代,手勢識別技術(shù)開始突飛猛進(jìn)的發(fā)展。1987年,VPL公司生產(chǎn)了一種Data Glove的數(shù)據(jù)手套,通過使用者手套上的傳感器來探測手指的位置和狀態(tài)信息;1991年,富士通公司設(shè)計(jì)了一款手勢符號的輸入系統(tǒng),可以識別46個(gè)不同的手勢類型;1995年,Christopher Lee等人完成了一個(gè)操縱機(jī)器人的手勢控制系統(tǒng);同年,Starner則以HMM為基礎(chǔ),實(shí)現(xiàn)了動(dòng)態(tài)手語的識別,其短句的識別率達(dá)高到92%以上;隨后,Davis設(shè)計(jì)了可以識別7種手勢的基于計(jì)算機(jī)視覺的手套系統(tǒng);Huang使用三維神經(jīng)網(wǎng)絡(luò)的方法所創(chuàng)建的手語識別系統(tǒng)可以識別15個(gè)不同的手勢;Assam和Grobel則采用隱式馬爾科夫鏈的識別方法建立手勢識別系統(tǒng),對視頻流中的幀圖像進(jìn)行手勢分析和識別,手勢識別的正確率達(dá)到91.3%以上;Zhu使用的是主成分分析的建模方法,以手勢本身成分的統(tǒng)計(jì)結(jié)構(gòu)為特征,完成對手勢識別的目標(biāo)。
進(jìn)入21世紀(jì),在人機(jī)交流的領(lǐng)域,國際上已經(jīng)研究成功了多種模式的人機(jī)交流系統(tǒng),并且將其付諸于應(yīng)用。2003年7月,索尼計(jì)算機(jī)娛樂公司(Sony Computer Entertainment )發(fā)布了一款名為EyeToy的手勢識別設(shè)備,這種設(shè)備能將玩游戲者的視頻資料傳輸?shù)接螒虻漠嬅嬷?,使游戲與玩游戲者互動(dòng)。同年12月,美國密歇根州的Cybernet Systems技術(shù)研發(fā)公司成功開發(fā)出一套名為GestureStorm的軟件系統(tǒng),天氣預(yù)報(bào)員通過使用這種系統(tǒng),只需將手輕輕撥動(dòng)幾下就能制造出特別的視頻效果來配合他們所預(yù)報(bào)的天氣。2008年,Toshiba位于英國劍橋(Cambridge)的研究實(shí)驗(yàn)室,在IFA上直觀展示了圖片辨識及手勢辨識與電視操作結(jié)合的技術(shù)。主要是透過攝影機(jī)捕捉人手的動(dòng)作,一旦握拳則進(jìn)入操作模式,放松變?yōu)檎泼鎰t表示關(guān)閉操作。
國內(nèi)對手勢識別的研究雖然較晚,但仍然取得了很大的發(fā)展和成果。最早的高文等人以“Cyber—Glove”數(shù)據(jù)手套為硬件基礎(chǔ),使用隱式馬爾可夫鏈模型與人工神經(jīng)網(wǎng)絡(luò)相結(jié)合的方法對各種不同手勢含義進(jìn)行識別,其平均識別率可達(dá)到91%。隨后他又將動(dòng)態(tài)高斯混合模型應(yīng)用在手語字典中對其進(jìn)行學(xué)習(xí)與識別,識別率高達(dá)到97.5%。在計(jì)算機(jī)視覺的基礎(chǔ)上,祝遠(yuǎn)新等通過模板分類匹配等方式對動(dòng)態(tài)的獨(dú)立手勢進(jìn)行識別,通過融合手勢運(yùn)動(dòng)信息和皮膚顏色信息,成功的進(jìn)行了復(fù)雜背景下的手勢分割,平均識別率高達(dá)到90%以上。張秋余、姚開博利用AdaBoost分類器與手勢的不變矩Hu特征相結(jié)合的方法對靜態(tài)手勢進(jìn)行識別,識別率達(dá)高達(dá)95%。
段洪偉通過使用臺灣大學(xué)林智仁(Lin Chih—Jen)副教授等開發(fā)設(shè)計(jì)的LSSVM算法對靜態(tài)手勢與動(dòng)態(tài)手軌跡進(jìn)行識別,取得了很好的識別效果,其算法的主要思想是把手的質(zhì)心坐標(biāo)作為HMM模型的輸入,通過概率計(jì)算估計(jì)出一個(gè)最佳的結(jié)果作為最后的識別結(jié)果;山東大學(xué)的徐立群等人則是以CAMSHIFT算法為基礎(chǔ),對動(dòng)態(tài)手勢的軌跡特征進(jìn)行分析,可以識別6種動(dòng)態(tài)手勢,且識別效果較好。2000年,任海兵等提出了連續(xù)動(dòng)態(tài)手勢的時(shí)空表現(xiàn)模型,其核心思想是利用動(dòng)態(tài)時(shí)空規(guī)整算法(DTW)對動(dòng)態(tài)手勢進(jìn)行識別,平均識別率達(dá)到97%。隨后,戴國忠等在HMM的基礎(chǔ)上提出一種HMM—FNN動(dòng)態(tài)手勢識別模型,他是把動(dòng)態(tài)手勢分別分解為手型的變化、XY平面上的運(yùn)動(dòng)和Z方向上的運(yùn)動(dòng),再通過日常的經(jīng)驗(yàn)來進(jìn)行輔助和優(yōu)化,該混合模型對手勢識別的效果明顯優(yōu)于傳統(tǒng)的HMM模型。張凱、葛文兵等引進(jìn)了平面立體匹配算法,其核心思想是將手勢的視差圖轉(zhuǎn)換為平面圖,然后再進(jìn)行模板匹配,實(shí)現(xiàn)了基于機(jī)器視覺的手勢識別,由于平面圖不能完全反映圖像的全部信息,故識別精度一般,但是為我們提供了一種手勢識別研究的新方向。
可以看到,經(jīng)過全世界科研工作者的努力,在手勢識別領(lǐng)域,目前已經(jīng)有了許多研究成果,并有一部分成功的轉(zhuǎn)化為應(yīng)用,服務(wù)于科學(xué)研究或者日常生活。但是囿于復(fù)雜的環(huán)境及作為主體的人手具有很多不確定因素,使得手勢識別技術(shù)仍然面臨著許多困難與挑戰(zhàn)亟需解決。例如動(dòng)態(tài)手勢的識別中就存在以下兩個(gè)突出問題:一是時(shí)間的不一致性,即不同人做同一種手勢或者同一個(gè)人在不同的時(shí)刻做同一個(gè)手勢,由于運(yùn)動(dòng)速率不同,所耗費(fèi)的時(shí)間各不相同;二是手勢分割,即如何準(zhǔn)確地識別動(dòng)態(tài)手勢的開始和結(jié)束。
無穿戴人體姿態(tài)識別系統(tǒng)研究的現(xiàn)實(shí)意義
本項(xiàng)目主要研究手勢的動(dòng)態(tài)捕捉與識別,通過對關(guān)鍵點(diǎn)檢測、手勢軌跡獲取、去噪與特征提取及模板制作與模板匹配的關(guān)鍵技術(shù)進(jìn)行研究,提取捕捉到的手勢軌跡特征,與訓(xùn)練所得手勢模板進(jìn)行匹配,返回最佳匹配結(jié)果。最終目標(biāo)是形成一套基于人工智能的無穿戴人體姿態(tài)識別系統(tǒng),用戶通過該系統(tǒng)可以自定義手勢,通過計(jì)算機(jī)根據(jù)采集的有限手勢數(shù)據(jù)自動(dòng)分析并生成模板,滿足用戶個(gè)人的手勢識別需求。
本項(xiàng)目的研究涉及圖像處理、模式識別、計(jì)算機(jī)視覺、人工智能等多門學(xué)科,在實(shí)現(xiàn)更加自然、和諧、符合人類行為習(xí)慣的人機(jī)交互方式的同時(shí),還有助于促進(jìn)多學(xué)科的發(fā)展和不斷融合。手勢識別還可廣泛應(yīng)用于虛擬現(xiàn)實(shí)、三維設(shè)計(jì)、臨場感、可視化、醫(yī)學(xué)研究、智能監(jiān)控等領(lǐng)域,具有良好的社會(huì)和經(jīng)濟(jì)效益。
無穿戴人體姿態(tài)識別技術(shù)的研發(fā)內(nèi)容
本項(xiàng)目主要包括以下開發(fā)內(nèi)容:標(biāo)準(zhǔn)手勢數(shù)據(jù)的采集;手勢模板的制作;實(shí)時(shí)手勢分割;實(shí)時(shí)手勢與手勢模板的匹配。
標(biāo)準(zhǔn)手勢數(shù)據(jù)的采集。手勢數(shù)據(jù)分為二維手勢數(shù)據(jù)和三維手勢數(shù)據(jù),通過外部攝像頭或傳感器采集。三維手勢數(shù)據(jù)通過雙目攝像頭(如leapmotion)、數(shù)據(jù)手套或激光雷達(dá)攝像頭采集,二維手勢數(shù)據(jù)亦可通過上述設(shè)備采集到的三維數(shù)據(jù)投影得到,也可利用普通單目攝像頭采集(精度低于上述設(shè)備)。根據(jù)特征點(diǎn)位置的不同,采集到的手勢數(shù)據(jù)可以分為手類型(左右手)、掌心位置,手腕位置,手指關(guān)節(jié)位置(單目攝像頭識別能力較差),以及各特征點(diǎn)的速度。
手勢模板的制作。手勢模板的制作需要采集標(biāo)準(zhǔn)手勢作為訓(xùn)練數(shù)據(jù),考慮到用戶自定義手勢的訓(xùn)練數(shù)據(jù)數(shù)量和質(zhì)量有限。故用統(tǒng)計(jì)法采集用戶輸入的標(biāo)準(zhǔn)數(shù)據(jù)點(diǎn)并提取數(shù)據(jù)特征生成初始模板。由于標(biāo)準(zhǔn)樣本有限,在之后的識別過程中,可能會(huì)有較高的錯(cuò)誤率,出現(xiàn)識別錯(cuò)誤時(shí),用戶可以選擇提交該次手勢數(shù)據(jù)以優(yōu)化模板。
實(shí)時(shí)手勢分割。手勢分割是為了劃分手勢軌跡的識別區(qū)段,定義開始記錄位置和結(jié)束記錄位置,在結(jié)束記錄時(shí)將手勢軌跡特征與模板進(jìn)行匹配。對于有既定標(biāo)準(zhǔn)的手勢,可以分析手勢的結(jié)束和起始特征并提前定義分割算法;對于用戶自定義手勢,起始和結(jié)束特征無法預(yù)料,需要進(jìn)行實(shí)時(shí)數(shù)據(jù)記錄和匹配,匹配成功則自動(dòng)進(jìn)入下一手勢檢測狀態(tài),該步驟的算法復(fù)雜度與待匹配模板數(shù)和手勢特征數(shù)正相關(guān)。
手勢與模板的匹配。手勢與模板的匹配是將手勢分割后的軌跡數(shù)據(jù)經(jīng)過特征提取后與各個(gè)模板進(jìn)行相關(guān)度計(jì)算,不同類型的特征對結(jié)果的影響也不同,因此相關(guān)度計(jì)算需要考慮各個(gè)特征的權(quán)重值。將匹配度最高且匹配度超過一定閾值的模板視為匹配結(jié)果。實(shí)時(shí)手勢由于自由度大,變化多樣,因此形狀和時(shí)序都有不確定性,而檢測誤差會(huì)帶來抖動(dòng)和噪點(diǎn)。匹配前需要對手勢軌跡進(jìn)行前處理并提取具有較強(qiáng)魯棒性的特征。
無穿戴人體姿態(tài)識別技術(shù)的主要技術(shù)經(jīng)濟(jì)指標(biāo)
手勢識別準(zhǔn)確率。對于自定義手勢,準(zhǔn)確率由用戶上傳的標(biāo)準(zhǔn)手勢復(fù)雜度,差異性和數(shù)據(jù)質(zhì)量決定。對于有既定標(biāo)準(zhǔn)的手勢,如樂隊(duì)指揮手勢、交警指揮手勢、手語等。比對模板小于10個(gè)時(shí),準(zhǔn)確率高于90%;比對模板大于10個(gè)或模板之間差異非常小時(shí),準(zhǔn)確率高于70%。
手勢識別速度。對于無需考慮時(shí)序特征的動(dòng)態(tài)手勢,延時(shí)低于80ms,此延遲不會(huì)被人眼明顯察覺,對于需要考慮時(shí)序特征的動(dòng)態(tài)手勢,延遲低于150ms,此延遲會(huì)被人眼察覺,但識別結(jié)果的輸出只略微滯后于結(jié)束動(dòng)作,不影響識別的實(shí)時(shí)性。對于沒有定義起始和結(jié)束特征的自定義手勢,實(shí)時(shí)性低于300ms,此延遲會(huì)影響到輸出的實(shí)時(shí)性,但是足夠在下一手勢結(jié)束前分析出手勢識別結(jié)果,滿足不要求實(shí)時(shí)性而要求動(dòng)手過程中識別結(jié)果沒有遺漏的手勢識別需求。
模板訓(xùn)練難度。即使沒有受過專業(yè)訓(xùn)練的用戶也可以輕松訓(xùn)練自定義模板。開始模板訓(xùn)練模式后,用戶重復(fù)演示標(biāo)準(zhǔn)手勢生成標(biāo)準(zhǔn)樣本,樣本應(yīng)盡可能包含可能存在的手勢變化,每種變化重復(fù)5次以上,并標(biāo)定手勢標(biāo)簽。
無穿戴人體姿態(tài)識別技術(shù)實(shí)施方案
本項(xiàng)目流程如圖1所示,首先從設(shè)備接口獲取軌跡點(diǎn),按一定時(shí)間間隔采樣以減少待分析數(shù)據(jù)量,提取其中對識別結(jié)果有重要影響的關(guān)鍵點(diǎn)。再根據(jù)采樣點(diǎn)和關(guān)鍵點(diǎn)的位置和速度信息進(jìn)行手勢分割,確定待識別的手勢軌跡??紤]到手勢分割失敗會(huì)直接影響之后的識別,故加入了分割失敗時(shí)的處理措施,以及時(shí)跳過當(dāng)前手勢的檢測,進(jìn)入下一手勢檢測。得到成功分割的手勢軌跡后,進(jìn)入前處理和特征提取階段。如果考慮軌跡的時(shí)序特征,即每一軌跡點(diǎn)出現(xiàn)的先后順序是一定的,那么先進(jìn)行關(guān)鍵點(diǎn)時(shí)序與標(biāo)準(zhǔn)時(shí)序的對齊,并將其余采樣點(diǎn)的時(shí)序坐標(biāo)進(jìn)行相應(yīng)的拉伸。之后過濾由檢測誤差和手勢不穩(wěn)帶來的干擾點(diǎn)并將軌跡點(diǎn)坐標(biāo)歸一化。如果不考慮時(shí)序特征,則跳過時(shí)序?qū)R,進(jìn)行去噪和歸一化處理。前處理后得到更方便提取特征和模板比對的軌跡點(diǎn)。對多種特征如各點(diǎn)方向向量、密集度、極值點(diǎn)等進(jìn)行提取,并根據(jù)重要性進(jìn)行權(quán)重分配。最后進(jìn)入匹配階段,將各特征數(shù)值與模板的對應(yīng)特征值進(jìn)行比較,計(jì)算歐式距離,得到與各模板的匹配度。如果存在多個(gè)相近匹配度,則進(jìn)入二級匹配,否則直接將匹配度最高的模板作為識別結(jié)果。用戶可以對識別結(jié)果進(jìn)行反饋,如果識別錯(cuò)誤,提交該軌跡和正確結(jié)果到后臺,以優(yōu)化模板,直到符合輸出要求。
關(guān)鍵點(diǎn)檢測算法。手在關(guān)鍵動(dòng)作處會(huì)有停留,導(dǎo)致關(guān)鍵位置附近的點(diǎn)相對密集。將密集度曲線劃分若干區(qū)域,每個(gè)區(qū)域?qū)ふ掖笥陂撝档淖畲竺芗赛c(diǎn)作為關(guān)鍵點(diǎn)。如圖2,橫坐標(biāo)代表某時(shí)刻區(qū)間,縱坐標(biāo)表示該區(qū)間的采樣點(diǎn)數(shù)。
時(shí)序?qū)R算法。手勢軌跡是一個(gè)時(shí)間序列,需要比較匹配度的兩段手勢的時(shí)間序列的長度可能并不相等,具體表現(xiàn)為手勢的快慢。所以在比較匹配度之前,需要將其中待匹配手勢的時(shí)間序列進(jìn)行適當(dāng)拉伸,而且要保證相同關(guān)鍵點(diǎn)的時(shí)間序列一一對應(yīng),以達(dá)到更好的對齊。采用動(dòng)態(tài)時(shí)間規(guī)劃(DTW)算法來實(shí)現(xiàn)該效果。如圖3所示,構(gòu)造一個(gè)矩陣網(wǎng)格,橫坐標(biāo)為模板時(shí)間序列,縱坐標(biāo)為手勢軌跡時(shí)間序列,折線經(jīng)過的矩陣元素(i,j)表示模板i時(shí)刻與手勢j時(shí)刻具有對應(yīng)關(guān)系的采樣點(diǎn),采用動(dòng)態(tài)規(guī)劃的方法獲取該路徑。保證關(guān)鍵點(diǎn)不遺漏的情況下使用盡可能少的采樣點(diǎn)可提高該算法的計(jì)算效率。
去噪與特征提取。對于軌跡中的噪點(diǎn),可以采用貝塞爾曲線來處理。貝塞爾曲線是一種通過控制點(diǎn)來生成平滑曲線的繪圖方式。將采樣點(diǎn)作為控制點(diǎn)構(gòu)建貝塞爾曲線具有降噪的作用,對于由手勢不穩(wěn)造成的起伏點(diǎn),檢測誤差造成的前后錯(cuò)亂點(diǎn)和異常點(diǎn),貝塞爾曲線均能保持原有的軌跡趨勢。對于細(xì)節(jié)變化多樣但是趨勢一定的手勢,貝塞爾曲線有將相似軌跡趨同化的作用。圖4是同一人重復(fù)三拍子手勢記錄下的三組軌跡采樣點(diǎn),可以發(fā)現(xiàn)三組采樣點(diǎn)的熱區(qū)圖仍有較大差別,相同特征較少。而通過貝塞爾曲線處理后,記錄的貝塞爾曲線采樣點(diǎn)映射到熱區(qū)圖上,軌跡重合率非常高,特征明顯。因此,貝塞爾曲線處理可以有效去噪和提取特征。
涉及時(shí)序的手勢還可以提取定向角作為識別特征。時(shí)序?qū)R后,計(jì)算相鄰采樣點(diǎn)構(gòu)成的方向向量,通過下式得到序列的定向角度后,為了提高識別率,合并相似特征并減少計(jì)算量,將該角度除以45°進(jìn)行量化并從1編碼至9,如圖5所示。記錄各方向向量組成特征向量。該特征向量不僅含有速度特征(向量長度),方向特征(向量方向),由于排列順序由時(shí)序決定,向量首尾相接,包含了軌跡的形狀特征。
板制作與模板匹配。對于貝塞爾曲線處理后的軌跡特征,使用位置特征的矩陣模板進(jìn)行匹配。模板制作的數(shù)據(jù)來自于標(biāo)準(zhǔn)手勢數(shù)據(jù)樣本。將標(biāo)準(zhǔn)手勢數(shù)據(jù)經(jīng)過采樣、去噪、歸一化后,映射到按照一定間隔劃分區(qū)域的矩陣中。矩陣中的數(shù)字代表落在該區(qū)域內(nèi)的點(diǎn)數(shù)。數(shù)字越大表示手勢經(jīng)過該區(qū)域的可能性越大。將該模板中的數(shù)值歸一化處理,保證所有模板矩陣中的數(shù)據(jù)之和相等。匹配階段,待識別手勢數(shù)據(jù)也同樣經(jīng)過采樣、去噪、歸一化、矩陣化處理,然后將矩陣中大于一定閾值的數(shù)值賦為1,小于一定閾值的數(shù)值賦為0,該特征矩陣記錄了待識別手的位置特征。將其與模板矩陣對應(yīng)數(shù)值相乘求和,得到一個(gè)代表手勢與該模板匹配程度的值。對所有模板都進(jìn)行同樣操作后比較各匹配度大小,選擇匹配度遠(yuǎn)大于其他項(xiàng)的模板作為匹配結(jié)果。
手勢模板的制作需要采集標(biāo)準(zhǔn)手勢作為訓(xùn)練數(shù)據(jù),考慮到用戶自定義手勢的訓(xùn)練數(shù)據(jù)數(shù)量和質(zhì)量有限。故用統(tǒng)計(jì)法采集用戶輸入的標(biāo)準(zhǔn)數(shù)據(jù)點(diǎn)并提取數(shù)據(jù)特征生成初始模板。由于標(biāo)準(zhǔn)樣本有限,在之后的識別過程中,可能會(huì)有較高的錯(cuò)誤率,出現(xiàn)識別錯(cuò)誤時(shí),用戶可以選擇提交該次手勢數(shù)據(jù)以優(yōu)化模板。
目前手勢跟蹤與識別屬于比較熱門的研究與發(fā)展課題,本項(xiàng)目已在多項(xiàng)技術(shù)上取得良好的進(jìn)展,包括基于貝塞爾曲線的去噪與特征提取技術(shù)、基于leapmotion等多種標(biāo)準(zhǔn)手勢數(shù)據(jù)采集方法等。本項(xiàng)目研究的手勢姿態(tài)識別是人機(jī)交互領(lǐng)域的關(guān)鍵技術(shù),為國務(wù)院發(fā)布政策、十三五規(guī)劃、政府報(bào)告、領(lǐng)導(dǎo)講話等都有對人機(jī)交互行業(yè)做了一些綱領(lǐng)性的指導(dǎo),為行業(yè)發(fā)展做好了指引。手勢識別技術(shù)的應(yīng)用讓人們逐漸擺脫傳統(tǒng)的輸入方式,為人類提供了更加多元化、人性化的服務(wù)。
(作者單位:杭州科技職業(yè)技術(shù)學(xué)院企業(yè)文化研究所)