选择视觉软件需要考虑的10个方面

2018-02-27 15:13:11·  
 
近十年来,NI 在机器视觉和图像处理方面一直是领导者。NI 视觉软件包含于两个软件NI 视觉开发模块和用于自动检测的NI 视觉生成器(NI Vision Builder for Automated Inspection)。视觉开发模块包含数以百计的视觉函数,NI LabVIEW、NI LabWindows/CVI、C/C++、或Visual Basic 可以使用这些函数来编程创建功能强大的视觉检
近十年来,NI 在机器视觉和图像处理方面一直是领导者。NI 视觉软件包含于两个软件 — NI 视觉开发模块和用于自动检测的NI 视觉生成器(NI Vision Builder for Automated Inspection)。视觉开发模块包含数以百计的视觉函数,NI LabVIEW、NI LabWindows/CVI、C/C++、或Visual Basic 可以使用这些函数来编程创建功能强大的视觉检测、定位、验证和测量应用程序。Vision Builder AI 是一个交互式的软件环境,无需编程即可配置、基准对比和发布机器视觉应用程序。这两个软件包都可与NI 图像采集卡以及NI 紧凑型视觉系统(NI Compact Vision System)协同工作。下面的10 个主题概述了选择视觉软件时所需要考虑的要点。
 
1. 摄像头的选择
选择视觉软件时首要考虑的是它能不能与最适合您应用程序的摄像头协同工作。低成本的模拟摄像头是很容易获得的。但是,有的应用需要的是分辨率高于VGA,帧速率高于30 帧/秒的摄像头,并且它的图像质量总体要优于标准模拟摄像头。

NI 的视觉系统软硬件可与数以千计的摄像头兼容,从低成本的标准模拟摄像头到高速线扫描的摄像头。使用工业摄像头配置指南可为您的应用找到最适合的摄像头并能帮助您选择正确的采集硬件。

硬件可扩展性选择正确的摄像头是任何应用中最为关键的一步,而摄像头的可扩展性是另一个需要考虑的重要方面。由于摄像头技术迅速地发展,某一天您可能希望升级您的摄像头以提高图像质量或测量的其他特性。NI NI-IMAQ 驱动软件支持所有的NI 图像采集卡,并且可以通过一个易于使用的接口来连接数以千计的摄像头。因此您可以在不改变软件的情况下将模拟摄像头升级至Camera link 摄像头。针对IEEE1394 摄像头的NI-IMAQ 软件也是如此,它无需帧采集器即可从100 余种不同的IEEE1394(火线)摄像头采集图像。

NI 驱动软件不仅支持数以千计的摄像头,而且可以在所有的NI 硬件平台上工作,从PC 和CompactPCI/PXI 到NI Compact Vision System。因此,在实验室您就可以在带有价廉的IEEE1394(火线)摄像头的PC 上进行原型设计,然后无需改变采集或图像处理代码,即可把它部署至基于稳固紧凑型视觉系统之上的生产平台。

2. 软件易用性

一旦您采集了一幅图像,下一步就是处理图像。如今存在着多种算法,通过编程进行实验和勘误来寻找正确的工具将会是单调乏味而且低效的。因此,您需要视觉软件工具来帮助您最大化地利用算法。

对于许多应用来说,您并不需要通过编程来建立一个完整的机器视觉系统。虽然这不如在C、Visual Basic、或 LabVIEW 中编程灵活,但是可配置的软件(例如NI Vision Builder AI )提供了一个易于浏览、交互式的环境来配置,基准对比,和发布机器视觉应用程序。Vision Builder AI 包含了近50种常用的机器视觉工具,如模式匹配、OCR、DataMatrix 阅读器、色彩匹配、以及许多其它的工具。Vision Builder AI 也可以从任何NI 所支持的摄像头中采集图像,使用常见的工业协议,并通过以太网、串行总线、或数字I/O 来向其他设备传输检测结果。

虽然编写视觉应用程序比利用Vision Builder AI 配置应用程序更为复杂,但NI 视觉助手可以使得在LabVIEW、 C、和Visual Basic中开发应用程序更为轻松和直接。视觉助手包含于NI 视觉开发模块中,它是一个原型设计环境,在此您可以交互式地试验不同的视觉函数来了解哪一个函数适合您的应用程序以及每一个函数运行所需的时间。

