缺陷检测与深度学习

文章介绍了使用3D编辑器Blender生成钢件表面缺陷的训练样本,训练了Unet和Xception神经网络模型进行图像分割和分类。通过改变3D场景模拟真实工业条件,利用着色器生成不同类型的缺陷,并通过精确率、召回率和Dice系数评估模型性能。整个过程采用Keras和Python实现,解决了真实数据标注的难题。
摘要由CSDN通过智能技术生成

基本步骤

1.收集数据,形成训练样本。以统一的形式对钢件表面缺陷数据进行收集、整理和标记。
2.构建缺陷分类器模型。基于得到的关于轧制钢表面缺陷类型及其变化情况的思想,建立分类器模型并进行训练。
3.评估分类器工作的质量。所选择的分类器模型在一个特殊选择的样本上进行测试,并且该样本不属于训练样本。此外,可以在测试样本图像中引入畸变,以测试算法的整体鲁棒性。
论文中:
1.使用免费软件3D编辑器Blender生成训练样本。
2.在合成数据上训练了两个神经网络:用于分割图像缺陷的Unet和Xception分类器。训练后的神经网络在真实数据集Severstal: Steel Defect上进行了测试。
3.使用精确率、召回率和Dice系数等指标来评估模型的质量。
4.对神经网络模型进行训练和评估,用到了Keras框架和Python语言。为了评估模型质量指标,将验证样本馈送到神经网络的输入,它在此前的训练中还未被处理过。

1.生成人工缺陷数据集的步骤

1.设置目标对象的3D场景
2.生成表面纹理
3.图像绘制
4.掩膜渲染

2.3D场景应用

1.在3D场景中,板坯表面的拍摄条件模拟了真实的工业条件,相机垂直安装在板坯表面上方。场景中的光源放置在摄像机上方,从而模拟计算机视觉中摄像机提供的照明。
2.人工数据集的图像生成是通过在场景中依次移动相对于相机的板坯模型来自动完成的,从而模拟工件沿着滚筒输送机的运动。
3.着色器参数也随着每次迭代而改变,以创建更多种类的缺陷形状和位置。这样就产生了表面缺陷随机分布的效果,然后渲染表面图像。
4.创建合成数据集的主要算法是表面缺陷的程序生成。它是一个着色器——一个按顺序变换原始噪声纹理的程序。我们为四种缺陷类型(裂纹、气泡、异物夹杂物和表面不规则)分别编写了一个着色器。然后利用形变和噪声参数来调整缺陷的形状变化。
5.与逼真的图像平行,他们的黑白掩膜也被创造出来。包含板坯表面缺陷的像素以白色突出显示。掩膜是用于分割架构的训练数据标记的一种变体。它们还可用于自动标记分类器,从而解决了标记真实数据时遇到的困难。在这种方法中,分割是在生成图像本身的同时自动完成的。

3.深度学习

1.确保不同缺陷的类别之间的最均匀分布。这将增加缺陷分类的准确性,并减少样本中单个类别的主要实例数量对整体分类结果的影响。
2.U-Net利用少量的数据在各种现实问题中取得了很高的效果,达到了很高的分割精度。
3.我们使用该Xception结构对原始图像区域的缺陷类型进行分类,这些区域具有先前使用U-Net模型识别的缺陷。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值