发明名称 一种基于人工鱼群算法的圆形工件检测方法
摘要 本发明公开了一种基于人工鱼群算法的圆形工件检测方法,属于计算机信息图像处理技术领域。本发明首先对待检测图像进行预处理,获取圆形工件的边缘信息,然后根据待测工件图像的尺寸确定一个三维解空间并初始化人工鱼群,使每条人工鱼随机分布在该解空间中,最后人工鱼群采用自适应视野和步长,通过不断交互并协调行为,在解空间中启发式搜索经过边缘点数目最多的圆,从而得到工件的圆心和半径;本发明与传统霍夫变换检测圆的方法相比,可以实现在参数空间中并行搜索且不需要遍历整个空间,较大地减少了空间和时间开销,也提高了检测的精度,具有快速、准确和鲁棒的特点。
申请公布号 CN106097307A 申请公布日期 2016.11.09
申请号 CN201610374573.X 申请日期 2016.05.26
申请人 安徽工业大学 发明人 王兵;洪瑞;卢琨;刘晓东;章家岩;程木田;马小陆;刘磊
分类号 G06T7/00(2006.01)I;G06T7/60(2006.01)I 主分类号 G06T7/00(2006.01)I
代理机构 南京知识律师事务所 32207 代理人 蒋海军
主权项 一种基于人工鱼群算法的圆形工件检测方法,其步骤为:1)对采集的圆形工件图像进行预处理,并采用Sobel算子进行边缘检测,获取圆形工件的边缘点集S={(x<sub>1</sub>,y<sub>1</sub>),(x<sub>2</sub>,y<sub>2</sub>),...,(x<sub>k</sub>,y<sub>k</sub>),...,(x<sub>n</sub>,y<sub>n</sub>)},其中n为边缘点个数,(x<sub>k</sub>,y<sub>k</sub>)为第k个边缘点坐标;2)设定三维向量(a,b,r)表示人工鱼个体X,并根据步骤1)预处理得到的大小为m*n的工件图像确定a的取值范围为[1,m],b的取值范围为[1,n],r的取值范围为[1,min{m,n}/2],建立三维解空间;3)设定种群规模、视野、迭代次数和拥挤度因子,使每条人工鱼随机分布在步骤2)建立的三维解空间中,对解空间中第i条人工鱼X<sub>i</sub>,定义适应度Y用于累加圆(a<sub>i</sub>,b<sub>i</sub>,r<sub>i</sub>)上的边缘点数量,适应度Y公式如下:<maths num="0001"><math><![CDATA[<mrow><mi>Y</mi><mo>=</mo><mi>f</mi><mrow><mo>(</mo><msub><mi>X</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>=</mo><munderover><mo>&Sigma;</mo><mrow><mi>k</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><mi>E</mi><mrow><mo>(</mo><msub><mi>a</mi><mi>i</mi></msub><mo>,</mo><msub><mi>b</mi><mi>i</mi></msub><mo>,</mo><msub><mi>r</mi><mi>i</mi></msub><mo>,</mo><msub><mi>x</mi><mi>k</mi></msub><mo>,</mo><msub><mi>y</mi><mi>k</mi></msub><mo>)</mo></mrow></mrow>]]></math><img file="FDA0001000574850000011.GIF" wi="622" he="119" /></maths><maths num="0002"><math><![CDATA[<mrow><mi>E</mi><mrow><mo>(</mo><msub><mi>a</mi><mi>i</mi></msub><mo>,</mo><msub><mi>b</mi><mi>i</mi></msub><mo>,</mo><msub><mi>r</mi><mi>i</mi></msub><mo>,</mo><msub><mi>x</mi><mi>k</mi></msub><mo>,</mo><msub><mi>y</mi><mi>k</mi></msub><mo>)</mo></mrow><mo>=</mo><mfenced open = "{" close = ""><mtable><mtr><mtd><mrow><mn>1</mn><mo>,</mo></mrow></mtd><mtd><mrow><mo>|</mo><msup><mrow><mo>(</mo><msup><mrow><mo>(</mo><mrow><msub><mi>x</mi><mi>k</mi></msub><mo>-</mo><msub><mi>a</mi><mi>i</mi></msub></mrow><mo>)</mo></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mo>(</mo><mrow><msub><mi>y</mi><mi>k</mi></msub><mo>-</mo><msub><mi>b</mi><mi>i</mi></msub></mrow><mo>)</mo></mrow><mn>2</mn></msup><mo>)</mo></mrow><mn>0.5</mn></msup><mo>-</mo><msub><mi>r</mi><mi>i</mi></msub><mo>|</mo><mo>&le;</mo><mi>T</mi></mrow></mtd></mtr><mtr><mtd><mrow><mn>0</mn><mo>,</mo></mrow></mtd><mtd><mrow><mo>|</mo><msup><mrow><mo>(</mo><msup><mrow><mo>(</mo><mrow><msub><mi>x</mi><mi>k</mi></msub><mo>-</mo><msub><mi>a</mi><mi>i</mi></msub></mrow><mo>)</mo></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mo>(</mo><mrow><msub><mi>y</mi><mi>k</mi></msub><mo>-</mo><msub><mi>b</mi><mi>i</mi></msub></mrow><mo>)</mo></mrow><mn>2</mn></msup><mo>)</mo></mrow><mn>0.5</mn></msup><mo>-</mo><msub><mi>r</mi><mi>i</mi></msub><mo>|</mo><mo>&gt;</mo><mi>T</mi></mrow></mtd></mtr></mtable></mfenced></mrow>]]></math><img file="FDA0001000574850000012.GIF" wi="1126" he="159" /></maths>其中,T为设定的阈值;4)利用步骤3)所述适应度公式计算鱼群中每条人工鱼模拟执行觅食行为、追尾行为、聚群行为和随机行为后的适应度,选择适应度最大的行为执行;5)选择步骤4)移动后鱼群中适应度最大的人工鱼X<sub>best</sub>=(a<sub>best</sub>,b<sub>best</sub>,r<sub>best</sub>)及其适应度放入公告牌中,若在下一次移动后人工鱼适应度大于公告牌中适应度,则更新公告牌中人工鱼及其适应度;6)随着迭代次数的增加自适应地减小人工鱼的视野和步长;7)重复步骤4)~6)直至达到步骤3)设定的迭代次数,将公告牌中记录的最大适应度所对应的(a<sub>best</sub>,b<sub>best</sub>,r<sub>best</sub>)作为圆形工件几何尺寸参数。
地址 243002 安徽省马鞍山市花山区湖东路59号