999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Unity3d和Kinect的核電體感暢游系統的設計與應用

2020-06-03 10:52:50周建秋陳衛華楊正輝
儀器儀表用戶 2020年6期
關鍵詞:模型系統

周建秋,陳衛華,李 丹,楊正輝

(中廣核工程有限公司 核電安全監控技術與裝備國家重點實驗室,廣東 深圳 518172)

0 引言

圖1 系統架構Fig.1 System architecture

虛擬現實技術以其具有沉浸感、交互性和構想性等特性[1],在核電工程建設領域的需求和應用越來越廣泛,如今除設計板塊以外的施工、運行、培訓以及公關等領域都需要三維虛擬現實技術,針對具體應用場景提供各種相應的三維虛擬現實解決方案。虛擬核電暢游系統可以為用戶提供核電廠廠區、廠房、設備等虛擬場景等比例的沉浸式漫游瀏覽,通過體感交互,模擬操作場景中的動態元素,給用戶帶來身臨其境的體驗,是虛擬現實技術向核電現場和下游板塊延伸的一個載體。通過虛擬核電暢游系統,用戶不用進入現場就可以看到核電廠內部的樣貌。

在傳統的核電三維漫游系統中,存在模型精度不高且涵蓋面小,光影及烘焙效果不夠真實,場景加載和切換速度過慢,渲染幀率低等問題;同時用戶通過鼠標、鍵盤對虛擬三維場景游覽的傳統交互手段也缺乏一定趣味性,不能給用戶帶來真實有趣的體驗效果。為了給設計和其他板塊提供全局參考和驗證,優化電廠工作人員的培訓環境和培訓效果,進一步提高虛擬現實技術在核電工程和運行領域的應用水平,本文使用虛擬現實引擎Unity3d 搭建核電三維場景,結合Kinect 體感設備作為交互輸入手段,開發基于體感智能交互的虛擬核電暢游系統。

1 系統概述

1.1 設計思路

該系統通過虛擬現實引擎Unity3d 構建渲染逼真絢麗的核電多三維場景,采用動態數據載入技術降低核電場景切換載入等待時間,使用動態LOD 和遮擋剔除技術提高場景渲染幀率。通過Kinect 骨骼跟蹤技術采集用戶運動空間信息,根據獲取的骨骼點信息進行自定義姿勢與手勢設計,進而將捕捉到的用戶姿勢及手勢與自定義姿勢及手勢進行匹配判斷;并將匹配正確的姿勢或手勢映射到Unity3d 三維場景中,替代傳統鍵盤鼠標交互方式,從而實現體感暢游核電廠。

1.2 系統架構

圖2 三維核電場景Fig.2 3D Nuclear power scene

基于Kinect 體感交互的虛擬核電廠暢游系統架構自底向上分為數據支撐層、服務接口層、技術支撐層及功能應用層,如圖1 所示。

1)數據支撐層

該層次屬系統的功能應用基礎層。包括廠區、廠房、設備模型數據,直接為接口層提供數據支撐。

2)服務接口層

為系統提供各種服務接口,包括場景處理、Unity3d 與Kinect 連接通信接口以及人機交互接口。

3)技術支撐層

為應用業務層的正常運作提供保障,包括場景處理核心組件、Unity3d 與Kinect 通信中間件以及體感交互組件。

4)功能應用層

通過調用平臺業務支撐層中所提供的各類接口,實現各種具體的業務需求,并為用戶提供友好的人機操作界面。

2 Unity3d核電暢游系統設計關鍵技術

2.1 三維場景設計

本系統實施的三維模型場景數據與電廠實際環境一致。廠房外觀模型根據CAD 圖紙1:1 構建,廠房內部系統模型通過PDMS 布置設計平臺建立相應布置模型,經過特定的模型文件格式轉換流程,導出獲得待優化處理的粗模;然后,將粗模導入3D MAX 中進行優化處理,并進行賦予材質紋理;最后,將3D MAX 處理后的模型導入Unity3d,通過Enlighten 全局實時光照技術和Lightmap 光照貼圖烘焙技術對場景進行烘焙渲染,形成逼真絢麗效果的核電場景,如圖2 所示。

2.2 場景動態加載技術

