虛擬現實技術導論 課件 梁曉輝 第5、6章 虛擬現實前沿性方向、Unity開發實例-VR電力仿真培訓系統_第1頁
虛擬現實技術導論 課件 梁曉輝 第5、6章 虛擬現實前沿性方向、Unity開發實例-VR電力仿真培訓系統_第2頁
虛擬現實技術導論 課件 梁曉輝 第5、6章 虛擬現實前沿性方向、Unity開發實例-VR電力仿真培訓系統_第3頁
虛擬現實技術導論 課件 梁曉輝 第5、6章 虛擬現實前沿性方向、Unity開發實例-VR電力仿真培訓系統_第4頁
虛擬現實技術導論 課件 梁曉輝 第5、6章 虛擬現實前沿性方向、Unity開發實例-VR電力仿真培訓系統_第5頁
已閱讀5頁,還剩86頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

虛擬現實技術導論第5章虛擬現實前沿性方向本講大綱6.1增強現實技術6.2智能化建模與渲染方法6.3智能化建模例——基于深度學習的流體建模6.4智能化渲染例——三維積云的可微渲染5.1增強現實技術虛擬現實的三個構成要素視/聽/觸/味/嗅位置/姿態/操作用戶/操作者真實環境虛擬環境化身化身化身真實環境現實世界/對象

