導航:首頁 > 源碼編譯 > 三維圖像匹配演算法

三維圖像匹配演算法

發布時間:2022-09-14 20:20:08

1. 三維重建是怎麼做的

三維重建的英文術語名稱是3D Reconstruction.
三維重建是指對三維物體建立適合計算機表示和處理的數學模型,是在計算機環境下對其進行處理、操作和分析其性質的基礎,也是在計算機中建立表達客觀世界的虛擬現實的關鍵技術。
三維重建的步驟
(1) 圖像獲取:在進行圖像處理之前,先要用攝像機獲取三維物體的二維圖像。光照條件、相機的幾何特性等對後續的圖像處理造成很大的影響。
(2)攝像機標定:通過攝像機標定來建立有效的成像模型,求解出攝像機的內外參數,這樣就可以結合圖像的匹配結果得到空間中的三維點坐標,從而達到進行三維重建的目的。
(3)特徵提取:特徵主要包括特徵點、特徵線和區域。大多數情況下都是以特徵點為匹配基元,特徵點以何種形式提取與用何種匹配策略緊密聯系。因此在進行特徵點的提取時需要先確定用哪種匹配方法。
特徵點提取演算法可以總結為:基於方向導數的方法,基於圖像亮度對比關系的方法,基於數學形態學的方法三種。
(4)立體匹配:立體匹配是指根據所提取的特徵來建立圖像對之間的一種對應關系,也就是將同一物理空間點在兩幅不同圖像中的成像點進行一一對應起來。在進行匹配時要注意場景中一些因素的干擾,比如光照條件、雜訊干擾、景物幾何形狀畸變、表面物理特性以及攝像機機特性等諸多變化因素。
(5)三維重建:有了比較精確的匹配結果,結合攝像機標定的內外參數,就可以恢復出三維場景信息。由於三維重建精度受匹配精度,攝像機的內外參數誤差等因素的影響,因此首先需要做好前面幾個步驟的工作,使得各個環節的精度高,誤差小,這樣才能設計出一個比較精確的立體視覺系統。

2. 照片建模的詳細信息

一、技術背景
從我們在國內外相關技術領域的長期跟蹤調研所掌握的情況來看,目前國際上有微軟公司、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地圖、軍事結構、礦土堆料測量等等。

3. 三維擬合法

二、數字高程模型(DEM)的生成
1、數字高程模型(DEM)的概念

數字高程模型(DEM),也稱數字地形模型(DTM),是一種對空間起伏變化的連續表示方法。由於DTM隱含有地形景觀的意思,所以,常用DEM,以單純表示高程。

盡管DEM是為了模擬地面起伏而開始發展起來的,但也可以用於模擬其它二維表面的連續高度變化,如氣溫、降水量等。對於一些不具有三維空間連續分布特徵的地理現象,如人口密度等,從宏觀上講,也可以用DEM來表示、分析和計算。

DEM有許多用途,例如:在民用和軍用的工程項目(如道路設計)中計算挖填土石方量;為武器精確制導進行地形匹配;為軍事目的顯示地形景觀;進行越野通視情況分析;道路設計的路線選擇、地址選擇;不同地形的比較和統計分析;計算坡度和坡向,繪制坡度圖、暈渲圖等;用於地貌分析,計算浸蝕和徑流等;與專題數據,如土壤等,進行組合分析;當用其它特徵(如氣溫等)代替高程後,還可進行人口、地下水位等的分析。

http://www.pwtal.com/terrain.htm
2、DEM的表示方法

(1)擬合法

擬合法是指用數學方法對表面進行擬合,主要利用連續的三維函數(如富立葉級數、高次多項式等)。但對於復雜的表面,進行整體的擬合是不可行的,所以,通常採用局部擬合法。

局部擬合法將復雜表面分成正方形的小塊,或面積大致相等的不規則形狀的小塊,用三維數學函數對每一小塊進行擬合,由於在小塊的邊緣,表面的坡度不一定都是連續變化的,所以應使用加權函數來保證小塊接邊處的匹配。

