mvtec数据集介绍
时间: 2023-10-30 20:07:57 浏览: 302
mvtec数据集是一个无监督缺陷检测数据集,它包含了3466张无标注图和1888张有标注图(像素级分割标注)。这些图像的尺寸为700×700或1024×1024。在训练集中,共有3629张无缺陷图像;而测试集中有1725张有缺陷的图像和无缺陷的图像。数据集中的图像可以分为5种纹理和10种物体,共涵盖了73种不同的缺陷类型,如划痕、凹陷、脏污、形变、缺料等,这些缺陷都是人工制作的。在数据集中总共标注了1900个缺陷区域。其中,铁丝网、螺丝钉和弹簧这3个类别的图像是单通道的,其他12个类别的图像是3通道的。
mvtec数据集提供了15个不同的类别,可以用于缺陷检测任务。除了图像级别的AUROC指标外,还提供了像素级别的AUROC指标,以及缺陷区域级别的指标。
图例中展示了5个纹理类别(地毯、铁丝网、皮革、瓷砖、木头)和10个物体类别(瓶子、电缆、胶囊、栗子、金属螺母、药片、螺丝、牙刷、晶体管、弹簧)。这些纹理和物体的外观特征有所不同,其中一些具有规律的纹理或刚性不变外观,而其他一些则是无规律的或可变的。
相关问题
Mvtec数据集结构
Mvtec数据集是一个流行的计算机视觉数据集,用于检测和分割不同类型的物体缺陷。它由MVTec Software GmbH创建并维护。该数据集包含了大量的高分辨率图像,涵盖了22个真实世界的物体类别,如汽车零件、家具、电子设备等。
每个物体类别在Mvtec数据集中都有一个单独的文件夹,其中包含了训练和测试图像。每个类别的文件夹中通常包含三个子文件夹,分别是“train”、“test”和“ground_truth”。
在“train”文件夹中,包含了用于训练的正常(无缺陷)图像。这些图像用于训练缺陷检测算法。在“test”文件夹中,包含了正常和异常(有缺陷)的测试图像。这些图像用于评估算法在检测缺陷方面的性能。
在“ground_truth”文件夹中,包含了与测试图像相对应的缺陷掩码。这些掩码用于评估算法在分割缺陷方面的性能。每个掩码都是二进制图像,其中缺陷区域被标记为前景(白色),而正常区域被标记为背景(黑色)。
Mvtec数据集的结构清晰,并且提供了丰富的资源用于开发和评估缺陷检测和分割算法。
python给mvtec数据集图片椒盐噪声或者高斯噪声或者随机噪声
可以使用Python中的OpenCV库对图片进行添加噪声的操作。下面是添加椒盐噪声、高斯噪声和随机噪声的示例代码:
添加椒盐噪声:
```python
import cv2
import numpy as np
# 读取图像
img = cv2.imread('img.png')
# 添加椒盐噪声
noise_img = np.copy(img)
h, w, c = noise_img.shape
for i in range(h):
for j in range(w):
if np.random.random() < 0.05:
noise_img[i][j] = [255, 255, 255] if np.random.random() > 0.5 else [0, 0, 0]
# 显示图像
cv2.imshow('noise_img', noise_img)
cv2.waitKey(0)
```
添加高斯噪声:
```python
import cv2
import numpy as np
# 读取图像
img = cv2.imread('img.png')
# 添加高斯噪声
mean = 0
var = 0.1
sigma = var ** 0.5
noise_img = np.copy(img)
h, w, c = noise_img.shape
for i in range(h):
for j in range(w):
for k in range(c):
noise = np.random.normal(mean, sigma)
noise_img[i][j][k] = np.clip(noise_img[i][j][k] + noise * 255, 0, 255)
# 显示图像
cv2.imshow('noise_img', noise_img)
cv2.waitKey(0)
```
添加随机噪声:
```python
import cv2
import numpy as np
# 读取图像
img = cv2.imread('img.png')
# 添加随机噪声
noise_img = np.copy(img)
h, w, c = noise_img.shape
noise = np.random.randint(-50, 50, (h, w, c))
noise_img = np.clip(noise_img + noise, 0, 255)
# 显示图像
cv2.imshow('noise_img', noise_img)
cv2.waitKey(0)
```
注意:以上代码中的`img.png`是要添加噪声的图片,需要根据实际情况进行修改。
阅读全文