簡介
照片建模技術,是指通過相機等設備對物體進行採集照片,經計算機進行圖形圖像處理以及三維計算,從而全自動生成被拍攝物體的三維模型的技術,屬於三維重建技術範疇,涉及到計算機幾何、計算機圖形學、計算機視覺、圖像處理、數學計算等學科。
詳細信息
一、技術背景
從我們在國內外相關技術領域的長期跟蹤調研所掌握的情況來看,目前國際上有微軟公司、Autodesk公司、史丹福大學和麻省理工學院等機構在基於圖像的三維形體快速重建方面有良好的研究成果,但是僅僅是實驗室研究成果,目前還無法商用。微軟公司曾經在網上提供基於圖像的三維重建的服務,但是由於用戶訪問量大和技術不過關而無法承擔繁重的技術服務,很快就關閉了相應的伺服器。目前國際上也有加拿大公司FOTO3D等基於圖像的三維重建系統的市場推廣,但是需要大量的手工互動,對照片的拍攝環境和拍攝精度有相當高的要求,因此市場認可度不高。
而國內除了北京大學、清華大學、中科院自動化所、北航、香港理工大學、北科光大公司等機構,該技術技術幾乎處於學術階段,很少有實質性的深入研究。就目前市場化、產品化方面,僅有Autodesk 123D Catch、以及北科光大3DCloud平台。但是這些科研機構的研究側重點不一樣,例如:北航主要側重用於軍事領域的虛擬場景的研究,香港理工大主要側重人臉立體合成的研究等等。
二、技術特點
物體若實現三維數據化,即獲取物體三維模型,目前,構造三維模型的手段大體上有以下三種:
1) 三維軟體建模:
目前,在市場上可以看到許多優秀建模軟體,比較知名的有3DMAX, Maya等等。它們的共同特點是利用一些基本的幾何元素,如立方體、球體等,通過一系列幾何操作,如平移、旋轉、拉伸以及布爾運算等來構建複雜的幾何場景。此種方式要求操作人員要具有豐富的專業知識,熟練使用建模軟體,而且操作複雜,周期較長,同時最終構件的三維模型真實感不強。一般套用於遊戲、動漫設計,以及樓宇等建築設計,屬於設計類範疇。
2)利用儀器設備建模:
三維掃瞄器(3 Dimensional Scanner)又稱為三維數位化儀(3Dimensional Digitizer)。目前三維掃瞄器主要採用雷射、結構光等技術,通過發射光的反饋獲取三維坐標信息,而紋理顏色基本依靠設備上得攝像頭來獲取。此種方式需要價格昂貴的三維掃瞄器等硬體設備,並且由於技術本身限制,有些材質、顏色受光的反射或折射、吸收等影響,導致獲取的三維模型漏洞較多,無法完成掃描。諸如人的頭髮、深色服飾、以及透明物體等等。此外,三維掃瞄器現今只能獲得物體的位置信息,對於物體表面的紋理特徵多數仍然需要輔助大量的手工工作才能完成,整個過程成本高,周期長。由於其模型格線精度較高,一般用於工業生產、文物修復等領域,屬於三維重建技術範疇。
3)照片建模(基於圖像/視頻的建模):
基於圖像的建模和繪製(Image-Based Modeling andRendering,IBMR)是當前計算機圖形學界一個極其活躍的研究領域。同傳統的基於幾何的建模和繪製相比,IBMR技術具有許多獨特的優點。基於圖像的建模和繪製技術給我們提供了獲得照片真實感的一種最自然的方式,採用IBMR技術,建模變得更快、更方便,可以獲得很高的繪製速度和高度的真實感。IBMR的最新研究進展已經取得了許多豐碩的成果,並有可能從根本上 改變我們對計算機圖形學的認識和理念。由於圖像本身包含著豐富的場景信息,自然容易從圖像獲得照片般逼真的場景模型。基於圖像的建模的主要目的是由二維圖像恢復景物的三維幾何結構。由二維圖像恢復景物的三維形體原先屬於計算機圖形學和計算機視覺方面的內容。由於它的廣闊套用前景,如今計算機圖形學和計算機視覺方面的研究人員都對這一領域充滿興趣。與傳統的利用建模軟體或者三維掃瞄器得到立體模型的方法相比,基於圖像建模的方法成本低廉,真實感強,自動化程度高,因而具有廣泛的套用前景。 此種方式操作簡單,自動化程度高,成本低,紋理顏色真實感強,不受時空限制等,如國內3DCloud則以雲端形式運行,只要將照片上傳至雲端,即可全自動生成三維模型。主要套用於3D展示、3D列印、影視媒體、廣告製作、虛擬現實等眾多套用領域,加上成本較低等因素,未來發展前景較好。
三、技術原理
從多幅二維圖像中計算三維特徵並作場景的三維重構是計算機視覺和圖形學領域的一個重要研究內容,目前已經有非常多的相關研究。對於基於圖像的三維重構任務而言,準確地相機標定是至關重要的。對於三維場景或模型重構精度要求較高而拍攝環境可以按需定製的套用,離線標定技術一般可以更好地滿足用戶需求;相反,如果需要從一些無法定製環境或缺失標定信息的圖像或視頻序列中作場景分析和重構,就只能採用線上標定技術。
鑒於相機標定技術在三維重構中的重要性,我們將相關技術分為基於離線相機標定的三維重構技術和基於線上相機標定的三維重構技術兩個大類,並對兩類技術分別闡述其研究歷史、現狀和趨勢。
① 基於離線相機標定的三維重構技術。
基於離線相機標定技術需要準確的相機內參數和外參數作為重構算法的輸入和先決條件,目前最為流行的離線相機標定算法是Tsai在1987年提出的[Tsai1987],Tsai方法使用一個帶有非共面專用標定標識的三維標定物來提供圖像點和其對應的三維空間點的對應並計算標定參數。Zhang在1999年提出了另一個實用方法[Bouguet2007],該方法需要對一個平面標定圖案的至少兩幅不同視圖來進行標定。加州理工學院的相機標定工具對以上兩個方法均作了有效實現,並且已經被集成到Intel的視覺算法庫OpenCV中 [OpenCV2004]。通過標定算法,可以計算相機的投影矩陣,並提供場景的三維測度信息。在不給定真實場景的絕對平移、旋轉和放縮參數的情況下,可以達到相似變換級別的測度重構。
② 基於圖像的重構
在基於圖像的重構技術中,既可以考慮稀疏特徵匹配,也可以考慮稠密特徵匹配,一般需要視套用背景和場景特性作具體選擇。特徵檢測是準確重構框架中的一個關鍵步驟。傳統意義上的特徵定義為在至少一個特定方向上存在較大亮度或色度變化的圖像區域或位置 [Moravec1977]。Harris等使用一階導數來估計局部互相關數值[Harris1988],該方法能給出健壯的檢測結果但在某些情況下缺乏定位上的準確性。Beaudet等使用梯度和曲率的乘積來刻畫角點特徵並檢測角點 [Beaudet1978],Smith等提出的SUSAN檢測子結合使用特徵區域的尺寸、中心和矩信息來檢測角點。Lowe提出的尺度不變的特徵檢測運算元SIFT是目前比較流行的算法 [SIFT2004],SIFT的優勢在於能夠對有效提取特徵在一定程度上的旋轉和放縮等不變 特徵,從而大大減弱了特徵檢測算法對環境和圖像質量的依賴性,Koser等從SIFT的思想進一步引申出透視不變特徵的概念[Koser2007]。
特徵檢測之後一般需要進行多視圖之間的特徵匹配。特徵匹配算法的性能會受到鏡頭畸變、光線環境、場景遮擋及其他未知圖像噪聲的影響。解決匹配問題目前主要有兩種思路。第一種思路在某個關鍵幀中檢測出一個特徵記並使用跟蹤算法在後續幀中跟蹤這個特徵集,代表算法是基於光流的跟蹤算法如Lucas-Kanade算法 [Tomasi1991]。第二種思路則在多個視圖中獨立進行特徵檢測並通過數據關聯的手段來建立匹配特徵對,這可以通過簡單的區域相關算法實現 [Zhang1995],也可以通過各種手段定義描述相似度的目標函式並作最佳化來實現[Li1994]。
對於需要稠密場景重構的場合還需要進行稠密多視匹配的工作,稠密多視匹配算法的性能直接影響到最終重構質量,在圖像取樣點足夠密集的情況下,可以用光流技術模擬相鄰圖像之間的像素或特徵位移。三維結構的三角化同樣也可以通過具備了點到點對應信息的光流來模擬,在稠密空間採樣的假設下光流可以用係數特徵位移來有效近似 [Zucchelli2002]。
可以通過圖像校正的技術將兩個視圖中的對應極線調為水平狀態且處在同一水平掃描線上,這樣就可以使用傳統的基於水平視差的雙視算法恢復深度信息。在這一框架下,可以用馬爾可夫隨機場建模並用基於圖論的最佳化算法實現求解 [Scharstein2002]。
基於體素的重構
近年來隨著計算速度和存儲性能的大幅提高,基於體的場景結構表示方法已經成為實用。已有多種方法從圖像序列中恢復場景體數據。一種常見方法是從多視圖中恢復前景物體的視覺凸包(visual hull)作為物體的重構近似。一般說來,visual hull的大小隨著參與計算的圖像數量增多而單調下降。常見的方法是從每一圖像中分離出前景區域和背景區域,把前景區域反向投射到三維空間並求交來得到visual hull [Szeliski93]。Snow提出了Voxel occupancy算法,通過基於體素標籤的圖割算法實現三維分割 [Snow2000]。 對於有較明顯色彩區分特徵的圖像,也可考慮使用顏色相容性即只保留色彩相容的空間體素來建立約束求解三維信息[Seitz1999]。為了簡化基於可見性的空間切割,Seitz等提出了對於相機位置的有序可見性約束 [Seitz1999]。作為對以上框架的進一步改進,Prock提出了多解析度體素著色方案 [Prock1998],Culbertson等提出了能夠精確計算可見性的一般化的色彩相容模型 [Culbertson1999]。
和基於圖像的重構技術相比,基於體素的重構技術不需要顯示的特徵匹配且能更有效地處理遮擋問題,但其潛在的缺點在於龐大的記憶體消耗會在一定程度上限制重建精度。在某些條件下,有序可見性約束顯得過強。
基於對象的重構
與基於體素的重構算法中用體素離散化場景的思想不同,基於對象的重構技術著眼於直接恢復場景中物體的表面模型。Faugeras等提出了level-set重構是第一個面向對象的多視三維復原技術 [Faugeras1998],該技術把用於深度恢復的變分原理推廣為一個可以用level-set求解的曲線演化問題 [Robert1996]。該工作的原始框架須作漫反射表面的假設,Lin等所做後續工作減弱了這一要求,使得鏡面反射和透明環境下的求解成為可能 [Lin2002]。
③ 基於線上相機標定的三維重構技術
在很多場合下,如缺失標定設備或相機內參數持續改變的情況下,沒有足夠數據來支持離線相機標定,對這類場景的多視三維重構就要用到線上相機標定的技術。線上標定和離線標定框架的主要區別在於標定相機或估計相機參數的方法上。在大多數文獻中離線標定技術被稱為自標定。自標定方法可以大致分為兩類:基於場景約束的自標定和基於幾何約束的自標定。
基於場景約束的自標定
合適的場景約束往往能夠在很大程度上簡化自標定的難度。比如說,廣泛存在於建築或人造場景中的平行線能夠幫助提供三個主正交方向的消視點和消視線信息,並能夠據此給出相機內參數的代數解或數值解 [Caprile1990]。消視點的求解可以通過投票並搜尋最大值的方法進行。Barnard採用高斯球構造求解空間 [Barnard1983]。Quan、Lutton和Rother等給出了進一步的最佳化策略[Quan1989, Lutton1994, Rother2000]。文獻[Quan1989]中給出了搜尋解空間的直接算法,Heuvel給出的改進算法加入了強制性的正交條件 [Heuvel1998]。Caprile給出了基於三個主正交方向消視點的幾何參數估計法,Hartley使用標定曲線計算焦距 [Hartley2003]。Liebowitz等進一步從消視點位置構造絕對二次曲線的約束並用考克斯分解求解標定矩陣 [Liebowitz1999]。
基於幾何約束的自標定
基於幾何約束的自標定不需要外在場景約束,僅僅依靠多視圖自身彼此間的內在幾何限制來完成標定任務。利用絕對二次曲面作自標定的理論和算法最先由Triggs提出 [Triggs1997]。基於Kruppa方程求解相機參數則始於 Faugeras, Maybank等的工作 [Faugeras1992, Maybank1992]。Hartley給予基本矩陣推導出了Kruppa方程的另一個推導 [Hartley1997]。 文獻[Sturm2000]則給出了Kruppa方程的不確定性的理論探討。層進式自標定技術被用於從射影重構升級到度量重構 [Faugeras1992]。自標定技術的一個主要困難在於它不是無限制地用於任意圖像或視頻序列,事實上,存在著特定運動序列或空間特徵分布導致自標定求解框架的退化和奇異解。文獻[Sturm1997]給出了關於退化情形的詳細討論和分類。對一些特殊可解情況存在性和求解方法的討論可以參考文獻[Wilesde1996]等。
四、行業套用
照片建模的三維模型其模型精度已滿足3D列印要求,而模型紋理顏色真實感強,因此套用領域較廣。
1、3D列印套用,尤其是人像3D列印照相館套用,具有明顯優勢,色彩逼真,結合相機陣實現瞬間抓拍等功能。比現有的三維掃描設備更具有成本低、操作方便、真實感強等優點。
2、3D展示套用,3D展示一般要求模型檔案較小、紋理顏色逼真,因此廣泛套用在電商、廣告媒體、三維製作、虛擬現實、3D試衣等等。
3、其他套用,照片建模可快速生成大場景的建模,通過航拍等獲取照片,可快速生成三維地貌,可用於3D地圖、軍事結構、礦土堆料測量等等。