掌桥专利:专业的专利平台
掌桥专利
首页

融合Hough变换和卡尺聚类的圆检测方法

文献发布时间:2023-06-19 11:35:49


融合Hough变换和卡尺聚类的圆检测方法

技术领域

本发明属于图像处理领域,具体涉及一种融合Hough变换和卡尺聚类的圆检测方法。

背景技术

PCB在生产及检测过程中,自动对位mark点的抓取是最主要的一项,而mark点的检测一般是圆检测。常用的圆检测技术有形状分析法、环路积分微分法、圆Hough变换等.Hough变换是目前应用最为广泛的圆检测方法,该方法可靠性高,在噪声、变形、甚至部分区域丢失的状态下仍然能取得理想的效果,其实质是将图像空间的具有一定关系的像素点进行聚类并寻找某一解析式来拟合这些点。传统Hough算法存在处理时间长,提取准确率低的问题,而实际应用当中的圆检测对算法的执行时间和精度要求都有着较高的要求,单一Hough变换无法满足工业上的要求。

发明内容

针对现有技术存在的不足,本发明的目的在于提供一种融合Hough变换和卡尺聚类的圆检测方法。

为实现上述目的,本发明提供了如下技术方案:

一种融合Hough变换和卡尺聚类的圆检测方法,其包括以下步骤:

步骤一、通过快速Hough变换对图像中的圆进行粗定位,并获得圆心及圆径;

步骤二、对粗定位的圆进行卡尺模型建立,以n度为标准将圆周划分为若干方向,根据半径和角度求得此方向上的边缘点,该边缘点在当前角度下可前后移动一段距离;

步骤三、从步骤二获取边缘点中,获取角度为α时的卡尺的最适边缘点,对所有卡尺求取最适边缘点,将所有最适边缘点纳入最适边缘点集合中;

步骤四、对最适边缘点集合中边缘点进行聚类,并对最大聚类进行圆拟合操作,并排除虚假圆心,滤除干扰卡尺;

步骤五、对经过步骤四操作之后的聚类内的卡尺进行圆拟合。

步骤一中,

1)对图像进行预处理,获取图像的边缘信息,并获取各个边缘点的梯度方向的正切值;

2)利用各个边缘点的梯度方向以及目标圆的半径投影出圆心坐标;

3)从步骤2)中获取出现次数最多的圆心坐标并对其进行圆心矫正。

步骤二中,最适边缘点检测步骤如下:

1)根据当前角度计算投影后的x,y轴上的步长

2)利用双线性插值法获取以当前边缘点所在延伸方向上的前后两个相邻的边缘点的灰度值,并通过前后两个相邻边缘点的灰度值计算当前边缘点的梯度,并计算前后两个相邻边缘点的投影坐标;

3)边缘点沿着所属卡尺的方向从外向内或从内向外步进,并按照步骤2)获取沿途的边缘点的梯度;

4)获取梯度最大的边缘点,并由该边缘点重新计算实际半径和对应的投影点,从而获取角度为α时的卡尺的最适边缘点;

5)对所有角度的卡尺求取最适边缘点,并全部纳入最适边缘点集合中。

通过获取沿途边缘点的梯度,并对获取的梯度进行累加,从而获取梯度均值,在获取当前边缘点的梯度时,以到达相邻边缘点累加的梯度的梯度均值代替相邻边缘点的梯度进行滤波平滑。

所述步骤二中,在获取最适边缘点集合之后,筛除其中非真实的圆边缘的最适边缘点,其中先设定最小角度阈值T,然后获取任意最适边缘点构成的投影点与前后两边缘点的向量

步骤四中,对最大聚类进行拟合圆操作包括非圆心稳定优先模式下的圆拟合方式及圆心稳定优先模式下的圆拟合方式。

所述非圆心稳定优先模式下的圆拟合方式,首先获取该最大聚类中各个卡尺的最适边缘点与圆心的距离,并获取该距离与Hough圆径的偏差,并对其进行排序,滤除干扰卡尺。

卡尺角度在每一次渐进拟合后按步长增大,当卡尺角度不超过设定值时,直接纳入最适边缘点集合,当卡尺角度大于设定值时,计算该最适边缘点的半径与原半径的偏差,偏差不超过阈值ρ则纳入最适边缘点集合,

圆心稳定优先模式下的圆拟合方式,直接对最大聚类内的所有最适边缘点采用渐进式拟合的方式拟合圆,当最大聚类内的数量不足以拟合圆时,则判定拟合失败。

