郭殿鵬 柯海森 李孝祿 施庚偉
(中國計量大學,浙江杭州,310018)
在紡織品的生產過程中,織物疵點是難以避免的,而制造過程中的意外因素是其產生的主要原因之一[1]。這些疵點可能以不同的形狀、顏色和大小出現在織物表面,導致產品價格縮水一半左右[2],從而直接影響企業的盈利情況。因此,織物疵點檢測在紡織行業中非常重要。目前,較多的紡織車間是通過人工的方式來分揀疵點產品。但人工分揀效率低、容易受到主觀因素的干擾,而且長時間工作疲勞、眼花容易導致漏檢、誤檢的發生[3],不能滿足流水線日益增長的生產需求。為使工藝流程更加自動化和智能化,提升檢測效率與準確率,基于機器視覺的檢測方法開始進入大眾的視野[4]。
現階段,傳統視覺檢測有統計法[5]、頻域法[6]、模板法[7]等方式。由于傳統視覺受制于光照視角的依賴性、疵點形態的多樣性等因素,其泛化能力和適應新場景的能力被嚴重限制,在檢測領域中仍存在一定的局限性。隨著檢測算法的不斷發展,諸 多 深 度 學 習 分 類 網 絡 如VGG[8]、Inception[9]、ResNet[10]等,憑借其強大的學習能力、優秀的數據處理能力以及較優的魯棒性和適應性在檢測領域中大放異彩[11]。
相比于其他算法,YOLO[12]算法因能在保證一定精度的情況下大幅提升檢測速度,因而在織物疵點的實時檢測中獲得眾多青睞。JIN R 等[13]在YOLOv5 中引入多任務學習,通過優化焦點損失函數和加強中心約束來提高識別性能。YUE X 等[14]在YOLOv4 的 主 干 特 征 提 取 網 絡 中 融 入卷積塊注意力模塊,并創新性地將CIoU 損失函數替換為CEIoU 損失函數,實現對疵點的準確分類和定位。LIN G J 等[15]提出一種滑動窗口多傳感頭自注意力機制,并引入Swin Transformer模塊代替原YOLOv5 算法中的主模塊,提高對小目標疵點的感知。
由于織物疵點的小尺度性、不規則性和分散性等特點,現階段的YOLO 算法還是存在檢測精度較低等問題。本研究基于YOLOv7[16]算法進行改進,通過新設計的DR-SPD 結構增強模型強化對復雜形態的表征能力;修改網絡結構并引入注意力機制,提升對于小目標的檢測精度,減少背景信息對識別帶來的負面影響,使改進后的模型能夠滿足工業實際生產需求。
YOLOv7 是一種單階檢測算法,相比于其他YOLO 算法,它在檢測效率與精度之間取得了非常好的平衡。YOLOv7 模型整體結構如圖1 所示,主要由輸入模塊(Input)、主干網絡(Backbone)和頭部(Head)組成。

圖1 YOLOv7 模型整體結構圖
Input 的主要作用是調整圖片格式以適應后續流程,主要包括數據增強、調整錨框和放縮圖片等操作。
Backbone 是YOLOv7 的特征提取器,主要由CBS 模塊、ELAN 模塊和MP-1 模塊構成。它負責從輸入圖像中提取多尺度的特征圖,其特點是具有較大的感受野和較高的特征表達能力,可以捕獲圖像中的語義信息。
Head由SPPCSPC模塊、ELAN-W模塊、MP-2模塊、Cat 模塊以及后續輸出的RepConv 模塊組成。Head 通過利用上述模塊進行跨層級上采樣和特征拼接的方式實現特征融合,以獲得多尺度的上下文信息。然后根據融合后的特征圖進行目標預測,用于提取目標的位置和類別信息。預測頭的特點是具有較小的感受野和高分辨率特征圖,能夠準確地定位和分類目標。
對于織物疵點檢測,當前YOLOv7 在特征提取與融合的過程中還是會發生關鍵信息遺漏,從而導致模型對疵點位置和類型判斷錯誤。下面將會對特征提取網絡與特征融合網絡進行針對性地改進。
2.1.1 DRes 單元
神經網絡強大的表征能力源于不同過濾器對不同級別信息的提取。對于織物中復雜不規則的疵點形狀,如果想要獲取更全面的圖像信息,可以通過增加卷積的數量來實現。但當結構中卷積的數量已經趨近于飽和時,再一味地增加卷積則會導致參數量冗雜、收斂性變差、網絡優化困難等負面問題。為解決上述局限性,利用動態區域感知卷積(DRConv)[17]設計DRes 單元,使其能有效處理復雜多變的圖像信息。
如圖2 所示,DRConv 通過k×k的標準卷積,從輸入特征圖X中生成具有m個通道的引導特征,再根據引導特征將空間維度劃分為相對應的區域,使引導掩碼中具有相同顏色的像素附著到對應區域。同時濾波器生成模塊G(X)會根據每個區域的圖像特性生成對應的定制濾波器W=[W0,…,Wm-1],進行卷積運算。最后,將所有區域融合在一起便得到輸出特征圖Y。由于需要優化的參數主要在G(X)中,所以DRConv 幾乎不會增加模型的大小。

