APP下载

自动钻孔机视觉定位系统设计

2021-09-10李名

机电工程技术 2021年2期

李名

关键词:图像畸变;Canny边缘检测;Hough变换

0引言

随着人工智能的火热,机器视觉作为人工智能的一个发展方向发展迅猛,机器视觉即用机器代替人眼来做测量和判断。机器视觉系统是通过机器视觉产品将被摄取目标转换成图像信号,传送给专用的图像处理系统,得到被摄目标的形态信息,根据像素分布和亮度、颜色等信息,转变成数字化信号;图像系统对这些信号进行各种运算来抽取目标的特征,进而根据判别的结果来控制现场的设备动作。本文设计相应的机器视觉系统,应用于自动钻孔机械手,对带有标记的目标获取的图像,通过数据进行处理,确定物体实际位置坐标,经处理转换传输到控制终端,进而控制机械进行精确操作,以提高生产效率。

1系统原理

1.1相机成像原理

如图1所示,点P所在平面为世界坐标平面,点P和点P所在平面为图像投影平面。相机成像的过程其实是4个坐标系的转换,首先空问中的一点由“世界坐标系”转换到“摄像机坐标系”,然后再将其投影到“图像物理坐标系”,最后再将成像平面上的数据转换到“图像像素坐标系”。转换关系为:

在转换关系中.被称为相机的内参数,称为相机的外参数。在成像过程中,首先需要确定内参数中R矩阵和t矩阵,这2个矩阵与相机相关,与拍摄距离等其他因素无关;相应的,当距离变化时,根据不同的变换关系确定外参数,最后得到转换关系公式,对相应像素点进行坐标变换。

1.2系统设计介绍

整个系统由相机作为输入源,考虑到c++可以编写相应的图形界面和触发按键,并生成相应的可执行文件,所以设计中选用c++语言作为编程语言。编写c++程序对获取的图像数据进行降噪和灰度处理并进行图像校正,再通过检测算法得到标记位置的世界坐标偏差,系统工作流程如图2所示。

首先,通过调用相机的API打开连接到的相机设备,之后相机将采集到的实时图像数据传人数据缓冲区,当到达指定采集区域后将图像进行处理。处理过程中,要先将图像进行灰度处理、白平衡和降噪处理,再将处理后的图像进行矫正以消除相机畸变带来的误差。之后,针对选取的标签类型和位置进行识别。最后将识别到的像素位置与世界坐标位置进行转换,最终得到世界坐标的位移偏差。传输至PLC控制终端,控制机械到达指定位置,进行钻孔作业。

2系统设计

2.1图像获取

在相机启动之后,通过调用相机API,将相机采集到的实时数据保存在数据缓冲区内,当触发按键按下或內置定时器触发,相应的RGB图像信息将传输进入c++处理程序,当接收到图像信息后,程序会先将图像信息保存至硬盘存档,之后再对原始图像进行相应的图像处理操作。

2.2图像校正

如在相机成像原理中所介绍的,相机成像的过程其实是4个坐标系的转换,而在转换过程中会产生畸变,其中以径向畸变和切向畸变为主。径向畸变主要是相机中透镜的制造工艺造成的,成像时越靠近边缘,相应的径向畸变越严重;切向畸变则是因为相机中的透镜和CMOS的相对位置有偏差。无论是径向畸变还是切向畸变都会对相机丞相和定位造成一定的影响,所以需要降低这方面的影响,进行图像校正。

校正中,根据相机成像原理中的转换关系,通过对不同角度下所拍摄的标定板中各个角点坐标的计算,最终得到相机内参数矩阵、畸变系数、旋转变量、旋转矩阵和平移变量。通过得到的内参数矩阵和畸变系数代人式(2)中,得到畸变矫正后的图像。

校正前图像如图3所示,校正后图像如图4所示。

比较图像校正前后的图像,可以发现在校正之后图像的中心区域有“下陷”的现象,使得图像中线条更平直,抵消了畸变所带来的影响,所得图像更接近实际情况;同时图像四周的边缘位置图像会扭曲变形,这也是图像畸变的一种体现。由校正前后的比较可以得出,图像校正后中心区域的图像更为真实可靠,而靠近边缘的部分由于畸变过大不可采用,所以在采集和处理图像时应选用靠近中心区域的图像,边缘部分图像数据应舍弃。

2.3灰度处理

灰度处理主要是为了将相机获取到的RGB三通道彩色图像,经过多通道融合操作处理成为更易于处理的灰度图像,方便之后的图像处理。

相机得到的图像数据是彩色图片,由RGB(红绿蓝)3个通道共同表示,为了简化后续的图像操作,提高处理速度,避免不必要的干扰,把图像中相同位置的3个通道的像素值进行融合,常见的灰度处理方法有平均法、加权平均法、最大值法。

针对系统需求和实验结果比较,选用加权平均法,假设原始图像大小为M×N,加权平均法为每个通道乘以一定的权重后求和,得到的结果就是该点的单通道灰度值。获取图像的像素大小,遍历图像中所有的像素点,对像素点进行加权平均操作,得到各个点的单通道灰度值。

