單目稠密深度圖(vins mono可用)

原文:Quadtree-accelerated Real-time Monocular Dense Mapping

摘要

在本文中,我們提出了一種新的機(jī)器人導(dǎo)航建圖方法。通過使用單目局部移動(dòng)相機(jī) ,高質(zhì)量的稠密深度圖被實(shí)時(shí)估計(jì)及融合到3D重建中。 光強(qiáng)圖像的四叉樹結(jié)構(gòu)用于通過以多種分辨率估計(jì)深度圖來減少計(jì)算負(fù)擔(dān)。 提出了基于四叉樹的像素選擇和動(dòng)態(tài)置信傳播以加速建圖過程:根據(jù)四叉樹中的水平,利用計(jì)算資源選擇和優(yōu)化像素。 求解的深度估計(jì)被進(jìn)一步插值并在時(shí)間上融合到全分辨率深度圖中,并使用截?cái)嗟膸Х?hào)距離函數(shù)(TSDF)融合到密集的3D圖中。我們使用公共數(shù)據(jù)集將我們的方法與其他最先進(jìn)的方法進(jìn)行比較。 板載無(wú)人機(jī)自主飛行還用于進(jìn)一步證明我們的方法在便攜式設(shè)備上的可用性和效率。 為了大眾的利益,該算法開源發(fā)布在“https://github.com/ HKUST-Aerial-Robotics /open_quadtree_mapping”。


1.介紹

攝像機(jī)廣泛用于機(jī)器人系統(tǒng),因?yàn)樗鼈兲峁┯嘘P(guān)環(huán)境的信息數(shù)據(jù),同時(shí)保持低功耗并產(chǎn)生小的占地面積。具體來說,我們對(duì)單目視覺慣性系統(tǒng)[1] [2]感興趣,因?yàn)樗鼈兛梢允褂脝蝹€(gè)攝像機(jī)和慣性測(cè)量單元(IMU)的最小傳感器組為機(jī)器人提供導(dǎo)航所需的信息。然而,為定位而構(gòu)建的稀疏或半密集地圖不足以完成諸如避障等任務(wù)。為了感知周圍環(huán)境,通常使用RGB-D相機(jī),激光雷達(dá)或立體相機(jī)等附加傳感器。然而,這些傳感器的重量,尺寸和功耗使得它們不適用于有效載荷和功率有限的機(jī)器人。在本文中,我們提出了一種單目稠密建圖方法,可以使用單個(gè)局部移動(dòng)攝像機(jī)實(shí)時(shí)估計(jì)高質(zhì)量深度圖并實(shí)時(shí)建立稠密3D模型,如圖1所示。


fig.1

生成高質(zhì)量稠密深度圖是單目稠密建圖系統(tǒng)的關(guān)鍵步驟。 為了應(yīng)用于機(jī)器人,深度圖估計(jì)必須在時(shí)間上有效并且密集地覆蓋包括低紋理區(qū)域的圖像。 我們的方法受到單目深度估計(jì)的兩個(gè)觀察的啟發(fā):
(1)考慮到塊匹配成本和深度圖平滑度,通常需要通過最小化一個(gè)能量函數(shù)來估計(jì)低紋理區(qū)域的深度并平滑深度圖的全局優(yōu)化[5],[6]。然而,昂貴的計(jì)算使它們無(wú)法在實(shí)時(shí)應(yīng)用中廣泛使用。
(2)在強(qiáng)度圖像的相同四叉樹塊內(nèi)的像素共享相似的光強(qiáng)和深度值。四叉樹結(jié)構(gòu)被廣泛使用(例如,在圖像編碼[7]中),像素根據(jù)其局部紋理以樹結(jié)構(gòu)組織:具有相似強(qiáng)度值的像素可以通過將它們分配到相同的四叉樹塊并且在相應(yīng)的決議。如圖2所示,在大多數(shù)情況下,強(qiáng)度圖像中的像素的四叉樹水平等于或者比深度圖像中的更高。這意味著在強(qiáng)度圖像中共享相同四叉樹塊的像素也屬于深度圖像中的相同塊,因此共享相似的深度值,但反之亦然。換句話說,像素的深度可以以與強(qiáng)度圖像中的四叉樹水平相對(duì)應(yīng)的分辨率來表示。

