农作物行中心线提取方法和系统转让专利

申请号 : CN201010132240.9

文献号 : CN101807252B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 刘刚何蓓司永胜高瑞姜国权

申请人 : 中国农业大学

摘要 :

本发明提供一种作物行中心线提取方法和系统,其中,方法包括:步骤1:获取作物图像,通过对所述作物图像中的作物行与背景进行分割,将所述作物图像转化为包括作物行值和背景值的二值图像;步骤2:采用垂直投影法检测所述二值图像中的作物行数,并扫描所述二值图像得到作物行,提取所述作物行中的作物行定位点;步骤3:根据所述步骤2中获取的作物行定位点,利用遗传算法提取得到所述作物行的作物行中心线。本发明的作物行中心线提取方法和系统,通过采用遗传算法进行作物行中心线的提取,相比现有技术中采用的最小二乘法等中心线提取方法,可以使得提取的中心线更加准确,满足农业机械实时导航的需要。

权利要求 :

1.一种农作物行中心线提取方法,其特征在于,包括:

步骤1:获取农作物图像,通过对所述农作物图像中的作物行与背景进行分割,将所述农作物图像转化为包括作物行值和背景值的二值图像;

步骤2:采用垂直投影法检测所述二值图像中的作物行数,并扫描所述二值图像得到作物行,提取所述作物行中的作物行定位点;

所述扫描所述二值图像得到作物行,提取所述作物行中的作物行定位点具体包括:从左至右扫描所述二值图像,若所述二值图像的像素值由低到高突变,则标识为所述作物行的左边缘,若所述二值图像的像素值由高到低突变,则标识为所述作物行的右边缘;设定一长度阈值,若所述左边缘与所述右边缘的距离大于所述长度阈值,则所述左边缘与所述右边缘之间为所述作物行;保留所述作物行中的5k行的图像信息,所述k为自然数,将所述作物行中的5k行之外行的所有像素值转换为背景值;从所述保留的5k行中提取与作物行对应的特征点,所述特征点的集合作为作物行定位点;

步骤3:根据所述步骤2中获取的作物行定位点,利用遗传算法提取得到所述作物行的作物行中心线,其具体包括:步骤31、在步骤1所获得的二值图像内,采用随机数产生的方法,随机产生N对坐标点对,N为自然数且50≤N<100,所述坐标点对中的两个坐标点的坐标值互不相同,通过每一坐标点对中的两坐标点(xk,yk),(xk+1,yk+1)的直线l为一染色体,直线l的表达式为:l=ax+b,其中 所述N对坐标点对组成的N个染色体组成初始种群;

步骤32、对所述每一坐标点对进行40位二进制编码,得到所述染色体的基因型;

步骤33、设(αm,βm)为作物行中的某一定位点,则该定位点与初始种群中 的某一染色体直线l间的距离为 设给定阈值q,若d满足d≤q,则认为该定位点在该条染色体直线两侧选取的给定阈值的条形区域内;构造所述染色体的适应度函数 其中,f为适应度,n为到所述染色体的距离小于等于给定阈值的作物行定位点的个数,Var为作物行定位点与染色体的距离和所述给定阈值的绝对值的方差;根据所述适应度函数计算适应度,并根据按照所述适应度比例分配的轮盘赌选择法对所述初始种群中的染色体进行选择,得到选择出的个体;

步骤34、采用多点交叉的方式,在所述选择出的个体中根据所述适应度,依次选择两个染色体,对所选择的两个染色体所对应的基因型进行交叉和变异,得到第一下一代种群;重复执行步骤33和步骤34,直至得到第M下一代种群,所述第M下一代种群包括一最优染色体,所述最优染色体对应一最优作物行中心线;

步骤35、标记并记录所述最优作物行中心线所通过的定位点信息,并将所述最优作物行中心线两侧选取的给定阈值的条形区域中包含的其他定位点设定为背景像素;返回执行步骤31,直至所提取的最优作物行中心线数目与步骤2中所检测的作物行数相等时终止。

2.根据权利要求1所述的农作物行中心线提取方法,其特征在于,所述步骤1中的对所述农作物图像中的作物行与背景进行分割,包括:对所述农作物图像中的每一像素的R、G分量的灰度值按照G-R进行计算,若计算结果大于零,则所述像素位于所述作物行中;若计算结果小于零,则所述像素位于所述背景中。

3.根据权利要求1所述的农作物行中心线提取方法,其特征在于,所述步骤1还包括:

对所述二值图像进行消除噪声和填充孔洞处理。

4.一种农作物行中心线提取系统,其特征在于,包括分割模块、定位模块和提取模块; 所述分割模块,用于获取农作物图像,通过对所述农作物图像中的作物行与背景进行分割,将所述农作物图像转化为包括作物行值和背景值的二值图像;

所述定位模块,用于采用垂直投影法检测所述二值图像中的作物行数,并扫描所述二值图像得到作物行,提取所述作物行中的作物行定位点;

所述扫描所述二值图像得到作物行,提取所述作物行中的作物行定位点具体包括:从左至右扫描所述二值图像,若所述二值图像的像素值由低到高突变,则标识为所述作物行的左边缘,若所述二值图像的像素值由高到低突变,则标识为所述作物行的右边缘;设定一长度阈值,若所述左边缘与所述右边缘的距离大于所述长度阈值,则所述左边缘与所述右边缘之间为所述作物行;保留所述作物行中的5k行的图像信息,所述k为自然数,将所述作物行中的5k行之外行的所有像素值转换为背景值;从所述保留的5k行中提取与作物行对应的特征点,所述特征点的集合作为作物行定位点;

所述提取模块,用于根据所述作物行定位点,利用遗传算法提取得到所述作物行的作物行中心线;

所述提取模块包括:

产生单元,用于在步骤1所获得的二值图像内,采用随机数产生的方法,随机产生N对坐标点对,N为自然数且50≤N<100,所述坐标点对中的两个坐标点的坐标值互不相同,通过每一坐标点对中的两坐标点(xk,yk),(xk+1,yk+1)的直线l为一染色体,直线l的表达式为:l=ax+b,其中 所述N对坐标点对组成的N个染色体组成初始种群;

编码单元,用于对所述每一坐标点对进行40位二进制编码,得到所述染色体的基因型;

选择单元,用于构造所述染色体的适应度函数并计算适应度,根据按照所述适应度比例分配的轮盘赌选择法对所述初始种群中的染色体进行选择, 得到选择出的个体;所述适应度函数为 其中f为适应度,n为到所述染色体的距离d小于等于给定阈值q的作物行定位点的个数,Var为作物行定位点与染色体的距离d和所述给定阈值q的绝对值的方差;设(αm,βm)为作物行中的某一定位点,则该定位点与初始种群中的某一染色体直线l间的距离为 若d≤q,则认为该定位点在该条染色体直线两侧选取的给定阈值的条形区域内;

遗传单元,用于采用多点交叉的方式,在所述选择出的个体中根据所述适应度依次选择两个染色体,对所选择的两个染色体所对应的基因型进行交叉和变异,得到第一下一代种群;重复执行所述选择单元和遗传单元的操作,直至得到第M下一代种群,所述第M下一代种群包括一最优染色体,所述最优染色体对应一最优作物行中心线;

提取单元,用于在所述遗传单元得到所述最优染色体时,标记并记录所述最优作物行中心线所通过的定位点信息,并将所述最优作物行中心线两侧选取的给定阈值的条形区域中包含的定位点设定为背景像素;重复执行所述产生单元、编码单元、选择单元、遗传单元和提取单元的操作,直至所提取的最优作物行中心线数目与所检测的作物行数相等时终止。

5.根据权利要求4所述的农作物行中心线提取系统,其特征在于,所述分割模块包括:

计算单元,用于对所述农作物图像中的每一像素的R、G分量的灰度值按照G-R进行计算;

处理单元,用于根据所述计算单元的计算结果进行判断,若计算结果大于零,则所述像素位于所述作物行中;若计算结果小于零,则所述像素位于所述背景中。

6.根据权利要求4所述的农作物行中心线提取系统,其特征在于,

所述分割模块,还用于对所述二值图像进行消除噪声和填充孔洞处理。

说明书 :

农作物行中心线提取方法和系统

技术领域

[0001] 本发明属于机器视觉和图像处理相关领域,具体涉及一种农作物行中心线提取方法和系统。

背景技术

