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

?

一種虛實(shí)融合場(chǎng)景中的火焰交互研究

2018-10-18 02:18陶建新郭慧玲
關(guān)鍵詞:障礙物手勢(shì)流體

唐 勇,張 穎,陶建新,郭慧玲,3,張 思

1(燕山大學(xué) 信息科學(xué)與工程學(xué)院,河北 秦皇島 066004)

2(河北省計(jì)算機(jī)虛擬技術(shù)與系統(tǒng)集成重點(diǎn)實(shí)驗(yàn)室,河北 秦皇島 066004)

3(河北省環(huán)境工程學(xué)院信息工程系,河北 秦皇島 066102)

1 引 言

由于隨機(jī)性、細(xì)節(jié)復(fù)雜等特性,流體中的火焰一直是計(jì)算機(jī)圖形學(xué)領(lǐng)域最具挑戰(zhàn)性的課題之一,火焰與障礙物的交互實(shí)現(xiàn)更為復(fù)雜.另外,在虛實(shí)融合場(chǎng)景中建立真實(shí)的火焰模擬也是一個(gè)挑戰(zhàn).因此在虛實(shí)融合場(chǎng)景中完成火焰交互運(yùn)動(dòng)的實(shí)時(shí)仿真困難重重.

火焰模擬,從Stam與Fedkiw等[1]人開始,人們?cè)谔嵘黧w模擬的真實(shí)感與實(shí)時(shí)性方面上做了大量研究.2013年,Fedkiw等[2]提出一種網(wǎng)格結(jié)構(gòu)實(shí)現(xiàn)火焰等流體的動(dòng)態(tài)追蹤,展現(xiàn)了火焰燃燒過程的細(xì)節(jié),提高了實(shí)時(shí)性,但只能用精細(xì)網(wǎng)格追蹤一個(gè)目標(biāo)對(duì)象.2013年戴青等[3]提出一種基于GPU的流體動(dòng)力系統(tǒng),使用GPU模擬和渲染煙霧,提升了計(jì)算能力,但實(shí)時(shí)性仍不強(qiáng).2013年吳曉月等[4]人提出一種投影方法,減少計(jì)算時(shí)間卻產(chǎn)生與傳統(tǒng)投影方法類似的視覺效果,但在流固界面上會(huì)造成一些交互缺陷,影響煙霧效果.2013年唐勇等[5]實(shí)現(xiàn)了N-S方程和體渲染結(jié)合的火焰實(shí)時(shí)模擬,完成加入障礙物和風(fēng)力的火焰真實(shí)模擬,但在交互細(xì)節(jié)上還是有所欠缺.2016年,清華大學(xué)的Yan等[6]人擴(kuò)展了現(xiàn)有多相流體SPH框架,展示了一種新的方法來模擬流固耦合,該框架實(shí)施簡(jiǎn)單且能夠模擬多個(gè)固體和流體交互、溶解效果等現(xiàn)象,但對(duì)純彈性材料效果不理想.

另外,利用人的手勢(shì)動(dòng)作來操作設(shè)備的用戶界面近年來逐漸引起人們關(guān)注.2015年喬體洲等[7]人實(shí)現(xiàn)在無標(biāo)記的情況下不對(duì)稱的跟蹤人手及其所有關(guān)節(jié)的位置和姿態(tài),將基于Kinect的手勢(shì)控制應(yīng)用在虛實(shí)融合場(chǎng)景中煙源交互實(shí)時(shí)模擬仿真中.2016年Ing-Jr Ding等[8]人提出一種自適應(yīng)隱馬爾可夫模型的手勢(shì)識(shí)別方法,利用Kinect獲取用戶的手勢(shì)信號(hào),驅(qū)動(dòng)機(jī)器人來模擬人的控制命令.

綜上可知,當(dāng)前的火焰模擬,主要針對(duì)火焰細(xì)節(jié)上的模擬有很大的進(jìn)步,但在虛實(shí)融合場(chǎng)景中進(jìn)行火焰交互的研究略為匱乏.鑒于此,提出一種在虛實(shí)融合場(chǎng)景中與虛擬火焰交互運(yùn)動(dòng)的實(shí)時(shí)仿真方法.

2 引入柏林噪聲函數(shù)的火焰模型

