黃 陳 (長(zhǎng)江大學(xué)地球科學(xué)學(xué)院,湖北 武漢430100中國(guó)科學(xué)院計(jì)算技術(shù)研究所;移動(dòng)計(jì)算與新型終端北京市重點(diǎn)實(shí)驗(yàn)室,北京100190)
李建華 (長(zhǎng)江大學(xué)地球科學(xué)學(xué)院,湖北 武漢430100)
于漢超,劉軍發(fā),陳益強(qiáng) (中國(guó)科學(xué)院計(jì)算技術(shù)研究所移動(dòng)計(jì)算與新型終端北京市重點(diǎn)實(shí)驗(yàn)室,北京100190)
沈疆海 (長(zhǎng)江大學(xué)計(jì)算機(jī)科學(xué)學(xué)院,湖北 荊州434023)
對(duì)井底巖心的宏觀表面進(jìn)行詳細(xì)觀察,在石油地質(zhì)研究中具有重要作用[1]。三維數(shù)字化巖心采集技術(shù)的出現(xiàn)[2],一方面避免了實(shí)體巖心因頻繁采樣、觀察描述、照相和自然風(fēng)化等因素造成的巖心錯(cuò)亂、缺失和破壞,另一方面由于大屏顯示系統(tǒng)的快速發(fā)展和廣泛應(yīng)用,數(shù)字化的三維巖心可以在大屏系統(tǒng)上進(jìn)行展示和觀察,大大提高了巖心資料的使用效率[3-4]。但現(xiàn)有對(duì)數(shù)字化巖心的觀察主要是采用二維圖像的方式,無(wú)法取得地質(zhì)工作者對(duì)真實(shí)巖心進(jìn)行詳細(xì)觀察所具有的直觀效果。為此,筆者對(duì)三維巖心的高自由度手勢(shì)操控瀏覽方法進(jìn)行了研究。
在操控瀏覽三維巖心圖像的過(guò)程中,利用深度傳感器Kinect提供的信息獲取手勢(shì)的特征點(diǎn),定義在以Kinect為坐標(biāo)原點(diǎn)的某一特征點(diǎn)的軌跡為[5]:
式中,ti表示手勢(shì)運(yùn)動(dòng)過(guò)程中的時(shí)間點(diǎn) (t1<t2…<ti<…<tn,);xi、yi、zi是以深度傳感器Kinect為坐標(biāo)原點(diǎn)的三維坐標(biāo)。
利用K-Means聚類算法和深度傳感器Kinect提供的深度信息實(shí)現(xiàn)手掌分割,利用手掌輪廓和凸包的公共點(diǎn)作為指尖點(diǎn),并定位出掌心[6](見(jiàn)圖1)。根據(jù)指尖點(diǎn)、掌心來(lái)實(shí)現(xiàn)對(duì)手勢(shì)姿態(tài)、手勢(shì)軌跡的跟蹤得出三維巖心圖像操控所需的靜態(tài)和動(dòng)態(tài)手勢(shì)。由于丟幀或遮擋情況下會(huì)出現(xiàn)指尖和掌心跟丟的情況,設(shè)檢測(cè)系數(shù)為F(Pi),則:
圖1 手掌輪廓圖
利用深度傳感器Kinect對(duì)手指尖和掌心進(jìn)行檢測(cè)時(shí),傳感器采集的深度數(shù)據(jù)本身存在的丟幀或遮擋等會(huì)造成指尖和掌心的跟丟或者檢測(cè)不到的問(wèn)題,而在三維巖心圖像高自由度瀏覽時(shí)需要實(shí)時(shí)獲取自由活動(dòng)的手指尖和掌心準(zhǔn)確、魯棒的位置信息,因此必須增加指尖和掌心的跟蹤算法。根據(jù)標(biāo)準(zhǔn)Kalman濾波器能利用上一幀指尖和手掌心的位置對(duì)當(dāng)前幀指尖和手掌心的位置進(jìn)行預(yù)測(cè)的功能,通過(guò)F(Pi)對(duì)標(biāo)準(zhǔn)的卡爾曼濾波算法進(jìn)行改進(jìn),從而能夠在當(dāng)前幀丟失和手指相互遮擋的情況下進(jìn)行數(shù)據(jù)預(yù)測(cè)。
引入一個(gè)離散控制過(guò)程系統(tǒng),用一個(gè)線性隨機(jī)方程對(duì)其進(jìn)行描述[7]:
動(dòng)態(tài)系統(tǒng)的觀測(cè)方程為:
式中,Xki為k時(shí)刻第i個(gè)手指尖 (手掌)的系統(tǒng)狀態(tài);uk為k時(shí)刻對(duì)系統(tǒng)的控制量;F和B為系統(tǒng)參數(shù);Zki為k時(shí)刻的測(cè)量值;H為測(cè)量系統(tǒng)的參數(shù);wk和vk分別為過(guò)程和測(cè)量的噪聲,通常假設(shè)為高斯白噪聲,其協(xié)方差分別為Q、R。
當(dāng)前幀指尖和手掌位置[8]為:
預(yù)測(cè)估計(jì)協(xié)方差矩陣:
式中,Pki是對(duì)應(yīng)的協(xié)方差;P(k-1)i是(k-1)i對(duì)應(yīng)的協(xié)方差;P′(k-1)i是Xki對(duì)應(yīng)的協(xié)方差;是Fk的轉(zhuǎn)置矩陣;Qk是系統(tǒng)過(guò)程的協(xié)方差。
更新的狀態(tài)估計(jì)為[9]:
更新的協(xié)方差估計(jì):
式中,Hki是測(cè)量系統(tǒng)的參數(shù);I為單位矩陣。
經(jīng)自適應(yīng)Kalman濾波處理后,三維巖心手勢(shì)的指尖和掌心點(diǎn)軌跡為:
式中,xic1、yic1、zic1分別表示用戶手掌上各點(diǎn)軌跡中第k點(diǎn)的三維坐標(biāo)(c是用戶操作手的標(biāo)識(shí)符)。
由于三維巖心圖像的高自由度操控瀏覽的需求,需要用到動(dòng)態(tài)手勢(shì)和靜態(tài)手勢(shì),前者與動(dòng)態(tài)手勢(shì)識(shí)別模型有關(guān),主要涉及三維巖心的軸向運(yùn)動(dòng),其中包括向左旋轉(zhuǎn)、向右旋轉(zhuǎn)、向上平移、向下平移、放大、縮小6種操控手勢(shì);后者與靜態(tài)手勢(shì)識(shí)別模型有關(guān),主要涉及三維巖心圖像的整體自由轉(zhuǎn)動(dòng)。
以深度傳感器Kinect為空間坐標(biāo)原點(diǎn),人體到坐標(biāo)原點(diǎn)的距離為ZD,將人面對(duì)深度傳感器Kinect時(shí)距離人體為Z0的點(diǎn)所構(gòu)成的平面為觸摸起始面,設(shè)定空間有效深度為ZH。其中為了達(dá)到自適應(yīng)效果,Z0的大小是隨著人體格大小的不同而變化的,以深度傳感器Kinect為坐標(biāo)原點(diǎn)的空間中一系列點(diǎn)所構(gòu)成的一個(gè)區(qū)域:
式中,P為像素點(diǎn);Z(P)為像素P對(duì)應(yīng)的深度值,按經(jīng)驗(yàn)值ZH取0.25m。
動(dòng)態(tài)手勢(shì)軌跡主要是基于掌心點(diǎn)在區(qū)域F1內(nèi)一系列點(diǎn)組成的軌跡,即i=6,由式 (9)和式 (10)有:
式中,ZD-Z0-ZH≤z6cn≤ZD-Z0。
從而通過(guò)右手掌心運(yùn)動(dòng)的4個(gè)方向來(lái)作為三維巖心的向左旋轉(zhuǎn)、向右旋轉(zhuǎn)、向上平移、向下平移的操作手勢(shì),將雙手掌心運(yùn)動(dòng)狀態(tài)作為三維巖心的放大、縮小操作手勢(shì)。
為了將靜態(tài)手勢(shì)模型和動(dòng)態(tài)手勢(shì)模型進(jìn)行有效區(qū)分,且能與動(dòng)態(tài)手勢(shì)模型實(shí)現(xiàn)無(wú)干擾切換,針對(duì)不同的三維巖心操控用戶,取自適應(yīng)深度ZL作為模型隔離值,則靜態(tài)手勢(shì)區(qū)域F2為:
區(qū)域F1和F2在ZL的隔離下無(wú)重疊,從而能夠?qū)崿F(xiàn)無(wú)干擾切換,手勢(shì)區(qū)域如圖2所示。
圖2 手勢(shì)區(qū)域圖
圖3 三維空間手掌角度示意圖
根據(jù)式 (9)和式 (12),在F2內(nèi)的掌心和指尖的軌跡G(T′i)中,深度值滿足ZD-Z0-ZH-ZL≤zicn,則手掌姿勢(shì)在F2內(nèi)能有效檢測(cè)到。手掌的旋轉(zhuǎn)情況主要通過(guò)以掌心為坐標(biāo)原點(diǎn)的各指尖和掌心的連線分別與X軸正向、Y軸正向、Z軸正向夾角變化來(lái)反映的,三維空間手掌角度如圖3所示,即有:
式中,AXi為各指尖與X軸正向的夾角;AYi為各指尖與Y軸正向的夾角;AZi為各指尖與Z軸正向的夾角;AngX、AngY、AngZ分別反映了手掌在三維空間中的轉(zhuǎn)動(dòng)特征。
在操控三維巖心圖像時(shí),AngX、AngY、AngZ分別決定三維巖心圖像在三維坐標(biāo)3個(gè)方向上轉(zhuǎn)動(dòng)情況,從而在F2內(nèi)主要是通過(guò)手掌在三維空間中的特征來(lái)驅(qū)動(dòng)三維巖心圖像的三維自由轉(zhuǎn)動(dòng)。
試驗(yàn)所用筆記本電腦的主要配置如下:①處理器。Intel i5-3210M @2.50GHz雙核。②內(nèi)存(4GB)。③顯卡 (NVIDIA GeForce GT 630M)。④深度傳感器Kinect。利用OpenGL對(duì)無(wú)縫拼接的巖心圖像進(jìn)行三維處理,實(shí)現(xiàn)360度自由旋轉(zhuǎn)的三維巖心圖像,并結(jié)合基于自適應(yīng)Kalman濾波的多模型協(xié)同三維巖心瀏覽手勢(shì)的實(shí)際操作,分別對(duì)三維巖心圖像進(jìn)行放大、縮小、向左旋轉(zhuǎn)、向右旋轉(zhuǎn)、向上平移、向下平移6種動(dòng)態(tài)手勢(shì)操作和自由旋轉(zhuǎn)1種靜態(tài)手勢(shì)操作。
在區(qū)域F1內(nèi)為動(dòng)態(tài)手勢(shì),其中三維巖心圖像的向上移動(dòng)、向下移動(dòng)、向左旋轉(zhuǎn)、向右旋轉(zhuǎn)為當(dāng)單手操作,放大和縮小為雙手操作模式,即雙手遠(yuǎn)離時(shí)為放大,雙手靠近時(shí)為縮小 (見(jiàn)圖4)。在區(qū)域F2內(nèi)為靜態(tài)手勢(shì),主要控制著三維巖心的自由旋轉(zhuǎn),三維巖心的動(dòng)態(tài)自由旋轉(zhuǎn)趨勢(shì)和手掌姿態(tài)變化一致(見(jiàn)圖5)。
圖4 動(dòng)態(tài)手勢(shì)操作圖
圖5 靜態(tài)手勢(shì)自由旋轉(zhuǎn)操作圖
表1 試驗(yàn)數(shù)據(jù)統(tǒng)計(jì)表
試驗(yàn)人數(shù)為15人,每人用每種手勢(shì)對(duì)三維巖心圖像進(jìn)行10次操作,共操作150次 (見(jiàn)表1),從表1可以看出,放大、縮小、向左旋轉(zhuǎn)、向右旋轉(zhuǎn)、向上平移、向下平移等操作的正確識(shí)別率在94%之上,而自由旋轉(zhuǎn)的正確識(shí)別率為82.67%。出現(xiàn)上述差異的原因主要是基于多點(diǎn)的手掌姿勢(shì)依賴于用戶手指與手指間夾角大小,當(dāng)手掌全部張開(kāi)時(shí)指間夾角較大,此時(shí)深度傳感器Kinect能夠很好地進(jìn)行識(shí)別區(qū)分,而手掌處于合攏狀態(tài)時(shí),指間夾角過(guò)小,超過(guò)了深度傳感器Kinect的最小分辨率,從而導(dǎo)致自由旋轉(zhuǎn)的正確識(shí)別率下降。
根據(jù)地質(zhì)工作者在三維巖心大屏顯示的實(shí)際操控中的常用手勢(shì)和高自由度等需求,將Kalman濾波算法融入指尖和掌心的識(shí)別與跟蹤中,提出了一種自適應(yīng)的Kalman濾波方法,利用該方法能夠彌補(bǔ)Kinect丟幀或遮擋導(dǎo)致的不足,大大提高手勢(shì)識(shí)別與跟蹤的魯棒性;同時(shí),使用多模型協(xié)同手勢(shì)識(shí)別方法,可以提升三維巖心手勢(shì)操控瀏覽的準(zhǔn)確性。今后,應(yīng)加強(qiáng)基于精準(zhǔn)指間夾角檢測(cè)的手勢(shì)識(shí)別的研究,使得該方法進(jìn)一步完善。
[1]鄭勝利 .巖心圖像數(shù)據(jù)庫(kù)應(yīng)用軟件的設(shè)計(jì) [J].石油儀器,2006,20(4):72-73.
[2]胡述龍,徐靜 .巖心表面和剖面圖像采集儀的改進(jìn)設(shè)計(jì) [J].江漢石油學(xué)院學(xué)報(bào),2003,25(3):127-128.
[3]王艷琴,鄭勝利 .彩色巖心掃描儀及其在巖心資料保存中的應(yīng)用 [J].石油儀器,2002,16(3):15-17.
[4]吳沖龍,何珍文,翁正平,等 .地質(zhì)數(shù)據(jù)三維可視化的屬性分類和關(guān)鍵技術(shù) [J].地質(zhì)通報(bào),2012,30(5):642-649.
[5]胡述龍,沈疆海 .一種巖心表面和剖面圖像采集儀的開(kāi)發(fā) [J].江漢石油學(xué)院學(xué)報(bào),2002,24(4):79-80.
[6]于漢超,劉明杰,劉軍發(fā),等 .基于雙通道異構(gòu)傳感器融合的手勢(shì)識(shí)別方法 [J].計(jì)算機(jī)應(yīng)用與軟件,2012,21(11):1-3.
[7]吳曉娟 .基于HMM動(dòng)態(tài)手勢(shì)軌跡識(shí)別的門限模型方法研究 [J].模式識(shí)別與人工智能,2003,16(1):122-125.
[8]江超,艾嬌燕 .基于OpenCV的攝像頭動(dòng)態(tài)手勢(shì)軌跡識(shí)別及其應(yīng)用 [J].計(jì)算機(jī)應(yīng)用,2012,32(S1):128-133.
[9]張博洋,吳曉娟,葛慶國(guó),等 .基于HMM方法的動(dòng)態(tài)手勢(shì)軌跡訓(xùn)練性能研究 [J].信號(hào)處理,2004,20(6):662-666.
[10]張毅,張爍,羅元,徐曉東 .基于Kinect深度圖像信息的手勢(shì)軌跡識(shí)別及應(yīng)用 [J].計(jì)算機(jī)應(yīng)用研究,2012,29(9):3547-3550.