使用图像数据的自动植物检测的制作方法

文档序号:20766279发布日期:2020-05-15 18:58阅读:240来源:国知局
使用图像数据的自动植物检测的制作方法

相关申请的交叉引用

本申请要求2017年5月9日提交的美国临时专利申请第62/503,770号和2017年11月1日提交的美国临时专利申请第62/580,290号的权益,上述申请中的每一个的内容通过引用整体并入本文。



背景技术:

用于处理田间农作物的传统系统广泛地将处理应用于田间的所有植物,或者田间内的植物的整个区域。例如,植物处理系统可以使用喷雾器,该喷雾器以相同的处理方式均匀地处理田间或者区域中的所有植物,而无需考虑单个植物。这些系统具有明显的缺点。在喷雾型处理的情况下的一个主要缺点是,在整个区域或者田间内传统地自由施加处理液会导致明显浪费。特别是对于肥料处理,含氮肥料的过量处理总体上对环境是有害的。此外,在这样的系统中,除非在处理之前花费了额外的精力来去除杂草,否则农作物和杂草都用肥料或者其他有益物平等地加以处理。这样的手工操作既昂贵又费时,并且不一定得到清除所有杂草的结果。

为了实现植物处理的精确应用,农民可以手工地对植物应用处理。然而,这些方法都是劳动密集型的,并且因此成本很高,特别是对于大规模进行的任何形式的现代农业而言。



技术实现要素:

一种移动处理平台在平台穿过农田时使用植物检测模型对由移动处理平台上的摄像装置捕获到的图像数据中的植物进行检测和识别。具体地,该模型通常能够区分农作物和杂草,并且更具体地能够区分多种植物和多种杂草。移动处理平台从摄像装置接收图像数据,并对图像数据应用预处理功能。预处理功能可以执行多种功能中的任何一种,例如,使图像数据适应性调整以与用于训练植物检测模型的图像数据一致,以及/或者提高植物检测模型的最终特异性、灵敏度和/或效率。可以执行的预处理的示例包括但不限于去拜耳化、裁剪、白平衡、调整大小、曝光控制或者值归一化。

在一个实施方式中,植物检测模型被配置成生成包围该模型已经识别出的表示不同植物的图像数据部分的边界框。该模型将边界框与预测的植物种类(在本文中也称为植物的“类型”)和置信度度量相关联。

植物检测模型还可以用于检测移动处理平台已经处理过植物的区域。例如,如果移动处理平台将液体处理应用于植物,则植物检测模型可以生成边界框,该边界框描述图像数据中表示已经由移动处理平台处理过的区域和/或尚未处理过的区域的部分。

植物检测模型可以使用多种机器学习工具来生成,这些机器学习工具包括但不限于神经网络、支持向量机和决策树。在一个实施方式中,植物检测模型是单次多框检测器(ssd)神经网络的修改版本。在该实施方式中,根据“基线”ssd神经网络修改植物检测模型以提高植物检测模型的特异性、灵敏度和/或效率。在各种实施方式中,修改的ssd模型可以包括但不限于以下处理技术的任何一种:批量归一化、泄漏修正线性单元、残差神经网络、自定义锚框、清理标记数据、增加特征图的空间分辨率、空间变换器、训练损失优化、柔性最大值传递函数(softmax)、特征图融合、背景挖掘、训练增强以及基于不确定性的再训练。

在移动处理平台穿过田间时,移动处理平台使用植物检测模型的输出来控制对田间植物的处理。例如,移动处理平台可以使用识别图像数据内的各个农作物的边界框的位置来将肥料施用于那些农作物。类似地,移动处理平台可以使用识别图像数据内的各个杂草植物的边界框的位置来将除草剂施用于那些杂草植物。为了实现这种植物级别的特异性,移动处理平台可以包括适当的机载硬件以存储处理材料并且以植物特定的粒度级别应用它们。

包括植物检测模型的移动处理平台允许快速确定各个植物的位置,以便进行适当的各个植物处理。这允许移动处理平台对各个植物进行局部化处理而不是处理整个田地,从而不存在需要过多的体力劳动的缺点和/或同时避免了处理材料的过度使用。

附图说明

图1示出了根据一个实施方式的示例性移动处理平台的系统架构。

图2示出了根据一个实施方式的原始图像数据的裁剪。

图3示出了根据一个实施方式的示例性单次多框检测器模型的结构。

图4示出了来自原始ssd公开中的显示“基线”ssd300模型和ssd500模型对于超小、小、中、大和超大对象的精度的两个曲线图。

图5和图6示出了根据一些实施方式的针对不同训练增强参数的修改的ssd模型的性能的两个曲线图。

图7a和图7b示出了根据一个实施方式的来自基线ssd模型的用于生成边界框的植物检测模型的改进。

图7c和图7d示出了根据另一实施方式的来自基线ssd模型的用于生成边界框的植物检测模型的改进。

图7e和图7f示出了根据又一实施方式的来自基线ssd模型的用于生成边界框的植物检测模型的改进。

图8a、图8b和图8c示出了根据一个实施方式的植物检测模型的示例性实现方式,该植物检测模型分别识别在深色土壤、浅色土壤以及在使光归一化的护罩下面有光泄漏的情况下的经处理的土壤块的边界框。

图9是示出根据一个实施方式的用于识别植物的边界框的示例方法的流程图。

图10是示出根据一个实施方式的用于识别边界框处理区域的示例方法的流程图。