火焰模型的建立分為基于粒子系統(tǒng)和基于N-S方程的歐拉網(wǎng)格模型兩種.基于粒子系統(tǒng)建立的火焰,雖然在邊緣細(xì)節(jié)上豐富自然,真實(shí)感更強(qiáng),但龐大數(shù)量的粒子,在處理上耗費(fèi)大量時(shí)間,在交互性控制上也非常困難.而基于N-S方程的火焰模型,通過控制火焰每個(gè)網(wǎng)格的單獨(dú)屬性,達(dá)到控制火焰和火焰交互的效果,優(yōu)勢(shì)更明顯,所以本次實(shí)驗(yàn)選擇基于N-S方程建立的火焰物理模型:

(1)

(2)

公式(1)和公式(2)分別是質(zhì)量守恒連續(xù)方程、動(dòng)量守恒方程.其中,u為速度,ρ為流體密度,v是動(dòng)量粘性系數(shù),p為壓強(qiáng),fbouy表示熱浮力,熱浮力為:

fbouy=-αρX+β(Tfire-Tenv)X+εl(N×ω)

(3)

(4)

(5)

公式(1)中f=fd+fwind,fd是擾動(dòng)力,fwind是風(fēng)力.

為了表現(xiàn)出火焰燃燒中的跳動(dòng),在求解fd的過程中,引入Perlin噪聲函數(shù)生成隨機(jī)數(shù)R=μPerlinNoise(t),R作為設(shè)置的恒定力的作用參數(shù),進(jìn)而產(chǎn)生一個(gè)隨機(jī)大小的作用力,對(duì)火焰造成隨機(jī)擾動(dòng),從而創(chuàng)造隨機(jī)風(fēng)場(chǎng).

建立火焰物理模型過程中,由柏林噪聲函數(shù)創(chuàng)造的隨機(jī)風(fēng)場(chǎng),實(shí)現(xiàn)火焰因氣流波動(dòng)而跳動(dòng)的逼真效果,增強(qiáng)了虛擬火焰的真實(shí)感.

3 虛實(shí)融合場(chǎng)景的數(shù)據(jù)收集和處理

實(shí)現(xiàn)虛實(shí)融合場(chǎng)景中與火焰的交互,將虛擬和現(xiàn)實(shí)的數(shù)據(jù)相融合,適配最佳控制系數(shù),保證手勢(shì)指令的魯棒性,確保交互的真實(shí)與實(shí)時(shí).

3.1 數(shù)據(jù)收集和手勢(shì)定義

Kinect是3D體感攝影機(jī),具備即時(shí)動(dòng)態(tài)捕捉,影像辨識(shí)等功能,它能夠不使用任何控制器,僅依靠相機(jī)就可捕捉三維空間中人的運(yùn)動(dòng),因此本文采用Kinect來獲取手勢(shì)動(dòng)作完成與火焰的交互.Kinect借助SDK采集各項(xiàng)數(shù)據(jù)進(jìn)行計(jì)算處理,并利用紅外攝像頭獲取現(xiàn)實(shí)原始視頻.我們?cè)谡鎸?shí)場(chǎng)景中定義標(biāo)記火焰位置,將真實(shí)場(chǎng)景和虛擬火焰進(jìn)行虛實(shí)注冊(cè),然后將注冊(cè)信息進(jìn)行虛實(shí)疊加,融合虛擬和現(xiàn)實(shí)場(chǎng)景中的物體,將融合的視頻顯示到顯示器上,在顯示器上呈現(xiàn)出真實(shí)情景與虛擬火焰融為一體的場(chǎng)景,在場(chǎng)景中可通過手勢(shì)對(duì)火焰達(dá)到操控的效果.

為了能夠準(zhǔn)確識(shí)別場(chǎng)景中人的手勢(shì)指令,在手勢(shì)定義上,本文以分類準(zhǔn)確和高效率為前提,手勢(shì)特征保證特征易于提取、區(qū)分度高,穩(wěn)定且動(dòng)作互不干擾,提升手勢(shì)交互時(shí)的魯棒性.由上,定義如表1所示的手勢(shì)指令集及其算法.其中L和R分別是左手和右手的簡(jiǎn)稱.↑、↓、←和→分別表示手掌垂直向上、向下、水平向左和向右運(yùn)動(dòng).

表1 手勢(shì)指令集定義表Table 1 Difinition of gesture instruction set

3.2 火焰交互中的系數(shù)控制

為確保手勢(shì)指令的魯棒性,在手勢(shì)的交互中引入控制系數(shù),減少時(shí)間異步,并且保證移動(dòng)距離成正比.