建模增強現實的關鍵技術三維注冊——真實、虛擬空間配準虛實融合——真實、虛擬空間合成人機交互——顯示、界面增強現實系統一個典型的AR系統由虛擬場景發生器、透視式頭盔顯示器、實現用戶觀察視線跟蹤的頭部方位跟蹤設備、虛擬場景與真實場景對準的跟蹤定位設備和交互設備構成。視頻透射式頭盔原理視頻透射式頭盔顯示器的優點包括:合成景象的靈活性較寬的視野時間延時的匹配光強度的匹配等。光學透射式頭盔原理光學透視式頭盔顯示器的優點主要體現在:結構簡單價格較便宜分辨率較高較為安全不能存在視點的偏差等。跟蹤注冊技術基于跟蹤器跟蹤用戶頭部的方位:主要采用的跟蹤器包括電磁跟蹤器、慣性跟蹤器、測距儀、超聲波定位儀、全球定位系統(簡稱GPS)等。混合跟蹤注冊:指采用不同種類的跟蹤設備,取長補短共同完成增強現實系統的注冊任務。目前常采用的硬件跟蹤設備包括機械、電磁、光電、慣性跟蹤器、超聲波、陀螺儀、GPS等。混合跟蹤注冊:指采用不同種類的跟蹤設備,取長補短共同完成增強現實系統的注冊任務。目前常采用的硬件跟蹤設備包括機械、電磁、光電、慣性跟蹤器、超聲波、陀螺儀、GPS等。增強現實技術與虛擬現實技術的關系虛擬現實綜合了建模技術、渲染技術、人機交互技術、傳感技術等,使得用戶從感官效果上沉浸在一個虛擬環境中。增強現實則主要借助顯示技術、人機交互技術、傳感技術和計算機視覺技術等將計算機生成的虛擬環境或物體與用戶周圍的現實環境融為一體,使用戶從感官效果上分辨不出虛擬和真實的部分。增強現實技術與虛擬現實技術的關系虛擬現實增強現實沉浸感隔離現實環境不僅不隔離現實環境,還強調用戶在現實環境的存在感,并努力維持用戶視聽覺等感官效果的不變形注冊無AR技術相較而言要求較低,蓋因其主要是在充分利用周圍業已存在的真實環境的基礎上擴充一些附加信息,這就大大降低了對計算能力的要求系統計算能力較高AR技術相較而言要求較低,蓋因其主要是在充分利用周圍業已存在的真實環境的基礎上擴充一些附加信息,這就大大降低了對計算能力的要求增強現實技術的應用AR技術主要利用附加信息去增強使用者對真實世界的感官認識。其應用側重于輔助教學與培訓、輔助醫療研究與解剖訓練、輔助軍事偵察、輔助精密儀器制造與維修、遠程機器人控制等領域。5.2智能化建模與渲染方法智能化建模智能化建模在CAD/CAE以及其他相關工業領域一直是研究熱點。通過參數化或者非參數化的方法構造虛擬對象的外觀模型,同時定義其表面材質等光度屬性,為后續渲染提供數據基礎。近年來,隨著深度學習從二維圖像域拓展到三維空間域,基于學習的建模方法正成為工業界和學術界關心的話題。智能化形狀建模顯式表示方法:一般是指將虛擬對象表示為點云或多邊形網格等形式。其中,多視角圖像是三維幾何模型的一種有效表示方式。利用多視角深度圖像或利用多視角圖像生成虛擬對象的外表面,可以有效地實現虛擬對象幾何模型的重建。隱式表示方法:基于圖像的視點合成是構建虛擬場景的經典技術之一。隨著神經網絡的發展,將神經網絡作為幾何模型的隱函數,可以達到不同的應用目的,如新視點生成、虛擬視角生成以及重光照等。智能化物理建模人體運動建模:主要是使用神經網絡來進行運動數據幀的合成。柔性體建模:主要思想是利用深度學習進行虛擬對象的變形流體建模:隨著人工智能技術的深入發展,深度神經網絡模型以其強大的數據學習能力,被廣泛應用至計算機圖像分類、語音識別、流體細節合成等研究領域。其穩定的、高效的計算模式,為計算機流體模擬提供了一種新的問題解決途徑。智能化渲染虛擬場景真實感繪制是通過計算機模擬光線在3D場景中傳播的物理過程,將設計人員創作的由視點、光源、三維幾何、動畫、材質等組成的鏡頭轉化為高度真實感的連續幀畫面。全局光照模擬了光線在場景中傳播的過程,對繪制真實感具有至關重要的作用。計算全局光照的核心在于繪制方程,該方程計算光束和三維物體的交互過程中的能量傳遞,具有全局性、遞歸性等特點,可以使整個虛擬場景在光照傳播過程中保持能量守恒。智能化全局光照計算全局光照算法同時考慮了直接來自光源的光線(直接光照)和經過其他表面反射的光線(間接光照)。使用全局光照算法可以模擬現實生活中的大部分光照效果,如陰影、環境遮擋、反射、焦散、次級表面散射等現象。然而,全局光照計算十分耗時,通過使用機器學習方法加速計算是目前的研究熱點。智能化全局光照計算——基于預計算輻照度的間接光照計算在使用RRF進行實時繪制時首先進行直接光照的計算,并在計算直接光照的同時,獲取每個表面點的屬性然后由基于神經網絡的RRF模型計算得到每個表面點的間接光照信息,并與計算的直接光照信息進行合成,得到最終的全局光照結果。該方法可以實時渲染出帶有全局光照效果的512×512分辨率的結果圖片,并保持每秒渲染30幀以上的速度,可有效渲染出包括焦散、高頻的反射、間接硬陰影等復雜的光照效果。但是該方法只適用于靜態幾何場景,允許光源和視點變化。智能化全局光照計算——基于學習的路徑指導傳統路徑跟蹤或者雙向路徑跟蹤方法,在進行BSDF或者光源采樣時,通常只考慮到局部的信息,而沒有考慮到全局的信息,因此導致在復雜光路時,得到一些對整體貢獻較少的路徑,從而使得繪制噪聲較大。路徑指導則是通過一定的方式來獲取光路中的更多全局信息,并且根據這些信息來指導重要性采樣,從而達到減少噪聲的目的。使用機器學習或統計學習方法優化光路傳輸也是實現快速計算全局光照效果的途徑之一。智能化全局光照計算——光照采樣算法的優化利用大規模數據集,針對首次反彈入射輻射場的自適應采樣和重建訓練神經網絡,可以有效優化現有光照采樣算法的時間性能。例如,基于深度強化學習(DRL)的質量網絡(Q-network)預測和指導自適應采樣過程,利用基于4D卷積神經網絡的重建網絡(R-network)重構4D空間中的入射輻射場。智能化參與性介質繪制在真實場景中,隨時可見各式各樣的參與性介質(如蠟燭,牛奶,橄欖油,煙霧等),光線在參與介質中傳遞時會被吸收或者發生散射。為了模擬介質中的散射現象,需要花費大量計算時間。近年來,有學者提出使用蒙特卡洛積分和神經網絡相結合來高效地繪制大氣云(radiance-predictingneuralnetworks,RPNN)。該方法從大量樣本中提取采樣點對應的相關著色位置和光源的幾何信息,再將這些信息輸入深度神經網絡中,以得到最后的輻射度。5.3智能化建模例——基于深度學習的流體建模算法思想速度場與壓力場在流體仿真的過程中驅動流體的運動,而密度場則更加容易觀測以及被人類感知。使用基于學習的流體建模方法時,直接擬合密度場較為困難,蓋因流體作為不定形物體,不存在較強的形狀先驗知識。使用散度場作為輸入,利用CNN擬合壓力場的方法進行流體建模。整個算法大致分為流體建模數據集的構建,以及CNN流體求解模型的構建與訓練等兩部分。流體建模主要圍繞三大變量進行:密度場、速度場、壓力場。算法實現使用隨機的小波湍流噪聲(waveletturbulentnoise)初始化空間中的速度場;在空間中隨機放置的基本幾何體與真實世界中常見的物體作為障礙物;在仿真時在空間中隨機添加局部噪聲;在仿真空間中的隨機位置添加隨機大小,隨機強度并且發射時間隨機的速度源以增加仿真空間的擾動。①流體建模數據集的構建算法實現使用0.125s作為時間迭代步長總共進行256幀的仿真,每8幀記錄一次當前的流體狀態。記錄的信息包括:流體當前狀態的速度場、壓力場、空間障礙物的信息。對于2D仿真數據生成,設置仿真空間分辨率為256×256,一共生成320個流體仿真場景,每個場景64個訓練數據,總大小為26GB。對于3D仿真數據生成,設置仿真空間分辨率為64×64×64,一共生成320個流體仿真場景,每個場景64個訓練數據,總大小為450GB。②流體仿真數據生成算法實現

