国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Kinect的體感交互開發(fā)中間件設(shè)計(jì)及實(shí)現(xiàn)

2018-05-03 06:07張一航程新榮
關(guān)鍵詞:關(guān)節(jié)點(diǎn)中間件體感

張一航 程新榮 陳 洪 王 慶

(中國(guó)農(nóng)業(yè)大學(xué)信息與電氣工程學(xué)院 北京 100083)

0 引 言

隨著計(jì)算機(jī)科學(xué)技術(shù)的高速發(fā)展,人機(jī)交互技術(shù)已經(jīng)從以計(jì)算機(jī)為中心逐步轉(zhuǎn)移到以人為中心[1]。作為3D感知器的微軟Kinect設(shè)備自發(fā)布以來(lái)就吸引了大量游戲玩家和科研人員的注意力。這引發(fā)了大量基于Kinect的研究,開發(fā)了基于Kinect的電子相冊(cè)[2]、基于Kinect的體感虛擬鼠標(biāo)[3]等。近幾年,體感游戲機(jī)Xbox越來(lái)越多的進(jìn)入普通家庭,從2011年11月至2012年4月就已售出1 800萬(wàn)的Kinect體感游戲控制系統(tǒng)[4]。由于體感交互方式更加自然,體感游戲這種新型的游戲體驗(yàn)形式越來(lái)越引起廣大普通民眾的興趣。但Kinect for Xbox 360的游戲內(nèi)容還是很少,這種情況歸結(jié)于體感內(nèi)容的開發(fā)需要大量的專業(yè)知識(shí),例如真實(shí)世界中的很多屬性和物理約束如何轉(zhuǎn)換成具體數(shù)值映射到計(jì)算機(jī)所構(gòu)建的場(chǎng)景中用以增強(qiáng)用戶的游戲體驗(yàn),以及人體的各種生理屬性、動(dòng)作參數(shù)的準(zhǔn)確獲取都是很關(guān)鍵的問(wèn)題。這些專業(yè)知識(shí)對(duì)游戲開發(fā)者來(lái)說(shuō)是陌生的,這導(dǎo)致體感游戲開發(fā)周期時(shí)間比較長(zhǎng),開發(fā)成本也比較大[5],開發(fā)效率低。體感游戲內(nèi)容的匱乏,在數(shù)量和質(zhì)量上均處于劣勢(shì),大大制約了體感游戲的普及與發(fā)展。此外,我們發(fā)現(xiàn)傳統(tǒng)人機(jī)交互平臺(tái)的很多優(yōu)秀的游戲資源很適合通體感交互方式進(jìn)行交互,其中尤其以第一視角的運(yùn)動(dòng)類游戲?yàn)橹?,例如跑酷、球類游戲等。源于運(yùn)動(dòng)類的游戲本身就是控制游戲角色做動(dòng)作行為,然而使用鍵盤鼠標(biāo)或者觸屏的交互方式并不能帶給玩家良好的體驗(yàn),使用體感交互的方式可以給玩家更強(qiáng)的沉浸感和體驗(yàn)感。鑒于此,本文提出了一種提高開發(fā)效率的解決方案,即利用數(shù)量可觀,制作精良的傳統(tǒng)人機(jī)交互平臺(tái)的游戲作為內(nèi)容資源,并開發(fā)了體感交互開發(fā)中間件作為橋梁,將原本基于鍵盤鼠標(biāo)等操作的傳統(tǒng)交互方式游戲?qū)崿F(xiàn)體感化操作,將用戶動(dòng)作與游戲中的鍵盤鼠標(biāo)等指令映射起來(lái)。經(jīng)驗(yàn)證,本文方法可以有效地將傳統(tǒng)交互方式的游戲?qū)崿F(xiàn)體感化操作,為豐富體感游戲的游戲內(nèi)容提供了一個(gè)有效的解決方案。

1 相關(guān)工作

目前,國(guó)內(nèi)外對(duì)于傳統(tǒng)交互方式向自然人機(jī)交互轉(zhuǎn)換的工具相關(guān)的研究尚不是很多,比較有代表性的有KinEmote、Faast、MapGIS等。

