2020年8月7日 机器视觉与计算机视觉技术

深度学习在产品缺陷检测中面临的考验

深度学习最适用于缺陷定义广泛、无法简化为像素计数的缺陷问题。在评估过程中执行正确的测试将消除将来的麻烦。

人工智能(AI)的发展促使数很多公司投资于深度学习软件,对于视觉行业来说是个好兆头,因为需要在技术上实现飞跃。但是,对于采购或投资相关产品的的用户而言,重要的是要了解如何正确地评估深度学习软件可用性 ,以及它们如何工作的。

视觉系统被训练来识别瓶子标签上的“坏”图像和“好”图像

深度学习就是运用统计学来获得最多的“正确答案”。“深度学习和卷积神经网络的核心是简单节点层,这些节点可以用数学方法操作像素,并将这些结果组合起来产生一个值。”一个给定的节点计算一个结果,该结果被输入到网络的下一层节点。对每个上游节点对下游节点的影响进行加权,学习包括重新学习适当的权值以产生算法知道是正确的结果(因为人们提供了训练数据)。

实际上,最终用户正在购买一个非常强大的应用统计引擎。当它“学习”时,它会用数学方法计算出给出正确答案的权重。此功能非常强大,因为通过单击或启动“重新学习”过程,将触发大量计算以交付所需的答案。可以把它想象成一个大型的、可重新配置的弹球机,每个缓冲器和障碍都是一个节点。任何以给定速度、自旋和矢量进入的球都将在机器底部的同一位置结束。插脚的位置很有策略,这样好的图像正好在底部的缓冲器之间,而好的部件和其他所有东西在击中各种节点后都能到达侧面。

另一种思考深度学习的方式是,将其类比为计量和测量应用必须调整镜头和透视失真的方式。用户提供一个已知的网格,每个点之间的距离相等。软件从数学上扭曲图像,直到所有点的距离相等。深度学习将用户提供的答案转化为数学过程,然后计算出哪个节点将提供该答案的权重。显然,深度学习要复杂得多,因为要计算出正确的结果,但概念是一样的。

校准是正确的,因为这些权重消除了图像的失真,使所有的点距离相等。深度学习网络是正确的,因为它把所有好的图像都归为好的,把所有坏的图像都归为坏的。弹球机的大头针会把所有的球送到我们想要的地方。

缺陷的广泛定义

在视觉系统专业人士中有这样一种说法:越简单、越客观越好,在制造业环境中尤其如此。如果你可以用变换来缓和波浪背景,然后计算像素,那么就这样做。这样做也能让你更容易适应长期的变化。如果客户不接受对于一个每像素1毫米的系统来说是10像素宽的缺陷,并且要求更改为8像素(本例中为8毫米),那么操作人员可以简单地进行更改并重新运行一些测试部件。

在深度学习的情况下,用户可以改变决策阈值,也可以重新标记训练数据,重新训练,然后评估结果。但是,在必须拒绝x像素以上的值而接受x像素以下的值的情况下,深度学习可能会出现问题,因为它学习的定义往往比较模糊。它根据示例对用户关心的内容进行统计预测。网络最终将产生一个通过计算节点网络发送像素的信心分数,但是这个信心分数并不映射到真实世界的特征。网络被训练成最小化误差,所以置信度就是把所有的数学运算应用到新图像上的结果。

深度学习最适用于有广泛缺陷定义的问题,这些缺陷不能简化为计算像素,而且精确地确定接受阈值并不重要。如果最终用户有这种类型的模糊问题,也就是许多计算机视觉问题的结果,那么继续深入学习。

深度学习检测了三种类型的玻璃缺陷

对深度学习进行测试

各种包的性能可能有很大差异。潜在的买家应该关注眼前的问题;毕竟,他们是在为一个问题购买解决方案。任何“最佳”的声明都要经过对真实世界图像的测试,以确定所需的检查类型。在测试期间对性能进行量化,以确保系统的性能达到未来几年的预期。

深度学习就是运用统计学来获得最多的“正确答案”。确保软件没有简单地记住测试部分是很重要的。当产品是串行化的,并且数据集有限的时候,这个问题尤其严重。深度学习可以记住序列号,这是判断零件是否坏的最好方法。如果系统对保留的数据产生不正确的结果,供应商或解决方案提供者可能会进行再培训。然后他们将重新运行该部分,现在将正确分类,从而“证明”深度学习是有效的。这是真的,但有一个非常重要的警告:刚刚被证明的是,该算法可以重新衡量统计数据,以得到正确的答案。这个算法还没有证明它能在未来看不见的部分发挥作用,而这正是你真正要付出的代价。

对于那些有有限时间来评估系统的人来说,一个快速的方法是运行一个好的部分,诱发缺陷,然后重新运行它。根据应用程序的质量关键程度,用户可能只需要运行系统没有看到的50个部件。这也意味着用户需要通过一个称为k-fold交叉验证的过程。在交叉验证中,1/k的训练数据被保留,然后用这些数据进行测试。用户进行了k次测试,所以每个部分暂停培训一次。

