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

文档序号:9235967阅读:来源:国知局
[0041] 图4为个体适应度的计算方法;
[0042] 图5a、5b、5c为交叉操作示意图;
[0043] 图6为变异操作示意图。
【具体实施方式】
[0044] 下面根据【附图说明】基于遗传算法进行矩形检测的实施过程。
[0045] 图1为整体流程图。
[0046] 对图像进行边缘检测,获得图像的边缘点组成的边缘空间,W此作为矩形检测算 法的输入。边缘检测算法可W是Robeds、Sobel、Prewitt、Canny或Log,具体采用哪种边 缘检测不是算法的关键。图2a、化为对图片应用Canny边缘检测前后的结果。
[0047] 对图像进行边缘检测后,获得由边缘点组成的边缘空间。从边缘空间中均匀随机 不放回地抽取四个点,按照个体表示中基因排列规则生成一个个体。设群体大小为S,此次 实施过程中S= 4,则重复S次该操作,最终生成初始群体。
[004引图3描述了个体内基因的排列规则。离原点最近的有P1和P4两个顶点,于是将 位于上方的P1所代表的基因(XI,yl)置于一号基因位;然后按照顺时针的顺序,将P2、P3、 P4所代表的基因知2,72)、知3,73)、知4,74)依次置于二号、^号、四号基因位。于是,代表 四边形P1P2P3P4 的个体I= {(XI,yl),(x2,y2),(x3,y3),(x4,y4)}。
[0049] 按照适应度函数,计算群体中每个个体的适应度。图4描述了个体I= {P1,P2,P3,P4}适应度的计算过程。由于真正的矩形是由P1P2'P3P4,所W当前个体I的 适应度小于1。示例在计算边的存在性时采用的是欧氏距离,检测M= 3个等距点的存在, 在求夹角ZP1P2P3的正弦值时,是通过求由向量和向量夹角的余弦值,
[0050]
[0051] 然后根据余弦值求正弦值获得的。
[0052] 对种群中所有个体计算完适用度后,开始进行选择操作。表1为对数目S= 4的 群体按照适用度比例法进行的选择操作。选择结束后,形成选择库,供后续交叉操作和变异 操作使用。
[0053]表1
[0054]
[0055]图 5a、图 5b、图 5c、表 2 展示出 了个体II= {(2, 1),化,7),巧,7),(1,4)}和个 体12= {(7, 9),巧,9),巧,10),(7, 11)}交叉操作的过程。II和12的二号基因交叉后 得到基因(4, 5)和(10, 11)。由于(4, 5)不是边缘点,所W选取除交叉前基因化7)离 (4, 5)最近的化6)作为II二号基因交叉后的结果。于是得到交叉后的个体I1'= {(2,1),(3, 6),巧,7),(1,4)}和个体 12' = {(7, 9),(8, 9),(8, 10),(7, 11)}。
[0056]表2
[0057]
[0058]
[0059] 交叉操作后,当前个体适应度均小于1,于是对选择库中的个体进行变异操作。设 变异阔值t虹=5。图6为个体1= {(2, 2),化,2),(4, 7),(2, 5)}的变异过程。随机选择S号 基因位上的基因(4, 7)进行变异,生成两个随机数然后对5取余产生变异向量化-1),两者 相加得到变异后的基因化,6)。因为变异后的基因不是边缘点,所W选取离化6)最近的边 缘点化5)作为变异后的最终结果,得到变异后的个体I= {(2, 2),化,2),化,5),(2, 5)}, 个体I适应度为1,为全局最优,检测结束。
【主权项】
1. 一种基于遗传算法的矩形检测方法,其特征在于包括如下步骤: (1) 边缘检测步骤:对图像进行边缘检测,获得由图像中所有边缘点组成的边缘空间; (2) 选择库生成步骤,包括下述子步骤: (2. 1)每次以均匀随机不放回方式从边缘空间中抽四个边缘点; (2. 2)个体表示步骤,用四个边缘点表示一个个体,记为{(x^y),(x2,y2), (x3,y3), (x4 ,y4)},其中Xi_x4为各边缘点横坐标,yi_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, ; (4. 2)生成两个随机整数,分别对变异阈值thr取余,产生一个突变向量(Sx,Sy);其 中变异阈值thr是大于0的整数; (4. 3)以(Xi+Sx,yi+Sy)为变异基因p,判断其是否为边缘空间中的点,是则转子步骤 (4. 4),否则将其变更为边缘空间中距离该点最近、且未参加变异的点; (4. 4)对变异后的个体执行子步骤(2. 2)操作,然后转子步骤(4. 5); (4. 5)判别重新排列基因顺序的个体是否有两个或两个以上的基因重复,是则将该个 体删除,转子步骤(4. 1);否则转步骤(5); (5) 计算个体适应度,判别该个体的适应度是否为1,是则将该个体作为检测出的矩 形,结束;否则转步骤(6); (6)判别交叉和变异操作次数的总和是否达到或超过T,是则表明没有检测到矩形,结 束;否则转步骤(3);其T是用户自定义的次数值,取值为50到500之间。2.根据权利要求1所述的检测方法,其特征在于,子步骤(3. 7)和步骤(5)中,根据下 式计算个体适应度f(I):式中,I表示个体,Zi表示第i个基因对应的顶角,h表示个体的4个边,R(1 ^表示 各边的存在性,其中dk是线段中实际接近边的点和预测的边缘点之间的距离,为欧氏距离或曼哈顿距 离;对每条边等间距划分,M是每条边上的等间距点的数目,根据图片大小取值为20到200 ; r是各边存在性权重因子,一般取值为0. 5、1、2、3、4、5。
【专利摘要】本发明的涉及一种对图像中矩形进行检测的方法。本发明旨在寻找图像中矩形的最佳四个顶点集合,首先对图像进行边缘检测,获得由图像中所有边缘点组成的集合即边缘空间,然后用四个边缘点表示一个矩形个体,简称为个体,通过计算四个边缘点之间连线的存在性和夹角接近直角的程度来计算个体的适应度,选择适用度高的个体进行交叉和变异操作来产生新一代的个体。通过多次选择、交叉和变异操作最终找到组成矩形四个顶点的最佳集合。该方法基于遗传算法,具有良好的全局搜索能力和准确、抗噪声的优点。
【IPC分类】G06T7/00, G06N3/12
【公开号】CN104952072
【申请号】CN201510329970
【发明人】陈进才, 范鹤鹤, 刘淑伟, 卢萍, 周可, 邹复好
【申请人】华中科技大学
【公开日】2015年9月30日
【申请日】2015年6月16日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1