圖像處理領(lǐng)域涉及AR的技術(shù)可以抽象為這么一類技術(shù):通過圖像和其他傳感器信息計(jì)算攝像機(jī)的位置和圖像內(nèi)環(huán)境三維結(jié)構(gòu)信息,并結(jié)合3D渲染提供更自然的人機(jī)交互能力。
通過圖像和其他傳感器信息計(jì)算攝像機(jī)的位置和圖像內(nèi)環(huán)境三維結(jié)構(gòu)信息,并結(jié)合3D渲染提供更自然的人機(jī)交互能力。
如圖1所示,位置和結(jié)構(gòu)信息一般包括相機(jī)機(jī)位(Camera Pose)和點(diǎn)云/3D模型(Point Cloud/Mesh),不同的技術(shù)問題,側(cè)重點(diǎn)不同。
Marker/Markerless Tracking只關(guān)注相機(jī)機(jī)位的跟蹤,這也是AR最開始的一類技術(shù),它的技術(shù)指標(biāo)主要要求運(yùn)算速度快,保障實(shí)時(shí)性,還有就是跟蹤穩(wěn)定且不易跟丟。Marker一般是一張2D的圖片,因此處理相對簡單,世界坐標(biāo)系往往就以Marker所在平面為XY軸平面,以垂直于該面的法向量為Z軸。通過將攝像機(jī)圖像上的特征點(diǎn)和Marker中的特征點(diǎn)進(jìn)行匹配,就可以計(jì)算出攝像機(jī)相對于Marker的位置,如圖2所示。
IMU(慣性傳感單元)是現(xiàn)代智能手機(jī)幾乎都配備的元件,通過IMU可以準(zhǔn)確獲取手機(jī)(相機(jī))的旋轉(zhuǎn)維度的變換,但是對于空間位移很難準(zhǔn)確衡量,所以IMU經(jīng)常作為其他技術(shù)的輔助,比如SLAM。
SLAM(同時(shí)定位并建圖),顧名思義,它的目的同時(shí)包括了計(jì)算Camera Pose和掃描環(huán)境三維結(jié)構(gòu)信息,和它非常類似的是SFM(Structure From Motion),二者最大的區(qū)別在于SFM常用于3D重建,一般對重建的結(jié)構(gòu)細(xì)節(jié)以及精細(xì)度要求甚高,重建的后結(jié)果多是面向用戶,對美觀度也有一定要求,因此一般只能離線處理;而SLAM應(yīng)用場景包括AR、機(jī)器人控制等等,一般要求實(shí)時(shí)性,所以掃描的環(huán)境結(jié)構(gòu)信息一般相對粗糙,而環(huán)境的信息也主要為了輔助自身的定位。SLAM/SFM相比于Marker Tracking的最大區(qū)別在于事先并不知道任何三維空間的信息,需要首先從兩張二維的圖像(有一定的視差)中恢復(fù)三維結(jié)構(gòu)(如圖3所示),繼而不斷的跟蹤并擴(kuò)張地圖。SLAM建立的3D地圖的坐標(biāo)系是隨機(jī)的,而后面提到我們做了一個(gè)有趣的改進(jìn)是可以通過一張Marker作為SLAM的初始地圖,從而使得SLAM的坐標(biāo)系可以確定。
3D Object Tracking,即三維物體跟蹤,這個(gè)問題既類似于Marker的跟蹤也類似于SLAM,Maker Tracking是計(jì)算2D的圖片相對于的相機(jī)的位置,SLAM解決的其中一個(gè)問題是在構(gòu)建好的三維點(diǎn)云中,準(zhǔn)確定位到自身的位置并持續(xù)跟蹤;3D Object Tracking要解決的問題是準(zhǔn)確定位到3D物體相對于相機(jī)的位置。和Marker Tracking相比,是把跟蹤2D的圖片升級為跟蹤3D的物體,區(qū)別在于2D的圖片始終位于三維空間中的一個(gè)平面上,方便構(gòu)建點(diǎn)云和世界坐標(biāo)系。和SLAM相比,SLAM構(gòu)建好的環(huán)境和自己的要定位的環(huán)境必須是相對穩(wěn)定的,而3D物體識別時(shí),背景信息往往是變化的。3D Object Tracking需要的先驗(yàn)知識一般是一個(gè)3D模型,這個(gè)模型有時(shí)候可以通過SLAM或者SFM得到。
Object Segmentation,即物體分割,是在攝像機(jī)圖片中將指定的物體分割出來或是將前景后景分離開來。這類問題實(shí)現(xiàn)方法很多,其中有一類是利用物體3D模型的信息將圖片中的物體找到并分離出來,同時(shí)還可以準(zhǔn)確計(jì)算3D物體相對于Camera的位置。這類技術(shù)又和3D Object Tracking有相輔相成的作用,比如如果能夠?qū)ξ矬w先進(jìn)行分離,那么跟蹤就會變得簡單些,反之,如果先能夠追蹤到物體的位置,那么對物體進(jìn)行分離也相對容易。
在基于單目的攝像頭的AR技術(shù)中,特征點(diǎn)(Feature)是最通用的一項(xiàng)技術(shù)手段,通過匹配不同幀圖像之間特征點(diǎn)的對應(yīng)關(guān)系,我們才能夠準(zhǔn)確計(jì)算相機(jī)的運(yùn)動(dòng),從而恢復(fù)環(huán)境三維結(jié)構(gòu)。特征點(diǎn)相關(guān)算法很多,在移動(dòng)端,為了提高計(jì)算效率,傾向使用ORB和Freak,比如SLAM中我們就使用了ORB特征,Marker Tracking中我們使用了Freak特征;而類似SIFT這種,匹配精度高,但是運(yùn)算效率低,一般用于SFM這類技術(shù)中。使用特征點(diǎn)的好處在于,特征具有良好的尺度不變形、方向不變形和光照不變形等特性,匹配結(jié)果較為魯棒。光流法(Optical Flow)是相對于特征點(diǎn)的另一類跟蹤相機(jī)運(yùn)動(dòng)的方法,它的基本原理是不去計(jì)算特征點(diǎn)以及特征描述子,而是直接使用像素塊進(jìn)行匹配,提高了運(yùn)算效率,而其缺點(diǎn)是光流法只適合匹配相鄰的兩幀圖像來計(jì)算運(yùn)動(dòng)變化,它要求光強(qiáng)度守恒(Brightness Consistency),所以無法用于重定位等技術(shù)實(shí)現(xiàn)。
每項(xiàng)AR技術(shù)背后都孕育著一些新型的業(yè)務(wù)形態(tài),AR業(yè)務(wù)主要圍繞營銷互動(dòng)和實(shí)用工具兩類展開,如圖5所示。最早的Marker Tracking催生了AR互動(dòng)營銷,AR教育等業(yè)務(wù)的發(fā)展,手淘的ARMagic互動(dòng)平臺就是依賴此技術(shù)建立起來;SLAM技術(shù)支撐了AR實(shí)景寶貝,讓3D的商品能夠更加自然地進(jìn)入用戶的視野;AR捉貓貓也是依靠IMU在AR中的應(yīng)用才得以鋪展開來。更重要的是這些技術(shù)潛力還未完全釋放,在現(xiàn)有技術(shù)體系中我們已經(jīng)規(guī)劃了未來一些業(yè)務(wù)的藍(lán)圖:
AR說明書,通過AR的方式展示實(shí)際生活、生產(chǎn)環(huán)節(jié)中一些器械的使用方式或是工作原理。比如家電(洗衣機(jī)、電飯煲等)的3D形式的說明書(如圖4所示),工廠內(nèi)一些機(jī)器的虛擬操作指南等。這項(xiàng)業(yè)務(wù)主要依托于3D Object Tracking和SLAM技術(shù)。
AR場景互動(dòng),在一些線下場景(商場、休閑場所、博物館等),通過AR的方式完成的更加自然、豐富的互動(dòng)。比如目前規(guī)劃的上海星巴克新概念旗艦店,就計(jì)劃利用AR的方式展示店內(nèi)的傳統(tǒng)機(jī)器和傳統(tǒng)工藝的歷史,讓用戶能夠用AR的方式探索星巴克的歷史文化。同時(shí),結(jié)合支付、物流等環(huán)節(jié),完成一體化的有趣購物體驗(yàn)。
AR直播/AR視頻,在直播的場景通過布置一些特殊的“標(biāo)記”,在直播和視頻中疊加更為豐富的互動(dòng)特效。
AR業(yè)務(wù)的形式優(yōu)勢不僅僅在于新穎,而是它通過攝像頭打通了虛擬和現(xiàn)實(shí)世界,也就有了天然的貫通線上和線下的優(yōu)勢,是進(jìn)行“新零售”的探索一個(gè)利器。
提到SLAM開源項(xiàng)目,自然先想到大名鼎鼎的ORB-SLAM。首先簡單介紹下ORB-SLAM2的算法結(jié)構(gòu)。如圖6所示,ORB-SLAM2主要分為三個(gè)線程,Tracking用于跟蹤C(jī)amera Pose,LocalMing用于構(gòu)建點(diǎn)云地圖,Loop Closing用于閉環(huán)檢測,優(yōu)化點(diǎn)云位置。Place Recognition,即重定位,是利用BoW(Bag of Words)模型在已經(jīng)構(gòu)建好的地圖內(nèi)定位Camera。雖然ORB-SLAM2整體效果在眾多開源項(xiàng)目中脫穎而出,但他仍然只是一個(gè)實(shí)驗(yàn)室產(chǎn)品,距離真正的實(shí)用還需要很多工作要做。將該項(xiàng)目移植到移動(dòng)端后,其性能表現(xiàn)如下:
SLAM構(gòu)建出了3D點(diǎn)云地圖,并估計(jì)出了Camera Pose,然而對于AR應(yīng)用,還無法確定3D模型的擺放位置。比如我們需要在桌面上擺放一個(gè)花瓶,我們還需要知道在3D點(diǎn)云地圖中,桌面對應(yīng)的位置,這就需要上面流程圖里提到的平面檢測。
轉(zhuǎn)換為一個(gè)數(shù)學(xué)問題描述:在空間中我們有一系列的點(diǎn)P,并給出一個(gè)方向向量D,求一個(gè)法向量平行于D的平面并使得所有的點(diǎn)距離該平面的距離之和最小。
這是一個(gè)非常典型的最小二乘估計(jì)問題,因此可以利用已有的數(shù)學(xué)工具求解,如高斯牛頓,LM算法,SVD分解等等。如果是檢測水平面,其中D是根據(jù)重力傳感器得到的豎直方向,即平面的法向量方向得以確定;
SLAM初始化建立的點(diǎn)云世界坐標(biāo)系是隨機(jī)的,對于單目SLAM,scale信息是無法確定的,即無法確定點(diǎn)云世界坐標(biāo)和真實(shí)尺寸的比例。在某些情況下,AR應(yīng)用希望能夠和真實(shí)的尺寸一一對應(yīng),在這種情況下我們提出了利用Marker作為SLAM的初始地圖的方法。通過一個(gè)事先確定的Marker,建立一個(gè)已知scale信息的世界坐標(biāo)系,在此坐標(biāo)系的基礎(chǔ)上通過SLAM跟蹤并擴(kuò)張地圖,那么在疊加3D模型時(shí)就可以安裝其真實(shí)尺寸展示。算法上的區(qū)別就在于SLAM首先要去識別Marker,而不是自己去初始化地圖,識別Marker的方法也可以借鑒Marker Tracking的相關(guān)技術(shù)。
SLAM技術(shù)是AR算法領(lǐng)域最核心的技術(shù)的技術(shù)之一,ARKit和ARCore的推出也驗(yàn)證了各大公司對其重視的程度。在SLAM基礎(chǔ)上,去完成Marker Tracking或者Object Tracking等工作,也能夠大大提高整體跟蹤效果。理解AR的技術(shù)本質(zhì),更有助于理解AR應(yīng)該如何應(yīng)用。而在業(yè)務(wù)層面,AR缺少的不是技術(shù),而是創(chuàng)意!
【10月更文挑戰(zhàn)第29天】本文探討了AR/VR技術(shù)如何改變游戲與娛樂行業(yè),介紹了AR和VR的基本概念及其在游戲和娛樂中的應(yīng)用實(shí)例,包括《精靈寶可夢GO》的AR開發(fā)和VR視頻播放器的實(shí)現(xiàn)代碼,并展望了未來的發(fā)展趨勢。
WPF與AR/VR的激情碰撞:解鎖Windows Presentation Foundation應(yīng)用新維度,探索增強(qiáng)現(xiàn)實(shí)與虛擬現(xiàn)實(shí)技術(shù)在現(xiàn)代UI設(shè)計(jì)中的無限可能與實(shí)戰(zhàn)應(yīng)用詳解
【8月更文挑戰(zhàn)第31天】增強(qiáng)現(xiàn)實(shí)(AR)與虛擬現(xiàn)實(shí)(VR)技術(shù)正迅速改變生活和工作方式,在游戲、教育及工業(yè)等領(lǐng)域展現(xiàn)出廣泛應(yīng)用前景。本文探討如何在Windows Presentation Foundation(WPF)環(huán)境中實(shí)現(xiàn)AR/VR功能,通過具體示例代碼展示整合過程。盡管WPF本身不直接支持AR/VR,但借助第三方庫如Unity、Vuforia或OpenVR,可實(shí)現(xiàn)沉浸式體驗(yàn)。例如,通過Unity和Vuforia在WPF中創(chuàng)建AR應(yīng)用,或利用OpenVR在WPF中集成VR功能,從而提升用戶體驗(yàn)并拓展應(yīng)用功能邊界。
【8月更文挑戰(zhàn)第24天】開發(fā)增強(qiáng)現(xiàn)實(shí)應(yīng)用是一個(gè)充滿挑戰(zhàn)和機(jī)遇的過程。通過選擇合適的技術(shù)棧、遵循科學(xué)的開發(fā)步驟,并充分考慮用戶體驗(yàn)、設(shè)備兼容性、內(nèi)容與創(chuàng)意以及數(shù)據(jù)安全等因素,您可以成功打造一款高質(zhì)量的AR應(yīng)用。隨著技術(shù)的不斷進(jìn)步和應(yīng)用場景的不斷拓展,AR應(yīng)用的未來充滿了無限可能。
在快節(jié)奏的現(xiàn)代醫(yī)療環(huán)境中,患者與醫(yī)護(hù)人員對高效、便捷的院內(nèi)導(dǎo)航需求日益增長。隨著科技的飛速發(fā)展,傳統(tǒng)的紙質(zhì)地圖已難以滿足復(fù)雜多變的醫(yī)療空間需求。在此背景下,集成AR(增強(qiáng)現(xiàn)實(shí))技術(shù)的院內(nèi)導(dǎo)航系統(tǒng)應(yīng)運(yùn)而生,以其獨(dú)特的優(yōu)勢和創(chuàng)新功能,正逐步成為智慧醫(yī)院建設(shè)的重要組成部分。
【7月更文挑戰(zhàn)第24天】VR和AR作為兩種前沿的沉浸式技術(shù),正以前所未有的速度改變著我們的世界。隨著技術(shù)的不斷革新和應(yīng)用的不斷拓展,我們有理由相信,未來的VR和AR將為我們帶來更多令人驚嘆的體驗(yàn)和技術(shù)革新。
步入未來科技前沿:全方位解讀Unity在VR/AR開發(fā)中的應(yīng)用技巧,帶你輕松打造震撼人心的沉浸式虛擬現(xiàn)實(shí)與增強(qiáng)現(xiàn)實(shí)體驗(yàn)——附詳細(xì)示例代碼與實(shí)戰(zhàn)指南
【8月更文挑戰(zhàn)第31天】虛擬現(xiàn)實(shí)(VR)和增強(qiáng)現(xiàn)實(shí)(AR)技術(shù)正深刻改變生活,從教育、娛樂到醫(yī)療、工業(yè),應(yīng)用廣泛。Unity作為強(qiáng)大的游戲開發(fā)引擎,適用于構(gòu)建高質(zhì)量的VR/AR應(yīng)用,支持Oculus Rift、HTC Vive、Microsoft HoloLens、ARKit和ARCore等平臺。本文將介紹如何使用Unity創(chuàng)建沉浸式虛擬體驗(yàn),包括設(shè)置項(xiàng)目、添加相機(jī)、處理用戶輸入等,并通過具體示例代碼展示實(shí)現(xiàn)過程。無論是完全沉浸式的VR體驗(yàn),還是將數(shù)字內(nèi)容疊加到現(xiàn)實(shí)世界的AR應(yīng)用,Unity均提供了所需的一切工具。
**維小幫園區(qū)AR導(dǎo)航系統(tǒng)**借助高精地圖與AR技術(shù),打破傳統(tǒng)二維導(dǎo)航局限,提供三維立體地圖和沉浸式導(dǎo)航體驗(yàn)。系統(tǒng)包括AR實(shí)景指引、VR全景預(yù)覽、便捷預(yù)約參觀和智能停車場導(dǎo)航等功能,大幅提升訪客定位與通行效率,推動(dòng)園區(qū)管理智能化。未來,該技術(shù)有望在更多領(lǐng)域廣泛應(yīng)用。
【6月更文挑戰(zhàn)第27天】 VR創(chuàng)造沉浸式虛擬環(huán)境,模擬真實(shí)感受,應(yīng)用于旅游、醫(yī)療、教育和游戲。AR將虛擬信息疊加到現(xiàn)實(shí),強(qiáng)調(diào)虛實(shí)結(jié)合與實(shí)時(shí)交互,常見于游戲、教育、購物和醫(yī)療。兩者提供超越現(xiàn)實(shí)的體驗(yàn),隨著技術(shù)進(jìn)步,將在更多領(lǐng)域發(fā)揮作用,開啟新可能。
技術(shù)心得:基于AR9331(MIPS架構(gòu))分析系統(tǒng)啟動(dòng)過程(uboot)
技術(shù)心得:基于AR9331(MIPS架構(gòu))分析系統(tǒng)啟動(dòng)過程(uboot)
AR不是玄學(xué),是“搬來”的智能家居說明書!——增強(qiáng)現(xiàn)實(shí)在智慧家居里的那些玩法
2016 EasyAR 開發(fā)者大會定檔AWE,AR SDK重大升級進(jìn)入倒計(jì)時(shí)
AR不是玄學(xué),是“搬來”的智能家居說明書!——增強(qiáng)現(xiàn)實(shí)在智慧家居里的那些玩法
創(chuàng)新場景丨下一個(gè)iPhone 時(shí)刻,AI+AR 加速虛實(shí)融合世界的到來