基于AI技术可增量学习的木板表面缺陷检测系统

(整期优先)网络出版时间:2023-09-23
/ 3

基于AI技术可增量学习的木板表面缺陷检测系统

刘杰

中国人民大学,广东 深圳 518000

【摘要】

近年来,随着AI和工业自动化的不断发展,表面缺陷检测在制造业中扮演着至关重要的角色。传统的表面缺陷检测方法,由于受到环境因素的影响,容易受到光照、背景干扰等问题,而导致缺陷检测的准确性受到限制。随着AI技术的发展,基于深度学习的表面缺陷检测逐渐成为主流方法,并且在一些实际应用中已经取得了良好的效果。本文介绍了一种基于人工智能技术的增量学习方法,用于实现木板表面缺陷的检测。通过对传统的深度学习模型进行改进,提出了一种增量学习方法,可以在不断增加新数据的情况下,有效地自动化更新模型,持续提高了模型的准确性和鲁棒性。实验结果表明,所提出的增量学习方法可以显著提高模型的准确率,并且具有较强的鲁棒性和可扩展性,可大大降低人工智能在工业缺陷检测的应用门槛。该方法可以应用于更广泛的领域。

关键词:深度学习;缺陷检测;人工智能;增量学习;自动化

一. 引言

木板表面缺陷检测一直是木材行业的重要问题。传统的人工检测方法费时费力,且可能存在主观误差。因此,基于AI的木板表面缺陷检测系统的研发显得尤为重要。

在发展过程中,最初采用的是传统的图像处理和机器视觉技术。但是这种技术往往需要依赖专业的图像处理设备和人工的标注,且准确度不高,鲁棒性差。随着深度学习技术的发展,越来越多的研究开始采用基于深度学习的AI缺陷识别算法。这种算法通过对各类缺陷数据进行训练,可以实现更加准确的缺陷检测和分类,具有很高的实用性和应用价值。

然而,木板表面缺陷检测系统在实际应用中还存在一些问题。由于木材的自然变化和生产过程中的设备干扰。木板表面缺陷可能会不断产生新种类或出现变化,导致当前已部署的模型无法准确识别。本文提出设计一种基于人工智能技术可增量学习的木板表面缺陷检测系统,通过自动采集新样本、自动预标注、自动训练与部署,让具有一般电脑操作水平的人员即可完成新的缺陷检测识别模型的训练及部署更新。

二.系统组成架构

系统总体包含如下几个部件:硬件部分有,上料传动系统、成像系统、分拣系统;软件部分有,AI缺陷检测系统、标注系统、训练系统、增量学习控制器、数据可视化等模块。

图2.1 总体系统组成架构

系统架构组成如图2.1所示。

上料传动系统:主要是进行待检测木板的自动上料、摆放以及传送等。传送装置具有高精度步进电机可调速作用;

成像系统:包括线阵扫描工业相机、镜头、条状光源以及相应的设备支架等。主要进行木板表面的图像采集工作;

AI缺陷检测系统:主要由图像预处理模块、AI检测识别模型构成。同时将识别过程中一些置信度低于预设阈值的样本作为难例,将其保至数据库相应位置,以便后续进行模型的增量学习,持续提高模型精度;

自动分拣系统:主要包括分拣装置和分拣控制器等。用于将AI识别后的木板进行分类。不同的缺陷等级样品,会被分拣到不同的临时堆放区域;

数据库:主要用于存放缺陷检测过程产生的数据以及增量训练和其他业务需要的数据。数据库提供数据存储和查询接口,其他模块可通过数据总线接口统一查询以及获取数据;

数据可视化:包含自动统计分析、检测报告等功能。主要是将检测过程中的产生的缺陷数据进行汇总统计,提供直观的各种维度数据,为生产优化提升提供依据;

增量学习控制器:主要用于模型的增量学习,可以根据难例样本的情况,可采用自动或人工方式触发标注任务产生以及进行新模型训练和更新部署;

AI训练系统:主要进行模型的训练操作,一般使用性能较好的GPU机器进行训练。该系统已预配置好训练操作面板,通过简单设置即可界面简单交互式执行训练任务以及后续的模型更新部署;

