劉志海 , 代振銳 , 田紹魯 , 劉飛熠
(1.山東科技大學交通學院, 青島 266590; 2.山東科技大學機械電子工程學院, 青島 266590)
在計算機視覺和圖像處理等技術的快速發展下,非接觸式三維重建在三維重建領域成為重要研究內容。非接觸式三維重建是指通過光、聲和電磁學等信號源接觸物體表面[1],并使用相應設備對目標物體進行圖像采集,然后使用計算機對獲取的二維圖像信息進行分析處理,再通過三維重建的相關理論知識獲得物體的三維信息。與利用測量工具和目標物體表面接觸進而完成三維重建的接觸式三維重建技術相比,非接觸式三維重建具有重建速度快、效率高等優點,且不易受物體的幾何形狀影響。廣泛應用于人工智能、自動駕駛、機器人視覺、醫學、虛擬和增強現實等領域[2-6]。
根據發射信號源所使用的傳感器是否主動向物體照射光源分為主動式、被動式[7-8]兩種方法。主動式三維重建通過向目標物體發射信號并分析返回的信號,計算信號源與目標物體表面的相對位置進而完成目標物體表面的三維重建。被動式三維重建通過單個或多個相機采集目標物體的圖像,利用圖像分析獲得目標物體表面的三維數據,進而完成物體的三維重建。
現主要對主動式三維重建的飛行時間法、基于三角測距的結構光重建、光柵重建和被動式三維重建的單目視覺、雙目視覺、多目視覺重建和基于深度學習的三維重建進行分析總結。
主動式三維重建是一種主動測量環境深度從而重建出物體三維模型的技術。該技術使用傳感器主動地向物體表面發射信號源,然后依靠解析返回的信號,計算信號源與目標物體表面的相對位置獲取物體的三維信息。根據方法原理,主動式三維重建主要分為基于激光測距和基于結構光重建?,F主要分析基于激光測距的飛行時間法、基于相位差的光柵重建和基于三角測距原理的結構光三維重建[9-12]。
飛行時間法(time of flight,TOF)通過向目標發送光脈沖信號,然后依據傳感器接收到光脈沖信號反射后的時間差來計算與目標的距離,工作原理如圖1所示。TOF根據測量傳播時間方式的不同可以分為直接測量法和間接測量法[13],根據光源發射器調制光脈沖方法的不同可以分為脈沖調制法和連續波調制法[14]。TOF主要采用主動紅外調制光源,可以在無光的環境中工作,不需要進行圖像處理分析,速度較快,同時還具有穩定性高、集成度高等優點,但是容易受環境光的影響。
隨著微電子、微光學和微技術的不斷發展,20世紀90年代初,首次將基于TOF測量技術與特殊功能的傳感器結合在一起,生成出了第一代TOF相機[15-16]。目前,生產TOF相機的廠商主要有Psychemedics(PMD)公司、MESA Imaging AG公司和微軟公司等。TOF相機的誤差會影響TOF三維重建的準確性,TOF相機的誤差主要分為相機本身不可避免的系統誤差和外界環境引起的非系統誤差。

圖1 飛行時間法原理圖Fig.1 Schematic diagram of TOF method
結構光法三維重建示意圖如圖2所示,通過投影儀將特定的結構光圖案投射到目標物體上,由相機拍攝目標物體的二維圖像,再通過圖像處理和視覺模型求出目標物體的三維信息[23]。其基本原理是三角測量原理,通過計算投影儀與相機之間的位置關系和畸變條紋來獲取物體的三維信息。這種方法容易受光照影響,適合室內環境,而且隨著檢測距離的增加,重建精度也會變差。結構光常用的結構形式有單投影儀-單相機、單投影儀-雙相機[24]、單投影儀-雙相機、多投影儀-單相機[25]、多投影儀-單相機[26]等。根據技術原理可以分為三角測距的結構光重建和基于相位的光柵重建。

