主要內(nèi)容:
提出了一種基于線的重建算法,Limap,可以從多視圖圖像中構(gòu)建3D線地圖,通過線三角化、精心設(shè)計的評分和track構(gòu)建以及利用線的重合,平行性和正交性等結(jié)構(gòu)先驗來實現(xiàn)的,可以與現(xiàn)有的基于點的SFM算法集成,并且可以利用其3D點來進一步改善線重建的結(jié)果。
構(gòu)建的3D線地圖也開辟了新的研究方向,即基于線的視覺定位和BA,其中將線與點結(jié)合在一起會產(chǎn)生最佳結(jié)果。
代碼開源在https://github.com/cvg/limap.
點云地圖與線地圖:
目前通過SFM估計場景幾何結(jié)構(gòu)和構(gòu)建稀疏地圖主要是基于點的方法,即提取匹配圖像中的關(guān)鍵點,然后三角化,BA。
但是基于特征點構(gòu)建點云地圖在沒有足夠穩(wěn)定的關(guān)鍵點去檢測匹配的時候,比如室內(nèi)場景,往往效果不好。但是這些場景基本都包含豐富的線條,例如在墻壁、窗戶、門或天花板,而且線往往表現(xiàn)出更高的定位精度,因為其像素的不確定性較小。線常常以高度結(jié)構(gòu)化的模式出現(xiàn),通常滿足場景范圍的幾何約束,例如共面性,重合 (線相交),平行和正交性。但是線也會遇到不同的問題,例如線端點定位不良和部分遮擋。然而,最近的線檢測器和匹配正在彌合點和線之間的性能差距,目前線圖構(gòu)建的困難在于:
(1)線端點不一致:由于部分遮擋,線通常在圖像之間具有不一致的端點。
(2)線割裂:在每個圖像中,可能有多個線段屬于3D中的同一條線。與構(gòu)建3D點track相比,創(chuàng)建線的track關(guān)聯(lián)的過程更加復(fù)雜。
(3)沒有兩視圖幾何驗證:點匹配可以通過極幾何在兩個視圖中驗證,但線至少需要三個視圖來過濾
(4)退化:在實踐中,線三角化更傾向于不穩(wěn)定的配置 (參見圖8),例如每當(dāng)線與相機運動平行時,線三角化會退化。
(5)較弱的基于描述子的匹配:線段的最新描述子遠(yuǎn)遠(yuǎn)落后于基于點的描述子,因此在重建過程中更加強調(diào)幾何驗證和過濾。
為此,本篇文章旨在減少基于點的建圖解決方案和基于線的建圖解決方案之間的差距
Contributions:
(1)構(gòu)建了一個新的線建圖系統(tǒng),該系統(tǒng)可以從多視圖RGB圖像中可靠地重建3D線段。與以前的方法相比,構(gòu)建的線圖更完整、更準(zhǔn)確
(2)通過自動識別和利用結(jié)構(gòu)先驗 (例如線重合和平行) 來實現(xiàn)這一目標(biāo)。技術(shù)貢獻(xiàn)涵蓋了線圖的所有階段,包括線三角化,評分,track構(gòu)建和聯(lián)合優(yōu)化。
(3)該框架是靈活的,因此研究人員可以輕松地更改組件 (例如檢測器,匹配器,消失點估計器等) 或集成其他傳感器數(shù)據(jù) (例如深度圖或其他3D信息)
(4)通過對合成和真實數(shù)據(jù)集進行定量評估來對性能進行基準(zhǔn)測試,每個場景都有數(shù)百張圖像,其中LIMAP始終顯著優(yōu)于現(xiàn)有方法
(5)通過在諸如視覺定位和SFM中的BA之類的任務(wù)中比純基于點的方法有所改進,來證明強大的線圖的有用性。
Pipeline:
輸入:圖像,還可以額外添加點云模型。假設(shè)每個圖像的相機姿勢是可用的 (例如,來自SfM/SLAM)。
算法包括三個主要步驟:
(1)假設(shè)生成: 對于每個2D線段,生成一組3D線假設(shè)。
(2)假設(shè)評分和track關(guān)聯(lián): 考慮到多視圖一致性對每個假設(shè)進行評分,為每個2D線選擇最佳候選,并將它們關(guān)聯(lián)到一組3D線track中。
(3)聯(lián)合優(yōu)化: 與3D點和VP(消失點)方向一起在3D線track上共同執(zhí)行非線性細(xì)化,將附加的結(jié)構(gòu)先驗集成為軟約束。
論文技術(shù)點:
生成三維線假設(shè):
為每個2D線段生成一組3D線假設(shè),給定圖像中的一個線段,使用任何現(xiàn)有的線匹配算法來檢索n個最接近的圖像中的前K個線匹配。
λ1和 λ2是投影矩陣,讓所有假設(shè)的三維線的端點位于2D端點對應(yīng)的相機光線上。
對于每個匹配的2D線段,通過代數(shù)線三角化生成一個假設(shè)。設(shè) (Rm,tm) 為匹配視圖的相機姿態(tài)。然后線性求解端點射線深度 λ :
因為上面講了線三角化會出現(xiàn)退化,為了在退化的情況下獲得有意義的假設(shè),利用來自點或相關(guān)消失點 (VPs) 的其他幾何信息,即2D-3D點對應(yīng)關(guān)系,這可以來自基于點的SfM模型,也可以從匹配的端點進行三角化。對于每個2D線段,將一個像素閾值內(nèi)的所有2D點關(guān)聯(lián)起來,從而與它們對應(yīng)的3D點關(guān)聯(lián)起來。
借助相關(guān)的2D-3D點對應(yīng)和消失點,為每個2D線段生成第二組假設(shè)
假設(shè)評分和軌跡關(guān)聯(lián):
現(xiàn)在圖像I中的每個2D線段與每個相鄰圖像J的一組3D線假設(shè)相關(guān)聯(lián)。這部分要對這些假設(shè)進行評分并進行track關(guān)聯(lián)。
利用不同的評分方法來量化兩個3D線段 (L1,L2) 之間的距離。這個距離可以在三維或者二維進行度量。
距離度量:
有角距離(L1和L2之間的角度),
垂直距離(L1的端點到L2跨越最大正交距離)
透視距離: 假設(shè)L1和L2的端點在相同的光線上,該距離被定義為端點距離,如下圖所示。
利用2D和3D中的角距離,以及2D中的垂直距離,和透視距離。為了將它們聚合在一起,將尺度因子 τ 關(guān)聯(lián)到每個距離r,得到歸一化分?jǐn)?shù)
用S表示所有相應(yīng)的歸一化分?jǐn)?shù)的集合,L1和L2之間的分?jǐn)?shù)為:
現(xiàn)在有了每個線對的唯一分?jǐn)?shù),然后考慮來自相鄰圖像j和假設(shè)k的所有相鄰3D線候選。一致性分?jǐn)?shù)是通過對每個圖像的最佳分?jǐn)?shù)求和來定義的:
此時已為每個2D線段分配了唯一的3D線 (其最佳3D線候選)。然后目標(biāo)是將這些2D線段集成到3D線track中。為此形成一個圖,其中2D線段是節(jié)點,所有初始線匹配都是邊,目標(biāo)是修剪圖中的邊緣,以使連接的2D線段共享相似的3D線段。為此提出了兩種新的線評分措施,可以應(yīng)對不同的端點配置和跨圖像的可變的尺度:
重疊分?jǐn)?shù):將L1正交投影到L2上,將投影的端點剪切到L2的端點 (如果它們落在L2之外) 以獲得線段,并將長度與閾值τ進行比較:
內(nèi)聯(lián)線段距離:L1的端點垂直地未投影到l2。如果它們落在L2之外,將它們剪切到L2的最接近端點。通過在兩個方向上執(zhí)行此操作,可以定義兩個內(nèi)點線段 (參見圖3(c)),并將InnerSeg距離定義為它們端點之間的最大距離。
然后將以3D計算的InnerSeg距離轉(zhuǎn)換為上一段中的歸一化分?jǐn)?shù),并將其與2D和3D中的重疊分?jǐn)?shù)以及使用 (5) 的先前分?jǐn)?shù)相結(jié)合。
然后對于每個track重新估計單個3D線段。使用來自track中所有節(jié)點的3D分配的端點集,應(yīng)用主成分分析 (PCA),并使用主特征向量和平均3D點來估計無限3D線。然后將所有端點投影在這條無限線上,以獲得新的3D端點。
線和點聯(lián)合優(yōu)化:
使用其軌跡信息對獲取的3D線進行非線性細(xì)化。直接的方法是對重投影誤差進行幾何細(xì)化。有了2D點線關(guān)聯(lián),可以通過包含其他結(jié)構(gòu)信息來制定聯(lián)合優(yōu)化問題。最小化的能量可以寫如下:
分別是點優(yōu)化項,線優(yōu)化項,線和點聯(lián)合優(yōu)化項。
eperp是垂直距離,Lk是3D線段的2D投影,lk是2D線段,w∠是1減去投影和觀測線之間的2D角度的余弦的指數(shù)。
實驗:
首先建立了一個評估基準(zhǔn)來量化建圖的質(zhì)量,由于沒有地面真相 (GT) 3D線,因此使用GT網(wǎng)格模型或點云評估3D線圖。使用以下指標(biāo):
τ (Rτ)處的長度召回 (以米為單位): 距GT模型 τ mm以內(nèi)的線部分的長度總和。
τ (Pτ)處的inlier百分比: 距GT模型 τ mm以內(nèi)的track的百分比。
平均支持: 所有線track上的圖像支持和2D線支持的平均數(shù)量。
將論文算法與兩種最先進的方法作為基線進行比較: L3D++和ELSR,使用兩個線檢測器: 傳統(tǒng)的LSD檢測器和基于學(xué)習(xí)的SOLD2。
對于ELSR,將輸入轉(zhuǎn)換為VisualSfM 格式,并使用來自作者的code(僅支持LSD)。
第一個評估是在Hypersim數(shù)據(jù)集的前八個場景上運行的,每個場景由100個圖像組成。
結(jié)果顯示比競爭對手更好或可比的精度的更完整的線圖,同時也顯示出明顯更高的track質(zhì)量。
進一步評估了Tanks和Temples數(shù)據(jù)集的train部分。由于SOLD2是針對室內(nèi)圖像進行訓(xùn)練的,因此僅使用LSD。由于所提供的點云被清理為僅專注于主要目標(biāo),因此計算其邊界框,將其擴展1米,并且僅評估該區(qū)域內(nèi)的線。這樣可以防止錯誤地懲罰遠(yuǎn)離主場景的正確線條。
論文方法提高了地圖質(zhì)量。圖4顯示了其方法和L3D++之間的定性比較。結(jié)果顯示出更好的完整性,也具有更少的嘈雜的線條,并實現(xiàn)了對細(xì)微細(xì)節(jié) (例如在地面上) 的更強大的重建。
為了演示所提出的系統(tǒng)的可伸縮性,還在兩個大規(guī)模數(shù)據(jù)集上運行其方法: Aachen (6,697圖像)和Rome city (16,179圖像) 。圖7顯示了其方法產(chǎn)生具有清晰結(jié)構(gòu)的可靠線圖。
為了證明構(gòu)建的線圖對其他應(yīng)用有效果,比如視覺定位和原本的點云模型的細(xì)化等方面,進行了一些實驗:
針對線輔助的視覺定位:在獲取的3D線圖之上構(gòu)建了一個混合視覺定位,其點和線都具有。具體來說,首先使用提出的方法構(gòu)建HLoc 中的點圖和線圖。然后分別匹配點和線從3D地圖中的軌跡信息獲取2D-3D對應(yīng)關(guān)系。
鑒于這些對應(yīng)關(guān)系,將四個最小求解器 : P3P,P2P1LL,P1P2LL,P3LL結(jié)合在一個具有局部優(yōu)化的混合RANSAC框架中以獲得最終的6自由度姿勢。
結(jié)果在表7,證明了線輔助的定位在室內(nèi)和室外均比單獨的基線獲得了更好的結(jié)果,從而驗證了采用3D線圖進行視覺定位的有效性。
在圖9中,顯示了來自7 Scenes的樓梯場景的更詳細(xì)的結(jié)果,因為它是最具挑戰(zhàn)性的場景之一。線顯著地有利于重新投影結(jié)構(gòu)的對準(zhǔn),從46.8提高到71.1的姿態(tài)精度。
細(xì)化SFM點云:通過從大致正確的基于點的SFM (例如COLMAP) 構(gòu)建的3D線圖,可以使用3D線及其軌跡信息,通過點與線的聯(lián)合優(yōu)化來優(yōu)化輸入的相機姿勢。為了驗證這一點,在Hypersim的前八個場景上運行COLMAP,在其之后構(gòu)建線地圖,并執(zhí)行聯(lián)合BA以優(yōu)化姿態(tài)和內(nèi)參。
審核編輯 :李倩
-
3D
+關(guān)注
關(guān)注
9文章
2959瀏覽量
110727 -
算法
+關(guān)注
關(guān)注
23文章
4709瀏覽量
95348 -
點云
+關(guān)注
關(guān)注
0文章
58瀏覽量
3960
原文標(biāo)題:CVPR 2023|Limap:基于3D line的重建算法
文章出處:【微信號:3D視覺工坊,微信公眾號:3D視覺工坊】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
基于ToF的3D活體檢測算法研究
PYNQ框架下如何快速完成3D數(shù)據(jù)重建
3D分組密碼算法
基于改進迭代收縮閾值算法的微觀3D重建方法

創(chuàng)想三維:3D掃描儀在3D打印機上的運用
我國完成了全球首例寰椎3D打印假體重建手術(shù)
阿里3D AI技術(shù)已成功應(yīng)用諸多場景中,可迅速批量生產(chǎn)高質(zhì)量3D模型
阿里研發(fā)全新3D AI算法,2D圖片搜出3D模型
探討關(guān)于3D視覺技術(shù)和3D傳感器

音圈模組3D打印助力肌腱和韌帶重建
大規(guī)模3D重建的Power Bundle Adjustment
基于未知物體進行6D追蹤和3D重建的方法

使用Python從2D圖像進行3D重建過程詳解

評論