圖2 動態區域感知卷積
設計的DRes 單元如圖3 所示。該單元使用卷積核為3 的DRConv 和CBS 進行特征提取,再加入一條跳躍連接,直接將原輸入與卷積層的輸出相加形成殘差結構。與同等數量的普通卷積塊相比,DRes 單元能在幾乎不增加模型大小的基礎上增強對于不規則疵點的表征能力。

圖3 DRes 單元
2.1.2 SPD 卷積
當點狀疵點與織物顏色相近時,同色像素沉淀的特性容易導致DRes 對該類疵點的檢測準確率下降。為降低上述問題帶來的影響,利用SPD[18]卷積充當末尾卷積,對其他卷積層的輸出集合進行最終處理,以增強網絡對圖像細節的提取能力。
SPD 由空間深度層和非跨步卷積層組成,對于任何尺度為S×S×C1的特征圖X,SPD 可將其切為如下公式的子特征序列。
將這些特征子圖沿著通道維度連接起來便使特征 圖X(S,S,C1)轉換成 中間特征 圖X′(S/scale,S/scale,scale2C2)。如圖4 所示,當scale=2時通過降采樣得到大小為(S/2,S/2,C1)的4 個特征 子 圖f0,0、f1,0、f0,1、f1,1。其 中X′的 空 間 維 度 減 少了1/2,通道維度增加了4 倍。

圖4 SPD 特征提取
為盡可能保留所有的判別性特征信息,在SPD 特征轉換層之后再添加一個帶有濾波器的非跨步卷積層,得到最終特征圖X″(S/scale,S/scale,C2),這樣可以有效減少細粒度信息的丟失。
2.1.3 結構整體設計
本研究提出了一種新的聚合網絡結構DRSPD,該結構將DRes 的動態感知和SPD 卷積的細節提取結合在一起,以增強對各類型疵點的語義捕捉能力,提升檢測精度。DR-SPD 結構如圖5所 示,CBS 由1×1 卷 積(Conv)、數 據 歸 一 化(Batch Normalization)和激活函數SiLU 組成,Cat表示連接操作。DR-SPD 通過控制最長和最短的梯度路徑使網絡能夠學習更多的特征,最后引入殘差結構的思想將特征信息進行疊加后輸送到SPD 卷積中,從而具有更好的泛化能力。

圖5 DR-SPD 結構
在檢測過程中,當疵點的顏色、形態與織物紋理相似時也會對檢測結果造成較大的影響。GAM[19]能在減少信息丟失的同時擴大全局交互性,在多個維度獲取特征信息,以達到提升網絡性能的目標。GAM 在CBAM 注意力的基礎上加以改進。如圖6 所示,通道注意力子模塊使用3D 序列來保存每個維度上的信息,然后通過兩層的編碼-解碼器結構(MLP)增強跨維度通道的空間相關性。為更好地聚焦于空間信息,空間注意力子模塊使用兩個卷積層進行空間信息融合。由于最大池化操作容易造成信息丟失從而影響整體性能,所以省略池化操作以達到更優的映射特性保留。空間注意力子模塊如圖7 所示。

圖6 通道注意力子模塊

圖7 空間注意力子模塊
GAM 整體計算過程如圖8 所示。將上述兩個子模 塊進行融合,當輸入特征映射F1∈RC×H×W時,中間狀態F2和輸出結果F3的計算公式如下。

圖8 GAM 整體計算過程
式中:MC表示通道注意力圖;Ms表示空間注意力圖;?表示按元素進行乘法操作。
將GAM 模塊添加到模型Backbone 與Head的連接處,可以有效抑制干擾信息,提升對于小目標的敏感性,使Head 部分能夠進行更好的特征融合,以提高檢測精度。
在原YOLOv7 特征融合過程中為了能獲得多尺度信息,對輸入的特征圖進行多次上下層采樣。由于檢測目標尺度較小,在不斷上下采樣的過程中很容易導致圖像細節的丟失,影響檢測精度。所以,本研究在保留其原始融合路徑的同時,加入3 條橫向跳躍路徑,如圖9 所示。將同一層的輸入和輸出節點跨層連接起來,使模型中各個檢測層均多加了一條特征融合通道,縮短深淺層之間信息傳遞的距離,加速模型收斂,強化不同層級的細節特征。

圖9 特征融合網絡改進
改進后的YOLOv7 整體網絡結構如圖10所示。