3.2.1 減少時(shí)間異步的靈敏度系數(shù)α

手勢(shì)控制物體與火焰交互過程中,獲取手掌三維坐標(biāo)值Rhand=(X,Y,Z),則假設(shè)在Δt內(nèi)手在坐標(biāo)軸上的偏移量為ΔM(其中M分別為X,Y,Z),在坐標(biāo)軸上設(shè)置移動(dòng)閾值為ΔMmove,設(shè)定手勢(shì)幅度大于一個(gè)移動(dòng)閾值,則調(diào)用手勢(shì)算法,即ΔM>ΔMmove時(shí),調(diào)用手勢(shì)指令算法,火焰發(fā)生交互效果.

為實(shí)現(xiàn)在場(chǎng)景中人與火焰的實(shí)時(shí)準(zhǔn)確交互,在調(diào)用指令算法中適配最佳靈敏度系數(shù)α(α>0),提高手勢(shì)識(shí)別的靈敏度.通過手的三維坐標(biāo)值的增長(zhǎng)值來計(jì)算在坐標(biāo)上速度的增長(zhǎng)因子Ux,Uy,Uz,計(jì)算如公式(6)所示.

(6)

假設(shè)原始坐標(biāo)為Sorig=(X1,Y1,Z1),經(jīng)過Ux,Uy,Uz的轉(zhuǎn)化,可得物體的最終坐標(biāo)為Sfina=(X2,Y2,Z2):

M2=M1+Um×(t2-t1)

(7)

其中,M分別為X,Y,Z.

3.2.2 火焰偏移量的控制系數(shù)Φ

為實(shí)現(xiàn)火焰隨手勢(shì)擺動(dòng)的真實(shí)效果,在指令算法中引入控制系數(shù)Φ,利用手勢(shì)揮動(dòng)距離控制風(fēng)力大小,將風(fēng)力添加到火焰上.當(dāng):

(8)

時(shí),手揮動(dòng)偏移量大,風(fēng)力越大.其中|ΔX|是手移動(dòng)距離.

假設(shè)網(wǎng)格中風(fēng)速恒定,根據(jù)大氣動(dòng)力學(xué)計(jì)算空間中x點(diǎn)t時(shí)刻的風(fēng)力得:

(9)

其中ρa(bǔ)ir是空氣的密度,v(t)為t時(shí)刻的風(fēng)速.考慮到阻力,引入風(fēng)力衰減因子,假設(shè)空氣阻力fresi為定值,則:

fresiΔt=mv(t′)-mv(t)

(10)

其中Δt=t′-t,m是質(zhì)量.由于Δt特別小,忽略不計(jì),則認(rèn)為Δt內(nèi)風(fēng)速不變,那相對(duì)于t時(shí)刻的相對(duì)位移ΔS為:

ΔS=v(t)Δt

(11)

由公式(10)和公式(11)整理可得:

(12)

整理以上方程,獲得任意時(shí)刻的風(fēng)力為:

(13)

引入風(fēng)力衰減因子后,真實(shí)地反映了風(fēng)場(chǎng)的變化.

在手勢(shì)定義算法中引入α和Φ后,提升了手勢(shì)識(shí)別的靈敏度和準(zhǔn)確度,提高了手勢(shì)識(shí)別率,確保手勢(shì)指令的魯棒性.實(shí)現(xiàn)手揮動(dòng),識(shí)別手勢(shì)指令并判斷風(fēng)力大小的交互效果.

4 火焰交互的作用力分析

火焰與障礙物之間的交互是基于流體與障礙物之間的單向耦合作用,為在交互界面上的細(xì)節(jié)更加真實(shí)自然,深入兩者的作用機(jī)理,建立他們之間的耦合方程模型.

4.1 火焰與障礙物的單向耦合

圖1 流體與球體碰撞的矢量圖Fig.1 Vector of flame and fluid's collision

如圖1所示,1904年德國(guó)人普朗特提出邊界層理論:邊界層的流體用N-S方程表示,流體與障礙物接觸并有相對(duì)運(yùn)動(dòng)時(shí),邊界層會(huì)因阻力使流體速度減小,產(chǎn)生邊界脫離現(xiàn)象.流體的流動(dòng)速度減為0時(shí),流體反向流動(dòng),在障礙物的表面某處分離,產(chǎn)生大量的旋渦.

基于此理論,建立如下火焰與障礙物之間的耦合模型.

