董振宇 景軍鋒,2
(1.西安工程大學(xué),陜西西安,710600;2.陜西省人工智能聯(lián)合實驗室西安工程大學(xué)分部,陜西西安,710600)
玻璃纖維管紗是由玻璃纖維紗纏繞在紗管上 形成的管狀紗線體,是玻璃纖維紗運輸和儲存的包裝形式。隨著玻璃纖維及其制品的迅速發(fā)展,玻璃纖維紗廣泛應(yīng)用于制造印刷電路板(Printed Circuit Board,PCB)和建筑材料的強(qiáng)化[1]。由于玻璃纖維紗的特殊性,任何微小的缺陷都會對管紗的質(zhì)量評估產(chǎn)生嚴(yán)重的影響。早期的管紗缺陷檢測主要靠人眼觀察,人眼在長時間高強(qiáng)度勞動后容易產(chǎn)生生理性疲勞,造成誤判。此外,由于工人的身體和情緒狀態(tài)等因素,不同的工人對管紗的缺陷檢測結(jié)果一致性較弱,檢測的準(zhǔn)確率和召回率無法得到保證。因此開展基于機(jī)器視覺的管紗自動缺陷檢測的研究,對提高管紗的質(zhì)量管控有深遠(yuǎn)意義。
基于機(jī)器視覺的缺陷檢測方法通過先進(jìn)的視覺設(shè)備采集缺陷圖像,根據(jù)算法對圖像進(jìn)行處理,這類方法已經(jīng)成功應(yīng)用于管紗毛羽缺陷檢測領(lǐng)域。JING J 等[2]為解決傳統(tǒng)管紗表面缺陷檢測質(zhì)量不穩(wěn)定的問題,提出了一種基于視覺顯著性分析的管紗表面缺陷檢測方法;蔡逸超等[3]針對筒子紗不規(guī)則的紋理基元增加缺陷檢測難度的問題,提出一種基于多尺度多方向模板卷積的筒子紗表面網(wǎng)紗缺陷檢測算法;李海葉等[4]為解決管紗人工檢測質(zhì)量不穩(wěn)定的問題,提出一種基于最大穩(wěn)定極值區(qū)域(MSER)和支持向量機(jī)(SVM)的玻璃纖維管紗毛羽檢測方法。上述研究均使用基于機(jī)器視覺的傳統(tǒng)算法,這些算法對于形狀明顯的缺陷可以獲得較為滿意的檢測結(jié)果,但其對微小缺陷的識別能力較差。此外,在檢測不同類型且尺寸差異較大的缺陷時,需要手動調(diào)整參數(shù),因此該方法不適用于工業(yè)場景中的管紗缺陷檢測。
近年來,基于深度學(xué)習(xí)的缺陷檢測方法已經(jīng)成熟并廣泛應(yīng)用于許多工業(yè)品領(lǐng)域。與傳統(tǒng)圖像處理技術(shù)相比,深度學(xué)習(xí)的方法能夠從采集到的圖像中學(xué)習(xí)缺陷的輪廓及語義規(guī)律,從而對缺陷進(jìn)行智能檢測,具有較強(qiáng)的泛化能力和魯棒性,這類方法已經(jīng)成為管紗缺陷檢測領(lǐng)域新的研究焦點。趙麟坤等[5]以碳纖維立體編織物表面質(zhì)量檢測為研究對象,針對傳統(tǒng)視覺識別率不高、小缺陷特征定位和識別不夠準(zhǔn)確的問題,提出基于改進(jìn)的Faster RCNN 缺陷檢測算法,可以滿足碳纖維立體編織物表面質(zhì)量檢測要求。楊毅等[6]針對織物瑕疵檢測中存在小目標(biāo)瑕疵檢測困難、不同種類瑕疵長寬比差異大、對實時性要求高等問題,以YOLOv4 網(wǎng)絡(luò)為基礎(chǔ),提出一種新的輕量化織物瑕疵檢測算法,該方法能夠較好地應(yīng)用于織物瑕疵檢測。孫浩東等[7]針對經(jīng)編織物缺陷檢測精度低、漏檢和誤檢率高等問題,提出改進(jìn)的YOLOv5s 算法模型CSC-YOLOv5s,該算法對經(jīng)編織物缺陷檢測整體性能較好。
本研究提出了一種基于改進(jìn)YOLOv5 的管紗缺陷檢測方法(BY-YOLO),以解決管紗缺陷檢測中存在的抗干擾能力差、檢測精度低和檢測速度慢的問題。本研究的主要創(chuàng)新如下。一是提出BY-YOLO,能夠提高管紗缺陷檢測的精度,同時可實現(xiàn)缺陷的實時檢測。二是建立了高效重參數(shù) 網(wǎng) 絡(luò)(Efficient Reparameterization Network,ER-Net)作為主干網(wǎng)絡(luò)對管紗缺陷特征進(jìn)行優(yōu)化提取,利用結(jié)構(gòu)重參數(shù)化技術(shù)和精確金字塔池化模塊(Refined Spatial Pyramid Pooling,R-SPP),加快檢測速度和減弱特征的噪聲信息對檢測效果的影響。三是構(gòu)造了深度注意力路徑聚合網(wǎng)絡(luò)(Depth Attention Path Aggregation Network,DAPANet)作為頸部網(wǎng)絡(luò)對管紗的多尺度特征進(jìn)行融合,通過特征增強(qiáng)模塊Depth-Mixer 和注意力機(jī)制模塊,增強(qiáng)管紗缺陷特征的語義信息,提高模型對多尺度缺陷的檢測能力。
YOLOv5 算法的網(wǎng)絡(luò)結(jié)構(gòu)主要包括三部分:一是主干網(wǎng)絡(luò),主要采用帶有殘差結(jié)構(gòu)的C3(CSP-Bottleneck with three convolutions)模塊對圖像進(jìn)行特征提??;二是頸部網(wǎng)絡(luò),使用路徑聚合網(wǎng) 絡(luò)(Pyramid Aggregation Network,PANet)實現(xiàn)了特征增強(qiáng)與雙向特征信息流融合;三是檢測頭,通過卷積層改變特征圖的通道數(shù)量,獲取目標(biāo)的位置信息和類別信息,使用定位、分類和置信度3 種損失函數(shù)對模型進(jìn)行迭代學(xué)習(xí),從而獲得精準(zhǔn)的檢測錨框。
本研究在YOLOv5 算法的基礎(chǔ)上針對管紗缺陷檢測任務(wù)進(jìn)行改進(jìn),對YOLOv5 的主干網(wǎng)絡(luò)和頸部網(wǎng)絡(luò)分別使用不同的網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行優(yōu)化,BY-YOLO 模型結(jié)構(gòu)如圖1 所示。
圖1 BY-YOLO 模型結(jié)構(gòu)圖
1.2.1 主干網(wǎng)絡(luò)
BY-YOLO 主干網(wǎng)絡(luò)為本研究提出的高效重參數(shù)網(wǎng)絡(luò)(ER-Net),ER-Net 由RepVGGBlock[8]模塊和精確金字塔池化(R-SPP)模塊組成。
現(xiàn)階段基于深度神經(jīng)網(wǎng)絡(luò)的管紗缺陷檢測方法的檢測速度一直無法令人滿意,為了解決這個問題,本研究所使用的RepVGGBlock 模塊在VGG 結(jié)構(gòu)[9]的基礎(chǔ)上加入了結(jié)構(gòu)重參數(shù)化技術(shù),如圖2 所示。
圖2 RepVGGBlock 模塊
在訓(xùn)練階段,RepVGGBlock 模塊主要由卷積層、批歸一化(BN)層和SiLU 激活函數(shù)組成,通過卷積層和跳躍連接來提取管紗的特征信息,激活函數(shù)作為非線性因素,能夠提高神經(jīng)網(wǎng)絡(luò)對模型的表達(dá)能力。在訓(xùn)練階段結(jié)束后將卷積層和BN層融合。
卷積層和BN 層融合后利用卷積的線性可加性將1×1 的卷積核和跳躍連接視為填充為0 的3×3 卷積核,與實際所使用的3×3 卷積核進(jìn)行融合,最終在推理階段得到只有一個卷積層和損失函數(shù)的結(jié)構(gòu),以此來達(dá)到降低模型復(fù)雜度、加快管紗缺陷檢測速度的目的。
在主干網(wǎng)絡(luò)進(jìn)行特征提取中,由于經(jīng)過多次下采樣操作的管紗特征圖存在大量的噪聲特征,造成背景復(fù)雜,直接將特征圖輸入頸部網(wǎng)絡(luò)容易提取出大量的冗余特征,增加檢測難度,為解決這個問題提出了R-SPP 模塊,如圖3 所示。該池化模塊通過1×3 和3×1 兩個深度可分離卷積(Depthwise Separable Convolution,DS-Conv)[10]模塊獲取特征圖的局部語義信息,兩個不同大小的卷積層組成的局部感受野可以獲取更加豐滿的局部信息;通過全局平均池化模塊將全局信息進(jìn)行編碼,使用雙線性插值的上采樣模塊解耦來獲取特征圖的全局語義信息;多尺度語義信息通過兩個連續(xù)的最大池化模塊獲得,該模塊有助于提取特征級的稀疏信息,提高特征的多樣性。這些包含不同感受野的特征圖采用級聯(lián)操作進(jìn)行融合,通過1×1 的CBS 模塊輸出與輸入相同尺度的特征圖來擴(kuò)大高層特征圖的感受野,在一定程度上消除了管紗的噪聲特征。
圖3 R-SPP 模塊的整體結(jié)構(gòu)
1.2.2 頸部網(wǎng)絡(luò)
BY-YOLO 頸部網(wǎng)絡(luò)為本研究提出的深度注意力路徑聚合網(wǎng)絡(luò)(DA-PANet),其遵循PANet[11]自上而下和自下而上的雙向特征融合方法。
在頸部網(wǎng)絡(luò)中,C3 模塊作為特征增強(qiáng)模塊,主要通過其中的殘差模塊來增強(qiáng)對特征的提取能力,由于殘差模塊所提取的信息僅限于局部,無法充分提取管紗的上下文語義信息,影響了網(wǎng)絡(luò)對多尺度缺陷的檢測性能,為解決這個問題,提出了Depth-Mixer 模 塊。受 到MLP-mixer[12]網(wǎng) 絡(luò) 結(jié) 構(gòu)的啟發(fā),該模塊采用純卷積結(jié)構(gòu)實現(xiàn)令牌混合(Token Mixer)和通道混合(Channel Mixer)兩個單元來增強(qiáng)模型的特征提取能力,具體結(jié)構(gòu)如圖4 所示。
圖4 Depth-Mixer 模塊的整體結(jié)構(gòu)
在Token Mixer 單元中,首先通過通道分離(Channel Split)模塊將特征圖按照通道數(shù)拆分為不同分支,對不同分支的特征圖分別使用核尺寸為3×3 和5×5 的深度卷積進(jìn)行特征提取后融合,使用核尺寸為7×7 的深度卷積對融合后的特征圖再次進(jìn)行特征提取。深度卷積的優(yōu)點是復(fù)雜度低、參數(shù)量小。深度卷積將特征圖通道中的每一個位置都視為一個令牌,它的線性特征提取過程被看作是一種特殊的令牌混合方式,不同大小的卷積核代表了不同的混合范圍,這使得管紗特征圖以極小的參數(shù)代價能夠?qū)W習(xí)到廣泛的特征信息。對于Channel Mixer 單元,通過使用兩個標(biāo)準(zhǔn)卷積對特征進(jìn)行低維到高維之間的映射,以學(xué)習(xí)更多抽象的語義信息來增強(qiáng)管紗缺陷特征的語義價值。 在特征提取結(jié)束后,該模塊遵循CSPNet[13]的 基 本 結(jié) 構(gòu),避 免 了 梯 度 信 息 重 復(fù) 使用,保證了整個模型的特征提取能力。
對于經(jīng)過多次融合和特征提取的管紗高層特征圖,其內(nèi)部通道的權(quán)重分布紊亂,會對檢測頭的預(yù)測產(chǎn)生干擾。為了解決這個問題,在高層特征圖輸入至檢測頭之前加入了SENet(Squeeze-and-Excitation Network)[14]作為一種通道注意力 機(jī)制模塊,通過全局池化將全局信息編碼到通道維度,利用全連接層解耦特征的通道相關(guān)性來改變不同通道的權(quán)重關(guān)系,具體結(jié)構(gòu)如圖5 所示。該模塊使得檢測網(wǎng)絡(luò)能夠?qū)W⒂谔峁└邔哟握Z義價值的區(qū)域,提高管紗缺陷檢測的準(zhǔn)確率。
圖5 SENet 模塊的整體結(jié)構(gòu)
圖像采集平臺主要包括圖像采集設(shè)備、照明系統(tǒng)和傳輸系統(tǒng)。圖像采集平臺如圖6 所示,相機(jī)為Basler ace acA1920-25uc 面陣相機(jī)。首先,通過傳送帶將管紗送入圖像采集系統(tǒng);由液壓裝置啟動機(jī)械手將管紗移動到檢測工位;在光源的照射下,通過面陣相機(jī)從各個角度獲取旋轉(zhuǎn)中的管紗圖像。通過控制檢測工位的旋轉(zhuǎn)速度和面陣相機(jī)的采樣頻率,獲取管紗的完整圖像。
圖6 圖像采集平臺
該缺陷檢測方法所采用的管紗數(shù)據(jù)集取自真實的工業(yè)現(xiàn)場,在采集到的管紗圖像中挑選出有缺陷的圖像分割成小的圖像塊,然后輸入網(wǎng)絡(luò)進(jìn)行訓(xùn)練。管紗的缺陷可以分為四類:污漬(blot)、毛 羽(the hairiness)、毛 圈(looped pair)和 毛 夾(hair clip)。污漬是運輸過程中不小心劃傷造成的,毛羽、毛圈和毛夾是管紗在纏繞過程中張力不均勻?qū)е碌摹N蹪n為無規(guī)則形狀的圖案;毛羽為單根的線狀纖維紗;毛圈為單根的圈狀纖維紗;毛夾為多根不規(guī)則形狀的纖維紗纏繞在一起而形成的,具體示例如圖7 所示。管紗缺陷數(shù)據(jù)集按照近似8∶1∶1 的比例分為訓(xùn)練集、驗證集和測試集,圖像分辨率為320 pixel×320 pixel,表1 顯示了數(shù)據(jù)集的基本信息。
表1 數(shù)據(jù)集的基本信息 單位:張
圖7 缺陷圖片
試驗所使用的模型是基于YOLOv5 第六代版本中的YOLOv5s 模型進(jìn)行改進(jìn)。訓(xùn)練迭代次數(shù)(epoch)為500,批次大小為16;初始學(xué)習(xí)率為0.01,學(xué)習(xí)率動量為0.1;采用隨機(jī)梯度下降方法,其他為默認(rèn)設(shè)置,具體試驗環(huán)境:操作系統(tǒng)為Windows 10,圖形處理器為NVIDIA GeForce RTX 2080Ti(11 G),中央處理器為Intel(R) Xeon(R) Gold 5118 @2.3 GHz,加速環(huán)境為CUDA 11.1、cuDNN8.0.4,訓(xùn)練框架為Pytorch。
與傳統(tǒng)算法不同,我們選擇用于評估神經(jīng)網(wǎng)絡(luò)工作模型有效性的相關(guān)指標(biāo)有精確率(Precision,P)、召回率(Recall,R)、平均精度(Average Precision,AP)、平 均 精 度 均 值(mean Average Precision,mAP)。在評估m(xù)AP時,本研究將缺陷圖像的交并比(Intersection over Union,IoU)設(shè)置為0.5。
為了進(jìn)一步驗證所提出的BY-YOLO 網(wǎng)絡(luò)模型在管紗缺陷數(shù)據(jù)集上的有效性,表2 中的消融試驗列出了不同改進(jìn)模塊對管紗缺陷檢測的精度和速度的影響。當(dāng)模型使用RepVGGBlock 作為主干網(wǎng)絡(luò)的特征提取模塊時,管紗缺陷的精度沒有出現(xiàn)下降,參數(shù)量降低了30.48%,檢測速度從75 幀/s 提高至120 幀/s;當(dāng)主干網(wǎng)絡(luò)被替換為ER-Net 時,毛羽和毛夾缺陷的AP值分別提高了2.49 個百分點和2.34 個百分點,檢測速度下降至108 幀/s;將頸部網(wǎng)絡(luò)中的C3 模塊替換為Depth-Mixer 模塊后,污漬和毛圈缺陷的AP值分別提高了3.81 個百分點和2.85 個百分點,參數(shù)量和檢測速度的變化不明顯;當(dāng)頸部網(wǎng)絡(luò)在此基礎(chǔ)上加入注意力機(jī)制完成改進(jìn)后,與YOLOv5s 模型相比,mAP值增加了4.01 個百分點,參數(shù)量降低了21.65%,檢測速度提升了37.33%。圖8 對比了YOLOv5s 和BY-YOLO 的檢測結(jié)果,可以看到BY-YOLO 避免了因環(huán)境噪聲造成的誤檢和漏檢,并且能夠得到精準(zhǔn)的檢測框,非常適合用于玻璃纖維管紗缺陷檢測。
表2 對YOLOv5s 添加不同改進(jìn)模塊的對比試驗
圖8 管紗的4 種缺陷在不同模型下檢測結(jié)果對比
為了驗證BY-YOLO 模型的先進(jìn)性,本研究在管紗缺陷數(shù)據(jù)集上將兩種經(jīng)典的目標(biāo)檢測模型(SSD[15]、Faster RCNN[16])和YOLO 系 列 算 法(YOLOv3[17]、EfficientNet-YOLOv3[18]、YOLOv4-Tiny[19]、MobileNetv3-YOLOv4[20]、YOLOX[21])與BY-YOLO 模型進(jìn)行對比試驗,結(jié)果如表3 所示。相比于其他方法,BY-YOLO 試驗方法取得最高的mAP值。相較于最先進(jìn)的單階段檢測模型之一的YOLOX,BY-YOLO 的mAP提高了2.75 個百分點;相較于經(jīng)典的目標(biāo)檢測模型YOLOv3 及其 變 體,BY-YOLO 的mAP分 別提 高 了30.80 個百分點和17.34 個百分點;相較于更換了輕量級主干網(wǎng)絡(luò)MobileNetv3 的YOLOv4 變體而言,BY-YOLO 的mAP提 高了11.93 個 百 分 點;相 較于兼顧檢測速度和精度的SSD 和YOLOv4-Tiny而言,BY-YOLO 的檢測精度和速度均有大幅提升;相較于經(jīng)典的兩階段網(wǎng)絡(luò),F(xiàn)aster RCNN 的檢測精度和速度遠(yuǎn)低于BY-YOLO。就單一缺陷角度分析,BY-YOLO 在毛圈缺陷的檢測精度上有了顯著的提升,達(dá)到了最高的99.34%。另外,BY-YOLO 在檢測污漬缺陷時保持最優(yōu)的檢測精度,達(dá)到了86.62%;在毛羽和毛夾兩種缺陷的檢測上具有較突出的檢測結(jié)果。從內(nèi)存占用的角度來分析,通過BY-YOLO 網(wǎng)絡(luò)訓(xùn)練出來的模型內(nèi)存占用是最低的,其大小僅為11.2 MB,更加符合設(shè)備部署的需要??傊?,BY-YOLO 在花費最低參數(shù)量和內(nèi)存占用的前提下,保持了最優(yōu)的檢測精度和檢測速度。相比于其他主流的檢測模型,BY-YOLO 擁有更高的魯棒性、準(zhǔn)確性和實時性。
表3 不同檢測模型的對比試驗
針對管紗缺陷檢測存在的抗干擾能力較差、檢測精度低和檢測速度慢的問題,本研究提出了一種基于改進(jìn)YOLOv5 的玻璃纖維管紗缺陷檢測方法BY-YOLO。引入ER-Net 作為主干網(wǎng)絡(luò),通過RepVGGBlock 模塊提取管紗缺陷的低層到高層特征,對管紗的高層特征圖使用R-SPP 模塊在一定程度上消除了管紗特征圖的噪聲特征,在保證精度的前提下提升了檢測速度;使用DAPANet 作為頸部網(wǎng)絡(luò),通過Depth-Mixer 模塊充分提取上下文語義信息,對管紗的高層特征使用通道注意力機(jī)制模塊梳理特征通道的權(quán)重分布,提升了對管紗整體缺陷的檢測精度,從而實現(xiàn)了一種快速、準(zhǔn)確、更適用于實際工業(yè)應(yīng)用的管紗缺陷檢測方法。在未來的研究中,優(yōu)化網(wǎng)絡(luò)結(jié)構(gòu)部署和訓(xùn)練策略可以作為新的方向,在保證檢測速度的前提下,使模型對管紗缺陷的檢測能夠達(dá)到更高的檢測精度。