CN104966243A - 基于改进遗传算法的农作物生育期自动识别方法 - Google Patents
基于改进遗传算法的农作物生育期自动识别方法 Download PDFInfo
- Publication number
- CN104966243A CN104966243A CN201510430902.3A CN201510430902A CN104966243A CN 104966243 A CN104966243 A CN 104966243A CN 201510430902 A CN201510430902 A CN 201510430902A CN 104966243 A CN104966243 A CN 104966243A
- Authority
- CN
- China
- Prior art keywords
- chromosome
- crops
- chromosomal
- fitness
- breeding time
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Measuring Or Testing Involving Enzymes Or Micro-Organisms (AREA)
Abstract
本发明涉及一种基于改进遗传算法的农作物生育期自动识别方法,其包括如下步骤:步骤1、对每一待检测农作物的染色体进行编码;步骤2、随机生成由S条染色体构成的初始种群;步骤3、以任务总执行时间的倒数作为适应度函数,得到适应度值;步骤4、选择用于交叉的M条染色体;步骤5、进行交叉操作,步骤6、进行均匀变异,步骤7、若变异后的染色体的适应度值大于变异前适应度值,则替换变异前的染色体;步骤8、若满足迭代进化结束条件,则输出最优的染色体,否则,跳转至步骤4;步骤9、根据输出最优的染色体,对每一农作物编码后的染色体进行解码。本发明在有限的可分配资源内,能最短的时间内实现对多种农作物生育期的识别。
Description
技术领域
本发明涉及一种识别方法,尤其是一种基于改进遗传算法的农作物生育期自动识别方法,属于图像处理与多任务并行计算的技术领域。
背景技术
我国是一个农业生产大国,农作物生育期的自动准确的识别对农事活动,农业防灾减灾具有重要的指导作用。目前,对农作物生育期的自动识别主要基于图像处理技术和农田小气候处理分析技术,不同的农作物有不同的生育期,每个生育期的处理算法的复杂度存在很大差异。如何对资源进行合理的分配,对任务进行高效的调度,能够在最短的时间内,最大程度的满足用户服务质量是农作物生育期自动识别系统任务调度算法的重点和难点。
已有的较为经典的资源调度算法有最早截止算法、短任务优先算法,先到先服务算法、时间片轮询算法等,但对农作物生育期自动识别系统而言,存在着作物种类多、任务处理长、各个生育期算法的复杂度不同等情况。传统的任务调度算法处理时间长,无法达到在有限的资源内,完成任务的总时间最短。
发明内容
本发明的目的是克服现有技术中存在的不足,提供一种基于改进遗传算法的农作物生育期自动识别方法,其操作简单方便,在有限的可分配资源内,能最短的时间内实现对多种农作物生育期的识别。
按照本发明提供的技术方案,一种基于改进遗传算法的农作物生育期自动识别方法,所述农作物生育期自动识别方法包括如下步骤:
步骤1、提供Ntype种待检测的农作物,并确定Ntype种农作物待检测的总生育期数量Total;对每一待检测农作物的染色体进行编码,任意待检测农作物染色体的长度均为Total,在系统的可分配资源个数为W时,染色体内每个基因在资源编号[0,W-1]内随机取值;
步骤2、随机生成由S条染色体构成的初始种群,初始种群中每一染色体的染色体长度均为Total,且初始种群的染色体内每个基因在资源编号[0,W-1]内随机取值;
步骤3、以任务总执行时间的倒数作为适应度函数ft,以得到初始种群中每个染色体的适应度;
步骤4、根据每个染色体的适应度,以确定每个染色体被选择的概率Pt,根据每个染色体的选择概率Pt后,选择用于交叉的M条染色体;
步骤5、对于上述选择的M条染色体,采用随机配对方式生成配对个体组;对配对个体组的染色体根据交叉算子pc进行交叉操作,所述交叉算子pc为:
其中,pc1=0.9,0.6≤pc2<0.9,fmax为交叉操作时M条染色体的适应度值中的最大适应度值,favg为交叉操作时M条染色的适应度值的平均值,fx是配对个体组中待交叉操作的两个染色体的适应度值中较大的适应度值;
步骤6、对上述交叉后的M条染色体,利用变异算子pm对每条算子进行均匀变异,所述变异算子pm为:
其中,pm1=0.1,0.001≤pm2<0.1,fmax是一染色体变异前当前M条染色体的适应度值中的最大适应度值,favg是一染色体变异前当前M条染色体的适应度值的平均值,fm是当前要变异染色体在变异操作前的适应度值;
步骤7、在上述变异操作后,若变异后的染色体的适应度值大于变异前染色体的适应度值,则用变异后的染色体替换变异前的染色体,否则,保留变异前的染色体;
步骤8、若满足迭代进化结束条件,则输出最优的染色体,否则,跳转至步骤4,以重复进行迭代进化操作;
步骤9、根据输出最优的染色体,对每一农作物编码后的染色体进行解码,以确定农作物的生育期。
步骤1中,对于提供Ntype种待检测的农作物,第i种农作物有Numi个台站的待检测图像序列,且第i种农作物有Nstagei个阶段的生育期,则Ntype种农作物待检测的总生育期数量Total为:
根据任务总执行时间的倒数得到适应度函数ft的过程为:
步骤3.1、统计第k个生育期执行任务长度为Mk(单位:百万指令),k取值范围为[1,Total];第j个资源的执行能力为Nj(单位:百万指令/秒),j的取值为[0,W-1];则所述第k个生育期在可该分配资源上的预完成时间Wor kerTime(k,j)为:
Wor kerTimek=Mk/Nj;
步骤3.2、统计所有生育期执行的总时间TotalTime(x),得到
其中,x取值范围[1,S];
步骤3.3、采用任务总完成时间的倒数作为适应度函数ft,得到
步骤4中,每个染色体被选择的概率Pt为:
其中,ft为当前染色体的适应度值。
本发明的优点:本发明采用任务完成的总时间倒数作为适应度函数,确保完成的总时间最小,同时采用的交叉算子和变异算子,保证了遗传算法的收敛能力,提高了算法的优化能力,避免了“早熟”现象的发生,避免陷入局部最优,输出最优的算法调度机制。
附图说明
图1为本发明用于进行农作物生育期识别的识别系统的示意图。
图2为本发明的流程图。
具体实施方式
下面结合具体附图和实施例对本发明作进一步说明。
如图1和图2所示:为了在有限的可分配资源内,能最短的时间内实现对多种农作物生育期的识别,本发明农作物生育期自动识别方法包括如下步骤:
步骤1、提供Ntype种待检测的农作物,并确定Ntype种农作物待检测的总生育期数量Total;对每一待检测农作物的染色体进行编码,任意待检测农作物染色体的长度均为Total,在系统的可分配资源个数为W时,染色体内每个基因在资源编号[0,W-1]内随机取值;
本发明实施例中,对于提供Ntype种待检测的农作物,第i种农作物有Numi个台站的待检测图像序列,且第i种农作物有Nstagei个阶段的生育期,则Ntype种农作物待检测的总生育期数量Total为:
通过上述的编码,能保证任务编码序列的唯一性。系统的可分配资源是指用于识别农作物生育期的识别系统能用于进行识别的可用资源,不同的识别系统具有不同的可分配资源个数,具体为本技术领域人员所熟知,此处不再赘述。
所述台站是指负责农作物图片采集的设备,每个台站在相同时刻只负责采集一种作物的图片序列,但对于每块观测的种植区域,这季作物成熟后,下一季可能种植其它类型的作物,每种作物有不同的生育周期。每个台站的待检测图片序列存在两种情况:1)、不同作物的生育期图片序列;2)、一种作物的生育期图片序列,具体为本技术领域人员所熟知。
步骤2、随机生成由S条染色体构成的初始种群,初始种群中每一染色体的染色体长度均为Total,且初始种群的染色体内每个基因在资源编号[0,W-1]内随机取值;
本发明实施例中,初始种群内S条染色体的编码方式采用步骤1的编码方式,由系统采用随机函数进行随机生成。初始种群中染色体的数量S与上述的总生育期数量Total之间无任何关联,具体为本技术领域人员所熟知,此处不再赘述。
步骤3、以任务总执行时间的倒数作为适应度函数ft,以得到初始种群中每个染色体的适应度;
本发明实施例中,根据任务总执行时间的倒数得到适应度函数ft的过程为:
步骤3.1、统计第k个生育期执行任务长度为Mk(单位:百万指令),k取值范围为[1,Total];第j个资源的执行能力为Nj(单位:百万指令/秒),j的取值为[0,W-1];则所述第k个生育期在可该分配资源上的预完成时间Wor kerTime(k,j)为:
Wor kerTimek=Mk/Nj;
步骤3.2、统计所有生育期执行的总时间TotalTime(x),得到
其中,x取值范围[1,S];
步骤3.3、采用任务总完成时间的倒数作为适应度函数ft,得到
在初始种群的S条染色体中,由于每个染色体的基因不同,导致每个生育期的任务长度Mk不同。第K个生育期会调用检测该生育期的检测算法,同一种作物生育期图像特征是不一样的,检测算法也是不一样。这种统计只负责生育期检测模块的任务调度策略,具体的识别任务是在该策略的调度下,调用的生育期检测模块来完成。这种统计过程不反应待检测农作物的生育期。
步骤4、根据每个染色体的适应度值,以确定每个染色体被选择的概率Pt,根据每个染色体的选择概率Pt后,选择用于交叉的M条染色体;
本发明实施例中,每个染色体被选择的概率Pt为:
其中,ft为当前染色体的适应度值。
选择操作是遗传算法评价个体适应性强度的方式,首先根据步骤3计算得到初始种群中每个染色体的适应度值,然后通过上述公式得到每个染色体的适应度值在整个初始种群的所有湿度值中所占的比例。由此可见,适应度值高的染色体以较高的概率被继承下来,为下一代提供了良好的基因。具体实施时,采用轮盘赌选择法,使用随机函数RANDOM产生[0,0.5]的随机常数r,选择概率Pt与r进行比较,选择概率Pt大于r的染色体被选中,若选中的染色体是偶数个,则刚好全部可以参与后续的交叉配对操作,若被选中的染色体是奇数个,则需去掉其中的任意一个,即选择的染色体个数M为偶数。
步骤5、对于上述选择的M条染色体,采用随机配对方式生成配对个体组;对配对个体组的染色体根据交叉算子pc进行交叉操作,所述交叉算子pc为:
其中,pc1=0.9,0.6≤pc2<0.9,fmax为交叉操作时M条染色体的适应度值中的最大适应度值,favg为交叉操作时M条染色的适应度值的平均值,fx是配对个体组中待交叉操作的两个染色体的适应度值中较大的适应度值;
本发明实施例中,交叉操作是遗传算法区别于其它算法的的重要特征,它在遗传算法中起着关键作用,是产生新个体的主要方法。在交叉算法前对染色体中的个体进行配对,采用随机配对的方式,即将群体中的M条染色体以随机的方式组成M/2对配对个体组。交叉操作是在这些配对个体组中的两个染色体之间进行。
每进行一配对个体组内染色体交叉操作后,且在进行下一配对个体组内染色体交叉操作前,计算所述待进行交叉操作的配对个体组内染色体间的交叉算子,以计算得到的交叉算子对配对个体组内两染色体进行交叉操作。具体过程为:
对于被选中的M条染色体,在步骤4中以得到所述M条染色体中每条染色体的适应度值。在对首个配对个体组内染色体进行交叉操作前,根据已得到的每条染色体的适应度值,则能得到具体的交叉算子pc1,然后根据交叉算子pc1完成首个配对个体组内两染色体的交叉。在完成首个配对个体组内两染色体交叉后,计算两交叉后染色体的对应适应度值,得到交叉后染色体的适应度值后,结合所有未进行交叉操作染色体的适应度值,能得到新的交叉算子pc2,利用交叉算子pc2进行第二配对个体组内两染色体的交叉操作。重复上述过程,直至所有的配对个体组均进行交叉操作。
步骤6、对上述交叉后的M条染色体,利用变异算子pm对每条算子进行均匀变异,所述变异算子pm为:
其中,pm1=0.1,0.001≤pm2<0.1,fmax是一染色体变异前当前M条染色体的适应度值中的最大适应度值,favg是一染色体变异前当前M条染色体的适应度值的平均值,fm是当前要变异染色体在变异操作前的适应度值;
均匀变异操作是指用均匀分布的随机数,以较小的概率来替代染色体基因编码串上的原有基因值。具体过程如下:
1)、依次指定个体编码中的每个基因为变异点;
2)、对每一个变异点,以概率Pm从对应基因的取值范围内取一随机数来替代原有基因的值。
步骤7、在上述变异操作后,若变异后的染色体的适应度值大于变异前染色体的适应度值,则用变异后的染色体替换变异前的染色体,否则,保留变异前的染色体;
步骤8、若满足迭代进化结束条件,则输出最优的染色体,否则,跳转至步骤4,以重复进行迭代进化操作;
本发明实施例中,迭代进化结束条件可以为迭代次数或适应度值达到设定的阈值,具体的结束条件可以根据需要进行选择,为本技术领域人员所熟知,此处不再赘述。图2中示出了以循环变量n与Toatl之间的大小作为迭代进化结束条件,即当循环变量达到Total时,则输出最优的染色体,此时,识别系统也结束了整个迭代进化的操作。
步骤9、根据输出最优的染色体,对每一农作物编码后的染色体进行解码,以确定农作物的生育期。
本发明实施例中,在满足迭代进化结束条件后,确定每个染色体的适应度值,选择适应度值最大的染色体作为最优染色体,最优染色体具备了任务总执行时间最短。具体地,输出的最优染色体具备了任务总执行时间最短的调度策略,然后利用该调度策略,调用生育期检测模块,确定每个农作物的生育期是由生育期检测模块来完成的。输出的染色体只负责生育期检测模块的任务调度策略,不负责具体生育期的识别任务。
本发明采用任务完成的总时间倒数作为适应度函数,确保完成的总时间最小,同时采用的交叉算子和变异算子,保证了遗传算法的收敛能力,提高了算法的优化能力,避免了“早熟”现象的发生,避免陷入局部最优,输出最优的算法调度机制。
Claims (4)
1.一种基于改进遗传算法的农作物生育期自动识别方法,其特征是,所述农作物生育期自动识别方法包括如下步骤:
步骤1、提供Ntype种待检测的农作物,并确定Ntype种农作物待检测的总生育期数量Total;对每一待检测农作物的染色体进行编码,任意待检测农作物染色体的长度均为Total,在系统的可分配资源个数为W时,染色体内每个基因在资源编号[0,W-1]内随机取值;
步骤2、随机生成由S条染色体构成的初始种群,初始种群中每一染色体的染色体长度均为Total,且初始种群的染色体内每个基因在资源编号[0,W-1]内随机取值;
步骤3、以任务总执行时间的倒数作为适应度函数ft,以得到初始种群中每个染色体的适应度;
步骤4、根据每个染色体的适应度,以确定每个染色体被选择的概率Pt,根据每个染色体的选择概率Pt后,选择用于交叉的M条染色体;
步骤5、对于上述选择的M条染色体,采用随机配对方式生成配对个体组;对配对个体组的染色体根据交叉算子pc进行交叉操作,所述交叉算子pc为:
其中,pc1=0.9,0.6≤pc2<0.9,fmax为交叉操作时M条染色体的适应度值中的最大适应度值,favg为交叉操作时M条染色的适应度值的平均值,fx是配对个体组中待交叉操作的两个染色体的适应度值中较大的适应度值;
步骤6、对上述交叉后的M条染色体,利用变异算子pm对每条算子进行均匀变异,所述变异算子pm为:
其中,pm1=0.1,0.001≤pm2<0.1,fmax是一染色体变异前当前M条染色体的适应度值中的最大适应度值,favg是一染色体变异前当前M条染色体的适应度值的平均值,fm是当前要变异染色体在变异操作前的适应度值;
步骤7、在上述变异操作后,若变异后的染色体的适应度值大于变异前染色体的适应度值,则用变异后的染色体替换变异前的染色体,否则,保留变异前的染色体;
步骤8、若满足迭代进化结束条件,则输出最优的染色体,否则,跳转至步骤4,以重复进行迭代进化操作;
步骤9、根据输出最优的染色体,对每一农作物编码后的染色体进行解码,以确定农作物的生育期。
2.根据权利要求1所述的基于改进遗传算法的农作物生育期自动识别方法,其特征是,步骤1中,对于提供Ntype种待检测的农作物,第i种农作物有Numi个台站的待检测图像序列,且第i种农作物有Nstagei个阶段的生育期,则Ntype种农作物待检测的总生育期数量Total为:
3.根据权利要求1所述的基于改进遗传算法的农作物生育期自动识别方法,其特征是,根据任务总执行时间的倒数得到适应度函数ft的过程为:
步骤3.1、统计第k个生育期执行任务长度为Mk(单位:百万指令),k取值范围为[1,Total];第j个资源的执行能力为Nj(单位:百万指令/秒),j的取值为[0,W-1];则所述第k个生育期在可该分配资源上的预完成时间Wor kerTime(k,j)为:
Wor kerTimek=Mk/Nj;
步骤3.2、统计所有生育期执行的总时间TotalTime(x),得到
其中,x取值范围[1,S];
步骤3.3、采用任务总完成时间的倒数作为适应度函数ft,得到
4.根据权利要求1所述的基于改进遗传算法的农作物生育期自动识别方法,其特征是,步骤4中,每个染色体被选择的概率Pt为:
其中,ft为当前染色体的适应度值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510430902.3A CN104966243B (zh) | 2015-07-21 | 2015-07-21 | 基于改进遗传算法的农作物生育期自动识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510430902.3A CN104966243B (zh) | 2015-07-21 | 2015-07-21 | 基于改进遗传算法的农作物生育期自动识别方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104966243A true CN104966243A (zh) | 2015-10-07 |
CN104966243B CN104966243B (zh) | 2018-06-05 |
Family
ID=54220275
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510430902.3A Active CN104966243B (zh) | 2015-07-21 | 2015-07-21 | 基于改进遗传算法的农作物生育期自动识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104966243B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106651844A (zh) * | 2016-12-16 | 2017-05-10 | 山东锋士信息技术有限公司 | 一种基于图像分析的苹果生育期识别方法 |
CN110232446A (zh) * | 2019-06-12 | 2019-09-13 | 南京大学 | 一种基于基因遗传的共识节点选择方法和装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6907411B2 (en) * | 2001-09-13 | 2005-06-14 | Institute For Information Industry | Carrier dispatch and transfer method |
CN101221586A (zh) * | 2007-12-11 | 2008-07-16 | 中山大学 | 基于解耦技术和遗传算法的功率电子电路优化方法 |
CN102662743A (zh) * | 2012-04-13 | 2012-09-12 | 南京信息工程大学 | 一种启发式粗粒度并行网格任务调度方法 |
CN104376142A (zh) * | 2014-07-25 | 2015-02-25 | 浙江工业大学 | 一种结合作物虚拟生长模型的水稻株型定量控制方法 |
-
2015
- 2015-07-21 CN CN201510430902.3A patent/CN104966243B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6907411B2 (en) * | 2001-09-13 | 2005-06-14 | Institute For Information Industry | Carrier dispatch and transfer method |
CN101221586A (zh) * | 2007-12-11 | 2008-07-16 | 中山大学 | 基于解耦技术和遗传算法的功率电子电路优化方法 |
CN102662743A (zh) * | 2012-04-13 | 2012-09-12 | 南京信息工程大学 | 一种启发式粗粒度并行网格任务调度方法 |
CN104376142A (zh) * | 2014-07-25 | 2015-02-25 | 浙江工业大学 | 一种结合作物虚拟生长模型的水稻株型定量控制方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106651844A (zh) * | 2016-12-16 | 2017-05-10 | 山东锋士信息技术有限公司 | 一种基于图像分析的苹果生育期识别方法 |
CN106651844B (zh) * | 2016-12-16 | 2021-04-02 | 山东锋士信息技术有限公司 | 一种基于图像分析的苹果生育期识别方法 |
CN110232446A (zh) * | 2019-06-12 | 2019-09-13 | 南京大学 | 一种基于基因遗传的共识节点选择方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN104966243B (zh) | 2018-06-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104751297A (zh) | 一种混流生产线产能分配方法 | |
CN103530702A (zh) | 一种基于瓶颈设备分解的大规模作业车间调度方法 | |
CN114637351B (zh) | 一种设施作物温室环境调控方法及系统 | |
CN104679634A (zh) | 一种用于超大规模芯片仿真的自适应随机验证方法 | |
CN110083531A (zh) | 改进个体信息共享的多目标路径覆盖测试方法及实现系统 | |
CN109872052A (zh) | 一种法院案件智能化分案辅助方法及系统 | |
CN103729680A (zh) | 基于多智能体进化算法的rfid网络布局方法 | |
CN104966243A (zh) | 基于改进遗传算法的农作物生育期自动识别方法 | |
Gabel et al. | Survival of the scarcer | |
CN105844353A (zh) | 一种水产品价格的预测方法以及装置 | |
CN103345552A (zh) | 电力ict通信网可靠性的评估方法及系统 | |
CN109800815A (zh) | 基于随机森林模型的训练方法、小麦识别方法和训练系统 | |
CN113112188A (zh) | 一种基于预筛选动态集成的电力调度监控数据异常检测方法 | |
Pahl-Wostl | Food webs and ecological networks across temporal and spatial scales | |
CN117164103A (zh) | 生活污水处理系统的智能控制方法、终端及系统 | |
CN106971170A (zh) | 一种基于遗传算法利用一维距离像进行目标识别的方法 | |
CN107909478A (zh) | 基于社会网络聚类和信息增益熵指标的fof基金投资组合系统及方法 | |
CN107679615A (zh) | 基于改进遗传算法的变压器样本选择方法 | |
CN114118832A (zh) | 一种基于历史数据预测的银行排班方法和系统 | |
CN100380395C (zh) | 一种遥感影像的人工免疫监督分类方法 | |
CN109347913B (zh) | 一种基于智能遗传算法的web服务协同调度方法及系统 | |
CN109840308B (zh) | 一种区域风电功率概率预报方法及系统 | |
CN103995821B (zh) | 一种基于谱聚类算法的选择性聚类集成方法 | |
Magnuson-Ford et al. | Comparing strategies to preserve evolutionary diversity | |
CN101246555B (zh) | 一种用于行人检测的基于协同进化的特征优选方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20191216 Address after: 214000 28 Weiming Road, Binhu District, Wuxi City, Jiangsu Province Patentee after: Aerospace new weather Technology Co., Ltd Address before: Jinxi road Binhu District 214127 Jiangsu city of Wuxi province No. 100 Patentee before: Jiangsu Provincial Radio Inst Co., Ltd. |
|
TR01 | Transfer of patent right |