图像灰度处理后,仍保留了图像中的特征信息,但是灰度后的图像大大降低了图像处理的难度,提升了处理速度,所以后续处理中程序都会用灰度处理后得到的图像进行操作。

2.4 Canny边缘检测

Canny边缘检测是一种非常流行的边缘检测算法,是一个分阶段的复杂图像处理算法,具有较低的错误率且边缘定位准确的优点,主要由图像二值化、图像降噪、图像梯度计算、非极大值抑制和阈值筛选等几个部分组成。

2.4.1图像二值化

Canny算法要求图像一定是二值化图像,图像二值化是在灰度图像的基础上进一步简化图像的数据量,突出目标图像的轮廓以方便后续处理。

常见的二值化算法主要有平均值法、百分比阈值法、最大熵法等。本文采用百分比阈值法,通过计算整个图像的阈值,将超过一定百分比的图像设为0,其他图像设为255。选用百分比阈值法是因为其可以消减因为曝光和亮度的不同所带来的灰度上的差别,减少因为边缘轮廓识别不准确、不清晰带来的问题。

因为系统工作环境昏暗,主要依靠外界补光,所以图像的灰度比较一致,即使因为有其他光线干扰或光线不充足,通过灰度阈值法也可以将图像有效地二值化。

2.4.2高斯滤波

高斯滤波主要作用就是去除噪声干扰,任何边缘检测算法都不可能在未经处理的原始数据上很好地处理,所以第一步是对原始数据与高斯滤波器做卷积,得到的图像与原始图像相比有些轻微的模糊。使得单独的一个像素噪声在经过高斯平滑的图像上变得几乎没有影响。根据公式可以得到大小为(2K+1)×(2K+1)的高斯滤波器的核为:

经实验证明,高斯滤波作为一种线性平滑滤波方法,可以很好地消除图像中的噪声,高斯滤波中对像素进行了加权平均并以新的像素值替代之前的像素值,最终消除各个噪声点的影响。实验对比得出,选用3×3的卷积核可以达到降噪需求且降噪效果最好,最大程度上降低了噪声的影响。

2.4.3梯度计算

在经过了图像二值化和高斯滤波去除噪声以后,图像中的相应边缘仍然可以指向任意方向,所以需要对图像中的像素进行幅值和方向上的计算。通过对水平、垂直和对角边缘上各个算子的计算,确定像素点的梯度值和方向角,方便确定直线。

2.5标签检测

在检测中心时,通过对比常见的圆形标签、十字形标签和正方形标签,分别采用了Hough变换和二值图像交叉点检测等方法,最终选定圆形标签纸和Hough变换作为检测目标和检测方法。

首先,Hough变换的检测目标是圆形物体,可以直接过滤掉实际环境中众多非规则和非圆形的物体,大大降低了处理的复杂度;其次,Hough变换对噪声点并不敏感,细小的噪声点和不规则的物体不能影响到Hough变换的准确度。但是Hough变换的整体计算量很大,Hough变换是通过投票选举的方式,在一定的限制条件下寻找合适的圆心和半径,所以从Canny边缘检测的结果中选取圆形物体的计算量是比较大的,适合没有噪声且物体一致性比较高的检测模式。

Hough圆形检测的原理是通过计算经过Canny边缘检测得出的轮廓点处的梯度向量,然后根据搜索的半径R在该梯度方向距离轮廓点距离R的两边各投一点,最后根据投票结果确定圆心位置,当某一点的得票数超过设定的阈值,则认为这一点是需要的圆心,并确定相应的半径。Hough圆形检测原理示意图如图5所示。

Hough变换检测圆心是以投票的形式获得的,计算复杂度高,计算速度慢,但是对噪声抑制性好,准确度高,适合对一致性较高的圆形物体的重心进行检测。

3软件设计

通过将图像数据输入系统,在计算确定了内参数和外参数后,根据相机成像转换关系的矩阵,把像素坐标转换成实际位置坐标,输出到日志和PLC终端中。程序将Hough变换检测结果中圆心及找到的圆标识在原图中,Hough变换检测结果如图6所示。软件日志中会显示检测到圆的半径和圆心坐标相應的软件日志输出,如图7所示。从图中展示的结果来看,本文方法可以很好地对圆心和半径进行识别,准确度很高。识别过程中,对噪声的抑制性好,对不同颜色和不同大小的标签识别度良好,坐标位置的识别准确,误差较小。

4结束语

本文设计了自动钻孔机视觉定位系统,针对图像采集过程中图像畸变和像素距离转换的问题,提出对图像进行白平衡、降噪、灰度处理、二值化、Canny边缘检测、Hough变换等一系列图像处理方法,最终能准确识别图中圆心和半径。系统的应用效果表明本文提出的方法对噪声具有较强的抗性,且识别性能良好。该系统通过确定物体实际位置坐标,将位置信息传输到控制终端,进而控制机械进行精确操作,能提高生产效率,是一种可行的视觉定位系统。