一种基于LabVIEW和MATLAB混合编程的视觉检测系统关键技术研究

2022-09-15 06:22陈思宇慕丽王欣威
机床与液压 2022年12期
关键词:彩色图像均衡化灰度

陈思宇,慕丽,王欣威

(沈阳理工大学机械工程学院,辽宁沈阳 110159)

0 前言

随着科技的进步,自动化在人类社会中扮演的角色越来越重要,尤其是在制造业当中。机器视觉技术应运而生。机器视觉技术的应用领域非常广泛且复杂,大部分行业主要是依靠机器视觉技术作为眼睛和脑袋代替人类进入一些工作环境较为复杂或者是单一重复的工作场景中工作,利用其自身自动化程度高的优势,解决人工无法作业的问题,并且节省了大量的劳动力,从而提高了生产效率和自动化程度。大部分机器视觉系统主要包括两部分,一部分是硬件系统的选取,另一部分是软件系统的设计。对于现有项目的研究,本文作者主要论述了应用机器视觉相关技术对含有多条谱线的涂层板边缘进行提取。传统的谱线提取大多是基于人工识别获取坐标点的方法进行,不仅费时而且精度较低。而作者旨在建立一个实时在位检测系统,缩短整个检测过程的时间,提高检测精度。检测系统包括硬件结构的搭建和软件系统的编写和优化。系统的总体构架如图1所示。

图1 系统总体构架

1 硬件系统设计与选取

在机器视觉中硬件系统的选取与搭建尤为重要,甚至直接影响结果的准确性。比如相机与镜头的选取以及安装的方式等都与图像的清晰度有密切的关系,如果采集到的图像质量不高,即使边缘提取算法设计得再精准,也很难得出较为精准的答案。因此在机器视觉中硬件设备的选取是保证检测结果准确的第一步。

1.1 相机

相机是整个在位检测视觉系统的核心设备。在此系统中,待检测的涂层板上面的谱带区域大多是彩色分区,所以应首先考虑选用彩色相机,然后根据待检测区域的大小,确定相机的像素大小。其中还应根据经验选择相机的传感器尺寸,确定相机的输出方式及标准(模拟/数字、速率等)。

综上考虑,选取海康威视技术有限公司生产的型号为MV-CA050-10GM的面阵相机,其彩色相机使用的是Snoy的IMX264CMOS芯片,图像质量优异且具有噪点低、分辨率高、性价比高等特点,在全分辨率下的最高帧率可达到24.1 fps。

1.2 镜头

镜头在机器视觉系统中的作用就等同于眼睛在人类视觉系统中的作用。根据实际的生产环境合理选择镜头在机器视觉系统中尤为重要。镜头的好坏主要影响到采集到的图像的清晰度以及放大倍数的高低。其中镜头的参数主要包括镜头的分辨率、景深、焦距和光圈等。

除了要根据以上参数选取镜头外还要考虑相机,相机与镜头合理配合,才能最大程度上提高图像的清晰度。文中选择的工业相机接口方式是C-Mount,所以镜头的接口要与之相配。工件与相机之间的实际高度大约是500 mm,视野范围是800 mm×200 mm,因此选取的镜头的焦距为12 mm。综合以上考虑,选取海康威视技术有限公司生产的KF-E系列12 mmFA镜头。

1.3 光源

在机械零件视觉检测中,光源选取也在一定程度上影响成像质量的好坏,决定整个检测系统是否成功。合理的光学照明系统可以适当地突出待检测零件中的有用信息,弱化无用信息,从而简化后续的图像预处理过程,保证成像的稳定性,降低边缘提取算法的复杂性。

根据检测的谱线板上待提取的边缘特征选用的是面光源,同时为了保证实验的准确性,排除一些外在因素的影响,设计了一个暗箱。暗箱选用黑色不透明铝塑板,创造一个暗室环境。同时为了保证光源的稳定性,需要将光源搭配光源控制器使用。光源控制器除了保证光源的稳定性,还可以对光源的亮度进行调节。

硬件全部选取完成后就可以进行机器视觉系统的搭建,然后对搭建好的硬件系统进行调试,以确保硬件之间不会发生干涉现象。调试好的系统如图2所示。

图2 硬件系统

2 软件系统设计与实现

软件系统的设计流程如图3所示。首先拍取待检测涂层板,然后对该图像进行标定来确定坐标系统;接下来对图像进行预处理,消除图像中的无关信息,使关键信息最大化地体现出来;然后提取谱带的边缘,得到的坐标点发送到控制器中,进行后续的操作。

图3 软件系统流程

2.1 软件系统设计

