天天看點

基于改進 Pix2PixGAN 的織物疵點檢測

導讀

織物表面瑕疵檢測系統即在織機上對織物疵點進行線上檢測和分類,發現疵點并及時的發出信号,給操作人員提供疵點資訊以幫助及時的處理故障,甚至自動采取調整措施對疵點進行處理,可以最大限度地減少疵點對織物品質造成的損害,并盡可能保證生産效率、提高織造、檢測工序的自動化程度。本文提出一種基于改進Pix2PixGAN 網絡的訓練資料增強方法,實作對紡織物瑕疵的精準檢測,一起來看看呀~

針對現階段深度學習應用于紡織疵點檢測時,由于疵點織物資料量不足而導緻檢測模型準确率低、疵點識别種類少的問題,提出一種基于改進Pix2PixGAN 網絡的訓練資料增強方法。無疵點織物圖像比較容易擷取,利用多層深度 Pix2PixGAN 網絡,可在無疵點織物圖像上自生成疵點,進而實作疵點圖像資料的增強。首先對資料集進行預處理,得到語義分割圖; 然後加深 U-net 網絡,用雙重 Pix2PixGAN 網絡加強疵點與紋理的融合; 最後将新生成的疵點圖像資料加入原訓練集完成資料增強。分别以據增強前後的疵點織物樣本作為訓練集,采用Faster R-CNN 目标檢測模型進行對比實驗。實驗結果表明資料增強方法可有效提高織物疵點檢測的效果。對于線狀、破洞和污漬 3 種疵點,與原訓練資料集相比,資料增強的檢測模型平均精度分别從 73%、75%、62%提升到84%、79%、65%。

01

前言

織物疵點檢測在紡織生産的品質控制中起着至關重要的作用。傳統的人工疵點檢測很容易受到心理等主觀條件的影響,導緻效率低、精度低、實時性能差[1]。是以,智能織物疵點檢測已成為近年來的一種研究趨勢。

近年來,深度學習在織物疵點檢測領域取得了可觀的成果,但深度學習網絡的檢測能力主要依賴于訓練資料集的大小和多樣性[2]。然而由于織物紋理和疵點的複雜和随機性,難以獲得一個包含所有可能的織物紋理和疵點的完整資料集,這限制了深度學習在織物疵點檢測領域的進一步發展和應用。

Goodfellow等[3]于2014年提出了生成式對抗性網絡(Generative Adversarial Networks,GAN) 以人工合成圖像,其在人臉識别、醫學、自動駕駛等各類領域取得了較好效果。近年來,基于 GAN 的改進生成模型已被廣泛用于目标檢測的資料集增強問題。Hu 等[4]提出了一種基于深度卷積生成對抗網絡( DCGAN) 的自動檢測織物疵點的無監督方法。Liu等[5]采用多層 GAN 模型在無疵點樣品圖像中人工合成疵點,增強了資料集。劉紀等[6]通過 GAN 擴充資料樣本,再利用濾波處理及霍夫變換檢測織物缺陷。但他們的方法都局限于單一紋理,且适用于特定模型。

雖然收集具有不同紋理和疵點形态的織物疵點圖像非常困難,但采集包含各類織物背景的無疵織物圖像相對較為簡單。若能利用 GAN 網絡建構适用于織物疵點的生成模型,在幹淨的無疵點圖像上人工合成各類疵點,則能夠有效增強訓練資料集,進而提高後續目标檢測模型的效率。基于上述讨論,本文提出了一種基于雙層深度 Pix2PixGAN 網絡[7]( 簡稱為 DPGAN) 的織物疵點資料集增強方法,并采用目标檢測網絡 Faster R-CNN[8]驗證該方法對檢測模型的提高效果。實驗結果表明該方法生成的疵點圖像較為真實,并能有效提高疵點檢測的準确性。

02

DPGAN模型

2. 1 DPGAN 網絡概述​

DPGAN 網絡的主要任務為在無疵點的織物圖像上人工合成疵點。DPGAN 模型基本架構如圖 1 所示。

基于改進 Pix2PixGAN 的織物疵點檢測

圖 1  DPGAN 模型基本架構

從圖 1 可以看出,DPGAN 網絡的訓練主要包括2 個階段:

階段 1: DPGAN 預訓練。首先對原織物疵點資料集( 即紋理 1) 進行訓練,得到預訓練模型。輸入圖像大小設定為 512 dpi×512 dpi×3 dpi。此階段通過對紋理 1 圖像中的疵點人工語義分割,并結合原圖像同時送入網絡訓練,進而實作了一種僞注意力機制,幫助網絡更好地提取疵點特征。為了比對圖像的像素大小和確定更好的全局資訊,深化了一層u-net[9]網絡結構,并通過調整适當的 LL1損失參數來確定紋理的完整繼承,此階段網絡的損失定義見式( 1) :

基于改進 Pix2PixGAN 的織物疵點檢測

式中: LPGAN為生成對抗網絡損失,LL1為正則化損失,G* 為總損失。x 和 y 均為輸入圖像,其中 x 是原織物疵點資料集,y 為疵點塗白的紋理 1 圖像資料集;D(x,y) 表示真實配對資料 x 與 y 對于判别器 D 的結果,而 D(x,G(x) ) 表示 x 生成的圖像 G(x) 與x 對于 D 的判斷結果; 在式( 1) 中,可通過改變 λ 來控制生成圖像與真實值的相似度,λ 越大則相似度越高,本文 λ 值設定為 200。

階段 2: DPGAN 微調。在預實驗中發現經預訓練模型生成的疵點圖像不夠真實,疵點與織物紋理融合效果較差。為此,利用第 1 階段得到的預訓練疵點圖像,并結合對應紋理 2 無疵點真實圖像進行第 2 次訓練。增加了疵點與背景的融合度。此階段為了生成圖像與真實圖像相似度更高,将 λ 設定為 500。最終完成 DPGAN 的網絡權重訓練。

2. 2 DPGAN 生成器網絡結構

輸入生成器的圖像大小為 512 dpi × 512 dpi ×3 dpi,DPGAN 生成器網絡結構如圖 2 所示。其中,卷積核大小為 4,步幅為 2。整個網絡除第 1 層卷積,使用批處理歸一化來加速網絡的收斂速度。同時,為了防止過拟合,在前 4 層反卷積中加入了dropout 函數,并将該值設定為 0. 5。

基于改進 Pix2PixGAN 的織物疵點檢測

圖 2  DPGAN 生成器網絡結構

03

結果與讨論

3. 1 實驗配置​

實驗所使用的計算機硬體配置為 TitanRTXGPU( 24 G ) ,軟 件 環 境 為 Windows10 操 作 系 統、Tensorflow( 2. 1. 1) 深度學習架構和 Python3. 6 程式設計環境。DPGAN 網絡學習率為 0. 000 2,采用 Adam優化器自适應優化學習率,疊代次數為 1 000。目标檢測網絡的訓練損失函數沿用原 Faster R-CNN 中的損失函數公式。網絡訓練初始學習率為0. 000 1,疊代次數為 100,采用 Adam 優化器自适應優化學習率。

3. 2 基于 DPGAN 的資料增強​

為驗證方法的有效性,本文分别收集了真實場景中的織物疵點圖像和無疵點織物圖像作為資料集[10]。圖 3 顯示了搜集的原始織物資料集,圖像大小均為 600 dpi×600 dpi×3 dpi。其中圖 3( a) 所示為部分紋理 1 的織物疵點圖像,包含線狀、破洞和污漬3 種疵點類型; 圖 3( b) 為部分紋理 2的無疵點織物圖像,此部分圖像将用于資料增強。

基于改進 Pix2PixGAN 的織物疵點檢測
基于改進 Pix2PixGAN 的織物疵點檢測

在訓練 DPGAN 模型時,由于資料集不均衡,将色織的破洞和污漬資料通過翻轉和顔色變換增強 1倍,得到最終的 DPGAN 模型訓練集和測試集,如表1 所示。

基于改進 Pix2PixGAN 的織物疵點檢測

在無疵點織物圖像上可任意标注區域,通過已訓練的 DPGAN 在該區域根據不同模型自動生成不同疵點。圖 4 顯示了無疵點織物圖像經由 DPGAN模型生成的疵點圖像。從圖 4 可看出,第 2 階段與第 1 階段相比,線狀效果減弱,但破洞和污漬的圖像效果有了較大的提升,更接近實際情況。

