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