一种用于工业零件的同心圆检测方法

文档序号:5844971阅读:483来源:国知局
专利名称:一种用于工业零件的同心圆检测方法
技术领域
本发明涉及工业零件检测领域,特别涉及采用计算机视觉测量方式实现的同心圆
检测方法。
背景技术
随着计算机以及计算机视觉等方面的不断发展进步,在目前工业零件的检测中, 对机器视觉代替人眼对零件进行检测的需求越来越迫切。利用计算机视觉检测有很多优 点,比如检测精度高、速度快、准确性也比较好,再加上目前计算机、摄像机等硬件价格不 高,而人力资源的价格不断增长,因此采用机器视觉代替人眼对零件进行检测可以大幅度 降低成本,提高生产的效率,进行提高企业的竞争和生存能力。在工业领域,同心圆出现的 比较多,比如视频线的接头,包括一个外圆环和中间一个圆形的针,保证圆环的圆心和圆形 针的圆心之间的距离小于一定阈值(满足同心条件),是保证该接头质量的基本要求。这类 接头有很多,可能局部有微小差别,但总体上没有太大变化,都需要用精确地方法检测。
工业测量在国内刚刚起步,目前成熟同心圆的检测方法基本没有,在加上工业检 测中图像数据的噪声等影响和工业检测对可靠性和准确性的高要求,导致同心圆检测的难 度增大。现有的Hough变换方法来检测圆比较常用,但此方法只是用于规则的单行边缘的 情况,而一般情况下摄像机获取图片质量不高,再加上零件图像本身圆有时不规则,并非严 格意义上的圆,并且圆周围纹理可能比较复杂,因此经过梯度和灰度等算法后获得的圆周 上的点不是严格在圆周边缘上的一系列点,这样就不能采用Hough变换来获得圆的位置。
因此,提出高精度地同心圆检测方案,是工业零件检测领域亟待解决的技术问题。