4.2 火焰與障礙物的耦合模型

將4.1節(jié)的理論分析應(yīng)用到火焰與障礙物之間的單向耦合作用力分析上,即可得:

在交互邊界上,障礙物受到k個(gè)網(wǎng)格壓力的矢量和為:

(14)

則由邊界單元網(wǎng)格壓力所產(chǎn)生的加速度abound為:

abound=M-1τp

(15)

式中M是移動(dòng)障礙物的質(zhì)量;另外,考慮到移動(dòng)障礙物本身的加速度,邊界處總加速度aout為:

(16)

(17)

耦合前后火焰保持不可壓縮性,故下一時(shí)刻速度散度為0:

(18)

對(duì)公式(18)進(jìn)行變形,得到:

(19)

將火焰與移動(dòng)障礙物的運(yùn)動(dòng)結(jié)合起來,得耦合線性方程:

(20)

其中D代表散度;在邊界上b=usolid,A=abound.

通過對(duì)流固之間耦合作用力分析,建立其流固耦合方程,保證火焰與障礙球交互面上的細(xì)節(jié)更加真實(shí)自然流暢.

5 實(shí)驗(yàn)結(jié)果與分析

在Windows平臺(tái)下建立基于Kinect的虛實(shí)融合場(chǎng)景,結(jié)合Unity3d建立了虛擬火焰模型,進(jìn)行了與火焰的交互實(shí)驗(yàn)與對(duì)比,驗(yàn)證在虛實(shí)融合場(chǎng)景中與火焰交互的真實(shí)感和實(shí)時(shí)性.硬件環(huán)境:Intel(R)Core(TM)i7-4790 CPU @3.60GHz,8GRAM,顯卡為 ATI Radeon R7250(2G).

圖2是用本文方法模擬出的酒精燈火焰和真實(shí)酒精燈火焰的效果圖對(duì)比.圖2(a)和圖2(b)分別展示了利用本文建立的火焰物理模型對(duì)酒精燈火焰的模擬和真實(shí)酒精燈火焰.與圖2(b)相比,圖2(a)中的火焰有真實(shí)火焰由于氣流產(chǎn)生的跳動(dòng)和不規(guī)則形狀火焰邊緣的特征與細(xì)節(jié).

圖2 酒精燈火焰的模擬及對(duì)比Fig.2 Simulation and comparison of alcohol flame

如圖3所示,圖3(a),圖3(b)分別是本文火焰與文獻(xiàn)[4]

圖3 火焰與障礙球的交互效果圖Fig.3 Interaction between flame and sphere

煙霧和障礙物的交互效果.圖3(a)障礙球上方有因火焰遇到障礙物耦合交互產(chǎn)生的旋渦,在火焰與障礙球之間交互界面上的交互細(xì)節(jié)真實(shí)自然;而圖3(b)的煙霧遇到障礙球,無旋渦,交互細(xì)節(jié)也很粗糙.另外,圖3(b)中煙霧的模擬和渲染是在GPU上進(jìn)行的,實(shí)現(xiàn)了實(shí)時(shí)性,而本文的交互不僅在幀率上能夠達(dá)到120幀左右,實(shí)時(shí)性強(qiáng),且在交互細(xì)節(jié)上真實(shí)自然.

