• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于VTK的沉浸式醫(yī)學(xué)可視化系統(tǒng)設(shè)計(jì)

      2018-06-13 07:52:42朱東雷金樹
      現(xiàn)代計(jì)算機(jī) 2018年13期
      關(guān)鍵詞:手勢右手繪制

      朱東,雷金樹

      (西南科技大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,綿陽 621010)

      0 引言

      醫(yī)學(xué)可視化是利用計(jì)算機(jī)對醫(yī)學(xué)二維斷層圖像序列進(jìn)行三維重建,使其立體逼真地顯示在屏幕上,且能對三維圖像進(jìn)行交互,是現(xiàn)代醫(yī)學(xué)影像研究的重要領(lǐng)域。

      虛擬現(xiàn)實(shí)(Virtual Reality,VR)是以計(jì)算機(jī)技術(shù)為核心,結(jié)合相關(guān)科學(xué)技術(shù),提供視覺、聽覺、觸覺等方面的高度近似模擬,使人產(chǎn)生身臨其境感,用戶借助必要的設(shè)備與虛擬環(huán)境交互,虛擬現(xiàn)實(shí)已被廣泛應(yīng)用于航空、醫(yī)學(xué)、教育、旅游等多個(gè)領(lǐng)域[1]。目前的醫(yī)學(xué)可視化系統(tǒng)大多都是基于二維平面,如PC端、平板端、Web端等,在對三維醫(yī)學(xué)圖像進(jìn)行可視分析時(shí),雖然便于用戶操作,但觀察效果不佳。為了增強(qiáng)沉浸式觀察,Power-Wall顯示器或洞穴狀自動虛擬系統(tǒng)(Cave Automatic Virtual Environment,CAVE)[2]等大型顯示設(shè)備充分利用人類的全方位視覺,以此達(dá)到無限地接近沉浸式,但這些系統(tǒng)往往需要龐大的空間且價(jià)格昂貴。頭戴式顯示設(shè)備(HMD)則是沉浸式的理想選擇,它體積小,刷新率高,低延遲頭部追蹤,且成本相對較低。沉浸式虛擬現(xiàn)實(shí)將用戶的視覺感官完全與外界隔離,使用戶形成持久的專注力,因此傳統(tǒng)的鼠標(biāo)鍵盤式的交互不再適用于VR環(huán)境。

      在人機(jī)交互方面,為了與虛擬場景進(jìn)行交互,用戶往往需要通過手中的設(shè)備作為外在媒介,如HTC Vive、Oculus Touch、Xbox 360游戲手柄等。但上述設(shè)備不能裸手操作,手部受限明顯,影響交互效果。Leap Motion由兩個(gè)高清攝像頭、三個(gè)紅外LED燈和光學(xué)傳感器組成,它利用雙目紅外成像原理重建出手的三維空間運(yùn)動信息,能夠跟蹤各個(gè)骨節(jié)、手指、手掌和類似手指的工具,并實(shí)時(shí)返回它們的空間位置以及方向信息,跟蹤精度達(dá)到0.01mm[3],相比于Kinect,更適合用于手勢識別。

      沉浸式醫(yī)學(xué)可視化是一項(xiàng)跨學(xué)科的應(yīng)用性研究,其利用計(jì)算機(jī)強(qiáng)大的計(jì)算功能以及三維圖像繪制算法,結(jié)合現(xiàn)在最熱門的VR技術(shù),實(shí)現(xiàn)了對構(gòu)建好的三維醫(yī)學(xué)圖像進(jìn)行沉浸式的觀察與交互。因此本文結(jié)合可視化工具函數(shù)庫(Visualization Toolkit,VTK)、頭戴式顯示設(shè)備Oculus Rift、體感交互控制器Leap Motion構(gòu)建沉浸式醫(yī)學(xué)可視化系統(tǒng),幫助用戶多層次多角度立體觀察與分析醫(yī)學(xué)可視化繪制結(jié)果。

      1 沉浸式醫(yī)學(xué)可視化系統(tǒng)設(shè)計(jì)

      系統(tǒng)以VTK作為醫(yī)學(xué)圖像處理工具,實(shí)現(xiàn)三維等值面繪制、體繪制等主流科學(xué)可視化繪制算法,并將三維圖像實(shí)時(shí)顯示在頭戴式虛擬現(xiàn)實(shí)設(shè)備Oculus Rift上,然后利用體感交互器Leap Motion進(jìn)行手勢識別,完成交互。系統(tǒng)整體框架如圖1所示。

      圖1 沉浸式醫(yī)學(xué)可視化系統(tǒng)框架

      2 VTKOculus

      2.1 醫(yī)學(xué)可視化繪制算法

      醫(yī)學(xué)數(shù)據(jù)三維可視化繪制采用科學(xué)可視化中的面繪制和體繪制方法。面繪制是通過幾何單元拼接,對物體表面進(jìn)行擬合而忽略物體內(nèi)部信息的重建方法。體繪制是將每個(gè)體素都參與繪制,直接將體素投影到顯示平面的方法。本文同時(shí)采用這兩種繪制方法,面繪制中采用經(jīng)典的移動立方體算法(Marching Cubes Algorithm,MC),其原理是根據(jù)給定的閾值提取三角面片,并按照一定的空間坐標(biāo)和拓?fù)潢P(guān)系組成等值面,該算法獲得的圖像分辨率高,易交互[4]。體繪制算法采用基于GPU加速的光線投射算法,其基本思想是屏幕上的每個(gè)像素點(diǎn)發(fā)出一條光線,然后通過GPU完成對體數(shù)據(jù)的遍歷、采樣和計(jì)算,然后對各像素點(diǎn)的顏色和不透明度進(jìn)行合成[5]。光線投射算法在各階段操作都具有高度的獨(dú)立性和很好的算術(shù)密集度,能夠很好地利用GPU進(jìn)行加速,提高繪制效率,改善用戶在沉浸式虛擬環(huán)境中的交互體驗(yàn)。

      2.2 VTK交互器的擴(kuò)展

      VTK采用面向?qū)ο蟮脑O(shè)計(jì)思想,基于管線流程進(jìn)行設(shè)計(jì),數(shù)據(jù)在管線流程中的過程對象間輸入輸出,并在可視化管線中進(jìn)行相應(yīng)的處理。目前,VTK已經(jīng)提供了專門用于Oculus模塊的類,涉及到的類有vtkOculusRenderWindow,這個(gè)類處理Oculus接口的大部分內(nèi)容;vtkOculusCamera從Oculus獲取矩陣用于渲染,它包含一個(gè)縮放和平移矩陣,用于將世界坐標(biāo)系映射到頭戴式顯示器空間[6];vtkOculusRenderWindowInteractor用于捕獲控制器事件并將其轉(zhuǎn)換為鼠標(biāo)、窗口事件,該類屬于VTK系統(tǒng)中的交互器類,但它不具備任何交互功能,因此為了創(chuàng)建一個(gè)用于沉浸式環(huán)境下的手勢交互,需要對其功能進(jìn)行擴(kuò)充。為此從原有的交互器上派生出新的類vtkMyOculusInteractor,重寫循環(huán)事件響應(yīng)處理函數(shù)StartEventLoop(),并為其提供Leap Motion接口和手勢識別模塊。

      3 基于Leap Motion交互范式的設(shè)計(jì)

      3.1 虛擬手模型的構(gòu)建

      沉浸式環(huán)境下的虛擬手模型是采用計(jì)算機(jī)視覺獲取人手信息并在虛擬環(huán)境下對其呈現(xiàn),因此視覺手姿態(tài)估計(jì)中的信息獲取顯得十分重要。三維手模型分為體模型、幾何模型、網(wǎng)絡(luò)模型以及骨架模型,結(jié)合VTK的繪制特點(diǎn),本文選取骨架模型作為虛擬手模型。為了簡化人手姿態(tài)估計(jì),采用關(guān)鍵點(diǎn)模型姿態(tài)估計(jì)方法[7],該方法通過選取手部信息的關(guān)鍵點(diǎn)作為參數(shù)進(jìn)行姿態(tài)估計(jì),然后驅(qū)動虛擬手完成交互。本文選取21個(gè)關(guān)鍵點(diǎn),用線條進(jìn)行連接,構(gòu)成簡易虛擬骨架手模型。

      圖2 虛擬骨架手模型

      3.2 手勢設(shè)計(jì)

      結(jié)合沉浸式環(huán)境下的交互特點(diǎn),本文提供了4種基本操作(a)移動(b)旋轉(zhuǎn)(c)縮放(d)修改透明度,如圖3所示。前三個(gè)手勢的設(shè)計(jì)是參考Piumsomboon[8]等人的工作,他們對用戶在AR中的行為偏好和手勢進(jìn)行研究,并創(chuàng)建了一個(gè)用戶定義的手勢集。其同樣也適用于VR環(huán)境,但由于部分手勢過于復(fù)雜,Leap Motion也存在原始手部運(yùn)動捕捉不準(zhǔn)確等問題,因此對手勢標(biāo)準(zhǔn)進(jìn)行改進(jìn),增大手勢之間的特征差異,使其更易被Leap Motion識別[9]。根據(jù)Leap Motion SDK提供的手部跟蹤反饋數(shù)據(jù),設(shè)置相應(yīng)的閾值來識別不同的手勢。表1列出了手勢的功能和標(biāo)準(zhǔn),其中GrabStrength為抓握力度,pinchStrength為捏力度。

      表1 手勢的功能和標(biāo)準(zhǔn)

      圖3 操作手勢集

      3.3 手勢的操作規(guī)則

      我們定義了如下的交互流程:各個(gè)操作之間互斥執(zhí)行,每次只能執(zhí)行一種操作,當(dāng)某一操作被識別,手勢識別將進(jìn)入鎖定狀態(tài),不再識別其他手勢,直到當(dāng)前操作完成,手勢進(jìn)入釋放狀態(tài),才能開始識別下一個(gè)手勢。釋放狀態(tài)的手勢被定義為單手五指伸開或雙手五指伸開,此狀態(tài)不進(jìn)行任何操作。各手勢的具體操作定義如下:

      (1)位移操作

      位移操作的目的是改變圖像的位置,便于用戶調(diào)整合適的距離,其規(guī)則為右手握拳,為了保證位移操作的原子性,對于手的每一次移動,圖像只會按照手的最大位移偏差的方向移動,圖像的位移差量與手的實(shí)際位移差量同步。

      (2)旋轉(zhuǎn)操作

      旋轉(zhuǎn)操作的目的是改變圖像的方向,便于用戶多角度觀察圖像,其規(guī)則定義為雙手握拳,以左手作為旋轉(zhuǎn)中心點(diǎn),右手朝某一方向移動,圖像以某一軸作為旋轉(zhuǎn)軸旋轉(zhuǎn)。右手朝X軸移動,圖像平行于Z軸旋轉(zhuǎn);右手朝Y軸方向移動,圖像平行于X軸旋轉(zhuǎn);右手朝Z軸方向移動,圖像平行于Y軸旋轉(zhuǎn)。右手移動方向的確定與位移操作中的方法一致。旋轉(zhuǎn)過程為先將旋轉(zhuǎn)軸平移至坐標(biāo)軸,然后旋轉(zhuǎn),最后平移至原來的位置,即

      F'=F*T*R*T'

      其中T為平移操作,R為旋轉(zhuǎn)操作。

      (3)縮放操作

      縮放操作的目的是改變圖像的大小,其規(guī)則定義為雙手呈捏狀態(tài),當(dāng)兩手之間的距離增大時(shí),圖像將被放大,兩手距離減小時(shí)圖像將被縮小。

      (4)透明度修改

      由于醫(yī)學(xué)可視化中的傳遞函數(shù)修改操作過于復(fù)雜,我們只考慮對單一的傳遞函數(shù)值進(jìn)行修改。修改操作的手勢規(guī)則為右手食指伸直,其余手指彎曲,呈數(shù)字手勢“1“,當(dāng)手指開始上下按壓時(shí)開始修改圖像的透明度值。

      4 實(shí)驗(yàn)結(jié)果

      為驗(yàn)證本文提出的沉浸式環(huán)境下醫(yī)學(xué)可視化系統(tǒng)的可行性,我們建立了相應(yīng)的實(shí)驗(yàn)。本實(shí)驗(yàn)的硬件環(huán)境為操作系統(tǒng)為Windows 10、處理器為Intel Core i7 3.40GHz(16 GB內(nèi)存)和顯卡為NVIDIA GeForce GTX 750 Ti的 PC、Oculus Rift頭戴式顯示器(HMD)、Leap Motion體感交互控制器。軟件環(huán)境包括VS2013、VTK-8.0.1、CMake 3.7.0。實(shí)驗(yàn)數(shù)據(jù)為一組膝蓋CT掃描數(shù)據(jù),分辨率為 379×229×305。

      圖4展示了實(shí)驗(yàn)數(shù)據(jù)進(jìn)行體繪制后經(jīng)過平移操作、旋轉(zhuǎn)操作、縮放操作以及參數(shù)修改這四種操作的實(shí)現(xiàn)效果。其中(a)移動圖像:右手握拳,向右水平移動,圖像向右水平移動。(b)旋轉(zhuǎn)圖像:雙手握拳,左手放于旋轉(zhuǎn)中心,左手不動,右手向右移動,圖像繞Z軸旋轉(zhuǎn)。(c)縮放圖像:雙手呈捏狀態(tài),向內(nèi)拉伸,圖像縮小。(d)修改透明度:右手呈數(shù)字手勢“1”,做從上到下點(diǎn)擊動作,皮膚透明度被修改為0,皮膚變得不可見,呈現(xiàn)出骨頭。

      圖4 實(shí)驗(yàn)結(jié)果

      5 結(jié)語

      針對沉浸式下醫(yī)學(xué)可視化問題,本文提出了基于VTK、Oculus、Leap Motion的沉浸式醫(yī)學(xué)可視化系統(tǒng)框架,并定義符合人自然行為習(xí)慣的操作手勢集,極大地拓寬了在沉浸式虛擬環(huán)境中的交互方式,改善用戶交互體驗(yàn)。目前,傳統(tǒng)的醫(yī)學(xué)可視化的一些交互功能還未能實(shí)現(xiàn),例如切片操作、復(fù)雜傳遞函數(shù)修改等,此外手勢識別的精度也需要提高。下一步,我們將豐富沉浸式下醫(yī)學(xué)可視化的交互方式以及優(yōu)化手勢的定義和識別算法。

      [1]陳浩磊,鄒湘軍,陳燕,劉天湖.虛擬現(xiàn)實(shí)技術(shù)的最新發(fā)展與展望[J].中國科技論文在線,2011,6(1):1-5.

      [2]A.Febretti,A.Nishimoto,T.Thigpen,J.Talandis,L.Long,J.D.Pirtle,T.Peterka,A.Verlo,M.Brown,D.Plepys,D.Sandin,L.Renambot,A.Johnson,and J.Leigh.CAVE2:A Hybrid Reality Environment for Immersive Simulation and Information Analysis.in Proc.Eng.Reality Virtual Reality,Article 864903,2013.

      [3]Leap Motion,Inc.Leap Motion.https://www.leapmotion.com/

      [4]石玉.基于VTK的可視化技術(shù)研究與實(shí)現(xiàn)[M].西安建筑科技大學(xué),2009.5

      [5]唐振禹,呂曉琪,任國印.基于GPU加速的改進(jìn)的光線投射算法研究[J].現(xiàn)代電子技術(shù),2016,39(21):56-60.

      [6]Kitware.VTK.https://blog.kitware.com/using-virtual-reality-devices-with-vtk/.

      [7]胡弘,晁建剛,楊進(jìn)等.Leap Motion關(guān)鍵點(diǎn)模型手姿態(tài)估計(jì)方法[J].計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào),2015,27(7):1211-1216.

      [8]T.Piumsomboon,A.Clark,M.Billinghurst,and A.Cockburn.User Defined Gestures for Augmented Reality.In IFIP Conference on Human Computer Interaction.282-299.Springer,2013

      [9]Y.-j.Huang,T.Fujiwara,Y.-X.Lin,W.-C.Lin,K.-L.Ma.A Gesture System for Graph Visualization in Virtual Reality Environments.In IEEE Pacific Visualization Symposium.DOI:10.1109/PACIFICVIS.2017.8031577.

      猜你喜歡
      手勢右手繪制
      Art on coffee cups
      左手和右手
      挑戰(zhàn)!神秘手勢
      舉左手還是舉右手
      幸福家庭(2019年14期)2019-01-06 09:15:24
      V字手勢的由來
      左手和右手
      幼兒畫刊(2018年10期)2018-10-27 05:44:36
      放學(xué)后
      童話世界(2018年17期)2018-07-30 01:52:02
      勝利的手勢
      左手右手
      在轉(zhuǎn)變中繪制新藍(lán)圖
      合山市| 余干县| 那坡县| 杭州市| 龙海市| 上思县| 湖北省| 邹平县| 东乌珠穆沁旗| 扶余县| 香港 | 固阳县| 广南县| 辽中县| 嘉峪关市| 澄迈县| 武义县| 东乡族自治县| 金坛市| 淮阳县| 芷江| 淳化县| 灵山县| 湟源县| 博客| 响水县| 普宁市| 甘洛县| 岳池县| 铜陵市| 吴忠市| 延津县| 思茅市| 怀集县| 花垣县| 双桥区| 临汾市| 朔州市| 荣昌县| 嘉定区| 徐闻县|