?

基于遷移學習和集成神經網絡的皮革缺陷檢測

2023-11-17 05:17侯燦陽朱北辰
關鍵詞:微調皮革精度

侯燦陽,朱北辰,吳 清

(華東理工大學 機械與動力工程學院, 上海 201424)

皮革的缺陷檢測直接影響產品的質量,為滿足日益增長的客戶需求,確保皮革的生產質量的重要性日益凸顯。皮革的種類繁多,缺陷的大小和外觀更是呈現出各種變化,這給目標檢測任務帶來了許多困難。目標檢測算法的發展大致分為2個階段,即傳統的目標檢測方法和基于深度學習的目標檢測方法。第一階段的研究主要集中在2000年前后,其間提出的方法大多基于滑動窗口和傳統的特征工程,代表性成果有AdaBoost檢測器[1]、Viola-Jones檢測器[2]、HOG+SVM檢測器[3]、DPM檢測器[4]。這些檢測器在過去常被用于行人檢測,并取得了不錯的效果,因此具有一定的參考價值。

隨著深度學習方法的不斷發展與完善,國內外運用深度學習的方法進行缺陷檢測的研究[5-7]也有所增加。由于缺乏皮革缺陷方面的數據庫,這方面的應用一直受到限制。Liong等[8]基于Mask R-CNN的方法,通過機械臂控制高清攝像頭實現自動化缺陷檢測。該方法通過修改RPN(Region Proposal Network)的錨框尺寸使得網絡更適合檢測皮革的微小缺陷。然而該方法只針對孔洞這種單一缺陷,應用范圍受到較大的限制。鄧杰航等[9]在ResNet50的基礎上進行參數優化。殘差結構能夠很好地克服梯度消失和梯度爆炸的問題,使得更深的神經網絡成為可能。然而該方法的檢測準確率最終只達到92.34%,對于工業生產該精度仍需提高。丁彩紅等[10]提出以CNN為主、顯著性特征為輔的組合檢測方法。圖像先經過卷積神經網絡預測,再通過顯著性特征進行驗證,以此提高線狀缺陷的預測準確率。然而他們的方法最終只達到3.4 s/幀的預測速率,相比傳統算法雖然有顯著提高,但仍難以滿足工業需求。Nguyen等[11]研究指出,YOLO系列算法具有不亞于RetinaNet和Faster-RCNN的預測精度,且預測速度顯著高于這兩種方法,在速度和精度方面表現更加均衡。YOLOv5作為目前YOLO系列算法的前沿成果,可以較好地代表基于深度學習的目標檢測算法。

本研究基于YOLOv5算法提出一種新的皮革缺陷檢測方法,并與傳統目標檢測算法和其他深度學習算法進行比較。為提高算法的檢測效果,在預訓練后嘗試不同的微調方案,對比不同微調方案對檢測精度的影響。在測試階段采用集成學習和測試時增強的方法,分別檢驗了集成學習和測試時增強的效果并嘗試將兩種方法結合使用,最終獲得了檢測性能優越的模型。該模型可以滿足工業生產過程中的精度要求,同時檢測速度顯著高于傳統方法。

1 檢測方法介紹

1.1 傳統目標檢測算法:HOG+SVM

Dollar等[12]研究發現,在假陽率相等的條件下,HOG+SVM檢測器和DPM檢測器的漏檢率相比Viola-Jones檢測器有顯著降低。因此本研究嘗試使用HOG+SVM的方法進行皮革缺陷檢測,以檢驗傳統目標檢測方法對皮革缺陷的檢測效果。首先采用HOG算法提取特征,然后將HOG算法提取出的梯度方向分布特征用于支持向量機的訓練,最后將訓練出的模型用于皮革缺陷檢測。檢測過程中,通過縮放滑窗實現對多尺度特征的識別。值得一提的是,HOG算法將整張圖片均分為若干個大小相同的單元格,一定數量的單元格又組成一個區塊,HOG算法通過計算每個單元格內的梯度方向分布,并在區塊內進行歸一化來減小光照變化等外界因素對檢測效果的影響。

1.2 YOLOv5

與傳統的two-stage算法不同,YOLO算法無需生成候選區,而是將輸入圖像均分為若干個網格,每個網格中包含一定數量的邊界框(bounding box, bbox)。通過對每個bbox進行檢測,得到每個種類的置信度(Confidence)和bbox的位置、尺寸,從而實現單步檢測,加快預測速度。

Confidence=Pr(Classi|Object)×Pr(Object)×IOU

(1)

YOLOv5系列提供4種網絡模型(YOLOv5s,YOLOv5m,YOLOv5l,YOLOv5x),這4種網絡模型的架構基本相同,區別在于模型深度及卷積核的個數。

