非常开心,我能够借Robotiq公司的官方博客揭开自动化的神秘面纱,并帮助大家初步认识和感知自动化这个理念。希望在读完这篇文章后,您能对自动化视觉检测系统有更多的了解。
记得在一个图像处理的会议上,一位学者讲述了关于颜色感知的事情。他谈到自己曾经和一位潜在的客户探讨这个问题。那个客户说“我觉得颜色感知很容易,因为这个自动化的视觉系统只需要告诉我们某一部分是绿色或者不是。”听起来确实很简单的,是不是?那么,现在请您回忆下,最后一次决定为家里的一间房喷漆是什么时候?如果您想喷绿色的话,那么您想选择什么样的绿色呢?海藻绿?军装绿?淡草绿?还是~黄瓜绿?宝石绿怎么样?这个算绿色吗?在自动化视觉检测的过程中,最棘手的挑战之一就是:清晰定义可接受与不可接受的界限。要知道,机器并不拥有人脑的直觉功能。
那么,什么叫做机器?我们可以给它冠以各种各样的定义,但我们会把自动化视觉检测系统定义为一个非交互式系统,该系统可以探查到监测对象在视觉上的瑕疵并且/或者检查其是否具有相应的功能。它结合了视觉传感器(1D,2D或3D)和数据处理器(如电脑,或者类似傻瓜相机中的嵌入式处理器)。视觉检测系统会输出诸如“被监测部分是好或是坏”之类的输出结果。根据所监测部分的复杂性,该系统也可以包括一个类似机器人之类的处理系统。本篇文章将着重阐述在工业界广泛使用的,基于2D图像的视觉检测系统。
听起来,这像极了我们人脑的信息处理结构:传感器+处理器+行动器。那么,自动化视觉检测系统和人脑的区别在哪里呢?事实上,差别真的不止一点点!
◆ ◆ ◆
可靠性
请先看这个只有1分20秒的小视频(首选WiFi,土豪随意)
剧透警告: 请在继续阅读之前,观看这个视频,否则……剧透即将开始~
现在请想想,对于检测来说,最典型的情况是什么?对,这个检查员是经过训练的,他需要关注一项具体的任务。理论上,他应该检测被监测物体的每一个表面。但实际上,他清楚最容易出问题的是什么,以及在哪里出现。他已具备查找常见问题的经验,知道是什么原因导致的。例如一个达到最大磨损量的磨具是什么样子的,一个没有达到理想温度的烤箱会是什么样子而且这样会导致出现裂缝等等。所有这些问题都会在被监测物体上留下印记。由于这些问题在以前经常碰到,所以检查员甚至为它们取了相应的名称,并分门别类进行归纳整理。但是,如果碰到一个新的或者很罕见的问题时,如果这个瑕疵出现的位置与以往不同。这个时候,检查员该怎么办呢?要知道,并不是他们不擅长这份工作,而仅仅是因为他们是人,这样就会遗漏一些很显而易见的东西—就像这个大猩猩(如果你不知道关于它的事情,建议可以看看上面的视频。但就像之前已经提示过各位,我已经在本段完成了剧透……)
但自动化视觉检测系统就不一样了,它会被训练得去检查被监测部分的所有表面,是一直,毫无遗漏的检查外观的所有部分,因此就会注意到不同寻常、罕见的瑕疵和问题。系统当然不能去对检查出来的问题进行归类,也不知道造成这个问题的原因是什么。但是检查员可以根据系统指出的问题进行后续的相关调查。
所以这样说来,自动化视觉检测系统是完美无瑕的了?我们不能这么快就下结论。人脑是相当复杂的,它具有好多好多功能,现在让我们来看看其中的一点点。
◆ ◆ ◆
适应性
我们假设你正在检查一个部件,视觉缺损指南定义说“灰色表面上的任何黑点都是缺损”。给你20个有不同灰色阴影的部件,其中有些暗一点,有些浅一点。你还能在部件上检测出黑点吗?我敢肯定你能。现在把同样的部件给自动化系统,你将需要精准界定什么是黑色,什么是深灰。(“极客”一点的说法是:颜色代码为0x000000则是黑色……那么代码为0x090909的颜色是黑色么?在我看来,也很黑!)。
还有一个例子可以证明我们的超强适应性:在网上交易时一般会遇到安全提示问题,比如:“请证明你不是一个机器人”
为什么是这样的形式?字符识别对于“智能”大脑而言是很难的:人类的大脑能识别具有缺失或错误字母的单词,比如
为什么是这样的形式?字符识别对于“智能”大脑而言是很难的:人类的大脑能识别具有缺失或错误字母的单词,比如G33z, y0u c4n 3v3n r34d th1s,这方面完胜“智能”大脑!还需要比较两者的适应性吗?
好了,现在你一定在想……检测过程是否无法自动化?完全不是这样的!你可以限制适应性需求,以简化自动化流程。其中一个可行的方案是看着这个过程如何变化,并改变它。一个策略性的改变是将检测过程与滚动过程互换。通过先滚动部件,它的表面会更统一,使得机器更容易将其检测。
◆ ◆ ◆
检测模式
什么是标准功能,什么是缺损?人类在检测模式和标记哪些是可疑的部分方面得分更高。
人类可能只需要一个部件来检测模式,例如:对齐的孔。
而机器可能会将这些洞(和其他很多的洞)作为独立的“可疑黑点”,除非他学习过。因此自动视觉系统需要一些培训,才能知道什么是标准模式,什么不是(有可能存在尺寸阈值?颜色阈值?)“适应性”这一概念又出现了。如果你没有使用足够的样本训练系统,机器将会把和之前的模式不是完全一样的模式标记为缺损。使用多种样品训练机器是一个不错的选择,但要注意用差异较大的部件过度训练,则可能导致机器反应迟钝。
让我们来看看一个光学字符识别(OCR)的例子:你已经教会系统需要寻找的模式是8,但因为你知道这个数字的左边如果没有打好,B也是OK的。现在如果说机器读出了3……你能接受吗?左边是不同的,但因为已经提到的打洞问题,你已经训练系统在检测左边时不要不太挑剔…这个例子很好地说明了机器迟钝的案例:你在系统中定义的“标准”越多样,系统将变得越不敏感。底线是,训练系统可能是很棘手的事,你可能需要和集成器合作。
视觉检测时的“非官方”传感器和促动器
现在来看看人类检测员。他们会将一个部件翻来覆去的进行检查,然后在部件上发现一个小黑点。接下来会发生什么?很可能他们要不吹吹部件看是否是灰尘,要不就用指甲试试看能不能把它刮掉。参与检测员的实际操作过程,观察他们的行为(不是看用户手册),对于实现自动化是非常好的帮助。
◆ ◆ ◆
重复性
当谈到重复性,“智能”大脑的得分更高。这几乎是大多数自动化过程中的关键概念:其结果将是可重复的,不管检查发生在什么时候。
那么,自动化视觉检测过程中,“你”实际上在做什么?
我们已经看到,人类的适应能力很强,擅于检测模式,还能利用其他的工具帮助他实现精确的检查。而另一方面,机器是可靠的,可重复的……因此我们如何通过结合这两者以求最好效果?
以下的一些提示也许有用:
慎重选择综合集成人员:你需要跟他密切合作,以确保他能够理解你的检测过程以及其中的变量,在会训练整个系统的基础上,也教会他如何使用系统,等等。
参与检测员实际工作,记录真实的操作过程。如果“吹部件”没有在检测手册中任何一个地方提到,但是检测员拿到部件时总是有灰尘,因此不得不每天吹掉灰尘的话,自动系统中也许需要添加一个鼓风机。
如果衡量部件外观表面的标准值是可变的,请一定要记住,机器的适应性远不比人类;这时你需要考虑重新安排流程中的一些步骤(请查看上文的“滚动”例子)。
如果可能的话,通过数值定义可接受范围的边界:最大缺损长度,可接受的颜色……。当你不能用数值来定义,你需要用更多的实例来训练系统。
在自动化流程中引入检测员:他们知道正常部件、缺损部件的定义,以及影响部件外观的变量。
利用来自不同批次的、在不同时间生产的部件来训练系统,以获得多个“标准”外观表面……系统将因此获得一些适应性。但是,要记住,在这个过程中有一个平衡点:你需要的是一个灵活而精确的系统,所以耗时不能太长。
和综合集成人员紧密合作:紧密合作使得交货迅速成为可能,也能带来更可靠的结果。
现在你有机会了解到视觉系统的优缺点,你可以想想如何通过与其他机械设备集成来真正实现自动化,例如:多轴力/力矩传染器或或机械爪。
原文发布时间为:2016-02-27