潘海鴻,王耀瑋,徐大斌,李睿亮,陳 琳
(廣西大學機械工程學院,廣西南寧530000)
檢測技術在管控產(chǎn)品質(zhì)量的過程中扮演著重要的角色,隨著現(xiàn)代工業(yè)制造技術的不斷發(fā)展,對于檢測技術提出的要求也越來越高[1-2]。線結構光測量系統(tǒng)作為一種非接觸式檢測手段,在近幾年取得了突飛猛進的發(fā)展,目前已經(jīng)廣泛地應用于三維重建、三維測量及無損缺陷檢測中。線結構光測量系統(tǒng)主要由計算機、相機和線結構光光源組成,檢測效率高、精度高、量程大[3-4]。該系統(tǒng)的測量精度與相機標定、結構光平面標定有著直接的聯(lián)系[5]。
近年來對結構光平面標定方法的研究有很多。陳等[6]設計出一種三維立柱陣列靶標,將結構光投影在立柱端面上,再根據(jù)不同立柱之間的旋轉、平移矩陣以及端面光條坐標完成線結構光平面標定,相對誤差為0.57%。Liu等[7]提出使用球形靶標,利用空間圓錐和空間球交會的方法進行光平面標定,精度約為0.09 mm。Wei等[8]提出的三維平行線靶標,利用已知等距平行線求取平面消隱線的原理完成光平面標定,精度約為0.12 mm。這些方法都需要制作特制的三維靶標完成結構光平面標定。Xu[9]等利用六軸機器人將線結構光投影在標記點上,基于機器人的手眼標定算法構造并求解多次標定方程組,最后使用最小二乘法對該標定方程組進行優(yōu)化,標定精度大約為0.2 mm。這種方法需要使用六軸機器人且需要對機器人各關節(jié)的轉角值進行正逆運動學求解,從而增加了標定復雜度。有些研究者提出使用二維靶標完成標定。Wang[10]等使用平面棋盤格靶標,不斷變換機器人姿態(tài)的同時進行拍照,共計在6個姿態(tài)下拍攝16張照片,再利用手眼矩陣以及相機參數(shù)完成結構光平面標定。這種方法僅使用棋盤格上的88個角點坐標完成標定,標定精度大約為0.4 mm。Li等[11]將結構光投影在棋盤格靶標邊緣,通過改變激光器與相機的相對距離以及激光的投影方向,增加擬合點的數(shù)量,并使用RANSAC算法提升標定精度,標定精度約為0.25 mm。邱[12]等使用平面靶標,拍攝22~28張靶標照片,利用三線共面條件和結構光直線方程完成結構光平面標定,精度為0.1 mm。
上述標定方法需要制作二維或三維的特制靶標,增加了標定的復雜度。在缺少特制靶標的情況下,如何實現(xiàn)結構光平面的高精度標定成為一個急需解決的問題。為此,本文基于立體視覺原理和平面擬合算法提出一種結構光平面標定方法。該方法使用簡易靶標(如工作中的易得物品)獲取多組靶標姿態(tài)下線結構光平面上的點云集,利用擬合算法擬合多組點云集完成結構光平面方程的參數(shù)標定。對5種不同尺寸工件進行測量,驗證了所提出標定方法的可行性。
線結構光測量系統(tǒng)主要由相機以及激光器組成。激光器投射一條線結構光在被測物體上,再由相機進行圖像采集,如圖1所示。其中點P為線結構光上一點,它在相機坐標系Oc-XcYcZc下的坐標為(xc,yc,zc)。點P在相機成像平面上映射的像點為p,其像素坐標系坐標為(u,v),圖像坐標系下坐標為(x,y)。
圖1 結構光測量系統(tǒng)模型Fig.1 Model of structural light measurement system
根據(jù)相機的成像原理,其成像模型為小孔成像模型,則有:
式中:dx,dy分別為圖像x和y方向單位像素的物理距離;(u0,v0)為圖像中心在像素坐標系下的坐標;f為相機的焦距。因被測物體上點P在線結構光平面Axc+Byc+Czc+D=0上,得到:
聯(lián)立式(1)與式(2)可以得到線結構光投影在被測物體上的任意點P(xc,yc,zc)位置,如下:
綜上所述,若已知相機的內(nèi)外參數(shù)以及線結構光平面參數(shù)A,B,C,D,通過式(3)可求出線結構光投影在被測物體上任意一點的坐標。
基于立體視覺獲取相機坐標系下任意點坐標的原理如圖2所示,系統(tǒng)由相機1和相機2組成。
圖2 視差法求解空間坐標Fig.2 Parallax method for spatial coordinates
線結構光在靶標上的投影記為線段S,點P為線結構光投影S上一點,它在相機1坐標系O1-X1Y1Z1下的坐標為(xc,yc,zc),對應像點在相機1圖像坐標系下的坐標為P1(x1,y1),在相機2圖像坐標系下的像點坐標為P2(x2,y2)。
根據(jù)相似三角形原理可得:
式中:b為兩個相機之間的基線距離,左右視差d=x1?x2。
計算線結構光在靶標上投影點P在左相機坐標系O1-X1Y1Z1下的坐標,即有:
(1)將線結構光投影在靶標上,使用公式(5)計算出線結構光投影在靶標上形成的點云集C1;
(2)調(diào)整靶標至另一位姿,計算點云集C2;
(3)不斷調(diào)整靶標姿態(tài)直至獲取k(建議k>10)個點云集Ck。因點云集C1至Ck中的點都處于同一個結構光平面上,擬合所有點云得到結構光平面。
結構光平面擬合過程如下:
最后,根據(jù)式(6)計算擬合值a0,a1,a2得到:
式中n為所用擬合平面的離散點云個數(shù)。由此確定結構光平面。
搭建驗證所提出標定方法的測試平臺,測量系統(tǒng)由計算機、兩臺CCD相機、濾光片和線結構光光源組成,如圖3(a)所示。計算機CPU型號為Intel(R)Core(TM)i7-8750H,工作頻率為2.20 GHZ;兩臺相機型號均為映美精DFK33GP?006,分辨率為2 592×1 944 pixel,幀率為14幀/秒;線結構光發(fā)生器型號為富喆FU650AB100-GC16。將結構光測量系統(tǒng)安裝在六軸機器人上,如圖3(b)所示,相機及激光器接通電源。相機鏡頭前安裝濾光片以減少環(huán)境光的影響,所拍攝照片通過網(wǎng)線傳輸至計算機。
其中,相機1的內(nèi)參矩陣為:
相機2的內(nèi)參矩陣為:
相機1與相機2的外參矩陣為:
相機標定結果通常使用重投影誤差進行評估,重投影誤差是指根據(jù)標定結果所計算的像點理論值與像點實際值之間的誤差,本系統(tǒng)的平均重投影誤差為0.081 pixel。由于拍攝距離大約為200 mm,在這個拍攝距離下,由重投影誤差計算相機系統(tǒng)的誤差大約為0.008 6 mm。
實驗測試1:使用人體手臂充當靶標,將手臂置于結構光平面上(圖4)獲得點云(使用藍色標出點云),采用3.2節(jié)中的標定步驟,調(diào)整靶標姿態(tài)20次,獲取k=20個點云集(共計13 689個點),使用式(7)擬合出的平面方程系數(shù),擬合出結構光平面方程1為:
實驗測試2:使用304鋼板充當靶標,將它放置在結構光平面上(圖5),調(diào)整靶標姿態(tài)20次,使用20個點云集共計14 315個點進行擬合,使用式(7)擬合出的平面方程2為:
圖4 使用手臂充當靶標Fig.4 Using arm as target
圖5 使用304鋼板充當靶標Fig.5 Using 304 steel plate as target
無論是使用人體手臂還是使用304鋼板充當靶標,所得到的結構光平面方程的系數(shù)值非常相近。這是因為在實驗過程中,結構光平面相對于相機位置并未發(fā)生改變,表明采用非特制靶標能夠標定結構光平面系數(shù)。
以制造精度為0.01 mm,邊長為50,45,40,35和30 mm 5種正方形工件為測試對象(圖6),驗證由304鋼板充當靶標所標定的結構光平面方程2的測試精度。
圖6 五種尺寸的正方形工件Fig.6 Square work pieces of five sizes
圖7 工件尺寸測量Fig.7 Workpiece dimension measurement
精度實驗測試過程如下:將結構光投影在所測量工件的邊緣處,記所投影工件尺寸的標稱值為N,計算此時形成的兩個特征點Q1和Q2的坐標(圖7),分別為(x1,y1,z1),(x2,y2,z2),并計算Q1與Q2之間的距離此時工件邊緣與線結構光已經(jīng)重合,可認為測量誤差E=|D?N|。
對這5種尺寸的工件均測量5次,獲得Q1和Q2在相機坐標系下的坐標見表1,將每次測量后計算的D值與工件尺寸標稱值N進行比較,結果見表2。
表1 不同工件的Q1,Q2坐標測量結果Tab.1 Measurement results for Q1 and Q2 coordinates of different workpieces
表2 工件尺寸D與誤差的計算結果Tab.2 Calculation values of workpiece size D and error(mm)
因坐標精度取決于激光條紋的亞像素提取精度,亞像素提取算法的精度極限約為0.16 pix?el[13],所以Q1,Q2的提取精度也為0.16 pixel。本文中拍攝距離大約為200 mm,則相機的空間分辨率約為0.16×200/f≈0.02 mm,由表2可知各工件的尺寸測量結果與工件實際尺寸的誤差均在0.1 mm以內(nèi),總體平均誤差約為±0.056 mm,由此可以認為該方法的標定精度滿足系統(tǒng)的理論測量精度。此外,在測量30,35,40和45 mm工件時,即使測量工件尺寸發(fā)生變化,測量工件的相對誤差也一直在0.12%~0.15%內(nèi),未發(fā)生明顯變化;在測量50 mm工件時,測量相對誤差降為0.12%;5次測量的平均標準差為0.046 83。這些結果表明標定方法具有較好的可重復性與穩(wěn)定性。
為解決線結構光平面標定需要使用特制靶標的問題,本文基于立體視覺原理提出一種使用非特制靶標的線結構光平面標定方法。在相機坐標系下搭建出線結構光測量系統(tǒng),建立線結構光標定數(shù)學模型。該方法利用立體視覺原理獲取線結構光投影在靶標上的點云集,使用擬合算法對點云集進行平面擬合獲得線結構光平面的系數(shù),最終完成平面標定。使用人體手臂和304鋼板充當靶標,利用該方法完成結構光平面標定。最后,利用304鋼板所標定平面測量5種正方形工件尺寸進行標定精度驗證,實驗結果表明該方法的測試精度約為±0.056 mm,相對誤差約為0.15%,能夠滿足使用要求。