YOLOv5的基本網絡結構如圖1所示。在骨干網絡中,由空間金字塔池化結構[13]改進而來的SPPF(spatial pyramid pooling fast)結構將輸入的特征圖分成4個部分,其中3個部分經過5×5的卷積核進行池化,最后將所有特征圖進行拼接,從而融合不同尺度特征圖的信息。兩種Bottleneck模型分別被用于骨干網絡和頸部網絡,區別主要在于殘差結構的使用。骨干網絡中的BottleNeckCSP模塊借鑒于CSP網絡[14],主要由BottleNeck模塊組成,在特征提取中發揮關鍵作用。如圖1所示,骨干網絡中的Bottleneck模塊是一種殘差網絡結構,輸入特征圖尺寸等于輸出特征圖尺寸,這種結構使得網絡深度得以增加,從而在保持網絡輕量化的前提下提取更多特征。此外,BottleNeck在卷積層間穿插使用批歸一化方法,以此加快網絡訓練速度[15]。

為實現特征融合,YOLOv5在頸部網絡中借鑒了特征金字塔網絡(feature pyramid network,FPN)[16]和路徑聚合網絡(path aggregation network,PAN)[17],并且把PAN結構中的捷徑操作修改為連接操作。FPN和PAN結構形成互補,融合淺層特征圖和深層特征圖的信息,從而提升多尺度特征檢測的性能。

1.3 遷移學習和微調

遷移學習的基本思想是將在源域中學到的知識經過微調后用于目標域。唐李文等[18]和Christopher等[19]利用遷移學習的方法縮短了訓練時間,同時提高了模型的預測精度。COCO(common objects in context)數據集[20]具有豐富的特征,因此常常作為遷移學習中的源域。Hou等[21]將COCO數據集的預訓練神經網絡用于人-物交互檢測的訓練過程中,有效提高了模型的檢測精度。鑒于皮革缺陷數據有限,本研究提出一種基于遷移學習的方法,并將COCO數據集的預訓練神經網絡用于目標域訓練。

將特定層的梯度設置為0從而凍結特定層的參數,并微調其他層參數的方法被廣泛應用于遷移學習。通過微調可將從源域中學習到的知識轉化為適用于目標域的知識。趙章焰等[22]關于起重機類型識別的研究表明,微調可以對模型的性能產生顯著的影響。為了獲得更好的模型性能,分別采用top-k和標準微調(standard fine-tuning)[23]策略對YOLOv5m的預訓練模型進行微調試驗。在top-k策略中,預訓練模型的前k層參數被凍結,其他參數得到微調;而在標準微調策略中,則對所有層的所有參數都進行微調。

1.4 集成學習

為進一步提高預測性能,本研究還采用了集成學習的方法。集成學習的基本思想是通過合成多個基學習器[24]來產生最終的預測結果。龔安等[25]利用集成學習的方法將ImageNet上預訓練的多個神經網絡模型結合,在皮膚鏡圖像分類領域獲得較好的分類效果。本研究將經過預訓練和微調后的3種模型框架(YOLOv5s、YOLOv5m、YOLOv5l)作為基學習器,最后通過非極大值抑制(non-max suppression,NMS)的方法將各基學習器的預測結果進行合并從而得到最終的檢測結果。非極大值抑制的方法通過拋棄置信度較低、交并比較高的bbox來消除多余的bbox。

1.5 測試時增強

受數據擴增方法的啟發,測試時增強(test-time augmentation, TTA)通過在預測時對原始圖像進行裁剪、旋轉、縮放等若干種變換,再將這些圖像分別進行預測后得到的結果進行合并,從而得到最后的預測結果。Wang等[26]提出一種描述測試時增強的理論公式,并通過試驗證明TTA有助于消除過度自信的錯誤預測。Moshkov等[27]運用鏡像和旋轉兩種變化評估了TTA方法在熒光顯微鏡數據集和組織病理學圖像數據集上的表現。其試驗結果表明,TTA方法在大多數情況下能夠提高分割精度,特別是在訓練樣本較少的時候。因此,TTA對于皮革缺陷檢測任務具有一定的參考價值。本研究采用水平鏡像和尺寸縮放對測試集進行TTA處理。擴增后的圖像經YOLO網絡預測后恢復到原本的尺寸并將預測結果融合,最后通過NMS剔除多余bbox,產生最終結果。

1.6 數據集處理與劃分

