费浩雯 孙晨琳 何思铭

摘要:该文详细阐述了如何利用LabVIEW平台和其自带的视觉工具包构造一种能够快速检测零件尺寸的系统。该系统通过相机获得零件的图像,利用NI Vision Assistant对图像进行一系列处理,得到零件的尺寸参数,再利用LabVIEW编写程序,与预置的数据对比,判断这些参数是否符合要求,并将这些参数保存下来。该课题最终实现对不同种类和形状零件尺寸的快速检测,准确迅速判断出零件尺寸是否合格,很好地保障了加工的精度,同时该系统具备很高的检测安全性、可靠性及自动化程度,可通过实时的图像显示随时监控整个过程。

关键词:机器视觉;工业零件的形状和尺寸;LabVIEW

中图分类号:TP3        文献标识码:A        文章编号:1009-3044(2019)03-0232-03

1 概述

机器视觉主要是指用计算机来模拟人的视觉功能,从客观事物的图像中提取信息,进行处理并加以理解,最终用于实际检测、测量和控制。在工业生产中,基于机器视觉的检测技术克服了传统检测技术的缺点,它以检测的安全性、可靠性及自动化程度高等优点而得到广泛的应用,成为当今检测技术的研究热点之一。零件尺寸的检测是机械行业中最常见的工作之一。目前国内的零件尺寸检测以人工检测为主,这既增加了工人的劳动强度,又难以保证零件的加工质量,尤其对于形位误差这种复杂检测,靠人力特别费时,检测精度也不高。近年来,随着机器视觉在工业检测中的应用,运用计算机技术对零件尺寸进行检测,是进行现代化生产的必然趋势[1]。

本课题基于NI机器视觉平台,设计一基于NI Vision的齿轮齿数和齿距的机器视觉测量系统。要求完成光源、镜头、CCD摄像机、图像采集设备等硬件的选型,同时设计工业零件视觉检测系统的软件,并能根据检测判别的结果来控制现场的设备动作。机器视觉检测系统采用CCD照相机将被检测的目标转换成图像信号,传送给专用的图像处理系统,根据像素分布和亮度、颜色等信息,转变成数字化信号,图像处理系统对这些信号进行各种运算来抽取目标的特征,如面积、数量、位置、长度,再根据预设的允许度和其他条件输出结果,包括尺寸、角度、个数、合格  不合格、有无等,实现自动识别功能。

本课题利用LabVIEW平台和其自带的视觉工具包构造一种能够快速检测零件尺寸的系统,该系统能够迅速测量零件尺寸,并且与预置的数据对比,很短时间内判断出零件尺寸是否合格,大大减少人工检查零件尺寸所花费的人力物力,有效减少人工误检的可能。

2 图像获取与处理

首先要创建一个相机,完成LabVIEW的图像采集工作。本课题利用机器视觉测量工业零件的尺寸,这就需要将图像中的像素距离与现实中距离对应起来,这是实现测量的第一步。为了突出被测物体的特征,抑制干扰,减小误差,便于以后的分析和测量,需要进行预处理。特征是图像中像素的一个特定的模式,利用模板匹配查找图像特征,NI Vision中的模式匹配算法用于测量理想化的特征表现与图像中的可能表现之间的相似度。找到了一个合适的模板,从而可以建立一个坐标系,可以在齿轮的圆心处建立坐标系,这样也便于后期处理。在建立坐标系后,要在每一个需要定位的函数前声明参照该坐标系,该函数可通过边缘检测提取齿轮轮廓信息,获得圆心坐标,直径,偏差等参数。

2.1 图像的获取

创建一个相机,配置好相机的参数,调用图像采集函数,在本课题中需要得到连续的图像,所以在配置函数是要设置为连续采集。由于电脑内存有限,过多的缓存和数据会极大地影响处理速度,所以必须在图像采集完后清除缓存。最后将图像通过函数输出,完成LabVIEW的图像采集工作,如图1所示。

2.2 图像的标定

拍摄的图像是空间物体通过成像系统在像平面的投影。图像上像素点的灰度给出了物体在空间中表面某点反射光的强弱,物体表面不同的特征点会在图像中以灰度的形式表现出来。这些点在图像中的位置与其在空间中的位置有关,这些位置的关系是相对的,并且遵循着某些给定的相机参数。可以根据这些图像点与空间点的对应关系实现参数的标定,根据标定结果,将图像转化为实际物体的空间关系。

