董鵬輝,柯良軍
(西安交通大學 電信學院,陜西 西安 710049)
三維重建技術就是獲取環(huán)境中物體的三維信息,從而確定不同物體所在位置并建立相應的空間模型[1]。現階段,計算機技術飛速發(fā)展,無論是硬件還是軟件都得到了很大提升。因此,對三維重建場景繪制的規(guī)模越來越大,精度越來越高,難度則相對減小。具有高效率的三維重建技術也已經被應用在眾多領域當中,其中包括城鎮(zhèn)建模、無人作戰(zhàn)、文物保護和地圖重建等,相關的重建算法及流程也愈加完善[2]。
三維重建的發(fā)展經歷了漫長的過程,早期的三維重建主要通過人工繪制來完成,該方法耗時耗力。隨著社會的發(fā)展,激光掃描儀得到了廣泛地應用,該方法獲取物體的三維信息精度高,與真實環(huán)境相差無幾。但是它構建的模型不具有紋理,無法進一步完善物體的結構。同時,激光掃描設備往往價格昂貴,維護起來較為困難。現階段伴隨著計算機技術的發(fā)展逐步有一些建模工具可以通過人機交互的方法完成建模。通過該方法建立的三維模型簡單方便,大大提高了效率。另外,由于圖像三維重建技術通過獲取的圖片來構建模型,因此它能夠給出對應物體的顏色信息,從而使模型更加生動形象。無論是進行科學研究還是商業(yè)用途,通過計算機進行三維重建都是主要的方法。
基于圖像的三維重建從獲取多視圖圖像開始,逐步通過相應的算法恢復場景中物體的三維結構[3-4]。根據應用場景的不同,使用者可以對三維結構的精度以及信息豐富度進行調整,也可以針對某一部分進行優(yōu)化完善。總之,基于圖像的三維重建技術是當今計算機視覺領域的熱門方向[5-6]。
本文從三維重建的傳感器、重建流程與相關算法以及典型應用3個方面概述當前的主要成果,最后指出有待于進一步研究的問題。
基于圖像的三維重建系統(tǒng)前端只需要圖像采集設備。現如今深度攝像頭作為深度視覺產品,廣泛應用在AR/VR以及自動駕駛、無人機和機器人等人工智能領域。通過它獲取的圖像不僅可以得到場景物體的二維信息,還能夠獲取相應的深度,因此只要知道相機的位置就能知道場景物體在世界中所處的位置,從而一步步恢復圖像當中的場景。常見的深度攝像頭有:
① 基于結構光的深度攝像頭:主要依賴于場景中物體的幾何關系,通過三角相似性計算得到圖像中物體的深度信息。拍攝時,攝像頭前端的結構光發(fā)射器會發(fā)出可控制的光面、光條或光點照射到被測物體的表面,從而得到被測物體的幾何信息進行后續(xù)處理。
② 基于雙目視覺的深度攝像頭:主要依賴于人眼的雙目立體視覺成像原理。通過在攝像頭前端的2個攝像頭同時獲取2個不同角度的圖像從而通過計算來對場景中的物體進行深度感知。
③ 基于TOF飛行時間的深度攝像頭:主要是依賴光線反射的時間差或者相位差來計算場景中物體的深度信息。攝像頭前端的傳感器可以發(fā)射出近紅外光,當光線遇到被測物體時會反射從而進一步接收。通過發(fā)射與接收的時間差可以完成后續(xù)的計算過程。
不同的攝像頭應用場景有很大的不同,通過研究對它們進行比較分析,結果如表1所示。

表1 攝像頭性能比較
圖像三維重建的整件流程如圖1所示。在三維重建時,首先需要對收集到的圖像除去當中無用的圖片,在此基礎上,對每個圖片進行去噪等預處理,為后續(xù)的處理做準備。接下來,對圖像進行特征點的檢測與匹配,得到不同圖像中相同的特征點。然后通過相機標定得到拍攝圖片所用相機的內參數(焦距),再進一步計算得到基礎矩陣與本質矩陣,獲得特征點的三維空間位置。最后對點云進行網格化從而可將三維場景可視化地展現給用戶。

