韓宗旺,張偉,程祥,李錦超,高軍,李陽
山東理工大學(xué)機(jī)械工程學(xué)院
工業(yè)現(xiàn)場測量螺紋參數(shù)多采用綜合量規(guī)法,而實(shí)際應(yīng)用中,接觸測量存在精度較低、時(shí)間成本高、容易引入人為誤差和造成螺紋損壞等缺點(diǎn)[1]。為此,迫切需要一種高精度的螺紋牙型角檢測方法來實(shí)現(xiàn)自動(dòng)化檢測。相比于傳統(tǒng)的機(jī)械測量方法,機(jī)器視覺檢測優(yōu)點(diǎn)是非接觸檢測,可提高生產(chǎn)效率,滿足現(xiàn)代檢測的需求。
目前,國內(nèi)外一些專家學(xué)者對(duì)螺紋測量系統(tǒng)進(jìn)行了研究。李明煒等[2]開發(fā)了通用型外螺紋視覺測量系統(tǒng),可測量多種螺栓的大小徑和螺距,測量精度可達(dá)30μm。陳淑嫻等[3]結(jié)合SUSAN算法和Forstner算法對(duì)卡鉗螺紋邊緣角點(diǎn)精確定位,此方法滿足牙型角精度要求。Jing Min[4]提出利用67.5°和112.5°改進(jìn)的Sobel模板獲得圖像邊緣的新方法,使線性邊緣具有更高的分辨率細(xì)節(jié)和連續(xù)性,用該方法檢測牙型角相較于人工檢測誤差為0.2%。Lee Y.C.等[5]開發(fā)了一種基于計(jì)算機(jī)視覺的數(shù)控機(jī)床自動(dòng)非接觸測量系統(tǒng)來檢測螺距和螺紋深度,其最大平均誤差為3μm。Gadelmawla E.S.[6]提出的視覺系統(tǒng)能夠自動(dòng)識(shí)別大多數(shù)螺紋類型,并可以計(jì)算最常見的螺紋特征,測量誤差為±5.4μm。Chen Manlong[7]推導(dǎo)了螺紋輪廓畸變的計(jì)算公式,給出了相應(yīng)的補(bǔ)償算法,測得螺距直徑補(bǔ)償效果大于85%,螺紋角補(bǔ)償效果大于70%。大多數(shù)學(xué)者通過提取螺紋的邊緣輪廓線測得牙型角參數(shù),而對(duì)牙型角的直接算法檢測研究較少。
目前尚無成熟的方法測量螺紋牙型角或能快速準(zhǔn)確地測量所有牙型角。本文開發(fā)一種基于機(jī)器視覺技術(shù)外螺紋牙型角測量系統(tǒng),采用三爪卡盤夾緊被測螺栓,螺栓在旋轉(zhuǎn)電機(jī)牽引下旋轉(zhuǎn),同時(shí)相機(jī)采集圖像。利用邊緣增強(qiáng)的Otsu算法分割螺紋工件圖像,采用LSD算法求得牙型角側(cè)邊直線段,直線段的夾角即為螺栓上牙型角度,并進(jìn)行了實(shí)驗(yàn)研究。
如圖1所示,測量系統(tǒng)硬件主要由計(jì)算機(jī)、CMOS相機(jī)、精密旋轉(zhuǎn)平臺(tái)、三爪卡盤和LED光源等組成。采用大恒MER-2000-19U3C彩色相機(jī),分辨率為5496H×3672V。采用日本Computar的V3528-MPY鏡頭。測量系統(tǒng)控制軟件界面如圖2所示,可實(shí)現(xiàn)相機(jī)的圖像采集以及精密旋轉(zhuǎn)平臺(tái)的控制。圖像處理界面如圖3所示,可實(shí)現(xiàn)圖像處理以及螺紋牙型角檢測等。
圖1 螺紋牙型角測量系統(tǒng)原理
圖2 測量系統(tǒng)控制軟件界面
圖3 圖像處理軟件界面
采集測量螺紋圖像前,需調(diào)整物距得到清晰的工件圖像。將待測螺栓裝夾在三爪卡盤上,控制Z向電動(dòng)位移平臺(tái),將被測零件位于相機(jī)鏡頭焦平面上。為了獲得較多數(shù)據(jù),螺栓在旋轉(zhuǎn)平臺(tái)牽引下每旋轉(zhuǎn)15°,CMOS相機(jī)采集一次,共獲得24張不同角度的工件圖像,然后進(jìn)行圖像處理與螺紋牙型角檢測。
由于相機(jī)及鏡頭制造和工藝等方面因素,成像過程中存在不同程度的非線性變形。如圖4所示,設(shè)p為相機(jī)視野內(nèi)的一點(diǎn),p點(diǎn)在圖像坐標(biāo)系、相機(jī)坐標(biāo)系和世界坐標(biāo)系的齊次坐標(biāo)分別為(u,v,1),(XC,YC,ZC,1)和(XW,YW,ZW,1),其轉(zhuǎn)換關(guān)系為
圖4 相機(jī)標(biāo)定時(shí)各坐標(biāo)系關(guān)系
(1)
式中,R為3×3旋轉(zhuǎn)矩陣;t為3×1平移矩陣;M1為相機(jī)內(nèi)參數(shù)矩陣;M2為相機(jī)外參數(shù)矩陣;fu,fv為x,y方向的等效焦距;(u0,v0)代表相機(jī)主點(diǎn)坐標(biāo)。
歸一化后設(shè)p點(diǎn)在圖像平面上投影坐標(biāo)為p(xn,yn),加入畸變后設(shè)p點(diǎn)投影坐標(biāo)為p(xd,yd),則有
(2)
(3)
式中,k1,k2為徑向畸變系數(shù);fu,fv,u0,v0,k1,k2為非線性模型的內(nèi)參系數(shù)。
為了達(dá)到高標(biāo)定精度和測量精度,選擇20×16個(gè)邊長為4mm且精度為0.001mm的陶瓷基棋盤格當(dāng)標(biāo)定板。采集一張與軸零件相同實(shí)驗(yàn)條件(如相同焦距、相同物距和相同光照環(huán)境等)的棋盤格圖像,在視場內(nèi)采集9張不同方位的棋盤格圖像。其標(biāo)定步驟見圖5。
圖5 相機(jī)標(biāo)定流程
為了提取螺紋圖像的工件邊緣信息,需對(duì)其進(jìn)行圖像分割,而固定閾值只能針對(duì)單一圖像或者同組環(huán)境的圖像進(jìn)行有效分割,并不能適應(yīng)環(huán)境多變的工業(yè)場景,否則會(huì)導(dǎo)致測量誤差增大。為了使圖像分割不受圖像亮度、對(duì)比度和光照等外界環(huán)境的影響,本文采用邊緣增強(qiáng)的Otsu算法分割工件圖像。
采用Sober算子計(jì)算圖像梯度,輸出計(jì)算圖像A。檢測圖像x方向和y方向的Sober模板為
(4)
其水平與豎直方向的梯度為
(5)
圖像的梯度為
(6)
建立空的二值圖像B,利用Otsu算法計(jì)算得到閾值T。若圖像A中某像素梯度值大于T,則二值圖像B相應(yīng)位置為1,否則為0。
將圖像B與原始圖像相乘,從原圖中選取強(qiáng)邊緣像素,再次利用Otsu方法進(jìn)行閾值分割,得到分割圖像。利用Otsu算法和邊緣增強(qiáng)Otsu算法處理同一圖像,處理結(jié)果見圖6和圖7。對(duì)比可得,邊緣增強(qiáng)Otsu算法能有效地將目標(biāo)物體從背景下分割出,且受背景光源影響小。為進(jìn)一步對(duì)比,利用圖6和圖7處理后的圖像計(jì)算得到螺紋邊緣的波峰與波谷,分別對(duì)波峰點(diǎn)與波谷點(diǎn)進(jìn)行最小二乘擬合,兩直線的距離即為螺紋牙型高度(見圖8)。查閱資料得到M10×1.5-6g-LH平均高度為0.8120mm,對(duì)比數(shù)據(jù)可得,邊緣增強(qiáng)Otsu算法分割出的圖像更接近原始圖像(見表1)。
圖6 Otsu算法分割結(jié)果圖7 邊緣增強(qiáng)Otsu算法分割結(jié)果
圖8 螺紋牙高測量
表1 螺紋牙高測量結(jié)果比較
LSD(Line Segment Detector)是Von Gioi R.G.等[8]提出的一種直線段檢測算法,該算法有高效的檢測效率和良好的容錯(cuò)率。傳統(tǒng)LSD檢測算法直接輸入灰度圖[9],容易導(dǎo)致邊緣灰度區(qū)別不大的圖像檢測直線不連續(xù)和偏離較大等問題。因此,本文提出基于分割圖像的LSD算法檢測牙型角。
LSD算法檢測牙型角流程如圖9所示。輸入分割后的二值圖像,計(jì)算二值圖像的梯度并進(jìn)行排序和閾值處理,剔除梯度幅值小于閾值的像素點(diǎn),避免參與區(qū)域生成矩形的過程;進(jìn)行區(qū)域生長操作,根據(jù)螺紋圖像牙型角的特點(diǎn),增加LSD算法支持區(qū)域主方向角,設(shè)牙型角側(cè)邊傾角約束范圍為[θ1,θ2]和[θ3,θ4],得到矩形的主慣性軸方向角θ滿足θ∈[θ1,θ2]∪[θ3,θ4],使檢測直線傾角均位于該角度范圍內(nèi),剔除干擾直線,提高檢測精度;計(jì)算NFA(the number of false alarms)的值,用來判斷這個(gè)矩形是否可以作為一條直線段,若NFA≤閾值可認(rèn)為結(jié)果有效,保留直線段;最后計(jì)算相鄰直線段的夾角得到牙型角值。NFA的計(jì)算公式為
圖9 LSD算法檢測牙型角流程
(7)
式中,N,M為采樣后圖像的列和行;r為矩形區(qū)域;n為矩形區(qū)域像素總數(shù);e為矩形水平角度對(duì)齊的點(diǎn)數(shù);μ為精度。
采用傳統(tǒng)LSD檢測算法和基于分割圖像的LSD算法檢測牙型角,結(jié)果分別見圖10和圖11。前者檢測的牙型角側(cè)邊直線偏差大,且個(gè)別側(cè)邊直線段不連續(xù);后者可精準(zhǔn)判別出牙型角側(cè)邊,因而采用基于分割圖像的LSD算法能準(zhǔn)確檢測出牙型角。
圖10 傳統(tǒng)LSD檢測算法檢測結(jié)果圖11 基于分割圖像的LSD算法檢測結(jié)果
利用LSD算法得到相鄰直線的斜率K1和K2后,牙型角α為
(8)
如圖12a所示,螺紋圖像測量系統(tǒng)通常使用平行光源,投影方向S與螺紋軸垂直。由于螺旋線對(duì)螺紋軸線方向剖面內(nèi)的牙型垂直投影產(chǎn)生遮擋,實(shí)際螺紋圖像輪廓側(cè)邊如圖12b所示。
(a)螺紋測量原理
將本實(shí)驗(yàn)標(biāo)準(zhǔn)螺紋參數(shù)代入螺紋牙型與陰影區(qū)域邊界差值方程[10],為
(9)
式中,p為螺距;α為牙型角;a為螺紋牙型線上點(diǎn)與螺紋軸線的距離。
計(jì)算結(jié)果如圖13所示,牙底陰影區(qū)域?qū)挾燃s12.3μm,牙頂陰影區(qū)域?qū)挾燃s9.7μm,陰影區(qū)域兩側(cè)寬度相差約2.6μm,均小于一個(gè)像素,本方法所得牙型角的側(cè)邊角度不會(huì)產(chǎn)生較大偏差。為了得到更精確的結(jié)果,依據(jù)螺紋牙型與陰影區(qū)域邊界差值方程對(duì)LSD檢測螺紋牙型輪廓線結(jié)果進(jìn)行校正,使螺紋圖像側(cè)邊直線與實(shí)際側(cè)邊重合,消除螺紋線陰影影響,從而得到準(zhǔn)確牙型角值。
圖13 螺紋實(shí)際牙型與牙型圖像邊界差值方程曲線
采集圖像前先進(jìn)行相機(jī)標(biāo)定,拍攝9張棋盤格圖像(見圖14)。
圖14 棋盤格標(biāo)定圖像
根據(jù)圖5流程對(duì)相機(jī)進(jìn)行標(biāo)定,得到內(nèi)參和畸變矩陣為
對(duì)矯正后的圖像提取亞像素化的角點(diǎn)坐標(biāo),得到相鄰角點(diǎn)的像素距離為h,利用內(nèi)參和外參計(jì)算得到亞像素角點(diǎn)坐標(biāo)在世界坐標(biāo)中的二維坐標(biāo)。設(shè)相鄰實(shí)際角點(diǎn)距離為M,根據(jù)比例關(guān)系得到像素距離和實(shí)際尺寸的比例系數(shù)k,則k值為
(10)
計(jì)算得到水平方向k=10.50μm,垂直方向k=10.40μm。實(shí)驗(yàn)系統(tǒng)如圖15所示,選取1顆M10×1.5-6g-LH螺栓,該螺紋牙型角為60°,以工具顯微鏡測得值為參考(見圖16)。選取10次實(shí)驗(yàn)數(shù)據(jù)進(jìn)行對(duì)比,其結(jié)果如表2所示。
圖15 螺紋牙型角測量實(shí)驗(yàn)系統(tǒng)
圖16 顯微鏡牙型角測量結(jié)果
表2 測量結(jié)果比較
分析表2數(shù)據(jù)可得,螺紋牙型角測量系統(tǒng)與顯微鏡測量均值相差0.022°,可以較準(zhǔn)確地測量出螺紋牙型角,因而本測量系統(tǒng)可以應(yīng)用于螺紋牙型角測量。
開發(fā)的基于機(jī)器視覺的螺紋牙型角測量系統(tǒng)具有操作簡單快捷、測量精度高等優(yōu)點(diǎn)。針對(duì)螺紋邊緣圖像特征,利用邊緣增強(qiáng)的Otsu算法分割螺紋工件圖像,提出了基于分割圖像的LSD算法檢測牙型角,準(zhǔn)確檢測牙型角包容側(cè)邊,分析了螺紋圖像與實(shí)際輪廓的關(guān)系,根據(jù)差值方程校正了LSD檢測結(jié)果,開發(fā)了圖像處理程序和螺紋檢測平臺(tái)控制程序,得到了相機(jī)內(nèi)參數(shù)矩陣以及徑向畸變系數(shù),實(shí)現(xiàn)了螺紋牙型角的精密檢測。