标注系统:包括AI预标注和人工标注两种方式。一般是两种同时使用。数据可以先进行AI预标注,一般是由精度较高的大模型进行预标,后续可再由人工标注纠正。

三.系统实现

3.1 硬件组成

硬件组成主要由上料传动系统、成像系统和自动分拣系统构成。各系统又由以下不同的硬件部件组成:工业相机、光源、传送带、电机、图像处理器、智能工控机等。

本系统选用具有高性能、高精度、实时性等特点的智能边缘工控机,搭配较高算力性能的GPU,能在复杂环境工况下稳定运行。可轻松部署常用的深度学习模型。

3.2 AI缺陷检测系统

AI缺陷检测系统包括图像预处理模块和模型缺陷检测识别模块以及对难例的判断和存储。该系统是整个缺陷检测系统的核心。要求对采集的图像进行适当的处理,并能识别各种木板表面缺陷,以及在性能上能满足生产的需要。

3.2.1图像预处理

图像预处理过程主要是为了优化图像数据,提高图像质量,从而更好地适应深度学习算法的要求。本系统图像预处理包括以下几个步骤:图像去噪、图像增强、图像尺寸调整、图像裁剪、数据增强等。

3.2.2 AI检测识别模型

通过上述预处理的图片,可输入到AI模型进行木板表面缺陷的检测和识别。

1模型简介

通过对木板缺陷的特征分析与系统性能需要,系统选择使用深度学习YOLO-V5模型进行缺陷的检测识别。YOLO算法的核心思想是将目标检测任务转化为一个回归问题。通过将图像分成网格,每个网格预测出一个或多个边界框,同时预测每个边界框中可能存在的目标类别及其概率,最终根据置信度和类别概率进行筛选,得到最终的目标检测结果。

2)模型架构

YOLOv5模型架构大致由:Backbone网络、Neck网络、Head网络构成。该模型的大致结构如图3.1所示:

图3.1 YOLOv5模型基础架构

3.3 增量学习机制

增量学习是指利用机器学习技术对现有模型进行优化和更新,以逐步改进模型性能的过程。在增量学习中,模型会在不断接收新数据的情况下进行迭代训练,从而不断提升其预测能力和效果。在本系统下,随着生产上料的时间积累,各类型的缺陷新样本可能会层出不穷抑或变化,在当前的模型下可能会出现识别错误情况。此时将错误的样本进行积累保存,并通过AI预标注及人工复标注纠正后,通过系统操作面板进行模型训练及模型部署,最终实现模型的增量学习与更新。增量学习机制包括以下过程:难例发现、数据标注、模型训练、模型部署。

3.3.1 难例发现

在深度学习中,难例通常指那些难以被深度神经网络正确分类的数据样本。这些样本通常具有以下特点:

1. 不符合主要数据分布

2. 类别模糊

3. 数据噪声

4. 数据稀疏

在深度学习中,识别难例对于改进模型的性能和鲁棒性非常重要。通过对难例进行分析和识别,我们可以更好地了解模型的弱点和限制,并针对性地改进模型。木板表面主要有以下缺陷:活结、死结、裂纹结、裂纹、树脂囊、腐朽、虫孔、斑点污损、损伤、树瘤等。其中部分缺陷是比较常见的,样本也占比相对较多,比如活结、死结、裂纹等,而像腐朽、损伤、树瘤因在取材时可能存在筛选操作,样本会较少。这种情况是比较符合特点1和特点4情形。在基础数据标签中可能存在缺陷类型相似但非常容易标注错误的情况,这可能导致特点2出现的类比模糊情形。特点3一般是在硬件系统中,光源和图像采集时成像因素出现较大差异导致。

在生产环境下,挖掘出AI检测过程中出现的难例并存入数据库中,后续由增量学习控制器触发,将这些难例导入到标注系统中进行标注。

3.3.2 数据标注

深度学习标注主要功能是通过人工标注数据来训练深度学习模型,从而提高模型的准确度。深度学习标注系统通常包括以下模块:数据管理和上传模块、标注工具模块、标注质量控制模块、标注结果输出模块、管理模块。

