基于嵌入式系統(tǒng)實時交互的手勢識別方法
摘要:提出了一種在單攝像頭條件下基于嵌入式系統(tǒng)的手勢識別方法。通過擬合手勢圖的外接多邊形,找出其所對應的手勢缺陷圖,并建立手勢與手勢缺陷圖的一一映射,利用手勢缺陷圖的特征來匹配和識別不同的手勢。算法還將手勢的跟蹤與識別有機地統(tǒng)一起來,通過預測下一幀中手勢出現(xiàn)的粗略位置大大降低識別步驟的計算量。該算法在實際應用的嵌入式平臺下,能快速、準確地實現(xiàn)手勢的識別,能夠滿足實時人機交互的要求。
本文引用地址:http://m.butianyuan.cn/article/149117.htm0引言
手勢交互是人機交互領域近年來的研究熱點,特別是利用攝像頭來實現(xiàn)對手勢信息的非接觸性捕獲,并由計算機進行分析理解,然后完成交互任務,由于其自然和符合人自身行為習慣的交互方式而備受青睞。手勢的形態(tài)在交互過程中的變化以及周圍環(huán)境的干擾都會影響到手勢的識別和理解,因此手勢識別是計算機視覺和人機交互領域中的重要問題,如何將這種交互方式更好地在嵌入式系統(tǒng)中應用更是一個富有挑戰(zhàn)性的工作。
基于視覺的手勢識別過程通常分為四個步驟,即分割、表示、識別和應用。手勢識別算法的關鍵和難點是分割和識別兩個步驟,現(xiàn)有算法在這兩個步驟通常都有計算量大、時間復雜度高的特點,而嵌入式設備又受到資源和計算能力的限制,要能夠做到基于嵌入式系統(tǒng)的實時手勢交互,就有必要對傳統(tǒng)的手勢識別算法進行改進。
本文在單攝像頭條件下,在手勢跟蹤的相關工作基礎上,提出了一種基于手勢結構特征的手勢識別方法,使之滿足嵌入式系統(tǒng)中的人機交互對實時性、準確性及連續(xù)性的要求。本文使用了計算量小且性能高的Camshift算法作為跟蹤算法,并將其跟蹤結果作為手勢識別的參考因子,這樣可以大大減少手勢識別的工作量;手勢的識別則采用了手勢跟蹤結果與手勢形態(tài)結構特征相結合的處理方法。將手勢跟蹤的結果作為參考因子,可以除去圖像中與手勢無關的背景圖像,利用手勢形態(tài)結構特征使得手勢識別工作不是對手勢邊緣的每個點進行處理,轉而對手勢的外接多邊形進行處理。這兩種方法相結合不僅使識別工作的計算量大大降低,對手勢識別的精確度也有所提高,而且不需要對各種手勢進行訓練就可以完成識別工作,使得識別更加方便和簡潔。
1相關工作
關于手勢識別的算法,國內外的研究人員已經提出了很多不同的解決方案。目前比較常用的有基于統(tǒng)計的HMM模型、基于遺傳算法以及基于人工神經網絡的手勢識別等?;诮y(tǒng)計的HMM方法,其優(yōu)點是利用先驗知識建立視覺特征之間的因果關系來處理視頻處理中固有的不確定性問題,不但能夠在每個時刻上對多個隨機變量所對應的不同特征之間的依存關系進行概率建模,而且考慮了各個時刻間的轉移概率,能夠很好地反映特征之間的時序關系。但是它需要維護一個具有一定規(guī)模的樣本庫,而且在使用HMM進行手勢識別時計算量大。當然,樣本庫的規(guī)模越大其分布越接近實際情況,手勢識別的準確率就越高,而且還需要使用數據平滑的技術來擴大小概率的值。遺傳算法對圖像進行離散化處理,對圖像離散點進行控制,把圖像識別問題轉換為一系列離散點的組合優(yōu)化問題;但它不能夠及時利用網絡的反饋信息,搜索速度比較慢,所需訓練樣本大、訓練時間長。人工神經網絡通過把大量的簡單處理單元(神經元)廣泛地連接起來構成一種復雜的信息處理網絡,它在不同程度和層次上模仿人腦神經系統(tǒng)的信息處理、存儲和檢索功能,需要的樣本少、效率高;但是需要人的參與訓練,識別的正確率受主觀因素的影響。
總體來說,在人機交互系統(tǒng)中,手勢的跟蹤與識別應該滿足以下幾個要求:
a)實時性好,避免對高維度特征矢量的計算,數據量大的數組處理以及復雜的搜索過程。
b)足夠的魯棒性。不受識別對象旋轉、平移和比例改變以及攝像頭視角改變的影響。
c)手勢跟蹤的連續(xù)性和自動初始化,能夠在跟蹤失敗后自動恢復跟蹤,盡量減少人的干預。
本文提出手勢識別和跟蹤方法不再追隨傳統(tǒng)的將識別的四個步驟孤立起來,而是將手勢跟蹤的結果與手勢的識別這兩個獨立的步驟聯(lián)系起來,將跟蹤得到的手勢預測的區(qū)域設為下一幀圖像識別的感興趣區(qū)域(regionofinteresting,ROI);基于Camshift算法,根據前一幀手勢在圖像中的位置和顏色信息,對手勢在下一幀圖片所處的位置進行預測,主要是基于顏色的統(tǒng)計信息。它運算量小,不僅能很好地滿足嵌入式系統(tǒng)的需求,而且跟蹤和預測的效果也非常好。通過對ROI區(qū)域進行手勢的分割和識別,可以排除背景圖像對手勢的部分干擾,識別過程的計算量也減小很多。由于每種手勢的邊線都有不同特征,這些不同的特征能很好地反映在手勢的外接多邊形上,因此,可以對不同手勢和外接多邊形建立一個一一映射的關系;通過建立不同手勢的外接多邊形特征庫,對分割出來的手勢作多邊形擬合,只要將提取出來的多邊形與特征庫中的外接多邊形進行匹配就能判斷出手勢的類型。
本文提出的手勢識別方法主要包括三個部分:
a)手勢分割。將手部區(qū)域從場景中分割出來,并對手部的區(qū)域和輪廓進行提取。這里的手部區(qū)域主要根據c)跟蹤的結果提供。
b)手勢圖像的外接多邊形擬合以及匹配部分。對a)提取出來的手勢輪廓作多邊形擬合,分析多邊形的形狀特點,并在特征庫中查找與擬合的多邊形特征相符合的對象,再映射到具體的手勢。
c)手勢跟蹤部分。根據顏色信息對手的區(qū)域進行定位,并對圖像進行空間轉換,利用統(tǒng)計原理對下一幀手可能出現(xiàn)的區(qū)域進行預測,并將預測的結果反饋給a)的手勢分割部分。
手勢識別流程如圖1所示。
2手勢識別框架
手勢識別主要由靜態(tài)手勢的識別和手勢跟蹤兩部分的工作組成,手勢識別框架結構如圖2所示。在本文提出的方法中,采用了將這兩部分的工作進行并行處理的方式,手勢識別的結果傳遞給跟蹤部分,作為跟蹤的對象,并且手勢跟蹤的預測結果反饋給識別部分,將為靜態(tài)手勢識別提供ROI圖像區(qū)域。這樣不僅能有效地提高跟蹤的高效性,還能提高識別的準確性,將這兩個部分有效地統(tǒng)一起來。
評論