江 芳,張其亮,邵 倩,王雯雯
(江蘇科技大學 電氣與信息工程學院,江蘇 張家港 215600)
在銑削加工過程中,銑刀破損情況對機械加工的精度、效率及經濟效益有著顯著影響[1]。銑刀的破損若未能及時發現,可能會引起工件的報廢、機床的損壞甚至會導致整個流水線的停止運作,造成難以估計的經濟損失。為了降低銑刀破損對機械加工造成的不利影響,通常根據人工經驗對銑刀進行破損檢測并定期更換。人工檢測方式的檢測效率低下,且很容易對表面破損不明顯的銑刀造成漏檢,不能夠保證檢測的效率與精度。機器視覺具有可重復性、長期性和自動化程度高等優勢,因此可利用機器視覺技術實現銑刀破損的智能化自動化檢測。
銑刀狀態檢測在20世紀被首先提出,發展至今,針對于傳統加工形式已有大量研究[2-5]。隨著中國工業智能化進程的不斷加快,如何利用機器視覺提高銑刀生產的效率,降低生產成本已經成為一個熱點的研究話題。Zhang等[6]通過CCD攝像機在線獲取球頭銑刀的刀具磨損圖像,并基于檢測到的磨損邊緣點來計算刀具磨損;Cstejon等[7]提出了一種基于計算機視覺和統計學習系統的新方法來估計切削刀片的磨損程度,以確定更換刀片的時間;徐曉亮等[8]分析和評估了各特征指標對銑刀磨破損分類的敏感程度,篩選出適用于銑刀磨破損建模的特征向量;劉宇等[9]針對微銑削過程中的刀刃破損現象,提出了基于振動信號奇異性分析的自學習式SVM的刀具破損檢測方法。
通過分析和總結前人的研究思路,該文提出了基于機器視覺的刀具破損自動化檢測系統。針對人工檢測銑刀破損過程中檢測效率低下、成本高、不穩定等缺點,并結合實際的企業生產需求,提出了基于機器視覺的銑刀破損自動化檢測技術,實現了對銑刀是否存在破損的自動化檢測。為了檢測系統的性能,開展了相關實驗,結果表明該系統能夠實現銑刀刃面的快速檢測,且檢測質量較高,滿足了實際應用需求。
銑刀破損自動化檢測系統由銑刀圖像采集模塊、銑刀圖像處理模塊、結果顯示模塊三部分組成。圖像采集模塊包括工業CCD相機——Basler相機、鏡頭、特殊平行光源和圖像采集卡。檢測系統的組成如圖1所示。

圖1 系統組成
為滿足檢測精度的要求,采集到高質量的圖像,選擇的工業CCD相機為1 628×1 236分辨率的Balser相機。光學鏡頭為CCD相機上自帶的8 mm聚焦鏡頭,有適合的放大倍數和物距。恰當的光源能夠照亮目標,有效地將目標信息與干擾背景區分開來,減少光對圖像的不利影響,獲得對比度高且清晰的銑刀圖像。由于銑刀有反光特性,所以在表面光中會出現光照和陰影不均的缺陷,最終選取了同軸平行光源上部打光的方式。
銑刀破損自動化檢測系統的流程如圖2所示。首先由工業CCD相機采集銑刀的圖像,采集好的銑刀圖片送至PC機。接著通過對銑刀圖像進行濾波去噪、分段線性變換、閾值分割及其他形態學方法處理后,根據銑刀的形狀特征對圖像進行特征角點定位、邊緣檢測及破損判斷,完成對銑刀是否存在破損的自動化檢測。最后在操作界面上顯示檢測的結果。

圖2 系統流程
銑刀圖像在生成、傳輸和記錄的過程中,通常受到各種噪聲干擾,從而嚴重影響了銑刀的成像質量。為了降低圖像上的噪聲,突出銑刀區域,有必要對采集到的圖像進行預處理,以此減少后期圖像處理的工作量,有效提高系統檢測銑刀破損的效率。圖像預處理包括圖像濾波去噪、分段線性變換和閾值分割。
圖像預處理過程中首先利用雙邊濾波來對采集的銑刀圖像去噪。在雙邊濾波器[10]中,輸出像素的值依賴于鄰域像素值的加權組合g(i,j)。
(1)
加權系數w(i,j,k,l)取決于空域核和值域核的乘積。(i,j),(k,l)分別指兩個像素點的坐標。其中空域核如式(2),值域核如式(3)。

