日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

基于正样本的表面缺陷检测

發布時間:2024/9/27 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 基于正样本的表面缺陷检测 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

表面缺陷檢測在工業生產中起著非常重要的作用,基于機器視覺的表面缺陷檢測可以極大的提升工業生產的效率。隨著近年來深度學習在計算機視覺領域的發展,卷積神經網絡在諸多圖像任務上都取得了顯著的效果,然而這些方法往往是需要大量標注數據的有監督學習。在實際的工業場景中,缺陷樣本往往是難以收集的,而且標注的成本也十分巨大。針對上述有監督學習在實際應用中存在的問題,本文提出了一種僅基于正樣本訓練的缺陷檢測方法。訓練過程中只需要提供足夠的正樣本,無需缺陷數據和手動標注,也可以取得較好的缺陷檢測效果,具有較高的應用價值。

1??介? 紹? ??

機器視覺表面缺陷檢測在工業生產中扮演著重要的角色。傳統都是直接人工肉眼鑒別是否存在表面缺陷,不僅耗費人力且不能準確識別缺陷。

機器視覺可以替代人眼進行檢測,但在實際應用中仍面臨很多挑戰,尤其是近幾年的傳統圖像算法解決方案基于經驗手工設計,算法存在精度較低且不夠魯棒的問題,特別是在諸如打光、形變、失真和遮擋等復雜的場景中。現今深度學習在特征提取方面有著亮眼的表現,在諸多有監督的任務上都取得了優質的表現,例如分類、目標檢測和圖像分割。

同時,近年來也涌現了不少用卷積神經網絡來進行缺陷檢測的方案,其中最常見的是直接利用目標檢測網絡如Faster RCNN或者SSD對缺陷進行定位和分類。也有先用目標檢測進行粗定位,然后用FCN進行語義分割得到精確定位的方法,這種方法可以得到缺陷的精準輪廓,但是這些方法都屬于有監督的學習,在實際的工業應用中存在以下問題:

缺少缺陷樣本:在實際應用中,用于訓練的缺陷樣本往往是非常稀少且難以獲取的。因此在訓練過程中正負樣本是非常不均衡的,這極大的限制了模型的性能,甚至導致模型完全不可用。在缺陷外觀多變的場景下,有監督學習的方法往往無法滿足正常的生產需求。

人工標注成本高昂:實際的工業缺陷檢測場景中,通常存在許多不同種類的缺陷,檢測的標準和質量指標往往也不同。這就需要人為標注大量的訓練數據來滿足特定需求,這需要付出大量的人力資源。

2 相關工作??

2.1基于正樣本的修復模型

本文的靈感來自于一系列基于對抗生成網絡GAN的檢測和修復模型。GAN的基本框架如圖1,主要包括生成器G和判別器D兩個部分。生成器G接收從一個高斯分布中隨機采樣的信號來生成圖片,判別器D接收真實圖片和生成器生成的虛假圖片并區分它們。生成器和判別器在訓練時不斷對抗從而改善生成圖片的質量。

之前有學者使用GAN來進行圖像修復。首先使用正常的無缺陷圖片來訓練GAN,然后再修復已知位置的缺陷時,我們優化生成器的輸入z,獲得最優的z來讓重建圖片y和缺陷圖片的正常部分最大程度的接近。?另外一個基于圖像修復的缺陷檢測算法的做法是用中間層的重建誤差來重建圖像而無需知道缺陷的位置,通過重建圖片和原始圖片的差異來定位缺陷。

2.2 自編碼器

Pix2pix 用自編碼器和GAN聯合解決圖像遷移任務。它可以生產清晰而真實的圖像。為了獲得質量更佳的細節和邊緣,pix2pix使用了類似unet的跨層鏈接。該結構并不利于去除整個缺陷,因此我們的模型沒有使用這個結構。一般自編碼器用于圖像風格遷移等任務,如給黑白圖像上色或者將照片轉化為簡筆畫等。我們用自編碼器完成圖像重建的任務。

在上述工作的基礎上本文完成了以下工作:

(1)?使用自編碼器重建圖像。我們通過加入GANloss來讓生成的圖像更加真實。

(2)?在訓練時人工加入缺陷,不依賴大量的真實缺陷數據,也不用人工標注。

(3)?使用LBP算法來對比重建圖片和原始圖片,從而定位缺陷。

3??方? 案? ?

3.1基本框架圖

本文提出的模型的基本框架如圖2

圖2. 網絡框架

