开始制造业深度学习项目 - 第三部分:优化

箭头背景上有网络连接的蓝色大脑 - 大

一旦公司为其深度学习项目确定了目标并获得了数据和真值,下一步就涉及到视觉系统和图像数据库的优化。

在这个阶段,人工检查员和视觉系统将生产零件划分为合格或不合格。然后由内部专家审查任何不确定的零件并正确标记。纠正后的模糊零件加上合格及不合格的零件样本进入数据库,以改进深度学习模型。开发人员必须确保将复杂的图像(如那些显示零件有异常缺陷或照明反射的图像)添加到训练集。

扩充数据

基于深度学习的软件通常提供训练集和优化工具,但团队必须采取额外的步骤,如交叉验证。一旦获得了足够的数据,团队应该使用数据集的不同部分进行训练,并针对数据集的其余部分进行验证。无论选择数据集的哪个部分,团队都应该确保结果是一致的,因为如果一个部分的表现与其他部分不同,可能存在标签问题,或者某些缺陷类型的代表性不足。

另一个步骤是将生产过程中的每个关键变量隔离出来,进行综合优化。因此,如果存在多条生产线,团队应该从每条生产线上提取图像,并将这些图像用于训练,同时还要确保来自每条生产线的数据和结果是充足的。此外,如果公司有不同的检测方法,团队应该通过文件命名惯例或文件文件夹结构来优化不同的产品版本和缺陷类型。

还必须争取用尽可能多的缺陷元件图像输入到训练数据中去。例如,如果有 500 张合格零件的图像和 282 张不合格零件的图像,使用不合格零件的图像来训练系统要寻找什么,这样它在生产过程中会更有效地工作。

处理不同的缺陷类型

在深度学习中,有多种方法来考查图像中的缺陷。系统可能会根据整个图像产生一个测量结果,以确定一个零件是否合格,也可能采用基于缺陷的方法来识别零件的具体缺陷。后者在为过程控制添加一个额外分类步骤时很有用,但也可能需要二次处理来合并或分离缺陷。 

另外,深度学习系统可能会分离出图像中每个缺陷上的特定像素,并提供缺陷区域的测量结果。这种方法通常也需要二次图像处理,对缺陷区域进行处理以产生一个周边或边界框,还将测量缺陷并将其划分为合格或不合格。各种应用需要不同的方法,所以开发人员应该了解缺陷指标以及如何对其进行优化。

了解不同类型的缺陷并设定质量规范,还可以让团队进行端到端的优化,以进一步改善模型。如果团队规定一个超过 10 平方毫米的缺陷或任何两个超过 5 平方毫米的缺陷就代表一个不合格零件,深度学习系统不一定能提供准确的像素测量。在这些情况下,Blob 分析工具可以帮助获得更准确的缺陷测量,让团队可以使用这些图像来完善模型。然而,如果团队计划使用模糊点工具进行额外的优化和分析,为了安全起见,团队中的开发人员应该倾向于让深度学习系统即使对边界案例也报告为缺陷。

深度学习缺陷探测与 Blob 分析工具的比较

深度学习分割工具(左)和 Blob 分析工具(右)结合使用以完善缺陷探测区域

牢记关键指标

在这个阶段必须牢记关键的深度学习指标。不是团队中的每个人都需要了解深度学习的所有方面,但开发人员需要了解所有的关键指标以及如何进行优化。示例包括过检和漏检之间的区别与精确度和召回率、F1 得分和曲线下面积 (AUC) 统计。

此外,团队应该研究成本函数,平衡废品成本(过检)和漏检成本(漏检),以确定解决方案的价值。在最初建立一个深度学习项目时,开发人员不应过分关注成本函数,但随着时间的推移,会希望推动项目向高 F1 得分发展。

在第四部分,我们将介绍工厂验收测试。 

更多帖子

获取产品支持和培训以及更多

加入 MyCognex