基于改进遗传算法的农作物生育期自动识别方法

文档序号:9249641阅读:536来源:国知局
基于改进遗传算法的农作物生育期自动识别方法
【技术领域】
[0001] 本发明设及一种识别方法,尤其是一种基于改进遗传算法的农作物生育期自动识 别方法,属于图像处理与多任务并行计算的技术领域。
【背景技术】
[0002] 我国是一个农业生产大国,农作物生育期的自动准确的识别对农事活动,农业防 灾减灾具有重要的指导作用。目前,对农作物生育期的自动识别主要基于图像处理技术和 农田小气候处理分析技术,不同的农作物有不同的生育期,每个生育期的处理算法的复杂 度存在很大差异。如何对资源进行合理的分配,对任务进行高效的调度,能够在最短的时间 内,最大程度的满足用户服务质量是农作物生育期自动识别系统任务调度算法的重点和难 点。
[0003] 已有的较为经典的资源调度算法有最早截止算法、短任务优先算法,先到先服务 算法、时间片轮询算法等,但对农作物生育期自动识别系统而言,存在着作物种类多、任务 处理长、各个生育期算法的复杂度不同等情况。传统的任务调度算法处理时间长,无法达到 在有限的资源内,完成任务的总时间最短。

【发明内容】

[0004] 本发明的目的是克服现有技术中存在的不足,提供一种基于改进遗传算法的农作 物生育期自动识别方法,其操作简单方便,在有限的可分配资源内,能最短的时间内实现对 多种农作物生育期的识别。
[0005]按照本发明提供的技术方案,一种基于改进遗传算法的农作物生育期自动识别方 法,所述农作物生育期自动识别方法包括如下步骤:
[0006] 步骤1、提供Ntype种待检测的农作物,并确定Ntype种农作物待检测的总生育期 数量Total;对每一待检测农作物的染色体进行编码,任意待检测农作物染色体的长度均 为Total,在系统的可分配资源个数为W时,染色体内每个基因在资源编号[0,W-1]内随机 取值;
[0007] 步骤2、随机生成由S条染色体构成的初始种群,初始种群中每一染色体的染色体 长度均为Total,且初始种群的染色体内每个基因在资源编号[0,W-1]内随机取值;
[000引步骤3、W任务总执行时间的倒数作为适应度函数ft,W得到初始种群中每个染色 体的适应度;
[0009] 步骤4、根据每个染色体的适应度,W确定每个染色体被选择的概率Pt,根据每个 染色体的选择概率Pt后,选择用于交叉的M条染色体;
[0010] 步骤5、对于上述选择的M条染色体,采用随机配对方式生成配对个体组;对配对 个体组的染色体根据交叉算子P。进行交叉操作,所述交叉算子P。为:
[0011]
[001引其中,Pcl= 0.9,0.6《Pd< 0.9,fmax为交叉操作时M条染色体的适应度值中的 最大适应度值,fwg为交叉操作时M条染色的适应度值的平均值,fy是配对个体组中待交叉 操作的两个染色体的适应度值中较大的适应度值;
[0013] 步骤6、对上述交叉后的M条染色体,利用变异算子Pm对每条算子进行均匀变异, 所述变异算子Pm为:
[0014]
[00巧]其中,Pmi=0. 1,0.001《Pm2<0. 1,fmax是一染色体变异前当前M条染色体的适 应度值中的最大适应度值,fwg是一染色体变异前当前M条染色体的适应度值的平均值,fm 是当前要变异染色体在变异操作前的适应度值;
[0016] 步骤7、在上述变异操作后,若变异后的染色体的适应度值大于变异前染色体的适 应度值,则用变异后的染色体替换变异前的染色体,否则,保留变异前的染色体;
[0017] 步骤8、若满足迭代进化结束条件,则输出最优的染色体,否则,跳转至步骤4,W 重复进行迭代进化操作;
[0018] 步骤9、根据输出最优的染色体,对每一农作物编码后的染色体进行解码,W确定 农作物的生育期。
[0019] 步骤1中,对于提供化ype种待检测的农作物,第i种农作物有Numi个台站的待 检测图像序列,且第i种农作物有化tage;个阶段的生育期,则Ntype种农作物待检测的总 生育期数量Total为:
[0020]
[0021] 根据任务总执行时间的倒数得到适应度函数ft的过程为:
[0022] 步骤3. 1、统计第k个生育期执行任务长度为Mk(单位:百万指令),k取值范围为 [LTotal];第j个资源的执行能力为Nj.(单位:百万指令/秒),j的取值为[0,W-1];贝。 所述第k个生育期在可该分配资源上的预完成时间WorkerTime化,j)为:
[0023] WorkerTime^=M^/Nj;
[0024]步骤3. 2、统计所有生育期执行的总时间TotalTime(X),得到
[0025]
[0026] 其中,X取值范围[1,S];
[0027]步骤3. 3、采用任务总完成时间的倒数作为适应度函数ft,得到 [002引
[0029] 步骤4中,每个染色体被选择的概率Pt为:
[0030]
[0031] 其中,ft为当前染色体的适应度值。
[0032] 本发明的优点:本发明采用任务完成的总时间倒数作为适应度函数,确保完成的 总时间最小,同时采用的交叉算子和变异算子,保证了遗传算法的收敛能力,提高了算法的 优化能力,避免了 "早熟"现象的发生,避免陷入局部最优,输出最优的算法调度机制。
【附图说明】
[0033]图1为本发明用于进行农作物生育期识别的识别系统的示意图。
[0034] 图2为本发明的流程图。
【具体实施方式】
[0035] 下面结合具体附图和实施例对本发明作进一步说明。
[0036] 如图1和图2所示;为了在有限的可分配资源内,能最短的时间内实现对多种农作 物生育期的识别,本发明农作物生育期自动识别方法包括如下步骤:
[0037] 步骤1、提供Ntype种待检测的农作物,并确定Ntype种农作物待检测的总生育期 数量Total;对每一待检测农作物的染色体进行编码,任意待检测农作物染色体的长度均 为Total,在系统的可分配资源个数为W时,染色体内每个基因在资源编号[0,W-1]内随机 取值;
[003引本发明实施例中,对于提供化ype种待检测的农作物,第i种农作物有Nunii个台 站的待检测图像序列,且第i种农作物有化tagei个阶段的生育期,则Ntype种农作物待检 测的总生育期数量Total为:
[0039]
[0040] 通过上述的编码,能保证任务编码序列的唯一性。系统的可分配资源是指用于识 别农作物生育期的识别系统能用于进行识别的可用资源,不同的识别系统具有不同的可分 配资源个数,具体为本技术领域人员所熟知,此处不再寶述。
[0041] 所述台站是指负责农作物图片采集的设备,每个台站在相同时刻只负责采集一种 作物的图片序列,但对于每块观测的种植区域,该季作物成熟后,下一季可能种植其它类型 的作物,每种作物有不同的生育周期。每个台站的待检测图片序列存在两种情况;1)、不同 作物的生育期图片序列;2)、一种作物的生育期图片序列,具体为本技术领域人员所熟知。
[0042] 步骤2、随机生成由S条染色体构成的初始种群,初始种群中每一染色体的染色体 长度均为Total,且初始种群的染色体内每个基因在资源编号[0,W-1]内随机取值;
[0043] 本发明实施例中,初始种群内S条染色体的编码方式采用步骤1的编码方式,由系 统采用随机函数进行随机生成。初始种群中染色体的数量s与上述的总生育期数量Total之间无任何关联,具体为本技术领域人员所熟知,此处不再寶述。
[0044] 步骤3、W任务总执行时间的倒数作为适应度函数ft,W得到初始种群中每个染色 体的适应度;
[0045] 本发明实施例中,根据任务总执行时间的倒数得到适应度函数ft的过程为:
[0046] 步骤3. 1、统计第k个生育期执行任务长度为Mk(单位:百万指令),k取值范围为 [LTotal];第j个资源的执行能力为Nj.(单位:百万指令/秒),j的取值为[0,W-1];贝。 所述第k个生育期在可该分配资源上的预完成时间WorkerTime化,j)为:
[0047] Wor kerTime^= M ^/Nj;
[0048]步骤3. 2、统计所有生育期执行的总时间TotalTime(X),得到
[0049]
[0050] 其中,X取值范围[1,S];
[0化1] 步骤3. 3、采用任务总完成时间的倒数作为适应度函数ft,得到
[0化2]
[0化3] 在初始种群的S条染色体中,由于每个染色体的基因不同,导致每个生育期的任 务长度Mk不同。第K个生育期会调用检测该生育期的检测算法,同一种作物生育期图像特 征是不一样的,检测算法也是不一样。该种统计只负责生育期检测模块的任务调度策略,具 体的识别任务是在该策略的调度下,调用的生育期检测模块来完成。该种统计过程不反应 待检测农作物的生育期。
[0054] 步骤4、根据每个染色体的适应度值,W确定每个染色体被选择的概率Pt,根据每 个染色体的选择概率Pt后,选择用于交叉的M条染色体;
[0055] 本发明实施例中,每个染色体被选择的概率Pt为:
[0化6]
[0化7] 其中,ft为
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1