胡 鷹,侯政通,安 宇,喬磊明
(太原科技大學 計算機科學與技術學院, 太原 030024)
鋼材是當今世界上最重要的工業材料之一,近年來隨著新技術新工藝的不斷應用,各種新產品不斷涌現,如我國最新研發的手撕鋼,其厚度只有0.02 mm,其生產工藝對鋼材產品表面質量要求極為嚴格,我國目前在該領域處于世界領軍水平。然而,當這些鋼材在制造加工運輸等環節中均會受到多種因素的影響,使其在外表面形成各種復雜類型的缺陷。這些缺陷附著或嵌入在鋼板表面除了直接影響產品的美觀之外,還間接影響了產品的結構質量和使用壽命,從而降低了企業的經濟效益。為了能得到優質的成品鋼板,需要建立起一套完備的缺陷識別流程體系,供一線生產檢測識別。
鋼板表面缺陷圖像的識別首先需要從生產線上獲取不同缺陷的圖像,傳統缺陷識別主要依靠一線工人目測,隨著機器視覺技術的興起,基于機器視覺的金屬表面缺陷檢測[1]已經成為當今各國鋼鐵企業的主流技術,大多采用高速線陣CCD攝像機拍攝鋼板表面[2-6],通過融合提取特征[7],再輸入到分類器中訓練,最后完成對缺陷圖像分類。
在傳統機器學習分類方法中,ünsalan等[8]對鋼表面銹蝕等級做劃分,將最近鄰分類器用于帶鋼表面缺陷類型的識別。Tang等[9]通過提取到的特征,采用BP神經網絡方法對冷軋帶鋼表面缺陷圖像進行分類。Jeon等[10]采用支持向量機對劃痕缺陷進行檢測。但傳統的K最近鄰法(k-nearest neighbor,KNN)分類器在大數據中難以處理高維數據,并在不同類別之間重疊度高的部分容易判錯;另外,BP神經網絡訓練針對大樣本,而且需要通過反向傳播不斷修正誤差,所以學習速度慢,易產生過擬合。而支持向量機(support vector machine,SVM)[11]的優點是考慮結構風險最小化原則,適用于小樣本、高維度的二分類問題,能有效避免過擬合,具有良好的泛化性能。
雖然SVM在數據的分類和回歸預測上展示了優異的性能,但隨著研究的深入,SVM在處理高維數據,尤其在對圖像復雜的特征分類時,無法用最大邊際求解到一個合適的超平面,經常會產生較差的效果。實際上,傳統的SVM算法旨在解決一個大規模的二次規劃(QPP)問題,這直接導致SVM在一些應用上效率底、分類速度慢的問題,所以如果對SVM原始的模型做改進或增加正則項勢必會增大開銷,導致速度更慢。
自2007年孿生支持向量機(twin support vector machine,TWSVM)[12]被提出后,相對于SVM不僅有效削減了計算成本,還保持了優異的分類性能,同時也提出很多的改進和應用,如Kumar 等[13]引入了LSTWSVM,將不等式約束改為線性約束,提高模型訓練速度;Jayadeva等[14]引入模糊隸屬度函數提供給數據點,使其給模型提供不同的貢獻度;Chu等[15]在LSTWSVM基礎上通過對數據進行修剪提出ELS-TWSVM,有效地限制了噪聲樣本所帶來的影響并成功運用到帶鋼表面缺陷的分類上。但是,上述的方法都存在一個問題,就是這些算法只是將異類分開,只關注樣本的可分離性,而沒有充分挖掘到樣本間底層信息的關聯性,忽略了底層數據信息的結構分布特征。
在常見的缺陷種類中,同種類的缺陷樣本之間會產生極為相似的特征,特征的分布存在很高的關聯程度,利用這些數據在全局和局部的結構信息,可以最小化同類樣本間離散度并且最大化異類樣本間的離散度,從而更好地進行分類。所以針對以上方法存在的問題,本文利用TWSVM的速度優勢替換SVM算法,將全局、局部信息加入TWSVM的正則項中當作約束條件,提出全域優化孿生支持向量機(global optimized twin support vector machine,GTWSVM)算法,更好地對鋼板表面缺陷分類。
為了使計算機更好地識別缺陷圖像,采用灰度變換,從空間域上調整圖像對比度來改善視覺效果,在突出感興趣信息的同時,也能抑制部分無關的信息,以達到圖像增強的目的。由于工廠獲取的圖片受到現場高溫的影響,也會出現不同程度的噪點,這些噪點會影響后期的分類效果,所以采用了基于紋理分割的Gabor濾波器[16]對增強后的圖像進行降噪平滑處理。
為了后期達到更好的分類效果,這里對預處理后的圖像采用灰度共生矩陣(gray-level co-occurrence matrix,GLCM)[17-18]和方向梯度直方圖(histogram of oriented gradient,HOG)[19-20]提取高維特征。
1.2.1灰度共生矩陣
在實際的缺陷圖像中,往往缺陷區域的灰度值和周圍區域的灰度值有著明顯的差異,為了更好地統計不同方向上灰度變換的頻率,采用GLCM提取缺陷圖像的紋理特征。首先將預處理后的圖像灰度級壓縮為16個灰度級,以此來減少矩陣計算量,然后以當前像素點為坐標中心,設置基準窗口尺寸為3×3,步長距離為1,移動方向為0°、45°、90°、135°。滑動窗口以基準窗口作為參考窗口,通過設定的移動方向和步長距離進行移動,尺寸與基準窗口相同。在依次遍歷每幅缺陷圖像上的全部像素點后,最終每幅圖像都會得到一個關于缺陷紋理信息的特征矩陣。
1.2.2方向梯度直方圖
缺陷圖像中,局部缺陷區域和非缺陷區域的亮度不同,這可以通過計算邊緣梯度來獲取圖像明暗區域的變化信息,而HOG特征向量是由圖像局部區域的梯度方向生成的統計直方圖來構成,優點是對幾何形變和光照形變有著良好的不變性,因此可以對實時變化的圖像數據環境保持良好的魯棒性。
首先利用[-1,0,1]T和[1,0,-1]T梯度算子分別對預處理后的圖像做卷積運算,計算出每個像素的水平方向和垂直方向的梯度,同時計算每個像素位置的梯度大小和方向,然后將圖像劃分成若干小的細胞單元,以45°等分將梯度方向映射到180°的范圍中,統計細胞單元的梯度方向直方圖,最后將細胞單元組成更大的描述子,稱為“塊”,本文的塊尺寸設置為3×3。為了降低局部光照變化帶來的影響和更好地融合其他特征,需要塊內進行歸一化處理。
最終將提取好的GLCM和HOG特征進行拼接,得到337維特征長度,由于維數拼接過高容易造成過擬合,這里采用PCA降維,同時將特征歸一化和去中心化,使坐標平移到數據中心,更好分類。
與傳統的SVM不同,TWSVM是Jayadeva等[12]在2007年提出的一個二分類算法,它將解決2個小規模的二次規劃問題,而不是求解單個大規模二次規劃問題,它實際由2個非平行超平面xTω1+b1=0和xTω2+b2=0構成。圖1為TWSVM示意圖,目的是為了使2個超平面接近2個類的一個,而盡可能遠離另一個類。

