劉睿
中煤(西安)地下空間科技發(fā)展有限公司,中國·陜西 西安 710000
三維重建經(jīng)過數(shù)十年的發(fā)展,已經(jīng)取得巨大的成功?;谝曈X的三維重建在計算機領(lǐng)域是一個重要的研究內(nèi)容,主要通過使用相關(guān)儀器來獲取物體的二維圖像數(shù)據(jù)信息,然后對獲取的數(shù)據(jù)信息進(jìn)行分析處理,最后,利用三維重建的相關(guān)理論技術(shù)重建出真實環(huán)境中物體表面的輪廓信息?;谝曈X的三維重建具有速度快、實時性好等優(yōu)點,能夠廣泛應(yīng)用于人工智能、機器人、無人駕駛、SLAM、虛擬現(xiàn)實、3D打印和高精度模型建立等領(lǐng)域,具有重要的研究價值,也是未來發(fā)展的重要研究方向。
雖然三維重建技術(shù)發(fā)展迅速,但對于想使用該技術(shù)的普通人員來說,仍有技術(shù)與軟硬件設(shè)備的壁壘。為此,論文對近些年來基于視覺的三維重建技術(shù)方法的主要技術(shù)路線進(jìn)行對比和分析,總結(jié)一條個人低成本的三維重構(gòu)技術(shù)路線。
在接下來的章節(jié)中,論文從現(xiàn)有技術(shù)分析總結(jié)和開源軟件的技術(shù)路線實現(xiàn)三維重建的兩個方面進(jìn)行研究。具體安排如下:總結(jié)三維重建的方法分類及單目視覺法的優(yōu)缺點;重點說明開源軟件的三維重建技術(shù)研究;總結(jié)該技術(shù)的優(yōu)缺點及發(fā)展。
從整體上來看,三維重建技術(shù)主要通過視覺傳感器來獲取外界的真實信息,然后通過信息處理技術(shù)或者投影模型得到物體的三維信息,也就是說,三維重建是一種利用二維投影恢復(fù)三維信息的計算機技術(shù)。1997年,Varady等[1]將數(shù)據(jù)獲取方式分為接觸式和非接觸式兩種。2005年,Isgro等[2]又將非接觸式方法分為主動式和被動式兩類。其后,在各自的方式方法中又細(xì)分出大量三維重建技術(shù),各個三維重建技術(shù)的分類如圖1所示[3]。
圖1 三維重建技術(shù)分類
其中,被動視覺法的單目視覺法對比其他的方法研究價值更高,因為該方法法簡單、可靠、靈活、適用范圍廣,克服了立體視覺中視場小、立體匹配難的不足。但是缺點是不能夠得到深度信息,只能通過軟件算法優(yōu)化,匹配特征點等方式進(jìn)行自動化重建,常用的算法軟件包括大疆智圖Terra、Context Capture(原Smart3D)、Reality Capture、123D Catch等大場景的三維重建商業(yè)軟件與免費的在線重建軟件,商業(yè)軟件收費昂貴,免費在線軟件需要登陸外網(wǎng)平臺,但對于想了解三維重建的新人來說,也存在一定學(xué)習(xí)門檻。
經(jīng)過不斷地探索研究,最終確定了使用手機攝像頭拍攝照片,利用開源軟件Meshroom自動建模、Instant meshes快速減面和Blender紋理烘焙,來實現(xiàn)低成本的三維重建技術(shù)。
物體的重建首先需要采集有效的影像資料,并利用計算機信息處理與自動建模技術(shù)建立出所拍攝的物體模型,論文采用Meshroom自動建模。通過這種方式建立出的模型三角面數(shù)量與精細(xì)程度將會非常高,但有一個問題,高面數(shù)且多邊面的模型,就會占用很多計算資源,這對于虛擬現(xiàn)實、3D打印、高精度模型等應(yīng)用都是不利的。所以,需要對這個精細(xì)的高模,在通過自動或手動的方式,制作一個由四邊面構(gòu)成的,面數(shù)非常低的低模,這個過程叫拓?fù)洌撐氖褂肐nstant meshes重拓?fù)?。再通過展開低模的UV,通過專業(yè)軟件,把高模上的細(xì)節(jié)用各種貼圖分別映射到低模上,這個過程叫烘焙紋理,論文使用Blender烘焙紋理。
相機設(shè)備的準(zhǔn)備即可使用專業(yè)相機,也可用手機進(jìn)行拍照。但需注意的是手機拍照應(yīng)該使用專業(yè)模式,鎖定焦距,避免景深的產(chǎn)生,同時配合專業(yè)云臺或穩(wěn)定拍照,確保照片不出現(xiàn)拖影現(xiàn)象,禁止使用閃光燈。
被拍攝物體,首先需要避免陰影、透明、高反射及純色物體,如果涉及該類型物體,可采用如噴涂透明或高反射物體,增加光源或減少地面接觸來減少陰影等方式進(jìn)行處理。照明推薦柔和光或間接光,避免強光產(chǎn)生陰影。背景需要有一定紋理,方便軟件做對比分析。
拍攝模型重建對象的每一部分應(yīng)至少3個不同的視點(但比較接近)進(jìn)行拍攝。一般來說,連續(xù)影像之間的重疊部分應(yīng)該超過60%。物體的同一部分的不同拍攝點間的分隔應(yīng)該小于15°,如圖2所示。
圖2 物體拍攝手法
照片的采集是整個三維模型重建過程中非常重要的一步,重建結(jié)果的好壞往往與照片采集有很大的關(guān)系,而不是軟件操作的問題,影像分辨率高、重疊度大、清晰度高,拍攝光照條件好,建成的三維模型效果就會好。
在MESHROOM官網(wǎng)進(jìn)行下載及安裝。節(jié)點編輯器界面中軟件已自行配置好節(jié)點,無需手動添加,只需導(dǎo)入拍攝好的照片組,再點擊開始便可直接進(jìn)行自動建模,成果可在3d預(yù)覽窗口點擊載入模型進(jìn)行查看。如需設(shè)置更加詳細(xì)的參數(shù)、算力及細(xì)節(jié)捕捉情況,可進(jìn)入節(jié)點進(jìn)行逐一了解,如有意見反饋和常規(guī)問題可登錄https://github.com/alicevision/meshroom/issues進(jìn)行查找,這里不做過多說明。
MESHROOM自動建模完成的模型為OBJ格式,文件在紋理節(jié)點(Texturing)右鍵打開文件夾中查看,但此模型面數(shù)龐大,論文使用Instant meshes開源軟件進(jìn)行重拓?fù)?。在Instant meshes官網(wǎng)進(jìn)行下載及安裝。
使用Instant meshes開源軟件重拓?fù)渲?,也可將其?dǎo)入Blender中對多余面、無效面、破洞等進(jìn)行刪除與修改,在另存OBJ格式進(jìn)Instant meshes進(jìn)行工作。在Instant meshes的載入網(wǎng)格中加載我們需重拓?fù)涞哪P?,設(shè)置一個預(yù)期的目標(biāo)模型頂點數(shù)量,點擊定向場與位置場的處理,便可進(jìn)入導(dǎo)出網(wǎng)格中的提取網(wǎng)格進(jìn)行查看。該軟件還可設(shè)置轉(zhuǎn)換網(wǎng)格的結(jié)構(gòu)、對齊邊界、調(diào)整與修改布線的形態(tài)趨勢等功能,同時還會顯示生成奇數(shù)點的數(shù)量與位置,可對其進(jìn)行修改與完善。調(diào)整完畢之后另存該網(wǎng)格文件,文件類型為OBJ格式,需注意文件名后加入后綴.obj才可保存成功。
使用Instant meshes重拓?fù)浜螅矬w模型的紋理結(jié)構(gòu)將會丟失,而原始網(wǎng)格自動生成的UV映射也無法直接使用,所以我們需要對其進(jìn)行紋理烘培,論文使用Blender開源軟件進(jìn)行紋理烘培。在Blender官網(wǎng)進(jìn)行下載及安裝。
由于Blender軟件是一款三維圖形圖像軟件,設(shè)計的操作與流程較為繁瑣,這里不做過多說明,只提供技術(shù)路線作為參考。首先對網(wǎng)格進(jìn)行UV展開,BLENDER中有UV智能映射,之后給重拓?fù)浜竽P吞砑訄D像紋理,新建一個空白圖像,就可以為這個空白圖像烘培紋理。Blender烘培紋理須在Cycles渲染引擎下才可使用,烘培類型為漫射,僅影響顏色,通過所選物體到活動物體的紋理烘培,便可進(jìn)行烘培,想要進(jìn)一步提升烘焙效果可以開啟罩體后烘焙。烘培完成后,便會得到我們需要的紋理圖像,如果需要對細(xì)節(jié)進(jìn)行更深入的調(diào)整,如AO(Ambient Occlusion)、糙度、法線等,也可在Blender中進(jìn)行設(shè)置。
至此,物體的三維重建工作便得以完成。
該技術(shù)方法全程使用開源軟件,不僅對比付費軟件能省下一筆資金,還能在深入了解軟件特性后對其進(jìn)行二次開發(fā),如Meshroom自動建模軟件可通過架設(shè)服務(wù)器對大場景模型進(jìn)行自動重建;Blender二次開發(fā)的便捷重拓?fù)洳寮uad Remesher等,并且經(jīng)過對比與測試,該套技術(shù)方案無需連接互聯(lián)網(wǎng),運行穩(wěn)定流暢,操作步驟節(jié)點化、規(guī)則化,并在中國有中文翻譯的版本,有利于初學(xué)者對三維重建技術(shù)的探索與學(xué)習(xí)。
雖然該技術(shù)流程十分便利,但也存在一定的局限。單目視覺分類方法體系龐大,分類眾多,但是必須要滿足一些假設(shè)條件,而且容易受到光照、紋理等其他一些因素的影響,通用性較差,重建效果與拍攝的照片效果有很大關(guān)系,對比其他的三維重建技術(shù)重建效果不確定性較大,并且對于非靜態(tài)物體該技術(shù)基本無法使用。
雖然有著不少的缺點,但是相信隨著硬件技術(shù)的升級,如Iphone新加入的基于紅外結(jié)構(gòu)光的深度相機,手機的不斷增加的多攝像頭等,更高效地將視覺傳感器獲取的三維信息與其他多傳感器信息進(jìn)行融合;在軟件層面將視覺特征的檢測與匹配速度及精度進(jìn)一步提升,從而滿足基于視覺的三維重建在復(fù)雜環(huán)境中的應(yīng)用。相信基于開源軟件的單目視覺三維重建技術(shù)一定能夠得到長足的進(jìn)步。