双远心视觉精密测量技术研究

2018-08-04 07:19王紫阳刘海生肖光润刘德政王中任
装备制造技术 2018年6期
关键词:畸变算子灰度

王紫阳,刘海生,肖光润,晏 涛,刘德政,王中任

(湖北文理学院机械工程学院,湖北 襄阳441053)

在工业生产中,工件的孔距测量在确保工件装配精度和装配精度中有着重要作用,但是传统的检测方法不能直接测量出孔距,而且检测时间长,检测准确度不高。检测孔间距的一般办法是应用三坐标测量仪,但这种精密设备一般用于恒温测量室,不便于在线检测。相较于三坐标测量机,视觉测量速度更快,适合于工业现场[1]。

在机器视觉的在线检测中,往往因为光学成像系统带来的误差使得测量的精度得不到提高,而且给数据的处理带来了很大的难度,为解决这一问题双远心镜头应运而生,因其具有高分辨率、超宽景深、低畸变等光学特性而被广泛使用,所以,远心测量系统在一定程度上解决了使用一般工业镜头在视差和图像畸变对测量精度的影响。同时,它可以在一定的物距范围内,使得图像放大倍率不随物距变化而变化[2]。因此,适合对小型零件进行精密快速测量。

1 实验平台

如图1所示,为课题组自主开发的双远心测量系统。远心镜头一般分为物方远心镜头、像方远心镜头。双远心镜头综合了物方远心镜头和像方远心镜头的优点,对微小的物距和像距变化均不敏感[3-4],因此,具有区别于普通镜头的优越特性:低畸变、恒大放大倍率、大景深等,因此在机器视觉非接触测量领域中应用广泛常采用特殊设计的远心镜头来避免传统镜头的透视畸变[5]。如表1所示,为相机和远心镜头的详细参数。

图1 双远心测量系统

表1 相机和镜头详细参数

实验选用明场漫射背光照明,明场漫射背光照明在光源前面按有漫射板,光源采用LED平板,光源安放在被测物体的后面,背光方式只显示不透明物体的轮廓,这样可以有效避免使用正面照明造成的反射,当测量孔距时需要通过找到每一个孔的轮廓确定圆心位置,背光源打光时工件轮廓边缘清晰。明场漫射背光原理如图2所示。因为自然光不是单色光,图像处理复杂,所以光源选用蓝色光源,蓝光的波长在430~480 nm之间,波长适中,常用作铝制品或钢制品的光源。

图2 明场漫射背光照明原理

2 测量方法和算法

如图3所示,为二维视觉测量的一般算法步骤,先进行相机标定,把像素值转变为公制单位,然后获取工件图片,进行图像的滤波和分割等预处理,进而拟合亚像素边缘,再通过数据处理,可以获得测量尺寸,通过标定结果把像素值转变为公制单位。

图3 视觉测量算法步骤

视觉里面常规的镜头都存在着畸变,所以常规的镜头标定需要拍若干张标定板的图片通过算法得到相机的内参和外参去矫正畸变的图像,把像素图像坐标转化到世界坐标,但是远心镜头畸变很小可忽略不计,只需得到像素对应的实际距离即可,选用60*60的高精度标定板,相邻圆心间距为7.5 mm,实际距离除像素距离得到每个像素代表的实际距离。得到的标定结果为Pi=0.058 mm.如图4所示,为系统采集到的图像。

图4 采集的图像

为保证测量的精度,对图片采用高斯滤波进行预处理,去除图片中一些小的噪声点的影响。

使用全局阈值对图片进行分段,利用threshold()算子阈值取80~255之间对图像进行二值化定位出所有孔的位置。阈值从输入图像中选择像素,其灰色值g满足以下条件:

满足条件的图像的所有点都作为一个区域返回。如果超过一个灰色值间隔(MinGray和MaxGray的元组),则每个间隔返回一个单独的区域。这里MinGray和MaxGray分别赋值为80和255.

但是由于二值化只能较简单的得到各个孔的位置并不能很好的取出孔洞的边缘位置所以接着运用gray_dilation()进行灰度膨胀得到精度更高的孔洞边界。灰度膨胀,根据图像区域的灰度值膨胀区域,在像素位置x上的一个结构化元素s的灰色值膨胀被定义为:

灰度膨胀之后为得到精度较高的孔洞轮廓,利用edges_sub_pix()算子提取亚像素边缘轮廓。亚像素精度轮廓表示图像两个区域之间的边界,这两个区域中的一个区域的灰度值大于灰度值阈值gsub而另一个区域的灰度值小于gsub.

得到完整的孔洞边缘后进行圆拟合,先将轮廓上的所有点到拟合圆的平方距离进行连加求和,然后使求得的总合最小化。

圆拟合过后,孔间距等效成为图像中圆的中心距离通过area_center()算子得到每一个孔洞圆形区域的中心点坐标。

得到了孔洞之间的中心坐标之后,孔距就是中心坐标之间的距离,也就是点与点之间的距离,利用distance_pp()算子计算出最后的孔距。

3 测量结果及分析

如图5所示,为三坐标测量图。三坐标的测量精度远高于人工卡尺测量,故把三坐标的测量结果设定为标准值,人工卡尺测量和视觉测量结果与三坐标测量结果进行比对,计算出测量的精度误差。

图5 三坐标测量图

通过area_center()算子得到各个孔的中心坐标之后利用distance_pp算子公式:

如图6所示,算子求得的是像素距离,像素距离和Pi的乘积就是所求的实际距离。

图6 测量效果图

如图7所示,实际测量并不能直接求得圆心,可通过游标卡尺量取相邻两孔的最近端与最远端取平均值的方法求得孔间距。每一组孔间距进行五组测量,取平均值,获得人工测量值。

表2给出了测量结果和误差比较。把两种测量结果与三坐标测量结果进行对比,通过计算比较误差大小。经计算,视觉的平均误差为0.004 mm,人工卡尺测量的平均误差为0.34 mm.另外,采用图像测量方法,测量用时为0.78 s,远远快于三坐标测量机。

表2 测量数据比较

4 结束语

本文提出了一种利用双远心镜头进行精密测量孔距的方法。实验结果表明,远心镜头在轮廓测量时十分有效,在明场漫射背光照明的条件下,利用双远心视觉测量系统可以得到比人工接触式测量误差更小的测量结果,在工件二维精密测量方面有有一定的应用价值。

猜你喜欢
畸变算子灰度
与由分数阶Laplace算子生成的热半群相关的微分变换算子的有界性
采用改进导重法的拓扑结构灰度单元过滤技术
斜对角算子矩阵的Weyl谱
拟微分算子在Hp(ω)上的有界性
Bp-MRI灰度直方图在鉴别移行带前列腺癌与良性前列腺增生中的应用价值
Domestication or Foreignization:A Cultural Choice
几何特性对薄壁箱梁畸变效应的影响
在Lightroom中校正镜头与透视畸变
基于最大加权投影求解的彩色图像灰度化对比度保留算法
基于像素重排比对的灰度图彩色化算法研究