新闻  |   论坛  |   博客  |   在线研讨会
彩色机器视觉系统试用
mayer | 2009-08-02 11:29:55    阅读:2315   发布文章

彩色机器视觉系统试用

 

IMAGINGSOURCE 1394彩色工业相机及HexSight彩色机器视觉软件配合试用案例

冈萨雷斯在其著作中指出:“在图像处理中运用颜色受两个主要因素的推动:第一,颜色是一个强有力的表现形式,它常常可以简化目标物体的区分及从场景中抽取目标;第二,人可以辨别几千种颜色色调和亮度,却只能分辨几十种灰度层次。可见颜色在图像处理中是十分重要的。

近几年国际上视觉检测需求由以前的黑白居多开始逐步增加彩色检测需求。事实上,现实世界本来就是彩色的,当彩色图像二值化之后,很多的原始信息会丢失,原本丰富多彩的图像变成了单一的二维图像,原本轮廓分明的物体变成了模糊不清的轮廓,边缘不再是边缘,轮廓不再是轮廓,丰富也不再丰富,这一切都是信息失真造成的。现有的彩色检测需求如:尖端微处理器生产商的生产工艺中都在采用非常薄的镀层,以至于改变了硅片表面的样子。按照镀层的厚度,硅片表面呈现为蓝色,紫色或深绿色。现在面对的不仅仅是传统的银色和金色硅片了。于是视觉检测工程师开始使用红外(IR)LED,IR能够在标准硅片和超薄覆盖层硅片的情况下都能工作良好。再者,RoHS的进展对焊膏产生了巨大的变革。制造现场的工程师们能使用不同的焊膏并将焊球制造得越来越小。一些焊膏能够通过改变照明进行成像,另一些则需要应用彩色成像来区别不同的含铅材料对比度更低的焊接材料。更低的对比度意味着无铅焊膏成像的边缘更不明显,采用具有更强处理能力的彩色视觉技术能够提供需要的数据以实现准确的测量。

很多读者以往的实践使用中,除了视频监控领域在工业领域彩色相机应用的机会相对较少。为了向读者更为形象的展现彩色相机及彩色软件的功能和作用,我们准备了映美精出品一款接口为1394的CCD彩色缩放相机,型号为DFK 31BF03-22.H;深圳视觉龙科技有限公司提供的彩色机器视觉软件Hexsight4.0来一同实现一个简单的彩色巧克力糖果颜色识别及字符检测的实验。

首先,我们先对HexSight软件做一个大体的介绍。LMI的HexSight软件类似一个ActiveX控制库,程序员可用它来建构完整的高性能机器视觉系统。HexSight应用系统是一个在PC机上运行的软件解决方案,可用Visual Basic或Visual C++来对HexSight进行二次开发(Borland Dephi也支持)。 

HexSight能处理自由形状的对象,具有功能强大的去模糊算法;HexSight运算速度快,在一台500MHE on Pention-Ⅱ处理器上,零件寻找定位只需25到100毫秒;HexSight精度为1/40亚像素位置重复精度,0.01度旋转重复精度;HexSight具有丰富但简易的图像标定工具,其定位器可以嵌入在OEM的产品中去。

    HexSight主要包含以下工具:

* 图像捕获设备:包含自动标定的工具,可以补偿因镜头垂直度和畸变造成的误差。

* 对象定位器:带有自动试教功能,能根据几何轮廓找寻定位零件。返回X-Y坐标、方向、大小比例和用户定义的参考点坐标,搜索区域可限于用户定义的ROI(兴趣域)。

* 类库:Active X控件集,使定制系统能对内部图像进行操作。

完全的HexSight软件包除了上面提到的3个工具外,还有:

*图像处理工具:提供多样化的图像处理算法,比如算术运算,逻辑运算,形态变化和直方图等功能。图像处理可发生在任意工具之前或之后。

*边缘定位工具:采用矩形或圆弧投影能定位多个边缘。

*模式定位工具:采用可定制模式匹配算法来找寻灰度模式,以提高速度和精度等等。

*测量工具:能测量线性和圆弧特征。

*Blob分析工具:能计算内在和外在的几何属性,如重心,周长,面积,包络矩形,主轴还有灰度属性。支持三种图像域化方法:二值,软二值和动态阈值处理。

*取样工具:对实现可定制检测非常有用,它通过从一基于模板的ROI(兴趣域)中取样图像数据,然后提供给定制系统的特定C++算法或任意HexSight工具,包括定位器进行处理。

* 图像(清晰度)计算工具:评估、计算由用户定义兴趣域内图像的清晰度,对于自动对焦电机控制非常理想。

* 图像直方图工具:计算用户定义兴趣域内图像灰度的统计信息。

有二次开发需求时,用户可采用支持标准Active X控件的Visual Basic或Visual C++(PC平台)的柔性开发环境。软件支持多坐标系统(系统坐标、图像坐标、对象坐标和工具坐标),所返回的识别结果采用用户选用的单位,易于理解。HexSight提供简易的开发步骤,边写程序边看效果,所见即所得。HexSight能够把基于模板的检测和测量工具自动叠加到寻找到的对象事件上。另外在生产或OEM产品中,编程界面可完全隐藏起来。 