用擬合法表示DEM雖然在地形分析中用的不多,但在其它類型的機助設計系統(如飛機、汽車等的輔助設計)中應用廣泛。

(2)等值線

等值線是地圖上表示DEM的最常用方法,但並不適用於坡度計算等地形分析工作,也不適用於製作暈渲圖、立體圖等。

(3)格網DEM

格網DEM是DEM的最常用的形式,其數據的組織類似於圖像柵格數據,只是每個像元的值是高程值。即格網DEM是一種高程矩陣(如圖4—1)。其高程數據可直接由解析立體測圖儀獲取,也可由規則或不規則的離散數據內插產生。

格網DEM的優點是:數據結構簡單,便於管理;有利於地形分析,以及製作立體圖。其缺點是:格網點高程的內插會損失精度;格網過大會損失地形的關鍵特徵,如山峰、窪坑、山脊等;如不改變格網的大小,不能適用於起伏程度不同的地區;地形簡單地區存在大量冗餘數據。

100 110 120 140 110 105 90

120 115 130 135 120 110 100

135 120 120 130 130 120 110

145 130 115 120 120 115 118

150 140 135 130 135 120 110

145 135 150 140 138 125 120

表4-6-1

(4)不規則三角網DEM(TIN)

不規則三角網DEM直接利用原始采樣點進行地形表面的重建,由連續的相互聯接的三角面組成(如圖4—4),三角面的形狀和大小取決於不規則分布的觀測點的密度和位置。不規則三角網DEM的優點是:能充分利用地貌的特徵點、線,較好地表示復雜地形;可根據不同地形,選取合適的采樣點數;進行地形分析和繪制立體圖也很方便。其缺點是:由於數據結構復雜,因而不便於規范化管理,難以與矢量和柵格數據進行聯合分析。

圖4-6-4

通常所說的DEM即指格網DEM和不規則三角網DEM,地形分析也基於此。

Department of Defense, Groundwater Modeling System
三、格網DEM的建立

格網DEM的數據可直接從解析測圖儀獲取,下面介紹的是如何由離散點來構建格網DEM的方法。

離散點構格網DEM是在原始數據呈離散分布,或原有的格網DEM密度不夠時需使用的方法。其基本思路是:選擇一合理的數學模型,利用已知點上的信息求出函數的待定系數,然後求算規則格網點上的高程值。

離散點構格網DEM所採用的是內插演算法,插值的方法很多,如按距離加權法、多項式內插法、樣條函數內插法、多面函數法等等。大量的實驗證明,由於實際地形的非平穩性,不同的內插方法對DEM的精度並無顯著影響,主要取決於原始采樣點的密度和分布。簡單而常用的為線性內插法和雙線性多項式內插法。

線性內插的數學模型為:

雙線性多項式內插的數學模型為:

其中,x,y為平面坐標,Z為高程,a1、a2、a3、a4為待定系數。

只要將與插值點距離最近的三個點(對線性內插)或四個點(對雙線性多項式內插)的坐標值和高程值代入方程,即可解出全部系數,然後用插值點的坐標帶入方程,即可計算出該點的高程值。

距離加權法的數學模型為:

為了計算點(x,y)的高程Z,可取該點周圍的n個點(I=1,…,n),按上述公式計算。Zi為第I點的高程,Pi為第i點的權值,計算公式為:

其中u是一個大於0的正數,通常取1或2,是i點(xi,yi)到格網點(x,y)的距離,即:

在構建格網DEM的內插方法中,經常需要選取與插值點距離最近的若干個點。如圖4-6-5左圖,如果通過計算各離散點與待插值點的距離,然後選取距離最短的若干個點的方法來選取,盡管方法正確,但計算量大,影響插值的速度。因此,可以在插值點上建立一正方形的選取框,如圖4-6-5右圖,這樣通過簡單的坐標值比較就可找出落入框內的數據點。當落入框內的數據點較多時,可縮小框的尺寸;反之,增大框的尺寸。選取框尺寸的初始值可根據圖幅中原始數據點的密度來確定。設圖幅的面積為A,共有N個數據點,則每點的平均面積A0為:

A0=A∕N

圖4-6-5

若需要選取插值點附近的K個點,則選取框的面積應為:A1=K·A0 。

A11/2就是該選取框的邊長。在實際運算時,邊長可再大一些,以盡量保證落入選取框中的數據點數大於或等於K,這樣在縮小選取框時,只要對原框內數據點再判斷即可。

四、不規則三角網(DEM)的建立

圖4-6-6

所謂建立不規則三角網DEM,就是由離散數據點構建三角網,如圖4-6-6,即確定哪三個數據點構成一個三角形,也稱為自動聯接三角網。即對於平面上n個離散點,其平面坐標為(xi,yi)i=1,2,…,n,將其中相近的三點構成最佳三角形,使每個離散點都成為三角形的頂點。自動聯接三角網的結果為所有三角形的三個頂點的標號,如:

1, 2, 8

2, 8, 3

3, 8, 7



為了獲得最佳三角形,在構三角網時,應盡可能使三角形的三內角均成銳角。其基本依據是三角形餘弦定理(圖4-6-7):

cosC=(a2+b2-c2)/2ab

圖4-6-7

在已知A、B點,即已知c邊時,要選取另一個三角形頂點C時,若C角最大,則要擴展的三角形的頂點C離擴展邊c的距離最短。這樣可保證由相鄰最近的三點構成三角形,並且保證不讓某個離散點在組成三角網時被漏掉。在自動連接三角網的軟體設計時,要設L和K兩個變數,L記錄已形成的三角形數,K記錄已擴展的三角形數。為了記錄結果可設三個數組t1[]、t2[]、t3[],分別存放所構成的每個三角形的頂點編號。

構建三角網的第一步是形成第一個三角形。可選擇離散點中最相近的兩個點作為第一個三角形的兩個頂點,並置L=1,把這兩點的編號記錄在t1[L]和t2[L]中。三角形的第三個頂點可按餘弦定理,分別檢查各個離散點,取與t1[L]和t2[L]連線最近的點,並把編號記錄到t3[L]中。

圖4-6-8

第一個三角形形成後,置K=1,並以該三角形的三邊向外擴展三角形。所謂擴展三角形是指從三角形的每條邊向外再形成三角形。

例如,如圖4—45,對於t1[K]、t2[K]、t3[K]構成的三角形,需對每一邊向外擴展形成新的三角形。當從t1[K]和t2[K]組成的邊向外擴展時,顯然位於t3[K]同側的離散點應被排除在外。這可用直線判別正負區的原理來實現。直線方程的判別式為:

F(x,y)=y-Ax-B

其中:A=(y2-y1)/(x2-x1)
B=(y1x2-y2x1)/(x2-x1) 2
F(x,y)>0,點位於正區
F(x,y)=0,點位於線上
F(x,y)<0,點位於負區

把t3[K]的坐標代入判別式計算,記錄下判別式的正負,則只有當離散點的判別式的值與t3[K]的判別式的值符號相反時,才有可能成為被擴展的點。

在這些可能被擴展的點中,找出對擴展邊張角最大的點,就是要擴展的點。

為了避免重復與交叉,還要進行一次檢查判斷,即要判斷新的三角形的三條邊是否已被已形成的三角形用過兩次。若有一條邊被用過兩次,則此次擴展無效;否則此次擴展有效,且L加1。

對三角形的第二條邊和第三條邊採用相同的方法擴展。三角形的三條邊都擴展完後,令K加1,並繼續擴展下一

4. BM3D的介紹

