单目机器视觉测量精度可靠性建模与分析
2022-04-25周金宇程锦翔
尹 鑫,周金宇,程锦翔
(1.江苏理工学院机械工程学院,江苏 常州 213001;2.金陵科技学院机电工程学院,江苏 南京 211169)
随着制造业的不断发展,对机械零件检测的要求越来越高。机械零件的检测涉及长度、角度、直线度和平行度等方面,通常有以下三种方法:传统的人工检测方法、基于激光技术的检测方法[1-2]和基于机器视觉的检测方法[3-4]。传统的人工检测方法在很多时候难以满足人们的需求;激光技术检测方法对硬件要求较高,成本相对较高;基于机器视觉的检测方法具有非接触、高精度、高效率的优点。王晓杰等[5]对低对比度物体的高精度尺寸测量技术进行研究。周靖等[6]采用机器视觉技术研究了螺栓松动角度的测量问题,最大测量相对误差为5.4%。张伟等[7]采用机器视觉技术对轴类零件的直线度进行检测,94%以上与三坐标测量仪测量结果的误差在10 μm以内。陈晖等[8]采用旋转投影法评定了轴类零件轴线的直线度误差。贠今天等[9]提出一种基于数字图像处理技术的大型轴类零件的平行度测量方法。鉴于对单目机器视觉测量技术的定量研究较少,本文考虑正常工作时外界光照、随机噪声和观测角度三个不确定性因素,采用蒙特卡罗法研究单目机器视觉技术测量机械零件长度、角度、直线度和平行度的可靠性问题。
1 图像处理
1.1 边缘检测
边缘检测算法是机器视觉测量系统的关键,影响机器视觉测量的效率和精度。常用的边缘检测算子[10-11]有Roberts算子、Prewitt算子、Sobel算子、拉普拉斯算子、高斯-拉普拉斯(LOG)算子、Canny算子、小波算子以及亚像素边缘检测算子等。
本文采用LOG算子对矩形块图片进行边缘检测,具体步骤如下:
1)采用高斯函数对图像进行平滑处理,高斯函数定义如下:
(1)
式中,σ为高斯系数,决定图像的平滑程度。
2)采用拉普拉斯算子检测边缘位置,即:
(2)
3)细化边缘,减少虚假边缘,若该点梯度为局部最大值,则该点被判定为边缘。
1.2 计算像素当量
对矩形块四条边的边缘像素分别采用最小二乘法拟合,以边缘上每一个像素到边缘直线距离的平方和最小为目标,得到最佳边缘。边缘检测后存在部分干扰点,考虑边缘厚度和边缘连续性的因素,再次采用最小二乘法拟合,得到最终的四条边缘直线。
从两条相邻边缘各取a个点,计算a个点到对边边缘的距离并取平均值作为矩形的像素长和像素宽,分别记为L1,L2。像素当量可表示为:
(3)
式中,l1为采用三坐标测量仪测得的矩形块的长,单位为mm。
2 特征检测
2.1 长度和角度检测
当计算得到像素当量后,将图像中长度单位转化为mm,长度测量误差函数定义为:
y=l2-ρL2
(4)
式中,l2为采用三坐标测量仪测得的矩形块的宽,单位为mm。
采用最小二乘法拟合边缘直线得到边缘直线的斜率,任意两条边缘的夹角表示为:
(5)
式中,k1和k2为采用最小二乘法拟合得到的边缘直线的斜率。
角度测量误差函数定义为:
y=θ1-θ
(6)
式中,θ1为采用三坐标测量仪测得的角度。
2.2 直线度检测
设图像中任意一条边缘直线为k1x+y+b1=0,则直线两侧距离直线最远和最近的像素点所在直线分别表示为k1x+y+b2=0和k1x+y+b3=0(图1)。根据检测到的二维图像平面,直线度的公差带为等于公差t1的两条平行线所限定的区域,t1表示为:
图1 直线度公差带
图2 平行度公差带
(7)
2.3 平行度检测
以图像中任意一条边缘直线k2x+y+b4=0为基准线,则基准线的对边边缘距离基准线最远和最近的像素点所在直线分别表示为k2x+y+b5=0和k2x+y+b6=0(图2)。根据检测到的二维图像平面,平行度的公差带为等于公差t2的两条平行线所限定的区域,t2表示为:
(8)
3 可靠性建模
影响单目机器视觉测量误差的不确定性因素有很多,本文主要考虑光照、随机噪声和观测角度这三个。采用泊松噪声模拟外界光照对图像产生的扰动,采用高斯噪声模拟图像中的随机噪声,假设观测角度服从均匀分布。
采用蒙特卡洛法[12]模拟计算单目机器视觉可靠度的整体流程,如图3所示,其中c为蒙特卡洛法模拟中测量值不在给定区间内的个数。
图3 蒙特卡洛法模拟流程
可靠度计算公式表示为:
(9)
4 实验结果与分析
取20 mm×34.92 mm的矩形块作为研究对象,采用OSR500-20GM相机在不同时间段拍摄得到390幅观测角度不同的矩形块图像,相机的分辨率为2 592×1 944,像素深度为8 bit,镜头的焦距为16 mm。标定相机[13-15]得到相机的内外参数,在理想图像中体现相机畸变对图像的影响,并考虑外界光照扰动、随机噪声和观测角度变化对图像的影响。
4.1 长度检测
根据式(4)采用视觉技术得到矩形块长度测量误差分布,见图4。根据图3采用蒙特卡洛法模拟10 000次得到长度测量误差分布,见图5。
图4 视觉长度测量误差分布
图5 数值模拟长度测量误差分布
采用视觉技术测得的长度误差均值为20.10 μm,标准差为0.703 2 μm。蒙特卡洛法模拟得到的长度误差均值为20.32 μm,与视觉技术测量的结果相差0.22 μm,标准差为3.459 μm。仅考虑泊松噪声、高斯噪声或观测角度变化时,误差的均值分别为19.02、20.39、14.46 μm,标准差分别为0.414 1、0.188 6、6.359 μm,变异系数分别为0.021 8、0.092 5、0.439 8。
结果表明:蒙特卡洛法模拟和视觉技术测得的长度误差均值相近,观测角度对长度测量误差结果分散性的影响最大,随机噪声对长度测量误差均值影响最大。
4.2 角度检测
根据式(6)采用视觉技术得到矩形块角度测量误差分布,见图6。采用蒙特卡洛法模拟10 000次得到角度测量误差分布,见图7。
图6 视觉角度测量误差分布
图7 数值模拟角度测量误差分布
采用视觉技术测得的角度误差均值为0.032 0°,标准差为0.000 3°。蒙特卡洛法模拟得到的角度误差均值为0.024 7°,与视觉技术测量的结果相差0.007 3°,标准差为0.002 5°。仅考虑泊松噪声、高斯噪声或观测角度变化时,误差的均值分别为0.023 3°、0.023 9°、0.021 6°,标准差分别为0.001 3°、0.001 5°、0.023 6°,变异系数分别为0.055 80、0.062 76、1.092 60。
结果表明:蒙特卡洛法模拟和视觉技术测得的角度测量误差均值相近,观测角度对角度测量误差结果分散性的影响最大,随机噪声对角度测量误差均值影响最大。
4.3 直线度检测
根据式(7)采用视觉技术得到矩形块直线度公差测量分布,见图8。采用蒙特卡洛法模拟10 000次得到直线度公差测量分布,见图9。
图8 视觉直线度公差测量分布
图9 数值模拟直线度公差测量分布
采用三坐标测量仪测得直线度公差为0.089 0 mm,采用视觉技术测得的直线度公差均值为0.108 9 mm,标准差为0.003 8 mm。蒙特卡洛法模拟得到的直线度公差均值为0.106 7 mm,与视觉技术测量的结果相差0.002 2 mm,标准差为0.020 6 mm。仅考虑泊松噪声、高斯噪声或观测角度变化时,直线度公差的均值分别为0.097 9、0.101 6、0.105 6 mm,标准差分别为0.013 3、0.013 7、0.013 7 mm,变异系数分别为0.135 9、0.134 8、0.122 2。
结果表明:蒙特卡洛法模拟和视觉技术测得的直线度公差均值相差较小,三个因素造成测量结果的分散性程度基本一致。
4.4 平行度检测
根据式(8)采用视觉技术得到矩形块平行度公差测量分布,见图10。采用蒙特卡洛法模拟10 000次得到平行度公差测量分布见,图11。
图10 视觉平行度公差测量分布
图11 数值模拟平行度公差测量分布
采用三坐标测量仪测得平行度公差为0.093 3 mm,采用视觉技术测得的平行度公差均值为0.112 2 mm,标准差为0.002 9 mm。蒙特卡洛法模拟得到的平行度公差均值为0.144 1 mm,与视觉技术测量的结果相差0.031 9 mm,标准差为0.106 2 mm。仅考虑泊松噪声、高斯噪声或观测角度变化时,平行度公差的均值分别为0.137 5、0.136 3、0.147 6 mm,标准差分别为0.012 6、0.011 4、0.072 6 mm,变异系数分别为0.091 6、0.083 6、0.491 9。
结果表明:蒙特卡洛法模拟和视觉技术测得的平行度公差均值相差较小,观测角度对平行度公差检测结果分散性的影响相对较大,光照和随机噪声对平行度公差检测结果分散性的影响大致相同。
实验和蒙特卡洛法模拟得到的长度、角度、直线度和平行度的可靠度见表1。本文采用的基于视觉测量方法测量矩形块尺寸和形位公差的可靠度大部分在0.9及以上,采用的蒙特卡洛法模拟测量的可靠度大部分在0.9左右。
表1 尺寸、形位公差测量可靠度
5 结 语
本文提出一种单目机器视觉测量精度可靠性建模与分析方法,采用蒙特卡洛法模拟计算并结合实验验证。观测角度对长度和角度测量结果分散性的影响较大,光照、随机噪声和角度对直线度和平行度的测量结果分散性的影响较小。采用视觉测量技术与蒙特卡洛法模拟测量矩形块尺寸和形位公差的可靠度均较高,证明本文采用的基于机器视觉的测量方法和提出的机器视觉精度可靠性模型较为合理。
本文采用的基于机器视觉的测量方法原理简单、检测速度较快,符合现代制造业对检测技术高效率、非接触、高精度的要求,但是在测量精度方面还有进一步提升的空间。