圖1 孿生支持向量機示意圖
為了構造這2個非平行決策平面,首先定義一組d維數據T={(xi,yi)|xi∈Rd,i=1,2,…,m},xi是輸入樣本,考慮是二分類問題,所以yi={+1,-1}為樣本標簽。然后將訓練集T劃分成大小為m1×n的矩陣A和大小為m2×n的矩陣B,其中m1+m2=m,從而建立了一對原始優化問題:
(1)
(2)
式中:ω1、ω2為超平面法向量;b1、b2為超平面偏移量;c1、c2為懲罰參數;q1、q2為松弛變量;e1、e2為適當維數的1向量。
通過引入拉格朗日乘子向量,并利用K.K.T條件[21],如下可以分別得到式(3)和式(4)的對偶問題:
(3)
(4)
式中,α=[α1,α2,…,αm2]T,γ=[γ1,γ2,…,γm1]T為拉格朗日乘子向量H=[Ae1],G=[Be2],P=[Ae1],Q=[Be2]。
令μ=[ω1,b1]T,v=[ω2,b2]T,由K.K.T條件知:μ=-(HTH)-1GTα,v=(QTQ)-1PTγ,當求得μ和v后,即可求出2個超平面。
通過下式,TWSVM很容易標記一個新樣本x:
f(x)=argmin{|xTωl+bl=0|},l=1,2
(5)
線性鑒別分析(linear discriminant analysis,LDA)[22]是一種降維方式。針對全局結構,每類樣本點與本類的樣本均值點的總方差體現了散列程度,能體現數據總體分布情況,也反映了樣本點之間的密度,所以在投影后使同類樣本點與均值點的距離平方和變小,即從總體上來看每個類中的樣本與所屬類之間的離散度。相反,對于異類的樣本之間,從全局的角度上,通過求取每個類的中心點或均值點,使其投影后兩類的均值點間的距離能夠盡可能的大,從而在整體空間上彼此互相遠離。如圖2所示,其思想是希望找到一個最佳的投影方向,希望樣本之間在投影到低維空間后使異類樣本間的距離足夠遠,也希望同類樣本間的距離變得更緊湊,從而LDA可以刻畫出樣本與樣本之間的結構關系。