发明内容
本发明目的在于解决现有技术不足,提供用于工业零件的同心圆新检测方案。
本发明提供的同心圆检测方法,对拍摄零件上同心圆所得原始图像进行处理实现 检测,所述同心圆包括外圆和内圆,包括以下处理步骤 步骤1,输入同心圆位置的初步标定参数,包括内圆初始参数、外圆初始参数和矩 形区域参数, 所述内圆初始参数用于标出内圆在原始图像上的区域,包括内圆初始圆心坐标和 内圆初始半径; 所述外圆初始参数用于标出外圆在原始图像上的区域,包括外圆初始圆心坐标和 外圆初始半径; 所述矩形区域参数用于标出同心圆在原始图像上所处的矩形区域,包括矩形区域 的左上角坐标以及矩形的高度和宽度; 步骤2,根据初步标定参数进行检测,包括以下步骤, 步骤2. l,从原始图像中根据矩形区域参数提取矩形图像,根据矩形图像中各像素 点的灰度值求取矩形图像中各像素点的梯度值,得到一幅梯度图像;
步骤2.2,根据矩形图像的灰度值、梯度图像以及内圆初始参数找内圆的可能像素
点,根据矩形图像的灰度值、梯度图像以及外圆初始参数找外圆的可能像素点; 步骤2. 3,利用内圆的可能像素点的坐标拟合内圆,得到内圆拟合圆心坐标和内圆
拟合半径;利用外圆的可能像素点的坐标拟合外圆,得到外圆拟合圆心坐标和外圆拟合半
径; 步骤2. 4,求取内圆拟合圆心坐标和外圆拟合圆心坐标之间的距离,根据该距离判断是否满足同心条件。 而且,步骤2. 1中所述求取矩形图像中各像素点的梯度值,具体计算方式如下,矩形图像中像素点(i, j)的灰度值记为qi,j,像素点(i, j)的梯度值记为Ti,j,
步骤2.2中所述根据矩形图像的灰度值、梯度图像以及内圆初始参数找内圆的可能像素点,根据矩形图像的灰度值、梯度图像以及外圆初始参数找外圆的可能像素点,具体实现方式如下, 预设梯度阈值、灰度阈值和容差,当某个像素点(i,j)满足梯度值Ti,j大于梯度阈值、灰度值qi,j大于灰度阈值,且像素点(i,j)到内圆初始圆心坐标的距离与内圆初始半径之差的绝对值小于容差时,判断像素点(i, j)为内圆的可能像素点;当某个像素点(i, j)满足梯度值Ti,j大于梯度阈值、灰度值qi,j大于灰度阈值,且像素点(i,j)到外圆初始圆心坐标的距离与外圆初始半径之差的绝对值小于容差时,判断像素点(i, j)为外圆的可能像素点。 而且,进行步骤2. 3后,将所得内圆拟合圆心坐标和内圆拟合半径作为新的内圆初始参数,将外圆拟合圆心坐标和外圆拟合半径作为新的外圆初始参数,返回步骤2. 2重新寻找可能像素点进行下一次拟合;直到本次所求得内圆拟合圆心坐标和内圆拟合半径、外圆拟合圆心坐标和外圆拟合半径与上一次所求的结果相差小于预设阈值时,进入步骤2. 4。 而且,当返回步骤2. 2重新寻找可能像素点时,减小容差。 而且,步骤2. 3中利用可能像素点的坐标拟合圆,采用最小二乘迭代算法实现,具体实现方式如下, 设可能像素点个数为N,坐标分别为(xn, yn),其中n = 1,2, . . . , N ;设待拟合的圆的方程为(x-a)、(y-b"二r、式中x、y为已知值,即N个像素点的坐标(xn, y》,待迭代求出a、b、r,求取过程如下, 首先是拟合圆心坐标(a, b)以及拟合半径r的初始值确定
^ = *》"^Z产^2>' - + (少'_ 。2
顾及改正值则有
(r+dr)2 = (x+dx_3)2+(y+dy_b)2
展开舍去改正值二次项则得到残差v的表达式v = AX-L其中
^二 X
2a-2A 2a-2乂 -2r 2" - 2x2 2a ■— 2少2 -2r
_2a -2a - 2j^ -2rT
xf + 乂2 + 2a2 - 2(Xj + _y)fl -, 《+ >^ + 2"2 - 2(x2 + ;;2)a- r2
-X力+少J + 2 2 — 2(xw + ;v— r2. 由最小二乘原理得
X = (ATA) —H 把解得的改正数da、 db、 dr分别加到待求参数a、 b、 r上,通过反复迭代直到da、 db、 dr小于预定改正阈值时,求得拟合圆心坐标(a, b)和拟合半径r。 或者,所述利用所得可能像素点的坐标拟合圆,采用直接解法实现,具体实现方式 如下, 设可能像素点个数为N,坐标分别为(xn, yn),其中n = 1,2, . . . , N ;设待拟合的圆 的方程为(x-a)2+(y-b)2 = r2,待定参数为a、b、r,将圆的方程改写成2xa+2yb+c = ^+/,其 中c 二一-aMA待定参数变为a、b、c,式中x、y为已知值,S卩N个像素点的坐标(xn, yn);
根据间接测量平差的原理,列方程式Ax-L = O,式中,A为系数矩阵,L为常数项向
:,0为0向:


2 x, 2 x2
2x、
2h
,X:
根据最小二乘原理,得方程的解为
X = (ATA) —H
得到a、 b、 c的值,拟合圆心坐标为(a, b),拟合半径r = V^+^+c 。 本发明提供了边缘点如何获取、在什么范围选取、哪些边缘点参与圆的拟合可以
保证精度等技术方案,给出完整的同心圆检测方法,能够高效地实现高精度同心圆检效


图1为本发明实施例的影像获取设备俯视图;
图2为本发明实施例的影像获取设备正视图;
图3为本发明实施例的操作流程图;
图4为本发明实施例的检测流程图;
图5为同心示意 图6为偏心示意图。
具体实施例方式
为便于实施参考起见,本发明实施例从拍摄开始提供完整的同心圆检测实际操作过程。其中除拍摄方式等现有技术以外,本发明提供了对拍摄零件上同心圆所得原始图像进行处理实现检测的新技术方案,是可以采用计算机手段自动实现的方案。以下结合附图和实施例说明本发明技术方案 参见附图l,实施例的同心圆检测硬件系统由以下部分组成 (1)带有镜头的相机。带有USB或1394数据线,实时将数据传输给计算机,采样频率为15帧/秒或以上,分辨率视情况而定。拍摄时建议采用1600X1200像素的分辨率,调焦采用长焦距,小视角,小景深。 (2)计算机。连接相机的设备,本发明提供同心圆检测方法可采用软件技术装载到计算机上。 (3)环形光源。实施例的环形光源为LED光源,均匀布置在一个圆环上,外接一可调电源线,可调节LED的亮度。 (4)零件平台。用于插放被检测的工业零件。 (5)总支架。用于支撑和固定相机、环形光源、零件平台。参见附图2,具体实施时可以调节支架,以便相机的镜头对准零件平台上的工业零件,环形光源能够均匀地为工业零件提供光线。 检测时的操作流程具体步骤参见附图3 :将待检测的工业零件放在零件平台的台
面上,通过可调电源线调节环形光源亮度(亮度合适则不需调整),调好后用相机对工业零
件进行摄影。拍摄工业零件上同心圆所得原始图像,通过相机和计算机间连接传输到计算
机,计算机在图像基础上执行同心圆检测后,输出检测结果。 本发明实施例由计算机执行的同心圆检测方案说明如下 首先是输入同心圆位置的初步标定参数。 同心圆位置的初步标定参数包括内圆初始参数、外圆初始参数和矩形区域参数,所述内圆初始参数用于标出内圆在原始图像上的区域,包括内圆初始圆心坐标和内圆初始半径;所述外圆初始参数用于标出外圆在原始图像上的区域,包括外圆初始圆心坐标和外圆初始半径;所述矩形区域参数用于标出同心圆在原始图像上所处的矩形区域,包括矩形区域的左上角坐标以及矩形的高度和宽度。内圆初始参数和外圆初始参数分别表示内圆和外圆大致位置,不需精确,只是为了方便寻找圆的可能像素点。矩形区域参数表示同心圆在原始图像上的大致位置,是在外圆之外指定的一个矩形,也不需精确,可以减少后续数据处理量,例如梯度值的求取。 具体实施时,可以采用人工进行标定得到初步标定参数,也可以直接引入模板得到初步标定参数。人工标定时,可以由用户通过计算机的输入设备在图像上标出区域,计算机自动计算出相应初步标定参数并保存;也可以直接由用户目测后直接设定初步标定参数。因为在工业检测中,待检测的总是大量的成千上万个同一种零件,可以首先放上去一个零件,通过初步标定确认一下同心圆的大概位置。由于大部分零件标定的大致位置相同,把标定的结果作为模板保存下来,在实际检测过程中不必重新标定,直接读取模板即可。那么从第二个零件开始就可以直接引入第一次标定结果而不用再调整了。选取矩形区域时,可以在外圆之外稍微放大,以便保证后面的零件放置好后同心圆位置不会超过此矩形区域。如果待检测2种以上的零件,还可以分别建立模板,检测时根据零件选择相应模板即可。实
施例提供一个模板文件如下
M
7 512 85 707響253锡402 269 223 其中,第一行M是文件格式标识,第二行提供要检测的区域在整幅图像中的位置,即矩形区域的左上角坐标(7,85)以及矩形的高度512和宽度707。第三行提供内圆初始圆心坐标(402,253)和内圆初始半径106,第四行提供外圆初始圆心坐标(402,269)和外圆初始半径223。 然后是根据初步标定参数进行检测。 步骤2. l,从原始图像中根据矩形区域参数提取矩形图像,根据矩形图像中各像素点的灰度值求取矩形图像中各像素点的梯度值,得到一幅梯度图像。 原始图像一般为灰度图像,像素点的灰度值可以直接提取。若是彩色图像,可以转换成灰度图像,此为现有技术,不予赘述。 实施例中,步骤2. 1中所述求取矩形图像中各像素点的梯度值,具体计算方式如
下,
矩形图像中像素点(i, j)的灰度值记为qi,j,像素点(i, j)的梯度值记为Ti,j, j;
"乂
(《+1,广")2+(《,川1,)—1): 公式中取像素点(i, j)的左右上下四个像素点的灰度值qi+Lj、qH,j、qi,w、qi,w,求取像素点(i, j)的梯度。 步骤2.2,根据矩形图像的灰度值、梯度图像以及内圆初始参数找内圆的可能像素点,根据矩形图像的灰度值、梯度图像以及外圆初始参数找外圆的可能像素点。
实施例中,预设梯度阈值、灰度阈值和容差。当某个像素点(i, j)满足梯度值Ti,j大于梯度阈值、灰度值qi,j大于灰度阈值,且像素点(i,j)到内圆初始圆心坐标的距离与内圆初始半径之差的绝对值小于容差时,判断像素点(i, j)为内圆的可能像素点,如果不满足上述条件则认为不是内圆的可能像素点。当某个像素点(i,j)满足梯度值Ti,j大于梯度阈值、灰度值qi,j大于灰度阈值,且像素点(i,j)到外圆初始圆心坐标的距离与外圆初始半径之差的绝对值小于容差时,判断像素点(i, j)为外圆的可能像素点,如果不满足上述条件则认为不是外圆的可能像素点。梯度阈值、灰度阈值和容差这些阈值都可采用经验值,例如梯度阈值取30,灰度阈值取128,容差取20个像素,具体实施时可以在这些值附近设定。
步骤2. 3,利用内圆的可能像素点的坐标拟合内圆,得到内圆拟合圆心坐标和内圆拟合半径;利用外圆的可能像素点的坐标拟合外圆,得到外圆拟合圆心坐标和外圆拟合半径。
考虑到一次拟合的精度不一定符合要求,本发明还提出在进行步骤2.3后,将所得内圆拟合圆心坐标和内圆拟合半径作为新的内圆初始参数(具体就是内圆拟合圆心坐标作为新的内圆初始圆心坐标,内圆拟合半径作为新的内圆初始半径),将外圆拟合圆心坐标和外圆拟合半径作为新的外圆初始参数(具体就是外圆拟合圆心坐标作为新的外圆初始圆心坐标,外圆拟合半径作为新的外圆初始半径),返回步骤2. 2重新寻找可能像素点、继续步骤2.4进行下一次拟合。这种迭代拟合过程可以在结果稳定时结束。可以预设阈值,在每次执行步骤2. 3进行拟合后,本次所求得内圆拟合圆心坐标和内圆拟合半径、外圆拟合圆心坐标和外圆拟合半径与上一次所求的内圆拟合圆心坐标和内圆拟合半径、外圆拟合圆心坐标和外圆拟合半径分别求取差值,当各相差均小于预设阈值时,说明拟合结果足够稳定,将本次所求得内圆拟合圆心坐标和内圆拟合半径、外圆拟合圆心坐标和外圆拟合半径作为最终拟合结果,进入步骤2. 4。具体实施时,预设阈值可根据精度需求选取,例如设为O. 5。 为了进一步提供迭代效率,尽快提高拟合结果精度,还可以在每次返回步骤2.2时减小容差,基于梯度阈值、灰度阈值和新的容差找可能像素点,这样可以逐步縮小寻找可能像素点的范围。例如容差初始设定为20个像素;在进行初次拟合后返回步骤2. 2时,容差设定为18个像素;第二次拟合后返回步骤2. 2时,容差设定为16个像素…实施例采用这种方式,参见附图4。 拟合外圆和拟合内圆的方式是一样的,仅仅是外圆已知条件是外圆的可能像素点,求取结果是外圆的拟合圆心坐标拟合半径;而内圆已知条件是内圆的可能像素点,求取结果是内圆的拟合圆心坐标拟合半径。本发明提供两种拟合圆的实现方式。
—种采用最小二乘迭代算法实现,具体实现方式如下, 设可能像素点个数为N,坐标分别为(xn, yn),其中n = 1,2, . . . , N ;设待拟合的圆的方程为(x-a)、(y-b"二r、式中x、y为已知值,即N个像素点的坐标(xn, y》,待迭代求出a、b、r,求取过程如下, 首先是待求参数a、 b、 r的初始值确定
顾及改正值则有(r+dr)2 = (x+dx_3)2+(y+dy_b)2展开舍去改正值二次项则得到残差v的表达式v其中
<formula>formula see original document page 10</formula> 」二 X <formula>formula see original document page 10</formula>
<formula>formula see original document page 11</formula>
—4 + 2 2 - 20》)a - ^
由最小二乘原理得
X = (ATA) —H 把解得的改正数da、 db、 dr分别加到待求参数a、 b、 r的初始值上,然后基于新的初始值重新求取改正数,通过这样的反复迭代直到da、 db、 dr小于预定改正阈值时,将da、db、 dr分别加到本轮待求参数a、 b、 r的初始值上作为拟合圆心坐标(a, b)和拟合半径r。因为改正数da、 db、 dr越小,所求a、 b、 r越接近真值,因此可以设置预定改正阈值,建议取0. 5。 另一种采用直接解法实现,具体实现方式如下, 设可能像素点个数为N,坐标分别为(xn, yn),其中n = 1,2, . . . , N ;设待拟合的圆的方程为(x-a)2+(y-b)2 = r2,待定参数为a、b、r,将圆的方程改写成2xa+2yb+c = ^+/,其中c 二一-aMA待定参数变为a、b、c,式中x、y为已知值,S卩N个像素点的坐标(xn, yn);
根据间接测量平差的原理,列方程式AX-L = O,式中,A为系数矩阵,L为常数项向量,0为0向量,
<formula>formula see original document page 11</formula>
根据最小二乘原理,得方程的解为
X = (ATA) —H
得到a、 b、 c的值,拟合圆心坐标为(a, b),拟合半径^ = Va2 ++ c 。直接解法无需求取初始值后反复迭代求取改正值,但结果与最小二乘迭代算法是等同的,因此是本发明的优选实施方式。 步骤2. 4,求取内圆拟合圆心坐标和外圆拟合圆心坐标之间的距离,根据该距离判断是否满足同心条件。 参见图5,理想状态下,同零件上心圆的外圆和内圆的圆心在同一坐标。但实际不容易达到这样的加工精度,而是如图6所示稍有偏差。因此工业领域往往通过行业标准和质量控制手册等规定同心条件,若拟合所得外圆和内圆的圆心之间距离在条件容许的距离范围内仍认定为同心。判断零件是否满足同心条件时,若满足则说明零件质量合格,不满足则说明零件质量不合格。判断结果作为检测流程的结果,可通过计算机显示设备输出,提示对不合格的零件进行处理。
权利要求
一种用于工业零件的同心圆检测方法,对拍摄工业零件上同心圆所得原始图像进行处理实现检测,所述同心圆包括外圆和内圆,其特征在于包括以下处理步骤,步骤1,输入同心圆位置的初步标定参数,包括内圆初始参数、外圆初始参数和矩形区域参数,所述内圆初始参数用于标出内圆在原始图像上的区域,包括内圆初始圆心坐标和内圆初始半径;所述外圆初始参数用于标出外圆在原始图像上的区域,包括外圆初始圆心坐标和外圆初始半径;所述矩形区域参数用于标出同心圆在原始图像上所处的矩形区域,包括矩形区域的左上角坐标以及矩形的高度和宽度;步骤2,根据初步标定参数进行检测,包括以下步骤,步骤2.1,从原始图像中根据矩形区域参数提取矩形图像,根据矩形图像中各像素点的灰度值求取矩形图像中各像素点的梯度值,得到一幅梯度图像;步骤2.2,根据矩形图像的灰度值、梯度图像以及内圆初始参数找内圆的可能像素点,根据矩形图像的灰度值、梯度图像以及外圆初始参数找外圆的可能像素点;步骤2.3,利用内圆的可能像素点的坐标拟合内圆,得到内圆拟合圆心坐标和内圆拟合半径;利用外圆的可能像素点的坐标拟合外圆,得到外圆拟合圆心坐标和外圆拟合半径;步骤2.4,求取内圆拟合圆心坐标和外圆拟合圆心坐标之间的距离,根据该距离判断是否满足同心条件。
2. 根据权利要求1所述的同心圆检测方法,其特征在于步骤2. 1中所述求取矩形图像中各像素点的梯度值,具体计算方式如下,矩形图像中 像素点(i, j)的灰度值记为qi,j,像素点(i, j)的梯度值记为Ti,j,<formula>formula see original document page 2</formula>步骤2.2中所述根据矩形图像的灰度值、梯度图像以及内圆初始参数找内圆的可能像 素点,根据矩形图像的灰度值、梯度图像以及外圆初始参数找外圆的可能像素点,具体实现 方式如下,预设梯度阈值、灰度阈值和容差,当某个像素点(i, j)满足梯度值Ti,j大于梯度阈值、 灰度值qi,j大于灰度阈值,且像素点(i, j)到内圆初始圆心坐标的距离与内圆初始半径之 差的绝对值小于容差时,判断像素点(i, j)为内圆的可能像素点;当某个像素点(i, j)满 足梯度值Ti,j大于梯度阈值、灰度值qi,j大于灰度阈值,且像素点(i,j)到外圆初始圆心坐 标的距离与外圆初始半径之差的绝对值小于容差时,判断像素点(i, j)为外圆的可能像素 点。
3. 根据权利要求2所述的同心圆检测方法,其特征在于进行步骤2. 3后,将所得内圆 拟合圆心坐标和内圆拟合半径作为新的内圆初始参数,将外圆拟合圆心坐标和外圆拟合半 径作为新的外圆初始参数,返回步骤2. 2重新寻找可能像素点进行下一次拟合;直到本次所求得内圆拟合圆心坐标和内圆拟合半径、外圆拟合圆心坐标和外圆拟合半径与上一次所 求的结果相差小于预设阈值时,进入步骤2. 4。
4. 根据权利要求3所述的同心圆检测方法,其特征在于当返回步骤2. 2重新寻找可 能像素点时,减小容差。
5. 根据权利要求1或2或3或4所述的同心圆检测方法,其特征在于步骤2. 3中利 用可能像素点的坐标拟合圆,采用最小二乘迭代算法实现,具体实现方式如下,设可能像素点个数为N,坐标分别为(Xn,y》,其中n二 1,2,…,N; 设待拟合的圆的方程为(x-a)2+(y-b)2 二一,式中x、y为已知值,即N个像素点的坐标 (xn, yn),待迭代求出a、 b、 r,求取过程如下,首先是拟合圆心坐标(a, b)以及拟合半径r的初始值确定<formula>formula see original document page 3</formula>由最小二乘原理得 X = (AT A) —H把解得的改正数da、db、dr分别加到待求参数a、b、r上,通过反复迭代直到da、db、dr 小于预定改正阈值时,求得拟合圆心坐标(a,b)和拟合半径r。
6.根据权利要求1或2或3或4所述的同心圆检测方法,其特征在于所述利用所得 可能像素点的坐标拟合圆,采用直接解法实现,具体实现方式如下,设可能像素点个数为N,坐标分别为(Xn,y》,其中n二 1,2,…,N;设待拟合的圆的方程为(x-a)2+(y-b)2 = r2,待定参数为a、 b、 r,将圆的方程改写成 2xa+2yb+c = x2+y2,其中c = r2-a2_b2,待定参数变为a、 b、 c,式中x、 y为已知值,即N个像 素点的坐标(xn,yn);根据间接测量平差的原理,列方程式AX-L = O,式中,A为系数矩阵,L为常数项向量, O为0向量,顾及改正值则有<formula>formula see original document page 3</formula>展开舍去改正值二次项则得到残差v的表达式v = AX-L 其中<formula>formula see original document page 4</formula>根据最小二乘原理,得方程的解为 X = (AT A) —H得到a、 b、 c的值,拟合圆心坐标为(a, b),拟合半径r = 7^7^7全文摘要
一种用于工业零件的同心圆检测方法,包括输入同心圆位置的初步标定参数;根据初步标定参数进行检测从原始图像中提取矩形图像,求取矩形图像中各像素点的梯度值;根据矩形图像的灰度值、梯度图像以及初步标定参数找内圆和外圆的可能像素点;利用内圆的可能像素点的坐标拟合内圆,得到内圆拟合圆心坐标和内圆拟合半径;利用外圆的可能像素点的坐标拟合外圆,得到外圆拟合圆心坐标和外圆拟合半径;求取内圆拟合圆心坐标和外圆拟合圆心坐标之间的距离,根据该距离判断是否满足同心条件。此方法可准确识别并计算相机所拍影像中的同心圆的圆心和半径,代替人眼判断其是否满足要求。
文档编号G01B11/27GK101699217SQ20091027264
公开日2010年4月28日 申请日期2009年11月3日 优先权日2009年11月3日
发明者左志奇, 王晓南, 郑顺义 申请人:武汉大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1