本发明的有益效果:本发明在图像处理时无需设置灰度阈值,对图像噪声具有较强抗干扰能力,此外,将检测精度提升到了亚像素级,并通过双线性插值计算灰度,本发明具有高检测精度和短检测用时。

附图说明

图1为本发明采用的Sobel算子模板。

图2为本发明中快速Hough变换的流程图。

图3为本发明中计算最适边缘点的流程图。

图4为本发明中过滤干扰点的流程图。

图5为Hough检测和卡尺聚类独立检测及融合检测效果图,其中a为待检测图样,b为本发明中Hough变换部分的检测结果,c为本发明中Hough变换与卡尺聚类融合后的检测结果,d为本发明中最终的检测结果。

图6为本发明在不同情况下的检测效果图,其中a同心圆、b划痕和同心圆、c背景对比度突变、d轻微划痕、e边界圆、f极小边界圆、g对比度突变和划痕、h严重边缘划痕。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

需要说明,本发明实施例中所有方向性指示(诸如上、下、左、右、前、后……)仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。

在本发明中,除非另有明确的规定和限定,术语“连接”、“固定”等应做广义理解,例如,“固定”可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系,除非另有明确的限定。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。

另外,在本发明中如涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。

如图所示,一种融合Hough变换和卡尺聚类的圆检测方法,其包括以下步骤:

步骤一、通过快速Hough变换对图像中的圆进行粗定位,并获得圆心及圆径;

首先Hough变换对图像的检测不涉及于灰度阈值的选定,对噪音的抗干扰能力强。它将图像空间转换到参数空间,把所有可能落在边缘上的点进行统计计算,根据对数据的统计结果确定属于边缘的程度。圆的笛卡尔坐标表达式为

(x-a)

式中,(x,y)为圆上坐标点,(a,b)为圆心,r为圆的半径。

本方法预先确定圆的目标半径,使空间从三维降至二维,有效地减少变换的时间;计算边缘点的梯度方向,投影出可能的圆心点坐标,将重复次数最多的投影点作为圆心,最后利用质心的思想对Hough变换得到的圆心进行二次矫正定位,使得圆心的位置更准确。

步骤一中,

1)对图像进行预处理,获取图像的边缘信息,其中边缘信息由一阶导算子或二阶导算子对灰度图进行卷积获得,本发明使用Sobel算子(Kittler J,1983)对图像进行边缘提取,并获取各个边缘点的梯度方向的正切值:

沿横轴方向:

沿纵轴方向:

式中,v

2)利用各个边缘点的梯度方向以及目标圆的半径投影出圆心坐标;

根据梯度方向和目标半径可以投影出圆心坐标,对正方向投影得

x

y

对反方向投影得

x

y

式中,(x

当投影的圆心坐标位于规定内,则该坐标的出现次数累加,直至所有点被遍历完毕。考虑到因圆孔位于FOV外导致边界出现不完整圆轮廓的情况,本申请将投影边界向外拓展了一部分。

3)从步骤2)中获取出现次数最多的圆心坐标并对其进行圆心矫正。

从上述结果中找到出现次数最多的点(x

式中,u为坐标最大矫正范围,P为记录坐标点出现次数的矩阵,计算时需要注意,出现次数较少或越过规定范围的坐标点不能纳入计算。

最后矫正圆点坐标并去除圆点附近的干扰点,得到圆心(x

步骤二、对粗定位的圆进行卡尺模型建立,以n度为标准将圆周划分为若干方向,根据半径和角度求得此方向上的边缘点,该边缘点在当前角度下可前后移动一段距离;

其中卡尺聚类基于Hough变换得到的圆心及圆径,首先以n度为标准将圆周划分为若干方向,根据半径和角度求得此方向上的边缘点,该边缘点在当前角度下可前后移动一段距离,本申请将此路径定义为卡尺。按序计算每一条卡尺上点的梯度,对梯度做平滑处理以去除噪声,取最大梯度点作为最佳适应边缘点,并计算当前半径。也可以设定提前结束阈值,当点的梯度大于此阈值时直接计算该点与圆心距离。

为了确保圆心的稳定性,按所成圆心角过滤边缘点,计算每一点与相邻两点所成圆心角,并剔除角度过小的点。对筛选后的卡尺点以密度聚类的方式进行聚类,并取最大的聚类作为目标圆的点集,通过渐进式拟合的方法拟合出最终的圆。

步骤二中,最适边缘点检测步骤如下:

1)根据当前角度计算投影后的x,y轴上的步长

2)利用双线性插值法获取以当前边缘点所在延伸方向上的前后两个相邻的边缘点的灰度值,并通过前后两个相邻边缘点的灰度值计算当前边缘点的梯度,并计算前后两个相邻边缘点的投影坐标;