镜头一般由多片透镜组成,在理论上遵循小孔成像模型,但是由于实际制造和安装误差的存在,经过透镜所成的二维存在着不同程度的非线性变形,如果按照实际图像等比标定,视野中的尺寸与边缘的尺寸相差会很大。考虑到这种镜头畸变,要利用LabVIEW视觉工具包的标定功能减小这种误差。

2.3 图像预处理

1)灰度变换

结合本课题,因为要测量零件的尺寸,要想突出零件的尺寸特征,需要将零件上明暗区分出来。所以选择抽取HSL-Luminance Plane,即抽取亮度平面。HSL的L(lightness)分量,指的是色彩的明度,作用是控制色彩的明暗变化。它同样使用了0%至100%的取值范围。数值越小,色彩越暗,越接近于黑色;数值越大,色彩越亮,越接近于白色,也就是说他将图像中每个点都进行明度分类,转化为深浅不同的黑白两类。

2)亮度调节

Brightness选项用于改变图像的亮度,对比度和伽马值,应用此函数可以改善图像的质量。

3)改善图像质量

Lookup Tabel简称LUT,是指对一幅图像应用查找表以改善对比度和亮度,可利用Lookup Tabel改善图像,使图像对比度更加明显。

4)模板匹配

模板匹配是一项在一幅图像中寻找与另一幅模板图像最匹配(相似)部分的技术.通过目标图片在待匹配图片进行遍历,通过选择一定的匹配方式能够得到每个起始像素点的匹配值,最终匹配值最大的位置就是候选匹配位置,也就达到了匹配查找的效果。 可以使用这个函数来定位灰度图像的区域匹配预定的模板,该函数可以找到不管照明,模糊,噪声,转移的模板和旋转的模板。

首先要建立一个模板,并且屏蔽掉对模板识别有干扰的地方。有时候模板很小,图像很大,这时候的ROI要设置小一点,而不能在整个图像中寻找,如果那样做,首先是不容易找到,再者花费时间较长,最后容易误判。如图2所示,图中方框表示找到的模板。

应用此步骤的主要目的是零件的存在性和完整性,同时要为后续的其他函数提供建立坐标系的基础。比如要是有一些方面需要进行检查,但是这些需要检查的参数是根据某个特征在视场中变化的,换句话来讲,它的参数是一个相对量,必须给定一个参考系。所以可以先搜索出视场中的特征,以此建立坐标系,然后其他函数则能有一个动态的ROI,当检查目标在视场中变换位置时,只要没跳出视场,就可以检查出结果。

3 检测系统软件设计

我们将讨论使用LabVIEW软件编写机器视觉系统的完整过程。包括两个大的方面:

1)从图像处理助手中导出数据,对数据进行处理分析,得到零件参数,和控制量进行比较,确定零件是否合格并判断出零件哪一项指标不合格,还可以将所得到的数据保存在EXCEL中。

2)对不同的零件分别建立模板,结合图像处理工作,使得系统能够快速识别零件的种类,根据零件的种类进行相应的测量工作。

3.1 机器视觉系统软件工作流程

首先设置采集的各项参数,下达采集指令,得到采集的图像,然后判断零件的类型,根据零件的类型,调用不同的图像处理函数,得到相应的数据,根据预先设定的参数,比较零件的尺寸是否合格,如果发现有不合格产品,将该零件不合格的参数记录下来,循环执行,直到所有零件都已检测完毕。

3.2 机器视判断零件类型

在实际工业生产中,零件的种类是多样的,如果只能识别齿轮一类,那幺无疑就限制了该视觉系统的应用。所以为了拓宽该视觉系统的应用范围,改进识别范围有限的缺点,使之能够对多种零件做出判断并测量,需要设计一种判断的算法,准确识别零件种类。对此可根据零件的特征判断其种类,这是目前最现实的一种方法之一。

本文选择了四种不同的零件,如图3所示,并按图示命名,以方便后续讨论。

对这四种零件分别寻找其具有的特点,对图3中a所示其特点是具有一个六角的凸起,b是内含一个矩形的特征,c中内部空心并且边缘没有齿,d中内部空心外部有齿。事先将这些特征拍下并标定参考。检测新的零件时先与这些模板对照,之后利用case判断语句跳转到相应的零件测量界面中,在该界面中调用子VI。生成的LabVIEW代码。

