結構光視覺的優點:
非接觸、信息量大、測精度高、抗干擾能力強。
結構光視覺傳感器參數的標定包括:攝像機參數標定、結構光平面參數標定。
結構光視覺測量原理圖
我們不考慮鏡頭的畸變,將相機的成像模型簡化為小孔成像模型,則特征點的圖像坐標Pf 與其在攝像機坐標系下的三維坐標P 之間的關系可表示為:
其中:(u,v)是特征點的圖像坐標,(u0,v0)光軸中心的圖像坐標,(kx ky )是X 軸,Y 軸方向的放大系數,(xc yc zc)是特征點在攝像機坐標系下坐標, Mc 是攝像機內參數矩陣。
結構光視覺投影成像模型:
設結構光在攝像頭坐標系的平面方程為:
依據激光條紋特征點圖像坐標就可以得到其在攝像機坐標系下的三維坐標
相機參數標定:
采用張正友提出的基于2D平面棋盤格的攝像機標定方法,利用Matlab攝像頭標定工具完成相機參數的標定。
攝像機標定工具箱主窗口:
用于攝像機標定的棋盤格圖像:
得到攝像機內參數矩陣:
結構光平面參數標定:
首先,激光器投射結構光平面到平面棋盤格上形成激光條紋,并通過CCD 攝像機采集激光條紋圖像。然后,對圖像進行處理,提取激光條紋上的兩個特征點。控制機器人按照一定的約束進行運動,從一個標定位置移動到另一個位置,從而產生兩條不共線的激光條紋,利用上述相同的圖像處理方法再次提取激光條紋上的兩個特征點。最后,利用結構光平面上的四個點來確定結構光平面方程參數。該方法可以在攝像機參數標定過程中,同時完成結構光平面方程參數的標定。同時,該方法不需要加工高精度的三維標定靶標,也不需要手工測量,標定過程簡單實用。
試驗裝備:
一個六自由度機器人,一個CCD 工業攝像機,一個激光器和一個平面棋盤格靶標。
結構光平面參數標定系統示意圖:
攝像機坐標系位于攝像機中心,而世界坐標系位于平面棋盤格靶標上。一個特征點在攝像機坐標系下坐標與其在世界坐標系下坐標之間的對應關系可以用下式來表達:
標定過程如下:
(1)圖像獲取:
圖像的獲取是在攝機參數標定過程中同時完成。首先將棋盤格放在工作臺上, 在這個初始位置,利用攝像機采集一幅圖,如圖 (a) 所示 。保持攝像機和棋盤格的位置姿態不變,打開激光器讓條紋投射到棋盤格上, 再采集一幅圖像如圖 (b) 所示:
然后改變棋盤格和攝像機的相對位姿,使前后形成的兩條激光條紋在空間上不共線,即可確定一個唯一的結構光平面。
(2)圖像處理:
圖像處理的目的是提取激光條紋上特征點的圖像坐標。
分為圖像感興趣區域(ROI)確定、自適應閾值分割、骨架細化和特征點計算。
1)圖像ROI確定
通過觀察圖像看出,激光條紋大致平行于圖像的u 軸,而且激光條紋處像素的灰度值高于圖像中其它像素的灰度值,所以圖像的ROI 可以通過對每行像素灰度值進行求和得到:
2)閾值分割
閾值分割分為全局閾值分割、局部閾值分割和自適應閾值分割。最常用的自適應閾值分割是Otsu方法,該方法使用統計學的方法確定最優的閾值,適用于一般的圖像,但是不太適合于棋盤格上激光條紋的分割。
根據圖像中激光條紋的灰度值高于圖像中其它像素的灰度值以及激光條紋所在區域比較集中的特點,利用圖像ROI 內行像素灰度值之和計算激光條紋的自適應閾值:
3) 骨架細化:
自適應閾值分割以后的激光條紋具有一定的寬度,直接處理計算量巨大而且精度較低,需要對圖像進行骨架細化得到單像素的線。
采用下面文獻中所提出的快速骨架細化方法:
該方法通過迭代提取圖像骨架,每個迭代過程分為兩步,第一步去除東南邊緣和西北角的點,第二步去除西北邊緣和東南角的點。
Pi分布情況如下:
第二個迭代過程將上述條件的c、d條件更改為:
4)特征提取:
選取激光條紋中心線上的兩個點作為激光條紋的特征點,為了提高激光條紋中心線的提取精度,利用最小二乘法擬合方法對細化后的激光條紋直線進行處理。
激光條紋特征點提取過程如下:
標定棋盤格平面內任意一點與法向量關系
由上圖可知:
由特征點的圖像坐標Pf 與其在攝像機坐標系下的三維坐標P 之間的關系知:
得到棋盤格上任意一點在攝像機坐標系下的zc 坐標
得到激光條紋特征點在攝像機坐標系下的坐標值
至此,得到四個激光條紋特征點的圖像坐標,由上式得四個激光條紋特征點在攝像機坐標系下的坐標,由于三點確定一個平面方程,使用最小二乘法計算結構光平面方程如下:
至此,完成結構光平面方程的參數的標定。
審核編輯:郭婷
-
激光器
+關注
關注
17文章
2517瀏覽量
60376 -
攝像機
+關注
關注
3文章
1601瀏覽量
60049
發布評論請先 登錄
相關推薦
評論