江 芳,張其亮,邵 倩,王雯雯
(江蘇科技大學(xué) 電氣與信息工程學(xué)院,江蘇 張家港 215600)
在銑削加工過程中,銑刀破損情況對機(jī)械加工的精度、效率及經(jīng)濟(jì)效益有著顯著影響[1]。銑刀的破損若未能及時(shí)發(fā)現(xiàn),可能會(huì)引起工件的報(bào)廢、機(jī)床的損壞甚至?xí)?dǎo)致整個(gè)流水線的停止運(yùn)作,造成難以估計(jì)的經(jīng)濟(jì)損失。為了降低銑刀破損對機(jī)械加工造成的不利影響,通常根據(jù)人工經(jīng)驗(yàn)對銑刀進(jìn)行破損檢測并定期更換。人工檢測方式的檢測效率低下,且很容易對表面破損不明顯的銑刀造成漏檢,不能夠保證檢測的效率與精度。機(jī)器視覺具有可重復(fù)性、長期性和自動(dòng)化程度高等優(yōu)勢,因此可利用機(jī)器視覺技術(shù)實(shí)現(xiàn)銑刀破損的智能化自動(dòng)化檢測。
銑刀狀態(tài)檢測在20世紀(jì)被首先提出,發(fā)展至今,針對于傳統(tǒng)加工形式已有大量研究[2-5]。隨著中國工業(yè)智能化進(jìn)程的不斷加快,如何利用機(jī)器視覺提高銑刀生產(chǎn)的效率,降低生產(chǎn)成本已經(jīng)成為一個(gè)熱點(diǎn)的研究話題。Zhang等[6]通過CCD攝像機(jī)在線獲取球頭銑刀的刀具磨損圖像,并基于檢測到的磨損邊緣點(diǎn)來計(jì)算刀具磨損;Cstejon等[7]提出了一種基于計(jì)算機(jī)視覺和統(tǒng)計(jì)學(xué)習(xí)系統(tǒng)的新方法來估計(jì)切削刀片的磨損程度,以確定更換刀片的時(shí)間;徐曉亮等[8]分析和評估了各特征指標(biāo)對銑刀磨破損分類的敏感程度,篩選出適用于銑刀磨破損建模的特征向量;劉宇等[9]針對微銑削過程中的刀刃破損現(xiàn)象,提出了基于振動(dòng)信號奇異性分析的自學(xué)習(xí)式SVM的刀具破損檢測方法。
通過分析和總結(jié)前人的研究思路,該文提出了基于機(jī)器視覺的刀具破損自動(dòng)化檢測系統(tǒng)。針對人工檢測銑刀破損過程中檢測效率低下、成本高、不穩(wěn)定等缺點(diǎn),并結(jié)合實(shí)際的企業(yè)生產(chǎn)需求,提出了基于機(jī)器視覺的銑刀破損自動(dòng)化檢測技術(shù),實(shí)現(xiàn)了對銑刀是否存在破損的自動(dòng)化檢測。為了檢測系統(tǒng)的性能,開展了相關(guān)實(shí)驗(yàn),結(jié)果表明該系統(tǒng)能夠?qū)崿F(xiàn)銑刀刃面的快速檢測,且檢測質(zhì)量較高,滿足了實(shí)際應(yīng)用需求。
銑刀破損自動(dòng)化檢測系統(tǒng)由銑刀圖像采集模塊、銑刀圖像處理模塊、結(jié)果顯示模塊三部分組成。圖像采集模塊包括工業(yè)CCD相機(jī)——Basler相機(jī)、鏡頭、特殊平行光源和圖像采集卡。檢測系統(tǒng)的組成如圖1所示。
圖1 系統(tǒng)組成
為滿足檢測精度的要求,采集到高質(zhì)量的圖像,選擇的工業(yè)CCD相機(jī)為1 628×1 236分辨率的Balser相機(jī)。光學(xué)鏡頭為CCD相機(jī)上自帶的8 mm聚焦鏡頭,有適合的放大倍數(shù)和物距。恰當(dāng)?shù)墓庠茨軌蛘樟聊繕?biāo),有效地將目標(biāo)信息與干擾背景區(qū)分開來,減少光對圖像的不利影響,獲得對比度高且清晰的銑刀圖像。由于銑刀有反光特性,所以在表面光中會(huì)出現(xiàn)光照和陰影不均的缺陷,最終選取了同軸平行光源上部打光的方式。
銑刀破損自動(dòng)化檢測系統(tǒng)的流程如圖2所示。首先由工業(yè)CCD相機(jī)采集銑刀的圖像,采集好的銑刀圖片送至PC機(jī)。接著通過對銑刀圖像進(jìn)行濾波去噪、分段線性變換、閾值分割及其他形態(tài)學(xué)方法處理后,根據(jù)銑刀的形狀特征對圖像進(jìn)行特征角點(diǎn)定位、邊緣檢測及破損判斷,完成對銑刀是否存在破損的自動(dòng)化檢測。最后在操作界面上顯示檢測的結(jié)果。
圖2 系統(tǒng)流程
銑刀圖像在生成、傳輸和記錄的過程中,通常受到各種噪聲干擾,從而嚴(yán)重影響了銑刀的成像質(zhì)量。為了降低圖像上的噪聲,突出銑刀區(qū)域,有必要對采集到的圖像進(jìn)行預(yù)處理,以此減少后期圖像處理的工作量,有效提高系統(tǒng)檢測銑刀破損的效率。圖像預(yù)處理包括圖像濾波去噪、分段線性變換和閾值分割。
圖像預(yù)處理過程中首先利用雙邊濾波來對采集的銑刀圖像去噪。在雙邊濾波器[10]中,輸出像素的值依賴于鄰域像素值的加權(quán)組合g(i,j)。
(1)
加權(quán)系數(shù)w(i,j,k,l)取決于空域核和值域核的乘積。(i,j),(k,l)分別指兩個(gè)像素點(diǎn)的坐標(biāo)。其中空域核如式(2),值域核如式(3)。
(2)
(3)
兩者相乘后,就會(huì)產(chǎn)生依賴于數(shù)據(jù)的雙邊濾波權(quán)重函數(shù),如式(4)。
w(i,j,k,l)=d(i,j,k,l)r(i,j,k,l)
(4)
對原圖像進(jìn)行濾波去噪之后,能提高圖片的質(zhì)量,有利于后續(xù)銑刀圖像處理和分析。
為了更加準(zhǔn)確地提取刀片的邊緣,采用分段線性變換[11]方法對銑刀圖像灰度進(jìn)行拉伸。分段線性變換可以增強(qiáng)原圖像各部分的反差,抑制了那些不感興趣的灰度區(qū)域,進(jìn)而增大銑刀磨損區(qū)域與圖像其余部分的對比。
分段線性函數(shù)的函數(shù)形式如式(5)所示。對灰度區(qū)間[x1,x2]進(jìn)行了線性拉伸,而灰度區(qū)間[0,x1]、[x2,255]受到了壓縮。x為圖像輸入的灰度值,f(x)為圖像輸出的灰度值。通過分段線性變化能夠提高圖像對比度,突顯銑刀圖像細(xì)節(jié)。
(5)
經(jīng)過實(shí)驗(yàn),將x1設(shè)為100,y1設(shè)為30,x2設(shè)為160,y2設(shè)為230,處理的效果最佳,對應(yīng)的分段線性函數(shù)如圖3所示。
圖3 分段線性函數(shù)
通過分段線性處理之后的銑刀圖像能夠很好地突出刀片的圖像信息,在邊緣提取過程中得到更好的效果。
在實(shí)際的銑刀生產(chǎn)現(xiàn)場有多種干擾因素,會(huì)對圖像的信息采集造成一些偏差和干擾。除此以外,也可能出現(xiàn)光源打光不均勻的情況,因此在灰度圖像轉(zhuǎn)為位置圖像的過程中,采用固定的閾值無法滿足實(shí)際需求。閾值分割[12]關(guān)鍵在于閾值的確定。銑刀圖像由背景和目標(biāo)兩大部分組成,這兩部分灰度值差異明顯,因此可以采用最大類間方差算法進(jìn)行閾值分割。
OTSU最大類間方差算法[13]是一種自適應(yīng)的閾值確定方法,使用的是聚類的思想,把圖像的灰度數(shù)按灰度級分成兩個(gè)部分,使得兩個(gè)部分之間的灰度值差異最大,每個(gè)部分之間的灰度差異最小,通過方差的計(jì)算來尋找一個(gè)合適的灰度級別[14]來劃分。
假設(shè)圖像總像素點(diǎn)為N,灰度值為i的像素?cái)?shù)目為ni,各灰度值的概率為pi=ni/N。分割閾值記作T,圖像中像素的灰度值小于閾值T的個(gè)數(shù)記作N0,像素灰度大于閾值T的個(gè)數(shù)記作N1,則有閾值為T時(shí)的灰度平均值μ(T):
(6)
前景的像素點(diǎn)數(shù)占整幅圖像的比例ω0為:
(7)
前景的平均灰度μ0為:
(8)
背景像素點(diǎn)數(shù)占整幅圖像的比例ω1為:
(9)
背景的平均灰度μ1為:
圖像的總平均灰度記為μ:
μ=ω0μ0+ω1μ1
(11)
類間方差記為θ:
μ=ω0(μ0-μ)2+ω1(μ1-μ)2=
ω0ω1(μ0-μ1)2
(12)
使得類間方差θ取最大值的閾值T,即為二值化銑刀圖像所選定的最佳閾值。
針對銑刀的表面特征,首先對預(yù)處理后的圖像進(jìn)行特征角點(diǎn)定位,確定銑刀的8個(gè)刀片共24個(gè)頂點(diǎn)。接著進(jìn)行基于特征點(diǎn)的邊緣檢測,得到每個(gè)刀片的實(shí)際邊緣。連接每個(gè)刀片的三個(gè)頂點(diǎn),得到理論邊緣。最后可根據(jù)理論邊緣與實(shí)際邊緣,計(jì)算每個(gè)刀片的缺損面積,進(jìn)而得出銑刀是否破損以及具體的破損位置。
精準(zhǔn)定位到圖像中每個(gè)刀片的頂點(diǎn),對實(shí)現(xiàn)銑刀破損檢測具有重要意義。根據(jù)銑刀的形狀特征、表面特征設(shè)計(jì)特征角點(diǎn)定位的檢測方法。
特殊角點(diǎn)定位[15]的基本思路是從上至下、從左至右遍歷預(yù)處理后的銑刀圖像,圖像上的每一個(gè)像素點(diǎn)記為(xi,yi)。經(jīng)過預(yù)處理后的目標(biāo)銑刀圖像為黑色像素點(diǎn),背景為白色像素點(diǎn)。通過(xi,yj)所在行的黑色像素點(diǎn)的統(tǒng)計(jì)特征確定各個(gè)頂點(diǎn)所在的位置。
利用二值化后的銑刀圖像,不難得出最上方的刀片頂點(diǎn)坐標(biāo),記為(x0,0,y0,0)。統(tǒng)計(jì)第i行刀片的像素點(diǎn)總數(shù)sum(i),易知,當(dāng)num=max(sum(i))時(shí),第i行對應(yīng)著刀片的第二個(gè)頂點(diǎn),記為(x0,1,y0,1)。當(dāng)sum(i) 為0時(shí),第i行對應(yīng)著銑刀的第三個(gè)頂點(diǎn),記為(x0,2,y0,2)。同理計(jì)算出其余七個(gè)刀片的三個(gè)頂點(diǎn)。經(jīng)過角點(diǎn)檢測之后的銑刀圖像如圖4所示。
圖4 銑刀的角點(diǎn)檢測
通過對圖像進(jìn)行特征角點(diǎn)檢測,得出銑刀8個(gè)刀片共24個(gè)頂點(diǎn)。在特征點(diǎn)位置的基礎(chǔ)之上,進(jìn)行銑刀邊緣檢測。邊緣檢測包括擬合刀片理論邊界和檢測刀片實(shí)際邊界。
銑刀頂點(diǎn)的集合M為:
M={(xn,iyn,i)|n=0,1,…,7,i=0,1,2}
連接每個(gè)刀片的頂點(diǎn),可擬合出理論的刀片邊界。已知圖像上兩個(gè)像素點(diǎn)(x1,y1)和(x2,y2),經(jīng)過這兩點(diǎn)的連線上的點(diǎn)為(x0,y0),則滿足x0=(y0-b)/b,其中:
(13)
b=y2-kx2
(14)
基于刀片特征角點(diǎn)遍歷銑刀圖像,當(dāng)像素值發(fā)生突變的位置即為刀片的實(shí)際邊緣所在位置。
銑刀圖像破損判斷有兩個(gè)標(biāo)準(zhǔn)。合格的銑刀每一片刀片的規(guī)格是相同的,在相機(jī)拍攝角度、放大倍率固定的情況下,每個(gè)刀片像素點(diǎn)之和相差很小。對銑刀每個(gè)刀片像素點(diǎn)進(jìn)行遍歷,并記錄每個(gè)刀片的像素點(diǎn)總和Si,i∈[0,7],如圖5(a)所示,θ為合格刀片的像素點(diǎn)總和,λ為設(shè)定的閾值。當(dāng)?shù)镀袼攸c(diǎn)總和與合格情況下完整刀片像素點(diǎn)總和差值Fi=|Si-θ|≥λ時(shí),則判斷該刀片為破損。
判斷破損的第二個(gè)標(biāo)準(zhǔn)是實(shí)際邊界與理論邊界的像素之差為ξ。當(dāng)ξ大于指定的破損標(biāo)準(zhǔn)λ時(shí),則判斷刀片為破損刀片。
破損檢測的結(jié)果需要在界面進(jìn)行顯示。當(dāng)銑刀存在破損時(shí),在界面的圖像框中顯示圖像并以方框標(biāo)記破損位置,如圖5(b)所示。
(a)面積統(tǒng)計(jì)效果 (b)檢測結(jié)果
實(shí)驗(yàn)中使用的工業(yè)CCD相機(jī)為??低曄鄼C(jī),光源使用同軸的環(huán)形平行光源。對60個(gè)銑刀(每個(gè)銑刀有8個(gè)刀片)樣品分四組進(jìn)行破損檢測,每組共有待檢測刀片120片,共計(jì)480片。系統(tǒng)檢測銑刀破損的準(zhǔn)確率ACC為正確檢測的刀片數(shù)占總刀片數(shù)的比值,如式(15)。漏檢率FNR為被檢測為破損的合格刀片占總合格刀片數(shù)的比值。如式(16)。
(15)
(16)
其中,TP表示實(shí)際完整且檢測為完整的刀片個(gè)數(shù);FN表示實(shí)際完整但檢測為破損的刀片個(gè)數(shù);FP表示實(shí)際破損但檢測為完整的刀片個(gè)數(shù);TN表示實(shí)際破損且檢測為破損的刀片個(gè)數(shù)。實(shí)驗(yàn)結(jié)果如表1所示。
表1 實(shí)驗(yàn)結(jié)果
從實(shí)驗(yàn)結(jié)果可以看到,每一組的檢測準(zhǔn)確率η≥94.17%,總體檢測準(zhǔn)確率β≥95.12%。根據(jù)式(16),計(jì)算得系統(tǒng)的漏檢率為1.71%。另一方面,利用機(jī)器視覺進(jìn)行銑刀破損的檢測,平均檢測速度≤0.2 s優(yōu)于人工檢測(0.9 s)。因此,該系統(tǒng)滿足企業(yè)生產(chǎn)過程中的銑刀破損自動(dòng)化檢測的實(shí)際需求。
針對目前銑刀破損人工檢測存在的不足,提出了基于機(jī)器視覺[16]的圖像處理方法,實(shí)現(xiàn)了銑刀破損的自動(dòng)化檢測?;跈C(jī)器視覺的銑刀破損自動(dòng)化檢測系統(tǒng)利用工業(yè)CCD相機(jī)從不同角度自動(dòng)采集銑刀的多幅圖片,通過對圖片進(jìn)行灰度化、二值化及其他形態(tài)學(xué)方法處理后,根據(jù)銑刀的形狀特征、表面特征甚至細(xì)化到每一片刀片的邊緣、頂點(diǎn)、邊長等對銑刀進(jìn)行分析處理,完成對銑刀在刀刃等處是否存在破損的自動(dòng)化檢測。
在實(shí)驗(yàn)中采用四組銑刀圖像進(jìn)行分析,有60幅圖像,共計(jì)480片刀片,檢測準(zhǔn)確率到達(dá)95.12%。相對于傳統(tǒng)的人工檢測方法,利用機(jī)器視覺進(jìn)行銑刀質(zhì)量的檢測,具有自動(dòng)化程度高、測量精度高等優(yōu)勢。針對目前的研究現(xiàn)狀和工作進(jìn)展,為滿足銑刀實(shí)際生產(chǎn)過程中高精度、實(shí)時(shí)性等要求,系統(tǒng)的破損檢測方法還需進(jìn)一步優(yōu)化。
總體來說,基于機(jī)器視覺的銑刀破損自動(dòng)化檢測系統(tǒng),具有十分廣闊的應(yīng)用前景。隨著工業(yè)智能化的不斷推進(jìn),機(jī)器視覺一定會(huì)被廣泛地應(yīng)用到刀具質(zhì)量檢測中。