為了能讓密封圈與密封部件之間實現完全的黏合,工業用的石墨密封圈表面必須平整光滑,嚴禁出現裂縫、暗紋等瑕疵。 通過機器視覺捕獲的密封圈表面圖像可能因種種因素呈現出光照不均勻、對比度低、噪聲大,這時可以利用DSP捕捉圖像,對圖像特點進行分析,并通過中值濾波、二值化、圖像縮小、哈弗圓檢測法、區域生長等一系列圖像算法來識別密封圈缺陷(如表面裂縫、模影、暗紋等)。密封圈表面缺陷檢測系統將密封圈放置在合適的光源正下方,將工業智能相機搭載光源正上方。用相機模擬數據傳輸線或者以太網接口將相機數據傳送到嵌入式系統中。這樣密封圈的圖像就采集到圖像識別系統中了,我們就可以在該嵌入式系統內對該圖像進行算法識別,判斷所拍密封圈是否為合格產品。
經過反復的實驗測試,在紅色同軸光和紅色環形光的照射下,相機采集到的圖像瑕疵成像效果比較清晰。其中裂紋、暗紋等細瑕疵在紅色同軸光下比較明顯;模影等瑕疵在紅色環形光下成像明顯。兩套檢測系統共同使用,其中一套用紅色同軸光源,另一套用紅色環形光源,接上相應的光源驅動后,就可以對密封圈分2次進行檢測。 圖像經過智能識別系統處理過后,會出現合格與次品的兩種結果,利用PLC通信,對密封圈分類裝置進行電信號的通信。讓其對密封圈進行篩選歸類。在兩套系統檢測過程中,如果有其中任意一套將產品識別為不合格,那么在與密封圈分類裝置通信時,該產品便為不合格產品。
檢測系統的通信如圖所示,系統采用4個IO通信口與檢測平臺建立聯系。
通信IO口示意圖 工件靜止后,PLC給DSP拍照命令,out1高電平。 DSP處理完畢 DSP首先發生結果信號,DSP輸出到in2高電平,再發生確認處理完畢信號,DSP輸出到in1,OK為高電平,NG為低電平。 PLC接收到結果并不馬上回復給 DSP,而是等到進料機械手到達時,移位寄存器記錄并做30ms的延時后發出確認信號給DSP,確認信號發生的同時,要求DSP的確認信號同時有效。也就是DSP未收到PLC的確認信號之前要保持高電平狀態,DSP 收到PLC的確認信號后需要把確認信號置為低電平。 系統在收到PLC的拍照信號后,檢測系統便會將當前要檢測的密封圈圖像通過傳輸線從相機中寫入到系統內存,如下圖密封圈8比特BMP位圖數據所示便是把從相機寫入內存的數據以BMP8比特位圖格式輸出的圖像。
密封圈8比特BMP位圖數據 可以發現密封圈表面是呈淺色圓環狀的,在密封圈表面的左邊有一道黑色的縫,這就是我們需要檢測到的瑕疵。 考慮到不同種類的瑕疵在不同的光源下的清晰度不同,所以該系統用的是兩套不同的光源,一個是紅色同軸光源,另一個是紅色低角度環形光源。 同軸光源有內部的光學鏡片經過特殊的位置設置,使得光源的發光光路可以與相機成90°直角。間接地起到了棱鏡的使用效果。在該同軸光源的照射下,密封圈上比較細的裂紋都清晰可見。下圖是該同軸光源下的成像效果:
環形90度水平低角度光源,該光源LED后部基板與水平面成90度,因此LED顆粒變成水平方向,光源通常為1排LED顆粒,水平照射后可以實現對于光滑表面的裂痕和表面凹凸造成的細微缺陷形成很好的反光效果。如下圖低角度環形光源幾何原理所示:
在低角度環形光源的照射下,密封圈上的暗紋可以清晰可見。下圖便是密封圈在該環形光源下的成像效果:
由于密封圈表面的瑕疵往往都很細小,容易受到圖像噪聲的干擾。如果圖像傳輸的過程中摻雜了過多的噪聲因素,無疑增加了識別算法的困難程度。所以為了避免產生過多的噪聲。只能選用抗噪性良好的相機。密封圈表面瑕疵檢測算法算法處理流程如下圖
捕捉源圖像 首先在相機里直接采集到的數組信息并不是灰度圖。因為相機除了灰度信息外,還帶有顏色上的分量。在圖像處理中,顏色分量起不到太大的作用,我們可以將它去掉。直接保留圖像的灰度信息。對于大部分的模擬相機,單位像素是以2像素4個數字保存的,如下圖相機中圖像灰度值保存的位置所示,表示相機捕捉到的圖像的8個像素,每個像素包含的信息都是用黑色的粗框圍成的,每個2像素包含4個數據,以橫向2像素為1單位,其中藍色和綠色數據表示顏色信息,每個像素的紅色數據為灰度信息。因此要通過特定公式提取灰度值。
相機中圖像灰度值保存的位置 圖片預處理 由于圖像在傳輸線中傳輸的時候不可避免會出現干擾,所以提取出的灰度圖像要進行濾波處理以便減小干擾。傳統的濾波方法是中值濾波和均值濾波,可以不同程度地減少噪聲干擾,但是這些方法也存在一些問題,可以看到這些噪聲的特點和瑕疵邊緣的特點近似,進行去噪的同時也模糊了瑕疵的邊緣。這不利于對瑕疵的識別。因此要克服這個問題,對這兩種經典方法進行了改進,把這種干擾降到最低。 分角度的中值濾波法可以適應瑕疵具有線性特征的特點,在二維的滑動窗口中,過中心點分別在0度,45度,90度,135度方向形成4個一維子窗口,分別對4 個子窗口求中值,然后取其最小值作為中心點的值。具體算法如下圖分角度中值濾波示意圖所示,分別統計二維滑動窗口中綠色、藍色、灰色、紫色部分的灰度分布。
分角度中值濾波示意圖 二值化 從密封圈8比特BMP位圖數據中可以觀察到,密封圈表面的顏色是比周邊顏色要亮出許多的。為了要盡快找到要檢測的目標區域。粗略二值化時可以采用全局二值化法。
目標提取 圖像二值化后,已經去掉了大部分背景的干擾,因此在密封圈二值圖的基礎上可以繼續進行目標提取過程。對于算法系統,目標提取實際上就是提取密封圈的圓環的過程。傳統的找圓算法是哈弗圓檢測法找圓。哈弗圓檢測法找圓的速度很慢,但是可以在哈弗圓檢測法上進行了優化。具體算法步驟如下: 由于哈弗圓檢測法要遍歷整張圖像,所以圖像內存越小,遍歷的速度越快,所以我們可以嘗試將圖像縮小后再處理。系統采用縮小16倍圖像(長寬各縮短4倍),再在縮小的圖像上進行哈弗圓檢測法找圓,為了盡可能保留原圖的信息,縮小時先申請一個縮小圖像內存,構建一個4×4的二維活動窗,當窗里的灰度值為0的個數等于或超過8個時,縮小圖像相對應的點的灰度值為0,反之,縮小圖像相對應的點的灰度值為255。如下圖所示圖像縮小過程。
二值圖縮小16倍圖像 優化哈弗圓檢測法找圓心 為了要快速找到圓心,首先要通過學習模式,讓系統掌握要搜索的圓環的外半徑和內半徑,之后在圖像上遍歷各個點,對每個點往 24 個方向上掃描,如下圖優化哈弗所示,每隔15°遍歷。
密封圖表面提取 在二值圖中確定內圓心與外圓心的位置后便可以根據外半徑和內半徑的長短,進行動態計算,取出最適合的內半徑與外半徑的值,進行匹配。
密封圖目標捕捉 瑕疵提取 我們知道密封圈在圖像上的位置后,就可以對原灰度圖進行更細致的分區域二值化,以便找到瑕疵位置。 OTSU法二值化是由日本學者大津提出的一種自適應閾值確定方法,其原理是統計出圖片內的灰度直方圖,根據直方圖的波谷位置分布來確定合適的閾值。其橫坐標表示像素的灰度級別,縱坐標表示該灰度出現的像素個數,通過人工觀察輸入閾值的方法,來實現閾值分割圖像的目的。如下圖 OTSU法確定閾值示意圖所示,該曲線為圖像信息的灰度直方圖分布。紅線所示位置所對應的圖像亮度值便是OTSU法計算出的閾值。
密封圈圓環的內外半徑和圓心位置確定后,則可以在取區域過程中只對圓環表面上分布的像素點進行分區域統計。OTSU統計的區域劃分如下圖所示
分區域OTSU法示意圖 對藍色區域的a~h一共8個區域分別進行直方圖統計,每個區域都求出相對應的閾值。當像素值與閾值之間的灰度差距大于人為設定的參數時,就說明該點與周圍像素環境之間存在著明顯的不同??蓪⒃擖c的灰度值賦值為0,否則該點賦值為255。 最終得到的新二值圖像內存數組,該數組的亮度信息如下圖所示。
OTSU 二值圖 可以在上圖中看出,瑕疵的信息因為局部二值化的關系而被很好地保留了下來。 瑕疵特性參數計算 瑕疵特征的提取主要包括瑕疵面積、長度和寬度的計算等。為了要提取出這些信息,可以用區域生長法來完成。 區域生長法提取 普通的區域生長法是8連通法。就是對一個點的上,左上,右上,左,右,下,左下,左下,右下一共8個方向進行遍歷掃描,如果在該遍歷方向上也存在與當前遍歷點的像素值相同的點時,就將該2個點看作都是屬于同一個瑕疵上的像素點。但是考慮到當前系統中捕捉到的瑕疵往往是屬于狹長的縫。在使用 8 連通法提取狹長縫隙的信息時就很有可能就會造成縫的“斷裂”,導致將一條縫的信息分為了2塊或多塊連通區域信息來處理。為了避免這一現象,可將區域生長法做一定改進:采用可調節的全方位拓展法求區域生長,如下圖:
全方位拓展法求區域生長 瑕疵的判斷 雖然根據全方位拓展法求得了瑕疵數組。但是并不是所有的瑕疵都會影響產品的合格與否。所以還要通過計算各個瑕疵的特性,排除掉一些無關緊要的瑕疵。對于一般密封圈表面來說,一些很小的點瑕疵,極短的縫瑕疵,以及位于圓環表面的瑕疵都對密封圈的使用沒有任何影響。所以我們要通過計算,將這些瑕疵排除在外。 1. 瑕疵面積的計算法:當瑕疵面積小于人為設定的參數時,我們就對該瑕疵判斷為合格。反之,則判斷為不合格。 2. 瑕疵長度的計算法:計算瑕疵長時,基于瑕疵的線性特征,首先對瑕疵做細化操作,得到單像素寬的瑕疵骨架曲線。瑕疵的長度實際上就是骨架圖像骨干點之間的長度之和。骨化后的圖像是一個單像素寬度的連通性好的骨干圖像。可以分別求取相鄰像素之間的長度,然后把所有的相鄰像素之間的距離求和即為所得。(總長度即為所有相鄰像素之間的長度之和。) 當瑕疵長度小于人為設定的參數時,我們就對該瑕疵判斷為合格。反之,則判斷為不合格。 3. 瑕疵寬度的計算法:計算瑕疵寬時,仍然對瑕疵做細化操作后,骨架各點所在的瑕疵的位置的寬度反映出瑕疵各段的寬度。由于骨架曲線是單像素曲線,則一個骨架點與相鄰點的其他兩個骨架點相接,分別求出與相鄰點的斜率。則每個斜率的垂線與瑕疵邊緣相交兩點,兩點的連線的大小即為寬度值。比較這兩個寬度值其中較小的為這個瑕疵的寬度。 當瑕疵寬小于人為設定的參數時,我們就對該瑕疵判斷為合格。反之,則判斷為不合格。 檢測結果如下,左圖為相機采集到的密封原圖,通過算法處理后的結果為右圖,可以看到,所有位于密封圈表面上的瑕疵都被檢測出來了:
密封圈灰度圖 算法最終的處理結果
審核編輯 :李倩
-
以太網
+關注
關注
40文章
5419瀏覽量
171627 -
機器視覺
+關注
關注
161文章
4369瀏覽量
120293 -
智能識別
+關注
關注
0文章
201瀏覽量
18124
原文標題:基于機器視覺的密封圈表面缺陷檢測
文章出處:【微信號:vision263com,微信公眾號:新機器視覺】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論