1.1 KinEmote

KinEmote是使用一組基本的手勢(shì)來(lái)控制媒體中心軟件Boxee,所有的操作都可以用一只手來(lái)完成。KinEmote能夠通過(guò)Kinect對(duì)Boxee進(jìn)行控制,用戶打開KinEmote后,通過(guò)手在可識(shí)別范圍的空間中進(jìn)行一定的動(dòng)作行為即可對(duì)當(dāng)前應(yīng)用進(jìn)行操作,包括手部簡(jiǎn)單的幾個(gè)方向移動(dòng)動(dòng)作(Move)控制菜單選項(xiàng),手部向前推可以觸發(fā)鼠標(biāo)事件的點(diǎn)擊(Click),手部在一個(gè)方向上保持不動(dòng),即可實(shí)現(xiàn)光標(biāo)的拖拽(Drag)事件。

特點(diǎn):KinEmote手勢(shì)識(shí)別準(zhǔn)確率很高,針對(duì)一些用手控制的應(yīng)用。

缺點(diǎn):不支持其他動(dòng)作的識(shí)別,僅適用于媒體中心軟件Boxee,不支持全Windows菜單界面的控制。

1.2 Faast

Faast(Flexible Action and Articulated Skeleton Toolkit)[6]是美國(guó)南加州大學(xué)2010年開發(fā)的一款將全身交互與虛擬環(huán)境、醫(yī)療衛(wèi)生、電子游戲以及其他用戶界面結(jié)合起來(lái)的中間件工具。包括一個(gè)可以創(chuàng)建自定義姿勢(shì)的圖像用戶界面,傳感器的適配,骨架追蹤,動(dòng)作識(shí)別以及多種適用于控制第三方應(yīng)用的輸出機(jī)制。并定義了一種可以表示人體姿勢(shì)的語(yǔ)法規(guī)則,用這個(gè)規(guī)則集對(duì)應(yīng)到每一個(gè)動(dòng)作的基本時(shí)空組件,單個(gè)規(guī)則形成一種原語(yǔ)。雖然概念簡(jiǎn)單,可以同時(shí)逐一地結(jié)合起來(lái)形成復(fù)雜的姿勢(shì)交互。

優(yōu)點(diǎn):Faast提供的動(dòng)作類別和Windows交互事件非常全面,已經(jīng)基本可以實(shí)現(xiàn)對(duì)任何一款Windows應(yīng)用程序的控制。

缺點(diǎn):它需要使用者具備與動(dòng)作描述有關(guān)的專業(yè)知識(shí),用戶使用門檻比較高,而且Faast對(duì)于靜態(tài)的姿勢(shì)識(shí)別率比較高,但對(duì)于稍復(fù)雜的姿勢(shì)和動(dòng)態(tài)的動(dòng)作,F(xiàn)aast的識(shí)別率還有待提高。

1.3 MapGIS

國(guó)內(nèi)在體感交互轉(zhuǎn)換工具方面的研究還非常少見,南京師范大學(xué)研究的基于體感交互的GIS交互中間件[7]是根據(jù)MapGIS具體應(yīng)用需求,建立GIS操作與人體動(dòng)作的映射機(jī)制,將傳統(tǒng)上基于鼠標(biāo)的GIS操作體感化。

特點(diǎn): 針對(duì)GIS操作,如地圖的放大、縮小,地圖的返回全景顯示等。

缺點(diǎn):對(duì)于一些復(fù)雜的操作仍需要搭配鼠標(biāo)控制,體驗(yàn)效果并不好,針對(duì)具體某款軟件,拓展性較差,不是一個(gè)完整的解決方案。

2 基于Kinect的體感交互開發(fā)中間件工作原理

