陸偉健, 屠佳佳,2, 王俊茹, 韓思捷, 史偉民
(1.浙江理工大學 機械工程學院, 浙江 杭州 310018;2.浙江機電職業(yè)技術學院 自動化學院, 浙江 杭州 310053)
近年來,我國紡織原料、生產用工、環(huán)保管理等成本因素持續(xù)上升[1],導致國內的中小棉紡織企業(yè)生存壓力不斷加大,因此自動化生產的需求也越來越大。紡織工廠進行紡紗時,工人需要對幾百個紗架不斷地巡檢,識別紗架上的空紗筒,然后再更換新的紗筒。紗架高度一般3 m左右,人工換筒不便捷,易造成識別錯誤、生產效率低、實時性較差以及人工成本過高的一些問題,因此實現(xiàn)實時、準確的空紗筒識別,對于紡織行業(yè)具有重要意義。
隨著機器視覺技術的不斷發(fā)展,機器學習與深度學習等方法被廣泛應用于實際生產中。張文昌等[2]利用機器視覺實現(xiàn)對紗籠紗桿進行快速定位。但傳統(tǒng)機器視覺魯棒性較差,易受到環(huán)境的干擾。任慧絹等[3]提出了利用顏色特征去識別定位筒紗,在背景簡單時具有較好的識別效果。王倪奕棋等[4]提出了基于改進的SSD(single shot MultiBox detector)深度學習算法去識別紗筒與定位,平均識別準確率達到了94%,但是對硬件要求較高。石志偉等[4]利用機器視覺識別紗筒余紗量,能達到小于5.7 mm的誤差,但是當余紗量小于2 mm時利用機器視覺計算余紗量會造成較大的誤差,且上述方法的神經網絡模型深度且參數(shù)量大,在實際生產中不能將復雜的模型部署在計算能力有限的嵌入式設備中。為解決該問題,常見方法有在網絡框架中加入深度可分離的分組卷積,如Xception[6]、MobileNet[7]等網絡結構。在實驗過程中發(fā)現(xiàn)還存在以下問題:拍攝背景復雜,存在大量干擾信息,導致空紗筒識別難度較大;紗筒余紗量少于2 mm時,會導致識別空紗筒難度提升;紗筒種類較多,采集完整的樣本難度較高,導致模型適應性不強。
為克服上述問題,本文設計了基于改進殘差網絡的空紗筒識別模型,通過卷積核輕量化,減少模型的冗余結構;同時結合優(yōu)化殘差結構與SENet注意力機制,提升檢測空紗筒的準確率和模型的輕量化。通過模擬生產現(xiàn)場進行數(shù)據(jù)增強,使數(shù)據(jù)集適用于實際生產中,為空紗筒的在線檢測提供理論參考。
將本文改進的模型運用到空紗筒檢測中,以迅速、準確地檢測空紗筒。首先換筒機器人開始巡檢,到達拍照點位時,進行圖像采集,由于紗架位置相對固定,對圖像中的紗筒進行分割,選取合適圖像作為數(shù)據(jù)集,最后將分割后的紗筒圖片,投入改進空紗筒識別模型中完成識別,具體檢測流程如圖1所示。
圖1 紗筒檢測流程Fig.1 Spindle inspection process
圖2 經典的殘差結構Fig.2 Classical residual structure. (a) Classic residual structure 1; (b) Classic residual structure 2
ResNet系列的網絡模型利用殘差模塊的特點,解決了層數(shù)過多的問題,但仍存在特征提取尺寸單一、模型參數(shù)多、硬件要求高等問題。因此需要在ResNet-18模型的基礎上對殘差模塊進行改進。
2022年1~2月于廣東纖紡紡織科技有限公司,利用??倒I(yè)攝像機MV-CA060-10GC進行紗筒圖像采集。采集圖像主要分為2大類:一類為空紗筒,其中空紗筒類型中有用完的紗筒、背景與紗架等;另一類為非空紗筒,在非空紗筒中包含大量不同余紗量的紗筒。原始紗筒數(shù)據(jù)集共9 176張圖片,其中空紗筒3 892張,非空紗筒5 284張。圖3示出空紗筒與非空紗筒樣本示例。圓緯機自動化生產線中的換筒機器人整體機構如圖4所示。
圖3 空紗筒與非空紗筒樣本示例Fig.3 Examples of empty and non-empty bobbin sample. (a) Conical empty yarn cylinder; (b) White cylindrical empty yarn cylinder; (c) White conical non-empty yarn cylinder; (d) Black cylindrical non-empty yarn cylinder
圖4 樣本采集平臺Fig.4 Sample collection platform
紗架上的紗筒通常存在于復雜的實際生產場景中,由于存在光照強度差異、拍攝角度差異、相機設備的不穩(wěn)定和余紗量變化等因素的影響,導致識別紗筒難度較高。紗筒樣本在顏色、紗筒輪廓信息等方面都會存在較大的差異,如圖5所示。
注:樣本1~4為隨機選擇的數(shù)據(jù)。
原始采集的紗筒數(shù)據(jù)中余紗量小于2 mm的樣本較少,并不能較好地應用于實際生產中。為了使數(shù)據(jù)集更加貼近實際生產需求,通過隨機翻轉來模擬不同的拍攝角度,如圖5(a)所示;對原始圖像添加模糊處理,來模擬設備聚焦效果差,增加細節(jié)增強圖如5(b)所示;通過亮度增強來模擬不同時間段的現(xiàn)場情況如圖5(c)所示。綜合以上3種方法,增強后的數(shù)據(jù)集大小是原來數(shù)據(jù)集的4倍。為方便模型讀取圖片,將其改成224像素×224像素,并按照10∶1劃分訓練集與驗證集。
一些經典的深度學習模型網絡可以達到較高的目標識別準確率,但存在網絡結構復雜、參數(shù)量多、內存要求高等缺點。本文在借鑒了ResNet-18網絡結構的基礎上,對網絡結構進行如下設計:1)卷積核輕量化;2)優(yōu)化殘差結構;3)將SENet注意力機制添加到優(yōu)化殘差模塊中。
整體網絡結構如圖6所示,首先利用卷積組減少模型參數(shù),然后通過改進的殘差模塊1、模塊2、模塊3、模塊4,不僅實現(xiàn)了模型的輕量化而且提高了模型提取紗筒全局特征與深層網絡特征的能力。為使模型適合紗筒類型的識別,需要獲取紗筒的全局特征信息,進行全局平均池化后,最后通過全連接層進行紗筒類型輸出。
圖6 整體網絡結構Fig.6 Overall network structure
為將模型移植到移動設備中,獨立完成空紗筒類型的識別。需要實現(xiàn)模型的輕量化[11],因此將所有的7×7的卷積核替換成3個3×3的卷積核。感受野計算公式為
油餅、炒粉、炒飯……這些花樣繁多的主食是人們常點的外賣,高油、高鹽或高糖,它們往往具備其中一到兩個特點。由于外賣菜肴難免油多鹽多糖多,因此主食選擇上,盡量選擇做法簡單、口味清淡的米飯、饅頭,或素餡、肉菜混合餡的餃子、包子。主食中若能加點原汁原味的紅薯、玉米、芋頭等雜糧最理想。
Wi=(Wi+1-1)×Si+K
(1)
式中:Wi為第i層的卷積層的感受野,Wi+1為第(i+1)層的感受野,Si為卷積步長,K為本層卷積核的大小。
由式(1)可得,1個7×7卷積核的感受野等于3個3×3卷積核的感受野。
卷積的參數(shù)量可由式(2)計算:
(2)
式中:A是輸入的通道數(shù);B為輸出的通道數(shù);K為本層卷積核的大小。
7×7卷積計算量為49×A×B,3個3×3卷積計算量為27×A×B,因此該方法不僅不減少感受野還可以減少一半的計算量。小卷積核之間通過ReLU激活函數(shù),擁有更強的非線性表達能力,使模型的準確率更高。
由于僅改進模型中的冗余卷積層,不能更好地獲取紗筒的全局特征和實現(xiàn)模型輕量化,因此要解決準確率與輕量化的問題。本文對經典殘差模塊進行如下優(yōu)化:首先在主分支上先進行通道分離,通過1×1普通卷積核,然后通過3×3卷積核的深度可分離卷積中的深度卷積(DW)[12]與1×1的點卷積(PW)[14],根據(jù)步長選擇輔分支結構,實現(xiàn)輕量化的目的。網絡完成卷積后,主分支與捷徑分支進行特征連接,實現(xiàn)對各個紗筒圖像通道的特征矩陣進行疊加、融合,從而增強網絡提取紗筒全局特征的能力。網絡在連接后,進行通道混合操作,建立起各個維度之間的聯(lián)系,從而提高紗筒識別的準確率和模型的輕量化,如圖7(a)輕量化殘差模塊1和圖7(b)輕量化殘差模塊2所示。
圖7 輕量化殘差結構Fig.7 Lightweight residual structure.(a) Lightweight residual module 1; (b) Lightweight residual module 2
一張紗筒圖片中的各個像素點都具有一定的聯(lián)系,由于卷積核的感受野有限,會導致各個像素點失去聯(lián)系。為提高識別紗筒的準確率,需要紗筒的全局像素信息,這樣能較好的獲取紗筒信息。因此本文利用了由Jie等[15]提出的SENet網絡,建立起卷積特征通道之間的相互聯(lián)系,來提高提取深層網絡特征的能力。該結構主要由擠壓操作、激勵操作與權重重賦這3個基本操作構成,如圖8所示。
圖8 SENet網絡結構Fig.8 SENet network structure
改進殘差模塊結合SENet網絡結構的優(yōu)點,提高了提取紗筒圖像深層網絡特征的能力,從而提高了識別紗筒的準確率。改進殘差模塊1如圖9(a)所示,改進殘差模塊2如圖9(b)所示。
圖9 改進后的殘差模塊Fig.9 Improved residual module. (a) Improved residual module 1;(b) Improved residual module 2
本文實驗在Intel Core i5-7300HQ CPU,2.50 GHz處理器,運行內存16 GB。測試軟件環(huán)境為Window10,64位操作系統(tǒng)。識別網絡模型由Python3.6基于Pytorch 1.10深度學習框架、CUDA 12.0搭建網絡環(huán)境,在NVIDIA GeForce GTX 1060下進行模型訓練。在訓練模型時,將輸入批尺寸設置為16,樣本輸入尺寸均為224像素×224像素,所有模型迭代次數(shù)為30。
本文研究從卷積核大小、注意力機制與輕量化殘差模塊對ResNet-18進行了組合設計,設計方案與性能參數(shù)如表1所示,可得出如下結論。
表1 ResNet-18設計方案與性能對比Tab.1 ResNet-18 design and performance comparison
1)卷積核設計方向。在方案1和方案2中都沒有應用注意力機制與殘差結構的優(yōu)化。卷積核分別使用了大卷積核與小卷積核,大卷積核的最高準確率比小卷積核的高3.24%,但是方案1使用了大卷積核,增加了模型的訓練參數(shù)量。
2)注意力機制設計方向。在方案1與方案3中使用了相同的卷積核并且不應用改進殘差結構,應用了注意力機制的方案3其最高準確率可提高3.86%。
3)優(yōu)化殘差模塊設計方向。在方案4、方案6中均應用了改進的殘差結構,分別與方案1與方案5進行比較發(fā)現(xiàn),采用改進殘差結構使模型訓練參數(shù)比原模型減少了650%,在驗證集上的最高準確率大約提升了1.22%。
綜上考慮,以方案6為最終的改進方案。
為客觀驗證改進方法的可行性,在紗筒數(shù)據(jù)集上,利用改進模型與其它經典的模型(如AlexNet[16]、VGG-16[17]、ResNet-18[10])進行對比,結果見表2。
表2 不同模型識別準確率Tab.2 Recognition accuracy of different models
如表2所示,改進模型在驗證集中的最高準確率達到了99.6%,比ResNet-18模型高4.46%,比其它識別模型高7.05%~9.41%。同時,改進模型訓練參數(shù)量縮減為ResNet-18的1/10左右,與其它模型相比縮減為1/2~1/83。綜上可知,對于空紗筒的分類識別,改進模型的各項指標均優(yōu)于其它識別模型。因此,改進模型既兼顧了模型的準確率也實現(xiàn)了模型的輕量化,為部署到移動端奠定了基礎。
3.3.1 數(shù)據(jù)增強對模型的影響
為提高模型的泛化能力,本文在原數(shù)據(jù)集的基礎上進行數(shù)據(jù)增強。分別在3種不同的情況下模擬工廠的實際工作環(huán)境,數(shù)據(jù)增強后的每個樣本數(shù)都增加了4倍。在訓練參數(shù)和網絡結構相同的實驗條件下,為驗證原始數(shù)據(jù)集和擴充數(shù)據(jù)集對模型的影響。ResNet-18模型在擴充數(shù)據(jù)集的測試準確率比原數(shù)據(jù)集的測試準確率高,表明數(shù)據(jù)增強能提高紗筒數(shù)據(jù)的多樣化,有效避免原模型出現(xiàn)過擬合的現(xiàn)象。此外改進模型在原數(shù)據(jù)集或增強后的測試集中,其驗證集的最高準確率變化不大,具體如表3所示。表中的數(shù)據(jù)集1、2、3分別為模擬不同的拍攝角度、不同的時間段、設備與環(huán)境干擾所得到的訓練樣本。改進模型在原始數(shù)據(jù)集上也能達到較好的空紗筒識別效果,說明改進模型的魯棒性較好。
表3 本文算法與原模型的識別效果對比Tab.3 Comparison of recognition effects between algorithm in this paper and original model
3.3.2 模型識別效果對比分析
為研究模型識別空紗筒的效果,在相同的實驗環(huán)境下訓練30次,結果如圖10所示。改進模型識別空紗筒的準確率以及收斂速度明顯優(yōu)于其它模型,且上升過程比較平滑,表明了改進模型的高效性。圖11示出4種模型的紗筒識別效果。
圖10 不同模型的識別準確率對比Fig.10 Comparison of recognition accuracy of different models
為驗證改進模型的空紗筒識別效果,本文利用易識別出錯的非空紗筒樣本進行實驗。例如圖11(a)左側圖片是余紗量小于2 mm的非空圓柱紗筒、圖11(a)右側圖片是余紗量小于2 mm非空圓錐紗筒,將二者作為實驗對象,在同一平臺上進行檢測,驗證結果如圖11所示。可以看出,當紗筒余紗量小于2 mm時,改進模型在紗筒類型識別方面無錯檢且具有較高準確率,對比ResNet-18,VGG16和AlexNet有較大的改善。改進模型可滿足工廠實際生產所要求的基本需求。
為進一步探究各個模塊獲取紗筒特征的情況,本文對空紗筒識別過程進行可視化處理。原模型中各個殘差模塊提取紗筒特征矩陣的效果,如圖12(a)所示。改進模型中的各個殘差模塊提取紗筒特征矩陣的效果,如圖12(b)所示。通過對比發(fā)現(xiàn),改進模型在提取淺層與深層的網絡特征能力上,優(yōu)于原模型。因此改進模型能減少卷積過程中丟失的紗筒特征信息,從而提取到更為復雜的紗筒整體信息,有效提高了識別空紗筒的能力。
圖12 不同模型特征提取可視化對比Fig.12 Visual comparison of feature extraction from different models. (a) Original module; (b) Improved module
本文設計了基于改進殘差網絡的空紗筒識別模型,根據(jù)紗筒的具體特征進行研究,構建了符合工廠實際生產的紗筒數(shù)據(jù)集,通過卷積核輕量化,改進經典的殘差模塊并加入了SENet注意力機制,從而實現(xiàn)空紗筒的準確識別與模型的輕量化。與其它算法相比,改進模型的魯棒性較好,更適用于工廠復雜的生產環(huán)境。在工廠生產中,利用嵌入式設備實現(xiàn)空紗筒的在線檢測,這將是今后空紗筒檢測的發(fā)展趨勢,因此本文在網絡結構與數(shù)據(jù)集方面進行了改進,可有效應用于空紗筒檢測,為嵌入式設備部署模型提供了思路,但還未在后續(xù)的模型部署中進行實驗,這將是今后進一步研究的內容。