三維塊匹配(BM3D)演算法:它首先把圖像分成一定大小的塊,根據圖像塊之間的相似性,把具有相似結構的二維圖像塊組合在一起形成三維數組,然後用聯合濾波的方法對這些三維數組進行處理,最後,通過逆變換,把處理後的結果返回到原圖像中,從而得到去噪後的圖像。該方法確實有效,它不僅有一個較高的信噪比,而且視覺效果也很好。因此研究者提出了很多基於BM3D的去噪方法,例如:基於小波變換的BM3D去噪,基於Anscombe變換域BM3D濾波等等。

5. 立體視覺SGBM演算法的實現,多方向DP部分求助

最近一直在學習SGBM演算法,作為一種全局匹配演算法,立體匹配的效果明顯好於局部匹配演算法,但是同時復雜度上也要遠遠大於局部匹配演算法。演算法主要是參考Stereo Processing by Semiglobal Matching and Mutual Information,裡面有講完整的演算法實現。
OpenCV中實際上是提供了SGBM類進行SGBM演算法的實現。
#include <highgui.h>
#include <cv.h>
#include <cxcore.h>
#include <iostream>
using namespace std;
using namespace cv;
int main()
{

IplImage * img1 = cvLoadImage("left.png",0);
IplImage * img2 = cvLoadImage("right.png",0);
cv::StereoSGBM sgbm;
int SADWindowSize = 9;
sgbm.preFilterCap = 63;
sgbm.SADWindowSize = SADWindowSize > 0 ? SADWindowSize : 3;
int cn = img1->nChannels;
int numberOfDisparities=64;
sgbm.P1 = 8*cn*sgbm.SADWindowSize*sgbm.SADWindowSize;
sgbm.P2 = 32*cn*sgbm.SADWindowSize*sgbm.SADWindowSize;
sgbm.minDisparity = 0;
sgbm.numberOfDisparities = numberOfDisparities;
sgbm.uniquenessRatio = 10;
sgbm.speckleWindowSize = 100;
sgbm.speckleRange = 32;
sgbm.disp12MaxDiff = 1;
Mat disp, disp8;
int64 t = getTickCount();
sgbm((Mat)img1, (Mat)img2, disp);
t = getTickCount() - t;
cout<<"Time elapsed:"<<t*1000/getTickFrequency()<<endl;
disp.convertTo(disp8, CV_8U, 255/(numberOfDisparities*16.));

namedWindow("left", 1);
cvShowImage("left", img1);
namedWindow("right", 1);
cvShowImage("right", img2);
namedWindow("disparity", 1);
imshow("disparity", disp8);
waitKey();
imwrite("sgbm_disparity.png", disp8);
cvDestroyAllWindows();
return 0;
}

6. 什麼是三維DIC技術啊求詳解。。。。拜託了。。。

三維數字圖像相關技術,也就是利用雙目視覺原理以及散斑匹配方法來實現三維重建的技術。

7. 如何還原三維場景

下面是基本的步驟,查閱 OpenCV 文檔可以了解具體到函數用法 :

攝像頭校正,undistortion。由於攝像頭的鏡片出廠時都存在扭曲,為了得到精確的數據需要在使用前進行較正。常用的方法是基於棋盤的各個姿態拍幾次,然後計算相機的矩陣參賽。下圖便是常見的標定界面。

圖像對齊,rectification。因為兩個攝像頭的位置不同,因此它們各自看到的場景是有偏差的,左邊的攝像頭能看到最左的場景,右邊的看到最右的場景。圖像對齊的目的是得到相同的場景部分。
左右圖像匹配,correspondence。可以使用 OpenCV ,得到 disparity map。
通過重映射函數,比如 OpenCV 中的 cv::reprojectImageTo3D,得到一張深度圖。
只有一張深度圖是不夠的,它只是某一時刻真實的場景在攝像頭中的映射。要想得到完整的三維場景,我們需要分析一系列的深度圖。

HoloLens 如何從多張深度圖重建三維場景?

答案是 SLAM,Simultaneous Localization And Mapping,即同步定位與建圖系統。這個技術被用於機器人、無人汽車、無人飛行器的定位與尋路系統。解決的是非常哲學的問題:

我現在在哪裡?
我可以去哪裡?
SLAM 有很多實現的方式,有一個開源的方式,實現了很多深度圖的處理和匹配演算法,可以認為是三維版本的 OpenCV。

而微軟圍繞著 Kinect 的深度圖數據發明了 Kinect Fushion 演算法,並發表了兩篇論文:

KinectFusion: Real-time 3D Reconstruction and Interaction Using a Moving Depth Camera;
KinectFusion: Real-Time Dense Surface Mapping and Tracking。
為什麼我認為 HoloLens 與 Kinect Fushion 有關?答案在這個頁面中 。 Shahram Izadi 是微軟劍橋研究院的 principal researcher 及 research manager。他所領導的互動3D技術組 / interactive 3D technologies 為微軟的多項產品提供了研究力量,包括 Kinect for Windows, Kinect Fusion 以及 HoloLens。順便說一句,他們組在招人:)

Kinect Fushion,通過在室內移動 Kinect 設備,獲取不同角度的深度圖,實時迭代,對不同對深度圖進行累積,計算出精確的房間以及房間內物體的三維模型。

它分四個階段:

深度圖格式轉換,轉化後的深度的單位是米,用浮點數保存。並計算頂點坐標和表面的法向量。
計算世界坐標系下的相機姿態(包含位置和朝向),通過迭代的對齊演算法跟蹤這兩個值,這樣系統總是知道當前的相機與最初的姿態相比變了多少。
第三階段將姿態已知情況下的深度數據融合到單個三維樂高空間里,你也可以叫它為 MineCraft 空間,因為這個空間的基本元素不是三角形,而是方格子。演示視頻中頻頻出現 MineCraft 場景估計也和這個階段有關。
基於 Raycasting 的三維渲染,Raycasting 需要從當前的相機位置發出射線,與三維空間求交集。樂高空間特別適合Raycasting,可以用八叉樹來加速射線的求交運算。Raycasting、Raytracing 以及 Rasterization 是三種常見的渲染方式,這里就不展開了。
在 HoloLens 的應用中我們運行到第三步,即獲取三維樂高模型就可以了,第四步並不是必需的。因為 HoloLens 的屏幕是透明的,不需要再把房屋的模型渲染一遍,我們自帶的眼睛已經渲染了一遍了:)

8. 點雲數據處理

三維計算視覺研究內容包括:

(1)三維匹配:兩幀或者多幀點雲數據之間的匹配,因為激光掃描光束受物體遮擋的原因,不可能通過一次掃描完成對整個物體的三維點雲的獲取。因此需要從不同的位置和角度對物體進行掃描。三維匹配的目的就是把相鄰掃描的點雲數據拼接在一起。三維匹配重點關注匹配演算法,常用的演算法有 最近點迭代演算法 ICP 和各種全局匹配演算法。

(2)多視圖三維重建:計算機視覺中多視圖一般利用圖像信息,考慮多視幾何的一些約束,相關研究目前很火,射影幾何和多視圖幾何是視覺方法的基礎。在攝影測量中類似的存在共線方程,光束平差法等研究。這里也將點雲的多視匹配放在這里,比如人體的三維重建,點雲的多視重建不僅強調逐幀的匹配,還需要考慮不同角度觀測產生誤差累積,因此也存在一個優化或者平差的過程在裡面。通常是通過觀測形成閉環進行整體平差實現,多視圖重建強調整體優化。可以只使用圖像,或者點雲,也可以兩者結合(深度圖像)實現。重建的結果通常是Mesh網格。

(3)3D SLAM:點雲匹配(最近點迭代演算法 ICP、正態分布變換方法 NDT)+位姿圖優化( g2o 、LUM、ELCH、Toro、SPA);實時3D SLAM演算法 (LOAM);Kalman濾波方法。3D SLAM通常產生3D點雲,或者Octree Map。基於視覺(單目、雙目、魚眼相機、深度相機)方法的SLAM,比如orbSLAM,lsdSLAM...