首先通過(guò)微軟Kinect SDK獲取人體25個(gè)骨架關(guān)節(jié)點(diǎn),繪制出骨架模型;然后基于對(duì)動(dòng)作的3種描述方法對(duì)動(dòng)作進(jìn)行描述,建立動(dòng)作模板庫(kù);在映射關(guān)系構(gòu)建模塊中建立動(dòng)作與傳統(tǒng)交互事件之間的一一映射關(guān)系;在動(dòng)作識(shí)別模塊中,使用模板匹配法,用戶做出某一個(gè)動(dòng)作時(shí),如果該動(dòng)作與動(dòng)作模板庫(kù)中的某一個(gè)動(dòng)作相匹配,則系統(tǒng)識(shí)別出用戶動(dòng)作為哪一個(gè)動(dòng)作;在模擬輸出模塊中觸發(fā)與之對(duì)應(yīng)的傳統(tǒng)交互事件用以控制第三方傳統(tǒng)交互游戲。

圖1為軟件基本架構(gòu)圖。以Kinect為基本的物理底層,主要模塊分為骨架繪制模塊、動(dòng)作定義模塊、動(dòng)作識(shí)別模塊、映射關(guān)系構(gòu)建模塊以及輸出模擬模塊,整個(gè)體系構(gòu)成一個(gè)完整的架構(gòu)。

圖1 系統(tǒng)架構(gòu)模塊劃分

系統(tǒng)架構(gòu)由骨骼數(shù)據(jù)讀取模塊,動(dòng)作定義模塊、動(dòng)作識(shí)別模塊、映射關(guān)系構(gòu)建模塊以及模擬器模塊組成。從深度傳感器(Kinect v2)獲取到骨骼信息后,在軟件的界面上繪制出人物的骨骼模型,Kinect v2最多可以繪制6個(gè)人的骨架棒狀模型。每個(gè)人的骨架棒狀模型可識(shí)別人體的25個(gè)關(guān)節(jié)點(diǎn)并在每?jī)蓚€(gè)關(guān)節(jié)點(diǎn)之間繪制一條骨架連線?;谝恍﹦?dòng)作的描述規(guī)則,對(duì)動(dòng)作進(jìn)行描述和定義,建立可擴(kuò)展的動(dòng)作庫(kù)作為動(dòng)作識(shí)別的模板庫(kù)。這些描述規(guī)則包含基于肢體關(guān)節(jié)點(diǎn)空間位置的描述,基于骨骼角度的描述及基于連續(xù)靜態(tài)姿態(tài)快照的動(dòng)作匹配,這些描述規(guī)則會(huì)在第3節(jié)詳細(xì)介紹。然后將構(gòu)建映射關(guān)系,動(dòng)作庫(kù)中的具體一個(gè)動(dòng)作對(duì)應(yīng)一個(gè)傳統(tǒng)交互事件稱之為一個(gè)映射。構(gòu)建多個(gè)映射直至所有映射關(guān)系滿足目標(biāo)應(yīng)用的體感交互需求。在這個(gè)過(guò)程中所構(gòu)建的每一條映射關(guān)系最終形成映射集。動(dòng)作識(shí)別模塊采用模板匹配法,將實(shí)時(shí)采集用戶的目標(biāo)體感動(dòng)作并與動(dòng)作庫(kù)中的體感動(dòng)作進(jìn)行匹配以獲取所述用戶的目標(biāo)體感動(dòng)作所屬的動(dòng)作類別。根據(jù)所識(shí)別出的目標(biāo)體感動(dòng)作的動(dòng)作類別通過(guò)映射集中的映射關(guān)系,得到該動(dòng)作類別所對(duì)應(yīng)的傳統(tǒng)交互事件。系統(tǒng)還包括一個(gè)可以調(diào)用傳統(tǒng)交互事件的模擬輸出模塊。該模塊中包含了Windows傳統(tǒng)交互事件,如鍵盤事件和鼠標(biāo)事件等,利用該模塊通過(guò)消息響應(yīng)機(jī)制輸出這些事件。

3 基于Kinect的動(dòng)作定義