考慮到樣本數量較少,劃分后的數據集可能難以代表全體樣本,易產生過擬合的問題,本研究采用K折交叉驗證的方法對數據集進行劃分。在K折交叉驗證中,數據集被劃分為K個大小相等的部分。隨后執行K次訓練和測試,在每次迭代中部分數據集用于測試,其他K-1部分數據被用于訓練。最終,對K次預測的結果取平均作為最終的預測結果。交叉驗證的方法能夠很好地評估檢測器的泛化能力。在本研究中,數據集被等量劃分為5份(K=5),以實現交叉驗證。圖2為數據集的劃分方法。此外,為提高預測性能,本研究通過平移、旋轉、灰度變換等55種方式對訓練集進行數據擴增,最終將訓練集擴充至2 970張圖片。圖3展示了本研究提出的改進方法。

圖3 改進方法Fig.3 Improved method

2 試驗結果與分析

2.1 試驗條件

軟件配置為Win10操作系統。顯卡驅動為NVIDIA Tesla P100-PCIE(16281 MIB);深度學習框架采用PyTorch-1.7.1;使用Labelimg作為標注工具。

2.2 數據集

2.2.1 皮革缺陷數據集

皮革缺陷數據集[28]包括89張含有缺陷的皮革圖像以及600張不含缺陷的皮革圖像,圖像大小均為1 024×1 024。數據集中包含5種主要缺陷,分別是劃痕、孔洞、色雜、膠黏和褶皺。89張包含缺陷的圖片按6∶2∶2的比例劃分到訓練集、驗證集和測試集中,然后對訓練集的圖片進行數據擴增。此外,訓練集中加入了一些不含缺陷的皮革圖像,作為背景圖片以提高訓練表現,降低假陽率。圖4為這個數據集中具有代表性的幾張圖片。

圖4 皮革缺陷數據集中的部分圖片Fig.4 Some pictures in leather defect dataset

2.2.2 COCO數據集

COCO數據集[20]是由Microsoft提供的一個大規模對象檢測、分割數據集。該數據集包含80種不同的物體,由32.8萬張圖片組成。

2.3 評估指標

準確率(precision,P)、召回率(recall,R)、全類平均精度(mean average precision,mAP)、F1值等指標常常用于評估目標檢測算法的性能??紤]到實際生產要求,采用P、R、mAP50作為評估標準。

(2)

式中:TP為被準確預測為含有相應缺陷的樣本數,FP則為被錯誤預測為含有相應缺陷的樣本數。

(3)

式中:FN為被錯誤預測為不含相應缺陷的樣本數。

(4)

式中:P(R)為R的函數。幾何意義為當NMS閾值為50%時,P(R)曲線下覆蓋的面積。

2.4 試驗結果

2.4.1 HOG+SVM的檢測效果

部分準確檢測結果如圖5所示,可見傳統的方法有時也能精確地定位缺陷。但在大多數情況下傳統方法的表現并不好。如圖6所示,傳統方法在檢測出缺陷的同時,常常也將沒有缺陷的部位標記為缺陷。然而嘗試通過提高分類器的閾值來降低假陽率時,又常常出現漏檢的問題(見圖7)。此外,由于HOG特征提取算法在預處理時對圖像進行了灰度化處理,導致檢測器對于雜色缺陷的分辨能力較差(見圖8)。除了上述問題,傳統的HOG+SVM方法對大尺度缺陷的檢測效果同樣較差。例如,有時邊界框沒有包含整個缺陷,有時邊界框又比實際缺陷大得多(見圖9)。HOG算法提取的是檢測區域內梯度的方向分布特征,這類特征主要反映目標邊緣的取向信息。由于行人在圖片中往往是以直立的形式出現,在豎直方向上具有較為獨特的邊緣特征,因此這類傳統的目標檢測算法多用于行人檢測任務。然而皮革缺陷不同于行人,多數皮革缺陷的邊緣沒有明顯的取向規律,并且皮革缺陷的形式復雜多變,因此將傳統的目標檢測算法運用于皮革缺陷檢測時難以取得良好的效果,最終檢測精度和召回率均不足50%。此外,傳統方法的檢測速率僅為27.5 s/幀,無法滿足實際生產要求。

圖5 精確的預測結果示例Fig.5 Samples of correct detection results

圖6 假陽問題示例Fig.6 Samples of false positive detection

圖7 漏檢問題示例Fig.7 Samples of false negative detection

圖8 部分色雜缺陷檢測結果Fig.8 Some detection results of color defect

圖9 部分褶皺缺陷檢測結果Fig.9 Some detection results of wrinkle defect

2.4.2 遷移學習+微調

