1.前言
深度學(xué)習(xí)在計算機視覺主流領(lǐng)域已經(jīng)應(yīng)用的很成熟,但是在工業(yè)領(lǐng)域,比如產(chǎn)品表面缺陷檢測,總感覺沒有發(fā)揮深度學(xué)習(xí)的強大能力,近幾年表面缺陷的 相關(guān)研究主要是集中在各種借鑒主流神經(jīng)網(wǎng)絡(luò)框架,從CNN到Y(jié)OLO,SSD,甚至到語義分割的FCN相關(guān)論文,通過一些技術(shù),對框架進行輕量化,對缺陷進行分類或檢測。
不過,逃不出一個問題:一定要有缺陷樣本可供訓(xùn)練,而且數(shù)量不能太少!當然,也有一些課題組使用稀疏編碼、字典學(xué)習(xí)、稀疏自編碼等對表面缺陷進行檢測,這類方法很有局限性,主要針對那些有周期性背景紋理的圖像,比如絲織品,印刷品等。國內(nèi)外很多課題組、工業(yè)軟件公司都想開發(fā)出一些切合實際應(yīng)用的算法軟件,在缺陷檢測領(lǐng)域,比較好的公司有:VIDI、Halcon等,聽說海康威視也在搞工業(yè)產(chǎn)品方便的算法研究。
開始說下這篇文章,文章是今年發(fā)表的,題目為(本想直接給下載好的文章鏈接,知乎審核說違規(guī),論文被施普林格收錄,單pdf文件下載鏈接我放到評論里):
A Surface Defect Detection Method Based on Positive Samples
作者提出只依據(jù)已有的正常表面圖像樣本,通過一定的技術(shù)手段對缺陷樣本進行檢測,很好的將最近研究火熱的GAN應(yīng)用于框架中,這一年,課題組的老師也一直討論這種方法的可行性,缺陷的檢測要不要有缺陷樣本,從稀疏自編碼,小樣本學(xué)習(xí)再到計算機視覺研究熱點之一的零樣本學(xué)習(xí),得出結(jié)論:大多數(shù)工業(yè)產(chǎn)品表面缺陷檢測是需要缺陷樣本或者人為制作的缺陷樣本,論文雖然是沒有直接使用生產(chǎn)線上的缺陷樣本,但是通過算法人為的產(chǎn)生了缺陷樣本,并很好的融合和GAN在圖像修復(fù)領(lǐng)域的強大能力,整個框架的設(shè)計很巧妙。
文章思路:論文的整體思路就是GAN在圖像修復(fù)和重建方便具有很強大的能力,通過人為的去在正常樣本上“隨意”添加一些缺陷,訓(xùn)練階段讓GAN去學(xué)習(xí)一個可以修復(fù)這些缺陷區(qū)域的網(wǎng)絡(luò),檢測階段時,輸入一個真實缺陷樣本,訓(xùn)練好的GAN會對其進行修復(fù),再基于LBP可完成缺陷檢測。整個算法框架不需要真實的缺陷樣本和手工標簽,但是在框架中,人為的去產(chǎn)生(比如PS)一些缺陷區(qū)域。
通俗說:
作者利用GAN在圖像修復(fù)(重建)上的能力,在工業(yè)現(xiàn)場收集一些正常(無缺陷)樣本,人工PS一些缺陷,比如線條、斑點等。
訓(xùn)練時,將PS的人工制作的缺陷圖像和原圖像做輸入樣本訓(xùn)練GAN,得到一個具有圖像修復(fù)重建能力的網(wǎng)絡(luò)。
測試時,直接使用訓(xùn)練好的GAN對采集到的圖像進行重建修復(fù),如果樣本中中有缺陷區(qū)域,缺陷區(qū)域按照網(wǎng)絡(luò)設(shè)計,肯定需要修復(fù),將修復(fù)后的圖像和原缺陷圖像使用LBP找出顯著差異區(qū)域即為缺陷區(qū)域。
2.文章主要內(nèi)容
論文的主體框架思想是基于GAN網(wǎng)絡(luò)的結(jié)構(gòu)。GAN 主要包括了兩個部分,即生成器 G與判別器 D。生成器主要用來學(xué)習(xí)真實圖像分布從而讓自身生成的圖像更加真實,以“騙過”判別器。判別器則需要對接收的圖片進行真假判別。在整個過程中,生成器努力地讓生成的圖像更加真實,而判別器則努力地去識別出圖像的真假,這個過程相當于一個博弈過程,隨著時間的推移,生成器和判別器在不斷地進行對抗,最終兩個網(wǎng)絡(luò)達到了一個動態(tài)均衡:生成器生成的圖像接近于真實圖像分布,而判別器識別不出真假圖像,對于給定圖像的預(yù)測為真的概率基本接近 0.5(這段話從李宏毅老師那引用的,致敬李老師)。
訓(xùn)練階段
在訓(xùn)練階段,模型采用一些圖像處理技術(shù),人為的在正常樣本圖像上產(chǎn)生一些缺陷(示意圖中的紅色框模塊),使用由自編碼器構(gòu)成的G模塊進行缺陷修復(fù)學(xué)習(xí),學(xué)習(xí)的目標是與正常樣本之間的L1范數(shù)最小,通過一定數(shù)量的樣本訓(xùn)練可以獲得有缺陷修復(fù)能力的G模塊。GAN用于圖像修復(fù)的一些資料可以參考[3][4],當然也可以參考論文里的參考文獻。
訓(xùn)練階段
測試階段
在測試階段,將上步驟訓(xùn)練好的G模塊作為測試階段的圖片修復(fù)模塊,對于輸出的圖像樣本,假如存在缺陷區(qū)域,通過修復(fù)模塊G將得到修復(fù)后的圖像,與原缺陷樣本圖像一起作為LBP算法的輸入,通過LBP算法對其缺陷區(qū)域進行精確定位。
測試階段
3. 其他細節(jié)
3.1缺陷生成
在實際訓(xùn)練中,論文作者手工生成一些缺陷樣本,如圖3所示,訓(xùn)練網(wǎng)絡(luò)自動修復(fù)缺陷。另外作者也通過一些技術(shù)進行了樣本的擴充,比如加入高斯噪聲、隨機resize大小等。
缺陷生成
3.2缺陷圖像重建
缺陷圖像重建部分主要的作用是:缺陷圖像重建后盡量和正常樣本一樣,作者在這部分在文獻[5][6]基礎(chǔ)上進行框架修改的,比如使用L1 distance作為衡量重建差異的目標函數(shù)。
然后實驗中作者又發(fā)現(xiàn)只使用L1不行,圖像邊緣等細節(jié)可能會衡量不準確,又加入GAN loss來提升網(wǎng)絡(luò)的重建效果。
最后,得到了下面目標函數(shù)。
3.3缺陷檢測
因為使用GAN修復(fù)后的圖片和原始缺陷樣本圖片之間在像素級的細節(jié)上有一些差異,作者使用了前幾年在人臉領(lǐng)域應(yīng)用比較好的LBP算法進行缺陷區(qū)域的檢測,這里不介紹算法的細節(jié),示意圖如下。
4.實驗
文章對DAGM 2007數(shù)據(jù)集和織物密集圖像進行了驗證實驗。實驗表明,提出的GAN+LBP算法和有足夠訓(xùn)練樣本的監(jiān)督訓(xùn)練算法具有較高的檢測準確率。實驗使用兩種類型的數(shù)據(jù)集,4.1是印花紋表面,4.2是織物表面。
4.1Texture surface
測試樣本
結(jié)果
a.原始圖像,b.修復(fù)圖像,c.論文方法,d. FCN方法,e.真實標簽
4.2Fabric Picture
實驗中缺陷樣本的類型有五種。實驗樣本按背景分有三類,每類包含5個缺陷樣本,25個正常樣本。
測試樣本
結(jié)果
a.原始圖像,b.修復(fù)圖像,c.論文方法,d. FCN方法,e.真實標簽
本人水平有限,表述不清楚或錯誤的地方請指出,一起進步!
歡迎點贊(開心臉)
參考文獻
[1] Zhao Z, Li B, Dong R, et al.A Surface Defect Detection Method Based on Positive Samples[C]// Pacific Rim International Conference on Artificial Intelligence. Springer, Cham, 2018:473-481.
[2] Wu X. Fully Convolutional Networks for Semantic Segmentation[J]. Computer Science, 2015.
[3] Li Y, Liu S, Yang J, et al. Generative Face Completion[J]. 2017.
[4] Yang C, Lu X, Lin Z, et al. High-Resolution Image Inpainting using Multi-Scale Neural Patch Synthesis[J]. arXiv preprint arXiv:1611.09969, 2016.
[5] Image-to-Image Translation with Conditional Adversarial Networks.
[6] Unsupervised representation learning with deep convolutional generative adversarial networks.
責(zé)任編輯:xj
原文標題:GAN用于(無缺陷樣本)產(chǎn)品表面缺陷檢測
文章出處:【微信公眾號:新機器視覺】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
-
GaN
+關(guān)注
關(guān)注
19文章
1910瀏覽量
72754 -
表面缺陷檢測
+關(guān)注
關(guān)注
0文章
20瀏覽量
1246
原文標題:GAN用于(無缺陷樣本)產(chǎn)品表面缺陷檢測
文章出處:【微信號:vision263com,微信公眾號:新機器視覺】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論