圖2 最小化同類間距離和最大化異類間距離示意圖
LDA目的是通過最大化以下函數式J(ω)的比值,找到最優的判別向量ω*,函數式定義如下:
(6)
式中:Sb為類內離散度矩陣;Sw為類間離散度矩陣,分別反應類內和類間的數據樣本差異。
在采集到的鋼板表面各類缺陷圖像中,往往同種缺陷的圖像有非常相似的紋理、梯度等特征,所以在分類中充分挖掘樣本信息之間的關聯性,使同類樣本之間能夠盡量聚到一起,同時異類樣本之間盡可能遠離,從而更好的分類。受LDA思想的啟發,在二分類的情況下,通過樣本與樣本之間的方差來體現樣本之間的關聯性,會使模型更加關注數據樣本的先驗知識。在TWSVM中加入LDA全局類內最小化思想,那么圖1中兩類樣本虛線所圍面積會有所減小,使計算出的分類超平面將更準確地區分兩類樣本。
根據LDA算法,可以定義全局類內協方差矩陣Sw:
(7)

因為全局信息體現的數據樣本整體的結構關系,沒有體現樣本局部范圍內的信息結構,但在鋼板表面缺陷圖像中不同類型的缺陷往往存在較大差別,但同種類型的缺陷卻高度相關,所以我們也希望利用樣本的局部關系,通過歐氏距離找到樣本附近與之特征相似的樣本點,同時也挖掘出與樣本相差很大的部分樣本點,使投影后樣本在新的子空間有最小的類內距離和最大的類間距離。由于LDA是針對全局結構[23],所以本文將采用KNN算法來提取樣本的局部結構,挖掘局部樣本之間的關系。
這里考慮正類樣本,若xi為正樣本中任意一點,則定義它的K個同類近鄰樣本為N+(xi),同時定義它的K個異類近鄰樣本為N-(xi)。
N+(xi)=xik,k∈1,2,…,K,
N-(xi)=xjk,k∈1,2,…,K
(8)
(9)

(10)

