本發(fā)明涉及圖像識別處理技術(shù)領(lǐng)域,尤其是涉及一種泡沫鎳表面缺陷的檢測方法。
背景技術(shù):
泡沫鎳是通過對鎳金屬進(jìn)行一系列物理化學(xué)加工后得到的一種新型功能材料,作為車用電池的基材,泡沫鎳對電池性能的影響極大。泡沫鎳表面呈銀灰色的金屬光澤,形態(tài)類似于金屬海綿,質(zhì)量上要求表面平整、無劃傷、無裂紋、無破損、無油污和無氧化。
然而,在泡沫鎳制備過程中,由于原料,加工工藝(PVD、電鍍、燒結(jié)等)等方面因素,導(dǎo)致泡沫鎳表面出現(xiàn)污染,壓痕,折痕,鎳皮,裂紋,劃線,漏鍍等多種不同類型的缺陷,這些缺陷嚴(yán)重影響最終成品的性能和質(zhì)量。比如,圖1A給出了無表面缺陷的泡沫鎳表面示意圖,泡沫鎳的表面平整、無劃傷、無裂紋、無破損、無油污和無氧化;圖1B給出了表面有裂紋缺陷的泡沫鎳表面示意圖,裂紋指泡沫鎳的表面紋理存在肉眼明顯可見或輕施外力可見的斷裂情況;圖1C給出了表面有漏鍍?nèi)毕莸呐菽嚤砻媸疽鈭D,漏鍍?nèi)毕轂榕菽囍苽溥^程中電鍍工藝不合格的反應(yīng);圖1D給出了表面有污染缺陷的泡沫鎳表面示意圖,污染缺陷時泡沫鎳表面受油、塵、蚊蠅或爐膛內(nèi)冷凝水等其他物質(zhì)沾污而引起的表面局部顏色變化。
目前對泡沫鎳表面缺陷的檢測和識別主要采用人工檢測手段,即在制備過程中操作人員通過肉眼觀察傳送帶上的泡沫鎳,憑經(jīng)驗對泡沫鎳的缺陷進(jìn)行人工判決,進(jìn)而進(jìn)行相應(yīng)的手動處理。該方式存在勞動強度大,效率低,主觀性強和檢錯率高。由于質(zhì)量檢測分析滯后,也難以有效在線優(yōu)化泡沫鎳的生產(chǎn)過程。
技術(shù)實現(xiàn)要素:
本發(fā)明提出一種泡沫鎳表面缺陷的檢測方法,利用圖像處理技術(shù)準(zhǔn)確提取泡沫鎳表層視覺特征,進(jìn)而完成過程泡沫鎳表面缺陷的識別判斷,以解決目前依靠人工視覺檢測存在漏檢、準(zhǔn)確率不高等缺陷。
一種泡沫鎳表面缺陷的檢測方法,其包括:
步驟S1.獲取泡沫鎳表面圖像,進(jìn)行下采樣處理得到圖像A;
步驟S2.對圖像A進(jìn)行NSCT變換,得到若干子圖像;
步驟S3.對子圖像在多個方向上求取灰度共生矩陣GLCM,并計算Haralick特征統(tǒng)計量得到特征統(tǒng)計向量;
步驟S4.采用KPCA對特征統(tǒng)計向量進(jìn)行降維處理;
步驟S5.將降維后的特征統(tǒng)計向量作為模型輸入,采用最優(yōu)有向無環(huán)圖支持向量機(jī)DAG-SVM算法對泡沫鎳的表面缺陷進(jìn)行識別。
其中,步驟S5具體包括:
步驟S51.計算不同類別樣本的重心
步驟S52.計算每個類別的重心到其他類重心的距離的均值
步驟S53.對各類別計算的距離按從大到小順序進(jìn)行排列得到新類別序列;
步驟S54.對新類別序列按照平均距離從大到小,以數(shù)列的兩端為起始位置交替地向中間排列,得到最優(yōu)排序序列,使得最優(yōu)序列中越靠近數(shù)列兩端的類別平均距離越大,越靠近中間位置的類別平均距離越?。?/p>
步驟S55.根據(jù)最優(yōu)排序序列生成最優(yōu)有向無環(huán)圖多分類器,實現(xiàn)多類別的區(qū)分;
其中,M表示泡沫鎳表面缺陷的類別數(shù)量,N為每類缺陷的樣本個數(shù),(也就是每類缺陷圖像數(shù)目)。xik表示第i類中第k個樣本的特征統(tǒng)計向量,k=1,2,…N。
其中,步驟S2是對圖像A進(jìn)行三級NSCT變換,得到得到21個子圖像。
其中,步驟S3是選取像素間的距離度量d=5,分別對其計算0°、45°、90°及135°四個方向上求取灰度共生矩陣GLCM。
其中,Haralick特征統(tǒng)計量包括熵S、逆差矩D、能量E和對比度I;
其中,從圖像f(m,n)中灰度為u的像素出發(fā),與偏角θ、距離為d、灰度為v的像素m+Δm,n+Δn同時出現(xiàn)的概率為P(u,v,d,θ),
P(u,v,d,θ)={(m,n)|f(m,n)=u,
f(m+d cosθ,n+d sinθ)=v}
u,v=0,1,…L-1,L
L是圖像f(m,n)的灰度級數(shù),θ為兩像素順時針與m軸的夾角,其取值通常為0°、45°、90°和135°;d表示2個像素之間的距離;P稱為空間灰度相關(guān)矩陣。
與現(xiàn)有技術(shù)相比,本發(fā)明具有如下有益效果:
本申請?zhí)岢隽艘环N基于多尺度紋理分析的泡沫鎳表面缺陷特征提取方法。首先采用非下采樣Contourlet變換對泡沫鎳圖像進(jìn)行多尺度幾何分解,利用分解后得到的低頻分量和各高頻分量表征不同缺陷的細(xì)節(jié)信息;然后計算各子帶上度量泡沫鎳圖像紋理信息的Haralick特征值。最后分別采用KPCA和最優(yōu)有向無環(huán)圖支持向量機(jī)(Directed acyclic graph-SVM,DAG-SVM)進(jìn)行特征數(shù)據(jù)的降維和缺陷分類識別,為泡沫鎳生產(chǎn)過程的自動檢測和優(yōu)化控制奠定基礎(chǔ)。通過實驗表明,對現(xiàn)場采集到的泡沫鎳表面圖像樣本進(jìn)行試驗,結(jié)果表明本申請能夠提取到不同細(xì)節(jié)上的紋理信息,使缺陷的識別率達(dá)到85%以上,能夠有效的識別泡沫鎳表面缺陷,為類似工業(yè)過程提供借鑒。
附圖說明
圖1A、圖1B、圖1C和圖1D分別是無表面缺陷的泡沫鎳表面示意圖、表面有裂紋缺陷的泡沫鎳表面示意圖、表面有漏鍍?nèi)毕莸呐菽嚤砻媸疽鈭D以及表面有污染缺陷的泡沫鎳表面示意圖。
圖2是本發(fā)明的流程示意圖。
具體實施方式
由于泡沫鎳表面呈銀灰色的金屬光澤,形態(tài)類似于金屬海綿,質(zhì)量上要求表面平整、無劃傷、無裂紋、無破損、無油污和無氧化。從不同缺陷的成因其表征可知,缺陷信息表現(xiàn)為復(fù)雜的紋理狀,因此有效的提取泡沫鎳紋理特征是缺陷識別的基礎(chǔ)。本申請是通過提取泡沫鎳表面的紋理特征作為識別泡沫鎳表面的依據(jù)。
結(jié)合圖2所示,本發(fā)明的一個實施方式包括如下實現(xiàn)步驟:
步驟S1.獲取泡沫鎳表面圖像,進(jìn)行下采樣處理得到圖像A。
下采樣是為了降低原始圖像的分辨率,在低分辨率下可以降低后續(xù)圖像處理的計算量。假設(shè)原始圖像可能是4096×4096像素大小的,也可能2048×2048像素大小的,無論原始圖像的分辨率大小都對其進(jìn)行下采樣,下采樣為128像素×128像素的分辨率以方便進(jìn)行一下步處理。
步驟S2.對經(jīng)過下采樣處理得到圖像A進(jìn)行多尺度NSCT變換(即非下采樣Contourlet變換),將NSCT變換分解得到的各子圖像用系數(shù)矩陣表示。
NSCT是Cunha等于2006年提出的一種圖像二維表示方法,是一種多尺度,多方向的過完備圖像表示方法,可以準(zhǔn)確地捕捉圖像中的邊緣輪廓信息和紋理細(xì)節(jié)信息,適于表達(dá)具有豐富細(xì)節(jié)及方向信息的多傳感器圖像。
Contourlet變換濾波器組結(jié)構(gòu)由拉普拉斯塔式濾波器(LP)和方向濾波器(DFB)兩部分組成。為了保持Contourlet變換的頻帶分割特性,并使其具有平移不變性,NSCT去掉了Contourlet兩級變換中的下采樣過程,構(gòu)造了相應(yīng)的非下采樣濾波器。NSCT包括非下采樣的塔形分解(NSP)和非下采樣的方向濾波器組(NSDFB)兩部分。首先由非下采樣塔式濾波器(NSP)把輸入圖像作尺度分解,在每個尺度上,DFB在將分解后得到的帶通信號分解到幾個帶通子帶方向上,方向子帶的數(shù)目可以是2的任意次冪。
經(jīng)非下采樣Contourlet變換(又稱為NSCT變換)后,分解為不同尺度上的子帶圖像(高頻分量,低頻分量),其中低頻分量主要為背景平滑區(qū)域信息,高頻分量反映泡沫鎳表面缺陷的邊緣,紋理細(xì)節(jié)等特征。以圖1B表面存在裂紋缺陷的泡沫鎳表面圖像A為例,進(jìn)行多尺度幾何分析。參數(shù)設(shè)置如下,LP濾波器為pfilter='9-7',DFB為dfilter='pk-va',分解級數(shù)為nlevels=[2,3,3],得到1個低頻子帶和20個高頻子帶,這樣圖1B經(jīng)過NSCT三級分解后共得到21個子圖像。也就是說,每一個待識別的表面圖像A經(jīng)過NSCT三級分解后共得到21個子圖像。
上述分解圖像可知裂紋缺陷在第一層高頻分量中某一方向特征明顯。因此,若能利用好缺陷圖像高頻分量的細(xì)節(jié)信息,將有效提高缺陷識別的準(zhǔn)確性。為此,以表面存在裂紋、漏鍍和污染三種缺陷為例進(jìn)行實驗分析:各取典型樣本圖像50幅,對每幅圖像按上述步驟S1進(jìn)行下采樣后再按前述參數(shù)進(jìn)行NSCT變換,每一幅圖像都被分解為低頻分量x{1,1}和20個高頻子帶圖像(其中,第一層的四個高頻子帶圖像分別記為(x{1,2}{1},x{1,2}{2},x{1,2}{3},x{1,2}{4}),第二層八個高頻子帶圖像分別記為(x{1,3}{1},x{1,3}{2},x{1,3}{3},x{1,3}{4},x{1,3}{5},x{1,3}{6},x{1,3}{7},x{1,3}{8}),第三層八個高頻子帶圖像分別記為(x{1,4}{1},x{1,4}{2},x{1,4}{3},x{1,4}{4},x{1,4}{5},x{1,4}{6},x{1,4}{7},x{1,4}{8})。低頻分量反映缺陷樣本的主要信息,需要保留。以前5個高頻分量為例進(jìn)行實驗,不同子帶圖像上裂紋、漏鍍和污染三種缺陷的紋理識別結(jié)果如表1所示。
表1不同子帶分量對缺陷識別的影響
從表1可以看出,經(jīng)過NSCT三級分解后,各高頻分量可以反映缺陷的邊緣和細(xì)節(jié)信息,但是對缺陷識別的貢獻(xiàn)不同。如裂紋缺陷一般呈細(xì)長狀,至少有一段為尖狀,平行或者垂直于邊緣。經(jīng)過Contourlet變換后缺陷特征信息一般會集中于某個方向的高頻分量中,如表1中的(x{1,2}{1},x{1,3}{2})。而漏鍍通常為球狀,大小位置均不固定,邊界相對光滑,經(jīng)過NSCT多尺度分解后缺陷特征信息在高頻各個方向上分布相對均勻。因此實際分析中,需要根據(jù)缺陷樣本進(jìn)行訓(xùn)練,選取能夠充分表征缺陷信息的高頻分量,消除冗余信息。
步驟S3.對圖像A分解后的21幅子圖像在4個方向上求取灰度共生矩陣GLCM,計算Haralick特征統(tǒng)計量(包括熵、逆差矩、能量、對比度),得到特征統(tǒng)計向量。
灰度共生矩陣GLCM計算21幅子圖像的紋理參數(shù)。選取像素間的距離度量d=5,分別對其計算0°、45°、90°及135°四個方向上GLCM,利用計算得到的每一個矩陣求取包括提取熵S、逆差矩D、能量E和對比度I這4個特征統(tǒng)計值,每個紋理特征參數(shù)用四個方向上計算的平均值作為最終獲得的特征值輸出,因此共得到84維的特征統(tǒng)計向量。
紋理是由灰度分布在空間位置上反復(fù)交替變化而形成,在圖像空間中相隔某距離的兩像素之間會存在一定的灰度關(guān)系,稱為圖像的灰度空間相關(guān)特性?;叶裙采仃?GLCM)反映了圖像灰度關(guān)于方向、相鄰間隔、變化幅度的綜合信息,從圖像f(m,n)中灰度為u的像素出發(fā),與偏角θ、距離為d、灰度為v的像素m+Δm,n+Δn同時出現(xiàn)的概率為P(u,v,d,θ),如下
式中L是圖像的灰度級數(shù),θ為兩像素順時針與m軸的夾角,其取值通常為0°、45°、90°和135°。通常d=1,表示2個像素之間的距離為1。P稱為空間灰度相關(guān)矩陣。
同一圖像由于紋理尺度的不同其灰度共生矩陣可以有很大的差別。因此本申請采用Haralick定義的特征統(tǒng)計量進(jìn)行分析,常用的有角二階矩、對比度、相關(guān)、方差、熵等,計算公式如下。
能量(二階矩)E的計算公式:
二階矩反映了圖像灰度分布均勻程度和紋理粗細(xì)度。分布越不均勻,P(u,v)相差越大,則E越大;當(dāng)P(u,v)相差不大且較分散時,則熵S較大;當(dāng)P(u,v)較集中于主對角線附近時,(u-v)的值較小,所以對比度I也較小。
熵S的計算公式:
圖像所包含的信息量是用熵值來進(jìn)行度量的。熵值可以直接對圖像中紋理的非均勻度或紊亂度進(jìn)行反映,熵值越大則表示紋理越復(fù)雜。
對比度(慣性矩)I的計算公式:
對比度I可理解為圖像的清晰度。對比度大時,紋理的溝紋深,效果清晰;反之對比度小則溝紋淺,效果模糊。
逆差矩D的計算公式:
逆差矩D是數(shù)字圖像局部均勻性的直接度量。圖像局部紋理越均勻,則其對應(yīng)的逆差矩值越大,反之亦然。
步驟S4.采用KPCA對特征統(tǒng)計向量進(jìn)行降維處理。
采用KPCA進(jìn)行參數(shù)降維,要求累計貢獻(xiàn)率大于85%,通過計算后優(yōu)選特征維數(shù)為5。
步驟S5.將降維后的特征統(tǒng)計向量作為模型輸入,采用最優(yōu)有向無環(huán)圖支持向量機(jī)(Directed acyclic graph-SVM,DAG-SVM)算法對泡沫鎳的表面缺陷進(jìn)行識別。
支持向量機(jī)(Support vector machine,SVM)實現(xiàn)多分類的方法主要有一對多(OVR)和一對一(OVO),其中OVR訓(xùn)練樣本不均衡所以分類精度不高,而OVO雖比OVR精度高,但由于采用投票機(jī)制,可能會出現(xiàn)拒分的情況。本申請采用最優(yōu)有向無環(huán)圖支持向量機(jī)(Directed acyclic graph-SVM,DAG-SVM)算法對缺陷進(jìn)行識別。DAG-SVM是Platt提出的一種解決硬間隔支持向量機(jī)多類別分類問題的新方法,能夠高效地將SVM用于多分類問題,繼承了SVM算法良好的分類能力,但是DAG-SVM算法存在誤差累計效應(yīng),也就是會把上層的誤差延續(xù)要下層節(jié)點。尤其當(dāng)分類錯誤越靠近根節(jié)點的地方累計誤差就越嚴(yán)重,分類性能降低。因此需要將容易區(qū)分的兩類缺陷分類器優(yōu)先放在有向無環(huán)圖中靠近上層的節(jié)點位置。
本申請采用最優(yōu)節(jié)點拓?fù)渑判虿呗越M織多個兩分類支持向量機(jī),構(gòu)成最優(yōu)DAG-SVM分類器對泡沫鎳缺陷進(jìn)行分類。
設(shè)共有M個類別,每類有N個樣本,xik表示第i類中第k個樣本的特征統(tǒng)計向量,其計算步驟如下:
步驟S51:計算不同類別樣本的重心
步驟S52:計算每個類別的重心到其他類重心的距離的均值
步驟S53:對各類別計算的距離按從大到小順序進(jìn)行排列,即y1,y2,…,yM-1,yM;
步驟S54:對新類別序列按照平均距離從大到小,以數(shù)列的兩端為起始位置交替地向中間排列,得到最優(yōu)排序序列y1,y3,…,yM-1,yM,…,y4,y2(假設(shè)M為偶數(shù)),這樣最優(yōu)序列中越靠近數(shù)列兩端的類別平均距離越大,越靠近中間位置的類別平均距離越小。
步驟S55:根據(jù)最優(yōu)排序序列生成最優(yōu)有向無環(huán)圖多分類器,實現(xiàn)多類別區(qū)分。
針對上述技術(shù)方案,發(fā)明人進(jìn)行了實驗與仿真來測試對泡沫鎳表面缺陷的識別情況。
實驗中整理了污染、裂紋和漏鍍?nèi)惾毕莨灿?00幅圖像進(jìn)行實驗,圖像大小均為128x128像素。先利用NSCT對泡沫圖像進(jìn)行多尺度幾何分解,經(jīng)試驗參數(shù)設(shè)置如下,LP濾波器為pfilter='9-7',DFB為dfilter='pk-va',分解級數(shù)為nlevels=[2,3,3],得到1個低頻子帶和20個高頻子帶,這樣每一幅樣本經(jīng)過NSCT三級分解后共得到21個子圖像。這些子圖像由NSCT分解后的系數(shù)矩陣來表示。
然后采用灰度共生矩陣計算泡沫鎳圖像經(jīng)多尺度分解后子帶圖像的紋理參數(shù)。選取像素間的距離度量d=5,分別對其計算0°、45°、90°、135°四個方向上GLCM,利用計算得到的每一個矩陣求取特征統(tǒng)計值,包括提取熵、逆差矩、能量和對比度,每個紋理特征參數(shù)用四個方向上計算的平均值作為最終獲得的特征值輸出,因此共得到84維特征數(shù)據(jù)。采用KPCA進(jìn)行參數(shù)降維,要求累計貢獻(xiàn)率大于85%,通過計算后選取特征維數(shù)為5。上述實驗開發(fā)環(huán)境為MATLAB2013,操作系統(tǒng)為windows XP。
為了比較算法識別率和效率,本申請分別用多種不同識別方法算法對測試樣本進(jìn)行識別,分別采用BP神經(jīng)網(wǎng)絡(luò),ELM神經(jīng)網(wǎng)絡(luò)和1v1SVM,最優(yōu)DAG-SVM進(jìn)行缺陷識別分析。其中極限學(xué)習(xí)機(jī)神經(jīng)網(wǎng)絡(luò)參數(shù)如下:選取Morlet小波函數(shù)形式的隱層輸出函數(shù),輸入層神經(jīng)元個數(shù)為降維后組合的特征向量,個數(shù)為5個,輸出個數(shù)為缺陷類別,個數(shù)為3個,隱含層個數(shù)根據(jù)誤差最小原則確定。1v1SVM和最優(yōu)DAGSVM的參數(shù)設(shè)置為:RBF,σ2=100,C=10。利用300幅泡沫鎳圖像的缺陷樣本數(shù)據(jù)進(jìn)行模型的訓(xùn)練,然后用108幅泡沫鎳圖像缺陷數(shù)據(jù)進(jìn)行分類測試(每一類缺陷36個樣本),不同算法的各種缺陷識別結(jié)果如表2所示。
表2各識別算法的正確識別數(shù)
從表2可看出,對于裂紋、漏鍍、污染幾種泡沫鎳表面缺陷,經(jīng)特征提取、分類器分類,采用本申請方法的正確識別數(shù)分別為31,32和33。采用四種不同識別方法的平均識別率為84.3%,86.1%,87.0%,88.9%。
對現(xiàn)有的圖像特征描述方法,如灰度共生矩陣,Garber和NSCT,提取泡沫圖像的紋理特征,統(tǒng)一采用最優(yōu)DAGSVM算法進(jìn)行缺陷識別,與本申請方法的比較如表3所示,參數(shù)設(shè)置同上。
表3不同特征描述方法缺陷識別準(zhǔn)確率
從表3可以看出,相比于其他幾種特征提取方法,本申請融合后的特征提取方法,正確識別和分類個數(shù)明顯提高。分析原因是本申請采用NSCT,使得缺陷圖像的方向性有了更好的表達(dá),缺陷紋理信息更為顯著。
綜上,本申請?zhí)岢隽艘环N基于多尺度紋理分析的泡沫鎳表面缺陷特征提取方法。首先采用非下采樣Contourlet變換對泡沫鎳圖像進(jìn)行多尺度幾何分解,利用分解后得到的低頻分量和各高頻分量表征不同缺陷的細(xì)節(jié)信息;然后計算各子帶上度量泡沫鎳圖像紋理信息的Haralick特征值。最后分別采用KPCA和最優(yōu)有向無環(huán)圖支持向量機(jī)(Directed acyclic graph-SVM,DAG-SVM)進(jìn)行特征數(shù)據(jù)的降維和缺陷分類識別,為泡沫鎳生產(chǎn)過程的自動檢測和優(yōu)化控制奠定基礎(chǔ)。通過實驗表明,本申請?zhí)岢龅姆椒軌蛴行У淖R別泡沫鎳表面缺陷,為類似工業(yè)過程提供借鑒。
以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。