《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于Kinect深度圖像信息的手勢(shì)跟蹤與識(shí)別
基于Kinect深度圖像信息的手勢(shì)跟蹤與識(shí)別
2015年微型機(jī)與應(yīng)用第6期
李思岑,王 平,張 鵬,宋丹妮
(西華大學(xué) 電氣信息學(xué)院,四川 成都 610039)
摘要: 針對(duì)基于視覺的手勢(shì)識(shí)別技術(shù)對(duì)環(huán)境背景要求較高的問(wèn)題,提出了一種利用深度信息進(jìn)行手勢(shì)提取和識(shí)別的研究方案。采用Kinect深度攝像頭,通過(guò)中值濾波以及深度信息與鄰域特點(diǎn)來(lái)分割手部區(qū)域并用Canny算子提取出手勢(shì)輪廓,再以深度圖像的凸缺陷指尖來(lái)完成對(duì)指尖的檢測(cè),從而實(shí)現(xiàn)對(duì)數(shù)字手勢(shì)1到5的手勢(shì)識(shí)別。該方法可快速有效地對(duì)指尖進(jìn)行檢測(cè),魯棒性和穩(wěn)定性都比其他方法更好。實(shí)驗(yàn)結(jié)果表明,該手勢(shì)識(shí)別方案的平均識(shí)別率達(dá)到92%,證明了該方法的可行性。
Abstract:
Key words :

  摘  要: 針對(duì)基于視覺的手勢(shì)識(shí)別技術(shù)對(duì)環(huán)境背景要求較高的問(wèn)題,提出了一種利用深度信息進(jìn)行手勢(shì)提取和識(shí)別的研究方案。采用Kinect深度攝像頭,通過(guò)中值濾波以及深度信息與鄰域特點(diǎn)來(lái)分割手部區(qū)域并用Canny算子提取出手勢(shì)輪廓,再以深度圖像的凸缺陷指尖來(lái)完成對(duì)指尖的檢測(cè),從而實(shí)現(xiàn)對(duì)數(shù)字手勢(shì)1到5的手勢(shì)識(shí)別。該方法可快速有效地對(duì)指尖進(jìn)行檢測(cè),魯棒性和穩(wěn)定性都比其他方法更好。實(shí)驗(yàn)結(jié)果表明,該手勢(shì)識(shí)別方案的平均識(shí)別率達(dá)到92%,證明了該方法的可行性。

  關(guān)鍵詞: 手勢(shì)識(shí)別;Kinect;Canny算子;凸缺陷檢測(cè)

