CN102034101B - 一种pcb视觉检测中快速圆形标志定位方法 - Google Patents

一种pcb视觉检测中快速圆形标志定位方法 Download PDF

Info

Publication number
CN102034101B
CN102034101B CN201010518481.7A CN201010518481A CN102034101B CN 102034101 B CN102034101 B CN 102034101B CN 201010518481 A CN201010518481 A CN 201010518481A CN 102034101 B CN102034101 B CN 102034101B
Authority
CN
China
Prior art keywords
sigma
circle
edge
parameter
point
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201010518481.7A
Other languages
English (en)
Other versions
CN102034101A (zh
Inventor
程良伦
任斌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong University of Technology
Original Assignee
Guangdong University of Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangdong University of Technology filed Critical Guangdong University of Technology
Priority to CN201010518481.7A priority Critical patent/CN102034101B/zh
Publication of CN102034101A publication Critical patent/CN102034101A/zh
Application granted granted Critical
Publication of CN102034101B publication Critical patent/CN102034101B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Image Analysis (AREA)

Abstract

本发明基于点Hough变换与Legendre矩的圆亚像素检测算法,提供一种PCB视觉检测中快速圆形标志定位方法,运用Canny算子进行边缘检测和点Hough变换得出圆标志像素级参数值,再利用圆标志像素级参数值滤除边缘点中噪声点,接着对基于Legendre正交矩的亚像素边缘定位方法和误差进行分析,利用Legendre正交矩和误差方法对滤除噪声点后的边缘点进行亚像素求值,最后再用快速最小二乘法对边缘点进行拟合得到圆的精确的圆心定位参数和半径参数。该方法保留了点Hough变换运算速度快的特点,而且定位精度高,抗噪能力强,具有准确性、快速性和鲁棒性的特点,满足了PCB视觉检测中的高精度和实时性的要求。

Description

一种PCB视觉检测中快速圆形标志定位方法
技术领域
本发明属于PCB视觉检测领域,尤其涉及一种PCB视觉检测中快速圆形标志定位方法。
背景技术
在PCB产品的视觉检测中,对其定位标志的精确定位是生产和检测的关键之一,传统的圆检测方法有模板匹配、形状分析法、环路积分微分法、圆Hough变换,点Hough变换等。圆Hough变换以其可靠性高,在噪声、变形、甚至部分区域丢失的状态下仍然能取得理想的结果的特点而在圆检测方面广泛应用。但该方法的缺点是计算复杂,在三维空间运行,资源需求大。为了减小计算复杂度,一些学者采用假设圆半径已知,这样就可把Hough变换由三维降为二维,降低了运算量,但是这种假设往往很难精确得到。点Hough变换是利用圆周上任意两条不平行弦的中垂线相交于圆心的性质,同时选取圆周上3点,就可确定圆的参数,将搜索空间从三维降低到一维,降低了计算复杂性。但这种方法的检测精度只能到像素级。
发明内容
针对上述PCB产品的视觉检测中传统圆形定位标志定位运算复杂、效率低且检测精度不高的不足,本发明基于点Hough变换与Legendre矩的圆亚像素检测算法(Round Sub-pixel Detection Algorithm Based Point Hough Transform andLegendre Moments简称RHLSP算法),提供了一种PCB视觉检测中快速圆形标志定位方法,该方法不仅保留了点Hough变换运算速度快的特点,而且定位精度达到0.056像素,抗噪能力强,具有准确性、快速性和鲁棒性的特点,满足了PCB视觉检测中的高精度和实时性的要求。
本发明的实现包括以下步骤:
步骤一,对PCB图像的圆形标志利用Canny算子进行边缘检测,把边缘点进行边缘跟踪排序,存入数组中,然后把这些点分为三等份,每次分别从这三部分中各取出一点,构成点组进行计算;
步骤二,根据以下公式进行计算求出圆的参数,多次参数向量出现频率最高的即为检测圆的参数;
O x = K OA A X - Ay - K OB B x + B y K OA - K OB
Oy=KOA(Ox-Ax)+Ay
R = ( O x - K x ) 2 + ( O y - K y ) 2
上述公式中,Ox,Oy,R分别为圆心的X轴坐标、Y轴坐标和圆的半径;
设K,N,J为被测圆边缘上3点,构成不平行的2条弦KN和NJ,则弦KN和NJ的中垂线OA,OB必交于圆心O点,K,N,J,点的坐标分别为(Kx,Ky),(Nx,Ny),(Jx,Jy),KOA,KOB分别为直线OA、直线OB的斜率,则A,B点的坐标为:
Ax=(Kx+Nx)/2
Ay=(Ky+Ny)/2
Bx=(Nx+Jx)/2
By=(Ny+Jy)/2
则OA,OB的直线方程为:
L OA : y = K x - N x N y - K y ( x - A x ) + A y
L OB : y = Jx - Nx Ny - Jy ( x - Bx ) + By
步骤三,滤除边缘噪声点.对于边缘检测后的边缘点,运用已经得到的圆的参数进行检测,滤除大的噪声点,假设边缘检测后任一可能边缘点的坐标为T(Tx,Ty),到圆心O的距离为:
d = ( T x - O x ) 2 + ( T y - O y ) 2
则:
其中E为滤除噪声点的阀值,一般取2个像素。对所有候选边缘点按上式比较运算,即可滤除非边缘点,把被检测圆上的边缘点保留下来;
步骤四,对各边缘点进行一维亚像素边缘检测,把宽度为10个像素的窗口,拉伸坐标到[-1,1]区间内,G(i)为各个位置像素的区域,G(i)分别为[-1,-0.8],[-0.8,-0.6],[-0.6,-0.4],[-0.4,-0.2],[-0.2,0],[0,0.2],[0.2,0.4],[0.4,0.6],[0.6,0.8]和[0.8,1],根据式
C p ( i ) = ( 2 p + 1 ) 2 ∫ G ( i ) P p ( x ) dx
可得到前三阶的C0、C1和C2,系数如表1所示,
根据表1的各阶矩的系数值和各边缘点的参数代入式分别算出边缘点的各阶矩;
表1各阶矩的系数
  C0   0.1   0.1   0.1   0.1   0.1   0.1   0.1   0.1   0.1   0.1
  C1   -0.24   -0.21   -0.15   -0.09   -0.03   0.03   0.09   0.15   0.21   0.24
  C2   0.36   0.12   -0.06   -0.18   -0.24   -0.24   -0.18   -0.06   0.12   0.36
步骤五,根据下式:
l = 3 L ~ 2 L ~ 1
k = 4 L ~ 1 3 ( 1 - l 2 )
h = L ~ 0 - k 2 ( 1 - l )
及各阶矩的参数分别求出各边缘点的l,k,h组;
步骤六,原理误差和实边缘的位置的求取,根据下式:
B ( l 1 , l 2 , l ) = l - Δk [ l 1 ( 1 - l 1 2 ) - l 2 ( 1 - l 2 2 ) ] + kl 2 ( 1 - l 2 2 ) Δk ( l 2 2 - l 1 2 ) + k ( 1 - l 2 2 ) = ( l - l 1 ) ( l 2 - l ) ( l 2 2 - l 1 2 ) ( l 2 - l ) ( l 2 2 - l 1 2 ) + ( l 2 - l 1 ) ( 1 - l 2 2 )
求出原理误差B(l),再加上步骤四中用Legendre矩方法求得的边缘位置l就为真实边缘的位置;
步骤七,对于被检测的边缘点,再对其进行拟合就可得到圆的精确的圆心定位参数和半径参数,根据式:
a = G 22 E 1 - G 12 E 2 G 11 G 22 - G 12 G 21 b = G 11 E 2 - G 21 E 1 G 11 G 22 - G 12 G 21 c = - Σ ( X i 2 + Y i 2 ) + aΣ X i + bΣ Y i N
求出a,b,c。
其中:
G 11 = ( NΣ X 2 - ΣXΣX ) G 12 = G 21 = ( NΣXY - ΣXΣY ) G 22 = NΣ X 3 + ΣXY - Σ ( X 2 + Y 2 ) ΣX E 1 = ( XΣ Y 2 - ΣYΣY ) E 2 = NΣ X 2 Y + NΣ Y 3 - Σ ( X 2 + Y 2 ) ΣY
把求出的a,b,c代入下式可得到圆的精确的圆心定位参数和半径参数,
x 0 = a - 2 y 0 = b - 2 R = 1 2 a 2 + b 2 - 4 c
求出的圆心和半径为圆标志的精确的圆心定位参数和半径参数,达到亚像素级。
本发明不仅保留了点Hough变换运算速度快的特点,而且定位精度提高,抗噪能力强,具有准确性、快速性和鲁棒性的特点,满足了PCB视觉检测中的高精度和实时性的要求。
附图说明:
图1为点Hough变换取点图;
图2是一维边缘二级灰度模型和采样数据图;
图3是一维边缘三级灰度模型和采样数据图;
图4是一维边缘定位的误差补偿。
具体实施方式:
下面结合附图和具体实施方式对本发明做进一步的说明。
本发明提供一种PCB视觉检测中快速圆形标志定位方法,其是一种基于点Hough变换与Legendre矩的圆标志亚像素检测的RHLSP方法,总体实现过程包括以下步骤:
步骤一,对图像利用Canny算子进行边缘检测,把边缘点进行边缘跟踪排序,存入一数组中,然后把这些点分为三等份,每次分别从这三部分中各取出一点,构成点组进行计算;
步骤二,利用点Hough变换初步求取圆标志的圆心和半径
点Hough变换是在Hough变换的基础上,利用圆周上任意两条不平行弦的中垂线相交于圆心的性质,同时选取圆边缘上的3点即可确定出圆的基本参数,从而,将圆Hough变换中的搜索空间从三维减低到一维,大大降低了计算复杂性,如图1所示,K,N,J为被测圆边缘上3点,构成不平行的2条弦KN和NJ,则弦KN和NJ的中垂线OA,OB必交于圆心O点。设K,N,J,点的坐标分别为(Kx,Ky),(Nx,Ny),(Jx,Jy),则A,B点的坐标为:
Ax=(Kx+Nx)/2    (1)
Ay=(Ky+Ny)/2    (2)
Bx=(Nx+Jx)/2    (3)
By=(Ny+Jy)/2    (4)
则OA,OB的直线方程为:
L OA : y = K x - N x N y - K y ( x - A x ) + A y - - - ( 5 )
L OB : y = Jx - Nx Ny - Jy ( x - Bx ) + By - - - ( 6 )
则圆心O的坐标为:
O x = K OA A X - Ay - K OB B x + B y K OA - K OB - - - ( 7 )
Oy=KOA(Ox-Ax)+Ay    (8)
圆半经:
R = ( O x - K x ) 2 + ( O y - K y ) 2 - - - ( 9 )
圆周上任意不共线的三点构成的点组PA(K,N,J),就对应着参数空间圆参数构成的向量C(Ox,Oy,R),在圆图中选取n组边缘点组,计算得到n个圆参数向量,对这些圆参数向量进行比较,出现次数最多的向量值就是图像中圆的参数。
步骤三,滤除边缘点中噪声点
对于边缘检测后的边缘点,运用已经得到的圆的参数进行检测,滤除大的噪声点。假设边缘检测后任一可能边缘点的坐标为T(Tx,Ty),到圆心O的距离为:
d = ( T x - O x ) 2 + ( T y - O y ) 2 - - - ( 10 )
则:
其中E为滤除噪声点的阀值,一般取2个像素。对所有候选边缘点按上式比较运算,即可滤除非边缘点,把被检测圆上的边缘点保留下来;
步骤四,对各边缘点进行一维亚像素边缘检测
在连续域中,理想阶跃边缘的矩是确定的,边缘的位置可以由这些矩通过数学计算得到。采用Legendre正交矩进行亚像素边缘的检测,并通过分析采样造成的误差,调整计算得到的边缘位置,减少误差。
由于一维理想边缘模型可以用三个参数h、k和l描述,所以可以计算定义的理想边缘模型和实际边缘的前三阶Legendre矩,使理想边缘模型和实际图像中的边缘相匹配时如图2所示,从而得到含有这三个参数的方程,通过解方程得到这三个参数。
图2中的理想阶跃边缘可以用三个参数(h,k,l)表示:
f ( x ) = h , x ≤ l h + k , x > l - - - ( 11 )
其中f(x)是点x上的灰度值,h是背景灰度值,k是边缘对比度,h+k是目标灰度值,l是边缘模型的中心到阶跃处的距离,为了便于计算此处定义l∈[-1,1]。
理想的一维阶跃边缘也可以用一维的阶跃函数表示
f(x)=h+ku(x-1)        (12)
其中u是一维阶跃函数
u ( x ) = 1 , x &GreaterEqual; 0 0 , x < 0 - - - ( 13 )
根据的一维阶跃边缘模型和Legendre正交矩的定义,一维边缘模型的零到二阶Legendre正交矩为:
L 0 = 1 2 ( &Integral; - 1 l hdx + &Integral; l 1 ( h + k ) dx ) = h + k 2 ( 1 - l ) - - - ( 14 )
L 1 = 3 2 ( &Integral; - 1 l hxdx + &Integral; l 1 ( h + k ) xdx ) = 3 4 k ( 1 - l 2 ) - - - ( 15 )
L 2 = 5 2 ( &Integral; - 1 l 1 2 h ( 3 x 2 - 1 ) dx + &Integral; l 1 1 2 ( h + k ) ( 3 x 2 - 1 ) dx ) = 5 4 k ( l - l 3 ) - - - ( 16 )
上面的三个式子可以联立成三元方程,通过解方程可以得到描述边缘的三个参数,从而确定一维边缘的位置
l = 2 L 2 5 L 1 - - - ( 17 )
k = 4 L 1 3 ( 1 - l 2 ) - - - ( 18 )
h = L 0 - k 2 ( 1 - l ) - - - ( 19 )
在实际图像同样可以计算出零到二阶Legendre正交矩,投影过程是外界能量经光学透镜投影在CCD器件上,CCD在固定大小的面积上、在固定的时间间隔内对投射在它感应面的能量进行积分,积分的能量A/D输出后就是图像的离散灰度值。根据方形孔径采样定理,一维数据的灰度值可以表示为:
D ( i ) = &Integral; t - 0.5 t + 0.5 I ( x ) dx , 1 &le; i &le; N - - - ( 20 )
其中i是图像像素的位置,N是1维边缘的尺寸。
因此,以单像素x为中心,则一维阶跃边缘的亚像素位置戈可以表示为
xs=x+l    (21)
根据方形孔径采样定理,如式(5.4),且f(x)在一个像素之内看作是恒定的,可得:
L ~ p = ( 2 p + 1 ) 2 &Sigma; i D ( i ) &Integral; - 0.5 + 0.5 P P ( x ) dx - - - ( 22 )
假设一个大小为10×10像素的圆,我们把宽度为10个像素的窗口,拉伸坐标到[-1,1]区间内,则令:
C p ( i ) = ( 2 p + 1 ) 2 &Integral; G ( i ) P p ( x ) dx - - - ( 23 )
G(i)为各个位置像素的区域,G(i)分别为[-1,-0.8],[-0.8,-0.6],[-0.6,-0.4],[-0.4,-0.2],[-0.2,0],[0,0.2],[0.2,0.4],[0.4,0.6],[0.6,0.8]和[0.8,1]。一维Legendre正交矩可以表示为:
L ~ p = &Sigma; i D ( i ) C p ( i ) - - - ( 24 )
Cp(i)与边缘数据本身无关,仅与素所在窗口中的位置有关,故上式可以看成:Legendre正交矩可以由图像数据和一个模板Cp(i)进行相关运算得到。
根据式(23)可得到前三阶的C0、C1和C2,系数如表1所示。
表1各阶矩的系数
  C0   0.1   0.1   0.1   0.1   0.1   0.1   0.1   0.1   0.1   0.1
  C1   -0.24   -0.21   -0.15   -0.09   -0.03   0.03   0.09   0.15   0.21   0.24
  C2   0.36   0.12   -0.06   -0.18   -0.24   -0.24   -0.18   -0.06   0.12   0.36
步骤五,计算实际采样图像中的前三阶Legengre正交矩作为L0、L1和L2的估计值,则边缘的位置可以通过计算实际图像中边缘的Legendre正交矩得到,另外考虑到在计算过程中是把长度为10的窗口映射到[-1,1]区间内,所以得到的l值还应该乘以一个5的比例系数。一维边缘的各参数表达式如下:
l = 3 L ~ 2 L ~ 1 - - - ( 25 )
k = 4 L ~ 1 3 ( 1 - l 2 ) - - - ( 26 )
h = L ~ 0 - k 2 ( 1 - l ) - - - ( 27 )
步骤六,一维边缘定位的原理误差分析及误差补偿
上面论述了通过连续域中一维理想边缘模型的矩来得到一维边缘的三个参数(h,k,l)。上述基于Legendre正交矩的边缘参数计算公式的推导是建立在理想连续的二级灰度阶跃边缘模型之上的,没有考虑像素采样的影响,认为由采样得到的数字化图像在一个像素内的灰度是不变的。但在实际中,由于感光器件的感光元大小是有限的,对连续边缘进行的是离散采样,因此,在边缘附近,背景和边缘之间通常存在一个渐变的过渡阶段。这就使得采样后边缘并不能和连续边缘模型相匹配。如果还是采用上面推导的定位公式来计算就会带来较大的误差。因此,需要对上面的推导加以相应的变化,对结果做必要的补充修正。
当边缘位于两个像素之间时,采样边缘实际上包含三个灰度级:背景灰度h、过渡灰度h+Δk及目标灰度h+k。这样,建立了一个更接近实际的三级灰度边缘模型。如图3所示。l1和l2分别表示采样边缘像素到中心像素的距离,理想三级灰度模型的亚像素边缘到中心像素的距离l,可以由图中轻易看出实际边缘在以l1和l2为边界的那个像素中的某个位置,即l在l1和l2之间。不失一般性,令l1≤l≤l2。有了上述边缘三级灰度模型后,从理论上讲就可以推导出类似公式的边缘表达式,但是由于其计算过程复杂,所以仍然用式(23)近似计算实际边缘l,即用理想二级灰度模型的边缘公式给理想三级灰度模型边缘定位,这就带来了二级灰度模型定位边缘的原理误差。本节从理论上推导这个误差,然后用计算出来的边缘位置加上原理误差就可以得到实际边缘位置参数。
对于三级灰度边缘模型,计算其前三阶Legendre正交矩:
L 0 = 1 2 ( &Integral; - 1 l 1 hdx + &Integral; l 1 l 2 ( h + &Delta;k ) dx + &Integral; l 2 1 ( h + k ) dx ) = h + &Delta;k 2 ( l 2 - l 1 ) + k 2 ( 1 - l 2 ) - - - ( 28 )
L 1 = 3 2 ( &Integral; - 1 l 1 hxdx + &Integral; t 1 t 2 ( h + &Delta;k ) xdx + &Integral; t 2 1 ( h + k ) xdx ) = 3 4 &Delta;k ( l 2 2 - l 1 2 ) + 3 4 k ( 1 - l 2 2 ) - - - ( 29 )
L 2 = 5 2 ( &Integral; - 1 l 1 1 2 h ( 3 x 2 - 1 ) dx + &Integral; l 1 l 2 1 2 ( h + &Delta;k ) ( 3 x 2 - 1 ) dx + &Integral; l 2 1 1 2 ( h + k ) ( 3 x 2 - 1 ) dx )
= 5 4 &Delta;k ( l 2 3 - l 1 3 - l 2 + l 1 ) + 5 4 k ( l 2 - l 2 3 ) - - - ( 30 )
把式(29)和式(30)代入边缘位置的表示式(17)中,可以得到:
L M = 3 L 2 5 L 1 = 3 * [ 5 4 &Delta;k ( l 2 3 - l 1 3 - l 2 + l 1 ) + 5 4 k ( l 2 - l 2 3 ) ] 5 * [ 3 4 &Delta;k ( l 2 2 - l 1 2 ) + 3 4 k ( 1 - l 2 2 ) ] = &Delta;k [ l 1 ( 1 - l 1 2 ) - l 2 ( 1 - l 2 2 ) ] + kl 2 ( 1 - l 2 2 ) &Delta;k ( l 2 2 - l 1 2 ) + k ( 1 - l 2 2 ) - - - ( 31 )
由模型图3中可以看出实际的边缘越接近l2,过渡灰度增量Δk越小(趋近于0);实际边缘越接近l1,过渡灰度增量Δk越大(接近于k)。为了描述l2与l间距离l2-l和Δk之间的关系,过渡灰度增量可以线性关系式(41)近似表示。由于采样孔径的宽度是一个像素的宽度,所以,l2-l1的值是一个定值,为一个像素的长度。
&Delta;k = ( l 2 - l ) ( l 2 - l 1 ) - - - ( 32 )
理想的边缘到中心的长度l为
l = l 2 - &Delta;k k ( l 2 - l 1 ) - - - ( 33 )
则原理偏差为真实理想长度l减去用前述矩的方法计算得到的长度lM
B(l1,l2,l)=l-lM    (34)
把式(41)和式(42)代入原理误差表示式(43)得到:
B ( l 1 , l 2 , l ) = l - &Delta;k [ l 1 ( 1 - l 1 2 ) - l 2 ( 1 - l 2 2 ) ] + kl 2 ( 1 - l 2 2 ) &Delta;k ( l 2 2 - l 1 2 ) + k ( 1 - l 2 2 ) = ( l - l 1 ) ( l 2 - l ) ( l 2 2 - l 1 2 ) ( l 2 - l ) ( l 2 2 - l 1 2 ) + ( l 2 - l 1 ) ( 1 - l 2 2 ) - - - ( 35 )
时,误差为零。此时,l=l1或l=l2几边缘刚好处于像素的边界处,三层模型退化成二层模型,这也恰好说明了所建立的三级灰度边缘模型的合理性。即:
B(-1,-0.8,l)=0     (36)
当边缘处于窗口中心像素点的左邻接像素点的内部时,l1=-1,l2=-0.8把l1和l2的值带入式(35),得到的原理误差为:
B ( - 0.8 , - 0.6 , l ) = ( l + 0.8 ) ( l + 0.6 ) l + 1.05714 - - - ( 37 )
同理,分别在[-0.8,-0.6],[-0.6,-0.4],[-0.4,-0.2],[-0.2,0],[0,0.2],[0.2,0.4],[0.4,0.6],[0.6,0.8]和[0.8,1]把l1和l2的值带入式(35),得到的各原理误差为:
B ( - 0.6 , - 0.4 , l ) = ( l + 0.6 ) ( l + 0.4 ) l + 1.24 - - - ( 38 )
B ( - 0.4 , - 0.2 , l ) = ( l + 0.4 ) ( l + 0.2 ) l + 1.8 - - - ( 39 )
B ( - 0.2,0 , l ) = l ( l + 0.2 ) l + 5 - - - ( 40 )
B ( 0,0.2 , l ) = l ( l - 0.2 ) l - 5 - - - ( 41 )
B ( 0.2,0.4 , l ) = ( l - 0.2 ) ( l - 0.4 ) l - 1.8 - - - ( 42 )
B ( 0.4,0.6 , l ) = ( l - 0.4 ) ( l - 0.6 ) l - 1.24 - - - ( 43 )
B ( 0.6,0.8 , l ) = ( l - 0.6 ) ( l - 0.8 ) l - 1.05714 - - - ( 44 )
B(0.8,1,l)=0    (45)
由上面的分析可以看出,当边缘在窗口的中心像素范围内,原理误差为零。边缘在窗口中心像素的左右相邻像素的范围内,原理误差近似为二次曲线,如图4所示。真实边缘的位置为用Legendre矩方法求得的边缘位置l加上原理误差B(l1,l2,l),这样便提高了算法的精确度。
步骤七,边缘点拟合
对于被检测的边缘点,再对其进行拟合就可得到圆的精确的圆心定位参数和半径参数。
设圆的方程为:R2=(x-x0)2+(y-y0)2(46)
R 2 = x 2 - 2 x 0 x + x 0 2 + y 2 - 2 y 0 y + y 0 2 - - - ( 47 )
令: a = - 2 x 0 b = - 2 y 0 c = x 0 2 + y 0 2 - R 2 - - - ( 48 )
可得圆曲线方程的另一个形式:
x2+y2+ax+by+c=0(49)
只要求出a,b,c就可以求得圆心和半径:
x 0 = a - 2 y 0 = b - 2 R = 1 2 a 2 + b 2 - 4 c - - - ( 50 )
设已知圆上若干点的坐标为(xi,yi),i=1,2,….
设点(xi,yi)到圆心的距离为di
d i 2 = ( x i - x 0 ) 2 + ( y i - y 0 ) 2 - - - ( 51 )
则点(xi,yi)到圆心的距离的平方与半径的平方的差为:
&delta; i = d i 2 - R 2 = ( x i - x 0 ) 2 + ( y i - y 0 ) 2 - R 2 = x i 2 + y i 2 + a x i + by i + c - - - ( 52 )
方差定义为:
Q ( a , b , c ) = &Sigma; i = 1 N &delta; i 2 = &Sigma; i = 1 N ( x i 2 + y i 2 + a x i + b y i + c ) 2 - - - ( 53 )
分别对a,b,c求偏导得:
&PartialD; Q ( a , b , c ) &PartialD; a = &Sigma; 2 ( X i 2 + Y i 2 + a X i + b Y i + c ) X i = 0 &PartialD; Q ( a , b , c ) &PartialD; b = &Sigma; 2 ( X i 2 + Y i 2 + a X i + b Y i + c ) Y i = 0 &PartialD; Q ( a , b , c ) &PartialD; c = &Sigma; 2 ( X i 2 + Y i 2 + a X i + b Y i + c ) = 0 - - - ( 54 )
化简得:
G 11 G 12 G 21 G 22 a b = E 1 E 2 - - - ( 55 )
其中:
G 11 = ( N&Sigma; X 2 - &Sigma;X&Sigma;X ) G 12 = G 21 = ( N&Sigma;XY - &Sigma;X&Sigma;Y ) G 22 = N&Sigma; X 3 + &Sigma;XY - &Sigma; ( X 2 + Y 2 ) &Sigma;X E 1 = ( X&Sigma; Y 2 - &Sigma;Y&Sigma;Y ) E 2 = N&Sigma; X 2 Y + N&Sigma; Y 3 - &Sigma; ( X 2 + Y 2 ) &Sigma;Y - - - ( 56 )
解之得:
a = G 22 E 1 - G 12 E 2 G 11 G 22 - G 12 G 21 b = G 11 E 2 - G 21 E 1 G 11 G 22 - G 12 G 21 c = - &Sigma; ( X i 2 + Y i 2 ) + a&Sigma; X i + b&Sigma; Y i N - - - ( 57 )
把上式求出的a,b,c代入式(50),就可求出圆的中心位置和半径参数,而且速度快,达到快速精确定位的目的。
本发明不仅保留了点Hough变换运算速度快的特点,而且定位精度提高,抗噪能力强,具有准确性、快速性和鲁棒性的特点,满足了PCB视觉检测中的高精度和实时性的要求。

Claims (1)

1.一种PCB视觉检测中快速圆形标志定位方法,包括以下步骤:
步骤一,对PCB图像的圆形标志利用Canny算子进行边缘检测,把边缘点进行边缘跟踪排序,存入数组中,然后把这些点分为三等份,每次分别从这三部分中各取出一点,构成点组进行计算;
步骤二,根据以下公式进行计算求出圆的参数,多次参数向量出现频率最高的即为检测圆的参数;
O x = K OA A X - Ay - K OB B x + B y K OA - K OB
Oy=KOA(Ox-Ax)+Ay
R = ( O x - K x ) 2 + ( Q y - K y ) 2
上述公式中,Ox,Oy,R分别为圆心的X轴坐标、Y轴坐标和圆的半径;
设K,N,J为被测圆边缘上3点,构成不平行的2条弦KN和NJ,则弦KN和NJ的中垂线OA,OB必交于圆心O点,K,N,J,点的坐标分别为(Kx,Ky),(Nx,Ny),(Jx,Jy),KOA,KOB分别为直线OA、直线OB的斜率,则A,B点的坐标为:
Ax=(Kx+Nx)/2
Ay=(Ky+Ny)/2
Bx=(Nx+Jx)/2
By=(Ny+Jy)/2
则OA,OB的直线方程为:
LOA y = K x - N x N y - K y ( x - A x ) + A y
LOB y = Jx - Nx Ny - Jy ( x - Bx ) + By
步骤三,滤除边缘噪声点.对于边缘检测后的边缘点,运用已经得到的圆的参数进行检测,滤除大的噪声点,假设边缘检测后任一可能边缘点的坐标为T(Tx,Ty),到圆心O的距离为:
d = ( T x - O x ) 2 + ( T y - O y ) 2
则:
其中E为滤除噪声点的阀值,取2个像素,对所有候选边缘点按上式比较运算,即可滤除非边缘点,把被检测圆上的边缘点保留下来;
步骤四,对各边缘点进行一维亚像素边缘检测,把宽度为10个像素的窗口,拉伸坐标到[-1,1]区间内,G(i)为各个位置像素的区域,G(i)分别为[-1,-0.8],[-0.8,-0.6],[-0.6,-0.4],[-0.4,-0.2],[-0.2,0],[0,0.2],[0.2,0.4],[0.4,0.6],[0.6,0.8]和[0.8,1],根据式
C p ( i ) = ( 2 p + 1 ) 2 &Integral; G ( i ) P p ( x ) dx
可得到前三阶的C0、C1和C2,把系数值和各边缘点的参数代入式
L ~ p = &Sigma; i D ( i ) C p ( i ) , 分别算出边缘点的各阶矩;
步骤五,根据下式:
l = 3 L ~ 2 L ~ 1
k = 4 L ~ 1 3 ( 1 - l 2 )
h = L ~ 0 - k 2 ( 1 - l )
及各阶矩的参数分别求出各边缘点的l,k,h组;
步骤六,原理误差和实边缘的位置的求取,根据下式:
B ( l 1 , l 2 , l ) = l - &Delta;k [ l 1 ( 1 - l 1 2 ) - l 2 ( 1 - l 2 2 ) ] + k l 2 ( 1 - l 2 2 ) &Delta;k ( l 2 2 - l 1 2 ) + k ( 1 - l 2 2 ) = ( l - l 1 ) ( l 2 - l ) ( l 2 2 - l 1 2 ) ( l 2 - l ) ( l 2 2 - l 1 2 ) + ( l 2 - l 1 ) ( 1 - l 2 2 )
求出原理误差B(l),再加上步骤四中用Legendre矩方法求得的边缘位置l就为真实边缘的位置;
步骤七,对于被检测的边缘点(x1,y1),(x2,y2),…,(xN,yN),以之对圆其进行拟合就可得到圆的精确的圆心定位参数和半径参数,其中取N个拟合点,X(x1,x2,...,xN)以及Y(y1,y2,...,yN)为各坐标分量组成的向量,根据式:
a = G 22 E 1 - G 12 E 2 G 11 G 22 - G 12 G 21 b = G 11 E 2 - G 21 E 1 G 11 G 22 - G 12 G 21 c = - &Sigma; ( X i 2 + Y i 2 ) + a&Sigma; X i + b&Sigma; Y i N
求出中间参数a,b,c,其中:
G 11 = ( N&Sigma; X 2 - &Sigma;X&Sigma;X ) G 12 = G 21 = ( N&Sigma;XY - &Sigma;X&Sigma;Y ) G 22 = N&Sigma; X 3 + &Sigma;XY - &Sigma; ( X 2 + Y 2 ) &Sigma;X E 1 = ( X&Sigma; Y 2 - &Sigma;Y&Sigma;Y ) E 2 = N&Sigma; X 2 Y + N&Sigma; Y 3 - &Sigma; ( X 2 + Y 2 ) &Sigma;Y
把中间参数a,b,c代入下式可得到圆的精确的圆心定位参数和半径参数,
x 0 = a - 2 y 0 = b - 2 R = 1 2 a 2 + b 2 - 4 c
求出的圆心和半径为圆标志的精确的圆心定位参数和半径参数,达到亚像素级。
CN201010518481.7A 2010-10-22 2010-10-22 一种pcb视觉检测中快速圆形标志定位方法 Active CN102034101B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201010518481.7A CN102034101B (zh) 2010-10-22 2010-10-22 一种pcb视觉检测中快速圆形标志定位方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201010518481.7A CN102034101B (zh) 2010-10-22 2010-10-22 一种pcb视觉检测中快速圆形标志定位方法

Publications (2)

Publication Number Publication Date
CN102034101A CN102034101A (zh) 2011-04-27
CN102034101B true CN102034101B (zh) 2014-11-05

Family

ID=43886964

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010518481.7A Active CN102034101B (zh) 2010-10-22 2010-10-22 一种pcb视觉检测中快速圆形标志定位方法

Country Status (1)

Country Link
CN (1) CN102034101B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109583504A (zh) * 2018-12-05 2019-04-05 河北工业大学 一种基于视觉的pcb板圆形定位孔快速准确识别方法

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104006758B (zh) * 2013-02-26 2017-07-21 张继红 一种笔芯质量的自动检测方法
CN103778411B (zh) * 2014-01-15 2017-02-01 宁波韦尔德斯凯勒智能科技有限公司 一种基于栅格图像划分的圆检测方法及装置
CN104408722A (zh) * 2014-11-26 2015-03-11 南京工业大学 一种用于pcb视觉定位的检测方法
CN104390591B (zh) * 2014-11-27 2017-04-12 上海江南长兴造船有限责任公司 大型曲面板测量中圆形标记物的精确定位方法
CN104463876B (zh) * 2014-12-12 2017-05-03 湖南科技大学 一种基于自适应滤波的复杂背景下图像多圆快速检测方法
CN104732207B (zh) * 2015-03-12 2018-11-02 广东工业大学 高精度与高抗干扰性定位PCB板Mark点的方法及装置
CN104899888B (zh) * 2015-06-18 2017-10-24 大连理工大学 一种基于Legendre矩的图像亚像素边缘检测方法
CN105139397B (zh) * 2015-08-25 2017-12-19 广州视源电子科技股份有限公司 一种pcb板检测方法及装置
CN105261022B (zh) * 2015-10-19 2018-12-18 广州视源电子科技股份有限公司 一种基于外轮廓的pcb板卡匹配方法及装置
CN105606035B (zh) * 2016-03-15 2018-11-02 南京理工大学 基于机器视觉的柔性环形零件特征尺寸测量方法
CN106952307B (zh) * 2017-03-22 2020-01-07 广东工业大学 一种图像中球体定位方法及系统
CN107301636A (zh) * 2017-05-17 2017-10-27 华南理工大学 一种基于高斯拟合的高密度电路板圆孔亚像素检测方法
CN107516325A (zh) * 2017-08-22 2017-12-26 上海理工大学 基于亚像素边缘的圆心检测方法
CN110288619B (zh) * 2018-03-14 2021-08-03 浙江大学山东工业技术研究院 基于视觉的太阳花模组表面螺钉孔位置检测方法
CN109255795B (zh) * 2018-09-11 2021-04-06 中国计量大学 一种番茄植株边缘排序方法
CN109816677B (zh) * 2019-02-15 2021-02-23 新华三信息安全技术有限公司 一种信息检测方法及装置
CN111739006B (zh) * 2020-06-22 2021-07-13 深圳企业云科技股份有限公司 一种基于围道积分的椭圆图像检测算法及系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101739545A (zh) * 2008-11-21 2010-06-16 上海电机学院 一种人脸检测方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8345922B2 (en) * 2008-09-03 2013-01-01 Denso Corporation Apparatus for detecting a pupil, program for the same, and method for detecting a pupil

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101739545A (zh) * 2008-11-21 2010-06-16 上海电机学院 一种人脸检测方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
吴国凤,曹祝君.LEGENDRE正交矩的一种近似计算方法.《上海工程技术大学学报》.2004,第18卷(第1期),50-52. *
汪勉,赵景秀,韩君君,程洁,赵娟,曹曼曼.基于快速Hough变换检测圆的人眼精确定位方法的研究.《电子技术》.2008,60-62. *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109583504A (zh) * 2018-12-05 2019-04-05 河北工业大学 一种基于视觉的pcb板圆形定位孔快速准确识别方法
CN109583504B (zh) * 2018-12-05 2021-01-26 河北工业大学 一种基于视觉的pcb板圆形定位孔快速准确识别方法

Also Published As

Publication number Publication date
CN102034101A (zh) 2011-04-27

Similar Documents

Publication Publication Date Title
CN102034101B (zh) 一种pcb视觉检测中快速圆形标志定位方法
CN103020945B (zh) 一种多源传感器的遥感图像配准方法
CN103292701B (zh) 基于机器视觉的精密器件在线尺寸测量方法
CN105021124B (zh) 一种基于深度图的平面零件三维位置和法向量计算方法
CN101673397B (zh) 一种基于lcd的数码相机非线性标定方法
CN101488187A (zh) 可变形对象识别系统和方法
CN102208109A (zh) X射线图像和激光图像的异源图像配准方法
CN104966089B (zh) 一种二维码图像边缘检测的方法及装置
CN104021547A (zh) 肺部 ct 的三维配准方法
CN111145232A (zh) 一种基于特征信息变化度的三维点云自动配准方法
CN109035292A (zh) 基于深度学习的运动目标检测方法及装置
CN103679720A (zh) 一种基于小波分解与Harris角点检测的快速图像配准方法
CN110827332A (zh) 一种基于卷积神经网络的sar图像的配准方法
CN110223355B (zh) 一种基于双重极线约束的特征标志点匹配方法
CN108154066B (zh) 一种基于曲率特征递归神经网络的三维目标识别方法
CN112634365B (zh) 一种微结构特征的位姿高精度跟踪与检测方法
CN105488541A (zh) 增强现实系统中基于机器学习的自然特征点识别方法
CN104050660A (zh) 一种测量工件圆形边缘的方法
CN106529548A (zh) 亚像素级的多尺度Harris角点检测算法
CN103745463A (zh) 基于梯度信息的新颖多源图像快速配准方法
CN114494371A (zh) 基于多尺度相位一致性的光学图像和sar图像配准方法
Lim et al. Orora: Outlier-robust radar odometry
CN116843725B (zh) 一种基于深度学习光流法的河流表面流速测量方法及系统
CN105405146A (zh) 基于特征密度聚类与正态分布变换的侧扫声呐配准方法
Marques et al. Crater delineation by dynamic programming

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant