?

基于向量機的計算機視覺在鋼材分類缺陷檢測中的應用*

2021-09-03 01:52
微處理機 2021年4期
關鍵詞:線性向量分類

李 鋒

(廣東交通職業技術學院信息學院,廣州 510650)

1 引言

在傳統鋼材生產中,傳統人工檢測存在著速度慢、檢測標準不統一、檢測成本過高等問題。隨著智能制造的發展,基于計算機視覺的缺陷檢測技術得以興起并被廣泛應用。在實際生產中,鋼材表面缺陷檢測是衡量質量的重要因素,業界急需更高精度的檢測缺陷算法[1]。當前工業界已有很多缺陷檢測的相關研究,其中大多數都是基于計算機視覺采集系統完成對圖像采集工作,并通過相關技術將缺陷識別檢測出來,最后通過圖像分析將缺陷進行分類。對于這類技術的應用,在工業界并未得到廣泛的推廣使用,且分類精度有待提高。

支持向量機在小樣本條件下有其自身優勢,比如:較強的學習泛化能力、對高維度的識別能力以及有著最低的結構化風險等,能確保實現較為理想的缺陷檢測識別率[2-3]。

2 支持向量機基本原理

支持向量機(Support Vector Machine,SVM)算法是Vapnik 等人在統計學習基礎上提出的,其核心是讓結構化風險最小化,它適于小樣本量與高維度,并具有泛化能力強、推廣能力強、全局最優等特點。SVM 能在低維非線性模式下轉化為線性可分情況,降低運算復雜度,具有良好泛化能力和魯棒性[4]。在實際數據中,有線性可分與線性不可分兩種情況,對此,支持向量機也分為線性支持向量機及非線性支持向量機。而核函數的引入成功解決了非線性可分的問題。

2.1 線性支持向量機

線性支持向量機的原理圖見圖1。假設給定一個特征空間上的訓練數據集T={(x1,y1),(x2,y2),...,(xN,yN)},其中xi∈Rn,yi∈[-1,垣1],i=1,2,...,N。xi為第i個特征向量,yi為類標記,當它等于垣1 時為正例;為-1 時為負例。

圖1 線性支持向量機

其中,yi(ωxi垣b)≥1,0≤αi≤C,i=1,2,...,N;yi是樣本相應的輸出值,對于φ(ω)存在有唯一極小值。利用朗格拉日乘子法,將優化分類問題轉為對偶問題:,其中αi≥0,i=1,2,...,m,且

優化到分類超平面,有:

式中,αi*是朗格拉日乘子,b*=yi-,為保證間隔最大化及誤差率最小,引入懲罰因子D。最終,得到最優分類目標函數:

2.2 非線性支持向量機

對于輸入空間中非線性分類問題,可以通過非線性變換將它轉化為某個維特征空間中的線性分類問題[5],在高維特征空間中學習線性支持向量機。由于在線性支持向量機學習的對偶問題里,目標函數和分類決策函數都只涉及實例和實例之間的內積,所以不需要顯式地指定非線性變換,而是用核函數替換當中的內積。

L(x,z)為一個核函數,是一個從輸入空間到特征空間的映射φ(x),對于任意輸入空間中的x與z,都存在L(x,z)=φ(x)φ(z)。對于線性支持向量機中的對偶問題,也都可以用核函數L(x,z)代替內積,所求解得到的非線性支持向量機為:

至此,可將非線性支持向量機學習算法的運算推導過程歸納如下:

輸入:數據訓練集T={(x1,y1),(x2,y2),...,(xN,yN)},其中xi∈Rn,yi∈[-1,垣1],i=1,2,...,N

輸出:分離超平面和分類決策函數

選取適當核函數K(x,z)和懲罰參數C>0,構造求解二次規劃問題

引入核函數及Lagrange 優化方法,得最優目標函數求解式:

式中,L(xi,xj)=φT(xi)φT(xj),滿足αiyi=0;0≤αi≤C,i=1,2,...,N。φT(xi)是樣本數據從非線性函數映射投影到高維度空間后的特征向量。L(xi,xj)是xi和xj在高維空間下的內積。

最終得到的分類決策函數表達式為:

2.3 核函數

對于不同樣本數據,由于算法不同,需使用不同核函數,所生成分類模型也不同[6],具體如下:

線性核函數:

通過對樣本數據原始空間的處理,篩選出相應分類超平面:

多項式核函數:

通過內積運算出一個d階多項式,規律為:d越大,運算越復雜,核函數推廣能力就不斷退化:

Sigmoid 核函數:

高斯徑向基核函數:

其中,σ為徑向基半徑。高斯徑向基主要應用于局部性核函數。

3 新算法建模與流程

新算法將缺陷圖像樣本集數據每個分類訓練出對應的分類模型。在訓練過程中,使用高斯徑向基核函數作為分類核函數,基于“一對一”方法進行分類識別,通過交叉投票驗證預測結果,并最終確定分類模型結果。首先,對特征向量統一化提取并處理,挑選合適核函數,選定最優參數;其次,通過統一化處理樣本數據集得到分類模型;最后,對鋼材表面成像與缺陷圖像進行分類,識別具體缺陷。

新算法的具體執行流程為:

步驟一:統一化特征值

