陳 功, 苗 瑞, 張 潔
(上海交通大學 機械與動力工程學院, 上海 200240)
模式識別即模式分類,旨在研究在原始樣本數據中尋找一種區分不同種類對象的客觀規律,依據規律構建一個分類器,實現對新的樣本不同種類對象的自動歸類。 隨著社會的高速發展,我國對帶鋼的需求量不斷增大,然而由于加工環境,加工工藝,設備等原因,帶鋼表面在生產工程中容易出現諸如擦傷,輥印,銹斑,麻點等各種缺陷[1]。 對上述不同種類的缺陷進行模式識別,有助于分析各類缺陷成因,改進生產參數,所以是十分必要的。
對于帶鋼缺陷的模式識別主要包括圖像采集, 特征提取,圖像分類識別幾個步驟。 其中圖像分類識別作為其中一個關鍵技術,長久以來沒得到良好的解決。 圖像分類識別是對圖像信息,如灰度,紋理等特征參數建立機器規則,使得機器可以自動快速地對缺陷進行歸類。 圖像識別的常用方法包括統計模式識別方法、人工神經網絡以及基于核機器學習的方法等。 其中以支持向量機(SVM)作為模式識別的工具被廣泛采用,SVM 對于小樣本、非線性、高維模式的識別中具有很大優勢,廣泛用于文本識別[2],DNA 分析[3],面部識別[4]等領域。
傳統的支持向量機或者針對某類樣本進行優化的支持向量機如果直接用于帶鋼表面缺陷分類時,往往會出現泛化性能差,過度學習,識別率低等問題。 本文采用了遺傳算法(Genetic Algorithm,GA)對SVM 進行優化,系統研究了將遺傳算法與SVM 方法結合起來用于帶鋼表面缺陷分類的過程,采用加州大學歐文分校(UCI)標準數據庫提供的真實生產數據進行方法驗證, 并且與傳統SVM 以及BP、LVQ 神經網絡、ID3 決策樹進行比較研究,從而對帶鋼表面分類問題中GA-SVM 方法的應用進行科學評價。
支持向量機的原理是找到一個分類超平面作為決策曲面,最大化正例和反例的隔離邊緣。 支持向量機基于結構風險最小化的原則,不利用領域內部問題,在分類問題上具有良好的泛化性能。 支持向量機有著通用性強,魯棒性高,計算簡單等優點。 具體形式如下:
其中為核函數,對于徑向基核函數(RBF):
構造決策函數:
以上模型是二分類器,本文通過一對一法實現將二分類器構造為多分類器,即對于樣本中任意兩種類別均構造一個兩分類器,這樣共有個兩分類器,對某個樣本分類時選取所有二分類器分類結果最多那個類別作為該樣本的類別。
遺傳算法(Genetic Algorithm,GA)[5-6]是模仿自然界生物遺傳進化過程中“物競天澤,適者生存”的原理,開發出的一種全局優化隨機搜索算法。 該算法由J.Holland 教授于1975年提出,具有應用廣泛,使用簡單,魯棒性強等特點。 它借用了生物遺傳學的觀點,通過自然選擇、交叉、變異等遺傳操作,實現各個體適應性的提高。 算法擁有一群個體組成的種群每個體在種群演化過程中都被評價優劣并得到其適應值,個體在選擇、交叉以及變異算子的作用下向更高的適應度進化以達到尋求問題最優解的目標。
傳統的SVM 也可用作分類器, 然而由于無法確定相關參數的最優取值,所以分類效果不理想。 利用GA 對SVM 進行優化,主要優化式(2)中的懲罰參數C 和式(3)中的核函數參數,確定這兩個參數的取值,從而使SVM 分類器具有較高準確率。 傳統的網格搜索優化法運行時間長,搜索效果不好,本文利用GA 算法對這兩個參數進行優化,采用10 折交叉驗證法下的SVM 分類準確率作為遺傳算法函數適應度值,這樣可以有效地避免過度學習和欠學習的發生,結果具有說服性。在GA-SVM 模型中,每個粒子對應一組C、g 的取值,算法的基本步驟如下:
1)讀取樣本數據并進行預處理,采用10 折交叉驗證法將樣本分組,初始化種群;
2)對于當前取值的C、g,利用訓練集進行模型訓練,并記錄該C、g 下的適應度函數;
3)進行組合交叉,變異操作,進一步搜尋更佳的C、g 取值;
4)重復步驟2、3,直到滿足最大進化代數。
本文采用UCI 數據庫提供的帶鋼表面缺陷數據,該數據集來自實際生產, 將帶鋼表面缺陷分為7 類典型的缺陷,分別為斑點,氣刀縱痕,氣刀斜痕,亮點,粗渣粒和凸起以及其他缺陷。該數據集共有1 941 組樣本,對缺陷圖像提取了包括灰度直方圖,紋理特征,投影量,圖形狀4 類共27 種特征。
模型仿真利用林智仁教授開發的LibSVM 工具箱, 使用Matlab 軟件進行遺傳算法優化支持向量機模型的建立和訓練。 遺傳算法的參數設置如下:種群數量為20,交叉概率為0.7,交換表一概率為0.8,反轉變異概率為0.3,新增概率為0.3,最大進化600 代,核函數選擇徑向基(RBF),得到SVM最優懲罰參數C=3.73419,最優核函數參數g=0.3657。 將此參數用于數據集的訓練和分類, 采用10 折交叉驗證法下的分類的結果如表1 所示。
從表1 中可以看到,GA 優化SVM 分類器的分類準確性大多維持在80%以上,第7 個缺陷類別由于代表了其他缺陷類別因而分類準確率較低。