现在(2009年6月)最新的HexSight软件版本为v4.0,作为一个功能齐全界面友好的机器视觉库,软件主要包括以下功能:

·定位工具:利用矢量描述灰度和彩色图像进行关键特征定位,定位结果不受形状大小、方向、非线形光照、轮廓残缺、背景凌乱和对比度突变等情况影响。

·检测工具:包括图像处理、区域采样、彩色分割、基于亚像素边缘提取和尺寸测量等。

·字符识别/条码读取:支持标准的SEMI字体和大多数的一维或二维条码识读。

·进程管理器:可以很方便地把多种软件工具集合在一起形成一个视觉软件系统,用鼠标点击就好,像搭积木一样,为应用程序定制一个可执行的序列。

具体功能为:

定位(Locator):

定位工具提供了基于对象轮廓的定位,HexSight4.0版本还新增了彩色识别功能。

·强大的多重模板分析能力,可以识别高相似度的物体。

·同时识别到多个物体,不论这个物体的方向和大小如何。

·能有效地处理局部遮盖、图像凌乱、对比度翻转和非线性光照等情况。

·很自然地使用颜色信息对彩色对象提取轮廓以提升检测精度

·内置的相机色彩标定,以确保处理结果的高精确度和可重复性

·定位器的API函数提供高灵敏度的分割技术建立精确的或动态的交互式模板.

·定位精度为1/64亚像素,旋转精度1/20度,大小比例为1/10

检测(Inspection):

检测工具包括图像处理、色彩匹配、 斑点分析和测量功能。每个工具通过定位工具调整兴趣区域、被测物的比例和方向,可以方便生产过程中的质量控制。

·色彩寻找器通过图像彩色分析寻找与用户自定义的色彩相匹配的区域。

·图像处理算法按MMX/SSE/SSE2指令集进行了最优化设计,包括数学运算、赋值操作、逻辑运算、图像滤波、形态分析,清晰度评测以及直方图分析等函数。

·测量功能包括对边缘、线段、及弧相对距离和角度计算。

·斑点分析可提取被测对象的各类特征,比如常规物理量(面积,质心)、周长(凹陷,凸起)、重心(椭圆长轴/短轴)、外接、内截矩形(尺寸,角度)、链表(边缘)以及拓扑特征(内孔)等等。

·所有检测工具在成矩形的检测区域内采用双线性插值取样,结合校正后的单位换算,得到精确的测量结果。

字符识别/条码读取(OCR/Symbology):

HexSight的字符识别/条码读取工具,提供了分析能力特强的函数,以处理一维码,二维

码,及SEMI字体识别。自动定位和逻辑分析功能使之能够快速确定代码的位置和内容。

·支持读取的一维码包括:Code 39, 128, 93, UPC, PDF-417, Postnet, Codabar, BC 412, 2 of 5, and Pharmacode。

·支持读取的二维码包括:ECC 000-140 and ECC 200。

·支持读取的半导体字体包括OCR-A, OCR-B, 和 SEMI。

·每个读码工具包含对兴趣区域的控制和调节功能,确保了读码的准确性和速度。

进程管理器(Process Manager):

进程管理可以帮助您迅速建立一个顺序执行的HexSight应用系统。目标系统执行从图像采集并输入到定位器或测量工具,从定位器或测量工具的输出再到应用系统控制逻辑的转换。

·工具按照功能类别,像积木一样置于进程管理器的右边,通过鼠标拖放操作,可以将它们调至左边,形成运行序列。

·每个工具都可以通过其属性面板操作完成设置。

·每个工具的处理时间都有显示,通过调整可以达到最优配置。

·加载/储存性质帮助保存序列的配置文件,配置文件通过进程管理应用程序接口可以快速地加载完成客户特定的要求。

·所有的输入和输出都存储在实时数据库里,它可以通过图形化的界面方式支持个人数据对象的加载/存储。

一直以来,大部分的视觉图像处理都是黑白的,基于一种二维的图像进行处理,就算有些软件能够处理彩色的图像,能够做一些彩色的检测和分析,但是大部分都不是基于原始的彩色图像!

  事实上,以往在黑白视觉系统应用中我们从接现实彩色获取图像转换成黑白的时候,很多的原始信息会丢失,由于信息失真会造成原本轮廓分明的物体轮廓不清,边缘模糊。而视觉龙科技推出的基于彩色图像的视觉软件包HexSight V4.0软件的所有处理(包括采集、定位、测量、处理)都是基于原始的彩色图像。HexSight V4.0是一个基于彩色的功能齐全界面友好的机器视觉库,使用彩色处理软件可以完成一些在常规单色图像中难以完成的工作,如下图的边缘检测:

 

图中彩色图像的每个色块的边缘均可通过HexSight检测出(图中紫红色线标出),而在灰度图像中,部分色块之间的区别会变得模糊而难以识别(图中识别出的边缘已用紫红色线标出),就像让一个患有红绿色盲症的人去分辨不同色的物体一样在某些时候会出现问题。如本文涉及的糖果计数案例。