在TWSVM算法的基礎上,將樣本全局類內離散度矩陣、局部類內離散度矩陣和類間離散度矩陣作為正則項加入到TWSVM中構成新模型,相比原模型,新模型在添加全局信息后對于數據的分布有更好地掌控,可以最大程度使同類樣本盡可能附著在超平面上;同時,添加局部信息后,不僅可以更加關注內部結構,也能使邊緣樣本點遠離異類超平面,從而達到更好的分類效果。
線性GTWSVM構成如下2個QPPs問題:
(11)
(12)
式中:ω1、ω2為超平面法向量;b1、b2為超平面偏移量;c1至c4,v1至v6為懲罰參數;q1、q2為松弛變量;e1、e2為適當維數的1向量。2個公式的第一項是每個類的點到超平面之間距離的平方和。因此,最小化會使超平面接近2個類中的其中一個類(如正類)。第二項是最小化誤差變量的求和。第三項相當于最大化關于超平面的一側邊距。第四項是最小化局部一類樣本中的散點。第五項是最大化局部異類樣本間散點。第六項是最小化全局類內散點。最終,使得優化后的模型更加關注全局、局部結構信息。
對式(11)建立拉格朗日函數為:

αT(Bω1+e2b1+e2-q2)-βTq2
(13)
其中,α=[α1,…,αm2]T和β=[β1,…,βm2]T是朗格朗日乘子向量。根據K.K.T充分必要條件得:

(14)
(15)
(16)
-(Bω1+e2b1)+q2≥e2,q2≥0
(17)
αT[-(Bω1+e2b1)+q2-e2]=0,βTq2=0
(18)
α≥0,β≥0
(19)
從式(19)中知α≥0,β≥0,所以由式(16)可以得:
0≤α≤c1e2
(20)
將式(14)和式(15)合并表示為:
(21)
其中,I為適當維數的單位矩陣。
定義:
H=P=[Ae1]
G=Q=[Be2]
(22)
令μ=[ω1,b1]T,可以重寫式(21)為:
HTHμ+τμ+GTα=0
(23)
則:
μ=-(HTH+τ)-1GTα
(24)
將式(24)代入式(13)中,可以求得式(11)的對偶QPPs問題:
(25)
同理可以獲得式(12)的對偶問題:
(26)
其中,
ν=[ω2,b2]T=(QTQ+φ)-1PTγ
(27)
(28)
最終,通過式(24)和式(27),可以得到2個超平面:
xTω1+b1=0,xTω2+b2=0
(29)
由式(5),一個新樣本x可以通過計算到2個超平面距離的遠近來確定所從屬的類別。
由于鋼板表面缺陷圖像屬于多維特征,線性分類存在維度制約,不能很好地對其進行分類,所以需要對應非線性情況。GTWSVM通過核函數,從低維空間到高維Hilbert空間中[24]構造2個超平面K(xT,CT)u1+b1=0,K(xT,CT)u2+b2=0,其中,CT=[ATBT],u1,u2∈Rd為法向量,K是一個適合的核函數,K(xT,CT)=φ(xT)·φ(CT)。
此時ω1、ω2被映射為:
(30)
與線性情況相似,非線性GTWSVM的2個QPPs問題分別描述如下:
s.t. -(K(B,CT)u1+e2b1)+q2≥e2,
q2≥0
(31)
s.t. (K(A,CT)u2+e1b2)+q1≥e1,q1≥0
(32)
式中:

(33)

(34)

(35)

類似于線性情形,式(31)(32) 的解表示為:
(36)
(37)
其中,
Hφ=Pφ=[K(A,CT)e1]
Gφ=Qφ=[K(B,CT)e2]
(38)
同理,可以獲得式(31)(32)的對偶QPPs問題:
(39)
(40)
則新樣本的類別可以通過如下函數進行判別:
(41)
在一線生產過程中,由于鋼坯在軋制前沒有得到徹底地清理,導致軋制過程中有塊狀等雜質壓入鋼坯表面,冷卻后掉落,最終在表面形成諸如小凹坑狀的麻點;熱軋中,時間過長也會導致其表面形成點狀金屬氧化物[25];同時,受到矯直機、運輸機等設備的影響,也容易在表面形成條狀劃痕[26]。
鋼板表面缺陷的形成因素極為復雜,所以導致大量的缺陷種類。為了驗證算法的可行性和泛化性能,實驗選用2個典型的鋼板表面缺陷數據集進行驗證,首先選用東北大學熱軋鋼表面缺陷均衡數據集NEU-DET[27],驗證算法在平衡數據集上的表現。其次,在工業生產過程中采集到的圖像數據往往是不充分的,每種缺陷的數量層次不齊,所以為了驗證算法在不平衡數據集上的泛化性,又采用了東北大學的熱軋帶鋼表面缺陷不平衡數據X-SDD[28]進行實驗驗證。
NEU數據集收集了熱軋帶鋼表面的6種典型缺陷圖像,即裂紋(Cr) 、夾雜物(In) 、斑塊(Pa) 、麻點(PS)、壓入氧化皮(RS)、刮痕(Sc)6類缺陷。該數據收集有1 800張鋼板表面缺陷的灰度圖像,每張圖像的原始分辨率為200×200像素,每種類型表面缺陷有300個樣本。按8∶2比例隨機選取每類缺陷的80%,剩下的20%作為測試集,樣本部分圖像以及經過預處理后的圖像如圖3,圖中第1行為每種類型缺陷樣圖,第2行為圖像增強后的圖像,第3行是經過Gabor濾波的去噪圖像。

