主頁 > 後端開發 > 表面缺陷檢測資料集匯總及其相關專案推薦 | Github開源

表面缺陷檢測資料集匯總及其相關專案推薦 | Github開源

2020-09-29 16:01:51 後端開發

Surface-Defect-Detection

🐎📈 collect Surface-Defect-Detection paper and dataset 🐋


原文鏈接,參看我的Github:https://github.com/Charmve/Surface-Defect-Detection

目前, 基于機器視覺的表面缺陷裝備已經在各工業領域廣泛替代人工肉眼檢測,包括3C、汽車、家電、機械制造、半導體及電子、化工、醫藥、航空航天、輕工等行業,傳統的基于機器 視覺的表面缺陷檢測方法,往往采用常規影像處理 演算法或人工設計特征加分類器方式,一般來說,通常利用被檢表面或缺陷的不同性質進行成像方案的設計,合理的成像方案有助于獲得光照均勻的影像,并將物體表面缺陷明顯的體現出來,近年來,不少基于深度學習的缺陷檢測方法也被廣泛應用在各種工業場景中,

對比計算機視覺中明確的分 類、檢測和分割任務, 缺陷檢測的需求非常籠統. 實 際上, 其需求可以劃分為三個不同的層次: “缺陷是什么”(分類)、“缺陷在哪里”(定位)和“缺陷是多少”(分割),

一、表面缺陷檢測關鍵問題

1、小樣本問題

目前深度學習方法廣泛應用在各種計算機視覺 任務中, 表面缺陷檢測一般被看作是其在工業領域的具體應用,在傳統的認識中, 深度學習方法無法直接應用在表面缺陷檢測中的原因是因為在真實的 工業環境中, 所能提供的工業缺陷樣本太少,

相比于ImageNet資料集中1400多萬張樣本資料, 表面缺陷檢測中面臨的最關鍵的問題是小樣本問題, 在很多真實的工業場景下甚至只有幾張或幾十張缺陷圖片, 實際上, 針對于工業表面缺陷檢測中關鍵問題之 一的小樣本問題, 目前有4種不同的解決方式:

1)資料擴增、生成

最常用的缺陷影像擴 增方法是對原始缺陷樣本采用鏡像、旋轉、平移、扭曲、濾波、對比度調整等多種影像處理操作來獲取 更多的樣本,另外一種較為 常見方法是資料合成, 常常將單獨缺陷融合疊加到 正常(無缺陷)樣本上構成缺陷樣本,

2)網路預訓練與遷移學習

一般來說,,采用小樣本來訓練深度學習網路很容易導致過擬合, 因此 基于預訓練網路或遷移學習的方法是目前針對樣 本中最常用的方法之一,

3)合理的網路結構設計

通過設計合理的網路 結構也可以大大減少樣本的需求,基于壓縮采樣定理來壓縮和擴充小樣本資料, 使 用CNN直接對壓縮采樣的資料特征進行分類. 相比 于原始的影像輸入, 通過對輸入進行壓縮采樣能大 大降低網路對樣本的需求. 此外, 基于孿生網路的表 面缺陷檢測方法也可以看作是一種特殊的網路設計, 能夠大幅減少樣本需求,

4)無監督或半監督

在無監督模型中, 只利用正 常樣本進行訓練, 因此不需要缺陷樣本. 半監督方法 可以利用沒有標注的樣本來解決小樣本情況下的網路訓練難題,

2、實時性問題

基于深度學習的缺陷檢測方法在工業應用中包括三個主要環節: 資料標注、模型訓練與模型推斷. 在實際工業應用中的實時性更關注模型推斷這一環節. 目前大多數缺陷檢測方法都集中在分類或 識別的準確性上, 而很少關注模型推斷的效率,有不少方法用于加速模型, 例如模型權重量化和模型剪枝等,另外,雖然現有深度學習模型 使用GPU作為通用計算單元, 但隨著技術發展, 相信FPGA會成為一個具有吸引力的替代方案,

二、工業表面缺陷檢測常用資料集

1)鋼材表面:NEU-CLS(可用于分類、定位任務)

地址:http://faculty.neu.edu.cn/yunhyan/NEU_surface_defect_database.html

在這里插入圖片描述

由東北大學(NEU)發布的表面缺陷資料庫,收集了熱軋鋼帶的六種典型表面缺陷,即軋制訊訓皮(RS),斑塊(Pa),開裂(Cr),點蝕表面( PS),內含物(In)和劃痕(Sc),該資料庫包括1,800個灰度影像:六種不同型別的典型表面缺陷,每一類缺陷包含300個樣本,對于缺陷檢測任務,資料集提供了注釋,指示每個影像中缺陷的類別和位置,對于每個缺陷,黃色框是指示其位置的邊框,綠色標簽是類別分數,