(2)
(3)
兩者相乘后,就會產生依賴于數據的雙邊濾波權重函數,如式(4)。
w(i,j,k,l)=d(i,j,k,l)r(i,j,k,l)
(4)
對原圖像進行濾波去噪之后,能提高圖片的質量,有利于后續銑刀圖像處理和分析。
為了更加準確地提取刀片的邊緣,采用分段線性變換[11]方法對銑刀圖像灰度進行拉伸。分段線性變換可以增強原圖像各部分的反差,抑制了那些不感興趣的灰度區域,進而增大銑刀磨損區域與圖像其余部分的對比。
分段線性函數的函數形式如式(5)所示。對灰度區間[x1,x2]進行了線性拉伸,而灰度區間[0,x1]、[x2,255]受到了壓縮。x為圖像輸入的灰度值,f(x)為圖像輸出的灰度值。通過分段線性變化能夠提高圖像對比度,突顯銑刀圖像細節。
(5)
經過實驗,將x1設為100,y1設為30,x2設為160,y2設為230,處理的效果最佳,對應的分段線性函數如圖3所示。

圖3 分段線性函數
通過分段線性處理之后的銑刀圖像能夠很好地突出刀片的圖像信息,在邊緣提取過程中得到更好的效果。
在實際的銑刀生產現場有多種干擾因素,會對圖像的信息采集造成一些偏差和干擾。除此以外,也可能出現光源打光不均勻的情況,因此在灰度圖像轉為位置圖像的過程中,采用固定的閾值無法滿足實際需求。閾值分割[12]關鍵在于閾值的確定。銑刀圖像由背景和目標兩大部分組成,這兩部分灰度值差異明顯,因此可以采用最大類間方差算法進行閾值分割。
OTSU最大類間方差算法[13]是一種自適應的閾值確定方法,使用的是聚類的思想,把圖像的灰度數按灰度級分成兩個部分,使得兩個部分之間的灰度值差異最大,每個部分之間的灰度差異最小,通過方差的計算來尋找一個合適的灰度級別[14]來劃分。
假設圖像總像素點為N,灰度值為i的像素數目為ni,各灰度值的概率為pi=ni/N。分割閾值記作T,圖像中像素的灰度值小于閾值T的個數記作N0,像素灰度大于閾值T的個數記作N1,則有閾值為T時的灰度平均值μ(T):
(6)
前景的像素點數占整幅圖像的比例ω0為:
(7)
前景的平均灰度μ0為:
(8)
背景像素點數占整幅圖像的比例ω1為:
(9)
背景的平均灰度μ1為:

圖像的總平均灰度記為μ:
μ=ω0μ0+ω1μ1
(11)
類間方差記為θ:
μ=ω0(μ0-μ)2+ω1(μ1-μ)2=
ω0ω1(μ0-μ1)2
(12)
使得類間方差θ取最大值的閾值T,即為二值化銑刀圖像所選定的最佳閾值。
針對銑刀的表面特征,首先對預處理后的圖像進行特征角點定位,確定銑刀的8個刀片共24個頂點。接著進行基于特征點的邊緣檢測,得到每個刀片的實際邊緣。連接每個刀片的三個頂點,得到理論邊緣。最后可根據理論邊緣與實際邊緣,計算每個刀片的缺損面積,進而得出銑刀是否破損以及具體的破損位置。
精準定位到圖像中每個刀片的頂點,對實現銑刀破損檢測具有重要意義。根據銑刀的形狀特征、表面特征設計特征角點定位的檢測方法。
特殊角點定位[15]的基本思路是從上至下、從左至右遍歷預處理后的銑刀圖像,圖像上的每一個像素點記為(xi,yi)。經過預處理后的目標銑刀圖像為黑色像素點,背景為白色像素點。通過(xi,yj)所在行的黑色像素點的統計特征確定各個頂點所在的位置。
利用二值化后的銑刀圖像,不難得出最上方的刀片頂點坐標,記為(x0,0,y0,0)。統計第i行刀片的像素點總數sum(i),易知,當num=max(sum(i))時,第i行對應著刀片的第二個頂點,記為(x0,1,y0,1)。當sum(i) 為0時,第i行對應著銑刀的第三個頂點,記為(x0,2,y0,2)。同理計算出其余七個刀片的三個頂點。經過角點檢測之后的銑刀圖像如圖4所示。

圖4 銑刀的角點檢測
通過對圖像進行特征角點檢測,得出銑刀8個刀片共24個頂點。在特征點位置的基礎之上,進行銑刀邊緣檢測。邊緣檢測包括擬合刀片理論邊界和檢測刀片實際邊界。
銑刀頂點的集合M為:
M={(xn,iyn,i)|n=0,1,…,7,i=0,1,2}
連接每個刀片的頂點,可擬合出理論的刀片邊界。已知圖像上兩個像素點(x1,y1)和(x2,y2),經過這兩點的連線上的點為(x0,y0),則滿足x0=(y0-b)/b,其中:
(13)
b=y2-kx2
(14)
基于刀片特征角點遍歷銑刀圖像,當像素值發生突變的位置即為刀片的實際邊緣所在位置。
銑刀圖像破損判斷有兩個標準。合格的銑刀每一片刀片的規格是相同的,在相機拍攝角度、放大倍率固定的情況下,每個刀片像素點之和相差很小。對銑刀每個刀片像素點進行遍歷,并記錄每個刀片的像素點總和Si,i∈[0,7],如圖5(a)所示,θ為合格刀片的像素點總和,λ為設定的閾值。當刀片像素點總和與合格情況下完整刀片像素點總和差值Fi=|Si-θ|≥λ時,則判斷該刀片為破損。
判斷破損的第二個標準是實際邊界與理論邊界的像素之差為ξ。當ξ大于指定的破損標準λ時,則判斷刀片為破損刀片。
破損檢測的結果需要在界面進行顯示。當銑刀存在破損時,在界面的圖像框中顯示圖像并以方框標記破損位置,如圖5(b)所示。

(a)面積統計效果 (b)檢測結果
實驗中使用的工業CCD相機為海康威視相機,光源使用同軸的環形平行光源。對60個銑刀(每個銑刀有8個刀片)樣品分四組進行破損檢測,每組共有待檢測刀片120片,共計480片。系統檢測銑刀破損的準確率ACC為正確檢測的刀片數占總刀片數的比值,如式(15)。漏檢率FNR為被檢測為破損的合格刀片占總合格刀片數的比值。如式(16)。
(15)
(16)
其中,TP表示實際完整且檢測為完整的刀片個數;FN表示實際完整但檢測為破損的刀片個數;FP表示實際破損但檢測為完整的刀片個數;TN表示實際破損且檢測為破損的刀片個數。實驗結果如表1所示。

表1 實驗結果
從實驗結果可以看到,每一組的檢測準確率η≥94.17%,總體檢測準確率β≥95.12%。根據式(16),計算得系統的漏檢率為1.71%。另一方面,利用機器視覺進行銑刀破損的檢測,平均檢測速度≤0.2 s優于人工檢測(0.9 s)。因此,該系統滿足企業生產過程中的銑刀破損自動化檢測的實際需求。
針對目前銑刀破損人工檢測存在的不足,提出了基于機器視覺[16]的圖像處理方法,實現了銑刀破損的自動化檢測。基于機器視覺的銑刀破損自動化檢測系統利用工業CCD相機從不同角度自動采集銑刀的多幅圖片,通過對圖片進行灰度化、二值化及其他形態學方法處理后,根據銑刀的形狀特征、表面特征甚至細化到每一片刀片的邊緣、頂點、邊長等對銑刀進行分析處理,完成對銑刀在刀刃等處是否存在破損的自動化檢測。
在實驗中采用四組銑刀圖像進行分析,有60幅圖像,共計480片刀片,檢測準確率到達95.12%。相對于傳統的人工檢測方法,利用機器視覺進行銑刀質量的檢測,具有自動化程度高、測量精度高等優勢。針對目前的研究現狀和工作進展,為滿足銑刀實際生產過程中高精度、實時性等要求,系統的破損檢測方法還需進一步優化。
總體來說,基于機器視覺的銑刀破損自動化檢測系統,具有十分廣闊的應用前景。隨著工業智能化的不斷推進,機器視覺一定會被廣泛地應用到刀具質量檢測中。