結構光三維重建


結構光三維重建之單目標定的一種方法——建立“相位-像點-真實三維坐標”之間的關系

 

1.了解標定的概念

 

    在剛接觸結構光三維掃描的時候,我雖然了解部分張正友標定的內容,但是對於標定還是感覺很模糊,經過最近幾天的學習,我發現想掌握標定,首先應該把標定這兩個字代表的意義弄懂。也就是要標定什么?

 

(1).對系統的標定

 

(2).對相機的標定

 

3.張正友標定的是相機參數

 

    對於接觸相機標定的小伙伴來說,張正友標定因為其易用性和准確性,始終是無法繞過的一個選項。那么我們就先來了解一下張正友標定。張氏標定的文章網上已經多得不能再多,具體的過程請自行下載論文張正友標定法英文原版論文。

 

。我們從目的倒着學習一下。相機標定的目的是得到相機內外參數和畸變參數,內部參數有焦距和像元尺寸的比值,主點以及傾斜角。外部參數就是旋轉和平移矩陣。

外部參數就是旋轉和平移矩陣。畸變參數有k1,k2,p1,p2,p3。

 

 

4.標定得到的相機參數和三維重建沒有計算上的直接關系

 

    調用過opencv進行標定的朋友應該發現,最終的結果是能夠得到矯正畸變后的圖片,但是對於單目結構光來說,或者更具體一點,對於單目結構光解出來的相位來說,不知道有什么用。這個時候,如果還是糾結於張世標定得到的幾個參數矩陣的話,就會陷入怪圈,所以應該跳出來,想想別的思路。

 

    這個時候對系統進行標定就要粉墨登場了,剛才我們講了相機的標定,跟這個系統有什么關系呢?我們可以這么理解,相機是整個結構光三維掃描系統的一部分,我們只知道相機的參數,這對於把圖像中的二維信息轉化為三維是不夠的,所以我們要對系統進行標定。

接下來就要理解所謂的“系統”是個什么概念。我舉一個我之前適用一個白板獲得參考相位進行重建的例子來方便理解,首先要知道這種方法是錯誤的。直接上圖吧。

 

 

 

    左圖是一個白瓷瓶,右圖是用錯誤的方式建立的點雲。

看上去是不是點雲要比真實的花瓶要“扁”,這是因為我沒有進行標定,而是直接找了一個白板,進行一次投影光柵並解相位得到的“參考相位”。之后對花瓶進行投影解相得到“實際相位”,兩個相位做差就是物體距離“參考面”的信息。但是!這個所謂的參考面是不存在的。見下圖:

在這種情況下進行標定也不是不可以,但是要使用精密的測量儀器獲得光心距離參考面的距離並直到掃描結束固定不動,而且 投影儀和相機要保持水平,成像面和參考面保持平行,光軸和參考面保持盡可能地垂直。

所以必須要精確已知l,d,這個代價太大,所以這種標定方法是不可取的。

5.一種靈活的單目標定方法

    看到這里,相信你已經明白在三維重建中,標定不是得到一個內參矩陣和外參數RT那么簡單了,內參以及RT是為了標定系統服務的,得到物體的深度信息才是我們的終極目的。

   接下來的這種方法來自達飛鵬的《光柵投影三維精密測量》,主要思想如本文題目,建立“相位-像點-真實三維坐標”之間的關系。

   在講這種方法之前,我已經假設你對三大坐標系(世界坐標系、攝像機坐標系、圖像坐標系)之間的關系已經理解了。

  

 

可以看到,還是有一個參考面,不是說不要參考面了嗎?其實我們的目的正是要繞過參考面。再回憶一下,我們是要建立相位,像點和三維坐標之間的關系。我們分成兩步:

 

第一步,建立(相位θ)-(攝像機坐標系下三維坐標Xc,Yc,Zc之間的關系)

 

通過上圖,D''是D在參考面X軸上的投影點,平行於Y軸,P''是P'在X軸上的投影點,平行於Y軸,P'是實物點P在參考面上的投影點。由相似三角形關系:

 

 

 

聯立上2式得

 

 

結合世界坐標變換至攝像機坐標公式:

 

 

其中a1~a8就是我們需要標定的系統數據。

 

第二部,建立(像點(m,n))-(攝像機坐標系下三維坐標Xc,Yc,Zc之間的關系)

 

 

 

 

這步利用了攝像機的透視投影原理,需要用到內參矩陣。公式是:

 

 

以上兩步,是利用投影得出的已知相位和已知相位所在點的三維坐標,來求a1~a8.有了a1~a8,再用掃描得到的相位,和XY坐標做透視投影剛體變換的逆變換,帶入

 

 

就能得到深度信息Zc的值。

 

 

 

 

 

 

 

      

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM