APP下载

基于双目视觉系统的LCD端子在线测量研究

2020-07-06黎三峰高全杰花边英

自动化仪表 2020年6期
关键词:端子滤波像素

黎三峰,高全杰,宋 建,花边英

(1.武汉科技大学冶金装备及其控制教育部重点实验室,湖北 武汉 430081; 2.武汉科技大学机械传动与控制工程湖北省重点实验室,湖北 武汉 430081; 3.东莞市奕东电子有限公司,广东 东莞 523106)

0 引言

随着工业4.0的推进,各行业对产品加工和测量的自动化要求越来越高。面对大批量零件的连续生产,传统的人工测量方法已不能满足当前的行业需求。因此,一种基于机器视觉的测量方式应运而生[1]。

国内研究学者对视觉测量的方法进行了多方面的研究。文献[2]对机器视觉测量的关键理论和算法进行了深入研究和实际应用,利用二维亚像素边缘提取的方法,以及对工件的测量和系统的精度分析。文献[3]采用面阵相机作为传感器,设计的在线测量系统解决了视觉系统的标定问题,实现了对机械零件尺寸的高精密测量;结合开源的Opencv库,实现了图像处理模块的编程和算法调试。文献[4]设计的基于计算机视觉测量零件几何尺寸的测量系统,可以测量三种零件的几何尺寸,实现了平面几何尺寸的测量。文献[5]采用双目相机校准、图像去噪处理和立体匹配方法,实现工件尺寸的测量。文献[6]使用改进的方法,解决了相机模型内部和外部参数,以实现零件空间尺寸的测量。这些方法仅适用于单个静态物体的尺寸检测,不适用于流水线传输时精密零件的测量。

本文采用双目测量方式,结合光电传感器和光源控制器,搭建了一套面向工业大批量生产的零件、应用于工业自动化流水线生产的在线测量系统。同时,从影响视觉测量精度的四个要素着手,对相机标定的优化、视觉矫正、图像滤波处理和算法改进等方面进行研究。研究结果为视觉系统的设计和优化提供理论依据和科学依据,提高了试验的测量精度和效率。

1 双目视觉平面几何尺寸测量系统

1.1 系统结构

本文对细长筋发光二极管(light emitting diode,LED)端子进行研究,主要设计了细长筋LCD端子的双目在线测量系统,实现了大批量零件流水线传输时的在线尺寸测量。双目视觉系统结构框图如图1所示。

图1 双目视觉系统结构框图

图像采集是对被检测的工件进行拍摄并发送图像到计算机上的过程,主要由相机、镜头、照明系统等组成。图像采集是机器视觉表面缺陷检测系统的重要组成部分,所采集到的图像质量决定了图像处理系统对图像处理的难易程度;缺陷检测与分类过程在计算机上完成,以数字图像处理和相关的算法完成对图像中待测信息的检测,对不同类型的缺陷进行分析,在显示屏上显示检测的结果。主要测量LCD端子的部位有叉长、头宽、间距和开口大小。出料装置宽度可自由调节,可适应不同宽度的产品,最大75 mm,最小20 mm。导轮位置可自由调控,上下按、转弹簧压力装置可以更好的贴合产品,还可以根据力度自动调节合适的压力,保证在不损伤产品的情况下正常传动。对于不合格的零件,系统利用相机帧率信息、传送带传输速率信息,将不合格的零件移入倒料装置。

1.2 双目视觉基本原理

图2 双目视觉原理图

2 双目视觉测量模型

2.1 计算内参和外参的初值

通过求解线性方程组得到投影矩阵M,将矩阵M作为标定结果。参考文献[7]中,Zhang的结果是得到摄像机的内参和外参,如式(1)~式(3)所示。

(1)

(2)

T=[t1t2t3]T

(3)

(4)

(5)

