福建師范大學(xué)信息技術(shù)學(xué)院 陳 威
?
基于普通PC攝像頭的手勢(shì)識(shí)別系統(tǒng)
福建師范大學(xué)信息技術(shù)學(xué)院 陳 威
該文從PC端手勢(shì)識(shí)別應(yīng)用的需求出發(fā),對(duì)常用的手勢(shì)識(shí)別技術(shù)進(jìn)行了分析。通過對(duì)普通家用低分辨率攝像頭的手勢(shì)識(shí)別進(jìn)行設(shè)計(jì),實(shí)現(xiàn)通過普通攝像頭識(shí)別人的手勢(shì)動(dòng)作,轉(zhuǎn)化為特定指令,嵌入其他應(yīng)用軟件或游戲中,在不增加硬件成本下帶給用戶更多的體驗(yàn)。
手勢(shì)識(shí)別 攝像頭 圖像捕捉 智能匹配
隨著信息時(shí)代的來臨,傳統(tǒng)的人機(jī)交互系統(tǒng)不足以滿足信息時(shí)代智能化發(fā)展的需要。諸多產(chǎn)品的多媒體應(yīng)用需求更多元、更方便、更智能的操作方式,基于攝像頭操作的應(yīng)用由此而生。目前手勢(shì)操作在手機(jī)上大量使用,但在PC上應(yīng)用極少(如微軟的Kinect[1]、SoundWave等)。其原因,或是因需要昂貴的專用攝像頭,或應(yīng)用范圍狹小、只能實(shí)現(xiàn)簡(jiǎn)單的功能,或還處于實(shí)驗(yàn)室階段、誤差大無(wú)法進(jìn)行推廣。因此,使用普通攝像頭實(shí)現(xiàn)常規(guī)手勢(shì)操作的正式產(chǎn)品目前在市面上難以找到。
基于普通攝像頭的手勢(shì)識(shí)別技術(shù)的技術(shù)難點(diǎn)主要在于用戶環(huán)境的多變性,不同時(shí)間、位置引起的光照強(qiáng)弱、角度改變以及使用者的衣著變化,都會(huì)對(duì)圖像的識(shí)別、捕獲和追蹤產(chǎn)生影響。為解決此問題,本系統(tǒng)從使用者的具體應(yīng)用角度出發(fā),讓系統(tǒng)不僅能夠動(dòng)態(tài)捕捉和分析用戶手勢(shì),轉(zhuǎn)換為指令嵌入其他軟件,同時(shí)通過對(duì)時(shí)間、空間的分析,還能夠提取用戶歷史數(shù)據(jù)以自動(dòng)匹配和優(yōu)化相關(guān)參數(shù),提高手勢(shì)識(shí)別的準(zhǔn)確率。
目前在PC端的手勢(shì)識(shí)別技術(shù)在常規(guī)電腦操作、辦公、繪圖等日常應(yīng)用上,和鼠標(biāo)、鍵盤相比,并不具有優(yōu)勢(shì),手勢(shì)識(shí)別的真正需求主要集中于專業(yè)應(yīng)用和家庭游戲兩類。專業(yè)應(yīng)用的場(chǎng)合如展廳、會(huì)議室、醫(yī)院等,這類應(yīng)用因操作者不方便操作鼠標(biāo)鍵盤,又有對(duì)PPT、視頻、音樂播放、圖片等遠(yuǎn)程操作的需求,比如手術(shù)過程中醫(yī)生需要臨時(shí)查看病人的X光圖片或其他資料,戴著消毒手套不方便操作,助手協(xié)助操作又往往配合度不佳,此時(shí)即可使用手勢(shì)進(jìn)行圖片的瀏覽和縮放,找到自己需要的資料。
游戲應(yīng)用上,體感游戲目前方興未艾,但專業(yè)的動(dòng)作捕捉設(shè)備又過于昂貴,同時(shí)支持這類設(shè)備的游戲軟件種類也比較少,如果能夠通過普通攝像頭分析用戶體感動(dòng)作,轉(zhuǎn)換為游戲操作的指令,就可以將眾多操作并不復(fù)雜的射擊、跳躍、闖關(guān)類游戲,如憤怒的小鳥、切水果、雷神之錘等,轉(zhuǎn)換為體感游戲,增強(qiáng)用戶體驗(yàn)。
目前市場(chǎng)上已有少量手勢(shì)識(shí)別的軟件應(yīng)用,同時(shí)也有大量文章對(duì)這類技術(shù)進(jìn)行分析,但因?yàn)槎际侨耸制つw顏色識(shí)別,受周圍環(huán)境干擾較大,因此在實(shí)際應(yīng)用上誤差較大,無(wú)法投入商業(yè)應(yīng)用。同時(shí),現(xiàn)有軟件能夠支持的操作指令也比較少,只能完成簡(jiǎn)答的PPT翻頁(yè)、鼠標(biāo)移動(dòng)等操作。
為提高手勢(shì)識(shí)別的成功率,本系統(tǒng)的視頻捕捉對(duì)象可以不再是裸手,而是讓使用者帶上雙色指套(遠(yuǎn)距離操作則可以選擇手套或袖套。顏色材質(zhì)都沒有特殊要求,如今天用戶穿紅色衣服,則可以選擇食指帶藍(lán)色指套,大拇指帶黃色指套),即可進(jìn)行操作。考慮到系統(tǒng)的具體需求,對(duì)專業(yè)應(yīng)用場(chǎng)合,一般操作較為簡(jiǎn)單、應(yīng)用固定,單色的手套或裸手即可滿足使用要求;對(duì)游戲玩家,雖然游戲操作比較復(fù)雜,但為獲得更好的用戶體驗(yàn),他們并不會(huì)介意使用雙色的指套進(jìn)行操作。因此,以上操作設(shè)計(jì),可以滿足用戶的要求。
系統(tǒng)分為服務(wù)器端和客戶端,客戶端采用Dephi實(shí)現(xiàn),服務(wù)器端使用ASP.NET+SQL2008實(shí)現(xiàn)。客戶端供用戶免費(fèi)下載,除了提供系統(tǒng)默認(rèn)自帶了對(duì)PPT、媒體播放器、圖片瀏覽器、音樂播放器等一些常用軟件和憤怒的小鳥等幾款游戲的手勢(shì)操作支持外,還提供系統(tǒng)配置和在線操作等功能,其系統(tǒng)功能模塊見圖1。

