APP下载

改进的Canny算法在工业机器人视觉系统中的应用

2023-03-04刘亮亮杨豪亮李晓美

河南科技 2023年3期
关键词:样件算子梯度

刘亮亮 杨豪亮 李晓美

(多氟多新能源科技有限公司,河南 焦作 454150)

0 引言

随着科学技术的发展和产业升级,工业机器人在工业生产中发挥的作用越来越重要。但在机器人智能化赋能提升的过程中,视觉信息存在繁、杂、冗等问题,严重影响机器人视觉技术在机器人工业化生产中的应用[1]。如何从复杂的信息中精准定位产品的特征信息,并通过工业机器人将其表现出来,成为机器人视觉技术的研究重点。由此可知,机器人视觉信息精准定位技术对机器人精准抓取和智能化提升具有重要意义。

通过机器视觉的赋能,不同类型的传统工业机器人在实际工业生产中会形成独特的视觉系统。张聪聪等[2]设计出一种基于机器视觉的装配机器人系统,该系统利用RGB-D 传感器为装配机器人提供视觉系统,并在装配过程中会绕开视觉系统中的障碍物。张洪等[3]设计出一种由视觉引导的双臂装配机器人系统,该系统利用双臂机器人,并结合机器视觉技术,从而完成高精度孔内装配任务。姚晓通等[4]设计出一种基于结构光立体视觉的焊接机器人系统,该系统采用结构光立体视觉技术对焊缝进行检测,从而引导机器人来完成焊接工作。

工业机器人视觉图像处理中的传统Canny 算子存在不足,使工业机器人在实际生产中无法实现精准抓取,使机器视觉技术在工业机器人中的应用存在视觉信息繁、杂、冗等问题。因此,为满足生产制造的柔性化需求,需要提升工业机器人视觉图像的处理能力,这对机器人在生产中智能化提升具有重要意义。

1 传统Canny算法

Canny边缘检测算法是在1986年被提出来[5]。

1.1 高斯滤波器处理图像S(x,y)

高斯滤波器的数学结果是由函数G(x,y)获得的,见式(1)、式(2)。

式中:⊗为卷积运算;σ为标准差,σ的值对图像定位有影响。

1.2 计算梯度强度和方向

传统的Canny 算法是从0°开始,每45°选取一个算子,共选取4个梯度算子,计算正负8个方向梯度。其中,得到Gx为0°和Gy为90°的差分,根据Gx和Gy来计算梯度模和方向,见式(3)、式(4)。

式中:G为梯度;θ为方向。

1.3 应用双阈值确定真实和可能的边缘

通过计算可得到存在缺陷的伪边缘。对抑制的边缘像素点梯度值和双阈值的高低阈值进行比对,从而确定强弱边缘点。

2 改进Canny算法

本研究针对传统Canny 算法要人为设定高斯滤波及高低双阈值参数的问题,对通过中值滤波和迭代法阈值选择算法得到阈值的方法进行改进。传统的Canny 算子存在一定弊端,如高斯滤波和高低双阈值参数要手动设置。为了解决上述弊端,本研究运用中值滤波和迭代法阈值选择算法,直接得到所需的阈值。

2.1 自适应中值滤波

本研究以初始化模板窗口为三阶进行研究。①设范围为Sxy,最大像素为Zmax、最小像素为Zmin、平均像素为Zmed。②判断Zmin<Zmed<Zmax。

2.2 梯度计算

本研究通过Sobel 算子来计算梯度值。旋转方向模板见图1。

图1 四方向梯度模板

本研究取x轴和y轴方向,Sobel 卷积因子见式(5)、式(6)。

为提升效率,通常使用不开方的近似值,见式(7)。

式中:Gx和Gy分别为横向和纵向检测的灰度值;G为标记点的灰度值。

2.3 迭代法阈值选择算法获得高低阈值

优化分割方法的步骤如下。由收集到的灰度值得到Zmax、Zmin和平均灰度值T。将最初阈值设为平均灰度值,见式(8)。

式中:T为初始分割阈值;Zmax为最大灰度值;Zmin为最小灰度值。

2.3.1 根据初始分割阈值T,先分割H1和H2,再求平均值Th、Tl,可得共同平均值,见式(9)。

2.3.2 比较H1和H2均值。若合理,则终止迭代。若不合理,则继续进行迭代,直至满足终止条件。

2.3.3 在迭代算法结束后,将得到的阈值Th、Tl作为双阈值分割的高低阈值。

3 系统总体方案与工作流程

