一种基于人工鱼群算法的圆形工件检测方法

文档序号:10726394阅读:343来源:国知局
一种基于人工鱼群算法的圆形工件检测方法
【专利摘要】本发明公开了一种基于人工鱼群算法的圆形工件检测方法,属于计算机信息图像处理技术领域。本发明首先对待检测图像进行预处理,获取圆形工件的边缘信息,然后根据待测工件图像的尺寸确定一个三维解空间并初始化人工鱼群,使每条人工鱼随机分布在该解空间中,最后人工鱼群采用自适应视野和步长,通过不断交互并协调行为,在解空间中启发式搜索经过边缘点数目最多的圆,从而得到工件的圆心和半径;本发明与传统霍夫变换检测圆的方法相比,可以实现在参数空间中并行搜索且不需要遍历整个空间,较大地减少了空间和时间开销,也提高了检测的精度,具有快速、准确和鲁棒的特点。
【专利说明】
一种基于人工鱼群算法的圆形工件检测方法
技术领域
[0001] 本发明涉及计算机信息图像处理技术领域,更具体地说,涉及一种基于人工鱼群 算法的圆形工件检测方法。
【背景技术】
[0002] 圆形特征是机械设计与制造领域基本特征之一,圆形工件几何尺寸的精确测量, 不仅可以使零件的加工质量得到保证,而且在提高生产效率方面也起着至关重要的作用。 因此圆形工件的检测成了一项既基础又重要的工作。霍夫变换是图像处理中从图形中识别 几何形状的基本方法之一,自从霍夫于1962年提出以来,它就很快发展为可检测直线和圆 等图形的一种有效方法。
[0003] 霍夫变换具有鲁棒性强、对噪声不敏感的特性,但由于其高运算量、占用存储空间 量大的缺点,不能满足工业检测实时性的要求。为了克服上述缺陷,XU等人提出了随机霍夫 变换(Xu L,0 ja E.Randomized hough transform(RHT):basic mechanisms,algorithms and computational complexities , Computer Vision Graphic Image Process : Image understanding,1993,57(2): 131-154.)。随机霍夫变换主要是将图像空间中随机选取的不 在同一条直线上的三个点根据圆的性质,按照一定的规则变换到参数空间中的一个点,构 成多到一的映射,然后计算满足所选择点的圆参数。此方法避免了霍夫变换一到多映射的 巨大计算量,具有一定的优越性。但对于复杂图像,特别是受到噪声干扰的图像,由于无目 标的随机采样会引入大量的无效采样与无用累积,检测结果的随机性很大,时间消耗过多, 使算法性能大大降低。
[0004] 张新雨等人于2014年在《仪器仪表学报》上发表了名为《基于人工鱼群霍夫变换的 单晶硅直径检测》的论文,采用人工鱼群算法检测标准椭圆模型,并证明了该算法的有效 性,可行性。但该算法主要用于标准椭圆的检测,由于圆形工件边缘呈锯齿状且边缘部分易 存在凹陷,应用该算法进行边缘点个数统计时,会导致目标圆的适应度小于某些候选圆(例 如该圆部分经过工件的外边缘,部分经过凹陷的边缘)的适应度,即容易受到锯齿边缘和凹 陷边缘的影响,进而导致检测到的圆心偏离目标圆的圆心,检测到的半径也小于目标圆的 半径,难以满足检测精度的要求。
[0005] 经检索,中国专利申请号201410454074.2,申请日为2014年9月9日,发明创造名称 为:适用于在生产流水线的工业产品外形进行圆弧直径在线检测的方法;该申请案基于机 器视觉获取工业产品的数字化图像且进行图像预处理。之后进行图像分割、圆弧拟合。最 终,获取亚像素轮廓,并基于亚像素轮廓实现圆弧直径的检测。该申请案依托于工业射线底 片,可以有效通过机器视觉实现在线测量与非接触测量。但该申请案计算量较大,时间消耗 多,算法性能较差。
[0006] 中国专利申请号201410359365.3,申请日为2014年7月25日,发明创造名称为:一 种面齿轮齿面面轮廓度评定方法;该申请案基于面齿轮传动原理和小偏差假设条件,综合 考虑面轮廓度的最小二乘法评定理论以及人工鱼群算法理论,根据实际检测的面齿轮齿面 点坐标实现面齿轮齿面轮廓度误差的精度评定。该申请案解决了面齿轮整体齿面精度评价 问题,为面齿轮加工后的精度评定提供了一种方法,但该申请案在应用上有其局限性,并不 能适用于圆形工件的检测。