③基于CNN的流體建模算法實現③基于CNN的流體建模算法實現④網格計算過程計算輸入的散度場????_??????的標準差,并根據標準差將輸入的散度場進行歸一化;將輸入的歸一化散度場以及虛擬場景中障礙物的標記矩陣分別進行2倍與4倍的下采樣,并使用共享參數的卷積子網絡convsubnet1對其進行處理;為對多尺度網絡的輸出分別進行1倍,2倍,4倍的上采樣到輸入的大小并通過第二個子卷積網絡convsubnet2得到歸一化的輸出結果;對歸一化的壓力場輸出結果使用網絡輸入時歸一化參數進行還原,獲得與輸入量級相匹配的壓力場預測結果。算法實現⑤優化目標

算法實現⑥訓練設置對于2D流體建模網絡訓練,使用batchsize為64,并對數據集進行200輪訓練,學習速率設置為5e-5,訓練時運行網絡自糾偏算法的概率為0.9。對于邊界條件位置的損失函數加權值k設置為2。流體的迭代步長為0.1s,并在128×128的空間中進行訓練。對于3D流體建模網絡的訓練,仿真訓練的分辨率降為64×64×64,并且batchsize設置為32。網絡學習率設置為5e-3,其余參數不變。實驗結果——2D流體建模結果展示與分析下圖分別展示了使用傳統PCG流體求解器和使用本節算法,在相同仿真條件下對流體的建模結果。第一行的三幅子圖分別展示了密度場,x方向速度場,y方向速度場圖像。第二行的兩幅子圖分別是壓力場圖與散度場圖。實驗結果——2D流體建模結果展示與分析下圖展示了在遇到正方形障礙物之后的流體建模結果。實驗結果——3D流體建模結果展示與分析實驗結果——建模效率基于深度學習的流體建模的最大優勢在于時間效率。下表展示了基于CNN的方法與傳統PCG流體求解的速度對比。基于深度學習的方法在2D與3D建模任務中相比傳統方法都取得了巨大的進步建模維度PCG流體求解器建模總時間深度學習方法建模總時間2D(128×128)0.04s(25fps)0.006s(180fps)3D(64×64×64)0.3s(3fps)0.0125s(80fps)5.4智能化渲染例——三維積云的可微渲染積云渲染輻射傳輸方程空氣中特定粒子的物理屬性決定了它與光線的相互作用效果,不同的粒子作用效果也不同。通常,光線在云層中發生常見的物理作用主要有三種:吸收、外散射和內散射。積云渲染輻射傳輸方程積云渲染輻射傳輸方程光子穿過云層時,它的能量會被吸收一部分,這部分被吸收的能量沿著ω方向的變化量在單位距離的微分形式如下所示:

積云渲染輻射傳輸方程積云渲染模型在單位路徑z下的微分形式:將某一點的微分形式轉化成路徑的積分形式:積云渲染輻射傳輸方程一束光線經過參與性介質,從??_??處射出,經過上述的物理作用之后射出的輻射強度遵循比爾定律:

算法思想可微渲染的本質是傳統圖形渲染的逆向過程,其核心任務是構建渲染圖像與模型參數之間的關系算法實現多次前向散射過程如所示。給定初始渲染參數,首先通過預計算得到逐網格的散射強度計算量,然后利用光線行進法進行逐像素的強度計算,最終得到渲染圖像。①積云的正向渲染算法實現計算單次散射項。單次散射模擬光源經過介質在單一方向上的散射①積云的正向渲染算法實現計算多次散射項。利用輻射傳輸的擴散理論,可將光線的多次前向散射強度表示為泰勒展開式的前兩項:①積云的正向渲染算法實現光線行進法。對積云渲染任務,首先定義了一個固定體積的積云密度場,然后利用從視點出的光線Ray與包圍盒求交點,前交點和后交點分別相交于體積的前后兩側,路徑為兩個交點之間的距離,按照固定步長一步一步往前計算亮度,并將亮度進行累加。①積云的正向渲染算法實現逆向渲染的目標是通過渲染得到的圖像推斷原始三維場景的幾何、光照、紋理、材質、運動等信息。對積云這種參與介質的渲染,主要需要推斷的參數包括光源強度、光源顏色、介質密度、吸收項系數、散射項系數等5個。這也是正向過程渲染中需要的初始參數。可導性、連續性是可微渲染的必要條件,算法的關鍵就在于如何解決體渲染的不可導問題。②積云的逆向渲染算法實現

②積云的逆向渲染算法實現單次散射項的導數求解多次散射項的導數求解②積云的逆向渲染算法實現下式表示了渲染參數的優化過程:③優化目標

算法實現算法渲染的三維體數據規模為64×64×96,渲染出的二維圖像的分辨率為512×512,每個實驗優化迭代次數為100次。本文使用的煙霧數據是基于物理的模擬生成的,其余模型來自斯坦福掃描模型,并使用Binvox工具轉換為體素,并生成三維密度場數據。④實驗設置實驗結果①正向渲染可以看出,所設計的正向渲染模塊能夠較好地保留細節信息。實驗結果①正向渲染可以看出,除第一次求解需要5.3s外,平均求解速度為1.83s。相比基于蒙特卡洛估計的體渲染,渲染效率得到顯著提升。實驗結果②逆向渲染給定目標圖像后,所設計的逆向渲染經過100輪次的迭代,已經可以很好地逼近真實的圖像。逆向渲染對于場景參數優化的效率也較高,平均100輪次迭代之后基本可以得到最終優化結果,總優化時間在100秒以內。虛擬現實技術導論第6章Unity開發實例——VR電力仿真培訓系統本講大綱6.1Unity簡介6.2

VR電力仿真培訓系統設計6.3

VR電力仿真培訓系統實現6.1Unity簡介Unity3D優勢及特點Unity一次開發即可針對iPhone、Android、Web、Windows、MacOSX、Wii、PS3、XBox360的平臺直接輸出產品,而無需進行二次開發和移植。Unity系統概述Unity系統組成系統由應用層、展示層、業務層、數據設計、數據層以及基礎層6部分組成。Unity開發流程Unity開發特點高逼真感渲染引擎延遲渲染內置shader統一的著色系統全屏后處理效果表面著色渲染底層接管控制動態貼圖融合高效的光影圖、創建和控制全局照明、天空燈、以及自定義的發光材質逼真的自然景觀。地形、樹木、灌木、巖石物理引擎NVIDIA?PhysX?次世代物理引擎,生動真實的模擬現實物理現象布料模擬互動性質的布皮膚性質的布柔體物理體剛體物理體關節模擬車輪運動模擬開發方式Unity3D操作極為簡單、直觀,操作基本上和主流的3D軟件一致。在程序方面使用自帶的MoNoDevelop編輯器,使用C#或者JavaScript等高級語言實現腳本功能,使作為開發者來說無需掌握底層復雜的腳本語言。即使不使用腳本開發也能快速的開發出具有高性能、高品質的游戲以及虛擬現實的產品。工程向導面板工程文件:Unity工程文件中存儲了我們開發游戲所需要的資源、場景等相關資源。當我們打開Unity的時候,會出現ProjectWizad面板。這里是要求我們創建一個工程文件。工程文件存儲地址需要導入的資源包Unity編輯器結構編輯器中的5大視圖:Project視圖、Hierarchy視圖、Inspector視圖、Sence視圖Game視圖以及標題欄、菜單欄和工具欄。Sence視圖Game視圖Hierarchy視圖Project視圖Inspector視圖標題欄菜單欄工具欄Unity腳本Unity支持:JavaScript,C#和PythonBOO。這三種語言的運行效率一樣的快速。并且都支持數據庫,正則表達式,XML,網絡函數庫的開發。腳本與Unity中其他組件相同,都必須綁定在游戲對象中才能執行它的生命周期。Unity中默認使用的是MonoDevelop腳本編輯器,同時我們也可以選擇其他常用的腳本編輯器進行腳本編寫。例如:MicrosoftVisualStudio系列等。選擇Edit-Preferences-ExternalTools,點擊Browes即可選擇其他腳本編輯器。C#面向對象編程的思想更加符合unity引擎原理并且與大多流行插件、硬件可以進行完美對接。所以在日常開發過程中大多使用C#語言進行開發。接下來我們將以C#語言對unity腳本進行講解。基于繪制引擎的VR應用程序(漫游)構造過程場景數據庫模型加載模型控制面及控制參數非碰撞實體表面定義場景調度