其中,通过AI预标注机制,可以大大地减轻人力负担。该系统在人工标注前可接入到高性能服务器大模型进行预标注,得出第一轮标注结果。通常情况下,这能减少70%以上的人力损耗。

经过AI预标注和人工标注纠偏,标注结果存入到数据库对应的已标注存储区域。在达到设定的样本数后可通过增量学习控制器触发下一步的模型训练操作。

3.3.3 模型训练

通过上述的木板图片数据完成标注后,即可进行模型训练。模型训练的整个过程可以分为数据准备、模型定义、模型训练和模型评估等步骤。

数据准备:准备训练数据是模型训练的第一步。数据应该包含足够的样本和标注信息。可按8:1:1比例将2万多张木板缺陷图片分成训练集、验证集和测试集。

模型定义:选择合适的深度学习模型之后,需要进行模型定义。包括定义模型的架构、层数、参数和超参数等。该系统使用上述提到的YOLOv5模型。

模型训练:模型训练是指通过大量的数据和反向传播算法来调整模型参数的过程,使得模型可以对新数据进行良好的预测。本系统选用PyTorch框架。训练命令执行前设置训练所需的参数,如学习率、批大小、训练轮数、权重衰减等。这些参数的选择需要根据具体模型和数据集来进行调整。训练过程中需要不断监控模型在训练集和验证集上的表现,如损失函数的下降情况、准确率的提升情况等。如果发现模型出现过拟合或者欠拟合等问题,需要对训练参数进行调整。最后保存模型:当训练达到预设的轮数或者指标时,需要将训练好的模型保存下来,以便后续的预测和部署。

模型评估:模型训练完成后,需要对其进行评估,以判断其性能是否符合要求。可以使用验证集和测试集进行模型评估。评估指标包括准确率、召回率、精确率、F1分数等。

模型优化:根据模型评估结果,可以对模型进行优化。可以通过调整超参数、改变模型架构、增加或减少数据量等方式进行优化。

3.3.4 模型部署

模型经过训练和优化评估达到预期目标后,模型可以用于实际应用中。此时可将模型部署到生产检测的智能设备中,用于木板的表面缺陷检测。训练好的模型存放到规定好的数据存储指定区域。

通过增量学习控制器,可触发部署模型动作,将已训练好的模型更新部署到AI缺陷检测系统中的智能工控设备,并自动完成新模型的检测程序重新启动。

3.4 数据可视化

在木板缺陷检测系统中,数据可视化将系统所产生的数据通过可视化方式展示,以便用户更直观地了解数据的分布、趋势和特征,帮助用户更好地理解和分析数据。

四. 系统分析

4.1 训练数据分析

用于训练模型的木板表面缺陷图片一共20278张,按8:1:1比例将其分成训练集、验证集和测试集。图4.1为标注数据木板表面缺陷的分布描述情况。标注缺陷的位置框,一般可以使用(x, y,width, height)元组形式表达,x,y值区间在0到1,是指该点所处位置使用占该图片总宽(高)的比例来进行说明。通过观察左侧子图(x,y)位置分布,可以看到缺陷部位起始点在总体样本中的一个分布情况,颜色越深表明落在该区域的位置点越多;右侧子图则是10种木板表面缺陷的样本数分布情况,前面两种缺陷(LiveKnot活结、DeadKnot死结)占较高,其中活结出现在大部分的木板图片上。

图4.1 标注数据-木板缺陷数据分布

4.2 训练指标分析

在该系统深度学习训练中,使用了YOLOv5算法模型,在某次训练中,一共训练了40次epoch迭代。其 train 训练阶段会计算三种不同的损失函数(loss function):box loss、obj loss 和 cls loss。

通过对图4.2模型训练性能指标的分析,发现训练train阶段的loss较快就得到了收敛,且随着迭代次数的增加而loss变更更小。而验证阶段val在20个epoch迭代下loss迅速变小,但往后却随着epoch增大而loss增大。导致原因应是模型过拟合了,模型在训练集上表现良好,但在新数据上表现不佳。在验证集上的loss减小是模型开始学习到一些有用的特征,但随着训练的进行,模型开始过多地记忆训练集中的噪声和细节,导致在验证集上的loss增加。

