如何设计机器视觉系统框架
在决定一个机器视觉系统的需求及应用时,很多因素需要考虑。机器视觉(或称为自动可视检测系统)一般包含了大量部件,这些部件直接影响系统的性能。为了获得这些子系统的优越性能,并无缝将他们接合在你的生产线上,最好花一些时间来学习视觉系统的组成、应用、以及正确的规划的重要性。 机器视觉的应用在对精度和可靠性都很高的重复性检测任务中,机器视觉广泛应用在这些生产流程中。一些常见的任务: 在食物包装中检测数据代码; 自动检测部件用于正确的安装; 为机器人的捡起(pick)和放置(place)动作提供向导; 在制药中效验药品的颜色; 读取部件的条形码、以及在产品上的标识;还有更多更多。 基于PC的机器视觉系统的基本组成由于机器视觉应用非常广泛,在不同的系统里使用不同的部件,但是,我们可以将这些部件分成如下几类: 1. 摄像头和光学部件 –这一类通常含有一个或多个摄像头和镜头(光学部件),用于拍摄被检测的物体。根据应用,摄像头可以基于如下标准,黑白RS-170/CCIR、复*色(Y/C),RGB彩色,非标准黑白(可变扫描),步进扫描(progressive-scan)或线扫描。 2. 灯光 –灯光用于照亮部件,以便从摄像头中拍摄到更好的图像,灯光系统可以在不同形状、尺寸和亮度。一般的灯光形式是高频荧光灯、LED、白炽灯和石英卤(quartz-halogen)光纤。 3. 部件传感器 –通常以光栅或传感器的形式出现。当这个传感器感知到部件靠近,它会给出一个触发信号。当部件处于正确位置时,这个传感器告诉机器视觉系统去采集图像。 4. 图像采集卡 –也称为视频抓取卡,这个部件通常是一张插在PC上的卡。这张采集卡的作用将摄像头与PC连接起来。它从摄像头中获得数据(模拟信号或数字信号),然后转换成PC能处理的信息。它同时可以提供控制摄像头参数(例如触发、曝光时间、快门速度等等)的信号。图像采集卡形式很多,支持不同类型的摄像头,不同的计算机总线。 5. PC平台 –计算机是机器视觉的关键组成部分。应用在检测方面,通常使用PentiumIII或更高的CPU。一般来讲,计算机的速度越快,视觉系统处理每一张图片的时间就越短。由于在制造现场中,经常有振动、灰尘、热辐射等等,所以一般需要工业级的计算机。 6. 检测软件 –机器视觉软件用于创建和执行程序、处理采集回来的图像数据、以及作出“通过/失败(PASS/FAIL)”决定。机器视觉有多种形式(C语言库、ActiveX控件、点击编程环境等等),可以是单一功能(例如设计只用来检测LCD或BGA、对齐任务等等),也可以是多功能(例如设计一个套件,包含计量、条形码阅读、机器人导航、现场验证等等)。 7. 数字I/O和网络连接 –一旦系统完成这个检测部分,这部分必须能与外界通信,例如需要控制生产流程、将“通过/失败(PASS/FAIL)”的信息送给数据库。通常,使用一张数字I/O板卡和(或)一张网卡来实现机器视觉系统与外界系统和数据库的通信。 配置一个基于PC的机器视觉系统认真的计划和注意细节能帮助你确保你的检测系统符合你的应用需求。如下是你必需考虑的几点:确定你的目标 – 这可能是最重要的一步 棗决定在这个检测任务中你需要实现什么,检测任务通常分为如下几类: 1. 测量或计量 2. 读取字符或编码(条形码)信息。 3. 检测物体的状态 4. 认知和识别特殊的特性棗模式识别 5. 将物体与模板进行对比或匹配 6.为机器或机器人导航检测流程可以包含只有一个操作或包含多个与检测任务相关的任务。 为了确认你的任务,首先你应该明确为了最大限度检测部件你需要做的测试,也就是你能考虑到会出现的缺陷。为了明确什么哪个才是最重要的,最好做一张评估表,列出“必须做”和“可以做”的测试。一旦主要的对测试标准满意,随后可以将更多的测试加进去来改善检测过程,一定要记住,添加测试的同时也会增加检测的时间。确定你需要的速度 –系统检测每一个部件需要多少时间?这个不只是由PC的速度决定,还受生产流水线速度的影响。很多机器视觉包含了时钟/计时器,所以检测操作的每一步所需要的时间都可以准确测量,从这些数据,我们就可以修改我们的程序以满足时间上的要求。通常,一个基于PC的机器视觉系统每一秒可以检测20-25个部件,与检测部件的多少和处理程序以及计算机的速度有密切关系。 聪明地选择你的硬件 –一套机器视觉系统的性能与它的部件密切相关。在选择的过程中,有很多捷径棗特别在光学成像上棗可能很大程度降低系统的效率。如下是在选择部件时你必须紧记的几个基本原则。 1. 摄像头 摄像头的选择与应用的需求直接相关,通常考虑三点: a)黑白还是彩色; b)部件/目标的运动; c)图像分辨率。 在检测应用中大部分使用黑白摄像头,因为黑白图像能提供90%可视数据,并且比彩色便宜。彩色摄像头主要用于一些需要分析彩色图像的场合里。根据部件在检测时是否移动,决定我们选择标准隔行扫描摄像头还是逐行扫描摄像头。另外,图像的分辨率必须足够高,以提供检测任务需要的足够的数据。最后,摄像头必须质量好和可以避免工业现场中的振动、灰尘和热的影响。 2.光学部件和照明这个至关重要的因素往往被人所忽略。当你使用一个很差的光学部件或照明,就算你使用最好的机器视觉系统,它表现出的性能甚至比不上一个配上良好光学部件和适当照明的低能力系统。光学部件的目标是产生最好和最大可用面积的图像,并且提供最好的图像分辨率。照明的目标是照亮需要测量或检测的部分的关键特征。通常,照明系统的设计由如下因素决定:颜色、纹理、尺寸、外形、反射率等等。 3.图像采集卡虽然图像采集卡只是完整的机器视觉系统的一个部件,但是它扮演一个非常重要的角色。图像采集卡直接决定了摄像头的接口:黑白、彩色、模拟、数字等等。使用模拟输入的图像采集卡,目标是尽量不变地将摄像头采集的图像转换为数字数据。使用不正确的图像采集卡可能得到错误的数据。工业用的图像采集卡通常用于检测任务,多媒体采集卡由于它通过自动增益控制、边沿增强和颜色增强电路来更改图像数据,所以不用在这个领域里。使用数字输入的图像采集卡的目标是将摄像头输出的数字图像数据转换并输送到PC中作处理。考虑各种变化:人类的眼睛和大脑可以在不同的条件下识别目标,但是机器视觉系统就不是这样多才多艺了,它只能按程序编写的任务来工作。了解你的系统能看到什么和不能看到什么能帮助你避免失败(例如将好的部件认为是坏的)或其它检测错误。一般要考虑的包括部件颜色、周围光线、焦点、部件的位置和方向和背景颜色的大变化。 正确选择软件:机器视觉软件是检测系统中的智能部分,也是最核心的部分。软件的选择决定了你编写调试检测程序的时间、检测操作的性能等等。图2 DTVF是一个多功能、图形化编程的机器视觉软件(附件2) 机器视觉提供了图形化编程界面 (通常称为“Point &Click”) 通常比其他编程语言(例如VisualC++)容易,但是在你需要一些特殊的特征或功能时有一定的局限性。基于代码的软件包,尽管非常困难和需要编码经验,但在编写复杂的特殊应用检测算法具备更大的灵活性。一些机器视觉软件同时提供了图形化和基于代码的编程环境,提供两方面最好的特征,提供了很多灵活性,满足不同的应用需求。 通信和记录数据:机器视觉系统的总的目标是通过区分好和坏的部件来实现质量检测。为了实现这一功能,这个系统需要与生产流水线通信,这样才可以在发现坏的部件是做某种动作。通常这些动作是通过数字I/O板,这些板与制造流水线中的PLC相连,这样坏的部件就可以跟好的部件分离。例外,机器视觉系统可以与网络连接,这样就可以将数据传送给数据库,用于记录数据以及让质量控制员分析为什么会出现废品。在这一步认真考虑将有助于将机器视觉系统无缝与生产流水线结合起来。需要考虑的问题是: 1. 使用了什么类型的PLC,它的接口如何? 2. 需要什么类型的信号? 3. 现在使用或必须使用什么类型的网络? 4.在网络上传送的文件格式是什么?通常使用RS-232端口与数据库通信,来实现对数据的纪录。 为以后做准备:当你为机器视觉系统选择部件时,时刻记住未来的生产所需和有可能发生的变动。这些将直接影响你的机器视觉软硬件是否容易更改来满足以后新的任务。提前的准备将不仅仅节约你的时间,而且通过在将来重用现有的检测任务可以降低整个系统的价格。机器视觉系统的性能由最差的部分决定(就像一个木桶的容量由最短的一个木块决定),精度则由它能获取的信息决定。花时间和精力合理配置系统就可以建造一个零故障和有弹性的视觉检测系统。
提交
创科 隔离控制器
深圳创科CKvision Builder 创科视觉 应用软件产品
创科视觉不用编程机器视觉软件CkVisionBuilderV3.0 闪亮亮相北京视觉展
创科 橡胶类CCD检测方案
创科 固晶机视觉对位控制系统