测试人员所寻找的是每次都相同的性能,这表明结果是健壮的。该算法对集合中包含的一到两幅训练图像不敏感。每次使用的数据集和网络都会产生相同的结果。让我们回到弹球的比喻上,虽然每个球网都不是完全一样的,但它们在功能上非常相似,而且保险杠都在同一个地方。这个测试也验证了软件并不是在记忆答案。

执行所有保留的数据测试,因为这些测试证明系统将在未来的部件上工作。在购买之前,深度学习应该通过详细的测试,数据保留在用户指定的标准。


视觉系统通过深度学习识别缺失的焊缝水坑,而不是识别良好的焊缝

对于那些有有限时间来评估系统的人来说,一个快速的方法是运行一个好的部分,诱发缺陷,然后重新运行这个部分。理想情况下,也可以采用一个有缺陷的部分,修复它,然后重新运行该部分。这两种方法都可以给潜在的购买者信心,让他们相信解决方案已经学会了如何发现缺陷,而不是如何识别部件。为了防止一个严重的医疗质量错误,k-fold交叉验证是使用的过程。

为了快速实现深度学习解决方案,以捕获最近手工检查中出现的缺陷,我们的目标不是完美。简单地标记一些好的样本并纠正一些不好的样本将给用户带来实现最终结果的信心。

还有一些用户应该执行的测试,以确保他们能够从长期的投资中获得最大的收益。对于传统的视觉系统,有一些既定的方法来重新校准并确保系统得到与以前相同的结果。

例如,如果一个相机坏了,它会被替换。然后,强度直方图可以帮助用户确定照明是否相同,线条模式可以确定焦点是否相同,校准卡可以调整角度和镜头失真。(每次重新安装相机时,视角扭曲会略有不同。)如果运行正常,系统将获得与以前完全相同的结果。

一般来说,深度学习比常规视觉更能适应小的环境变化。如果不是,则可能需要对数据集进行完整的再培训。

在传统的视觉系统中,技术人员可以完成相机的更换过程。随着深度学习检查,相机可以更换,但它将如何执行是不确定的。传统的机器视觉系统需要一个完整的手册来指导操作员完成这个过程,而用户希望在替换之前在数学上确定他们将得到相同的结果。通过深度学习,最终用户必须检查功能是否与光线和焦距的退化(这将随着时间的推移而发生)相同,以及在交换相机后功能是否相同。从理论上讲,深度学习对不断变化的环境更加健壮,但确保这一点非常重要——特别是在工厂只购买运行时许可证而无法对神经网络进行再培训的情况下。

做长线投资

潜在的买家应该备份他们的培训数据和模型,以复制以前的表现。用户应该能够保存不熟悉的缺陷类型的新图像,并根据需要进行再培训。

愿意通过再培训过程,或与供应商这样做,作为一个合理的价格支持安排的一部分。许多当前的系统只作为运行时出售,这完全没问题;但是,要理解这种安排禁止对系统进行更改,而在更传统的视觉系统中可以这样做。如果变化是可能的,考虑一个训练加密狗或潜在的开源神经网络。

再培训和标记缺陷是非常重要的。请记住,对于传统系统,配置文件有8毫米和10毫米的缺陷。传统机器视觉的常见实现难题可能很简单,比如用户管理、适当的期望和适当的变更控制过程。例如,失败可能意味着一个系统错误地失败了几个部分,这是不幸的,从长远来看是需要改进的。然而,为了纠正这一点,有人硬键一个更宽松的公差,这使得错误的失败部分通过,从而“修复”问题。但是,当真正的缺陷出现时,该系统将无法正常工作。

在深度学习系统中,训练数据也有同样的作用。如果一个坏的图像被错误地标记为好图像并重新训练,算法将配置节点的权值使其成为好图像。坏的形象和其他类似的东西现在都有了好的一面。这可能涉及“移动弹球机中的一个缓冲器”来引用前面的类比。但这导致了一个无法接受的最终结果:坏的零件被发送到终端客户。为了避免这一结果,建立程序和程序,组织何时将重新培训网络。否则,会出现困扰传统视觉系统的问题。系统需要重新调整和调节(有一天灯会烧坏),但需要避免意外的重新调整和调节。这个问题在深度学习中更加严重,因为用户不再改变传统的容忍度(从8.0调整到10.0或12.0)。必须对一个统计引擎进行再培训,以产生它被告知是正确答案的结果。在我们误标图像并重新训练的情况下,我们现在有一个算法训练自己产生一个错误的答案。

测试,然后投资

深度学习有很多好处。操作者可以通过简单地训练一个网络来自动识别缺陷,从而缩短冗长的人工算法开发时间。vision市场对此持怀疑态度是有道理的,因为从长远来看,如果没有工程师来照看系统,许多看似可行的技术实际上在工厂里是行不通的。对于传统的视觉系统,详细的验收测试过程可以在系统发布之前捕获大多数长期问题。

对于深度学习系统,需要进行各种验收测试,以确保最终用户正确期望的方式工作。与其天真地投资,或者在别人获得竞争优势时袖手旁观,不如睁大眼睛迎接挑战,并拥有一套良好的验收测试。

