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