進行虛擬核電暢游系統開發過程中,引入AssetBundle技術滿足運行過程中場景動態下載和加載,從而大大減少場景加載過程等待時間。一方面,通過AssetBundle 可以將程序所需各類資源打包壓縮并上傳至網絡資源服務器上;另一方面,在運行程序時可以從服務器上下載該資源,從而實現資源的動態加載,減輕客戶端數據容量。其工作流程如圖3 所示。

1)打包創建AssetBundle

圖3 AssetBundle工作流程Fig.3 AssetBundle Workflow

圖4 三維場景LOD技術效果Fig.4 Technical effect of 3D scene LOD

在Unity3d 中通過腳本進行壓縮打包創建滿足要求的AssetBundle 文件,AssetBundle 可以存儲任意一種Unity 引擎能夠識別的資源,例如模型、材質、紋理、音頻、動畫甚至場景。

2)上傳服務器

將創建好的AssetBundle 文件通過上傳工具將其上傳至服務器中,從而使客戶端運行程序時通過訪問服務器來獲取所需的資源。

3)下載AssetBundle

客戶端運行程序時根據實際需求,從服務器上將適當AssetBundle 下載到本地機器。

4)加載AssetBundle 中的資源

AssetBundle 文件下載完成,客戶端即可通過特定API來加載其所包含的資源。

通過AssetBundle 動態加載機制,將核電廠大數據量的三維場景模型動態打包放置于服務器,運行時動態讀取服務器等外部資源,實現數據動態載入,提高加載場景速度,減少等待時間。本文以國內某核電廠區為例進行測試對比,結果表明通過此方法可有效將場景數據加載速度提高50%以上,見表1。

2.3 LOD動態批量設置技術

細節層次顯示(LOD)技術,其功能相當于多重紋理貼圖。在屏幕中根據顯示模型大小的比例來判斷使用高或低層次的模型,即當模型遠離觀察者時精度越來越低。由于物體距離越遠,理論上觀察者不會感覺模型質量有所下降,從而可以極大減少對GPU 的傳輸數據和減少GPU 所需要的頂點計算,如圖4 所示。

表1 場景載入時間對比表Table 1 Comparison of scene loading time

圖5 LOD設置邏輯圖Fig.5 Logic diagram of LOD setting

根據上述,LOD 動態設置邏輯步驟如下,其邏輯流程如圖5 所示。

1)在Unity3d 的Update 中 利 用Vector3.Distance 實 時計算相機與模型物體的距離。

2)模型選定,設置高中低3 種精度模型。

3)判定距離,當距離較近(小于等于200m),設置高精度模型LOD0;當距離中等(大于200m,小于500m),設置中精度模型LOD1;當距離較遠(大于500m),設置低精度模型LOD2。

通過此動態批量設置LOD 屬性的方法,豐富了場景內容而且也使得場景渲染幀率提高了30%以上,同時利于場景的后期維護與更新。

3 Kinect體感暢游交互關鍵技術

3.1 Kinect體感器

圖6 體感接口框架Fig.6 Body sense interface framework

微軟公司于2010 年推出了Kinect 體感設備[2]。Kinect有3 個攝像頭,每秒更新30 幀圖像,其中中間的主攝像頭是RGB 彩色攝像頭,左右分別為紅外線發射器和紅外線CMOS 景深攝像頭[3]。它同時包含了即時動態捕捉、影像識別、麥克風輸入、語音識別、人臉識別等功能,通過Kinect 體驗者可以利用自身肢體動作或聲音去操控虛擬環境中的物體。2012 年微軟發布了Kinect for windows SDK,使得在windows 平臺上開發支持手勢和語音識別的應用程序成為現實。2014 年微軟發布了新一代的Kinect2 及配套開發SDK,其在硬件性能和軟件功能上都得到了大幅提高。

Unity3d 是目前與Kinect 結合比較緊密的一款三維引擎[4],其相關結合技術已經取得大量研究成果,例如卡耐基梅隆大學的KinectWrapper,OpenNI 提供的OpenNIUnityToolkit 等交互中間件[5]。通過Kinect 與Unity3d結合可以方便地開發Kinect 體感操作的3D 應用程序。

3.2 接口框架

本系統的體感交互開發的軟硬件接口框架如圖6 所示。

1)用戶輸入層

該層主要提供用戶的輸入動作或語音等信息并傳遞給Kinect 設備,為整個系統提供最自然的交流方式。

