三維重建技術簡介(三維重建技術 各種方法簡介)
三維重建技術
三維重建作為物理環境感知的關鍵技術之一,其可用于自動駕駛、虛擬現實、數字孿生、智慧城市等場景。從重建目標的角度來看,三維重建包括物體重建、場景重建、人體動態重建等多個方向。
1.?????? 三維重建定義
在計算機視覺中,三維重建是指根據單視圖或者多視圖圖像重建原始三維信息的過程。單視圖缺少深度、多視角信息,基于單視圖的三維重建效果較一般。基于多視角圖像的三維重建,充分利用了多視角拍攝信息,其先對攝像機進行標定并計算出攝像機的圖像坐標系與世界坐標系的關系,然后利用多個二維圖像重建出三維信息。其完整流程后文中介紹。
常見的三維重建模型表達方式:
l? 深度圖(depth)
深度圖像為RGB三通道圖像加上深度Map組成。深度圖中每個像素代表著物體到相機成像平面的距離。
l? 點云(point-cloud)
點云是某個坐標系下的點的數據集。點包含了豐富的信息,包括三維坐標X,Y,Z、顏色、分類值、強度值、時間等等。點云數據可通過三維激光掃描等方式獲取。
l? 體素(voxel)
體素是三維空間中的一個有大小的點,一個小方塊,可類比為二維空間中的像素。
l? 網格(mesh)
三角網格即由三角形組成的多邊形網格。多邊形和三角網格在圖形學和建模中廣泛使用,用來模擬復雜物體的表面,如建筑、車輛、人體等。任意多邊形網格都能轉換成三角網格。
三角網格存儲以下三類信息:
ü? 頂點:每個三角形都有三個頂點,各頂點都有可能和其他三角形共享。
ü? 邊:連接兩個頂點的邊,每個三角形有三條邊。
ü? 面:每個三角形對應一個面,我們可以用頂點或邊列表表示面。
2.?????? 三維重建技術簡介
廣義上,三維重建是指對某些三維物體或者三維的場景的一種恢復和重構,重建出來的模型,方便計算機表示和處理。在實際重建過程中,三維重建是對三維空間中的物體、場景、人體等圖像描述的一種逆過程,由二維的圖像還原出三維的立體物體、場景和動態人體。因此三維重建技術是在計算機中建立表達客觀世界的虛擬現實的關鍵技術。
基于圖像的三維重建是從若干幅圖片計算提取出場景和物體的三維深度信息,根據獲取的三維深度信息,重構出具備很強真實感的物體或者場景的三維模型的方法。該方法是涉及到多個熱門領域,比如涉及到計算機圖像處理、計算機圖形學、計算機視覺和計算機輔助設計等很多的領域。目前,基于圖像的三維重建技術已經成為一個極具潛力的熱門領域,在諸多方面有著很重要的應用,比如數字城市、航天飛行、遙感測繪、數字文博等領域。
傳統的建模方式多采用建模軟件(例如3DMax、AutoCAD等)進行正向設計和建模。同時,對于已有物體、場景則可使用三維掃描儀通過逆向掃描重建后得到模型。基于計算機圖形學的圖像三維重建方法,其成本低廉、真實感強、自動化程度高,在諸多場景中得到應用。另外,隨著計算機視覺領域深度學習技術在圖像處理方面取得的成就,學術界中出現了一些基于深度神經網絡的三維物體、場景重建研究。
3.?????? 三維圖像重建技術的發展現狀
當前三維重建技術主要分成兩大技術方向:
(1)?????? 基于視覺幾何的傳統三維重建
這種三維重建方法研究時間較久遠,技術相對成熟。其主要通過多視角圖像對采集數據的相機位姿進行估計,再通過圖像提取特征后進行比對拼接完成二維圖像到三維模型的轉換。
(2)?????? 基于深度學習的三維重建
這種方法主要使用了深度神經網絡超級強大的學習和擬合能力,可以對RGB或RGBD等圖像進行三維重建。這種方法多為監督學習方法,對數據集依賴程度很高。由于數據集的收集和標注問題,目前多在體積較小的物體重建方向上研究較多。
4.?????? 現有的圖像三維重建技術方法分析
基于圖像的三維重建技術的實質就是利用照相設備或者錄像設備采集的、對顯示三維場景或者物體離散的二維圖像作為基礎數據,經過處理得到場景或者物體的三維數據信息,從而生成真實的場景或者物體,然后通過合適的空間模型把全景圖像組織為虛擬的實景空間,用戶在這個空間中可以前進、后退、環視、近看、遠看等操作,實現用戶全方位觀察三維場景的效果,采用這種建模技術可以實現普通計算機上的真實感圖形繪制。
有人提出將基于圖像重建幾何模型分為:基于單幅圖像重建幾何模型,采用立體視覺方法重建幾何模型,基于側影輪廓線重建幾何模型,基于深度圖像重建幾何模型。
4.1?? 多視幾何三維重建
單目三維重建方法只使用一個相機重建三維物體。根據使用的圖像數目,單目三維重建方法可以進一步分為兩種。
第一種方法中,為了獲取三維的信息,需要改變相機的位置或物體的角度,從而獲取多個角度的圖像來實現重建。
因此這種方法也稱為SfM(StructurefromMotion)方法。這種方法整體的流程包括:
1)???????? 第一步:對每張圖片檢測特征點(featurepoint)并提取特征點的特征描述子(如SIFT);
2)???????? 第二步:對每對圖片中的特征點進行匹配,建立特征點在所有圖像中的軌跡,并且去除不滿足幾何約束的匹配(例如通過八點法和RANSAC方法估計基本矩陣、移除異常點);
3)???????? 第三步:求取攝像機的內參(intrinsicparameter,包括焦距、像素長寬、相機主點坐標、畸變參數),和每張圖的外部參數(extrinsic parameter,相機的旋轉、平移參數),如下面兩圖所示;
1)???????? 第四步:通過特征點的坐標和相機的內、外部參數,通過三角化計算得到點的三維坐標,得到稀疏的重構;
2)???????? 第五步:使用BundleAdjustment進行結果的優化,通過調整相機參數的估計值和三維點的坐標,使三維點反向投影回圖像時的誤差最小化。下面的圖中展示了SfM方法的整體流程以及各個階段的結果示意圖。
SfM流程示意圖(兩個版本)及部分中間結果示意。
在上述第三步到第五步中,根據使用對齊的圖像對的方式不同,分為增量式、全局式、混合式、層級式等方式。目前在CV領域中,比較流行的做法是增量式,也就是以一對對齊之后的圖像作為起始,逐漸增加新的圖像,迭代進行第三步到第五步,更新結果。下邊的圖和表分別展示了這種做法的大致流程,以及一些當前主流的軟件工具在每個步驟的具體實現方法。可以看到,目前的主流做法仍然是提取圖像的SIFT特征,并在此基礎上進行圖像對齊。在對齊時,可以對特征進行哈希,或使用神經網絡等方式,找到初始的匹配點對。之后通過多點法+RANSAC去除錯誤的匹配點對,并基于最終過濾過的匹配結果,計算圖像間的幾何變換關系,進行圖像對齊。
第二種方法只用一張圖像估計圖像的深度,能夠在一定程度上重建三維的場景。這種方法通常在深度學習中比較常見,通過以深度圖作為監督信號訓練CNN模型,以圖像作為輸入,要求模型的輸出可以盡可能擬合圖相對應的深度圖,從而使得到的模型可以預測圖像的深度信息。后面基于深度學習的方法章節有該類方法的描述。
稠密重建MVS:
由于SfM方法只能得到稀疏的三維點,因此如果需要得到的稠密的重建結果的話,還需要使用MVS算法,基于相機參數和圖像,進行稠密的圖像點匹配。下圖展示了常見的幾個MVS稠密重建方法。
4.2基于深度學習的三維重建
基于深度學習的三維重建方法依賴于大規模的標注數據集,而大場景數據的采集和標注工作量非常大,基于深度學習的三維重建方法多采用物體或人體標注數據集來實現。近幾年該方向的一些經典方法包括:
4.2.1基于單張RGB圖像的三維重建
該算法網絡結構如上圖所示。可分成兩個部分:
(1)???? 特征提取:全卷積神經網絡;
(2)???? Mesh表示:圖卷積神經網絡表征三維mesh,并對三維mesh不斷進行形變,目標是得到最終的輸出。
該方法不需要借助點云、深度圖等其他數據,直接從單張RGB圖片直接重建出待重建物體的三維mesh。
4.2.2基于多視圖的三維重建
比較新穎一種方法如下圖所示,基于單視圖或多視圖的3D物體重建算法:3D-R2N2。
網絡框架如上圖所示,其采用深度學習實現二維圖像到對應的三維Voxel模型的映射:
(1)???? 標準CNN編碼器網絡對原始輸入圖像進行編碼;
(2)???? 標準Deconvolution解碼器網絡對其解碼;
(3)???? 網絡中間層用LSTM進行連接。LSTM單元按3D網格結構進行組織,每個單元接收一個從編碼器網絡輸出的特征向量,并將他們輸送到解碼器網絡中。每個LSTM單元重構輸出體素中的一部分。
通過Encoder-3DLSTM-Decoder的網絡結構,建立了二維圖像到三維Voxel模型的映射。
4.2.3基于點云數據的三維重建
上面介紹的工作都基于深度神經網絡實現二維圖像到三維模型的重建。除了常見的RGB二維圖像外,點云數據越來越多地用于3D視覺應用中,包括自動駕駛、三維重建等。正面這篇論文利用深度神經網絡通過單張RGB圖像直接生成三維模型點云,提出一種較好的方法解決了單張圖片生成三維幾何模型的問題。
點云是一種簡單、統一的數據結構形式,其可以在幾何變換和形變時更容易操作。該網絡可以由輸入圖像確定的視角推斷的3D物體中實際包含點的位置。
網絡結構如上圖所示。
輸入為給定的一張RGB或RGBD圖像數據,通過PointOutNet網絡實現完整的三維形狀重建,并將最終輸出的模型通過點云(Point cloud)的形式來表示。其中點云中點的個數為1024,對于小物體而言已經足夠,但應用于大規模場景或物體三維重建時,該數值需要根據實現場景進行調整。
以上介紹了目前應用深度學習技術,基于RGB或RGBD圖像或多視角圖像發展而來的三維重建方法。上述算法只是部分方法應用介紹,且由于物體數據集相較于大規劃場景數據集易于收集和標注,大部分算法均是基于物體重建闡述其在重建方向的應用。每年CV方向的學術會議和期刊上都有不少新穎的重建方法出現,一定程度上也說明基于深度神經網絡的三維重建是未來重建領域重要的發展方向。
5.?????? 基于遙感影像的三維環境重建
上面從技術的角度對三維重建方法進行了簡要介紹。三維重建在數字城市場景下應用空間巨大。通過對實景三維重建技術的應用,實現城市大數據整體、個別建筑或物件的三維實物模型可視化,為城市信息管理系統及智慧城市安平解決方案上層應用提供實景三維底圖平臺。
基于遙感數據(高分衛星、無人機航拍等)的大規模場景重建方向,其基礎技術多采用多視幾何為基礎的傳統建模方法,成熟穩定。但大規模場景重建帶來的數據量巨大,其所需要的計算資源也會非常可觀,會在具體的領域或場景中落地應用。
具體遙感采集資質的情況下,相比于衛星數據獲取,無人機遙感航拍具有設備相對簡單、成本低、風險小、靈活機動、實時性強等優點。在某些數據采集場景,無人機正逐步成為衛星遙感、飛機遙感和地面遙感的有效補充。而微型無人機的普及使其應用更加廣泛地成為三維空間數據采集的重要方法,包括地質勘察、城市航拍、災害監測、高程測量等。同時,以近景攝影測量和計算機視覺理論為基礎的基于航拍圖像數據的三維重建在數字城市、數字文博等領域得到了較好的應用。下圖為兩個城市建筑航拍數據的三維重建示意圖。
參考文獻:
1.?????? 3D建模與處理軟件簡介 劉利剛
2.?????? 基于圖像的三維建模 申抒含
3.?????? 基于衛星遙感影像的三維重建技術研究 郭思悅
4.?????? 基于深度學習的視覺三維重建研究
人工智能 云計算 AI
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。