具体实施方式

i.移动处理平台

图1示出了根据一些实施方式的用于示例性移动处理平台100的系统架构。移动处理平台100包括处理机构110、摄像装置120、被配置成移动整个平台100通过田间的运输机构130以及计算机140。虽然只显示和描述了这些元件的单个实例,但实际上平台100可以包含多于一个每个这样的元件。

当移动处理平台100穿过田间时,处理机构110对田间内的植物应用处理。例如,处理机构110可以包括一个或更多个喷雾器以及一个或更多个容纳经由处理机构110要被施加到植物上的处理液的容器。流体处理可以包括但不限于肥料、除草剂、杀虫剂、杀菌剂、驱虫剂和生长调节剂。处理机构110还可以包括用于修剪农作物的剪切机或其他切割机构、用于修剪或去除农作物或杂草的高压喷水器以及用于对农作物和杂草施加放电的电极。

处理机构110从计算机140接收处理指令并基于处理指令处理植物。处理指令可以有多种形式,并且可以包括用于激活和停用处理机构110的定时指令。例如,处理机构110可以在从计算机140接收到激活信号时激活特定的喷雾器,并且可以在接收到停用信号时停用喷雾器。作为另一示例,处理机构110可以接收激活和停用的时间,并且处理机构110可以使用内部时钟或者其他定时机构基于接收到的时间确定何时激活和停用。

处理指令还可以包括指定处理机构110方向的方向指令。作为示例,方向指令可以在笛卡尔坐标系、极坐标系或其他坐标系中指定。方向指令可以被编码以便指示处理机构10的定位/定向,或者可以被编码以便指示应当应用处理的位置,其中处理机构110被配置成翻译指令以确定如何将处理机构110重新定位/重新定向以实现处理。因此,处理机构110可以被适当地配置成平移、旋转或以其他方式被操纵以在方向指令所指定的位置处实现处理。对于喷雾器,这可以包括旋转和/或平移喷雾器以使喷雾命中处理指令所指示的区域。

摄像装置120被物理地定位在平台100上以捕获田间内的植物的图像数据,并且通常基于定位还捕获其中种植有植物的一些土壤。当平台物理地移动通过田间时,摄像装置120捕获图像数据。图像数据包括静止图像,然而捕获速率可能会发生变化,并且实际上可以以足够的速率捕获图像以便在需要时可以将它们作为视频数据进行使用和处理。捕获速率可以变化,摄像装置120可以基于时间或者在平台100行进了固定的物理距离之后以特定的速率捕获图像数据。替选地,每当新植物进入摄像装置的视野中时,摄像装置120可以捕获新图像/图像数据集。

可以使用各种具有不同能力和所捕获光谱的摄像装置。示例包括但不限于rgb摄像装置、近红外(例如,红边或短波红外)摄像装置、紫外摄像装置和多光谱摄像装置。摄像装置通常使用cmos数字图像传感器,但也可以是ccd图像传感器。可以使用多于一个摄像装置140,例如沿着行进方向位于处理机构110前方的第一摄像装置以及沿着运输机构130的行进方向位于处理机构110之后的第二摄像装置。摄像装置/多个摄像装置可以从自上向下的视角、侧面的视角或者成角度的视角捕获图像数据。

运输机构130使移动处理平台100移动通过田间。运输机构130可以是具有车轮的机动车辆。替选地,运输机构130可以包括挂钩,该挂钩允许将移动处理平台100附接至单独的车辆以被拖曳通过田间。运输机构130还可以包括里程表,该里程表允许移动处理平台100确定移动处理平台100已经行进的距离。

计算机140向移动处理平台100提供计算能力。计算机140可以包括处理单元(例如,cpu、gpu或fpga中的一个或更多个)和数据存储介质(例如,静态或动态存储器)。在一个实施方式中,计算机140包括深度学习gpu,该深度学习gpu被配置成有效地执行深度学习神经网络。例如,计算机140可以包括使用caffe深度学习框架的nvidiageforcegtxtitanx或者使用tensorflow深度学习框架的nvidiatx1或tx2。

计算机140还可以包括通信元件,例如总线、输入/输出终端和足以通信地耦合到一种或更多种处理并控制其操作的其他计算机硬件。更具体地,可以使用任何类型的传输协议将传递到计算机指令中的图像数据发送至计算机140以进行处理。例如,开放系统互连(osi)模型可以用于使用这些部件之间的以太网连接将图像数据从摄像装置120发送至计算机140。然后,可以使用以太网连接、控制器区域网络总线连接或其他传输协议将由计算机140生成的指令发送至处理机构110。

计算机140存储计算机程序指令,该计算机程序指令描述指示执行平台100能够完成的任务的多个逻辑部件。这样的任务的示例包括但不限于捕获图像数据、处理图像数据和其他数据以生成处理指令、以及利用处理指令使用植物检测模型的输出来控制处理机构110。尽管名称为“植物检测模块”,但这既包括农作物/杂草检测,也包括上面介绍的喷雾位置检测。在一个实施方式中,这些逻辑部件包括植物检测模块150,植物检测模块150本身包括预处理模块160、训练模块170、植物检测模型180和处理应用模块190。然而,在其他实施方式中可以包括附加的、更少的或不同的模块。