利用LabVIEW和MATLAB两个软件进行混合编程,主要是利用各自的优势:首先LabVIEW可以与市面上大多数的工业设备进行良好的通信,并且其中包含大量的视觉处理函数,最主要的是它采用的图形化编程方法更加直观清晰;而MATLAB包含强大的数据库,可以实现算法上的突破,在精度与速度上具有优越性。用LabVIEW中的VA助手将编好的程序导成VI程序中可以缩减图像处理的时间,而且LabVIEW可嵌入MathScript节点,其语法和函数与MATLAB非常相似,因此可以在LabVIEW中编写MATLAB程序,从而通过调用MATLAB中的程序来提高系统检测的精度与速度。

2.2 被测对象图像的获取

此次的被测对象主要是涂层板。涂层板是一块长为800 mm、宽为200 mm的铝型板材,其中展开板上面的白色涂层为硅胶,其上的彩色物质是从草药中提取到的各种成分。实验目的主要是利用数控机床对涂层板上同一颜色区域进行刮取与收集。其中涂层板如图4所示。

图4 涂层板示意

在实验过程中,当被测对象达到指定位置后,光源打开,相机拍摄图片并将拍好的图片传输给计算机进行后续处理。编写程序框图,程序编写主要是运用了队列的思想,涂层板到位后先打开相机,然后触发拍照机制采集涂层板图像,然后关闭相机,涂层板进入待处理区。在LabVIEW中进行图像采集程序的编写,程序框图如图5所示。

图5 图像采集程序框图

2.3 图像标定

相机采集到的图像是以像素尺寸为单位的,与实际的坐标尺寸不一致,相机标定的目的就是为了将像素坐标与真实物理坐标相对应。需要注意的是标定完成之后的系统中被测件与相机的相对位置不可改变。此测试系统选用的标定方式为简单标定。

2.4 图像预处理

在位检测系统进行完图像采集以及系统标定之后,就可以进行图像分析。但是在实际的采集环境中不可避免地会受到一些不利影响,例如光照的影响、加工环境中的灰尘等因素,从而使采集到的图像不是很理想,有的会掺杂一些无关信号,有的会缺少图像中的关键信息,所以对图像进行预处理至关重要。图像的预处理方法有很多种,例如灰度变换、二值化、图像均衡化、图像形态学变换、对比度改善等。文中的重点主要是多条谱线边缘的提取且图像中的噪声基本可以忽略不计,所以文中主要用到的预处理方法是灰度变换和彩色图像的均衡化。

2.4.1 灰度变换

在图像的边缘提取中,大多数的算法都是基于灰度信息进行提取的。灰度变换主要是过滤掉彩色图像中包含的彩色信息,选择自己所需的灰度平面信息。与彩色图像相比,计算机处理灰度图片会相对简单一点。灰度变换主要有3种方法:平均值法、最大值法、加权平均值法。本文作者对3种方法分别进行实验,得到较为清晰的图像如图6所示。

图6 被测件灰度变换

2.4.2 彩色图像均衡化

彩色图像直方图均衡化处理的中心思想与灰度均衡化大致相似,就是将相机采集到的彩色图像中的包含彩色信息比较集中的某个部分变成在[0,255]区间上均匀分布。通过对图像进行非线性拉伸,重新分配图像像素值,使像素在每个区间范围内的数量大致相同。其目的是调整整幅图像的对比度,尤其是图像中的有用数据对比度相当接近的情况,它能以较小的计算量突出图像的细节。在LabVIEW中主要应用IMAQ ColorEqualize函数来实现此操作过程。经过彩色图像均衡化后的图像如图7所示。

图7 彩色图像均衡化

对比灰度变换与彩色图像均衡化后得到的图片可知:涂层板的灰度变换基本丢失了对比度不强的一部分涂层信息,而彩色图像均衡化后的图像增加了整幅图像的对比度,使要提取的部分更加清晰,所以文中选用的预处理方法为彩色图像均衡化。

2.5 图像边缘检测

2.5.1 传统的边缘检测算法

在数字图像处理中,边缘检测主要是通过寻找图像中灰度显著变化的区域来获取图像的边缘信息,其中主要包括Roberts、Sobel、Prewitt、Laplacian、Canny等方法。Roberts、Prewitt、Sobel算子都属于一阶梯度算子的范畴。它们通过寻找梯度变化最为剧烈的像素区域,进而确定出边缘区域的位置所在。而Laplacian算子属于二阶微分算子,其原理是在图像灰度值的二阶微分中搜索零穿越,进而确定其边缘点。应用以上算法分别对涂层板进行边缘提取,可得到如图8所示图像。通过对比可知传统的基于灰度信息进行边缘提取的方法基本都丢失了大部分重要信息。

图8 传统算法的边缘提取结果

2.5.2 基于彩色平面的边缘检测算法

