王文丹 傅自鋼
摘要:該文介紹的是基于Android平臺的視覺手勢識別及其相冊管理實(shí)現(xiàn)軟件的有關(guān)設(shè)計(jì),該軟件各模塊之間采用函數(shù)調(diào)用、參數(shù)傳遞、返回值的方式進(jìn)行信息傳遞。接口傳遞的信息是以數(shù)據(jù)結(jié)構(gòu)封裝了的數(shù)據(jù),以參數(shù)傳遞或返回值的形式在各模塊間傳輸。圖像采集模塊利用攝像頭驅(qū)動模塊來啟動攝像頭,按照一定的幀率采集用戶手勢圖像,并發(fā)送到手勢識別模塊處理。手勢識別模塊利用手勢特征模型對深度圖像數(shù)據(jù)進(jìn)行算法處理,識別出其中的人手運(yùn)動事件并發(fā)送到Android應(yīng)用模塊,從而實(shí)現(xiàn)視覺手勢識別和相冊管理。
關(guān)鍵詞:參數(shù)傳遞;返回值;幀率;手勢特征模型;算法
中圖分類號:TP391 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2016)13-0193-02
Abstract: This paper introduces the visual gesture recognition based on the Android platform and the design of the software in the photo album management implementation, the software module between the function call, parameters and return values in a way that information. Interface message is encapsulates the data structure of data, in the form of parameters or return values in transmission between each module. Image acquisition module using the camera driver module to start the camera, according to certain image frame rate to collect user gestures, and sent to handle gesture recognition module. Gesture recognition module using the signal characteristic model of depth image data algorithm processing, identify the staff sports events and sent to the Android application modules, so as to realize the visual gesture recognition and photo album management.
Key words: parameters; The return value. Frame rate. Gesture characteristic model; the algorithm
1 概述
手勢是人類交流溝通中不可分割的一部分,視覺手勢識別技術(shù)在最近幾年也得到了一些應(yīng)用,這一技術(shù)開辟了人機(jī)交互系統(tǒng)的新方向,因此對視覺手勢的研究具有很大的現(xiàn)實(shí)意義。該軟件可運(yùn)行在Android智能手機(jī),用戶可以通過拳掌的變換以及手勢的不同來瀏覽相冊,在視覺手勢瀏覽相冊時,主要是手勢圖像的采集,手勢識別,人機(jī)交互。軟件使用者可在Android智能手機(jī)上安裝運(yùn)行,在上面進(jìn)行相冊的瀏覽。
2 設(shè)計(jì)概念和過程描述
2.1基本設(shè)計(jì)概念和處理流程
在該軟件的設(shè)計(jì)過程中,我們分析了軟件的系統(tǒng)結(jié)構(gòu)以及各個模塊的處理流程,基本的系統(tǒng)結(jié)構(gòu)流程如下:首先,手機(jī)用戶安裝軟件,打開軟件之后進(jìn)入主界面;然后會是縮略圖界面,握拳向左向右移動來瀏覽大量圖片;我們可以通過手勢張開打開圖片;然后進(jìn)入大圖模式界面,手掌靠近攝像頭圖片放大,手掌遠(yuǎn)離攝像頭,圖片縮?。辉诓僮鲿r手掌與攝像頭距離保持不變時,手掌前后左右移動,圖片也將前后左右移;最后手勢握拳關(guān)閉圖片,回到縮略圖界面。這就是整個的系統(tǒng)流程,在這里需要說明的就是,手機(jī)用戶必須將軟件進(jìn)行安裝;用戶手機(jī)需具有前置攝像頭;用戶在進(jìn)行手勢識別過程中手勢的變化要比較明顯,否則識別不出。
2.2功能和模塊的劃分
手勢識別系統(tǒng)包括圖像采集模塊,手勢識別模塊,Android應(yīng)用模塊。在之前的介紹中我們有提到,圖像采集模塊利用攝像頭驅(qū)動模塊來啟動攝像頭,按照一定的幀率采集用戶手勢圖像,并發(fā)送到手勢識別模塊處理。手勢識別模塊利用手勢特征模型對深度圖像數(shù)據(jù)進(jìn)行算法處理,識別出其中的人手運(yùn)動事件并發(fā)送到Android應(yīng)用模塊。Android應(yīng)用模塊根據(jù)接收到的手勢消息類型產(chǎn)生特定的應(yīng)用行為。下面圖1顯示的是功能和模塊的劃分:
2.2.1手勢跟蹤與識別
手勢識別的基本流程,主要是手勢圖像的采集,手勢識別,人機(jī)交互。下面圖2展示手勢跟蹤與識別流程圖:
在手勢識別的過程中,通過哈爾分類器識別出視覺手勢,在這之前要首先進(jìn)行圖像的采集和預(yù)處理過程,同時還要進(jìn)行手勢跟蹤。在哈爾分類器進(jìn)行手勢識別過程之后進(jìn)行人機(jī)交互過程,在此過程中,主要依靠的是哈爾分類器。
2.2.2運(yùn)動輪廓檢測
運(yùn)動輪廓檢測作為識別流程的第一個環(huán)節(jié),其重要性不言而喻,如果此環(huán)節(jié)無法檢測出人手,下面的手勢識別流程將無法進(jìn)行,同時檢測效果的好壞也將直接影響到后續(xù)的過程,并最終影響到識別結(jié)果。這一步的主要工作就是將有意義的區(qū)域——人手區(qū)域從序列圖中分列出來。下面圖3展示運(yùn)動輪廓檢測過程:
在運(yùn)動輪廓檢測過程中,通過手勢跟蹤與識別得到的圖像序列會在這一環(huán)節(jié)中得到利用。首先,該環(huán)節(jié)利用差分法來檢測圖像序列從而檢測出運(yùn)動輪廓;然后,進(jìn)行輪廓去噪聲以及形態(tài)學(xué)處理;最后,進(jìn)行運(yùn)動輪廓的提取。提取出的運(yùn)動輪廓對于手勢動作的識別具有決定性的意義。
2.2.3手勢動作識別
手勢識別階段利用跟蹤階段得到了人手輪廓軌跡信息進(jìn)行手勢動作的識別,并輸出人手識別的結(jié)果。下面圖4展示手勢動作識別過程:
包含手勢的深度圖像經(jīng)過運(yùn)動輪廓的檢測過程之后,系統(tǒng)進(jìn)行人手鎖定功能,這個時候會有兩種判定結(jié)果:一是進(jìn)過判定之后結(jié)果為“否”,繼續(xù)傳入圖像序列進(jìn)行運(yùn)動輪廓檢測;二是判定結(jié)果為“是”,進(jìn)行人手輪廓鎖定、人手跟蹤以及跟蹤的判定。系統(tǒng)在經(jīng)過跟蹤判定之后,若手勢識別成功,則就會將識別出的手勢運(yùn)動消息傳送下去;否則,判為失敗繼續(xù)檢測運(yùn)動輪廓。
3 軟件測試分析
對軟件的測試,我們采用的是正向測試和反向測試的策略。當(dāng)用戶在安卓智能手機(jī)點(diǎn)擊進(jìn)入本款軟件應(yīng)用時,首先呈現(xiàn)的是縮略圖模式,我們對該模式下的手勢都進(jìn)行了相關(guān)的測試。軟件對手勢識別的靈敏度以及用戶對圖片的管理都得到了很好的測試效果。
4 結(jié)論
本文中就基于Android平臺的視覺手勢識別及其相冊管理實(shí)現(xiàn)這一應(yīng)用功能進(jìn)行了詳細(xì)的分析,通過各模塊之間采用函數(shù)調(diào)用、參數(shù)傳遞、返回值的方式進(jìn)行信息傳遞,并且接口設(shè)計(jì)方面也實(shí)現(xiàn)了各種信息的傳遞。在進(jìn)行了大量的軟件測試后,該軟件安裝以后,檢測到有手勢時將手勢捕捉,通過各個模塊之間的調(diào)用,讀入信息,并進(jìn)行手勢的跟蹤,識別相應(yīng)的手勢,根據(jù)不同的手勢響應(yīng)不同的事件并調(diào)用相關(guān)的模塊。當(dāng)檢測到手勢握拳時,關(guān)閉相冊,軟件的運(yùn)行就會結(jié)束。最終實(shí)現(xiàn)了手勢識別以及相冊管理的功能。
參考文獻(xiàn):
[1] 鄧凡平.深入理解android[M].北京:機(jī)械工業(yè)出版社,2011.
[2] 吳亞峰,索依娜.Android核心技術(shù)與實(shí)例詳解[M].北京:電子工業(yè)出版社,2010.
[3] 王向輝,張國印,沈潔.Android應(yīng)用程序開發(fā)[M].北京:清華大學(xué)出版社,2010.
[4] 吳彩芳,謝鈞,周開店.基于手勢識別的人機(jī)交互技術(shù)研究[J].計(jì)算機(jī)時代,2016(2).
[5] 孫紅,廖蕾.基于OpenCV的多特征實(shí)時手勢識別[J].電子科技,2015(8).