3.3 比较零件尺寸

将得到的各种数据输出后,接下来需要在 LabVIEW环境下编程去检测这些数据是否符合要求。以检测齿轮参数为例。从Fitted Circle引出数据,但是这些数据是以簇的形式存放的,必须利用解捆绑函数提取出数据来。同时为了增强算法的灵活性,并没有给定齿轮各项参数的上下限,而是将这些上下限由用户在检测之前输入。因为这是一个比较的过程,分别要测试三项数据,为了节约资源,可以将比较过程定义为一个子VI,只需要调用两次子VI即可实现比较。如图5所示为 LabVIEW程序。

3.4  检测齿轮齿数及齿距

齿轮齿距的定义为齿轮分度圆上齿厚加槽宽的距离,但是由于检测的齿轮不是标准的齿轮,其分度圆难以寻找,操作起来非常麻烦,所以取该齿轮齿顶两点的距离作为检测对象。利用Edge detector 工具找到齿轮边缘明暗相间的点,每一个点在输出来时都是一个独立的簇,这些簇又以数组的形式存放,通过检测该数组的长度从而求得齿轮的齿数。利用数组索引拆开该数组,并且解除簇的捆绑,得到点的数据。

3.5 齿轮参数测量子VI

要将以上所做的各部分功能组合一起,形成一个齿轮参数测量子VI,如图4所示为LabVIEW程序。

上述以齿轮为例介绍了如何测量齿轮的各项参数和编写LabVIEW子VI,对于其他三种零件(图5所示a.b.c三种),要分别编写子VI。由于编写过程与齿轮子VI类似,所以不再赘述。仅仅给出要测量的关键参数:对于内含六边形的零件,要测量的参数有内外圆半径、六边形的对角线长;对内含矩形的零件,要测量的有内外圆的半径、矩形的长和宽和中心圆孔的直径;对于圆环零件子VI,主要测量的是内外圆环的半径。

4 测试结果的误差分析

到目前为止,完成了基于NI Vision的齿轮齿数和齿距的机器视觉测量系统设计,在测试过程中发现数据存在一定的误差,主要是由于以下几个方面造成:

1)光照不稳定。由于测试零件是直接暴露在外部的,所以外部的光源变化会对成像的效果造成影响,例如中午太阳光强烈时和晚上打开日光灯时获取的图像效果不一样。尝试用纸板遮挡实验台,取得了一些效果,但是会造成取放零件不方便,所以将纸板长度减小了一半,所以光照影响没有能够完全避免。

2)零件摆放位置。受标定方法的限制,当零件摆放位置不能保证正好处于相机镜头正下方时,测量得到的数据会存在因为角度关系造成一定偏差。

3)镜头一般由多片透镜组成,在理论上遵循小孔成像模型,但是由于实际制造和安装误差的存在,经过透镜所成的二维存在着不同程度的非线性变形。

4)零件表面的一些干扰。零件表面会存在一些花纹,凹坑,划痕等特征,这些特征有可能与用来进行判断的痕迹特征相近。导致进行特征识别,寻找轮廓时发生偏差,进而使得测量的数据不准确。

5 结语

本课题“基于NI Vision的齿轮齿数和齿距的机器视觉测量系统设计”已基本完成,通过测试,取得了比较满意的结果。对于不同类型的零件能够做到准确识别,在参数测量误差方面也达到了要求。

基于机器视觉的零件测量虚拟仪器是零件测量技术的重要发展方向。零件测量的技术进步能够推动我国机械制造的长足发展,提高整个行业的产品质量和行业竞争力,彻底改变我国制造行业零部件质量落后的局面。因此,基于机器视觉的零件测量虚拟仪器的研究具有重要的现实意义。

参考文献:

[1] 夏德深,傅德胜.现代图像处理技术与应用[M].南京:东南大学出版社,2001:80,100.

[2] 马金奎,等.机器视觉测试系统[J].工具技术,2004(38):129,132.

[3] Bundit Jarimopasa,Nitipong Jaisinb.An experimental machine vision system for sorting sweet tamarind[J].Journal of Food Engineering, 2008,89(3):291-297.

【通联编辑:代影】