在這里插入圖片描述


2)太陽能板:elpv-dataset

地址:https://github.com/zae-bayern/elpv-dataset


3)金屬表面:KolektorSDD

The dataset is constructed from images of defected electrical commutators that were provided and annotated by Kolektor Group d.o.o… Specifically, microscopic fractions or cracks were observed on the surface of the plastic embedding in electrical commutators. The surface area of each commutator was captured in eight non-overlapping images. The images were captured in a controlled environment.


offical link: https://www.vicos.si/Downloads/KolektorSDD

百度網盤鏈接:https://pan.baidu.com/share/init?surl=HSzHC1ltHvt1hSJh_IY4Jg

提取碼:1zlb

The dataset consists of:

  • 50 physical items (defected electrical commutators)
  • 8 surfaces per item
  • Altogether 399 images:
    – 52 images of visible defect
    – 347 images without any defect
  • Original images of sizes:
    – width: 500 px
    – height: from 1240 to 1270 px
  • For training and evaluation images should be resized to 512 x 1408 px

For each item the defect is only visible in at least one image, while two items have defects on two images, which means there were 52 images where the defects are visible. The remaining 347 images serve as negative examples with non-defective surfaces.


4)PCB板檢測:DeepPCB

地址:https://github.com/Charmve/Surface-Defect-Detection/tree/master/DeepPCB

在這里插入圖片描述


5)AITEX資料集(面料缺陷)

資料集下載鏈接:

https://pan.baidu.com/s/1cfC4Ll5QlnwN5RTuSZ6b7w

提取碼:b9uy

該資料庫由七個不同織物結構的245張4096 x 256像素影像組成,資料庫中有140個無缺陷影像,每種型別的織物20個,除此之外,有105幅紡織行業中常見的不同型別的織物缺陷(12種缺陷)影像,影像的大尺寸允許用戶使用不同的視窗尺寸,從而增加了樣本數量,Internet上的資料庫還包含所有具有缺陷的影像的分割mask,使得白色像素表示缺陷區域,其余像素為黑色,


6)天池布匹缺陷資料(競賽)

資料下載鏈接:

https://pan.baidu.com/s/1LMbujxvr5iB3SwjFGYHspA

提取碼:gat2

在布匹的實際生產程序中,由于各方面因素的影響,會產生污漬、破洞、毛粒等瑕疵,為保證產品質量,需要對布匹進行瑕疵檢測,布匹疵點檢驗是紡織行業生產和質量管理的重要環節,目前人工檢測易受主觀因素影響,缺乏一致性;并且檢測人員在強光下長時間作業對視力影響極大,由于布匹疵點種類繁多、形態變化多樣、觀察識別難道大,導致布匹疵點智能檢測是困擾行業多年的技術瓶頸,本資料涵蓋了紡織業中布匹的各類重要瑕疵,每張圖片含一個或多種瑕疵,資料包括包括素色布和花色布兩類,其中,素色布資料約8000張,用于初賽;花色布資料約12000張,用于復賽,


7)天池鋁型材表面瑕疵資料集(競賽)

資料集下載鏈接:

https://tianchi.aliyun.com/competition/entrance/231682/information

資料介紹:在鋁型材的實際生產程序中,由于各方面因素的影響,鋁型材表面會產生裂紋、起皮、劃傷等瑕疵,這些瑕疵會嚴重影響鋁型材的質量,為保證產品質量,需要人工進行肉眼目測,然而,鋁型材的表面自身會含有紋路,與瑕疵的區分度不高,傳統人工肉眼檢查十分費力,不能及時準確的判斷出表面瑕疵,質檢的效率難以把控,近年來,深度學習在影像識別等領域取得了突飛猛進的成果,鋁型材制造商迫切希望采用最新的AI技術來革新現有質檢流程,自動完成質檢任務,減少漏檢發生率,提高產品的質量,使鋁型材產品的生產管理者徹底擺脫了無法全面掌握產品表面質量的狀態,大賽資料集里有1萬份來自實際生產中有瑕疵的鋁型材監測影像資料,每個影像包含一個或多種瑕疵,供機器學習的樣圖會明確標識影像中所包含的瑕疵型別,

在這里插入圖片描述


8)弱監督學習下的工業光學檢測(DAGM 2007) Weakly Supervised Learning for Industrial Optical Inspection

資料下載鏈接:

https://hci.iwr.uni-heidelberg.de/node/3616

在這里插入圖片描述


