| 增強(qiáng)現(xiàn)實(shí)技術(shù) (AR,Augmented Reality) 將計(jì)算機(jī)生成的虛擬世界嵌套在真實(shí)世界中。和目前同樣火爆的虛擬現(xiàn)實(shí)(VR,Virtual Reality)不同,它不是用虛擬化的技術(shù)創(chuàng)造出一個完全虛擬的世界來替代現(xiàn)實(shí)世界,而是將真實(shí)的環(huán)境和虛擬的物體實(shí)時(shí)地疊加在同一個畫面和空間并同時(shí)存在。 最典型的 AR 設(shè)備就是谷歌眼鏡,此外其他知名的 AR 產(chǎn)品還有微軟的 HoloLens 等。去年大熱的 Pokemon Go 游戲,則很好地為大家做了一次 AR 科普,但 Pokemon Go 屬于 LBS+AR ,是一種相對比較簡單的體驗(yàn),并不是真正視覺的 AR 技術(shù)。 Pokemon Go 和 Hololens 的大熱,讓人們看到了 AR 技術(shù)所能帶來的獨(dú)特體驗(yàn) 從上面可以看到,典型的 AR 場景是通過顯示設(shè)備在現(xiàn)實(shí)世界中看到虛擬物體。攝像頭負(fù)責(zé)捕捉實(shí)時(shí)場景畫面,后臺系統(tǒng)通過實(shí)時(shí)的圖像和傳感器數(shù)據(jù)對三維環(huán)境識別和定位,最后顯示設(shè)備將虛擬物體和現(xiàn)實(shí)場景結(jié)合的圖像渲染后呈現(xiàn)出來。在 AR 的技術(shù)流程中,數(shù)據(jù)的采集(圖像和傳感器)已經(jīng)比較成熟,渲染技術(shù)也有了比較好的進(jìn)步,更多的難點(diǎn)存在于對三維環(huán)境的識別和定位上。近幾年,由于計(jì)算機(jī)視覺和 slam 算法的發(fā)展完善,使得它的商業(yè)應(yīng)用成為可能。 智能手機(jī)作為手持設(shè)備的代表,也變得越來越好。顯示器的分辨率越來越高,處理器越來越強(qiáng),傳感器越來越多,成為消費(fèi)者接觸 AR 應(yīng)用最為方便的形式。 目前,我們所做的工作都是基于手機(jī)單目視覺的。 一、基于平面圖像的 AR 技術(shù) 在整個視覺 AR 的發(fā)展過程中,一開始使用二維碼或者類似的 BCH 碼進(jìn)行識別和平面定位,但是二維碼的非自然人工痕跡還是很大地局限了它的應(yīng)用,所以,接著很自然的擴(kuò)展就是使用二維圖片來進(jìn)行識別和定位,但是并不是所有的二維圖片都可以做到,一些紋理簡單的圖片可能就無法用視覺的方法識別和定位?;诙S碼和二位圖片的識別跟蹤技術(shù)已經(jīng)基本成熟,也有了廣泛的應(yīng)用,算法改進(jìn)的主要目標(biāo)還是在于提高算法的穩(wěn)定性和準(zhǔn)確性。我們微信 AR 團(tuán)隊(duì)在這上面也有了非常深厚的積累,能在手機(jī)端做到實(shí)時(shí)的檢測跟蹤和渲染。 基于簡單的二維圖片的技術(shù)還是無法應(yīng)用到一些復(fù)雜場景。二維圖片的自然擴(kuò)展就是三維物體了。一些簡單的規(guī)則三維物體,比如圓柱形,可樂罐同樣可以作為虛實(shí)結(jié)合的載體。稍微復(fù)雜一些的三維物體通常也可以通過分解成簡單規(guī)則物體的方式來處理。但是,如何處理通用的物體,仍然是一個巨大的挑戰(zhàn)。 二、基于已知尺寸三維物體的AR技術(shù) 已知:三維物體通常是指已知物體精確尺寸或者 CAD 設(shè)計(jì)模型的三維物體,通常常見的有立方體、錐體等。 下面我將主要介紹下我們團(tuán)隊(duì)在三維物體上的一些探索。算法的流程圖如下: 在 AR 技術(shù)中,進(jìn)行三維配準(zhǔn)計(jì)算初始地圖到實(shí)時(shí)視頻的位姿是一個核心的問題。 整個流程主要包含兩個步驟:首先是進(jìn)行模型注冊,然后是在注冊的模型中識別出匹配的模型并進(jìn)行檢測、計(jì)算相關(guān)的位姿參數(shù)。 1,三維物體模型注冊 首先,需要對相機(jī)的內(nèi)參進(jìn)行標(biāo)定。由于我們是基于手機(jī)做的應(yīng)用,因此我們對常用的幾個手機(jī)型號的內(nèi)參做了標(biāo)定。 模型注冊的主要目標(biāo)是建立三維物體的特征點(diǎn)的三維坐標(biāo)信息庫。 對于這些已知精確尺寸的三維物體,通過二維圖像上的一些簡單標(biāo)定就可以完成模型注冊。 2,三維物體檢測與姿態(tài)估計(jì) 在檢測過程中,拍攝視頻畫面,檢測圖像的自然特征,將當(dāng)前視頻圖像與指定模型的參考圖像匹配,根據(jù)匹配結(jié)果,判斷當(dāng)前場景圖像與模型圖像是否相同。如果不相同,則繼續(xù)識別過程。否則,進(jìn)入到檢測階段。 在檢測階段,根據(jù)映射表找到當(dāng)前圖像對應(yīng)的物體模型的 3D 點(diǎn)坐標(biāo),得到 2D 坐標(biāo)到 3D 空間坐標(biāo)的投影矩陣,根據(jù)投影矩陣和已知的內(nèi)參矩陣恢復(fù)出當(dāng)前圖像幀的位姿矩陣,之后進(jìn)行幾何校驗(yàn)和反投影誤差分析,判斷其是否是有效的位姿矩陣。如果存在有效的位姿矩陣,那么,我們就可以定義虛擬物體的坐標(biāo)系,疊加三維虛擬物體進(jìn)行渲染。此后開始進(jìn)入到跟蹤階段進(jìn)行跟蹤計(jì)算新的位姿矩陣,當(dāng)跟蹤到的點(diǎn)數(shù)影響到了計(jì)算位姿矩陣的精度時(shí),則重新進(jìn)行識別和檢測。 下面的視頻演示了我們的一些實(shí)驗(yàn)結(jié)果。 
 三維物體跟蹤與二維平面圖像的跟蹤技術(shù)大同小異,都是通過對物體一些關(guān)鍵點(diǎn)以及邊緣等的投影來進(jìn)行匹配和姿態(tài)估計(jì)。與檢測不同的是,在跟蹤時(shí)我們會充分利用幀間的連續(xù)性,實(shí)時(shí)創(chuàng)建出物體的運(yùn)動模型,并根據(jù)運(yùn)動模型預(yù)判和優(yōu)化姿態(tài)。 此外,三維物體跟蹤我們采用了基于多關(guān)鍵幀(Multi Keyframe)的跟蹤方式,這是由于三維物體有多個面,多關(guān)鍵幀比單關(guān)鍵幀能夠獲取更加魯棒的姿態(tài)。 
 三、基于未知三維物體與環(huán)境的AR技術(shù) 1,三維物體重建 對于未知三維物體,我們就不能使用上面介紹的三維信息注冊的方法了,因?yàn)槿S信息注冊需要首先已知物體的設(shè)計(jì)模型,或者物體為簡單的三維形狀(立方體、錐體等)。對于未知或者復(fù)雜三維物體,我們需要首先采用三維重建的技術(shù)來獲取物體的三維信息。 三維重建是使用物體在若干二維圖像上的投影,來恢復(fù)三維信息的技術(shù)。聽起來很神奇是不是?三維重建一直是計(jì)算機(jī)視覺中的一個熱門領(lǐng)域也是一個難點(diǎn)。它主要利用 SFM(Structure from Motion)這類的技術(shù),根據(jù)多幀圖像間的匹配與三角測量學(xué)的結(jié)合估計(jì)出三維坐標(biāo),并經(jīng)過迭代優(yōu)化獲得接近真實(shí)物體的結(jié)果。 三維重建分為稠密重建與稀疏重建,他們的基本思想大同小異。在 AR 中我們通常為了速度考慮會更多地使用稀疏或者半稠密的三維重建技術(shù),但稠密重建除了能夠恢復(fù)三維信息還能夠重建物體的紋理。 下面是我們手機(jī)端三維重建的一些演示: 
 2,三維環(huán)境重建 此外在很多的應(yīng)用中,我們需要對周圍的環(huán)境進(jìn)行理解,將虛擬和 3D 環(huán)境結(jié)合起來,這也是一個非常充滿挑戰(zhàn)的問題。三維場景的識別理解還有很大的探索空間,即便是目前火爆的 HoloLens 從追求完美的角度看也還是存在很多提升的空間。 在三維環(huán)境的識別跟蹤上,最核心的就是“即時(shí)定位與地圖構(gòu)建”(SLAM,Simultaneously Localization And Mapping) , 目前 AR 主要還是以視覺 SLAM 為主,其他傳感器為輔。 SLAM 問題可以描述為:你處在一個陌生的環(huán)境中,需要解決“我在哪里”,即定位問題(Localization)。周圍環(huán)境是怎么樣的,即構(gòu)建即時(shí)地圖(Mapping) 。這樣你一邊走,一邊理解周圍的環(huán)境(Mapping),一邊確定自己在所建地圖上的位置 (Localization) 。 為了能正確識別自然場景,需要保存大量的參考視圖。同時(shí)根據(jù)輸入圖像中提取的相應(yīng)特征與場景圖像的特征進(jìn)行匹配,然后根據(jù)匹配點(diǎn)的對應(yīng)關(guān)系對物體的三維位姿進(jìn)行計(jì)算。同樣,在這里需要首先對所有的場景進(jìn)行三維重建,完成重建注冊過程。我們微信AI團(tuán)隊(duì)對于 SLAM 技術(shù)同樣有一定積累,在后續(xù)的文章中,我們將會介紹三維環(huán)境 AR 技術(shù)與 SLAM 的一些內(nèi)容。 四、AR技術(shù)的難點(diǎn)和挑戰(zhàn) 正如上面所介紹的,這里面存在很多關(guān)鍵的技術(shù)難點(diǎn)。 物體的檢測和識別:發(fā)現(xiàn)并找到場景中的目標(biāo)。目前,通用的物體檢測和識別技術(shù)可以分為兩種:一種是從分類和檢測的角度出發(fā),識別某一類的對象而不是具體的個體;另外一種是從圖像匹配的角度出發(fā),通過匹配的方式找到最相關(guān)的圖像,從而定位環(huán)境中的目標(biāo)。近幾年,隨著深度學(xué)習(xí)技術(shù)的不斷發(fā)展,檢測和識別的性能也在不斷提高中。 跟蹤定位技術(shù):計(jì)算機(jī)視覺跟蹤提供了一種低成本的解決方法,但是基于視覺的方法受圖像噪聲,光照,尺度,旋轉(zhuǎn)等的影響容易對跟蹤精度造成較大的影響,因此研究重點(diǎn)在于如何精確而又穩(wěn)定地進(jìn)行跟蹤。目前的發(fā)展方向是基于 slam 的方法,可以跟蹤較大范圍,在跟蹤的同時(shí)也可以完成場景的重建,但這類方法計(jì)算速度慢,數(shù)據(jù)量大,算法復(fù)雜度高,因此后續(xù)的難度也不小。 動態(tài)場景與 AR 真實(shí)感之間的矛盾:目前的應(yīng)用都是假設(shè)場景中的一切事物都是靜態(tài)的,但是在現(xiàn)實(shí)生活中,尤其是在室外場景中,所有的物體都在變化,如光照、天氣、行人、等等。因此,物體動態(tài)檢測和跟蹤技術(shù)也是未來 AR 研究的重點(diǎn)。 此外,如何在手機(jī)或其他設(shè)備上實(shí)時(shí)渲染也是一個需要不斷優(yōu)化的過程。(來源:微信AI) 
				更多精彩內(nèi)容,關(guān)注青亭網(wǎng)微信號(ID:qingtinwang),或者來微博@青亭網(wǎng)與我們互動!轉(zhuǎn)載請注明版權(quán)和原文鏈接!				
					
				
				
				 | 
|  |