(攀枝花學院交通與汽車工程學院,攀枝花 617000)
連桿是發動機的最重要零部件之一,連桿存在缺陷或發生故障將會造成較大的經濟損失,因此需對連桿缺陷進行檢查。傳統的連桿表面缺陷檢測方法主要采用人工目視檢查,此方法不僅工作量大、檢測效率低、不同檢驗人員的檢測結果差異較大,而且在檢測過程中易出現漏檢和誤檢等現象[1,2]。近年來,基于計算機硬件技術、軟件技術和圖像處理技術的快速發展,機器視覺技術以檢測效率高和無損檢測等優勢在發動機連桿制造過程得到廣泛應用[3]。
朱正德[4]針對連桿大小頭結合面的缺陷,結合CCD相機、LED和機械執行機構,基于圖像處理技術,實現了連桿結合面缺陷的自動識別并進行分類。潘泉松[5]針對采用傳統人工檢測汽車連桿序號不匹配問題,提出了一種基于機器視覺的連桿檢測系統,通過相機采集連桿圖像,再利用BP神經網絡對連桿字符進行分類識別,以實現連桿的自動檢測。王連桂[6]以某型發動機連桿為研究對象,利用CCD相機、光源和圖像采集卡等搭建了連桿關鍵尺寸參數檢測系統,通過圖像處理技術,實現了連桿關鍵尺寸參數的自動檢測。劉長英[7]針對連桿裂解槽檢測效率低且容易出現漏檢測現象,采用圖像處理技術對裂解槽進行自動檢測,主要包括圖像獲取、濾波、邊緣檢測和特征識別等方法,實現了連桿裂解槽的檢測。
本文以汽車發動機的關鍵部件連桿為研究對象,基于機器視覺檢測技術為基礎,通過采用高像素CCD相機對連桿表面圖像進行數據采集,并利用HALCON軟件進行處理。實現了對連桿表面缺陷進行定位和特征提取。
發動機連桿一端與曲軸相連,另一端通過活塞銷與活塞相連。連桿的極限工況主要為拉伸和壓縮,在此工況下,連桿出現裂紋和掉塊等缺陷主要集中在連桿桿身和側面。因此,為實現發動機連桿表面缺陷的快速檢測,本文選用CCD面陣相機作為圖像采集元件,設計一套可以判定連桿是否合格并對連桿表面缺陷進行分類的發動機連桿表面缺陷檢測系統。本系統的流程如圖1所示,首先通過CCD面陣相機獲取連桿圖像,然后對圖像進行預處理,如圖像去噪、濾波和二值化處理等,再通過閾值的選取,實現邊緣檢測和缺陷識別,最后實現對缺陷定位。

圖1 圖像處理流程圖
根據連桿視覺檢測圖像采集的實際要求和圖像采集質量的影響因素,設計了一套基于機器視覺的連桿表面缺陷檢測實驗平臺。該實驗平臺主要包括CCD面陣相機、鏡頭、LED光源和光源控制器和開關電源等部件。其中CCD面陣相機選用的是大恒水星MER-500-14GC,其主要技術參數如表1所示。

表1 MER-500-14GC主要技術參數
根據連桿表面缺陷檢測系統要求,搭建出連桿圖像采集系統檢測平臺如圖2所示。

圖2 連桿圖像采集系統檢測平臺
本系統采用CCD面陣相機,借助于LED線性光源提供照明,采用微距鏡頭采集平臺上的連桿,采集后信息存儲于圖像采集卡。圖3給出經CCD相機采集到的連桿圖像。

圖3 連桿原圖
圖像預處理的目的是保持圖像的真實度的前提下,進行幾何變換,突出圖像有用的特征。針對CCD相機采集得到的原始圖像進行處理,目的是減少數據數量,降低數據復雜程度,提高程序運行速度,使圖像更加直觀的顯現,為缺陷特征的提取做好前期工作。
基于前期實驗及文獻中的研究結論,通過CCD相機所采集到的連桿圖像,都是由紅色(R)、綠色(G)和藍色(B)三個通道組合而成[8]。為有效地降低圖像處理的運算量,本文采用加權法對圖像進行灰度轉換如式(1)所示。


