深度圖像計算三維點雲


在PCL的庫函數中是有關於深度圖到點雲數據之間的轉化的函數,所以這里首先說清楚深度圖像與點雲之間的關系,

1.深度圖像(depth image)也叫距離影像(range image),是指將從圖像采集器到場景中各點的距離(深度)值作為像素值的圖像。獲取方法有:激光雷達深度成像法、計算機立體視覺成像、坐標測量機法、莫爾條紋法、結構光法。它直接反映了景物可見表面的幾何形狀。


2.點雲:當一束激光照射到物體表面時,所反射的激光會攜帶方位、距離等信息。若將激光束按照某種軌跡進行掃描,便會邊掃描邊記錄到反射的激光點信息,由於掃描極為精細,則能夠得到大量的激光點,因而就可形成激光點雲。點雲格式有*.ply ;*.pcd; *.txt等。點雲的處理我們經常使用的開源庫PCL,當然這里可以延伸一下,三維的CAD 文件數據也是可以填充點雲形成不同角度的點雲數據,這種CAD文件到點雲之間的轉化,經常用在binpicking,用於機械臂的抓取時,對模型點雲生成各個角度的點雲,以適應對不同場景中,種種姿態的匹配,

兩者之間的關系:
深度圖像經過坐標轉換可以計算為點雲數據,有規則及必要信息的點雲數據也可以反算為深度圖像數據。深度數據流所提供的圖像幀中,每一個像素點代表的是在深度感應器的視野中,該特定的(x, y)坐標處物體到離攝像頭平面最近的物體到該平面的距離。

對於深度圖像主要集中在:深度圖像的分割技術、深度圖像的邊緣檢測技術、基於不同視點的多幅深度圖像的配准技術、基於深度數據的三維重建技術、基於深度圖像的三維目標識別技術、深度數據的多分辨率建模和幾何壓縮技術等等。在PCL中深度圖像與點雲最主要的區別在於,其近鄰的檢索方式不同,並且可以相互轉換。

深度圖像是物體的三維表示形式,一般通過立體照相機或者TOF照相機獲取。如果具備照相機的內標定參數,可將深度圖像轉換為點雲,所以以上的研究點也是點雲的主要研究點

深度圖轉點雲的計算過程主要是多視圖幾何的知識,其原理是根據內外參矩陣變換公式得到:

                                             

以上這個圖是非常經典的針孔模型結構示意圖,在相機標定這一章節都需要了解這個模型,具體的推導,可以百度相機標定的基本推導,我之前也寫過,但是編輯的不太好看,,,

其中u,v為圖像坐標系下的任意坐標點。u0,v0分別為圖像的中心坐標。xw,yw,zw表示世界坐標系下的三維坐標點。zc表示相機坐標的z軸值,即目標到相機的距離。R,T分別為

外參矩陣的3x3旋轉矩陣和3x1平移矩陣。

 

對外參矩陣的設置:由於世界坐標原點和相機原點是重合的,即沒有旋轉和平移,所以

因為相機坐標系和世界坐標系的坐標原點重合,因此相機坐標和世界坐標下的同一個物體具有相同的深度,即zc=zw.於是公式可進一步簡化為

 

從以上的變換矩陣公式,可以計算得到圖像點[u,v]T 到世界坐標點[xw,yw,zw]T的變換公式:

 

 https://github.com/ros-perception/depthimage_to_laserscan

具體需要做實驗說明

 

 關注微信公眾號,加入群聊


免責聲明!

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



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