本发明涉及农业遥感领域,特别是涉及基于机器学习的农作物识别方法、装置、存储介质及终端。
背景技术:
::地表作物覆盖信息对于粮食安全和作物监测非常重要,准确及时的对地表作物类型分布进行测绘并制定健全的管理政策,有助于粮食的生产和预测。伴随着互联网大数据和高性能图形处理器gpu的出现,机器学习已经被广泛应用于专家系统、认知模拟、数据挖掘、自然语言理解、网络信息服务、遥感图像分类等领域。并且,随着近些年大量高分辨率遥感卫星的升空,遥感技术也得到了巨大得发展,扩大了农业基础数据的获取途径,减少了数据获取成本,让农业遥感测绘的普及变成了可能。因此,在现有的地表作物类型分布测绘的方法中,基于遥感技术和机器学习理论的分类识别的方法已经逐步取代了传统的实地测量的方法。基于遥感影像对地表覆盖类型进行分类识别的方法可以分为两大类:基于像素分析(pixelbasedimageanalysis,pbia)的分类识别方法和基于对象分析(objectorientedimageanalysis,obia)的分类识别方法。两者最大的区别在于进行图像处理时的单位不同:前者以像素作为单位;后者以像素聚集后的具有均一性,一致性的斑块作为单位。长期以来,基于像素的分析方法一直是遥感图像分类的主要方法,但是基于对象的图像分析方法在过去十年中已经变得越来越普遍。相比于pbia分类识别方法,obia分类识别方法能获取对象更多的空间信息,并有效减少光谱异质性问题和图像分类后的椒盐效应。随着高分辨影像的发展,obia分类识别方法在地表覆盖监测上的优势会越来越明显。图像分割作为obia分类识别方法的核心技术,主要采用试错法和主观感知法获取分割尺度参数,容易导致过分割和欠分割现象,即分割出来的对象特征并不能代表地表真实对象的属性,从而影响分类精度。因此,许多研究提出基于单一最优分割尺度的方法,包括监督的方法和非监督的方法。然而,由于地表覆盖类型往往非常复杂,不同地表覆盖类型对应的分割尺度大多都有所不同,当使用某单一最优尺度时,在凸显某种地类信息时不可避免会损伤到其它地类的信息,从而降低分类精度。此外,基于机器学习理论的地表作物类型分类识别的方法中,不同分类器性能对于不同研究区、不同影像、不同样本可能表现不一,如何选择分类器和参数一直是分类问题中的难点。技术实现要素:鉴于以上所述现有技术的缺点,本发明的目的在于提供基于机器学习的农作物识别方法、装置、存储介质及终端,用于解决现有技术中的问题。为实现上述目的及其他相关目的,本发明的第一方面提供一种基于机器学习的农作物识别方法。该方法首先获取目标区域内农作物的物候期遥感影像,以合成相应的时间序列图像;然后,对所述时间序列图像进行多尺度分割,以获得影像对象;其次,选取多个弱分类器,并按所述影像对象的分类体系和分类特征集,对所述影像对象进行分类,以获取每个分类器在每个尺度下的分类结果;最后,对所述分类结果进行分类精度评价,并根据所述分类精度评价结果进行加权计算,以识别每个像素的归属类别。于本发明的第一方面的一些实施例中,所述对所述分类结果进行分类精度评价,其包括:选取各尺度下精度最高的分类器,以作为各尺度的最优分类器;对每个农作物类别在各个尺度下的基于该尺度的最优分类器的分类结果进行分类精度评价;其中,所述分类精度评价的评价值与分类结果的精度值正相关。于本发明的第一方面的一些实施例中,所述精度评价的方式包括:构建精度打分表;其中,所述精度打分表以农作物类别作为第一维度并以分割尺度作为第二维度,且各分割尺度和各农作物类别所对应形成的评分随着精度的变化做同向变化。于本发明的第一方面的一些实施例中,所述根据所述分类精度评价结果进行加权计算,包括:获取一像素对应于各农作物类别的一或多个相关的分割尺度;计算该像素对应于各农作物类别的所述一或多个相关的分割尺度的精度评价值之和;选取精度评价值之和最高的农作物类别作为该像素的归属类别。于本发明的第一方面的一些实施例中,所述影像对象的分类特征集,包括对特征集进行特征筛选,其包括同时采用基于主观的选择和采取特征选择算法的选择;所述特征选择算法包括scikit-learn库中的selectkbest法。于本发明的第一方面的一些实施例中,所述多尺度分割,包括运用esp工具计算不同分割尺度参数下影像对象同质性的局部变化的变化率值,得到多个峰值对应的尺度作为优选分割尺度。于本发明的第一方面的一些实施例中,所述图像分割方法包括multi-resolution算法;所述分类器包括随机森林、支持向量机和多层感知器神经网络。为实现上述目的及其他相关目的,本发明的第二方面提供一种基于机器学习的农作物识别装置,包括:图像输入模块,获取目标区域内农作物的物候期遥感影像,以合成相应的时间序列图像;图像分割模块,对所述时间序列图像进行多尺度分割,以获得影像对象;对象分类模块,选取多个弱分类器,并按所述影像对象的分类体系和分类特征集,对所述影像对象进行分类,以获取每个分类器在每个尺度下的分类结果;尺度加权模块,对所述分类结果进行分类精度评价,并根据所述分类精度评价结果进行加权计算,以识别每个像素的归属类别。为实现上述目的及其他相关目的,本发明的第三方面提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述方法。为实现上述目的及其他相关目的,本发明的第四方面提供一种电子终端,包括:处理器及存储器;所述存储器用于存储计算机程序,所述处理器用于执行所述存储器存储的计算机程序,以使所述终端执行所述方法。如上所述,本发明涉及的基于机器学习的农作物识别方法、装置、存储介质及终端,具有以下有益效果:本发明方案通过对多个尺度进行加权的分类方法,克服了单一最优尺度在凸显某种类别信息时对其它类别信息的损害,通过对多个简单参数的分类器的分类结果进行加权分类,避免了分类器模型的参数选取和优化问题,提高了农作物遥感影像的分类精度。附图说明图1显示为本发明一实施例中一应用场景示意图。图2显示为本发明一实施例中基于机器学习的农作物识别方法流程示意图。图3显示为本发明一实施例中esp尺度优选结果示意图。图4显示为本发明一实施例中图像的像素基于精度打分表分类的方法流程示意图。图5显示为本发明一实施例中基于机器学习的农作物识别装置结构示意图。图6显示为本发明一实施例中基于模型框架的农作物识别方法流程示意图。图7显示为本发明一实施例中电子终端的结构示意图。具体实施方式以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。需要说明的是,在下述描述中,参考附图,附图描述了本发明的若干实施例。应当理解,还可使用其他实施例,并且可以在不背离本发明的精神和范围的情况下进行机械组成、结构、电气以及操作上的改变。下面的详细描述不应该被认为是限制性的,并且本发明的实施例的范围仅由公布的专利的权利要求书所限定。这里使用的术语仅是为了描述特定实施例,而并非旨在限制本发明。空间相关的术语,例如“上”、“下”、“左”、“右”、“下面”、“下方”、“下部”、“上方”、“上部”等,可在文中使用以便于说明图中所示的一个元件或特征与另一元件或特征的关系。再者,如同在本文中所使用的,单数形式“一”、“一个”和“该”旨在也包括复数形式,除非上下文中有相反的指示。应当进一步理解,术语“包含”、“包括”表明存在所述的特征、操作、元件、组件、项目、种类、和/或组,但不排除一个或多个其他特征、操作、元件、组件、项目、种类、和/或组的存在、出现或添加。此处使用的术语“或”和“和/或”被解释为包括性的,或意味着任一个或任何组合。因此,“a、b或c”或者“a、b和/或c”意味着“以下任一个:a;b;c;a和b;a和c;b和c;a、b和c”。仅当元件、功能或操作的组合在某些方式下内在地互相排斥时,才会出现该定义的例外。为了使本发明的目的、技术方案及优点更加清楚明白,通过下述实施例并结合附图,对本发明实施例中的技术方案的进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定发明。实施例一如图1为本发明一实施例中一应用场景示意图,其中,终端11与卫星12通过网络进行通信,获取所需遥感数据,并进行农作物的分类识别。其中,终端11可以是笔记本电脑、智能手机、平板电脑、各种个人计算机和便携式可穿戴设备。具体的,与农作物相关的遥感数据包括:农作物的空间信息,包括形状、大小、纹理等;农作物的光谱信息,其中:红光波段可以将建筑物与植被很好的区分开来,蓝波段可用于获得地物相交处的边界信息,近红外波段在区别作物分布区域及长势、分类、农作物估产、病虫灾害监测等方面有不可替代的作用;时间信息等。农作物的类别可按照农作物用途进行分类,如:粮食作物、水果类作物、蔬菜类作物等;也可按照具体作物名称分类,如:小麦、玉米、水稻、胡萝卜等。农作物分类的原理是根据获取的遥感影像的像元的形状、颜色、纹理等特征,在一定尺度上对影像进行影像分割生成影像对象,即把具有相同特征的像元组成一个影像对象;根据每个影像对象的特征进行分类,建立不同尺度的分类层次,在每一层次上分别定义对象的光谱特征(包括均值、方差、灰度比值等)、形状特征(包括面积、长度、宽度、边界长度、长宽比、形状因子、密度、主方向、位置、对称性等)、纹理特征(包括对象方差、面积、密度、对称性、主方向的均值和方差等)等;通过定义多种特征并指定不同权重,给出每个对象隶属于某一类的概率,建立分类标准,并按照最大概率先在大尺度上分出“父类”,再根据实际需要对感兴趣的地物在小尺度上定义特征,分出“子类”,最终产生确定分类结果。实施例二如图2为本实施例基于机器学习的农作物识别方法流程示意图,具体步骤包括:步骤s21.获取目标区域内农作物的物候期遥感影像,以合成相应的时间序列图像。举例来说,选取中国山西省稷山县南部作为研究区域,获取该区域高分二号卫星(gf2)影像数据,合成对应的时间序列图像。步骤s22.对所述时间序列图像进行多尺度分割,以获得影像对象。在本实施例较佳的实现方式中,采用esp(estimationofscaleparameter)工具对尺度参数进行选择,获取多个优选尺度,对所述时间序列图像进行分割。esp工具通过设置起始分割尺度和增加步长,计算不同分割尺度参数下影像对象同质性的局部变化lv(localvariance)的变化率值roc-lv(ratesofchangeoflv)来指示对象分割效果的好坏。esp工具获得的roc-lv曲线的峰值点对应的尺度参数可作为优选尺度。并且,优选尺度的数目n一般根据分类体系的数目确定。具体的,图3为采用esp工具获取的山西省稷山县南部遥感影像的尺度优选结果,其中含菱形符号的曲线表示lv,含圆形符号的曲线表示lv-roc。值得注意的是为了保证结果的有效性,根据实际分割情况删除了两端的峰值点,即横坐标过小或过大的峰值点。根据图3中的lv-roc曲线,选取8个明显波峰所对应的八个尺度参数作为优选尺度:52,61,67,81,86,104,121,132,n=8。在本实施例较佳的实现方式中,利用multi-resolution算法进行图像分割。multi-resolution算法是一种自下而上的方法,通过合并相邻的像素或小的分割对象,在保证对象与对象之间平均异质性最小、对象内部像元之间同质性最大的前提下,基于区域合并技术实现图像分割。步骤s23.选取多个弱分类器,并按所述影像对象的分类体系和分类特征集,对所述影像对象进行分类,以获取每个分类器在每个尺度下的分类结果;具体的,分别用随机森林rf、支持向量机svm和多层感知器神经网络mlp分类器对影像对象进行分类。随机森林、支持向量机和多层感知器神经网络是三种典型的机器学习算法,分别代表了集成学习、vc维理论和神经网络。本方法中所选分类器为弱分类器,不进行参数的优化设置。整个分类过程可以在scikit-learn库中实现。为了验证采用多个优选尺度的分类结果最后精度优于单一最优尺度分类结果,应保证每个优选尺度下的分类器参数都相同。可选的,本实施例中的步骤s23又可由下述的步骤s231~s233实现。步骤s231.根据研究区域的地类及主要农作物确定分类体系。具体的,山西省稷山县南部的主要农作物为玉米、小麦、核桃以及其他作物等。考虑到研究区域除了作物外还存在其它地类,将其它地类也加入分类体系m,共8个类别:玉米、小麦、核桃、其他作物、建筑、疏林、荒草地、裸地,即m=8。步骤s232.根据分类体系确定对应的分类特征集。对于农作物识别而言,初始特征集中的特征一般包括光谱特征、植被指数特征、纹理特征、形状特征等;初始特征集中一般会存在大量的冗余,这些冗余特征不仅对程序运行效率有很大的影响,还会造成模型过拟合、泛化能力差,因此,对特征集进行特征选择是必要的。具体的,首先,确定影像对象的初始分类特征总集:选取了4时期*4波段共16个光谱特征、6个几何特征、4时期*4种共16个植被指数特征、以及4时期*4波段*5种共80个纹理特征,总计118个特征作为对象的初始特征总集。然后,对初始分类特征总集进行特征筛选。在本实施例较佳的实现方式中,利用selectkbest法对分类特征集进行筛选。scikit-learn库中的selectkbest法是一种有效的单变量特征选择方法,其原理是,通过卡方检验分别单独计算每个变量的互信息得分,得分高的特征表示其重要性越高,然后根据需要移除得分较低的特征。具体的,在每个尺度下,根据selectkbest法的分值高低去取分值排名前60位的特征,共得到8组特征子集作为分类器的输入。步骤s233.利用分类器对影像对象进行分类。具体的,为了交互验证,将获得的样本随机且均匀地分为两个部分,即样本集a和样本集b。以样本集a作为训练样本,样本集b作为测试样本,分别用随机森林rf、支持向量机svm和多层感知器神经网络mlp分类器对影像对象进行了24次分类得到24个分类结果。为了验证后续模型的可行性,交换a、b样本集,令前者作为测试样本,后者作为训练样本,重复所述分类过程,再次获得24个分类结果。步骤s24.对所述分类结果进行分类精度评价,并根据所述分类精度评价结果进行加权计算,以识别每个像素的归属类别。可选的,本实施例中的步骤s24又可由下述的步骤s241~s244实现。步骤s241.计算分类结果的分类精度。具体的,获得分类精度表如表1所示,其中,黑色加粗表示对应尺度下最优分类器的分类精度。表1各优选尺度下分类精度表步骤s242.统计不同优选尺度下最优分类器的分类结果,计算每种分类结果中各个类别的精度,并构建一张m行n列的精度打分表。具体的,对于每个尺度而言,精度最高的类别记n分,精度次小类记n-1分,以此类推,精度最小的记1分。获得精度打分表,表2和表3。在精度打分表中,可以清晰看到每个类别所适应的优选尺度和每个尺度下各类别的精度排序。表2精度打分表(基于a样本训练,b样本测试)表3精度打分表(基于b样本训练,a样本测试)步骤s243.根据每一类别在不同尺度下的精度高低来进行最终的加权。具体的,图4所示为图像的像素基于n种分类结果(nclassificationresults)下的精度打分表(scoringtable)进行加权分类的方法流程示意图。对于原始未处理影像(originalunclassifiedimage),令其中的每个像素都有一对应的评判表(judgmenttable),其m种归属类别都有对应的评判分(judgmentscore),并初始化评判分使其为0,得到初始评判表(initialjudgmenttable),表中例举的类别有玉米(corn)、小麦(wheat)、核桃(walnut)、其他(othercrops)、建筑(building)、疏林(thinnedforest)、荒草地(grassland)、裸地(bareland);选取其中的一个像素(thefirstpixel),假设在第1个尺度下,该像素被判定为c1类,那么根据打分表找到c1类在第一个尺度下的分值,将该分值累加到c1类别的评判分中去;用同样方法遍历该像素在n个尺度分类结果中的类别归属,根据精度打分表确定每个类别的最终评判分x,获得最终评判表(finaljudgmenttable);选取该像素最终评判分值最高的类别作为其最终归属;依次对每个像素的最终归属类别进行判断,获得最终分类结果(finalclassifiedimage)。步骤s244.对最终尺度加权后的分类结果进行精度评价。具体的,山西省稷山县南部农作物的最终分类结果如表4和表5所示。表4最终结果精度评价矩阵(基于a样本训练,b样本测试)表5最终结果精度评价矩阵(基于b样本训练,a样本测试)在本实施例较佳的实现方式中,在计算出分类结果后再对分类结果进行分析,分析过程如下所示:(1)对比表1和表4,在以a样本作为训练样本,b样本作为测试样本的实验中,将多个优选尺度下的分类结果融合后,最终精度达到了87.43%,这比采用任何单一优选尺度的分类结果都要高,相比于单一尺度52下的svm分类器要高出近2%的精度,比单一尺度121下的svm分类器高出来近10%的精度。(2)对比表1和表5,在以b样本作为训练样本,a样本作为测试样本的试样中,本发明方案的最终精度达到了86.20%,相比于单一尺度52下的mlp分类器高出了3%的精度,比单一尺度132下的rf分类器高出了近9%的精度。综上可知,本发明方案提出的分类方法较基于单一尺度的分类方法有更高的分类精度。本发明方案提出的分类方法是一种集成学习的方法,也是一种图像的决策级融合。这种方法通过多个尺度和分类器的组合来获取更健壮的分类结果。这里的集成学习指的是两个方面:一个是不同尺度上的集成学习,通过多个优选尺度来获取多个分割结果,然后再将多个分割结果中有用的信息通过精度评价机制传递至最终的分类结果;二是在不同分类器上的学习,不同分类器性能对于不同研究区、不同影像、不同样本可能表现不一,如何选择分类器和参数一直是分类问题中的难点,本发明方案提出的分类方法则通过多个简单参数的分类器来加强最后的分类结果,避免了许多模型参数选取和优化的问题。实施例三图5为本发明一实施例的基于机器学习的农作物识别装置结构示意图,包括:图像输入模块51,获取目标区域内农作物的物候期遥感影像,以合成相应的时间序列图像;图像分割模块52,对所述时间序列图像进行多尺度分割,以获得影像对象;对象分类模块53,选取多个弱分类器,并按所述影像对象的分类体系和分类特征集,对所述影像对象进行分类,以获取每个分类器在每个尺度下的分类结果;尺度加权模块54,对所述分类结果进行分类精度评价,并根据所述分类精度评价结果进行加权计算,以识别每个像素的归属类别。为便于本领域技术人员理解,现结合图6来对本实施例的农作物识别装置做进一步的解释与说明。图6为本发明一实施例中基于模型框架的农作物识别方法流程示意图:首先,图像输入模块(inputdata)获取遥感影像,以合成相应的时间序列图像(gf2timeseries),并获取研究区域的实测样本数据(samples);然后,图像分割模块(segmentation)选取n个优选尺度(noptimalscales),对合成的时间序列图像进行图像分割,获得影像对象;接着,特征选择模块(featuresselection)确定n种图像分割结果下的影像对象应该采用的n种对应的分类特征集(ndifferentsetsoffeatures);之后,对象分类模块(classification)根据对应的分类特征集,分别采用分类器rf、svm和mlp对n种图像分割结果下的影像对象进行分类,获得3*n种分类结果(classificationresults);然后,采用精度评价模块(evaluation)对3*n种分类结果进行分类精度评价,获得权重表(weighttable);最后,尺度加权模块(scalemerger)利用权重表中的权值将3*n种分类结果融合成最终的分类结果(pooledclassificationresults),并利用精度评价模块对最终的分类结果进行分类精度(classificationaccuracy)评价。需要说明的是,本实施例提供的模块与上文中提供的方法,实施方式类似,故不再赘述。另外需要说明的是,应理解以上装置的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些模块可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分模块通过处理元件调用软件的形式实现,部分模块通过硬件的形式实现。例如,图像分割模块可以为单独设立的处理元件,也可以集成在上述装置的某一个芯片中实现,此外,也可以以程序代码的形式存储于上述装置的存储器中,由上述装置的某一个处理元件调用并执行以上图像分割模块的功能。其它模块的实现与之类似。此外这些模块全部或部分可以集成在一起,也可以独立实现。这里所述的处理元件可以是一种集成电路,具有信号的处理能力。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。实施例四本实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述基于机器学习的农作物识别方法。本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过计算机程序相关的硬件来完成。前述的计算机程序可以存储于一计算机可读存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。实施例五如图7所示,展示了本发明一实施例中的电子终端的结构示意图。本实例提供的电子终端,包括:处理器71、存储器72、通信器73;存储器72通过系统总线与处理器71和通信器73连接并完成相互间的通信,存储器72用于存储计算机程序,通信器73用于和其他设备进行通信,处理器71用于运行计算机程序,使电子终端执行如上基于机器学习的农作物识别方法的各个步骤。上述提到的系统总线可以是外设部件互连标准(peripheralcomponentinterconnect,简称pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,简称eisa)总线等。该系统总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。通信接口用于实现数据库访问装置与其他设备(例如客户端、读写库和只读库)之间的通信。存储器可能包含随机存取存储器(randomaccessmemory,简称ram),也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。上述的处理器可以是通用处理器,包括中央处理器(centralprocessingunit,简称cpu)、网络处理器(networkprocessor,简称np)等;还可以是数字信号处理器(digitalsignalprocessing,简称dsp)、专用集成电路(applicationspecificintegratedcircuit,简称asic)、现场可编程门阵列(field-programmablegatearray,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。综上所述,本发明提供的基于机器学习的农作物识别方法、装置、存储介质及终端,旨在提供一种具有较高精度的农作物识别方案,有效克服了基于单一最优尺度的识别方法对部分类别信息的损害,避免了分类器模型的参数选取和优化问题,提高了农作物遥感影像的分类精度,具有较高的产业利用价值。上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属
技术领域:
:中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。当前第1页12当前第1页12