林金花,王延杰,王 璐,姚 禹
(1.長春工業(yè)大學(xué) 應(yīng)用技術(shù)學(xué)院,長春 130012;2.中國科學(xué)院 長春光學(xué)精密機(jī)械與物理研究所,長春 130033;3.吉林大學(xué) 機(jī)械科學(xué)與工程學(xué)院,長春 130012)
近年來,獲取二維圖像并重建三維場景技術(shù)的應(yīng)用范圍不斷擴(kuò)大,主要包括機(jī)器視覺系統(tǒng)、三維制造行業(yè)以及圖像增強(qiáng)等方面。作為用戶或機(jī)器人需要實(shí)時(shí)掃描整個(gè)房間或多個(gè)空間,將累積的3D模型瞬間、連續(xù)地融合到目標(biāo)應(yīng)用中;機(jī)器人導(dǎo)航需要將物理世界映射到虛擬世界,在掃描期間提供即時(shí)的信息反饋。這些需求使得研究人員開始對(duì)大規(guī)模場景的實(shí)時(shí)重建展開研究。
在過去的幾十年,研究人員對(duì)三維重建方法展開了大量的研究。三維重建方法使用多傳感器獲取底層數(shù)據(jù)信息,包括使用點(diǎn)數(shù)據(jù)信息融合的表示方式[1-4]、2.5維度的RGB-D數(shù)據(jù)表示[5,6]、基于高度信息融合的數(shù)據(jù)表示[7]以及應(yīng)用廣泛的三維體素融合方法[8,9]?;陔[式截?cái)嗑嚯x場(Truncated signed distance felds,TSDF)的三維重建算法是一種魯棒性強(qiáng)的三維體素融合方法[10],該方法使用連續(xù)函數(shù)編碼幾何表面信息,對(duì)噪聲具有抗干擾特性,且不再受表面拓?fù)浣Y(jié)構(gòu)的制約。
體素融合算法需要表面幾何均勻分布,不具有普遍適用性,為了改善這個(gè)問題,科研工作者提出了各種改進(jìn)算法來實(shí)現(xiàn)空間體素融合[11,12],使用截?cái)嗍綆Х?hào)距離函數(shù)表示空間幾何結(jié)構(gòu)表面信息是一種普遍適用的表示形式。該算法雖然支持大規(guī)模場景的體素融合過程,然而姿態(tài)漂移問題仍然存在,導(dǎo)致重建后的三維場景失真現(xiàn)象嚴(yán)重。
使用深度圖接收的三維重建算法一般要求是非在線算法,Zhou等[13]給出的使用全局相機(jī)位置優(yōu)化的三維重建算法,通常需要花費(fèi)1 h以上的時(shí)間完成重建。同步定位映射(Simultaneous localization and mapping,SLAM)算法的關(guān)鍵在于準(zhǔn)確估計(jì)相機(jī)位置,研究者給出了具有在線重建特性的單向深度重建算法,主要包含具有稀疏特性的重建算法、具有半稠密特性的重建算法以及直接三維重建算法[14,15]。以上各種算法使用單目深度傳感器獲取目標(biāo)場景的姿態(tài)圖并完成場景的捆綁調(diào)整過程,實(shí)現(xiàn)了誤差最小化,然而無法構(gòu)建精度高的三維表面。
單項(xiàng)體素重建融合算法實(shí)現(xiàn)了SLAM算法的稀疏綁定過程,完成了稠密三維體素的融合過程,三維重建結(jié)果較好,然而對(duì)于大規(guī)模的場景重建效果一般。SLAM算法重建一般使用幀到幀的融合算法實(shí)現(xiàn)相機(jī)位置估計(jì),同時(shí)使用離線算法調(diào)整相機(jī)位置,引起重建速率大幅度下降。Newcombe等[16]給出了從圖像幀到三維表面的實(shí)時(shí)檢測架構(gòu),實(shí)現(xiàn)了從稀疏到稠密的密集三維場景重建,無需調(diào)整重建模型,然而該算法不適應(yīng)于大規(guī)模場景的三維重建。
迭代最近點(diǎn)(Iterative closest point,ICP)相機(jī)位置估計(jì)方法使用最近點(diǎn)距離函數(shù)預(yù)測對(duì)象目標(biāo)位置,然而重建精度受到影響。研究者使用深度圖和整體相機(jī)位置估計(jì)方法來提高重建算法的精度[17],包括采用優(yōu)化目標(biāo)姿態(tài)、檢測對(duì)象的閉環(huán)、綁定位置優(yōu)化以及基于坐標(biāo)點(diǎn)與二維圖像的重新定位策略來優(yōu)化目標(biāo)跟蹤過程。這些方法可以實(shí)現(xiàn)對(duì)三維目標(biāo)場景的實(shí)時(shí)重建,然而優(yōu)化過程通常需要較長時(shí)間,且閉環(huán)策略需要相對(duì)繁雜的定位軌跡,因此對(duì)相機(jī)運(yùn)動(dòng)軌跡是有制約的;另外,根據(jù)在體素融合前的跟蹤信息生成相機(jī)運(yùn)動(dòng)軌跡,相對(duì)制約了三維場景的優(yōu)化精度。
針對(duì)上述問題,本文給出了一種CPU端到GPU端的在線體積重建算法,其關(guān)鍵思想是基于一種相機(jī)姿態(tài)的魯棒估計(jì)策略,全局優(yōu)化每一幀的相機(jī)運(yùn)動(dòng)軌跡,同時(shí)將深度數(shù)據(jù)信息融合到一個(gè)具有層次架構(gòu)的整體優(yōu)化框架中。算法對(duì)每個(gè)深度幀進(jìn)行整體到局部的對(duì)應(yīng)關(guān)聯(lián),對(duì)閉環(huán)包的處理主要使用隱含方法進(jìn)行,解決了復(fù)雜的閉環(huán)檢測過程。當(dāng)系統(tǒng)發(fā)生檢測失敗現(xiàn)象時(shí),跟蹤被終止時(shí),可以從另外一個(gè)視角重新啟用跟蹤,因此重建魯棒性較好。
本文使用一種全局相機(jī)姿態(tài)優(yōu)化策略,實(shí)現(xiàn)對(duì)每一幀圖像信息的實(shí)時(shí)位置優(yōu)化,根據(jù)優(yōu)化后的相機(jī)姿態(tài)來更新下一幀信息,算法兼容攝像機(jī)運(yùn)動(dòng)軌跡的多角度變化,快速定位目標(biāo)位置且快速重新訪問目標(biāo)區(qū)域,可有效處理遮擋問題,完成幀間數(shù)據(jù)的在線跟蹤定位,為大規(guī)模場景的在線重建提供了理論基礎(chǔ),系統(tǒng)重建流程如圖1所示。
圖1 系統(tǒng)重建流程框圖Fig.1 Block diagram of reconstruction system
(1)根據(jù)RGB-D傳感器取得深度數(shù)據(jù)信息,同時(shí)基于稀疏對(duì)應(yīng)關(guān)系組合得到整體到局部的對(duì)應(yīng)關(guān)系,接著使用最優(yōu)密集光照和拓?fù)鋵?duì)應(yīng)關(guān)系來優(yōu)化對(duì)應(yīng)關(guān)系,得到尺度不變特征變換(Scale invariant feature transform,SIFT),查詢?nèi)繋g信息對(duì)應(yīng)的SIFT值,同時(shí)使用濾波器過濾異常信息。
(2)在相機(jī)全局運(yùn)動(dòng)軌跡對(duì)準(zhǔn)過程中,使用幀間層次優(yōu)化策略對(duì)全局相機(jī)姿態(tài)進(jìn)行優(yōu)化處理。在第1層優(yōu)化過程中,由n個(gè)連續(xù)幀組成“塊”單元,針對(duì)“塊”完成局部優(yōu)化過程;在第2層優(yōu)化過程中,實(shí)現(xiàn)“塊”與“塊”的對(duì)應(yīng)關(guān)聯(lián)進(jìn)而實(shí)現(xiàn)全局整體優(yōu)化。本文算法使用截?cái)嗍綆Х?hào)距離場生成對(duì)應(yīng)“塊”。同時(shí)依據(jù)濾波策略的對(duì)應(yīng)關(guān)系和稠密的光照拓?fù)湎拗仆瓿稍摷?jí)的相機(jī)姿態(tài)對(duì)應(yīng)關(guān)系優(yōu)化,本文使用層次優(yōu)化策略降低優(yōu)化層間的非關(guān)聯(lián)對(duì)應(yīng)關(guān)系的特征關(guān)聯(lián),該算法可用于大規(guī)模場景的三維重建過程;使用GPU的內(nèi)部非線性迭代解算器完成層級(jí)間的非線性問題計(jì)算。
(3)根據(jù)全局相機(jī)姿態(tài)優(yōu)化下的三維場景幀對(duì)下一幀信息進(jìn)行更新,實(shí)現(xiàn)深度數(shù)據(jù)幀的快速融合,同時(shí)用基于反向融合策略得到幀信息代替在過去相機(jī)姿態(tài)下獲取的深度幀信息,同時(shí)更新當(dāng)前幀信息。重復(fù)此步驟直到重建精度達(dá)到閾值要求,該策略保證了算法對(duì)大規(guī)模場景的重建精度。
使用全局相機(jī)姿態(tài)對(duì)準(zhǔn)策略的實(shí)時(shí)三維重建的核心是魯棒性強(qiáng)的整體分層姿態(tài)優(yōu)化過程。輸入數(shù)據(jù)是由深度傳感器獲取的深度流:S={fi=(Ci,Di)}i,其中,Ci為每一幀的顏色信息,Di為RGB-D信息。深度傳感器的運(yùn)動(dòng)捕獲速率為30 Hz,分辨率為640×480。全局對(duì)應(yīng)關(guān)系檢測是在幀數(shù)據(jù)間獲取三維對(duì)應(yīng)關(guān)系項(xiàng),同時(shí)根據(jù)相機(jī)位置變換的集合信息{Γi},實(shí)現(xiàn)全部幀的運(yùn)動(dòng)對(duì)準(zhǔn)。對(duì)第i幀數(shù)據(jù)進(jìn)行坐標(biāo)系變換操作,使其從局部坐標(biāo)系映射到三維坐標(biāo)系:
Γi(p)=Rip+ti
式中:p為三維空間點(diǎn)坐標(biāo);Ri為相機(jī)旋轉(zhuǎn)角度;ti為相機(jī)平移位置距離,此處建立初始幀的位移全局坐標(biāo)系。
本文基于目標(biāo)特征匹配和相應(yīng)的濾波策略來檢測幀間的稀疏對(duì)應(yīng)關(guān)系組合。準(zhǔn)確的對(duì)應(yīng)關(guān)系組合對(duì)應(yīng)精準(zhǔn)的全局優(yōu)化過程至關(guān)重要,下面將主要闡明對(duì)應(yīng)關(guān)系的檢測濾波過程。
對(duì)于每個(gè)新獲取的幀數(shù)據(jù),計(jì)算SIFT特征值,同時(shí)將該幀信息對(duì)應(yīng)到全部先前幀處。SIFT用于說明深度信息的檢測結(jié)果變化情況,例如縮放,平移,旋轉(zhuǎn)等步驟。然后對(duì)幀間數(shù)據(jù)進(jìn)行濾波操作,生成對(duì)應(yīng)關(guān)系組合,該組合用于全局相機(jī)姿態(tài)優(yōu)化過程,該過程如圖2所示。該步驟主要在GPU上完成,減少了數(shù)據(jù)備份視覺,降低了中央處理器開銷。本文計(jì)算SIFT信息描述符的速率大概是4~5 ms/幀,幀間對(duì)應(yīng)關(guān)系匹配時(shí)間是0.05 ms。對(duì)于新獲得的深度幀信息,該算法可同時(shí)在線檢測2×104幀。
圖2 本文算法的匹配過程Fig.2 Matching process of proposed algorithm
對(duì)應(yīng)異常值的處理過程,本文使用光照和拓?fù)鋵?duì)應(yīng)特性來濾掉已有的對(duì)應(yīng)關(guān)系組合。
其次,計(jì)算幀fi所關(guān)聯(lián)的對(duì)應(yīng)關(guān)系點(diǎn)P,同時(shí)計(jì)算fj與對(duì)應(yīng)關(guān)系點(diǎn)Q間的面積差集,在每個(gè)三維點(diǎn)的計(jì)算過程中,將這些點(diǎn)映射到對(duì)應(yīng)的主軸平面,同時(shí)依據(jù)映射坐標(biāo)點(diǎn)的包圍框計(jì)算其表面面積。當(dāng)該面積值小于0.032 m2時(shí),則將對(duì)應(yīng)關(guān)系選項(xiàng)從對(duì)應(yīng)組合中去除。
(1)
式中:
(1)給定一組幀數(shù)據(jù)(塊或關(guān)鍵幀內(nèi)的幀,取決于層次水平)之間的三維對(duì)應(yīng)項(xiàng),姿態(tài)對(duì)準(zhǔn)的目標(biāo)是找到每個(gè)幀fi(簡稱i)的剛性相機(jī)變換{Γi}的最優(yōu)集合。由斜對(duì)稱矩陣發(fā)生器來實(shí)現(xiàn)對(duì)4×4剛性變換Γi的參數(shù)化處理,留下3個(gè)未知參數(shù)用于旋轉(zhuǎn)操作,另外3個(gè)用于平移操作。為了便于表示,本文將所有幀S的自由度疊加到一個(gè)參數(shù)向量中:
χ=(R0,t0,…,R|S|,t|S|)T=(x0,x1,…,xN)T
(2)
式中:N為向量xi的總數(shù)。
本文將對(duì)齊問題定義為未知參數(shù)χ的非線性最小二乘化問題,并基于稀疏特征、密集光度和幾何約束來定義對(duì)準(zhǔn)目標(biāo),如下所示:
Ealign(χ)=ωsparseEsparse(χ)+ωsparseEdense(χ)
(3)
式中:ωsparse和ωdense分別為稀疏和稠密匹配項(xiàng)的權(quán)值,ωdense的迭代增加用于表示粗略的姿態(tài)對(duì)準(zhǔn)。
注意,參考幀表示塊中的第1幀,用于塊內(nèi)對(duì)齊;或表示整個(gè)輸入序列中的第1幀,用于全局塊內(nèi)對(duì)齊。因此,參考變換Γi不是自由變量,并可從優(yōu)化中省略。
在稀疏匹配項(xiàng)中,本文對(duì)所有幀間的特征對(duì)應(yīng)項(xiàng)的世界空間位置距離之和進(jìn)行最小化處理:
(4)
式中:pi,k為第i幀的第k個(gè)檢測到的特征點(diǎn);Ci,j為第i幀和第j之間的所有成對(duì)的對(duì)應(yīng)關(guān)系(對(duì)應(yīng)項(xiàng))的集合。
式(4)的含義是尋找最優(yōu)的剛性變換Γi,使得所有被檢測到的特征匹配的歐幾里德距離最小。
(2)本文使用密集光度和幾何約束進(jìn)行精細(xì)尺度對(duì)準(zhǔn),計(jì)算每個(gè)輸入幀的顏色Ci和深度Di的密集像素信息。密集對(duì)齊的計(jì)算量比稀疏對(duì)齊要大得多。因此,本文在每個(gè)幀對(duì)應(yīng)項(xiàng)的有限集合E上進(jìn)行計(jì)算。E為對(duì)稀疏匹配圖邊緣(i,j)的編碼,如果幀i與幀j對(duì)準(zhǔn)(即它們的相機(jī)角度相似,在60°內(nèi))且彼此重疊,則密集光度和幾何對(duì)準(zhǔn)的優(yōu)化采用如下的能量公式表示:
Edense(Γ)=ωphotoEphoto(Γ)+ωgeoEgeo(Γ)
(5)
式中:ωphoto、ωgeo分別為幾何項(xiàng)和光度項(xiàng)的權(quán)值。
對(duì)于密集光度一致性,通過計(jì)算亮度Ci在梯度Γi上的誤差獲得魯棒的亮度變化:
Ephoto(χ)=
(6)
式中:π表示透視投影;di,k為與第i個(gè)深度幀的第k個(gè)像素相關(guān)聯(lián)的3D坐標(biāo)。
通過計(jì)算點(diǎn)到平面的幾何度量獲取切平面的精細(xì)度量對(duì)準(zhǔn):
(7)
式中:ni,k為第i個(gè)輸入幀的第k個(gè)像素的法線。
這里忽略輸入幀之外投影的對(duì)應(yīng)項(xiàng),并且在每個(gè)優(yōu)化步驟之后,使用ICP約束項(xiàng)來測量幀間距離和法線約束。對(duì)于密集的光度和幾何約束,本文將Γi和Di減小到80像素×60像素(使用與密集驗(yàn)證過濾器相同的高速緩存幀)。對(duì)于全局姿態(tài)優(yōu)化,通過稀疏對(duì)應(yīng)優(yōu)化來有效地重置每個(gè)關(guān)鍵幀處的密集優(yōu)化結(jié)果,本文僅在掃描結(jié)束之后執(zhí)行密集全局關(guān)鍵幀的優(yōu)化,優(yōu)化后的匹配效果如圖3所示。
圖3 本文重建算法的層次匹配效果Fig.3 Matching results of proposed reconstruction algorithm
全局姿態(tài)對(duì)準(zhǔn)是未知相機(jī)參數(shù)的非線性最小二乘問題。為了實(shí)現(xiàn)對(duì)超過兩萬幀的長掃描序列進(jìn)行在線全局相機(jī)姿態(tài)優(yōu)化,本文采用一種基于GPU的非線性迭代求解器,由于稀疏模式需要不同的并行化策略,本文采用高斯-牛頓方法(一階可導(dǎo),二次收斂),通過計(jì)算非線性最小二乘方來尋找最優(yōu)姿態(tài)參數(shù)χ2,即:
(8)
為了便于表示,本文以規(guī)范最小二乘法形式表示:
(9)
式中:R=3Ncorr+|Ε|·(|Γi|+|Di|),Ncorr為用于塊間對(duì)齊的稀疏對(duì)應(yīng)項(xiàng)的數(shù)量或用于塊內(nèi)對(duì)齊的每塊稀疏對(duì)應(yīng)項(xiàng)。
通過定義向量域F:RN→RR來簡化符號(hào):
F(χ)=[…,ri(χ),…]T
(10)
(11)
式中:JF為F(χ)的雅可比特征值。
用式(11)所示的局部近似代替F(χ),通過求解線性最小二乘問題來找到最佳參數(shù)更新Δχ*,即:
(12)
JF(χk-1)TJF(χk-1)Δχ*=-JF(χk-1)TF(χk-1)
(13)
系統(tǒng)在GPU上并行處理共軛梯度(PCG)求解器,并使用雅克比預(yù)處理器來求解式(13),同時(shí)使用迭代策略求解系統(tǒng)矩陣JF(χk-1)TJF(χk-1)的稀疏度。利用高斯-牛頓迭代法求解局部線性化能量以及相關(guān)的線性最小二乘問題,并基于最后一幀的計(jì)算結(jié)果執(zhí)行優(yōu)化處理。
對(duì)于精密的光度和幾何對(duì)準(zhǔn)項(xiàng),相關(guān)殘留的數(shù)量相當(dāng)高。由于系統(tǒng)矩陣在PCG工作期間固定,本文在每個(gè)非線性迭代開始時(shí)預(yù)先計(jì)算它。所需的內(nèi)存是預(yù)分配的,本文只通過分散寫入更新非零項(xiàng)即可。注意,隨著共享內(nèi)存局部特性的減少,只需要少量的寫入操作。
作為一種優(yōu)化措施,本文系統(tǒng)在每次優(yōu)化結(jié)束之后執(zhí)行對(duì)應(yīng)項(xiàng)幀過濾,該操作對(duì)于潛在的通信異常值(被錯(cuò)誤地認(rèn)為是有效的)的處理是魯棒的。也就是說,使用GPU的并行縮小操作來確定最大殘差rmax=maxiri(χ),當(dāng)rmax>0.05 m時(shí),去除與rmax關(guān)聯(lián)的兩個(gè)幀i和j之間的所有對(duì)應(yīng)項(xiàng)。注意,去除i和j之間的所有對(duì)應(yīng),以便最小化優(yōu)化次數(shù)以及所有不佳對(duì)應(yīng)關(guān)系的次數(shù)。另外,對(duì)于沒有對(duì)應(yīng)關(guān)系的幀,則其被隱含地從優(yōu)化中移除并且被標(biāo)記為無效。
本文使用全局?jǐn)z像機(jī)的對(duì)準(zhǔn)姿態(tài)優(yōu)化策略完成大規(guī)模場景的魯棒重建。檢測幀間的對(duì)應(yīng)關(guān)系變化過程,使用體素融合與體素去融合的方式完成目標(biāo)場景的三維體素變更。因此,當(dāng)算法搜索到較優(yōu)的估計(jì)姿態(tài)時(shí),便可實(shí)現(xiàn)目標(biāo)場景的精準(zhǔn)重建,減少了累積誤差,同時(shí)降低了漂移率。
基于體素?cái)?shù)據(jù)結(jié)構(gòu)表示的三維重建策略,使用帶符號(hào)距離場(TSDF)來表示目標(biāo)對(duì)象的幾何信息,并將全部深度信息融合到該表示結(jié)構(gòu)中,實(shí)現(xiàn)對(duì)場景信息的完整表征。TSDF表示方式基于體素空間的拓?fù)浣Y(jié)構(gòu)表示,用于存放TSDF信息的數(shù)據(jù)結(jié)構(gòu)較復(fù)雜,同時(shí)會(huì)影響算法的效率,因此,本文使用Lin等[18]提出的方法來完成重建,空余三維空間無需表示,算法基于三維體素索引策略,使用稀疏體素網(wǎng)格存放每個(gè)TSDF值,這里定義體素大小為8 cm×8 cm×8 cm。另外,在實(shí)時(shí)更新相機(jī)姿態(tài)的過程中,本文使用融合和去融合方法將深度信息整合到了TSDF空間表示中[19,20]。
對(duì)于復(fù)雜場景中的每個(gè)空間體素,D(v)為體素的帶符號(hào)距離;W(v)為三維體素的權(quán)重,di(v)為映射距離值,wi(v)為每個(gè)Di的融合權(quán)重。具體的體素融合函數(shù)表示,如下所示:
(14)
體素的去融合更新操作如下所示:
(15)
本文算法針對(duì)當(dāng)前幀執(zhí)行融合操作,將上一幀的信息融合到當(dāng)前幀,同時(shí)對(duì)上一幀執(zhí)行去融合操作,去掉冗余值,融合后的場景信息較好地保留了原始的幾何拓?fù)浣Y(jié)構(gòu)信息,同時(shí)為下一幀的融合過程提供依據(jù),這種策略在保證重建精度的同時(shí),避免了不必要的整合,提高了算法的重建效率。
本文采用GPU緩存來存放重建幀的RGB-D數(shù)據(jù)。算法快速地將當(dāng)前幀信息融合到重建過程中的各個(gè)TSDF中,保證了視覺系統(tǒng)的實(shí)時(shí)更新性能。算法使用相機(jī)全局優(yōu)化策略來更新整體體素信息,使用濾波器對(duì)關(guān)鍵對(duì)應(yīng)關(guān)系點(diǎn)進(jìn)行優(yōu)化,減少了漂移現(xiàn)象,保證了算法的魯棒性[21-24]。
本文算法在重建更新的過程中,對(duì)幀進(jìn)行降序排序,進(jìn)而實(shí)現(xiàn)重建過程的擇優(yōu)融合。重建融合的DOF參數(shù)設(shè)置如下:α、β、γ表示相機(jī)姿態(tài)變換角度;x、y、z表示相機(jī)移動(dòng)位置;tint=(αi,βi,γi,xi,yi,zi)表示融合;topt=(α0,β0,γ0,x0,y0,z0)表示重建更新;二者間的帶符號(hào)距離為‖stint-stopt‖2,s=(2,2,2,1,1,1),針對(duì)每個(gè)幀數(shù)據(jù)完成以上融合和更新重建。
為了測試本文系統(tǒng)的性能,選取不同照明條件來完成大規(guī)模真實(shí)場景的三維重建過程。軟硬件配置如下:操作系統(tǒng)為Windows 10;編程環(huán)境為VS 2016;中央處理器型號(hào)為INTEL Core i5;圖形處理器型號(hào)為NVIDIA 1070i/8G;深度傳感器為Asus Xtion Pro;傳感器的幀繪制速率為30 Hz/s,捕獲信息分辨率為640×480。
重建的視覺反饋被流傳輸?shù)较到y(tǒng)界面以幫助掃描過程。本文采用數(shù)據(jù)壓縮方式處理幀數(shù)據(jù)流,以此減少帶寬的限制。采用CUDA 8.0框架完成相機(jī)姿態(tài)的全局對(duì)應(yīng)。本文選取了6個(gè)不同的三維場景實(shí)施重建,其中包括4個(gè)房間M1~M4,一個(gè)桌面M5,一個(gè)紋理墻M6以及長80 m的幀序列,重建結(jié)果顯示相機(jī)姿態(tài)的對(duì)準(zhǔn)率較好,無顯著的攝像機(jī)漂移現(xiàn)象。
采用定量評(píng)估的方式測試本文算法的重建性能,當(dāng)預(yù)設(shè)重建點(diǎn)云數(shù)量和噪聲干擾強(qiáng)度的前提下,構(gòu)建500種測試用例,針對(duì)采樣噪聲組,分成5組用例和5級(jí)噪聲。本文給出了包括Whelan、Redwood以及本文算法的性能對(duì)比圖,如圖4所示。在噪聲強(qiáng)度的影響下,三維重建點(diǎn)的位置也變化,同時(shí)目標(biāo)函數(shù)隨迭代次數(shù)的增加而變化。根據(jù)試驗(yàn)結(jié)果顯示,算法的收斂性與重建三維點(diǎn)符合線性變換關(guān)系,然而當(dāng)噪聲強(qiáng)度不同的情況下,算法的收斂性也會(huì)受到影響。本文算法適用于大規(guī)模點(diǎn)云數(shù)據(jù)的實(shí)時(shí)三維重建,且重建精度較高。
圖4 Whelan、Redwood及本文算法的收斂性Fig.4 Comparison of Whelan、Redwood and our algorithm for convergence
這里對(duì)圖5所示的三維場進(jìn)行重建,以此來測試算法的重建精度。當(dāng)輸入數(shù)據(jù)不包含噪聲干擾時(shí),即使外點(diǎn)數(shù)量增加,也不會(huì)影響三維場景的重建精度;另外,當(dāng)輸入數(shù)據(jù)包含噪聲干擾時(shí),場景的重建精度也無明顯變化,表明本文算法具有抗干擾特性,尤其對(duì)噪聲干擾及外點(diǎn)數(shù)量具有魯棒性。
圖5 紋理墻模型M6三維重建效果圖Fig.5 Texture wall model M6 three-dimensional reconstruction result
本組試驗(yàn)使用NVIDIA GeForce GTX Titan X和GTX Titan Black組合技術(shù)。Titan X用于體積重建,Titan Black用于對(duì)應(yīng)搜索和全局姿態(tài)優(yōu)化。對(duì)于所有的測試場景,本文算法采用大于30 Hz的速率來獲取目標(biāo)場景,在整體稠密更新的后續(xù)幀中,繪制速率小于500 ms/幀,三維重建結(jié)果如圖6所示。從圖6可以看出:本文算法與Whelan、Redwood算法相比,重建質(zhì)量相當(dāng)甚至針對(duì)大規(guī)模缺損場景的重建,本文算法表現(xiàn)得更好,重建精度與離線重建算法的重建精度相當(dāng),這是一般在線算法很難達(dá)到的精度,重建效果顯示無漂移,對(duì)于結(jié)構(gòu)紋理復(fù)雜的曲面,重建效果較好、無偽影。
圖6 系統(tǒng)大規(guī)模重建效果圖Fig.6 System large-scale reconstruction map
本文算法與Whelan、Redwood算法的比較結(jié)果顯示:Whelan、Redwood算法在使用深度傳感器獲取場景并重建的過程中,漂移現(xiàn)象嚴(yán)重,尤其對(duì)規(guī)模較大的三維場景,累積誤差明顯。本文算法使用全局相機(jī)姿態(tài)優(yōu)化策略,在保證重建精度的情況下,滿足了大規(guī)模場景的實(shí)時(shí)重建需求,同時(shí)漂移現(xiàn)象較小,如圖7所示。
圖7 本文系統(tǒng)重建恢復(fù)(M5)Fig.7 Reconstruction recovery of our system(M5)
圖8 三種算法的相機(jī)姿態(tài)優(yōu)化比較Fig.8 Comparison of three algorithms about optimization of camera pose
為測試本文算法對(duì)遮擋情況的魯棒性,選取實(shí)物對(duì)目標(biāo)場景進(jìn)行遮擋測試。當(dāng)目標(biāo)場景被遮擋后,本文算法可實(shí)現(xiàn)快速的恢復(fù)更新重建,恢復(fù)速率較高,以至于重建漂移不明顯,僅存在于小面積范圍內(nèi),當(dāng)遮擋物被快速移除時(shí),本文算法具有不敏感特性,幾乎對(duì)場景重建精度無任何影響。由此可見,本文算法的重建過程對(duì)遮擋現(xiàn)象具有魯棒性,且同時(shí)具有中斷后快速更新復(fù)原特性,適用于大規(guī)模復(fù)雜場景無遮擋、無偽影的快速重建。
本文算法能夠魯棒地處理循環(huán)閉包,如圖8所示。體素三維重建以持續(xù)的融合過程對(duì)相機(jī)獲取的幀數(shù)據(jù)流進(jìn)行更新處理,同時(shí)完成幾何結(jié)構(gòu)的實(shí)時(shí)融合和去融合處理,同時(shí)對(duì)循環(huán)閉包進(jìn)行魯棒重建處理。當(dāng)攝像機(jī)的定位發(fā)生變動(dòng)時(shí),Whelan算法對(duì)小區(qū)域場景的重建精度較差,漂移現(xiàn)象較嚴(yán)重;Redwood算法在三維重建精度方面比Whelan算法要好,然而隨著重建場景規(guī)模的擴(kuò)大,兩種算法的重建速率下降,因此不適應(yīng)于大規(guī)模場景的實(shí)時(shí)重建。本文算法在初始幀獲取階段,顯示出些微錯(cuò)誤檢測現(xiàn)象,然而隨著傳感器采用數(shù)據(jù)的增加,相機(jī)姿態(tài)可以被較精確地定位,重建精度明顯提高,因此本文算法適用于對(duì)重建精度和實(shí)時(shí)性能要求較高的大規(guī)模場景的實(shí)時(shí)三維重建。
本文提出了一種基于全局相機(jī)姿態(tài)優(yōu)化策略的實(shí)時(shí)三維重建算法,在使用深度傳感器獲取目標(biāo)場景信息的同時(shí)完成了在線大規(guī)模場景的魯棒重建。使用SIFT捆綁調(diào)整策略實(shí)現(xiàn)了本地與全局目標(biāo)姿態(tài)的精準(zhǔn)對(duì)齊,同時(shí)使用動(dòng)態(tài)優(yōu)化策略對(duì)掃描到的幀數(shù)據(jù)進(jìn)行實(shí)時(shí)優(yōu)化重建,保證了大規(guī)模場景的重建精度,同時(shí)使用融合和去融合算法實(shí)現(xiàn)對(duì)三維場景的在線更新渲染重建。本文算法對(duì)大規(guī)模場景的重建精度較高,相當(dāng)于離線重建水平,同時(shí)保證了重建速度,是一種適用于大規(guī)模場景重建的在線算法。本文算法的在線三維重建速率為415 ms/幀,ICP姿態(tài)平均估計(jì)次數(shù)為20次,傳感器姿態(tài)變換的時(shí)間為100.0 ms,可用于機(jī)器人視覺系統(tǒng)的信息獲取、人工智能和虛擬現(xiàn)實(shí)領(lǐng)域以及對(duì)實(shí)時(shí)性要求較高的三維重建過程。
參考文獻(xiàn):
[1] Weise T, Wismer T, Leibe B, et al. In-hand scanning with online loop closure[C]∥IEEE International Conference on Computer Vision Workshops,Kyoto,Japan,2009:1630-1637.
[2] Henry P,Krainin M,Herbst E,et al. RGB-D mapping: using depth cameras for dense 3D modeling of indoor environments[J]. International Journal of Robotics Research,2012,31(5):647-663.
[3] Keller M, Lefloch D, Lambers M, et al. Real-time 3D reconstruction in dynamic scenes using point-based fusion[C]∥International Conference on 3D Vision-3DV,Tokyo,Japan,2013,8768(2):1-8.
[4] Whelan T,Leutenegger S,Salas-moreno R F,et al. Elastic fusion: dense SLAM without a pose graph[J/OL].[2017-02-10]. http://www.doc.ic.ac.uk/~bglocker/pdfs/whelan2015rss.pdf.
[5] Merrell P,Akbarzadeh A,Wang L,et al. Real-time visibility based fusion of depth maps[C]∥IEEE International Conference on Computer Vision, Rio de Janeiro, Brazil,2007:1-8.
[6] Meilland M, Comport A. On unifying key-frame and voxel-based dense visual SLAM at large scales[C]∥International Conference on Intelligent Robots & Systems, Tokyo, Japan,2013:3677-3683.
[7] Gallup D, Pollefeys M, Frahm J M. 3D reconstruction using an n-layer heightmap[J]. Pattern Recognition,2010,6376:1-10.
[8] Wurm K M,Hornung A,Bennewitz M,et al. Octomap:a probabilistic, flexible, and compact 3D map representation for robotic systems[J/OL].[2017-02-13]. http://ais.informatik.uni-freiburg.de/publications/papers/wurm10octomap.pdf.
[9] Curless B,Levoy M. A volumetric method for building complex models from range images[C]∥Conference on Computer Graphics and Interactive Techniques,New Orleans,LA,USA,1996:303-312.
[10] Kornuta T, Laszkowski M. Perception subsystem for object recognition and pose estimation in RGB-D images[J]. Automation, Springer International Publishing,2016,44(10):995-1003.
[11] Steinbruecker F,Sturm J,Cremers D. Volumetric 3D mapping in real-time on a CPU[C]∥IEEE International Conference on Robotics and Automation,Stockholm,Sweden,2014:2021-2028.
[12] Zollh?fer M,Thies J,Colaianni M,et al. Interactive model-based reconstruction of the human head using an RGB-D sensor[J]. Computer Animation & Virtual Worlds,2014,25(3-4):213-222.
[13] Zhou Q Y. Koltun V. Color map optimization for 3D reconstruction with consumer depth cameras[J]. ACM Transactions on Graphics,2014,33(4):1-10.
[14] Choi S,Zhou Q Y,Koltun V. Robust reconstruction of indoor scenes[C]∥IEEE Conference on Computer Vision and Pattern Recognition (CVPR),Boston,MA,USA,2015:5556-5565.
[15] Wikowski A,Kornuta T,Stefańczyk M,et al. Efficient generation of 3D surfel maps using RGB-D sensors[J]. International Journal of Applied Mathematics & Computer Science,2016,26(1):99-122.
[16] Newcombe R A, Izadi S, Hilliges O,et al. KinectFusion: real-time dense surface mapping and tracking[C]∥Conference on Computer Graphics & Interactive Techniques,New Orleans,LA,USA,1996:303-312.
[17] Whelan T,Johannsson H,Kaess M,et al. Robust real-time visual odometry for dense RGB-D mapping[C]∥IEEE International Conference on Robotics and Automation, Karlsruhe,Germany,2013:13851317.
[18] Lin J H, Wang Y J, Sun H H. A Feature-adaptive subdivision method for real-time 3D reconstruction of repeated topology surfaces[J]. 3D Research,2017,8(1):1-16.
[19] 王新華,歐陽繼紅,張廣,等. 微掃描紅外成像超分辨重建[J]. 吉林大學(xué)學(xué)報(bào):工學(xué)版,2017,47(1):235-241.
Wang Xin-hua,Ouyang Ji-hong,Zhang Guang, et al. Super-resolution reconstruction of infrared images based on micro-scanner[J]. Journal of Jilin University(Engineering and Technology Edition),2017,47(1):235-241.
[20] 劉迎,王朝陽,高楠,等. 特征提取的點(diǎn)云自適應(yīng)精簡[J]. 光學(xué)精密工程, 2017,25(1):245-254.
Liu Ying,Wang Chao-yang,Gao Nan, et al. Point cloud adaptive simplification of feature extraction[J]. Optics and Precision Engineering,2017,25(1):245-254.
[21] 張雷,王延杰,孫宏海,等. 采用核相關(guān)濾波器的自適應(yīng)尺度目標(biāo)跟蹤[J]. 光學(xué)精密工程,2016,24(2):448-459.
Zhang Lei,Wang Yan-jie,Sun Hong-hai,et al. Adaptive scale object tracking with kernelized correlation filters[J]. Optics and Precision Engineering,2016,24(2):448-459.
[22] 王慧利,朱明,藺春波,等. 光學(xué)遙感圖像中復(fù)雜海背景下的艦船檢測[J]. 光學(xué)精密工程,2018,26(3):723-732.
Wang Hui-li,Zhu Ming,Lin Chun-bo,et al. Ship detection of complex sea background in optical remote sensing images[J]. Optics and Precision Engineering, 2018,26(3):723-732.
[23] 李湘眷,王彩玲,李宇,等.窗口融合特征對(duì)比度的光學(xué)遙感目標(biāo)檢測[J].光學(xué)精密工程,2016,24(8):2067-2077.
Li Xiang-juan,Wang Cai-ling,Li Yu,et al. Optical remote Sensing object detection based on fused feature Contrast of subwindows[J]. Optics and Precision Engineering,2016,24(8): 2067-2077.
[24] 徐偉,陳彥彤,樸永杰,等.基于吉林一號(hào)遙感圖像的星載目標(biāo)快速識(shí)別系統(tǒng)[J].光學(xué)精密工程,2017,25(1):255-262.
Xu Wei,Chen Yan-tong,Piao Yong-jie,et al. Target fast matching recognition of on-board system based on Jilin-1 satellite image[J]. Optics and Precision Engineering,2017,25(1):255-262.