传统的边缘检测算法运算量大,实时性差,而且传统算法主要是基于图像的灰度信息进行处理,文中主要是为了提取彩色区域的边缘,因此需要寻找新的适合机器视觉系统的直线检测算法。“NI Vision Assistant”是一个可快速实现图像分析、处理的环境,编好的程序可导入到LabVIEW程序框图中。基于彩色平面的边缘检测算法主要用到的是VA助手里面的边缘检测函数,应用此函数在提取边缘时搜索的方向不仅仅局限于一维,而是按照其所选取的ROI方向进行边缘检测,可以是任意图形,例如直线、曲线、折线、矩形、圆形等。而且此算法不仅可以应用于灰度图像,也同样适用彩色图像,最主要的是它可以将提取到的边缘点信息以坐标的形式输出,便于后续的处理。在VA助手中编好程序后将其导入到LabVIEW程序框图中,基于检测到的边缘点使用MathScript节点函数,通过编写数据插值与曲线拟合的算法来确定最终的目标边缘。提取到的边缘点坐标如图9所示。

图9 边缘点的提取

2.6 基于混合编程的插值与拟合

利用传统的手动识别输入坐标点的方法进行加工时,往往会因为谱线边缘识别不准确,从而造成误刷、漏刷现象。故而提出一种基于插值和拟合的方法来提高边缘提取的精度,进而提高系统的准确度。插值与拟合的思想与亚像素精度十分类似。在得到边缘的坐标点之后,为了进一步提高边缘的精度,还需要在两个相邻数据之间增加一些数据,这个过程就是插值(此测试系统所用到的插值方法是三次样条插值法)。然后再基于这些数据得到一条光滑的曲线,即图像的边缘,这个过程便是拟合(此测试系统主要用到的拟合方法是多项式拟合)。

将提取到的边缘坐标点连接到MathScript节点的输入中,在MathScript节点中编写三次样条插值和多项式拟合的程序,然后再以1为起始点,1为步长,175为终止点将坐标代入到拟合后的直线当中,可得值,然后将值输入到数控机床当中,数控机床便可以操控滚刷来刮取涂层板的同一区域。程序如图10所示,拟合结果如图11所示。

图10 基本程序框图

图11 拟合结果

3 现场测试

3.1 实验过程

先将涂层展开板放在传送带上,下达指令后传送带开始工作,涂层展开板随着传送带进入暗室内;到达位置后接近开关发送信号给光源控制器打开光源同时触发相机的拍照功能采集图像,采集到图像后涂层板进入待处理工作区中,等待加工;在涂层板离开工作位的同时,计算机对采集到的涂层板图像进行图像处理及谱带边缘位置的识别,然后将得到的同一颜色的边缘坐标信息传输给控制器,进而控制滚刷对谱线中同一区域进行刮取与收集。加工过程如图12所示。

图12 加工过程图

3.2 实验结果分析

从检测精度上来看,在传统的检测过程中,主要是利用人眼区分各个颜色的谱带的边缘位置,然后设置坐标系,用直尺量出边缘的坐标点,然后将坐标点输入到控制器中,进而控制滚刷按照边缘进行同一区域的刮取。加工后的图像如图13所示。

图13 传统加工结果

按照在位检测系统得到的坐标信息对涂层板进行刮取,加工后的图像如图14所示。

图14 基于机器视觉的加工结果

通过观察最下方谱带刮取的效果可发现:传统的加工方法有较大的偏差,并且传统方法走出的轨迹大多是折线,出现了漏刷与错刷现象;而按照视觉系统提供的位置坐标进行加工时,由于采用了拟合的方法,轨迹大多为直线,从而提高了滚刷刮取的准确性,而且整个过程都不需要人工的参与,大大减少了人为因素引起误差的可能性。

从检测速度上来看,传统的人工检测从识别出坐标信息到输入到控制器当中大约需要8 min。而基于机器视觉的在位检测系统从涂层展开板进入暗箱完成图像采集与处理到得出坐标信息输入到PLC控制器当中,此过程时间大约为45 s,所以整个过程的检测速度满足实验的要求。

4 结论

通过对此系统进行现场流水线的加工测试,并与传统的人工检测方法进行对比,得出基于机器视觉的在位检测系统无论是在精度上还是速度上都优于传统的检测方法,因此在实际生产生活中更加适用。通过分析灰度平面与彩色平面对边缘提取的效果,设计了彩色边缘提取方法,同时设计了基于三次样条插值和多项式拟合的边缘检测算法,从而提高了边缘点检测的精度,使机器能准确识别图像边缘,大大减少了人力资源成本。

猜你喜欢
彩色图像均衡化灰度
采用改进导重法的拓扑结构灰度单元过滤技术
Bp-MRI灰度直方图在鉴别移行带前列腺癌与良性前列腺增生中的应用价值
基于二维直方图的彩色图像全局阈值分割方法研究
Arduino小车巡线程序的灰度阈值优化方案
基于FPGA的实时彩色图像边缘检测
基于DCT—DWT—SVD的彩色图像安全存储方案
基础教育均衡化的实施对于现阶段教育发展的重要性
基于热区增强的分段线性变换提高室间隔缺损超声图像可懂度研究
EDIUS 5.1音量均衡化
多聚焦彩色图像融合预处理