I表示條紋圖像;Ip表示p點的條紋圖像;α表示被測物體的反射率; α(x, y)表示被測物體(x, y)點的反射率;β表示環境光 圖2 結構光示意圖[27]Fig.2 Schematic diagram of structured light[27]
1.2.1 基于三角測距的結構光重建
基于三角測距的結構光重建通過計算投影儀發射的光源、相機和光源在目標物體上的投影點構成的三角關系來獲得目標物體的三維信息。該方法重建結果比較穩定可靠,但是重建范圍較小。根據光信號發射器的投影模式不同,結構光法可以分為點式結構光、線式結構光、面式結構光。
點式結構光使用光信號發射器發射一束光線投射到目標物體上,在目標物體上形成一個光點,然后相機拍攝目標物體得到二維圖像信息,再根據三角測量原理計算光點的深度。將光信號發射器沿豎直和水平方向對待測物體進行逐點掃描就可以得到該物體整個表面的深度信息。點式結構光只是對一個點進行處理,算法簡單、計算速度較快,適用于小范圍三維重建。但是這種方法是逐點進行測量,效率較低。
線式結構光與點式結構光原理相同,不同的是線結構光使用線形光源。光信號發射器將線形激光投射到目標物體表面,使用相機拍攝帶有線形激光的圖像,根據三角測量原理對線式結構光發射器和相機的位置進行計算,從而得到投射線位置的三維信息。與點式結構光相比,線式結構光得到的三維信息更為豐富且測量效率較高。
面式結構光也稱為編碼結構光,其原理是利用投影儀將編碼圖案投射到目標物體上,然后使用相機拍攝目標物體得到帶有編碼圖案的物體表面圖像,再根據解碼方法和三角測量原理計算得到目標物體的三維信息。根據編碼方式的不同可以分為空間編碼和時間編碼,空間編碼只有一種投射方式,時間編碼有兩種及以上的投射方式。投射圖案的編碼方式是影響三維重建精度和效率的重要因素。面結構光與點式、線式結構光重建相比效率較高,重建速度較快,適合較小物體的三維重建,如人臉重建。
潘碩等[28]提出了一種基于多線結構光的深孔類零件表面三維重建方法,使用多線結構光圖像測量系統獲取零件內表面的結構光圖像,并結合深孔零件的特征,建立基于柱坐標系下的遠心鏡頭成像模型,測量的精度誤差滿足實際要求。曾凱等[29]提出了基于線結構光的彎道類工件三維重建方法,使用標定好的線結構光三維重建平臺獲取工件的點云數據,該方法具有較高的重建精度,能夠滿足工業實時檢測的要求。陳榮等[30]提出了一種基于空間編碼結構光的稠密重建方法,使用紅色的正弦光柵條紋和藍色偽隨機點組成的編碼模式,并利用零均值歸一化互相關進行匹配,該方法不需要對投影儀進行標定和顏色校正且只需要一個圖像完成三維重建,在保證三維重建精度的前提下提高了速度。Gunatilake等[31]提出了一種利用履帶式機器人實現管道三維重建的解決方案,利用結構紅外激光環形投影儀和RGB相機,并使用了立體映射、光線投射和RGB深度映射等圖像算法對管道的三維輪廓進行了重建,該方案的使用性能和精度得到了保障,但是需要機器人的定位要求較高。Montusiewicz等[32]利用結構光技術的三維掃描儀通過數字化的方式展示了歷史服裝的三維模型,推動了服裝文化的記錄和傳播,探討了利用三維模型和信息技術在數字資源空間中推廣文化遺產的途徑。
1.2.2 基于相位的光柵重建
基于相位的光柵重建通過分析目標物體表面條紋圖像包含的深度信息的相位變化,然后根據相位和物體深度的關系獲得目標物體表面的深度信息,該方法的原理也是三角測量,但核心是相位的計算。光柵重建測量的范圍較大、精度較高、速度較快。使用光柵條紋投影進行三維重建的方法較為廣泛,常用的方法主要有傅里葉變換輪廓術和相位測量形貌輪廓術等。
傅里葉變換輪廓(fourier transform profilometry,FTP)術由Takeda等[33]提出,基于傅里葉變換,利用計算機對帶有光柵條紋的目標物體表面的圖像在空間域進行傅里葉變換、濾波和傅里葉反變換,獲取光柵條紋在物體表面的相位分布,進而獲得目標物體表面的三維信息。傅里葉變換輪廓術使用一副圖像就可以獲得目標物體的三維信息,重建速度較快,可以進行實時重建,但是物體表面的反射系數對其影響較大,重建精度不高。
相位測量輪廓(phase measurement profilometry,PMP)術利用投影儀投射多幅具有特殊相移差的條紋圖像到目標物體,然后通過三角函數法計算每個像素的相位值,進而獲得目標物體的深度信息。該方法需要多幅圖像才能獲得物體表面的深度信息,重建速度相比于FTP較慢,但可以彌補FTP的缺點,而且具備重建精度高、范圍較廣等優點,因此廣泛應用于工業測量領域[34]。
Lü等[35]提出了一種基于極限學習機網絡的相位差-三維坐標映射模型,該模型以標定板的圓心數據為樣本庫,通過分析樣本的網絡輸出誤差確定隱層神經元的數量,利用極限學習機網絡分別對訓練樣本和測試樣本的輸出進行預測,滿足了三維測量中高精度、高效率的要求。劉飛等[36]提出了改進的三頻三步相移結構光三維重建方法,該方法將最高頻率的3張圖像應用三步相移算法得到精度最高的包裹相位,計算出背景光強和調制光強并代入剩余條紋圖中得到其包裹相位,最后進行相位展開得到展開相位進而完成三維重建,解決了傳統方法主要投影多編碼圖像和效率低的問題。薛峰等[37]分析了實際工作環境和物理模型對三維重建的影響,針對因亮度飽和而導致重建缺失和精度低的問題,提出了一種相位融合和多頻外差算法相結合的方法。鄧仕超等[38]分析了傳統的三頻外差產生相位跳變誤差的原因,使用誤差范圍約束,并利用公式回帶和多頻外差算法展開相位信息,降低了解包裹過程中的相位誤差跳變,使得三維重建結果的表面較光滑且細節清晰。
被動式[39-40]三維重建沒有主動獲取環境深度圖的能力,只能通過相機采集圖像,然后利用多視圖幾何原理對圖像進行分析處理,從而獲取物體的三維信息。根據相機數量的多少,被動式三維重建主要分為單目視覺、雙目視覺和多目視覺的三維重建方法。
單目視覺只使用一個攝像頭作為圖像采集設備,使用的圖像可以是單張或者序列圖像,主要是通過提取圖像中的亮度、紋理、輪廓、特征點等信息來估計圖像的深度信息,具有低成本、操作簡單等優點。單張圖像很難包含物體所有的三維結構信息,因此使用單張圖像實現三維重建的難度較大。下面對明暗恢復形狀法、光度立體視覺法、紋理恢復形狀、輪廓恢復形狀、焦點恢復形狀和運動恢復結構單目視覺三維重建方法進行闡述。
2.1.1 明暗恢復形狀法
Minsky[41]于1970年提出明暗恢復形狀(shape from shading,SFS)法,也稱為明暗度法。該方法需要已知光源方向,并假設物體表面為朗伯反射模型和成像幾何關系為正交投影,根據單幅圖像各點對應的亮度值代入預先設計的色度模型中,結合表面可微分性、曲率約束和光滑度約束等,求解各點深度信息。SFS方法只需要一幅圖像就可以進行三維重建,運行時間短,但是幅單張圖像中獲得的信息較少,重建的效果不理想且光照對其影響較大,不適合在室外進行三維重建。
明暗恢復形狀法經過多年的發展,主要有最小化方法、演化方法、局部分析法、線性化方法等[42]。最小化方法在全局范圍內將圖像與反射圖的亮度的差值能量最小化。演化方法通過迭代方法從圖像中的特征點開始推演出物體表面的三維信息。局部分析法假設已知物體的表面形狀,通過求解其與反射圖的方程組進而求出物體表面的三維信息。線性化方法是通過Taylor級數將SFS反射函數轉換成不同階次未知量的線性和[43]。Fan等[44]基于Cook-Torrance 雙向反射分布函數建立了SFS模型,該模型建立在相機的笛卡爾坐標系上,具有任意光源位置,通過圖像實驗證明了該算法具有良好的魯棒性。李健等[45]利用深度相機融合SFS光照約束實現了物體的三維重建,在深度信息的基礎上加入了光照約束來優化深度值,重建出的三維模型細節更清晰,精度更高,但受深度相機的制約僅適用于室內重建。
2.1.2 光度立體視覺法
Woodham[46]提出了光度立體視覺(photometric stereo,PS)法,根據光源方向和圖像明暗之間的關系求解物體表面的三維信息。其工作原理是在相機位置及周圍場景不變的情況下改變光源方向或者光源顏色,獲取目標的多張圖像,然后通過聯立亮度方程求出物體的表面形狀,進而恢復出物體的三維模型。根據光源和相機等因素,光度立體成像系統可分為平行光源或點光源面陣相機成像系統和線形光源線陣相機成像系統[47]。與明暗恢復形狀法相比,該方法使用多個光源,獲得的三維信息較多,但是對光照比較敏感,不適合室外場景重建。
為解決由理想的朗伯體表面在現實中是有限的帶來的缺點,研究者們提出基于非朗伯體表面的光度立體視覺方法。Shen等[48]提出了一種基于核回歸的高效光度立體測量方法,該方法將正態估計表述為核回歸,并進一步表述為特征分解。通過快速的矩陣計算和適當的正規初始化來加速留過程,提高了計算效率。Quéau等[49]基于對噪聲和異常值的精確建模,提出了一種魯棒變分方法,解決了在不準確的照明存在的光度立體問題。朱可等[50]提出了一種基于光度立體視覺的采用二維平面圖像重構三維表面的方法,從顯微成像角度建立近場點光源模型,通過PS求解研究對象表面的法向量,最后由Frankot-Coellappa算法獲取表面深度信息,實現了機械零部件在無拆卸狀態下的磨損表面的三維測量。簡振雄等[51]提出了一種進場非朗伯光度立體視覺高亮金屬表面紋理的重構方法,利用共位光源下的逆反射模型解耦金屬表面法向量,并使用最大值融合策略克服陰影影響,提高了表面紋理重構的準確性。
2.1.3 紋理恢復形狀法
紋理恢復形狀(shape from texture,SFT)法是根據圖像的紋理信息來獲取物體的三維信息,然后重建出物體的三維模型。該方法根據單張圖像重建出物體三維模型,重建精度和速度比較高,而且對光照和噪聲都不敏感。但是它只適用于具有紋理特征的物理,實用性不高。
Massot等[52]基于一種不需要選擇最優局部尺度的圖像局部頻率估計方法,將圖像局部分解成小塊,從而估計出圖像的局部頻率變化,用于解決從紋理中恢復形狀的問題。Loh等[53]提出了一種從紋理中提取形狀的方法,假設表面光滑,對鋒面紋理進行估計,正確的估計會導致最一致的表面,并通過一致性約束恢復表面。Forsyth等[54]通過假定紋理元素具有有限數量的固定形狀類型,構造了一個最大后驗估計的表面系數僅使用單個紋理元素的變形,描述了一個形狀從紋理方法。
2.1.4 輪廓恢復形狀法
輪廓恢復形狀(shape from silhouettes/contours,SFS/SFC)法簡稱“輪廓法”,主要思想是通過單目相機從不同角度拍攝圖像來獲取物體的輪廓信息,然后根據輪廓信息恢復物體的三維模型,圖像的數量越多,重建結果越精確,會導致計算量增大,降低了重建的速度。輪廓恢復形狀法又可以分為體素法、視殼法和錐素法。
Martin等[55]首先提出體素法,這種方法將三維空間離散化為體素,再將前景與背景進行分割,然后將所有能夠投影到前景的體素點集合起來就能夠重構出物體的三維模型。視殼法[56]是在不同視角拍攝圖像,將得到的輪廓圖通過椎體反投影到三維空間中形成三維錐殼,反投影得到三維錐殼組成視殼,當拍攝視角足夠豐富時,那么就可以將視殼的形狀認為是物體的三維形狀。錐素法[57]是由視殼法發展而來,即通過對極幾何的方法把視殼法的運算轉換到二維空間中,使得運算變的簡單。
2.1.5 焦點恢復形狀法
焦點恢復形狀(shape from focus,SFF)法也稱為調焦法,是通過分析相機光圈、焦距和圖像清晰度之間的關系來恢復物體的深度信息,然后重建出物體的三維模型[58]。由于相機鏡頭具備光學聚焦原理,物體只有在相機焦距處才會拍攝出比較清晰的圖像,然后建立物體到投影中心的距離與圖像清晰度之間的關系,進而得到圖像的深度信息[59]。
調焦法對光照不敏感,重建精度比較高,但是它與相機光圈和焦距有關,需要不斷設置相機光圈和焦距,不能實時重建,對紋理復雜的物體重建效果也不理想。調焦法具體可以分為聚焦(shape from focus,SFF)法和離焦(shape from defocus,SFD)法。聚焦法就是被測物體在相機焦距處,再根據成像公式求解得到被測物體相對于相機的距離[60-61]。離焦法則與聚焦法相反,不需要被測物體在相機焦距處,而是根據離焦模型計算被測物體相對于相機的距離[62]。
2.1.6 運動恢復結構法
運動恢復結構(structure from motion,SFM)法首先從不同視角采集圖像,通過圖像的紋理信息提取特征點;然后每兩幅圖像之間進行特征點匹配,并計算特征點間對應關系和相機在三維空間中的相機姿態;再利用三角測量原理將該圖像對的相機姿態與其特征點對求解得到三維坐標,從而生成三維點云,并用光束法平差對三維點云進行優化處理;當采集到新圖像時,在已處理的圖像中選擇一張與新圖像進行特征匹配并求解出新圖像對應的相機姿態,計算出其對應的三維點云,與之前的三維點云融合,從而得到不同視角下的三維點云。該算法使用多幅圖像來獲取目標物體的三維信息,使得重建結果比較精確,但是也會導致計算量較大,重建速度較慢。SFM常用的方法有增量式SFM、全局式SFM和混合式SFM等。
增量式SFM[63]是目前應用最廣泛的運動恢復結構法,重建流程如圖3所示。一般先使用尺度不變特征變換算子對每張圖像進行特征點檢測,并進行特征點匹配。再使用隨機抽樣一致算法和八點法估計出基礎矩陣,然后使用三角化對匹配的特征點進行操作,得到其對應的三維點云信息,通過捆綁調整不斷地優化場景結構。由于在求位姿與三維點時會有大量噪聲干擾,且計算結果會發生漂移,通過添加光束平差(bundle adjustment,BA)算法進行優化處理。全局式SFM[64]將所有圖像添加到場景中,計算所有的相機姿態,然后進行三角化處理。全局式SFM僅采用一次光束法平差優化,大大提高了重建速度,且精度較高,但是對大規模場景進行重建時,重建的效果并不理想?;旌鲜絊FM[65]是將上述兩種方法進行融合,使用全局式SFM估計相機旋轉矩陣,增量式SFM估計相機中心位置坐標,然后進行局部捆綁調整。

圖3 增量式SFM重建流程圖Fig.3 Flow chart of incremental SFM reconstruction
陳輝等[66]利用運動恢復結構法實現了對葉片體積的測量,使用智能手機采集葉片圖像,通過SFM獲取其點云數據,采用模糊C均值聚類算法提取單個葉片,重建出葉片的網格并通過網格法計算葉片的體積,可以滿足多種不規則葉片體積計算的要求。汪侃等[67]提出一種鄰圖配對式SFM重建拓撲結構,該結構首先以首張圖像相機坐標系下的點云作為主點云,然后使用抗噪聲的尺度迭代最近點法配準點云,最后規定世界坐標系實現點云尺度信息的恢復。梁秀英等[68]基于運動恢復結構實現了玉米植株的三維重建,并通過歐式聚類和圓柱擬合等算法提取了單株、莖稈和葉片等的點云數據,為玉米植株表型的研究提供了測量方法。
雙目視覺通過雙目相機拍攝目標物體的左右兩幅圖像,然后搜索兩幅圖像中匹配的像素,并計算其匹配像素的位置差,將這個差值設置在圖像的灰度范圍內,構成兩幅圖像匹配像素的位置差的圖像,稱作視差圖像。獲取視差圖像之后,根據三角測量原理,計算視差圖像的每個像素點的三維空間坐標,得到目標的三維點云。之后使用多邊形網格剖分算法或自由曲面擬合算法,對目標表面進行三維重建,最終得到目標的三維空間信息。雙目視覺計算過程主要包含四個步驟:相機標定、圖像校正、立體匹配和三維重建計算[69],如圖4所示。
相機標定的目的是在將二維圖像信息轉化為三維空間信息的過程中獲得兩個相機的內部物理信息和相機直接的相對位置信息,相機標定的精度會直接影響三維重建的精度。常見的相機標定方法有傳統標定方法[70-71]、基于主動視覺的標定方法[72]和相機自標定法[73-74]。
圖像校正的目的是將立體匹配的搜索范圍從二維降到一維,使兩幅圖像對應的極線位于同一條掃描線上并與基線平行,在搜索兩幅圖像對應點時,只要在該點對應的掃描線上搜尋即可,可以使立體匹配得到簡化。圖像校正的常用方法主要有基于平面和基于外極線的校正方法。
立體匹配是雙目視覺三維重建的基礎,也是重點難點。立體匹配的目的是在兩幅圖像中找到相對應的匹配像素點,通過計算像素點位置的差值從而求取深度值。由于三維空間中的環境復雜、物體本身的幾何形狀和表面材質特性、相機鏡頭畸變和相機的物理信息以及拍攝時產生的噪聲等因素,都會影響立體匹配的精度,而且單個算法也會存在較大的局限性,從而導致三維重建的結果不理想。

