文章信息
- 戴宗贤, 莫洪波, 周勇, 张震, 尹爱军, 梁子晓
- DAI Zongxian, MO Hongbo, ZHOU Yong, ZHANG Zhen, YIN Aijun, LIANG Zixiao
- 基于灰度的亚像素插值视觉测量方法
- A sub-pixel interpolation vision measurement method based on graph gray level
- 中国测试, 2019, 45(5): 33-37
- CHINA MEASUREMENT & TEST, 2019, 45(5): 33-37
- http://dx.doi.org/10.11857/j.issn.1674-5124.2018030114
-
文章历史
- 收稿日期: 2018-03-30
- 收到修改稿日期: 2018-04-24
2. 重庆大学机械工程学院,重庆 400044
2. College of Mechanical Engineering, Chongqing University, Chongqing 400044, China
几何尺寸测量在现代工业中有着重要作用,是保证产品质量的关键。随着科技与工业生产的发展,对零件几何尺寸的测量精度及效率提出了更高要求。传统的接触式测量主要利用探头接触待测物体表面,从而获得所需参数信息,如卡尺、千分尺等。但该方法易受设备和人为因素影响,只适合小批量和一般精度的测量。在高精度测量中,如三坐标测量机、光学影像测量机等检测设备复杂昂贵难以广泛应用。近年来兴起的非接触测量技术因其高效、无损、高分辨率的检测优点而逐渐受到重视[1-3],随着图像处理等技术的发展,视觉测量作为一种非接触测量方法已得到广泛研究与应用。
国外对几何尺寸视觉检测方面的研究起步较早,目前已经达到较高水平,Jan Fischer等[4]研究了线性插值的亚像元位置测量系统,针对传感器不同质像素敏感性分布的缺点,提出一种线性插值方法。Eric等[5]研究了高精度机械位移与应变的视觉测量,提出视觉敏感性概念。国内杨剑等[6]进行了大尺寸视觉测量精度的理论和实验研究,提出了一种基于距离约束的大尺寸三维视觉测量算法,并应用在大型设备曲面测量上。申晓彦等[7]研究了轴对称构件几何尺寸的图像测量技术,构建一组适合工程应用的图像测量系统。
本文在现有的几何尺寸测量算法基础上,首先介绍边缘检测的常规方法,并探讨了基于边缘点插值测量尺寸的数学原理;在此基础上,融合常规边缘检测方法,提出一种针对标准薄片零件几何尺寸的亚像素插值视觉测量方法。
1 边缘提取与亚像素测量方法 1.1 常规边缘提取方法视觉测量大多是通过处理图像目标区域边缘而获得物体的几何参数。边缘提取方法主要分为灰度值提取和灰度梯度值提取[8-9]。基于灰度值的边缘提取一般是根据阈值对图像进行二值化处理[10-11],这种方法简单,计算量小,但是提取精度不高,边缘定位的准确性依赖于阈值的计算方法。
基于灰度值梯度的边缘检测根据图像边缘的变化情况,检测出图像中的边缘点[12],再将边缘点连接成轮廓,从而实现边缘提取。灰度的变化率和变化方向通常作为图像边缘像素点的评价指标,分别以梯度向量的幅值和方向来表示。平面区域
$\frac{{\partial f}}{{\partial r}} = \frac{{\partial f}}{{\partial x}} \cdot \frac{{\partial x}}{{\partial r}} + \frac{{\partial f}}{{\partial y}} \cdot \frac{{\partial y}}{{\partial r}} = \mathop f\nolimits_x \cos \theta + \mathop f\nolimits_y \sin \theta $ | (1) |
对于连续图像
$\mathop f\nolimits_x \sin \mathop \theta \nolimits_g + \mathop f\nolimits_y \cos \mathop \theta \nolimits_g = 0$ | (2) |
其中,梯度最大
常用的微分算子有Roberts算子、Sobel算子和Canny算子等[13],其中Roberts算子和Sobel算子是根据图像边缘处梯度最大(正的或负的)的特性来进行边缘检测。这两种方法,Roberts边缘定位准,但对噪声敏感;而Soble加权平均,适用边宽≥2像素的检测。Canny算子是最优的阶梯型边缘(step edge)检测算子,对受到白噪声影响的图像检测准确。
1.2 亚像素测量方法传统边缘检测算法的定位精度只能达到像素的整数级,为了进一步提高检测精度,基于亚像素的边缘检测与提取方法得到了深入研究。常用的亚像素方法有拟合法[14]、插值法[15]、灰度矩法[16] 和一些组合算法[17-18]等。德国 MVTec的 Halcon,加拿大 Adept 的Hexsight,美国 Cognex 的 VisionPro 等图像处理软件,其测量精度都已达到亚像素级。赵敏等[19]应用概率统计的方法提高了图像测量分辨率,娄训志等[20]研究了基于小波的亚像素检测方法。一般常用的亚像素算法的精度为0.1~0.5个像素,一些算法在理想的情况下可以达到0.01个像素。
2 一种新的亚像素高精度测量方法由于视觉测量中一般需要复杂的光学系统,且要求在特殊场合、特殊环境下使用,精度较低、效率和实时性较差。针对该问题,本文提出灰度插值的亚像素精确测量方法,基本过程包括:利用标准长度进行亚像素自适应阈值选择、基于阈值分割的亚像素测量。
2.1 亚像素阈值的标定系统首先利用标准值进行标定,即确定测量阈值。本文采用自适应阀值的线性插值算法,如图1所示,
由图可知,镜头离被测物的高度为
$ V = \frac{{vD}}{f}\;\;\;\;H = \frac{{hD}}{f} $ | (3) |
则单位像长对应的实际长度
$\mu = \frac{V}{v} = \frac{H}{h} = \frac{D}{f}$ | (4) |
而每个像素对应的实际宽度
$ {\beta _v} = {k_v} \times \mu = {k_v}\frac{D}{f}\;\;\;\;{\beta _h} = {k_h} \times \mu = {k_h}\frac{D}{f} $ | (5) |
其中
其阈值的确定过程如图2所示,其中
首先利用Canny算子对图像进行边缘提取(粗定位),得到边缘点的像素坐标
若N>Nj,则
取
设第
$L = {x_{{{\rm th}j}} - {x_{{\rm th}i}} = k \cdot N + {l_1} + {l_2}}$ | (6) |
其中
$l = \mu L$ | (7) |
由图2中几何关系,利用线性插值方法,有:
$\left\{ \begin{gathered} \frac{{{l_1}}}{{{y_{\rm th}}_j - {y_{i + 1}}}} = \frac{{{x_{i + 1}} - {x_i}}}{{{y_i} - {y_{i + 1}}}} \\ \frac{{{l_2}}}{{{y_{{\rm th}j}} - {y_j}}} = \frac{{{x_{j + 1}} - {x_j}}}{{{y_{j + 1}} - {y_j}}} \\ \end{gathered} \right.$ | (8) |
其中
$\begin{split} {y_{{\rm th}j}} =& \frac{{\left( {{y_i}{y_j} + {y_{i + 1}}{y_{j + 1}} - 2{y_{i + 1}}{y_j}} \right)}}{{{y_i} - {y_j} + {y_{j + 1}} - {y_{i + 1}}}} + \\ & \frac{{\left( {l - N{\beta _v}} \right)\left( {{y_i} - {y_{i + 1}}} \right)\left( {{y_{j + 1}} - {y_j}} \right)}}{{{\beta _v}\left( {{y_i} - {y_j} + {y_{j + 1}} - {y_{i + 1}}} \right)}} \\ \end{split} $ | (9) |
则标准件平均灰度阈值为
${y_{\rm th}} = \frac{{\displaystyle\sum\limits_{j = k}^n {{y_{{\rm th}j}}} }}{{N - k + 1}}$ | (10) |
此时的
测量时,首先对获取的图像预处理后灰度化,然后根据图像第
${l_{{\rm th}j}} = {N'}_jk$ | (11) |
根据图2,设此处阈值边缘点分别为
$\begin{split} {l_{{\rm sub}j}} =& l_{_1}' + l_2'= \\ & k\left( {\frac{{{y_{\rm th}} - y_{_{i + 1}}'}}{{y_{_i}' - y_{_{i + 1}}'}} + \frac{{{y_{\rm th}} - y_{_j}'}}{{y_{_{j + 1}}' - y_{_j}'}}} \right) \\ \end{split} $ | (12) |
于是,测量图像在第
${L_j}' = {l_{{\rm th}j}} + {l_{{\rm sub}j}}$ | (13) |
测量长度为
$l_j' = \mu {L_j}' = \mu ({l_{{\rm th}j}} + {l_{{\rm sub}j}})$ | (14) |
由式(5)、(11)、(12)、(14)可得:
$l_j' = {\beta _v}\left( {\frac{{{y_{\rm th}} - y_{_{i + 1}}'}}{{y_{_i}' - y_{_{i + 1}}'}} + \frac{{{y_{\rm th}} - y_{_j}'}}{{y_{_{j + 1}}' - y_{_j}'}}} \right) + N_j'{\beta _v}$ | (15) |
目标物体的尺寸为
${l'} = \frac{{\displaystyle\sum\limits_{j = k}^n {l_j'} }}{{N - k + 1}}$ | (16) |
亚像素精确尺寸测量方法设计和实验如图4所示,镜头离被测物的距离为2.93 cm,系统亚像素定位精度理论为0.001 9像素,传感器像元个数M=1 024,镜头角度理论精度约为 0.012 μm。相机采用Baumer公司的TXG03c,工业镜头H0514-MP,镜头的焦距为5 mm,CCD分辨率为
3.1 标准量块测量实验
表1是在上述实验条件下所测的不同规格的量块尺寸,并与用Canny算子进行边缘提取所得数据进行了对比。从表中可以看出,本方法测量误差均比Canny方法测量误差值小。8次测量平均绝对误差值,本方法为0.000 438 mm,Canny方法为0.000 813 mm,本方法误差为Canny方法误差的53.8%。从表中可以看出,本系统的测量结果更接近标准量块实际值,实验表明本算法测量结果可靠且能够实现快速无接触的测量。
标准量块值/
mm |
本方法测量/
mm |
绝对误差/
mm |
Canny测量/
mm |
绝对误差/
mm |
5.122 0 | 5.122 2 | 0.000 2 | 5.123 0 | 0.001 0 |
10.240 6 | 10.240 7 | 0.000 1 | 10.241 4 | 0.000 8 |
15.360 1 | 15.360 2 | 0.000 1 | 15.360 5 | 0.000 4 |
21.500 4 | 21.500 1 | −0.000 3 | 21.500 8 | 0.000 4 |
30.122 6 | 30.122 1 | −0.000 5 | 30.121 7 | −0.000 9 |
35.240 8 | 35.240 3 | −0.000 5 | 35.241 3 | 0.000 5 |
40.362 0 | 40.363 0 | 0.001 0 | 40.363 4 | 0.001 4 |
46.500 2 | 46.501 0 | 0.000 8 | 46.501 3 | 0.001 1 |
3.2 误差分析
从上述实验数据可以看出,本检测系统存在一定的测量误差,主要由以下4方面引起:1)镜头到被测物的高度即物距由于存在测量误差,引起
基于视觉系统的几何尺寸测量技术已得到了广泛的研究与应用。本文介绍了图像测量的基本原理,包括测量光学成像系统和测量结构;深入研究了基于光强线性插值的亚像素自适应阈值的测量原理和方法,分析了测量系统的误差影响因素。实验结果表明该算法的测量精度较高,可以快速、精确地测量出物体的几何尺寸。
[1] |
王鹏. 一种局部二值化方法及其应用[D]. 长春: 吉林大学, 2017.
|
[2] |
徐晶晶. 低质量文档图像的二值化算法研究[D]. 武汉: 湖北工业大学, 2017.
|
[3] |
张梅, 王涛. 一种工业恶劣环境下的图像二值化方法及FPGA实现[J].
微型电脑应用, 2017, 33(7): 69-72.
DOI:10.3969/j.issn.1007-757X.2017.07.019 |
[4] |
FISCHER J, PRIBULA O. Precise subpixel position measurement with linear interpolation of CMOS sensor image data[C]// The 6 IEEE International Conference on Intelligent Data Acquisition and Advanced Computing system: Data, Technology and Applications, 2011.
|
[5] |
ERIC P. Visual hyper acuity representation and computation of high precisio position information[J].
Computer Vision, Graphies and Image Processing, 1986, 33: 99-115.
DOI:10.1016/0734-189X(86)90222-7 |
[6] |
杨剑, 大尺寸视觉测量精度的理论和实验研究[D]. 北京: 北京邮电大学, 2010
|
[7] |
申晓彦. 轴对称构件几何尺寸的图形测量[D]. 太原: 中北大学, 2010
|
[8] |
董鸿燕. 边缘检测的若干技术研究[D]. 长沙: 国防科学技术大学, 2008
|
[9] |
季虎, 孙即祥, 邵晓芳, 等. 图像边缘提取方法及展望[J].
计算机工程与应用, 2004, 14: 70-73.
DOI:10.3321/j.issn:1002-8331.2004.15.024 |
[10] |
李了了. 工业现场字符识别方法的研究[D]. 合肥: 合肥工业大学, 2003.
|
[11] |
周衍超, 罗浩彬. 机器视觉技术在工业机器人的应用研究[J].
装备制造技术, 2015(6): 193-195.
DOI:10.3969/j.issn.1672-545X.2015.06.068 |
[12] |
刘力双, 孙双花, 吕奶光. 视觉系统中调焦函数的选择方法研究[J].
北京机械工业学院学报, 2008, 23(1): 1-4.
DOI:10.3969/j.issn.1674-6864.2008.01.001 |
[13] |
张广军. 机器视觉[M]. 北京: 科学出版社, 2004: 33-42
|
[14] |
HUECKEL M H. An operator which locate edges in digitized pictures[J].
Journal of the Association for Computing Machinery, 1971, 18(1): 113-125.
DOI:10.1145/321623.321635 |
[15] |
李艳, 彭嘉雄. 基于D2样条插值和LOG算子的亚像素边缘检测[J].
华中理工大学学报, 2000, 28(3): 77-79.
DOI:10.3321/j.issn:1671-4512.2000.03.027 |
[16] |
邹宁, 柳剑, 周曼丽. 基于Zernike矩的边缘检测方法[J].
华中理工大学学报, 1999, 27(5): 1-2.
DOI:10.3321/j.issn:1671-4512.1999.05.001 |
[17] |
梁燕, 刘文耀. 一种新型非线性边缘检测方法[J].
光电子.激光, 2003, 14(12): 1332-1335.
|
[18] |
ZHANG H T, DUAN F J, YE S H. Study on a fast method for sub-pixel edge detection[J].
Acta Metrologica Sinica, 2002, 23(4): 263-265, 270.
|
[19] |
赵敏, 邱宗明, 黄秋红, 等. 提高图像测量分辨率的一种方法[J].
西安理工大学学报, 2002, 18(1): 80-83.
DOI:10.3969/j.issn.1006-4710.2002.01.020 |
[20] |
娄训志. 基于小波变换的图像亚像素检测应用研究[D]. 武汉: 湖北工业大学, 2011: 22-38
|