郭志明,李杰,李爽,劉敏,劉永鑫
1.內燃機可靠性國家重點實驗室,山東 濰坊 261061; 2.濰柴動力股份有限公司,山東 濰坊 261061
鑄件在發動機制造中必不可少,發動機零部件中,鑄件占比為30%~40%,鑄件產品質量直接影響發動機產品的性能和質量。鑄件制造過程中存在許多不可控因素,鑄造缺陷很難避免。目前檢測鑄件表面缺陷仍然以人工檢查為主。由于鑄件產量大、表面缺陷細微,人工檢測存在質量差、效率低、成本高等缺點。
隨著計算機和通信技術的快速發展,機器視覺技術取得了巨大進步,特別是機器學習算法與數字圖像處理技術的結合,對于解決基于視覺的復雜檢測技術提供了有力的幫助。因此,利用機器視覺技術代替人工檢測鑄件表面缺陷具有可行性、實用性和高效性。
鑄造缺陷很難避免且種類繁多,最常見的缺陷有氣孔、縮孔、裂紋等,如圖1所示。
氣孔是金屬液體在澆注過程中產生的氣體未能及時逸出而形成的孔洞。氣孔缺陷通常為球形,內壁比較光滑,呈明亮或輕微氧化色,如圖1a)所示。氣孔周圍易產生應力集中問題,降低鑄件的抗疲勞性[1]。
縮孔是由于鑄件結構設計不合理,或液態金屬化學成分不符合要求,或澆注溫度過高,在液體凝固期間收縮形成的。縮孔形狀不規則、內壁比較粗糙、晶粒粗大[2],如圖1b)所示。
鑄件裂紋通常分為2種:冷裂紋和熱裂紋。熱裂紋是在凝固鄰近固相線時形成的,此時大部分合金已經凝固,在結晶構架間尚存少量液體,合金強度較低,在收縮應力作用下,鑄件會發生開裂;冷裂紋是鑄件凝固冷卻到彈性狀態時,局部應力超出了合金的強度極限而產生的。熱裂紋一般沿晶粒邊緣產生和發展的,裂口表面呈氧化色,裂口通常為不規則曲線;冷裂紋一般為比較連續且光滑的曲線或直線,冷裂紋如圖1c)所示。

a)氣孔 b) 縮孔 c) 裂紋
鑄件氣孔、縮孔和裂紋等缺陷在形態特征上存在明顯不同:氣孔缺陷主要為球形,縮孔形狀不規則,裂紋的形態為長條狀。本文中主要依據鑄件缺陷的形態特征檢測和識別缺陷。
圖像采集易受到電磁場、光線等諸多因素的干擾,因此圖像中不可避免地產生各種噪聲。在數字圖像處理中,常用的降噪方法有中值濾波、均值濾波和低通頻域濾波等。
中值濾波是基于數理統計理論的一種非線性平滑技術,它將每個像素點的灰度設置為該點的鄰域窗口內的所有像素點灰度的中值[3-4]。經過中值濾波處理后得到中心像素的灰度
g(x,y)=Med{f(m,n)},(m,n∈S),
式中:f(m,n)是像素點(m,n)的灰度;x,y為像素點坐標,x,y= 0, 1, 2, …,N-1;S為(x,y)點鄰域中像素點坐標的集合,一般采用3×3或5×5的窗格在圖像中做滑動。
中值濾波算法能有效抑制脈沖噪聲,算法執行效率高。中值濾波前、后鑄件表面缺陷圖像如圖2所示。

a)椒鹽噪聲圖像 b)中值濾波后圖像
鑄件缺陷圖像分割就是把鑄件表面缺陷部分從采集到的圖像中檢測和分割出來,它是由圖像處理到圖像分析的重要部分。常用的圖像分割方法有閾值分割法、區域分割法、邊緣分割法等。
2.2.1 閾值分割法
灰度閾值分割法是常用的圖像分割技術之一,是利用閾值將圖像二值化后實現圖像分割。其數學表達式為[5]:

式中:f(i,j)為點(i,j)的原始像素灰度;T為閾值;g(i,j)=1為圖像的前景數據,g(i,j)=0為圖像的背景數據。
確定合適的閾值是閾值分割算法的關鍵,只有合適的閾值才能把鑄件缺陷準確檢測、分割出來。閾值處理技術有全局閾值、自適應閾值、最佳閾值等[6-8]。由于閾值分割法運算比較簡單、執行效率高、響應快,因此特別適用于運算響應速度要求較高的簡單場合。
2.2.2 區域生長分割法
區域生長法的原理是將具有相似特性的像素點集合而構成區域。在需要分割的區域中尋找一個種子像素點作為起點,將種子像素點周圍鄰域中與種子像素有相同或相似性質的像素合并到種子像素所在的區域中[9],將這些新像素當作新的種子像素重復上面的過程,直到再沒有滿足條件的像素可被包括進來。
區域生長法計算簡單,適合分割均勻的小結構。但對噪聲比較敏感,可能出現分割空洞或過分割。
2.2.3 邊緣分割法
邊緣分割法也是圖像分割的常用方法之一。圖像中邊緣像素的灰度變化通常是不連續的,可以通過求導對其檢測。階躍性邊緣對應一階導數的極值點或二階導數的過零點,因此常用微分算子對其進行邊緣檢測[10]。常用的微分算子有Sobel算子、Prewitt算子和LoG算子等,如圖3所示。