資料集介紹:

  • 主要針對紋理背景上的雜項缺陷,

  • 較弱監督的訓練資料,

  • 包含是個資料集,前六個為訓練資料集,后四個為測驗資料集,

  • 每個資料集均包含以灰度8位PNG格式保存的1000個“無缺陷”影像和150個“有缺陷”影像,每個資料集由不同的紋理模型和缺陷模型生成,

  • “無缺陷”影像顯示的背景紋理沒有缺陷,“無缺陷”影像的背景紋理上恰好有一個標記的缺陷,

  • 所有資料集已隨機分為大小相等的訓練和測驗子資料集,

  • 弱標簽以橢圓形表示,大致表示缺陷區域,


9)基建表面裂紋檢測資料 Cracks on the surface of the construction.

資料集是github上的一個專案,主要是一些基建(水泥表面裂紋),可以訪問專案連接:https://github.com/cuilimeng/CrackForest-dataset 或者百度云鏈接:https://pan.baidu.com/s/1108j5QbDr7T3XQvDxAzVpg

提取碼:jajn

在這里插入圖片描述


Cracks on the bridge(left) and crack on the road surface.

  • Bridge cracks. There are 2688 images of bridge crack without pixel-level ground truth. From the authors “Liangfu Li Weifei Ma Li Li Xiaoxiao Gao”. Files can be reached by visiting https://github.com/Charmve/Surface-Defect-Detection/tree/master/Bridge_Crack_Image.

  • Crack on road surface. From Shi, Yong, and Cui, Limeng and Qi, Zhiquan and Meng, Fan and Chen, Zhensong. Original dataset can be reached at https://github.com/Charmve/Surface-Defect-Detection/tree/master/CrackForest. We extract the image files of the pixel level ground truth.

10)磁瓦缺陷資料集 Magnetic tile dataset

Magnetic tile dataset by ourselves. Can be downloaded from https://github.com/Charmve/Surface-Defect-Detection/tree/master/Magnetic-Tile-Defect, which was used in our paper “Surface defect saliency of magnetic tile”, the paper can be reach by here or here

在這里插入圖片描述

Figure 1. An overview of our dataset.

This is the datasets of the paper “Saliency of magnetic tile surface defects”
The images of 6 common magnetic tile defects were collected, and their pixel level ground-truth were labeled.

11)鐵軌表面缺陷資料集 RSDDs dataset

RSDDs資料集包含兩種型別的資料集:第一種是從快車道捕獲的I型RSDDs資料集,其中包含67個具有挑戰性的影像,第二個是從普通/重型運輸軌道捕獲的II型RSDDs資料集,其中包含128個具有挑戰性的影像,

兩個資料集的每幅影像至少包含一個缺陷,并且背景復雜且噪聲很大,

RSDDs資料集中的這些缺陷已由一些專業的人類觀察員在軌道表面檢查領域進行了標記,

在這里插入圖片描述


官方鏈接:http://icn.bjtu.edu.cn/Visint/resources/RSDDs.aspx

鏈接:https://pan.baidu.com/share/init?surl=svsnqL0r1kasVDNjppkEwg

提取碼:nanr


12)Kylberg Texture Dataset v. 1.0

Figure 2. Example patches from each one of the 28 texture classes.

Short description

  • 28 texture classes, see Figure 2.
  • 160 unique texture patches per class. (Alternative dataset with 12 rotations per each original patch, 160*12=1920 texture patches per class).
  • Texture patch size: 576x576 pixels.
  • File format: Lossless compressed 8 bit PNG.
  • All patches are normalized with a mean value of 127 and a standard deviation of 40.
  • One directory per texture class.
  • Files are named as follows: blanket1-d-p011-r180.png, where blanket1 is the class name, d original image sample number (possible values are a, b, c, or d), p011 is patch number 11, r180 patch rotated 180 degrees.

offical link:http://www.cb.uu.se/~gustaf/texture/


更多資料集可參考:

https://github.com/abin24/Surface-Inspection-defect-detection-dataset

三、Surface Defect Detection Papers

收集一些表面缺陷檢測的文章,主要檢測物件是:金屬表面、LCD屏、建筑、輸電線等缺陷或例外檢物,方法以分類方法、檢測方法、重構方法、生成方法為主,電子版論文放在了paper檔案的對應日期檔案下,

詳見本倉庫 Papers


* Update by Sep.27 2020 ?Charmve

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/138970.html

標籤:python

上一篇:【MyBatis系列8】給我五分鐘,帶你徹底掌握MyBatis的快取作業原理

