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