圖3 NEU部分原圖像以及預處理結果圖像
S-SDD數據集包含7種熱軋帶鋼表面缺陷,即精軋輥印(FRP)、鐵皮灰(ISA)、夾雜物(In)、板道系氧化皮(PSOS)、紅鐵皮(RIS)、劃痕(Sc)、溫度系氧化皮(TSOS),共計1 360張缺陷圖像,每個缺陷圖像分辨率為128×128像素。每類缺陷樣本數量不同,其中精軋輥印203幅,鐵皮灰122幅,夾雜物238幅,板道系氧化皮63幅,紅鐵皮397幅,劃痕134幅,溫度系氧化皮203幅,屬于不平衡數據集。同樣,實驗設置80%作為訓練集,剩下20%作為測試集。部分圖像以及經過預處理后的圖像如圖4所示,圖中第1行為每種類型缺陷樣圖,第2行為圖像增強后的圖像,第3行是經過Gabor濾波的去噪圖像。

圖4 X-SDD部分原圖像以及預處理結果圖像
在本節中,通過相關實驗來證明本文GTWSVM算法的性能。所做實驗是在1臺配有Intel(R) Core(TM) i5-1135G7處理器(2.40 GHz)和16 GB RAM的電腦上并結合MATLAB R2017b編程軟件實現的。
實驗中對比了5種傳統的算法,分別為BP、KNN、SVM、TWSVM、本文算法GTWSVM,每個算法均采用SOR算法來求解帶有約束條件的二次規劃問題。通過上文特征提取后降維得到37維缺陷樣本。這樣每個缺陷樣本圖像將由37維的特征向量和對應的標簽構成,進行多分類測試實驗,采用“一對多”(one-versus-all,OVA)[29]策略。用于本文評價方法的精確率(P)、召回率(R)、準確率(A)和F1Score值定義如下:
(42)
其中,TP、TN、FP和FN分別為正確預測為正樣本數量、正確預測為負樣本數量、被錯誤預測為正樣本的負樣本數量、被錯誤預測為負樣本的正樣本數量。
核函數的選擇對映射到高維中樣本的分類有重要作用,文中采用最廣泛應用的徑向基函數(radial basis function,RBF),其表達式為:

(43)
為了減少大規模訓練時間,使正則化參數c1=c3、c2=c4、v1=v4、v2=v5、v3=v6,通過網格搜索,從{2i|i=-16,-15,…,+5}獲取RBF核參數σ、正則化參數和懲罰參數最優值。經過參數預調整,在GTWSVM中最近鄰參數K值選取7,一旦選擇了這些參數,將調優集返回到訓練集,學習最終的決策函數。
對NEU數據集進行實驗對比后,總體表現性能以及6種缺陷在不同算法的分類結果對應的詳細指標分別如表1和表2所示。

表1 不同算法在NEU數據集上的評估結果