下一篇:華為十年技術專家總結:進階成為架構師需要掌握哪些技能?從0到1

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 【C++】Microsoft C++、C 和匯編程式檔案

    ......

    uj5u.com 2020-09-10 00:57:23 more
  • 例外宣告

    相比于斷言適用于排除邏輯上不可能存在的狀態,例外通常是用于邏輯上可能發生的錯誤。 例外宣告 Item 1:當函式不可能拋出例外或不能接受拋出例外時,使用noexcept 理由 如果不打算拋出例外的話,程式就會認為無法處理這種錯誤,并且應當盡早終止,如此可以有效地阻止例外的傳播與擴散。 示例 //不可 ......

    uj5u.com 2020-09-10 00:57:27 more
  • Codeforces 1400E Clear the Multiset(貪心 + 分治)

    鏈接:https://codeforces.com/problemset/problem/1400/E 來源:Codeforces 思路:給你一個陣列,現在你可以進行兩種操作,操作1:將一段沒有 0 的區間進行減一的操作,操作2:將 i 位置上的元素歸零。最終問:將這個陣列的全部元素歸零后操作的最少 ......

    uj5u.com 2020-09-10 00:57:30 more
  • UVA11610 【Reverse Prime】

    本人看到此題沒有翻譯,就附帶了一個自己的翻譯版本 思考 這一題,它的第一個要求是找出所有 $7$ 位反向質數及其質因數的個數。 我們應該需要質數篩篩選1~$10^{7}$的所有數,這里就不慢慢介紹了。但是,重讀題,我們突然發現反向質數都是 $7$ 位,而將它反過來后的數字卻是 $6$ 位數,這就說明 ......

    uj5u.com 2020-09-10 00:57:36 more
  • 統計區間素數數量

    1 #pragma GCC optimize(2) 2 #include <bits/stdc++.h> 3 using namespace std; 4 bool isprime[1000000010]; 5 vector<int> prime; 6 inline int getlist(int ......

    uj5u.com 2020-09-10 00:57:47 more
  • C/C++編程筆記:C++中的 const 變數詳解,教你正確認識const用法

    1、C中的const 1、區域const變數存放在堆疊區中,會分配記憶體(也就是說可以通過地址間接修改變數的值)。測驗代碼如下: 運行結果: 2、全域const變數存放在只讀資料段(不能通過地址修改,會發生寫入錯誤), 默認為外部聯編,可以給其他源檔案使用(需要用extern關鍵字修飾) 運行結果: ......

    uj5u.com 2020-09-10 00:58:04 more
  • 【C++犯錯記錄】VS2019 MFC添加資源不懂如何修改資源宏ID

    1. 首先在資源視圖中,添加資源 2. 點擊新添加的資源,復制自動生成的ID 3. 在解決方案資源管理器中找到Resource.h檔案,編輯,使用整個專案搜索和替換的方式快速替換 宏宣告 4. Ctrl+Shift+F 全域搜索,點擊查找全部,然后逐個替換 5. 為什么使用搜索替換而不使用屬性視窗直 ......

    uj5u.com 2020-09-10 00:59:11 more
  • 【C++犯錯記錄】VS2019 MFC不懂的批量添加資源

    1. 打開資源頭檔案Resource.h,在其中預先定義好宏 ID(不清楚其實ID值應該設定多少,可以先新建一個相同的資源項,再在這個資源的ID值的基礎上遞增即可) 2. 在資源視圖中選中專案資源,按F7編輯資源檔案,按 ID 型別 相對路徑的形式添加 資源。(別忘了先把檔案拷貝到專案中的res檔案 ......

    uj5u.com 2020-09-10 01:00:19 more
  • C/C++編程筆記:關于C++的參考型別,專供新手入門使用

    今天要講的是C++中我最喜歡的一個用法——參考,也叫別名。 參考就是給一個變數名取一個變數名,方便我們間接地使用這個變數。我們可以給一個變數創建N個參考,這N + 1個變數共享了同一塊記憶體區域。(參考型別的變數會占用記憶體空間,占用的記憶體空間的大小和指標型別的大小是相同的。雖然參考是一個物件的別名,但 ......

    uj5u.com 2020-09-10 01:00:22 more
  • 【C/C++編程筆記】從頭開始學習C ++:初學者完整指南

    眾所周知,C ++的學習曲線陡峭,但是花時間學習這種語言將為您的職業帶來奇跡,并使您與其他開發人員區分開。您會更輕松地學習新語言,形成真正的解決問題的技能,并在編程的基礎上打下堅實的基礎。 C ++將幫助您養成良好的編程習慣(即清晰一致的編碼風格,在撰寫代碼時注釋代碼,并限制類內部的可見性),并且由 ......

    uj5u.com 2020-09-10 01:00:41 more
最新发布
  • Rust中的智能指標:Box<T> Rc<T> Arc<T> Cell<T> RefCell<T> Weak

    Rust中的智能指標是什么 智能指標(smart pointers)是一類資料結構,是擁有資料所有權和額外功能的指標。是指標的進一步發展 指標(pointer)是一個包含記憶體地址的變數的通用概念。這個地址參考,或 ” 指向”(points at)一些其 他資料 。參考以 & 符號為標志并借用了他們所 ......

    uj5u.com 2023-04-20 07:24:10 more
  • Java的值傳遞和參考傳遞

    值傳遞不會改變本身,參考傳遞(如果傳遞的值需要實體化到堆里)如果發生修改了會改變本身。 1.基本資料型別都是值傳遞 package com.example.basic; public class Test { public static void main(String[] args) { int ......

    uj5u.com 2023-04-20 07:24:04 more
  • [2]SpinalHDL教程——Scala簡單入門

    第一個 Scala 程式 shell里面輸入 $ scala scala> 1 + 1 res0: Int = 2 scala> println("Hello World!") Hello World! 檔案形式 object HelloWorld { /* 這是我的第一個 Scala 程式 * 以 ......

    uj5u.com 2023-04-20 07:23:58 more
  • 理解函式指標和回呼函式

    理解 函式指標 指向函式的指標。比如: 理解函式指標的偽代碼 void (*p)(int type, char *data); // 定義一個函式指標p void func(int type, char *data); // 宣告一個函式func p = func; // 將指標p指向函式func ......

    uj5u.com 2023-04-20 07:23:52 more
  • Django筆記二十五之資料庫函式之日期函式

    本文首發于公眾號:Hunter后端 原文鏈接:Django筆記二十五之資料庫函式之日期函式 日期函式主要介紹兩個大類,Extract() 和 Trunc() Extract() 函式作用是提取日期,比如我們可以提取一個日期欄位的年份,月份,日等資料 Trunc() 的作用則是截取,比如 2022-0 ......

    uj5u.com 2023-04-20 07:23:45 more
  • 一天吃透JVM面試八股文

    什么是JVM? JVM,全稱Java Virtual Machine(Java虛擬機),是通過在實際的計算機上仿真模擬各種計算機功能來實作的。由一套位元組碼指令集、一組暫存器、一個堆疊、一個垃圾回收堆和一個存盤方法域等組成。JVM屏蔽了與作業系統平臺相關的資訊,使得Java程式只需要生成在Java虛擬機 ......

    uj5u.com 2023-04-20 07:23:31 more
  • 使用Java接入小程式訂閱訊息!

    更新完微信服務號的模板訊息之后,我又趕緊把微信小程式的訂閱訊息給實作了!之前我一直以為微信小程式也是要企業才能申請,沒想到小程式個人就能申請。 訊息推送平臺🔥推送下發【郵件】【短信】【微信服務號】【微信小程式】【企業微信】【釘釘】等訊息型別。 https://gitee.com/zhongfuch ......

    uj5u.com 2023-04-20 07:22:59 more
  • java -- 緩沖流、轉換流、序列化流

    緩沖流 緩沖流, 也叫高效流, 按照資料型別分類: 位元組緩沖流:BufferedInputStream,BufferedOutputStream 字符緩沖流:BufferedReader,BufferedWriter 緩沖流的基本原理,是在創建流物件時,會創建一個內置的默認大小的緩沖區陣列,通過緩沖 ......

    uj5u.com 2023-04-20 07:22:49 more
  • Java-SpringBoot-Range請求頭設定實作視頻分段傳輸

    老實說,人太懶了,現在基本都不喜歡寫筆記了,但是網上有關Range請求頭的文章都太水了 下面是抄的一段StackOverflow的代碼...自己大修改過的,寫的注釋挺全的,應該直接看得懂,就不解釋了 寫的不好...只是希望能給視頻網站開發的新手一點點幫助吧. 業務場景:視頻分段傳輸、視頻多段傳輸(理 ......

    uj5u.com 2023-04-20 07:22:42 more
  • Windows 10開發教程_編程入門自學教程_菜鳥教程-免費教程分享

    教程簡介 Windows 10開發入門教程 - 從簡單的步驟了解Windows 10開發,從基本到高級概念,包括簡介,UWP,第一個應用程式,商店,XAML控制元件,資料系結,XAML性能,自適應設計,自適應UI,自適應代碼,檔案管理,SQLite資料庫,應用程式到應用程式通信,應用程式本地化,應用程式 ......

    uj5u.com 2023-04-20 07:22:35 more