張東洋,楊永輝,儲茂祥,鄧 鑫
(遼寧科技大學 電子與信息工程學院,遼寧 鞍山 114051)
隨著工業(yè)技術的發(fā)展,對鋼材的質量有更高要求[1],鋼的板表面缺陷是影響鋼板質量的重要因素.在鋼材生產(chǎn)過程中,不同原因使鋼材表面出現(xiàn)劃痕、裂紋、氧化鐵皮等缺陷[2-4].基于機器視覺的表面缺陷檢測已成為研究熱點,而表面缺陷圖像分割是表面缺陷檢測過程中的一個重要環(huán)節(jié)[5].圖像分割方法有:閾值分割、區(qū)域生長分割、邊緣分割方法等,其中閾值分割方法因計算簡單、運算效率高、易實現(xiàn),得到廣泛應用.常見的閾值分割算法有:最大熵圖像分割[6]、最小誤差[7]和Otsu算法[8]等.Otsu算法是一種自適應閾值分割算法,分割效果良好,但其只考慮圖像灰度,未考慮像素與鄰域像素間的聯(lián)系,易受噪聲影響.文獻[9]提出2維灰度級-平均灰度級-Otsu(grayscale-average grayscale-Otsu,簡稱GAG-Otsu)算法,算法抗噪能力有所提高,但去噪效果不很理想,且計算量大.文獻[10]提出2維灰度級-梯度-Otsu(grayscale-gradient-Otsu,簡稱GG-Otsu)算法,總體上來說算法在分割精度和效率上均有所提高,但對信噪比較小的鋼板表面缺陷圖像的分割精度仍不高.為進一步提高缺陷分割精度,筆者在2維GG-Otsu算法的基礎上,加上權重因子得到2維加權的灰度級-梯度-Otsu(weighted grayscale-gradient-Otsu,簡稱WGG-Otsu)算法,提高分割精度.將Otsu算法與各種優(yōu)化算法結合,能提高圖像的分割效率. 相比粒子群優(yōu)化算法[11]、狼群優(yōu)化算法[12]、遺傳算法[13],鯨魚優(yōu)化算法收斂速度更快、精度更高[14].因此,筆者擬將鯨魚優(yōu)化算法與2維WGG-Otsu算法相結合,構建2維鯨魚優(yōu)化加權的灰度級-梯度-Otsu(whale optimized weighted grayscale-gradient-Otsu,簡稱WOWGG-Otsu)算法,以提高圖像分割精度及效率.
2維GG-Otsu算法原理如下:假設f(x,y)(1≤x≤M,1≤y≤N)為一幅大小為M×N的圖像中像素點的像素值,g(x,y)為高斯平滑后的此圖像中像素點的像素值.2幅圖像的灰度級均為L.F(i,j)是f(x,y)與|f(x,y)-g(x,y)|構成的2元組,F(xiàn)(i,j)=(f(x,y),|f(x,y)-g(x,y)|).圖1為F(i,j)直方圖的區(qū)域劃分.圖1中,F(xiàn)(i,j)的2維直方圖被(t,s)劃分成4個區(qū)域.將|f(x,y)-g(x,y)|過大的2,3區(qū)域的點視為噪聲點,0,1區(qū)域作為背景及目標點.因此,在計算最佳分割閾值時,只需計算0,1區(qū)域的像素點.
圖1 F(i,j)直方圖的區(qū)域劃分
設二元組F(i,j)出現(xiàn)的次數(shù)為nij,則對應的聯(lián)合概率密度Pij為
(1)
假設分割閾值為(t,s),則區(qū)域0,1對應的概率分別為
(2)
(3)
區(qū)域0,1的均值向量分別為
(4)
(5)
F(i,j)直方圖的總均值向量為
(6)
2維GG-Otsu算法鋼板表面缺陷圖像的類間方差和為
(7)
令
ω=1-Pt,Pt=Pt-k+Pt-k+1+…+Pt-1+Pt+Pt+1+…+Pt+k-1+Pt+k,
其中:Pt為閾值在區(qū)間(t-k,t+k)的分布概率[15].
基于2維WGG-Otsu算法的鋼板表面缺陷圖像的類間方差和為
ω{ω0(u0i-uzi)2+ω0(u0j-uzi)2+ω1(u1j-uzi)2+ω1(u1i-uzi)2}.
(8)
在鯨魚優(yōu)化算法中,每頭座頭鯨的位置代表一個可行解.座頭鯨在捕食過程中,以概率Pi進行收縮形式狩獵,以概率(1-Pi)進行螺旋形式狩獵.座頭鯨在捕食前期,為尋找更好目標,在鯨群中隨機找一頭鯨為最優(yōu)位置更新鯨群位置,以增強全局搜索能力.整個捕食的數(shù)學模型如下
(9)
其中
D1=|CX*(t)-X(t)|,Dp=|X*(t)-X(t)|,
(10)
其中:β為(-1,1)中的隨機數(shù);α為常數(shù);t為當前迭代次數(shù),Tmax為最大迭代次數(shù);A,C為調整系數(shù);r1,r2是(0,1)中的隨機數(shù);a的值隨迭代次數(shù)t的增加從2線性下降至0.
筆者將2維WGG-Otsu算法與鯨魚優(yōu)化算法結合,得到2維WOWGG-Otsu算法. 2維WOWGG-Otsu算法沒有使用窮舉法尋找最佳閾值,而是采用座頭鯨捕食的方式,盡快找到一組解(s*,t*),使式(8)的值最大.2維WOWGG-Otsu算法步驟為:
步驟1 設鯨的數(shù)量為N,最大迭代次數(shù)為Tmax,概率Pi為0.5,座頭鯨活動范圍為[0,255].如果座頭鯨位置超出活動范圍的最小值Lb,則將座頭鯨位置定義為0;如果座頭鯨位置超出活動范圍的最大值Ub,則將座頭鯨位置定義為255.
步驟2 計算個體的適應度,將適應度最大的個體位置作為最優(yōu)位置Pbest.
步驟3 當P>0.5時,以螺旋形式更新鯨群的位置;當P≤0.5,A≥1時,進行隨機搜索,更新鯨群位置,以防陷入局部最優(yōu);當P≤0.5,A<1時,以收縮形式更新鯨群位置.
步驟4 若達到最大迭代次數(shù),則輸出最佳閾值(s*,t*),否則重復步驟2,3,直至達到最大迭代次數(shù).
仿真實驗用Matlab R2016b編寫程序.設置鯨的數(shù)量N=15,最大迭代次數(shù)tmax=10.式(8)中常量α取1.鯨魚位置的上界Ub=255,下界Lb=0.變量a隨迭代次數(shù)的增加,線性遞減.
實驗使用的鋼板表面缺陷圖像來自東北大學發(fā)布的鋼板表面缺陷數(shù)據(jù)集[16].在該數(shù)據(jù)集中選擇4類鋼板表面缺陷圖片用于實驗.圖2為4種算法對帶有夾雜、斑塊、壓入氧化鐵皮和劃痕4類缺陷圖像的分割結果.由圖2可知,夾雜、斑塊和壓入氧化鐵皮的顏色相對于背景顏色較暗、灰度值低,分割后鋼板表面缺陷呈黑色;劃痕顏色相對于背景顏色較亮、灰度值高,分割后劃痕呈白色. 對照原圖易知,2維WGG-Otsu算法及2維WOWGG-Otsu算法的分割效果比2維GG-Otsu算法及2維最大熵算法的好.
圖2 4種算法對圖像的分割結果
為了定量比較4種分割算法對4類鋼板表面缺陷圖像的分割效果,使用Dice相似性系數(shù)(DSC)作為評價指標[17],其定義式為
DSC(A,B)=2(A∩B)/(A+B),
(11)
其中:A為標準圖像,B為待評價圖像.DSC值越大,則圖像的分割效果越好,反之越差.
4種算法對鋼板表面夾雜缺陷圖像的分割性能比較如表1所示.
表1 4種算法對夾雜缺陷圖像的分割性能比較
從表1的分割閾值可知,相對于2維GG-Otsu算法及2維最大熵算法,2維WGG-Otsu算法及2維WOWGG-Otsu算法的分割精度高.從運行時間可知,2維WOWGG-Otsu算法的分割效率最高.
4種算法對鋼板表面斑塊缺陷圖像的分割性能比較如表2所示.
表2 4種算法對斑塊缺陷圖像的分割性能比較
從表2的分割閾值可知,相對于2維GG-Otsu算法及2維最大熵算法,2維WGG-Otsu算法及2維WOWGG-Otsu算法的分割精度高.從運行時間可知,2維WOWGG-Otsu算法的分割效率最高.
4種算法對鋼板表面壓入氧化鐵皮缺陷圖像的分割性能比較如表3所示.
表3 4種算法對壓入氧化鐵皮缺陷圖像的分割性能比較
從表3的分割閾值可知,相對于2維GG-Otsu算法及2維最大熵算法,2維WGG-Otsu算法及2維WOWGG-Otsu算法的分割精度高.從運行時間上可知,2維WOWGG-Otsu算法的分割效率最高.
4種算法對鋼板表面劃痕缺陷圖像的分割性能比較如表4所示.
表4 4種算法對劃痕缺陷圖像的分割性能比較
從表4的分割閾值可知,相對于2維GG-Otsu算法及2維最大熵算法,2維WGG-Otsu算法及2維WOWGG-Otsu算法的分割精度高.從運行時間上可知,2維WOWGG-Otsu算法的分割效率最高.綜上所述,可知4種算法中2維WOWGG-Otsu算法對夾雜、斑塊、壓入氧化鐵皮和劃痕4種缺陷圖像的分割精度及效率均最高.
相對于2維GG-Otsu算法和2維最大熵算法,筆者提出的2維WGG-Otsu算法使得到的分割閾值更接近目標直方圖與背景直方圖間的波谷處的閾值,從而減少了外界噪聲、背景與目標間的差異對分割的影響,提高了分割的精度.將2維WGG-Otsu算法與鯨魚優(yōu)化算法相結合,能快速找到最佳分割閾值,縮短了分割時間,從而提高了分割的效率.實驗結果表明,相對于其他3種算法2維WOWGG-Otsu算法的分割精度及效率均最高,具有良好的應用前景.