式中:A为相机的内参矩阵;γ为像素点在x、y方向上尺度的偏差;u0、v0为摄像机内部参数,如果忽略该参数,可设定γ=0;(u0,v0)为基准点;R为外参旋转矩阵;T为平移向量[8];f为焦距;dx为像素的宽;dy为像素的高。

根据针孔成像原理,将世界坐标点变换为理想像素点,如式(6)所示。

(6)

将标定模板所在的平面设为世界坐标系的ZW=0平面,可得式(7)。

(7)

令M=[XY1]T、m=[uv1]T,则有sm=HM。其中:

(8)

式中:H为单位性矩阵。

2.2 单应矩阵求解摄像机内外参数

式(8)可以改写成式(9)。

[h1h2h3]=λA[r1r2t]

(9)

式中:λ为比例因子;r1、r2为单位正交向量。

(10)

(11)

根据内参矩阵A的参数fx、fy、cx、cy、γ,可得到三个不同的单应性矩阵,从而计算出摄像机的内部参数。对得到的方程作一些变换。令:

(12)

由式(12)可以看出,B为对称矩阵,有三对对称的元素是相等的,故B的有效元素为6个。将这6个元素构成向量b:

b=[B11B12B22B13B23B33]T

(13)

令H的第i列向量为hi=[hi1hi2hi3],则:

(14)

其中:

Vij=[hi1hj1hi1hj2+hi2hj1hi2hj2h31hj1+

hi1hj3h31hj1+hi3hj3hi3hj3]T

(15)

将内参写成如式(16)所示的方程。

(16)

假设有n幅图像,可得线性方程:

Vb=0

式中:V为2n×6的矩阵。

当n≥3时,可得式(17)的方程,求得摄像机内部参数,然后利用单应性矩阵H,计算每幅图像的外参。

(17)

2.3 最大似然估计优化

上述推导结果基于理想的解决方案。LCD端子在加工过程中可能存在高斯噪声,故采用最大似然估计[8]进行优化。采集n幅棋盘格图像进行标定,每个图像里有m个角点。将图像上的第i幅图像上的角点Mj的投影点设为:

m=(A,Ri,ti,Mij)=A[R|t]Mij

(18)

式中:Rj和ti分别为第i幅图对应的旋转矩阵和平移向量。

则mij的概率密度函数为:

(19)

构造似然函数:

(20)

为使L取得最大值,即要使式(21)最小。

(21)

使用最大似然优化得到的结果,根据Levenberg-Marquardt(LM)法计算下列函数最小的参数值:

(22)

3 视觉矫正

3.1 原图像进行极线校正

在两张图片中寻找对应点是个十分复杂的工作。因此,需要对原图像进行极线校正,将两个不同视角的图片校正到同一平面上,即在同一水平线上搜索。校正后的原理图如图3所示。

图3 校正后的原理图

从图3可知,将原图像经过极线校正之后,p和p′点、q和q′点的y坐标相同。然后,进行一维搜索,找到两个相机的对应点。

3.2 获取深度信息

将校正后的原理图切换为上视角图。此时,可以忽略y轴。

极线校正后的上视角如图4所示。

图4 极线校正后的上视角图

此时,物点N的对应点为p和p′。Z就是要求的物点N深度信息。由三角形Npp′与NO1O2相似,可得:

(23)

式中:h为相机平面宽度的一半。

可得:

(24)

(25)

式中:(XR-XT)为对应点之间的视差;B、f分别为视觉系统的系统参数。

4 LCD端子图像预处理及特征提取

4.1 图像噪声

由于电耦合器件(charge coupled device,CCD)摄像机在采集图像的过程中,可能会受到采集装置和工作环境的影响,使采集到的图像中含有噪声。噪声通常是随机产生的,因此分布不规则,使得有些噪声和图像信号之间是互相关联的。因此,必须根据具体情况,采用不同的方法来减少图像中的噪声。

4.2 图像去噪