(4)目標識別:無人駕駛汽車中基於激光數據檢測場景中的行人、汽車、自行車、以及道路和道路附屬設施(行道樹、路燈、斑馬線等)。

(5)形狀檢測與分類:點雲技術在逆向工程中有很普遍的應用。構建大量的幾何模型之後,如何有效的管理,檢索是一個很困難的問題。需要對點雲(Mesh)模型進行特徵描述,分類。根據模型的特徵信息進行模型的檢索。同時包括如何從場景中檢索某類特定的物體,這類方法關注的重點是模型。

(6)語義分類:獲取場景點雲之後,如何有效的利用點雲信息,如何理解點雲場景的內容,進行點雲的分類很有必要,需要為每個點雲進行Labeling。可以分為基於點的方法,基於分割的分類方法。從方法上可以分為基於監督分類的技術或者非監督分類技術,深度學習也是一個很有希望應用的技術。

(7)立體視覺與立體匹配 ZNCC

(8)SFM(運動恢復結構)

1、點雲濾波方法(數據預處理):

雙邊濾波、高斯濾波、條件濾波、直通濾波、隨機采樣一致性濾波。

VoxelGrid

2、關鍵點

ISS3D、Harris3D、NARF

SIFT3D、

3、特徵和特徵描述

法線和曲率計算 NormalEstimation 、特徵值分析Eigen-Analysis、 EGI

PFH、FPFH、3D Shape Context、Spin Image

4、 點雲匹配

ICP 、穩健ICP、point to plane ICP、Point to line ICP、MBICP、GICP

NDT 3D 、Multil-Layer NDT

FPCS、KFPCS、SAC-IA

Line Segment Matching 、ICL

5、點雲分割與分類

分割:區域生長、Ransac線面提取、NDT-RANSAC、

K-Means、Normalize Cut(Context based)

3D Hough Transform(線、面提取)、連通分析、

分類:基於點的分類,基於分割的分類;監督分類與非監督分類

6、SLAM圖優化

g2o 、LUM、ELCH、Toro、SPA

SLAM方法:ICP、MBICP、IDC、likehood Field、 Cross Correlation 、NDT

7、目標識別、檢索

Hausdorff 距離計算(人臉識別)

8、變化檢測

基於八叉樹的變化檢測

9. 三維重建

泊松重建、Delaunay triangulations

表面重建,人體重建,建築物重建,樹木重建。

實時重建:重建植被或者農作物的4D(3D+時間)生長態勢;人體姿勢識別;表情識別;

10.點雲數據管理

點雲壓縮,點雲索引(KD、Octree),點雲LOD(金字塔),海量點雲的渲染

點雲驅動的計算機圖形學主要研究應用

http://vcc.szu.e.cn/research/2015/Points/

9. 能對比出兩張照片中是否同一人的方法或軟體

