方路平,洪文杰,潘 清,姚家良
(浙江工業(yè)大學(xué)信息工程學(xué)院,杭州 310023)
基于視覺圖像的手指關(guān)節(jié)角度檢測(cè)方法及其實(shí)現(xiàn)
方路平,洪文杰,潘 清,姚家良
(浙江工業(yè)大學(xué)信息工程學(xué)院,杭州 310023)
常用的手勢(shì)識(shí)別方法受限于有限的二維圖像信息,難以從復(fù)雜的背景中有效地分割出目標(biāo)像素,且大多依賴于監(jiān)督學(xué)習(xí)的分類方法,只能在有限的手勢(shì)庫(kù)中進(jìn)行選擇判定,無(wú)法適用于較為精細(xì)的手指運(yùn)動(dòng)檢測(cè)。為此,提出一種利用粒子群尋優(yōu)算法來(lái)估計(jì)手指關(guān)節(jié)角度的方法,引入Kinect深度圖像優(yōu)化特征提取,提高檢測(cè)準(zhǔn)確性,通過(guò)對(duì)手部自由度的分析,引入多個(gè)約束條件,減少需要預(yù)測(cè)和估計(jì)的自由度個(gè)數(shù)。基于粒子群尋優(yōu)算法,得出最優(yōu)的預(yù)測(cè)模型,將手勢(shì)分類問(wèn)題轉(zhuǎn)化為手指關(guān)節(jié)角度變量求解問(wèn)題。實(shí)驗(yàn)結(jié)果表明,該方法有效地提高了手勢(shì)檢測(cè)中的檢測(cè)準(zhǔn)確率,降低了檢測(cè)失效的情況。
手勢(shì)識(shí)別;深度圖像;膚色檢測(cè);粒子群優(yōu)化算法;手指關(guān)節(jié)角度
DO I:10.3969/j.issn.1000-3428.2015.10.041
手勢(shì)識(shí)別一直是人工智能和人機(jī)交互研究的熱點(diǎn)。隨著科技的發(fā)展,機(jī)器人的智能化、現(xiàn)實(shí)增強(qiáng)技術(shù)等技術(shù)已經(jīng)逐漸從設(shè)想變?yōu)檎鎸?shí)的應(yīng)用。成熟的手勢(shì)識(shí)別方法可以用于機(jī)器人、啞語(yǔ)識(shí)別、運(yùn)動(dòng)檢測(cè)等領(lǐng)域中,應(yīng)用前景廣泛。
本文旨在把手指關(guān)節(jié)角度檢測(cè)方法應(yīng)用到醫(yī)療領(lǐng)域。為了提高檢測(cè)的精度,提出一種基于粒子群尋優(yōu)算法,使用深度圖像的手指關(guān)節(jié)角度檢測(cè)方法,通過(guò)以下3個(gè)方面改進(jìn)現(xiàn)有手勢(shì)識(shí)別技術(shù)中存在的問(wèn)題:
(1)利用Kinect的深度作為圖像特征,減小復(fù)雜特征提取中的誤差,并使用深度數(shù)據(jù)對(duì)圖像特征分割提取進(jìn)行優(yōu)化,解決復(fù)雜背景下的分割困難問(wèn)題。
(2)提出將手建模成具有21個(gè)自由度的三維模型,將對(duì)手勢(shì)的檢測(cè)轉(zhuǎn)化為對(duì)自由度變量的求解問(wèn)題,從而不再局限于有限的手勢(shì)庫(kù),適用于精細(xì)的手指運(yùn)動(dòng)檢測(cè)。通過(guò)比對(duì)手勢(shì)三維模型和觀測(cè)深度圖
像,可以較為準(zhǔn)確地判斷出關(guān)節(jié)角度,避免了誤判帶來(lái)的檢測(cè)失效。
(3)對(duì)自由度變量的求解,采用粒子群優(yōu)化(Particle Swarm Optimization,PSO)算法,從而不再依賴于傳統(tǒng)的分類器,減少分類器訓(xùn)練不佳帶來(lái)的檢測(cè)誤差。
在手勢(shì)識(shí)別的發(fā)展過(guò)程中,比較常見的手勢(shì)識(shí)別系統(tǒng)有2種:數(shù)據(jù)手套系統(tǒng)和徒手系統(tǒng)[1]。基于數(shù)據(jù)手套的手勢(shì)識(shí)別系統(tǒng),需要用戶在手上佩戴特殊的手套或者相關(guān)識(shí)別傳感器來(lái)獲取測(cè)量手指和關(guān)節(jié)在空間的位置和運(yùn)動(dòng)的軌跡。在很多特效的電影或者游戲制作中,都可以看到這種類似的動(dòng)作捕捉系統(tǒng)[2]。徒手系統(tǒng)是指通過(guò)圖像視覺的方法檢測(cè)用戶的動(dòng)作,是人機(jī)交互研究的熱點(diǎn)之一。文獻(xiàn)[3]提出了基于隱性馬爾科夫模型的動(dòng)態(tài)手勢(shì)檢測(cè)方法,可以識(shí)別預(yù)先指定的7種動(dòng)態(tài)連續(xù)手勢(shì)。文獻(xiàn)[4]利用圖像的光流匹配特性,采用AdaBoost算法來(lái)識(shí)別手勢(shì)?;诙S圖像的手勢(shì)識(shí)別方法具有圖像采集設(shè)備簡(jiǎn)單通用的優(yōu)點(diǎn),但其準(zhǔn)確性都極大依賴于前期對(duì)圖像特征的提取,因此,在復(fù)雜背景下的準(zhǔn)確度會(huì)受到較大影響。
隨著深度攝像技術(shù)的發(fā)展,基于深度圖像的手勢(shì)識(shí)別方法很好地改善了上述不足。文獻(xiàn)[5]提出基于深度圖像的手勢(shì)識(shí)別,采用決策樹的方法對(duì)常見的9種手勢(shì)在復(fù)雜背景下進(jìn)行了檢測(cè),收到了較好的檢測(cè)效果。2011年微軟發(fā)布Kinect,可以實(shí)現(xiàn)每秒30幀的深度圖像獲取,并且精度可以達(dá)到3 mm[6]。文獻(xiàn)[7]利用Kinect輸出的深度圖像的方向梯度直方圖(Histogram of Oriented Gradient,HOG)特征,利用AdaBoost分類器來(lái)檢測(cè)手勢(shì),減少了復(fù)雜背景對(duì)特征提取的干擾。但是,上述方法均依賴于分類算法,只能在有限的手勢(shì)庫(kù)中選擇判定,無(wú)法適用于較為精細(xì)的手指運(yùn)動(dòng)的檢測(cè)。文獻(xiàn)[8]提出利用Kinect跟蹤手掌和手指的所有關(guān)節(jié)在三維空間中的位置和方向,但算法實(shí)現(xiàn)對(duì)硬件要求比較高。文獻(xiàn)[9]通過(guò)引入 Sobol隨機(jī)序列可以在有限的計(jì)算資源的情況下獲得精確的手指關(guān)節(jié)跟蹤信息。文獻(xiàn)[10]通過(guò)將RGB圖像和對(duì)應(yīng)的深度圖像與標(biāo)記捕捉系統(tǒng)結(jié)合從而獲得精確的手部模型。
本文實(shí)現(xiàn)的具體算法方案設(shè)計(jì)如圖1所示,根據(jù)其執(zhí)行的硬件環(huán)境可分為兩大部分:(1)圖像處理和采集模塊,主要由CPU執(zhí)行,負(fù)責(zé)視頻圖像的獲取和簡(jiǎn)單處理、膚色檢測(cè)和興趣區(qū)域的提取。(2)粒子群尋優(yōu)模塊,主要運(yùn)算由GPU執(zhí)行,負(fù)責(zé)模型圖像的繪制以及目標(biāo)函數(shù)的計(jì)算和降維。
圖1 算法總體流程
4.1 圖像采集
圖像采集模塊用于取得RGB圖像和對(duì)應(yīng)的深度圖像。為了克服深度攝像頭和彩色攝像頭位置不一致帶來(lái)的視覺差,需要利用深度圖像對(duì)該RGB圖像進(jìn)行校準(zhǔn)操作[11]。通過(guò)給Kinect的指定API函數(shù)傳入一個(gè)全為0的深度數(shù)據(jù),就可以準(zhǔn)確地校準(zhǔn)彩色圖像。經(jīng)過(guò)校準(zhǔn)以后,深度圖像和彩色圖像的每個(gè)像素就建立起了一一對(duì)應(yīng)的映射關(guān)系。
4.2 特征提取
圖像特征的提取過(guò)程中,為了更準(zhǔn)確地分割背景和目標(biāo),在傳統(tǒng)膚色檢測(cè)方法[12]的基礎(chǔ)上,利用Kinect的深度信息來(lái)篩選像素,整體膚色檢測(cè)分割流程如圖2所示。
圖2 膚色分割處理流程
深度過(guò)濾利用了RGB像素和深度像素的映射關(guān)系,濾除指定深度值之外的膚色或者膚色相近的區(qū)域。通過(guò)引入深度數(shù)據(jù)來(lái)優(yōu)化分割,提高了其在復(fù)雜背景下的準(zhǔn)確性,為后續(xù)計(jì)算提供了穩(wěn)定準(zhǔn)確的輸入。
尺寸過(guò)濾可以濾除尺寸明顯不正確的區(qū)域,例如濾除尺寸明顯過(guò)大的膚色相近區(qū)域,更重要的是
可以濾除噪點(diǎn),減少了對(duì)后續(xù)計(jì)算的干擾。除了過(guò)濾掉不合適的點(diǎn)之外,還應(yīng)用了形態(tài)學(xué)的膨脹,以擴(kuò)張和消除區(qū)域中的空洞。
圖3演示了特征圖像的提取過(guò)程和最終結(jié)果。雖然在圖3(a)中,背景圖像較為復(fù)雜,面部和手部這2個(gè)膚色區(qū)域都重疊在了一起,分割算法依然取得了目標(biāo)像素,并且去除了大量噪點(diǎn),使得最終獲得的特征圖像只包含了目標(biāo)的深度數(shù)據(jù),其他像素值被濾除為0。
圖3 特征圖像的提取過(guò)程和最終結(jié)果
5.1 手的建模
為了擺脫對(duì)有限的手勢(shì)庫(kù)的依賴,文獻(xiàn)[13]將手建模成27個(gè)自由度的模型。本文通過(guò)對(duì)手部自由度的進(jìn)一步分析,可以引入多個(gè)約束條件,將自由度數(shù)目縮減為21個(gè)。將這21個(gè)自由度組合成一個(gè)向量記作:
因此,對(duì)手勢(shì)庫(kù)中特定手勢(shì)的搜索和判決,轉(zhuǎn)變成對(duì)自由度變量的求值運(yùn)算,從而將檢測(cè)由定性檢測(cè)變?yōu)槎坑?jì)算。
本文采用了球體和圓柱體2種幾何對(duì)象拼接的方法來(lái)創(chuàng)建手的三維模型。具體來(lái)說(shuō),利用球體構(gòu)成手指的關(guān)節(jié)和指尖,利用縮放的球體(橢球)構(gòu)成拇指的部分趾骨,利用圓柱體構(gòu)成手掌和手指的趾骨。通過(guò)上述方法可繪制出由37個(gè)幾何體組成的一個(gè)完整的手部三維模型,如圖4所示。通過(guò)代入不同數(shù)值的XD,就可以構(gòu)造出具有不同姿態(tài)的手的三維模型。
確定了手部三維模型的建模方法以后,利用OpenGL對(duì)不同姿態(tài)的手勢(shì)模型進(jìn)行了渲染繪制。由于手部模型包含 22個(gè)球體和 15個(gè)柱體,總計(jì)2 260個(gè)頂點(diǎn),且每個(gè)頂點(diǎn)需要經(jīng)過(guò)多次矩陣變換,計(jì)算量較大,因此通過(guò)幾何體實(shí)例化繪制方法[14]和自定義著色器編程方法來(lái)提高繪制速度,可以較為高效地繪制出多個(gè)不同形態(tài)的手的三維模型圖像,然后生成對(duì)應(yīng)的二維深度圖像。
圖4 手的關(guān)節(jié)活動(dòng)示意圖及三維模型
最終繪制完成的手勢(shì)模型圖像如圖5所示,隨機(jī)賦值XD向量中的元素可生成多個(gè)不同姿態(tài)的手勢(shì)圖像。
圖5 多個(gè)假設(shè)模型的繪制結(jié)果
5.2 特征圖像之間的比對(duì)計(jì)算
在獲得了觀測(cè)圖像和模型圖像以后,用如下公
式計(jì)算兩者的匹配程度:
其中:
在式(1)中,括號(hào)中第1項(xiàng)用于計(jì)算每個(gè)像素點(diǎn)上的深度差異均值。這項(xiàng)在最初的迭代中占比不大,因?yàn)榇藭r(shí)圖像和圖像之間很有可能處于完全不重合的狀態(tài)中。第2項(xiàng)的作用就是對(duì)完全不重合的區(qū)域進(jìn)行懲罰,可見當(dāng)2幅圖像完全不重合的時(shí)候,其值最大為k,而當(dāng)2幅圖像完全重合的時(shí)候,該項(xiàng)值為0。因此,第2項(xiàng)可以看成是粗誤差,用于有效地將2個(gè)圖像的像素重疊在一起;而第1項(xiàng)為細(xì)誤差,用于計(jì)算在2個(gè)圖像像素基本重合的時(shí)候,彼此之間的深度誤差。
公式中的多個(gè)參數(shù)需要通過(guò)多次反復(fù)的實(shí)驗(yàn)來(lái)確定。本文中,定義dmax為60,dmin為10,k為120。
為了求得最優(yōu)解,可以通過(guò)多種尋優(yōu)算法,本文采用了粒子群尋優(yōu)算法。該算法在不犧牲精度的同時(shí),能保證較為有效的尋優(yōu)速度,更適用于接近實(shí)時(shí)的視頻檢測(cè)。
基礎(chǔ)粒子群尋優(yōu)算法雖然可以通過(guò)設(shè)定最大速度的方法來(lái)限制粒子的飛行軌跡,但是仍然會(huì)導(dǎo)致粒子不可控??刂七@種現(xiàn)象的方法有慣性常數(shù)法和收縮因子法。本文采用的是收縮因子的算法[15],其修改基礎(chǔ)PSO的速度更新公式如下:
初始粒子的速度為0,粒子的最高速度νmax設(shè)定為粒子位置上下限的20%。初始粒子的位置隨機(jī),其上下限由粒子的尋優(yōu)空間給定。若粒子在運(yùn)動(dòng)過(guò)程中,位置超出上下限,則會(huì)被強(qiáng)制移回上下邊界,以保證其始終處于尋優(yōu)空間之中。
由于手掌所提供的特征信息充足,因此在21個(gè)自由度中,手的全局平移和旋轉(zhuǎn)變量可以非常準(zhǔn)確地確定;而其余15個(gè)自由度的檢測(cè)則容易陷入局部最優(yōu)。因此,在PSO算法中,設(shè)計(jì)每隔4代,每個(gè)粒子 χi有1/2的概率被隨機(jī)化。其隨機(jī)化規(guī)則為每個(gè)元素 χij依如下合集被隨機(jī)化,每個(gè)合集中只有一個(gè)元素隨機(jī)化,即1/5的概率被隨機(jī)化。
同時(shí),由于視頻圖像幀的連貫性,可以將當(dāng)前t幀的最優(yōu)粒子,作為初始粒子傳遞給下一幀t+ 1幀。最優(yōu)值大于閾值時(shí),可以認(rèn)為是跟蹤失敗,下一幀的粒子需要重新在尋優(yōu)空間做隨機(jī)化,而小于閾值時(shí),這一幀的最優(yōu)粒子將被傳遞給下一幀,成為下一幀N個(gè)粒子中的一個(gè),實(shí)現(xiàn)了連續(xù)跟蹤。
本文采用的硬件平臺(tái):處理器為Intel i5 2550k,顯卡為AMD HD7850,內(nèi)存為8 GB。設(shè)定粒子數(shù)目為64,尋優(yōu) 25代,所得到的程序結(jié)果演示如圖 6所示。
圖6 程序結(jié)果演示
為了分析檢測(cè)的準(zhǔn)確性,本文選取了實(shí)際手勢(shì)中食指、中指和無(wú)名指的如圖7所示的2個(gè)關(guān)節(jié),利用三角尺將其角度依次固定為30°,45°和60°,作為檢測(cè)的參照值。
圖7 檢測(cè)指定關(guān)節(jié)示意圖
依據(jù)上述方案,共檢測(cè)了18個(gè)手勢(shì)姿態(tài),部分典型的檢測(cè)結(jié)果如表1所示?!瓣P(guān)節(jié)”一欄標(biāo)記了選取的關(guān)節(jié);“手勢(shì)圖解”一欄以圖示方式比對(duì)了計(jì)算出來(lái)的手的模型和實(shí)際手勢(shì);“角度”一欄則比對(duì)了該關(guān)節(jié)的實(shí)際角度值和檢測(cè)結(jié)果之間的差異。其中,“實(shí)際”一欄為預(yù)先用量角器測(cè)得的指定關(guān)節(jié)的角度值;“檢測(cè)”一欄則為該關(guān)節(jié)測(cè)量到的值。表 2統(tǒng)計(jì)了兩者之間的誤差情況。
表1 手勢(shì)檢測(cè)圖像對(duì)比和關(guān)節(jié)角度檢測(cè)結(jié)果
表2 誤差統(tǒng)計(jì)
從表1的圖示對(duì)比可見,最優(yōu)模型和實(shí)際手勢(shì)的匹配還是較為準(zhǔn)確的,僅從視覺上并不能看出兩者之間存在較大的差異。由表2的誤差數(shù)據(jù)可見,檢測(cè)值較好地逼近了實(shí)際的值。
由于本文采用的是對(duì)關(guān)節(jié)角度XD的求解方法,檢測(cè)誤差為定量的誤差,不會(huì)發(fā)生較顯著的檢測(cè)失效的情況。并且不再依賴于有限的手勢(shì)庫(kù),可以檢測(cè)任何約束條件下的手勢(shì)。
本文分析了常用手勢(shì)檢測(cè)方法中存在的影響檢測(cè)準(zhǔn)確性的主要因素,并針對(duì)這些問(wèn)題提出了解決的方法,主要在特征提取、手勢(shì)建模和尋優(yōu)求解3個(gè)方面開展了工作,結(jié)合相應(yīng)的改進(jìn)優(yōu)化實(shí)現(xiàn)對(duì)手勢(shì)的精確檢測(cè)。實(shí)驗(yàn)結(jié)果證明,本文方法有效地解決了常用手勢(shì)檢測(cè)中存在的檢測(cè)不準(zhǔn)確、容易檢測(cè)失效的不足,使得手指的精細(xì)檢測(cè)成為可能。雖然借助了OpenCL技術(shù)提高了計(jì)算速度,但方法的實(shí)時(shí)性較低,后續(xù)需要對(duì)其進(jìn)行進(jìn)一步的優(yōu)化以提高實(shí)時(shí)性以及實(shí)現(xiàn)添加針對(duì)不同用戶自動(dòng)建模的方法,這將有利于提高該檢測(cè)方法的精度和實(shí)用性。隨著硬件技術(shù)的提高,會(huì)有更多新設(shè)備應(yīng)用到手勢(shì)檢測(cè)領(lǐng)域,使得更為精確的手勢(shì)檢測(cè)成為可能。
[1] 崔育禮.手勢(shì)識(shí)別若干關(guān)鍵技術(shù)研究與應(yīng)用[D].上海:同濟(jì)大學(xué),2008.
[2] Lee J.Interactive Control of Avatars Animated with Human Motion Data[C]//Proceedings of the 29 th Annual Conference on Computer Graphics and Interactive Techniques.New York,USA:ACM Press,2002:491-500.
[3] Wang Xiaoyan,Xia Ming.Hidden-Markov-Models-based Dynamic Hand Gesture Recognition[J].Math-ematical Problems in Engineering,2012,(10):1-11.
[4] Wang Menghui.Hand Recognition Using Thermal Image and Extension Neural Network[EB/OL].(2011-10-07). http://www.hindaw i.com/journals/mpe/2012/905495.
[5] 曹雛清,李瑞峰,趙立軍.基于深度圖像技術(shù)的手勢(shì)識(shí)別方法[J].計(jì)算機(jī)工程,2012,38(8):16-18.
[6] Khoshelham K.Accuracy Analysis of Kinect Depth Data[C]//Proceedings of International Society for Photogrammetry and Remote Sensing.Calgary,Canada:[s.n.],2011:133-138.
[7] Li Hui,Yang Lei,W u Xiaoyu,et al.Static Hand Gesture Recognition Based on HOG with Kinect[C]// Proceedings of the 14th International Conference on Intelligent Human-machine Systems and Cybernetics. Washington D.C.,USA:IEEE Press,2012:271-273.[8] Oikonomidis I,Kyriazis N,Argyros A.Efficient Modelbased 3d Tracking of Hand Articulations Using Kinect[C]//Proceedings of British Machine Vision Conference.Dundee,UK:[s.n.],2011:1-11.
[9] Oikonomidis I.Lourakis M.Evolutionary Quasi-random Search for Hand Articulations Tracking[C]//Proceedings of IEEE Conference on Computer Vision and Pattern Recognition.Washington D.C.,USA:IEEE Press,2014:3422-3429.
[10] Zhao Wenping,Chai Jinxiang,Xu Yingqing.Combining Marker-based Mocap and RGBD Cam era for Acquiring High-fidelity Hand Motion Data[C]//Proceedings of ACM SIGGRAPH Symposium on Computer Animation. New York,USA:ACM Press,2012:33-42.
[11] 韓 崢,劉華平,黃文炳,等.基于Kinect的機(jī)械臂目標(biāo)抓取[J].智能系統(tǒng)學(xué)報(bào),2013,8(2):149-155.
[12] Argyros A A,Lourakis M I A.Real-time Tracking of Multiple Skincolored Objects with a Possibly Moving Camera[C]//Proceedings of the 8 th European Conference on Computer Vision.Berlin,Germany:Springer,2004:368-379.
[13] Ge S,Yang Y,Lee T H.Hand Gesture Recognition and Tracking Based on Distributed Locally Linear Embedding[J].Image and Vision Computing,2008,26(12):1607-1620.
[14] Pharr M,F(xiàn)ernando R.GPU Gems 2:Programming Techniques for High-performance Graphics and General Purpose Computation[M].Cambridge,USA:Addison-Wesley Professional Press,2005.
[15] 紀(jì)雪玲,李 明,李 瑋.一種克服局部最優(yōu)的收縮因子PSO算法[J].計(jì)算機(jī)工程,2011,37(20):213-215.
編輯 顧逸斐
Finger Joint Angle Detection Method Based on Visual-image and Its Implementation
FANG Luping,HONG Wenjie,PAN Qing,YAO Jialiang
(College of Information Engineering,Zhejiang University of Technology,Hangzhou 310023,China)
Traditional methods of gesture recognition are incompetent to detect finger’s delicate movement due to poor segmentation effect using 2D images and limited gesture templates through supervised training of classifier.This paper proposes a method of finger joint angle measurement by Particle Swarm Optimization(PSO)algorithm,introduces Kinect depth image to optimize feature extraction and improve accuracy.Through the analysis of hand free degree,it introduces multiple constraints to reduce the degrees of freedom number,optimize PSO to calculate the best model and analyze the measurements,transform the common problems of gesture classification to the variable solution of finger joint angle. Experimental results show that this method can effectively improve the detection accuracy and reduce the situation of detection fault.
gesture recognition;depth image;skin color detection;Particle Swarm Optimization(PSO)algorithm;finger joint angle
方路平,洪文杰,潘 清,等.基于視覺圖像的手指關(guān)節(jié)角度檢測(cè)方法及其實(shí)現(xiàn)[J].計(jì)算機(jī)工程,2015,41(10):221-225,231.
英文引用格式:Fang Luping,Hong Wenjie,Pan Qing,et al.Finger Joint Angle Detection Method Based on Visual-image and Its Im plementation[J].Computer Engineering,2015,41(10):221-225,231.
1000-3428(2015)10-0221-05
A
TP391.41
浙江省國(guó)際科技合作基金資助項(xiàng)目(2012C34G2020027)。
方路平(1968-),男,教授,主研方向:圖像識(shí)別;洪文杰,碩士;潘 清,講師;姚家良,碩士。
2014-10-08
2014-11-06E-mail:flp@zjut.edu.cn