2018年7月,深藍(lán)學(xué)院發(fā)起并承辦的“第一屆全國(guó)SLAM技術(shù)論壇”,邀請(qǐng)中科院自動(dòng)化所申抒含老師作《基于圖像的大規(guī)模場(chǎng)景三維建?!返膱?bào)告?,F(xiàn)將內(nèi)容整理公布,希望更多SLAMer受益。
1. 三維幾何視覺(jué)的核心問(wèn)題
三維幾何視覺(jué)是人工智能、機(jī)器人領(lǐng)域都會(huì)面臨的問(wèn)題。諸多無(wú)人設(shè)備都工作在三維的場(chǎng)景中,需要讓計(jì)算機(jī)對(duì)三維場(chǎng)景有充分的感知和理解,這對(duì)機(jī)器與三維場(chǎng)景的交互、路徑規(guī)劃等至關(guān)重要。
在深度學(xué)習(xí)爆發(fā)的今天,基本上所有的二維圖像的理解問(wèn)題都被深度學(xué)習(xí)所統(tǒng)治,但在三維視覺(jué)領(lǐng)域,傳統(tǒng)的三維幾何視覺(jué)算法仍然占有主要地位。當(dāng)然深度學(xué)習(xí)在三維視覺(jué)領(lǐng)域也正在蓬勃的發(fā)展,所以不排除傳統(tǒng)算法也會(huì)被取代的可能。三維感知過(guò)程有以下兩個(gè)要點(diǎn):
(1)空間的三維幾何結(jié)構(gòu);
(2)相機(jī)在空間中的六自由度位姿。
這是機(jī)器人對(duì)三維場(chǎng)景感知、決策、動(dòng)作的關(guān)鍵基礎(chǔ)信息。SLAM與SFM的研究目的都是通過(guò)二維圖像數(shù)據(jù)還原環(huán)境的三維幾何結(jié)構(gòu),以及相機(jī)的空間位姿。
目前主要通過(guò)以下兩種途徑從二維圖像中恢復(fù)出場(chǎng)景結(jié)構(gòu)和相機(jī)位姿:
(1)SLAM——視覺(jué)SLAM
在線處理連續(xù)幀的圖像,實(shí)時(shí)重建稀疏或稠密的場(chǎng)景。由于在實(shí)時(shí)計(jì)算場(chǎng)景結(jié)構(gòu)和相機(jī)位姿的過(guò)程中,所有的信息都是來(lái)自底層二維圖像的匹配,必定存在匹配的外點(diǎn)和誤差,匹配點(diǎn)的分布情況也會(huì)出現(xiàn)各種問(wèn)題。SLAM重建過(guò)程中會(huì)有閉環(huán)檢測(cè)這一步驟,將誤差分配至每一個(gè)相機(jī)糾正漂移。檢測(cè)閉環(huán)后需要進(jìn)行圖優(yōu)化糾正漂移,使之前建立的場(chǎng)景結(jié)構(gòu)恢復(fù)到正常歐式空間中來(lái)。
(2)SFM——從運(yùn)動(dòng)中恢復(fù)結(jié)構(gòu)
SFM可看作是一個(gè)離線版的SLAM,但兩者技術(shù)細(xì)節(jié)上還是有差異的。SFM系統(tǒng)輸入的圖像可以是無(wú)序的,不局限于視頻或連續(xù)幀。重建場(chǎng)景稀疏結(jié)構(gòu)以及計(jì)算相機(jī)位姿的過(guò)程是離線進(jìn)行的。與SLAM最大的區(qū)別是SFM是在圖像采集完畢后,對(duì)圖像進(jìn)行完全的匹配。當(dāng)場(chǎng)景稀疏重建已經(jīng)完成,如果新的相機(jī)進(jìn)入場(chǎng)景后,可以實(shí)時(shí)確定相機(jī)位姿,相當(dāng)于SLAM中把構(gòu)圖與閉環(huán)檢測(cè)關(guān)閉只做重定位。
這兩種途徑本身都是通過(guò)二維圖像來(lái)還原三維場(chǎng)景結(jié)構(gòu)以及相機(jī)的位姿的,但兩者有什么具體的區(qū)別?首先SLAM來(lái)源于機(jī)器人領(lǐng)域,除了視覺(jué)特征之外可能會(huì)引入其他的一些傳感器的信息,而SFM是計(jì)算機(jī)領(lǐng)域視覺(jué)領(lǐng)域的一個(gè)概念,完全依靠圖像。如果應(yīng)用要求實(shí)時(shí)在線,不能離線完成,那么只用SLAM來(lái)解決。如果可以首先離線重建,定位后續(xù)再做,同時(shí)輸入的是離散的圖像,則可能需要使用SFM來(lái)完成。
如果輸入的是視頻序列且不需要實(shí)時(shí)在線處理,原理既可以輸入到SLAM系統(tǒng),也可以輸入到SFM系統(tǒng)。這時(shí)兩個(gè)系統(tǒng)處理的能力會(huì)有什么差異?是否在任何情況下兩者都可以完成重建任務(wù)?
(1)SLAM系統(tǒng)基本沿用如下流程。首先SLAM的匹配是局部匹配,每提取到一個(gè)新的關(guān)鍵幀,與此關(guān)鍵幀之前圖像進(jìn)行匹配,并進(jìn)行閉環(huán)檢測(cè);根據(jù)已建地圖與當(dāng)前圖像中的點(diǎn)匹配通過(guò)PNP來(lái)計(jì)算相機(jī)位姿;利用三角化產(chǎn)生新的地圖點(diǎn);調(diào)用局部的BA調(diào)整,將小范圍內(nèi)的所有相機(jī)位姿和所有的三維點(diǎn)進(jìn)行一次局部的反投影誤差最小化優(yōu)化,使我們局部的范圍內(nèi)的位姿和三維點(diǎn)得到優(yōu)化。
SLAM的閉環(huán)檢測(cè)將誤差分解到每個(gè)相機(jī),發(fā)現(xiàn)閉環(huán)后調(diào)用Pose Graph優(yōu)化相機(jī)位置T與朝向R。優(yōu)化完畢后調(diào)用全局BA使整體誤差最小化。由于整體優(yōu)化需要考慮三維點(diǎn),所以優(yōu)化的目標(biāo)函數(shù)自變量更多。為使初始值更好,一般先用Pose Graph優(yōu)化再做全局的BA優(yōu)化,完成地圖構(gòu)建和相機(jī)位姿的解算。
(2)SFM跟SLAM的主體思想很接近,但仍然有諸多區(qū)別。SFM圖像間經(jīng)過(guò)完全匹配建立關(guān)系,并不是對(duì)圖像逐幀進(jìn)行匹配。匹配結(jié)束后從初始兩視圖開(kāi)始重建,初始的圖像可以是任意的,兩圖像可以是不相鄰的甚至可以相鄰很遠(yuǎn)的。與SLAM不同SFM的圖像已經(jīng)進(jìn)行過(guò)完全匹配,所以只要滿足初始種子點(diǎn)約束即可。
種子點(diǎn)選擇后進(jìn)行重建并添加新的圖像,通過(guò)PNP計(jì)算相機(jī)的位姿,三角化新的地圖點(diǎn),最后進(jìn)行局部的BA優(yōu)化。SLAM的BA優(yōu)化是在小范圍內(nèi)做優(yōu)化,而SFM則是所有的相機(jī)位姿和所有的三維點(diǎn)都要參與BA優(yōu)化,計(jì)算量較大但這樣重建的魯棒性較高。
最后所有相機(jī)都添加完之后,會(huì)調(diào)用完整的BA優(yōu)化使相機(jī)的位姿和三維點(diǎn)都最優(yōu)并且整個(gè)場(chǎng)景重投影誤差最小化。SLAM如何解決圖像增加過(guò)程中出現(xiàn)的漂移問(wèn)題?主要依靠閉環(huán)檢測(cè)之后的Pose Graph進(jìn)行調(diào)整。而對(duì)于SFM系統(tǒng):
(1)初始圖像對(duì)是在整個(gè)匹配當(dāng)中選擇的,添加的下一幀圖像并不一定與初始圖像相臨,可能是任意一幀圖像;
(2)由于SFM是離線的系統(tǒng),可提前構(gòu)造出完全匹配圖,所以在做增量式捆綁調(diào)整之前,就可對(duì)匹配關(guān)系圖盡量的優(yōu)化和簡(jiǎn)化,這是兩者之間很大的區(qū)別。
2. 圖像三維重建基本流程
SFM是對(duì)大規(guī)模場(chǎng)景進(jìn)行高精度建模的第一步,一個(gè)完整的三維建模系統(tǒng)包括稀疏重建、稠密重建、點(diǎn)云分割、單體建模等多個(gè)步驟。
三維建模系統(tǒng)的輸入是多視角的圖像,首先重建出由特征點(diǎn)所構(gòu)造的稀疏點(diǎn)云,以及每個(gè)相機(jī)的空間位姿。在相機(jī)位姿確定的情況下計(jì)算圖像中每個(gè)像素點(diǎn)對(duì)應(yīng)的空間點(diǎn)位置,得到稠密的空間點(diǎn)云。將稠密點(diǎn)云三角化處理成三角網(wǎng)格并貼上紋理,得到最終的網(wǎng)格模型。這時(shí)重建得到的三角網(wǎng)格模型只有三維幾何信息沒(méi)有語(yǔ)義信息。
為了形成三維語(yǔ)義模型,目前已有的解決方法是對(duì)點(diǎn)云進(jìn)行語(yǔ)義分割,或是將三角網(wǎng)格分割為帶有語(yǔ)義的網(wǎng)格。而語(yǔ)義模型由大量具有類別屬性的三角面片構(gòu)成,并沒(méi)有幾何屬性。在點(diǎn)云語(yǔ)義分割后,還會(huì)進(jìn)一步做單體的語(yǔ)義建模。將單個(gè)建筑物的點(diǎn)云變成類似于CAD所構(gòu)建的模型,而不再是三角面片擬合出的模型,使模型完全矢量化和語(yǔ)義化。
3. 相關(guān)工作介紹
下面介紹一下近兩年來(lái)我們?cè)诖笠?guī)模場(chǎng)景三維建模這方面的一些最新研究進(jìn)展。
3.1 基于正交最大生成樹(shù)的漸進(jìn)式SFM
SFM的關(guān)鍵問(wèn)題主要有以下三點(diǎn):
(1)所有的重建都是基于底層圖像的匹配。提高底層二維圖像的匹配結(jié)果的質(zhì)量,可以顯著提高SFM的重建質(zhì)量和可靠性。
(2)特征的匹配需要消耗大量的時(shí)間。降低匹配特征點(diǎn)所需的時(shí)間,可使算法在超大規(guī)模的圖像數(shù)據(jù)集上依舊有較高的重建效率。
(3)匹配的外點(diǎn)不可避免。減少外點(diǎn)的出現(xiàn),尤其是在重復(fù)紋理和弱紋理區(qū)域,對(duì)保證重建的可靠性非常重要。
匹配點(diǎn)數(shù)量越多外點(diǎn)的個(gè)數(shù)也會(huì)不可避免的增多。如果圖像匹配的結(jié)果中外點(diǎn)比例超過(guò)一定數(shù)量會(huì)直接導(dǎo)致系統(tǒng)崩潰,但如果匹配數(shù)量不夠又會(huì)導(dǎo)致標(biāo)定過(guò)程產(chǎn)生累計(jì)誤差?;谶@個(gè)矛盾,我們需要尋找一種途徑使圖像匹配的又少又好且保證充分的連接性。下圖是我們解決這一問(wèn)題的基本思路。圖中的每個(gè)節(jié)點(diǎn)表示一幅圖像,如果兩幅圖像之間有匹配關(guān)系,則節(jié)點(diǎn)間會(huì)建立一條邊。邊的顏色表示分組特性,相同顏色的連接關(guān)系更加緊密。
圖中的每個(gè)節(jié)點(diǎn)都表示一副圖像,但不同圖的邊所包含的內(nèi)容不同,主要有四類圖:
(1)Similarity Graph,兩個(gè)節(jié)點(diǎn)的邊上存儲(chǔ)的值是兩圖的相似程度。兩個(gè)圖相似程度由BoW向量距離表示,如果相似程度達(dá)到一定的閾值則啟動(dòng)相應(yīng)的匹配流程。
(2)Match Graph,兩圖之間如果相似度超過(guò)一定閾值,啟動(dòng)圖像匹配。兩圖之間要作SIFT特征匹配,此時(shí)邊上存儲(chǔ)的就是兩副圖像間的特征匹配點(diǎn)。
(3)Pose Graph,基于已得到的兩兩圖像間的匹配點(diǎn)計(jì)算本質(zhì)矩陣,并從本質(zhì)矩陣中分解出兩相機(jī)間的相對(duì)旋轉(zhuǎn)和相對(duì)平移。此時(shí)每條邊上存儲(chǔ)的是兩相機(jī)之間的相對(duì)旋轉(zhuǎn)與平移。與SLAM中的Pose Graph不同,SFM這一步并沒(méi)有做重建,所以從本質(zhì)矩陣中分解出的相對(duì)平移只有方向沒(méi)有尺度。雖然五點(diǎn)法估計(jì)基本矩陣過(guò)程很快,但仍然要消耗大量的資源。
(4)View Graph,邊上不僅存儲(chǔ)了兩副圖象之間的相對(duì)旋轉(zhuǎn)和相對(duì)平移,還存儲(chǔ)了通過(guò)極幾何驗(yàn)證的內(nèi)點(diǎn)?,F(xiàn)在絕大多數(shù)的SFM系統(tǒng)都要通過(guò)上述的操作,得到View Graph輸入給SFM。
顯然,因?yàn)槠ヅ鋱D像和計(jì)算相對(duì)位姿需要消耗大量的資源,所以我們從最簡(jiǎn)單的Similarity Graph著手簡(jiǎn)化計(jì)算。抽取一個(gè)圖的子集,這個(gè)子集應(yīng)盡量滿足圖的緊密連接性,并且使邊盡量少,這樣可以最大程度的減少匹配計(jì)算量。
另外,匹配的邊越多引入匹配外點(diǎn)的可能性就越高,尤其是重復(fù)的紋理區(qū)域。如果抽出部分質(zhì)量較好、可靠性比較高的一些邊,除了降低復(fù)雜度之外,還可以剔除重復(fù)紋理弱紋理區(qū)域引入外點(diǎn)的影響?;诖讼敕ㄎ覀兲岢龌谡蛔畲笊蓸?shù)的漸近式SFM?;镜乃悸啡缦拢?/p>
對(duì)SFM的輸入不是View Graph,而是可以快速計(jì)算的Similarity Graph。相似性圖中的每個(gè)點(diǎn)都有連接邊,雖然越稠密對(duì)重建越好,但過(guò)多的邊同樣要消耗更多的資源。我們從圖中抽出若干最大的生成樹(shù),并且保證最大生成樹(shù)間是正交的。
一棵樹(shù)就可以實(shí)現(xiàn)對(duì)所有結(jié)點(diǎn)的完整覆蓋,而抽出若干棵正交的最大生成樹(shù),相當(dāng)于對(duì)圖像進(jìn)行了多次覆蓋。當(dāng)覆蓋次數(shù)足夠多且足夠的緊致,就得到一個(gè)緊致且稀疏的子圖。因?yàn)樽訄D中邊的數(shù)量非常少,所以只匹配這些邊可以極大減少匹配所消耗的資源。
那么什么是正交最大生成樹(shù)?
比如Similarity Graph里有6幅圖像,任意兩幅圖像之間的邊都保存著兩圖像的相似度。在初始的Similarity Graph中,首先抽出第一棵最大生成樹(shù),樹(shù)中邊的相似性應(yīng)盡量高,對(duì)所有的節(jié)點(diǎn)完整的覆蓋一次。但是匹配當(dāng)中不可避免產(chǎn)生外點(diǎn),所以為了克服外點(diǎn)的影響,使樹(shù)更加穩(wěn)定,再抽第二顆正交最大生成樹(shù),正交是指這兩棵樹(shù)之間沒(méi)有重疊的邊,在這兩顆樹(shù)上做SFM即可。
通過(guò)抽取最大生成樹(shù),可極大減少匹配量。根據(jù)實(shí)驗(yàn)通過(guò)這種方法可減少6-20倍的匹配量,使匹配時(shí)間有數(shù)量級(jí)的減少。
因?yàn)樽訄D中每一條邊上都要計(jì)算圖像之間的匹配點(diǎn),利用SIFT可在圖象中提取到相當(dāng)多的點(diǎn),成千上萬(wàn)的點(diǎn)在后續(xù)的捆綁調(diào)整過(guò)程中參與優(yōu)化,產(chǎn)生大量的匹配序列(tracks)。我們把邊進(jìn)一步簡(jiǎn)化,邊上的兩兩圖像匹配后,匹配點(diǎn)在圖像之間會(huì)形成匹配軌跡(tracks),我們希望從這些軌跡當(dāng)中抽取出盡量完整覆蓋圖像、保持圖像的連接性,又包含盡量少外點(diǎn)的tracks,稱為tracks selection。
下圖左方是進(jìn)行tracks selection和捆綁調(diào)整后得到的三維點(diǎn),如果我們不做tracks selection用原始的所有匹配點(diǎn)進(jìn)行捆綁調(diào)整,最后得到右邊的結(jié)果??梢钥吹矫芏认嗖罘浅4?。把匹配點(diǎn)序列結(jié)構(gòu)進(jìn)行簡(jiǎn)化后,耗時(shí)將會(huì)從2.4小時(shí)降低至0.7小時(shí),內(nèi)存的消耗從原來(lái)的13G降到1.4G,并且重建的誤差更小。
下圖是北京的天壇的重建結(jié)果,要注意到天壇各個(gè)角度看起來(lái)都完全一樣。另外一組很容易產(chǎn)生歧義的數(shù)據(jù)是對(duì)稱的賓館大堂,因?yàn)榭雌饋?lái)完全一樣,所以圖象錯(cuò)誤匹配的概率非常高,重建很容易失敗。而如果使用最大生成樹(shù),我們只抽兩顆樹(shù)就可以完成這個(gè)重建,并很大程度克服重復(fù)紋理帶來(lái)的問(wèn)題。
3.2 天地融合式SFM重建
重建過(guò)程當(dāng)中除了精度需要考慮,也需要考慮重建的完整性。尤其是大規(guī)模場(chǎng)景重建時(shí),若只有地面拍攝的圖像,那么屋頂就會(huì)缺失。如果用無(wú)人機(jī)拍攝,地面的場(chǎng)景細(xì)節(jié)就容易丟失。
如果要求重建的場(chǎng)景又完整又精確,通常需要將地面近景采集和航拍的遠(yuǎn)景采集結(jié)合起來(lái)。但是航拍的圖像和地面的圖像很難直接匹配,因此重建非常困難。
處理這種問(wèn)題有兩種策略:
一種是在圖像匹配的階段將空中圖片與地面圖片進(jìn)行匹配,但圖像雖然拍的是同一個(gè)建筑卻因?yàn)橐暯呛统叨认嗖钐?,若直接用SIFT匹配,得不到任何有利的信息。
還有一種策略,地面的圖像和空中圖像分別單獨(dú)做SFM,將得到的點(diǎn)云相融合。由于地面圖像是近景,所以點(diǎn)云的密度和精度高很多,而天空?qǐng)D像是遠(yuǎn)景,點(diǎn)云密度和精度就會(huì)低很多。由于密度和精度的巨大差異,直接在兩者的稀疏點(diǎn)云上面做點(diǎn)云的ICP配準(zhǔn)通常是無(wú)效的。
為解決這個(gè)問(wèn)題我們提出融合天地圖像的SFM方法。天空?qǐng)D像和地面圖像分別進(jìn)行SFM,得到天空的稀疏點(diǎn)云和地面的稀疏點(diǎn)云;稀疏點(diǎn)云簡(jiǎn)化為稀疏網(wǎng)格;依據(jù)地面的三維稀疏網(wǎng)格及地面相機(jī)位置,通過(guò)地面圖像合成天空相機(jī)位置處的虛擬圖像。
如上圖所示,左邊是一幅空中圖像,將較小的一塊區(qū)域放大,右邊是基于地面稀疏網(wǎng)格得到的合成圖像,這時(shí)使用SIFT特征進(jìn)行匹配就可以得到大量的內(nèi)點(diǎn)。有了這樣的地空匹配結(jié)果后,可以將地面的圖像與天空?qǐng)D像連接點(diǎn)連成匹配序列(tracks),這樣做一方面可以把天空和地面圖像的匹配連接起來(lái),另一方面更容易形成天地閉環(huán)以糾正模型的變形。下面就是我們重建后的結(jié)果。
3.3 通過(guò)主動(dòng)學(xué)習(xí)對(duì)三維模型進(jìn)行分類
目前我們已經(jīng)得到大規(guī)模場(chǎng)景的高精度三角網(wǎng)格,但是得到的只有場(chǎng)景的三維幾何結(jié)構(gòu),沒(méi)有任何的語(yǔ)義信息。
目前將大規(guī)模的三角網(wǎng)絡(luò)賦予語(yǔ)義類別有兩種途徑:
第一種訓(xùn)練直接對(duì)三維網(wǎng)格或三維點(diǎn)云分類的神經(jīng)網(wǎng)絡(luò),但訓(xùn)練這樣的網(wǎng)絡(luò)非常困難,尤其是對(duì)于大規(guī)模場(chǎng)景的精細(xì)分類。
第二種更現(xiàn)實(shí)的方式是使用二維語(yǔ)義的分割網(wǎng)絡(luò)對(duì)每幅二維圖像做語(yǔ)義分割,并將分割結(jié)果投影至三維網(wǎng)格進(jìn)行融合。如果想以這樣的途徑實(shí)現(xiàn),通常需要從當(dāng)前場(chǎng)景中選擇出一些樣本圖像,以 Fine tuning的方式來(lái)微調(diào)參數(shù),使語(yǔ)義分割網(wǎng)絡(luò)更適合目前場(chǎng)景。
那么我們究竟需使用多少樣本才能把原來(lái)的網(wǎng)絡(luò)遷移學(xué)習(xí)到當(dāng)前場(chǎng)景中?當(dāng)然如果有很多手工標(biāo)注的樣本來(lái)Fine tuning網(wǎng)絡(luò)自然最好,但這樣的標(biāo)注代價(jià)非常高。與單純的二維分割不同,三維模型可以很大程度上指導(dǎo)的二維語(yǔ)義分割,并大幅降低手工標(biāo)注量。
這里我們使用了基于主動(dòng)學(xué)習(xí)(active learning)的方式來(lái)降低手工標(biāo)注的樣本量,即有選擇性的進(jìn)行標(biāo)注。先標(biāo)注很少的樣本去訓(xùn)練網(wǎng)絡(luò),再利用網(wǎng)絡(luò)去分割剩余圖像,觀察剩余的圖像分割結(jié)果中什么樣本是比較難分,再對(duì)比較難分的類別進(jìn)行標(biāo)注,再次訓(xùn)練網(wǎng)絡(luò)。再次去分剩余的樣本,繼續(xù)觀察哪些樣本分類不夠好,然后依次的迭代。
在整個(gè)流程中3D模型都扮演著很重要的角色,每一輪圖像分割完畢后,都在3D模型進(jìn)行融合得到三維分割結(jié)果,并反投回圖像上作為弱監(jiān)督信息來(lái)衡量圖像的分割質(zhì)量,以此作為選擇難分樣本的標(biāo)準(zhǔn)。
結(jié)果如上圖,剛開(kāi)始使用三幅圖進(jìn)行手工標(biāo)注,分割融合后得到最左圖的結(jié)果。之后每一輪從中挑出5幅比較難分的結(jié)果人工進(jìn)行標(biāo)注,經(jīng)過(guò)四輪之后網(wǎng)絡(luò)就收斂了。最終整個(gè)數(shù)據(jù)集有超過(guò)1600幅圖像,而我們只需要從中挑出18幅給人進(jìn)行手工標(biāo)注,就可以得到超過(guò)93%的分割精度。這個(gè)結(jié)果讓人意外,因?yàn)橐话愕倪w移學(xué)習(xí)至少要標(biāo)注上百幅的圖像,才能使模型收斂。
3.4 基于MVS的城市大尺寸場(chǎng)景模型化
網(wǎng)格模型轉(zhuǎn)為語(yǔ)義模型后,三維網(wǎng)格中每個(gè)三角面片既有自己的幾何性質(zhì),也有自己的語(yǔ)義性質(zhì)。但這個(gè)模型仍然是以大量的三角網(wǎng)格來(lái)表達(dá)的,這種表達(dá)方式與人工建模結(jié)果差距很大。例如用CAD進(jìn)行建模,可以使用平面和曲面來(lái)緊湊的建立一個(gè)建筑物模型,而使用三角面片來(lái)表達(dá)如下的場(chǎng)景卻需要成千上萬(wàn)的面片來(lái)表達(dá)。顯然,這個(gè)模型雖然同時(shí)具有幾何和語(yǔ)義信息,但它的尺寸過(guò)大,并且三角網(wǎng)格存在許多的噪聲。因此我們需要將它變成完全矢量化的模型。
上圖中左邊第一列是航拍的圖像,左邊第二列是三角網(wǎng)格通過(guò)語(yǔ)義分割成為單體的建筑。我們希望把他全自動(dòng)的變成符合真實(shí)建筑物的矢量化模型。模型應(yīng)盡量符合現(xiàn)有的行業(yè)標(biāo)準(zhǔn)例如CityGML,CityGML是國(guó)際地理信息聯(lián)盟發(fā)布的行業(yè)標(biāo)準(zhǔn),為方便建筑物語(yǔ)義建模將建筑物分成LOD0,LOD1,LOD2,LOD3這幾級(jí)。因?yàn)檫@個(gè)過(guò)程當(dāng)中涉及到大量的圖形學(xué)操作,所以做不詳細(xì)的介紹了,只介紹一下主體的思想?;旧戏譃?步:
(1)對(duì)每個(gè)建筑進(jìn)行語(yǔ)義分割后,首先進(jìn)行主方向的檢測(cè)。這個(gè)難度在于整個(gè)網(wǎng)格模型本身有很大的噪聲,所以在這樣的場(chǎng)景下檢測(cè)主方向還是需要一定技巧的;
(2)要建立LOD2模型,最困難的是建筑物頂面的細(xì)節(jié),而通過(guò)圖像重建得到的網(wǎng)格,很多頂面的細(xì)節(jié)變得模糊,所以我們?cè)赗GB圖像上做邊緣檢測(cè),并在對(duì)應(yīng)的在深度圖和法向圖上進(jìn)行分割,之后把兩者融合起成頂面,還原出許多邊緣的局部的細(xì)節(jié);
(3)形狀的檢測(cè),需要通過(guò)一種改進(jìn)的VSA算法來(lái)檢測(cè)建筑物頂部不同面的平面,然而因?yàn)橛性胍舻挠绊?,所以檢測(cè)出來(lái)的平面可能在相交性上會(huì)出現(xiàn)不一致。為此我們會(huì)做一個(gè)整體的優(yōu)化,使整體的平滑性和一致性更好;
(4)最后基于這些結(jié)果,就可以得到包括頂面和立面細(xì)節(jié)的LOD2模型。
實(shí)驗(yàn)的結(jié)果如下,在一個(gè)通過(guò)傾斜攝影拍攝的區(qū)域,重建出的原始網(wǎng)格是由9400萬(wàn)個(gè)三角面片構(gòu)成的,可以看到噪音非常大的。中間部分是完全語(yǔ)義化和矢量化的LOD2模型。我們輸入9400萬(wàn)個(gè)三角面片,輸出只有79萬(wàn)個(gè)面,相當(dāng)于在幾何結(jié)構(gòu)沒(méi)有缺失的前提下數(shù)據(jù)量壓縮到原來(lái)的十分之一,,并自動(dòng)重建出4343個(gè)單體建筑的LOD2模型。這種完全矢量化的模型不僅規(guī)整性高得多,也利于我們的存儲(chǔ)、傳輸、使用。
4. 未來(lái)發(fā)展趨勢(shì)
最后談一下我對(duì)未來(lái)發(fā)展趨勢(shì)的個(gè)人見(jiàn)解。
我們目前所做的許多工作,比如應(yīng)用于智慧城市、數(shù)字文化遺產(chǎn),虛擬現(xiàn)實(shí)等領(lǐng)域的三維模型,都屬于給人進(jìn)行瀏覽和使用的三維精模,比較重視模型的完整性、準(zhǔn)確性。另一方面,使用圖像得到的三維模型也可以給機(jī)器使用,例如高精地圖,模型本身是給機(jī)器用來(lái)進(jìn)行路徑規(guī)劃、場(chǎng)景的感知、空間高精度定位的。
目前給人用和給機(jī)器用這兩種應(yīng)用是單獨(dú)發(fā)展的,各有自己的一套思路,兩種規(guī)范也沒(méi)有完全相通。未來(lái)就是兩者的融合,使模型可以同時(shí)適用于地理信息系統(tǒng)、BIM、智慧城市、高精地圖等很多情景。
注:文章由深藍(lán)學(xué)院第二期視覺(jué)SLAM課程優(yōu)秀學(xué)員張國(guó)星整理,未經(jīng)允許,禁止以任何形式轉(zhuǎn)載。
來(lái)源:深藍(lán)學(xué)院,關(guān)注“深藍(lán)學(xué)院”公眾號(hào),查看更多論壇報(bào)告。