2)Kinect 交互層

首先,通過Kinect 體感器的攝像頭獲取彩色圖像和深度數據,通過麥克風陣列獲取音頻數據;然后,Kinect for windows 的設備驅動程序從硬件讀取原始數據,并根據彩色圖像和深度數據來進行人體骨骼跟蹤;最后,將捕獲的人體骨骼點數據傳遞給應用接口層。

3)應用接口層

圖7 Kinect骨骼跟蹤圖Fig.7 Kinect bone tracking chart

首先,根據虛擬核電暢游系統涉及的具體操作需求和相應算法建立對應的人體姿勢及手勢API 庫;其次,接受用戶的輸入動作并與建立的API 庫進行匹配驗證;最后,根據匹配對應的動作映射驅動核電三維場景的暢游操作。

3.3 Kinect骨骼跟蹤技術

骨骼追蹤技術是Kinect 的核心技術,它可以準確標定人體的20 個關鍵骨骼點,并能對20 個骨骼點的位置進行實時追蹤。具體過程是:首先,Kinect 發射紅外線,并探測紅外光反射,從而可以計算出市場范圍內每一個像素的深度值,即獲得深度數據,從深度數據中最先提取出來的是物體主體和形狀[6];然后,用這些形狀信息來匹配人體的各個部分;最后,計算匹配出來的各個關節在人體中的位置。通過Kinect 與Unity 的中間件將獲取的人體骨骼點數據信息與Unity3d 三維場景中的人物角色映射綁定,進而驅動人物模型,效果如圖7 所示。

3.4 Kinect自然人機交互技術

對于一個完美的體感交互應用來說,識別功能僅僅是基礎而已,更重要的是將多種識別組合起來,設計出適合不同應用的統一自然交互系統[7]。

針對本系統,主要涉及的操作包括控制角色前進及視角旋轉、模式切換、三維菜單顯示/滑動/點擊。根據實際操作需求,設計適合本系統應用的交互動作,見表2。

3.4.1 靜態姿勢識別技術

上述手臂伸直、左傾等交互操作屬于一定時間段內某種控制狀態的判斷(True or False),對于此類動作只需判斷對應骨骼點滿足條件即可。Kinect 靜態姿勢識別憑借其出色的穩定性,適合于此類狀態的判斷。

下面以左臂向前伸直表示角色前進為例簡要描述。左臂向前伸直可以根據left_hand(左手)、left_elbow(左肘)、left_shoulder(左肩)3 個骨骼點的相對位置關系進行判斷。如圖8 所示,P1 表示left_elbow 到left_hand 的三維向量,P2 表示left_elbow 到left_shoulder 的三維向量,根據幾何知識判斷向量p1 與向量p2 的夾角Angle 為180°即可認為手臂伸直,考慮到Kienct 識別的準確性,其設定夾角閾值為10。

表2 交互動作定義表Table 2 Definition of interaction action

圖8 手臂骨骼節點示意圖Fig.8 Schematic diagram of arm bone node

圖9 揮手手勢示意圖Fig.9 Schematic diagram of hand waving

3.4.2 動態手勢識別技術

除了上述靜態姿勢識別以外,如三維菜單滑動、菜單點選需要在一定時間內做出一系列連貫性動作,這種交互方式顯得更加自然,適用于持續交互過程[8]。本節以右手揮動進行三維菜單的滑動操作為例描述動態手勢識別的關鍵技術。圖9 為常用揮手手勢的示意圖。

從圖8 中可以觀察得出一些規律,第一個規律就是,手和手腕都是在肘部和肩部之上,這也是大多數揮手動作的特征,也是識別揮手這一手勢的第一個標準。第一幅圖展示了揮手這一姿勢的中間位置,如果用戶手臂改變了這種關系,前臂在垂直線左邊或者右邊,則認為這是該手勢的一個片段,即向左或向右揮動了。使用這兩點通過觀察得到的規律,可以通過算法建立算法準則,來識別揮動手勢。

算法通過計算手離開中間姿勢區域的次數。中間區域是一個以肘部為原點并給予一定范圍閾值的區域。算法需要用戶在一定的時間段內完成這個手勢,否則識別就會失敗。

整個揮手動作的算法設計流程如圖10 所示。

圖10 揮手手勢識別流程圖Fig.10 Flow chart of hand gesture recognition

