鄧念晨, 楊旭波
(上海交通大學(xué) 軟件學(xué)院,上海 200240)
多Kinect實(shí)時(shí)室內(nèi)動態(tài)場景三維重建
鄧念晨, 楊旭波
(上海交通大學(xué) 軟件學(xué)院,上海 200240)
采用多個(gè)Kinect從不同角度同時(shí)捕獲場景,將它們的深度圖和彩色圖結(jié)合在一起,通過數(shù)據(jù)預(yù)處理、頂點(diǎn)構(gòu)建、點(diǎn)云注冊和表面重建等步驟得到場景三維模型.整個(gè)流程均在GPU上實(shí)現(xiàn)以加速運(yùn)算,實(shí)現(xiàn)了基于GPU的迭代最近點(diǎn)算法、基于GPU的八叉樹構(gòu)建、基于有向距離函數(shù)的表面重建等關(guān)鍵算法.試驗(yàn)中,整個(gè)算法運(yùn)行幀率達(dá)到8.74 f/s;重建分辨率達(dá)到約5.9 mm.試驗(yàn)表明,算法基本滿足實(shí)時(shí)動態(tài)場景重建的要求,重建模型的精度滿足非精確計(jì)算類應(yīng)用的需求.
三維重建;室內(nèi)動態(tài)場景;多Kinect設(shè)備;迭代最近點(diǎn)配準(zhǔn);Marching Cubes算法
場景三維重建技術(shù)是利用傳感器和計(jì)算機(jī),通過對場景的紋理、深度等元數(shù)據(jù)進(jìn)行分析和處理后自動(或半自動)地構(gòu)建場景的三維模型.目前,場景重建技術(shù)在工業(yè)模擬、智能機(jī)器人等諸多方面都發(fā)揮著十分重要的作用.然而,較長的計(jì)算時(shí)間和昂貴的設(shè)備極大地阻礙了這一技術(shù)在協(xié)作辦公和日常生活領(lǐng)域的推廣應(yīng)用.因此,基于廉價(jià)設(shè)備的實(shí)時(shí)場景三維重建技術(shù)具有巨大的研究意義和應(yīng)用價(jià)值.本文以遠(yuǎn)程協(xié)作應(yīng)用為背景,采用Kinect設(shè)備捕獲場景數(shù)據(jù),研究如何實(shí)時(shí)重建滿足一般用戶視覺精度要求的場景模型.
人們對三維重建技術(shù)的研究已達(dá)數(shù)十年,也提出了許多方法.根據(jù)原始場景數(shù)據(jù)的類型,三維重建技術(shù)主要分為基于深度數(shù)據(jù)的三維重建[1-5]和基于紋理數(shù)據(jù)的三維重建[6-7],其中大多數(shù)方法是基于深度數(shù)據(jù)的.基于紋理數(shù)據(jù)的方法具有硬件成本低廉的優(yōu)勢,但物體表面的紋理本身受環(huán)境光影響較大,而且重建過程包含大量經(jīng)驗(yàn)和假設(shè),一般情況下的重建精度往往不能滿足要求.而基于深度數(shù)據(jù)的三維重建方法更為簡單、穩(wěn)定,易于推廣應(yīng)用.根據(jù)重建模型的抽象等級,三維重建技術(shù)可以分為3個(gè)層次[4]:高層次關(guān)注的是一種或者一類物體,主要用于物體識別[8];中層次使用基本幾何圖元構(gòu)建模型,主要用于物體分割[1];低層次則完全構(gòu)建模型網(wǎng)格表面,不受任何假設(shè)的限制,用于對物體或場景精確建模以便重現(xiàn)[2, 4-5].本文重點(diǎn)研究基于深度數(shù)據(jù)的網(wǎng)格模型精確建模方法.
近幾年,由于通用圖形處理器(GPGPU)的推廣應(yīng)用以及類似Kinect這樣具有實(shí)時(shí)深度獲取能力的設(shè)備的出現(xiàn),實(shí)時(shí)三維重建技術(shù)開始成為研究熱點(diǎn).文獻(xiàn)[9]利用Kinect從多個(gè)角度拍攝物體,然后離線重建完整的物體模型.而文獻(xiàn)[10]則在Kinect輸入數(shù)據(jù)上提出了更好的預(yù)處理方法.文獻(xiàn)[5, 11]利用Kinect設(shè)備和GPU運(yùn)算達(dá)到了實(shí)時(shí)重建的效率.文獻(xiàn)[12]繼續(xù)進(jìn)行了改進(jìn),使得重建算法能較為快速地響應(yīng)場景中發(fā)生的變化.而文獻(xiàn)[13]則結(jié)合圖像追蹤技術(shù)來重建和追蹤非剛體物體的變化.值得一提的是,上述方法都僅使用了單臺Kinect設(shè)備,由于受限于單一設(shè)備的視野局限,需要手持設(shè)備移動掃描才能獲取物體的多個(gè)視角,以便重建出較為完整的模型.本文采用多臺Kinect設(shè)備從不同視角捕獲場景并進(jìn)行融合,用戶不需要手持設(shè)備.這種配置更適合于遠(yuǎn)程協(xié)作的應(yīng)用環(huán)境,使用戶可以解放雙手進(jìn)行更好的交流和協(xié)作.
1.1硬件系統(tǒng)設(shè)計(jì)
在遠(yuǎn)程協(xié)作的工作平臺中,用戶不便手持Kinect設(shè)備進(jìn)行工作,因此,本文系統(tǒng)使用2~4個(gè)固定擺放在場景周圍不同方位的Kinect設(shè)備拍攝場景(如圖1所示),采用普通的個(gè)人計(jì)算機(jī)進(jìn)行計(jì)算,得到場景的三維網(wǎng)格模型,且固定Kinect設(shè)備能簡化重建動態(tài)場景的算法,也使重建結(jié)果更加穩(wěn)定.
圖1 硬件系統(tǒng)布局示意圖Fig.1 Hardware system layout
本系統(tǒng)在部署完成后需要進(jìn)行一次標(biāo)定操作,包括對所有Kinect設(shè)備分別進(jìn)行內(nèi)參標(biāo)定,對所有Kinect設(shè)備統(tǒng)一進(jìn)行外參標(biāo)定.內(nèi)參和外參標(biāo)定均采用棋盤格標(biāo)定法.
1.2算法流程概覽
實(shí)時(shí)動態(tài)場景重建算法的主要流程為獲取數(shù)據(jù)(深度數(shù)據(jù)和紋理色彩數(shù)據(jù)等)、對數(shù)據(jù)進(jìn)行預(yù)處理、根據(jù)深度數(shù)據(jù)構(gòu)建三維點(diǎn)云、對多組點(diǎn)云進(jìn)行注冊、從點(diǎn)云構(gòu)建網(wǎng)格表面,具體如下所述.
(1) 對數(shù)據(jù)進(jìn)行預(yù)處理.從傳感器獲取的數(shù)據(jù)存在一定的噪聲和誤差分布特性,因此,需要對原始的深度數(shù)據(jù)進(jìn)行特殊的預(yù)處理以降低噪聲的干擾,從原始數(shù)據(jù)的層面減少誤差.
(2) 根據(jù)深度數(shù)據(jù)構(gòu)建三維點(diǎn)云.對于每個(gè)傳感器獲得的深度數(shù)據(jù)和彩色圖像數(shù)據(jù),根據(jù)傳感器的內(nèi)參和外參信息計(jì)算點(diǎn)云中各點(diǎn)的三維坐標(biāo)、顏色和法向量.這時(shí)將它們可視化已經(jīng)可以看出一定的重建效果,但是由于基于棋盤格的外參標(biāo)定并不十分精確,從結(jié)構(gòu)和紋理上可以看出多組點(diǎn)云并不能完全匹配.
(3) 對多組點(diǎn)云進(jìn)行配準(zhǔn).旨在減小多組點(diǎn)云之間存在的變換偏差.許多有關(guān)三維重建的研究(例如文獻(xiàn)[5, 11])都使用迭代最近點(diǎn)配準(zhǔn)算法(ICP)[14],本文亦在該算法基礎(chǔ)上提出了改進(jìn)方案.
(4) 從點(diǎn)云構(gòu)建網(wǎng)格表面.從三維點(diǎn)云中構(gòu)建較為完整的表面網(wǎng)格模型,具體涉及基于GPU的八叉樹構(gòu)建、有向距離函數(shù)計(jì)算和三角面片生成等算法.
由于硬件層面的原因,Kinect設(shè)備獲得的彩色圖呈現(xiàn)出明顯的條紋狀噪聲,深度圖中也存在較為明顯的隨機(jī)噪聲,影響重建效果.因此,在使用這些數(shù)據(jù)生成三維點(diǎn)云前,首先需要進(jìn)行二維圖像層面的降噪處理.針對色彩圖的條紋噪聲特征,本文采用反交錯技術(shù)處理色彩圖,基本消除了這一噪聲,去噪效果如圖2所示.
(a)預(yù)處理前
(b) 預(yù)處理后圖2 彩色圖預(yù)處理前后的效果對比Fig.2 Color images before and after preprocess
針對深度圖中的隨機(jī)噪聲,如采用傳統(tǒng)高斯濾波方法在降噪的同時(shí)會導(dǎo)致邊緣模糊,因此,本文采用帶邊界檢測的高斯濾波方法.該方法能夠在消除內(nèi)部高頻噪聲的同時(shí),保持邊界的清晰.經(jīng)過這一處理的深度圖所構(gòu)建的三維模型不會在邊緣部分產(chǎn)生毛刺,克服了傳統(tǒng)高斯濾波方法的不足(如圖3所示).
(a) 傳統(tǒng)高斯濾波
(b) 帶邊界檢測的高斯濾波圖3 使用經(jīng)過傳統(tǒng)高斯濾波和帶邊界檢測的高斯濾波處理的單深度圖的重建結(jié)果對比Fig.3 The reconstruct result from single depth images processed by Gauss filter without and with edge detection
在外參標(biāo)定過程中的微小誤差會被構(gòu)建三維點(diǎn)云時(shí)的逆投影變換放大,因此,本文利用ICP算法實(shí)時(shí)地改進(jìn)外參標(biāo)定的精度.為了增強(qiáng)算法的魯棒性,本文采用位置-色彩混合空間下的距離定義[11].
另外,考慮到GPU的并行計(jì)算特性以及由深度圖生成的點(diǎn)云具有高度的結(jié)構(gòu)化,本文提出了基于投影關(guān)系的快速最近鄰搜索算法來加速最近鄰搜索.該算法的主要依據(jù)是在深度圖中排列的像素通過逆投影生成的三維頂點(diǎn)也具有一定的排列關(guān)系,即兩個(gè)距離相近的頂點(diǎn),其在深度圖上的投影之間的距離也很接近(只要這兩個(gè)點(diǎn)深度值不是很小).因此,若假設(shè)某個(gè)頂點(diǎn)v1的最近鄰頂點(diǎn)是v2,v2的投影p2有很大的概率落在v1的投影p1的小鄰域內(nèi),則在計(jì)算v1的最近鄰時(shí)搜索范圍可以被縮減到p1的小鄰域內(nèi).
場景重建的最后一個(gè)步驟是將點(diǎn)云變成表面模型.離線重建一般采用泊松表面重建方法[15],但是該方法計(jì)算復(fù)雜度較高.本文所實(shí)現(xiàn)的表面提取算法采用八叉樹結(jié)構(gòu)組織點(diǎn)云和劃分空間,使用有向距離函數(shù)模型計(jì)算零值面,最后利用基于八叉樹的Marching Cubes算法構(gòu)建三角面片.
4.1基于GPU的八叉樹構(gòu)建算法
本文參照文獻(xiàn)[16]中所述設(shè)計(jì)并實(shí)現(xiàn)了基于GPU的八叉樹構(gòu)建算法.為了使八叉樹構(gòu)建和查找能在GPU上高效執(zhí)行,本文采用了廣度優(yōu)先的構(gòu)建算法,并使用預(yù)先計(jì)算好的鄰居查找表查找節(jié)點(diǎn)的鄰居,將帶有數(shù)據(jù)依賴而無法并行執(zhí)行的操作降到最少.
4.2基于有向距離函數(shù)的等值面計(jì)算
4.3Marching Cubes表面提取算法
Marching Cubes算法[18]是基于網(wǎng)格劃分的表面提取算法,其基本思想是在每個(gè)網(wǎng)格中的小立方體單元中用平面結(jié)構(gòu)近似表面.根據(jù)立方體上的8個(gè)頂點(diǎn)在模型的內(nèi)部或外部的情況可以將立方體分為256類,又由于內(nèi)外對稱、立方體旋轉(zhuǎn)對稱,這256個(gè)種類可以規(guī)約到15個(gè)基本種類[18](如圖4所示).Marching Cubes算法的基本流程對于網(wǎng)格中的每個(gè)單元,以6個(gè)頂點(diǎn)的正負(fù)值(表示在三維模型的外部或內(nèi)部)組成索引查表獲得該單元需要形成的一系列三角形頂點(diǎn)索引.
圖4 15類立方體可以形成的三角面片[18]Fig.4 Fifteen kinds of triangle generation in a cube [18]
基于八叉樹的Marching Cubes算法和傳統(tǒng)的Marching Cubes算法相似,由于八叉樹的葉子節(jié)點(diǎn)僅存在于有原始點(diǎn)云中的點(diǎn)的區(qū)域,因此,會有部分三角面片因節(jié)點(diǎn)的缺失而無法構(gòu)建,導(dǎo)致最終生成的表面中包含許多小洞(如圖5所示).
圖5 基于八叉樹的Marching Cubes算法重建的表面Fig.5 Surface reconstructed from octree-based Marching Cubes algorithm
為了解決這一問題,本文提出了構(gòu)造偽節(jié)點(diǎn)的方法,其基本思路是對于所有在面f上與表面存在交線的節(jié)點(diǎn)n,構(gòu)造一個(gè)偽節(jié)點(diǎn)nf,與n在f上鄰接,并將在結(jié)構(gòu)關(guān)系上屬于nf的頂點(diǎn)和邊賦給nf.然后再對所有偽節(jié)點(diǎn)執(zhí)行Marching Cubes算法生成三角面片,便可補(bǔ)上這些空洞(如圖6所示,圖中頂點(diǎn)上的黑色標(biāo)記表示該頂點(diǎn)為正值,反之為負(fù)值,下同).
圖6 偽節(jié)點(diǎn)與在偽節(jié)點(diǎn)上構(gòu)造的面片(圖中畫陰影的三角形)Fig.6 Fake node and the patch on it (the triangle marked with shadow)
由偽節(jié)點(diǎn)的構(gòu)造而引出的一個(gè)問題,即偽節(jié)點(diǎn)中不包含任何原始點(diǎn)云中的點(diǎn),因此由偽節(jié)點(diǎn)而新增的頂點(diǎn)(可以稱其為偽頂點(diǎn))并不存在一個(gè)有向距離值(可以假定其為無窮大).一個(gè)無窮大的值并不屬于正值或負(fù)值,這導(dǎo)致無法明確識別該立方體的類型.因此,本算法采用就近原則,將一個(gè)無窮大值的符號定義為該頂點(diǎn)的3個(gè)鄰接頂點(diǎn)中非無窮大值的符號(如圖7(a)).若3個(gè)鄰接頂點(diǎn)中存在不同的符號(如圖7(b))或3個(gè)鄰接頂點(diǎn)均為偽頂點(diǎn)(如圖7 (c)),則拋棄該偽節(jié)點(diǎn),不生成任何三角面片.
(a) 3個(gè)相鄰頂點(diǎn)符號相同
(b) 3個(gè)相鄰頂點(diǎn)符號不同
(c) 3個(gè)相鄰頂點(diǎn)均為偽頂點(diǎn)圖7 就近原則處理無窮大值的符號Fig.7 The sign of infinite decided by principle of proximity
而在生成三角面片方面,由于為偽頂點(diǎn)賦予了符號,Marching Cubes算法生成的三角面片中可能會存在頂點(diǎn)在偽邊上的情況.對于這種情況,僅需要將該三角面片刪除即可.使用構(gòu)造偽節(jié)點(diǎn)的方法后則重建結(jié)果中含有的空洞明顯減少了(如圖8所示).
圖8 用構(gòu)造偽節(jié)點(diǎn)方法改進(jìn)后的重建結(jié)果Fig.8 The improved result by using fake nodes
通過一系列試驗(yàn)驗(yàn)證本文所設(shè)計(jì)的場景重建算法的執(zhí)行結(jié)果,測試和優(yōu)化算法執(zhí)行性能.所有試驗(yàn)均在同一臺普通的家用型筆記本電腦上進(jìn)行,其主要硬件參數(shù)為:Intel?CoreTMi7-2670QM處理器,8.00 GB內(nèi)存以及AMD?RadeonTMHD 6770M圖形顯示卡.所有試驗(yàn)均采用兩臺Kinect設(shè)備捕獲場景,兩臺Kinect設(shè)備中心軸之間的夾角約為45°,使用的深度圖和彩色圖分辨率均為320×240.
試驗(yàn)場景為桌面物體及人物雕像,Kinect設(shè)備與場景主要物件的距離范圍為60~100 cm.試驗(yàn)包括不同八叉樹層級的重建結(jié)果比較、時(shí)間和空間測試的性能分析.
5.1不同八叉樹層級的重建結(jié)果比較
該試驗(yàn)?zāi)康氖菍Ρ仍诓煌陌瞬鏄鋵蛹壣蠄?zhí)行表面提取的效果.用8~11層八叉樹(分別對應(yīng)葉節(jié)點(diǎn)邊長為23.4, 11.7, 5.9 和2.9 mm)重建的結(jié)果如圖9所示.從圖9中可以看出,使用8和9層八叉樹重建的結(jié)果十分粗略,尤其是使用8層時(shí),雕像的五官幾乎不可分辨.而使用11層八叉樹重建結(jié)果雖然保留了非常細(xì)致的細(xì)節(jié),但由于原采樣點(diǎn)的密度不足,該重建結(jié)果也存在大量的空洞.使用10層八叉樹重建的結(jié)果雖然細(xì)節(jié)較11層有所缺失,但在大部分區(qū)域都沒有空洞,是最為適合當(dāng)前所使用的采樣分辨率的.因此,以下試驗(yàn)均采用10層八叉樹重建.
(a) 8層八叉樹
(b) 9層八叉樹
(c) 10層八叉樹
(d) 11層八叉樹圖9 使用不同層數(shù)的八叉樹重建場景的結(jié)果Fig.9 The reconstruct results using different levels of octree
5.2時(shí)間性能分析和優(yōu)化
優(yōu)化前后主要步驟所用時(shí)間如表1所示.鑒于優(yōu)化前算法在清空八叉樹和提取表面花費(fèi)的時(shí)間最多,優(yōu)化主要針對這兩個(gè)步驟進(jìn)行.
表1 優(yōu)化前后主要步驟所用時(shí)間Table 1 Time spent in key steps before and after optimization
清空八叉樹的時(shí)間耗費(fèi)過長主要是由于內(nèi)存到顯存的帶寬相對較窄,采用從內(nèi)存中將初始數(shù)據(jù)重新導(dǎo)入GPU緩存中的開銷巨大.因此,針對這一步驟的優(yōu)化采取了通過執(zhí)行shader為緩存寫入初始數(shù)據(jù)的方法.
對于提取表面步驟,首先進(jìn)一步分析了表面提取算法中的各個(gè)步驟的時(shí)間開銷.優(yōu)化前后表面提取算法的各步驟時(shí)間開銷對比如圖10所示.由圖10可知,計(jì)算每個(gè)八叉樹頂點(diǎn)的有向距離花費(fèi)了絕大多數(shù)的時(shí)間,而優(yōu)化該步驟的代碼后表面提取算法的時(shí)間開銷明顯縮短.
(a) 優(yōu)化前
(b) 優(yōu)化后圖10 優(yōu)化前后表面提取算法的各步驟時(shí)間開銷對比Fig.10 Time spent in each step of surface extraction before and after optimization
由表1可知,優(yōu)化后重建算法執(zhí)行時(shí)間是原來的33%,加速比達(dá)到3.02.優(yōu)化后的運(yùn)行幀率可達(dá)到8.74 f/s.
5.3GPU內(nèi)存空間性能分析與優(yōu)化
場景重建算法所占用的GPU內(nèi)存空間如表2所示,所列數(shù)據(jù)為分析具體實(shí)現(xiàn)后計(jì)算而得.
表2 優(yōu)化前后主要數(shù)據(jù)結(jié)構(gòu)空間的使用效率Table 2 The space usage of main data structures before and after optimization
由表2可知,優(yōu)化前執(zhí)行場景重建算法需要329.88 MB的顯存空間,有效率僅有16.53%.主要原因是動態(tài)分配GPU緩存資源的開銷極大,一般都是在初始化時(shí)就創(chuàng)建了足夠大的空間.例如基于極端情況下每個(gè)八叉樹的葉子節(jié)點(diǎn)可能只包含一個(gè)點(diǎn)云中的點(diǎn),因此,優(yōu)化前為八叉樹葉子節(jié)點(diǎn)分配的空間與分辨率和Kinect的個(gè)數(shù)的乘積一致.但是事實(shí)上由于點(diǎn)集分布的集中性,上述極端情況是不可能出現(xiàn)的.另外由于分辨率的增加只會導(dǎo)致點(diǎn)云的密度增加,并不會增加許多覆蓋區(qū)域,因此,實(shí)際上分辨率的增加并不會導(dǎo)致葉子節(jié)點(diǎn)的大幅增加.經(jīng)過對試驗(yàn)數(shù)據(jù)的分析后,本文進(jìn)行了3步優(yōu)化:
(1) 對點(diǎn)云數(shù)據(jù)進(jìn)行壓緊處理,使得有效數(shù)據(jù)都集中在數(shù)組前端;
(2) 將為節(jié)點(diǎn)分配的空間大小與分辨率的關(guān)系從線性關(guān)系修正為與輸入分辨率的二次根呈線性關(guān)系,可以有效減少使用高分辨率輸入數(shù)據(jù)時(shí)的空間浪費(fèi);
(3) 將節(jié)點(diǎn)邊和節(jié)點(diǎn)頂點(diǎn)改為緊湊排列,并減少分配給節(jié)點(diǎn)邊和節(jié)點(diǎn)頂點(diǎn)的空間.
經(jīng)過3步優(yōu)化,算法所耗費(fèi)的GPU內(nèi)存空間僅為優(yōu)化前的1/3,有效率提升至57.83%.
5.4辦公場景的重建
場景包含人物和放置著一些辦公物品的桌面.使用兩臺Kinect設(shè)備拍攝場景,其中心軸之間的夾角約為30°,與場景中主要物體的距離范圍為80~150 cm.重建結(jié)果如圖11.
圖11 辦公場景的重建結(jié)果Fig.11 Reconstruction of work scene
本文設(shè)計(jì)并實(shí)現(xiàn)了基于多個(gè)Kinect設(shè)備的實(shí)時(shí)動態(tài)場景重建技術(shù),性能基本滿足實(shí)時(shí)要求.主要研究成果包括:提出了基于投影關(guān)系的快速最近鄰搜索算法;用構(gòu)造偽節(jié)點(diǎn)法改進(jìn)了基于八叉樹的Marching Cubes算法的重建結(jié)果;實(shí)現(xiàn)了完整的場景重建算法,并利用GPU并行技術(shù)達(dá)到了三維重建實(shí)時(shí)性.
未來工作將主要集中于以下幾點(diǎn):深入研究更多應(yīng)用在表面重建中的數(shù)學(xué)模型,以期提出一個(gè)更好的數(shù)學(xué)模型減少空洞和噪聲敏感度,并提升重建模型的細(xì)節(jié);引入紋理色彩分析算法,考慮研究色調(diào)補(bǔ)償和表面材質(zhì)提取等方面的內(nèi)容,并改進(jìn)模型紋理的生成方法,提高模型紋理的真實(shí)感;進(jìn)一步優(yōu)化性能.
[1] DENG S W, YUAN B Z. A method for 3D surface reconstruction from range images[C]// 1994 International Symposium on Speech, Image Processing and Neural Networks. 1994:429-432.
[2] CURLESS B, LEVOY M. A volumetric method for building complex models from range images[C]// Proceedings of the 23rd Annual Conference on Computer Graphics and Interactive Techniques, ACM. 1996: 303-312.
[3] SCHUTZ C, JOST T, HUGLI H. Free-form 3D object reconstruction from range images[C]// 1997 International Conference on Virtual Systems and MultiMedia. 1997: 69-70.
[4] WHITAKER R T. A level-set approach to 3D reconstruction from range data[J]. Int J Comput Vision, 1998, 29(3): 203-231.
[5] IZADI S, NEWCOMBE R, KIM D, et al. Kinect Fusion: Real-time dynamic 3D surface reconstruction and interaction[C]//ACM SIGGRAPH 2011 Talks (SIGGRAPH′11). Vancouver, British Columbia, Canada: ACM, 2011.
[6] 楊敏,沈春林.基于場景幾何約束未標(biāo)定兩視圖的三維模型重建[J]. 中國圖象圖形學(xué)報(bào):A版, 2003, 8(8): 872-876.
[7] REMONDINO F, EL-HAKIM S F, GRUEN A, et al. Turning images into 3-D models[J]. Signal Processing Magazine, IEEE, 2008, 25(4): 55-65.
[8] BESL P J, JAIN R C. Three-dimensional object recognition[J]. ACM Computing Surveys (CSUR), 1985, 17(1): 75-145.
[9] 劉田間,郭連朋,陳向?qū)?等.基于 Kinect 傳感器多深度圖像融合的物體三維重建[J]. 應(yīng)用光學(xué), 2014, 35(5):811-816.
[10] 應(yīng)忍冬,陳曉明,蔣樂天.基于 Kinect 深度信息的實(shí)時(shí)三維重建和濾波算法研究[J]. 計(jì)算機(jī)應(yīng)用研究, 2013, 30(4):1216-1218.
[11] NEUMANN D, LUGAUER F, BAUER S, et al. Real-time RGB-D mapping and 3-D modeling on the GPU using the random ball cover data structure[C]// 2011 IEEE International Conference on Computer Vision Workshops, 2011: 1161-1167.
[12] KELLER M, LEFLOCH D, LAMBERS M, et al. Real-time 3D reconstruction in dynamic scenes using point-based fusion[C]//2013 International Conference on 3D Vision. IEEE, 2013: 1-8.
[13] ZOLLH?FER M, NIE?NER M,IZADI S,et al. Real-time non-rigid reconstruction using an RGB-D camera[J]. ACM Transactions on Graphics (TOG), 2014, 33(4):
[14] BESL P J, MCKAY N D. A method for registration of 3-D shapes[J]. IEEE Trans Pattern Anal Mach Intell, 1992, 14(2): 239-256.
[15] KAZHDAN M, BOLITHO M, HOPPE H. Poisson surface reconstruction[C]//Proceedings of the Fourth Eurographics Symposium on Geometry Processing. Cagliari, Sardinia, Italy: Eurographics Association, 2006: 61-70.
[16] ZHOU K, GONG M, HUANG X, et al. Highly parallel surface reconstruction[J]. Microsoft Research Asia, 2008.
[17] HOPPE H, DEROSE T, DUCHAMP T, et al. Surface reconstruction from unorganized points[C]//Computer Graphics (SIGGRAPH ’92 Proceedings).1992: 71-78.
[18] LORENSEN W E, CLINE H E. Marching cubes: A high resolution 3D surface construction algorithm[C]//Proceedings of the 14th Annual Conference on Computer Graphics and Interactive Techniques (SIGGRAPH ’87).1987: 163-169.
Real-Time Dynamic Indoor Scene 3D Reconstruction Using Multiple Kinect
DENGNian-chen,YANGXu-bo
(School of Software, Shanghai Jiaotong University, Shanghai 200240, China)
Multiple Kinect devices are used to capture a scene from different views at the same time. Depth and RGB images of the scene are combined to model the scene. The reconstruction process mainly includes data preprocessing, vertex construction, point clouds registration and surface reconstruction. All processes are GPU implemented to speed up the calculating. Key algorithms implemented in this subject include iterative closest point based on GPU, octree construction based on GPU, surface reconstruction based on the signed distance function. Experimental results show that the algorithm efficiency reaches 8.74 f/s and the resolution of models reconstructed are about 5.9 mm. The experimental results prove that, the reconstruction process implemented meets the requirements of the real-time dynamic scene reconstruction and the precision of reconstructed models meets the need of non-exact calculation application.
3D reconstruction; indoor dynamic scene; multiple Kinect devices; iterative closest point registration; Marching Cubes algorithm
1671-0444(2015)04-0448-07
2014-11-14
國家自然科學(xué)基金資助項(xiàng)目(61173105, 61373085)
鄧念晨(1990—),男,山東濰坊人,碩士研究生,研究方向?yàn)橛?jì)算機(jī)圖形學(xué).E-mail:dengnianchen@sjtu.edu.cn
楊旭波(聯(lián)系人),男,教授,E-mail:yangxubo@sjtu.edu.cn
TP 391
A
東華大學(xué)學(xué)報(bào)(自然科學(xué)版)2015年4期