在對圖像中不同特征值的提取過程中,由于所提取特征值波動較大,為避免差值過大導致篩選特征值太復雜,在將特征值進行訓練之前,需要對輸入值進行統一化處理,在缺陷特征值向量作用下,保證其值分布在[-1,1]范圍之內,并滿足特征值提取的三個基本標準:特殊性、簡易性、低維性[7]。

步驟二:挑選核函數

在訓練數據過程中,并不是全部類型數據都線性可分。在對非線性可分的數據的處理中,需要引入核函數來處理。核函數作用是將線性不可分數據通過維度轉換,使得數據集處在線性下可分[8]。在眾多類型的核函數中,高斯徑向基核函數在局部范圍內性能最強,收斂域相對較寬;其學習能力隨著參數σ自身減小而增強。新算法就選定該核函數。

步驟三:確定并挑選最優值

任意的取值會導致SVM 分類模型欠優。由于分類器正確分類的正確率與訓練參數不存在關聯性,在實際訓練過程中,可以根據實際情況去選取最優參數值,以保證預測未知數據時的正確性。

步驟四:訓練分類模型

數據樣本集存在多種類別數據,在進行多分類情況下,SVM 二分類模型需要選取“一對一”訓練方法。針對不同訓練類別,所訓練出來模型的子模型的數量為CN2=N(N-1)/2。

步驟五:進行分類

采用“一對一”訓練方法進行多分類訓練,將不同訓練樣本模型結構放入不同訓練子模型中預測,通過交叉驗證方式驗證投票,最終確定識別結果。

4 基于支持向量機的缺陷檢測算法

在數據樣本集中存在N個數值,將其中任意兩個樣本點建立關聯。對于N個樣本點,選取N-1 條邊,構造樣本數據集中的實際分布連續擬合評估模型。作為樣本數據集的流形分布的簡化分類模型,稱為最小生成樹分類模型。

構建虛擬目標樣本點yi,滿足:

式中,0≤λij≤1。

最小生成樹分類模型構建過程為:在已確定N個樣本點中選取N-1 條邊,要求所選取邊不能形成閉環連通,且所選取邊的權值和最小,允許存在多種權值最小但所選取邊不同的情況。

樣本點yi與目標集V所形成最小生成樹最短路徑為:

由幾何學原理可知,樣本點yi在邊uij上映射投影為:

在相對位置的情況下,d(y|uij)形式是不同的。有兩種情況:①yi映射投影在邊uij上;②yi映射投影不在邊uij上。綜合考慮d(y|uij)中y 到yi、yj、yσ最小距離為:

判斷d(y|uij)≤R,若成立,則y 是目標分類,否則不是。

考慮樣本數據集分布情況不同,存在稀疏及稠密兩類,優化動態調整生成樹的覆蓋半徑。半徑對于分類精度影響很大,容易導致分類、識別出錯。

自適應半徑優化調整滿足:

其中0≤lθ垣lδ≤3。

lθ和lδ依據樣本集動態調整閾值,選擇滿足分布特點最優值。通過對lθ和lδ調整讓邊密度EDensity(yi)和點密度PDensity(yi)跟半徑實現自適應。

樣本點yi在最小生成樹必存在投影點Vi:

新算法依據R和d(y|uij)數值間關系去判斷目標分類。

將最小生成樹分類模型識別目標分類作為SVM 算法的模型輸入。至此,完成整個SVM 缺陷檢測分類算法。算法整體訓練流程見圖2。

圖2 模型訓練流程

5 算法測試

算法測試選取兩組鋼材樣本A、B,樣本數量分別為300、400 個。兩組樣本數據中存在有表面破損、小裂痕、氧化、酸化、電鍍痕等等缺陷類別,A 組中選取樣本1、4 為目標分類,2、3、5 為非目標分類。B 組中選取樣本2、3、4 為目標分類,1、5 為非目標分類。

測試采取鋼板表面圖像,照明方式為暗場,相機垂直于鋼板。通過反復調整攝像參數,得到正常、小裂痕、邊角裂痕、小斑點等鋼板表面圖像。兩組樣本的典型樣本數據集如圖3 所示。

圖3 部分樣本數據集

基于所采取圖像數據樣本集,確定所需分類新類別,采用交叉驗證法驗證新算法和傳統SVM 缺陷識別率,對比結果見表1。

表1 鋼材表面缺陷識別率對比

根據表1 可知,新算法在識別新類別基礎上,阻止了SVM 新類別對分類模型的影響,對現存缺陷類別達到了較理想的效果,滿足目前工業界的分類精度需求。

6 結 束 語

所提出的新的視覺檢測算法基于支持向量機,將之應用于鋼材缺陷分類檢測中加以驗證。新算法利用高斯徑向基核函數和“一對一”分類方法,也使用了最小生成樹判別分類算法,建立了自適應優化半徑算法,確定了最優目標函數,保證了SVM 算法在多分類上精度更準確,能夠滿足當前工業制造業對缺陷檢測的要求。

猜你喜歡
線性向量分類
漸近線性Klein-Gordon-Maxwell系統正解的存在性
向量的分解
分類算一算
線性回歸方程的求解與應用
聚焦“向量與三角”創新題
分類討論求坐標
二階線性微分方程的解法
數據分析中的分類討論
教你一招:數的分類
向量垂直在解析幾何中的應用
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合