【51CTO.com快譯】近年來,增強現實(augmented reality,AR)生態系統得到了蓬勃發展。如果您是一名CTO或產品開發經理的話,那么現在是時候考慮如何對當前的軟件產品添加AR元素了。當然,在開始添加之前,您需要考慮一些技術方面的問題。
雖說市面上對于AR應用的需求,預計會在未來的三到五年內會有所飆升,但是實際上,如何選取合適的SDK,則完全取決于您手頭項目的特定需求。在此,我為您總結了12款優秀的增強現實類SDK,希望能夠給您的AR應用開發項目提供幫助。
什么是增強現實類SDK?
增強現實類SDK(即:軟件開發工具包,??請參見??)是針對開發和創建AR應用和體驗,提供相關支持的核心技術與軟件引擎。AR SDK的作用是將數字內容與現實世界的元素相融合。由于SDK的功能是最終支持AR應用的各項功能,因此我們需要根據實際項目的具體要求,來選擇正確的平臺。
AR SDK與諸如內容渲染、AR跟蹤和場景識別等應用組件有關。其中:內容渲染是指將數字信息和3D對象疊加到現實世界的物體上;AR跟蹤是讓應用程序“長眼睛”;而場景識別元素則充當的是應用程序的“中樞神經系統”。每個AR SDK都有自己獨特的屬性,它們能夠在不同的方面讓AR開發人員以***方式的識別、渲染和跟蹤應用。
1.?? ARKit??
2017年,Apple發布了iOS 11,ARKit隨后推出了AR技術史上***震撼性的產品。ARKit是一款獨特的框架,它能夠讓品牌商和開發人員為兼容iPhone和iPad的設備(必須配備A9或更高版本的處理器),設計和創建出***的體驗。與大多數AR SDK類似,ARKit SDK在功能上通過將數字信息和3D對象融入現實世界的物體上,從而增強設備的展示效果。
在合適的Apple設備上,ARKit通過利用VIO(視覺慣性里程計,Visual–Inertial Odometry),來無縫精確地跟蹤周圍環境。VIO能夠讓Core Motion數據(??請參見??)與相機傳感器數據相結合,并為應用程序提供檢測水平面(如:地板和桌子)和垂直平面(如:墻壁)的功能。
憑借該功能,ARKit能夠準確地理解特定場景的動態狀況和構成元素,并以上下文相關的方式,提供放置3D對象和疊加數字信息的能力(例如,由于ARKit能夠區分地板和桌子,因此它知道酒是放在桌子上,而不是在地板上。如果您正在使用ARKit來開發AR應用的話,那么請參見我們為您準備的關鍵元素指南--https://mozenix.com/2017/09/20/5-ways-develop-killer-arkit-app/。
另外,開發人員還可以將ARKit與??Unity???、??Unreal Engine???和??SceneKit??等第三方3D引擎相結合,以創建出各種應用程序。
ARKit提供以下功能:
- SLAM(同步定位和映射,simultaneous localization and mapping--https://en.wikipedia.org/wiki/Simultaneous_localization_and_mapping )跟蹤和傳感器融合
- 環境照明評估
- 比例評估
- 基于基本邊界的垂直和水平面估計
- 穩定且快速的運動跟蹤
2. ??ARCore??
ARCore是Google專有的AR SDK。與ARKit類似,它能夠讓開發人員在與Google兼容的智能手機和平板電腦上構建并運行AR應用。ARCore最顯著的功能之一便是:它還能夠支持iOS設備,并且為開發人員提供了對兩類平臺用戶的獨特訪問能力。ARCore通過如下三個重要功能,讓開發人員能夠將現實世界與虛擬世界相融合:
- 照明評估:評估真實世界的照明條件
- 環境理解:檢測垂直、水平和傾斜表面的大小和位置
- 運動跟蹤:了解手機相對于周圍環境的位置
整個ARCore產品主要是圍繞著兩個關鍵要素構建的:實時跟蹤和設備位置的計算,以及虛擬對象與現實環境的集成。這使得企業和品牌商能夠開發出豐富的、沉浸式的、且支持移動的AR體驗。因此,它能將3D對象、文本和數字信息直接投射到周圍的現實環境中。
ARCore可免費供開發人員使用,能夠支持包括Samsung Galaxy和Google Pixel等一系列Android(和iOS)智能手機和平板電腦。如果您對于如何使用ARCore開發AR應用感興趣的話,??請參見??。
3. ??Vuforia??
這款AR SDK能夠讓開發人員快速地構建出高保真的、以移動為中心的,沉浸式的AR體驗。Vuforia SDK利用計算機視覺技術,實時地識別并跟蹤圖像目標與3D對象。此功能可以讓AR開發者定位和放置與現實環境相關的虛擬對象,包括:3D模型和其他內容。3D模型和數字信息在被疊加到真實世界的場景之中后,便可實現AR設備與環境的關聯。
Vuforia的AR SDK能夠支持包括:3D多目標配置、??無標記圖像目標???、以及被稱為“??VuMark??”的基準標記等各種3D和2D目標。Vuforia SDK的其他功能還包括:使用虛擬按鈕進行本地化的遮擋檢測,在運行中開發和校準目標集,進而對目標圖像進行選擇。
通過Unity游戲引擎的擴展,Vuforia提供了Java、C++、Objective C++和.NET的API(應用編程接口)。就此方面而言,Vuforia SDK能夠支持iOS和Android的原生開發、以及在Unity中輕松地將AR應用和原型開發在兩類平臺上相互移植。因此,它為那些需要開發出同時支持iOS和Android平臺應用的企業,提供了很好的選擇,并且***限度地降低了商業和技術上的風險。他們也就可以在盡可能短的時間內,無縫地為各種類型的目標移動設備,開發出不同的AR應用。
4. ??Wikitude??
Wikitude是專為移動AR應用和原型而開發的SDK。該公司于2008年成立于奧地利的薩爾茨堡。在Wikitude SDK的推出之初,該平臺旨在:讓AR開發人員能夠通過Wikitude World Browser應用,來創建以位置為核心的AR體驗。2012年,Wikitude重新定位了其核心技術產品,并推出了具有地理定位功能、跟蹤和圖像識別功能的Wikitude SDK,而且這些功能全都被直接嵌入到了其核心平臺。
如今,Wikitude SDK是該公司的核心產品。它向開發人員承諾能夠在最短的時間內構建出沉浸式的移動AR體驗。另外,Wikitude SDK的功能還包括:3D模型渲染、基于位置的AR、以及視頻疊加等。該公司后續也推出了SLAM技術(同步定位和映射),以協助無標記物體的跟蹤與識別、以及無標記的瞬時追蹤。
Wikitude SDK可以運行在多種平臺之上,并支持Windows操作系統、iOS、Android和許多HUD(heads up display,平視顯示)。Wikitude聲稱是***款為跨平臺移動AR與智能眼鏡設備開發的,完全專注于基于位置方式的SDK。
5. ??EasyAR??
EasyAR SDK為企業和開發人員提供了EasyAR SDK Basic和EasyAR SDK Pro兩種定價產品。其中,Basic版為開發人員提供了AR的API、工作流和AR的兼容性;而全新的Pro版則增加了更多的獨家功能。對于那些希望自己的AR應用能夠支持Android的Java API、iOS的Swift API、以及Windows操作系統的開發人員而言,Basic版是免費的。另外,Basic版支持包括視頻播放、透明視頻播放、QR(二維)碼掃描和全面Unity集成等額外的功能。
EasyAR Pro版的核心功能,主要包括:SLAM(包含Monocular的實時6 DOF攝像機姿態跟蹤和完全移動兼容性),3D對象跟蹤(根據實時紋理識別,來跟蹤常見3D對象的功能),屏幕錄制(提供簡單有效的方式來記錄AR內容),平面圖像跟蹤(實時跟蹤和識別平面圖像的能力),與所有主流移動AR相集成的簡潔API平臺與內容,交互支持沉浸式AR內容,以及針對多種類型目標的同步檢測和跟蹤等方面的增值功能。另外,EasyAR網站也具有大量實用的信息,方便您在最短時間內構建并運行自己的AR應用。它的問答鏈接為:https://answers.easyar.com/,而社區鏈接則是:https://forum.easyar.com/。
6. ??Kudan??
在日本東京和英國布里斯托爾設有辦事處的Kudan AR SDK,是一款專為AR開發人員設計的平臺。作為“一站式”的平臺,它支持各種基于標記和無標記的位置和跟蹤需求。Kudan SDK的核心引擎完全采用C++進行開發,擁有組裝式開發和定制優化的架構,能夠提供最快且***大的操作性能,而不會對內存的占用產生任何負面影響。因此,Kudan AR SDK可以被使用在從支持專業的HUD到集成芯片組等一系列開發場景中。因此,它可以調整數據的大小、速度和靈敏度,以滿足特定AR項目的特殊需求。
Kudan AR SDK擁有原生平臺的API,能夠對Objective C(iOS)、Java(Android)和Unity游戲引擎提供跨平臺的支持。同時,Kudan SDK也支持基于標記和無標記跟蹤,這對于需要在無標記初始化的情況下,創建功能的AR開發人員來說是非常有用的。
該公司的目標是通過創建人工感知(Artificial Perception,AP)類型的算法,來加速虛擬化(包括增強、虛擬和混合現實的各個方面)和機器人相關技術(汽車、無人機和機器人)的演變。也就是說,通過Kudan開發出的相當于人眼的機器算法,能夠將AI(人工智能)與AP相結合,讓機器能夠像人類那樣感知周圍世界,并與周圍世界進行互動。
7. ??Onirix??
Onirix號稱能夠輕松地實現移動AR的開發,并能為開發人員提供快速且直觀的體驗。其Onirix Studio能夠讓企業和品牌商在每個新的AR項目中開發、托管和發布各種可視化元素。Onirix平臺的主要功能是:根據位置、路線、尋路、3D模型、以及其他信息,添加特定的興趣點。基于云平臺,Onirix為每個項目分配***的資源和性能,進而為移動用戶提供***的體驗感受。另外,Onirix AR SDK能與其原生的iOS和Android應用相緊密集成。
Onirix SDK的開發旨在與支持AR的智能手機和平板電腦進行交互。SDK為基于Unity、iOS和Android平臺的應用快速開發,提供各種工具和調用庫。通過彌補REST API的不足,它讓現有的數據集能夠輕松地體驗并融入新的AR應用。在持續更新各種支持組件和兼容設備的相關文檔方面,Onirix團隊做得也是非常出色的。其技術支持和配套文檔涉及到iOS、Android、ARKit和ARCore、Magic Leap和HoloLens(全息透鏡)等方面。如果您對Microsoft HoloLens的應用開發或原型感興趣的話,請參見我們準備的??指南??。
8. ??MaxST??
MaxST AR SDK提供了全面的跨平臺AR引擎,它方便了品牌商和開發人員構建出AR體驗和應用程序。具有一定價格競爭力的MaxST平臺,能夠保障AR應用開發的速度與易用性。MaxST AR SDK能夠提供的具體功能包括:即時跟蹤(提供識別水平與垂直平面,以及疊加相關內容的能力)、可視化SLAM(使用智能手機相機創建周圍區域的“虛擬地圖”)、對象跟蹤(將可視化SLAM創建的地圖文件予以導入的能力)、圖像跟蹤(疊加3D內容、視頻和圖像)、標記跟蹤(為內容的疊加提供8192個標記點)、以及QR與條形碼的掃描功能。
MaxST AR SDK還提供了在諸如Mac OS、iOS、Android、Windows和Unity 3D等主流平臺上進行跨平臺開發的功能。該平臺還兼容各種HUD和智能眼鏡產品,如:Epson MOVERIO BT- 300,350和ODG R-7。
9. ??Pikkart AR SDK??
Pikkart SDK能夠讓開發人員在“??計算成本低廉”的設備上,快速地創建具有輕量級、易用性、且健壯的AR應用,并能夠實現檢測和跟蹤。Pikkart AR SDK擁有四種核心定價機制。它的免費版本為開發人員提供了***數量的本地標記、1個演示應用程序(在iOS或Android上都可以運行)、以及20個基于云的標記。其299歐元版本能夠讓開發人員在享用免費版所有功能的基礎上,添加了電子郵件支持,并提供使用平臺的***效果和幫助指導。??云識別???和??云API??是兩個更高層次的版本,它們每月都是收費99歐元,分別提供包括:***數據庫、1500個云標記、電子郵件支持和云識別等功能。
Pikkart SDK號稱能夠使開發人員在幾分鐘內,在設備上創建出深度沉浸式的AR體驗。該平臺包含適用于iOS和Android的原生插件,也集成了現有的Unity和Xamarin項目。Pikkart SDK還允許開發人員添加具有地理定位的AR標記,以便開發出集成式的導航服務。
10. DeepAR
DeepAR AR SDK最初是為了讓開發人員通過iOS、Android、HTML5和Unity,來構建出高質量、移動優化的、具有Facebook和Snapchat風格的3D面部頭像、面具和特效。輕量級的DeepAR SDK,可以被快速地集成到現有應用項目之中,以支持各種鏡頭、效果、模糊和濾鏡,進而創建出深度沉浸式的、面向消費者的AR應用和原型。
DeepAR平臺通過將不同的數據模型與復雜的3D機器學習相結合,實現了面部特征檢測等功能。通過極其精確和快速的面部檢測,DeepAR SDK能夠結合下巴、眼睛和鼻子的識別,以近60幀/秒的速度辨析出超過68個面部特征點。經過優化后的平臺,也能夠兼容各種的智能手機和平板電腦,提供多張面孔的實時檢測服務。
另外,DeepAR利用專有的深度學習和神經網絡模型,還能夠實時地檢測諸如:憤怒、厭惡、恐懼、歡樂、悲傷、驚訝和中立等人類主要情緒。如果您對此感興趣的話,??請參見??。
11. Lumin(Magic Leap)
Magic Leap是2010年創立的一家美國初創公司。迄今為止,該公司已從谷歌和阿里巴巴等投資人那里籌集了超過14億美元的資金。2016年12月,Magic Leap被福布斯估值為45億美元。2018年Magic Leap One被正式推出,并向美國AR開發者開放。Magic Leap One HUD通過“將數字光場(light field)投射到用戶的眼睛里”,以實現將3D計算機所生成的圖像,疊加到現實世界的物體上。
Magic Leap One為Unity開發人員提供了各種組件,它包含一系列可供參考與使用的樣板示例。其AR SDK被稱為“Lumin SDK”。Lumin SDK包含有一個模擬器,可以仿真SDK的各種功能,而無需事先購買HUD。Unity Package能夠與Magic Leap Zero Iteration和Magic Leap Remote相兼容,進而實現快速的構建和運行。
Lumin SDK的技術預覽版是針對Unity 2018.1開發的。針對Magic Leap的Lumin OS,它在構建窗口下方提供了一個新的平臺。此外,它還提供可用于創建原生類插件的完整C/C++工具鏈、調試器和構建打包系統。
12.?? MixedReality Toolkit(HoloLens)??
由許多組件和腳本所組成的MixedReality Toolkit,旨在加速針對那些Microsoft HoloLens和其他基于Windows Mixed Reality(混合現實)耳機類AR應用的開發。***版本的MixedReality Toolkit具有擴展功能,能夠支持除了Microsoft自家Mixed Reality系列產品之外的各種虛擬和AR平臺。
Mixed Reality Toolkit vNext包含有許多API,可被用來加速開發各種兼容設備的Mixed Reality項目,其中包括:
- Microsoft HoloLens
- 微軟沉浸式耳機 ??(IHMD)??
- ??Steam VR??( HTC Vive / Oculus Rift )
- ??OpenXR??平臺
在開始使用MixedReality Toolkit開發應用之前,您需要準備好:Windows 10 FCU (fall creators update)、Unity 3D和Visual Studio 2017 (用于代碼編輯,開發和部署通用Windows平臺的應用程序包)。
結論
隨著技術的日益復雜,各種SDK的功能會得到了迅速擴展,而與AR相關的商業機會也呈指數級增長。如果您還沒有決定好為下一個AR項目采用哪一款SDK的話,請花點時間進行基于ROI的計算,進而分析一下項目的各種商業元素吧。
原文標題:12 Best Augmented Reality SDKs,作者:Michael Romilly
【51CTO譯稿,合作站點轉載請注明原文譯者和出處為51CTO.com】