一種基於三線結構光的凹球直徑測量系統及測量方法與流程
2023-04-25 09:44:01 2
本發明屬於先進檢測技術領域,涉及一種基於三線結構光的凹球直徑測量系統及測量方法。
技術背景
凹球類零件是一種廣泛存在於工業生產中的零件,如空調壓縮機活塞等,但對凹球幾何參數的測量比較複雜,目前國內外尚無成熟的,針對性的測量設備的問世。部分企業採用接觸式探針測量的方式進行凹球參數的測量,這種傳統的探針式的接觸測量方法存在測量力,測量時間長,需進行探頭半徑的補償以及不能測量較軟材料等局限性,極大的限制了企業生產效率的提高,而且可能對表面質量造成劃傷。
技術實現要素:
本發明的目的在於提供極大的提高凹球直徑的檢測速度,簡化檢測流程,有利於實現凹球直徑的自動化檢測,且魯棒性好,不會因為操作人員的習慣導致測量結果的差異,也避免了對凹球表面的劃傷的基於三線結構光的凹球直徑測量系統。
本發明還提供了一種提高凹球直徑檢測精度,提高凹球尺寸檢測效率,從而提高企業的生產效率的基於三線結構光的凹球直徑測量方法。
本發明採用的技術方案是:
一種基於三線結構光的凹球直徑測量系統,其特徵在於:包括工作檯,所述工作檯上放置有凹球,並且安裝有將三條雷射線均勻打在凹球面上的三線結構光發生器和用於採集凹球全貌的相機組件,所述三線結構光發生器與控制其光源的主控計算機連接,所述相機組件與接收其傳送的圖像的主控計算機通訊連接,所述主控計算機上連接有提取圖像中三個雷射線條並重建擬合得到凹球直徑的數字圖像處理模塊。本發明採用非接觸測量方式進行凹球直徑測量,避免了對凹球表面的劃傷;本系統結構簡單、安裝容易;對於同一型號凹球可連續測量,測量效率高,對於不同大小的凹球只需調整三線結構光發生器和相機組件的距離與角度,具有很好的柔性。
進一步,所述相機組件包括相機,所述相機內設有圖像採集卡,其前端連接有鏡頭,所述圖像採集卡與主控計算機通訊連接。
進一步,所述三線結構光發生器通過數字接口與主控計算機。
進一步,所述工作檯上固定有兩立柱,每根立柱上均安裝有調節固定座,調節固定座上穿設有滑動光軸,一根滑動光軸上安裝有裝夾三線結構光發生器的結構光夾具,另一根滑動光軸上安裝有微調升降臺,微調升降臺上安裝有相機固定架,相機組件通過夾相機頂塊裝夾在相機固定架上。
上述測量系統的測量方法,包括以下步驟:
1)相機內參數的標定;相機模型中世界坐標繫到圖像坐標系的變換關係如下:
式中:xu,yu為圖像坐標系上點的x,y坐標,單位為像素,zc為攝像機三維坐標系上的點的z坐標,單位為mm,f為相機的焦距,θ為坐標軸xi與yi之間的實際夾角,k,l為感光晶片像素的實際大小,xi0,yi0為圖像的平面中心,xw,yw,zw為世界坐標系下的點的坐標,矩陣a包括f,k,θ,l,xio,yio這6個參數,是相機內參數矩陣;剛性變換r,t為相機外部參數;
將相機組件的相機和鏡頭連接,調整焦距並固定焦距,對相機內參數進行標定,得到矩陣a中的各參數;
2)調節將三線結構光發生器和相機組件,將待測凹球放在工作檯上,調節三線結構光發生器使三條雷射線均勻打在凹球面上,然後安裝相機組件並調節相機組件的方位保證相機通過鏡頭採集到凹球的全貌;
3)計算相機外部參數,保持三線結構光發生器和相機組件不動,拿下待測凹球,獲取工作檯相對相機的外部參數tc_ext[3],rc_ext[3x3],即是式(1)中r,t;
4)進行結構光平面的標定,三線結構光平面π1,π2,π3在世界坐標系下的方程分別為:
a1xw+b1xw+c1xw+d1=0(2)
a2xw+b2xw+c2xw+d2=0(3)
a3xw+b3xw+c3xw+d3=0(4)
式(2)-(4)中:a,b,c,d分別是平面π1,π2,π3的平面方程係數,經過標定後得到擬合光平面的目標方程為:
5)獲取圖像,將待測的凹球重新放在工作檯原來的位置上,進行圖像採集;
6)分割並識別三個雷射線條,從採集的圖像中提取凹球內雷射線條和細化凹球,將提取的雷射線條與結構光平面匹配獲取n組在三條雷射線上的圖像平面坐標系上的點(xu,yu);
7)雷射線條上點的三維重建,基於式(1)-(4),進行凹球面內雷射線條上點的三維重建,獲取n個世界坐標系下的三維坐標(xw,yw,zw);
8)進行凹球的擬合,利用最小二乘法對球進行擬合,待測球的一般方程為:
(x-a)2+(y-b)2+(z-c)2=r2(6)
對上述方程進行變形,得到如下的形式:
x·2a+y·2b+z·2c+r2-a2-b2-c2=x2+y2+z2(7)
令m=2a,f=2b,j=2c,k=r2-a2-b2-c2,則式(6)可用表示為如下的形式:
x·m+y·f+z·j+k=x2+y2+z2(8)
則球的擬合問題可轉換為已知n組坐標點(x,y,z),求式(7)的超定線性方程組的最小二乘解(m*,f*,j*.k*),其求解過程用矩陣形式表示如式(8)所示:
其中n>4,可以求得:m*,f*,j*,k*;
9)獲取凹球的半徑,最終球心坐標與半徑的表達式如下:
則最終凹球的直徑為:
進一步,相機內參數使用張正友標定法進行標定,標定後得到fc[2],cc[2],alpha_c參數,各參數的含義如式(12)所示:
比較式(1)與式(12)可得對應關係為:
進一步,相機引入透鏡畸變後實際成像平面坐標系上點的坐標與理想情況下程序平面上點的坐標pi(xi,yi)之間的關係如下:
式中:ri為該點距離成像儀中心的半徑,(k1,k2,p1,p2)為描述相機畸變的四個參數;
pu(xu,yu)與pi(xi,yi)之間的關係如下:
步驟1)中的相機內部參數標定還包括透鏡畸變相關參數的標定,標定後得到kc[5],與式(2)的對應關係如下:
k1=kc(1),k2=kc(2),p1=kc(3),p2=kc(4)(16)。
進一步,步驟1)標定後還得到標定結構的像素誤差參數error[2]。
進一步,步驟4)中的標定分兩步進行,第一步將三線結構光投射到相機已標定好內外參數的zw=0的平面上,得到3個結構光平面在zw=0的平面上一條交線上所有點的三維坐標;第二步將厚度為h0的量塊放在zw=0的平面上,量塊上表面在世界坐標系下的方程為:zw=h0,同樣可以得到3個結構光平面與此平面上交線的所有的點的三維坐標;利用上面得到的世界坐標,針對每一個結構光平面都可以有足夠的點進行光平面的擬合。
進一步,步驟6)中通過圖像分割算法來提取凹球內雷射線條,基於骨架提取算法來細化凹球,基於連通區域標記算法來匹配雷射線條與結構光平面。
本發明的有益效果是:
(1)測量效率高:對於同一種型號的凹球類工件,一次標定即可進行多件測量。在採集卡採集效率較高時,只需0.2s之內就可以完成對圖像的採集和相關的計算。
(2)柔性好:對於不同大小的凹球,只需調整結構光與相機的距離與角度,再進行標定後即可進行測量,具有很好的柔性。
(3)結構簡單,安裝容易:由圖1可知,本測量系統結構簡單,便於安裝。
(4)測量精度高:在相機解析度滿足要求,感光晶片足夠大以及標定準確的情況下,本測量方法測量直徑為20mm的凹球時,精度可以達到微米級。
附圖說明
圖1是本發明的結構示意圖。
圖2是本發明的測量原理圖。
圖3是本發明的測量流程圖。
圖4是本發明的結構光平面標定示意圖。
具體實施方式
下面結合具體實施例來對本發明進行進一步說明,但並不將本發明局限於這些具體實施方式。本領域技術人員應該認識到,本發明涵蓋了權利要求書範圍內所可能包括的所有備選方案、改進方案和等效方案。
實施例一
參照圖1-3,一種基於三線結構光的凹球直徑測量系統,包括工作檯,所述工作檯上放置有凹球1,並且安裝有將三條雷射線均勻打在凹球1面上的三線結構光發生器2和用於採集凹球全貌的相機組件,所述相機組件包括相機6,所述相機6內設有圖像採集卡,其前端連接有鏡頭11,所述三線結構光發生器2通過數字接口與控制其光源的主控計算機連接,所述相機組件的圖像採集卡與接收其傳送的圖像的主控計算機通訊連接,所述主控計算機上連接有提取圖像中三個雷射線條並重建擬合得到凹球直徑的數字圖像處理模塊。本發明採用非接觸測量方式進行凹球直徑測量,避免了對凹球表面的劃傷;本系統結構簡單、安裝容易;對於同一型號凹球可連續測量,測量效率高,對於不同大小的凹球只需調整三線結構光發生器2和相機組件的距離與角度,具有很好的柔性。
本實施例所述工作檯上固定有兩立柱5,每根立柱5上均安裝有調節固定座4,調節固定座4上穿設有滑動光軸7,一根滑動光軸7上安裝有裝夾三線結構光發生器2的結構光夾具3,另一根滑動光軸7上安裝有微調升降臺8,微調升降臺8上安裝有相機固定架9,相機組件通過夾相機頂塊10裝夾在相機固定架9上。
本發明的三線結構光發生器2可以通過調節固定座4進行上下調整以及結構光方向的調整。相機6可以通過調節固定座4進行上下調整,通過滑動光軸7進行左右的調整以及相機6方向的調整,通過微調升降臺8進行相機位置的微調。最終要實現將三線結構光打在凹球1上,且相機6中可以採集到凹球1的全部圖像。
圖2是三線結構光測量凹球直徑的原理圖。相機模型採用引入透鏡畸變的針孔相機模型。為了便於建模,建立如圖2所示的4個坐標系,其中,ow-xwywzw為世界坐標系,oc-xcyczc為攝像機三維坐標系,坐標系ou-xuyu位於相機圖像平面,以像素為單位,默認左上角為坐標原點,為圖像坐標系。直線l為相機光軸,理論上光軸l與圖像平面垂直。坐標系oi-xiyi以光軸和成像平面的實際交點oi為原點,單位為mm,是成像平面坐標系。最終要獲得的是世界坐標系ow和圖像坐標系ou之間的關係。
根據針孔相機模型,從世界坐標繫到圖像坐標系的變換關係如下:
式中:xu,yu為圖像坐標系上點的x,y坐標,單位為像素,zc為攝像機三維坐標系上的點的z坐標,單位為mm,f為相機的焦距,θ為坐標軸xi與yi之間的實際夾角,k,l為感光晶片像素的實際大小,xi0,yi0為圖像的平面中心,xw,yw,zw為世界坐標系下的點的坐標。矩陣a包括f,k,θ,l,xio,yio這6個參數,是相機內參數矩陣。
為提高相機標定精度,透鏡會引入畸變,為簡化分析,考慮了切向畸變和徑向畸變這兩種主要的畸變。徑向畸變源於透鏡的形狀。成像儀中心畸變為0,越到邊緣,畸變越嚴重。
引入透鏡畸變後實際成像平面坐標系上點的坐標與理想情況下程序平面上點的坐標pi(xi,yi)之間的關係如下:
式中:ri為該點距離成像儀中心的半徑,(k1,k2,p1,p2)為描述相機畸變的四個參數。
pu(xu,yu)與pi(xi,yi)之間的關係如下:
a與描述透鏡畸變的參數(k1,k2,p1,p2)一起組成了相機內部參數。剛性變換r,t為攝像機外部參數,描述了世界坐標系與攝像機坐標系之間的相互關係。
式(1)、式(14)得到一個圖像點到空間點的映射關係,這些參數可以通過相機標定來獲得。
同時,圖2中的平面π1,π2,π3是結構光平面,其在世界坐標系下的方程分別為:
a1xw+b1xw+c1xw+d1=0(2)
a2xw+b2xw+c2xw+d2=0(3)
a3xw+b3xw+c3xw+d3=0(4)
式(2)-(4)中:a,b,c,d分別是平面π1,π2,π3的平面方程係數。
通過相機標定獲取相機內外參數與畸變係數,通過結構光平面標定獲取結構光平面的方程,就可以根據圖像坐標系上的點pu(xu,yu)得到在世界平面坐標系下的點pw(xw,yw,zw),從而完成凹球面上的點的三維重建。最後,基於最小二乘法進行凹球方程的擬合,即可得到凹球的直徑。
從圖3可以看到,本發明主要包括雷射器光源控制部分,相機、鏡頭與採集卡等圖像採集部分以及後續的數據處理部分。首先通過光源控制,將3條線結構光投射在工件凹球1上,之後通過相機6,鏡頭11與採集卡進行圖像採集。測量前系統要進行標定,包括相機和結構光平面的標定。最後,通過圖像處理提取雷射條紋,獲取凹球表面一系列點的三維坐標,最後通過擬合計算得到凹球的直徑。
實施例二
參照圖1-4,一種基於三線結構光的凹球直徑測量系統的測量方法,包括以下步驟:
1)相機內參數的標定。
相機模型中世界坐標繫到圖像坐標系的變換關係如下:
式中:xu,yu為圖像坐標系上點的x,y坐標,單位為像素,zc為攝像機三維坐標系上的點的z坐標,單位為mm,f為相機的焦距,θ為坐標軸xi與yi之間的實際夾角,k,l為感光晶片像素的實際大小,xi0,yi0為圖像的平面中心,xw,yw,zw為世界坐標系下的點的坐標,矩陣a包括f,k,θ,l,xio,yio這6個參數,是相機內參數矩陣;剛性變換r,t為相機外部參數;
相機引入透鏡畸變後實際成像平面坐標系上點的坐標與理想情況下程序平面上點的坐標pi(xi,yi)之間的關係如下:
式中:ri為該點距離成像儀中心的半徑,(k1,k2,p1,p2)為描述相機畸變的四個參數;
pu(xu,yu)與pi(xi,yi)之間的關係如下:
將相機與鏡頭通過接口連接,調整焦距至30mm,之後固定焦距,使用張正友標定法進行相機的標定。
基於matlab中的cameracalibrationtoolbox工具箱來標定相機,標定結束後,將得到fc[2],cc[2],alpha_c,kc[5],error[2]這五個內部參數,各參數的含義如式(12)所示:
比較式(1)與式(12)可得對應關係為:
同時,kc[5]為得到的透鏡畸變相關參數,與式(14)的對應關係如下:
k1=kc(1),k2=kc(2),p1=kc(3),p2=kc(4)(16)
error[2]這個參數表示的是標定結果的像素誤差。
2)調節將三線結構光發生器和相機組件,將待測凹球放在工作檯上,調節三線結構光發生器使三條雷射線均勻打在凹球面上,然後安裝相機組件並調節相機組件的方位保證相機通過鏡頭採集到凹球的全貌。
3)計算相機外部參數,保持三線結構光發生器和相機組件不動,拿下待測凹球,獲取工作檯相對相機的外部參數tc_ext[3],rc_ext[3x3],即是式(1)中r,t。
4)進行結構光平面的標定。三線結構光平面π1,π2,π3在世界坐標系下的方程分別為:
a1xw+b1xw+c1xw+d1=0(2)
a2xw+b2xw+c2xw+d2=0(3)
a3xw+b3xw+c3xw+d3=0(4)
式(2)-(4)中:a,b,c,d分別是平面π1,π2,π3的平面方程係數;結合精密量塊進行結構光平面標定,該標定分兩步進行。首先,將三線結構光投射到已標定好內外參數的測量系統的zw=0的平面上,如圖4a所示。由式(1)可知,在已知zw=0的已標定好相機參數的系統裡,可以由xu,yu求出xw,yw,從而得到3個結構光平面在zw=0的平面上一條交線上所有點的三維坐標。之後將厚度h=h0的量塊放在zw=0的平面上,如圖4b所示,這樣量塊上表面在世界坐標系下的方程為:zw=h0,同樣可以得到3個結構光平面與此平面上交線的所有的點的三維坐標。利用上面得到的世界坐標,針對每一個結構光平面都可以有足夠的點進行光平面的擬合。擬合光平面的目標方程為:
相機標定和結構光平面的標定完成後便得到測量系統所有的外參數與內參數,完成了整個系統的標定。
5)獲取圖像,將待測的凹球重新放在工作檯原來的位置上,進行圖像採集。
6)分割並識別三個雷射線條。結合圖像分割算法,實現凹球內雷射線條的提取;基於骨架提取算法,實現凹球的細化;基於連通區域標記算法,實現雷射線條與結構光平面的匹配。最後提取出n組在三條雷射線上的圖像平面坐標系上的點(xu,yu)。
7)雷射線條上點的三維重建,基於式(1)-(4),進行凹球面內雷射線條上點的三維重建,獲取n個世界坐標系下的三維坐標(xw,yw,zw)。
8)進行凹球的擬合。利用最小二乘法對球進行擬合,待測球的一般方程為:
(x-a)2+(y-b)2+(z-c)2=r2(6)
對上述方程進行變形,得到如下的形式:
x·2a+y·2b+z·2c+r2-a2-b2-c2=x2+y2+z2(7)
令m=2a,f=2b,j=2c,k=r2-a2-b2-c2,則式(6)可用表示為如下的形式:
x·m+y·f+z·j+k=x2+y2+z2(8)
則球的擬合問題可轉換為已知n組坐標點(x,y,z),求式(7)的超定線性方程組的最小二乘解(m*,f*,j*.k*),其求解過程用矩陣形式表示如式(8)所示:
其中n>4,可以求得:m*,f*,j*,k*。
9)獲取凹球的半徑,最終球心坐標與半徑的表達式如下:
則最終凹球的直徑為:
本方法通過相機標定獲取相機內外參數與畸變係數,通過結構光平面標定獲取結構光平面的方程,就可以根據圖像坐標系上的點pu(xu,yu)得到在世界平面坐標系下的點pw(xw,yw,zw),從而完成凹球面上的點的三維重建。最後,基於最小二乘法進行凹球方程的擬合,即可得到凹球的直徑。