接上篇(JPEGWELD),介绍线结构光焊缝数据集(LSWD):附编码一维焊缝数据为彩色二维图像的python代码
接上篇(JPEGWELD),线结构光焊缝数据集(LSWD)通过激光传感器和三角测量原理制作而成,非常适合小样本的焊缝分类识别任务,在线结构光焊缝数据集(LSWD)中:
1.同样有四种缺陷类型说明:
MC:毛刺焊缝缺陷
OX:凹陷焊缝缺陷
QC:孔洞焊缝缺陷
WD:无明显缺陷
2.括号类型解释:
(BMP):线结构光采集BMP格式原始焊缝缺陷图像,分辨率1280*520
(512):对应JPG格式原始焊缝缺陷图像,分辨率512*512
(TXT):原始焊缝缺陷图像对应的激光打点数据,每行848个激光点,大小表示焊缝高低
(GADF):由TXT编码得到的GADF格式二维时间序列图像,分辨率512*512
(GASF):由TXT编码得到的GASF格式二维时间序列图像,分辨率512*512
(MTF):由TXT编码得到的MTF格式二维时间序列图像,分辨率512*512
3.数据集目录:
文本为焊缝线结构光图像中心提取线的高精度数据。每个文本848个点代表了焊缝高度位置信息:
(1)原始线结构光焊缝数据集图像MC(BMP/512)如图:
毛刺缺陷线结构光焊缝数据(798张):
凹陷缺陷线结构光焊缝数据(421张):
孔洞缺陷线结构光焊缝数据(108张):
无缺陷线结构光焊缝数据(353张):
(2)通过文本一维高精度焊缝数据编码对应的线结构光焊缝数据集图像GASF/GADF,MTF如下,(编码二维彩色图像具体原理参考我刚发表的SCI论文:https://www.mdpi.com/2076-3417/12/15/7837,许多其他领域的一维数据其实都可以用该原理处理,实现缺陷或者特征的升维,进而提高神经网络对于数据的泛化能力,编码后数据集在不同神经网络上都表现出优异性能,代码会公布在文后):
GADF(毛刺,凹陷,孔洞)
GASF(毛刺,凹陷,孔洞)
MTF(毛刺,凹陷,孔洞)
(4)公布GASF/GADF,MTF的python实现代码,代码实现很简单,读入可以是csv文件,循环编码自动保存生成图像,使用到了python中GASF/GADF,MTF库:
GASF/GADF的实现:
import numpy as np
import matplotlib.pyplot as plt
from pyts.image import GASF, GADF
for i in range(12):
x = np.loadtxt(open("0211.csv","rb"%(i+1)),delimiter=",",skiprows=0).T
# print(type(x),x.shape)
X = x[0:]
X = X.reshape(1, -1)
print(type(X),X.shape)
image_size = 9
gasf = GASF(image_size)
X_gasf = gasf.fit_transform(X)
print(X_gasf.shape)
print(X_gasf[0,4,2],X_gasf[0,2,4])
gadf = GADF(image_size)
X_gadf = gadf.fit_transform(X)
print(X_gadf[0,1,2],X_gadf[0,2,1])
# Show the results for the first time series
plt.figure(figsize=(5,5))
plt.axis('off')
plt.imshow(X_gadf[0], cmap='rainbow', origin='lower')
plt.subplots_adjust ( top=1, bottom=0, right=1, left=0, hspace=0, wspace=0 )
plt.margins ( 0, 0 )
plt.savefig("GADF0%i.png"%(i+1))
#plt.title("GADF", fontsize=20)
#plt.savefig('r4.jpg')
#plt.show()
i = i+1
MTF的实现:
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from pyts.image import MarkovTransitionField
for i in range(1):
# data=pd.read_csv("WD%i-H.csv"%(i+1),header=None)
data = pd.read_csv("124.csv", header=None)
#必须添加header=None,否则默认把第一行数据处理成列名导致缺失
X =data.values.tolist()
# MTF transformation
mtf = MarkovTransitionField(image_size=10)
X_mtf = mtf.fit_transform(X)
# Show the image for the first time series
plt.figure(figsize=(10, 10))
plt.imshow(X_mtf[0], cmap='rainbow', origin='lower')
#plt.title('Markov Transition Field', fontsize=18)
#plt.colorbar(fraction=0.0457, pad=0.04)
plt.tight_layout()
plt.axis('off')
plt.subplots_adjust(top=1, bottom=0, right=1, left=0, hspace=0, wspace=0)
plt.margins(0, 0)
# plt.savefig ("WD1.png"%(i+1))
plt.savefig("WD1.png")
plt.show()
i=i+1
可闲鱼平台科研交流联系,【闲鱼】https://m.tb.cn/h.5EkFEi9?tk=Y2NsWOuclYn MF7997 「我在闲鱼发布了【JPEGWD数据集(博客园),焊接缺陷检测NDT专用数据集,】」
点击链接直接打开。
APP关键字LSWD焊缝数据集、yolov5钢板表面缺陷检测、计算机领域审稿意见指导等搜索,冒出者较多,请认准闲鱼店铺用户名:smile4090。闲鱼链接:https://m.tb.cn/h.T0FAZD0?tk=RukX3rF4pLF