基于嵌入式系統(tǒng)實(shí)時(shí)交互的手勢(shì)識(shí)別
手勢(shì)交互是人機(jī)交互領(lǐng)域近年來(lái)的研究熱點(diǎn),特別是利用攝像頭來(lái)實(shí)現(xiàn)對(duì)手勢(shì)信息的非接觸性捕獲,并由計(jì)算機(jī)進(jìn)行分析理解,然后完成交互任務(wù),由于其自然和符合人自身行為習(xí)慣的交互方式而備受青睞。手勢(shì)的形態(tài)在交互過(guò)程中的變化以及周圍環(huán)境的干擾都會(huì)影響到手勢(shì)的識(shí)別和理解,因此手勢(shì)識(shí)別是計(jì)算機(jī)視覺和人機(jī)交互領(lǐng)域中的重要問(wèn)題,如何將這種交互方式更好地在嵌入式系統(tǒng)中應(yīng)用更是一個(gè)富有挑戰(zhàn)性的工作。
基于視覺的手勢(shì)識(shí)別過(guò)程通常分為四個(gè)步驟,即分割、表示、識(shí)別和應(yīng)用。手勢(shì)識(shí)別算法的關(guān)鍵和難點(diǎn)是分割和識(shí)別兩個(gè)步驟,現(xiàn)有算法在這兩個(gè)步驟通常都有計(jì)算量大、時(shí)間復(fù)雜度高的特點(diǎn),而嵌入式設(shè)備又受到資源和計(jì)算能力的限制,要能夠做到基于嵌入式系統(tǒng)的實(shí)時(shí)手勢(shì)交互,就有必要對(duì)傳統(tǒng)的手勢(shì)識(shí)別算法進(jìn)行改進(jìn)。
本文在單攝像頭條件下,在手勢(shì)跟蹤的相關(guān)工作基礎(chǔ)上,提出了一種基于手勢(shì)結(jié)構(gòu)特征的手勢(shì)識(shí)別方法,使之滿足嵌入式系統(tǒng)中的人機(jī)交互對(duì)實(shí)時(shí)性、準(zhǔn)確性及連續(xù)性的要求。本文使用了計(jì)算量小且性能高的Camshift 算法作為跟蹤算法,并將其跟蹤結(jié)果作為手勢(shì)識(shí)別的參考因子,這樣可以大大減少手勢(shì)識(shí)別的工作量; 手勢(shì)的識(shí)別則采用了手勢(shì)跟蹤結(jié)果與手勢(shì)形態(tài)結(jié)構(gòu)特征相結(jié)合的處理方法。將手勢(shì)跟蹤的結(jié)果作為參考因子,可以除去圖像中與手勢(shì)無(wú)關(guān)的背景圖像,利用手勢(shì)形態(tài)結(jié)構(gòu)特征使得手勢(shì)識(shí)別工作不是對(duì)手勢(shì)邊緣的每個(gè)點(diǎn)進(jìn)行處理,轉(zhuǎn)而對(duì)手勢(shì)的外接多邊形進(jìn)行處理。這兩種方法相結(jié)合不僅使識(shí)別工作的計(jì)算量大大降低,對(duì)手勢(shì)識(shí)別的精確度也有所提高,而且不需要對(duì)各種手勢(shì)進(jìn)行訓(xùn)練就可以完成識(shí)別工作,使得識(shí)別更加方便和簡(jiǎn)潔。
1 相關(guān)工作
關(guān)于手勢(shì)識(shí)別的算法,國(guó)內(nèi)外的研究人員已經(jīng)提出了很多不同的解決方案。目前比較常用的有基于統(tǒng)計(jì)的HMM 模型、基于遺傳算法以及基于人工神經(jīng)網(wǎng)絡(luò)的手勢(shì)識(shí)別等?;诮y(tǒng)計(jì)的HMM 方法,其優(yōu)點(diǎn)是利用先驗(yàn)知識(shí)建立視覺特征之間的因果關(guān)系來(lái)處理視頻處理中固有的不確定性問(wèn)題,不但能夠在每個(gè)時(shí)刻上對(duì)多個(gè)隨機(jī)變量所對(duì)應(yīng)的不同特征之間的依存關(guān)系進(jìn)行概率建模,而且考慮了各個(gè)時(shí)刻間的轉(zhuǎn)移概率,能夠很好地反映特征之間的時(shí)序關(guān)系。但是它需要維護(hù)一個(gè)具有一定規(guī)模的樣本庫(kù),而且在使用HMM 進(jìn)行手勢(shì)識(shí)別時(shí)計(jì)算量大。當(dāng)然,樣本庫(kù)的規(guī)模越大其分布越接近實(shí)際情況,手勢(shì)識(shí)別的準(zhǔn)確率就越高,而且還需要使用數(shù)據(jù)平滑的技術(shù)來(lái)擴(kuò)大小概率的值。遺傳算法對(duì)圖像進(jìn)行離散化處理,對(duì)圖像離散點(diǎn)進(jìn)行控制,把圖像識(shí)別問(wèn)題轉(zhuǎn)換為一系列離散點(diǎn)的組合優(yōu)化問(wèn)題; 但它不能夠及時(shí)利用網(wǎng)絡(luò)的反饋信息,搜索速度比較慢,所需訓(xùn)練樣本大、訓(xùn)練時(shí)間長(zhǎng)。人工神經(jīng)網(wǎng)絡(luò)通過(guò)把大量的簡(jiǎn)單處理單元( 神經(jīng)元) 廣泛地連接起來(lái)構(gòu)成一種復(fù)雜的信息處理網(wǎng)絡(luò),它在不同程度和層次上模仿人腦神經(jīng)系統(tǒng)的信息處理、存儲(chǔ)和檢索功能,需要的樣本少、效率高; 但是需要人的參與訓(xùn)練,識(shí)別的正確率受主觀因素的影響。
總體來(lái)說(shuō),在人機(jī)交互系統(tǒng)中,手勢(shì)的跟蹤與識(shí)別應(yīng)該滿足以下幾個(gè)要求:
a) 實(shí)時(shí)性好,避免對(duì)高維度特征矢量的計(jì)算,數(shù)據(jù)量大的數(shù)組處理以及復(fù)雜的搜索過(guò)程。
b) 足夠的魯棒性。不受識(shí)別對(duì)象旋轉(zhuǎn)、平移和比例改變以及攝像頭視角改變的影響。
c) 手勢(shì)跟蹤的連續(xù)性和自動(dòng)初始化,能夠在跟蹤失敗后自動(dòng)恢復(fù)跟蹤,盡量減少人的干預(yù)。
本文提出手勢(shì)識(shí)別和跟蹤方法不再追隨傳統(tǒng)的將識(shí)別的四個(gè)步驟孤立起來(lái),而是將手勢(shì)跟蹤的結(jié)果與手勢(shì)的識(shí)別這兩個(gè)獨(dú)立的步驟聯(lián)系起來(lái),將跟蹤得到的手勢(shì)預(yù)測(cè)的區(qū)域設(shè)為下一幀圖像識(shí)別的感興趣區(qū)域( region of interesting,ROI) ; 基于Camshift 算法,根據(jù)前一幀手勢(shì)在圖像中的位置和顏色信息,對(duì)手勢(shì)在下一幀圖片所處的位置進(jìn)行預(yù)測(cè),主要是基于顏色的統(tǒng)計(jì)信息。它運(yùn)算量小,不僅能很好地滿足嵌入式系統(tǒng)的需求,而且跟蹤和預(yù)測(cè)的效果也非常好。通過(guò)對(duì)ROI 區(qū)域進(jìn)行手勢(shì)的分割和識(shí)別,可以排除背景圖像對(duì)手勢(shì)的部分干擾,識(shí)別過(guò)程的計(jì)算量也減小很多。由于每種手勢(shì)的邊線都有不同特征,這些不同的特征能很好地反映在手勢(shì)的外接多邊形上,因此,可以對(duì)不同手勢(shì)和外接多邊形建立一個(gè)一一映射的關(guān)系; 通過(guò)建立不同手勢(shì)的外接多邊形特征庫(kù),對(duì)分割出來(lái)的手勢(shì)作多邊形擬合,只要將提取出來(lái)的多邊形與特征庫(kù)中的外接多邊形進(jìn)行匹配就能判斷出手勢(shì)的類型。
本文提出的手勢(shì)識(shí)別方法主要包括三個(gè)部分:
a) 手勢(shì)分割。將手部區(qū)域從場(chǎng)景中分割出來(lái),并對(duì)手部的區(qū)域和輪廓進(jìn)行提取。這里的手部區(qū)域主要根據(jù)c) 跟蹤的結(jié)果提供。
b) 手勢(shì)圖像的外接多邊形擬合以及匹配部分。對(duì)a) 提取出來(lái)的手勢(shì)輪廓作多邊形擬合,分析多邊形的形狀特點(diǎn),并在特征庫(kù)中查找與擬合的多邊形特征相符合的對(duì)象,再映射到具體的手勢(shì)。
c) 手勢(shì)跟蹤部分。根據(jù)顏色信息對(duì)手的區(qū)域進(jìn)行定位,并對(duì)圖像進(jìn)行空間轉(zhuǎn)換,利用統(tǒng)計(jì)原理對(duì)下一幀手可能出現(xiàn)的區(qū)域進(jìn)行預(yù)測(cè),并將預(yù)測(cè)的結(jié)果反饋給a) 的手勢(shì)分割部分。
手勢(shì)識(shí)別流程如圖1 所示。
2 手勢(shì)識(shí)別框架
手勢(shì)識(shí)別主要由靜態(tài)手勢(shì)的識(shí)別和手勢(shì)跟蹤兩部分的工作組成,手勢(shì)識(shí)別框架結(jié)構(gòu)如圖2 所示。在本文提出的方法中,采用了將這兩部分的工作進(jìn)行并行處理的方式,手勢(shì)識(shí)別的結(jié)果傳遞給跟蹤部分,作為跟蹤的對(duì)象,并且手勢(shì)跟蹤的預(yù)測(cè)結(jié)果反饋給識(shí)別部分,將為靜態(tài)手勢(shì)識(shí)別提供ROI 圖像區(qū)域。這樣不僅能有效地提高跟蹤的高效性,還能提高識(shí)別的準(zhǔn)確性,將這兩個(gè)部分有效地統(tǒng)一起來(lái)。
2. 1 靜態(tài)手勢(shì)識(shí)別
通過(guò)靜態(tài)手勢(shì)的識(shí)別,使系統(tǒng)能夠?qū)Ρ桓檶?duì)象有一個(gè)基本的理解,為實(shí)現(xiàn)自動(dòng)跟蹤初始化與跟蹤的自動(dòng)恢復(fù)奠定了基礎(chǔ)。首先,手部區(qū)域需要從場(chǎng)景中分割出來(lái)。本文采用一種基于模糊集和模糊運(yùn)算的方法進(jìn)行手的區(qū)域和輪廓提取,通過(guò)對(duì)視頻流中空域和時(shí)域上的背景、運(yùn)動(dòng)、膚色等信息執(zhí)行模糊運(yùn)算,分割出精確的人手。
靜態(tài)手勢(shì)的識(shí)別是基于輪廓特征的識(shí)別,對(duì)分割出來(lái)的人手作邊緣檢測(cè),得到手勢(shì)完整的輪廓邊緣。通過(guò)前面的模糊集合運(yùn)算,能得到圖像的手勢(shì)分割的二值圖。兩個(gè)具有不同灰度值的相鄰區(qū)域之間總存在邊緣。邊緣是灰度值不連續(xù)的結(jié)果,這種不連續(xù)可利用求導(dǎo)方便地檢測(cè)出來(lái)。
這樣就能得到完整的輪廓邊緣。如圖3 所示,左邊為手部區(qū)域,右邊為手勢(shì)的輪廓。
接下來(lái)是對(duì)提取的手勢(shì)輪廓作外接多邊形擬合。KenjiOka 和Yoichi Sato 的指尖搜索方法是首先在一個(gè)較大的搜索窗口內(nèi)掃描確定20 個(gè)候選指尖位置,然后再對(duì)匹配度最大的候選位置周圍的候選進(jìn)行抑制,同時(shí)按一定規(guī)則去除位于指尖中間的部分候選。該方法由于需要對(duì)搜索區(qū)域進(jìn)行多次逐像素的掃描,造成計(jì)算量較大,而且除去手勢(shì)中部候選位置的方法的魯棒性較差。文獻(xiàn)[5]給出了通過(guò)遍歷手勢(shì)輪廓的曲率來(lái)進(jìn)行之間位置搜索的方法,通過(guò)對(duì)手勢(shì)按輪廓順序進(jìn)行定長(zhǎng)掃描的方法,可以找出指尖并做出輪廓線的外接多邊形。但是這種查找方式需要遍歷輪廓線的每個(gè)點(diǎn),而且對(duì)每個(gè)點(diǎn)還需要作除法運(yùn)算,這使得算法的計(jì)算量太大,而且在搜索指尖時(shí),當(dāng)受到光線變化使得輪廓線出現(xiàn)很多突起的邊緣時(shí),使得識(shí)別工作出現(xiàn)困難。本文提出了一種查找外接邊的搜索方法,通過(guò)對(duì)手勢(shì)輪廓按輪廓點(diǎn)順序進(jìn)行定長(zhǎng)掃描,將手勢(shì)輪廓線的外接多邊形擬合出來(lái),同時(shí)將滿足定義1 的手勢(shì)輪廓外接凸邊形缺陷結(jié)構(gòu)設(shè)為手勢(shì)識(shí)別的判斷特征。
2. 1. 1 手勢(shì)缺陷圖
定義1 手勢(shì)缺陷圖是指由手勢(shì)輪廓線外接多邊形以及多邊形各條邊所對(duì)應(yīng)的谷底( depth point) 所組成的特征描述方程。谷底是指外接多邊形的邊與該邊所對(duì)應(yīng)的輪廓線上距離邊最遠(yuǎn)的輪廓點(diǎn)。定義
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評(píng)論