圖1 多樂控客戶端
其中,手勢(shì)捕捉界面平時(shí)隱藏在后臺(tái),在用戶初次使用或改變使用環(huán)境時(shí)可調(diào)出此界面進(jìn)行手動(dòng)輔助操作,提高系統(tǒng)識(shí)別率;傳輸服務(wù)用于設(shè)置和服務(wù)器端相關(guān)的信息;參數(shù)設(shè)置則用于對(duì)系統(tǒng)色素誤差、靈敏度、偏差糾正等參數(shù)的調(diào)整,以適應(yīng)用戶使用習(xí)慣;指令腳本方案的設(shè)計(jì)和保存供用戶針對(duì)各款軟件和游戲定制對(duì)應(yīng)操作的手勢(shì)指令集合(一個(gè)手勢(shì)可以對(duì)應(yīng)一個(gè)鼠標(biāo)或鍵盤的操作,也可以是一系列有序操作的集合);腳本方案可以在申請(qǐng)賬號(hào)后通過上傳管理發(fā)送到服務(wù)器端以私有、共享、銷售三種方式進(jìn)行保存;下載和購(gòu)買功能則提供用戶以獲取其他用戶上傳的指令腳本方案;在線升級(jí)服務(wù)可用于系統(tǒng)的免費(fèi)升級(jí)。
服務(wù)器端用于發(fā)布最新版本軟件和免費(fèi)手勢(shì)腳本;收集和分析用戶設(shè)計(jì)和上傳手勢(shì)腳本,選擇優(yōu)秀作品提供用戶下載或購(gòu)買;商業(yè)廣告信息配置和發(fā)布等,其具體功能模塊見圖2。

圖2 多樂控服務(wù)器端
本系統(tǒng)的技術(shù)難點(diǎn)在客戶端的手勢(shì)識(shí)別和環(huán)境自適應(yīng)算法上。基于視覺的手勢(shì)識(shí)別是由分析者根據(jù)觀察到的手勢(shì)動(dòng)作流,對(duì)比其大腦中的手勢(shì)含義知識(shí),轉(zhuǎn)換為特定的含義進(jìn)行解析,以得到手勢(shì)的實(shí)際意義。
基于PC攝像頭的動(dòng)態(tài)手勢(shì)識(shí)別與此類似,則是通過攝像頭每秒拍攝一定數(shù)量的連續(xù)圖片,然后從圖片中進(jìn)行分析,提取手指指尖位置坐標(biāo)的變化特征規(guī)律,建立手指的動(dòng)作模型,并和數(shù)據(jù)庫(kù)中建立的動(dòng)作模型進(jìn)行匹配,識(shí)別出動(dòng)作含義,轉(zhuǎn)換為計(jì)算機(jī)指令,并發(fā)送給終端程序進(jìn)行解析,并驅(qū)動(dòng)程序執(zhí)行特定功能[2]。
根據(jù)對(duì)目前用戶需求的分析,本系統(tǒng)將追蹤到的手指數(shù)量定為兩個(gè),其他手指的動(dòng)作自動(dòng)屏蔽。其原因是因?yàn)閮蓚€(gè)手指的動(dòng)作表現(xiàn)含義已經(jīng)可以滿足用戶調(diào)查中所提出的需求。默認(rèn)配置下,系統(tǒng)追蹤的是使用者的食指和大拇指。食指的移動(dòng)軌跡即為鼠標(biāo)的移動(dòng)軌跡;水平方向食指和大拇指并攏為按下鼠標(biāo)左鍵;分開為放開鼠標(biāo)左鍵;垂直方向則對(duì)應(yīng)右鍵的操作。以上設(shè)置已經(jīng)可以滿足計(jì)算機(jī)的基本操作。此外,只伸出一根手指進(jìn)行操作又可以引申出食指和拇指的兩套動(dòng)作指令集和,這樣,指令的數(shù)量上已經(jīng)能夠滿足大部分的實(shí)際應(yīng)用要求。
系統(tǒng)目前識(shí)別的手勢(shì)動(dòng)作除了上面描述過的默認(rèn)配置下的常規(guī)動(dòng)作外,提供用戶自定義指令腳本操作的主要指令集如表1所示。

