楊 林,鄢紅章,晏 濤,王中任,肖光潤
(1.湖北中煙工業(yè)有限責(zé)任公司襄陽卷煙廠,湖北 襄陽,441000;2.湖北文理學(xué)院機(jī)械工程學(xué)院,湖北 襄陽,441053)
在現(xiàn)代制造業(yè)中,許多機(jī)械零件具有多圓弧特征,如銑刀、齒輪、法蘭、球籠聯(lián)軸器內(nèi)套等。這些零件上的圓弧特性加工精度直接影響著零件的功能能否實(shí)現(xiàn),且對后續(xù)裝配產(chǎn)品的性能亦有著重要影響。因此,對該類機(jī)械零件的尺寸測量是機(jī)械產(chǎn)品零部件檢測中一項(xiàng)非常重要的內(nèi)容[1]。目前,在實(shí)際生產(chǎn)中,對這類零件的測量主要使用千分尺、卡規(guī)、專用量塊等傳統(tǒng)接觸式測量方法,大多存在測量精度不穩(wěn)定、容易損傷零件和效率低等缺點(diǎn)。
而基于機(jī)器視覺的尺寸測量技術(shù)是在計(jì)算機(jī)視覺研究基礎(chǔ)上發(fā)展起來的一種非接觸式測量技術(shù),具有測量精度高、速度快、成本低等優(yōu)點(diǎn)。近些年來,隨著計(jì)算機(jī)硬件和圖像處理技術(shù)的飛速發(fā)展,視覺測量在實(shí)際生產(chǎn)中已得到了廣泛的應(yīng)用[2-3]。
本文以具有多圓弧對稱特性的球籠聯(lián)軸器內(nèi)套作為主要研究對象,基于機(jī)器視覺的測量原理,利用CCD像機(jī)、雙遠(yuǎn)心鏡頭、可調(diào)LED光源、計(jì)算機(jī)等構(gòu)建一套圖像采集系統(tǒng),并主要使用Halcon軟件開發(fā)設(shè)計(jì)高效的一鍵式測量軟件,最終可實(shí)現(xiàn)對球籠聯(lián)軸器內(nèi)套快速、穩(wěn)定和較高精度的尺寸測量。同時(shí),本文所設(shè)計(jì)的測量方法對其他具有多圓弧特性的零件檢測亦具有重要借鑒意義。
球籠聯(lián)軸器內(nèi)套是球籠式萬向聯(lián)軸器的重要部件,其外形結(jié)構(gòu)復(fù)雜(如圖1所示),表面具有多段圓弧對稱特性,且加工精度要求高,檢測項(xiàng)目多(如表1所示)。視覺測量系統(tǒng)的硬件設(shè)計(jì)要求是當(dāng)零件在測量區(qū)域內(nèi)任意擺放時(shí),系統(tǒng)都能快速、準(zhǔn)確地完成表1中所有規(guī)定項(xiàng)目的測量。
表1 測量項(xiàng)目與標(biāo)準(zhǔn)要求Tab.1 Measure items and standard requirements
圖1 球籠聯(lián)軸器內(nèi)套Fig.1 The inner sleeve of a ball-cage coupling
基于機(jī)器視覺的尺寸測量基本流程為:首先通過相機(jī)采集到被測零件的圖像,然后對捕捉到的圖像進(jìn)行預(yù)處理,提取亞像素邊緣輪廓,并通過精確的圓形檢測算法對待測圓弧進(jìn)行正確的擬合,同時(shí)根據(jù)用戶需求或其他預(yù)設(shè)條件,計(jì)算出最終檢測結(jié)果[1]。
本文為球籠聯(lián)軸器內(nèi)套搭建的視覺測量系統(tǒng)硬件組成如圖2所示,主要包括計(jì)算機(jī)、CCD像機(jī)、雙遠(yuǎn)心鏡頭、環(huán)形光源、背光源、載物臺等。
圖2 視覺測量系統(tǒng)硬件組成Fig.2 Hardware composition of vision measurement system
圖2中顯示的視覺測量系統(tǒng)的每一組成單元,都要根據(jù)零件的具體特性及實(shí)際測量需求,進(jìn)行合理選取,確保從源頭提高測量精度[4]。針對球籠聯(lián)軸器內(nèi)套,本文所設(shè)計(jì)測量系統(tǒng)采用一體式測量臺架,該臺架集成了鏡頭、相機(jī)、光源及載物玻璃面板,且載物玻璃面板水平可調(diào),以保證測量零件相對于鏡頭盡可能的水平放置。
同時(shí),為了糾正傳統(tǒng)鏡頭的視差,獲得更好的成像效果和成像精度,本測量系統(tǒng)采用國產(chǎn)燦銳XF-5MDT0.06X40型雙遠(yuǎn)心鏡頭。它與普通鏡頭相比有著較多優(yōu)勢:具有更大的光通量;遠(yuǎn)心度小,無透視誤差;分辨率高,光學(xué)畸變率小于0.04 %;在一定的物距范圍內(nèi),圖像的放大倍率不會隨物距的變化而變化[5]。
此外,光源的合理設(shè)計(jì)也是視覺測量系統(tǒng)中的一大關(guān)鍵。好的光源設(shè)計(jì)可以使目標(biāo)信息與背景信息得到最佳分離,大大降低后續(xù)圖像處理算法分割、識別的難度,同時(shí)還能提高系統(tǒng)的定位、測量精度,使測量系統(tǒng)的可靠性和綜合性能得到提升[6]。本文經(jīng)過多次測試,最終采用雙遠(yuǎn)心鏡頭下方安裝的環(huán)形光源及載物臺上安裝的平行背光源相配合的照明設(shè)計(jì),可得到銳利的圖像邊緣,提高系統(tǒng)的穩(wěn)定性和精度。
為保證測量系統(tǒng)能夠高效、準(zhǔn)確地工作,在搭建出優(yōu)良硬件系統(tǒng)的基礎(chǔ)上,還需設(shè)計(jì)相應(yīng)的軟件系統(tǒng)。本文借助Halcon圖像算法庫,開發(fā)了一套一鍵式測量軟件,其用戶操作界面如圖3所示。
圖3 測量系統(tǒng)軟件用戶操作界面Fig.3 User interface of measuring system software
結(jié)合硬件系統(tǒng),本文設(shè)計(jì)軟件系統(tǒng)的基本思路為:1)首先對測量系統(tǒng)進(jìn)行標(biāo)定。由于采用圖像處理算法得到的工件尺寸參數(shù)是以像素為單位的,為了求得實(shí)際尺寸,需要使用相機(jī)標(biāo)定的方法進(jìn)行尺寸轉(zhuǎn)換。目前相機(jī)的標(biāo)定方法和標(biāo)定模型已經(jīng)很成熟,本文選用相機(jī)的線性模型,采用張正友標(biāo)定法[7]對相機(jī)進(jìn)行標(biāo)定,標(biāo)定結(jié)果為calib=0.0058 mm/pix。標(biāo)定完成后,后續(xù)測量過程不再另行標(biāo)定。2)采集待測零件圖像,對圖像進(jìn)行預(yù)處理,再對圖像進(jìn)行亞像素邊緣輪廓提取和擬合,最后通過特定算法求得零件所需測量的參數(shù)。
綜上,本文所設(shè)計(jì)視覺測量系統(tǒng)的硬件及軟件結(jié)構(gòu)框圖如圖4所示。
圖4 視覺測量系統(tǒng)軟硬件結(jié)構(gòu)框圖Fig.4 Hardware and software structure diagramof vision measurement system
圖像的邊緣實(shí)質(zhì)上是圖像像素點(diǎn)的灰度值發(fā)生顯著變化的地方,這些點(diǎn)給出了圖像輪廓的位置[8]。經(jīng)典的邊緣檢測算法提取的圖像輪廓通常為像素級,而對于某些測量精度要求較高的零件,像素級精度不能滿足測量需求。理論上可以通過提升硬件分辨率水平來提高系統(tǒng)的測量精度,但是這會導(dǎo)致硬件成本成倍的增加。因此越來越多的研究者們考慮采用亞像素細(xì)分技術(shù)來提高測量系統(tǒng)的測量精度[9]。亞像素是將像素這個(gè)圖像基本單位再進(jìn)一步細(xì)分,是比像素還小的單位。一般情況下,利用多項(xiàng)式擬合邊緣點(diǎn)的亞像素位置能夠更精確地描述零件的輪廓,從而提高測量系統(tǒng)的檢測精度。
為實(shí)現(xiàn)外球籠零件的亞像素輪廓提取,本文直接利用了Halcon軟件中的edges_sub_pix(BinImage,Edges,′canny′,3,20,40)算子。該算子可廣泛應(yīng)用于工業(yè)檢測領(lǐng)域的亞像素輪廓提取,其原理是首先使用經(jīng)典的Canny[10]邊緣檢測算法提取像素級邊緣,然后利用像素級邊緣通過定位精度高的二次曲線擬合得到亞像素級邊緣。Canny邊緣檢測算法是John F.Canny于1986年開發(fā)的一種經(jīng)典的邊緣檢測算法,關(guān)于其論述已相當(dāng)多,故本文重點(diǎn)討論通過二次曲線擬合亞像素邊緣的過程。
根據(jù)中心極限定理,邊緣的灰度值變化大體服從高斯分布[11]。由于二次曲線是高斯曲線的高次逼近,考慮到計(jì)算的效率,故可使用二次曲線來代替高斯曲線。二次曲線頂點(diǎn)坐標(biāo)值對應(yīng)于目標(biāo)圖像亞像素精度的邊緣位置,像素邊緣與亞像素邊緣對應(yīng)位置如圖5所示。
圖5 像素邊緣與亞像素邊緣對應(yīng)位置Fig.5 The pixel edge corresponds to the sub-pixel edge
由方形孔徑的采樣定理可知,像素的輸出值是像素感光面上各部分光強(qiáng)綜合作用的結(jié)果,且任意一個(gè)圖像像素的灰度值可以表示為:
(1)
其中,f(i,j)為像素輸出值;g(x,y)為連續(xù)圖像的光強(qiáng)分布。
設(shè)二次曲線方程為:
y=ax2+bx+c
(2)
則由式(1)可知,每個(gè)像素的灰度值為:
(3)
首先找到像素級邊緣幅度的局部最大值,令其序號為0,此點(diǎn)的灰度值用f0表示。與之相鄰的兩個(gè)差分點(diǎn)的序號分別表示為-1和1,且相應(yīng)的灰度值分別用f-1和f1表示。則可求得:
(4)
同理可依次求得:
(5)
(6)
結(jié)合式(4)、(5)、(6),可求出a、b、c的表達(dá)式分別為:
(7)
(8)
(9)
(10)
通過亞像素邊緣檢測算法提取到內(nèi)待測零件的亞像素邊緣后,首先利用segment_contours_xld()算子對輪廓進(jìn)行分割,再用算子count_obj()將分割區(qū)域劃分成單獨(dú)的連通域,然后選用適當(dāng)?shù)姆椒▽B通域進(jìn)行輪廓擬合。由于球籠聯(lián)軸器內(nèi)套為多圓弧對稱零件,故選用fit_circle_contour_xld()算子所帶的最小二乘算法對圓弧的亞像素特征信息進(jìn)行擬合。
用最小二乘法對待測圓形邊界輪廓進(jìn)行逼近是視覺測量中進(jìn)行圓形圖像檢測的一種常用方法。其通過最小化誤差的平方和找到一組亞像素輪廓點(diǎn)的最佳函數(shù)匹配,可實(shí)現(xiàn)亞像素級別的輪廓精確擬合定位。即便是圖像中圓形目標(biāo)受光照強(qiáng)度不均等因素影響出現(xiàn)了邊緣缺失的情況,也不會影響圓心的定位和半徑的檢測。利用最小二乘法擬合圓的算法原理大致如下:
(1)首先假定參數(shù)(x0,y0),r分別表示待擬合圓的圓心坐標(biāo)及半徑,則擬合圓的曲線可表示為:
f(x,y)=(x-x0)2+(y-y0)2-r2=0
(11)
(2)若經(jīng)邊緣提取到的輪廓數(shù)據(jù)點(diǎn)集坐標(biāo)記為(xi,yi),(i=1,2,…,n),則樣本點(diǎn)(xi,yi)到圓心的距離(如圖6所示)為:
圖6 點(diǎn)到圓心的距離Fig.6 Distance between point and the center of circle
(12)
(3)對于圖像所有的圓形邊緣點(diǎn),優(yōu)化殘差可表示為:
(13)
根據(jù)最小二乘原理,當(dāng)Q最小時(shí),求得的參數(shù)(x0,y0),r即為最佳擬合圓的參數(shù),其擬合過程如圖7所示。
圖7 最小二乘法擬合圓Fig.7 Fits the circle by the least square method
通過最小二乘法擬合圓,可以直接得到6個(gè)半徑為R15.16 mm的外溝道圓心及相對應(yīng)的圓弧數(shù)據(jù)點(diǎn)集。此外,6個(gè)外溝道圓的內(nèi)切圓直徑,即Ф 73.8外溝道,也是檢測項(xiàng)目之一。而Halcon圖像算法庫中并沒有直接求取多段對稱圓弧內(nèi)切圓的算子,于是本文基于Halcon設(shè)計(jì)了求取多段對稱圓弧內(nèi)切圓的自定義算子fit_cc_min_fin(),其基本原理如下:
(1)設(shè)零件共有2N個(gè)對稱圓弧,首先提取兩個(gè)對稱的圓弧輪廓數(shù)據(jù)點(diǎn)集,分別記為:(xk,yk),(k=1,2,…,n),(xm,ym),(m=1,2,…,n)。循環(huán)遍歷兩個(gè)點(diǎn)集,求出每對點(diǎn)的像素距離:
(14)
(2)對求取的像素距離進(jìn)行排序并取出最小距離Lmin及兩個(gè)相應(yīng)的坐標(biāo)點(diǎn)。
(3)對其他(N-1)對圓弧的輪廓數(shù)據(jù)點(diǎn)集做同樣的操作,則各對圓弧之間距離的最小值之和的平均數(shù)即為內(nèi)切圓的半徑。同時(shí),可用最小二乘法通過2N個(gè)使L最小的像素點(diǎn)擬合內(nèi)切圓。內(nèi)切圓半徑計(jì)算公式為:
(15)
圖8顯示了球籠聯(lián)軸器內(nèi)套輪廓圖像經(jīng)最小二乘法擬合和多弧線對擬合內(nèi)切圓后的結(jié)果。
圖8 擬合后的輪廓圖像Fig.8 The contour image after fitting
本文從兩個(gè)方面對測量系統(tǒng)的性能進(jìn)行評估:針對標(biāo)準(zhǔn)件的穩(wěn)定性測量精度評估以及針對球籠聯(lián)軸器尺寸的重復(fù)測量精度評估。
穩(wěn)定性評估實(shí)驗(yàn)是驗(yàn)證測量系統(tǒng)保持計(jì)量特性隨時(shí)間恒定的能力,是保證精確測量的基礎(chǔ)。本文首先選取經(jīng)資深檢驗(yàn)員多次檢驗(yàn)合格的球籠聯(lián)軸器內(nèi)套一件作為標(biāo)準(zhǔn)樣件,每隔2 h進(jìn)行一次測量,共測量6次,測量時(shí)保證所有因素(待測零件位置、光源強(qiáng)度、周圍環(huán)境、測量系統(tǒng)位置等)均不發(fā)生變化,為了便于比較,對6個(gè)R15.6曲率半徑及外溝道六等分角度值不做記錄,測量結(jié)果見表2。
由表2測量數(shù)據(jù)可知,測量結(jié)果的標(biāo)準(zhǔn)偏差很小,由此可以看出系統(tǒng)測量穩(wěn)定可靠。測量系統(tǒng)的最大誤差為0.0037 mm,達(dá)到了亞像素級精度。
表2 穩(wěn)定性評估測量結(jié)果Tab.2 Measurement results of stability assessment
同時(shí),為了評定系統(tǒng)的重復(fù)測量精度,選用另一合格樣件,每次測量時(shí)任意改變球籠聯(lián)軸器內(nèi)套的擺放位置、角度,共測量6次,測量結(jié)果見表3。
表3 重復(fù)精度測量結(jié)果Tab.3 Measurement results of repeated accuracy
由表3可知,當(dāng)零件任意擺放時(shí),重復(fù)測量的標(biāo)準(zhǔn)偏差大于穩(wěn)定測量,但仍然很小,表明系統(tǒng)穩(wěn)定、可靠。該測量系統(tǒng)測得,Ф 73.8外溝道直徑最大值為73.7398 mm,最小值為73.7312 mm,測量誤差為0.0086 mm。其他測量項(xiàng)目的重復(fù)測量誤差均小于0.009 mm,故系統(tǒng)測量精度可達(dá)0.01 mm,滿足測量精度要求。此外,通過現(xiàn)場實(shí)驗(yàn)發(fā)現(xiàn)該系統(tǒng)測量效率遠(yuǎn)高于人工測量。
(1)本文提出了一種基于機(jī)器視覺的多圓弧對稱零件尺寸測量方法,設(shè)計(jì)了一套一鍵式零件測量系統(tǒng),改變了傳統(tǒng)的球籠聯(lián)軸器內(nèi)套測量方式。該系統(tǒng)滿足零件測量過程中對快速性、穩(wěn)定性及精確性的測量要求。
(2)本文分析了工業(yè)檢測上常用的Halcon邊緣檢測算子亞像素邊緣輪廓擬合原理,并對最小二乘法圓擬合算法進(jìn)行了闡述。
(3)本文提出了多圓弧擬合內(nèi)切圓的算法,并以此為基礎(chǔ)利用Halcon軟件設(shè)計(jì)了擬合內(nèi)切圓的自定義測量算子,該算子通用性良好,可以用于多種具有多圓弧對稱零件的視覺測量。