C(x~|x)是設計的一個人工制造缺陷的模塊,在訓練階段,通過該模塊將訓練集x人為的加上缺陷得到缺陷圖片x~。EN為編碼器,它將輸入的缺陷圖片x~映射為一個潛在變量z ,DE為解碼器,它將潛在變量z重新建模成圖片y。EN和DE共同組成一個自編碼器,作為GAN中的生成器,其任務便是讓輸出的圖片y不斷接近正常的圖片x。判別器D用來判斷其輸入是來自于真實的訓練集還是生成器的輸出圖片。通過對抗訓練,生成器G便擁有了修復缺陷的能力。

在測試階段,將之前訓練好的自編碼器G作為修復模塊,將測試圖片x輸入到自編碼器G中,獲得修復后的圖片y。修復圖片y和原圖作為輸入一起用LBP算法來提取特征并對比,從而定位缺陷。

3.2?損失函數

缺陷樣本在經過自編碼器G重建后應該與原始的正常圖片相同,本文參考pix2pix,用L1距離來表征它們的相似程度。

然而在實驗中發現,如果僅僅使用L1 loss來作為目標函數,獲取的圖像邊緣會變得模糊而且會丟失細節。本文通過加入判別器D,用GAN loss來改善圖像質量,提升重建效果。

因此最終的優化目標如下:

3.3?網絡結構細節

本文的網絡結構參考了DCGAN。在生成器和判別器中增加batchnorm層。在判別器中使用LeakyRelu激活函數,在生成器中使用Relu激活函數。

在本文的模型中,自編碼器只需要將圖片修復成最接近的樣本圖片,并不在乎缺陷的具體形式。在實際訓練過程中,人為的隨機生成不同位置、大小、灰度和數量的缺陷塊到圖片中,如圖3。

圖3. 人工缺陷示意圖

數據增強方面,本文在0.5到2之間進行尺度變換,并隨機加入-180和180°的旋轉以及隨機高斯模糊。

3.4定位缺陷

由于重建后的圖片和原始圖片在細節上存在一些誤差,我們不能直接將原始圖片和修復圖片做差分來得到缺陷位置。本文使用LBP算法來進行特征提取,并匹配每個像素。具體流程如圖4。

圖4. 定位缺陷的過程

將原始圖像x和修復圖像y輸入到LBP模塊,提取出特征圖x+和y+。對于x+的所有像素點,在y+中對應位置搜索最匹配的特征點,從而對齊了特征。最后逐個對比匹配點之間的特征值,通過設置一個閾值來篩選,便可以得到缺陷的位置。

4

實驗效果

本文在DAGM表面紋理數據集和紡織物數據集上做了實驗來檢驗性能。并與FCN算法進行比較。使用平均精度來作為衡量標準。

4.1表面紋理缺陷

紋理表面有著較好的一致性,所以在訓練集中有足夠的缺陷樣本來學習。

表1. 表面紋理數據集的測試信息

訓練集

本文:400張無缺陷圖FCN: 85張帶缺陷圖+400張無缺陷圖

測試集

85張帶缺陷圖

圖像尺寸

512*512

表4. 紡織圖片數據集的測試結果

模型

平均精度

耗時

FCN(8s)

81.6833

31.2ms

本文

94.4253%

22.3ms

圖5. (A) 初始輸入圖片 (B) 重建圖片 (C) 本文的結果 (D) FCN的結果 (E) 真實標簽

4.2?紡織物圖片

由于真實場景中的紡織物的不同樣式,訓練集中的缺陷樣本很少。在實驗里共有五種缺陷,每種缺陷有五張圖片,還有25張正樣本。對于語義分割模型,每種缺陷圖像中3張作為訓練集,2張為測試集。

表3. 紡織圖片數據集的測試信息

模型

平均精度

耗時

FCN(8s)

98.3547%

80.3ms

本文

98.5323%

52.1ms

表4. 紡織圖片數據集的測試結果

模型

平均精度

耗時

FCN(8s)

81.6833

31.2ms

本文

94.4253%

22.3ms

圖6. (A) 初始輸入圖片 (B) 重建圖片 (C) 本文的結果 (D) FCN的結果 (E) 真實標簽

實驗表明,在規則的背景下,當標記缺陷樣本足夠時,本文的精度接近有監督的語義分割模型,當缺陷樣本不足時,本文的模型要強于語義分割。而且本文提出的模型速度更快,可實時運行。

5

? 結? 論? ?

本文提出了一種結合自編碼器和GAN的缺陷檢測算法,無需負樣本和人工標注。在訓練時通過數據增強和人為加入缺陷,該模型可以自動修復規則紋理圖像的缺陷,并定位缺陷的具體位置。在訓練集中標注缺陷較少乃至沒有的情況時,本文的模型可以取得比有監督模型更好的結果。

總結

以上是生活随笔為你收集整理的基于正样本的表面缺陷检测的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。