邰承岳,袁鵬哲,鐘 晨,劉 璞,張烈山
(浙江理工大學(xué) 機(jī)械與自動(dòng)控制學(xué)院,杭州 310018)
機(jī)器視覺(jué)技術(shù)融合了人工智能、幾何光學(xué)、電子學(xué)、計(jì)算機(jī)圖像學(xué)、信息處理、機(jī)器學(xué)習(xí)等學(xué)科技術(shù),具有精度高、可靠性強(qiáng)、速度快、非接觸式等優(yōu)點(diǎn)。隨著工業(yè)自動(dòng)化的發(fā)展,特別是智能制造技術(shù)的發(fā)展,機(jī)器視覺(jué)的應(yīng)用在工業(yè)生產(chǎn)中得到廣泛的應(yīng)用,在交通、醫(yī)療、農(nóng)業(yè)等領(lǐng)域,機(jī)器視覺(jué)檢測(cè)方法取代人工檢測(cè)的方法已經(jīng)成為明顯一種趨勢(shì)[1-3]。20世紀(jì)50年代,機(jī)器視覺(jué)技術(shù)誕生,由David Marr對(duì)機(jī)器視覺(jué)的理論體系進(jìn)行了初步的完善。國(guó)內(nèi)學(xué)者研究技術(shù)是從20世紀(jì)80年代中期才開(kāi)始的,在90年代機(jī)器視覺(jué)技術(shù)才開(kāi)始得到應(yīng)用,21世紀(jì),機(jī)器視覺(jué)市場(chǎng)得到爆發(fā)式增長(zhǎng),機(jī)器視覺(jué)大量應(yīng)用在互聯(lián)網(wǎng)以及工業(yè)生產(chǎn)中,在機(jī)器視覺(jué)方面中國(guó)即使在世界范圍內(nèi)也是十分活躍的[4],然而中國(guó)與機(jī)器視覺(jué)的世界先進(jìn)水平仍有較大差距。
20世紀(jì)60年代,美國(guó)就已經(jīng)開(kāi)始在制造業(yè)應(yīng)用機(jī)器視覺(jué)影像測(cè)量技術(shù),隨后,德國(guó)、加拿大、日本等國(guó)家也開(kāi)始了對(duì)機(jī)器視覺(jué)影像測(cè)量相關(guān)理論及技術(shù)的研究 ,而在中國(guó),有關(guān)影像測(cè)量的研究是從80年代開(kāi)始、90年代才得到重視,雖然在機(jī)器視覺(jué)測(cè)量技術(shù)的理論模型、實(shí)驗(yàn)分析、系統(tǒng)建立等方面有了很多成果,但水平依然相對(duì)比較落后。目前,視覺(jué)影像測(cè)量技術(shù)的應(yīng)用主要涉及到鋼板表面缺陷檢測(cè)、汽車(chē)制造質(zhì)量檢測(cè)、印刷質(zhì)量檢測(cè)、齒輪參數(shù)檢測(cè)等測(cè)量領(lǐng)域中[5-9]。
一些接觸式設(shè)備如三坐標(biāo)測(cè)量機(jī)、專(zhuān)用測(cè)量尺規(guī)等工具目前仍然是主要普及的齒輪參數(shù)測(cè)量設(shè)備,這些設(shè)備操作復(fù)雜、人工和管理成本大、測(cè)量效率低、測(cè)量精度不高,逐漸不能滿足工業(yè)應(yīng)用生產(chǎn)對(duì)產(chǎn)品質(zhì)量越來(lái)越高的要求。為了實(shí)現(xiàn)齒輪幾何參數(shù)的高精度、自動(dòng)化測(cè)量,本文以齒距偏差自動(dòng)測(cè)量為例研究了一種基于機(jī)器視覺(jué)的測(cè)量方法。
如圖1所示,影像測(cè)量法的基本原理是先通過(guò)成像系統(tǒng)將被測(cè)物面成像至光電檢測(cè)單元(相機(jī)感光面),光電檢測(cè)單元將光信號(hào)轉(zhuǎn)換為電信號(hào)(電子圖片),然后將電信號(hào)傳輸?shù)缴衔粰C(jī)中。上位機(jī)在獲得被測(cè)物體圖像后,利用圖像處理軟件從檢測(cè)圖像中提取出所需的幾何特征,在根據(jù)成像系統(tǒng)的數(shù)學(xué)模型,計(jì)算出關(guān)心的幾何量,從而實(shí)現(xiàn)被測(cè)產(chǎn)品幾何參數(shù)的測(cè)量。
圖1 影像測(cè)量法基本原理示意圖
以點(diǎn)到點(diǎn)距離值的測(cè)量為例,簡(jiǎn)述影像測(cè)量法實(shí)現(xiàn)幾何量測(cè)量的基本數(shù)學(xué)原理,利用圖像采集系統(tǒng)獲得的圖片的大小為a×b,單位為:pix*pix。如圖2所示,檢測(cè)圖像中點(diǎn)A和B是有齒輪輪廓與分度圓的交點(diǎn),計(jì)算A、B兩點(diǎn)間的分度圓圓弧長(zhǎng)度。記A的像素坐標(biāo)為(ua,va),B的像素坐標(biāo)為(ub,vb)。
圖2 幾何參數(shù)測(cè)量計(jì)算原理圖
設(shè)被測(cè)齒輪分度圓直徑為Dp,則弧長(zhǎng)AB的實(shí)際幾何尺寸等于成像系統(tǒng)像素當(dāng)量τ與AB像素弧長(zhǎng)的乘積,也即:
(1)
式中,τ為像素當(dāng)量,單位為mm/pix,它表示單位像素距離對(duì)應(yīng)被測(cè)物面的實(shí)際幾何距離,它反映的是成像系統(tǒng)的放大倍率,一般通過(guò)系統(tǒng)標(biāo)定來(lái)確定像素當(dāng)量的大小。對(duì)于單目影像測(cè)量系統(tǒng)來(lái)說(shuō),成像系統(tǒng)的工作距離一定,成像系統(tǒng)的放大倍率也不會(huì)改變,像素當(dāng)量τ容易通過(guò)標(biāo)準(zhǔn)棋盤(pán)格或者標(biāo)準(zhǔn)刻度尺來(lái)實(shí)現(xiàn)標(biāo)定。
利用成像系統(tǒng)和工業(yè)相機(jī)獲取檢測(cè)圖像后需要經(jīng)過(guò)系列的圖像處理算法才能最終提取出被測(cè)齒距。這些處理算法主要有:圖像預(yù)處理算法、成像系統(tǒng)標(biāo)定、齒輪輪廓及特征提取算法、分度圓構(gòu)造及齒距參數(shù)測(cè)量計(jì)算算法[10-11]等。
圖像預(yù)處理算法的作用是對(duì)圖像進(jìn)行去噪,通過(guò)二值化處理、邊緣檢測(cè)等一系列操作,突出測(cè)齒輪的輪廓特征,這將易于后續(xù)的算法處理。如圖3所示為圖像預(yù)處理算法所用的流程。
圖3 圖像預(yù)處理算法流程圖
由于光源質(zhì)量、環(huán)境雜光等因素的影響,被測(cè)圖像總是存在一定的噪聲點(diǎn),本文采用高斯濾波實(shí)現(xiàn)噪點(diǎn)的濾除。根據(jù)背景像素值和輪廓像素值之間的差異,合理設(shè)置閾值進(jìn)行圖像的二值化處理,這樣做能夠顯著突出被測(cè)齒輪的輪廓特征,濾除無(wú)用圖像信息而突出有用信息,實(shí)現(xiàn)圖像信息的降維。
本文根據(jù)1998年張正友教授提出的單平面棋盤(pán)格的攝像機(jī)標(biāo)定方法[12-14]編寫(xiě)標(biāo)定算法。
2.2.1 圖像畸變及矯正
實(shí)際的使用中,由于透鏡制作和安裝存在不確定性,攝像機(jī)的透鏡總是在成像的邊緣處產(chǎn)生較為明顯的畸變,而且從機(jī)械方面也難以保證透鏡和成像平面保持平行,從而產(chǎn)生了如圖4所示的徑向畸變和切向畸變。
圖4 相機(jī)畸變模型
在徑向畸變中,可以認(rèn)為光學(xué)中心沒(méi)有任何的畸變,但隨著半徑的增大,畸變程度也隨之變大,其通過(guò)泰勒級(jí)數(shù)展開(kāi)進(jìn)行校正:
(2)
式中,xr,yr為矯正后的坐標(biāo);xp,yp為矯正前的坐標(biāo);r為與光學(xué)中心的距離;k1,k2,k3為徑向畸變系數(shù)。
切向畸變的成因是透鏡和焦平面不平行,存在角度α,其通過(guò)泰勒級(jí)數(shù)展開(kāi)進(jìn)行校正:
(3)
式中,p1,p2為切向畸變系數(shù)。
綜上,我們一共需要得到5個(gè)畸變參數(shù)(徑向畸變系數(shù):k1、k2、k3和切向畸變系數(shù):p1、p2)對(duì)圖像進(jìn)行畸變矯正。
2.2.2 像素當(dāng)量標(biāo)定
在基于機(jī)器視覺(jué)測(cè)量圓柱直齒輪齒距偏差的過(guò)程中,需要知道像素尺寸與實(shí)際尺寸的對(duì)應(yīng)關(guān)系,這種關(guān)系用像素當(dāng)量表示。由棋盤(pán)格標(biāo)定算法我們可以得到內(nèi)參矩陣M:
(4)
在內(nèi)參矩陣M中,(u0,v0)為像素坐標(biāo)系原點(diǎn)在圖像坐標(biāo)系下的坐標(biāo),dx、dy為每個(gè)像素點(diǎn)在圖像坐標(biāo)系x軸、y軸方向的尺寸,f為焦距。通過(guò)對(duì)內(nèi)參矩陣M中元素fx、fy除以焦距f后求其倒數(shù)我們就能得到單個(gè)像素格長(zhǎng)寬所對(duì)應(yīng)實(shí)際距離的,即像素當(dāng)量。
本文先對(duì)圖像進(jìn)行二值化和膨脹腐蝕,使得被測(cè)齒輪的輪廓特征更加突出,然后利用Sobel邊緣檢測(cè)算法[15-16]實(shí)現(xiàn)齒輪邊緣的提取,保證了輪廓提取的效率和精度。
Sobel算子是一種離散性差分算子,用來(lái)運(yùn)算圖像亮度函數(shù)的梯度之近似值。在圖像的任何一點(diǎn)使用此算子,將會(huì)產(chǎn)生對(duì)應(yīng)的梯度矢量,其利用像素的周?chē)I(lǐng)域的灰度加權(quán)算法,根據(jù)在邊緣點(diǎn)處達(dá)到極值這一原理進(jìn)行邊緣檢測(cè),如圖5所示。
圖5 Sobel算法邊緣檢測(cè)示意圖
以常見(jiàn)的水平和豎直方向的Sobel算子為例,水平方向與豎直方向偏導(dǎo)數(shù)計(jì)算方法為:
(5)
(6)
計(jì)算像素點(diǎn)P5的水平方向與豎直方向偏導(dǎo)數(shù)公式為:
P5x=(P3-P1)+2·(P6-P4)+(P9-P7)
(7)
P5y=(P7-P1)+2·(P8-P2)+(P9-P3)
(8)
分度圓的構(gòu)造需要知道它的半徑和中點(diǎn)位置,一般來(lái)說(shuō),它的中點(diǎn)位置應(yīng)當(dāng)與齒輪的中心相同。求解分度圓的半徑的公式如下:
d=mz/2
(9)
式中,m為齒輪模數(shù),z為齒數(shù)。
因此,求解分度圓需要知道齒輪的幾何參數(shù),通過(guò)圖像處理相關(guān)算法計(jì)算出齒頂圓和齒根圓,根據(jù)分度圓與它們的關(guān)系求出分度圓的相關(guān)參數(shù)。求解構(gòu)造分度圓相關(guān)參數(shù)的流程圖如圖6所示。
圖6 分度圓構(gòu)造流程圖
1)齒輪中心(x0,y0):
齒輪中心即圓心,齒輪的圓心包括齒頂圓圓心、齒根圓圓心、節(jié)圓圓心等,本文忽略加工工藝等不可避免的問(wèn)題帶來(lái)的極小誤差,取齒輪外輪廓擬合圓圓心、內(nèi)輪廓擬合圓圓心的平均值作為齒輪的中心。
對(duì)檢測(cè)出的齒輪外輪廓和內(nèi)輪廓分別進(jìn)行圓的擬合,通過(guò)擬合圓算法可以求出擬合圓的圓心和半徑。擬合圓的算法有很多,如平均值法,加權(quán)平均值法等,其中,使用最小二值法能夠簡(jiǎn)單且比較準(zhǔn)確的擬合出想要的圓。
2)齒頂圓半徑ra:
對(duì)于齒頂圓半徑的求解,本文通過(guò)構(gòu)建齒輪外輪廓的凸包結(jié)構(gòu),將外輪廓的輪廓點(diǎn)全部包含進(jìn)去。
一般來(lái)說(shuō),可以將外輪廓與構(gòu)建的凸包的多個(gè)交點(diǎn)視為齒頂圓上的點(diǎn),在每個(gè)交點(diǎn)及其周?chē)喞c(diǎn)都近似視作齒頂圓上的點(diǎn),求得它們到齒輪中心的距離,取它們的平均值為齒頂圓半徑。
3)齒根圓半徑rf:
對(duì)于齒根圓半徑的求解,本文先求出外輪廓點(diǎn)與齒輪中心的距離,得出最小距離dmin,找出外輪廓中距齒輪中心在區(qū)間[dmin,dmin+d]的點(diǎn),其中d為前文求解齒頂圓時(shí)交點(diǎn)及其周?chē)喞c(diǎn)到齒輪中心的距離的區(qū)間長(zhǎng)度。同理,得到的所有輪廓點(diǎn)近似視作齒根圓上的點(diǎn),求得它們到齒輪中心的距離,取它們的平均值為齒根圓半徑。
4)齒數(shù)z:
本文采用切割法求解齒輪齒數(shù)。以齒輪中心為圓心,齒頂圓半徑與齒根圓半徑的平均值為半徑作圓,對(duì)齒輪外輪廓進(jìn)行切割,得到多個(gè)交點(diǎn),對(duì)交點(diǎn)進(jìn)行計(jì)數(shù),得到的數(shù)值為齒數(shù)的兩倍。
5)模數(shù)m:
測(cè)量?jī)x器無(wú)法直接測(cè)量出齒輪模數(shù),圖像上也找不到相關(guān)的特征點(diǎn)來(lái)求解,因此需要通過(guò)已測(cè)得的齒輪參數(shù)與齒輪模數(shù)之間的數(shù)學(xué)關(guān)系來(lái)求的齒輪模數(shù),通常可以通過(guò)查找齒輪模數(shù)系列表來(lái)確定齒輪模數(shù),優(yōu)先選擇第一系列作為標(biāo)準(zhǔn)值。首先通過(guò)公式(10)計(jì)算得到m′,在從齒輪模數(shù)系列表找出與它最接近的標(biāo)準(zhǔn)齒輪模數(shù)。
(10)
根據(jù)求得的模數(shù)和齒輪齒數(shù)可以求得分度圓半徑r=mz/2,以齒輪中心為圓心,作分度圓,使分度圓與齒輪輪廓相交,得到交點(diǎn)數(shù)組,把它們作為特征點(diǎn)進(jìn)行分析,可以得到齒距偏差。齒距偏差主要有3個(gè)部分組成,分別是單個(gè)齒距偏差、k個(gè)齒距累積偏差、齒距累積總偏差。具體流程如圖7所示。
圖7 齒距偏差求解流程圖
在圖像處理過(guò)程中,將齒輪輪廓與分度圓交點(diǎn)繞齒輪中心順時(shí)針排序,并求出它們與x軸方向的角度,假設(shè)將排序的交點(diǎn)標(biāo)記為P1、P2、P3…P2Z,交點(diǎn)相對(duì)于齒輪中心與x軸方向角度為θ1、θ2、θ3…θ2Z。
理論齒距為:
p=πm
(11)
第i個(gè)齒距為:
(12)
其中:角度的差值需要進(jìn)行處理,使其在0到2π之間。
第i齒距偏差為:
fpi=pi-p
(13)
單個(gè)齒距偏差為:
fpt=max|fpi|
(14)
k個(gè)齒輪累積偏差為:
(15)
根據(jù)齒輪精度標(biāo)準(zhǔn)GB10095-88,齒輪累積偏差的k值規(guī)定取小于z/8或z/6的最大整數(shù)。
齒距累積總偏差為:
(16)
Fp=max(Fpk)-min(Fpk)
(17)
為了驗(yàn)證基于機(jī)器視覺(jué)齒測(cè)量輪齒距偏差的方法,搭建了影像測(cè)量系統(tǒng)平臺(tái),并進(jìn)行了軟件界面的設(shè)計(jì),最后對(duì)測(cè)量結(jié)果進(jìn)行了分析,驗(yàn)證了系統(tǒng)的重復(fù)性。本系統(tǒng)標(biāo)定的像素當(dāng)量結(jié)果為0.005 04 mm/pix。
本文中的齒距偏差影像測(cè)量系統(tǒng)搭建如圖8所示。將它與opencv圖像處理算法結(jié)合起來(lái),能夠精確的完成齒輪偏差的測(cè)量。
圖8 齒距偏差影像測(cè)量系統(tǒng)
它主要包含型號(hào)VMS14M33COMS高分辨率工業(yè)相機(jī),相機(jī)傳感器光學(xué)尺寸為1/2.33 in,最高分辨率為4 320*2 430,像元尺寸1.43 μm*1.43 μm;型號(hào)CW-FM1614-8MP的定焦鏡頭,鏡頭焦距為16 mm,視場(chǎng)角(FOV)為21.8°*16.8°,畸變?yōu)?.05%,分辨率為10 Mega Pixel;此外,該系統(tǒng)還配備了LED光源、載物臺(tái)、可升降支架以及上位機(jī)。系統(tǒng)通過(guò)工業(yè)相機(jī)采集齒輪和由于標(biāo)定的棋盤(pán)格的圖像信息,然后將圖像傳輸?shù)缴衔粰C(jī)中,由上位機(jī)中的程序完成圖像預(yù)處理、提取測(cè)量點(diǎn)以及齒輪幾何參數(shù)測(cè)量的功能。
為了便于使用,使用pyqt5工具包進(jìn)行頁(yè)面設(shè)計(jì),如圖9所示為本次測(cè)試實(shí)驗(yàn)所做的操作軟件界面,該界面可以實(shí)現(xiàn)圖像采集、圖像處理、系統(tǒng)標(biāo)定、齒輪測(cè)量等功能,操作十分簡(jiǎn)單便捷。
圖9 操作界面
用工業(yè)相機(jī)從不同方位對(duì)待測(cè)齒輪拍攝多次得到多個(gè)圖像,對(duì)每幅圖進(jìn)行圖像處理,然后分別檢測(cè)齒輪偏差,比較分析檢測(cè)的結(jié)果。圖像處理過(guò)程中,求得的齒輪的輪廓如圖10所示,為計(jì)算方便,將其拆分成外輪廓和內(nèi)輪廓。圖11是構(gòu)造分度圓過(guò)程中,得到的凸包圖、齒頂圓和齒根圓與齒輪輪廓的交點(diǎn)位置。
圖10 齒輪輪廓示例圖
圖11 凸包結(jié)構(gòu)、齒頂圓、齒根圓點(diǎn)集示例圖
經(jīng)過(guò)圖10、11所示的齒輪輪廓、特征點(diǎn)提取等過(guò)程,得出本文所用待測(cè)齒輪齒數(shù)為14、模數(shù)為0.6,所以齒輪分度圓半徑為4.2 mm。結(jié)果均符合實(shí)際。
對(duì)待測(cè)齒輪進(jìn)行了測(cè)量,可以得到如表1所示的測(cè)量結(jié)果,每個(gè)待測(cè)齒輪14個(gè)齒距分別是以左齒面和右齒面為基準(zhǔn)情況下的齒距偏差,測(cè)得的最大齒距偏差分別為35.055 μm和39.830 μm,可以得出,以不同齒面為基準(zhǔn)測(cè)得的結(jié)果相一致。
表1 任意單個(gè)齒輪偏差測(cè)量結(jié)果 μm
以1號(hào)齒輪為例,作出圖12、13所示的梯形圖,圖中中橫坐標(biāo)1表示、齒序?yàn)?的齒距偏差、橫坐標(biāo)x表示齒序1至x的累積偏差。分別以齒輪左、右齒面基準(zhǔn)測(cè)得的齒面累積總偏差為7.967-(-33.17)=41.137 μm和3.941-(-37.83)=41.771 μm,所以以齒輪左、右齒面基準(zhǔn)測(cè)得的齒面累積總偏差也相一致。
圖12 以左齒面為基準(zhǔn)齒距累積偏差
圖13 以右齒面為基準(zhǔn)齒距累積偏差
為了對(duì)測(cè)量結(jié)果的重復(fù)性進(jìn)行分析,對(duì)同一齒輪測(cè)量了10次齒距偏差,其中,由公式(15)及其相關(guān)定義,求解齒距累積偏差時(shí)取k=2。如表2所示,對(duì)齒序1的齒距進(jìn)行單個(gè)齒距偏差的重復(fù)性測(cè)試;同時(shí)又進(jìn)行了以齒序1、2做齒距累積偏差和齒距累積總偏差重復(fù)性實(shí)驗(yàn)。使用貝塞爾公式如式(18)進(jìn)行標(biāo)準(zhǔn)差的計(jì)算,來(lái)判斷實(shí)驗(yàn)的重復(fù)性。
表2 待測(cè)齒輪重復(fù)性測(cè)量 μm
(18)
式中,n為樣本個(gè)數(shù)。
由表2可知,對(duì)待測(cè)齒輪的的單個(gè)齒距偏差、齒距累積偏差、齒距累積總偏差的10次測(cè)量結(jié)果進(jìn)行重復(fù)性分析,得到的重復(fù)性標(biāo)準(zhǔn)差分別5.317 μm、5.688 μm和3.671 μm。說(shuō)明對(duì)該齒輪的測(cè)量滿足重復(fù)性要求。
為了更好的驗(yàn)證本文實(shí)驗(yàn)系統(tǒng)的重復(fù)性精度,共準(zhǔn)備了3組齒輪(每組有10個(gè)型號(hào)相同的齒輪)進(jìn)行更進(jìn)一步的重復(fù)性測(cè)量。由于齒距累積總偏差對(duì)齒輪運(yùn)動(dòng)精度的影響最大,所以對(duì)每個(gè)齒輪選用齒距累積總偏差測(cè)量10次來(lái)計(jì)算標(biāo)準(zhǔn)差。由圖14可知,3組重復(fù)性測(cè)試的標(biāo)準(zhǔn)差最大值分別為5.014 μm、5.314 μm、5.302 μm,所以本文建立的影像測(cè)量系統(tǒng)可以實(shí)現(xiàn)對(duì)圓柱直齒輪齒距偏差的有效測(cè)量。
圖14 重復(fù)性測(cè)試圖
本文基于機(jī)器視覺(jué)技術(shù)對(duì)圓柱直齒輪齒距偏差進(jìn)行檢測(cè)方法研究。該方法利用影像測(cè)量系統(tǒng)攝取被測(cè)圓柱直齒輪端面圖像,然后進(jìn)行圖像預(yù)處理、邊緣檢測(cè)、特征提取等算法處理圖像,反求出齒輪的基本參數(shù),如齒輪中心、齒輪齒數(shù)、模數(shù)等。通過(guò)齒距偏差的定義完成單個(gè)齒距偏差、齒輪累積偏差、齒輪累積總偏差的測(cè)量計(jì)算,與傳統(tǒng)接觸式測(cè)量或其它人工測(cè)量方法相比,基于機(jī)器視覺(jué)的圓柱直齒輪齒距偏差檢測(cè)技術(shù)具有測(cè)量速度快、操作簡(jiǎn)單、自動(dòng)化、對(duì)齒輪表面無(wú)損害,高精度等優(yōu)點(diǎn)。