在一个特定的实施方式中,植物检测模块150与物理上不存在于平台的计算机140内的远程定位的计算机服务器(未示出)通信,并且植物检测模块150的一些或全部功能由服务器执行。在这样的实施方式中,图像数据和任何其他相关数据如运输机构130的行进速率和方向被中继到远程服务器,并且处理指令被中继回至计算机140以由处理机构110执行。

植物检测模块150使用经训练的检测模型180来对植物或植物的部分、边界框和喷雾模式进行检测和分类,并且还可以被配置成检测图像中存在的其他项目,例如植物残留物或污垢。下面进一步描述植物检测模块150。

ii.植物和喷雾模式检测

ii.a.图像数据预处理

预处理模块160对从摄像装置120接收的图像数据进行预处理。预处理模块160可以对训练图像数据进行预处理,为训练植物检测模型180做准备,也可以对在田间收集到的图像数据进行预处理,以供植物检测模型180的实际使用。下面列出的是植物检测模型180可以应用于图像数据的一些示例预处理步骤。在各种实施方式中,这些技术中的任何一种或更多种可以用于预处理图像数据以用于模型训练或模型使用。

去拜耳化:预处理模块160可以使用直接从摄像装置的图像传感器接收的像素值对图像数据进行去拜耳化。预处理模块160可以使用多种技术中的任何一种来执行去拜耳化,这些技术的示例包括但不限于最近邻、线性插值、三次插值、高质量线性插值和平滑色调过渡插值。在一些实施方式中,预处理模块160通过内置的fpga在图像数据中传递原始的a2d值来对图像数据进行去拜耳化,该内置的fpga根据10位a2d值返回24位rgb颜色校正值。预处理模块160可以通过像素合并执行图像数据的去拜耳化,像素合并本身可以是模拟合并、插值合并或后模数转换合并中的任何一种。替选地,可以在从摄像装置140输出像素值之前在摄像装置120上执行像素合并。

裁剪:预处理模块160可以裁剪图像数据以控制植物检测模型180正在处理的图像的大小。预处理模块160可以裁剪图像数据以去除图像数据中不太可能与给定的任务相关的部分。例如,如果平台正在沿一行农作物行进(例如,在农作物之间或者农作物上方),预处理模块160可以根据行外的阈值距离和/或相关农作物或杂草的阈值距离预期生长区域,对捕获的图像数据进行裁剪。基本假设是,裁剪的部分可能与农作物和杂草的检测无关。在一些实施方式中,预处理模块160在传感器数据被转换成图像数据之前通过裁剪来自摄像装置的传感器的传感器数据来裁剪图像数据。

图2示出了根据一个实施方式的原始图像数据210的裁剪200,其减少了由植物检测模型180处理的图像数据的量,与此同时确保捕获了植物220的整体。图2示出了当平台沿着该行经过时,多个图像230的连续捕获。尽管图2示出了示例摄像装置(未示出)的示例捕获量,但是其中摄像装置和平台在行的旁边通过的其他实现方式也是可能的。预处理模块160可以裁剪图像数据以确保在捕获区域中不出现盲点。预处理模块160以及更普遍地平台100的物理基础设施可以通过考虑各种固定约束或可变参数来实现此目的,各种固定约束或可变参数的示例包括但不限于预期农作物高度或农作物高度范围(例如,从0英寸到12英寸高的任何位置)、固定或可控制的摄像装置位置(例如,地面上方的高度、几何形状和相对于地平面的取向)、可变的行进速率(例如,每小时0英里到6英里或更大的范围)、以及会随其他摄像装置参数(例如图像传感器增益)而变化的可变的摄像装置快门速度。

白平衡:预处理模块160可以对图像数据进行白平衡以归一化所捕获的图像的颜色。预处理模块160可以基于多个因素中的任何一个或更多个因素对图像数据进行白平衡,这些因素的示例包括但不限于:一天中获取图像数据的时间、是否使用了人工照明来捕获图像数据、以及是否使用了护罩(覆盖物)来阻挡或扩散阳光。这确保了不管情况如何图像的一致白平衡,以确保植物检测模型180进行一致的处理。

调整大小:预处理模块160调整图像数据的大小,以确保图像数据的每个实例(“图像”)在每个给定的地理区域中存储像素的固定分辨率。例如,预处理模块160可以调整图像的大小以确保图像间的恒定的每英寸像素(ppi)。例如,这可以包括对图像数据进行下采样或上采样以减小或增大ppi。执行调整大小的原因很多。例如,从安装在一个平台上的摄像装置120接收到的图像数据可能与原始用于训练植物检测模型180的图像数据具有不同的ppi。当移动处理平台100上的摄像装置120的配置与用于捕获训练图像数据的配置不同时,可能会发生这种情况。例如,如果摄像装置可以被定位在田间或不同田间上方平台的不同“行程”中的多个不同高度中的一个处,则预处理模块160可以调整图像的大小连同一个或更多个在本节中提到的其他技术),以确保从这些独立的行程馈送到植物检测模型180中的图像具有一致的ppi。

曝光控制:预处理模块160可以调整图像数据的曝光。与白平衡一样,预处理模块160调整曝光,以确保在通过田间的给定“行程”内收集的图像间以及跨行程收集的图像间的曝光尽可能均匀。预处理模块160可以在平台穿过田间时动态地调整摄像装置120的与曝光有关的参数,或者可以在捕获图像数据之后在算法上调整图像数据的曝光。可以被调整以控制曝光的摄像装置参数的示例包括但不限于摄像装置120的图像传感器上的快门速度和增益控制。