受這兩個(gè)觀察的啟發(fā),我們提出了一種新穎的單目稠密建圖方法,該方法使用單個(gè)局部移動(dòng)攝像機(jī)估計(jì)稠密深度圖并構(gòu)建3D重建。 通過全局優(yōu)化改善了深度密度和精度,并且通過估計(jì)與強(qiáng)度圖像的四叉樹結(jié)構(gòu)相對(duì)應(yīng)的多個(gè)分辨率中的深度圖來減少計(jì)算負(fù)擔(dān)。 具體而言,根據(jù)它們的四叉樹水平選擇像素,其密度與它們需要估計(jì)的分辨率成比例。 動(dòng)態(tài)置信傳播(Dynamic belief propagation)用于以粗到細(xì)的方式估計(jì)所選像素的深度,其中以相應(yīng)的分辨率提取深度以獲得效率。 所有深度估計(jì)都被內(nèi)插到完整的密集深度圖中,并在時(shí)間上與前深度圖融合。 最后,深度圖融合成高質(zhì)量的全局3D地圖。

我們使用公共數(shù)據(jù)集將我們的工作與其他最先進(jìn)的單目稠密建圖方法進(jìn)行比較。 不同環(huán)境下的機(jī)載自主飛行也用于證明我們的方法在無(wú)人機(jī)應(yīng)用中的可用性。 我們的方法的貢獻(xiàn)如下:
①一種新穎的像素選擇方法,根據(jù)圖像的四叉樹結(jié)構(gòu)中的水平選擇像素來估計(jì)深度。 所選像素分布在整個(gè)圖像上,并引起對(duì)高紋理區(qū)域的更多關(guān)注。
②動(dòng)態(tài)信任傳播,以粗略到精細(xì)的方式估計(jì)所選像素的深度。 像素根據(jù)其四叉樹水平利用計(jì)算資源進(jìn)行優(yōu)化。 優(yōu)化產(chǎn)生高質(zhì)量深度估計(jì),同時(shí)通過跳過粗分辨率像素來保持效率。
③一種單目稠密建圖系統(tǒng),僅使用局部移動(dòng)攝像機(jī)即可實(shí)時(shí)生成高質(zhì)量的密集深度圖。 如實(shí)驗(yàn)和補(bǔ)充視頻所示,深度圖可以直接融合到3D地圖中,用于3D重建和無(wú)人機(jī)自主飛行。 該系統(tǒng)也作為社區(qū)的開源發(fā)布。


2.相關(guān)工作

已經(jīng)提出了許多方法來解決單目稠密建圖問題。

在計(jì)算機(jī)視覺中,使用圖像重建環(huán)境的問題也稱為運(yùn)動(dòng)結(jié)構(gòu)(SfM)。 給定一系列圖像,SfM重建環(huán)境結(jié)構(gòu)并估計(jì)相機(jī)運(yùn)動(dòng)。 雖然取得了令人矚目的成果,但結(jié)果通常很少,需要離線處理。 另一方面,我們的方法使用圖像和相應(yīng)的相機(jī)運(yùn)動(dòng)來實(shí)時(shí)地密集地重建環(huán)境。

DTAM [8],VI-MEAN [9]和REMODE [10]是使用全局或半全局信息解決稠密建圖問題的方法。 DTAM [8]通過累積多個(gè)幀來構(gòu)建成本量,并使用總變差優(yōu)化來提取深度圖。 VI-MEAN [9]使用半全局匹配[11](SGM)來規(guī)范成本量。 然而,4路徑優(yōu)化導(dǎo)致VI-MEAN估計(jì)深度圖中的“條紋”偽像[9]。 REMODE [10]使用總變差來平滑通過概率更新估計(jì)的深度圖像。 由于優(yōu)化不像DTAM [8]那樣在成本量中搜索深度,因此REMODE [10]無(wú)法很好地處理低紋理區(qū)域。

MonoFusion [12],MobileFusion [13]和3D建模[14]從雙視圖立體匹配構(gòu)建稠密地圖。 將每個(gè)輸入圖像與選定的測(cè)量幀進(jìn)行比較。 盡管雙視圖匹配很快,但這些方法在單目情況下包含許多異常值。 后處理技術(shù),例如左右一致性檢查,大量成本消除,隨時(shí)間的一致性,用于處理問題。

多級(jí)映射(Multi-level mapping)[15]是與我們的工作最相似的方法。 在多級(jí)映射[15]中,四叉樹結(jié)構(gòu)用于增加補(bǔ)丁的局部紋理,以便可以使用本地信息估計(jì)更多像素。 然后執(zhí)行總變差優(yōu)化以從多分辨率平滑深度圖。 該方法是有效的并且增加了深度圖的密度。 多級(jí)映射[15]和我們的方法之間最重要的區(qū)別是估計(jì)深度圖的密度。 使用全局優(yōu)化,我們的方法可以恢復(fù)紋理低,甚至沒有紋理的區(qū)域的深度。 另一方面,多級(jí)映射[15]使用局部強(qiáng)度信息估計(jì)像素的深度。 因此,僅可以估計(jì)具有足夠梯度的像素的深度。 估計(jì)的深度圖的密度對(duì)于機(jī)器人應(yīng)用的安全性和3D重建的完整性是重要的。


2.png

3.系統(tǒng)總覽

受到圖像的四叉樹結(jié)構(gòu)與相應(yīng)深度圖之間的關(guān)系的啟發(fā),我們的方法解決了多分辨率的深度估計(jì),并將它們?nèi)诤铣筛哔|(zhì)量的全分辨率深度圖和稠密網(wǎng)格。

我們的方法包括五個(gè)步驟:(1)基于四叉樹的像素選擇,(2)匹配成本矢量計(jì)算,(3)dynamic belief propagation,(4)深度插值和時(shí)間融合,(5)TSDF融合。流程和系統(tǒng)的中間結(jié)果如圖3所示。輸入圖像首先被轉(zhuǎn)換為3級(jí)四叉樹結(jié)構(gòu),每個(gè)像素將被分配到四叉樹級(jí)別。 基于圖像的四叉樹水平在圖像上選擇像素,并且計(jì)算匹配成本矢量以用于全局優(yōu)化。 動(dòng)態(tài)置信傳播提取相應(yīng)分辨率中每個(gè)所選像素的深度估計(jì)。 最后,深度估計(jì)被內(nèi)插并在時(shí)間上融合到全分辨率深度圖中,并用于構(gòu)建全局3D地圖。
3.png

4.單目稠密重建

A.定義

定義Tw,k∈SE(3)為世界坐標(biāo)系w下拍攝第k張圖像時(shí)相機(jī)的位置(pose)。

定義第k張光強(qiáng)圖像為Ik:Ω?R2→R

通過相機(jī)投影公式π(xc)=u,一個(gè)相機(jī)坐標(biāo)系下的3D點(diǎn)xc=(x,y,z)T可以投影成圖像上的一個(gè)像素u:=(u,v)T∈Ω

一個(gè)像素可以反投影回相機(jī)坐標(biāo)系c到點(diǎn)xc-1(u,d),其中d是像素的深度(depth)

在接下來的部分中,Tw,k由單目-慣性系統(tǒng)或數(shù)據(jù)集提供,我們假設(shè)相機(jī)姿勢(shì)是準(zhǔn)確的并且對(duì)于每個(gè)幀都是固定的,將來不會(huì)改變,這是典型的視覺測(cè)距系統(tǒng)的情況。 用閉環(huán)系統(tǒng)重建環(huán)境超出了本文的范圍。

