一种基于遗传算法的矩形检测方法技术

技术编号:12147365 阅读:61 留言:0更新日期:2015-10-03 03:36
本发明专利技术的涉及一种对图像中矩形进行检测的方法。本发明专利技术旨在寻找图像中矩形的最佳四个顶点集合,首先对图像进行边缘检测,获得由图像中所有边缘点组成的集合即边缘空间,然后用四个边缘点表示一个矩形个体,简称为个体,通过计算四个边缘点之间连线的存在性和夹角接近直角的程度来计算个体的适应度,选择适用度高的个体进行交叉和变异操作来产生新一代的个体。通过多次选择、交叉和变异操作最终找到组成矩形四个顶点的最佳集合。该方法基于遗传算法,具有良好的全局搜索能力和准确、抗噪声的优点。

【技术实现步骤摘要】
一种基于遗传算法的矩形检测方法
本专利技术属于计算机视觉和图像领域,具体涉及一种基于遗传算法的矩形检测算法。
技术介绍
形状识别是计算机视觉模式识别系统的一个基本问题。为了抽取更高层次的信息用于分析,需要在图像中寻找具体的物体对象或感兴趣的区域。由于人们在特定场合下,往往会具备一些对特殊形状的先验知识,所以能否快速有效地检测到这些特殊形状就变得尤为重要。具体来说,需要能够在噪声和失真的情况下检测特定的形状。矩形是人造环境中最常见的形状之一。它们出现的场景可能有门、窗,甚至是海报以及道路两旁的广告牌。因为矩形在体积离散化和平面模型中的几何和拓扑特性,它们也广泛出现在计算机辅助设计(CAD)软件中。门和窗可以用作智能机器人的定位地标,因为它们可以和一个熟知的位置关联起来。检测和识别它们可以使机器人在估计自己位置时降低不确定性的范围。在机器人导航的另一方面,是通过在机器人视觉中检测人造地标作为唯一标识,而这些地标往往都是矩形。遗传算法(Geneticalgorithms,GA)已经被广泛应用到圆、平面多边形、数字曲线以及非分析对象的检测识别中。而且,在真实图像中,噪声信息和背景杂乱是形状识别的主要挑战,而这恰恰是基于遗传算法检测形状的优势所在。目前应用比较多的一种方法是先对图像应用边缘检测,然后进行轮廓提取,最后判断轮廓的夹角是否满足90°,这种方法的缺点是受轮廓检测的影响很大。当随着穿过矩形的干扰逐渐变大时,无论是内轮廓还是外轮廓,都无法检测出图像中的矩形。
技术实现思路
本专利技术的目的在于提出一种对图像中矩形进行检测的方法以用于计算机视觉模式识别系统中矩形形状的识别,该方法基于遗传算法,具有准确、抗噪声的优点。遗传算法是一类借鉴生物界的进化规律演化而来的随机化搜索方法。遗传算法具有良好的全局搜索能力,可以快速地将解空间中的全体解搜索出,而不会陷入局部最优解的快速下降陷阱;具有内在并行性,可以方便地进行分布式计算,加快求解速度;具有可扩展性,容易与其他算法结合。本专利技术旨在寻找图像中矩形的最佳四个顶点集合。首先对图像进行边缘检测,获得由图像中所有边缘点组成的集合即边缘空间。其中边缘检测是计算机图像处理的基本问题,目的是标识数字图像中亮度变化明显的点,以此作为图像的边缘点。然后用四个边缘点表示一个矩形个体,简称为个体。通过计算四个边缘点之间连线的存在性和夹角接近直角的程度来计算个体的适应度,选择适用度高的个体进行交叉和变异操作来产生新一代的个体。通过多次选择、交叉和变异操作最终找到组成矩形四个顶点的最佳集合。本专利技术提出的一种基于遗传算法的矩形检测方法,其特征在于包括如下步骤:(1)边缘检测步骤:对图像进行边缘检测,获得由图像中所有边缘点组成的边缘空间;(2)选择库生成步骤,包括下述子步骤:(2.1)每次以均匀随机不放回方式从边缘空间中抽四个边缘点;(2.2)个体表示步骤,用四个边缘点表示一个个体,记为{(x1,y1),(x2,y2),(x3,y3),(x4,y4)},其中x1-x4为各边缘点横坐标,y1-y4为各边缘点纵坐标;将个体中每个边缘点视为一个基因,每个个体按从左至右顺序,有一号、二号、三号、四号基因位;将置于i号基因位的基因称为第i个基因,i为从1到4的整数;将离直角坐标系原点最近的基因置于一号基因位上,其它三个基因按照顺时针或逆时针顺序依次位于二号、三号和四号基因位上;当离原点最近的基因多于一个时,则将位于最上方基因置于一号基因位上;(2.3)执行子步骤(2.1)、(2.2)共S次,S取值一般为20到900之间,去除其中有三个或三个以上的边缘点在一条直线的个体,生成选择库;(3)交叉操作步骤,包括如下子步骤:(3.1)从选择库中,以均匀随机和放回的方式,选择两个个体;(3.2)随机生成整数i、j,将两个个体的第i个基因的横纵坐标分别转换为二进制编码;将两个个体的第i个基因的横纵坐标第j位及以后的编码段,分别进行交叉替换,将交叉替换后的二进制编码转换回十进制,形成两个新的基因;j是从1到N的整数,N是基因坐标二进制编码位数;(3.4)判别所述两个新的基因是否均为边缘空间中的点,是则转子步骤(3.5);否则将不是边缘空间中的点的基因,变更为边缘空间中距离该基因最近、且未参加交叉替换的基因,转子步骤(3.5);(3.5)对交叉或变更后的两个个体执行子步骤(2.2)操作,然后转子步骤(3.6);(3.6)在重新排列基因顺序的两个个体中,判别各个个体是否有两个或两个以上的基因重复,是则将该个体删除,转步骤(3.1);否则转步骤(3.7);(3.7)计算重新排列基因顺序的两个个体适应度,判别是否至少有一个的适应度为1,是则将该个体作为检测出的矩形,结束;否则转步骤(4)。(4)变异操作步骤,包括如下子步骤:(4.1)以均匀随机和放回的方式,从选择库中选择一个个体,随机选择该个体上的第i个基因(xi,yi);(4.2)生成两个随机整数,分别对变异阈值thr取余,产生一个突变向量(δx,δy);其中变异阈值thr是大于0的整数;(4.3)以(xi+δx,yi+δy)为变异基因p,判断其是否为边缘空间中的点,是则转子步骤(4.4),否则将其变更为边缘空间中距离该点最近、且未参加变异的点;(4.4)对变异后的个体执行子步骤(2.2)操作,然后转子步骤(4.5);(4.5)判别重新排列基因顺序的个体是否有两个或两个以上的基因重复,是则将该个体删除,转子步骤(4.1);否则转步骤(5);(5)计算个体适应度,判别该个体的适应度是否为1,是则将该个体作为检测出的矩形,结束;否则转步骤(6);(6)判别交叉和变异操作次数的总和是否达到或超过T,是则表明没有检测到矩形,结束;否则转步骤(3);其T是用户自定义的次数值,取值为50到500之间。所述变异操作步骤(4)中,变异阈值thr是大于0的整数,取较小的变异阈值有利于局部搜索,取较大的变异阈值有利于全局搜索。所述交叉操作步骤(3)是从群体中选择优胜个体,淘汰劣质个体。选择操作是建立在群体中矩形个体适应度评估基础上的。可以采用适应度比例法、最佳个体保存法、期望值法等算法。选择出的个体置于选择库中。为了使算法能够收敛到全局最优解,在选择前保留当前种群中适应度最高的个体。进一步的,所述矩形检测方法的子步骤(3.7)和步骤(5)中,可采用如下方法,计算个体适应度f(I):式中,I表示个体,∠i表示第i个基因对应的顶角,li表示个体的4个边,R(li)表示各边的存在性,其中dk是线段中实际接近边的点和预测的边缘点之间的距离,为欧氏距离或曼哈顿距离;对每条边等间距划分,M是每条边上的等间距点的数目,根据图片大小取值为20到200;r是各边存在性权重因子,它负责调控边存在性和顶角接近90°的优先级,r取值越大,则边存在性在适应度中占的优先级就越高,一般取值为0.5、1、2、3、4、5。如果边l切实存在时,则R(l)=1;如果∠i是90°,则sin(∠i)=1,所以,理想矩形个体的适应度为1。由于本方法是基于遗传算法的,所以具有高效、稳定和抗干扰力强的优点。在要求检测精度不是很高的情况下可以用于快速检测。附图说明图1为整体流程图;图2a、2b示出了图片边缘检测前和检测后情况;图3为个体内本文档来自技高网...
一种基于遗传算法的矩形检测方法