值归一化:当图像被输入到植物检测模型180中以供使用或训练时,预处理模块160可以对图像数据像素的值进行归一化以减少偏差。例如,预处理模块160可以将像素值(例如,特定像素的各个rgb值)调整为零均值且具有单位方差,并且它们的值可以被归一化为在[-1,1]、[0,1]范围内或任何其他归一化。在一些实施方式中,如果每个像素包含多于一个通道的值(例如,不是仅单色,而是rgb、cie1931或hsv),预处理模块160将与每个通道相关联的像素值归一化为零均值并且具有单位方差。

ii.b.用于训练的标记的图像数据

训练模块170生成和/或访问标记的图像数据(在本文中也称为标记的训练数据和标记的图像数据),以训练植物检测模型180。标记的图像数据包括描述图像数据内植物边界的边界框,并且还包括关于哪些边界框与农作物相关以及哪些边界框与杂草相关的标签。标记的图像数据还可以识别与每个边界框相关联的特定植物种类。另外地或替选地,标记的图像数据可以指定识别经处理的土壤部分的边界框,以及表示哪些像素与经处理的土壤相关联而哪些像素不与经处理的土壤相关联的元数据。

尽管图1所示的实施方式示出了在移动处理平台100上由计算机140存储的训练模块170,但是实际上训练模块170可以由与移动处理平台100进行通信的远程计算机服务器(未示出)来实现。在这样的实施方式中,训练模块170可以在远程服务器上训练植物检测模型180,并且远程服务器可以将经训练的植物检测模型180发送至移动处理平台100以在田间使用。

标记的图像数据有若干可能的来源。在一个实施方式中,训练模块170将图像数据发送至人类标记者以生成标记的图像数据并响应。此外,训练模块170通过将标记图像数据分成多个图像来生成额外的标记图像数据以用于训练植物检测模型170,所述多个图像相对于这些图像中所捕获的田间的物理区域,可能相互交叠,也可能不交叠。这种技术也可以称为“平铺”。

如果标记的图像具有比用于训练植物检测模型180的图像数据的分辨率更高的分辨率(即,更多的像素数),则可以将标记的图像分成较小的用于训练植物检测模型170的标记的图像(“图块”)。例如,如果标记的图像是用于训练植物检测模型180的图像数据大小的两倍,则训练模块170可以将标记的图像一分为二,并使用标记的图像的每一半来训练植物检测模型180。这有助于确保用于训练模型的图像与由摄像装置捕获以用于执行手头的任务(例如,识别边界框、定位喷雾模式)的图像之间的一致性。

ii.c.模型任务

如上所述,可以训练植物检测模型180(或类似模型,例如喷雾框检测模型)以使用一个或更多个子模型执行一个(或更多个)任务。

一个任务是识别边界框和每个边界框中的植物类型,该边界框指定植物/农作物/杂草/物种位于田间地面上的物理位置(如图像数据所表示的)。该任务的输出是,在每个图像的基础上,图像内植物的边界框的位置和大小。输出还可以包括植物检测模型180在其关于边界框的预测中的数值置信度。正如下面的第三节所描述的,结合边界框并且在一些实现方式中,数值置信度还被用于确定平台100采取的动作。

此外,尽管本公开内容主要涉及图像数据内的植物的检测,但是本文所述的喷雾检测模型的原理可以适于替代地实现用于在移动处理平台100穿过田间时检测图像数据内的其他特征的其他类型的检测模型。例如,另一任务是利用类似于植物检测模型的喷雾框检测模型来检测与已经由处理机构110处理的土壤和/或植物有关的边界框。该任务类似于识别植物的边界框的任务,不同之处在于:在该任务中,植物检测模型180是在关于液体处理位置的标记的图像数据上而不是在关于植物/农作物/杂草/物种的标记的图像数据上训练的。

ii.d.一般的模型结构

本质上,植物检测模型180是有监督的机器学习模型,该模型描述了图像数据与关于将图像数据归类到边界框(用于与边界框相关联的任务)或者某些其他方案(例如植物物种)的预测之间的功能关系。植物检测模型180通常是参数化模型,由此表示问题空间的学习特征的参数集具有通过基于标记的训练数据的训练而学习到的相关联的参数值。参数和值的确切形式取决于用于实现模型的有监督的机器学习技术的类型。例如,在基于树的模型的情况下,可以将参数值描述为临界值,而在神经网络模型的情况下,可以将这些参数值称为权重,并且将参数称为特征。

通常,通过将包括图像数据和标签两者的标记训练数据输入到函数(或表示模型的函数集)中来训练模型180。然后学习参数值,并将其与函数/多个函数一起存储。同时,函数和参数值都是模型的数字结构表示。模型存储在计算机140的存储器中,并且当使用时(例如平台100在田间行驶时)可以访问。在使用中,接收新的图像数据并将其输入到模型中,即输入到函数和相关的参数值中,并生成表示模型180关于边界框位置的预测的输出。

在整个说明书中,为便于描述,将植物检测模型180的一组通用实现方式描述为神经网络模型,并将其作为原型示例。然而,在实践中,可以使用各种各样的不同类型的有监督的机器学习技术来代替神经网络,有监督的机器学习技术的示例包括但不限于基于树的模型、支持向量机等。

ii.d.1.修改的ssd模型

