- AR開發權威指南:基于AR Foundation
- 汪祥春編著
- 7字
- 2021-01-15 16:18:34
第1章 AR Foundation入門
1.1 增強現實技術概述
增強現實(Augmented Reality, AR)技術是一種將虛擬信息與真實世界融合展示的技術,其廣泛運用了人工智能、三維建模、實時跟蹤注冊、虛實融合、智能交互、傳感計算等多種技術手段,將計算機生成的文字、圖像、三維模型、音頻、視頻、動畫等虛擬信息模擬仿真后,應用到真實世界。增強現實技術考慮了真實世界與虛擬信息的相互關系,虛實信息互相補充,從而實現對真實世界的增強,如圖1-1所示。
▲圖1-1 AR技術將虛擬信息疊加在真實環境之上從而達到增強現實的目的
1.1.1 AR概述
VR、MR、AR這些英文縮寫有時讓初學者感到困惑。VR是Virtual Reality的縮寫,即虛擬現實,是一種能夠創建和體驗虛擬世界的計算機仿真技術,它利用計算機生成交互式的全數字三維視場,能夠營造全虛擬的環境。MR是Mix Reality的縮寫,即混合現實,是融合真實和虛擬世界的技術。混合現實概念由微軟公司提出,強調物理實體和數字對象共存并實時相互作用,如實時遮擋、反射等。本書主要關注AR技術,并將在后文詳細講述如何用AR Foundation來開發構建移動端AR應用。
第一個為用戶提供沉浸式混合現實體驗功能的AR系統是在20世紀90年代初發明的,虛擬裝置及系統于1992年在美國空軍阿姆斯特朗實驗室開發。在AR技術萌芽后,經過無數人的努力,最早將AR技術帶到大眾視野的產品是Google公司的Google Glass增強現實眼鏡,雖然Google Glass項目最終并未能繼續下去,但它給整個AR行業帶來了生機和活力,AR研究及應用由此進入蓬勃發展時期。2017年Apple公司的ARKit和Google公司的ARCore SDK的推出,把AR從專門的硬件中剝離了出來,使得人們可以通過普通手機體驗到AR帶來的奇妙感受。AR越來越受到各大公司的重視,技術也是日新月異,百花齊放。
顧名思義,增強現實是對現實世界環境的一種增強,即現實世界中的物體被計算機生成的文字、圖像、視頻、3D模型、動畫等虛擬信息“增強”。疊加的虛擬信息可以是建設性的(即對現實環境的附加),也可以是破壞性的(即對現實環境的掩蔽),并與現實世界無縫地交織在一起,讓人產生身臨其境的感覺,分不清虛實。通過這種方式,增強現實可以改變用戶對真實世界環境的持續感知能力,這與虛擬現實將虛實隔離,用虛擬環境完全取代用戶所處的真實世界環境完全不一樣。
增強現實的主要價值在于它將數字世界帶入個人對現實世界的感知,而不是簡單地顯示數據,通過與被視為環境自然部分的沉浸式集成來實現對現實的增強。借助先進的AR技術(例如計算機視覺和物體識別),用戶周圍的真實世界變得可交互和可操作。簡而言之,AR就是將虛擬信息放在現實世界中展現,并且讓用戶和虛擬信息進行互動,AR通過環境理解、注冊等技術手段將現實與虛擬信息進行無縫對接,將在現實中可能不存在的事物構建在與真實環境一致的同一個三維場景中并予以展現、銜接融合。增強現實技術將改變我們觀察世界的方式,想像在路上用戶行走或者驅車行駛,通過增強現實顯示器(AR眼鏡或者全透明擋風玻璃顯示器),信息化圖像將出現在用戶的視野之內(如路標、導航、提示),并且所播放的聲音與用戶所看到的場景保持同步,這些增強信息將實時進行更新,從而引發人們對世界認知方式的變革。
1.1.2 AR技術
AR技術是一門交叉綜合學科的技術,其涉及數學、物理、工程技術、信息技術、計算機技術等多領域的知識,相關專業術語、概念也非常多,其中重要的概念術語主要有以下這些。
1.硬件
硬件是AR的物質基礎,增強現實需要的硬件主要包括處理器、顯示器、傳感器和輸入設備。有些需要一些特殊的硬件,如深度傳感器、眼鏡,通常這類AR往往價格昂貴,有些則不需要專門的硬件,普通的移動端,如智能手機和平板電腦就能滿足,但也通常包括照相機和MEMS傳感器,如加速度計、GPS和固態電子羅盤等。
2.顯示
在增強現實中疊加的虛擬信息需要借助顯示設備反饋到人腦中,這些顯示設備包括光學投影系統、顯示器、手持設備和佩戴在人體上的顯示系統。頭戴式顯示器,簡稱頭顯。頭顯(Head Mounted Display,HMD)是一種佩戴在前額上的顯示裝置。HMD將物理世界和虛擬物體的圖像放置在用戶的眼球視場上,現代HMD常使用傳感器進行六自由度監控,允許系統將虛擬信息與物理世界對齊,并根據用戶頭部運動相應地調整虛擬信息;眼鏡是另一個常見的AR顯示設備,眼鏡相對更便攜也更輕巧;移動端如手機屏幕也是AR常見顯示設備。
3.眼鏡
眼鏡(Glasses),這里特指類似近視眼鏡的AR顯示器,但它遠比近視眼鏡復雜,它使用相機采集真實環境場景,通過處理器對環境進行跟蹤并疊加虛擬信息,并將增強的虛擬信息投射在目鏡上。
4.HUD(Head Up Display)
平視顯示器(HUD)是一種透明的顯示器,可謂是增強現實技術的先驅設備,在20世紀50年代首次為飛行員開發,它將簡單的飛行數據投射到他們的視線中,從而讓他們保持“抬頭”而不用看儀器設備。因為HUD可以顯示數據、信息和圖像,同時允許用戶查看真實世界,所以它也是一種AR顯示設備。
5.SAR
空間增強現實(Spatial Augmented Reality,SAR)利用數字投影儀在物理對象上顯示圖形信息,其系統的虛擬內容直接投影在現實世界中。任何物體表面,如墻、桌、泡沫、木塊表面甚至是人體表面都可以成為可交互的顯示屏。隨著投影設備尺寸的減小,成本、功耗的降低以及3D投影技術的不斷進步,SAR也處于快速發展階段。
6.跟蹤
跟蹤是AR實現定位的基礎,增強現實系統可使用以下跟蹤技術中的一種或多種:RGB相機或其他光學傳感器、加速度計、GPS、陀螺儀、固態羅盤、RFID、深度相機、結構光、TOF。這些技術為跟蹤提供了測量方面的支持。跟蹤最重要的是需要跟蹤用戶頭部或虛擬現實設備的姿態,跟蹤用戶的手或手持式輸入設備,提供六自由度交互。
7.網絡
隨著移動設備、可穿戴設備的普及,AR正在變得越來越受歡迎。但是,虛擬現實往往依賴于計算密集型計算機視覺及人工智能算法,所以對處理及傳輸延遲方面有非常高的要求。為了彌補單臺設備計算能力的不足,有時還需要將數據處理功能移到中心服務器上,這在延遲和帶寬方面對網絡提出了非常高的要求,而5G技術的發展有利于解決這個問題。
8.輸入設備
輸入技術包括普通的屏幕輸入、手柄輸入、將聲音翻譯成計算機指令的語音識別設備、用戶身體運動的肢體識別和手勢識別設備等。
9.處理器
處理器負責與增強現實相關的圖形及算法運算,使得虛實融合、顯示等。處理器接收來自傳感器的數據——獲取的環境信息,理解注冊跟蹤環境,生成圖像視頻模型等虛擬信息并疊加到合適的位置,最后渲染到顯示設備上供用戶查看。處理器也可從硬盤或者數據庫中讀取信息,隨著技術和處理器的改進,處理器的運算速度越快,增強現實能處理的信息就越多,增強現實效果就越流暢越真實。
10.軟件與算法
AR系統的一個關鍵指標是虛擬信息與現實世界的結合度。AR系統從攝像機圖像中獲取與攝像機無關的真實世界坐標,這個過程被稱為圖像配準。這個過程通常由兩個階段組成:第一階段是在攝像機圖像中檢測特征點、基準標記或光流。在第一個階段中可以使用特征檢測方法,如角點檢測、斑點檢測、邊緣檢測或閾值處理等圖像處理方法;第二階段是用第一階段獲得的數據恢復真實世界坐標系,在某些情況下,場景三維結構應預先計算。在第二階段中可以使用的數學方法包括射影(極線)幾何、幾何代數、指數映射旋轉表示、卡爾曼濾波和粒子濾波、非線性優化、穩健統計等。在AR中,軟件與算法大多與計算機視覺相關,且主要與圖像識別跟蹤相關,增強現實的許多計算機視覺方法是從視覺測徑法繼承的。
11.交互
AR中疊加的虛擬信息應該支持與用戶的交互,它最令人興奮的因素是對3D虛擬空間的引入能力,并能在現實中與虛擬信息進行交互。這個交互包括對用戶操作的反饋,也包括程序自發的主動交互,如隨著距離的不同顯示不同的細節信息等。
1.1.3 AR技術應用
AR系統具有3個突出的特點:
① 真實世界和虛擬信息融合;
② 具有實時交互性;
③ 在三維空間中定位AR子流產生的虛擬物體。
AR技術可以將虛擬信息疊加到現實世界之上,因而在很多領域都有廣泛的應用前景和發展潛力。AR技術可廣泛應用于數字領域。游戲娛樂領域是最顯而易見的應用領域,AR游戲最早并非起源于手機,而是起源于NDS。此類游戲大多數的玩法是在桌面上擺放識別卡,然后玩家可通過手機屏幕與識別出來的內容進行交互。2011年任天堂3DS主機內置的“AR游戲”可利用攝像頭拍攝“AR卡片”,利用AR技術將攝像頭拍攝到的內容以另外一種形式展現在屏幕內;2019年4月,國內AR探索手游《一起來捉妖》上線,這是與Pokémon Go差不多的捉怪游戲。在娛樂、游戲領域中,AR正處于快速發展階段。
除此之外,AR技術在文學、考古、博物、建筑、視覺藝術、零售、應急管理/搜救、教育、社會互動、工業設計、醫學、空間沉浸與互動、飛行訓練、導航、旅游觀光、音樂、虛擬裝潢等領域都有著廣闊的應用前景。
提示
在本書中:1.虛擬對象、虛擬信息、虛擬物體均指在真實環境上疊加的由計算機處理、生成的文字、圖像、3D模型、視頻等非真實信息,嚴格來講這三者是有差別的,但有時我們在描述時并不嚴格區分這三者;2.Unity、Unity3D均指Unity 3D引擎軟件;3.Vertex Shader、頂點著色器、頂點Shader均指頂點Cg代碼,Fragment Shader、片元著色器、片元Shader均指片元Cg代碼。
- Vue.js前端開發技術
- 從零開始:AutoCAD 2015中文版機械制圖基礎培訓教程
- 中文版Illustrator 2021完全自學教程
- Solid Works 2021產品設計標準教程
- 好的PPT會說話:如何打造完美幻燈片
- AutoCAD 2014電氣設計從入門到精通
- DWR Java AJAX Applications
- 中文版AutoCAD基礎培訓教程
- 印象筆記留給你的空間2.0:個人知識管理實踐指南
- SketchUp/Piranesi印象彩繪表現項目實踐
- Unity 3D\2D手機游戲開發:從學習到產品(第4版)
- Adobe創意大學Photoshop產品專家認證標準教材(CS6修訂版)
- PHP and MongoDB Web Development Beginner's Guide
- Adobe創意大學Premiere Pro影視剪輯師標準實訓教材(CS6修訂版)
- Instant Apache Sqoop