【技术保护点】
一种基于遗传算法的矩形检测方法,其特征在于包括如下步骤:(1)边缘检测步骤:对图像进行边缘检测,获得由图像中所有边缘点组成的边缘空间;(2)选择库生成步骤,包括下述子步骤:(2.1)每次以均匀随机不放回方式从边缘空间中抽四个边缘点;(2.2)个体表示步骤,用四个边缘点表示一个个体,记为{(x1,y1),(x2,y2),(x3,y3),(x4,y4)},其中x1‑x4为各边缘点横坐标,y1‑y4为各边缘点纵坐标;将个体中每个边缘点视为一个基因,每个个体按从左至右顺序,有一号、二号、三号、四号基因位;将置于i号基因位的基因称为第i个基因,i为从1到4的整数;将离直角坐标系原点最近的基因置于一号基因位上,其它三个基因按照顺时针或逆时针顺序依次位于二号、三号和四号基因位上;当离原点最近的基因多于一个时,则将位于最上方基因置于一号基因位上;(2.3)执行子步骤(2.1)、(2.2)共S次,S取值一般为20到900之间,去除其中有三个或三个以上的边缘点在一条直线的个体,生成选择库;(3)交叉操作步骤,包括如下子步骤:(3.1)从选择库中,以均匀随机和放回的方式,选择两个个体;(3.2)随机生成整数i、j,将两个个体的第i个基因的横纵坐标分别转换为二进制编码;将两个个体的第i个基因的横纵坐标第j位及以后的编码段,分别进行交叉替换,将交叉替换后的二进制编码转换回十进制,形成两个新的基因;j是从1到N的整数,N是基因坐标二进制编码位数;(3.4)判别所述两个新的基因是否均为边缘空间中的点,是则转子步骤(3.5);否则将不是边缘空间中的点的基因,变更为边缘空间中距离该基因最近、且未参加交叉替换的基因,转子步骤(3.5);(3.5)对交叉或变更后的两个个体执行子步骤(2.2)操作,然后转子步骤(3.6);(3.6)在重新排列基因顺序的两个个体中,判别各个个体是否有两个或两个以上的基因重复,是则将该个体删除,转步骤(3.1);否则转步骤(3.7);(3.7)计算重新排列基因顺序的两个个体适应度,判别是否至少有一个的适应度为1,是则将该个体作为检测出的矩形,结束;否则转步骤(4)。(4)变异操作步骤,包括如下子步骤:(4.1)以均匀随机和放回的方式,从选择库中选择一个个体,随机选择该个体上的第i个基因(xi,yi);(4.2)生成两个随机整数,分别对变异阈值thr取余,产生一个突变向量(δx,δy);其中变异阈值thr是大于0的整数;(4.3)以(xi+δx,yi+δy)为变异基因p,判断其是否为边缘空间中的点,是则转子步骤(4.4),否则将其变更为边缘空间中距离该点最近、且未参加变异的点;(4.4)对变异后的个体执行子步骤(2.2)操作,然后转子步骤(4.5);(4.5)判别重新排列基因顺序的个体是否有两个或两个以上的基因重复,是则将该个体删除,转子步骤(4.1);否则转步骤(5);(5)计算个体适应度,判别该个体的适应度是否为1,是则将该个体作为检测出的矩形,结束;否则转步骤(6);(6)判别交叉和变异操作次数的总和是否达到或超过T,是则表明没有检测到矩形,结束;否则转步骤(3);其T是用户自定义的次数值,取值为50到500之间。...

