亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Kinect的手勢(shì)識(shí)別及在虛擬裝配技術(shù)中的應(yīng)用

        2013-06-23 09:36:42陳艷艷陳正鳴周小芹
        電子設(shè)計(jì)工程 2013年10期
        關(guān)鍵詞:管理器手心插件

        陳艷艷,陳正鳴,2,周小芹,2

        (1.河海大學(xué) 物聯(lián)網(wǎng)工程學(xué)院,江蘇 常州 213022;2.江蘇省輸配電裝備技術(shù)重點(diǎn)實(shí)驗(yàn)室 江蘇 常州 213022)

        基于視覺(jué)的手勢(shì)識(shí)別,是通過(guò)視頻圖像信息獲取人的手勢(shì)姿態(tài),對(duì)其進(jìn)行分類(lèi)識(shí)別的一種人機(jī)交互技術(shù)。它作為一門(mén)新興的技術(shù),近年來(lái)受到了眾多國(guó)內(nèi)外學(xué)者的關(guān)注。Kinect是微軟公司推出的XBox 360的外接體感設(shè)備,以其深度數(shù)據(jù)的獲取特點(diǎn),成為手勢(shì)輸入設(shè)備的重點(diǎn)研究對(duì)象[1]。開(kāi)源軟件OpenNI(開(kāi)放式自然交互)能夠方便的訪問(wèn)和使用Kinect設(shè)備,但它只提供了基于手點(diǎn)的4種手勢(shì),微軟的開(kāi)發(fā)包中還沒(méi)有集成手勢(shì)引擎,這就需要根據(jù)實(shí)際需要開(kāi)發(fā)手勢(shì)識(shí)別引擎。

        以人手的自然行為觸發(fā)三維交互的相關(guān)研究在虛擬現(xiàn)實(shí)領(lǐng)域有著重要的理論價(jià)值和應(yīng)用價(jià)值[2]。基于虛擬現(xiàn)實(shí)技術(shù)的虛擬裝配系統(tǒng)是一個(gè)沉浸式或半沉浸式的虛擬環(huán)境,為解決產(chǎn)品的裝配問(wèn)題提供了一個(gè)低成本的快速手段[3]。目前,對(duì)于裝配手段多采取數(shù)據(jù)手套[4]方式,但數(shù)據(jù)手套價(jià)格比較昂貴,設(shè)備繁重。而Kinect相對(duì)低廉,人手在操作時(shí)也更加自然方便。文中由此提出了基于Kinect的手勢(shì)識(shí)別方法,用多個(gè)指尖的相對(duì)運(yùn)動(dòng)代替整只手,來(lái)完成虛擬裝配過(guò)程。針對(duì)虛擬裝配系統(tǒng),設(shè)計(jì)了選取、移動(dòng)、旋轉(zhuǎn)和縮放等手勢(shì),以滿足裝配過(guò)程中的基本操作,并對(duì)Virtools裝配環(huán)境中的關(guān)鍵問(wèn)題作了說(shuō)明。

        1 手勢(shì)識(shí)別系統(tǒng)

        目前,OpenNI支持的手勢(shì)過(guò)于簡(jiǎn)單,不能完全滿足裝配需求,因此本文開(kāi)發(fā)了針對(duì)裝配操作所需的幾種手勢(shì),可以有效實(shí)現(xiàn)裝配過(guò)程中的基本操作。手勢(shì)識(shí)別系統(tǒng)框架如圖1所示。

        圖1 手勢(shì)識(shí)別系統(tǒng)框架圖Fig.1 Structure diagram of the gesture regnization system

        首先,通過(guò)Kinect獲取深度圖像的數(shù)據(jù)流,系統(tǒng)根據(jù)手勢(shì)的深度位置分割出手勢(shì),得到手勢(shì)的二值圖像;其次,根據(jù)指尖特征,分割出指尖并有效跟蹤目標(biāo)的形變和運(yùn)動(dòng);再次,根據(jù)手勢(shì)特征進(jìn)行分析,生成模型參數(shù),根據(jù)模型參數(shù)對(duì)手勢(shì)進(jìn)行分類(lèi)并按需要定義交互語(yǔ)義;最后,系統(tǒng)根據(jù)交互語(yǔ)義去驅(qū)動(dòng)手勢(shì)裝配物體。

        1.1 手勢(shì)圖像的采集與分割

        Kinect采集到的深度信息保存在一個(gè)二維數(shù)組中,數(shù)組中的每一個(gè)元素表示該位置的深度像素點(diǎn)對(duì)應(yīng)的實(shí)際物體的點(diǎn)到Kinect的距離,單位為mm。利用深度信息,將人手所在深度范圍的圖像提取出來(lái)。首先獲得Kinect的深度圖,利用Nite[5]模塊跟蹤手點(diǎn)位置,如圖2(a)所示。在跟蹤到手點(diǎn)位置后,根據(jù)手點(diǎn)的深度值做閾值截取,分割出到手的深度圖。為了顯示效果,對(duì)深度圖中的手勢(shì)區(qū)域與背景區(qū)域作二值化處理,利用輪廓檢測(cè),提取手勢(shì)的最外層輪廓,實(shí)現(xiàn)手勢(shì)分割。其次,考慮到手的擺放角度不一定正對(duì)攝像頭,手臂就可能顯示出來(lái),因此利用以手點(diǎn)為中心的包圍盒,來(lái)截取手區(qū)域部分。如圖2(b)所示。

        1.2 指尖檢測(cè)與跟蹤

        想要滿足裝配操作的需求,僅僅一個(gè)手點(diǎn)顯然不夠,而指尖是手勢(shì)識(shí)別中最為常用的特征點(diǎn)。目前,指尖檢測(cè)算法中,模板匹配和輪廓曲率分析兩種方法應(yīng)用較為普遍。但模版匹配方法必須遍歷圖像而導(dǎo)致實(shí)時(shí)效率不高,曲率分析對(duì)精度要求較高而使檢測(cè)指尖效果不理想[6]。從Kinect手勢(shì)分割結(jié)果來(lái)看,發(fā)現(xiàn)與手掌區(qū)域相比,手指比較細(xì)長(zhǎng),考慮基于形狀的方法比較合適,并且在形態(tài)學(xué)操作下,手指區(qū)域較易剔除,因此本文利用此特征對(duì)指尖進(jìn)行檢測(cè)。

        首先,記錄根據(jù)分割算法得到的手區(qū)域Hand;其次,對(duì)手圖像進(jìn)行膨脹 (dilate)操作后對(duì)其做連續(xù)十次的腐蝕(erode)操作;再次,根據(jù)手掌面積不小于50來(lái)確定dilate次數(shù),分割出手掌區(qū)域Palm,如圖2(c)。手指部分Finger由公式Finger=Hand-Palm得到,指尖位置則利用指尖距離手心點(diǎn)較遠(yuǎn)的這一特征進(jìn)行提取,如圖2(d)所示。

        圖2 指尖特征提取過(guò)程圖Fig.2 Diagrams of fingertip festure extraction process

        1.3 Kalman濾波

        由于手在運(yùn)動(dòng)過(guò)程中會(huì)有一些變化,Kinect攝像頭也會(huì)產(chǎn)生噪聲,使得對(duì)指尖的三維位置不能穩(wěn)定地跟蹤。通過(guò)Kalman濾波,用前幀指尖位置預(yù)測(cè)下幀的指尖位置,根據(jù)預(yù)測(cè)位置將指尖區(qū)域設(shè)置為圖像的感興趣區(qū)域(ROI,Region of interest),有效提高分割速度。跟蹤過(guò)程為:

        1)利用Kalman濾波器預(yù)測(cè)當(dāng)前幀的指尖位置,設(shè)置ROI區(qū)域是以預(yù)測(cè)指尖點(diǎn)為中心,大小為80×80的窗口。

        2)目標(biāo)匹配。在連續(xù)兩幀中,指尖運(yùn)動(dòng)假定為勻速,則Kalman濾波器的狀態(tài)向量為

        式中X(t),Y(t),Z(t)是指尖在 三維中的坐標(biāo)位 置,Vx(t),Vy(t),Vz(t)是指在每一幀中指尖點(diǎn)的速度,則狀態(tài)方程和觀測(cè)方程分別為

        根據(jù)鉆孔抽水試驗(yàn)資料,含煤地層地下水位整體呈北部高,最南部高,中間低的趨勢(shì)(圖5),含煤地層地下水主要從北部自東西兩側(cè)向中間匯集再流向南部,同時(shí)最南部水位也較高,地下水自最南部流向水位最低處。地下水徑流特征有利于煤層氣自東西向中部聚集,自南北向中部富集,與井田煤層氣的分布特征基本吻合。鉆孔單位涌水量0.003 2~28.070 0 mL/(s·m),富水性極弱,起到水力封閉和封堵的作用,是8號(hào)煤層在整個(gè)井田煤層含氣量均較高,平均達(dá)到18.6m3/t的重要原因。

        其中,wt是過(guò)程噪聲,具有高斯分布;vk是測(cè)量誤差,F(xiàn)為狀態(tài)轉(zhuǎn)化矩陣,H為觀測(cè)矩陣。

        由此,通過(guò)指尖在t幀之前的位置來(lái)預(yù)測(cè)它在t幀時(shí)刻的位置。但Kinect本身存在局限性,有時(shí)會(huì)出現(xiàn)很大誤差,導(dǎo)致指尖出現(xiàn)抖動(dòng)。為防止預(yù)測(cè)與指尖的實(shí)際位置相差太大,利用Nite手點(diǎn)與指尖深度相差不大的先驗(yàn)知識(shí),可設(shè)定指尖深度在直徑為手長(zhǎng)的手點(diǎn)深度范圍內(nèi)。

        3)更新Kalman濾波狀態(tài),用匹配好的指尖位置作為下一幀的預(yù)測(cè)值來(lái)更新Kalman濾波狀態(tài),達(dá)到穩(wěn)定跟蹤的目的。

        1.4 手勢(shì)分析與交互語(yǔ)義的描述

        手勢(shì)的表觀特征包括手指數(shù)、手指的指尖點(diǎn)、指根點(diǎn)以及指間的夾角等具有標(biāo)志性的信息,通過(guò)指尖檢測(cè)得到多個(gè)指尖。利用指尖個(gè)數(shù)狀態(tài)、指尖向量和手指相對(duì)運(yùn)動(dòng)軌跡來(lái)劃分手勢(shì)類(lèi)型,并根據(jù)不同場(chǎng)景中的具體應(yīng)用進(jìn)行交互語(yǔ)義的描述。虛擬裝配過(guò)程中的物體操縱主要包括對(duì)物體的選取、移動(dòng)、旋轉(zhuǎn)、放縮和釋放等操作。

        1)選?。⊿elect):當(dāng)手心點(diǎn)在物體的包圍盒內(nèi)時(shí),定義一個(gè)手指狀態(tài)為選取操作,選中的物體就可以做旋轉(zhuǎn)或縮放動(dòng)作了。

        2)旋轉(zhuǎn)(Rotate):當(dāng)物體為選取狀態(tài)時(shí),再將大拇指伸出,此時(shí)識(shí)別出兩指尖與手心3個(gè)手點(diǎn)位置,將三點(diǎn)所構(gòu)平面近似為手掌平面。定義手掌旋轉(zhuǎn)手勢(shì)為旋轉(zhuǎn)動(dòng)作,旋轉(zhuǎn)軸為兩指尖點(diǎn)間的向量V,旋轉(zhuǎn)角度為旋轉(zhuǎn)過(guò)程中的平面法向Vt與初始平面法向V的角度Angle。

        3)放縮(Scale):當(dāng)物體為選取狀態(tài)時(shí),指尖個(gè)數(shù)為3~5,當(dāng)至少兩個(gè)指尖點(diǎn)與手點(diǎn)的距離都減小/增大時(shí),取每個(gè)指尖點(diǎn)與手點(diǎn)放縮距離的平均值為放縮程度,即定義手握拳與張開(kāi)動(dòng)作為放縮動(dòng)作。

        4)移動(dòng)(Move):當(dāng)手心點(diǎn)在物體包圍盒內(nèi)并且含大拇指在內(nèi)的兩只手指的指尖距離在70之內(nèi)時(shí),定義此手勢(shì)為抓取移動(dòng)狀態(tài),抓取到的物體隨手的移動(dòng)而移動(dòng)。

        2 手勢(shì)在Virtools虛擬裝配平臺(tái)下的應(yīng)用

        Virtools是一套具備豐富的互動(dòng)行為模塊的實(shí)時(shí)三維環(huán)境虛擬實(shí)境編輯軟件,引入插件式模塊化的開(kāi)發(fā)技術(shù),所有功能以功能塊(Building Block,BB)的形式存在,每個(gè)BB實(shí)現(xiàn)一個(gè)特定的功能,多種BB組合完成各種功能。本文通過(guò)開(kāi)發(fā)面向Kinect設(shè)備的插件,封裝手勢(shì)BB,在Virtools下完成手勢(shì)操控。

        2.1 Kinect插件結(jié)構(gòu)設(shè)計(jì)

        Virtools的架構(gòu)中,CK2是最核心的部分,定義了所有行為準(zhǔn)則,用來(lái)組織和管理其他模塊。為了在Virtools中獲取Kinect的數(shù)據(jù)和手勢(shì)信息設(shè)計(jì)了手勢(shì)插件。該插件中包括手勢(shì)封裝,Kinect管理器和Kinect BB,如圖3所示。其中,手勢(shì)封裝模塊是將手勢(shì)識(shí)別中所有方法封裝在一起;Kinect管理器用來(lái)獲取使用Kinect設(shè)備的能力;Kinect BB模塊實(shí)現(xiàn)插件的功能。

        圖3 手勢(shì)插件結(jié)構(gòu)圖Fig.3 Diagram of gesture plug structure

        2.2 Kinect管理器設(shè)計(jì)

        管理器是Virtools中除BB外最重要的模塊,用來(lái)封裝所有的使用方法。設(shè)計(jì)Kinect管理器封裝相關(guān)的手勢(shì)偵測(cè)和跟蹤算法,并進(jìn)行管理器注冊(cè),得到處理Kinect的能力,從而讀取Kinect設(shè)備提供的手勢(shì)信息,實(shí)現(xiàn)手勢(shì)跟蹤及偵測(cè)功能。虛擬裝配交互流程框圖如圖4所示。

        圖4 虛擬裝配手勢(shì)交互流程框圖Fig.4 Flow chart the virtual assembly of gesture interaction design

        在Kinect管理器中創(chuàng)建手心節(jié)點(diǎn)和指尖節(jié)點(diǎn)完成事件的驅(qū)動(dòng)。當(dāng)用戶舉起手,系統(tǒng)識(shí)別出RaiseHand手勢(shì)后,開(kāi)始跟蹤手點(diǎn)和手指位置。用戶伸出一只手指,將手平移至所需物體上進(jìn)行Select操作,若手心點(diǎn)在物體包圍盒內(nèi)時(shí),物體為選中狀態(tài),與手固定為一體;若沒(méi)選中,則繼續(xù)Select操作。用戶通過(guò)展示不同手勢(shì),觸發(fā)對(duì)虛擬物體相應(yīng)的操作,并更新相應(yīng)的狀態(tài)信息。管理器只是定義抽象的操作,具體情況要在BB中完成。

        2.3 Kinect BB設(shè)計(jì)

        手勢(shì)與場(chǎng)景交互需要多個(gè)BB協(xié)同工作,Kinect BB是最核心的部分。它提供給其他相關(guān)BB實(shí)時(shí)更新的手心和指尖位置信息,手的狀態(tài)信息,自定義手勢(shì)及手勢(shì)相關(guān)參數(shù)。

        如圖5所示,在輸出參數(shù)引腳中,手心位置:(ScreenX,ScreenY,ScreenZ),Depth指示其世界坐標(biāo)的Z值;三個(gè)指尖位置:(f1 X,f1 Y,f1 Z),(f2 X,f2 Y,f2 Z),(f3 X,f3 Y,f3 Z);HandCreate、HandUpdate和HandDestroy指示手的狀態(tài);Raxis和Rangle指示旋轉(zhuǎn)軸和旋轉(zhuǎn)角度;Distance指示放縮程度;其余引腳指示不同手勢(shì)。

        圖5 Kinect BBFig.5 Kinect BB design

        3 Kinect插件的應(yīng)用實(shí)例

        3.1 手勢(shì)與場(chǎng)景交互的流程設(shè)計(jì)

        本系統(tǒng)所設(shè)計(jì)的手勢(shì)運(yùn)用于整個(gè)場(chǎng)景中,因此手勢(shì)與場(chǎng)景的交互操作在Level層中設(shè)計(jì)完成。圖6所示即為實(shí)時(shí)交互設(shè)計(jì)的BB程序圖。

        圖6 手勢(shì)與場(chǎng)景交互BB圖Fig.6 The BBs of Gesture and scene interaction design

        其中,Hand State BB用來(lái)指示手的狀態(tài),Handpoint3D BB用來(lái)指示手心點(diǎn)的坐標(biāo),F(xiàn)inger1、Finger2、Finger3 BB指示指尖位置信息,Move、Rotate、Scale BB將實(shí)現(xiàn)具體的裝配操作,而Kinect BB將所有參數(shù)以輸出引腳形式傳入各個(gè)相關(guān)BB。當(dāng)Kinect在Virtools中被激活后,首先傳入手心與指尖位 置 坐 標(biāo) 于Handpoint3D、Finger1、Finger2和Finger3 BB,Hand State BB更改手狀態(tài),然后用Select觸發(fā)Select 3D BB進(jìn)行選取并保持激活狀態(tài),最后用不同手勢(shì)激發(fā)相應(yīng)BB,根據(jù)BB中傳入的參數(shù),物體進(jìn)行相應(yīng)的操作。

        3.2 實(shí)例應(yīng)用

        本系統(tǒng)以Virtools為三維空間顯示平臺(tái),利用Virtools SDK,VSL,OpenNI及中間件Nite的程序開(kāi)發(fā)包以及OpenCV的圖像處理函數(shù)庫(kù),在Windows XP環(huán)境下采用面向?qū)ο蠹夹g(shù)以Microsoft Visual Studio 2010為開(kāi)發(fā)工具,設(shè)計(jì)并完成了手勢(shì)操控相關(guān)BB的編輯,結(jié)合Virtools自帶的BB,成功實(shí)現(xiàn)了手勢(shì)在虛擬裝配中的交互控制。

        圖7描述了不同手勢(shì)交替工作,共同完成虛擬裝配的過(guò)程。首先,將3DS Max中創(chuàng)建的模型、貼圖等轉(zhuǎn)化為Virtools的場(chǎng)景文件,導(dǎo)入到Virtools中。然后,用戶通過(guò)舉手動(dòng)作觸發(fā)RaiseHand手勢(shì)。若觸發(fā)成功,找到手位置,用中間的小黃手表示。Select手勢(shì)用于選取所需零件,Move、Rotate及Scale手勢(shì)則分別完成零件的平移、旋轉(zhuǎn)和放縮操作,如圖7(a)、(b)、(c)、(d)所示。

        圖7 手勢(shì)操控虛擬裝配過(guò)程實(shí)例Fig.7 Example of gesture control virtual assembly process

        4 結(jié)束語(yǔ)

        本文在Kinect只有一個(gè)手點(diǎn)的基礎(chǔ)上,利用數(shù)學(xué)形態(tài)學(xué)方法檢測(cè)出多個(gè)指尖,并用Kalman濾波器進(jìn)行穩(wěn)定跟蹤,滿足交互過(guò)程中的實(shí)時(shí)性要求。根據(jù)裝配需求,基于多指尖特征設(shè)計(jì)了多種手勢(shì)并定義了有效的交互語(yǔ)義,有效提高了裝配的精確性。以Virtools為虛擬裝配開(kāi)發(fā)平臺(tái),將Kinect中的手勢(shì)及位置參數(shù)信息封裝成一個(gè)插件,實(shí)現(xiàn)了Virtools與Kinect的實(shí)時(shí)通信。實(shí)驗(yàn)證明,基于Kinect的三維手勢(shì)在虛擬裝配技術(shù)中,具有良好的識(shí)別效果,能夠滿足復(fù)雜裝配環(huán)境的要求。Virtools與Kinect的結(jié)合也對(duì)虛擬現(xiàn)實(shí)技術(shù)的應(yīng)用具有重要的推廣作用。

        [1]BISWAS K K.Gesture recognition using microsoft kinect[J].Proceedings of the 5th International Conference on Automation,Robotics and Applications,2011:100-103.

        [2]郭康德,張明敏.基于視覺(jué)技術(shù)的三維指尖跟蹤算法[J].計(jì)算機(jī)研究與發(fā)展,2010,47(6):1013-1019.GUO Kang-de,ZHANG Ming-min.3D fingertip tracking algorithm based on computer vision[J].Journal of Computer Research and Development,2010,47(6):1013-1019.

        [3]劉江省,姚英學(xué).虛擬裝配中基于數(shù)據(jù)手套的虛擬操作研究[J].系統(tǒng)仿真學(xué)報(bào),2004,16(8):1744-1747.LIU Jiang-sheng,YAO Ying-xue.Virtual manipulation based on data glove in virtual assembly[J].Journal of System Simulation,2004,16(8):1744-1747.

        [4]朱英杰,李淳芃.沉浸式虛擬裝配中物體交互特征建模方法研究[J].計(jì)算機(jī)研究與發(fā)展,2011,48(7):1298-1306.ZHU Ying-jie,LI Chun-peng.Interaction feature modeling of virtual object in immersive virtual assembly[J].Journal of Computer Research and Development,2011,48(7):1298-1306.

        [5]Prime Sensor NITE 1.3 Algorithms notes[EB/LO].[2010-09-08].http://www.primesense.com/nite.

        [6]湯勇,顧宏斌.交互系統(tǒng)中實(shí)時(shí)手勢(shì)分割及指尖檢測(cè)方法[J].光電工程,2010,37(7):145-149.TANG Yong,GU Hong-bin.Real-time hand segmentation and fingertip detection for interaction[J].Opto-Electronic Engineering,2010,37(7):145-149.

        猜你喜歡
        管理器手心插件
        橘 子
        應(yīng)急狀態(tài)啟動(dòng)磁盤(pán)管理器
        自編插件完善App Inventor與樂(lè)高機(jī)器人通信
        電子制作(2019年22期)2020-01-14 03:16:34
        Windows文件緩沖處理技術(shù)概述
        手心拍腳心 健康益處多
        海峽姐妹(2017年11期)2018-01-30 08:57:44
        晨起搓手強(qiáng)心肺
        MapWindowGIS插件機(jī)制及應(yīng)用
        基于Revit MEP的插件制作探討
        高集成度2.5A備份電源管理器簡(jiǎn)化鋰離子電池備份系統(tǒng)
        快速導(dǎo)出QQ群消息
        電腦迷(2014年2期)2014-04-29 19:21:13
        老子影院午夜伦不卡| 亚洲一区二区丝袜美腿| 国产精品成人一区二区在线不卡| 免费看美女被靠到爽的视频| 亚洲色丰满少妇高潮18p| 免费看国产成年无码av| 日本不卡的一区二区三区| 亚洲国产国语在线对白观看| 少妇高潮喷水久久久影院| 亚洲伊人久久大香线蕉综合图片| 插入中文字幕在线一区二区三区| 亚洲最新精品一区二区| 亚洲熟妇少妇任你躁在线观看无码 | 亚洲精品二区在线观看| 日本一区二区视频高清| 亚洲人成77777在线播放网站| 亚洲色在线视频| 有码中文字幕一区二区| 国产午夜视频在线观看免费| 初女破初的视频| 日韩欧美亚洲中字幕在线播放| 国产99视频一区二区三区| 亚洲一区二区三区内裤视| 亚洲av永久无码精品国产精品| 亚洲色图视频在线观看网站| 91精品亚洲熟妇少妇| 玩弄人妻少妇精品视频| 男女边吃奶边做边爱视频| 久久国产亚洲中文字幕| 老熟女老女人国产老太| 亚洲av无码之国产精品网址蜜芽| 日批视频免费在线观看| 草青青视频手机免费观看| 亚洲av成人片色在线观看高潮 | 久久精品无码鲁网中文电影| 日本久久精品在线播放| 精品人妖一区二区三区四区| 欧洲一卡2卡三卡4卡免费网站 | 色综合久久中文字幕综合网| 亚洲国产长腿丝袜av天堂| 丰满熟妇人妻av无码区 |