为了更好的配合HexSight,我们使用IMAGINGSOURCE相机采集的BMP格式文件传输给HexSight软件进行分析计数。关于德国映美精公司的DFK 31BF03-22.H及涉及的一些优秀技术我们在前述的4篇文章中已经做了一些简单的介绍,这里我们不多赘述。选用它的原因除了其巧妙的技术设计、强大的功能之外最主要的是对于机器视觉一般用户其的简单易用性。为了更好的体现DFK 31BF03-22.H很好的色彩还原性、自动调整等特性及Hexsight4.0优秀的彩色识别能力,我们没有使用DFK 31BF03-22.H相机配置的专用机器视觉光源对被检测物打光,光源来自室内的日光灯管。在实际使用中,DFK 31BF03-22.H可以利用IC Capture软件对光源自动进行调整来实现您项目中的打光需求。

驱动程序安装及软件设置界面细节请见《初探德国映美精DFK 31BF03-22.H 1394接口伸缩工业相机》,我们将相机连通接在主机上的1394卡及连接线,运行IC Capture软件对相机和镜头进行设置。

在以往的文章中我们提到过DFK31BF03-Z2.H使用方便,通过设备属性对话框,我们能够进行自动对焦距、光圈、曝光等参数进行调整(见下图),作为一款彩色相机,该相机在色彩方面也有较多选择,除根据图像处理需要对图像饱和度进行调整外,还可以通过色相对图像进行色彩变化调整,另外如果环境光线为人造光源时,可以通过白平衡选项对图像色调进行精确调整。下图是DFK31BF03-Z2.H设备属性对话框,在这里,我们不去考虑那些复杂的光源、镜头、相机互相匹配等视觉系统搭建知识,相机和相机内置电动变焦镜头的参数我们都设置为自动调整。

下图为DFK31BF03-Z2.H拍摄获取的BMP格式图片:

 

如上图所示的糖果类食品,我们需要对包装好的产品进行抽查,计划完成以下指标的测量:

1.各色糖果的数量及位置;

2.表面带有字符的各色糖果数量。在食品药品包装行业中,会有不少类似的应用案例。

如上述的巧克力糖果,在每个袋子中需要保证各色糖果的数量相当,并且包装入袋的糖果表面有标准字符存在。而准确的测定位置,则对药品、糖果等包装过程提供很好的帮助。如:某些药品是有颜色划分的,不同的颜色具有不同的作用或者在不同的时间食用,它们在药板上放置的位置为了便于患者分辨食用也是固定而且互相分开的。这时,我们这套彩色机器视觉系统就能为这些客户提供很好的解决方案。另外上图,由于我们刻意没有使用DFK31BF03-Z2.H配置的光源打光,我们看到获取的图片质量并不是非常理想,但是由于DFK31BF03-Z2很好的色彩还原性及HexSight颜色分析能力,并没有影响我们往下继续实现我们的案例。

需要特别说明两点:

1.上图列示的糖果表面反光问题可通过特殊光源或者滤镜配合来解决,不属于本文讨论的范围,也不做为本实验案例采集图片质量好坏的依据。

2.上图列示糖果有些表面有字符,有些没有,是我们在实现案例过程中特意安排来模仿实际生产过程中产品有可能出现的一些瑕疵问题,不做为本实验案例采集图片质量好坏的依据。

往下我们就可以使用HexSight软件可以轻松完成测量,下图是测量结果:

 黄色糖果数量及位置:

点击看大图

 红色糖果数量及位置:

点击看大图

 黑色糖果数量及位置:

点击看大图 

绿色糖果数量及位置:

点击看大图

蓝色糖果数量及位置:

点击看大图

糖果表面字符有无及数量的判断:

点击看大图

在本例中,使用HexSight软件及IMAGINGSOURCE彩色工业相机搭建的视觉系统可以对每粒糖果的颜色、位置、是否有印字进行了分析辨别,并能够通过编程组合制作出独立的可执行文件,用于大批量检测甚至在线检测。

在这个彩色机器视觉系统搭建及的使用过程中不难发现,HexSight软件提供了独立的各种检测模块,包括边缘定位、基于模板的边缘定位、标定、颜色定位、彩色目标检测、轮廓检测、轮廓绘制、图像处理、模板编辑、焊盘检测、焊盘分类等各种视觉常用检测项目,用户可以通过自行选择与组合完成各种检测项目,此外软件界面容易上手。映美精DFK31BF03-Z2.H精巧的设计及控制软件可以很方便使终端用户及系统集成商快速搭建好说需要的视觉检测硬件平台。彩色工业相机及彩色机器视觉软件的有效配合,将使机器视觉技术应用的范围更加广泛,并解决以往黑白视觉系统中很难解决的一些问题。在以后的文章中,视觉网将详细为大家介绍HexSight及的映美精DFK31BF03-Z2.H更多的使用方法及操作过程。

   

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
推荐文章
最近访客