本研究设计的视觉定位抓取系统是将定位和抓取功能合一的系统。其中,视觉定位系统主要是对图像进行采集和处理,抓取系统主要是对样品进行抓取和机器人控制。机器人视觉系统对样件的图像进行甄别,筛选出有用的信息,从而获得样件的位姿信息。样件抓取系统根据视觉系统提供的位姿信息,并将这些信息传递给机器人,进行抓取相关运动,控制机器人对目标工件进行抓取工作。视觉定位抓取系统经计算机内部的通信协议和设备间的信息传递来完成工作。

3.1 图像采集模块

图像采集模块包括光源和深度相机。通过调节光的亮度来凸显目标工件的立体感,从而使信息采集过程中获得的工件信息更完善,便于后期的图像处理。根据形态的不同,光源可分为4 种,即环形光源、条形光源、同轴光源和点光源。本研究根据视觉机器人在工作中的实际应用场景,即要视野较广的光源。因此,本研究选择条形光源。

3.2 图像预处理

3.2.1 图像灰度化。本研究采用平均值法对彩色图像进行灰度化处理,处理后的结果如图2所示。

图2 灰度化处理结果图

3.2.2 图像滤波。相机在拍照过程中,受噪声的干扰,导致拍摄的照片并不能完全显现出样件的特值信息,这样会使样件的精准定位出现误差。

如图3 所示,本研究运用均值滤波算法、高斯滤波算法和中值滤波算法对样件进行实际测试。由图3 可知,高斯滤波算法的效果最好,不仅图像信息保留完整,且受噪声的影响也不大。均值滤波算法测试的图像有部分信息不完整。中值滤波算法的信息处理还算完善,但受噪声影响较大。通过综合比较,本研究选用高斯滤波算法对图像进行预处理。

图3 滤波效果对比图

3.2.3 图像二值化。为了能更便捷地提取特值信息,要对样件照片进行灰度化和滤波处理,得到灰度化图像,并进行区域分割,可得到特值明显、信息完善的样件信息。

3.3 特征提取

图4 为Canny 算子实现边缘检测方法的流程图,按照梯度的方向来识别像素点的梯度值和附近像素点梯度值的差别,如果该像素点的梯度值不是最大值,就默认该点不在边缘上。

图4 Canny边缘检测方法的流程图

传统的Canny 算子存在一定弊端,如高斯滤波和高低双阈值参数要手动设置。为了解决这个弊端,本研究运用中值滤波和迭代法阈值选择算法得到所需的阈值。

图5为传统Canny算子对目标样件的处理结果和改进的Canny算子对目标样件的处理结果。

图5 边缘检测结果图

3.4 视觉定位子系统的试验测试

视觉定位子系统对目标样件进行特值识别和图像处理,通过计算机得到目标样件在图像中的位置信息(即像素坐标),并将像素坐标变换为机器人可识别的三维坐标。此次试验测算的目标样件有两种,先由试验人员测量得到目标样件的实际坐标,再通过视觉定位系统转化坐标,然后比对两组坐标,从而检验该子系统的准确度。六个目标工件在机器人基底坐标系下的三维坐标与实际坐标的对比详见表1。

表1 视觉定位结果对比

(X,Y,Z)是目标工件的实际测量坐标,(x,y,z)是目标工件的识别定位坐标。试验结果表明,相比于传统的Canny 算子,改进的Canny 算子的绝对误差均值减小25%、相对误差均值减小12.5%,可满足视觉定位子系统的定位需求。

4 结语

本研究针对传统Canny 算法要人为设定高斯滤波及高低双阈值参数的问题,通过对中值滤波和迭代法阈值选择算法得到阈值的方法进行改进。改进后的Canny 算子通过中值滤波和迭代法阈值选择算法得到阈值的方法来代替人工输入阈值,可使工位定位绝对误差减小25%,相对误差减小12.5%,使工件的定位精度得到显著提升,并在工业机器人视觉定位系统的实际应用过程中,使机器人的定位误差变得更小。

猜你喜欢

样件算子梯度
论机车散热器出厂前的预膜处理工艺
与由分数阶Laplace算子生成的热半群相关的微分变换算子的有界性
一个带重启步的改进PRP型谱共轭梯度法
一个改进的WYL型三项共轭梯度法
拟微分算子在Hp(ω)上的有界性
Heisenberg群上与Schrödinger算子相关的Riesz变换在Hardy空间上的有界性
一种自适应Dai-Liao共轭梯度法
各向异性次Laplace算子和拟p-次Laplace算子的Picone恒等式及其应用
一个具梯度项的p-Laplace 方程弱解的存在性
浅析天线罩等效样件的电性能测试