俞 璇,李劍鋒
(中國計量大學 經(jīng)濟與管理學院, 浙江 杭州 310018)
化纖作為一種常用材料被廣泛應用于服裝、航空、醫(yī)療等各個領域,但我國化纖生產(chǎn)領域的管理水平、生產(chǎn)流程以及生產(chǎn)輔助技術仍處于相對落后的階段[1]。
受限于設備數(shù)字化程度較低和研發(fā)資金不足等,化纖產(chǎn)品的質量檢驗主要依靠檢驗員人眼識別[2],具有極強的不穩(wěn)定性,人工接觸的檢測方式也有可能為絲餅帶來二次損傷。此外,傳統(tǒng)的圖像識別技術也存在特征量化困難、識別能力較弱等問題,難以滿足工業(yè)要求[3]。
隨著工業(yè)4.0時代的到來以及高性能芯片、云計算平臺的出現(xiàn),機器視覺算法日臻成熟,其領域從電子元件疵點識別[4]逐漸擴展到汽車質檢[5]、自動駕駛[6]、人臉識別[7]、機器人分揀[8]、車牌標識[9]等。相對于傳統(tǒng)圖像識別技術,基于深度學習的機器視覺技術在及時性、準確性、抗干擾性上有顯著提升,系統(tǒng)硬件設備也更具優(yōu)勢。因此,運用人工智能技術實現(xiàn)紡織設備數(shù)字化、網(wǎng)絡化和智能化[10]已是大勢所趨。
當前,國內在化纖紡織領域中,缺陷研究主要歷經(jīng)3個階段,從長絲斷頭識別[1,11]到絲餅表面缺陷,再到織物疵點研究[12-14]。基于計算機設備和圖像技術的機器視覺檢測技術逐步提升,絲餅表面缺陷識別也有了新的研究突破。郭根[15]以搭建硬件平臺為基礎,通過單方向凸包和支持向量機(SVM)檢測絲餅毛羽,并結合打光技術以DoG算法和坐標序列法檢測絲餅油污與凹陷問題。景軍鋒等[16]通過分析梯度空間下圖像信息熵和能量變動差異,設置閾值識別絲餅污漬、壓痕、飄絲三大缺陷。然而,此類方法均需根據(jù)特定數(shù)據(jù)庫提取特定匹配特征,二者具有極強的相關性,一旦更換原始輸入圖片,則需重新提取特征,通用性與普適性較弱,且識別過程需要依照缺陷數(shù)目單獨設置模型用于檢測,沒有集成的多分類視覺模型。
相較于傳統(tǒng)的機器視覺算法,深度學習方法可以將數(shù)據(jù)直接傳遞到網(wǎng)絡,利用卷積層自動提取缺陷圖像的特征[17],并通過小批量梯度下降優(yōu)化模型損失函數(shù),得到滿足需求的檢測結果。吳旭東等[18]基于卷積神經(jīng)網(wǎng)絡,提出DVYC分類模型,通過卷積核的分離、通道的變換等操作,實現(xiàn)細紗斷頭檢測。王澤霞等[19]以AlexNet為網(wǎng)絡基礎,通過全局最大池化法將絆絲、成型不良、油污3類缺陷的識別準確率提升至97.1%,雖然該方法對成型、污漬類大面積缺陷有著顯著的識別率,但其對于毛絲類小面積缺陷檢測的成果仍有待校驗。
為適配我國“智能制造2025”中智能改造、精準制造的要求,本文研究遵循智能化發(fā)展應與現(xiàn)有生產(chǎn)設備適配的內在邏輯,針對化纖絲餅生產(chǎn)制造過程中的毛絲、絆絲、紙管破損三大主要缺陷,設計基于混合注意力機制(CBAM)和改進全連接層的VGG網(wǎng)絡(Convolutional Block Attention Module-VGG with Modified Fully Connected Layer,CBAM-VMFC)模型,以改進的機器視覺技術提高絲餅表面缺陷識別率,以高效的質量控制技術保證絲餅檢測的準確性和實時性,提高企業(yè)核心競爭力。
毛絲、絆絲、紙管破損是絲餅出庫前的三大主要缺陷,也是衡量化纖絲餅質量的重要指標之一,圖1為3種缺陷的局部放大效果。在產(chǎn)品包裝出庫前運用機器視覺算法篩除帶有這3種缺陷的絲餅,能保證產(chǎn)品的質量精度需求,對企業(yè)的建設與發(fā)展有著重要的現(xiàn)實意義。
圖1 3種缺陷
本文實驗所需的圖像來源于國內某家500強企業(yè)。以本文實驗為例,探索深度學習技術賦能化纖絲餅的質量控制,對紡織領域的其他紗線或織物的缺陷識別也具有一定的參考價值。
樣本的選取遵照抽樣原則[20]。絲餅的缺陷種類較多,根據(jù)FZ/T 50054—2021《化學纖維 長絲卷裝外觀在線智能檢測》,目前在生產(chǎn)過程中出現(xiàn)的外觀疵點主要有17種。從9種型號的絲餅中隨機抽取樣本進行拍照,基于工人經(jīng)驗比照正常樣本,對毛絲、絆絲、紙管破損3種缺陷進行標簽標注,用于缺陷數(shù)據(jù)集的構建。
鑒于當前絲餅表面缺陷多分類識別問題的不足,本文提出一種基于深度學習的機器視覺技術,實現(xiàn)絲餅質量缺陷的智能診斷過程。具體研究內容包括數(shù)據(jù)預處理過程和模型設計與實驗對比2個方面。
數(shù)據(jù)預處理過程:將毛絲、絆絲和紙管破損的單通道灰度缺陷圖像混合輸入并打亂樣本,通過數(shù)據(jù)集隨機化保證模型泛化能力,對缺陷樣本實行過采樣緩解采集數(shù)據(jù)類別不平衡的問題。
模型設計與實驗對比:為論證模型改進的有效性,本文通過與原始VGG[21]模型的消融實驗對比,檢驗全連接(FC)層改進、CBAM混合注意力機制[22]加入的效益。
① VMFC模型。將VGG11模型最后的全連接層調整為大小256和1的2個FC層,并在2個FC層之間運用Dropout方法防止過擬合。在此將改進全連接層后的網(wǎng)絡命名為VMFC(VGG with Modified Fully Connected Layer),驗證改進后的卷積網(wǎng)絡模型的識別準確率。
② CBAM-VGG模型。加入CBAM混合注意力機制,在圖像空間和通道雙維度上進行權重分配,捕獲和強化數(shù)據(jù)空間內重要區(qū)域的特征。在此將添加了CBAM模塊的VGG網(wǎng)絡命名為CBAM-VGG(Convolutional Block Attention Module-VGG),驗證混合注意力機制對VGG11模型的改進效果。
③ CBAM-VMFC模型。將全連接層的改進和混合注意力機制全部加于原始VGG11模型。
將VGG11模型、VMFC模型、CBAM-VGG模型和本文算法CBAM-VMFC進行比較,基于消融實驗的結果,論證模型改進的有效性。
絲餅運輸至倉庫存儲后,傳統(tǒng)企業(yè)的絲餅外觀質量缺陷檢測流程是由工人對制造完成的絲餅進行外觀勘測,發(fā)現(xiàn)缺陷后填寫表單并分類降等,最后包裝出庫,完成產(chǎn)品交付。智能改進路線運用基于深度學習的機器視覺技術,只需要智能質檢和智能評級2步,即可高效識別絲餅外觀缺陷,對瑕疵絲餅予以降等處理,并將降等絲餅的托盤號、批號、缺陷類型等實時更新至數(shù)據(jù)庫,便于人工復核。對數(shù)據(jù)庫中某時間段或某批號絲餅的降等信息進行分析,當出現(xiàn)異常降等數(shù)和異常缺陷標記時立刻警示,反饋至前道工序,查看故障來源?;w絲餅生產(chǎn)質量控制流程對比如圖2所示。智能質檢和智能評級操作精簡了傳統(tǒng)的企業(yè)質量控制流程,能有效降低2類誤判的產(chǎn)生,在提高檢測精度、提高檢測效率的同時,節(jié)約人力成本,滿足企業(yè)遠程智能化管理互聯(lián)互通的需求。
圖2 化纖絲餅生產(chǎn)質量控制流程對比
采用分辨率為2 448像素×2 048像素的工業(yè)CMOS相機(型號DFK33GX264e,德國映美精公司)采集原始圖像。由于原始圖片像素值較高,且為符合神經(jīng)網(wǎng)絡的輸入尺寸設置,因此將輸入圖像尺寸設置為224像素×224像素。
首先,基于專家經(jīng)驗對采集到的圖片進行標簽標注;然后將RBG三通道圖像轉化為單通道灰度圖以便神經(jīng)網(wǎng)絡運算;其次,通過隨機旋轉等操作達到數(shù)據(jù)增強的效用,以數(shù)據(jù)集隨機化的方式保證模型泛化能力。由于數(shù)據(jù)集內各類別樣本量的不平衡,因此需要對缺陷樣本實行過采樣,即從少數(shù)樣本中隨機重復采樣擴充樣本容量的方法,緩解采集數(shù)據(jù)類別不平衡的問題。
神經(jīng)網(wǎng)絡是深度學習的核心組成,卷積神經(jīng)網(wǎng)絡(CNN)和循環(huán)神經(jīng)網(wǎng)絡(RNN)均在深度學習中應用廣泛。深度卷積神經(jīng)網(wǎng)絡(AlexNet)、使用塊的卷積神經(jīng)網(wǎng)絡(VGG11)、殘差卷積神經(jīng)網(wǎng)絡(ResNet50)等均為CNN模型,被用于大型數(shù)據(jù)集的圖像分類探索[22-23]。
VGG模型最初由牛津大學的K. Simonyan和A. Zisserman在LSVRC-2014(ImageNet視覺識別競賽)中提出,該模型以92.7%的準確率位列本地化領域榜首和分類領域的榜二。Simonyan和Zisserman經(jīng)過大量的對比試驗,發(fā)現(xiàn)通過小的卷積層增加網(wǎng)絡的深度,可以顯著提高模型的準確性。因此,本研究以VGG11為網(wǎng)絡基礎,如圖3所示,通過其中的8層卷積層和5層池化層完成特征提取,通過最后的全連接層完成圖像分類[24]。
圖3 CBAM-VMFC模型
由于全連接結構會使得網(wǎng)絡參數(shù)過多,檢測速度下降,因此將VGG11模型最后的3個全連接層調整為節(jié)點大小256和1的2個全連接層,有效減少全連接層的網(wǎng)絡參數(shù)計算量,并通過Dropout方法防止模型過擬合。此外,由于毛絲缺陷屬于小面積缺陷模型,也需要提高模型特征檢測水平,因此在網(wǎng)絡中加入混合注意力機制,捕獲重要區(qū)域特征,使模型達到更高的檢測效率。
深度學習的改進思路之一就是在不改變輸入或輸出大小的情況下,以模型有效性為基準實現(xiàn)參數(shù)的節(jié)約[25]和計算量的減少。VGG模型的全連接模塊主要由3個全連接層構成,參數(shù)量較大,因此本文將全連接模塊改進為2個FC層,并調整節(jié)點數(shù)量以實現(xiàn)改進目的,優(yōu)化模型運行進程。
卷積后得到的特征圖經(jīng)由展平(Flatten)操作,化為一維向量輸入全連接層,為分類器提供輸入。展開特征圖中的每個向量都與后一層節(jié)點相連。設全連接層為輸入值Q和輸出值P的圖層,權重W儲存在Q×P的矩陣中,全連接層的計算量為:
y=matmul(x,W)+b
(1)
式中:x表示輸入值Q的向量;W是包含圖層權重的Q×P矩陣;b是P偏差值的向量;y為計算的參數(shù),其大小為(P,1),其參數(shù)量為權重W與偏置b的總和。
矩陣乘法matmul(x,W)的具體表示如下:
(2)
當特征數(shù)高于樣本數(shù)時,線性模型會出現(xiàn)較高的偏差和較低的方差,這種泛化性和靈活性之間權衡被描述為偏差-方差權衡(bias-variance tradeoff)。在神經(jīng)網(wǎng)絡的學習中,盡管案例樣本數(shù)遠大于特征數(shù),深度神經(jīng)網(wǎng)絡仍有過擬合的風險,因此需要上述2個全連接層之間運用Dropout方法,在每輪批次中隨機讓網(wǎng)絡的部分隱層節(jié)點值為0,減少神經(jīng)元之間共適應(co-adaption)性,保證網(wǎng)絡前項傳播的過程中模型更強的泛化效果,防止過擬合。
注意力機制(Attention Mechanism)借鑒了人類視覺特性,聚焦于局部信息的顯著部分并賦予權重,通過不同區(qū)域的信息整合,從而形成對被觀察對象的整體記錄。
Itti等[26]在計算機視覺領域引入注意力機制,通過動態(tài)神經(jīng)網(wǎng)絡以顯著性高低選擇重點區(qū)域。Mnih等[27]首次在循環(huán)神經(jīng)網(wǎng)絡RNN模型上運用注意力機制實現(xiàn)圖像分類。Fu等[28]提出一種基于CNN模型的循環(huán)注意力卷積神經(jīng)網(wǎng)絡RA-CNN,通過網(wǎng)絡遞歸分析局部信息,并根據(jù)子區(qū)域的預測整合完成整張圖片的分類預測。注意力機制主要有軟注意(全局注意)、硬注意(局部注意)和自注意(內注意)3大類。軟注意力屬于確定性的注意力,具有可微分的特性,因此能運用神經(jīng)網(wǎng)絡算出梯度并且通過前向傳播和后向反饋來學習得到注意力的權重。在卷積神經(jīng)網(wǎng)絡中,軟注意機制主要有空間域、通道域和混合域三大注意力域,因而分別對應空間注意力模型、通道注意力模型、空間和通道混合注意力模型3種模型。
(3)
圖4 通道注意力模塊
式中:W0和W1為MLP模型的2次卷積后的權重;σ表示Sigmoid激活函數(shù)。
(4)
式中:f7×7表示7×7大小卷積核的卷積操作。
本文采用混合注意力CBAM模型,通過池化操作獲得通道域和空間域的權重,并以串行形式完成權重與特征元素的相乘,最后對輸入的特征圖和輸出的特征圖進行逐元素相加,得到混合注意力特征圖M∈H×W×C(如圖6所示)。
圖6 混合注意力機制
本文實驗由16 G顯存大小的GeForce RTX 2080 Ti顯卡驅動,在Windows10操作系統(tǒng)上,調用Pytorch1.8深度學習框架完成網(wǎng)絡調試工作,以CUDA11.0為架構,采用Python3.8.5版本進行程序編寫。
本文實驗累計拍攝圖片總數(shù)37 179張,其中合格樣本圖像14 572張,毛絲樣本圖像19 242張,絆絲樣本圖像1 732張,紙管破損樣本圖像1 633張。將標簽標注好的正常樣本和缺陷樣本進行混合,4類樣本各選取200張作為測試集用于最后的結果評價,提取剩余的數(shù)據(jù)按照8∶2的比例劃分訓練集與驗證集,用以模型訓練和參數(shù)調整。
設置模型每批次訓練的樣本數(shù)量(Batch Size)為64,最大迭代次數(shù)(Epoch)為100,優(yōu)化器選擇帶動量的隨機梯度下降SGD,動量設置為0.9,學習率設置為1.5625e-3,前10次迭代開啟學習率預熱,保證模型在趨于穩(wěn)定后使用預設的學習率能加快收斂速度。
本文采用準確率(Accuracy)P0、混淆矩陣、ROC(Receiver Operating Characteristic)曲線下的面積AUC(Area Under Roccurve)、kappa系數(shù)為評價指標,Pe為計算過程指標,表示偶然一致性。ROC曲線根據(jù)不同的分界值劃定二分類,其中TP(True Positive)表示正例被預測為正例,FN(False Negative)表示正例被預測為負例,FP(False Positive)表示負例被預測為正例,TN(True Negative)表示負例被預測為負例。其余公式如下:
(5)
(6)
(7)
模型訓練的缺陷識別準確率曲線和交叉熵損失值曲線如圖7、8所示,由于初期的學習率預熱,模型準確率有較大的起伏變化,但隨著迭代次數(shù)的增加,網(wǎng)絡不斷優(yōu)化學習,缺陷識別準確率顯著提高,損失值逐漸減小,預測結果趨于穩(wěn)定。
圖7 缺陷識別準確率曲線
圖8 交叉熵損失值曲線
圖9為混淆矩陣,縱軸為真實標簽,橫軸為預測標簽,標簽0表示合格圖像,標簽1表示毛絲缺陷,標簽2表示絆絲圖像,標簽3表示紙管破損圖像。毛絲、絆絲圖像的識別準確率均為100%,可見模型對于大、小面積缺陷均有著較高的檢測能力;由于紙管包裝存在圓圈花紋圖案,模型會造成誤判,因此紙管破損的識別水平相對較低,只有92.0%的準確率。最終模型在測試集上的預測準確率為97.5%,成果較為理想。
圖9 混淆矩陣
為了論證本文算法對絲餅表面缺陷識別的有效性,設計如下消融實驗檢驗不同模塊的改進效用。
4.5.1 全連接層的改進
原始VGG模型的全連接模塊由3個全連接組成,根據(jù)公式計算需要123 633 667個參數(shù),這使得網(wǎng)絡訓練速度較慢。因此將VGG11模型最后的3個全連接層調整為大小256和1的2個全連接層,以實現(xiàn)參數(shù)量和計算量的減少。如表1所示,全連接層的參數(shù)總量從123 633 667降低至 6 422 529,模型整體的參數(shù)內存減少440 MB。
表1 全連接層改進
4.5.2 注意力模塊的添加
混合注意力模型可以沿著獨立的通道維度和空間維度獲得二者權重,并進行自適應特征優(yōu)化,CBAM屬于輕量級的通用模塊,因此能忽略其參數(shù)成本將其集成到CNN架構中進行端到端的訓練,具有廣泛的適用性。
不同方法缺陷識別準確率如圖10所示,改進全連接層后VMFC模型的收斂速度較VGG11有著明顯的提升,同樣CBAM-VMFC的收斂速度也快于CBAM-VGG模型。
圖10 方法對比
隨著迭代周期的增加,CBAM-VMFC模型優(yōu)勢逐漸顯現(xiàn),其缺陷識別準確率明顯高于其他3個模型,說明網(wǎng)絡能夠準確高效地提取圖片的關鍵特征信息并完成分類任務。
CNN通過卷積層、池化層和全連接提取數(shù)據(jù)特征,完成圖像分類、語音識別等工作。而RNN則基于時間序列文本的長期依賴關系,多應用于自然語言處理等方面。為全面比較各類模型對化纖絲餅質量缺陷的分類結果,本文添加深度學習中RNN領域的長短期記憶模型(LSTM)、門控循環(huán)單元(GRU),同VGG11模型、VMFC模型、CBAM-VGG模型和CBAM-VMFC模型對圖像進行訓練對比,結果如表2所示。
表2 測試集性能對比
選取合格、毛絲、絆絲、紙管破損圖像各200張作為測試集,比較4類樣本的正確識別數(shù)量。根據(jù)測試集性能對比,RNN除參數(shù)內存較小的優(yōu)勢外,在圖像分類上效果不及CNN模型。對比4個CNN模型的分類性能,全連接層的改進使得VMFC以微弱的精度損失為代價提高了模型的檢測效率,CBAM輕量級模塊的加入,有效提高了模型對于合格類圖像和紙管破損圖像的識別效率,保證了模型在提升預測準確率同時沒有計算量和參數(shù)量的負擔,更好完成了毛絲、紙管破損的缺陷檢測識別工作。CBAM-VMFC對于合格圖像和絆絲圖像均有100%的識別成效,并于交叉熵損失、準確率和kappa 3個方面指標表現(xiàn)最優(yōu),說明本文方法對提高絲餅表面缺陷的識別準確率有著顯著成效。經(jīng)由本文研究方法的單張圖片的測試時間為0.1 s,滿足工業(yè)用時規(guī)定。
本文提出了一種基于混合注意力機制和改進全連接層的VGG網(wǎng)絡模型(CBAM-VMFC),用于毛絲、絆絲、紙管破損3種圖像的缺陷識別。首先對圖像實現(xiàn)灰度化處理便于卷積神經(jīng)網(wǎng)絡學習;其次以過采樣的方式緩解樣本不平衡問題;然后,將原始的3個FC層調整為節(jié)點大小256和1的2個FC層,并在之間運用Dropout方法防止過擬合,減少模型參數(shù)量和計算量,將加快模型收斂速度;最后在卷積層與全連接層之間加入混合注意力機制CBAM模塊,獲得輸入特征空間域和通道域的權重賦值,強化重要區(qū)域的感興趣特征。結果表明,對比VGG11模型、VMFC模型、CBAM-VGG模型,本文方法能有效節(jié)約440 MB的參數(shù)內存,滿足深度學習中參數(shù)節(jié)約與計算量減少的改進目標,有效加快模型收斂速度,以97.5%的準確率識別絲餅外觀瑕疵,可滿足工業(yè)運用的需求。識別出缺陷后,系統(tǒng)對瑕疵絲餅做降等處理,并將降等信息實時更新至數(shù)據(jù)庫,對異常信息及時反饋示警,實現(xiàn)智能化質檢管理。
在工廠實際運用中,降等的絲餅會根據(jù)瑕疵程度進行多等級質量評價,按評級流入市場售賣;而本文方法只能完成降等操作,而無法進行后續(xù)的多級別等級評定,因此在之后的學習中,會進一步研究實現(xiàn)識別之后的質量評級問題。