基于深度学习与机器视觉的产品缺陷检测系统
MVCAgent融合了目前国际上各种先进的图像处理、机器视觉、深度学习算法以工具箱的方式,采用了一种开发的、模块化的结构实现产品表面缺陷检测。采用Python编程语言,满足不同平台需求(包括Windows、Linux),以B/S模式,通过前端与后端集成开发,采用开放的、模块化、多层架构的设计思想,能应用在不同场合的产品表面的各类缺陷检测与监控,以开放式的结构使得开发的算法工具箱模型可以随时增加进去,能够可按照用户的需求或应用背景对各个模块进行组合和封装。
系统功能:
基于机器视觉与深度学习的缺陷检测系统可实现对缺陷对象数据集的划分,并对不同对象数据集进行训练、测试以及实际应用检测、检测历史信息查询等功能。具体系统业务流程与功能界面如下:
1.系统首页
左侧为菜单栏,包括数据集管理(数据上传、训练数据集查看、检测数据集查看)、模型管理(训练好的模型,可用于测试、实际检测)、晶圆缺陷检测(模型训练、模型测试、模型应用)、钢铁缺陷检测(模型训练、模型测试、模型应用)、PCB(集成电路板)缺陷检测(模型训练、模型测试、模型应用)、检测历史记录查看(可输出检测历史记录的Excel)
2.数据集管理界面
(2)此界面为训练数据集查看部分,将数据集上传后针对不同对象进行在下拉框的选择,同时,该界面可以对数据集进行划分,首先是完成训练过程所需数据集占整体上传数据集的比例(建议0.9),接着是训练集验证集与测试集的比例(建议0.9),点击划分,划分状态下由未划分转为已划分,点击删除,改数据集即被删除;
4.晶圆缺陷检测
(1)该界面的主要功能是对上传后的数据集进行训练,界面中的主要内容是算法模型名称、算法训练时的参数、功能、训练过程查看以及损失值实时可视化;训练过程中可以更改几个主要的训练参数,分别是训练轮数(epoch)、批量大小(batch_size)、优化器动量值(momentum)、初始学习率(Init_lr)、权重衰减率(weight_decay)。使用过程:首先选择在数据上传部分已经划分好的数据集,接着在设置好参数后点击训练,待后端运行开始会显示训练过程(包括整体训练进度、训练集损失、验证集损失),并且实时显示损失值的曲线变化情况,以YOLOv3为例,显示整个过程。
(2)此界面为晶圆模型测试部分,前期训练好的模型可以在下拉框中进行选择,点击“点击测试按钮”,即可出现三个模型测试的指标图示,分别为各个缺陷类别的准确率,测试数量以及平均丢失率。如果训练得到的模型较好且经过测试,即可以用该模型进行检测。
(3)此界面为模型应用检测部分,左边为原图,右边为打上锚框的检测结果图首先选择之前测试过的效果较好的模型,接着点击图像“上传”按钮,完成后点击“检测”按钮,右边即出现检测结果,结果产生时,下拉框中选择缺陷类型进行保存,可在后续检测历史查询中进行查找。
5.PCB缺陷检测页面
(2)此界面为PCB模型测试部分,前期训练好的模型可以在下拉框中进行选择,点击“点击测试按钮”,即可出现三个模型测试的指标图示,分别为各个缺陷类别的准确率,测试数量以及平均丢失率。如果训练得到的模型较好且经过测试,即可以用该模型进行检测。
(3)此界面为模型应用检测部分,左边为原图,右边为打上锚框的检测结果图首先选择之前测试过的效果较好的模型,接着点击图像“上传”按钮,完成后点击“检测”按钮,右边即出现检测结果,结果产生时,下拉框中选择缺陷类型进行保存,可在后续检测历史查询中进行查找。
6.钢铁缺陷检测页面
(1)该界面的主要功能是对上传后的数据集进行训练,界面中的主要内容是算法模型名称、算法训练时的参数、功能、训练过程查看以及损失值实时可视化;训练过程中可以更改几个主要的训练参数,分别是训练轮数(epoch)、批量大小(batch_size)、优化器动量值(momentum)、初始学习率(Init_lr)、权重衰减率(weight_decay)。使用过程:首先选择在数据上传部分已经划分好的数据集,接着在设置好参数后点击训练,待后端运行开始会显示训练过程(包括整体训练进度、训练集损失、验证集损失),并且实时显示损失值的曲线变化情况,以YOLOv3为例,显示整个过程。