【技术特征摘要】
1.一种基于遗传算法的矩形检测方法,其特征在于包括如下步骤:(1)边缘检测步骤:对图像进行边缘检测,获得由图像中所有边缘点组成的边缘空间;(2)选择库生成步骤,包括下述子步骤:(2.1)每次以均匀随机不放回方式从边缘空间中抽四个边缘点;(2.2)个体表示步骤,用四个边缘点表示一个个体,记为{(x1,y1),(x2,y2),(x3,y3),(x4,y4)},其中x1-x4为各边缘点横坐标,y1-y4为各边缘点纵坐标;将个体中每个边缘点视为一个基因,每个个体按从左至右排序,有一号、二号、三号、四号基因位;将置于i号基因位的基因称为第i个基因,i为从1到4的整数;将离直角坐标系原点最近的基因置于一号基因位上,其它三个基因按照顺时针或逆时针顺序依次位于二号、三号和四号基因位上;当离原点最近的基因多于一个时,则将位于最上方基因置于一号基因位上;(2.3)执行子步骤(2.1)、(2.2)共S次,S取值为20到900之间,去除其中有三个或三个以上的边缘点在一条直线的个体,生成选择库;(3)交叉操作步骤,包括如下子步骤:(3.1)从选择库中,以均匀随机和放回的方式,选择两个个体;(3.2)随机生成整数i、j,将两个个体的第i个基因的横纵坐标分别转换为二进制编码;将两个个体的第i个基因的横纵坐标第j位及以后的编码段,分别进行交叉替换,将交叉替换后的二进制编码转换回十进制,形成两个新的基因;j是从1到N的整数,N是基因坐标二进制编码位数;(3.4)判别所述两个新的基因是否均为边缘空间中的点,是则转子步骤(3.5);否则将不是边缘空间中的点的基因,变更为边缘空间中距离该基因最近、且未参加交叉替换的基因,转子步骤(3.5);(3.5)对交叉或变更后的两个个体执行子步骤(2.2)操作,然后转子步骤(3.6);(3.6)在重新排列基因顺序的两个个体中,判别各个个体是否有两个或两个以上的基因重复,是则将该个体删除,转步骤(3.1);否则转步...

【专利技术属性】
技术研发人员:陈进才范鹤鹤刘淑伟卢萍周可邹复好
申请(专利权)人:华中科技大学
类型:发明
国别省市:湖北;42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1