0 引言

  人機(jī)交互(Human-Computer Internet,HCI)是指人和計(jì)算機(jī)之間通過(guò)某些交互方式(媒介、對(duì)話接口等),使用某種對(duì)話語(yǔ)言來(lái)傳遞和交換信息,是計(jì)算機(jī)系統(tǒng)的重要組成部分[1]。在很長(zhǎng)一段時(shí)間里,以鼠標(biāo)和鍵盤作為輸入設(shè)備、字符文本和圖形窗口作為輸出設(shè)備是最主要的人機(jī)交互方式。近年來(lái),隨著計(jì)算機(jī)視覺技術(shù)的不斷發(fā)展與完善,使用攝像頭進(jìn)行手勢(shì)的捕捉是手勢(shì)識(shí)別的主要方式。與傳統(tǒng)的需要專用硬件設(shè)備(數(shù)據(jù)手套輸入設(shè)備等)輔助才能完成手勢(shì)輸入相比,自然人機(jī)交互實(shí)現(xiàn)的手勢(shì)輸入具有廣闊的應(yīng)用前景和重要的研究?jī)r(jià)值。

  使用計(jì)算機(jī)視覺技術(shù)進(jìn)行手勢(shì)輸入,需要對(duì)獲得的手勢(shì)圖像進(jìn)行手勢(shì)分割,將手勢(shì)從整個(gè)輸入圖像中分割出來(lái)。手勢(shì)提取的方法主要有以下三種:(1)增加限制法:該方法是通過(guò)增加種種限制因素來(lái)增加背景區(qū)與手勢(shì)區(qū)的對(duì)比,主要使用背景相減或者差分法,但該方法降低了人機(jī)交互所提出的自然性,故主要用于手勢(shì)訓(xùn)練樣本[2]。(2)膚色模型法:膚色在特定空間中總是分布在某個(gè)區(qū)域,可以根據(jù)膚色區(qū)域與非膚色區(qū)域?qū)⑹謩?shì)分割出來(lái)。ALON J等人[3]采用膚色模型與運(yùn)動(dòng)信息結(jié)合的方法來(lái)進(jìn)行手勢(shì)分割,但膚色易受光照變化、攝像機(jī)參數(shù)、人類種族、年齡、性別等因素影響。(3)模板匹配法:該方法首先建立一個(gè)手勢(shì)的訓(xùn)練模板數(shù)據(jù)庫(kù),用這些模板遍歷整幅圖像并進(jìn)行匹配,在匹配的同時(shí)完成識(shí)別[4]。其缺點(diǎn)是運(yùn)算量較大,不能有效地運(yùn)用于實(shí)時(shí)跟蹤識(shí)別中。

  2010年微軟公司推出了用于Xbox 360的體感外設(shè)3D攝像機(jī)Kinect,采用結(jié)構(gòu)光編碼技術(shù)獲得拍攝圖像深度信息。Kinect攝像部分包括紅外發(fā)射器、紅外攝像頭和RGB攝像頭。圖像處理器通過(guò)分析散斑圖案獲得空間距離生成深度影像。

  本文依據(jù)Kinect高效且廉價(jià)的硬件基礎(chǔ),基于圖像深度信息的手勢(shì)模型,首先利用中值濾波對(duì)深度數(shù)據(jù)做噪點(diǎn)去除和平滑處理,然后通過(guò)二值化、骨骼點(diǎn)進(jìn)行手勢(shì)提取,再以深度圖像的凸缺陷指尖來(lái)作為檢測(cè)基礎(chǔ),對(duì)已分割出的手部二值圖像用Canny算子提取出手勢(shì)輪廓,利用凸缺陷之間的關(guān)系剔除偽指尖點(diǎn),完成對(duì)指尖的精確檢測(cè)?;贙inect深度圖像信息的手勢(shì)提取與識(shí)別由于手勢(shì)分割只與手和攝像頭之間的距離有關(guān),故對(duì)背景復(fù)雜干擾的魯棒性較好。

1 圖像深度信息的獲取及預(yù)處理

  一個(gè)完整手勢(shì)識(shí)別主要分為圖像深度信息獲取與預(yù)處理、圖像深度信息的手勢(shì)提取分割、手勢(shì)建模、手勢(shì)識(shí)別等幾個(gè)步驟,流程圖如圖1所示。

001.jpg

  1.1 圖像深度信息獲取原理

  Kinect共有3個(gè)鏡頭,中間是普通的RGB彩色攝像頭,左邊是紅外發(fā)射器,右邊是紅外CMOS攝像頭組成的深度傳感器。圖像深度獲取是通過(guò)左右兩邊的紅外發(fā)射器和紅外CMOS攝影機(jī)一同完成的,紅外發(fā)射器發(fā)出紅外光覆蓋整個(gè)待檢測(cè)區(qū)域,與此同時(shí)紅外線CMOS攝影機(jī)接收反射光線得到深度圖像,其中每一個(gè)像素的顏色代表了那一點(diǎn)物體與攝像頭的距離。基于Kinect獲取的圖像深度信息圖如圖2所示。

  1.2 圖像深度信息預(yù)處理

