李 鋒
(廣東交通職業(yè)技術(shù)學(xué)院信息學(xué)院,廣州 510650)
在傳統(tǒng)鋼材生產(chǎn)中,傳統(tǒng)人工檢測(cè)存在著速度慢、檢測(cè)標(biāo)準(zhǔn)不統(tǒng)一、檢測(cè)成本過高等問題。隨著智能制造的發(fā)展,基于計(jì)算機(jī)視覺的缺陷檢測(cè)技術(shù)得以興起并被廣泛應(yīng)用。在實(shí)際生產(chǎn)中,鋼材表面缺陷檢測(cè)是衡量質(zhì)量的重要因素,業(yè)界急需更高精度的檢測(cè)缺陷算法[1]。當(dāng)前工業(yè)界已有很多缺陷檢測(cè)的相關(guān)研究,其中大多數(shù)都是基于計(jì)算機(jī)視覺采集系統(tǒng)完成對(duì)圖像采集工作,并通過相關(guān)技術(shù)將缺陷識(shí)別檢測(cè)出來,最后通過圖像分析將缺陷進(jìn)行分類。對(duì)于這類技術(shù)的應(yīng)用,在工業(yè)界并未得到廣泛的推廣使用,且分類精度有待提高。
支持向量機(jī)在小樣本條件下有其自身優(yōu)勢(shì),比如:較強(qiáng)的學(xué)習(xí)泛化能力、對(duì)高維度的識(shí)別能力以及有著最低的結(jié)構(gòu)化風(fēng)險(xiǎn)等,能確保實(shí)現(xiàn)較為理想的缺陷檢測(cè)識(shí)別率[2-3]。
支持向量機(jī)(Support Vector Machine,SVM)算法是Vapnik 等人在統(tǒng)計(jì)學(xué)習(xí)基礎(chǔ)上提出的,其核心是讓結(jié)構(gòu)化風(fēng)險(xiǎn)最小化,它適于小樣本量與高維度,并具有泛化能力強(qiáng)、推廣能力強(qiáng)、全局最優(yōu)等特點(diǎn)。SVM 能在低維非線性模式下轉(zhuǎn)化為線性可分情況,降低運(yùn)算復(fù)雜度,具有良好泛化能力和魯棒性[4]。在實(shí)際數(shù)據(jù)中,有線性可分與線性不可分兩種情況,對(duì)此,支持向量機(jī)也分為線性支持向量機(jī)及非線性支持向量機(jī)。而核函數(shù)的引入成功解決了非線性可分的問題。
線性支持向量機(jī)的原理圖見圖1。假設(shè)給定一個(gè)特征空間上的訓(xùn)練數(shù)據(jù)集T={(x1,y1),(x2,y2),...,(xN,yN)},其中xi∈Rn,yi∈[-1,垣1],i=1,2,...,N。xi為第i個(gè)特征向量,yi為類標(biāo)記,當(dāng)它等于垣1 時(shí)為正例;為-1 時(shí)為負(fù)例。
圖1 線性支持向量機(jī)
其中,yi(ωxi垣b)≥1,0≤αi≤C,i=1,2,...,N;yi是樣本相應(yīng)的輸出值,對(duì)于φ(ω)存在有唯一極小值。利用朗格拉日乘子法,將優(yōu)化分類問題轉(zhuǎn)為對(duì)偶問題:,其中αi≥0,i=1,2,...,m,且
優(yōu)化到分類超平面,有:
式中,αi*是朗格拉日乘子,b*=yi-,為保證間隔最大化及誤差率最小,引入懲罰因子D。最終,得到最優(yōu)分類目標(biāo)函數(shù):
對(duì)于輸入空間中非線性分類問題,可以通過非線性變換將它轉(zhuǎn)化為某個(gè)維特征空間中的線性分類問題[5],在高維特征空間中學(xué)習(xí)線性支持向量機(jī)。由于在線性支持向量機(jī)學(xué)習(xí)的對(duì)偶問題里,目標(biāo)函數(shù)和分類決策函數(shù)都只涉及實(shí)例和實(shí)例之間的內(nèi)積,所以不需要顯式地指定非線性變換,而是用核函數(shù)替換當(dāng)中的內(nèi)積。
L(x,z)為一個(gè)核函數(shù),是一個(gè)從輸入空間到特征空間的映射φ(x),對(duì)于任意輸入空間中的x與z,都存在L(x,z)=φ(x)φ(z)。對(duì)于線性支持向量機(jī)中的對(duì)偶問題,也都可以用核函數(shù)L(x,z)代替內(nèi)積,所求解得到的非線性支持向量機(jī)為:
至此,可將非線性支持向量機(jī)學(xué)習(xí)算法的運(yùn)算推導(dǎo)過程歸納如下:
輸入:數(shù)據(jù)訓(xùn)練集T={(x1,y1),(x2,y2),...,(xN,yN)},其中xi∈Rn,yi∈[-1,垣1],i=1,2,...,N
輸出:分離超平面和分類決策函數(shù)
選取適當(dāng)核函數(shù)K(x,z)和懲罰參數(shù)C>0,構(gòu)造求解二次規(guī)劃問題
引入核函數(shù)及Lagrange 優(yōu)化方法,得最優(yōu)目標(biāo)函數(shù)求解式:
式中,L(xi,xj)=φT(xi)φT(xj),滿足αiyi=0;0≤αi≤C,i=1,2,...,N。φT(xi)是樣本數(shù)據(jù)從非線性函數(shù)映射投影到高維度空間后的特征向量。L(xi,xj)是xi和xj在高維空間下的內(nèi)積。
最終得到的分類決策函數(shù)表達(dá)式為:
對(duì)于不同樣本數(shù)據(jù),由于算法不同,需使用不同核函數(shù),所生成分類模型也不同[6],具體如下:
線性核函數(shù):
通過對(duì)樣本數(shù)據(jù)原始空間的處理,篩選出相應(yīng)分類超平面:
多項(xiàng)式核函數(shù):
通過內(nèi)積運(yùn)算出一個(gè)d階多項(xiàng)式,規(guī)律為:d越大,運(yùn)算越復(fù)雜,核函數(shù)推廣能力就不斷退化:
Sigmoid 核函數(shù):
高斯徑向基核函數(shù):
其中,σ為徑向基半徑。高斯徑向基主要應(yīng)用于局部性核函數(shù)。
新算法將缺陷圖像樣本集數(shù)據(jù)每個(gè)分類訓(xùn)練出對(duì)應(yīng)的分類模型。在訓(xùn)練過程中,使用高斯徑向基核函數(shù)作為分類核函數(shù),基于“一對(duì)一”方法進(jìn)行分類識(shí)別,通過交叉投票驗(yàn)證預(yù)測(cè)結(jié)果,并最終確定分類模型結(jié)果。首先,對(duì)特征向量統(tǒng)一化提取并處理,挑選合適核函數(shù),選定最優(yōu)參數(shù);其次,通過統(tǒng)一化處理樣本數(shù)據(jù)集得到分類模型;最后,對(duì)鋼材表面成像與缺陷圖像進(jìn)行分類,識(shí)別具體缺陷。
新算法的具體執(zhí)行流程為:
步驟一:統(tǒng)一化特征值
在對(duì)圖像中不同特征值的提取過程中,由于所提取特征值波動(dòng)較大,為避免差值過大導(dǎo)致篩選特征值太復(fù)雜,在將特征值進(jìn)行訓(xùn)練之前,需要對(duì)輸入值進(jìn)行統(tǒng)一化處理,在缺陷特征值向量作用下,保證其值分布在[-1,1]范圍之內(nèi),并滿足特征值提取的三個(gè)基本標(biāo)準(zhǔn):特殊性、簡(jiǎn)易性、低維性[7]。
步驟二:挑選核函數(shù)
在訓(xùn)練數(shù)據(jù)過程中,并不是全部類型數(shù)據(jù)都線性可分。在對(duì)非線性可分的數(shù)據(jù)的處理中,需要引入核函數(shù)來處理。核函數(shù)作用是將線性不可分?jǐn)?shù)據(jù)通過維度轉(zhuǎn)換,使得數(shù)據(jù)集處在線性下可分[8]。在眾多類型的核函數(shù)中,高斯徑向基核函數(shù)在局部范圍內(nèi)性能最強(qiáng),收斂域相對(duì)較寬;其學(xué)習(xí)能力隨著參數(shù)σ自身減小而增強(qiáng)。新算法就選定該核函數(shù)。
步驟三:確定并挑選最優(yōu)值
任意的取值會(huì)導(dǎo)致SVM 分類模型欠優(yōu)。由于分類器正確分類的正確率與訓(xùn)練參數(shù)不存在關(guān)聯(lián)性,在實(shí)際訓(xùn)練過程中,可以根據(jù)實(shí)際情況去選取最優(yōu)參數(shù)值,以保證預(yù)測(cè)未知數(shù)據(jù)時(shí)的正確性。
步驟四:訓(xùn)練分類模型
數(shù)據(jù)樣本集存在多種類別數(shù)據(jù),在進(jìn)行多分類情況下,SVM 二分類模型需要選取“一對(duì)一”訓(xùn)練方法。針對(duì)不同訓(xùn)練類別,所訓(xùn)練出來模型的子模型的數(shù)量為CN2=N(N-1)/2。
步驟五:進(jìn)行分類
采用“一對(duì)一”訓(xùn)練方法進(jìn)行多分類訓(xùn)練,將不同訓(xùn)練樣本模型結(jié)構(gòu)放入不同訓(xùn)練子模型中預(yù)測(cè),通過交叉驗(yàn)證方式驗(yàn)證投票,最終確定識(shí)別結(jié)果。
在數(shù)據(jù)樣本集中存在N個(gè)數(shù)值,將其中任意兩個(gè)樣本點(diǎn)建立關(guān)聯(lián)。對(duì)于N個(gè)樣本點(diǎn),選取N-1 條邊,構(gòu)造樣本數(shù)據(jù)集中的實(shí)際分布連續(xù)擬合評(píng)估模型。作為樣本數(shù)據(jù)集的流形分布的簡(jiǎn)化分類模型,稱為最小生成樹分類模型。
構(gòu)建虛擬目標(biāo)樣本點(diǎn)yi,滿足:
式中,0≤λij≤1。
最小生成樹分類模型構(gòu)建過程為:在已確定N個(gè)樣本點(diǎn)中選取N-1 條邊,要求所選取邊不能形成閉環(huán)連通,且所選取邊的權(quán)值和最小,允許存在多種權(quán)值最小但所選取邊不同的情況。
樣本點(diǎn)yi與目標(biāo)集V所形成最小生成樹最短路徑為:
由幾何學(xué)原理可知,樣本點(diǎn)yi在邊uij上映射投影為:
在相對(duì)位置的情況下,d(y|uij)形式是不同的。有兩種情況:①yi映射投影在邊uij上;②yi映射投影不在邊uij上。綜合考慮d(y|uij)中y 到y(tǒng)i、yj、yσ最小距離為:
判斷d(y|uij)≤R,若成立,則y 是目標(biāo)分類,否則不是。
考慮樣本數(shù)據(jù)集分布情況不同,存在稀疏及稠密兩類,優(yōu)化動(dòng)態(tài)調(diào)整生成樹的覆蓋半徑。半徑對(duì)于分類精度影響很大,容易導(dǎo)致分類、識(shí)別出錯(cuò)。
自適應(yīng)半徑優(yōu)化調(diào)整滿足:
其中0≤lθ垣lδ≤3。
lθ和lδ依據(jù)樣本集動(dòng)態(tài)調(diào)整閾值,選擇滿足分布特點(diǎn)最優(yōu)值。通過對(duì)lθ和lδ調(diào)整讓邊密度EDensity(yi)和點(diǎn)密度PDensity(yi)跟半徑實(shí)現(xiàn)自適應(yīng)。
樣本點(diǎn)yi在最小生成樹必存在投影點(diǎn)Vi:
新算法依據(jù)R和d(y|uij)數(shù)值間關(guān)系去判斷目標(biāo)分類。
將最小生成樹分類模型識(shí)別目標(biāo)分類作為SVM 算法的模型輸入。至此,完成整個(gè)SVM 缺陷檢測(cè)分類算法。算法整體訓(xùn)練流程見圖2。
圖2 模型訓(xùn)練流程
算法測(cè)試選取兩組鋼材樣本A、B,樣本數(shù)量分別為300、400 個(gè)。兩組樣本數(shù)據(jù)中存在有表面破損、小裂痕、氧化、酸化、電鍍痕等等缺陷類別,A 組中選取樣本1、4 為目標(biāo)分類,2、3、5 為非目標(biāo)分類。B 組中選取樣本2、3、4 為目標(biāo)分類,1、5 為非目標(biāo)分類。
測(cè)試采取鋼板表面圖像,照明方式為暗場(chǎng),相機(jī)垂直于鋼板。通過反復(fù)調(diào)整攝像參數(shù),得到正常、小裂痕、邊角裂痕、小斑點(diǎn)等鋼板表面圖像。兩組樣本的典型樣本數(shù)據(jù)集如圖3 所示。
圖3 部分樣本數(shù)據(jù)集
基于所采取圖像數(shù)據(jù)樣本集,確定所需分類新類別,采用交叉驗(yàn)證法驗(yàn)證新算法和傳統(tǒng)SVM 缺陷識(shí)別率,對(duì)比結(jié)果見表1。
表1 鋼材表面缺陷識(shí)別率對(duì)比
根據(jù)表1 可知,新算法在識(shí)別新類別基礎(chǔ)上,阻止了SVM 新類別對(duì)分類模型的影響,對(duì)現(xiàn)存缺陷類別達(dá)到了較理想的效果,滿足目前工業(yè)界的分類精度需求。
所提出的新的視覺檢測(cè)算法基于支持向量機(jī),將之應(yīng)用于鋼材缺陷分類檢測(cè)中加以驗(yàn)證。新算法利用高斯徑向基核函數(shù)和“一對(duì)一”分類方法,也使用了最小生成樹判別分類算法,建立了自適應(yīng)優(yōu)化半徑算法,確定了最優(yōu)目標(biāo)函數(shù),保證了SVM 算法在多分類上精度更準(zhǔn)確,能夠滿足當(dāng)前工業(yè)制造業(yè)對(duì)缺陷檢測(cè)的要求。