目錄
工業缺陷檢測場景簡介
在工業生產過程中,由于現有技術、工作條件等因素的不足和局限性,極易影響制成品的質量。其中,表面缺陷是產品質量受到影響的最直觀表現。因此,為了保證合格率和可靠的質量,必須進行產品表面缺陷檢測。
“缺陷”一般可以理解為與正常樣品相比的缺失、缺陷或面積。表面缺陷檢測是指檢測樣品表面的劃痕、缺陷、異物遮擋、顏色污染、孔洞等缺陷,從而獲得被測樣品表面缺陷的類別、輪廓、位置、大小等一系列相關信息。人工缺陷檢測曾經是主流方法,但這種方法效率低下;檢測結果容易受人為主觀因素的影響,不能滿足實時檢測的要求。它已逐漸被其他方法所取代。
工業缺陷檢測場景的特點
自然場景一般是強語義信息,缺陷檢測一般為弱語義信息。缺陷檢測不需要特別大的感受野,一般為紋路上的缺陷,局部區域就可以判別。工業場景有以下幾個特點:
- 業務場景過于分散:缺陷檢測場景還是非常分散的,難以歸納。
- 受限、可控:有比較大的人工干預空間。例如可以利用一些光學、機械結構等設計降低場景的復雜,使得我們面臨的場景更加純粹。
- 一般面臨的目標比較微弱:這個與目標缺陷的形態、顏色等有關。有時還會有一些例如黑色紋理上的黑色缺陷,強烈吃視角的缺陷等;
- 需求不太明確:很多時候做不到非黑即白的“一刀切。其實仔細思考,并不是客戶給不出明確的需求,而是場景和數據本身的固有屬性,需求在執行的時候很難做到一致性。
- 精度指標要求比較高:動輒 100% 還是比較夸張的。一般 1 個點的漏撿,2 到 3 個點的誤檢算是比較理想的結果了。
工業缺陷檢測場景的需求
根據工業缺陷檢測場景的固有屬性。針對該場景,主要有以下幾點需求:
- 需求一:能夠正確判別出 NG(Not Good) 和 OK,本質是一個分類任務:這個是最基礎的任務,可以認為是二分類任務;
- 需求二:定位缺陷的位置和缺陷的類別,本質是一個目標檢測的任務: 用矩形框粗略地標記出缺陷的位置,并判別出每個缺陷所屬的細分類別,方便歸因分析、指標統計、設備升級、維修等;
- 需求三:定位缺陷的精確位置和每一個缺陷的類別,本質是稠密預測,屬于圖像分割任務:能夠精確得到缺陷的輪廓,需要產出缺陷的熱力圖;一般對應的上層任務有缺陷分級、需求定制或變更。
- 需求四:只有大量的正常樣本,設計算法進行缺陷檢測,本質是無監督學習算法:只提供一些正常樣本,希望模型在僅有的正常樣本上訓練后,能夠檢測出實際生產環境中異常缺陷的樣本。
工業缺陷檢測場景的流程圖
工業缺陷檢測整個流程如下圖所示,一共經過7個階段,分別是:明確需求階段、打光階段、數據階段、算法設計階段、部署階段、運維階段。
工業缺陷檢測常用的深度學習算法
我們能用到的深度學習算法很多,有分類、檢測、分割系列,例如分類算法中的細粒度分類,可以更加精準的提取微弱的特征,細粒度算法一般會用到打亂和注意力機制,對紋理上的缺陷識別會更優一點。
另外,應用語義分割任務做缺陷檢測,其實缺陷檢測并不局限語義分割,它更像提取一張高斯熱圖,有缺陷的地方概率高,背景區域概率低。因此有一些熱圖回歸的做法也可以應用。
除了監督學習算法,在應對缺少缺陷樣本的場景中,我們還可以選擇無監督學習方案。
深度學習的快速發展使其在缺陷檢測領域得到越來越廣泛的應用,具體的缺陷檢測方法如圖所示。
監督方法
監督方法要求訓練集和測試集缺一不可,訓練集中的樣本必須被標記,其中訓練集用于尋找樣本的內在規律,然后將規律應用到測試集。
在上述有監督的表面缺陷檢測方法中,基于表征學習的方法大致可以分為三類:分類網絡、檢測網絡和分割網絡。其中,常用的分類網絡是 Resnet、ShuffleNet;通常用作檢測網絡的是 Faster RCNN、YOLO;常用的分割網絡有:FCN、Mask RCNN 等。
在缺陷檢測的任務中,分類網絡的重點是解決“缺陷是什么”問題,即確定圖像的類型(圖像是否包含缺陷,缺陷的類型是什么);檢測網絡的重點是解決“缺陷在哪里”的問題,即獲取具體的位置信息和通過確定缺陷的位置來確定缺陷的類別信息;分割網絡的焦點是為了解決“有多少缺陷”的問題,即分割從背景中修正缺陷區域,獲取位置、類別、屬性和缺陷的其他信息。
-
ShuffleNet ShuffleNet 是一種計算效率高的輕量級網絡,它采用了逐點組卷積和通道 shuffle 兩種新方法來保證計算精度并有效降低計算成本
-
Faster RCNN Faster RCNN 是在 Fast RCNN 的基礎上引入了區域提議網絡(RPN),將生成區域推薦的步驟放入神經網絡中,在端到端的學習模式下實現了幾乎無成本的區域推薦算法,極大地提高了目標檢測的速度,還提到了滑動窗口方法。
-
全卷積網絡 在 FCN 中,一種端到端的圖像分割方法,網絡中的所有層都是卷積層;網絡主要使用三種技術:卷積、上采樣和跳過層;可以通過讓網絡做像素級預測直接得到標簽圖。核心思想之一是反卷積層,增加了數據規模,從而可以輸出準確的結果。
-
Mask RCNN Mask RCNN 是 Faster RCNN 的一種擴展形式,它為兩階段框架網絡集成了目標檢測和實例分割功能:第一階段掃描圖像并生成候選框(建議框可能包含目標區域),第二階段分類候選框并生成邊界框和掩碼。
-
YOLO YOLO (You Only Look Once)是一種單級目標檢測器,用于實現兩個目標(即速度和準確性)。它將對象檢測定義為一個回歸問題,圖像輸入卷積神經網絡,并預測每個網格的類概率和邊界框。
無監督方法
-
Autoencoder 編碼器和解碼器是自編碼器的兩個核心部分。其中,encoder 對應網絡模型中的隱藏層,用于學習輸入信號的低維特征;解碼器對應模型中的輸出層,用于盡可能地再現輸入信號。因此,使編碼器能夠學習輸入信號良好的低維特征并重構輸入信號是自編碼器的最終目標。
-
生成對抗網絡 生成對抗網絡由兩個參與者組成:生成器和鑒別器。生成器用于獲取樣本數據的分布,鑒別器用于估計樣本訓練數據的概率。該模型的最終目標是學習真實數據的內在規律,預測和估計真實數據的分布或密度,并根據學到的知識生成新的數據,即生成對抗網絡制造數據。
-
深度信念網絡 深度信念網絡由多個RBM(受限玻爾茲曼機)組成,整個網絡的訓練是通過逐層單獨訓練 RBM 來完成的。
缺陷檢測需要的工具
缺陷檢測落地需要非常多的工具支撐:
- 圖像采集:相機、運動設備、光學控制;
- 數據托管:服務器、數據庫、版本管理、數據積累;
- 數據處理:圖像分析、定位、裁剪;
- 數據標注:適配各種任務、半自動標注;
- 數據清洗:半自動、交叉驗證、一致性分析;
- 缺陷生成:傳統方法、融合、GAN;
- 訓練框架:分類、分割、檢測、熱圖回歸等;
- 測試框架:多模型測試、指標統計、可視化;
- 部署平臺:模型融合、模型加速、平臺移植;
- 前端框架:GUI、數據持續收集、用戶體驗。
審核編輯 :李倩
-
算法
+關注
關注
23文章
4629瀏覽量
93186 -
工業
+關注
關注
3文章
1867瀏覽量
46824 -
深度學習
+關注
關注
73文章
5512瀏覽量
121408
原文標題:工業缺陷檢測場景簡介
文章出處:【微信號:vision263com,微信公眾號:新機器視覺】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論