【表面缺陷检测】表面缺陷检测数据集汇总

本文汇总了16个用于表面缺陷检测的机器视觉数据集,涵盖钢铁、铝型材、磁瓦、PCB等多个领域,包括图像分类、目标检测和图像分割任务。这些数据集对于提升工业自动化生产中表面质量检测的效率和准确性至关重要。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.导读

  在工业界,大批量的工业自动化生产过程中,用人工进行表面质量检测存在诸多弊端,例如漏检率较高、实时性较差、劳动强度大、效率低、受人工经验和主观因素的影响大。
  随着计算机技术,人工智能和数据科学的发展,以及工业界、学术界研究的深入,出现了基于机器视觉技术的表面缺陷检测技术。这种技术应用于生产环境,可以为企业降本增效,也是企业数字化转型的必由之路。基于机器视觉技术应用于企业产品表面缺陷检测,可以提高企业生产作业的效率,避免工人作业在复杂的工作环境、主观因素导致的不准确性、疲劳导致的漏检等。
  基于机器视觉技术的表面缺陷检测的应用范围很广泛,目前已在钢材、纺织、食品、包装、建材、电子、塑胶、印刷、化工等行业得到了广泛的应用。产品表面缺陷检测属于机器视觉技术的一种,就是利用计算机视觉模拟人类视觉的功能,从图像采集、图像处理、计算、输出结果、反馈结果。及时发现含有缺陷的产品,从而有效控制产品质量,还可以根据检测结果分析生产工艺中存在的某些问题,从而杜绝或减少缺陷产品的产生,提高产品良品率。

二.数据集

  本文收集整理了16个表面缺陷检测相关的数据集,并对每个数据集的特点进行了简单的介绍。

1.东北大学带钢表面缺陷数据集

数据集收集了夹杂、划痕、压入氧化皮、裂纹、麻点和斑块6种缺陷,每种缺陷300张,图像尺寸为200×200。数据集包括分类和目标检测两部分,不过目标检测的标注中有少量错误,需要注意。

2.谢韦尔钢铁公司带钢缺陷数据集

谢韦尔钢铁公司(Severstal)原名为切烈波维茨钢铁股份有限公司,位于沃洛格州伏尔加河上游、雷客斯克水库北部,是俄罗斯大型钢铁公司之一。该数据集中提供了4种类型的带钢表面缺陷。训练集共有12568张,测试集5506张。图像尺寸为1600×256。

3.UCI带钢缺陷数据集

UCI数据库是加州大学欧文分校(University of CaliforniaIrvine)提出的用于机器学习的数据库,这个数据库共有550多个数据集,其数目还在不断增加,UCI数据集是一个常用的标准测试数据集。UCI带钢缺陷数据集包含了7种带钢缺陷类型。这个数据集不是图像数据,而是带钢缺陷的28种特征数据,可用于机器学习项目。钢板缺陷的7种类型为:装饰、Z_划痕、K_划痕、污渍、肮脏、颠簸、其他故障。

4.天池铝型材表面缺陷数据集

数据集里有1万份来自实际生产中有瑕疵的铝型材监测影像数据,每个影像包含一个或多种瑕疵。供机器学习的样图会明确标识影像中所包含的瑕疵类型。

5.磁瓦缺陷数据集

中国科学院自动所一个课题组收集的数据集,是“Saliency of magnetic tile surface defects”这篇论文的数据集。收集了6种常见磁瓦缺陷的图像,并做了语义分割的标注。

6.RSDDs铁轨表面缺陷数据集

RSDDs数据集包含两种类型的数据集:第一种是从快车道捕获的"I"型RSDDs数据集,其中包含67个具有挑战性的图像。第二个是从普通/重型运输轨道捕获的"II"型RSDDs数据集,其中包含128个具有挑战性的图像。两个数据集的每幅图像至少包含一个缺陷,并且背景复杂且噪声很大。RSDDs数据集中的这些缺陷已由一些专业的人类观察员在轨道表面检查领域进行了标记。

7.印刷电路板(PCB)瑕疵数据集

这是一个公共的合成PCB数据集,由北京大学发布,其中包含1386张图像以及6种缺陷(缺失孔,老鼠咬坏,开路,短路,毛刺,杂散铜),用于检测、分类和配准任务。

8.DAGM 2007数据集

该数据集主要针对纹理背景上的杂项缺陷,为较弱监督的训练数据。包含10个数据集,前6个为训练数据集,后4个为测试数据集。每个数据集均包含以灰度8位PNG格式保存的1000个“无缺陷”图像和150个“有缺陷”图像,每个数据集由不同的纹理模型和缺陷模型生成。“无缺陷”图像显示的背景纹理没有缺陷,“无缺陷”图像的背景纹理上恰好有一个标记的缺陷。所有数据集已随机分为大小相等的训练和测试子数据集。弱标签以椭圆形表示,大致表示缺陷区域。

9.Kylberg 纹理数据集

在布匹的实际生产过程中,由于各方面因素的影响,会产生污渍、破洞、毛粒等瑕疵,为保证产品质量,需要对布匹进行瑕疵检测。布匹疵点检验是纺织行业生产和质量管理的重要环节,目前人工检测易受主观因素影响,缺乏一致性;并且检测人员在强光下长时间工作对视力影响极大。由于布匹疵点种类繁多、形态变化多样、观察识别难度大,导致布匹疵点智能检测是困扰行业多年的技术瓶颈。本数据涵盖了纺织业中布匹的各类重要瑕疵,每张图片含一个或多种瑕疵。数据包括包括素色布和花色布两类,其中,素色布数据约8000张;花色布数据约12000张。