圖4 雙目視覺三維重建流程圖Fig.4 3D reconstruction flow chart of binocular vision
Scharstein等[75]對立體匹配算法進行了總結和評價,將基于兩幅視圖的立體匹配算法歸納為匹配代價計算(matching cost calculation)、匹配代價聚合(matching cost aggregation)、視差計算及優化(disparity computation and optimization)和視差細化求精(disparity refinement)四個步驟。
經過相機標定、圖像校正和立體匹配之后獲得視差圖像,再根據三角測量原理和相機基線等信息計算圖像的深度信息,進而可以求解得到目標物體的三維信息。雙目視覺三維重建方法比較成熟,應用廣泛,但是運算量比較大。立體匹配的準確性決定了三維重建的精度,可以通過優化立體匹配算法來提高三維重建的效果。
丁蘇楠[76]對基于自適應支持權重的立體匹配方法進行了優化,提高了遮擋區域的匹配度,并使用雙目視覺系統實現了工件的精準定位,依靠視差圖恢復出工件的三維信息,實現了工件的準確抓取功能。Huang等[77]提出了一種基于雙目視覺的輸電線路走廊自定位和故障檢測方法,針對參數間強耦合的問題,提出了基于重構結果誤差的校正方法,并使用最小二乘擬合插值對基于半全局立體匹配算法獲得的視差圖進行優化,基于此,建立了障礙物到電纜檢測機器人的距離估計模型,該模型具有極高的距離估計精度和魯棒性。Wei等[78]將雙目三維重建遙控應用到遙控挖掘機上,使用基于絕對差和進行圖像匹配,根據贏家通吃策略求得視差,完成工作場景的三維重建,使得遙控挖掘機在危險工況下完成工作,保障了操作人的人身安全。
多目視覺與雙目視覺三維重建的基礎理論基本相似,不同是多目視覺采用了三臺相機或更多相機,其原理如圖5所示。多目視覺利用多臺相機從不同視角采集圖像,通過更大的視野減少測量盲區,還可以降低雙目視覺中誤匹配的影響。但是由多張圖像導致的大數據會使計算量增大、消耗時間長,不能滿足實時性要求,而且容易受光照影響。多目視覺廣泛應用在機器人視覺、自主駕駛等領域[79-80]。

