崔海青,吳曉東,魏士皓
(中國民航大學 電子信息與自動化學院,天津 300300)
近年來,增強現實技術有著巨大進步,有越來越多的行業機構和企業開始進行增強現實技術的實際應用。微軟公司在2015年推出跨時代的增強現實產品HoloLens,為增強現實的應用提供了有力的硬件支持。
機務教學中,學生不僅要學習大量的理論知識,還要對飛機的結構、拆裝、維修進行練習和培訓。由于技術和經濟上的制約,不能大規模地在真實飛機上進行培訓,而民航客機又是一個復雜的集合體。學生的數量和可供使用的教學資源存在矛盾,難以保證學員的練習時間,對相關的現象缺乏實際的操作經歷,一定程度上打擊了學生學習的積極性。如何讓學生進行足夠的操作練習以及對學生進行直觀的講解,讓學生對民航飛機有全面而整體的認識是一個亟待解決的問題。
本文基于Hololens設備,開發了一套數字化飛機增強現實教學平臺,能夠為學生提供較為直觀的增強現實教學訓練環境,提升教學效果的同時,也能一定程度上提高學生學習的積極性。
1.系統功能。HoloLens是由微軟開發的一款便攜式頭戴全息計算機設備。該裝置的前部裝有定制的傳感器和相關硬件,包括處理器、攝像機和微型投影設備,能夠直接將圖像投影到人眼之中,形成全息影像,并提供手勢交互功能,讓用戶能夠與數字全息影像進行互動。將其應用在虛擬教學中,不僅可以做到寓教于樂,而且可以為學生360°展示飛機結構,并且可以展示飛機的任意剖面圖解,這些內容即便是在真實的飛機中也是難以展現的。在實際教學中,教師可以根據自己的教學內容,創建相應的三維教學資源,這些教學資源可以根據分類,安排在不同的教學演示模塊下,學生通過HoloLens的交互功能,進入不同的教學模塊。這樣能夠更好地結合不同專業教師的專業技能,為學生提供更準確的教學信息。發動機3D模型與現實世界的融合視景,如圖1所示。

圖1 發動機增強現實視景圖
通過HoloLens,學生可以在現實場景之上創建全息場景和物體。全息場景還可以配合學生的手勢、凝視以及語音來進行相應的操作,使學生可以直接與創建的物體進行交互。
2.系統結構。基于HoloLens的數字化飛機增強現實教學平臺的系統結構如圖2所示。平臺的教學資源由相關專業的教師提供,通過3DS Max進行建模。建立好的模型導入Unity3D引擎中,結合微軟官方提供的混合現實工具包Mixed Reality Toolkit(MRTK),能夠快速開發針對微軟HoloLens混合現實的應用程序。開發完成的工程,可以部署到HoloLens平臺上。通過HoloLens的同步定位與地圖構建(SLAM)功能進行環境建模,結合用戶操作,完成增強現實的教學展示。

圖2 飛機增強現實教學平臺結構
雖然HoloLens的應用潛力巨大,但是當前可利用的資源還是很貧乏的,在民航專業領域的資源就更少了。如果想要大規模地應用于民航教育領域,教學資源問題是急需解決的一個問題,需要建立全息的3D飛機數字化模型。本文主要介紹基于3DS Max對飛機各個模塊進行建模。由于飛機的結構組件眾多,復雜程度也十分高,三維飛機模型構造十分復雜,信息量巨大,建立精細模型的工作量太大,同時模型對計算機性能要求很高,不能直接加載到HoloLens中去。
為了解決這個問題,需要在滿足教學要求的前提下對飛機模型進行適當的優化,簡化不必要的細節,只對必要的飛機結構進行精細建模,并對數據進行壓縮。對模型的優化主要采用LOD(Levels of Detail)技術,即多細節層次,包括生成、選擇及切換三個主要部分,根據模型在當前環境所處的位置以及重要性,來決定對物體渲染的資源的分配,距離攝影機近的重要部分采用較高的顯示精度,以達到較好的現實效果;同樣的距離,攝像機較遠同時重要性較低的部分采用較低的顯示精度,以節約計算資源,提高操作的平滑度。
模型面數的優化包括模型面的精簡、刪除。模型片面的精簡通過降低模型的段數來降低模型的面數,柱面通過降低高度段數和截面的精簡達到面數的精簡,曲線形狀模型面數的精簡通過調整材質的偏移值、角度等的參數,適度減少形狀步幅和路徑步幅參數,完成曲線形狀模型面的精簡。刪除模型面包括刪除模型之間的重疊面,刪除模型底部看不見的面,刪除物體之間相交的面。