[0002] 作为精细农业的一个重要分支,农业机械的自动导航在喷洒农药、施肥、收割作业、中耕除草、插秧耕作等许多方面有着广泛的应用,其中视觉导航在近年来逐渐成为重点研究方向之一。作物行中心线一般是指农作物在播种或栽培过程中,其种子或幼苗植入点所构成的直线。作业过程中,检测作物行中心线进行导航,是农业机械视觉导航的常用方法,国内外学者对此进行了大量研究。
[0003] 目前在检测作物行中心线的过程中,通常可以采用最小二乘法、Hough变换法等进行作物行中心线的提取。国内外专家对Hough变换提出了多种改进算法,如:灰度霍夫变换HT(Hough Transform)、随机霍夫变换RHT(Randomized Hough Transform)等。RHT是多对一的映射,与传统Hough变换相比,极大的节省计算量。
[0004] 但是,上述几种常用的提取作物行中心线的方法,由于采用随机策略,算法稳定性较差,使得中心线的提取准确度较低。例如,采用HT变换算法提取作物行中心线的方法,其本身存在累加器峰值较难确定和重复线段多等问题,在杂草等噪声较大时,识别作物行的稳定性和准确性较差。

发明内容

[0005] 本发明的目的在于提出一种农作物行中心线提取方法和系统,以实现更 快速和更准确地提取农作物行中心线。
[0006] 本发明提供了一种农作物行中心线提取方法,包括:
[0007] 步骤1:获取农作物图像,通过对所述农作物图像中的作物行与背景进行分割,将所述农作物图像转化为包括作物行值和背景值的二值图像;
[0008] 步骤2:采用垂直投影法检测所述二值图像中的作物行数,并扫描所述二值图像得到作物行,提取所述作物行中的作物行定位点;
[0009] 所述扫描所述二值图像得到作物行,提取所述作物行中的作物行定位点具体包括:从左至右扫描所述二值图像,若所述二值图像的像素值由低到高突变,则标识为所述作物行的左边缘,若所述二值图像的像素值由高到低突变,则标识为所述作物行的右边缘;设定一长度阈值,若所述左边缘与所述右边缘的距离大于所述长度阈值,则所述左边缘与所述右边缘之间为所述作物行;保留所述作物行中的5k行的图像信息,所述k为自然数,将所述作物行中的5k行之外行的所有像素值转换为背景值;从所述保留的5k行中提取与作物行对应的特征点,所述特征点的集合作为作物行定位点;
[0010] 步骤3:根据所述步骤2中获取的作物行定位点,利用遗传算法提取得到所述作物行的作物行中心线,其具体包括:
[0011] 步骤31、在步骤1所获得的二值图像内,采用随机数产生的方法,随机产生N对坐标点对,N为自然数且50≤N<100,所述坐标点对中的两个坐标点的坐标值互不相同,通过每一坐标点对中的两坐标点(xk,yk),(xk+1,yk+1)的直线l为一染色体,直线l的表达式为:l=ax+b,其中 所述N对坐标点对组成的N个染色体组成初始种群;
[0012] 步骤32、对所述每一坐标点对进行40位二进制编码,得到所述染色体的基因型; [0013] 步骤33、设(αm,βm)为作物行中的某一定位点,则该定位点与初始种群中的某一染色体直线l间的距离为 设给定阈值q,若d满足d≤q,则认为该定位点在该条染色体直线两侧选取的给定阈值的条形区域内;构造所述染色体的适应度函数 其中,f为适应度,n为到所述染色体的距离小于等于给定阈值的作物行定位点的个数,Var为作物行定位点与染色体的距离和所述给定阈值的绝对值的方差;根据所述适应度函数计算适应度,并根据按照所述适应度比例分配的轮盘赌选择法对所述初始种群中的染色体进行选择,得到选择出的个体;
[0014] 步骤34、采用多点交叉的方式,在所述选择出的个体中根据所述适应度,依次选择两个染色体,对所选择的两个染色体所对应的基因型进行交叉和变异,得到第一下一代种群;重复执行步骤33和步骤34,直至得到第M下一代种群,所述第M下一代种群包括一最优染色体,所述最优染色体对应一最优作物行中心线;
[0015] 步骤35、标记并记录所述最优作物行中心线所通过的定位点信息,并将所述最优作物行中心线两侧选取的给定阈值的条形区域中包含的定位点设定为背景像素;返回执行步骤31,直至所提取的最优作物行中心线数目与步骤2中所检测的作物行数相等时终止。 [0016] 本发明提供了一种农作物行中心线提取系统,包括分割模块、定位模块和提取模块;
[0017] 所述分割模块,用于获取农作物图像,通过对所述农作物图像中的作物行与背景进行分割,将所述农作物图像转化为包括作物行值和背景值的二值图像;
[0018] 所述定位模块,用于采用垂直投影法检测所述二值图像中的作物行数,并扫描所述二值图像得到作物行,提取所述作物行中的作物行定位点;
[0019] 所述扫描所述二值图像得到作物行,提取所述作物行中的作物行定位点具体包括:从左至右扫描所述二值图像,若所述二值图像的像素值由低到高 突变,则标识为所述作物行的左边缘,若所述二值图像的像素值由高到低突变,则标识为所述作物行的右边缘;设定一长度阈值,若所述左边缘与所述右边缘的距离大于所述长度阈值,则所述左边缘与所述右边缘之间为所述作物行;保留所述作物行中的5k行的图像信息,所述k为自然数,将所述作物行中的5k行之外行的所有像素值转换为背景值;从所述保留的5k行中提取与作物行对应的特征点,所述特征点的集合作为作物行定位点;
[0020] 所述提取模块,用于根据所述作物行定位点,利用遗传算法提取得到所述作物行的作物行中心线;
[0021] 所述提取模块包括:
[0022] 产生单元,用于在步骤1所获得的二值图像内,采用随机数产生的方法,随机产生N对坐标点对,N为自然数且50≤N<100,所述坐标点对中的两个坐标点的坐标值互不相同,通过每一坐标点对中的两坐标点(xk,yk),(xk+1,yk+1)的直线l为一染色体,直线l的表达式为:l=ax+b,其中 所述N对坐标点对组成的N个染色体组成初始种群;
[0023] 编码单元,用于对所述每一坐标点对进行40位二进制编码,得到所述染色体的基因型;
[0024] 选择单元,用于构造所述染色体的适应度函数并计算适应度,根据按照所述适应度比例分配的轮盘赌选择法对所述初始种群中的染色体进行选择,得到选择出的个体;所述适应度函数为 其中f为适应度,n为到所述染色体的距离d小于等于给定阈值q的作物行定位点的个数,Var为作物行定位点与染色体的距离d和所述给定阈值q的绝对值的方差;设(αm,βm)为作物行中的某一定位点,则该定位点与初始种群中的某一染色体直线l间的距离为 若d≤q,则认为该定位点在该条染色体直线两侧选取的 给定阈值的条形区域内;
[0025] 遗传单元,用于采用多点交叉的方式,在所述选择出的个体中根据所述适应度依次选择两个染色体,对所选择的两个染色体所对应的基因型进行交叉和变异,得到第一下一代种群;重复执行所述选择单元和遗传单元的操作,直至得到第M下一代种群,所述第M下一代种群包括一最优染色体,所述最优染色体对应一最优作物行中心线; [0026] 提取单元,用于在所述遗传单元得到所述最优染色体时,标记并记录所述最优作物行中心线所通过的定位点信息,并将所述最优作物行中心线两侧选取的给定阈值的条形区域中包含的定位点设定为背景像素;重复执行所述产生单元、编码单元、选择单元、遗传单元和提取单元的操作,直至所提取的最优作物行中心线数目与所检测的作物行数相等时终止。
[0027] 本发明的农作物行中心线提取方法和系统,通过采用遗传算法进行作物行中心线的提取,相比现有技术中采用的最小二乘法等中心线提取方法,可以使得提取的中心线更加准确,满足农业机械实时导航的需要;并且通过采用(G-R)颜色特征因子进行作物行和背景的分割,能够有效克服杂草和作物缺失的影响,获得更优的分割效果。 [0028] 附图说明
[0029] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0030] 图1为本发明作物行中心线提取方法的流程示意图;
[0031] 图2为本发明作物行中心线提取方法中的作物图像示意图;
[0032] 图3为图2中的作物图像线剖面分析图;
[0033] 图4为图2转换后得到的二值图像示意图;
[0034] 图5为图4经过形态学处理后的效果图;
[0035] 图6为本发明图5中的一图像条作物行数检测图;
[0036] 图7为获取到的图5中的作物行定位点的示意图;
[0037] 图8为本发明作物行中心线提取方法中定义的图像坐标系说明图;
[0038] 图9为本发明作物行中心线提取方法中的遗传算法适应度函数构造示意图; [0039] 图10为本发明作物行中心线提取方法中的作物行中心线提取结果示意图; [0040] 图11为本发明作物行中心线提取系统的结构示意图。