在這一節(jié)中,將對(duì)第2.1節(jié)中中間件架構(gòu)的動(dòng)作定義模塊中3種動(dòng)作描述規(guī)則進(jìn)行詳細(xì)闡述?;谥w關(guān)節(jié)點(diǎn)空間未知的描述及基于骨骼角度的描述更多適用于對(duì)靜態(tài)姿勢(shì)進(jìn)行判斷,對(duì)于連續(xù)動(dòng)作的判斷需要結(jié)合基于連續(xù)靜態(tài)姿態(tài)快照的動(dòng)作匹配。

3.1 Kinect設(shè)備坐標(biāo)系統(tǒng)

Kinect傳感器輸出的關(guān)節(jié)點(diǎn)位置使用(x,y,z)表示,其單位是米。坐標(biāo)軸X、Y、Z是傳感器實(shí)體設(shè)備的空間坐標(biāo)軸。在設(shè)備坐標(biāo)系統(tǒng)下,原點(diǎn)位置對(duì)應(yīng)于傳感器本身,Z軸正向與傳感器的方向一致,Y軸正向朝上,X軸正向向左延伸(從傳感器的感應(yīng)方向看去)。整個(gè)坐標(biāo)系屬于右手坐標(biāo)系,如圖2所示。

圖2 Kinect設(shè)備坐標(biāo)系

3.2 用戶坐標(biāo)系

在這個(gè)坐標(biāo)系中,以用戶的臀部中心作為坐標(biāo)原點(diǎn),當(dāng)用戶面向感應(yīng)設(shè)備時(shí),X軸正向向右延伸,Y軸正向向上延伸,Z軸向后延伸。在用戶坐標(biāo)系下的關(guān)節(jié)點(diǎn)坐標(biāo)必須進(jìn)行坐標(biāo)轉(zhuǎn)換得到。

假定(x,y,z)表示設(shè)備空間坐標(biāo)系下某個(gè)關(guān)節(jié)點(diǎn)的三維坐標(biāo),則用戶坐標(biāo)系下其三維坐標(biāo)(x′,y′,z′)可使用式(1)求得。

(1)

式中:O′(x0,y0,z0)表示用戶空間坐標(biāo)系o′x′y′z′的坐標(biāo)原點(diǎn)。

3.3 基于肢體關(guān)節(jié)點(diǎn)空間位置的描述

關(guān)節(jié)點(diǎn)在相機(jī)空間坐標(biāo)系中的位置信息是最為基本的信息,Kinect v2相較Kinect v1,性能有較大提升。新一代 Kinect 傳感器除了能夠從畫面中識(shí)別更多的人體骨架,具備更高分辨率攝像頭,提供景物深度數(shù)據(jù)和紅外數(shù)據(jù),還能夠?yàn)殚_發(fā)者提供人物的肌肉、運(yùn)動(dòng)的力量和心跳以及面部表情[8]。目前最多能夠繪制6幅骨架模型,如圖3所示。在Kinect v2可視范圍內(nèi)可繪制出人體25個(gè)關(guān)節(jié)點(diǎn),并以每秒 30 幀的頻率刷新。

圖3 微軟MSND提供的人體骨架模型,包含Kinect v2能夠追蹤和識(shí)別的25個(gè)骨架關(guān)節(jié)

在進(jìn)行動(dòng)作描述過(guò)程中,可以通過(guò)比較兩個(gè)關(guān)節(jié)點(diǎn)在用戶坐標(biāo)系中的相對(duì)空間位置關(guān)系來(lái)描述用戶的動(dòng)作行為:

{關(guān)節(jié)點(diǎn) 1} {關(guān)系} {關(guān)節(jié)點(diǎn) 2} {比較} {閾值}

其中,“關(guān)節(jié)點(diǎn)”的類型包括:脊椎關(guān)節(jié)集合(頭部、頸部、肩部中央、軀干中央、盆骨中央)、右手集合(右手最遠(yuǎn)端、右手拇指、右手手心、右手手腕、右手手肘、右肩)、左手集合(左手最遠(yuǎn)端、左手拇指、左手手心、左手手腕、左手手肘、左肩)、右腿集合(右腳、右膝、右臀)、左腿集合(左腳、左膝、左腿)共25個(gè)關(guān)節(jié)點(diǎn)。