圖3 常用的邊緣檢測微分算子
鑄件表面缺陷檢測系統硬件包括HP工作站、Basler相機、鏡頭及相應附件等。采用Pycharm、Python3.7、OpenCV4.4開展軟件功能及算法研究,并在生產環境中進行測試和應用。
鑄件表面缺陷檢測系統包括鑄件圖像采集子系統、缺陷分析子系統和缺陷響應子系統。鑄件圖像采集子系統主要通過生產現場的相機采集鑄件表面圖像信息,并將采集到的信息傳送到工控機;鑄件表面缺陷數據分析子系統主要采用機器視覺算法對鑄件表面缺陷進行分割和檢測;鑄件缺陷響應子系統根據數據分析層的分析結果,對異常數據進行響應,包括鑄件表面缺陷數據的存儲、顯示以及聲光報警等。
3.2.1 檢測設備及系統布置
檢測設備及機器視覺系統布置如圖4所示。將龍門機架安置于輥道兩側,根據待檢測工件表面的高度及檢測范圍調整相機的安裝高度。相機像素為500萬、景深為20 mm,相機距鑄件加工表面的高度為960 mm,采用2條平行于相機上方的條形光源進行補光。

圖4 鑄件表面缺陷檢測系統結構
檢測時,鑄件由輥道輸送到檢測位置,機器視覺檢測系統采集鑄件表面圖像,并傳送到工控機,工控機通過機器視覺算法進行分析、運算,若發現缺陷,工控機顯示缺陷并報警。
3.2.2 檢測系統工作流程
鑄件表面缺陷檢測系統的工作流程如圖5所示。1)圖像拍攝。硬件成像系統采集鑄件缺陷數字圖像。 2)圖像處理。圖像數據傳送到土位工控機進行圖像處理,包括預處理和主處理。3)輸入、輸出信號控制。圖像數據處理后,將結果輸入運動控制執行系統。4)顯示處理。從運動控制執行系統輸出相應信號、動作等。

圖5 鑄件表面缺陷檢測系統工作流程
通過對功能進行模塊化編程實現的軟件算法,主要分為圖像預處理、數字圖像二值化、缺陷面積閾值選取、圖像分割識別等。
相機采用硬件觸發形式,對現場的鑄件表面進行圖像采集。由于金屬表面容易受反光的影響,易產生“豎線”噪聲[11],需要進行數字濾波。針對噪聲的特點,本文中提出了一種改進的滑動窗口中值濾波,改進后的中值濾波模板如圖6所示,圖6中A5為錨點,即待計算的像素點,其灰度為滑動窗口中9個像素點灰度的中值。通過修改滑動窗口的形狀,達到濾波效果。

圖6 改進后的中值濾波模板
鑄件缺陷的面積越大對鑄件影響越大,故本文中采用面積的大小為標準判定鑄件缺陷,根據生產現場實際確定面積閾值。圖像二值化后進行缺陷面積統計,結合閾值判定缺陷,完成圖像分割。鑄件表面缺陷檢測算法實測結果如圖7所示。

a)原圖 b)濾波 c)二值化 d)圖像分割
由圖7b)可知,經過改進的中值濾波法處理后,有效的降低了鑄件圖像的“豎線”噪聲;由圖7c)、d)可知,該算法成功識別鑄件表面缺陷。
從生產車間調用151件帶有缺陷的樣本鑄件進行試驗,其中,氣孔缺陷109處,砂眼缺陷42處。實際檢測結果為:檢測出102處氣孔缺陷,準確率為93.6%;檢測出40處砂眼缺陷,準確率為95.2%。機器視覺鑄件缺陷檢測系統準確性高,能很好地適應生產現場。
造成漏檢的主要原因為少部分氣孔、砂眼出現在靠近邊緣的區域,圖像分割時被算法判別為陰影或噪聲點。在后續工作中,可通過改進圖像采集平臺減少漏檢。
本文中開發了基于機器視覺的鑄件表面缺陷檢測方法。針對現場環境光的變化和鑄件缺陷特征,改進和優化傳統算法,編寫了相應的應用軟件。
通過實際檢測驗證,基于機器視覺的鑄件表面缺陷檢測方法對氣孔、砂眼缺陷檢測準確率分別為93.6%和95.2%。機器視覺鑄件表面缺陷檢測方法準確性高、操作方便,能很好地應用于生產現場中,提高鑄件表面缺陷檢測效率。