具体实施方式

[0041] 为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。 [0042] 本发明的主要技术方案为,在获取到作物图像后,通过对所述作物图像中的作物行与背景进行分割,将所述作物行图像转化为包括作物行值和背景值的二值图像;采用垂直投影法检测所述二值图像中的作物行数,并扫描所述二值图像得到作物行,提取所述作物行中的作物行定位点;根据获取的作物行定位点,利用遗传算法提取得到所述作物行的作物行中心线。通过采用遗传算法进行作物行中心线的提取,相比现有技术中采用的中心线提取方法,可以使得提取的中心线更加准确,满足农业机械实时导航的需要。 [0043] 下面结合附图和具体实施例,对本发明的技术方案做进一步的详细描述。 [0044] 实施例一
[0045] 图1为本发明作物行中心线提取方法的流程示意图,如图1所示,该方法 可以包括如下步骤:
[0046] 步骤101:在获取到作物图像后,通过对所述作物图像中的作物行与背景进行分割,将所述作物行图像转化为包括作物行值和背景值的二值图像;
[0047] 具体的,作物图像即为拍摄的农田原始图像,该作物图像一般为彩色的实地农田照片,通常可以对该图像进行作物识别处理,根据图像中的作物行和背景的颜色特征的不同将作物行和背景进行分割。
[0048] 首先,对原始作物行图像采用G-R作为颜色特征因子获得二值图像,进行作物识别。图2为本发明作物行中心线提取方法中的作物图像示意图,图3为图2中的作物图像线剖面分析图,如图2和图3所示,设原始的作物图像大小M*N(单位为像素,M为图像横向的像素数,N为图像纵向的像素数),对该作物图像中的直线L所在像素行的所有像素作线剖面图,横坐标为像素序号(0~M),纵坐标为该像素行的像素的RG分量的灰度值通过运算(G-R)后的值,范围为[-1,1]。由图3中可以看出,对应于图2中的作物行的(G-R)值大于零,而背景的(G-R)值小于零。据此对作物图像进行二值化处理,例如,如果(G-R)>0,则(G-R)=1,否则(G-R)=0,即可实现作物图像中的作物行与背景的分割,得到二值图像,可参见图4,图4为图2转换后得到的二值图像示意图。该步骤中,由于采用(G-R)颜色特征因子进行作物行和背景的分割,能够有效克服杂草和作物缺失的影响,获得更优的分割效果。
[0049] 进一步的,结合农田图像特点,由于作物行中经常存在枯黄的叶子,使得上述得到的部分二值图像中的作物行内部存在孔洞现象,可参见图4,孔洞的区域由黑色点构成。同时,由于背景土壤中零星的杂草、枝干等的存在,易在上述二值图像中形成一些区域较小的白色区域,即形成目标图像(作物行)的的噪声。基于此,可以在上述形成的二值图像做进一步的形态学处理。本实施例中可以采用3*1的结构元素对所述二值图像沿垂直方向进行膨胀处理,随后用1*3的结构元素对膨胀后的二值图像沿水平方面进行腐蚀处理,可填充上述作物行内部的孔洞并消除背景中存在的噪声。经过该形态学处理 后,即可得到图5所示的效果图,图5为图4经过形态学处理后的效果图。
[0050] 步骤102:采用垂直投影法检测所述二值图像中的作物行数,并扫描所述二值图像得到作物行,提取所述作物行中的作物行定位点;
[0051] 首先,对步骤101中预处理后的二值图像,检测其中的作物行数。具体的,本实施例可以采用垂直投影法进行作物行检测。例如,可以从该二值图像沿高度方向的中间位置截取一图像条,该图像条的大小可以为M*h,其中,h为图像条的像素高度,例如,原始作物图像的像素高度为N个像素,该h可以为N/10个像素。参见图6,图6为本发明图5中的一图像条作物行数检测图。对该图像条进行垂直投影,每一列的各像素在垂直投影后可以得到该像素的灰度值;设I(i,j)为图像条中的某一像素(i,j)的灰度值,其中,i,j分别为该像素所在的横坐标和纵坐标,i=1、2.......M,j=1、2........h。如图6所示,其中的红色曲线s(j)表示第i列所有像素垂直投影值的和,绿色直线m表示该图像条中的所有像素垂直投影值的平均值。具体定义如以下公式:
[0052] j=1,2…M (1)
[0053] j=1,2…M (2)
[0054] 由图6可以看出,图像条中的作物行区域要比背景区域上的s(j)值高出许多,作物行区域在s(j)曲线表现为突出的波峰。曲线s(j)与直线m在若干个点相交,设当j=k (k=1,2...M)时两者相交,即s(k)=m,若s(k-1)<s(k)<s(k+1),则s(k)点为上升点,否则为下降点。统计当所述上升点与下降点之间的距离c≥5(单位为像素)时在直线m上方的波峰个数,该波峰个数即为待检测的作物行数。
[0055] 接着,获取所述二值图像中的作物行,并提取所述作物行中的作物行定位点,该作物行定位点即为作物行中部分代表性的特征点。具体的,可以按照从左到右的顺序扫描二值图像,当该图像中的像素值从0(背景)跳到1 (作物行)时,则认为它是作物行的左边缘;然后,继续向右扫描,当该图像中的像素值从1(作物行)跳到0(背景)时,则认为它是作物行的右边缘。可以设置一长度阈值,当上述左边缘和右边缘之间的距离大于或等于该阈值时,则认为所述左边缘和右边缘之间的区域为作物行,否则认为所述左边缘和右边缘之间的区域为伪作物行,例如,有可能为杂草等噪声。为了减少后续算法时间,在实际算法操作中,仅保留5n(n=1,2,3…N/5)行的图像信息,将其余行所有像素转换为背景色(像素值为0);具体的,5n行指的是保留第5行,第10行,第15行,依次类推的像素行,图像信息是指该像素行中的像素点。然后,从上述保留的各像素行中提取与作物行对应的特征点,可参见图7,图7为获取到的图5中的作物行定位点的示意图。上述各像素行提取得到的特征点的集合作为用于表示某一作物行的各作物行定位点。
[0056] 步骤103:根据获取得到的作物行定位点,利用遗传算法提取得到所述作物行的作物行中心线。
[0057] 本实施例采用遗传算法进行作物行中心线的提取,遗传算法是一种通过模拟自然进化过程搜索最优解的算法,它通过基因编码、交叉、变异、自然选择一系列过程达到优化的目的。在这些过程中,通过“优胜劣汰”的原则,淘汰适应性较差的基因,使得解朝着好的方向发展。遗传算法综合了定向搜索和随机搜索的优点,在问题的解空间内自组织、自适应地进行搜索,直到满足优化准则,得到最优解或近似最优解。与传统的HT变换、RHT变换及基于垄线消隐点的算法相比较,本实施例采用遗传算法进行作物行中心线的提取,可以使得提取结果更加准确。
[0058] 遗传算法的具体实现思想是:遗传算法是从问题可能潜在的解集的一个初始种群开始的,初始种群是由经过基因编码的一定数目的染色体组成,染色体的内部表现即基因型,是某种基因组合,它决定了染色体的外部表现即表现型。首先,在产生初始种群后,需要实现从表现型到基因型的映射即基因编码;接着,按照适者生存和优胜劣汰的原理,逐代演化产生出越来越好 的近似解,根据染色体的适应度大小选择染色体,并借助于自然遗传学对基因型进行组合交叉和变异,产生下一代种群。这个过程将导致种群像自然进化一样,末代种群中的最优染色体的基因型经过解码的表现型,可以作为问题近似的最优解。 [0059] 下面详细说明本实施例采用遗传算法提取作物行中心线的过程:
[0060] 首先,需要在原始的二值图像即步骤101中产生的M*N大小的二值图像的范围内,采用随机数产生的方法,随机产生满足以下公式要求的50对坐标(xk,yk)、(xk+1,yk+1),其中,每一点对均代表一个染色体,该50个染色体即构成了初始种群。参见图8所示,图8为本发明作物行中心线提取方法中定义的图像坐标系说明图,图像左上角顶点为原点,图像水平向右方向为Y轴正方向,图像垂直下方向为X轴正方向,单位像素。设(xk,yk)、(xk+1,yk+1)为图像坐标系上的任意不同两点,且xk≠xk+1,xk,xk+1∈(0,N),yk,yk+1∈(0,M),则通过该两点的直线l的表达式为:
[0061]
[0062] 设 即直线l的表达式改写为:y=ax+b。即经过该步骤,即可产生50对横纵坐标均互不相同的点对,代表了组成初始种群的50个染色体。
[0063] 其次,对产生的染色体进行基因编码。具体的,本实施例可以采用二进制编码形式,将某个变量值代表的个体表示为一个{0,1}的二进制串。二进制编码的搜索空间能力更强。本实施例中,对上述50个染色体ln(n=1,2,…,50)进行编码,将代表染色体的点对(xk,yk)、(xk+1,yk+1)中的坐标值xk,xk+1,yk,yk+1均采用为10位二进制表示,每个点对坐标以组成40位的二进制数xkykxk+1yk+1例如,坐标(11,20)和(50,100),11、20、50和100的10位二进制数所组成的40位二进制数为00000,01011,00000,10100,00001,10010,00011,
00100, 该40位二进制数xkykxk+1yk+1即为染色体In的基因型Gn。
[0064] 再次,构造染色体的适应度函数。遗传算法在进化搜索中基本不利用外部信息,仅以适应度函数为依据,利用种群中每个染色体的适应度值来进行搜索。因此,适应度函数的选取直接影响算法的收敛速度及能否找到最优解。具体的,可以参见图9所示,图9为本发明作物行中心线提取方法中的遗传算法适应度函数构造示意图。在农田的作物行图像中,作物行中心线是最多作物行定位点通过的直线。但考虑到以通过作物行中心线的定位点数作为适应度函数导向性差,难以得到最优解;可以将问题转化为,若已知某作物行中心线,可在该中心线两侧选取给定阈值的条形区域,采用统计该条形区域内的作物行定位点数量的方法,判别该直线是否为作物行中心线。例如,设(αm,βm)为作物行中的某一定位点,则该定位点与待测直线l(该直线即为初始种群中的某一染色体直线)间的距离为: [0065]
[0066] 其中,a、b为前述的公式(3)中的参数,设给定阈值为q=8(单位:像素),若d满足d≤q,则认为该定位点在该条待测直线包含的特定条形区域内。进一步将作物行中心线的特征转化为,与待测直线间的距离小于或等于给定阈值的定位点数最多,且这些距离值的方差最小。以此构造适应度函数为:
[0067]
[0068] 式中,n为到染色体(待测直线)的距离满足给定阈值的定位点个数,Var代表各定位点与个体(待测直线)的距离和给定阈值的绝对值的方差,即所述定位点与待测直线的距离和给定阈值之间的绝对值差的平方和的开方。
[0069] 然后,可以根据上述构造的适应度,从初始群体中选取一定数量的染色 体个体遗传到下一代群体。它对染色体个体进行优胜劣汰操作:适应度高的个体被遗传到下一代群体中的概率大;适应度低的个体被遗传到下一代群体中的概率小。定义第i个染色体的适应度为fi,则其被选中的概率为如下的Pi: 式中,n为种群大小。本实施例中选取n为50,实际实施中,可以选择n∈(50,100)。
[0070] 本实施例中可以采用按适应度比例分配的轮盘赌选择法,它把种群中所有染色体的适应度的总和看作一个轮盘的圆周,而每个染色体按适应度在总和中所占的比例占据轮盘的一个扇区。每次染色体的选择可以看作轮盘的一次随机转动,它转到哪个扇区停下来,哪个扇区对应的染色体就被选中。尽管这种选择方法是随机的,但它与各染色体适应度值成比例。这是因为适应度大的染色体占据轮盘扇区面积大,被选中的概率就高,而适应度小的染色体占据的扇区小,被选中的概率就小。
[0071] 最后,对选择出来的部分染色体,根据每个染色体的适应度进行遗传操作,即按照适应度的大小依次选择两个染色体进行交叉和变异操作,生成第一下一代种群。具体的,本实施例可以采用多点交叉的方式,交叉是把两个父个体的部分结构加以替换重组而生成新个体的操作,多点交叉方式可以促进解空间的搜索,使搜索更加健壮。对于本实施例中的40位二进制数表示的染色体,可以设计交叉点的位置为:10、20、30,在上述各点的位置相互交换两个配对染色体的部分基因。此外,交叉之后染色体个体可能会发生变异,该变异即指染色体个体以很小的概率发生转变;对于本实施例中二进制编码的染色体而言,变异即变量的翻转,可以设置变异率为0.5%。
[0072] 进一步地,第一下一代种群将继续执行上述的构造适应度函数、选择染色体和交叉变异操作,可以设定进化到第五十下一代种群,最终获取最优染色体。其中,该最优染色体的表现型即选中的点对(xk,yk)、(xk+1,yk+1)所在的 直线,则为二值图像中的其中一作物行的作物行中心线。由于在一幅图像中存在多条作物行中心线,故一次遗传算法运算结束时,将获得在此图像中效果最优的一条作物行中心线。标记并记录该条中心线信息(即中心线所通过的定位点的坐标),并将其两侧选取给定阈值的条形区域中包含的定位点设定为背景像素(0值)。随后,从遗传算法的第一步即产生初始种群开始,进行再一次的提取作物行中心线过程,直至所提取的作物行中心线的数目与步骤102中检测的作物行数相等时终止执行。最后,得到图10所示的作物行中心线提取效果图,图10为本发明作物行中心线提取方法中的作物行中心线提取结果示意图。
[0073] 本实施例的作物行中心线提取方法,通过采用遗传算法进行作物行中心线的提取,相比现有技术中采用的最小二乘法等中心线提取方法,可以使得提取的中心线更加准确,满足农业机械实时导航的需要;并且通过采用(G-R)颜色特征因子进行作物行和背景的分割,能够有效克服杂草和作物缺失的影响,获得更优的分割效果。
[0074] 本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
[0075] 实施例二
[0076] 本发明还提供了一种作物行中心线提取系统,该系统可以应用于作业在多作物行的农业作业机械上,且该系统可以执行实施例一所述的作物行中心线提取方法。图11为本发明作物行中心线提取系统的结构示意图,如图11所示,该系统可以包括分割模块1101、定位模块1102和提取模块1103。
[0077] 其中,分割模块1101,可以获取作物图像,通过对所述作物图像中的作物行与背景进行分割,将所述作物图像转化为包括作物行值和背景值的二值 图像;
[0078] 具体的,该分割模块1101可以包括计算单元和处理单元。该计算单元可以对所述作物图像中的每一像素的RG分量的灰度值按照(G-R)进行计算;处理单元可以根据所述计算单元的计算结果进行判断,若计算结果大于零,则所述像素位于所述作物行中;若计算结果小于零,则为所述像素位于所述背景中。该分割模块1101还可以对所述二值图像进行消除噪声和填充孔洞处理。
[0079] 定位模块1102,可以采用垂直投影法检测所述二值图像中的作物行数,并扫描所述二值图像得到作物行,提取所述作物行中的作物行定位点;
[0080] 具体的,该定位模块1102可以包括判断单元和检测单元。该判断单元可以判断若所述作物图像的像素值由低到高,则标识为所述作物行的左边缘;若所述作物图像的像素值由高到低,则标识为所述作物行的右边缘;检测单元可以设定一长度阈值,若所述左边缘与右边缘的距离大于所述长度阈值,则所述左边缘与右边缘之间为所述作物行。 [0081] 提取模块1103,可以根据所述作物行定位点,利用遗传算法提取得到所述作物行的作物行中心线。
[0082] 具体的,该提取模块1103可以包括产生单元、编码单元、选择单元、遗传单元和提取单元。其中,产生单元用于在所述作物图像内,采用随机数产生的方法,随机产生N对坐标点对,所述坐标点对的坐标值互不相同,每一所述坐标点对所对应的直线为一染色体,所述N对坐标点对组成的N个染色体组成初始种群;编码单元用于对所述每一坐标点对进行40位二进制编码,得到所述染色体的基因型;选择单元用于构造所述染色体的适应度函数,计算适应度,并根据按照所述适应度比例分配的轮盘赌选择法对所述初始种群中的染色体进行选择,得到选择后个体;遗传单元,用于采用多点交叉的方式,在所述选择后个体中根据所述适应度,依次选择两个染色体对其所对应的基因型进行交叉和变异,得到第一下一代种群;此时,返回所述选择单元, 所述选择单元和遗传单元重复操作,直至得到第M下一代种群,所述第M下一代种群包括一最终染色体,所述最终染色体对应一作物行中心线;提取单元,用于在所述遗传单元得到所述最终染色体时,标记并记录所述作物行中心线所通过的定位点信息,并将所述作物行中心线两侧选取给定阈值的条形区域中包含的其他定位点设定为背景像素;此时,返回所述产生单元,所述产生单元、编码单元、选择单元、遗传单元和提取单元重复操作,直至所提取的作物行中心线数目与所检测的作物行数相等时终止。
[0083] 本实施例的作物行中心线提取系统,通过采用遗传算法进行作物行中心线的提取,相比现有技术中采用的最小二乘法等中心线提取方法,可以使得提取的中心线更加准确,满足农业机械实时导航的需要;并且通过采用(G-R)颜色特征因子进行作物行和背景的分割,能够有效克服杂草和作物缺失的影响,获得更优的分割效果。
[0084] 最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。