农作物病虫害识别方法、设备及存储介质
技术领域
本发明实施例涉及计算机技术领域,尤其涉及一种农作物病虫害识别方法、设备及存储介质。
背景技术
农作物在生长过程中会遇到各种不同种类的病虫害侵害,其中病虫害是病害和虫害的并称,给农作物的产量和质量都造成极大的影响。因此,如何有效的对农作物的病虫害进行识别已经成为防治农作物病虫害、保证农作物产量和质量、促进农业发展、降低经济损失的重要前提。
现有的农作物病虫害识别主要采用人工方式,即通过农作物病虫害专家根据所学专业以及长期的工作和研究经验、查阅相关文献资料来进行分类识别。
采用人工方式进行农作物病虫害识别,往往存在准确度不高,无法快速识别出病虫害类别,并且对于经验要求较高,对于经验不足的人员无法及时准确的得到病虫害类别,从而不便于及时采取应对措施。
发明内容
本发明实施例提供一种农作物病虫害识别方法、设备及存储介质,用以及时准确的对农作物进行病虫害识别,进而便于用户及时采取应对措施。
第一方面,本发明实施例提供一种农作物病虫害识别方法,应用于边缘设备,所述方法包括:
通过边缘设备的图像采集单元获取待识别农作物图像;
根据所述待识别农作物图像以及预设病虫害识别模型,获取农作物的目标病虫害类别;其中,所述预设病虫害识别模型部署于所述物联网中的边缘设备上;
输出所述目标病虫害类别,将所述目标病虫害类别发送给服务端;
接收所述服务端发送的与所述目标病虫害类别对应的解决方案和/或相关知识图谱。
第二方面,本发明实施例提供一种病虫害识别模型的训练方法,包括:
获取经过正确标注病虫害类别的第一农作物图像,以及未经标注的第二农作物图像,并将所述第一农作物图像作为第一训练数据;
根据所述第一训练数据对初始病虫害识别模型进行训练,得到初始的第一模型;
通过所述第一模型预测所述第二农作物图像对应的病虫害类别,以对所述第二农作物图像标注伪标签,并将标注伪标签的第二农作物图像作为第二训练数据;
根据所述第一训练数据以及所述第二训练数据对所述第一模型继续训练,得到第二模型;
将所述第二模型作为新的第一模型,重复上述获取第二训练数据以及获取第二模型的过程,直至第二模型满足预设条件后结束训练;
将满足预设条件的第二模型作为最优的病虫害识别模型,并输出所述最优的病虫害识别模型。
第三方面,本发明实施例提供一种农作物病虫害识别装置,应用于边缘设备,所述装置包括:
获取模块,用于通过边缘设备的图像采集单元获取待识别农作物图像;
处理模块,用于根据所述待识别农作物图像以及预设病虫害识别模型,获取农作物的目标病虫害类别;其中,所述预设病虫害识别模型部署于所述物联网中的边缘设备上;
输出模块,用于输出所述目标病虫害类别,以将所述目标病虫害类别发送给服务端,并接收所述服务端发送的与所述目标病虫害类别对应的解决方案和/或相关知识图谱。
第四方面,本发明实施例提供一种病虫害识别模型的训练装置,包括:
获取模块,用于获取经过正确标注病虫害类别的第一农作物图像,以及未经标注的第二农作物图像,并将所述第一农作物图像作为第一训练数据;
训练模块,用于根据所述第一训练数据对初始病虫害识别模型进行训练,得到初始的第一模型;通过所述第一模型预测所述第二农作物图像对应的病虫害类别,以对所述第二农作物图像标注伪标签,并将标注伪标签的第二农作物图像作为第二训练数据;根据所述第一训练数据以及所述第二训练数据对所述第一模型继续训练,得到第二模型;将所述第二模型作为新的第一模型,重复上述获取第二训练数据以及获取第二模型的过程,直至第二模型满足预设条件后结束训练;
输出模块,用于将满足预设条件的第二模型作为最优的病虫害识别模型,并输出所述最优的病虫害识别模型。
第五方面,本发明实施例提供一种边缘设备,包括:
图像采集单元,用于采集待识别农作物图像;
存储器,用于存储计算机程序;
处理器,用于运行所述存储器中存储的计算机程序以实现如第一方面所述的方法。
第六方面,本发明实施例提供一种计算机设备,包括:
存储器,用于存储计算机程序;
处理器,用于运行所述存储器中存储的计算机程序以实现如第二方面所述的方法。
第七方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如第一方面所述的方法。
第八方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如第二方面所述的方法。
本发明实施例提供的农作物病虫害识别方法、设备及存储介质,通过物联网中的边缘设备的图像采集单元获取待识别农作物图像;根据待识别农作物图像以及部署于边缘设备上预设病虫害识别模型,获取农作物的目标病虫害类别;并输出所述目标病虫害类别,以便于根据目标病虫害类别获取解决方案和/或相关知识图谱。本发明实施例在物联网中的边缘设备上基于待识别农作物图像采用离线的方式识别农作物病虫害,不需要将采集的待识别农作物图像上传到服务端进行识别,避免了网络资源浪费,降低了成本,也保障了用户数据的安全性,并且提高了识别效率、降低延迟,可及时、准确、可靠的获取到识别结果,进而便于用户及时采取应对措施。
此外,通过采用半监督学习的思想进行病虫害识别模型的训练,减少了人工标注的工作量,并且提高了模型训练的效果,提高了病虫害识别模型的准确性和鲁棒性,以在边缘设备上能够更加准确、可靠的识别出病虫害类别。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1为本发明一实施例提供的;
图2为本发明一实施例提供的农作物病虫害识别方法流程图;
图3为本发明另一实施例提供的农作物病虫害识别方法流程图;
图4为本发明一实施例提供的病虫害识别模型的训练方法流程图;
图5为本发明另一实施例提供的病虫害识别模型的训练方法流程图;
图6为本发明一实施例提供的农作物病虫害识别装置结构图;
图7为本发明一实施例提供的病虫害识别模型的训练装置结构图;
图8为本发明一实施例提供的边缘设备结构图;
图9为本发明一实施例提供的计算机设备结构图。
通过上述附图,已示出本公开明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本公开的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
现有的农作物病虫害识别主要采用人工方式,即通过农作物病虫害专家根据所学专业以及长期的工作和研究经验、查阅相关文献资料来进行分类识别。采用人工方式进行农作物病虫害识别,往往存在准确度不高,无法快速识别出病虫害类别,并且对于经验要求较高,对于经验不足的人员无法及时准确的得到病虫害类别,从而不便于及时采取应对措施,不利于农业智能化的普及。
针对上述技术问题,本发明实施例考虑提供一种病虫害识别模型,通过边缘设备的图像采集单元获取待识别农作物图像,进而根据待识别农作物图像以及病虫害识别模型获取农作物的目标病虫害类别,进一步可根据目标病虫害类别获取解决方案和/或相关知识图谱。
考虑到一些图像识别的方法中通常将模型部署在服务端,移动终端或摄像头采集到图像后将图像发送给服务端,由服务端将图像输入到模型中进行图像识别,而该些方法中,在移动终端或摄像头将图像发送给服务端的过程中会消耗用户流量,成本较大,尤其是,如果是采用摄像头,需要传输大量的视频流,流量消耗极大;此外识别过程存在较大的延迟,效率低下,不便于及时采取应对措施。因此本发明实施例中,将病虫害识别模型部署于物联网IoT(Internet of Things)中的边缘设备上,其中边缘设备可以为具备人工智能处理能力的设备,例如配置有人工智能(AI)芯片,采用Edge AI方式,不需要将图像数据传输到服务端即可实现病虫害类别的离线识别的功能,不依赖网络,节省带宽、节省流量,降低成本;且离线识别,可以达到毫秒级响应、降低延迟,节省电力,降本增效,图像不传到服务端,用户数据也更安全。
本发明实施例提供的农作物病虫害识别方法,具体可应用于如图1所示的系统中,包括物联网中IoT的边缘设备以及服务端,其中,所述边缘设备为具备人工智能处理能力的设备,边缘设备可以为手机、平板电脑、可穿戴设备等智能移动终端设备,用户可通过该些移动终端设备的图像采集单元来采集待识别农作物图像;当然边缘设备也可以为相机或固定安装在农田、农场等场所的预定位置处的摄像头,其上配置有人工智能(AI)芯片,通过相机或摄像头来采集待识别农作物图像,边缘设备可通过其图像采集单元获取待识别农作物图像,进而将待识别农作物图像输入到部署于边缘设备上的预设病虫害识别模型,获取农作物的目标病虫害类别,并将目标病虫害类别通过通信单元发送给服务端;服务端预先建立各种病虫害类别对应的解决方案知识库和/或知识图谱,可不断的进行更新,在接收到边缘设备发送的目标病虫害类别后,查询对应的解决方案知识库和/或知识图谱,并发送给边缘设备。此外,服务端还可进行病虫害识别模型的训练,将训练好的病虫害识别模型发送给边缘设备进行安装或更新。
下面以具体地实施例对本发明的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本发明的实施例进行描述。
图2为本发明实施例提供的农作物病虫害识别方法流程图。本实施例提供了一种农作物病虫害识别方法,执行主体为物联网中的边缘设备,该农作物病虫害识别方法具体步骤如下:
S201、通过边缘设备的图像采集单元获取待识别农作物图像。
在本实施例中,边缘设备可以为手机、平板电脑、可穿戴设备等移动边缘设备,用户可通过该些移动边缘设备的图像采集单元来采集待识别农作物图像;此外,边缘设备可以为相机或固定安装在农田、农场、无人机、无人车、导轨索等场所的预定位置处的摄像头,通过相机或摄像头来采集待识别农作物图像,其中,需要说明的是,相机或摄像头中需要具备处理单元,如人工智能(AI)芯片,才能够执行本实施例中的农作物病虫害识别方法。
S202、根据所述待识别农作物图像以及预设病虫害识别模型,获取农作物的目标病虫害类别;其中,所述预设病虫害识别模型部署于所述边缘设备上。
在本实施例中,可预先训练一个病虫害识别模型,并将该病虫害识别模型预设在边缘设备上,以便于在获取到待识别农作物图像后直接输入到预设病虫害识别模型中进行病虫害类别的识别。本实施例中,将预设病虫害识别模型部署于物联网中的边缘设备上,可以部署在人工智能(AI)芯片上,采用Edge AI方式,不需要将数据传输到服务端即可实现病虫害类别的离线识别的功能,不依赖网络,节省带宽、节省流量;且离线识别,可以达到毫秒级响应、降低延迟,节省电力,降本增效,图像不传到服务端,用户数据也更安全。
可选的,本实施例中考虑到在边缘设备上部署模型,而边缘设备的内存空间有限,需要模型体积较小,因此预设病虫害识别模型可以采用MobileNetV3模型,其中MobileNetV3模型是一种适用于终端设备的轻量级神经网络,拥有更小的体积,更少的计算量,更高的精度,以及更快的速度,可以有效的提高病虫害识别的精度和效率,并且不占用边缘设备更多的内存空间,也便于更新,可减少模型更新时流量消耗。当然,本实施例中的预设病虫害识别模型也可采用其他的模型,此处不再一一赘述。
S203、输出所述目标病虫害类别,以根据所述目标病虫害类别获取解决方案和/或相关知识图谱。
在本实施例中,在通过预设病虫害识别模型获取到农作物的目标病虫害类别后,即可输出所述目标病虫害类别,具体的,可以在边缘设备的显示单元上显示出目标病虫害类别,或者通过语音播放出目标病虫害类别,也可将目标病虫害类别发送给其他的设备,例如发送给用户的移动终端,或者上传至服务端,进而可以根据目标病虫害类别获取相应的解决方案和/或相关知识图谱,获取过程具体可以为从预定的数据库中查询解决方案和/或相关知识图谱,或者通过互联网搜索引擎查询解决方案和/或相关知识图谱。其中知识图谱可包括但不限于病虫害名称、发生原因、发生时间、害虫的习性和天敌、防治方法等相关知识。
在一种可选实施例中,边缘设备可将目标病虫害类别发送给服务端;并接收服务端发送的与目标病虫害类别对应的解决方案和/或相关知识图谱。其中,服务端预先建立各种病虫害类别对应的解决方案知识库和/或知识图谱,可不断的进行更新。
在一种可选实施例中,固定安装在农田、农场等场所的预定位置处的摄像头可实时或定期的进行执行本实施例的农作物病虫害识别方法,在识别到农作物出现病虫害后将识别到的目标病虫害类别发送给用户的移动终端,以起到提示用户的目的,以便于用户及时发现农作物病虫害、并及时采取应对措施。
当然,若遇到无法识别病虫害类别,或者识别为未知病虫害类别时,可将识别结果发送给服务端,由服务端向专家的终端发送求助消息,由专家识别病虫害类别和/或提供解决方案,并返回给服务端,由服务端返回给边缘设备,此外服务端还可进行存储、以便于后续对模型和数据库更新;或者也可由边缘设备直接向专家的终端发送求助消息,并接收专家的返回的病虫害类别和/或提供解决方案。若边缘设备识别出农作物无病虫害,则可不执行任何操作,或者输出无病虫害的提示。
本实施例提供的农作物病虫害识别方法,通过物联网中的边缘设备的图像采集单元获取待识别农作物图像;根据待识别农作物图像以及部署于边缘设备上预设病虫害识别模型,获取农作物的目标病虫害类别;并输出所述目标病虫害类别,以便于根据目标病虫害类别获取解决方案和/或相关知识图谱。本实施例在物联网中的边缘设备上基于待识别农作物图像采用离线的方式识别农作物病虫害,不需要将采集的待识别农作物图像上传到服务端进行识别,避免了网络资源浪费,降低了成本,也保障了用户数据的安全性,并且提高了识别效率、降低延迟,可及时、准确、可靠的获取到识别结果,进而便于用户及时采取应对措施。
在上述实施例的基础上,如图3所示,在S202所述的根据所述待识别农作物图像以及预设病虫害识别模型,获取农作物的目标病虫害类别,具体可包括:
S2021、对所述待识别农作物图像进行预处理,获取满足预定格式的目标农作物图像;
S2022、将所述目标农作物图像输入到所述预设病虫害识别模型中,通过所述预设病虫害识别模型进行图像识别,获取所述农作物的目标病虫害类别。
在本实施例中,可以在获取到待识别农作物图像后对待识别农作物图像进行预处理,将待识别农作物图像转换为预定格式的图像,例如将图像尺寸调整为同一的尺寸,以便于预设病虫害识别模型的处理。
本实施例中图像尺寸调整为同一的尺寸时,采用缩放的方式进行,避免剪裁时丢失图像中的重要信息,例如剪裁图像周围部分,可能仅保留了农作物叶子的躯干的部分,而剪裁掉了叶子边缘部分或其他重要部分,而通过缩放的方式则可保留图像的全部信息,虽然某些情况下可能存在一定的图像的失真,但对病虫害的识别影响较小,仍可准确的获取到识别结果。
图4为本发明实施例提供的病虫害识别模型的训练方法流程图。本实施例提供了一种针对上述实施例中的病虫害识别模型的训练方法,执行主体可以为服务端,当然也可以为其他计算机设备,该病虫害识别模型的训练方法具体步骤如下:
S401、获取经过正确标注病虫害类别的第一农作物图像,以及未经标注的第二农作物图像,并将所述第一农作物图像作为第一训练数据。
在本实施例中,可预先获取农作物图像,包括一定数量的有病虫害的农作物图像,还可包括一定数量的无病虫害的农作物图像,当然也可包括一些非农作物的图像,并对上述的各图像的其中部分图像进行正确标注,例如,非农作物,A农作物健康,B农作物x病害,C农作物y虫害等等。将经过正确标注的图像作为第一农作物图像,未经标注的图像作为第二农作物图像。其中标注过程可采用人工标注,若无法确认病虫害类别,则可咨询专家,例如将农作物图像发送给专家的终端,并接收专家返回的病虫害类别。需要说明的是,农作物图像的获取途径可以采用任意途径,例如可以来自边缘设备采集,也可从网络上下载,或者其他的途径亦可,此处不再一一赘述。可选的,上述的农作物图像可以包括不同病虫害所造成的各种叶/根/茎/花/果的照片,照片可以是在不同光线、色温以及拍照角度下的采集的照片,以提升模型准确度、降低误识别率。
进一步的,选取第一农作物图像作为第一训练数据。可选的,可选择第一农作物图像中的一部分(例如80%)作为第一训练数据,另一部分(例如剩下的20%)作为测试数据。
可选的,在获取经过正确标注病虫害类别的第一农作物图像,以及未经标注的第二农作物图像后,还可对包括第一农作物图像和第二农作物图像在内的所有图像进行预处理,将图像转换为统一格式,例如统一的大小,如224×224,可通过缩放的方式进行图像大小的调节,以保留图像的全部信息,避免剪裁时丢失图像中的重要信息。
本实施例中可采用半监督学习思想,通过自训练方式进行模型训练。具体过程如下S402-S405。
S402、根据所述第一训练数据对初始病虫害识别模型进行训练,得到初始的第一模型。
在本实施例中,首先搭建初始病虫害识别模型,例如可基于MobileNetV3网络做迁移学习搭建初始病虫害识别模型,设置优化器、模型微调、损失函数、输出多少个分类等,其中损失函数可采用标准交叉熵损失。
进一步的,可根据第一训练数据对初始病虫害识别模型进行训练,从而可得到初始的第一模型。
S403、通过所述第一模型预测所述第二农作物图像对应的病虫害类别,以对所述第二农作物图像标注伪标签,并将标注伪标签的第二农作物图像作为第二训练数据。
在本实施例中,在得到第一模型后,可将第二农作物图像输入到第一模型中预测对应的病虫害类别,并根据预测结果对第二农作物图像标注伪标签(pseudo label),并将标注了伪标签的第二农作物图像作为第二训练数据。
S404、根据所述第一训练数据以及所述第二训练数据对所述第一模型继续训练,得到第二模型。
在本实施例中,在第一模型的基础上,基于第一训练数据以及所述第二训练数据进行进一步的训练,得到第二模型。
可选的,在根据所述第一训练数据以及所述第二训练数据对所述第一模型继续训练前,还可对所述第一训练数据以及所述第二训练数据加入噪声干扰。
具体的,可采用数据增强、dropout、随机深度等方式对第一训练数据以及第二训练数据加入噪声干扰,从而可提高模型的鲁棒性,也可避免模型出现过拟合。以数据增强的方式举例,对于某一农作物图像,由于其在不同拍照的角度、远近程度(局部或全景)、光照强弱情况下,表现都不一样,因此可对该农作物图像进行随机光照增强、随机对比度增强、上下翻转增强、左右翻转增强、随机旋转缩放增强等数据增强方式中一种或多种,可实现对该农作物图像的数据增强。
S405、将所述第二模型作为新的第一模型,重复上述获取第二训练数据以及获取第二模型的过程,直至第二模型满足预设条件后结束训练。
在本实施例中,在得到第二模型后,可将第二模型作为新的第一模型,重复进行上述S403和S404的过程,也即通过新的第一模型重新获取第二农作物图像对应的病虫害类别,以对第二农作物图像标注伪标签,并将标注伪标签的第二农作物图像作为新的第二训练数据;然后根据第一训练数据以及新的第二训练数据对新的第一模型继续训练,得到新的第二模型。重复上述过程直至第二模型满足预设条件后结束训练,例如第二模型的准确度达到预定值。
可选的,如图5所示,对于训练是否结束的判断可采用如下的方式实现:
S4051、在得到初始的第一模型后,对所述初始的第一模型进行测试,获取初始的测试指标;
其中,初始的测试指标包括损失值(loss0)和准确率(acc0);
S4052、在得到第二模型后,对所述第二模型进行测试,获取当前的测试指标;
其中,当前的测试指标包括损失值(lossN)和准确率(accN);
S4053、根据所述当前的测试指标以及所述初始的测试指标,判断所述第二模型是否满足所述预设条件,若满足,则结束训练。
其中,预设条件可以为lossN<loss0&accN-acc0>1%,也即每次迭代后,进行上述预设条件的判断,若满足预设条件,则训练结束,若不满足预设条件,则开始新一轮迭代。当然预设条件也可根据实时需求进行设定,此处的预设条件仅为示例。
S406、将满足预设条件的第二模型作为最优的病虫害识别模型,并输出所述最优的病虫害识别模型。
在本实施例中,在获取到最优的病虫害识别模型后,可输出最优的病虫害识别模型,例如将最优的病虫害识别模型打包成安装包,发送给边缘设备进行安装。
可选的,由于病虫害识别模型需要嵌入到边缘设备中进行使用,而边缘设备的操作系统可能各不相同,例如可以是iOS系统、Android系统等,因此在输出所述最优的病虫害识别模型时,可采用转换工具,将所述最优的病虫害识别模型转换成边缘设备能够兼容使用的模型,以将所述模型部署到所述物联网中的边缘设备上。
需要说明的时,当需要对模型进行扩展时,例如需要识别新的病虫害类别时,则需要重新执行S401-S406的训练过程。
本实施例提供的病虫害识别模型的训练方法,通过获取经过正确标注病虫害类别的第一农作物图像,以及未经标注的第二农作物图像,并将第一农作物图像作为第一训练数据;根据第一训练数据对初始病虫害识别模型进行训练,得到初始的第一模型;通过第一模型获取第二农作物图像对应的病虫害类别,以对第二农作物图像标注伪标签,并将标注伪标签的第二农作物图像作为第二训练数据;根据第一训练数据以及第二训练数据对第一模型继续训练,得到第二模型;将第二模型作为新的第一模型,重复上述获取第二训练数据以及获取第二模型的过程,直至第二模型满足预设条件后结束训练;将满足预设条件的第二模型作为最优的病虫害识别模型,并输出最优的病虫害识别模型。本实施例中通过采用半监督学习的思想进行病虫害识别模型的训练,减少了人工标注的工作量,并且提高了模型训练的效果,提高了病虫害识别模型的准确性和鲁棒性,以便于在边缘设备上能够准确、可靠的识别出病虫害类别,从而便于用户及时采取应对措施。
图6为本发明实施例提供的农作物病虫害识别装置的结构图。本实施例提供的农作物病虫害识别装置应用于物联网中的边缘设备,可以执行农作物病虫害识别方法实施例提供的处理流程,如图6所示,所述农作物病虫害识别装置600包括:获取模块601、处理模块602及输出模块603。
获取模块601,用于通过边缘设备的图像采集单元获取待识别农作物图像;
处理模块602,用于根据所述待识别农作物图像以及预设病虫害识别模型,获取农作物的目标病虫害类别;其中,所述预设病虫害识别模型部署于所述边缘设备上;
输出模块603,用于输出所述目标病虫害类别,以根据所述目标病虫害类别获取解决方案和/或相关知识图谱。
在上述任一实施例的基础上,所述输出模块603在输出所述目标病虫害类别后,还用于:
将所述目标病虫害类别发送给服务端;
接收所述服务端发送的与所述目标病虫害类别对应的解决方案和/或相关知识图谱。
在上述实施例的基础上,所述处理模块602在根据所述待识别农作物图像以及预设病虫害识别模型,获取农作物的目标病虫害类别时,具体用于:
对所述待识别农作物图像进行预处理,获取满足预定格式的目标农作物图像;
将所述目标农作物图像输入到所述预设病虫害识别模型中,通过所述预设病虫害识别模型进行图像识别,获取所述农作物的目标病虫害类别。
在上述任一实施例的基础上,所述预设病虫害识别模型为MobileNetV3模型;和/或
所述的边缘设备为移动智能手机、智能摄像头等具备人工智能处理能力的设备。
本发明实施例提供的农作物病虫害识别装置可以具体用于执行上述图2-3所提供的方法实施例,具体功能此处不再赘述。
本发明实施例提供的农作物病虫害识别装置,通过物联网中的边缘设备的图像采集单元获取待识别农作物图像;根据待识别农作物图像以及部署于边缘设备上预设病虫害识别模型,获取农作物的目标病虫害类别;并输出所述目标病虫害类别,以便于根据目标病虫害类别获取解决方案和/或相关知识图谱。本实施例在物联网中的边缘设备上基于待识别农作物图像采用离线的方式识别农作物病虫害,不需要将采集的待识别农作物图像上传到服务端进行识别,避免了网络资源浪费,降低了成本,也保障了用户数据的安全性,并且提高了识别效率、降低延迟,可及时、准确、可靠的获取到识别结果,进而便于用户及时采取应对措施。
图7为本发明实施例提供的病虫害识别模型的训练装置的结构图。本实施例提供的病虫害识别模型的训练装置可以执行上述病虫害识别模型的训练方法实施例提供的处理流程,如图7所示,所述病虫害识别模型的训练装置700包括:获取模块701、训练模块702及输出模块703。
获取模块701,用于获取经过正确标注病虫害类别的第一农作物图像,以及未经标注的第二农作物图像,并将所述第一农作物图像作为第一训练数据;
训练模块702,用于根据所述第一训练数据对初始病虫害识别模型进行训练,得到初始的第一模型;通过所述第一模型预测所述第二农作物图像对应的病虫害类别,以对所述第二农作物图像标注伪标签,并将标注伪标签的第二农作物图像作为第二训练数据;根据所述第一训练数据以及所述第二训练数据对所述第一模型继续训练,得到第二模型;将所述第二模型作为新的第一模型,重复上述获取第二训练数据以及获取第二模型的过程,直至第二模型满足预设条件后结束训练;
输出模块703,用于将满足预设条件的第二模型作为最优的病虫害识别模型,并输出所述最优的病虫害识别模型。
在上述实施例的基础上,所述训练模块702还用于:
在得到初始的第一模型后,对所述初始的第一模型进行测试,获取初始的测试指标;其中,所述测试指标包括损失值和准确率;
在得到第二模型后,对所述第二模型进行测试,获取当前的测试指标;
根据所述当前的测试指标以及所述初始的测试指标,判断所述第二模型是否满足所述预设条件,若满足,则结束训练。
在上述任一实施例的基础上,所述训练模块702在根据所述第一训练数据以及所述第二训练数据对所述第一模型继续训练前,还用于:
对所述第一训练数据以及所述第二训练数据加入噪声干扰。
在上述任一实施例的基础上,所述输出模块703在输出所述最优的病虫害识别模型时,具体用于:
采用转换工具,将所述最优的病虫害识别模型转换成边缘设备能够兼容使用的模型,以将所述模型部署到所述物联网中的边缘设备上。
在上述任一实施例的基础上,所述获取模块701在获取经过正确标注病虫害类别的第一农作物图像,以及未经标注的第二农作物图像后,还用于:
对所述第一农作物图像和所述第二农作物图像进行预处理,获取满足预定格式的第一农作物图像和第二农作物图像。
在上述任一实施例的基础上,所述病虫害识别模型为MobileNetV3模型。
本发明实施例提供的病虫害识别模型的训练装置可以具体用于执行上述图4-5所提供的方法实施例,具体功能此处不再赘述。
本发明实施例提供的病虫害识别模型的训练装置,通过获取经过正确标注病虫害类别的第一农作物图像,以及未经标注的第二农作物图像,并将第一农作物图像作为第一训练数据;根据第一训练数据对初始病虫害识别模型进行训练,得到初始的第一模型;通过第一模型获取第二农作物图像对应的病虫害类别,以对第二农作物图像标注伪标签,并将标注伪标签的第二农作物图像作为第二训练数据;根据第一训练数据以及第二训练数据对第一模型继续训练,得到第二模型;将第二模型作为新的第一模型,重复上述获取第二训练数据以及获取第二模型的过程,直至第二模型满足预设条件后结束训练;将满足预设条件的第二模型作为最优的病虫害识别模型,并输出最优的病虫害识别模型。本实施例中通过采用半监督学习的思想进行病虫害识别模型的训练,减少了人工标注的工作量,并且提高了模型训练的效果,提高了病虫害识别模型的准确性和鲁棒性,以便于在边缘设备上能够准确、可靠的识别出病虫害类别,从而便于用户及时采取应对措施。
图8为本发明实施例提供的计算机设备的结构示意图。本发明实施例提供的计算机设备为上述实施例中的物联网中的边缘设备,可以执行边缘设备侧的农作物病虫害识别方法实施例提供的处理流程,如图8所示,计算机设备80包括存储器81、处理器82、计算机程序和通讯接口83;其中,计算机程序存储在存储器81中,并被配置为由处理器82执行以上实施例所述的边缘设备侧的农作物病虫害识别方法。
图8所示实施例的计算机设备可用于执行上述边缘设备侧的农作物病虫害识别方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图9为本发明实施例提供的计算机设备的结构示意图。本发明实施例提供的计算机设备为上述实施例中的服务端,可以执行病虫害识别模型的训练方法实施例提供的处理流程,如图9所示,计算机设备90包括存储器91、处理器92、计算机程序和通讯接口93;其中,计算机程序存储在存储器91中,并被配置为由处理器92执行以上实施例所述的病虫害识别模型的训练方法。
图9所示实施例的计算机设备可用于执行上述病虫害识别模型的训练方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
另外,本实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行以实现上述实施例所述的农作物病虫害识别方法。
另外,本实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行以实现上述实施例所述的病虫害识别模型的训练方法。
本申请还提供了一种计算机程序,包括程序代码,当计算机运行所述计算机程序时,所述程序代码执行如上述实施例所述的农作物病虫害识别方法方法。
本申请还提供了一种计算机程序,包括程序代码,当计算机运行所述计算机程序时,所述程序代码执行如上述实施例所述的病虫害识别模型的训练方法。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明实施例各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,在本发明各个实施例中的术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。
本领域技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
最后应说明的是:以上各实施例仅用以说明本发明实施例的技术方案,而非对其限制;尽管参照前述各实施例对本发明实施例进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例各实施例技术方案的范围。