“關(guān)系”表示對(duì)空間坐標(biāo)系中關(guān)節(jié)點(diǎn)的X、 Y、 Z坐標(biāo)值進(jìn)行的比較,包括:相對(duì)左方、相對(duì)右方、相對(duì)上方、相對(duì)下方、相對(duì)前方、相對(duì)后方、遠(yuǎn)離(大于一定距離即滿足條件)、靠近(小于一定距離即滿足條件)。

“比較”是指大于閾值觸發(fā)、小于閾值觸發(fā)、或者落在某個(gè)區(qū)域觸發(fā)。在這里需要特別指出的是,本文在考慮關(guān)鍵相對(duì)位置關(guān)系時(shí),排除了“等于閾值觸發(fā)”的選項(xiàng)。因?yàn)樵诎凑者@種規(guī)則對(duì)動(dòng)作進(jìn)行描述時(shí),要用戶做出一個(gè)與描述動(dòng)作十足匹配的動(dòng)作是十分困難的,識(shí)別率必然是很小的。

“閾值”是指描述動(dòng)作的觸發(fā)范圍,用戶的動(dòng)作必須達(dá)到描述動(dòng)作的閾值才能識(shí)別到具體的動(dòng)作。

例如,我們對(duì)“舉右手”這個(gè)姿勢(shì)進(jìn)行如下描述:

{右手關(guān)節(jié)點(diǎn)} {上方} {右肩關(guān)節(jié)點(diǎn)} {大于} {0.3米}

我們使用這樣簡(jiǎn)單的語(yǔ)句對(duì)一個(gè)“舉右手”的動(dòng)作進(jìn)行了描述。

3.4 基于骨骼角度的描述

人體的每?jī)蓚€(gè)關(guān)節(jié)點(diǎn)確定一根骨骼,在三維坐標(biāo)系中表現(xiàn)為一個(gè)有長(zhǎng)度、方向的向量。本文通過(guò)對(duì)骨骼向量之間相對(duì)角度的關(guān)系來(lái)對(duì)動(dòng)作進(jìn)行描述。

角度的判斷主要是通過(guò)空間向量間的夾角公式的方式來(lái)計(jì)算。由于兩個(gè)向量可以決定一個(gè)平面,本文暫且跳出相機(jī)空間坐標(biāo)系,在兩個(gè)骨骼向量所決定的平面上來(lái)對(duì)角度進(jìn)行描述。

圖4中O、A、B三點(diǎn)分別表示三個(gè)不同的關(guān)節(jié)點(diǎn),其中O點(diǎn)表示兩段骨骼的連接關(guān)節(jié)點(diǎn),向量a和向量b分別表示三點(diǎn)所決定的兩個(gè)骨架向量。

圖4 計(jì)算兩段骨骼向量的夾角示意圖

計(jì)算公式如下:

a=(XA-XO,YA-YO,ZA-ZO)

(2)

b=(XB-XO,YB-YO,ZB-ZO)

(3)

(4)

因此,只要獲得三個(gè)關(guān)節(jié)點(diǎn)的空間位置信息,便可以求得兩段骨架向量的夾角。

3.5 基于連續(xù)靜態(tài)姿態(tài)快照的動(dòng)作匹配

對(duì)于動(dòng)作來(lái)說(shuō),我們可以將其看成一串連續(xù)的靜態(tài)姿勢(shì)片段。事實(shí)上,動(dòng)作的描述可以選取若干典型的“靜態(tài)姿勢(shì)片段”來(lái)表達(dá),每個(gè)姿勢(shì)片段對(duì)應(yīng)著與之相關(guān)的骨骼跟蹤部位的相對(duì)位置。

我們以左手向右“劃動(dòng)”為例,該動(dòng)作可以分解為三個(gè)典型的靜態(tài)姿勢(shì)片段,

片段一:

Z軸:左手在左肩的前方