在一个实施方式中,植物检测模型180基于最初描述的通常用于与标准图像一起使用的对象检测的单次多框检测器(ssd)模型(为方便起见,在本文中称为“基线ssd模型”)。ssd:单发多框检测器,arxiv:1512.02325(2016年12月29日),可以通过https://arxiv.org/pdf/1512.02325.pdf获得。然而,本文描述的模型180实现对基线ssd模型的修改(“修改的模型”),其改进了植物检测模型180的性能,特别是对于相对于在标准ssd中表现较差的相对较小的边界框的检测而言的精度。这些修改改进了对与包含植物的图像相关的边界框大小的检测,这使得修改的ssd模型更适合用于执行上述任务。

修改的ssd模型包括一系列分辨率递减的卷积特征层,以使每个卷积特征层适合于有效地识别图像数据中的顺序较大的对象。图3示出了ssd模型的结构,包括具有分辨率递减的额外特征层。修改的ssd模型生成识别输入图像300中的对象的边界框。边界框是识别输入图像300的一部分的一组值(例如,矩形的中心的x和y位置、矩形的宽度和矩形的高度)。经修改的ssd模型使用一组默认边界框作为用于确定对象边界框的向导。每个特征层310实现用于为特征层的输入(例如,来自先前特征层的特征图或输入图像)内的一组位置中的每个位置生成一组特征图320的过程。每个特征层310生成的特征图集320包含与修改的ssd模型经过训练以检测的每个对象类别有关的特征(例如,识别或量化待确定或识别的项目的特征的存在性的值)、修改的ssd模型使用的每个默认边界框,以及与生成的特征图集(同样,来自先前特征层的特征图或输入图像)相关联的输入内每个位置处的边界框的偏移量。该偏移量描述了如何转换或拉伸默认边界框以适合原始输入图像中对象的边界框。

在ssd模型中,在大小递减的特征层的整个序列中,每个特征层310的特征图输出320用作下一特征层310的输入(例如,连续的特征层可以具有比之前的层更小的维度)。因此,大小逐渐减小的特征层310用于对原始图像内的逐渐较大对象更有效地生成边界框,而大小较大的特征层310用于对原始图像内的较小对象更有效地生成边界框。每个单独的特征层310的输出320(例如,特征图)被输入到分类器部分330(其可以是卷积神经网络或cnn),分类器部分330使用来自每个特征层的特征图来生成对这些特征图内的任何对象进行分类的边界框,从而对原始图像中存在的任何对象进行分类。

当修改的ssd模型使用来自较大特征层的特征图来识别原始图像内的较小对象时,对修改的ssd模型进行了特定修改以改善对原始图像内较小对象的检测,这是因为基线ssd模型难以识别较小的对象。图4示出了来自上面引用的原始ssd论文的两个图表,显示了ssd300和ssd500对于超小(xs)、小(s)、中(m)、大(l)和超大(xl)对象的精度。基线ssd模型不足以执行上述边界框任务,因为ssd无法针对较小的对象有效生成边界框。图4示出了ssd300和ssd500不能精确地检测xs对象和一些s对象,并且因此不足以对图像数据中较小植物的边界框进行检测。

ii.d.2.ssd模型改进

如上所述,移动处理平台100可以通过对从摄像装置接收到的图像数据进行预处理来改进植物检测模型180的计算机处理性能。另外,通过将一个或更多个修改合并到标准ssd模型中,植物检测模型180可以在标准ssd模型的对象检测性能上(通过灵敏度、特异性、准确性或另一统计度量来测量)得到改进。修改的ssd模型可以包括以下技术中的任何一个或更多个:

批量归一化:可以将由修改的ssd模型的各个层生成的值归一化,以避免内部协变量偏移。批量归一化可以提高修改的ssd模型的效率。

泄漏修正线性单元:当单元的输入为正值时,泄漏纠正线性单元可以激活。如果输入不是正值,则单元输出的值等于输入值乘以0到1之间的值。如果输入为正值,则单元输出与输入值相等的值。

残差神经网络:残差神经网络生成的输出值是某个函数值和输入值的加法。因此,残差神经网络生成的输出值相对于输入值是递增的。残差神经网络可以提高修改的ssd模型的效率和准确性。

自定义锚框:可以对ssd模型检测到的默认框进行调整以更有效地检测在处理的图像中给定特定ppi时预期大小的植物和喷雾模式。例如,可以通过减小所使用的默认框的大小来调整默认框,并且可以以更高的分辨率应用默认框。通过自定义默认框,可以提高修改的ssd模型的准确性,尤其是在识别小对象方面。

清理标记数据:可以从训练数据中移除无关的数据以进行更有效的训练。例如,通过使多个操作员对图像数据进行标记,可以清理或改进标记的图像数据。清理标记的图像数据可以提高修改的ssd模型的精度。

增加特征图的空间分辨率:对图像数据或修改的ssd模型的各层之间的特征图执行的下采样量可能小于在基线ssd模型中执行的下采样量,从而增加了修改的ssd模型的特征图的空间分辨率,并且因而提高了准确性。

空间变换器:图像数据或特征图的维度可以在神经网络各层之间调整大小。

训练损失优化:对许多模型进行训练以降低损失函数的值。修改的ssd模型中使用的损失函数可以与基线ssd模型的损失函数不同。训练以优化损失函数可以提高修改的ssd模型的准确性。

加权柔性最大值传递函数(softmax):可以为对象的每个类别分配权重,以解决图像数据中检测到的对象的类别不平衡。然后可以使用加权柔性最大传递函数来更准确地识别图像数据内的对象。

