1. 程式人生 > >ARCore之路-ARCore的計算機視覺

ARCore之路-ARCore的計算機視覺

  就目前來說,ARCore並沒有進行計算機視覺方面的處理(只能識別水平與垂直的平面和對虛擬物體進行跟蹤,從廣義來說ARCore是進行了處理的,但我們這裡主要是指識別物體、運動和跟蹤、語義分割、3D環境重建等),不是Google沒有這個能力,而在於計算機視覺是非常消耗硬體的,移動端的硬體生態目前還不能支援。所以,本節這個標題本身就是個偽標題,但是,如果AR應用缺乏計算機視覺技術的支援,就會像一具沒有靈魂的殭屍,而不是一個人。筆者也斷言,AR要想大規模應用必須要先解決計算機視覺方面的問題。既然計算機視覺對AR應用來說如此重要,我們還是得了解下當前AR計算機視覺中最大的困難在哪裡在,該如何解決。

一、增強現實技術流程

  按照Ronald Azuma在1997年的總結,增強現實系統一般具有三個主要特徵:虛實結合,實時互動,和三維配準(又稱註冊、匹配或對準)。近二十年過去了,AR已經有了長足的發展,系統實現的重心和難點也隨之變化,但是這三個要素基本上還是AR系統中不可或缺的。

DavidWang原創

  上圖描繪了一個典型的AR系統的概念流程。從真實世界出發,經過數字成像,然後系統通過影像資料和感測器資料一起對三維世界進行感知理解,同時得到對三維互動的理解。3D互動理解的目的是告知系統要“增強”的內容。例如,在AR修理輔助系統中,當修理師打開發動機引擎蓋,AR應該能顯示出整個發動機的內部構造虛擬模型,3D環境理解的目的就是告知系統要在哪裡“增強”。比如在上面的例子中,我們需要顯示的虛擬發動機應與實際發動機位置上是完全一致的,從而達到強烈的真實感。這就要求系統實時對周圍的真實3D世界有精準的理解。一旦系統知道了要增強的內容和位置以後,就可以進行虛實結合,這個一般是通過渲染模組來完成。最後,合成的視訊被傳遞到使用者的視覺系統中,就達到了增強現實的效果。

在AR的技術流程中,資料的採集(包括影像和感測器)已經比較成熟,顯示端和渲染端的技術也有了長足的進步。相對而言,中間的對於環境和互動的精準理解就是目前的瓶頸了。精準的理解環境就需要首頁成周圍環境進行成像,然後分析成像內容精確的提取到真實世界的三維物理資訊,然後對虛擬的數字世界進行3D重建。這個過程看起來很簡單,但實際操作上困難重重。

二、AR中計算機視覺的難點

  (一)、真實環境的多樣性   得益於人腦的強大並行處理與資訊融合能力,我們可以做到看一眼就基本重建真實的3D世界。比如說,蒙著你的眼睛把你帶入到一個大俱樂部,只讓你看一眼,你就能大致瞭解這個俱樂部的長寬高、放置的桌椅、佈置的舞臺、設定的燈光、自身所處的位置等等,各種環境變化對視覺資訊的影響我們不但能輕鬆應對,有時還能加以利用。比如我們的認知能力對光照明暗的變化具有相當的魯棒性,比如我們可以通過陰影來反推三維關係,比如我們可以通過遮擋關係來反推物體的深度資訊。而這些對於計算機(確切些說是計算機視覺演算法)來說都是不折不扣的難點。在特定環境下,可能從容處理的演算法,一但環境發生變化則可能完全失敗,這就不難理解為什麼很多看起來美輪美奐的演示真正實施運用起來那麼不堪,可能的原因包括光照、形狀、紋理、姿態、相機、背景、前景、陰影、遮擋、噪聲、干擾、畸變等其中之一或幾個發生了變化。而這些影響系統效果的因素在我們人類的視覺系統中經常是難以察覺的,因為人腦已經進行了自校準或者適應。總的來說,環境的變化常常給計算機視覺演算法以及AR帶來很大的挑戰。

  (二)、當前技術的不完善   對於環境和互動的理解重建基本上屬於計算機視覺的範疇,計算機視覺是一個有著半個世紀積累的領域,和AR相關的學術成果數不勝數,各種方法、技術手段、思路層出不窮。僅跟蹤方面,光文章題目中含有“tracking”的頂級會議論文(比如CVPR),每一年都能有幾十篇,真是百花齊放。但正因為計算機視覺目前處於高速發展的活躍期,還沒有一種技術或者方法相比其他具有壓倒性的優勢,或者說能夠適應足夠光的環境和領域。

  計算機視覺技術的困難還在於這一方向是多學科的交叉與結合,同時視覺是一個涉及生理、心理的複雜過程,不僅與眼睛有關,還和大腦的推理、學習有關。研究計算機視覺的目的是要實現對人類視覺的模擬和延伸。視覺過程很難用類似於問題求解的方法符號化。隨著電腦科學領域中對定量研究的重視這種狀況會得到改善。在計算機視覺的研究過程中,應考慮將功能模擬與認知模擬相結合。人類延伸其他能力的過程中,功能模擬起到了主要作用,但視覺是涉及心理和生理兩方面的過程,因此必須在功能模擬的同時重視認知模擬。

  在計算機視覺中計算理論佔有十分重要的地位,計算理論的進步,新的計算模型的提出可以解決以往一些困難的問題;另一方面,感知手段的進步也可以起到同樣的作用。採用主動視覺可從另一個側面去處理面對的視覺問題。要實現完整的視覺系統,視覺知識的獲取、管理和利用是必不可少的。一個相對完備的視覺系統同時也是一個知識管理系統,在視覺過程中對一幅影象的理解需要大量的關於任務領域的知識,這些知識不同於問題求解中的知識可以明確的顯性表示,而且人類獲取資訊的80%是通過視覺得到的,因而這些知識涉及面之廣難以預測,因此視覺系統中的知識管理是一個重要問題。

  從以往的研究看,過去的幾十年雖然提出、解決了一些問題,但是由於視覺問題的特殊性和複雜性,還有大量的問題需要研究。研究的重點包括對新方法、新手段的探索。當然,在原有問題上採用新的描述方法、求解手段也是一個可能的突破點。在視覺領域中多數的問題不是問題本身正確與否,而是描述是否恰當以及求解是否有效的問題,因而描述方式、求解手段的探索也是十分重要的。

  總的來說,對AR應用來說,還有六個方面的困難有待突破。

  • 1、定義物體(Functional Object)
  • 2、遮擋(Occlusion)
  • 3、上下文理解
  • 4、物體跟蹤
  • 5、3D重建
  • 6、精度問題