Y軸:左手的高度介于肩部和臀部之間

X軸:左手在左肩的左側(cè)

片段二:

Z軸:左手在左肩的前方

Y軸:左手的高度介于肩部和臀部之間

X軸:左手在左右肩部之間

片段三:

Z軸:左手在左肩的前方

Y軸:左手的高度介于肩部和臀部之間

X軸:左手在臀部中央位置的右側(cè)

我們對(duì)三個(gè)姿勢(shì)片段進(jìn)行匹配,當(dāng)三個(gè)片段都識(shí)別時(shí),成功識(shí)別動(dòng)作。

4 利用中間件進(jìn)行實(shí)例開發(fā)及驗(yàn)證

在這節(jié)中,將介紹中間件的界面設(shè)計(jì)及使用步驟,并且挑選一款適合用體感方式進(jìn)行交互的游戲,將其交互方式轉(zhuǎn)換成體感交互。

4.1 中間件界面設(shè)計(jì)

中間件的界面由兩部分組成,包含創(chuàng)建映射集及模擬測(cè)試兩部分。利用創(chuàng)建映射集部分完成傳統(tǒng)交互事件與用戶動(dòng)作行為之間的關(guān)聯(lián)映射:用戶需要?jiǎng)幼鲙?kù)中選擇動(dòng)作作為輸入,從傳統(tǒng)交互事件中選擇事件作為輸出。該步驟形成一個(gè)映射關(guān)系,重復(fù)該步驟直至所獲得映射關(guān)系滿足目標(biāo)應(yīng)用的體感交互需求,所有映射關(guān)系組成映射集。利用模擬測(cè)試部分實(shí)時(shí)進(jìn)行體感化操作游戲:用戶可以利用Kienct實(shí)時(shí)采集自身的人體動(dòng)作,并與動(dòng)作庫(kù)中的動(dòng)作進(jìn)行匹配以獲取該體感動(dòng)作的所屬動(dòng)作類別,根據(jù)映射集中的映射關(guān)系,獲取并激發(fā)所述動(dòng)作類別所對(duì)應(yīng)的傳統(tǒng)交互事件。

創(chuàng)建映射集界面分為兩部分,如圖5所示。右框的功能是創(chuàng)建映射,需要對(duì)映射進(jìn)行命名,從動(dòng)作庫(kù)中選擇動(dòng)作輸入,從傳統(tǒng)交互事件中選擇事件輸出,并實(shí)現(xiàn)了添加、刪除及修改的功能。左框是映射列表,用于實(shí)時(shí)反映映射集中存在的映射,選中映射后,右框會(huì)自動(dòng)顯示該映射的具體信息,當(dāng)映射集構(gòu)建完成后,可以存儲(chǔ)為XML文件,并實(shí)現(xiàn)了載入XML文件功能便于再次修改映射集。

圖5 中間件創(chuàng)建映射集界面

模擬測(cè)試界面分為三部分,如圖6所示。左上方部分用于讀取XML文件,并顯示映射集內(nèi)容,開始模擬和停止模擬按鈕分別用來(lái)控制Kinect的啟動(dòng)與關(guān)閉。同時(shí)也對(duì)應(yīng)著識(shí)別輸出實(shí)時(shí)列表及圖像顯示兩部分的工作與停止。左下方為識(shí)別輸出實(shí)時(shí)列表,用于實(shí)時(shí)反映Kinect的連接狀態(tài)、Kinect視野中對(duì)人體目標(biāo)的追蹤狀態(tài)及識(shí)別到人體的動(dòng)作與輸出的鍵盤事件。右方是圖像顯示模塊,根據(jù)Kinect SDK提供的5種圖像數(shù)據(jù)源:彩色圖像、骨骼圖像、深度圖像、紅外圖像和顏色圖像。本文的動(dòng)作識(shí)別及動(dòng)作定義是基于人體的25個(gè)關(guān)節(jié)點(diǎn)實(shí)現(xiàn)的,所以默認(rèn)的圖像顯示為骨骼圖像。

圖6 中間件模擬測(cè)試界面

