本發(fā)明涉及計算機視覺檢測領(lǐng)域,尤其涉及一種矩形鐵氧體磁片表面缺陷的識別方法。
背景技術(shù):
鐵氧體磁片在各種機械設(shè)備中是不可或缺的一個部分,工業(yè)上對磁片的需求也越來越多。然而這些磁片在生產(chǎn)、打磨等過程中會使磁片表面出現(xiàn)凹痕、刮痕等缺陷問題。在實際的生產(chǎn)流水線上,對磁片的缺陷檢測大都是通過人眼來觀測是否存在缺陷。用人工來進行缺陷檢測不僅效率比較低,而且無法保證檢測的精度。因此發(fā)展一種效率高、精度高的鐵氧體圓片表面凹痕識別方法是當前生產(chǎn)企業(yè)的迫切需求。而目前,隨著圖像處理和人工智能技術(shù)的發(fā)展,以計算機視覺為基礎(chǔ)的產(chǎn)品自動檢測與識別方法逐漸得到發(fā)展與應(yīng)用,通過圖像處理可以對磁片的缺陷進行分析、識別。計算機技術(shù)的發(fā)展使得通過圖像快速有效進行識別成為可能。
技術(shù)實現(xiàn)要素:
為解決現(xiàn)有技術(shù)對矩形鐵氧體磁片缺陷的人工識別效率低下、無法做到長時間高效作業(yè)的問題,提供一種矩形鐵氧體磁片的表面缺陷識別方法,這種識別方法基于計算機視覺,能充分利用圖像處理的優(yōu)勢,快速、精確地對生產(chǎn)流水線上的磁片進行識別分類,以配合生產(chǎn)的需求。
為實現(xiàn)上述目的,本發(fā)明采用以下技術(shù)方案:
步驟一,通過視覺設(shè)備獲取流水線上矩形鐵氧體磁片的實時影像;
步驟二,通過幀間差分法,獲取單個矩形鐵氧體磁片圖像,具體過程如下:
2.1計算連續(xù)兩幀圖像的差分圖像g1,計算公式為:
g1=pk-pk-1
其中pk-1為前一時刻的圖像,pk為當前時刻的圖像;
2.2對差分圖像進行高斯濾波計算,消除噪聲,計算公式為:
其中x為差分圖像的像素值;σ為高斯函數(shù)的寬度,值取3、5或7;
2.3計算濾波后差分圖像的縱向一階導(dǎo)數(shù)的積分投影,計算公式為:
其中sj(x)為圖像在縱向坐標j點下的積分投影值,n為圖像的高度,i為橫坐標,m為圖像的寬度;
2.4計算縱向積分投影的拐點,計算公式為:
h(j)=max(sj(x))
其中,h(j)為拐點j位置處的積分投影值,max(sj(x))為求取序列sj(x)的峰值點;
2.5設(shè)立閾值t,和h(j)相比較,若大于設(shè)定的閾值t,則判斷有矩形鐵氧體磁片到來,并把前一時刻圖像作為背景圖像存儲;若小于設(shè)定的閾值,則返回步驟一;
步驟三,通過閾值分割法將圖像分為目標區(qū)域a和背景區(qū)域b兩類;
步驟四,根據(jù)圖像p(x,y)的標準差和均值計算出閾值ti,計算公式為:
ti=μz+ci·σz
其中μz表示圖像p(x,y)灰度值的均值,σz表示圖像p(x,y)灰度值的標準偏差,ci是一個控制參數(shù),ti表示計算出來的閾值;
步驟五,對整幅圖像進行局部二值化均值處理,具體實施方式如下:
5.1,先求圖像的權(quán)重,然后將圖像進行二值化處理,計算方式為:
p'(x,y)=w(x,y)p(x,y)
其中w(x,y)表示(x,y)這一點的權(quán)重;p(x,y)表示點(x,y)的二值化處理后的灰度值;
5.2,計算二值化后圖像的灰度平均值,計算公式為:
其中μ表示二值化后的灰度平均值;i和j代表圖象的尺寸大??;
步驟六,計算二值化圖像的平均值的標準差,計算公式為:
其中σa表示二值化圖像的平均值的標準差;
步驟七,對計算出來的標準差進行判斷,如果σ等于零則判斷為該圖像上面無缺陷,如果標準差σ大于零,則對該圖像進行以下的操作判斷;
步驟八,將整個圖像分解為大小為m×n的k幅大小一樣的子圖像;表示方法如下:
z={p(x,y)x∈{1,2,...,i},y∈{1,2,...j}}
k=i/m×j/n
其中m和n是子圖像的尺寸大小,k是在整幅圖像中分解的子圖像的個數(shù),z代表整幅圖像;
步驟九,針對子圖像重新選取最優(yōu)閾值t,具體實施方式如下:
9.1,計算每個二值化子圖像的均值,計算公式為:
p'k=wk(x,y)pk(x,y)
其中wk(x,y)表示第k幅子圖像在(x,y)這一點的權(quán)重;pk(x,y)表示第k幅子圖像在(x,y)這一點的灰度值;p'k表示第k幅子圖像在點(x,y)的二值化處理后的灰度值;其中μk表示第k幅子圖像二值化后的灰度平均值;pk表示第k幅子圖像在點(x,y)的二值化處理后的灰度值;
9.2,通過迭代最優(yōu)閾值選擇方法,來確定最優(yōu)閾值的值,實現(xiàn)方法如下:
通過一個閾值變量t(0<t<256),計算出在每個變量閾值t下的每一幅子圖像的二值化后的平均值,針對每一個閾值變量t重復(fù)執(zhí)行上面的過程,選取出平均值小于1的所有子圖像,記錄下這些子圖像中的最小灰度值,然后將這些得到的最小灰度值進行平均值計算;計算公式為:
其中j(t)表示二值化平均值小于1的子圖像的最小灰度平均值;l表示總共選擇出來的子圖像的個數(shù),pl(x,y)表示選出的第l幅圖像中點(x,y)的灰度值;t表示閾值變量;
9.3對得到的最小灰度的平均值進行平滑處理,計算公式為:
其中h為移動平均濾波器的階數(shù);j’(t)為平滑之后的平均值;
9.4在t與j’(t)的函數(shù)關(guān)系下,將j’(t)取最小值時的t值作為新產(chǎn)生的最優(yōu)t值;
步驟十,根據(jù)新產(chǎn)生的最優(yōu)閾值t,返回步驟9.1,重新計算出子圖像二值化后的平均值;
步驟十一,根據(jù)重新計算出來的二值化后的平均值,判斷該子圖像是否是缺陷子圖像,并在整個圖像中用原始圖像標記,計算公式為:
其中bk表示第k幅圖像識別后的輸出圖像;
步驟十二,對所有的子圖像進行識別鑒定,當所有的子圖像全部為無缺陷圖像時,可以判斷整個圖像是無缺陷的,否則就是有缺陷圖像。
本發(fā)明利用矩形鐵氧體磁片的實時影像,通過計算機視覺處理實現(xiàn)自動檢測;以通過幀間差分法實現(xiàn)鐵氧體圓片的位置定位觸發(fā),最終獲取清晰的單個矩形鐵氧體磁片圖像。然后首先通過對整幅圖像進行粗略的檢測是否有缺陷,然后再對檢測出來有缺陷的產(chǎn)品進行精確的檢測識別,最終判斷該產(chǎn)品是否含有缺陷。
在計算時,在獲取矩形鐵氧體磁片實時影像的基礎(chǔ)上,首先通過幀間差分法判斷是否有矩形鐵氧體磁片到來,把此時的前一幀圖像作為背景圖像;對所獲得的圖片進行閾值化處理,分割出僅含有矩形鐵氧體磁片的圖像。通過圖像的平均值和標準差計算出算法的最優(yōu)閾值;然后根據(jù)最優(yōu)閾值對圖像進行進行二值化處理,對處理后的二值化圖像求標準差,若標準差為零,則判斷為無缺陷產(chǎn)品,若標準差不為零,將圖像分成很多等份,重新選擇最優(yōu)閾值。通過選擇出來的最優(yōu)閾值計算每幅二值化子圖像的平均值,若每幅子圖像的平均值都等于一,則判斷為無缺陷產(chǎn)品,否則判斷為缺陷產(chǎn)品。
本發(fā)明可以作為獨立的算法模塊嵌入到矩形鐵氧體磁片自動化生產(chǎn)的實時控制系統(tǒng)中,達到鐵氧體快速、自動化識別檢測的目的,計算速度快、智能化程度高、識別準確。
附圖說明
圖1為本發(fā)明的工作流程框圖。
圖2為本發(fā)明采集到的含有缺陷的圖片。
圖3為圖像進行二值化均值處理后的結(jié)果。
圖4為采集到有缺陷的子圖像。
圖5為最優(yōu)閾值t選擇的結(jié)果。
具體實施方式
參照附圖,一種基于計算機視覺的矩形鐵氧體磁片表面的缺陷識別方法,步驟如下:
步驟一,通過視覺設(shè)備獲取流水線上800×600矩形鐵氧體磁片的實時影像;
步驟二,通過幀間差分法,獲取單個矩形鐵氧體磁片圖像,具體過程如下:
2.1計算連續(xù)兩幀圖像的差分圖像,計算公式為:
g1=pk-pk-1
其中pk-1為前一時刻的圖像,pk為當前時刻的圖像;
2.2對差分圖像進行高斯濾波計算,消除噪聲,設(shè)置高斯函數(shù)的寬度為3,計算公式為:
其中x為差分圖像的像素值。
2.3計算濾波后差分圖像的縱向一階導(dǎo)數(shù)的積分投影,計算公式為:
其中sj(x)為圖像在縱向坐標j點下的積分投影值,i為橫坐標,圖像的寬度為800,高度為600。
2.4計算縱向積分投影的拐點,計算公式為:
h(j)=max(sj(x))
設(shè)對應(yīng)的j值為60,求得h(j)的值6000。
2.5設(shè)定閾值參數(shù)為3000,h(j)的值6000與設(shè)定閾值參數(shù)3000相比較,6000大于3000,即判斷有矩形鐵氧體磁片到來,并把前一時刻圖像pk-1作為背景圖像存儲;
步驟三,通過閾值分割法將圖像分為目標區(qū)域a和背景區(qū)域b兩類,并且對a區(qū)域不做任何處理,并將只含有a區(qū)域p(x,y)的部分提取出來。計算公式為:
其中f(x,y)為原圖像的灰度,式中設(shè)定的閾值t為60,p(x,y)為處理后的圖像。
步驟四,根據(jù)圖像p(x,y)的標準差和均值計算出閾值ti,計算公式為:
ti=μz+ci·σz=104.1+0.8×8.7=111.0
其中μz表示圖像p(x,y)灰度值的均值,σz表示圖像p(x,y)灰度值的標準偏差,控制參數(shù)ci設(shè)定為0.8,ti表示計算出來的閾值。
步驟五,對整幅圖像進行局部二值化均值處理,具體實施方式如下:
5.1,先求圖像的權(quán)重,然后將圖像進行二值化處理,計算方式為:
p'(x,y)=w(x,y)p(x,y)
其中w(x,y)表示(x,y)這一點的權(quán)重;p’(x,y)表示點(x,y)的二值化處理后的灰度值;
5.2,計算二值化后圖像的灰度平均值,計算公式為:
其中μ表示二值化后的灰度平均值;圖像的長i為600,寬j為400。
步驟六,計算二值化圖像的平均值的標準差,計算公式為:
步驟七,對計算出來的標準差進行判斷,標準差σ大于零,則對該圖像進行以下的操作判斷。
步驟八,將整個圖像分解為大小為m×n的k幅大小一樣的子圖像。表示方法如下:
z={p(x,y)x∈{1,2,...,i},y∈{1,2,...j}}
k=i/m×j/n=600/60×400/40=100
其中子圖像的長m為60,寬為40,整幅圖像中分解的子圖像的個數(shù)k為100,z代表整幅圖像。
步驟九,針對子圖像重新選取最優(yōu)閾值t為100,具體實施方式如下:
9.1,計算每個二值化子圖像的均值,計算公式為:
p'k=wk(x,y)pk(x,y)
其中wk(x,y)表示第k幅子圖像在(x,y)這一點的權(quán)重;pk(x,y)表示第k幅子圖像在(x,y)這一點的灰度值;pk表示第k幅子圖像在點(x,y)的二值化處理后的灰度值;其中μk表示第k幅子圖像二值化后的灰度平均值;pk表示第k幅子圖像在點(x,y)的二值化處理后的灰度值。
9.2,通過迭代最優(yōu)閾值選擇方法,來確定最優(yōu)閾值的值,實現(xiàn)方法如下:
通過一個閾值變量t(0<t<256),計算出在每個變量閾值t下的每一幅子圖像的二值化后的平均值,針對每一個閾值變量t重復(fù)執(zhí)行上面的過程,選取出平均值小于1的所有子圖像,記錄下這些子圖像中的最小灰度值,然后將這些得到的最小灰度值進行平均值計算。計算公式為:
其中j(t)表示二值化平均值小于1的子圖像的最小灰度平均值,計算得到為0.3625;總共選擇出來的子圖像的個數(shù)l為34,pl(x,y)表示選出的第l幅圖像中點(x,y)的灰度值;t表示閾值變量。
9.3對得到的最小灰度的平均值進行平滑處理,計算公式為:
其中移動平均濾波器的階數(shù)h設(shè)置為4;平滑之后的平均值j’(t)為0.3544。
9.4在t與j’(t)的函數(shù)關(guān)系下,將j’(t)取最小值時的值t=122作為新產(chǎn)生的最優(yōu)t值。
步驟十,根據(jù)新產(chǎn)生的最優(yōu)閾值t=122,返回步驟9.1,重新計算出子圖像二值化后的平均值。
步驟十一,根據(jù)重新計算出來的二值化后的平均值,判斷該子圖像是否是缺陷子圖像,并在整個圖像中用原始圖像標記,計算公式為:
其中bk表示第k幅圖像識別后的輸出圖像。
步驟十二,對所有的子圖像進行識別鑒定,得到有7張子圖像為缺陷圖像,所以判斷該圖像為缺陷圖像。