圖10 改進后的YOLOv7 模型
數據集采自浙江義烏某紡織車間,共計3 514張含有疵點的圖片,其中每張圖片中包含1 種及以上的疵點類型。根據廠家實際檢測需求,本研究選取的疵點類型及圖片數量為臟漬822 張、結頭738 張、漿 斑537 張、松經776 張、三絲641 張。將數據集按照8∶2 的比例作為訓練集和測試集。
在實際應用場景中,根據公式(7)計算后得出的rs值若小于3%,則稱該疵點為小目標。
式中:Sbox表示疵點標注框的面積;Simage表示圖像的總面積。
經計算,該數據集中的大部分對象都符合小目標的定義。為能清晰展示疵點類型,將圖像中的疵點部分進行裁剪并放大處理,如圖11 所示。

圖11 疵點類型
本次試驗中的硬件平臺選用搭載了6×Intel Xeon E5-2680 v4、Nvidia RTX 3080 GPU、內存26 GB 的服務器。環境配置為PyTorch2.0.0、Python3.8、Cuda11.8。選擇隨機梯度優化器,使用遷移學習的方法加載預訓練權重,使用模型主干凍結的訓練策略,開啟多線程訓練,并開啟Mosaic 圖像增強,學習率隨著訓練世代的增加而減少。為了更好地評價模型,選定精確率(Precision,P)和召回率(Recall,R)作為基礎指標,通過這兩個基礎指標可以進一步整合成更綜合的檢測指標:平均精度(Average Precision,AP)和平均精度均值(mean Average Precision,mAP)。
針對本研究中對YOLOv7 算法提出的幾處改進,通過逐一增加改進模塊的方法設計了消融試驗,以驗證其有效性,試驗結果如表1 所示。將DR-SPD 結構中的SPD 卷積換為普通卷積即對應表1 中的DR 結構。可以看出DR 結構對漿斑、三絲的提升效果最明顯,其AP值分別提升了2.14 個百分點和1.83 個百分點,但也導致臟漬、結頭的檢測精度有所下降。這說明設計的DRes單元雖然使模型對不規則疵點有了更為動態的視野,但同時也容易對點狀疵點產生誤判,而加入SPD 卷積后解決了上述問題,這也驗證了DRSPD 結構的有效性。加入GAM 注意力機制后,臟漬、結頭和松經的AP值分別提升了1.46 個百分點、1.23 個百分點和1.65 個百分點,反映出模型對于織物紋理的抗干擾能力增強,也能對分散性的疵點給予更多的關注度。在加入改進的特征融合網絡后,臟漬和結頭精度的提升最為明顯,而這兩種疵點的尺度相比于其他疵點類型都更小,這表明該網絡能更好地保留細節特征。模型對小目標疵點的檢測精度得到了有效提升。

表1 消融試驗結果
在目標檢測領域,其他主流算法也占據著相當重要的地位。為了更好地展示改進效果,將改進的YOLOv7 與其他算法進行對比試驗,結果如表2 所示。可以看出,Faster RCNN 在檢測速度上花費時間較長,不滿足對實時性的要求,而YOLOv5s 在實時性上表現良好但精度較低。改進的YOLOv7 模型雖然檢測速度有所下降,但其在滿足實時性要求的同時提升了檢測精度,在整體表現上相比其他模型更加優秀。

表2 主流算法對比表
YOLOv7 模型改進前后檢測效果對比如圖12 所示。可以看出,當疵點特征與背景相似或疵點尺寸較小時,改進YOLOv7 由漏檢、誤檢變為可以準確地檢測出其位置及大小,并給出更高的置信度;對于不規則形狀的疵點,改進YOLOv7模型的預測框長寬都會更加貼近疵點形狀,并通過多預測框的方式來精準表示各部分疵點。

圖12 檢測效果對比圖
為驗證本研究算法在實際工業場景中的有效性,在工廠現有平臺上搭建一個視覺采集模塊后,將改進模型部署到設備中進行實際測試。測試環境如圖13 所示。

圖13 測試環境
將130 個無疵點與65 個有疵點的織物作為一組測試對象,對該組對象進行20 次無序測試,試驗mAP值94.85%,檢測速度43 幀/s。由于檢測過程中受傳送帶、相機振動等環境因素的影響,導致mAP略有下降。同時,上位機在檢測時也消耗了系統資源,所以檢測速度下降到43 幀/s,但仍能較好地滿足實際生產需求。
對于因織物疵點尺寸小、形狀復雜而導致檢測精確率較低等問題,本研究在YOLOv7 的基礎上加入新設計的DR-SPD 結構,并在模型主干網絡與頭部的連接處添加GAM 注意力模塊;最后,通過加入3 條橫向跳躍路徑對特征融合網絡進行改進。試驗結果表明:改進后YOLOv7 模型相較于 原 始YOLOv7 模 型,mAP值 提 升 了3.97 個 百分點,其特征提取能力和抗干擾能力都得到增強,能聚焦于更為關鍵的圖像細節,綜合性能也優于其他主流算法。將改進YOLOv7 模型部署到車間設備上進行測試,其mAP值達到94.85%,檢測速度為43 幀/s,驗證了其在實際工業場景中的有效性。后續工作將研究如何使該模型更輕量化,以更大程度降低部署時對于硬件設備的要求。