基于改進 Pix2PixGAN 的織物疵點檢測

圖 4  DPGAN 生成疵點圖像

3. 3 評估名額​

本文采用平均精度 ( Average Precision,簡稱AP) 以及平均精度均值( mean Average Precision,簡稱 mAP) 來評估目标檢率。

AP 值是精确度和召回率被繪制的二維曲線所包圍的區域,具有垂直坐标和水準軸坐标,其表示某一類疵點的檢測精度,mAP 表示 3 類疵點的平均檢測精度。當目标檢測模型接受不同的資訊時,就會得到不同的精度和召回率。通過改變置信度,可以得到許多精确度( Precision) 和召回率值(Recall) 。精度和召回率計算公式如式( 2) ( 3)所示:

基于改進 Pix2PixGAN 的織物疵點檢測

式中: TP 指分類器認為是正樣本而實際上就是正樣本的例子,FP 指分類器認為是正樣本但實際上不是正樣本的例子,而 FN 是指一個分類器認為是負樣本但實際上不是負樣本的例子。

3. 4 結果分析​

在本節中,采用經典目标檢測網絡 Faster-RCNN 作為疵點檢測模型,采用原紋理 1 織物疵點資料集作為檢測模型訓練集 1,采用 DPGAN 模型生成圖像與訓練集 1 結合作為檢測模型訓練集 2。另外采用由紋理 1 和紋理 2 部分疵點圖像組合作為檢測模型測試集。

Faster-RCNN 模型訓練集和測試集如表 2 所示。訓練集 1 共 1 800 張; 訓練集 2 共 3 632 張,其中生成圖像由 DPGAN 模型階段 1 和階段 2 組合産生,每階段選取大約 300 張圖像。

基于改進 Pix2PixGAN 的織物疵點檢測

在 Faster-RCNN 網絡中,輸入圖像大小為512 dpi×512 dpi×3 dpi,訓練次數為 100 次,學習率為0. 000 1,置信度為 0. 5。在使用不同訓練集,同一測試集的情況下,Faster-RCNN 模型 AP 值如表 3 所示。

基于改進 Pix2PixGAN 的織物疵點檢測

從結果中可以看出,模型平均精度僅有 70%左右,導緻平均精度低的原因,主要是由于訓練集和測試集紋理是完全不同的。而 3 種疵點圖像在經過資料增強後,平均精度都有所提升。其中線狀提升效果最好,提升了 11%,這源于在 DPGAN 模型中,線狀的訓練集最大,生成的圖像效果好,而破洞和污漬的原始資料集較小,即使經過翻轉和顔色變換,但并沒能從本質改變訓練集。

04

結論

本文提出了一種基于改進 Pix2PixGAN( 簡稱為DPGAN) 的織物疵點資料集增強方法,該方法可幫助提升織物疵點檢測模型的精度。首先利用人工圖像分割實作僞注意力機制,幫助後續網絡對疵點位置的判定與學習; 其次建構 DPGAN 網絡,即通過加深 U-net 網絡結構,并串聯 2 個 Pix2PixGAN 網絡;最後在無疵點織物圖像上任意标注區域,通過已訓練的 DPGAN 在該區域自動生成制定疵點,進而實作織物疵點圖像資料增強。

本文搜集了包含 2 種紋理 ( 即 紋 理 1 和 紋理 2) 、3 類疵點( 即線狀、破洞和污漬) 的原始織物資料集,通過建構的 DPGAN 網絡對各類疵點分别生成 600 張,共 1 800 張織物疵點圖像擴充原訓練集樣本,并利用 Faster-RCNN 目标檢測網絡來驗證本文提出算法的有效性。實驗結果表明:

①建構的 DPGAN 網絡可改善原始 U-net 網絡生成疵點與紋理比對較差的問題,進而獲得接近真實疵點形态的織物疵點圖像。

②增強後的訓練集有利于提高疵點檢測模型的平均精度,線狀、破洞和污漬的平均精度分别由73%、75%和 62%提升到了 84%、79%和 65%。

本文僅做學術分享,如有侵權,請聯系删文。​

—THE END—

繼續閱讀