表2 每種缺陷分類指標結果
由表2實驗結果可以看出,除BP神經網絡外,其他4種算法對每類缺陷的識別都呈現出比較高的精度,但在同樣大小的訓練集和測試集下,本文新提出的GTWSVM算法分類精度更高。在實際圖像中,麻點(PS)和壓入氧化皮(RS)存在類似點狀缺陷,尤其在第4類缺陷PS中混雜噪點較多并附著少量其他類型的缺陷,導致整體分類精度不高。但本文算法在PS缺陷中相對于其他算法分類效果更加明顯,召回率相較于BP提升了38.14%、相較于KNN提升了13.56、相較于SVM提升了3.39%、相較于TWSVM提升了6.78%,另外在其他指標上均有一定程度的提升;同時,在第2類缺陷In和第6類缺陷Sc中,本文算法相對于TWSVM算法有明顯提高,F1Score值分別提高1.42%和0.91%,召回率分別提高1.24%和1.67%。說明改進后的算法更加關注樣本與樣本之間的關聯性,所得到的超平面更加利于區分。雖然提出的算法在一些缺陷分類效果上與其他算法相持平,但從表1可以看出分類整體效果上均優于其他4種算法,有更好的表現。
為了證明算法的實用性,對X-SDD數據集進行了測試,總體表現和具體每種缺陷指標如表3、表4所示。

表3 不同算法在X-SDD數據集上的評估結果
從表4可以看出,在第4類缺陷樣本PSOS中,由于訓練數據較少,導致模型擬合效果沒有達到良好的表現,但本文所提的GTWSVM算法在該類缺陷上,召回率取得了60%的成績,相對于其他算法有顯著提升。雖然在第1類缺陷FRP中,GTWSVM的召回率低于TWSVM,但在第2類缺陷ISA、第3類缺陷In以及第5類缺陷RIS中均有不同程度的提升,其中在第3類缺陷In中,召回率相較于改進前的TWSVM算法召回率提升了16.26%,F1Score達到了90.72%,遠高于其他對比算法。同時,從表3可以獲知,本文所提GTWSVM算法在整體性能上優于TWSVM、SVM等算法,總體準確率達到了89.19%,同樣在其他指標上也有一定提升。

表4 每種缺陷分類指標詳細結果
通過2組實驗,說明在原TWSVM模型中,添加全局信息后,使得投影后的每一類樣本到本類樣本均值點的距離平方和減小;同時,添加局部信息后,每類樣本點在選擇局部同類近鄰樣本和異類近鄰樣本后,同樣可以使局部范圍對同類樣本之間的距離變得緊湊,并且遠離局部異類樣本點,利用樣本局部數據信息來擴大同類與異類樣本間的邊界,通過平衡模型參數的權重,找到最佳投影方向,進而提高TWSVM算法的性能。因此,最終得到的分類超平面會比優化前的超平面更加關注全域范圍內樣本間的內部結構,分類更加準確。
考慮到GTWSVM算法引入了局部近鄰,K值的選取會對模型的性能產生影響。為了驗證算法的穩定性,通過選取不同K值來進行實驗,同時為了驗證算法的普適性,將測試集數量增加為總數據量的30%,結果如圖5所示。

圖5 GTWSVM不同K值在NEU和X-SDD上的性能圖像
經過多次實驗,在NEU數據集和X-SDD數據集上,GTWSVM算法在不同K值選取下所對應的識別準確率基本趨于穩定。可以看出,當K取7時,識別準確率最高,當K取其他值時,模型依然能夠維持在一個相對穩定的范圍中。并且隨著測試數量的增加,K值并沒有對模型造成很大的波動,說明模型對K值的選取不敏感,有很好的魯棒性。
1) 利用LDA的全局思想并結合KNN算法,將每個樣本的局部同類近鄰樣本盡可能聚集在一起,將異類樣本盡可能分開,并作為正則項嵌入到TWSVM中。在對缺陷樣本圖像降噪處理后,利用GLCM和 HOG分別進行特征提取,并融合2種特征。通過PCA降維后輸入到本文算法中訓練。
2) 通過實驗對比,本文算法在考慮了樣本之間的關聯性后,整體性能得到進一步提高,更加適應現代化工業生產,可提高鋼板質量,增大企業經濟效益。