三維臉形識別系統 Leave a comment �0�3 當計算機剛剛開始進入人類生活的時候,我們兒時經常會在科幻片中看到,電腦掃描人臉,然後會找出這個人的資料。當時這個僅僅是人類的夢想,但隨著計算機技術的高速發展,這個兒時的幻想已經變為現實。
臉型識別技術的研究已經有了十幾年的歷史,最近兩、三年隨著計算機技術的高速發展開始運用到實用系統中。預計今後十年會有突破性的發展。
自「911」事件以來,無論在研究部門,還是在應用部門,人臉識別技術已經成為各種安全技術的一個熱點。
隨著人臉識別系統的日漸成熟,已被逐漸應用到公安、反恐和軍事、計算機網路信息安全等諸多領域。預計在不遠的將來,將得到更加廣泛的應用、具有廣闊的應用前景。
Genewell軟體研發部門由多位資深專家組成人像識別技術小組,專業從事技術研發和應用建設。
Genewell臉型識別技術達到國際先進水平,適用於實時和非實時環境。目前已經成功運用於機場、公安、邊檢等重要場所。什麼是三維臉形識別?
三維臉形識別系統特有的比對引擎於演演算法,及近紅外光即時三維表面掃描的運用,使高速准確的識別成為可能。適用於控制建築物、重要的辦公室、實驗室、庫房等的出入口的身份識別管理及控制。
由美國開發製造的臉形識別儀是世界上首部真正的三維臉形識別儀,它運用了專利的光學、目標定向與影響追蹤技術,和高速運算能力的識別演演算法建立臉部的三維計量學與攝影追蹤系統,這個系統通過獲取與處理三維臉形資料方面的創新,使其得以提供實時准確的臉型識別,並因此取得了同業的領導地位。三維技術優點
光線和角度:三維臉形識別儀的工作波段接近於紅外波段,使用者可不受光線狀況、背景顏色、臉部的毛發與膚色的影響,從任何的角度都可以呈現出准確的三維臉形資料。三維圖像的特異性:獲取豐富的臉部測量數據特點,通過運算形成的三維臉形模板,可以准確識別出看似兩個完全相同的雙胞胎兄弟或姐妹的臉型。
識別速度和准確性:專有的三維臉形生物演算法執行實時以每秒30幀的臉部影像掃描以獲取臉部特徵點進行識別運算,即使在極低的拒判率和誤判率[<0.001]的情況下每秒也能達到10~12次比對運算使得三維臉部識別驗證具有極高的識別准確性。三維臉形識別儀特點
先進的三維臉形識別技術:先進的生物特點提取及運演算法,加上光學技術的運用,並可進行實時的三維臉形掃描識別。
非侵入的工作方式:工作在無形的紅外光波段下,對於移動的狀態也能高度准確地完成識別,完全適用於真實的生活環境里。
可替代性:可以方便的接入到現有的各種常規門禁系統中,包括:射頻卡、磁條、標準的韋跟設備和各種類型的生物識別設備。
系統的兼容性:VISIONSDK可以很好的兼容到第三方的系統里,整合開發出包括門禁考勤、監控和其它的安全系統中。
工作效率:最佳工作效率可達到93%~98%面部特徵定位,並在小於1秒的時間內獲取臉形的影像進行比對識別。三維識別的優勢
高精確性:能區分「一樣的」雙胞胎
高性能:實時視屏捕捉 & 高速識別匹配
能在1秒內辨認、識別和判斷
在現實環境中全面、精確
平衡光線, 包括在黑夜中
30 視角以提高易用性
不被視屏或照片受欺騙
無故障登記
拒絕入侵 & 加強保密性
充分利用光譜學原理,
無干擾識別
公開的自然的臉形識別 (ICAO mandated)
人體工學設計 &用戶友好
快速簡單調整視聽反饋
操作協調
大容量
■每台機人數2000人以下,可採用1:N方式,1秒內完成認證
■認證採用1:1模式,最大可以存貯6萬個人臉模板
■10萬條事件信息
多種認證模式

閱讀全文

與三維圖像匹配演算法相關的資料

熱點內容
新加坡伺服器怎麼進 瀏覽:620
上海女程序員上班被偷 瀏覽:377
如何添加後台app 瀏覽:350
中國移動機頂盒時鍾伺服器地址 瀏覽:943
如何開發app流程 瀏覽:427
哈爾濱編程培訓課程 瀏覽:722
編程語言執行速度排行 瀏覽:174
啟辰原廠導航如何裝app 瀏覽:840
jsp項目優秀源碼 瀏覽:757
如何查看電腦web伺服器埠號 瀏覽:901
小區物業管理系統編程源碼 瀏覽:95
王城戰爭為什麼無法獲取伺服器列表 瀏覽:804
劍橋商務英語pdf 瀏覽:480
伺服器如何不休眠 瀏覽:800
微機原理及介面技術編程 瀏覽:204
解壓迷你游戲機手柄 瀏覽:553
androidrtsp框架 瀏覽:545
阿里女程序員內網徵婚 瀏覽:78
比例閥放大器接plc編程 瀏覽:852
java表示二進制 瀏覽:394