圖4是Kinect識(shí)別手勢(shì)指令與火焰交互的效果圖,其中ΔX的正負(fù)表示手?jǐn)[動(dòng)方向.圖4(a)-圖4(d)分別展示了無指令,L←,歸位,L→的交互效果.分析可知,火焰擺動(dòng)的方向與手勢(shì)指令的方向一致.且由圖4(e)-圖4(h)可知,火焰擺動(dòng)與手勢(shì)指令不僅方向一致且與揮動(dòng)距離成正比.

圖4 手勢(shì)控制火焰擺動(dòng)Fig.4 Flame of gestures controling

圖5是移動(dòng)球與火焰或煙霧交互的效果圖.其中圖5(a)-圖5(d)是本文識(shí)別手勢(shì)指令控制小球與火焰流體的交互效果,圖5(e)-圖5(h)是文獻(xiàn)[5]中煙霧與移動(dòng)小球的交互效果.文獻(xiàn)[5]中提升了煙霧細(xì)節(jié),但在煙霧與小球交互界面上細(xì)節(jié)不清晰,本文中小球跟隨手勢(shì)指令擺動(dòng),且兩者的交互細(xì)節(jié)豐富自然.

圖5 手勢(shì)控制小球與火焰交互及其對(duì)比圖Fig.5 Interaction and comparison of gestures controlling sphere and flame

表2是對(duì)手勢(shì)識(shí)別實(shí)驗(yàn)的數(shù)據(jù)分析.由表可知,同樣100次實(shí)驗(yàn),單手手勢(shì)控制火焰的交互運(yùn)動(dòng)的識(shí)別率相對(duì)于雙手手勢(shì)控制的實(shí)驗(yàn)要高,平均識(shí)別率可達(dá)到98%.而雙手手勢(shì)控制火焰的實(shí)驗(yàn),識(shí)別率為90%-92%.究其原因,實(shí)驗(yàn)過程中人對(duì)火焰進(jìn)行控制時(shí),Kinect識(shí)別雙手指令的不準(zhǔn)確性,對(duì)實(shí)驗(yàn)造成了干擾,導(dǎo)致雙手手勢(shì)的識(shí)別率有所降低;另外,根據(jù)Kinect的深度攝像,人與Kinect之間的距離也是有影響的.多項(xiàng)實(shí)驗(yàn)表明,手勢(shì)識(shí)別算法能夠滿足虛實(shí)融合場(chǎng)景中人與虛擬火焰交互的實(shí)時(shí)真實(shí)模擬的要求.

表2 每個(gè)手勢(shì)的數(shù)據(jù)分析Table 2 Analysis of every gesture

6 結(jié) 論

本文通過分析對(duì)比粒子系統(tǒng)與歐拉網(wǎng)格的火焰模型,選擇了交互性較強(qiáng)的歐拉網(wǎng)格火焰模型.針對(duì)火焰控制問題,利用Kinect將真實(shí)場(chǎng)景與虛擬火焰進(jìn)行深度交互,實(shí)現(xiàn)了人對(duì)虛擬火焰的交互控制,達(dá)到逼真的人機(jī)交互效果.求解N-S方程過程,引入柏林噪聲函數(shù)創(chuàng)造了隨機(jī)風(fēng)場(chǎng),建立了真實(shí)跳動(dòng)的火焰模型;在虛實(shí)融合場(chǎng)景中,定義手勢(shì)指令集及映射算法,并在算法中引入靈敏度系數(shù)和控制系數(shù),保證手勢(shì)指令的魯棒性,同時(shí)提升了手勢(shì)識(shí)別率和準(zhǔn)確性;確定火焰與障礙物之間耦合關(guān)系,建立之間的耦合模型,實(shí)現(xiàn)了交互細(xì)節(jié)上的更加逼真的效果.通過多個(gè)實(shí)驗(yàn)效果圖的分析和對(duì)比可知,本文在虛實(shí)融合場(chǎng)景中實(shí)現(xiàn)的各種交互效果真實(shí)自然流暢.但Kinect本身最大幀率是30fps左右,在虛實(shí)融合場(chǎng)景中的幀率還不是很高;另外,Kinect不能識(shí)別較為復(fù)雜的動(dòng)作,故不能準(zhǔn)確實(shí)現(xiàn)復(fù)雜的交互動(dòng)作.提高復(fù)雜手勢(shì)的識(shí)別和準(zhǔn)確率將會(huì)是我們下一步的工作.

猜你喜歡
障礙物手勢(shì)流體
納米流體研究進(jìn)展
山雨欲來風(fēng)滿樓之流體壓強(qiáng)與流速
高低翻越
趕飛機(jī)
挑戰(zhàn)!神秘手勢(shì)
月亮為什么會(huì)有圓缺
勝利的手勢(shì)
2011年盈江5.8級(jí)地震前近場(chǎng)流體異常初探
認(rèn)手勢(shì)說數(shù)字
垦利县| 拉萨市| 乌兰察布市| 江津市| 卢湾区| 平乡县| 余江县| 玛沁县| 射阳县| 马山县| 彰化市| 巴彦淖尔市| 察雅县| 玛沁县| 喀什市| 杂多县| SHOW| 鹤岗市| 克东县| 应用必备| 沧州市| 革吉县| 汕头市| 阆中市| 成都市| 沂源县| 滨海县| 靖边县| 金门县| 阿尔山市| 二手房| 渝中区| 乌兰察布市| 申扎县| 巍山| 方山县| 肥城市| 金沙县| 织金县| 高要市| 报价|