在采集LCD端子图像的过程中,往往受到釆集现场的环境、光照和机器运行过程中相机的抖动等因素的影响。其中不可避免地引入了噪声,对图像处理造成干扰,影响测量结果的准确度。因此,需对采集到的图像进行滤波操作,以排除噪声的干扰。对LCD端子,主要研究了图像空域滤波中的均值滤波、中值滤波和高斯滤波[9]。

图5为LCD端子示意图。其中:图5(a)为原始图像。高斯滤波主要是衰减像素附近光强的变化,对整幅图像按照加权求平均的过程,获得每个像素的值。该方法可以去除图像中的高斯噪声,并更好地保留图像边缘信息。图5(b)所示为高斯滤波后的LCD端子。均值滤波是选取像素点的一个邻域,用全体像素的平均值代替原来的像素值。该方法去噪时,破坏了图像的细节部分,不能很好地去除噪声点。图5(c)为均值滤波后的LCD端子图像。中值滤波原理是选取像素点的一个邻域,将邻域中所有像素的灰度值进行排序,并选取中间的像素值代替原来的像素值,能有效保护图像尖锐的边缘,对噪声处理效果好。图5(d)为中值滤波后的LCD端子。

图5 LCD端子示意图

将LCD端子滤波算法试验结果如表1所示。由表1可知,高斯滤波算法对图像的去噪效果明显。因此,系统采用高斯滤波算法对图像进行去噪。

表1 LCD端子滤波算法试验结果

4.3 形态学处理

为提取LCD端子的边缘特征,需对滤波后的图片进行形态学处理。在获取LCD端子特征的过程中,首先需有效地去除噪声,保留图像中原有的信息。然后,用形态学的方法,提取相对平滑的边缘、图像相对完整的骨架。最后,可以在图像中查找明显的最大值或最小值区域。

4.3.1 图像膨胀

膨胀操作首先将描点滑过整个图像,其次对描点所覆盖区域像素的最大值进行提取,最后使用最大像素值来替换描点位置的相素。图像膨胀过程如图6所示。图6中:A为原始图像膨胀前区域;B为结构原元素;A⊕B为图像膨胀后区域。

图6 图像膨胀过程示意图

膨胀公式如下:

dst(x,y)=max[src(x+x′,y+y′)]

(26)

4.3.2 图像腐蚀

图像腐蚀是先提取由结构元素覆盖下的最小像素值,然后标记与目标图像中的结构元素相同的子图像的原点位置的像素,最后替换图形位置处的像素。图像腐蚀过程如图7所示。图7中:A为原始图像腐蚀前区域;B为结构元素;AB为图像腐蚀后区域。

图7 图像腐蚀过程示意图

腐蚀公式如下:

dst(x,y)=min[src(x+x′,y+y′)]

(27)

式中:x′、y′不为0。

在高斯滤波后,对LCD端子图像进行腐蚀。将腐蚀后的图像与原图像对比,前者的直线边缘细节更加明显,有利于特征点提取。

4.4 LCD端子的边缘检测

结合LCD端子具有陡峭边缘的结构特点,由于Hough变换对LCD端子的图像处理效果较好,故采用该算法对LCD端子进行边缘检测。

4.4.1 直线的Hough变换

在图像x-y坐标空间中,过点(xi,yi)的直线表示为:

yi=axi+b

(28)

式中:a为斜率;b为截距。

通过点(xi,yi)的直线分别对应不同的a、b值,它们都满足式(28)。将xi、yi看作常数,参数a、b看作变量,则式(28)可表示为:

b=-xia+yi

(29)

将参数变换到平面a-b。该直线是图像坐标点(xi,yi)在参数空间的唯一方程。图像坐标空间另外两点(xj,yj)和(xk,yk)对应的两条直线可表示为:

(30)

直线与点(xi,yi)在参数空间的直线相交于一点(a0,b0)。直角坐标中的Hough变换如图8所示。

图8 直角坐标中的Hough变换