002.jpg

  中值濾波是一種基于排序統(tǒng)計(jì)理論、能有效抑制噪聲的非線性數(shù)字濾波技術(shù),常被用于濾除圖中的斑點(diǎn)噪聲和椒鹽噪聲。其基本原理是把數(shù)字圖像中一像素點(diǎn)p(i,j)的值用該點(diǎn)的一個(gè)鄰域窗口w中各點(diǎn)值的中值代替,使周圍像灰度值接近真實(shí)值,從而消除孤立噪聲點(diǎn)。其方法是把該鄰域窗口w中所有像素的灰度值按從小到大的次序排列,生成單調(diào)上升(或下降)的二維數(shù)據(jù)序列,并選擇中間值作為中心像素點(diǎn)p(i,j)的灰度新值,窗口移動(dòng)時(shí),就能夠通過(guò)中值濾波對(duì)圖像進(jìn)行平滑處理。中值濾波的基本公式可以表示為:

  1.png

  其中,f(r,s)表示鄰域窗口w內(nèi)任意像素點(diǎn)的灰度值,Nf(i,j)表示f(i,j)的實(shí)心鄰域。本文中選擇的w為11×11的正方形濾波窗口。

003.jpg

  該算法不僅可以對(duì)噪聲區(qū)域進(jìn)行平滑處理,還可以很好地保持區(qū)域之間的邊界形態(tài)。對(duì)圖2(b)所示的深度信息圖進(jìn)行中值濾波,結(jié)果如圖3所示,圖3較好地說(shuō)明了中值濾波是如何去掉結(jié)構(gòu)化人為干擾的。中值濾波對(duì)于抑制邊緣模糊有很好的特性,本文使用中值濾波算法實(shí)現(xiàn)了對(duì)深度圖像的降噪濾波。

2 圖像深度信息的手勢(shì)提取與識(shí)別

  2.1 手心的檢測(cè)與跟蹤

  本文基于深度圖像信息進(jìn)行手部區(qū)域提取的基本流程為:先根據(jù)手心關(guān)節(jié)點(diǎn)坐標(biāo)位置建立一個(gè)手部信息的矩形盒;再在這個(gè)矩形盒內(nèi)以手心關(guān)節(jié)點(diǎn)位置開始向鄰域逐個(gè)遍歷像素,檢測(cè)像素是否屬于手部區(qū)域,如果符合條件就在二值圖中置1,循環(huán)遍歷所有需要遍歷的鄰域像素直到個(gè)數(shù)為空;最后得到手部區(qū)域的二值圖。

  在對(duì)手勢(shì)進(jìn)行檢測(cè)完畢之后,調(diào)用Hand Tracker的startHandTracking()函數(shù)就可以對(duì)手部進(jìn)行跟蹤。圖4為不同深度距離位置對(duì)手心檢測(cè)的結(jié)果。

004.jpg

  2.2 手勢(shì)的分割

  在檢測(cè)跟蹤到手心以后,根據(jù)手心Z坐標(biāo)的深度值對(duì)深度圖像進(jìn)行分割,如式(2)所示:

     2.png

  其中,手部可能存在區(qū)域的像素值為255,其他區(qū)域?yàn)?,式(2)中的閾值設(shè)定為150 mm。

  將手心點(diǎn)投影到2D空間,根據(jù)手的大小做一次二維分割,如式(3)所示:

  3.png

  其中,W(Z)表示以手心為中心的一個(gè)包圍盒,大小與手勢(shì)到Kinect的距離成正比。

  4.png

  基于最優(yōu)化算法的Canny邊緣檢測(cè)算子[5],提取的邊緣線形連接較為完整,定位準(zhǔn)確性較高,效果好。本文采用此方法對(duì)深度圖像進(jìn)行邊緣提取。首先用一階偏導(dǎo)的有限差分來(lái)計(jì)算梯度的幅值和方向,再對(duì)梯度方向進(jìn)行量化,使其只有8個(gè)方向,即0°、45°、90°、135°、180°、225°、270°、315°,對(duì)于每一個(gè)梯度強(qiáng)度非零的像素點(diǎn),查找沿其量化后的梯度方向的兩個(gè)相鄰像素點(diǎn),然后通過(guò)閾值判斷為非邊緣點(diǎn)還是候選邊緣點(diǎn)。對(duì)于弱邊緣點(diǎn),如果它與強(qiáng)邊緣點(diǎn)在8連通區(qū)域相連,則該點(diǎn)記為弱邊緣點(diǎn),同時(shí)將其邊緣提取置為1,所有標(biāo)記為1的點(diǎn)就成了最后的邊緣。手部提取輪廓如圖5所示。