表1 主要手勢(shì)動(dòng)作特征表
采用雙指識(shí)別的另一個(gè)優(yōu)勢(shì)是攝像頭遠(yuǎn)程識(shí)別時(shí),無(wú)法精確最終單手手指運(yùn)動(dòng)軌跡,此時(shí)可通過追蹤雙手(或雙袖、雙腳、單腳單手)的運(yùn)動(dòng)軌跡,轉(zhuǎn)換為預(yù)設(shè)的拇指和食指的指令,以實(shí)現(xiàn)PC軟件操作和體感游戲體驗(yàn)。
動(dòng)態(tài)手勢(shì)的識(shí)別設(shè)計(jì)時(shí)間參數(shù)和空間參數(shù)的計(jì)算,目前此方面研究多采用隱馬爾科夫模型(HMM)和動(dòng)態(tài)時(shí)間規(guī)整(DTW)為基礎(chǔ),并對(duì)其進(jìn)行擴(kuò)展和優(yōu)化。HMM[3]是從語(yǔ)音識(shí)別領(lǐng)域發(fā)展而來的,它是一種基于統(tǒng)計(jì)學(xué)習(xí)的模型,隨著手勢(shì)識(shí)別研究的深入,在此基礎(chǔ)上,又提出了基于HMM的語(yǔ)義網(wǎng)絡(luò)模型(SNM)、轉(zhuǎn)移可變隱馬爾科夫模型(VTHMM)、三層轉(zhuǎn)移可變隱馬爾科夫模型(HVT-HMM)等,此方法具有自動(dòng)分割和分類的能力,具有尺度不變性,保持了概率論的框架優(yōu)點(diǎn),比較適合進(jìn)行連續(xù)的手勢(shì)識(shí)別。而DTW[4]是一種動(dòng)態(tài)的模版匹配算法,目前這方面的研究多集中在手勢(shì)語(yǔ)音和詞匯匹配轉(zhuǎn)換方面,但對(duì)每一個(gè)范圍內(nèi)變量需要建立大量的參照模版進(jìn)行比較。除了這兩個(gè)技術(shù)外,還有一些相關(guān)技術(shù)也被應(yīng)用于手勢(shì)識(shí)別方面,如人工神經(jīng)網(wǎng)絡(luò)等。
在實(shí)際應(yīng)用中,以上算法遇到的主要問題是復(fù)雜的背景對(duì)手勢(shì)軌跡提取造成嚴(yán)重的干擾、復(fù)雜的算法在普通家用PC機(jī)上產(chǎn)生嚴(yán)重時(shí)延,降低了分析的效率,類似顏色的物體導(dǎo)致手勢(shì)提取誤差增大。另外,隨著使用者、使用設(shè)備、使用時(shí)間和使用地點(diǎn)的改變,即使是同一個(gè)手勢(shì)在采集和識(shí)別上會(huì)產(chǎn)生不同結(jié)果。
為解決以上問題,本系統(tǒng)以HMM為基礎(chǔ),在軌跡追蹤方面,加入了預(yù)判算法,以加快系統(tǒng)的分析。
如圖3所示,某操作手勢(shì)從A點(diǎn)經(jīng)過B點(diǎn)向D滑動(dòng),時(shí)間TA提取圖片分析食指色塊位于B點(diǎn),時(shí)間TB提取圖片分析食指色塊位于B點(diǎn),時(shí)間Tc則預(yù)判食指可能位于坐標(biāo)C(XA+2*(XB-XA),YA+2*(YB-YA)),此時(shí)根據(jù)圖3(c)的軌跡,提取C點(diǎn)及C點(diǎn)周圍(XC-k,YC-k)、 (XC+k,YC-k)、(XC-k,YC+k)、(XC+k,YC+k)……共N個(gè)點(diǎn)(搜索精度值k和N可以在配置中進(jìn)行調(diào)整),獲取這些點(diǎn)的色彩均值,通過對(duì)比B點(diǎn)的色彩,判斷此點(diǎn)是否為Tc時(shí)刻食指所在位置。如果不是,則再以B為中心,根據(jù)圖3(d)的軌跡依次擴(kuò)大搜索半徑,以矩形方式采用上述算法進(jìn)行搜索。

