論文閱讀筆記《A Surface Defect Detection Method Based on Positive Samples》

小樣本學習&元學習經典論文整理||持續更新

核心思想

  本文提出一種基於正向樣本的表面缺陷檢測算法,基本思路是將自動編碼器和GAN網絡結合起來形成一種特別的圖像復原網絡,輸入帶有缺陷的圖像,輸出去除缺陷的復原圖像,然後分別計算復原圖像和缺陷圖像LBP特徵值,再求二者之間的差值,差值大的部分即爲缺陷位置。然而本文說的是隻依賴正向樣本(無缺陷樣本),哪裏來的缺陷圖像呢?這就需要通過人工的方式(PS)製作一部分缺陷圖像出來了,算法的處理流程如下圖所示
在這裏插入圖片描述
  由於帶有缺陷的樣本圖像很難收集,因此作者提出通過人工方式給正常圖像樣本增添缺陷的方式來合成缺陷圖像,圖中 C ( x ∼ ∣ x ) C(x^{\sim}|x) C(xx)就表示一個缺陷圖像生成器,關於具體的缺陷生成方法作者並沒有具體介紹。將合成的缺陷圖像 x ∼ x^{\sim} x輸入到一個編碼解碼器 G G G中,得到復原圖像 y y y。復原圖像 y y y一方面要與原始圖像 x x x進行比較計算L1損失,另一方面又要和原始圖像一起輸入到判別器 D D D中,來判斷當前輸入的圖像是真實的原始圖像,還是經過自動編碼器復原的圖像。這個過程借鑑了GAN對抗生成的思路,使得生成器和辨別器之間相互對抗訓練,最終達到一個平衡狀態。
  測試階段就比較簡單了,將缺陷圖像 x x x輸入到訓練好的自動編碼器中得到復原圖像 y y y,然後分別計算缺陷圖像和復原圖像的LBP特徵值,最後比較二者之間的差別,差別越大的地方就越有可能是缺陷區域。
在這裏插入圖片描述

實現過程

網絡結構

  GAN的部分採用了DCGAN網絡的結構,但因爲普通GAN網絡生成器只包含由一個低維向量復原成圖像的部分(即解碼器DE的部分),因此需要參考自動編碼器的結構爲其增加一個編碼器EN模塊。

損失函數

  損失函數包含兩個部分重構損失 L c o n s t L_{const} Lconst和對抗生成損失 L G A N L_{GAN} LGAN
在這裏插入圖片描述
其中重構損失計算方法爲
在這裏插入圖片描述
對抗生成損失計算方法爲
在這裏插入圖片描述

創新點

  • 提出一種新的缺陷檢測思路,先將缺陷圖像復原,再計算復原圖像和缺陷圖像之間的差異
  • 將自動編碼器和GAN網絡相結合,通過重構損失和對抗生成損失來訓練一個圖像復原網絡

算法評價

  本文提出的基於正樣本的缺陷檢測思路還是非常新穎有趣的,思路也不難理解,就結果來看也比較不錯。但這裏存在兩個問題:1.缺陷生成的難題,本文其實避開了這部分內容的討論,如何生成接近於真實缺陷形式的缺陷圖像其實是不容易的,如果單純依賴人工PS的方式其實也是工作量巨大,而通過一些簡單的圖像處理方式做上去的缺陷,又不夠相似。2.複雜無規律背景的圖像復原問題,作者研究的都是紡織物缺陷,其特點是紋理特徵比較固定和相似,可以根據附近區域的紋理變化情況預測缺陷處的紋理,進而實現圖像的復原。但對於許多背景變化複雜且無規律的圖像(如印刷品)這種圖像復原能力是否能滿足要求呢?

如果大家對於深度學習與計算機視覺領域感興趣,希望獲得更多的知識分享與最新的論文解讀,歡迎關注我的個人公衆號「深視」。在這裏插入圖片描述