发明名称 一种基于遗传算法的矩形检测方法
摘要 本发明的涉及一种对图像中矩形进行检测的方法。本发明旨在寻找图像中矩形的最佳四个顶点集合,首先对图像进行边缘检测,获得由图像中所有边缘点组成的集合即边缘空间,然后用四个边缘点表示一个矩形个体,简称为个体,通过计算四个边缘点之间连线的存在性和夹角接近直角的程度来计算个体的适应度,选择适用度高的个体进行交叉和变异操作来产生新一代的个体。通过多次选择、交叉和变异操作最终找到组成矩形四个顶点的最佳集合。该方法基于遗传算法,具有良好的全局搜索能力和准确、抗噪声的优点。
申请公布号 CN104952072A 申请公布日期 2015.09.30
申请号 CN201510329970.0 申请日期 2015.06.16
申请人 华中科技大学 发明人 陈进才;范鹤鹤;刘淑伟;卢萍;周可;邹复好
分类号 G06T7/00(2006.01)I;G06N3/12(2006.01)I 主分类号 G06T7/00(2006.01)I
代理机构 华中科技大学专利中心 42201 代理人 廖盈春
主权项 一种基于遗传算法的矩形检测方法,其特征在于包括如下步骤:(1)边缘检测步骤:对图像进行边缘检测,获得由图像中所有边缘点组成的边缘空间;(2)选择库生成步骤,包括下述子步骤:(2.1)每次以均匀随机不放回方式从边缘空间中抽四个边缘点;(2.2)个体表示步骤,用四个边缘点表示一个个体,记为{(x<sub>1</sub>,y<sub>1</sub>),(x<sub>2</sub>,y<sub>2</sub>),(x<sub>3</sub>,y<sub>3</sub>),(x<sub>4</sub>,y<sub>4</sub>)},其中x<sub>1</sub>‑x<sub>4</sub>为各边缘点横坐标,y<sub>1</sub>‑y<sub>4</sub>为各边缘点纵坐标;将个体中每个边缘点视为一个基因,每个个体按从左至右顺序,有一号、二号、三号、四号基因位;将置于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个基因(x<sub>i</sub>,y<sub>i</sub>);(4.2)生成两个随机整数,分别对变异阈值thr取余,产生一个突变向量(δx,δy);其中变异阈值thr是大于0的整数;(4.3)以(x<sub>i</sub>+δx,y<sub>i</sub>+δy)为变异基因p,判断其是否为边缘空间中的点,是则转子步骤(4.4),否则将其变更为边缘空间中距离该点最近、且未参加变异的点;(4.4)对变异后的个体执行子步骤(2.2)操作,然后转子步骤(4.5);(4.5)判别重新排列基因顺序的个体是否有两个或两个以上的基因重复,是则将该个体删除,转子步骤(4.1);否则转步骤(5);(5)计算个体适应度,判别该个体的适应度是否为1,是则将该个体作为检测出的矩形,结束;否则转步骤(6);(6)判别交叉和变异操作次数的总和是否达到或超过T,是则表明没有检测到矩形,结束;否则转步骤(3);其T是用户自定义的次数值,取值为50到500之间。
地址 430074 湖北省武汉市洪山区珞喻路1037号