为了解决这个问题,使用一些常见的防止过拟合的方法,如早期停止训练、数据增强、正则化等。此外,还可以调整超参数或调整模型架构以改进性能。

在图4.2右侧的四个指标(metrics)图(precision、recall、mAP_0.5、mAP_0.5:0.95)可以看出,随着训练epoch的迭代次数增大,前期值能快速提升,精度和召回率后面有震荡向上的趋势,而在后期检测目标平均精度mAP数值有所下降。导致原因应是由于木板缺陷的种类数据分布不均衡导致。这也是该系统使用增量学习机制的重要原因。随着后续总样本的增加,当前缺陷种类较少的样本会逐渐积累,到达一定数量后,可补充缺乏均衡的数据,对模型微调训练,模型得到持续的优化,使得识别率逐渐上升。

图4.2 模型训练性能指标汇总

精度-置信度曲线(Precision-Confidence curve)是深度学习模型在不同置信度阈值下的精确率表现。在该曲线中,横坐标是置信度阈值,纵坐标是精确率。该曲线的形状和表现能够帮助评估模型的性能,特别是在目标检测任务中,可以帮助选择合适的置信度阈值来平衡精确率和召回率。通常情况下,随着置信度阈值的增加,精确率会增加,而召回率则会降低。因此,需要根据任务需求,选择最优的置信度阈值来达到平衡精确率和召回率的目标。在木板缺陷检测训练中,可以看到图4.3对应于该训练的精度-置信度的曲线情况。随着置信度的增加,精度在增加。而部分缺陷样本较少的分类会出现锯齿波动,这也是由于该类样本数较少和在总体分类占比不均衡引起。

图4.3 精度-置信度曲线

在图4.4对应于该训练的召回-置信度的曲线情况,可以看到随着置信度的增加,召回率在下降。多数缺陷分类的阈值取值较优的部位出现在0.4至0.7之间。

图4.4 召回-置信度曲线

通过对测试数据集样本进行测试,测试效果整体良好。图4.5展示了部分测试图片的效果。可以看到分类是准确的,检测框也基本准确打在该类缺陷位置。能符合当前系统对于缺陷的检测和识别需求。

图4.5 模型测试样本示例

五.结论和展望

经过本文的研究,提出了一种AI可增量学习的木板表面缺陷检测系统与方法。该系统采用了YOLOv5目标检测算法和增量学习方法,在数据集变化或新数据加入时,可以快速更新模型,提高检测准确率和效率,同时也降低了人工智能的应用门槛,拥有普通电脑操作水平的人员即可进行完整环节的操作。

该系统实验结果表明,系统在木板表面缺陷检测任务上表现出了较高的准确率和效率。同时,增量学习方法可以很好地处理数据集变化和新数据加入的问题,能大范围自动化形成从数据产生到数据标注到模型训练再到模型部署整个模型的优化升级闭环。

在未来的研究中,可以考虑进一步优化系统的性能,如提高检测速度、准确率和对复杂缺陷的检测能力。此外,还可以将该系统应用于其他制造业中的表面缺陷检测任务,以提高制造业生产效率和质量。

参考文献

[1]邱锡鹏,邓志辉,何恺明等. 深度学习[M]. 北京: 清华大学出版社, 2017.

[2]张伟民,周志华,吴建鑫等. 物体表面缺陷检测中的深度学习技术综述[J]. 计算机科学, 2019, 46(10): 1-7.

[3]柯子靖,杨敏强,李世杰等. 基于深度学习的物体表面缺陷检测综述[J]. 计算机科学与探索, 2019, 13(12): 1831-1846.

[4]陈泽南,朱向群,张子诚等. 基于深度学习的钢板表面缺陷检测研究[J]. 计算机应用, 2019, 39(9): 2548-2553.

[5]汪志强,刘春风,王涛等. 基于深度学习的钢板表面缺陷检测综述[J]. 中国测试, 2020, 46(1): 73-82.