一旦您决定如何最好地解决您的应用程序挑战,您只需点击按钮,然后视觉助手就能生成可立即运行的LabVIEW、LabWindows/CVI、C/C++、或Visual Basic 代码。您无需编写任何代码就完成了大部分视觉应用程序。您可以独立运行由视觉助手生成的代码或者将它添置到更大的工业控制、数据采集、或者运动控制系统中。
无论您是一位视觉初学者还是一位专业的视觉集成商,NI 视觉助手都可以帮助您在更少的时间内创建一个有效和可靠的视觉应用程序。

3. 算法广度和精确度
在选择视觉软件时需要着重考虑的,也是最为重要的是软件工具能否以亚像素级的精度来正确和精确地测量重要的局部或目标特性。如果软件不精确或者不可靠,那么无论您的计算机速度有多快或者您的摄像头有多少个像素,都显得没有意义。使精确的代码更快地运行要比使快速的代码更精确地运行要更为容易。

NI 视觉开发模块和Vision Builder AI 包含了数以百计的精确、可靠的视觉函数。下文列出了五个最为常见的机器视觉应用程序领域,并附带了最为常见的算法。

图像增强——使用滤波工具来增强边缘,去除噪声,或者提取频率信息。使用图像校准工具来去除由透镜失真和摄像头放置所引起的非线性和透视误差。您也可以使用图像校准工具来将真实世界的单位应用至您的测量,这样工具就能以微米、毫米或英里来返回值,而不是以像素为单位。

存在性检查——这是最简单的视觉检测类型。您可以使用任何颜色、模式匹配、或直方图工具来检查局部或特征的存在性。存在性检查通常的结果是有/无,或者通过/失败。

特征定位——定位特征在对齐目标或者确定精确的目标位置时是十分重要的,这是所有后续检测的一个标准。边缘检测,灰度级模式匹配,形状匹配,几何特征匹配,以及色彩模式匹配都是您用来定位特征的工具。这些工具能以十分之一像素的精度返回目标位置(X,Y)和旋转角。几何特征匹配不受目标重叠或者目标尺度改变的影响。

特征测量——使用视觉系统最为常见的一个原因是进行测量。在测量距离、直径、总数、角度、和面积时通常会使用边缘检测、微粒分析、以及几何函数工具。无论您是在显微镜下计算细胞的总数还是测量两个刹车测径器边缘间的角度,这些工具通常返回的是一个数值而不是一个位置或者通过/失败值。

局部验证——局部验证对于局部一致性、跟踪、和确认来说是十分重要的。直接的验证方法包含读取条形码或者诸如DataMatrix 和PDF 417 之类的数据代码。更新的方法是使用可训练的OCR 或者目标分类。局部验证通常可得到文本或者字符串,而不是测量值或一个通过/失败的结果。

所有NI 视觉开发模块和Vision Builder AI 函数都使用以十分之一像素和十分之一度的亚像素级精确度来对位置、距离、和测量值进行插值。

4. 算法性能

通常在选择视觉系统时,精确度和易用性是两个最为重要的因素,执行速度是第三个需要考虑的重要因素。无论您选择了多少种算法,无论这些算法所建立的应用程序有多快,一旦检测工具效率低下并且运行时间过长,那么您大部分的工作就失去了意义。

NI 视觉软件是高度优化的,它通过各种可能的途径提升性能,使得其可以与世界上最快的视觉软件包媲美。事实上,如下表所示,与领先的视觉软件供应商相比,NI 视觉软件在许多项目上都更为快速。

想重现NI 视觉软件的基准对比,您只需索取一份NI 视觉开发模块和Vision Builder AI 评估版软件,然后在软件内的一些图像上运行这些工具。

5. 与其他设备的集成

如果您曾经完成一个视觉应用程序,那么您就知道视觉是一个更大的控制系统中的一部分。在工业自动化中,视觉应用程序可能需要控制激励器来分类产品;将检测结果传输至机器人控制器、PLC、或者可编程自动化控制器;将图像和数据保存至网络服务器;或者将检测参数和结果传输至本地或远程用户界面。

通常,科学研究的图像应用程序必须将视觉与运动背景、数据采集系统、显微镜、专用光学设备、和高级的触发相结合。

NI 是领先的工业控制,数据采集,和运动控制产品供应商,因此NI 视觉产品可与这些和其它通用的组件协同工作。不管您是要与PLC 通过DeviceNet 进行通信,还是要通过串行总线与显微镜进行通信,NI视觉产品都可以完成。  
分享到:
 
反对 0 举报 0 收藏 0 评论 0
沪ICP备11026620号