Hough变换是将图像坐标转换为Hough参数空间,常用于零件特征检测[10]。在参数空间用极值点的检测,实现直线的拟合。通过寻找几何形状的参数,直线就会得到直线的斜率k与常数b,圆就会得到圆心与半径。Hough变换后的LCD端子如图9所示。

图9 Hough变换后的LCD端子图

4.4.2 改进的Hough变换直线检测算法

由于直线拟合需要降低噪声的强度,当像素点附近存在大量噪声时,拟合的误差率较大,检测出来的直线精度低[11-12]。故本文采用改进的Hough变换来检测LCD端子的直线。改进的Hough变换后的LCD端子如图10所示。

图10 改进的Hough变换后的LCD端子图

改进的Hough变换直线检测方法能更精确地检测出直线的轮廓,避免错检和漏检,加快计算速度。采用的计算过程如下。

①首先,采用Canny算子进行相减,得到单个像素宽度的边缘。

②计算每一边缘点0°,10°,…,360°的梯度方向的幅值与角度,计算每个方向上的点的个数;以边缘点个数最多的方向作为直线方向,同时进行梯度方向值拟合。

③得到大致方向后,剔除小于此方向的低阈值的边缘点像素。

④在直线方向的±n°内作Hough变换,从而检测出最大阈值的直线。如果图像空间中某像素点的灰度值越高,则说明直线在与像素对应的参数空间中经过的点越多,通过降噪处理获得图像的角度、距离范围。改进的Hough变换直线检测方法能够区分累加器中最大的噪声峰值和有效峰值。试验结果表明,该方法比传统的检测方法精度更优、鲁棒性更好、速率更高。

5 试验结果及数据分析

通过摄像机标定、LCD端子轮廓特征提取及匹配等一系列操作后,得到LCD端子的边缘轮廓。采用改进的Hough变换对得到的LCD端子轮廓进行空间直线拟合,得到直线的相关信息,实现LCD端子的测量。改进前后的2种算法时对不同噪声比图像直线检测的耗时如表2所示。由表2可知,在相同的环境下,通过改进的Hough算法检测时间比标准的Hough算法时间缩短了约0.2~0.3 s,提升了产品检测速率,满足了测量的需求。

表2 2种算法对不同噪声比图像直线检测的耗时

改进前后算法测量LCD端子部分关键尺寸结果分别如表3、表4所示。

表3 算法测量LCD端子部分关键尺寸结果(改进前)

表4 算法测量LCD端子部分关键尺寸结果(改进后)

由表3、表4数据分析可知,改进后的Hough变换算法在线测量系统的测量精度较高,重复性误差较小,符合偏差范围。由此说明,该方法针对LCD端子测量的有效性及实用性。a、b、c、d依次为LCD端子的开口、叉长、头宽和间距尺寸。

6 结论

针对工业自动化的发展趋势,利用CCD摄像机及背光源等设备,搭建了一套在线测量系统,并对影响系统测量精度的相机标定、视觉矫正、图像滤波处理和算法改进等四个要素进行了分析与改进。该研究实现了LCD端子的高精度测量,开口的长度为0.850~0.920 mm,叉长为1.950~2.100 mm,头宽为1.200~1.500 mm,间距为1.900~2.100 mm。试验研究和分析结果表明:该系统的测量精度较高、鲁棒性较好,满足检测要求,且适用于流水线零件的批量尺寸检测。该研究对小工件尺寸测量具有重要的参考意义,在工业自动化领域也具有一定应用价值。

猜你喜欢

端子滤波像素
像素前线之“幻影”2000
汽车新型搭铁端子的设计与应用
2011 款大众EOS 车发动机偶尔无法起动
“像素”仙人掌
基于EKF滤波的UWB无人机室内定位研究
熔断型端子压接模具研究
双排端子结构的ZIF连接器
高像素不是全部
一种GMPHD滤波改进算法及仿真研究
基于自适应Kalman滤波的改进PSO算法