表1 分類準確率表Tab. 1 Classification accuracy rate
為了進一步驗證遺傳算法優化支持向量機的優越性,將GA-SVM 方法與傳統SVM 分類器進行對比, 分析GA-SVM方法的優越性。 傳統SVM 分類器采用在[0,100]的范圍內隨機生成的參數C、g,對比結果見圖1。

圖1 隨機參數與GA-SVM 優化參數準確率對比圖Fig. 1 Classification accuracy rate of PSO-SVM and SVM with random parameters
圖1 中黑色折現代表經過遺傳算法優化的支持向量機分類器對于每一類缺陷的分類準確率,方塊,圓形,三角符號代表的數據分別表示三組隨機生成參數的SVM 分類準確率,隨機得到的參數分別為第一組:C=70.6046,第二組:g=3.1833;C=19.2837,g=2.0756; 第三組:C=54.7216,g=13.8624。所有仿真實驗數據均采用10 折交叉驗證法得出分類準確率。 可以明顯看出, 雖然有個別隨機參數的缺陷準確率比GA-SVM 高,但是這些個別的高準確率實際上是由于判別樣本少造成的。整體來看GA-SVM 的準確率大都保持在80%以上,可見本文采用遺傳算法對支持向量機分類器進行優化是有效的。
圖2 所示為GA-SVM 與其他三種常用算法的分類準確率比較。 比較的對象分別為BP 神經網絡,LVQ 神經網絡和ID3 決策樹算法, 對比各算法對于每一缺陷類別的分類準確率, 依舊采用10 折交叉驗證法下的分類準確率。 圖2 中可見,經過遺傳算法優化的支持向量機分類器的分類準確率相較其他三種算法更高, 平均分類準確率達到83.62%, 而BP神經網絡,LVQ,ID3 的平均分類準確率分別為63.09%、74.90%、70.36%。由此可見,GA-SVM 模型能夠更準確地對缺陷類型進行分類預測,對于帶鋼表面缺陷分類問題,GA-SVM方法相較其他方法具有一定的優越性。

圖2 4 種算法分類準確率對比Fig. 2 Classification accuracy rate of four kinds of algorithms
帶鋼表面缺陷的準確分類,是帶鋼在線檢測技術的重要環節。 傳統分類方法在處理多分類問題時有一定局限性。SVM 算法具有很強的非線性建模能力,主要根據所提供的生產數據,通過學習和訓練找到輸入數據與輸出數據之間的潛在關聯,從而對新樣本進行預測。 本文將遺傳算法與支持向量機相結合, 采用10 折交叉驗證法下的分類準確率作為遺傳算法適應度,充分發揮了SVM 方法的非線性建模能力,同時規避了隨機設定SVM 參數的盲目性, 提高了模型的泛化能力。 通過與傳統SVM 分類器以及其他分類算法的比較,GA-SVM 對于帶鋼表面缺陷多分類問題效果更優。
[1] 魏 烈 省. 冷軋鋼帶表面缺陷分析[J]. 鋼鐵,2006,41(2):386-388.
WEI Lie-sheng. Analysis of surface defects of cold rolled steel strip[J]. Iron and Steel,2006,41(2):386-388.
[2] 高學,金連文.一種基于支持向量機的手寫漢字識別方法[J].電子學報,2002,30(5):484-487.
GAO Yue,JIN Lian-wen. A handwritten Chinese character recognition method based on support vector machine [J].Electronic Journal,2002,30(5):484-487.
[3] A Zien,G Ratsch,S Mika,et al. Engineering supportvector machine kernels that recognize translation initiation sites[C]//Bioinformatics,2000,16(9):799.
[4] Y Li,S Gong,J Sherrah,et al. Support vector machine based multi-view facedetection and recognition[J]. Image and Vision Computing,2004,22(5):413-427.
[5] JHHolland. Ada Ptationin Natural Artifieial Systems [M].MITPress,1975:1-17.
[6] 黃少榮. 遺傳算法及其應用[J]. 電腦知識與技術,2008,4(7):1874-1875.
HUANG Sao-rong. Genetic algorithm and its application[J].Computer Knowledge and Technology,2008,4(7):1874-1875.