胡嘉成, 王向陽,劉 晗
(1. 上海大學(xué)通信與信息工程學(xué)院, 上海200444;2.上海金藝檢測技術(shù)有限公司, 上海201900)
連鑄的質(zhì)量好壞很大程度上決定著鋼材成品的質(zhì)量. 為了保證煉鋼、連鑄和軋鋼能按照生產(chǎn)計劃進行, 研發(fā)連鑄熱坯缺陷檢測, 可以省略連鑄坯冷卻再檢測的步驟. 這樣不僅可以降低鋼材的生產(chǎn)成本、提高裝置的生產(chǎn)效率, 還可以減少因生產(chǎn)過程中高溫鋼材與空氣接觸而導(dǎo)致的產(chǎn)品被氧化, 提高產(chǎn)品的合格率. 連鑄坯的表面缺陷主要表現(xiàn)為表面裂紋、凹陷、夾雜物、氣孔、劃痕等. 結(jié)晶器上下運動的結(jié)果是在鑄坯表面形成了周期性的沿整個周邊的橫紋模樣的痕跡, 稱之為劃痕. 發(fā)生縱裂是由于初生坯殼厚度不均勻, 在坯殼薄的地方應(yīng)力集中. 當應(yīng)力超過其抗拉強度時, 產(chǎn)生裂紋. 夾渣主要由被卷入鋼水中未熔化的渣粉或上浮的夾雜物產(chǎn)生的.
圖1 是上海寶鋼公司所提供的連鑄坯的缺陷圖像, 其中第一列為無缺陷, 第二列為裂紋;由于凹陷、夾雜物、氣孔、劃痕等缺陷數(shù)據(jù)較少, 所以將其總和歸為第三列其他缺陷.裂紋缺陷作為主要缺陷,數(shù)據(jù)較多,但有些裂紋比較細微,傳統(tǒng)的渦流檢測[1-2]、紅外檢測[3-4]、Adaboost算法[5]、特征提取后用支持向量機(support vector machine, SVM)分類的方法所獲得的效果都不能達到工業(yè)檢測要求. 凹陷、夾雜物、氣孔這類缺陷在鑄坯中大小不一, 有的缺陷位置比較集中, 有的位置比較分散, 且缺陷在鑄坯表面的深淺也不同, 給檢測帶來了較大的難度.
圖1 連鑄坯樣本Fig.1 Continuous casting samples
近年來, 卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network, CNN)[6-7]在機器學(xué)習(xí)和計算機視覺方面取得了巨大的成功, 特別是在圖像分類領(lǐng)域, 如使用CNN 手寫數(shù)字識別率高達99%. 對大規(guī)模圖像分類數(shù)據(jù)集, 如imageNet[8], CNN 已經(jīng)轉(zhuǎn)移到其他視覺任務(wù), 如對象檢測[9]、語義分割[10]和邊緣檢測[11]等. 2012年, AlexNet 獲得imageNet 圖像分類冠軍[12]. 此外, 研究人員還提出了其他改進方法, 如VGGNet[13]、GoogleNet、網(wǎng)絡(luò)中的網(wǎng)絡(luò)(network in network,NIN)[14]和ResNet[15]等.
傳統(tǒng)的連鑄坯檢測方法都不能達到工業(yè)檢測的要求, 而深度學(xué)習(xí)在圖像分類上具有強大優(yōu)勢, 所以本工作將采用深度學(xué)習(xí)方法對連鑄坯缺陷進行檢測、識別.
SVM 在解決小樣本、非線性及高維模式識別中表現(xiàn)出許多特有的優(yōu)勢. 對于連鑄坯缺陷樣本, 本工作采用中值濾波、灰度共生矩陣、紋理、Hu 不變矩、紋理-Hu 不變矩組合對圖像進行特征提取, 再通過SVM 對樣本進行分類. SVM 的核函數(shù)為線性核函數(shù)、多項式核函數(shù)、徑向基函數(shù)(RBF 核函數(shù))、二層神經(jīng)網(wǎng)絡(luò)核函數(shù)(sigmoid 核函數(shù))四類.
實驗表明, SVM 選取RBF 核函數(shù)時, 分類效果較好. 通過紋理-Hu 不變矩組合對圖像進行特征提取, 再使用SVM 分類的效果更好.
AlexNet網(wǎng)絡(luò)[12]結(jié)構(gòu)如圖2 所示, 圖3 為圖2 中卷積模型的具體層類型和參數(shù). AlexNet包含5 個卷積層和3 個全連接層. 前5 個是卷積層, 后3 個是全連接層. 最后1 個全連接層輸出一個3 維的Softmax 來表達對3 個類別的預(yù)測. 在卷積層中用不飽和非線性的神經(jīng)元作為線性整流函數(shù)(rectified linear unit, ReLU), 其不飽和非線性函數(shù)為f(x) = max(0,x), 連接歸一化層(norm)增強泛化能力, 響應(yīng)歸一化的表示為?
式中, a 表示第i 個核在位置(x,y)運用ReLU 非線性化神經(jīng)元輸出, n 是在同一位置上臨近的Kernel map 的數(shù)目,N 是Kernal map 的總數(shù). 本工作參數(shù)設(shè)定為K =2,n=5,α=1×10-4,β =0.75.
第1 個卷積層的輸入是128×28×3 的連鑄坯圖像, 然后用96 個11×11×3 的步長為4像素的卷積核去過濾(步長是相鄰神經(jīng)元感知區(qū)域中心之間的距離). 第2 個卷積層將第1 個卷積層的輸出作為輸入, 然后用256 個5×5×48 的卷積核進行過濾. 第3 ~5 個卷積層前后相連, 之間沒有歸一化層和池化層. 第3 個卷積層有384 個3×3×256 的卷積核, 連接著第2 個卷積層的輸出(歸一化層+池化層). 第4 個卷積層有384 個3×3×192 的卷積核, 第5 個卷積層有256 個3×3×192 的卷積核. 前2 個全連接層各有4 096 個神經(jīng)元, 最后1 個全連接層有3個輸出神經(jīng)元. 實驗學(xué)習(xí)率為0.000 1, 迭代20 000 次, 訓(xùn)練為50, 測試Batchsize為40.
圖2 AlexNet 結(jié)構(gòu)示意圖Fig.2 Structural diagram of AlexNet
圖3 卷積模型的具體層類型和參數(shù)Fig.3 Layer types and parameters of the convolution model
連鑄坯凹陷、夾雜物、氣孔、劃痕等缺陷數(shù)據(jù)較少, 所以將這些缺陷統(tǒng)一歸為第三類. 第三類數(shù)據(jù)的缺陷種類不同, 缺陷在圖像中的分布情況也不一, 特征的非線性度較高. 在CNN中, 卷積層是一個廣義線性模型, 在NIN[14]中, 廣義線性模型被一個微網(wǎng)絡(luò)結(jié)構(gòu)代替, 這個結(jié)構(gòu)是一個廣義的非線性函數(shù)近似器, 被稱為Mlpconv 層. 因為卷積層是線性的, 抽象級別較低, 而Mlpconv 層是非線性的, 用更有效的非線性函數(shù)近似器代替GLM 可以提高局部模型的抽象能力, 泛化能力更強. 圖4 為CNN 中的線性卷積層和Mlpconv 層比較. 線性卷積層包含一個線性濾波器, 而Mlpconv 層中有一個微網(wǎng)絡(luò).
圖4 線性卷積層和Mlpconv 層Fig.4 Linear convolution layer and Mlpconv layer
用Mlpconv 層進行的計算如下:
NIN 還有一個特點是不采用傳統(tǒng)的全連接層進行CNN 分類. 全連接層容易過擬合, NIN通過全局平均池化層直接輸出來自最后一個Mlpconv 層的特征圖的空間平均值作為類別的置信度, 然后將所得到的向量送入Softmax 層. 而且全局平均池化層強制了特征圖和類別之間的對應(yīng)關(guān)系, 提高了識別率.
如圖5 所示, NIN 有4 個Mlpconv 層, 在每個Mlpconv 層內(nèi), 有3 層感知器, 其頂部是全局平均池化層和目標成本層(objective cost layer). 下采樣層可以添加在Mlpconv 層之間.NIN 的層數(shù)和微網(wǎng)絡(luò)中的層數(shù)是靈活的, 可以針對特定任務(wù)進行調(diào)整.
圖5 NIN 總體結(jié)構(gòu)Fig.5 Overall structure of NIN
由于第三類缺陷圖片的非線性度較大, 采用非線性層Mlpconv 層可以提高圖片的檢測和識別率, 采用全局平均池化層可以降低過擬合, 從而進一步提高檢測和識別的準確率. 實驗學(xué)
上海寶鋼公司的煉鋼技術(shù)是全國乃至全球的領(lǐng)先者, 生產(chǎn)的連鑄坯質(zhì)量較高, 可提供帶有缺陷的連鑄坯圖片數(shù)量較少, 其中中裂紋為67 張, 其他凹陷、夾雜物、氣孔、劃痕等缺陷59 張, 且各類缺陷占大圖(990×1 080)中的比例也較小, 數(shù)據(jù)量不能滿足訓(xùn)練深度學(xué)習(xí)的要求.本工作通過128×128 的矩形框在連鑄坯大圖上對缺陷進行截圖, 每隔4 個像素移動矩形框, 進行數(shù)據(jù)擴充. 裂紋作為主要檢測的缺陷, 為Bad 類, 無缺陷的為Good 類, 其他缺陷(如凹陷、夾雜物、氣孔、劃痕等)為Other 類. 從每類數(shù)據(jù)中獨立隨機抽取相應(yīng)的訓(xùn)練數(shù)據(jù)進行訓(xùn)練, 其中表1 為SVM 的訓(xùn)練、測試數(shù)據(jù)集分布情況, 表2 為深度學(xué)習(xí)的訓(xùn)練、驗證、測試數(shù)據(jù)集分布情況.
表1 SVM 的訓(xùn)練、測試數(shù)據(jù)集分布Table 1 Training, test dataset distribution of SVM
表2 深度學(xué)習(xí)的訓(xùn)練、驗證和測試數(shù)據(jù)集分布Table 2 Train, validate and test dataset distributions of deep learning
表3 為RBF 核函數(shù)對圖像灰度值的分類準確率, 可知在選取g =0.1, c=1 時RBF 核函數(shù)的效果最好, 準確率達到80%, 在之后特征選取后的訓(xùn)練模型時也會使用該核函數(shù).
表3 RBF 核函數(shù)對樣本的分類準確率Table 3 Classification accuracy of RBF kernel function for defects %
選取RBF 為核函數(shù)后, 表4 為通過Hu 不變矩對圖像進行特征提取, 再用SVM 進行分類的結(jié)果. 表5 為通過紋理-Hu 不變矩組合對圖像進行特征提取, 再用SVM 進行分類的結(jié)果.
表4 Hu不變矩特征提取后SVM 進行分類的結(jié)果Table 4 SVM classification results after Hu moment invariants feature extraction %
表5 紋理-Hu 不變矩組合特征提取后SVM 進行分類的結(jié)果Table 5 SVM classification results after textured-Hu moment invariants feature extraction %
由表4 和5 的結(jié)果可以看到, 紋理-Hu 不變矩組合特征提取后通過SVM 進行分類的結(jié)果優(yōu)于Hu不變矩特征提取后的結(jié)果. 由于大部分圖片的缺陷具有紋理特征, 所以加上紋理特征提取后的準確率有所提升, 當g =1, c=10 時效果達到最好, 準確率為83%. 但是漏檢、誤檢的比例仍然較高, 還不能達到上海寶鋼公司的檢測要求.
AlexNet 和NIN 的訓(xùn)練實驗結(jié)果如圖6 所示, 采用深度學(xué)習(xí)對連鑄坯缺陷的檢測優(yōu)于SVM 檢測方法. AlexNet 在迭代12 000 次之后趨于收斂, 準確率約為90%. NIN 學(xué)習(xí)的效果最好, 在迭代7 500 次之后趨于收斂, 收斂速度比較快, 而且收斂也更加穩(wěn)定, 最終準確率達93%,比AlexNet 高2%,比紋理-Hu 不變矩組合特征提取后通過SVM 進行分類的結(jié)果高10%.
圖6 AlexNet 和NIN 的訓(xùn)練結(jié)果比較Fig.6 Comparisons of AlexNet and NIN training results
AlexNet 和NIN 的測試結(jié)果分別用表6 的7 和混淆矩陣表示, 總體準確率分別為89.3%和92.1%, NIN 的準確率最高. 兩個混淆矩陣中第一類裂紋的檢測效果最好, 均可以達到92%以上; 第二類無缺陷的圖片在這兩個模型中的誤檢率約為8%; 第三類缺陷由于種類多, 每種缺陷的數(shù)據(jù)較少, 所以準確率相對于前兩類較低, 在AlexNet 上的漏檢率為20.4%, 在NIN 上的漏檢率為12.0%, 漏檢率降低了8%.
表6 AlexNet 的測試混淆矩陣Table 6 AlexNet test confusion matrix
表7 NIN 的測試混淆矩陣Table 7 NIN test confusion matrix
本工作提出了一種基于深度學(xué)習(xí)的連鑄坯表面缺陷檢測方法. 對比傳統(tǒng)的SVM 分類方法, 使用深度學(xué)習(xí)算法有更好的分類效果, 總體檢測準確率比SVM 高9.9%. 此方法對裂紋的檢測準確率為95%, 對第三類缺陷的檢測準確率為88%, 對無缺陷的誤檢率為6.8%. 連鑄熱坯缺陷檢測的研發(fā), 可以省略連鑄坯冷卻再檢測的步驟, 降低鋼材的生產(chǎn)成本, 提高裝置的生產(chǎn)效率, 還可以減少生產(chǎn)過程中因高溫鋼材與空氣的接觸而導(dǎo)致的產(chǎn)品被氧化, 提高產(chǎn)品的合格率.
但是目前的檢測、識別率還不能完全達到上海寶鋼公司所提出的漏檢率為0、誤檢率盡可能低的要求, 可以進一步設(shè)計結(jié)合此類數(shù)據(jù)的深度學(xué)習(xí)方法來降低漏檢率和誤檢率. 目前訓(xùn)練樣本和測試樣本較少, 第三類缺陷種類細分不夠, 后期可將新檢測到的缺陷圖添加到樣本中,細化缺陷種類, 從而提高檢測、識別的準確率.