005.jpg

  2.3 手心、指尖檢測(cè)與識(shí)別

  為了獲取更準(zhǔn)確的手心坐標(biāo),利用細(xì)化方法中的距離變換(Distance Transform)算法來(lái)計(jì)算手部區(qū)域的骨骼,從而得到手心位置。

  本文采用葛立恒掃描法(Graham Scanning Method)[6]進(jìn)行凸包檢測(cè),在結(jié)束對(duì)凸包點(diǎn)的檢測(cè)之后,采用參考文獻(xiàn)[6]的方法繼續(xù)計(jì)算缺陷點(diǎn)(Convex Defects),再由閾值判定條件得到代表手指凸包點(diǎn)的個(gè)數(shù)從而實(shí)現(xiàn)對(duì)1~5的檢測(cè)識(shí)別,結(jié)果如圖6所示。

006.jpg

3 實(shí)驗(yàn)結(jié)果驗(yàn)證

007.jpg

  由表1實(shí)驗(yàn)驗(yàn)證結(jié)果可知,基于Kinect的深度圖像手勢(shì)識(shí)別平均正確率達(dá)到92%,能夠達(dá)到基本手勢(shì)識(shí)別的目的。使用深度圖像信息進(jìn)行手勢(shì)識(shí)別可能會(huì)受到拍攝光照、角度和手勢(shì)的彎曲程度的影響,通過(guò)識(shí)別結(jié)果可以了解到,手勢(shì)1、2、3的出錯(cuò)概率較4、5多,造成錯(cuò)誤識(shí)別的原因大都是因?yàn)槭种傅膹澢斐缮疃刃畔㈠e(cuò)位,這也是以后需要改進(jìn)的方面。

4 結(jié)論

  本文設(shè)計(jì)并實(shí)現(xiàn)了基于Kinect深度圖像信息的手勢(shì)提取與識(shí)別,此方案使用設(shè)備簡(jiǎn)單,計(jì)算量少,能有效提高工作效率。相比較于傳統(tǒng)基于二維計(jì)算機(jī)視覺識(shí)別,該方法增加了深度信息,能夠很好地去除復(fù)雜背景的影響,可以解決手指水平豎直移動(dòng)容易識(shí)別錯(cuò)誤的問(wèn)題。但由于手勢(shì)增加可能造成深度方向可分辨性降低,在后續(xù)工作中將考慮對(duì)平面信息和深度信息融合進(jìn)行識(shí)別。

參考文獻(xiàn)

  [1] MINSKY M R. Manipulating simulated objects with real-world gestures using a force and position sensitive screen [J]. AQH Computer Graphics, 1984,18(3):195-203.

  [2] 任海兵,祝遠(yuǎn)新,徐光,等.基于視覺手勢(shì)識(shí)別的研究——綜述[J].電子學(xué)報(bào),2000,28(2):118-121.

  [3] ALON J, ATHITSOS V, Yuan Quan, et al. A unified framework for gesture recognition and spatiotemporal gesture segmentation[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence,2009,31(9): 1685-1699.

  [4] 趙亞飛.基于視覺的手勢(shì)識(shí)別技術(shù)研究[D].杭州:浙江大學(xué),2011.

  [5] 舒欣,李東新,薛東偉.五幀差分和邊緣檢測(cè)的運(yùn)動(dòng)目標(biāo)檢測(cè)[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2014,23(1):124-127.

  [6] Graham scan. http://en.wikipedia.org/wiki/Graham_scan.


此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。