圖3 3Ds Max建模及優化
通過LOD和對模型減面,能夠優化模型對硬件資源的消耗,有效提高模型在HoloLens上運行的效率和穩定性。
微軟和Unity3D為HoloLens的開發提供了相關的工具包和開發環境,方便開發者開發基于HoloLens的應用。HoloLens上的輸入交互與其他平臺不同,主要是通過三個非傳統交互方式:凝視、手勢和語音,進行交互。使用微軟官方提供的Mixed Reality Toolkit工具包,封裝了很多常用的組件及腳本,能夠方便地開發HoloLens設備的應用程序。MRTK工具包可以在Github上進行下載,將下載的unitypackage文件導入正在開發的HoloLens項目中,即可在項目中進行調用。如果沒有HoloLens設備,也可通過Windows系統的Hyper-V功能,安裝HoloLens模擬器進行開發。
Unity支持幾乎所有的主流三維文件格式,能很方便地把3DS Max中導出的文件加載到項目工程中。使用MRTK工具包,對模型添加相關的交互響應。Unity3D的開發界面如圖4所示。

圖4 Unity3D的開發界面
一般為了保證在HoloLens場景中的高幀率,在項目設置中,會將質量設置到最佳性能,同時啟用Virtual Reality support,Virtual Reality SDKs選擇Windows Mixed Reality。在開發中,使用Unity 提供的Holographic Emulation功能,能夠方便地實現程序的遠程調試。發布輸出時,需要進行相關的發布設置,在Build Settings中需要將平臺調整為Universal Windows Platform,設置好其他參數,就能夠進行構建了。最后,我們將編譯導出的Visual Studio解決方案,部署到設備上,進行調試運行。
HoloLens能夠提供基于實物的3D全息視景疊加展示,讓用戶可以直觀地看到數字模型。教師在對多人授課時,可以佩戴HoloLens眼鏡,在講解相關專業課程時,在HoloLens上調出相關模型,通過HoloLens自帶的實時視頻串流功能,將模型投影在教學屏幕上,可以讓學生看到和教師一樣的場景和視角。HoloLens相當于一個儲存多個模型的教學用具,供教師在教學時隨時調用。學生在課后時間,可以自由預約HoloLens設備的使用。學生可以對各種飛機的模型細節進行探索研究。通過交互功能,也可以將一部分教師需要講解的知識點放到模型中,讓學生自我學習。HoloLens生成的全息影像只有全息眼鏡佩戴者才能看見,為了讓旁觀者能從其他地方看到HoloLens用戶在HoloLens中看到的視景,微軟提供了虛擬現實分享功能Spectator View,通過視頻合成技術,使旁觀者能從第三者的角度,看到全息影像,使用更好的相機,能生成更高的分辨率和更好的質量的圖像。通過這一種方式,能夠將教師在教學時對數字模型的講解和交互錄制下來,制作成教學視頻,提供給學生進行自主學習。
建立一個基于HoloLens的3D全息教學演示及教學資源建設平臺,所有涉及空間結構、機械結構、操作面板、視景合成的相關專業課程,在已具有或者自行設計的3D模型支持下,都能夠實現虛擬視景與現實視景的混合,并能夠提供相應的教學資源生成發布功能。把虛擬仿真技術作為學生的認知工具,將其整合到學科教學中去,使學生形象地建立起客觀世界,有效地提高實踐教學質量,激發學生學習興趣,真正提高學生的機務工程實踐能力。可以為專業教師提供建立虛擬模型向混合視景轉換的平臺,更好地服務于專業教學,可以為國內其他教育、培訓、科研機構提供全套的解決方案,或者教學資源。