本發(fā)明涉及機器視覺領(lǐng)域和缺陷檢測技術(shù),尤其涉及一種基于顯著性檢測的表面裂紋識別方法。
背景技術(shù):
工業(yè)生產(chǎn)中需要對產(chǎn)品進行質(zhì)量檢測,其中少不了對物體表面的缺陷識別。傳統(tǒng)方法大多采用人工來識別缺陷,耗時耗力,而且準(zhǔn)確率不高,不利于長期操作。因此就需要一種更為高效準(zhǔn)確的缺陷檢測方法,通過分析圖像識別物體表面缺陷。
現(xiàn)存在一種基于視覺注意的顯著性區(qū)域檢測方法,能有效地提高圖像處理分析方法的工作效率。目前大多數(shù)顯著性檢測都是基于自下而上的模型。經(jīng)典的itti算法僅考慮了局部特征,由于不停的使用鄰近插值,導(dǎo)致顯著圖的分辨率降低,并且還丟失了邊緣信息;譜殘差模型雖然需要調(diào)節(jié)的參數(shù)少,計算效率高,但只是在特定問題上奏效,不能通用。以上方法采用的特征都是一些底層的特征,如顏色,亮度,方向和空間位置信息,都容易受到背景噪聲的影響,并且在處理具有復(fù)雜紋理背景圖像時效果不佳。如何解決上述問題,提出更有效的識別方法,決定了顯著性檢測方法在工業(yè)產(chǎn)品檢測中的應(yīng)用。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的在于克服上述現(xiàn)有方法的不足之處,提出了一種更為高效準(zhǔn)確的基于顯著性檢測的表面裂紋識別方法。
一種基于顯著性檢測的表面裂紋識別方法,具體步驟如下:
步驟一,利用工業(yè)ccd照相機,采用線掃描方式獲取需要進行檢測的目標(biāo)圖像;
步驟二,將圖像從rgb色彩空間轉(zhuǎn)換至lab色彩空間,利用超像素分割算法(slic),選取一定大小的尺度對輸入圖像進行預(yù)分割;
步驟三,針對可能出現(xiàn)的“過分割”現(xiàn)象,采用均值漂移(mean-shift)算法將小區(qū)域聚類成更大的區(qū)域;
步驟四,利用改進的gcs模型來獲得彩色子顯著圖。從每個分割區(qū)域提取記錄色彩頻率的特征向量,并將所有像素的坐標(biāo)歸一化為[0,1]。然后,根據(jù)色彩特征向量的差異產(chǎn)生彩色子顯著圖。計算公式如下:
公式中,sc(rk)表示區(qū)域rk的顯著值;w(ri)表示區(qū)域ri的權(quán)重值,并且等于區(qū)域ri中的像素數(shù);dr(rk,ri)表示區(qū)域rk和ri之間的空間距離,且被定義為它們重心之間的歐式距離;σ2表示控制空間權(quán)重強度的正系數(shù)。dc(rk,ri)表示lab空間中rk和ri的顏色距離度,計算公式如下:
其中:f(rk,i)表示第k個片段區(qū)域rk中的所有nk個顏色中第i個顏色rk,i的頻率,k={1,2};
步驟五,利用gabor濾波器來獲得紋理子顯著圖,具體過程如下:
5.1對于通過分割方法輸出的區(qū)域中的每個像素,計算具有四個尺度和六個方向的gabor濾波器的響應(yīng);
假定第i個區(qū)域中的像素為pjk,如果具有某個標(biāo)度s和某個方向o的gabor濾波器的響應(yīng)是gjk(s,o),則在第i個區(qū)域中,所有像素的平均gabor響應(yīng)xi(s,o)的計算公式如下:
式中,ni是第i個區(qū)域中像素的數(shù)量,r是圖像中的行數(shù),c是圖像中的列數(shù);
5.2計算gabor響應(yīng)的方差yi(s,o),公式如下:
5.3將所求的平均值xi(s,o)與方差yi(s,o)進行組合,計算在第i個區(qū)域中,具有某個標(biāo)度s和某個方向o的平均值pi,qi:
其中:pi,qi分別為xi(s,o),yi(s,o)對于四個尺度和六個方向的平均值;
5.4計算第i個區(qū)域的紋理顯著值st(i)
其中nr表示分割圖像中區(qū)域的總數(shù);ni和nj分別表示第i個和第j個區(qū)域中的像素數(shù)量;
步驟六,對顏色和紋理子顯著圖進行自適應(yīng)平方融合,得到最終的顯著圖,對于位置為(i,j)的像素,顯著值計算公式如下:
其中,r為常數(shù),取值1.5;scij,stij分別表示在位置(i,j)處像素的顏色顯著值和紋理顯著值;α為自適應(yīng)融合系數(shù),計算公式如下:
qmax=max(q1,q2,…,qnr)
qmax是q1,q2,…,qnr的最大值,通過設(shè)定合適的t,k值,可以生成最終的顯著圖,來實現(xiàn)對目標(biāo)對象更好的檢測;
步驟七,對顯著圖進行自適應(yīng)閾值分割,分割出顯著區(qū)域;
步驟八,利用haar函數(shù),將灰度圖像分解為高頻分量和低頻分量,haar函數(shù)表示如下:
其中,k=2i+j,i表示比例且0≤i<p,j確定比例i中函數(shù)的位置值且
0≤j<2i;
步驟九,隔離識別圖像的邊緣特征的那些高頻系數(shù),具體過程如下:
9.1使用二維快速哈爾變換,將圖像的每一行進行哈爾變換,得到變換后的新圖像ⅰ;
9.2將新圖像ⅰ的每一列進行哈爾變換,得到變換后的新圖像ⅱ;
9.3對新圖像ⅱ分別進行均值、差分和縮放處理,得到3個處理后的圖像;
9.4利用高斯濾波器對3個處理后圖像進行去噪,之后對3個圖像進行“與”操作,組合成新的幅度圖像;
步驟十,設(shè)定裂紋檢測的閾值,一般為裂紋圖像中所有像素強度的平均值;
步驟十一,將幅度圖像的像素強度與閾值水平進行比較,判斷是否存在裂紋。
本發(fā)明所采用的方法:
超像素分割后利用均值漂移算法對分割產(chǎn)生的過小區(qū)域進行聚類處理,便于后續(xù)的特征提取。
根據(jù)提取到的顏色和紋理特征進行自適應(yīng)平方融合,合成的顯著圖能有效地促進對顯著對象的檢測。
經(jīng)過以上步驟之后得到待檢測物體的顯著區(qū)域圖像,對顯著圖進行自適應(yīng)閾值分割得到感興趣的區(qū)域(roi),再進行二維快速哈爾變換,得到圖像的像素強度,對比設(shè)定的像素閾值判斷區(qū)域內(nèi)是否存在裂紋。
本發(fā)明的原理是:對采集到的原始圖像進行超像素分割,分割之后分別利用改進的gcs模型和gabor濾波器得到顏色子顯著圖和紋理自顯著圖,然后將兩個子顯著圖進行自適應(yīng)平方融合得到最終的顯著圖,最后根據(jù)顯著圖來識別圖像中的裂紋缺陷,達(dá)到檢測目的。
本發(fā)明的優(yōu)點是:不僅能夠優(yōu)質(zhì)地處理普通圖像,還能夠有效處理具有復(fù)雜紋理的圖像,識別效率高,準(zhǔn)確性好。
附圖說明
圖1為本發(fā)明的工作流程圖。
具體實施方式
參考附圖,結(jié)合實施例對本發(fā)明做進一步描述,具體步驟如下:
步驟一,利用工業(yè)ccd照相機,采用線掃描方式獲取需要進行檢測的目標(biāo)圖像;本實例中檢測的是圓形鐵氧體磁片,獲得尺寸為300*400的圖片。
步驟二,將圖像從rgb色彩空間轉(zhuǎn)換至lab色彩空間,利用超像素分割算法(slic),選取一定大小的尺度對輸入圖像進行預(yù)分割。本實例中尺寸300*400像素的圖像被分割成大約3600個超像素。
步驟三,針對可能出現(xiàn)的“過分割”現(xiàn)象,采用均值漂移(mean-shift)算法將小區(qū)域聚類成更大的區(qū)域?!斑^分割”現(xiàn)象是指圖像經(jīng)過slic算法分割后,存在許多細(xì)小和微小的區(qū)域,不利于提取用于描述圖像內(nèi)容的有意義且可靠的圖像特征。
步驟四,利用改進的gcs模型來獲得彩色子顯著圖。從每個分割區(qū)域提取記錄色彩頻率的特征向量,并將所有像素的坐標(biāo)歸一化為[0,1]。然后,根據(jù)色彩特征向量的差異產(chǎn)生彩色子顯著圖。計算公式如下:
公式中,sc(rk)表示區(qū)域rk的顯著值;w(ri)表示區(qū)域ri的權(quán)重值,并且等于區(qū)域ri中的像素數(shù);dr(rk,ri)表示區(qū)域rk和ri之間的空間距離,且被定義為它們重心之間的歐式距離;σ2表示控制空間權(quán)重強度的正系數(shù),本例中設(shè)為0.4;dc(rk,ri)表示lab空間中rk和ri的顏色距離度,計算公式如下:
其中,f(rk,i)表示第k個片段區(qū)域rk中的所有nk個顏色中第i個顏色rk,i的頻率,k={1,2};
步驟五,利用gabor濾波器來獲得紋理子顯著圖,具體過程如下:
5.1對于通過分割方法輸出的區(qū)域中的每個像素,計算具有四個尺度和六個方向的gabor濾波器的響應(yīng)。
假定第i個區(qū)域中的像素為pjk,如果具有某個標(biāo)度s和某個方向o的gabor濾波器的響應(yīng)是gjk(s,o),則在第i個區(qū)域中,所有像素的平均gabor響應(yīng)xi(s,o)的計算公式如下:
式中,ni是第i個區(qū)域中像素的數(shù)量,r是圖像中的行數(shù),c是圖像中的列數(shù);
5.2計算gabor響應(yīng)的方差yi(s,o),公式如下:
5.3將所求的平均值xi(s,o)與方差yi(s,o)進行組合,計算在第i個區(qū)域中,具有某個標(biāo)度s和某個方向o的平均值pi,qi:
其中,pi,qi分別為xi(s,o),yi(s,o)對于四個尺度和六個方向的平均值;
5.4計算第i個區(qū)域的紋理顯著值st(i)
其中nr表示分割圖像中區(qū)域的總數(shù);ni和nj分別表示第i個和第j個區(qū)域中的像素數(shù)量;
步驟六,對顏色和紋理子顯著圖進行自適應(yīng)平方融合,得到最終的顯著圖,對于位置為(i,j)的像素,顯著值計算公式如下:
其中,r為常數(shù),取值1.5;scij,stij分別表示在位置(i,j)處像素的顏色顯著值和紋理顯著值;α為自適應(yīng)融合系數(shù),計算公式如下:
qmax=max(q1,q2,…,qnr)
qmax是q1,q2,…,qnr的最大值,通過設(shè)定合適的t,k值,可以生成最終的顯著圖,來實現(xiàn)對目標(biāo)對象更好的檢測。本實例中,設(shè)置t=5和k=1600。
步驟七,對顯著圖進行自適應(yīng)閾值分割,分割出顯著區(qū)域。
步驟八,利用haar函數(shù),將灰度圖像分解為高頻分量和低頻分量,haar函數(shù)表示如下:
其中,k=2i+j,i表示比例且0≤i<p,j確定比例i中函數(shù)的位置值且
0≤j<2i;
步驟九,隔離識別圖像的邊緣特征的那些高頻系數(shù),具體過程如下:
9.1使用二維快速哈爾變換,將圖像的每一行進行哈爾變換,得到變換后的新圖像ⅰ。
9.2將新圖像ⅰ的每一列進行哈爾變換,得到變換后的新圖像ⅱ。
9.3對新圖像ⅱ分別進行均值、差分和縮放處理,得到3個處理后的圖像。
9.4利用高斯濾波器對3個處理后圖像進行去噪,本實例中采用3*3的窗口對圖像進行去噪,之后將3個圖像進行“與”操作,組合成新的幅度圖像。
步驟十,設(shè)定裂紋檢測的閾值,一般為裂紋圖像中所有像素強度的平均值。本實例中設(shè)定閾值為100。
步驟十一,將幅度圖像的像素強度與閾值水平進行比較,判斷是否存在裂紋。本實例中幅度圖像的像素強度為134大于閾值,故實例圖片中存在裂紋。