4.2 實(shí)例開發(fā)及驗(yàn)證

本文選用一款名為極速變色龍的手機(jī)游戲作為本文體感化的目標(biāo)游戲,極速變色龍(Chameleon Run)是由著名游戲開發(fā)商N(yùn)oodlecake Studios推出的創(chuàng)意跑酷類游戲。該游戲采用橫版風(fēng)格的設(shè)計(jì),核心玩法是:游戲人物(以下簡(jiǎn)稱 “小人”)不停地在紫紅色或黃色橫柱上奔跑,遇到鴻溝要及時(shí)跨越,并要做到每次小人跨越鴻溝再次落在橫柱上時(shí),小人的顏色要與落腳的橫柱顏色保持一致。通過(guò)單次點(diǎn)擊手機(jī)屏幕左半部分可以進(jìn)行小人顏色切換(紫紅色或黃色),通過(guò)單次點(diǎn)擊屏幕右側(cè)可以進(jìn)行小人近距離跳躍,雙擊屏幕右側(cè)可進(jìn)行騰空時(shí)的再次跳躍,長(zhǎng)觸手機(jī)右半屏幕可以實(shí)現(xiàn)遠(yuǎn)距離超級(jí)跳躍。通過(guò)手機(jī)模擬器(Nox)來(lái)模擬手機(jī)游戲中手指的觸摸點(diǎn)擊行為,手機(jī)交互與鍵盤交互的映射關(guān)系如表1所示。

表1 傳統(tǒng)交互與鍵盤映射關(guān)系

通過(guò)簡(jiǎn)易體感交互中間件對(duì)動(dòng)作進(jìn)行描述,并映射成相應(yīng)的鍵盤事件,如表2所示。

表2 傳統(tǒng)交互方式與體感交互方式的映射關(guān)系

當(dāng)有用戶站在Kinect前并做出一定的動(dòng)作時(shí),Kinect會(huì)識(shí)別按照預(yù)設(shè)的閾值定義好的動(dòng)作,將該動(dòng)作作為輸入指令,系統(tǒng)會(huì)觸發(fā)相應(yīng)的鍵盤事件。

本實(shí)驗(yàn)選用15人,每人每個(gè)動(dòng)作做出5次,這樣的到一個(gè)15×5×4的樣本,樣本識(shí)別率統(tǒng)計(jì)如表3所示。

表3 樣本識(shí)別率統(tǒng)計(jì)

經(jīng)過(guò)分析驗(yàn)證,系統(tǒng)總體識(shí)別率較高,特別是對(duì)于一些簡(jiǎn)單的靜態(tài)姿勢(shì)識(shí)別率較高,但對(duì)于一些稍復(fù)雜的動(dòng)態(tài)動(dòng)作識(shí)別率還有待提升。這證明第3節(jié)的動(dòng)作

定義描述規(guī)則可以較好地完成動(dòng)作的定義,結(jié)合模板匹配法可以滿足用戶的體感交互動(dòng)作識(shí)別的需求。該驗(yàn)證說(shuō)明本文提出的解決方案可以成功將傳統(tǒng)交互游戲的交互方式轉(zhuǎn)換成體感交互,提升了游戲的沉浸感和體驗(yàn)感,有效地豐富了體感游戲的游戲內(nèi)容。

5 結(jié) 語(yǔ)

本文提出一種基于深度相機(jī)Kinect的體感交互開發(fā)中間件。采用Kinect v2硬件,基于Windows 10操作系統(tǒng)和Visual Studio 2013開發(fā)環(huán)境中的WPF平臺(tái),開發(fā)體感交互中間軟件。并以此為橋梁,將原本基于鍵盤鼠標(biāo)等操作的傳統(tǒng)交互游戲?qū)崿F(xiàn)體感化操作,將實(shí)時(shí)采集的用戶動(dòng)作和行為和傳統(tǒng)交互事件映射起來(lái)。本文利用Kinect深度相機(jī)獲取人體骨骼信息,基于三種描述對(duì)動(dòng)作進(jìn)行定義,計(jì)算不同骨骼和關(guān)節(jié)之間相對(duì)位置、相對(duì)角度和靜態(tài)姿態(tài)快照動(dòng)作匹配來(lái)對(duì)動(dòng)作進(jìn)行描述,建立動(dòng)作識(shí)別模板庫(kù)。針對(duì)一款具體的游戲,設(shè)計(jì)出一套完整的解決方案,豐富了體感游戲內(nèi)容。