圖1 三維重建整體流程
攝像頭獲取的圖像往往不能夠直接使用,需要對眾多圖像進行預處理。通過預處理過程能夠過濾圖像中無用的信息,把拍攝不清晰、有殘缺的圖像刪除掉,同時選擇出有實用價值、可供后續(xù)處理的圖像。該過程能夠顯著提高后續(xù)計算的效率,增強三維重建的實用性。圖像預處理的方法很多,常見的有中值濾波、自適應加權濾波、雙邊濾波等各種圖像濾波算法[7]。
獲取有效圖像后,需要進一步進行特征點的提取與匹配,從而找到場景中相同的物體進行后續(xù)的計算。通常說的特征點主要指圖像中鄰域變化較大的點,比如說噪聲點和角點,因此進行特征點檢測與匹配的關鍵就是在有畸變存在的情況下,正確地提取和匹配圖像中的特征點。
特征點提取的方法主要有:
① 基于Harris算子的特征提取:文獻[8]中提到Harris算子包含的信息量大,檢測圖像的范圍廣,當有光照存在時,該算子比較穩(wěn)定,抵抗環(huán)境變化的能力也較強。
② 基于SIFT算子的特征提取算法:該算法在當今各個研究領域中應用最為廣泛。它是一種局部的特征描述算子,通過尋找圖像空間尺度中的極值點來確定特征點,其顯著特點是特征點的尺度、位置和旋轉不變量不會輕易發(fā)生改變[9-10]。該方法先建立高斯金字塔模型,找到一個領域內的像素點,通過比較像素點是否是極值點(即可判斷特征點),從而將特征點提取出來。
③ 基于SURF算子的特征提取算法:Bay在文獻[10]中提到了加速魯棒算子,該算子與SIFT算子相比運算效率更快,它簡化了SIFT算子,通過運用小波技術等新技術使得圖像的處理速度變快。目前,SURF算子也逐步在一些計算機圖像視覺領域得到了應用。
特征點匹配方法主要有:
① 歸一化互相關(Normalizes Cross Correlation,NCC)特征匹配:可以不受亮度和對比度變化的影響,并且速度快。缺點是:? 圖像縮放情況下無法應用;? 視角變化大不適用。
② SIFT特征匹配:主要尋找用來表述特征點的特征向量描述符。通過計算一個鄰域內的特征點的梯度對該領域進行劃分,進一步得到最終的128維特征向量描述符,衡量匹配程度好壞的關鍵就是計算特征向量描述符之間的歐式距離,歐式距離越短匹配程度越高。
③ SURF特征匹配:與SIFT特征匹配類似,主要也是通過特征點之間的歐式距離來判斷匹配程度的高低。但是,SURF加入了一種新的矩陣跡來優(yōu)化判斷的過程,該矩陣跡通過比較正負號可以提前排除一些不相關的點,從而進一步加快匹配過程的效率。
基于圖像的三維重建需要對相機進行標定。標定的主要目的就是求出相機的內部參數,最終得到內參數矩陣K。
相機標定的方法主要有:
① Tsai的2步標定方法:該方法與線性標定方法相比精度更高,主要原理是利用透視變換原理來計算攝像機的基本參數配置。這些參數可以作為后續(xù)優(yōu)化算法的初始值來使用,該方法考慮了相機的徑向畸變,通過優(yōu)化算法來計算剩余的參數。
② 張正友的平面標定方法:該方法由張正友提出,在相機標定領域有著廣泛的應用,它使得相機標定的可靠性和有效性得到了提升。其主要原理是將計算機視覺技術與傳統(tǒng)的攝像機標定技術結合起來,使空間中的標定模板變?yōu)槠矫鏄硕0澹瑥亩喕藰硕ǖ姆爆嵆潭取?/p>
③ 相機自標定方法:顧名思義,就是對通過傳感器獲取的已有信息進行計算,完成相機的標定過程。該方法靈活多變,運用起來也十分方便。現階段根據應用場景的不同可以選擇不同的自標定方法,常見的方法有:絕對對偶二次曲面標定法與分層自標定法等。
計算基礎矩陣與本質矩陣是重建過程中必不可少的一部分。基礎矩陣主要是確定不同圖像中同一場景的幾何約束關系。本質矩陣則用來確定三維點的具體位置。
Sultanov A K在文獻[11]中對基礎矩陣做了介紹,其中包括它的計算方法與基本性質;文獻[12]提出了用于計算基礎矩陣的歸一化點算法,該方法能夠抵抗噪聲的影響,優(yōu)化系數矩陣,提高計算的精度;文獻[13]介紹了RANSAC算法,隨機抽樣一致性算法RANSAC(Random Sample Consensus)可以在一組包含“外點”的數據集中,采用不斷迭代的方法,尋找最優(yōu)參數模型,不符合最優(yōu)模型的點,被定義為“外點”。
文獻[14]依據多視圖間的幾何約束關系來計算本質矩陣。通過該方法得到的本質矩陣在歐式幾何空間中給出。得到的基礎矩陣也可以用來進一步計算本質矩陣。得到本質矩陣后可以對它進行分解得到表述不同特征的旋轉矩陣與平移向量。通過這一系列數據能夠獲得三維點在空間中所處的位置。
通過上述步驟得到場景中物體的空間位置,三維重建的主要過程已經完成。但是這些物體空間點都是離散的,需要完善其表面信息,因此需要用到三角剖分技術進行點云的網格化。
現階段,三角剖分技術有2種主要的方法:
① 平面投影法:主要應用投影映射原理,在得到空間點的位置后將其投影在平面上,接著對平面上的點進行剖分處理,再將剖分后的結果轉移到三維結構上即可;
② 直接剖分法:比較繁瑣,它直接在原始點云的基礎上進行線性插值,從而完成點云網格化的過程。
剖分完成后可以得到目標場景的整體模型,為了進一步優(yōu)化,可以對模型進行紋理映射從而使得建模效果更加逼真。紋理映射總體來講就是選擇一幅最為合適的圖像,將圖像上的紋理信息添加到三維模型當中。
三維重建是當前人工智能相關領域的重要研究方向,它在工業(yè)檢測、醫(yī)療、建筑設計、航空航天和虛擬現實等領域都有廣泛的應用,而基于圖像的三維重建與傳統(tǒng)的三維重建相比具有數據獲取容易、采集設備簡單以及場景適用范圍廣等優(yōu)點。因此,基于圖像的三維重建技術在眾多領域都發(fā)展迅速。
城鎮(zhèn)建模在當今的生產生活上發(fā)揮著重要作用。一方面,通過對城鎮(zhèn)建模可以具體了解到城鎮(zhèn)的布局結構,為后續(xù)的發(fā)展建設提供依據。另一方面,城鎮(zhèn)建模可以幫助人們更為清晰地了解城市,促進城市宣傳。當發(fā)生自然災害時,救援人員還可以調看城鎮(zhèn)的三維結構從而做出合理的部署。目前,數字化城鎮(zhèn)已經得到了飛速發(fā)展并且廣泛應用在生產生活當中。
文物保護一直以來都是歷史性難題。隨著科技的發(fā)展,基于圖像的三維重建技術已經廣泛應用在文物重建當中,并且取得了良好的效果[15]。河南省曾對新鄉(xiāng)市輝縣村舍進行了三維重建,成功還原當地的完整面貌;歷史學家對新疆米蘭古城進行了建模,同樣起到了保護文物的重要作用。
醫(yī)療救護也是三維重建的一個重要研究領域。現階段一些常見的掃描設備能夠快速發(fā)現患者的受傷部位,從而為醫(yī)生的治療提供了技術支持。常見的有對頜面、臉部軟組織和全身關節(jié)等部位進行三維重建。重建后的結果精度高,同時不會對人體造成傷害。目前三維重建技術已經廣泛應用在各大醫(yī)院[16]。
三維重建技術在無人作戰(zhàn)、裝備導航方面也發(fā)揮著重要作用。它有效地推進了無人作戰(zhàn)的發(fā)展。例如,美國曾研制出四足軍用機器人,它能夠協助士兵作戰(zhàn),同時還可以用于運輸物資。當作戰(zhàn)人員迷失方向時它能夠實時生成周圍環(huán)境的三維場景從而提供導航[17]。此外,作戰(zhàn)時可以對攻擊目標進行捕捉并識別其三維特征,從而對目標的行為進行判斷以便制定合理作戰(zhàn)計劃。
主要從傳感器、工作流程以及典型應用等方面對三維重建研究成果進行了總結。雖然三維重建已經取得了很好的進展,并且在許多實際場景中應用,但是仍存在許多挑戰(zhàn)[18]:
① 不確定情況下的三維重建。由于環(huán)境的影響,使得基于圖像的三維重建成為不確定問題。陰暗潮濕、光照較差等條件都會影響重建的效果。雖然現階段有相關技術可以對圖像進行濾波處理,但是最終的結果還需進一步優(yōu)化處理。
② 相機自標定問題。正如文中提到的一樣,當前的相機標定主要是以自標定為主。雖然絕對對偶二次曲面標定法等方法在某些方面得到了應用,但是它們在不同程度上都存在著缺陷。如何簡化標定過程,使得相機具有自主學習能力是今后的一個重要優(yōu)化方向。
③ 稀疏的三維點云表面重建問題。獲得三維點云結構后,需要進行稠密重建,從而使重建后的結果更加完善。現階段有學者提出CMVS與PMVS相結合的方法進行稠密重建。如何提高重建的精度,更加清晰地恢復場景紋理,還值得進一步研究。
④ 非剛體的三維重建。當前重建算法的提出大都假設場景中的物體為剛體進行研究,但是實際情況是有許多物體都是非剛體,因此需要對算法進行優(yōu)化,從而實現對非剛體的三維重建。
⑤ 動態(tài)場景的圖像三維重建。相機拍攝時獲取的圖像往往是靜態(tài)的,因此無法很好地恢復運動物體的空間位置。因此今后一個重要研究方向就是如何根據獲得的圖像,重建出一個動態(tài)的場景。