作者簡介:孫靖(1987—),男,山西忻州人,碩士研究生,研究方向:模式識(shí)別與智能控制,計(jì)算機(jī)視覺(E-mail:wjsunjing@163.com);艾矯燕(1970—),女,湖南株洲人,教授,博士,研究方向:模式識(shí)別與智能控制、智能信息處理。
摘要:研究基于計(jì)算機(jī)視覺的實(shí)時(shí)動(dòng)態(tài)手勢識(shí)別技術(shù),并利用OpenCV計(jì)算機(jī)視覺庫在VS2010平臺(tái)上設(shè)計(jì)一個(gè)基于該技術(shù)在多媒體教學(xué)中PPT演示控制方面的應(yīng)用。首先,利用背景差分法進(jìn)行手勢檢測,在背景更新的基礎(chǔ)上,通過背景差分圖和顏色直方圖的反投影圖來檢測運(yùn)動(dòng)手勢區(qū)域,可以達(dá)到較為滿意的實(shí)時(shí)運(yùn)動(dòng)手勢檢測效果;其次,采用基于顏色直方圖的粒子跟蹤算法進(jìn)行手勢跟蹤,基本能滿足跟蹤的實(shí)時(shí)性;最后,在手勢識(shí)別階段,采用基于Hu不變矩的輪廓匹配算法,得到較好的手勢識(shí)別效果;使用六種手勢,來實(shí)現(xiàn)演示文稿中的控制應(yīng)用。
關(guān)鍵詞:計(jì)算機(jī)視覺;背景差分;粒子跟蹤;手勢識(shí)別;Hu矩
中圖分類號(hào):TP391.41文獻(xiàn)標(biāo)識(shí)碼:A
1引言
隨著計(jì)算機(jī)軟硬件技術(shù)的發(fā)展,人機(jī)交互已經(jīng)由過去的鼠標(biāo)、鍵盤方式逐漸向更加靈活生動(dòng)的語音、姿勢等新穎交互方式發(fā)展。由于基于視覺方式具有便捷和開銷低等優(yōu)點(diǎn),因此,利用計(jì)算機(jī)視覺技術(shù)來使計(jì)算機(jī)理解用戶的命令,從而做出控制動(dòng)作,這一領(lǐng)域的研究得到越來越多的重視。其中,人的手勢作為日常生活中最為廣泛使用的一種交流方式;因此,國內(nèi)外許多研究機(jī)構(gòu)開始對手勢識(shí)別技術(shù)進(jìn)行研究,并已經(jīng)取得了一些階段性的成果。較早的有:Freeman和Roth等人提出的基于方向直方圖的手勢識(shí)別系統(tǒng);國內(nèi)的高文教授等人于1994年提出了一種靜態(tài)復(fù)雜背景手勢目標(biāo)的捕獲與識(shí)別。經(jīng)過二三十年的發(fā)展,
人們對運(yùn)動(dòng)目標(biāo)檢測及跟蹤進(jìn)行了大量深入的研究:美國MIT實(shí)驗(yàn)室通過提取左右手質(zhì)心的運(yùn)動(dòng)軌跡以及手勢形狀特征參數(shù),結(jié)合語法規(guī)則識(shí)別40個(gè)美國手語,準(zhǔn)確率達(dá)到97%;另外,Microsoft Korea的HyeonKyu Lee,采用HMM的閾值模型,識(shí)別9種動(dòng)態(tài)手勢命令,平均識(shí)別率高達(dá)98.19%;國內(nèi)的任海兵提出了基于DTW的手勢識(shí)別算法,該算法能準(zhǔn)確識(shí)別12種手勢。
現(xiàn)在,基于視覺的手勢識(shí)別技術(shù)更多的是應(yīng)用在娛樂、游戲方面,比如微軟前段時(shí)間推出的Xbox360游戲機(jī)體的體感外設(shè)Kinect及多款相配套的體感游戲,玩家可以通過手勢在游戲中進(jìn)行操作和互動(dòng),使得人機(jī)互動(dòng)娛樂進(jìn)入了一個(gè)新紀(jì)元。與此同時(shí),還沒有比較成熟的手勢識(shí)別技術(shù)應(yīng)用在現(xiàn)代教學(xué)系統(tǒng)中。因此,本文的研究重點(diǎn)是基于視覺的實(shí)時(shí)手勢識(shí)別技術(shù)在多媒體教學(xué)演示控制中的應(yīng)用。在基于視覺的手勢識(shí)別研究中,需要解決的問題主要有兩個(gè):一是實(shí)時(shí)檢測運(yùn)動(dòng)手勢的信息,二是識(shí)別運(yùn)動(dòng)手勢的信息并做出響應(yīng)。對運(yùn)動(dòng)手勢檢測,本文采用背景差分結(jié)合改進(jìn)顏色直方圖特征的運(yùn)動(dòng)檢測方法[1];對運(yùn)動(dòng)手勢跟蹤,本文采用粒子濾波算法[2]結(jié)合改進(jìn)顏色直方圖信息的方法;手勢識(shí)別階段,本文采用了基于Hu不變矩特征[3]的輪廓匹配算法[4];本文研究基于計(jì)算機(jī)視覺的手勢識(shí)別系統(tǒng),實(shí)現(xiàn)了在播放控制中運(yùn)用手勢進(jìn)行開始、翻頁、退出等功能,極大的提高了課堂教學(xué)的靈活性。
2手勢檢測
實(shí)時(shí)視頻圖像中的運(yùn)動(dòng)手勢檢測所需要完成的任務(wù)是:能夠快且準(zhǔn)的檢測出手勢在實(shí)時(shí)圖像中的主要位置,并且能將位置所在的特定區(qū)域作為后續(xù)跟蹤、識(shí)別的感興趣區(qū)域。手勢檢測算法的好壞,直接影響整個(gè)系統(tǒng)的跟蹤以及識(shí)別的效果。
目前,運(yùn)動(dòng)目標(biāo)檢測[5]的算法比較常用的有三種方法:光流法、幀間差分法和背景差分法。本文考慮實(shí)現(xiàn)環(huán)境為固定攝像頭采集實(shí)時(shí)視頻圖像,背景基本不動(dòng),因此采用背景差分結(jié)合改進(jìn)顏色直方圖信息的運(yùn)動(dòng)檢測方法。
2.1背景差分法
本文研究中,選取攝像頭啟動(dòng)后的前10幀圖像的平均作為最初的背景圖像,把以后的實(shí)時(shí)序列圖像當(dāng)前幀和背景圖像相減,進(jìn)行背景消去。可以得到,運(yùn)動(dòng)手勢區(qū)域的像素點(diǎn)的差分值比較大,背景區(qū)域的像素點(diǎn)的差分值比較小。另外,由于真實(shí)場景中的背景會(huì)因光線等外部條件產(chǎn)生微小的變化,長期的誤差積累會(huì)造成最后得不到理想的手勢區(qū)域,因此背景需要進(jìn)行實(shí)時(shí)更新,從而能及時(shí)反映當(dāng)前幀的背景圖像,背景更新[6]的公式如下:
背景更新操作以后,對當(dāng)前幀進(jìn)行背景差分,大于閾值th1的圖像點(diǎn)即為運(yùn)動(dòng)手勢區(qū)域的點(diǎn),并將得到的運(yùn)動(dòng)手勢區(qū)域圖像進(jìn)行二值化操作,公式如下:
3手勢跟蹤
現(xiàn)在常用的一些跟蹤算法主要有:卡爾曼預(yù)測算法、粒子濾波算法、均值偏移算法以及Camshift跟蹤算法等??紤]到卡爾曼預(yù)測算法和均值偏移算法等都是線性跟蹤算法,不能很好的應(yīng)對目標(biāo)運(yùn)動(dòng)的隨機(jī)性,本文采用了粒子濾波算法。
3.1粒子濾波算法原理
粒子濾波法是指通過用一組帶有權(quán)值的隨機(jī)樣本,以及基于這些樣本的估算來表示動(dòng)態(tài)系統(tǒng)的后驗(yàn)概率密度。當(dāng)樣本很大的時(shí)候,這種估計(jì)就等同于后驗(yàn)概率密度。這些樣本就稱為“粒子”。假設(shè)在t=0時(shí)刻每個(gè)粒子都有一個(gè)解,每個(gè)解與真實(shí)解都有一定的相似度,這個(gè)相似度可以表示為權(quán)重,隨著時(shí)間的增加,相似度越大的粒子權(quán)重越大,而相似度越小的粒子權(quán)重就越小,最后趨于0,從而找到真實(shí)解(如圖2)。
3.2基于改進(jìn)顏色直方圖信息的粒子跟蹤
視頻圖像跟蹤方面,目標(biāo)的運(yùn)動(dòng)模型主要表現(xiàn)為目標(biāo)位置、速度隨時(shí)間改變的狀態(tài)轉(zhuǎn)移過程,目標(biāo)的觀測模型主要表現(xiàn)為每幀圖像中運(yùn)動(dòng)目標(biāo)的特征(如顏色、輪廓等)與真實(shí)目標(biāo)的相似度的似然過程。在粒子濾波算法中,運(yùn)動(dòng)模型可以稱為粒子傳播或者粒子采樣,它是一種隨機(jī)過程[11]。粒子在經(jīng)過傳播以后,狀態(tài)會(huì)發(fā)生改變,但權(quán)值沒有跟著改變,這就需要系統(tǒng)的觀測模型對當(dāng)前粒子的狀態(tài)進(jìn)行計(jì)算從而更新粒子的權(quán)值。本文的研究中,觀測值由目標(biāo)區(qū)域的顏色直方圖決定。
基于顏色直方圖信息的粒子濾波就是將圖像顏色特征的相似度作為粒子濾波算法要求解的后驗(yàn)概率,利用巴氏距離(Bhattacharyya)來計(jì)算相似度,得到粒子的權(quán)重。巴氏系數(shù)[12]如公式(9):
4.2識(shí)別算法過程
本文研究中,首先建立手勢模板庫,然后通過實(shí)時(shí)提取手勢幀,經(jīng)過前面第2部分的結(jié)合改進(jìn)顏色直方圖信息的手勢檢測,然后再經(jīng)過形態(tài)學(xué)處理之后,得到效果良好手勢區(qū)域的二值圖,再用輪廓提取及跟蹤來得到手勢的輪廓圖,然后計(jì)算其7Hu矩特征,最后運(yùn)用歐氏距離將其與模板庫中定義的手勢進(jìn)行特征匹配,完成手勢識(shí)別。
輪廓提取就是要掏空內(nèi)部的點(diǎn):如果其八個(gè)相鄰的點(diǎn)都是黑色,則可以判定為內(nèi)部點(diǎn),然后刪除改點(diǎn)。
輪廓跟蹤方法:首先找出輪廓中最左下方的點(diǎn)作為搜索的起點(diǎn),然后按照一定規(guī)則來搜索手勢輪廓上的其他像素點(diǎn)。由于輪廓是連續(xù)的,因此每個(gè)輪廓上的點(diǎn)的位置都可以用其前一個(gè)點(diǎn)的所張的角度來表示。研究中采用如下跟蹤準(zhǔn)則,第一個(gè)點(diǎn)開始定義搜索方向?yàn)樽笊?,如果左上方的點(diǎn)是黑點(diǎn),則它也是輪廓上的點(diǎn);如果不是,那么順時(shí)針旋轉(zhuǎn),直到找到第一個(gè)黑點(diǎn),即輪廓上的下一個(gè)點(diǎn)。繼續(xù)同樣的方法搜索,直到返回最初的起點(diǎn),搜索結(jié)束。
下圖是輪廓跟蹤算法[15]的示意圖,搜索方向用箭頭表示。
5系統(tǒng)實(shí)現(xiàn)
本文的系統(tǒng)是在微軟的VS2010平臺(tái)上,使用C++語言進(jìn)行軟件開發(fā),在圖像處理相關(guān)方面是基于計(jì)算機(jī)視覺庫(OpenCV)進(jìn)行研究的。程序界面如下圖:
左邊底層區(qū)的按鈕可以觀察實(shí)時(shí)手勢跟蹤和識(shí)別效果的功能(如圖4和圖7)。
手勢識(shí)別的結(jié)果可以定義成一個(gè)變量,不同
的識(shí)別結(jié)果對應(yīng)的變量值不同,然后根據(jù)變量值調(diào)用不同的API接口函數(shù),這樣就可以實(shí)現(xiàn)實(shí)時(shí)手勢識(shí)別技術(shù)在演示控制中的應(yīng)用。本文研究在控制部分挑選了六種手勢,分別控制PPT播放中的開始、退出、上下翻頁、跳轉(zhuǎn)首末頁等功能。手勢命令定義如下:手勢4控制開始播放;手勢3控制退出播放;手勢1控制跳轉(zhuǎn)首頁;手勢2為跳轉(zhuǎn)尾頁;手勢10為向下翻頁頁;手勢5控制向前翻頁。對電腦中某一PPT進(jìn)行實(shí)際的播放控制(列舉其中4個(gè)手勢的控制狀態(tài)),效果如下:
1)識(shí)別手勢4,開始播放:
2)識(shí)別手勢10,向下翻頁:
3)識(shí)別手勢1,跳轉(zhuǎn)到首頁:
4)識(shí)別手勢3,退出:
系統(tǒng)通過筆記本自帶30W像素的攝像頭,采用DirectShow技術(shù)進(jìn)行實(shí)時(shí)視頻的獲取,圖像尺寸是320*240,fps可以達(dá)到30-60幀/秒,可以很好的滿足實(shí)時(shí)性的要求。
6結(jié)語
本文通過研究設(shè)計(jì)了一個(gè)基于視覺的手勢識(shí)別技術(shù)在演示控制中的應(yīng)用系統(tǒng),可以看出背景差分結(jié)合顏色直方圖的運(yùn)動(dòng)檢測可以得到較好的手勢區(qū)域效果;采用的基于顏色直方圖的粒子跟蹤也能基本實(shí)現(xiàn)實(shí)時(shí)跟蹤的任務(wù);在識(shí)別過程中,基于Hu不變矩的輪廓匹配算法具有很好的魯棒性,可以得到較好手勢識(shí)別效果;在應(yīng)用階段,使用手勢來完成控制命令,基本實(shí)現(xiàn)了在播放控制中的應(yīng)用。
同時(shí),仍存在一些問題:對于光照和人臉微小晃動(dòng)等外部因素引起的噪聲,只能降低而無法消除,這對于手勢跟蹤與識(shí)別的效果還是有一定的影響,在應(yīng)用時(shí)會(huì)產(chǎn)生一定的誤操作。這些問題仍需繼續(xù)研究,才能使得基于視覺的手勢識(shí)別技術(shù)得到更成熟的應(yīng)用。
參考文獻(xiàn)
[1]吳曉陽.基于OpenCV的運(yùn)動(dòng)目標(biāo)檢測與跟蹤[D].杭州:浙江大學(xué),2008.
[2]CHO J U, JIN S H, PHAM X D. Object tracking circuit using particle filter with multiple features [C] / / SICE-ICASE: International Joint Conference. Las Vegas: IEEE, 2006: 1431-1436.
[3]甘志杰.基于Hu矩和支持向量機(jī)的靜態(tài)手勢識(shí)別及應(yīng)用[D].青島:青島科技大學(xué),2008.
[4]華斌,夏利娜.基于中值濾波和Hu矩向量的手語識(shí)別[J].計(jì)算機(jī)工程與設(shè)計(jì),2011,32(2): 615- 618.
[5]伏思華,張小虎.基于序列圖像的運(yùn)動(dòng)目標(biāo)實(shí)時(shí)檢測方法[J].光學(xué)術(shù),2004,30(2): 215- 217.
[6]LINDEBERC T. Scale-space theory: a basic tool for analyzing structures at different scales [J]. Joumal of Applied Statistics. 1994, 21(2):224-270.
[7]于華平.視頻序列中的手勢檢測與跟蹤[D].南寧:廣西大學(xué),2010.
[8]QIN WEN, PENG QICONG. An improved particle filter algorithm based on neural network for visual tracking [C] / / International Conference on Communications, Circuits and Systems. Las Vegas: IEEE, 2007:765-768.
[9]龔翔. 基于粒子濾波的視覺跟蹤算法研究[D]. 南京:南京理工大學(xué),2009.
[10]YU JIAXIA, LIU WENJING, YANG Y. Improved particle filter algorithms based on partial systematic resambling [C]/ /IEEE International Conference on Intelligent Computing and Intelligent Systems. Las Vegas: IEEE, 2010: 483-487.
[11]朱志宇.粒子濾波算法及其應(yīng)用[M].北京:北京科學(xué)出版社,2010.
[12]FAZLI S, POUR H M, BOUZARI H. Particle filter based object tracking with sift and color feature [C] / / Second International Conference on Machine Vision. Las Vegas: IEEE, 2009:89-93.
[13]侯一明,郭雷,倫向敏,等.運(yùn)動(dòng)背景下基于粒子濾波的目標(biāo)跟蹤[J].計(jì)算機(jī)工程與應(yīng)用,2007,43(8): 62- 64.
[14]殷濤. 基于幾何矩的手勢識(shí)別算法[D].上海:上海海事大學(xué),2004.
[15]甘泉. 基于計(jì)算機(jī)視覺的手勢識(shí)別匹配檢索方法的研究[D].