【发明内容】

[0007] 1.发明要解决的技术问题
[0008] 为了克服现有技术中对圆形工件检测存在测量精度低、计算量大等技术不足的问 题,本发明提出了一种基于人工鱼群算法的圆形工件检测方法;本发明可以实现在参数空 间中并行搜索且不需要遍历整个空间,较大地减少了空间和时间开销,也提高了检测的精 度;针对圆形工件检测过程中易受工件锯齿边缘和凹陷边缘影响导致检测到的圆心偏离目 标圆心问题,本发明在计算圆的适应度即位于候选圆上的边缘点个数时,经过多次实验采 用一个较大的阈值T使得目标圆有更多的边缘点,从而使目标圆的适应度大于其他候选圆 的适应度且有较大的差异,最终达到消除工件锯齿边缘和凹陷边缘干扰的目的。
[0009] 2.技术方案
[0010] 为达到上述目的,本发明提供的技术方案为:
[0011] 本发明的一种基于人工鱼群算法的圆形工件检测方法,其步骤为:
[0012] 1)对采集的圆形工件图像进行预处理,并采用Sobel算子进行边缘检测,获取圆形 工件的边缘点集S= {(Xi,yi),(X2,y2),. . .,(Xk,yk),. . .,(Xn,yn)},其中η为边缘点个数, (xk,yk)为第k个边缘点坐标;
[0013] 2)设定三维向量(a,b,r)表示人工鱼个体X,并根据步骤1)预处理得到的大小为m* η的工件图像确定a的取值范围为[1,m],b的取值范围为[1,n],r的取值范围为[1 η}/2],建立三维解空间;
[0014] 3)设定种群规模、视野、迭代次数和拥挤度因子,使每条人工鱼随机分布在步骤2) 建立的三维解空间中,对解空间中第i条人工鱼Xi,定义适应度Υ用于累加圆(ai,bi,ri)上的 边缘点数量,适应度Y公式如下:
[0015] ) = Σ EitrJxj^x,,, r,) k=l 11, 1((? -α-)2 +(>^ ~bf)2 )0'5 -η\<Τ
[0016] 五(α"ν;,.υΗ (IS
[Ο, ^-α,Υ+Ιν,-^??5-η\>Τ [0017]其中,T为设定的阈值;
[0018] 4)利用步骤3)所述适应度公式计算鱼群中每条人工鱼模拟执行觅食行为、追尾行 为、聚群行为和随机行为后的适应度,选择适应度最大的行为执行;
[0019] 5)选择步骤4)移动后鱼群中适应度最大的人工鱼Xbest=(abest,b best,rbest)及其适 应度放入公告牌中,若在下一次移动后人工鱼适应度大于公告牌中适应度,则更新公告牌 中人工鱼及其适应度;
[0020] 6)随着迭代次数的增加自适应地减小人工鱼的视野和步长;
[0021] 7)重复步骤4)~6)直至达到步骤3)设定的迭代次数,将公告牌中记录的最大适应 度所对应的(a be3St,bbe3St,rbe3St)作为圆形工件几何尺寸参数。
[0022] 更进一步地,步骤1)所述图像预处理过程为:先对采集的圆形工件图像进行灰度 化并中值滤波,然后使用最大类间方差法对图像进行二值化处理和数学形态学处理,所述 的数学形态学处理过程为:首先利用形态学闭运算处理图像,之后对图像进行孔洞填充操 作。
[0023] 更进一步地,步骤3)设定种群规模AF_total =40,视野Visual = 60,迭代次数 Iterate_times = 50,拥挤度因子δ = 8 〇
[0024] 更进一步地,步骤3)中设定的阈值Τ = 5。
[0025] 更进一步地,步骤4)中所述四种行为描述如下:
[0026] Α.随机行为:对于人工鱼乂1=(&1,13 1^1),在视野内随机选择一个位置,然后向该 方向移动:
[0027] XiNext = Xi+Step · Rand()
[0028] 其中RandO是一个随机函数,用于产生0到1之间的随机数,Step为人工鱼的步长。
[0029] B.觅食行为:对于人工鱼Xi = (ai,h,Γι),在其视野内随机选择一个位置)^,若该位 置处的适应度Y』大于当前位置的适应度Υη则向该位置前进一步:
[0031] C·聚群行为:对于人工鱼Xi = (ai,bi,ri),探索其视野内的伙伴数目nf及中心位置 X。。若Yc/nf > δΥι,表明伙伴中心位置适应度较高且不太拥挤,则朝该位置方向前进一步:
[0033] D.追尾行为:对于人工鱼乂1 = (&^匕,^),探索其视野内具有最大适应度¥」的伙伴 Xj。若Yj/nf>SYi,表明伙伴X」的位置具有较高的适应度且其周围不太拥挤,则朝X」方向前进 一步:
[0035]更进一步地,步骤6)中人工鱼的视野和步长按如下公式随着迭代次数的增加自适 应减小:
L0037J Steppassed_ times f ( VisUa]_Passed_ times )-VisUa]_Passed_ times * 〇
[0038] 式中,Passed_times为已迭代的次数,α为衰减因子。
[0039] 更进一步地,所述的衰减因子a取值范围为(0.9,1)。
[0040] 3.有益效果
[0041]采用本发明提供的技术方案,与已有的公知技术相比,具有如下显著效果:
[0042] (1)本发明的一种基于人工鱼群算法的圆形工件检测方法,在图像预处理过程中 首先利用形态学闭运算处理图像,之后对图像进行孔洞填充操作,经过该处理后,可以消除 工件内部边缘的影响,只获取工件的外边缘,排除无关边缘点的干扰并且减少了计算量;
[0043] (2)本发明的一种基于人工鱼群算法的圆形工件检测方法,人工鱼的搜索过程不 是从一点出发而是从多个点同时进行,且采用个体的适应度来指导搜索,可以实现在参数 空间中并行搜索且不需要遍历整个空间,较大地减少了空间和时间开销,也提高了检测的 精度,具有快速、准确和鲁棒的特点;
[0044] (3)本发明的一种基于人工鱼群算法的圆形工件检测方法,针对圆形工件检测过 程中易受工件锯齿边缘和凹陷边缘影响导致检测到的圆心偏离目标圆心问题,在计算圆的 适应度即位于候选圆上的边缘点个数时,经过多次实验采用一个较大的阈值T使得目标圆 有更多的边缘点,从而使目标圆的适应度大于其他候选圆的适应度且有较大的差异,最终 达到消除工件锯齿边缘和凹陷边缘干扰的目的;
[0045] (4)本发明的一种基于人工鱼群算法的圆形工件检测方法,随着迭代次数的增加 自适应地减小人工鱼的视野和步长范围,通过不断交互并协调行为,在解空间中启发式搜 索经过边缘点数目最多的圆,从而得到工件的圆心和半径,相对于传统减小视野、减小步长 择一的方式,能够进一步提高收敛速度和对较小邻域的寻优能力,降低了搜索的盲目性。
【附图说明】
[0046] 图1为本发明的一种基于人工鱼群算法的圆形工件检测方法的流程图;
[0047]图2为圆形工件灰度图像;
[0048]图3为人工鱼群算法解空间示意图;
[0049] 图4为人工鱼群算法适应度函数迭代曲线示意图;
[0050] 图5为目标检测结果示意图。
【具体实施方式】
[0051] 为进一步了解本发明的内容,结合附图和实施例对本发明作详细描述。
[0052] 实施例1
[0053]结合图1,本发明的一种基于人工鱼群算法的圆形工件检测方法,对圆形工件进行 检测的步骤如下:
[0054] 1)图像预处理:对待检测图像,先进行灰度化获得如图2所示的灰度图并中值滤 波,然后使用最大类间方差法(0TSU)对图像进行二值化处理和数学形态学处理:首先利用 形态学闭运算处理图像,之后对图像进行孔洞填充操作。经过上述处理后,可以消除工件内 部边缘的影响,只获取工件的外边缘,排除无关边缘点的干扰并且减少计算量。最后采用 Sobel算子进行边缘检测,获取圆形工件的边缘点集S= {(xi,yi),(X2,y2),. . .,(xk, yk),. . .,(xn,yn)},其中n为边缘点总数,(xk,yk)为第k个边缘点坐标。
[0055] 2)解空间确定和人工鱼表示:圆的标准方程为(x-a)2+(y-b)2 = r2,其中(a,b)为圆 心坐标,:r为半径。对一幅大小为m*n的工件图像,可以根据图像的大小确定圆心的横坐标和 纵坐标范围分别为[l,m]和[l,n],半径的取值范围为[1,1^11{111,11}/2],这样就确定了一个 三维的解空间即确定了 a,b,r的取值范围。使用一个三维向量(a,b,r)来表示人工鱼个体X, 则解空间中第i条人工鱼^二"上^^表示一个候选圆即可能的解。
[0056] 3)人工鱼群初始化,参数设置如下:种群规模AF_total = 40,视野Visual = 60,迭 代次数]^613七6_1:;[1]168 = 50,拥挤度因子5 = 8。使每条人工鱼随机分布在三维解空间中,贝11 对解空间中第i条人工鱼Χ:,定义适应度Y = f(X〇用于累加圆(&1,Ιη,Γι)上的边缘点数量,即 把S中的η个边缘点代入人工鱼对应的圆方程( Χ-&1)2+(7-Μ2 = Γι2,满足方程的边缘点 个数即为该人工鱼的适应度值。因此,一个更大的适应度代表一个更好的解。人工鱼的适应 度Y公式如下: η
[0057] y=.f\ X-,) = X . b:, /;.. Λ-,, y,) k=l 「si n } [ ?, I((.v, - a,. Y +(>·, - ?,)- r| < 7'
[0058] E(al,bi,rt,xk,yk) = \ l〇, |((χΑ-α,)2+(νΑ_-A.)2)。 5-;;」>r
[0059] 其中,n为边缘点总数,(xk,yk)为第k个边缘点坐标;T为设定的阈值。值得说明的 是,鉴于圆形工件检测过程中易受工件锯齿边缘和凹陷边缘影响导致检测到的圆心偏离目 标圆心,本实施例在计算圆的适应度即位于候选圆上的边缘点个数时,经过多次实验设定T =5,使得目标圆有更多的边缘点,从而使目标圆的适应度大于其他候选圆的适应度且有较 大的差异,最终达到消除工件锯齿边缘和凹陷边缘干扰的目的。
[0060] 4)对鱼群中每条人工鱼模拟执行觅食行为、追尾行为、聚群行为和随机行为,四种 行为描述如下:
[0061] A.随机行为:对于人工鱼乂1=(&1,13 1^1),在视野内随机选择一个位置,然后向该 方向移动:
[0062] XiNext = Xi+Step · Rand()
[0063] 其中RandO是一个随机函数,用于产生0到1之间的随机数,Step为人工鱼的步长。
[0064] B.觅食行为:对于人工鱼Xi = (ai,h,Γι),在其视野内随机选择一个位置)^,若该位 置处的适应度Y』大于当前位置的适应度Υη则向该位置前进一步:
[0066] C.聚群行为:对于人工鱼Xi = (ai,h,Γι),探索其视野内的伙伴数目nf及中心位置 X。。若Yc/nf > δΥι,表明伙伴中心位置适应度较高且不太拥挤,则朝该位置方向前进一步:
[0068] D.追尾行为:对于人工鱼Xi = (ai,bi,ri),探索其视野内具有最大适应度Yj的伙伴 Xj。若Yj/nf>SYi,表明伙伴X」的位置具有较高的适应度且其周围不太拥挤,则朝X」方向前进 一步:
[0070] 由适应度Y公式计算步骤4)中每条人工鱼执行觅食行为、追尾行为、聚群行为和随 机行为后的适应度,选择适应度最大的行为即4种行为中最好的行为作为最终的行为来执 行。
[0071] 5)更新最优人工鱼的状态:找出移动后鱼群中适应度最大的人工鱼Xbest=(a best, bbest,rbest)及其适应度放入公告牌中,即把40个候选圆中经过边缘点数目最多的圆参数 (ab est,bbest,rbest)以及位于该圆上的边缘点总数Y = f(Xbest)记入公告牌。在下一次移动后, 若人工鱼Xbest的适应度大于公告牌中的适应度,则将其适应度及3个圆参数记入公告牌。
[0072] 6)更新人工鱼的视野和步长:随着迭代次数的增加自适应地减小人工鱼的视野和 步长:
[0074] Steppassed_ times -f ( Vi SUa]_Passed_ times )-VisUa]_Passed_ times * 〇
[0075] 上式中,Passed_times和Iterate_times为已迭代的次数和总的迭代次数,α为衰 减因子,取值范围为(〇. 9,1 ),本实施例取a = 〇. 98,本实施例采用自适应减小人工鱼的视野 和步长范围的方式,相对于传统减小视野、减小步长择一的方式,能够进一步提高收敛速度 和对较小邻域的寻优能力,降低了搜索的盲目性。
[0076] 7)重复步骤4)到6)直到达到算法限制的最大迭代次数。最后公告牌中记录的最大 适应度所对应的(a be3St,bbe3St,rbe3St)即为所要检测的圆形工件参数,从而可以得到圆形工件 的几何尺寸信息。
[0077] 本实施例中人工鱼的搜索过程不是从一点出发而是从多个点同时进行,且采用个 体的适应度来指导搜索,可以实现在参数空间中并行搜索且不需要遍历整个空间,较大地 减少了空间和时间开销,也提高了检测的精度。
[0078] 本实施例对圆形工件的检测精度和检测时间详见表1,由表1中数据可以看出本实 施例的检测误差在1个像素以内,同时检测时间也可以满足实时性的要求。图4为人工鱼群 算法迭代示意图,从图中可以看出算法在第10次左右已经收敛,具有很快的收敛速度。图5 为检测结果示意图,其中十字形标记为圆心,可以看出检测到的圆较好的拟合了工件的边 缘,也证明了本实施例的有效性。
[0079]表1实施例1对圆形工件检测的技术指标
[0081]以上示意性的对本发明及其实施方式进行了描述,该描述没有限制性,附图中所 示的也只是本发明的实施方式之一,实际的结构并不局限于此。所以,如果本领域的普通技 术人员受其启示,在不脱离本发明创造宗旨的情况下,不经创造性的设计出与该技术方案 相似的结构方式及实施例,均应属于本发明的保护范围。
【主权项】
1. 一种基于人工鱼群算法的圆形工件检测方法,其步骤为: 1) 对采集的圆形工件图像进行预处理,并采用Sobel算子进行边缘检测,获取圆形工件 的边缘点集S= {(xi,yi),(X2,y2),. . .,(xk,yk),. . .,(xn,yn)},其中η为边缘点个数,(xk,yk) 为第k个边缘点坐标; 2) 设定Ξ维向量(a, b,r)表示人工鱼个体X,并根据步骤1)预处理得到的大小为m*n的 工件图像确定a的取值范围为[1,m],b的取值范围为[1 ,η],!的取值范围为[1 ,min{m,n}/ 2],建立Ξ维解空间; 3) 设定种群规模、视野、迭代次数和拥挤度因子,使每条人工鱼随机分布在步骤2)建立 的Ξ维解空间中,对解空间中第i条人工鱼Xi,定义适应度Y用于累加圆(ai,bi,r〇上的边缘 点数量,适应度Y公式如下:其中,T为设定的阔值; 4) 利用步骤3)所述适应度公式计算鱼群中每条人工鱼模拟执行觅食行为、追尾行为、 聚群行为和随机行为后的适应度,选择适应度最大的行为执行; 5) 选择步骤4)移动后鱼群中适应度最大的人工鱼Xbest=(abest,bbest,rbest)及其适应度 放入公告牌中,若在下一次移动后人工鱼适应度大于公告牌中适应度,则更新公告牌中人 工鱼及其适应度; 6) 随着迭代次数的增加自适应地减小人工鱼的视野和步长; 7) 重复步骤4)~6)直至达到步骤3)设定的迭代次数,将公告牌中记录的最大适应度所 对应的(abest,bbest,rbest)作为圆形工件几何尺寸参数。2. 根据权利要求1所述的一种基于人工鱼群算法的圆形工件检测方法,其特征在于:步 骤1)所述图像预处理过程为:先对采集的圆形工件图像进行灰度化并中值滤波,然后使用 最大类间方差法对图像进行二值化处理和数学形态学处理,所述的数学形态学处理过程 为:首先利用形态学闭运算处理图像,之后对图像进行孔桐填充操作。3. 根据权利要求1或2所述的一种基于人工鱼群算法的圆形工件检测方法,其特征在 于:步骤3)设定种群规模AF_to1:al = 40,视野Visual = 60,迭代次数Iterate_times = 50,拥 挤度因子8 = 8。4. 根据权利要求1或2所述的一种基于人工鱼群算法的圆形工件检测方法,其特征在 于:步骤3)中设定的阔值Τ = 5。5. 根据权利要求4所述的一种基于人工鱼群算法的圆形工件检测方法,其特征在于:步 骤4)中所述四种行为描述如下: A.随机行为:对于人工鱼Xi = (ai,bi,ri),在视野内随机选择一个位置,然后向该方向移 动: XiNext = Xi+Step · RandO 其中RandO是一个随机函数,用于产生0到1之间的随机数,St邱为人工鱼的步长。 B. 觅食行为:对于人工鱼Xi = (ai,bi,ri),在其视野内随机选择一个位置、,若该位置处 的适应度Yj大于当前位置的适应度Yi,则向该位置前进一步:C. 聚群行为:对于人工鱼乂1=(曰1也,山,探索其视野内的伙伴数目11诚中屯、位置乂。。若 Yc/nf>SYi,表明伙伴中屯、位置适应度较高且不太拥挤,则朝该位置方向前进一步:D. 追尾行为:对于人工鱼Xi = (ai,bi,ri),探索其视野内具有最大适应度Yj的伙伴Xj。若 Yj/nf>SYi,表明伙伴^的位置具有较高的适应度且其周围不太拥挤,则朝、方向前进一步:6. 根据权利要求5所述的一种基于人工鱼群算法的圆形工件检测方法,其特征在于:步 骤6)中人工鱼的视野和步长按如下公式随着迭代次数的增加自适应减小:式中,PassecLtimes为已迭代的次数,α为衰减因子。7. 根据权利要求6所述的一种基于人工鱼群算法的圆形工件检测方法,其特征在于:所 述的衰减因子α取值范围为(0.9,1)。
【文档编号】G06T7/60GK106097307SQ201610374573
【公开日】2016年11月9日
【申请日】2016年5月26日
【发明人】王兵, 洪瑞, 卢琨, 刘晓东, 章家岩, 程木田, 马小陆, 刘磊
【申请人】安徽工业大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1