系統(tǒng)的輸入為Ii及其對(duì)應(yīng)的相機(jī)位置Tw,i,對(duì)于每張輸入圖像Ik,使用Ik作為參考圖像和多個(gè)之前輸入的圖像來估計(jì)深度圖(depth map)。

B.基于四叉樹的像素選擇

我們使用四叉樹為每個(gè)像素找到最合適的分辨率表示。 對(duì)于每個(gè)輸入圖像Ik,我們計(jì)算3級(jí)四叉樹結(jié)構(gòu),其中最精細(xì)的級(jí)別對(duì)應(yīng)于4×4像素塊,最粗糙的級(jí)別對(duì)應(yīng)于16×16像素塊。 如圖2所示,四叉樹的同一塊中的像素共享相似的強(qiáng)度,因此可以一起估計(jì)深度值。 選擇四叉樹塊中的第一個(gè)像素以構(gòu)建匹配成本向量并使用動(dòng)態(tài)置信傳播來估計(jì)深度(construct the matching cost vector and estimate the depth using dynamic belief propagation)。 圖4示出了基于圖像的四叉樹結(jié)構(gòu)選擇像素的示例。

4.png

對(duì)于在該步驟中未選擇的像素,將通過第IV-E部分中的內(nèi)插和融合來獲得它們的深度估計(jì)。 根據(jù)強(qiáng)度圖像的四叉樹結(jié)構(gòu)選擇像素使我們能夠以高效率求解深度圖而不會(huì)犧牲很多精度。

c.Matching Cost Vector Calculation

計(jì)算四叉樹選擇像素的匹配成本向量以用于動(dòng)態(tài)置信傳播。 我們的方法選擇五個(gè)先前的附近幀作為測(cè)量幀。 在這項(xiàng)工作中,我們采樣均勻分布在逆深度空間上的Nd深度值。 采樣深度d和相應(yīng)的深度索引l具有以下關(guān)系:

c

D.Dynamic Belief Propagation

P1和P2控制深度圖的平滑度,如SGM中所示。 注意,雖然公式6與SGM [11]中的公式相同,但消息更新和傳遞是不同的。 SGM沿著幾個(gè)預(yù)定義的1D路徑迭代成本,而我們的方法在2D圖像網(wǎng)格上傳遞消息。 2D全局優(yōu)化使我們的方法能夠在SGM中生成沒有“條紋”偽像的平滑深度圖。 在并行縮減操作的幫助下,將消息從像素p更新到像素q可以加速到O(log(Nd))時(shí)間。 算法1顯示了在O(log(Nd))時(shí)間內(nèi)更新像素消息的方法。 使用算法1并行更新消息。


算法1.png

為了加速收斂并在相應(yīng)的分辨率中提取深度,消息用粗略到精細(xì)的方式更新。與適用于具有規(guī)則形狀的2D成本量的標(biāo)準(zhǔn)置信傳播[6]不同,所提出的動(dòng)態(tài)置信傳播適用于由四叉樹選擇的像素構(gòu)建的成本量。成本量?jī)H對(duì)四叉樹選擇的像素有效,并且等于在章節(jié)IV-C中計(jì)算的匹配成本向量。對(duì)于非四叉樹選擇的其他像素,成本量為零向量。成本量按照傳統(tǒng)方法[6]進(jìn)行下采樣,但根據(jù)四叉樹選擇像素的數(shù)量進(jìn)行平均。雖然粗略的方式加速了消息的收斂,但是對(duì)于實(shí)時(shí)應(yīng)用,圖像的精細(xì)級(jí)別的計(jì)算仍然很重。由于像素的深度可以用如圖2所示的相應(yīng)分辨率表示,因此可以在相應(yīng)級(jí)別的優(yōu)化結(jié)束之后提取深度估計(jì)。提取像素的消息傳遞到更好的級(jí)別[6]。但是,這些消息不再更新,而僅用于推斷其他像素的深度。在一個(gè)優(yōu)化中提取四叉樹選擇像素的深度估計(jì)的動(dòng)態(tài)信念傳播的整個(gè)過程如圖5所示。
圖5
E.深度插值和時(shí)間融合(Depth Interpolation and Temporal Fusion)

盡管四叉樹選擇像素的深度估計(jì)在圖像上擴(kuò)散,但它不是完全密集深度估計(jì)。 在本節(jié)中,我們首先將估計(jì)內(nèi)插到完整的密集深度圖中,然后以概率方式將它們與之前的結(jié)果在時(shí)間上融合。

1)深度插值:在插值期間,為了進(jìn)一步利用包含高梯度紋理但不是四叉樹采樣的像素,我們使用類似于Eigen等人的方法估計(jì)這些像素的深度[16]。 高梯度估計(jì)在GPU上完全并行化,并且需要大約2ms來更新一幀。
來自動(dòng)態(tài)置信傳播和來自高梯度估計(jì)的深度估計(jì)被組合并在空間上內(nèi)插到對(duì)應(yīng)于輸入幀Ik的全分辨率深度圖Dk中。 通過動(dòng)態(tài)置信傳播和高梯度估計(jì)估計(jì)的深度覆蓋整個(gè)圖像并且更多地關(guān)注紋理豐富的區(qū)域。 插值估計(jì)得到完全密集的結(jié)果是解決光流的常用方法[17]。 在這里,我們通過最小化least-square cost來提取全密集深度圖。

內(nèi)插全密集深度圖Dk的成本定義為

最小化成本E在計(jì)算上是昂貴的。 在這里,我們采用Min等人的方法。 [18]近似于兩個(gè)一維插值問題中的問題。 通過高斯消元可以有效地解決一維中的深度插值。 我們首先在行方向上插入深度,然后在列方向上插入深度。

2)時(shí)間融合:全密集深度圖以概率方式與先前的估計(jì)進(jìn)一步融合,以拒絕異常值估計(jì)。 使用由Vogiatzis等人提出的異常值魯棒模型對(duì)每個(gè)像素的估計(jì)進(jìn)行建模[19]。


與REMODE [10]和Vogiatzis等人不同。 [19]使用彼此獨(dú)立的概率模型估計(jì)幀的深度圖,我們?cè)谡麄€(gè)運(yùn)行時(shí)間內(nèi)保持一個(gè)概率圖以融合連續(xù)估計(jì)。 對(duì)于每個(gè)輸入圖像Ik,Ik-1的概率深度圖被扭曲并與提取的密集深度圖融合。 具有內(nèi)部概率p(ρ)> pinlier的深度估計(jì)作為結(jié)果輸出,而p(ρ)<poutlier作為異常值被刪除。

F. Truncated Signed Distance Function (TSDF) Fusion

使用Klingensmith等人提出的方法將過濾的深度融合到全局圖中。[20]。 由于動(dòng)態(tài)可信度傳播,插值和時(shí)間深度融合,我們的深度估計(jì)包含非常少的異常值,因此我們直接融合輸出而無(wú)需任何額外的濾波器。


5.附加細(xì)節(jié)

我們的方法與GPU加速完全并行化。 即使對(duì)于便攜式設(shè)備,例如Nvidia Jetson TX1,效率也使得3D重建能夠?qū)崟r(shí)運(yùn)行。 下面列出的參數(shù)值是根據(jù)經(jīng)驗(yàn)找到的,我們發(fā)現(xiàn)它們?cè)谒袑?shí)驗(yàn)中都能很好地工作。 這可以解釋為使用對(duì)不同圖像內(nèi)容穩(wěn)健的全局優(yōu)化來估計(jì)深度圖。

A.Quadtree-based Depth Estimation

輸入圖像強(qiáng)度在0和1之間縮放,以避免潛在的數(shù)字問題。 在IV-C部分中計(jì)算匹配成本矢量期間,計(jì)算Nd = 64深度值,dmin = 0.5m,dmax = 50.0m。 在第IV-D節(jié)中,P1和P2分別設(shè)置為0:003和0:01,以平衡估計(jì)的深度圖的平滑度和不連續(xù)性。

B. Depth interpolation and Temporal Fusion
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容