碰撞檢測地形匹配實體操縱輸入映射與解釋

狀態設置

視點控制

交互設計

二維地圖

特殊效果外部輸入DOF實體約束

系統狀態控制機制外部輸入(包括各種傳感器輸入及可能的網絡命令等)狀態設置:用于定制漫游系統,在漫游過程中打開/關閉漫游引擎提供的某些功能,包括設置特殊效果以及是否使用二維地圖向導。視點控制:控制漫游系統中觀察相機的運動,在相機運動的過程中,完成場景調度控制、碰撞檢測與響應、地形匹配等功能。交互設計:在漫游過程中進行簡單的虛擬場景動態交互設計。實體操縱:對虛擬環境中的實體實施選擇、操縱。如開/關門窗等。漫游引擎的狀態機制通用漫游框架中定義的絕大多數功能都被定義為可選擇項,也就是說,漫游者可以根據自己的需要打開或關閉某些功能,如開/關霧化效果、開/關二維地圖、決定是否進行碰撞檢測、選擇透明處理方式等。另一方面,漫游者還可以對漫游系統的初始狀態進行設置,比如觀察相機的初始位置、相機行進的速度步長、轉角的步長、系統模擬的氣候條件(晴、多云、陰)、時段(早晨、中午、傍晚)等。輸入設備映射鍵盤鼠標游戲桿步行器傳感器用戶控制指令視點控制相機運動參數映射解釋視點控制模型walker_heighteye_height行走相機觀察相機v_p1v_p0v_p2w_p1w_p0w_p2step-step

漫游引擎的狀態機制場景調度控制碰撞檢測與響應地形匹配技術二維地圖漫游向導依照計算機圖形學正投影的原理,將三維場景模型“壓縮”到一個平面上,然后運用相機資源,實現地圖的顯示、縮放以及二維與三維視點的同步運動基于霧化效果的恒定幀頻技術6.2VR電力仿真培訓系統設計應用層及展示層應用層采用主流PC主機和HTC或HP主流VR頭顯產品。主要完成以下功能:培訓人員通過學習模式觀看視頻、文檔資料學習電力知識,通過訓練模式在VR虛擬場景中進行電力操作培訓,同時具有對培訓人員進行電力知識及操作考核的功能,所有信息均載入數據庫,以方便管理員及教練實時查詢信息并管理。展示層采用Unity渲染管線技術和PBR(PhysicallyBasedRendering)物理渲染流程,構建一種高度沉浸式的體驗,使培訓人員置身于虛擬環境中進行虛擬訓練。業務層和數據表單設計業務層由以下6個模塊構成。教員端。供教練或培訓導師使用,用于創建、管理和監控培訓課程;學員端。供學員學習、培訓、考試使用;VR培訓端。VR培訓的主要內容和學習體驗;VR考試端。通過VR考試評估學員的知識和技能;系統后臺。用于管理整個平臺的運行和配置;系統日志。用于記錄系統操作、用戶活動和錯誤日志。數據層和基礎層數據層采用MySQL數據庫以及UnityRPC(RemoteProcedureCall)技術。MySQL是一種流行的關系型數據庫管理系統,適用于中小規模應用程序和項目。Unity中,RPC允許不同的游戲對象在網絡上進行通信和交互。通過使用Unity的網絡功能,可以在多個客戶端之間發送RPC消息。基礎層采用SteamVR和VRTK(VirtualRealityToolkit)工具包。SteamVR是由ValveCorporation開發,支持多種虛擬現實頭顯和控制器。VRTK是使用Unity進行VR交互開發的工具,它包含交互組件、導航工具、事件系統和多平臺支持。Unity資源主要包括UI、場景、模型、貼圖、材質、動畫、特效、字體等。場景與模型首先,使用3D建模工具(如Blender、Maya、3dsMax等)創建場景,在建模前應設置好單位,確定模型比例,同時場景搭建還應考慮燈光、陰影效果、渲染管線等因素,使場景更真實。其次,創建斗臂車、檢測儀、絕緣手套等需要進行交互的3D模型,模型應包括所有必要的部件和細節,模型的紋理、貼圖和材質需符合制作規范,參考現實模型,以便在虛擬現實中逼真地展示。動畫創建斗臂車控制動畫,以實現其運動和操作。使用3D動畫

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論