3)边缘点沿着所属卡尺的方向从外向内或从内向外步进,并按照步骤2)获取沿途的边缘点的梯度;

4)获取梯度最大的边缘点,并由该边缘点重新计算实际半径和对应的投影点,从而获取角度为α时的卡尺的最适边缘点;

5)对所有角度的卡尺求取最适边缘点,并全部纳入最适边缘点集合中。

利用双线性插值法求该点灰度,计算横坐标与边界的距离

式中,O

计算纵坐标与边界的距离

式中,O

计算横向插值灰度

式中,g为图像的灰度矩阵,g

计算纵向插值灰度

式中,g

加权合并求得插值灰度

计算边缘点坐标时需要注意是否越界,本算法考虑到边界可能出现圆的一部分轮廓,将界限向外拓展了一定长度。

以当前点所在延伸方向上的相邻点的双线性插值灰度来计算该点的梯度,计算前点的投影坐标,设当前点坐标为(x

计算后点的投影坐标

求取沿途点梯度并累加,得到平均梯度值

式中,w为坐标点的移动路径总长(卡尺长度);

坐标点沿着所属卡尺的方向从外向内(或从内向外)步进,同时计算沿途点的梯度。

考虑到噪音的干扰和毛刺现象,以相邻点梯度均值代替当前梯度的方法进行滤波平滑,滤波公式如下

式中,u代表沿途点梯度的集合

考虑到未来更加复杂的情况,本式可拓展到计算相邻若干点的梯度,也可通过高斯分布的方式计算梯度等。

下一步需要找出梯度(绝对值)最大的点,由该点重新计算实际半径和相应的投影点。列式计算半径r

r

式中,g

x

y

至此便求出了角度为α时的卡尺的最适边缘点,对所有卡尺求取最适边缘点,纳入最适边缘点集合。

另外由于受图像噪声干扰,并非所有方向上的最适边缘点都是真实的圆孔边缘,因此需要一种快速有效的方法筛除这些卡尺中的无关项,本发明通过计算相邻卡尺点所成圆心角的度数去除这些干扰点,投影中心点,根据所成圆心角度数过滤。

所述步骤二中,在获取最适边缘点集合之后,筛除其中非真实的圆边缘的最适边缘点,其中先设定最小角度阈值T,然后获取任意最适边缘点构成的投影点与前后两边缘点的向量

最小角度阈值T定义为:

T=(ο/z-π)*b

式中,ο为最大角度,b为可调系数,当前设置为0.7

取点集中某下标为i的点p

计算圆心角度数,由于向量长度均为1,正弦值、余弦值的计算简化如下

式中,

转化为正切值并求出

将得出的圆心角的角度

用半径长度和弧度构造极坐标向量

矫正卡尺点p

计算校正后与卡尺点与旧点之间的偏移,舍去处于边界或对比度较低的点。保存偏移不超过最大偏移量的组合(p

步骤三、从步骤二获取边缘点中,获取角度为α时的卡尺的最适边缘点,对所有卡尺求取最适边缘点,将所有最适边缘点纳入最适边缘点集合中;

步骤四、对最适边缘点集合中边缘点进行聚类,并对最大聚类进行圆拟合操作,并排除虚假圆心,滤除干扰卡尺;

聚类算法有层次聚类法,密度聚类法等,常用的聚类算法有K-Means,DBSCAN等。因传统聚类算法存在执行时间长的问题,本申请使用经典的DBSCAN聚类法对边缘点进行聚类。为了确保拟合的准确性,若最大聚类内元素少于卡尺总数的六分之一则视为无效聚类。本申请以3度为标准划分出共120个卡尺,此时若最大聚类中的元素小于20则舍去,在20和30之间则根据对比度判断取舍。

步骤四中,对最大聚类进行拟合圆操作包括非圆心稳定优先模式下的圆拟合方式及圆心稳定优先模式下的圆拟合方式。

所述非圆心稳定优先模式下的圆拟合方式,首先获取该最大聚类中各个卡尺的最适边缘点与圆心的距离,并获取该距离与Hough圆径的偏差,并对其进行排序,滤除干扰卡尺。

卡尺角度在每一次渐进拟合后按步长增大,当卡尺角度不超过设定值时,直接纳入最适边缘点集合,当卡尺角度大于设定值时,计算该最适边缘点的半径与原半径的偏差,偏差不超过阈值ρ则纳入最适边缘点集合,

圆心稳定优先模式下的圆拟合方式,直接对最大聚类内的所有最适边缘点采用渐进式拟合的方式拟合圆,当最大聚类内的数量不足以拟合圆时,则判定拟合失败。

在非圆心稳定优先模式下,计算类簇中卡尺的最适边缘点与圆心的距离,计算此距离与Hough圆径的偏差,以此为排序基准降序排序,滤除干扰卡尺。

为保证有足够数量的点参与拟合,同时滤除干扰卡尺,在卡尺角度小于阈值时直接纳入拟合集(本发明设置为90度),角度在每一次渐进拟合后按步长增大,当角度不超过阈值时直接将该点纳入集合,角度大于阈值时,计算该点半径与原半径的偏差,若偏差不超过阈值则纳入拟合集中。阈值ρ定义为

式中,θ为当前角度,λ为可调节参数。

在圆心稳定优先模式下,直接对类内所有最适边缘点采用渐进式拟合的方法拟合圆,设定阈值,当类内点数过少时判定为拟合失败。

步骤五、对经过步骤四操作之后的聚类内的卡尺进行圆拟合。

最后对聚类内卡尺进行圆拟合,对圆拟合点拟合圆的方法包括平均值法,加权平均法和最小二乘法等,这些方法被广泛地应用于工业生产当中,本发明采用渐进式拟合法拟合圆,根据条件判断是否将点纳入拟合集中,渐进式拟合可以看作是若干次最小二乘法的组合,渐进式拟合的计算过程如下

式中,(x

相比于其他拟合方式,渐进式圆拟合通过逐渐增加点并多次拟合圆的方式,避免了重复运算,且内部不保留点集,减少了内存占用。

通过采集了实际作业中的图像作为实验数据集,数据集分为检测成功数据集NORM(图像尺寸为1288*964,共2400张)和检测失败数据集HARD(图像尺寸为1288*964,共698张),设置HARD数据集的目的是测试改进后的算法在非理想图片上的检测性能,而设置NORM数据集的目的是测试改进算法是否能在理想图片下保持高准度和低处理时长。将融合算法分解为单Hough变换、单卡尺聚类,单步查看处理结果。处理结果如图5所示,(b)为融合算法中Hough变换部分的处理结果,检测出的圆轮廓与右侧实际轮廓完全贴合,但与左侧偏差较大。(b)为融合算法中卡尺聚类部分的处理结果,可以看到该方法准确地找到了各个角度的最佳适应边缘点并聚类,对Hough变换部分的圆检测结果进行了再调整,将左侧边缘向实际边缘拉近,达到了算法的设计目标。(c)为上述两部分的合并执行结果,此时的圆边缘相比(b)中的结果准度明显提升,证明本申请提出的方法与理论效果相符。

图6中c、d、g为检测失败样本中常见的类型,占比较大,现有的方法不能很好的处理这些样本,本发明能够准确地检测出这些图样中的圆,解决了检测时遇到的主要问题,a、b、h在检测失败的样本中占比小,噪声干扰严重,检测难度要高于前者,本算法将像素点坐标精确到亚像素级,能够精确定位出位置,解决了检测时遇见的次要问题。部分圆孔因未能完全出现在相机FOV中产生了e、f图像,本算法拓展了投影边界,允许圆心能够投影在边界之外来解决这个问题。图6证明本算法能够在上述不理想的图样中准确检测到圆的轮廓,能够从不连续边缘中检测出圆轮廓,具有良好的泛化性。

从算法的平均处理时长(AVT)和准确率率(ACC)来评估算法的实际效果。将数据集NORM均分为3份,将数据集HARD均分为4份进行测试,具体的处理结果如表1、2所示

表1算法在NORM数据集的检测结果

表2算法对HARD数据集的检测结果

由表1、2可知,本算法在NORM和HARD数据集中的准确率均为100%。

实施例不应视为对本发明的限制,但任何基于本发明的精神所作的改进,都应在本发明的保护范围之内。

相关技术
  • 融合Hough变换和卡尺聚类的圆检测方法
  • 基于Hough变换的椭圆检测方法、系统和虫卵识别方法
技术分类

06120112984244