圖4 灰度調整后圖像
式中:Gray是轉換后的單顏色通道,R是紅色通道,G是綠色通道,B是藍色通道;圖4為采用加權法對圖像進行灰度變換后的圖像。檢測系統要獲得非常精確的圖像灰度密度函數是非常困難,可以通過對原圖像進行直方圖變換,以得到圖像灰度密度函數。在灰度直方圖中,橫坐標代表圖像的灰度等級,取值范圍為0~255;縱坐標代表圖像的像素值。直方圖的定義如式(2)所示。

式中:
S為所選圖像像素的總數;
si為該圖像中像素值為第i級灰度的總數;
ri為第i個灰度級;
F(ri)為第i個灰度級出現的相對次數。
通過上述方法對連桿原圖進行直方圖操作后,其直方圖通常都符合正態分布,但是直方圖中存出較多的小峰谷和突起,需對直方圖進行平滑修正。設圖像灰度值的均值為Mean和方差為Deviation,則可分別通過式(3)和式(4)求得。


式中:q為灰度值為g(q)的R區域的一個像素,F為該區域矩陣行列式的值,即F=|R|。經灰度處理和修正后的直方圖如圖5所示。

圖5 平滑后的灰度直方圖
系統所采集的連桿圖像中椒鹽噪聲較多,因此采用中值濾波算法對圖像進行去噪。中值濾波不僅在消除圖像椒鹽噪聲方面非常有效,面且在去噪的同時還可以很好的保護連桿原圖的圖像邊緣。同時,在編程實現中值濾波算法時無需考慮圖像的統計特性,尤其對于處理脈沖噪聲或椒鹽噪聲非常有效。圖6給出對連桿進行去噪前的圖像。

圖6 去噪前圖像
圖7給出對連桿進行去噪后圖像。

圖7 去噪后圖像
連桿圖像經去噪后,為提取連桿缺陷,需首先對連桿進行圖像分割和邊緣提取。用于圖像分割的算法主要有基于邊緣的圖像分割算法、基于閾值的圖像分割算法和基于區域的圖像分割算法[9]。結合連桿缺陷類型,本系統采用基于閾值的圖像分割算法,先對連桿圖像進行灰度直方圖處理,再進行閾值選取,圖8給出了連桿圖像經灰度直方圖處理后進行的閾值選取。

圖8 閾值選取圖
圖像經閾值選取后,采用基于閾值的圖像分割算法對連桿進行處理后,如圖9所示。

圖9 基于閾值分割后的圖像
對分割后的連桿圖像進行邊緣提取時,通常可采用一階導數邊緣檢測方法或二階導數的邊緣檢測方法。其中,采用一階導數邊緣檢測算子都采用的是梯度算子,通常包括Roberts算子、Sobel算子和Canny算子等;采用二階導數的邊緣檢測算子主要是拉普拉斯邊緣檢測算子[10]。考慮到Sobel算子對邊緣定位精度不高,Canny算子在提取邊緣時容易引入偽邊緣而導致誤提取,拉普拉斯邊緣檢測算子在邊緣提取時容易導致噪聲等問題。
因此對比上述多種邊緣檢測算子的基礎上,采用Roberts算子進行邊緣提取,經Roberts算子對連桿邊緣進行提取操作,提取后的連桿如圖10所示。
根據上述對連桿邊緣進行提取后,在此基礎上,根據缺陷的面積特征,自動選擇出符合要求的連桿表面缺陷特征。面積特征主要是根據區域面積內像素點的個數,通過編程得到缺陷區域的面積和區域的中心點坐標。其中,缺陷區域面積是對缺陷區域內所有像素點進行統計求和;缺陷區域的中心點的坐標包括行坐標和列坐標。行坐標可通過對區域內所有像素點行坐標求和再除以區域面積得到;同理,列坐標也可以通過對區域內所有像素點列坐標求各再除以區域面積得到。通過面積特征,最終篩選出的連桿缺陷如圖11所示。

圖10 邊緣提取圖

圖11 面積特征篩選后的圖像
通過發動機連桿表面缺陷檢測的分析,采用基于機器視覺技術,實現了發動機連桿表面缺陷的檢測。基于檢測結果,機器視覺檢測技術可以較好地用于汽車發動機連桿的表面報缺陷檢測。提出采用形態學圖像濾波、基于閾值的圖像分割方法和基于面積特征的缺陷定位方法。經反復編程及實驗調試,對發動機連桿的表面缺陷具有較高的檢測精度和效率,而且具有較好的可靠性和重復性。