三、AR計算機視覺新的發展

(一)、AR跟蹤配準技術發展

  三維影象配準是連結虛實的關鍵技術需求,其基礎又是3D環境重建。在AR中配準的目的是對影像資料進行幾何上的精確理解,以此來解決疊加的虛擬資料的定位問題。比如說,在AR輔助導航中如果想把導航箭頭“貼在”路面上,就一定要知道路面在哪裡。在這個例子中,每當手機攝像頭獲取到新一幀影象,AR系統首先需要將影象中的路面定位,具體的說就是在某個事先設定的統一的世界座標系下確定地面的位置,然後將要貼的箭頭虛擬地放在這個地面上,再通過與相機相關的幾何變換將箭頭畫在影象中相應的位置(通過渲染模組完成)。如前所述,三維跟蹤配準在技術上存在很多挑戰,尤其在考慮到移動裝置有限的資訊輸入和計算能力的情況下。

(二)、三維環境的AR跟蹤

  對於三維環境的動態的實時的理解是當前AR在技術研究方面最活躍的問題。其核心就是即時定位與地圖構建(SLAM,Simultaneously Localization And Mapping),在無人車、無人機和機器人等領域也起著核心作用。AR中的SLAM比其他領域中一般難度要大很多,主要是因為AR賴以依存的移動端的計算能力和資源比起其他領域來說要弱很多。目前在AR中還是以視覺SLAM為主,其他感測器為輔的局面,儘管這個情況正在改變。ARCore在物體跟蹤方面(這裡指的是對掛在錨點上的虛擬物體)已做得比較好,對VIO的精度控制得非常之不錯。

(三)、3D結構光技術的發展

  3D結構光技術主要是通過近紅外鐳射器發射的具有一定結構特徵的光線,投射到被拍攝物體上,再由專門的紅外攝像頭進行採集。由於這種具備一定結構的光線在被攝物體的不同深度區域,而導致採集後生成的影象相對原始光線結構發生變化,然後通過運算單元將這種結構的變化換算成深度資訊,我們便獲得了被拍攝物體的三維結構。3D結構光技術的根本就是通過光學手段獲取被拍攝物體的三維結構,再通過這一資訊進行更深度的應用。如前所述,3D重建是解決AR應用的關鍵性技術,3D結構光技術能比較好的解決真實環境物體的深度資訊問題,因此對解決3D重建將會起到非常好的推動作用。

(四)、語義驅動的多模態增強現實和智慧互動

  語義驅動的多模態增強現實和智慧互動(SMART:Semantic Multi-model AR inTeraction),相比幾何理解,對於視覺資訊的語義理解涵蓋廣得多的內容,因而也有著廣得多的應用。廣義的看,幾何理解也可以看作是語義理解的一個子集,即幾何屬性或幾何語義。但因為語義理解技術上來說還具有很大的挑戰性,最近的進展才使它有廣泛實用的可能性。當然,通用的對任意場景的完全語義理解目前還是個難題,但是對於一些特定物體的語義理解已經在AR中有了可行的應用,比如AR輔助駕駛和AR人臉特效。同時,對來自不同感測器(雙目、深度、慣導、語音)資訊的整合也處於快速發展中。從視覺及相關資訊來實時理解人類的互動意圖也成為AR系統中的重要一環。在各種自然互動中,基於手勢的技術是目前AR的熱點。一方面由於手勢的技術比較成熟,另一方面也由於手勢有很強的可定製性。

參考文獻