作者

汤姆·布伦南(Tom Brennan)是Artemis Vision公司的总裁和创始人,该公司为自动化检查和质量控制构建视觉系统。他是AIA高级水平认证的视觉专家,在过去的10年里,他一直在工业机器视觉和图像处理软件市场工作,为从医疗到汽车到国防的各个行业提供了大量的工业机器视觉系统。布伦南在视觉工业领域起步,为DARPA城市挑战赛设计机器视觉车辆检测算法。他拥有普林斯顿大学计算机科学学士学位。

Banner
Related Posts

反光物体机器人机器视觉解决方案

2019年4月9日

2019年4月9日

SwRI和ROS-Industrial integrated intelligent parts reconstruction在ROS2框架内,用于提高工业机器人的三维图像感知能力,用于路径规划和路径点密集操作,如零件打磨。

研究人员开发了一种非侵入性果实成熟度检测方法

2019年6月25日

2019年6月25日

昆士兰的研究人员开发了一种新工具,可以在收获前评估芒果作物的成熟度,这可能会提高收获时间和果实质量。

机器视觉模式匹配的基础:光源、相机、算法

2019年10月11日

2019年10月11日

机器视觉系统还需要能够发现和识别模式。任何机器视觉任务的第一步都是模式匹配,即根据形状属性(如边缘)的预期排列,在视场中定位目标。这个过程是如何工作的?

机器视觉检测系统完整解决方案以及开发流程

2019年4月25日

2019年4月25日

机器视觉一词可以想象是具有一组眼睛的计算机进行检测或检验行为。为了开发机器视觉应用的完整解决方案,视觉工程师执行一系列通常分为五个类别的任务:计划,设计,构建,集成和验证。

基于相机和激光传感器的车顶视觉检测系统

2019年4月24日

2019年4月24日

像多单元高速列车这样的现代轨道车辆需要定期进行检查维护,以确保最车辆的安全稳定运行,增加使用寿命并最大限度地减少列车的磨损

基于机器视觉的监测系统​

2019年11月3日

2019年11月3日

本研究基于机器视觉技术,结合Python语言,openCV库等,编写出了一套高精度,高稳定性的位移监测算法,以Nvidia Jetson开发板为载体,结合单片机,红外传感器等,设计制造了一套具有形变监测与预警功能的系统。

机器视觉这条河,未来也会浑浊吗?

2019年3月21日

2019年3月21日

机器视觉的实质是一种计算机图像处理在工业领域的应用,其在机器人行业的应用方向有两种。AGV和机械臂,AGV上的应用已经很明了,主要存在于导航上面,但是在机械臂上的应用可谓是越来越广。

新型智能玻璃为机器视觉研究提供新的模拟途径

2019年7月18日

2019年7月18日

[据光电子网站2019年7月10日报道] 美国威斯康星大学麦迪逊分校电气和计算机工程系Zongfu Yu教授带领的团队开发出了一种新型智能玻璃。不需传感器、不用接通线路或外部电源、亦不需连接互联网,这种智能玻璃就可以利用光学反射的原理识别图像。

红外相机热成像在缺陷检查中的应用

2019年6月1日

2019年6月1日

制造商正在使用红外摄像机来辅助预防性维护,并发现与热相关的装配过程中的缺陷。

自动印刷代码检查解决方案

2019年4月17日

2019年4月17日

AutoCoding Systems将在米尔顿凯恩斯即将举行的UKIVA机器视觉会议上展示他们最新的视觉创新成果。由SICK AppSpace提供支持的4Sight解决方案是自动打印检测领域真正的行业突破。

深度学习在机器视觉系统中的应用详解

2019年4月24日

2019年4月24日

随着机器视觉技术的不断发展,系统在不需要计算机编程的情况下也可以具有分析和分类对象的能力。而人工智能(AI)和深度学习是推动机器视觉发展的重要技术手段。

3D热成像技术

2019年10月30日

2019年10月30日

Fraunhofer IOF使用LWIR热像仪扩展了其高速3D相机系统。他们的数据被映射到使用黑白摄像机重建的3D点,从而获得1kHz空间热图像。

机器视觉相机类型以及接口标准详解

2018年8月9日

2018年8月9日

随着成像技术的进步,相机及其接口的类型不断演变,以满足大量应用的需求。对于检测和分析至关重要的半导体,电子,生物技术,装配和制造行业中的机器视觉应用而言,使用最好的相机系统来完成手头的任务对于获得最佳图像质量至关重要。

机器视觉如何改变金融服务

2019年9月9日

2019年9月9日

事实证明,在金融领域应用机器视觉不仅对企业有利,而且对一般消费者也有利。尽管这在5年前似乎遥不可及,但金融机构一直在使用先进技术开展业务。这些技术能够改进客户体验并减轻员工的工作负担。

机器视觉系统集成发展的现状和前景

2019年7月10日

2019年7月10日

机器视觉系统集成是一门学科,随着新成像技术的不断发展,这门学科的发展势头依然强劲。

Comments
发表评论

电子邮件地址不会被公开。 必填项已用*标注