特征图融合:在一些实施方式中,修改的ssd模型使用较低分辨率的特征图以及较高分辨率的特征图来识别图像内的较小对象。如上所述,修改的ssd模型的较深层会生成用于识别通过修改的ssd模型分析的图像中的较大对象的较低分辨率的特征图。这些较低分辨率特征图还包括描述比通过修改的ssd模型的较浅层生成的较高分辨率特征图更大的图像部分的特征。可以构造修改的ssd模型,使得由修改的ssd模型的较深层生成的较低分辨率的特征图与较高分辨率的特征图相结合,以更有效地识别修改的ssd模型的较浅层中的小对象。在一些实施方式中,在通过卷积神经网络处理特征图之前,通过将较低分辨率特征图与较高分辨率特征图进行级联,将较低分辨率特征图与较高分辨率特征图组合。

背景挖掘:为了提高修改的ssd模型在运行期间的性能,可以对修改的ssd模型进行训练,以便使修改的ssd模型的神经网络中的神经元得到训练,以在只有阈值级别精度的情况下识别图像中的背景对象。通常,由于图像中土壤和植物的比例分解,被用于训练修改的ssd模型的图像通常相对于前景区域有更多的背景区域可供训练。例如,相对于周围90%的土壤,处于早期生长阶段的植物的许多图像(其中有重要的成像价值)将包含约10%的植物材料(按表面积计)。如果在不考虑此差异的情况下训练模型,则修改的ssd模型网络的神经元将被过度训练以准确地识别背景对象(例如,土壤),而代价是能够充分识别前景对象(例如,植物)。

为了提高修改的ssd模型在识别前景对象方面的性能,可以使用训练图像中可用的背景对象的子集来训练神经网络的神经元。当基于新的背景对象来训练修改的ssd模型的神经元时,可以不基于新的背景对象对背景对象识别准确性高于阈值的神经元进行训练。换句话说,如果神经元可以以超过阈值的准确性识别背景对象,则可以不基于来自标记的训练图像的新背景对象来训练神经元。可以基于来自标记训练图像的新前景对象继续训练这些神经元,从而提高修改的ssd模型识别前景对象的整体能力。

此外,在进入修改的ssd模型的cnn之前,可以通过修改的ssd模型的特征图将训练图像的某些部分标记为具有不同置信度的前景对象或背景对象。例如,植物的中心可以被标记为具有高置信度的前景对象,而叶子的边缘与背景之间的边界区域可以被标记为具有低置信度的前景对象。可以仅利用来自训练图像的作为前景对象或背景对象的具有高置信度的对象来训练修改的ssd模型。从而使用前景对象和背景对象的更精确表示来训练修改的ssd模型,这提高了修改的ssd模型识别和区分图像中的前景对象和背景对象的能力。

训练增强:可以通过使用复制现实世界现象的图像增强来增强现有的训练图像,来生成用于修改的ssd模型的附加训练图像。现实世界现象可能会影响移动处理平台在操作过程中捕获的图像。例如,图像的色温可能会受到一天中拍摄图像的时间的影响。然而,由于在农田中操作移动处理平台以捕获训练图像的费用昂贵,可能无法收集足够的训练图像来复制在田间操作移动处理平台期间可能实际经历的各种现实世界现象的所有可能值。仅使用表示捕获的环境条件的图像来训练修改的ssd模型,限制了修改的ssd模型在与捕获训练图像的条件不匹配的条件下识别对象的能力。

可以增强用于训练修改的ssd模型的训练图像(并且在某些情况下,可以复制它们,然后对副本进行增强),以复制现实世界现象,这些现实世界现象可以影响操作期间由移动处理平台捕获的图像。例如,以下增强中的一种或更多种可以应用于标记的训练图像:

色温:可以调整训练图像的色温,以复制可能在一天的不同时间(例如日出、日落或中午)或者在不同光照条件下(例如阳光或人造光)发生的色温差异;

二维模糊:可以将二维模糊应用于训练图像,以复制由摄像装置到地面的距离变化引起的模糊;

一维模糊:可以将一维模糊应用于训练图像,以复制由移动处理平台的运动引起的模糊;

增益:可以调整训练图像的增益,以复制在移动处理平台捕获图像时可能发生的过度曝光或曝光不足;

噪声:可以将噪声应用于训练图像,以复制可以影响由摄像装置捕获的图像的质量的条件(例如,脏镜头、雾/薄雾或质量差的摄像装置);

旋转/翻转:可以旋转或翻转训练图像,以复制移动处理平台的行进方向的改变或者摄像装置在移动处理平台上的取向的改变;

像素抖动:可以略微移动训练图像中识别的对象(例如,移动几个像素),以确保修改的ssd模型所做的预测与图像中植物的绝对位置无关。

可以通过将增强应用于原始训练图像来生成新的训练图像集。在一些实施方式中,每个新的训练图像集可以对应于被应用到原始训练图像以生成新的训练图像集的一个或更多个增强。通过基于增强的训练图像训练修改的ssd模型,修改的ssd模型能够更好地检测在增强的图像的情况下捕获的图像中的对象。

在一些实施方式中,使用增强参数将增强应用于原始训练图像。增强参数配置如何将增强应用于训练图像。例如,对于增益增强,可以通过增益增强参数来指定调整增益的程度。下面列出的是可以供应用于原始训练图像的增强使用的训练增强参数的示例范围的非穷举示例:

色温:2000k至9500k

一维或二维模糊:1像素至15像素

增益:-14db至5db

噪声:0.00至0.28噪声级别

可以利用不同的增强参数多于一次地将增强应用于原始训练图像,以生成新的训练图像集。在一些实施方式中,预定范围的增强参数用于增强的多个应用。预定范围的增强参数可以是使修改的ssd模型的性能由于过度训练而降低的可能性最小化的增强参数的范围。图5示出了根据一些实施方式的针对用于增益增强的不同训练增强参数的修改的ssd模型的性能的两个曲线图。更具体地,图5示出了具有不同增益增强参数的修改的ssd模型的召回率和精度性能。增益增强参数可以被限制在增益增强参数的预定范围500内,以确保修改的ssd模型保持足够的性能水平,同时确保对修改的ssd模型进行训练以识别受现实世界现象影响的图像中的农作物和杂草。图6还示出了针对用于噪声增强的不同训练增强参数的修改的ssd模型的性能的两个曲线图,并且示出了可以用于生成新的训练图像的噪声增强参数的预定范围600。

基于不确定性的再训练:可以基于由修改的ssd模型生成的结果的不确定性来重新训练修改的ssd模型。例如,在一些实施方式中,由修改的ssd模型所使用的神经元的子集可以被选择为根据图像中的识别对象来“丢弃”。修改的ssd模型不会使用丢弃的神经元来识别图像中的对象。可以将在不使用所选神经元的情况下由修改的ssd模型所识别的对象与在使用所选神经元的情况下由修改的ssd模型所识别的对象进行比较,以确定修改的ssd模型是否已经被充分训练以识别对象。在某些情况下,可以比较使用所选神经元识别和不使用所选神经元识别的识别对象的不确定性,以确定修改的ssd模型是否已经被充分训练以识别对象。如果在不使用所选神经元的情况下由修改的ssd模型所识别的对象或者所生成的不确定性与在使用所选神经元的情况下由修改的ssd模型所识别的对象或者所生成的不确定性显著不同(例如,大于阈值差)则修改的ssd模型识别对象的图像可以用于进一步训练修改的ssd模型。在一些实施方式中,用于进一步训练修改的ssd模型的图像经过标记过程,由此图像被标记以用于训练(例如,图像可以被传送到人类标记者以进行手动标记)。

替选地或另外地,可以将由修改的ssd模型所识别的对象或者所生成的不确定性与由教师模型所识别的对象或者所生成的不确定性进行比较。教师模型是可以更准确地识别由移动处理平台所捕获的图像中的对象的模型,但是教师模型可能比修改的ssd模型在计算上更加密集。如果由修改的ssd模型所识别的对象或者所生成的不确定性与由教师模型所识别的对象或者所生成的不确定性显著不同,则识别对象的图像可以用于进一步训练修改的ssd模型。

ii.d.3.示例修改的ssd模型的性能

相对于标准ssd模型,可以采用各种各样的技术和工具来改进修改的ssd模型。在平台的实现方式中使用哪些技术可以基于期望的运行时间、平台100通过田间的期望行驶速度、生成边界框的期望准确性等而变化。因此,植物检测模型180以及在一组实施方式中修改的ssd模型的特定设计可以根据期望的实现方式而变化。表1示出了修改的ssd模型示例,以及当模型在jetsontx2上执行时相对于基线ssd模型的准确性的比较:

表1

因此,这些技术的各种组合可以对基线ssd模型进行改进。

图7a和图7b示出了根据一些实施方式的在对由移动处理平台处理的农作物710周围的杂草植物700的检测中的这种改进。图7b使用传统的ssd神经网络模型来检测农作物710和杂草植物700。图7a使用修改的ssd模型的实现方式来完成相同的任务。修改的ssd模型识别未被传统神经网络模型识别的另外的杂草植物720。

图7c和图7d示出了类似的改进。在图7c中,修改的ssd模型的实施方式从由图7d中的基线ssd模型识别的750中识别出另外的农作物植物730和杂草植物740。此外,图7f示出了由修改的ssd模型生成而不是由基线ssd模型生成(如图7e所示)的边界框760识别的另外的杂草植物。

修改的ssd模型的一些实施方式的附加测试示出了对传统ssd模型的改进,其可以通过改进如本文所述的修改的ssd模型的训练来实现(例如,训练增强)。修改的ssd模型的测试使用了具有各种不同参数的田间的植物图像,各种不同参数例如是不同的农作物生长阶段、杂草压力、土壤状况、耕作和未耕作的土壤、一天中的时间以及植物健康状况。这些参数确保测试图像覆盖移动处理平台在田间可能遇到的各种场景。修改的ssd模型和传统ssd模型的实施方式识别图像测试集中的农作物和杂草,并且对由修改的ssd模型与传统ssd模型识别的对象进行了比较。发现修改的ssd模型在杂草识别性能方面提高约20%,并且在农作物识别性能方面提高约15%。

更一般地,尽管上面的示例修改的ssd模型使用输入图像/特征图的下采样的多层来使用神经网络分别在每个这样的层上具体地识别各种大小的边界框,但实际上,可以在每一层处使用不同于神经网络的其他技术来应用此多层识别。例如,原始输入图像或者基于原始图像创建的特征图的多个下采样版本可以输入到其他类型的机器学习模型中。层之间的下采样保留时间效率,并且仍将每个应用的层应用于被训练以处理该下采样级别的图像的模型,从而保留准确性。