10.KTH-TIPS 纹理图像数据集

KTH-TIPS 是一个纹理图像数据集,在不同的光照、角度和尺度下拍摄的不同材质表面纹理图片。类型包括砂纸、铝箔、发泡胶、海绵、灯芯绒、亚麻、棉、黑面包、橙皮和饼干共10类。

11.AITEX数据集

该数据集由7个不同织物结构的245张4096 x 256像素图像组成。数据集中有140个无缺陷图像,每种类型的织物20个,除此之外,有105幅纺织行业中常见的不同类型的织物缺陷(12种缺陷)图像。图像的大尺寸允许用户使用不同的窗口尺寸,从而增加了样本数量。数据集还包含所有具有缺陷的图像的分割mask,使得白色像素表示缺陷区域,其余像素为黑色。



12.水泥路面裂纹检测数据集

路面裂纹检测数据集(CrackForest数据集)是一个带注释的道路裂缝图像数据集,可用于分类、分割和检测。

13.太阳能电池板表面缺陷数据集

该数据集包含了2624张300x300的太阳能电池板缺陷图像。

14.金属表面缺陷数据集

该数据集包含399张图片,52张有缺陷的图片和347张无缺陷的图片。图片宽度500,图片高度1240到1270。

15.混凝土表面裂纹缺陷数据集

数据集包含带有和不带有裂纹的各种混凝土表面的图像。图像数据在单独的文件夹中分为负样本(无裂纹)和正样本(有裂纹)两部分,用于图像分类。每个类别有2万张图像,总共4万张图像,每张图像是227x227像素的RGB通道图像。

16.桥梁裂缝缺陷数据集

该数据集包括2000多张图片,主要用于桥梁裂缝检测。

总结

  上面介绍的数据集,部分可以用于图像分类、目标检测、图像分割,根据需要选择相应数据集进行建模研究。当然,还有一系列其他的缺陷检测数据集,由于篇幅限制,不在此文章中进行介绍。

数据集获取

关注微信公众号:AIexplore。

参考资料

[1]https://www.vicos.si/resources/kolektorsdd/
[2]https://zhuanlan.zhihu.com/p/195699093
[3]https://github.com/Eatzhy/Surface-defect-Detection-dataset
[4]https://zhuanlan.zhihu.com/p/371208491
[5]https://www.cvmart.net/dataSets
[6]https://blog.csdn.net/qq_27871973/article/details/84974231

### 使用谢韦尔带钢缺陷数据集进行数据分析或机器学习项目的指南 #### 数据加载与初步探索 为了有效利用谢韦尔带钢缺陷数据集,在启动任何具体的分析之前,理解数据结构至关重要。该数据集不仅包含了丰富的图像资料,还附有详细的元数据文件,这些都为深入的数据挖掘提供了坚实的基础[^1]。 ```python import pandas as pd import os # 假设CSV文件路径如下 csv_file_path = 'data/train.csv' image_dir = 'data/train_images' df = pd.read_csv(csv_file_path) print(f'总记录数: {len(df)}') display(df.head()) ``` 这段代码展示了如何读取`train.csv`中的文本信息并展示前几条记录。这一步骤有助于快速掌握数据的整体情况以及可能存在的模式和异常值[^2]。 #### 图像预处理 由于目标是识别钢铁表面的不同类型的瑕疵,因此对图像本身的质量控制显得尤为重要。通常情况下,会涉及到尺寸调整、灰度转换等一系列标准化操作: ```python from PIL import Image import numpy as np import matplotlib.pyplot as plt def load_image(image_id, image_size=(256, 256)): img_path = os.path.join(image_dir, f'{image_id}.jpg') with Image.open(img_path) as img: resized_img = img.resize(image_size).convert('L') # 转换为灰度图 return np.array(resized_img) sample_image_ids = df['ImageId'].unique()[:9] fig, axes = plt.subplots(3, 3, figsize=(8, 8)) for i, ax in enumerate(axes.flat): sample_image = load_image(sample_image_ids[i]) ax.imshow(sample_image, cmap='gray') plt.show() ``` 此部分通过Python库PIL完成图片的加载与基本变换,并选取若干样本可视化其外观特征,便于后续更复杂的模型训练准备阶段的工作开展。 #### 特征工程与标签解析 考虑到原始标注采用编码形式存储,解码过程必不可少;同时还需要考虑提取更多有用的特性来辅助分类器的学习效率提升: ```python class_map = { "0": "无缺陷", "1": "薄边划痕", "2": "厚边裂纹", "3": "孔洞" } def decode_label(label_str): labels = label_str.split() decoded_labels = [] for l in labels: cls, _, x_min, y_min, width, height = map(int, l.strip().split(',')) box_info = {'cls': class_map[str(cls)], 'bbox': (x_min, y_min, x_min + width, y_min + height)} decoded_labels.append(box_info) return decoded_labels example_row = df.iloc[0]['ClassId'] decoded_example = decode_label(example_row) print(decoded_example) ``` 上述脚本实现了从字符串到具体类别名称及其边界框坐标的映射关系建立,使得每张照片所对应的多个潜在问题区域得以清晰呈现出来。 #### 构建预测模型 最后进入核心环节——构建适合解决当前任务需求的算法框架。鉴于这是一个典型的多类物体检测场景,可以选用YOLOv5这样的先进架构来进行尝试: ```bash !git clone https://github.com/ultralytics/yolov5.git %cd yolov5/ !pip install -r requirements.txt ``` 安装好依赖项之后,可以根据官方文档指导进一步配置环境参数、定义自定义数据管道等细节设置,直至最终实现端到端的目标定位与分类能力。
评论 23
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

机器不学习我学习

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值