以YOLOv5m為試驗模型,以不進行遷移學習得到的檢測結果(scratch-m)為對照,采用top-2、top-4和標準微調策略分別進行微調,觀察不同微調策略的效果,試驗結果如表1所示。由表1可看出,標準微調和top-4策略都可以提高模型的預測能力,而top-2策略的表現較差。top-4策略可得到較高的精度,但召回率和mAP50均不如標準微調的測試結果。由此可見,重復利用從其他領域學習到的低層特征未必能夠提高模型性能?;诖嗽囼灲Y果,將在接下來的集成學習中采用標準微調的方法對所有基學習器進行微調。

表1 不同微調策略對比

2.4.3 集成學習

將3種經過遷移學習、微調后的基學習器進行組合,測試各種組合的預測性能,結果見表2(表中,s、m、l分別表示YOLOv5s、YOLOv5m、YOLOv5l,下同)。試驗中,以不進行集成學習的YOLOv5l模型為對照組(scratch-l),來驗證其他集成方法的效果。從表2可以看出,不同的集成學習方案總體上都能提高模型性能,其中YOLOv5s+YOLOv5m+YOLOv5l集成模型在所有選定的性能指標上都顯著優于對照組。但考慮到部分方案的推理時間過長,且YOLOv5s+YOLOv5l集成模型以及YOLOv5s+YOLOv5m集成模型在各方面表現更加均衡,最終選擇YOLOv5s+YOLOv5l模型作為集成學習方案。

表2 不同集成學習策略效果比較Table 2 Comparison of different ensemble method

2.4.4 測試時增強

對比YOLOv5的3種模型架構(YOLOv5s、YOLOv5m、YOLOv5l)在使用測試時增強前后的表現,試驗結果如表3所示。由表3可知,在大多數情況下,運用TTA的方法能夠提高精度、召回率和mAP50等性能指標,尤其是mAP50。

表3 測試時增強前后性能比較Table 3 Performance comparison before and after TTA %

2.4.5 集成學習與測試時增強并用

檢驗測試時增強和集成學習并用的效果,并結合所有試驗結果選出綜合性能最優的模型。試驗結果如表4所示。結合表2~4可知,雖然單獨采用TTA策略和單獨采用集成學習策略時模型的性能都有所改善,但將兩者結合使用時卻無法產生更好的結果。在Moshkov等[27]的研究中也出現了部分樣本的預測精度在采用TTA方法后有所下降的現象。這表明測試時增強可能將一些正確的預測變為錯誤的結果。此外,TTA的方法顯著降低了預測速度,因此并不適用于工業應用。結合上述所有試驗結果,選擇預訓練和標準微調后的YOLOv5s+YOLOv5l集成模型作為最優模型。

表4 TTA+集成學習效果Table 4 Effectiveness of TTA+ensemble

2.4.6 檢測效果

圖10展示了本文方法(最優模型)對部分缺陷試樣的檢測效果。表5為本文方法與其他深度學習算法的性能比較。由表5可知,本文算法在精度、召回率和平均精度方面相比RetinaNet和YOLOv5l均有顯著提高,檢測速度則是略低于YOLOv5l。此外,相比RetinaNet,本文方法能將每幀預測時間縮短約14 ms。

表5 本文方法與其他深度學習算法比較Table 5 Comparison with other deep learning algorithms

3 結 論

針對傳統皮革缺陷檢測方法檢測速度低、小樣本下泛化能力差的缺點,基于YOLOv5算法提出了一種結合遷移學習和集成學習的皮革缺陷檢測方法。試驗結果表明:基于深度學習的目標檢測算法相比傳統方法在檢測精度和速度方面均具有顯著優勢。遷移學習、集成學習、測試時增強對于模型的預測表現均有顯著提升作用。標準微調相比其他微調策略能夠達到更優越的性能,YOLOv5s+YOLOv5l的集成策略能夠在速度和精度間取得較為均衡的表現。由于集成學習與測試時增強的組合并不能提升模型預測精度,并且測試時增強的引入增加了預測時間,因此拋棄了測試時增強的方法。本研究提出的方法不僅能達到96.58%的檢測精度,而且在預測速度上優于傳統算法,每幀預測時間低至24 ms,可滿足工業生產的要求。由于所采用的皮革數據集并不能很好地涵蓋實際中可能出現的各種缺陷,因此進一步獲取大量、具有多樣性的樣本是推廣應用的重點。

猜你喜歡
微調皮革精度
皮革回潮
基于DSPIC33F微處理器的采集精度的提高
一種新型微調擠塑模具的設計及應用
靈活易用,結合自動和手動微調達到好效果 StormAudio ISP 3D.16 ELITE/PA 16 ELITE
足球上到底有多少塊皮革
GPS/GLONASS/BDS組合PPP精度分析
皮革機制
改進的Goldschmidt雙精度浮點除法器
全國大部省份結束2014高考 多地高考模式微調
巧用磨耗提高機械加工精度
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合