圖3 軌跡預(yù)判
在搜索過程中,如果目標(biāo)對(duì)象偶爾漂移,無(wú)法通過上述算法檢測(cè)到,則在算法上,根據(jù)運(yùn)動(dòng)軌跡,系統(tǒng)運(yùn)用數(shù)據(jù)對(duì)比法、剩余誤差觀察法、不同公式計(jì)算標(biāo)準(zhǔn)誤差比較法和計(jì)算數(shù)據(jù)比較法處理誤差,自動(dòng)補(bǔ)充丟失坐標(biāo)。如連續(xù)多幀無(wú)法檢測(cè),則系統(tǒng)調(diào)整回手勢(shì)的檢測(cè)初始狀態(tài),并對(duì)連續(xù)的整幅圖像進(jìn)行對(duì)比檢測(cè),判斷手指可能位置。
最終,系統(tǒng)能夠得到以時(shí)間順序排列的指尖軌跡坐標(biāo),并對(duì)軌跡進(jìn)行平滑糾正,糾正后的軌跡根據(jù)用戶當(dāng)前應(yīng)用,在配套的腳本方案中進(jìn)行軌跡匹配,確定手勢(shì)指令,并發(fā)送對(duì)應(yīng)控制信號(hào)給應(yīng)用,完成一個(gè)控制過程,同時(shí)系統(tǒng)拋棄無(wú)關(guān)動(dòng)作圖像,回到輸入圖像跟蹤手勢(shì)位置的指令識(shí)別初始狀態(tài),繼續(xù)進(jìn)行下一個(gè)指令的分析。
在客戶環(huán)境的自適應(yīng)算法方面,考慮到使用者大部分情況下都是在某個(gè)特定時(shí)間段進(jìn)行某類特定操作,比如某游戲玩家,一般會(huì)在每天晚上21時(shí)至23時(shí)以及周日白天9時(shí)至12時(shí)在家里玩游戲,此時(shí)環(huán)境背景相對(duì)固定,操作內(nèi)容變化也不大。因此系統(tǒng)會(huì)根據(jù)用戶計(jì)算機(jī)的IP地址,對(duì)用戶使用地點(diǎn)進(jìn)行分析,每個(gè)IP地址建立獨(dú)立的一套環(huán)境檔案,并根據(jù)日期和時(shí)間的編號(hào)對(duì)光照度進(jìn)行預(yù)設(shè),在用戶開啟系統(tǒng)時(shí),給出提示并讓用戶選擇確認(rèn)其使用環(huán)境,以提高用戶手勢(shì)識(shí)別的成功率,降低外部環(huán)境變化產(chǎn)生的干擾。
和目前類似軟件相比,本系統(tǒng)創(chuàng)意新穎,在不增加用戶成本情況下,使用普通攝像頭實(shí)現(xiàn)各類應(yīng)用軟件、游戲的操作,提升了使用者的人機(jī)交流感受,實(shí)現(xiàn)更智能化的操控體驗(yàn)。本系統(tǒng)所采用的算法,通過對(duì)捕捉到的圖像數(shù)據(jù)進(jìn)行對(duì)比、誤差糾正、偏移量預(yù)估等處理,并通過具有時(shí)間、空間智能匹配功能,使得系統(tǒng)分析準(zhǔn)確、高效、快速,提高了被操作應(yīng)用程序響應(yīng)的流暢度, 帶給使用者生動(dòng)、真實(shí)的操作感。
[1] Greg Borenstein.格物智知:3D圖形與人機(jī)交互技術(shù)應(yīng)用[M]. 北京:人民郵電出版社,2013.
[2] MitraS,AcharyaT.Gesture recognition A survey[J]. IEEE Transactions on Systems, Man and Cybernetics, 2007, 37(3):311-324.
[3] Hyeon-KyuLee, Jin H.Kim. An HMM-based threshold model approach for gesture recognition[J]. IEEE Transations on Pattern Analysis and Machine Intelligence,1999,21(10): 961-973.
[4] 任海兵,祝遠(yuǎn)新,徐光祐.復(fù)雜背景下的手勢(shì)分割與識(shí)別[J].自動(dòng)化學(xué)報(bào),2000,28(2):78-85.