本文通過(guò)硬編碼的方式對(duì)動(dòng)作進(jìn)行描述定義,雖然系統(tǒng)對(duì)于描述出的靜態(tài)姿勢(shì)具有較高的識(shí)別率,但是對(duì)于一些稍復(fù)雜的動(dòng)態(tài)姿勢(shì),識(shí)別率還有待提升。

[1] 陳建軍.基于Kinect手勢(shì)識(shí)別的網(wǎng)頁(yè)控制軟件設(shè)計(jì)[D].太原理工大學(xué),2015.

[2] 鄧頔,華澤璽.基于Kinect的體感電子相冊(cè)的設(shè)計(jì)與實(shí)現(xiàn)[J].現(xiàn)代計(jì)算機(jī)(普及版),2013(5):54-58.

[3] 陳濱,時(shí)巖.基于Kinect的體感虛擬鼠標(biāo)研究與開發(fā)[J].軟件,2016,37(2):46-49.

[4] 陳靜.基于Kinect的手勢(shì)識(shí)別技術(shù)及其在教學(xué)中的應(yīng)用[D].上海交通大學(xué),2013.

[5] 張貴.體感交互及其游戲的設(shè)計(jì)與開發(fā)[D].華南理工大學(xué),2014.

[6] Suma E A,Lange B,Rizzo A,et al.FAAST:The Flexible Action and Articulated Skeleton Toolkit[C]//Virtual Reality Conference.IEEE,2011:247-248.

[7] 谷穎.基于體感交互的GIS交互模式與中間件研究[D].南京師范大學(xué),2012.

[8] 王瑤,項(xiàng)鵬,孟春陽(yáng),等.新一代Kinect傳感器關(guān)鍵技術(shù)綜述[J].黑龍江科技信息,2015(24):84-86.

猜你喜歡
關(guān)節(jié)點(diǎn)中間件體感
基于關(guān)節(jié)點(diǎn)數(shù)據(jù)關(guān)注RGB視頻的雙人交互行為識(shí)別
體感交互技術(shù)在腦卒中康復(fù)中的應(yīng)用
基于深度學(xué)習(xí)和視覺(jué)檢測(cè)的地鐵違規(guī)行為預(yù)警系統(tǒng)研究與應(yīng)用
重載機(jī)車網(wǎng)絡(luò)重聯(lián)TCN 故障節(jié)點(diǎn)識(shí)別方法研究*
關(guān)節(jié)點(diǎn)連接歷史圖與卷積神經(jīng)網(wǎng)絡(luò)結(jié)合的雙人交互動(dòng)作識(shí)別
我國(guó)自主可控中間件發(fā)展研究
人體體感感知機(jī)械手設(shè)計(jì)與實(shí)現(xiàn)
RFID中間件技術(shù)及其應(yīng)用研究
引入體感控制技術(shù)推動(dòng)校園足球發(fā)展
電動(dòng)車體感防盜系統(tǒng)
宜都市| 五河县| 沙河市| 霍邱县| 石景山区| 镇宁| 文山县| 蓝山县| 西乌| 武安市| 江都市| 壤塘县| 淮南市| 越西县| 麻江县| 张掖市| 安康市| 瑞安市| 仙居县| 万荣县| 余姚市| 洛南县| 米易县| 始兴县| 淄博市| 棋牌| 鱼台县| 五家渠市| 庄浪县| 广宁县| 温州市| 弥勒县| 枞阳县| 来宾市| 宝山区| 东源县| 马龙县| 望都县| 中方县| 孝感市| 奉新县|