Pj表示被測物體的被測點;Pj,k-1、Pj,k、Pj,k+1表示相機1、相機2、 相機3成像平面上被測點形成的特征點 圖5 多目視覺原理圖[81]Fig.5 Schematic diagram of multi-ocular vision[81]
Xu等[82]利用工業內窺鏡和多相機三維重建開發了一種實時三維測量系統,首先使用工業內窺鏡捕捉原始負荷表面的圖像,然后設計了一種多特征的深度關鍵幀分類器用于提取深度信息,最后,提出多相機陣列的爐料表面三維重建方法來實時獲取高爐爐料表面的三位形狀。錢志敏[83]將單目相機與雙目相機組合成多目相機應用于六自由度機器人上,使用單目相機初步獲取目標物體的空間位置,雙目相機實現目標物體的精確定位,機器人收到位置信息之后驅動機械臂進行準確抓取。Tang等[84]提出了基于四目立體視覺系統的再生骨料鋼管混凝土柱的表面變形跟蹤測量,采用自動標定和動態表面動態測量結合的方法,建立了四目視覺坐標與點云匹配相結合的數學模型,實現了三維變形曲面的重建。
點云對齊是多目視覺三維重建的重點和難點,點云配準的作用是將不同視角下獲得的點云數據拼接到同一坐標系下,從而獲得完整的三維模型。點云配準主要分為初步配準和精細配準。初步配準是使相同的之間更好的融合在一起,同時避免精細匹配陷入局部最優解[85-86]。點云初步配準是通過點云特征匹配來實現,Lowe[87]利用二維尺度不變特征轉換算法實現了點云特征的提取,用于實現實物物體或場景的不同視圖之間的可靠匹配。Sipiran[88]基于Harris算子提出了三維目標興趣點檢測方法(Harris 3D),實現了對目標物體特征點的提取。點云精細配準是將兩個點云的相對位置更加精確,使得點云的銜接性更好。Besl等[89]首先提出迭代最近點算法(iterative closest point,ICP),通過計算每個點的最近的點進而確定他們之間的關系,不僅提高了點云配準的精度,且為點云配準提供了理論基礎。Chen等[90]提出了一種基于學習和變換不變特征(transform-invariant features-registration,TIE-Reg)的點云配準方法,充分利用了點云的變換不變性,對剛性變換具有很強的魯棒性。Han等[91]將分層搜索方案與基于八叉樹的ICP算法結合,提出了基于粗糙初始變換誤差的大規模三維環境模型的快速精細匹配方法,對初始變換誤差不敏感,通過啟發式逃逸決策解決局部最小問題。
多目視覺三維重建從多個視角獲取目標物體的三維信息,與單目視覺三維重建中的運動恢復結構法類似,方法簡單,通過多個視角的三維信息融合在一起,重建出三維模型,重建的效果較好,但是設備結構復雜,不適用于實時重建??梢酝ㄟ^優化點云對齊算法提高三維重建的效果。
Ciresan等[92]發表了卷積神經網絡(convolutional neural networks, CNN)在計算機視覺領域的研究成果,深度學習在計算機視覺領域開始流行起來。由于CNN[93]在圖像處理方面具有明顯的優勢,它可以直接將圖像作為網絡的輸入,避免了傳統圖像處理算法中特征提取和數據重構的復雜過程。相比于上述文章提到的三維重建方法,基于深度學習的三維重建方法發展較晚,但是該方法發展迅速,繼而深度學習在三維重建研究上取得了較大的進展。深度學習是在設計好網絡的結構和代價函數之后,自己根據數據集提供的輸入與結果來調整參數。根據三維重建模型的表示方式主要分為基于深度圖、點云、體素和網格四種構建方法。
深度圖用灰度圖表示,每個像素表示相機到物體的距離,灰度越深距離越近。Eigen等[94]提出一種用單張圖像使用神經網絡恢復深度圖的方法,該方法將神經網絡分為全局估計和局部估計,并使用一個尺度不變的損失函數進行回歸。Nguyen等[95]提出了一種基于結構光和深度卷積神經網絡集成的三維重建技術,該技術使用端到端人工神經網絡將由散斑圖案組成的多個灰度圖像轉換成3D深度圖,通過多個特征映射來重建三維形狀,該方法提高了重建精度并且由較好的魯棒性。
體素的定義類似二維圖像中像素的概念,具備真實的三維數據,該方法一般通過編碼器-解碼器方式進行三維重建。Choy等[96]提出使用3D-R2N2 (3D recurrent reconstruction neural network)網絡結構完成物體二維圖形到空間三維結構的映射,建立基于體素的單視圖或多視圖三維模型。3D-R2N2網絡可以在紋理信息較弱的情況下完成三維重建,但是會出現部分模型斷裂失真現象。Huang等[97]提出了一種高效的基于超體素的卷積神經網絡,該網絡可以高效融合在線三維重建過程中多視角二維特征和投影在超體素上的三維特征,實現了二維-三維聯合學習和三維語義預測。
點云是坐標系下一系列點的數據集,每個點都包含三維坐標、色彩等信息。點云數據的特征是無序切不規則,需要對其進行規則化處理。Fan等[98]首次提出利用深度學習方法對物體進行基于點云的三維重建。Chen等[99-100]提出一種Point-MVSNet方法對物體的點云進行處理,將二維紋理信息與三維深度信息融合,提高了三維重建精度;2020年又提出VA-Point-MVSNet基于點的多視點立體視覺深度框架,該方法首先生成粗糙的深度圖并將其轉換為點云,然后通過估計當前迭代深度與地面真實深度之間的殘差來迭代細化點云。該方法準確性高,計算效率高還具有較強的靈活性。
網格就是多邊形網格,包含了三維模型的點、邊和面等信息。與前三種方法相比,基于網格的表示方法具有形狀細節豐富的特點,而且相鄰點間有連接關系。Wang等[101]首先輸入一張RGB圖像,利用卷積神經網絡提取圖像特征,然后使用圖卷積網絡構建三維網格結構,再對三維網格進行變形,直到接近物體的三維結構并輸出其三維模型。Kim等[102]提出了一種用于相機坐標系的單鏡頭三維多人形狀重建的基于端到端學習的模型,該模型使用一種網格樣式表示,在每個網格單元中預測研究對象和邊界框的信息,以單次射擊的方式執行人三維形狀的重建。Jeong等[103]提出了一個以2D人體姿態來估計3D人體網格的網絡,并使用基于循環結構的弱監督學習方法來訓練此網絡,該方法降低了地面真實三維數據的獲取難度,實現了有效的三維人體網格重建性能。
基于深度學習的三維重建方法近些年發展迅速,應用比較廣泛。但是該方法使用的數據集較少,數據集的增加會使得學習的能力更強;點云和網格的表示形式是不規范的,不能較好地直接應用到深度學習中。
根據三維重建的技術原理,對非接觸式三維重建技術進行了介紹,分析了各種方法的優缺點和適用范圍。
飛行時間法不對圖像進行分析,重建速度較快,可以實現實時重建。但是容易受外界光照的影響。目前主要是利用TOF相機進行三維重建,可以通過降低誤差來提高三維重建的精度。
點式結構光算法簡單、重建速度快,但是該方法通過逐點計算目標物體表面的深度信息,重建的效率較低,適用于小范圍三維重建。
線式結構光使用線性光源,與點式結構光相比,重建效率較高。適用于小范圍三維重建。
面式結構光適用于小范圍三維重建,投射圖案的編碼方式是影響三維重建精度和效率的重要因素,可以通過改善編碼方式來體改重建的精度。
傅里葉變換輪廓術可以通過一副圖像獲取三維信息,重建速度快且能夠實現實時重建,重建的范圍較大,但是物體表面的反射系數對其影響較大,重建精度不高。
相位測量輪廓術使用多幅圖像進行三維重建,獲得的三維信息較為豐富,重建范圍較廣可以用于工業測量領域。
明暗恢復形狀法可以根據單幅圖像獲得目標物體的三維信息,重建速度較快,但是該方法對光照較為敏感,不適用于室外環境。
光度立體視覺法使用多個光源采集多幅圖像,獲得的三維數據比較豐富,但是在現實中,目標物體表面比較復雜,其重建的準確性依賴于反射模型。同時對光照較為敏感,不適用于室外重建。
紋理恢復形狀法通過紋理信息來獲得目標物體的三維信息,對外界光源和噪聲不敏感,但是對弱紋理或者無紋理的物體重建效果不好。
輪廓恢復形狀法的方法原理較為簡單,只通過圖像的輪廓獲取目標物體的三維信息,圖像的數量與重建的精度成正比,但是會增加計算量,降低重建速度。
焦點恢復形狀法對外界光源不敏感,與圖像的清晰度和相機的光圈、焦距有關,需要設置相機的參數使得拍攝圖像的清晰度更好。
運動恢復結構法使用單目相機從多個視角采集圖像進行三維重建,方法簡單,獲得三維數據較多,重建結果比較精確。但是會導致計算量增大,三維重建速度較慢。同時點云配準也是該方法的難點,可以從點云配準入手提高三維重建的準確性。
雙目視覺三維重建適用范圍較廣,方法比較成熟,最關鍵的步驟是立體匹配,其結果的準確性決定了三維重建的精度,通過改進立體匹配可以提高重建的效果。
多目視覺三維重建得到目標物體的多視角三維信息,通過點云對齊獲得物體的整體三維信息,方法簡單且重建的精度較高,但是多目視覺三維重建需要處理多張圖像,導致運算復雜,重建速度較慢。可以通過改善點云對齊的方式提高兩相同點云的配準,進而提高三維重建的精度。
上述方法可以歸結為傳統三維重建技術,光照和噪聲均會對降低研究對象的三維重建準確度,它們的重建效果在很大程度上依賴于圖像的內容和質量,以及精確校準的相機,并且有的方法需要添加先驗條件,這也制約了三維重建技術的發展。
基于深度學習的三維重建技術的成功很大程度上取決于訓練數據的可用性,但是圖像和三維數據公開數據集的估摸較小,并且真實場景數據集中包含的二維圖像和三維模型數量太少,難以利用深度學習的優勢進行訓練。
基于深度學習的三維重建技術可以克服制約傳統三維重建技術發展的瓶頸,因此未來的研究方向可以通過將傳統三維重建和基于深度學習的三維重建融合進行開展。目前大部分三維重建技術針對的是靜態物體或者是小規模物體,對于動態物體和大規模場景等的重建問題無法較好地實現,這也是未來的研究熱點。