虛擬現實VR一般指一種技術,它仿真真實和虛擬世界,使人類沉浸地融入一個三維空間,產生有立體感的視覺、聽覺、觸覺甚至嗅覺,在一個確定范圍內非常類似于真實世界。它有三個特征(3R):實時渲染( Real time)、真實空間(Real space)和真實交互(Real Interaction)。
數字化的巨浪把數字革命從我們的真實世界活動引入到了虛擬世界。除了通信、購物、學習、生產、游戲、交友外,人們發微信、玩網游、看3D影視等,消耗在虛擬世界的時間在逐步超過在真實世界的時間。
VR技術依靠其沉浸感把人類推高到虛擬環境的一個高境界。HMD ( Head Mounted Display,即頭戴式顯示器(俗稱頭盔),結合跟蹤系統使得沉浸容易實現,大大推動了虛擬現實的發展,應用紛紛涌現,令人眼花繚亂。隨著發展,AR和MR成了虛擬現實的新寵。
1、VR
關于VR有不同的定義:虛擬現實技術是一種可以創建和體驗虛擬世界的計算機仿真系統,它利用計算機生成一種模擬環境,是一種多源信息融合的、交互式的三維動態視景和實體行為的系統仿真使用戶沉浸到該環境中。
虛擬現實VR一般指一種技術,它仿真真實和虛擬世界,使人類沉浸地融入一個三維空間,產生有立體感的視覺、聽覺、觸覺甚至嗅覺,在一個確定范圍內非常類似于真實世界。它有三個特征(3R),即實時渲染( Real time)、真實空間(Real space)和真實交互(Real Interaction)。
幾十年來,VR在游戲、影視、專業學習與訓練、旅游、制造、軍事等各個方面極大地影響了人類。近年來,隨著HMD的普及和遠程通信技術的發展,距離已經不成問題,在真實環境中融入虛擬現實獲得了人們的青睞,從而誕生了增強現實(AR)。進一步,技術的發展使得真實環境和虛擬環境可以更好地融合,人類可以靈活地游走于虛、實環境,從而混合現實(MR)大大發展,以至于Microsoft號稱其Hololen、系統只聚焦于混合現實。
2、AR
什么是增強現實(AR),百度百科和維基百科說:增強現實技術是一種實時地計算攝影機影像的位置及角度并加上相應圖像、視頻、3D模型的技術,這種技術的目標是在屏幕上把虛擬世界套在現實世界并進行互動。
增強現實技術AR,以一種鮮活的直接或間接視點交互物理真實環境,其中的成分已獲“增強”,增強效果借助于計算機生成或真實世界傳感輸入,諸如聲音、視頻、圖形或GPS數據等。
顯然,VR本身是基于個人計算機誕生的,而增強現實和參與者的現實環境相關,因此可以說是面向移動計算的。
3、MR
混合現實MR有時也稱hybrid reality,它把真實世界和虛擬世界合成在一起,產生一個新的環境,使之形象化,物理和數字對象共存,實時的交互。混合現實不僅僅發生在真實世界或虛擬世界,而且把現實和虛擬現實融合到了一起,借助于沉浸技術包容了增強現實和增強虛擬。
圖1 從現實到虛擬和從虛擬到現實
如圖1所示,橫向兩端分別是真實(環境)和虛擬(環境),從左往右,對真實世界略有修改的狀態稱為放大現實(Amplified Reality)。放大現實意味著借用計算手段將物理對象的性質予以充實。AR是關于如何讓用戶感知真實,放大現實則是影響用戶感知真實。
這里,出現了新的中間狀態—Mediated reality(姑且稱為“間接現實”)。這里還出現了增強虛擬AV ( Augmented Virtuality,指的是從一個虛擬世界看真實世界。因這兩個已不常用,我們這里不再贅述。
我們關注的是其中的3點:VR,AR和MR。我們在廣義上把VR,AR和MR統稱為虛擬現實(VR)。下面就以VR統稱它們。
虛擬現實的歷史與由來:Virtual Reality這個詞是由美國計算機科學工作者Jaron Lanier在上世紀80年代末引入的。但是,追溯起來,虛擬現實的歷史要悠久得多。我們列出一張表,見表1。
表1 虛擬現實發展史
?
?
到了21世紀,計算設施和智能手機越來越強大、高清晰度顯示和3D圖像能力劇增,VR迅速發展。各種頭盔(如Google Cardboard , Samsung galaxy Gear , Oculus Rift , HTC vive)的問世,大幅推動了VR的發展。
云計算又使得基于云端的VR應用紛紛涌現,AR和MR成了主流。一些IT尤其是軟件界巨頭,如Google ,Apple和Microsoft開始競相大力布局AR和MR,構建自己的VR生態系統。
以Microsoft為例,2015年1月,微軟對Microsoft HoloLens混合現實設備的能力進行了發布和展示。它可以無縫地把全息對象集成到用戶世界,有時難以區分自己是在現實世界還是虛擬世界。微軟在做一個大布局,就像當年Apple開發智能手機iPhone一樣,開放接口,讓基于HoloLens平臺的新應用不停地由獨立開發者開發出來,共享這個大餅。
若干關鍵技術支持
虛擬現實涉及技術很多,限于篇幅,這里聚焦于其中的一部分。首先討論VR建模方法與技術,因為建模是虛擬現實的關鍵核心之一。
虛擬現實建模
虛擬現實建模即3D對象建模,這些對象將在真實世界和虛擬世界里交互。建模是VR的基礎之一,它包括一系列方法。
1、場景展現建模方法
虛擬現實系統首先需要一個場景及其展現,需要建立一個虛擬與真實融通的場景,并有效地展現。相關的建模問題包括:
1)基于深度區域圖像的建模:
(1)區域圖像獲取與登錄;
(2)3D模型表面重構;
(3)3D模型修補。
2)基于圖像的建模方法:
(1)基于單個圖像的幾何模型重構;
(2)采用立體視覺和結構光照方法幾何模型重構;
(3)使用先驗知識重構風景;
(4)基于輪廓線的幾何模型重構。
3)材質光照建模方法:
(1)體光照建模方法(Volume Illumination modelling method);
(2)活勝變化建模(Active alteration model;
(3)變密度傳播模型( Varying density emission model;
(4)材質分類與混合模型( Material classification&hybrid model)。
4)領域建模方法(Filed modelling method):
(1)矢量場(Vector field;
(2)標量場(Scalar field。
2、行為建模方法
虛擬現實環境中活動對象(如人、車)建模尤其是其行為建模也是VR的關鍵,其中,常用的方法有:
(1)自主對象的主要類型( Main types of autonomous objects)方法;
(2}基于有限狀態自動機的建模方法;
(3)面向建模方法的專家系統;
(4)基于智能代理的建模方法;
(5)聚合與分解模型 ( Aggregation and disaggregation model)。
3、虛實結合建模
AR和MR需要虛實結合的場景,虛實結合建模是一個大挑戰。涉及的建模問題包括:
(1)虛實合成場景中真實環境信息的獲取與表示;
(2)虛實間3D登錄和存儲方法;
(3)虛實間禍合處理方法;
(4)虛實合成方法。
4、基于物理的建模方法
1)剛體建模方法:
(1)剛體運動仿真;
(2)碰撞檢測;
(3)連接性和限制性建模。
2)柔性物體建模方法:
(1)離散顆粒建模;
(2)連續性建模方法;
(3)柔性物體碰撞檢測。
3)虛擬人體運動建模方法:
(1)運動數據采集(Acquisition of motion data)
(2)運動數據處理(Treatment of motion data)
(3)運動控制(Motion control)
計算機圖形學和計算機動畫
視覺是人感知世界的第一感覺,因此虛擬現實中涉及的一個關鍵技術是計算機圖形學和計算機動畫技術。
這里涉及的技術有數學問題、3維建模和影像渲染問題等。數學指的是坐標系統、向量和轉換矩陣,用于表示可視化、3D對象動畫、特征描述等。3D建模是借助于幾何描述為實際物體對象構建一個特定的3D形象;渲染借助于光照模型、燈光、色彩和紋理演繹3D模型。
大部分虛擬世界是動態的,隨時間變化的,物件在其中運動、旋轉和變化,因此需要計算機動畫技術的支持。計算機動畫的主要目標是合成期望的運動效果。
虛擬現實系統的體系結構
虛擬現實系統的體系結構也是一個技術難點。
目前常用的體系結構大多數由本地部署的,陸續地往基于云計算的發展。
一個模擬駕駛虛擬現實系統如圖2所示。
圖2 一個模擬駕駛系統
討論基于Microsoft的HoloLens開發MR系統,給出開發一個混合現實系統的必要軟、硬件要求:一臺PC,參數要求是:Windows 10 64bit ( Windows ,Mac OS or Linux ) ; 30GB可用硬盤空間;RAM 6 GB ; CPU處理能力。推薦Intel Core i5或Core i7處理器(或類似性能);GPU( Graphics Processing Unit)或圖形卡。
如果使用HoloLens仿真器,推薦的最小系統要求是:操作系統64bit Windows 10 Pro/Enterprise/Education Edition;CPU至少4核;8 GB RAM;BIOS必須支持和能夠基于硬件的虛擬化;二級地址轉換技術(SLAT)和基于硬件的數據執行保護(DEP ) ; DirectX 11.0及以上的GPU, WDDM 1.2或更高版的驅動。其他還有專用硬件要求:HoloLens , Emulator或其他類似硬件。建模則可以使用一些3D建模軟件,如Unity Technologies公司的Unity。
感知技術
1、視覺
計算機的顯示技術經歷了顯像管CRT,液晶LC D等時代,期間,等離子顯示也曾流行,但目前基本上有LCD占據主流。
虛擬現實的顯示目前有HMD頭盔、投影和桌面顯示三種主要方式,最受青睞的是HMD。
大部分HMD有一個或兩個帶透鏡的小顯示器,顯示單元可以使用CRT , LCD , LCos或OLED技術。顯示器有鏡頭和半透明反光鏡,封裝在一起。許多HMD配有耳機(或喇叭),以便視頻和音頻一起輸出。有的HMD是一個復雜的感知和計算系統,以Microsoft的HoloLens為例:它擁有3個處理器—CPU,GPU,HPU(holographic processing unit);Inertial Measurement Unit(IMU)—加速度傳感器、陀螺儀、磁力計;攝像機一一一5個可見波長攝像機、一個遠紅外攝像機;一個遠紅外激光投影器;麥克風等等。
為了發揮自己潛力,HMD和跟蹤器配合在一起,探測角度、方向甚至是位置的變化,以便在計算機里控制VR應用,按特定實踐渲染成虛擬場景。
在醫療外科應用中,還使用了X射線視像,和傳統視像合成在一起。傳統的HMD可以提供大多數沉浸感,但還有不足,主要如顯示粒度、視角大小等。
2、聽覺
聲音是我們日常生活體驗的一部分,從中獲取大量信息。聲音來自不同空間位置,我們生活中感知的是空間聲音。如何在虛擬環境里構建空間聲音一個重要挑戰。
聲音在虛擬顯示系統中扮演著不同角色,如:
1)補充信息:聲音可以提供較僅有視覺外補充的、更豐富的信息。少許的回聲和反響都可使人的大腦對關注對象的方位和距離,以及環境大小和背景有新的認識。
2)可供選擇的反饋:聲音反饋可以提升用戶接口(例如可以用聲音指示用戶命令的確認或選擇的對象)。
3)可供選擇的交互模式:聲音是一種有效的通信通道。語音識別和語音合成可以有效地提升VR效果。
涉及的問題如空間聲音的記錄與再生和空間聲音合成等。空間聲音合成包括處理聲音信號以生成逼真的聲音,描述真實聲音場景:聲源的位置、方位,室內還是曠野,等等。還有的問題如聲音渲染。聲音渲染大多用于為動畫生成同步聲道,為場景里的每個對象通過創建有特征音色的空間聲音。聲源可以通過采樣或合成實現。
VR里的聲音系統需要滿足如下需求:
1) 3D定位:精確地定位虛擬聲源。
2)音響仿真:音響空間仿真是再現真實環境的基本要素,要能反映出房間的大小,墻面的特點等。
3)速度和效能:在空間聲音的物理性質的精確仿真和聲音實時有效生成間往往存在矛盾,因此一般需要有個折衷。同時,實現虛擬環境還需要一定數目的虛擬聲源。大多數重要的聲音現象可以用計算機引擎仿真。值得注意的一個挑戰是如何在任意虛擬位置將聲源映射到一定數目的喇叭,而其實際位置又受到VR系統安裝時的物理設置所限制。
3、觸覺
目前的大多數VR應用提供視覺和聽覺反饋,較少涉及力反饋。但是,很多VR應用,迫切需要涉及觸覺和肌肉運動知覺,給人“接觸”虛擬物體的能力。觸摸是人的一種重要感覺,其中包括皮膚接觸和肌肉運動觸覺等。典型的觸覺感知設備和技術如:
1)數據手套(Data Gloves)手是人觸摸的一個主要輸入通道,是通過觸摸感知和操縱外部環境的主要接口。因此,手套形式的VR設備被大量設計和開發出來。這類手套里納入了大量的傳感器,用于獲取手指彎曲等身體數據。內置磁性或慣性的運動跟蹤器( motion tracker)用于獲取全方位的手套位置與旋轉數據。有的還有響應激勵設施,用于反映用戶在虛擬現實應用中的反應,例如在手指關節處內置可充氣氣囊,在用戶接觸虛擬物體時,彎曲手指或握拳時適時將小氣囊充氣,用戶感知氣囊壓力,虛擬環境逼真仿真出握到虛擬物體的感覺。市場上已有豐富的數據手套產品,如CyberGlove,SDT Data Glove。它們擁有豐富的傳感功能,藍牙接口,開發SDI等。
2)觸覺演繹和渲染觸覺演繹和渲染指的是通過用戶和虛擬物體的交互,計算和產生出響應力的過程。
一般有2類渲染算法:
(1) 3-DOF觸覺演繹:這類算法考慮和虛擬物體的單個接觸點場景,只有3個自由度(3 DOF),只能在3D空間里變化位置。
(2) 6-DOF觸覺演繹:這類算法以6自由度抓住的物體:解決位置和轉動問題,觸覺的反饋既有位置還有力矩。觸覺渲染接口也值得一提,觸覺渲染接口負責產生機械信號刺激人的肌肉和觸摸通道,讓人理解感知和在現實環境里作出響應動作。觸覺接口的目標是通過再生虛擬物體的物理特征便于操縱虛擬物體。一般可將這類接口分為被動觸覺接口、主動觸覺接口和混合觸覺接口三類。被動觸覺接口只能針對用戶運動施加阻力。主導觸覺接口使用激勵器,有提供能量的能力,這類激勵器可以是電動馬達、水力系統、壓電裝置等。混合觸覺接口則同時使用主動和被動激勵器。
虛擬現實系統工程與軟件框架
如何構建一個VR系統
開發和運維一個VR系統并不容易,需要許多領域的深度知識,涵蓋傳感和跟蹤技術、立體顯示、多模態交互和處理、計算機圖形學和幾何建模、動態和物理仿真、性能調節等。和其他軟件系統比較,新的特點是:(1)實時性性能要求;(2)對象外觀和物理性質建模問題,還要包括其行為特征;(3)根據不同任務和輸入/輸出設備,不同風格和形態的交互技術。同時VR面臨的是一個多目標決策的復雜問題,這些目標還很可能是矛盾的。
構建一個VR系統往往需要分步和迭代實現。第一步需要分析對虛擬體驗的需求,初略描述完整的流程和情景結構,包括時間和交互條件。還需要估算基本的輸入/輸出設施或必要的計算能力。在需求分析基礎上,需要對主要虛擬對象建模。要使用CAD軟件常常還需要建立幾何形態,開發人員使用圖形/VR庫函數(例程)對行為特征進行編程。虛擬對象和其他成分要組織起來構成一幕幕場景,編程后的場景要渲染,以高幀率(如20 Hz)顯示給用戶,保證對象動畫的平滑性。系統中常用特定的VR傳感器和顯示設備作為接口。通過一步一步的精細化,系統逐步到達用戶要求。
VR軟件應當迭代方式分步開發。最初的迭代應聚焦于常規視圖,如需求分析,描述對象和特征,定義分層、全局系統行為、用戶任務建模和總體系統體系。下一步更多涉及VR相關的視野,對性能目標、計算模塊逐步細化。我們可以簡述如下:
算法1 VR軟件開發算法
(1)腳本設計/需求分析
(2)對象/全局行為/系統結構“場景”建模
①系統概要設計/修改需求
②系統設計
③系統仿真與驗證,性能調節,過程分配
(3)性能/任務分解/交互模型/信息、功能、行為模型精細化
(4)實現呈現/特效
虛擬現實系統工程
VR/AR/MR開發是一種特殊的系統工程,我們這里稱為虛擬現實系統工程,對此,從3個方面討論:交互設計、軟件設計和實現、虛擬現實應用。
1、交互設計
學者提出了一個基于混合對象的集成框架:將MR中出現的對象稱為(虛/實)混合對象,分析混合對象的內涵特征和外延特征,從而給出了一些方法,如:
(1)一種迭代的用戶為中心的設計方法;
(2)嵌入式MR環境。
針對虛擬現實系統工程,還討論了若干特殊設計問題,如提出一個面向工程的軟硬件協調設計方法;在設計結構中,討論了基于模型的方法,使用傳統的基于模型轉換方法,從概念模型逐步演化和求精,最后實現軟件的方法。
2、生命周期
和所有軟件系統一樣,VR系統也有其生命周期。VR系統的生命周期管理也是一個挑戰。
應用
VR不只是在游戲娛樂中找到用武之地,其應用的領域很廣,主要應用在健康、教育、娛樂、文化、工業和軍事等領域。
健康科學
虛擬現實技術廣泛應用在健康領域,如外科、康復等。
1、虛擬外科
虛擬細幕)凳集擬現實應用的一個熱門課題,很多系統被開發出來。手術前的準備往往可以用一個VR系統來實現。這樣的系統讓外科醫生在一個虛擬環境里熟悉和改進技能,大大有利于真實手術過程。
2、虛擬康復和治療
虛擬現實也可用來基于物理治療的康復處理。用于康復的VR系統集成觸覺和先進傳感技術,識別運動模式、開發仿真任務(治療練習)和診斷。一般通過立體顯示、力反饋設備、現代傳感技術實現的。診斷則通過收集數據、導入醫院檢測和基于人工智能模型實現的。
3、心理治療
心理治療中使用虛擬現實也很有用。例如,對于孤獨癥兒童而言,直接將其置于人群中可能兒童會不適應。使用VR技術,讓他/她在虛擬人群中先熟悉起來,在逐步讓其真正融入人群會更有利。
4、虛擬解剖
虛擬解剖也是VR的典型應用,借助于VR技術,醫學學生可以很直觀地掌握解剖技術、了解人體結構,很好解決解剖對象短缺困境的問題。
工業制造業應用
計算機在產品開發中廣泛使用,計算機輔助設計(CAD)、計算機輔助制造(CAM)、計算機輔助裝配規劃(CAAP )等是產品生命周期里廣泛使用的計算機系統。VR技術的應用大大提高CAD/CAM處理能力。圖3展示VR在產品設計中的應用。
圖3 產品設計中的VR系統
在裝配和運維中虛擬現實技術也廣泛應用。1990年,波音公司啟動777飛機的研制工作,生產過程采用了大量全新的航電、飛控、起落架等設計,需要在飛機上安裝大量的長捆航空線束。這些航空線束僅擔負著傳統的輸配電功能,還擔負這各類系統的信息傳輸功能。線束的安裝位置必須準確快速,一方面保證各類線束之間彼此不產生干擾,另一方面也要避免被外界的信號干擾或者干擾外界的信號。
為了準確地安裝這些復雜的線束,1990年,波音的兩位工程師,Thomas Caudell和David Mizell,提出了使用一種抬頭透視裝置。利用這個裝置,安裝工人在工作過程中,按照他們現在所處的位置以及頭部朝向,系統依據數字CAD圖,自動生成虛擬圖像,疊加到工人們視野中的真實場景里。工人們可以方便地按照透視的虛擬線路指導,進行各類航空線束的安裝。通過這么一個裝置,可以輕而易舉地提高安裝線束的效率同時減少安裝線束的錯誤。增強現實這個詞也產生于此,描述這種在真實場景下,按照用戶看到的物體以及他們的位置和頭部朝向,自動疊加虛擬內容的這種技術。Thomas和David把他們的設想寫成論文,發表在1992年的第25屆系統科學國際會議上。
軍事應用
虛擬現實在軍事上的應用由來已久。表1中例舉的Ivan Sutherland的項目支持就來自美國國防部DARPA。戰場的態勢感知(Situation Awareness)是軍事上的重要問題。大量偵察到的信息,無論來自衛星、雷達、傳感設備,還是飛機偵察等,需要收集起來、融合到一起,借助于3D技術和虛擬現實技術就可以把戰場環境虛擬地再現出來,有利于指揮和作戰。
培訓也是虛擬現實技術在軍事上的重要應用。飛機駕駛、導彈操控、軍艦操作往往可以借助于VR技術部分實現,從而減少成本,避免新手初操作時容易發生的事故。其他還有:戰士的單兵作戰系統、飛行員的駕駛系統等。
VR的其他應用,如教育、文化、旅游、BIM等,讀者可能已很熟悉,限于篇幅,本文不再贅述。
趨勢、發展和挑戰
虛擬現實發展迅速,從資本市場看:2017年8月9日蜜蜂網發布《2017年上半年VR/AR投融資報告》稱:全球VR/AR行業投資總額超過21.63億美元。其中,國內VR/AR行業投資總額超過5.2億美元;國外投資總額超過16.4億美元。半年里,發生投資事件126起,其中國內為60起,國外為84起。這些投資主要集中在技術、硬件、游戲、平臺、教育、建筑和行業應用等領域。其中,技術、硬件、游戲是投資熱點。騰訊2016發布年全球首份AR行業報告:到2017年,AR市場將增長至52億美元。IDC發布報告:全球范圍內AR和VR市場的收入預計將在接下來四年內翻倍,甚至更多。所有在AR/VR產品和服務上的花費預計會從2017年的114億美元上漲至2021年的2150億美元,年增長率達到113.2%。面臨大好機會,我們也面臨新的挑戰。
首先,鑒于虛擬現實的3R要求,對處理器的要求很高。芯片(CPU,GPU和HPU)及其集成能力的需求十分迫切。感知技術/激勵技術包括硬件和軟件需要進一步的發展。這里,我們僅從軟件角度看,我們的機遇和挑戰包括:
(1) VR建模技術。前面描述了VR建模技術的需求,目前尚有很多工作需要去做。
(2) VR開發方法。和大家習慣的軟件開發有很大不同的是,VR是一個軟硬件融合對策系統,需要軟硬件協同設計和開發,相應的開發方法有待研究和深化。
(3)大數據處理能力。VR系統中涉及大量感知數據,實時采集、融合、處理和分析這些數據需要專門的算法。
(4)人工智能。傳統的VR演化為AR和MR,其關鍵在于大數據處理與AI技術,而面向AR和MR的算法與技術研究尚在初級階段。
(5)情景感知計算能力。作為一種計算形態,情景感知計算具有適應性、反應性、相應性、就位性、情景敏感性和環境導向性的特征,這就是VR系統所必須的更是需要突破的。
編輯:黃飛
?
評論
查看更多