第一個條件是驗證手和肘關節點是否處于追蹤狀態。如果這兩個關節點信息不可用,則重置追蹤狀態,否則進行下一步的驗證。如果姿勢持續時間超過閾值且還沒有進入到下一步驟,在姿勢追蹤超時,重置追蹤狀態。下一個驗證手部關節點是否在肘關節點之上,如果不是,則根據當前的追蹤狀態,揮手姿勢識別失敗。如果手部關節點在Y 軸上且高于肘部關節點,繼續判斷手在Y 軸上相對于肘關節的位置并更新手關節點位置。最后判斷定義的重復次數是否滿足,如果滿足條件,揮手手勢識別成功。

4 系統實現效果

圖11 動作映射效果示意圖Fig.11 Schematic diagram of action mapping effect

為了驗證系統的效果度、穩定性和可靠性,對設計的Kinect 姿勢及手勢動作與虛擬核電暢游系統結合,驗證了對應動作響應不同的交互操作的及時性與準確性,以及系統呈現的最終效果。體驗者執行不同動作驅動不同交互操作的效果示意如圖11 所示。

5 結論

結果表明,通過Unity3d 進行虛擬核電暢游系統的開發,其畫面效果和流暢度都達到預期效果,同時結合Kinect 的體感交互操作可以解放用戶對鼠標鍵盤的依賴。該系統的實現,為核電展廳內核電科普宣傳及人員培訓方面提供了新的思路,有較大的應用價值,已在國內兩大核電基地實施應用。

猜你喜歡
模型系統
一半模型
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
基于PowerPC+FPGA顯示系統
半沸制皂系統(下)
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
3D打印中的模型分割與打包
主站蜘蛛池模板: 99热这里只有精品国产99| 国产欧美日韩va另类在线播放| 亚洲精品成人福利在线电影| 伊人久久精品无码麻豆精品| a级毛片在线免费观看| 在线毛片免费| 欧美三级视频网站| 97在线观看视频免费| 91无码国产视频| 久久福利网| 99热这里只有精品免费| 精品少妇人妻av无码久久| 国产乱人免费视频| 日韩成人免费网站| 亚洲综合二区| 一级毛片免费不卡在线视频| 无码高清专区| 日本五区在线不卡精品| 波多野结衣在线一区二区| 中国一级特黄大片在线观看| 久久成人免费| a级高清毛片| 欧美日韩在线亚洲国产人| 视频国产精品丝袜第一页| 伊人蕉久影院| 国产超薄肉色丝袜网站| 91久久偷偷做嫩草影院| 国产日韩AV高潮在线| 精品国产一区91在线| 女人爽到高潮免费视频大全| 91久久偷偷做嫩草影院精品| 欧美www在线观看| 毛片免费在线| 一区二区三区四区精品视频| 毛片国产精品完整版| 国产jizz| 久久国产精品77777| 国产视频一二三区| 国产黑人在线| 国产精品专区第1页| 久草中文网| 制服丝袜在线视频香蕉| 国产福利微拍精品一区二区| 亚洲天堂精品视频| 青青草原国产一区二区| 国产高清不卡| 香蕉色综合| 91精品啪在线观看国产| 91福利免费视频| 国产成人精品18| 欧美成人亚洲综合精品欧美激情| 成人va亚洲va欧美天堂| 99在线观看免费视频| 亚洲IV视频免费在线光看| 亚洲日韩每日更新| 原味小视频在线www国产| 国产午夜精品一区二区三| 国产成人精品日本亚洲| 九色视频线上播放| 午夜精品久久久久久久99热下载| 国产日韩欧美精品区性色| 日韩123欧美字幕| 亚洲 日韩 激情 无码 中出| 亚洲第一国产综合| 99国产精品国产高清一区二区| 福利视频一区| 国产成人av大片在线播放| 中文字幕在线一区二区在线| 亚洲aaa视频| 爱色欧美亚洲综合图区| 91探花在线观看国产最新| 国产一级无码不卡视频| 91久久偷偷做嫩草影院电| 国产精品偷伦在线观看| 9cao视频精品| 欧美成人区| 色丁丁毛片在线观看| 日韩无码一二三区| 亚洲人成成无码网WWW| 日韩精品一区二区深田咏美| 亚洲国产黄色| 亚洲青涩在线|