ii.f.喷雾框检测

如上所述,植物检测模型180可以被配置成执行识别已经由处理机构110处理的部分土壤的边界框的任务。为了清楚起见,该模型可以被称为喷雾框检测模型,而不是植物检测模型180。然而,在实现中,喷雾框检测模型与植物检测模型180在总体功能方面非常相似。两者之间的显着差异是要在图像数据中检测什么。上面描述的用于改进上述植物边界框检测的基线ssd模型的任何技术也可以用于调整相似的喷雾框检测模型,其中,类似原理适用于,实施者可以基于所需的灵敏度、特异性和效率水平来选择需要应用哪些特定的技术。图8a、图8b和图8c分别示出了模型的示例实施方式,该模型识别在深色土壤、浅色土壤以及相应地在用于使光归一化的护罩下有光泄漏的情况下的经处理的土壤块的边界框800。在一个示例实施方式中,该模型被专门设计为更严重地惩罚位置错误。

iii.示例使用

iii.a.处理指令

处理应用模块190根据植物检测模型180的输出,向处理机构110提供处理田间植物的指令。处理应用模块190可以向处理机构110提供激活或停用处理机构110的指令。处理应用模块190还可以提供指导处理机构110在何处应用处理的指令(例如,用于平移或倾斜处理机构110的指令)。

处理应用模块190使用由植物检测模型180生成的边界框来处理由边界框识别的植物。例如,处理应用模块190可以向处理机构110提供指令以将肥料施用于由边界框识别为表示农作物的区域。作为另一示例,处理应用模块190可以向处理机构110提供指令以将除草剂施用于由边界框识别为表示杂草的区域。处理应用模块190还可以基于边界框将处理应用于植物,该边界框识别处理机构110先前已经处理过的位置。

iii.b.生成植物的边界框

图9是示出了根据一个实施方式的用于识别植物的边界框的方法的流程图。移动处理平台从移动处理平台的摄像装置接收900图像数据。当移动处理平台穿过农田时,摄像装置可以根据移动处理平台捕获农作物的图像数据。移动处理平台将预处理步骤应用910于所接收的图像数据。移动处理平台使用植物检测模型检测920边界框。边界框识别图像数据中表示植物的部分。边界框还可以识别植物的种类,以及对边界框准确性的置信度。移动处理平台基于边界框对田间植物应用930处理。例如,当移动处理平台穿过田间时,移动处理平台可以使用边界框将肥料施用于田间农作物,并且将除草剂施用于田间杂草。

iii.d.生成经处理的区域的边界框

图10是示出根据一些实施方式的用于识别经处理的区域的边界框的方法的流程图。移动处理平台从移动处理平台的摄像装置接收1000图像数据。当移动处理平台穿过农田时,摄像装置可以根据移动处理平台捕获农作物的图像数据。移动处理平台将预处理步骤应用1010于所接收的图像数据。移动处理平台使用喷雾框检测模型检测1020边界框。移动处理平台使用喷雾框检测模型来生成边界框,该边界框识别表示经处理的区域的图像数据部分。边界框还可以指定边界框准确性的置信度。移动处理平台基于边界框对田间植物应用或不应用1030处理。

在一个实施方式中,由喷雾框检测模型检测到的边界框与由植物检测模型检测到的边界框一起使用。移动处理平台可以首先使用喷雾检测模型识别一组边界框,以确定在哪里应用处理。然后,移动处理平台可以进一步使用由喷雾框检测模型检测到的边界框,从而避免对已经处理过的区域应用处理。这可以通过从处理的考虑中去除那些尽管在植物检测模型检测到的边界框内,但也在喷雾框检测模型检测到的边界框内的田间的区域来实现。

iv.其他考虑因素

尽管本文的公开内容主要描述了修改的ssd模型,但是本文的原理和修改可以应用于其他边界框模型,例如rcnn或yolo。本文描述的任何步骤、操作或过程可以单独地或与其他设备组合地利用一个或更多个硬件或软件模块来执行或实现。在一些实施方式中,使用包括计算机可读介质的计算机程序产品来实现软件模块,该计算机可读介质包含计算机程序代码,该计算机程序代码可以由计算机处理器执行以执行所描述的任何的或所有的步骤、操作或过程。

上面讨论的计算机140可以是为了所需目的而特别构造的,并且/或者它可以包括由存储在计算机中的计算机程序选择性地激活或重新配置的通用计算设备。这样的计算机程序可以被存储在非暂态有形计算机可读存储介质中,或者可以被耦合到计算机系统总线的适合于存储电子指令的任何类型的介质中。此外,说明书中提及的任何计算系统可以包括单个处理器或者可以是采用多个处理器设计以提高计算能力的架构。实施方式还可以涉及通过本文描述的计算过程产生的产品。这样的产品可以包括由计算过程产生的信息,其中该信息被存储在非暂态有形计算机可读存储介质中,并且可以包括本文所述的计算机程序产品的任何实施方式或其他数据组合。

最后,在说明书中使用的语言主要是为了可读性和指导目的而选择的,并且所使用的语言可以不被选择成划定或限制本发明的主题。因此,旨在使专利权的范围不受该详细描述的限制,而是受到基于本申请所提出的任何权利要求的限制。因此,本实施方式的公开内容旨在说明而非限制至少部分地在所附权利要求中阐述的专利权的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1