2
本文作者: 劉芳平 | 2016-06-20 19:11 | 專題:雷峰網(wǎng)公開課 |
編者按:今年 8 月,雷鋒網(wǎng)(搜索“雷鋒網(wǎng)”公眾號關(guān)注)將在深圳舉辦一場盛況空前,且有全球影響力的人工智能與機器人創(chuàng)新大會。屆時雷鋒網(wǎng)將發(fā)布「人工智能&機器人 Top25 創(chuàng)新企業(yè)榜」榜單。目前,我們正在拜訪人工智能、機器人領(lǐng)域的相關(guān)公司,從中篩選最終入選榜單的公司名單。如果你也想加入我們的榜單之中,請聯(lián)系:2020@leiphone.com。
嘉賓簡介:繆慶,Hoevo公司CEO。曾計算機競賽一等獎保送同濟大學(xué)建筑本科,后在英國建筑學(xué)名校Cardiff Uni攻讀PhD(Genetic Algorithm in sustainable design optimisation)主攻基因算法優(yōu)化設(shè)計問題,同導(dǎo)師Andrew Marsh開發(fā)建筑節(jié)能設(shè)計軟件Ecotect,06年出售與Autodesk。軟件出售后輟學(xué)PhD,終獲哲學(xué)碩士。在倫敦Gensler擔(dān)任多年建筑師,參與設(shè)計了迪拜金融中心,上海中心等項目。隨后移居珠海,從零創(chuàng)辦企業(yè)為殼牌石油生產(chǎn)Helix機油。2014年售出工廠股權(quán)回到上海重新創(chuàng)業(yè),創(chuàng)立了Hoevo。
本文整理自繆慶在雷鋒網(wǎng)硬創(chuàng)公開課的分享,以下是全文內(nèi)容。
VR是基礎(chǔ)概念,但是要確切定義又很難。一般公認的是VR一定是沉浸式的,用技術(shù)手段向使用者復(fù)制了在某個現(xiàn)場的體驗。這種體驗可以是一個真實的現(xiàn)場(比如用360°攝像機拍攝的,我們可以稱為360°視頻),也可以是一個虛擬的現(xiàn)場(比如用Unreal/Unity建造的虛擬內(nèi)容)。
沉浸式定義并不清晰,是有兩個級別標準的:
第一級3DOF(Degrees of Freedom,通常縮寫為DOF)沉浸式體驗只包括360°的視野,你可以自由旋轉(zhuǎn)身體或者頭部來觀察。比如GearVR為首的插手機的盒子VR都是這類。因為360°視頻即使在可見的未來依然是3DOF的,因此視頻這一類VR的主要概念,而且這一類VR因為Google Cardboard普及程度最高。
第二級6DOF不僅可以旋轉(zhuǎn)還可以在這個現(xiàn)場里自由移動,Oculus、HTC Vive、PSVR(PlayStation VR)都是這一類。因為不論真實世界,還是虛擬內(nèi)容/虛擬世界本質(zhì)是6DOF的,具備6DOF的設(shè)備才能在體驗上無限逼近真實而產(chǎn)生身臨其境的錯覺,才能對于游戲等虛擬內(nèi)容有完整的體驗。而目前所有設(shè)備能提供的6DOF的范圍是非常有限的。(順便說一句,9DOF/9軸是傳感器概念,計算結(jié)果依然是6DOF的。)
AR是最容易解釋的,但是卻常常和MR混淆,因為兩者都涉及到虛擬內(nèi)容和現(xiàn)實內(nèi)容的結(jié)合。如果用我們的定義,AR是在現(xiàn)實世界/現(xiàn)實視頻上疊加了一層虛擬的信息,這些虛擬信息本身和世界的位置/角度無關(guān),你不會誤會它們是世界的一部分。就像有些汽車的擋風(fēng)玻璃上可以顯示車速,Google Glass就是這一類應(yīng)用。
MR最直接的例子,就是Magic Leap的視頻那條在體育館里躍起的鯨魚。MR技術(shù)將虛擬內(nèi)容和現(xiàn)實疊加后呈現(xiàn)在你的眼前。MR的必要條件是6DOF,因為必須根據(jù)你的走動和視角即時的計算出虛擬內(nèi)容的大小、角度、光影。技術(shù)的發(fā)展會使你越來越無法區(qū)分虛擬內(nèi)容和現(xiàn)實。
從技術(shù)上MR比VR要求的定位精度和響應(yīng)速度更高,技術(shù)上是一個更大的挑戰(zhàn)。有趣的是難易會互換,在優(yōu)秀的技術(shù)支持下,從內(nèi)容開發(fā)者角度來說MR的開發(fā)量比VR小的多。舉個例子,如果我們想在一個精美的酒店的桌子上擺一個虛擬的花瓶。用MR技術(shù)只需要制作虛擬花瓶即可,而用VR則必須把精美的酒店和桌子這些現(xiàn)實物體重建一遍。換句話說,MR可以享用虛擬內(nèi)容的利益而避開包括現(xiàn)實重建、感官喪失等成本。這也許可以解釋為什么Magic Leap比Oculus估值高那么多。
從本質(zhì)上說,VR僅僅是100%覆蓋虛擬內(nèi)容的MR而已,VR設(shè)備可能是MR設(shè)備過渡階段,因為MR設(shè)備都可以實現(xiàn)VR。
Oculus的CEO Brendan Iribe在2014年Oculus Connect講到VR沉浸的5個要點,我們借其中的1、2兩點來試著統(tǒng)一一下什么是VR/MR的定位必要標準:
1、追蹤(Tracking)
6DOF(不僅能夠追蹤旋轉(zhuǎn),也能追蹤移動),360度追蹤(不管朝向哪個方向都能追蹤到6DOF);
毫米級或更高精確度,無顫抖噪音(被追蹤物體靜止時不會出現(xiàn)抖動);
舒適的追蹤范圍(頭盔所處的空間定位面積)。
2、延遲(Latency)
從動作發(fā)生到屏幕顯示最后一幀畫面的時間低于20毫秒;
整合光學(xué)追蹤和IMU數(shù)據(jù);
循環(huán)最小化: tracker → CPU → GPU → display → photons
1、6DOF(可以定位旋轉(zhuǎn)和移動),360°;
2、毫米級或更高的精度,沒有抖動噪音(完全靜止時定位不會抖動);
3、舒服的定位范圍(這里Oculus沒有提出舒服的范圍是多大,不免有為自己技術(shù)辯護之嫌);
4、從運動發(fā)生到顯示在屏幕上的時間差<20ms,即,延遲<20ms,刷新率>50Hz。
我們在這里加上重要的一個條件:必須滿足多人同時使用。
目前主要有哪些空間定位的技術(shù)?
空間定位是一個巨大的話題,我想把問題縮小一下有哪些潛在能為VR/MR服務(wù)的室內(nèi)定位技術(shù),這里就不用討論GPS這類大范圍定位了。
定位數(shù)據(jù)的描述是我們討論的基礎(chǔ)。在此我盡量避免太復(fù)雜的數(shù)學(xué),但是因為各種傳感器技術(shù)獲得的數(shù)據(jù)即使都是關(guān)于位置的信息,有的是加速度有的是速度,為了幫助理解,我簡單重復(fù)一下中學(xué)物理和數(shù)學(xué)里的概念。
定位是要知道一個物體瞬間(時刻k)的位置和角度。以位置為例,可以用來描述。第一階是位置,第二階是速度,第三階是加速度。最理想的是直接知道位置,但是知道速度也有幫助,用 x1=x0+v*dt 可以通過上一時刻的位置和速度、時間求得此刻的位置,可以對位置數(shù)據(jù)進行矯正;同理三階的加速度v1=v0+a*dt可以用來矯正速度。角度同樣有三階,角度,角速度,角加速度,我接觸的傳感器和算法之內(nèi)沒有用到角加速度的,所以旋轉(zhuǎn)可以僅用兩階。
基本邏輯是,獲得越低階的數(shù)據(jù)越好,用上一階的數(shù)據(jù)可以給低一階提供矯正。也可以跨兩階來矯正,當(dāng)然必須建立更復(fù)雜的數(shù)學(xué)模型對中間階進行描述。但是可不可以用高階觀察值直接計算低階數(shù)據(jù)? 答案是明確的不可以,IMU不能定位位置的原因也正在這里,后面會解釋。
Breandan提到將光學(xué)定位和IMU定位結(jié)合,我們從IMU講起:
IMU尤其是因為InvenSense和Bosch兩家的努力,MEMS級別的IMU成本很低而且非常成熟,每個手機里都有一組(iPhone 有兩組),它使得Gear VR和同類VR能3DOF定位。下面以O(shè)culus的IMU設(shè)計為例:
第一部分是Bosch Bmi055 由一個加速度計一個陀螺儀組成。加速度計的值描述了加速度的方向和大小,因為重力的存在而且重力方向唯一,我們可以計算出三階的位置信息(x,y,z方向的加速度);和一階的旋轉(zhuǎn)信息的兩根軸(x,y),垂直重力方向的平面內(nèi)的旋轉(zhuǎn)依然是未知的。而陀螺儀的值描述了二階旋轉(zhuǎn)信息,三軸的旋轉(zhuǎn)的速度,如前面解釋的,可以用來協(xié)助矯正加速度計提供的一階旋轉(zhuǎn)信息。
第二部分是Honeywell HMC5983(疑似),這顆芯片類似于一個指南針,可以提供磁力的方向和大小。因為地球磁場總是和地心引力垂直,它正好提供了加速度計里我們?nèi)笔У囊浑Az的旋轉(zhuǎn)信息。至此我們獲得完整的一階旋轉(zhuǎn)數(shù)據(jù)和二階旋轉(zhuǎn)數(shù)據(jù)。但是關(guān)于位置信息,我們只有3階的加速度數(shù)據(jù),無法提供有效的位置信息。
順便提一下,iPhone同時配有InvenSene MP67B 和Bosch BMA280,二顆加速度計。我們認為是用來矯正噪音。因此,用兩顆IMU來矯正數(shù)據(jù)并不完全是異想天開,雖然其它沒有一家用這樣的方案,但iPhone都這么干了。
HTC Vive的內(nèi)置IMU也是基于類似的配置。雖然IMU可以提供完整的一階和二階角度數(shù)據(jù)因此可以用來計算空間角度,但是磁場并不可靠,靠近很多電器或者金屬磁場都會改變,因此會產(chǎn)生drift的現(xiàn)象(即在z軸平面內(nèi)錯誤旋轉(zhuǎn))。
IMU不能計算位置可以看和Tango 老大Johnny齊名的UC Davis大神Oliver的視頻,希望他可以說服你。用加速度數(shù)據(jù)來計算位置是一個很tricky的事情。必須符合兩個條件才可以計算:1、必須能不斷精確矯正初速度,2、兩次矯正時間間隔越久精度越低。我們走路的腳的移動數(shù)據(jù)是極少數(shù)符合的應(yīng)用,落地時速度為0 m/s可以用來矯正,下一次落地間隔不太久。放IMU在兩只鞋子里,就能用三階模型計算出接近的跑步距離。但是無論如何,IMU只能提供精確的角度數(shù)據(jù),不能提供滿足VR使用標準的位置數(shù)據(jù)。
IMU的刷新率很高,Vive IMU的刷新率在1006Hz(很奇怪的數(shù)字)。某寶上出售的IMU都有100Hz以上兩倍于我們50Hz的標準。而且IMU的數(shù)據(jù)幾乎不需要計算,有很多種ARHS的算法可以把傳感器數(shù)據(jù)轉(zhuǎn)換成3DOF數(shù)據(jù)。
總結(jié):
6DOF:不能,只能提供3DOF信息??商峁┤A位置信息。
單個成本:極低(10元左右)
計算代價:極低(單片機都可以)
大面積覆蓋成本:零
這里插入講一個異類STEM?;具壿嬍怯萌斯そ姶蟮拇艌觥R驗槭褂铆h(huán)境內(nèi)只能有一個磁場,而磁場衰減非常快,因此我沒有深入研究,推測是用多個磁力計的方向三角計算獲得6DOF。感興趣的同學(xué)可以研究了探討一下。
Daniel DeMenthon和Larry S. Davis在1995年在International Journal of Computer Vision發(fā)了一篇論文, 'Model-Based Object Pose in 25 Lines of Code'。原文下載
這篇論文建立了一套我們稱為POSIT的方法,這套方法建立了整套光學(xué)定位的基礎(chǔ)。POSIT是通過透視結(jié)果(近大遠?。┯嬎愠鑫矬w相對于光線采集設(shè)備(比如CMOS)的旋轉(zhuǎn)和位移。沒錯, POSIT能直接計算出完整的一階位置和旋轉(zhuǎn)數(shù)據(jù)。但是,光學(xué)定位都需要外部相機。Oculus配備了Constellation,PSVR 比較壞沒有包含,但是必須有PS Eye才可以使用PSVR,也是個相機。
比如Oculus,用的是紅外LED發(fā)光,用沒有紅外濾鏡的攝像頭看就是這個樣子。取得這張圖片,然后用blob detect找到所有點的位置,然后用POSIT方法用點在圖片中的x,y位置和原始的三維的位置x,y,z(設(shè)計時已知了)就可以計算出Oculus的6DOF。
前面提到Oculus同時有IMU提供的3階位置和2階及1階角度數(shù)據(jù)和光學(xué)定位計算出來的1階位置和角度數(shù)據(jù),每個數(shù)據(jù)有自己的噪音,需要一個方法來計算出一組唯一的數(shù)據(jù)。我們比較確定的是,Oculus用了一種R.E.Kalman在1960年的論文“A New Approach to Linear Filtering and Prediction Problems”提出的算法來融合和計算出唯一的6DOF數(shù)據(jù)。
值得一提的是,因為獲得數(shù)據(jù)(圖像和IMU采集)的時間T0,計算完成時間T1,和最后畫面投在顯示屏上的時間T2之間有差(前面提到T2-T0<25ms)。所以這一套Kalman模型并不是直接給出T0信息的計算結(jié)果,而是通過2階數(shù)據(jù)的計算預(yù)測出T2時的數(shù)據(jù)。這才是真正給出的6DOF,這就是世界最高標準定位算法的追求。
Oliver的測試照片
測試發(fā)現(xiàn),Oculus通過控制Led的發(fā)光頻率來區(qū)分每一個點,這既有利于POSIT算法,也可以幫助系統(tǒng)區(qū)分兩臺Oculus,滿足多人的要求。
PSVR延續(xù)了PS Eye的方法,也是基于POSIT的光學(xué)定位。和Oculus的區(qū)別是,Sony一貫采用可見光。如圖中的手柄,Sony用可見光的顏色來玩家和設(shè)備。還有一個差別是,以前Hack PSEye和PS Move時發(fā)現(xiàn),PS的光學(xué)只采集1階的位置信息,無法采集1階的角度信息,角度信息完全由IMU提供,這點和Oculus不同。
PSVR或者Oculus的攝像頭可以通過陣列覆蓋更大空間,這種方案最有名的公司是一家原本非常專業(yè)的動作捕捉MOCAP公司Optitrack。TheVoid采用了Optitrack來建立一套可以大范圍行走的VR空間。Optitrack本質(zhì)上是多個Oculus Constellation陣列來捕捉Marker,然后用POSIT方法來計算6DOF。而澳洲的Zero Latency則是用了多個PS Eye的陣列,算法和優(yōu)缺點都是很接近的。
上圖國內(nèi)一家VR公司的圖,設(shè)備上的白色小球就是Optitrack的Marker。下圖是Optitrack的相機。通過一圈紅外發(fā)光來使白色的Marker反光,之后就像Oculus那樣計算。Optitrack本來是用來拍電影或者采集動作的,因此原本就是為了大范圍使用準備的。
使用時,相機陣列如上圖掛在上方。這種方法的好處是多個相機不容易遮擋,而且同一個Marker有多個相機捕捉到,因此可以通過fusion算法去除掉噪音(jitter)。
光學(xué)定位就是對計算機成像(pin hole model)的逆運算,如果熟悉線性代數(shù)會很容易理解計算過程。浸潤久了,你看什么都是一個矩陣了。這里不涉及復(fù)雜的原理,直接說幾個結(jié)論,如果需要論證可以來探討。
因為光學(xué)采集是FOV固定,CMOS分辨率固定,因此捕捉分辨率和距離成反比。假設(shè)水平FOV 51度,我們用兩種CMOS 640x480和2048x2048,在1m,5m,10m的距離上每個像素代表的距離如下表:
中間單位是mm。10m距離,如果用640x480來采集,發(fā)生14mm位移依然在一個像素內(nèi),意味著完全無法捕捉這個位移。以Brendan所說的mm級(sub-mm)精度為標準,我們需要很多很高分辨率的相機了。
光學(xué)定位的POSIT算法計算成本不低。而且,每一個相機都需要用高速網(wǎng)線通信,通過Hub連到計算,然后分別計算再同步。雖然單個相機都可以通過獨立線程計算,充分利用CUDA等并行計算的優(yōu)勢。隨著相機數(shù)量的上升,計算和通信成本依然是指數(shù)級上升。因此雖然光學(xué)定位理論上可以大范圍復(fù)制,但是實際上很快會遇到天花板。
總結(jié):
6DOF:可以,一般輔以IMU 3DOF信息計算。
單個成本:不低(高分辨率,高刷新率)
計算代價:高(CPU配合GPU計算)
大面積覆蓋成本:與覆蓋面積成指數(shù)級,成本迅速上升。起步價:5000元/m2
Valve這是VR世界的一朵美麗奇葩,創(chuàng)新了一種定位技術(shù)Lighthouse,同時創(chuàng)新了一種硬件合作方式,由Valve提供Lighthouse 技術(shù)HTC來生產(chǎn)HMD,后來Acer也模仿了這個模式。最初,Valve團隊可能是打算研發(fā)光學(xué)定位(下圖),某次采訪中提到是太丑而放棄了,的確誰也受不了這樣的房間。
Lighthouse是一種非常聰明的技術(shù),當(dāng)然也不是Valve發(fā)明。最早在幾個美國大學(xué)的實驗和paper上有試驗過類似的方法。
Lighthouse 有兩個,一般對角放置。兩個之間有一個是Master,兩者通過光學(xué)同步,同步之后Slave才會開始工作。每個Lighthouse里面有兩個3600rpm Nidec 電機,就是硬盤里用那種,兩個垂直放置(x,y),分別發(fā)出線性紅外激光掃過整個空間。測試發(fā)現(xiàn),具體工作時間是這樣的:
Lighthouse A 閃光
Lighthouse A – X激光開,掃描房間。 Y激光關(guān) (8.333ms)
Lighthouse A – X激光關(guān)。Y激光開,掃描房間 (8.333ms)
Lighthouse B 閃光
Lighthouse B – X激光開,掃描房間。 Y激光關(guān) (8.333ms)
Lighthouse B – X激光關(guān)。Y激光開,掃描房間 (8.333ms)
不斷重復(fù)。
Vive拆開會看到32個紅外二極管,當(dāng)收到閃光或者激光掃描時二極管電壓上升。如果我們?nèi)∪齻€二極管E,F,G在X平面里看:
Lighthouse A 閃光
E,F,G都高電壓,此時記為時刻T0
Lighthouse A – X激光開,掃描房間。 Y激光關(guān) (8.333ms)
E,F,G被掃描到并獲得高電壓時刻依次為T1,T2,T3
因為我們知道激光轉(zhuǎn)速3600rpm,所以角速度是21.6 degree/ms。于是我們計算時間差dT,dT*21.6可以求得E,F,G兩兩之間和他們與LighthouseA 初始角度的夾角。因為E,F,G兩兩之間的距離已知,可以解得X平面內(nèi)唯一的位置。(事實沒有那么簡單,因為EFG與X平面有夾角,但是依然可解)
通過簡單的數(shù)學(xué),我們就可以計算出6DOF的一階數(shù)據(jù),非常聰明的方案。計算成本很低,設(shè)備和Lighthouse之間的距離遠近不影響精度,這個相對光學(xué)定位來說是巨大的優(yōu)勢。
Lighthouse技術(shù)的主要問題是8.333ms的掃描周期是排他的,只可以有唯一的光源進行掃描。如果加一個Lighthouse那就必須在時間上增加一個8.33*2的時間周期。所以大面積很難做到。也許可以通過7200rpm的電機降低單次掃描時間到4.1666ms,如果我們用四組lighthouse,就需要4.16*2*4一共33ms的周期,這就已經(jīng)接近30hz了,如果用8組就是15hz,即使插值IMU數(shù)據(jù)也很容易產(chǎn)生暈眩了。
有沒有技術(shù)方案在Lighthouse的基礎(chǔ)上擴大范圍,我們團隊對這個問題非常感興趣。至少目前,我們無法在理論上解決這個問題。理論上,雖然可以通過與Lighthouse增加通信來控制基站開關(guān),讓一個設(shè)備大范圍使用,但是多個設(shè)備大范圍使用Lighthouse定位似乎是無解的。
總結(jié):
6DOF:可以,一般輔以IMU 3DOF信息計算。
單個成本:不低(高分辨率,高刷新率)
計算代價:低
大面積覆蓋成本:目前無法實現(xiàn)
這兩者都是通過深度傳感器的數(shù)據(jù),通過稱為Visual-inertial Odometry的方法來計算設(shè)備的相對6DOF位置和旋轉(zhuǎn)。這一點要非常明確,僅僅是相對的位置。VIO的方法也很成熟了, 主要有兩條路,一條是用圖像信息,最近很火的Hovercam和大疆Phanton4 都是這類,而Hololens和Tango用了深度信息來計算VIO。
順便提一下暗潮涌動的深度傳感器。最早成名的是Primesense被蘋果收了,2015年開始停止授權(quán),蘋果憋大招不明覺厲。Pebbles Interfaces被小米投了;Intel收了softkinetic出了Realsense;微軟收了Canesta出了kinect2;Google買了Movidius用在Tango上。這是個你有我必須有的傳感器,而微軟和Google都運用到了定位和VR/MR上。這些深度傳感器基本都是Structured Light,用ToF的比較少,我后面會提一下ToF。這篇文章可以幫助理解。
為什么很多人稱之為SLAM,那是機器人和三維掃描里用的技術(shù),用來建模環(huán)境。我們很久以前寫過用SLAM的算法,后來做VR就從中間抽出VIO的部分就可以用來做定位了,也給自家投資人展示過。VIO就是下圖中框內(nèi)部分,獲得6DOF就可以停止了,不需要再Register 點云了。
我簡單講一下深度信息的VIO方法,深度傳感器獲得一般是 RGBD信息,比普通相機的信息的RGB多一個深度信息。一般光學(xué)算法直接二值化(threshold)了,RGBD則一般不可以。如果按256色,深度也是256級算,數(shù)據(jù)量是光學(xué)算法的8000多倍。為了減少計算量,會用SIFT+ RANSAC在RGB信息里找到這一幀和上一幀之間的特征點。然后再用深度信息比較特征點的空間位置,獲得兩幀之間的6DOF變化。因此準確的說,VIO獲得的是d6DOF,是變化值。
圖來自eric-yuan.me
SIFT(Scale-invariant feature transform)是尋找特征(feature)的方法。發(fā)布于2004年,2年后,SURF(Speeded Up Robust Features) 發(fā)布。SIFT和SURF是目前最常用的特征算法,用數(shù)學(xué)方法來理解圖像的重要基礎(chǔ)。
上圖中有很多正確的特征點匹配,也有很多錯誤的,基本上交叉的線都是錯誤的。RANSAC基本原理就是隨機選擇其中3對點,計算homography(這個詞實在不知道中文,意思是對于同一畫面不同相機/不同相機位置之間矩陣,一般是R|T)。如果然后收集所有對點的計算結(jié)果,計算出consensus(最多接近的homography)。肉眼看,那些平行線應(yīng)該就是。
前面提到,SIFT/SURF和RANSAC都運用于RGB信息,剛上手可以從OpenCV開始,這幾個算法都包括,完全夠用了。然后把特征點通過深度信息計算為點云,計算homography就有6DOF的變化了。如果繼續(xù)想要SLAM,如前面提到的需要registered,然后寫成polygon,這部分可以學(xué)習(xí)一下PCL庫,跟深度、點云有關(guān)的最基礎(chǔ)算法PCL都提供了。
VIO的最大好處是不需要外部設(shè)備幫助,因此面積成本為0。但是,Johnny Lee自己也承認,VIO有兩個主要技術(shù)缺陷:
1、 每次開機它不知道設(shè)備的位置。
2、 長距離和長時間的使用,誤差會累計變成drift。
Microsoft沒有提Hololens怎么解決這兩個缺陷。但是Johnny Lee不斷強調(diào)Tango的另一張王牌是Area Learning,通過用數(shù)學(xué)描述記住環(huán)境信息,然后通過辨認環(huán)境來確定自己的開機位置和矯正長時間誤差。這個方法能優(yōu)化到什么程度不好判斷,但是畢竟是世界第一大牛在做,也許能出奇跡。
用數(shù)學(xué)描述三維環(huán)境一般就不用SIFT,SURF了,比較流行ORB。Ethan Rublee, Vincent Rabaud, Kurt Konolige, Gary R. Bradski: ORB: An efficient alternative to SIFT or SURF. ICCV 2011: 2564-2571. 在中國ORB特別火,這篇文章很容易找到。
西班牙的Uni Zaragoza優(yōu)化了ORB 做了一整套SLAM算法,與傳統(tǒng)的SLAM相比特別之處在于用AreaLearning數(shù)據(jù)矯正偏移。這套算法是開源的,對Area Learning 感興趣可以看一下 這里
從理論推導(dǎo)和實驗結(jié)果我們都判斷即有了J Lee的Area learning ,VIO的方法在兩個情況下無法工作:
1、 面對環(huán)境不可辨認,比如純色的墻,純色的桌子。桌子越亂定位效果越好,處女座比較慘。
2、 面對室外環(huán)境。因為深度傳感器有距離限制,空間大小超出限制就沒有深度信息了。
我們看到Hololens的demo把地板貼到墻上來做VIO,如果是白墻這個demo就無法工作了。因此我們停止了VIO用于定位的開發(fā),但是,深度依然非常好玩,在VR應(yīng)用中也許會起到意料之外的作用。
總結(jié):
6DOF:可以
單個成本:最高(深度,視覺傳感器)
計算代價:最高(CPU配合GPU計算)
大面積覆蓋成本:0,但是某些場景無法工作
ToF是按照時間來計算的?;景l(fā)出信息t0,你收到信號的時間t1,用信號的飛行速度v*dt就知道了離這個基站的距離,而多個預(yù)先知道位置的基站就可以提供三角定位。這和GPS的原理接近。
ToF用時間來計算,因此精度特別取決于處理器主頻。我們知道光和UWB 的飛行速度是3E11 mm/s。如果我們用4.8Ghz的的主頻,兩個周期之間的時間,光可以飛行62.5mm,如果用20M hz的ATmega,每個周期光可以飛行15000mm。這個數(shù)字就是計算精度。如果我們需要mm級的精度,只有提高主頻,或者降低信號的飛行速度。同樣是20M hz主頻,用音速的話,每個周期聲音飛行0.017mm,這就是可以定位了。但是聲音的矯正和信號編制是個挑戰(zhàn),所以基本上ToF的方案就不考慮了。
我們前面提到我們的方法來分類的話,AR是不需要定位的,VR和MR本質(zhì)是一種技術(shù),VR是100%的MR,VR依然比MR對定位精度的要求會略低一點,而MR能用的VR一定能用。我們把剛才所講到的幾種定位方法總結(jié)成一張表:
除了IMU不可以,后三種技術(shù)都可以獨立為VR設(shè)備定位,而一般都會用IMU數(shù)據(jù)做輔助矯正。其中,光學(xué)定位和VIO技術(shù)目前就可以大范圍使用。光學(xué)覆蓋成本很高,VIO設(shè)備成本很高,而且某些場景下會失效。因此 目前沒有一種能滿足你的要求。
以下都是我們一家之言了,我們長期關(guān)注相關(guān)的研究論文,這幾年VR的高速發(fā)展不同團隊也已經(jīng)幾乎窮舉了所有基礎(chǔ)研究的成果了,存在被忽視錯過的基礎(chǔ)方法的可能性不高。前面我特意保留了磁力方案和聲音ToF方案,也許這些看似奇葩的方案會是將來的主流,但是它們是徹底死胡同的可能性非常高。
從另一個角度說,技術(shù)本質(zhì)是一種交易,用成本換速度,用能耗換時間。深度學(xué)習(xí)、無人車等平行市場的需求推動計算構(gòu)架的高速發(fā)展,Intel、ARM,Nvidia的CUDA,以及Movidious的Myriad 2(DJi4 和Tango用了它)都有可能給我們有更多籌碼去做性能上的交易。因此,可以先放棄低功耗,低性能要求這兩個條件,去探索如果功耗性能都不做限制會不會有方案。
而對于VIO/SLAM我們會建議保持算法更新,然后一只眼睛看微軟,一只眼睛看Tango,萬一在理論上有突破也可以很快出產(chǎn)品。這個部分我不認為是硬件問題,是一個純軟件算法的方法。我個人不太崇尚有明顯缺陷的牛逼技術(shù),比如Siri,只要有10%的話聽錯就無法被大范圍使用,因此不是特別看好VIO。但是因為SLAM使用場景很大,機器人ROS等都可以用,寫一個不會吃虧。
我們團隊除了自身的技術(shù)以外,最關(guān)注的是Lighthouse,我前面解釋了,它幾乎可以滿足所有需求,但是不能大面積鋪設(shè)。也許光通信的某種可能被忽略了,也許可以用聲音或者UWB掃描環(huán)境,Lighthouse離大面積使用只有一個假設(shè)距離,而其他技術(shù)似乎還有好幾個假設(shè)的距離。我們重視Lighthouse還有一個原因,如果它能夠被大范圍使用,它的鋪設(shè)成本是線性的,這個和光學(xué)大面積的指數(shù)級關(guān)系會有巨大的成本差別,完全有可能成為室內(nèi)的GPS。和VIO相比我覺得Lighthouse更有可能有所突破。
最后,當(dāng)然我認為Hoevo的方案在今天是最好的。
Hoevo的整個團隊包括我,深深相信VR/MR會像GPS,移動網(wǎng)絡(luò)一樣鋪滿這個世界,無處不在。我們相信我們有責(zé)任推動這樣的未來更快實現(xiàn),后來才發(fā)現(xiàn)我們具備必要的技術(shù)。要實現(xiàn)這個未來,就需要在大范圍定位技術(shù)上有突破,就像我前面分析的各種目前技術(shù)的缺陷。很難想象Optitrack或者TheVoid能在每一個城市每一個商場都有,成本太高,架設(shè)調(diào)試太困難了。
Hoevo的方案500元每平米,普通建筑工人都可以建設(shè),理論上可以鋪設(shè)無線范圍的空間,提供高刷新率的6DOF絕對定位。Pillsbury和Sughrue兩家美國頂級專利律所正在幫助我們在全球范圍PCT專利的申請,我們希望能保持技術(shù)和專利領(lǐng)先,這樣我們才能比今天更開誠布公的討論技術(shù)。我們也完成了一套Mixed Reality的數(shù)學(xué)模型,我們希望可以很快將SDK提供給所有人,讓更多人加入VR/MR的革命里來。
最后是我們的demo:視頻
參考資料:
1、UC Davis大神Oliver的視頻:https://www.youtube.com/watch?v=_q_8d0E3tDk
2、Oculus CEO Brendan Iribe:VR沉浸的5個要點:http://www.roadtovr.com/oculus-shares-5-key-ingredients-for-presence-in-virtual-reality/
3、Model-Based Object Pose in 25 Lines of Code:http://www.cfar.umd.edu/~daniel/daniel_papersfordownload/Pose25Lines.pdf
4、SIFT(Scale-invariant feature transform)是尋找特征(feature)的方法:Lowe, David G. (2004). "Distinctive Image Features from Scale-Invariant Keypoints". International Journal of Computer Vision 60 (2): 91–110. doi:10.1023/B:VISI.0000029664.99615.94.
5、SURF(Speeded Up Robust Features) :Bay, H., Tuytelaars, T., Van Gool, L., "SURF: Speeded Up Robust Features", Proceedings of the ninth European Conference on Computer Vision, May 2006.
6、RANSAC: Martin A. Fischler & Robert C. Bolles (June 1981). "Random Sample Consensus: A Paradigm for Model Fitting with Applications to Image Analysis and Automated Cartography" (PDF). Comm. of the ACM 24 (6): 381–395. doi:10.1145/358669.358692.
7、SLAM比較簡單好用的論文:F. Endres, J. Hess, N. Engelhard, J. Sturm, D. Cremers, W. Burgard: An Evaluation of the RGB-D SLAM System, Proc. of the IEEE Int. Conf. on Robotics and Automation (ICRA), 2012
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。