专利类型 | 发明公开 | 法律事件 | 公开; 实质审查; 放弃专利权; |
专利有效性 | 失效专利 | 当前状态 | 放弃专利权 |
申请号 | CN202080062373.5 | 申请日 | 2020-09-03 |
公开(公告)号 | CN114341948A | 公开(公告)日 | 2022-04-12 |
申请人 | 巴斯夫欧洲公司; | 申请人类型 | 企业 |
发明人 | A·皮肯鲁伊斯; M·利纳雷斯德拉普尔塔; C·克鲁卡斯; T·艾格斯; R·奥伯斯特; J·M·孔特雷拉斯加拉多; J·罗梅罗罗德里格斯; H·K·S·加德; G·克雷默; J·埃查扎拉胡盖特; R·纳瓦拉-梅斯特; M·冈萨雷斯圣埃梅特里奥; | 第一发明人 | A·皮肯鲁伊斯 |
权利人 | 巴斯夫欧洲公司 | 权利人类型 | 企业 |
当前权利人 | 巴斯夫欧洲公司 | 当前权利人类型 | 企业 |
省份 | 当前专利权人所在省份: | 城市 | 当前专利权人所在城市: |
具体地址 | 当前专利权人所在详细地址:德国莱茵河畔路德维希港 | 邮编 | 当前专利权人邮编: |
主IPC国际分类 | G06V20/10 | 所有IPC国际分类 | G06V20/10 ; G06V10/26 ; G06V10/764 ; G06V10/82 ; G06K9/62 ; G06N3/04 ; G06N3/08 ; G06Q50/02 ; A01M21/00 |
专利引用数量 | 4 | 专利被引用数量 | 4 |
专利权利要求数量 | 21 | 专利文献类型 | A |
专利代理机构 | 北京市中咨律师事务所 | 专利代理人 | 魏子翔; 于静; |
摘要 | 一种用于识别农田中的 杂草 的计算机实现的方法, 计算机程序 产品和 计算机系统 (100),其使用具有以下模 块 的拓扑的双任务 卷积神经网络 (120):中间模块(121),其执行与第一损失函数(LF1)相关联的分类任务;以及语义分割模块(122),其执行与不同的第二损失函数(LF2)相关联的分割任务。考虑到第一和第二损失函数(LF1,LF2),中间模块和分割模块一起训练。该系统执行包括接收测试输入(91)的方法,该测试输入(91)包括示出农田中的作物物种的作物 植物 并且示出在所述作物植物中的一种或多种杂草物种的杂草植物的图像;预测存在于相应图块中的一种或多种杂草物种(11,12,13)的存在;将对应的中间特征图输出到分割模块作为分类任务的输出;通过从中间特征图中提取多尺度特征和上下文信息并且将提取的信息 串联 以执行语义分割,针对每个杂草物种生成掩码作为第二任务的分割输出;以及生成最终图像(92),该最终图像对于每个 像素 指示该像素是否属于特定杂草物种,并且如果是则该像素属于哪个杂草物种。 | ||
权利要求 | 1.一种用于识别农田中的杂草的计算机实现方法(1000),该计算机实现方法使用具有以下模块的拓扑的双任务卷积神经网络(120): |
||
说明书全文 | 用于植物物种识别的系统和方法技术领域背景技术[0002] 农田中杂草群落的存在具有负面影响(参见H.van Heemst,“The influence of weed competition on crop yield”,Agricultural Systems,第18卷第2期第81‑93页,1985年)。本文的上下文中的杂草是指在田地中生长的与田地中种植的作物不同的任何植物。研究已经确定了两个主要原因:竞争和植物健康问题。某些植物物种(例如杂草)与作物竞争土壤,养分和阳光,导致作物生长缓慢和减少。此外,一些杂草是害虫和疾病的宿主。为此,农民使用除草剂来消灭或控制杂草种群。 [0003] 下表包括一些杂草及其相应的EPPO代码的示例: [0004] 表1:杂草示例 [0006] 因此,当今农业面临一个复杂的挑战:最小化对环境的影响以确保优化可用资源以优化粮食产量的必要性。以杂草控制为例,农民通常在每个表面施用相同数量的除草剂,而忽略不同杂草具有不同密度,生长速度和生长阶段的事实。然而,生物学研究表明,使用不同类型和比率的除草剂优化产品的有效性,实现更好的作物生长并减少化学物质对环境的沉积。杂草的早期识别允许在植物检疫产品使用中优化和提高性能,导致较低强度和更具体的除草剂使用。 [0007] 新技术带来了特定于地点的杂草管理(SSWM)(参见L.Tian,JF Reid和JW Hummel的“Development of a precision sprayer for site‑specific weed management”,ASAE会刊,第42卷第4期,第893页,1999年),其中包括仅在杂草存在的区域施用精确数量的除草剂。SSWM通过优化喷洒显著减少了除草剂的使用。应用SSWM时的两个关键任务是实现对杂草和作物的准确区分,以及适当的杂草量化和分期。解决该问题的传统方法是在图像上手动分割植物,这会花费大量时间。 [0008] 最近,已经引入基于卷积神经网络(CNN)的机器学习技术。尽管CNN在农业中具有很多应用,但杂草量化尚未以令人满意的水平解决。由于域差异,基于预先训练的标准化CNN识别农田中的杂草的语义分割对于植物图像数据集无法足够良好地执行。语义分割意味着在像素级别理解图像,即为图像中的每个像素分配一个对象类。此外,分割具有非常小的视觉差异的植物的内在复杂性阻碍了用于对于农民以足够准确性解决杂草识别问题的标准化CNN拓扑的成功应用。 [0009] Mortensen等人提出了使用深度学习对作物和杂草进行语义分割的工作(参见AK Mortensen,M.Dyrmann,H.Karstoft,RN R.Gislum等人的“Semantic segmentation of mixed crops using deep convolutional neural network”,CIGR‑AgEng会议,2016年6月26‑29日June 2016,丹麦奥尔胡斯,摘要和全文,第1–6页,Organising Committee,CIGR 2016,2016年),其中他们在不同的作物物种的语义分割中获得了79%的像素精度。后来,他们能够将玉米作物与23种不同的杂草物种区分开,在实际案例中以94%的显著像素精度正确地将像素标记为“玉米”或“杂草”(M.Dyrmann,AK Mortensen,HS Midtiby,RN 等人的“Pixel‑wise classification of weeds and crops in images by using a fully convolutional neural network”,农业工程国际会议论文集,丹麦奥尔胡斯,第26–29页,2016年)。其他作者已经研究采用深度CNN对作物和杂草进行语义分割以寻找可以带来更优分割的新架构和方法。2018年Sa等人(参见I.Sa,Z.Chen,M.Popovic,R.Khanna,F.Liebisch,J.Nieto和R.Siegwart的“weednet:Dense semantic weed classification using multispectral images and mav for smart farming”,IEEE Robotics and Automation Letters第3卷第1期,第588–595页,2018年)采用修改的VGG‑16(称为weedNet)在分割作物和杂草时获得了80%的F1分数,并且Milioto等人(参见A.Milioto,P.Lottes和C.Stachniss的“Real‑time semantic segmentation of crop and weed for precision agriculture robots leveraging background knowledge in cnns”,2018年机器人和自动化IEEE国际会议(ICRA)第2229–2235页,IEEE, 2018年)在作物,杂草和土壤的像素级分类中实现了80.8%的mIoU。这些现有技术工作专注于作物,将每种杂草视为单个类(在分类方面)。采用这种现有技术方法获得的像素精度尚未达到令人满意的水平以支持农民优化他们保护他们的田地的活动。 发明内容[0010] 因此,需要提供具有用于植物物种识别的改进的图像分析功能的系统和方法。因此,如在此所使用的植物物种识别涉及属于特定植物物种(诸如例如在农田中与作物竞争的杂草物种)的植物的量的量化问题。也就是说,植物物种识别过程的结果是关于农田中存在哪些植物物种以及可以在哪里准确地找到特定物种的植物的信息。此外,有兴趣获得关于相应植物的不同部分(诸如例如植物的茎,叶,果实等)的存在和量的附加信息,,。例如,具有关于特定植物物种的植物元素(例如,果实)的更高粒度的这种信息可以提供关于由特定农田提供的潜在作物产量的有用信息,或者甚至是由于预期的种子数量某些杂草可能迅速扩展的风险。 [0011] 杂草量的量化的问题通过使用CNN拓扑的语义分割技术的应用来解决,这导致在杂草分割中比先前已知的分割方法(诸如例如标准PSPNet)可实现的更高的像素精度。 [0012] 本发明的实施例包括用于识别农田中的植物物种的计算机实现的方法,以及具有计算机可读指令的计算机程序产品,该计算机可读指令当存储在计算机系统的存储器中并由计算机系统的一个或多个处理器执行时使一个或多个处理器执行该方法。另一个实施例涉及计算机系统,该计算机系统被配置为执行计算机实现的方法(例如,当运行所述计算机程序产品时)。 [0013] 用于识别农田中的植物物种的计算机实现的方法使用特定的卷积神经网络,其在此被称为双任务CNN。具有拓扑的双任务CNN被配置为执行两个不同的任务。任务中的每个任务都与其相关联的损失函数相关联,并且通过考虑两个(不同的)损失函数来训练整个双任务CNN。以该方法,第一任务‑由中间模块执行的分类任务‑正在指导第二任务‑由双任务CNN的语义分割模块执行的分割任务,从而导致植物物种分割结果的改进的整体准确性。语义分割模块在此也称为“分割模块”。 [0014] 双任务CNN的中间模块在确定测试输入图像上存在的植物物种时执行第一任务。因此,第一任务与第一损失函数相关联。植物物种的确定对应于分类任务。因此,中间模块可以通过分类神经网络或回归神经网络(例如,基于使用RESNET*主干的残差网络,诸如例如RESNET50卷积神经网络)来实现。当使用分类神经网络(即配置为执行分类任务的神经网络)时,输出是有关在特定图像上存在哪些植物物种的信息,该图像示出例如作物和杂草植物。此外,当使用回归神经网络时,还提供有关当前植物物种比率的信息。两种CNN类型都提供有关具有作物和杂草植物的测试输入图像上存在的植物物种的信息。 [0015] 在将分类神经网络用作中间模块的情况下,第一损失函数有利地是“加权二元交叉熵”,其中每个样本(像素)取决于其所属的类进行加权。中间模块使用“sigmoid”作为支持同时存在多个类的最后的激活层。例如,测试输入图像的分析部分(即图像的图块)可以同时包括属于玉米植物,不同杂草物种的杂草植物和土壤的像素。当对文本输入图像上各种类的存在进行预测时,sigmoid激活层可以同时处理这些多个类。 [0016] 二元交叉熵和分类交叉熵是本领域专家所熟知的。加权分类交叉熵: [0017] [0018] 类似于分类交叉熵,但具有额外的权重wc。 [0019] yo,c表示目标类是否属于该像素,并且 是该方法预测的值。这同样适用于二元交叉熵和加权二元交叉熵。所选择的权重值wc的范围可以在0到1000之间。例如,对于未由专家注释的像素,权重值可以为0。对于被注释的像素,适当的权重可以是数据集上像素类的百分比的倒数。 [0020] 在中间模块由回归神经网络实现的情况下,第一损失函数有利地是“均方误差”或“均值平均误差”。中间模块可以使用“线性”或“sigmoid”作为同时支持多个类存在的最后激活层。 [0021] 双任务CNN的分割模块在分割测试输入图像时执行第二任务,以确定测试输入图像的每个像素的类。该类包括所确定的植物物种。第二任务与不同于第一损失函数的第二损失函数相关联。有利地,第二损失函数是“加权分类交叉熵”。例如,分割模块可以通过金字塔池化模块来实现(例如,基于PSPNet,DeepLab或逐段拓扑)。 [0022] 换句话说,对双任务CNN执行的每个任务基于其自身的损失函数进行优化。然而,考虑到第一和第二损失函数,中间模块和分割模块正在一起训练。具有两种不同损失函数的两个模块的该联合训练具有如下效果:中间模块的训练受分割模块的训练影响,反之亦然,从而导致最终分割结果的改进的像素精度。用于语义分割的经典PSPNet的训练(参见H.Zhao,J.Shi,X.Qi,X.Wang和J.Jia,“Pyramid scene parsing network”,IEEE计算机视觉和模式识别会议论文集,第2881–2890页,2017年)依赖于两阶段的训练过程,通过采用中间分割损失监督生成初始结果,以及之后采用最终损失学习残差的第二步骤。因此,深度学习神经网络的优化被分解为两个优化任务,每个优化任务更容易解决。然而,尽管该方法可以带来良好的结果,但在采用具有第二(最终)损失的网络进行训练的同时,来自第一(中间)损失的学习会消失。尽管在使用用于语义分割的经典PSPNet时可以实现一些优势,但它缺乏提取仅存在于所分析的图像的一小部分像素中的类的能力。通过添加与分割任务(由分割模块执行)同时训练的第二分类或回归任务(由中间模块执行),通过经典分割模块(例如,PSPNet)的所公开的扩展解决了该问题。这通过两个损失函数同时提供对学习过程的指导。 [0023] 与经典的PSPNet方法相反,其中神经网络被划分为两个不同问题,该问题采用在给定时间点处于活动状态作为训练策略的单个损失函数来顺序训练,在在此公开的方法中,两个任务(分类和分割任务)二者通过对两个任务的相应损失函数进行简单加权相加来同时(即同步)进行训练。 [0024] 在此公开的双任务CNN拓扑将经典语义分割网络扩展为真正的双任务网络,其中网络权重针对两个损失函数同时进行优化,因此,分类损失指导分割损失。损失函数可以是加权交叉熵函数,其中每个样本(像素)与权重相关联。在下面,描述了用于双任务CNN的训练数据集,其组合不同的数据子集,其中一个数据子集包括手动注释的图像,而另一个数据子集包括自动注释的图像。样本权重可以与目标所属的数据子集相关。来自具有自动注释图像的数据子集的样本可能相比来自手动注释数据集的样本具有更高的权重。通常,手动注释的数据子集包括已被人类分类为“其他”或“未知”的像素。在这种像素上,可以减少权重(例如,减少10到1000范围内的数字)以便减少这种像素对双任务CNN训练的影响,同时具有保留的较小权重以允许到真实图像的域适应。因此,权重的减少反而不会产生负数。 [0025] 有利地,基于图像训练数据集联合训练双任务CNN模块,该图像训练数据集包括两个训练数据子集的组合,其中一个子集包括手动注释的训练图像,而另一个子集包括自动注释的训练图像。 [0026] 例如,第一数据子集可以包括示出具有特定作物物种的作物植物和一种或多种杂草物种的杂草植物的农田中真实世界情况的图像,其中杂草植物散布在作物植物之间。第一数据子集具有手动像素注释,指示训练图像的像素所属的植物物种。通常,人类用户正在查看第一数据集中的图像中的每个图像,并将图像的某些子部分标记为属于特定类(例如,作物物种,杂草,物种,土壤)。在一个实现方式中,手动像素注释可以处于较高的粒度级别,因为不仅特定植物物种的植物的像素采用相应的植物物种进行注释,而且以分层方式,特定植物物种也可以具有针对各种植物元素(诸如茎,叶,果实等)进行注释的子类。也就是说,可以采用诸如玉米1,玉米1:叶,玉米1:果实,杂草1,杂草1:叶,杂草1:果实等的标签执行注释。在大多数情况下,这种注释在像素级别上非常不准确,因为用户只是在图像上指示矩形形状(或其它形状,包括自由形状)并为所指示的区域输入注释。鉴于训练图像中类的自然分布,很明显这种手动注释只能是粗略的近似。 [0027] 为此目的,第一数据子集由第二子集补充(增强),该第二子集包括具有在像素级别正确的自动生成的注释的训练图像。可以以不同方式实现获得自动注释的训练图像。 [0028] 例如,第二数据子集可以包括显示最初从单个植物图像获得的不同植物物种的多个植物的图像。因此,每个单个植物图像示出特定物种的单个植物。然后可以通过从单个植物图像中提取属于相应单个植物的图像部分并其将所提取的图像部分粘贴到土壤背景图像中来合成测试图像。因此,多个单个植物图像可以与各种植物物种相关联。然而,对于每个单个植物图像,相应的物种是已知的,并且随后粘贴到土壤背景图像中的所提取图像部分与像素级别的相应注释相关联(因为已知所提取部分的每个像素示出相应物种的植物的部分)。因此,第二数据子集的像素被自动注释为它们所属的类(物种),如从原始单植物图像中已知的那样。 [0029] 例如,具有自动生成的注释的另一个数据子集可以是第三数据子集,其包括示出单个(杂草)物种的多个(杂草)植物的真实世界情况图像(通常还示出一个图像中相同植物物种的不同生长阶段)。由于第三数据子集仅包括单个物种的植物,因此像素可以容易地并且自动地采用对应于相应植物物种的对应类注释进行注释。例如,众所周知的叶子分割算法可用于从原始真实世界单个物种图像的图像中提取所有像素,并且采用对应的类信息对它们进行注释。 [0030] 经训练的双任务CNN然后以下列方式应用于测试输入图像:测试输入由运行双任务CNN的计算机系统接收。测试输入包括示出属于不同物种的植物的图像。例如,图像可以示出农田中特定作物物种的作物植物和在所述作物植物中(即,在作物植物之间散布)的一种或多种杂草物种的杂草植物。 [0031] 计算机系统具有图像图块提取器,该图像图块提取器从具有中间模块的输入形状的尺寸的测试输入图像中提取图块。通常,测试输入图像被期望具有高分辨率。假设双任务CNN也已经采用类似分辨率的图像进行了训练。例如,具有1024×1024到10.000×10.000像素或更高的分辨率的图像被认为是高分辨率图像。然而,中间模块的输入形状(第一层)的尺寸较低(例如,典型的基于RESNET50的分类神经网络的输入形状可以是(473,473,3))。因此,图像图块提取器将测试输入图像划分为与中间模块的输入形状相匹配的图像图块。 [0032] 在下面,所提取的图块中的每一个被单独处理,并且在分割任务结束时,所分割的图块被重建为整个分割图像。对于每个所提取的图块,中间模块预测存在于相应图块中的一种或多种植物物种的存在。这种第一(分类)任务到分割模块的输出是具有由中间模块分类的所有特征的中间特征图。 [0033] 分割模块在生成掩码图像时使用中间特征图,其中掩码上的每个像素都与“0‑1”值(即区间[0,1]中的值)相关联,该值表示所述像素属于相关联的类的概率。这是通过从中间特征图中提取多尺度特征和上下文信息并将所提取的信息串联以执行语义分割来实现的。 [0034] 最后,将生成的掩码(每个图块的掩码)组合成最终图像。最终的重建图像对应于具有附加信息的原始测试输入图像,该附加信息指示对于每个像素其是否属于特定植物物种,并且如果是,则它属于哪个物种。例如,可以使用颜色编码,其中将每个植物物种被分配唯一的颜色,并采用所分配的颜色调节最终图像中的像素的像素颜色。 [0035] 当分割模块由用于执行语义分割的金字塔池化模块实现时,它通常包括具有不同感受野的四个独立过滤器,其扫描由中间模块提供的中间特征图,并且针对多尺度特征检测创建四个阵列以整合不同尺度和大小的信息。 [0036] 此外,金字塔池化模块通常包括多个上采样层,该上采样层被配置为使用双线性插值将每个阵列的图像大小恢复到中间特征图的大小。此外,金字塔池化模块的卷积层从四个单独的过滤器中提取上下文信息,并将上下文信息与不同尺度和大小的信息串联,以生成与中间特征图相同大小的最终特征图。此外,金字塔池化模块通常包括全连接层,以将最终的逐像素预测计算为采用最后激活层“softmax”生成的掩码。“softmax”激活函数是有利的,因为它将数字(即logits)转换为总和为1的概率。Logits是神经网络最后一层在激活发生之前输出的原始分数。通常,“softmax”函数输出表示潜在结果列表的概率分布的向量。应用于植物物种分割问题,像素是互斥的,因为每个像素只能确切地属于一个类(例如,像素是土壤或特定物种的植物,但不能同时属于两者)。因此,“softmax”预测每个像素属于某个类(例如植物物种或土壤)的概率。 [0038] 图1包括根据一个实施例的使用双任务卷积神经网络识别农田中的植物物种的计算机系统的框图; [0039] 图2是根据一个实施例的用于识别农田中的植物物种的计算机实现方法的简化流程图; [0040] 图3示出根据实施例的双任务卷积神经网络的示例拓扑; [0041] 图4A示出使用手动注释生成第一训练数据子集; [0042] 图4B,C示出使用自动注释生成第二和第三训练数据子集; [0043] 图5是示出可以与在此所述的技术一起使用的通用计算机设备和通用移动计算机设备的示例的图; [0044] 图6示出作为分布式计算环境的一部分的智能农业机械; [0045] 图7示出智能喷雾器系统的示例;以及 [0046] 图8示出智能喷雾器系统经由化学控制机制控制杂草,疾病或昆虫的控制协议。 具体实施方式[0047] 图1包括根据实施例的使用双任务卷积神经网络120识别农田中的植物物种(例如,作物或杂草物种)的计算机系统100的框图。图2是根据实施例的用于识别农田中的植物物种的计算机实现方法1000的简化流程图。方法1000可以由计算机系统100执行。在下面的详细描述中,图2的方法1000在图1的系统100的上下文中公开。因此,该描述是指两个图中使用的参考数字。此外,图3示出根据实施例的双任务卷积神经网络122的示例拓扑。因此,该描述还将参考当讨论计算机系统100的组件或模块的示例实施例时在图1的描述的上下文中的图3的参考数字。 [0048] 计算机系统100的目标是支持农民识别在农田的部分1(自由地或温室)中的作物植物之间生长的植物的种类和位置。该部分有时在文学作品中也被称为小块土地(plots)。在图中,不同的对象形状用于区分不同的植物物种。在该示例中,三角形用于表示田地中种植的特定物种的作物植物。所有其它形状表示不同杂草物种的杂草植物。虚线背景表示部分1中的土壤部分(即未被植物隐藏的地面部分)。图像记录设备90(例如,能够用1024高至 10000px范围内的分辨率记录高分辨率图片的数码相机)拍摄部分1的图像并将该图像作为测试输入图像91提供给计算机系统100,在该计算机系统100中由对应的接口110接收1100。 测试输入图像91示意性地示出部分1所属的农田中作物物种10(三角形)的作物植物。此外,测试输入91示出所述作物植物中的一种或多种杂草物种11,12,13的杂草植物。杂草植物散布在作物植物(作物物种10)之间。在自然田地情况下,不同杂草物种的杂草可以非常有规律地散布,或者它们可能出现在某些集群中。在该示例中,存在物种11(例如,马唐)的杂草植物集群,物种13(例如,狗尾草)的杂草植物集群和物种12(例如,藜)的两个杂草植物集群。如示意性示例中所示,图像91中的植物可以具有重叠部分。例如,一些作物植物与其它作物植物重叠并且与一些杂草植物重叠(如图1中示意性所示)。杂草植物也可能与作物植物重叠。 [0049] 除了用于接收测试输入图像(以及训练图像)的接口110之外,计算机系统还具有图像图块提取模块130,该图像图块提取模块130从测试输入中提取图块以用于进一步处理。此外,图像重建模块140用于将最后处理的图块重建成完整(full‑blown)的分割图像92,该分割图像92被输出给用户(例如农民)。用于实现文本输入图像的语义分割的图像处理由双任务卷积神经网络120(DTCNN)执行。DTCNN 120具有两个子模块: [0050] ‑中间模块121,用于执行确定测试输入图像91上存在的杂草物种11,12,13的第一任务。第一任务与用于DTCNN优化目的的第一损失函数LF1相关联。DTCNN模型的第一任务(分类)逐个图块分析输入图像,并预测输入图像的每个小部分(即图块)中不同类的存在。 [0051] ‑分割模块122,用于在分割测试输入图像91中执行第二任务以确定测试输入图像91的每个像素的类。当然,逐像素的类是排他的,因为特定像素只能属于单个类。一旦图像图块通过了分类任务,它就会被简化为传递给分割模块的特征图。类包括已确定的杂草物种(以及作物物种和土壤种类)。第二任务与第二不同的损失函数LF2相关联。针对每个图块生成1700的分割模块的输出是每个类的对应掩码。该掩码由具有与图块相同大小的图像表示,其中每个像素与区间[0,1]中的值相关联,该值表示该像素属于相关联类的可能性。该值越接近1,像素越可能属于该类。高于预定义阈值的值被视为属于该类。该二进制掩码被视为由分割模块生成1700的分割任务输出。 [0052] 最终的后处理解释并组合那些掩码以将所有图块重建为最终的分割图像。 [0053] DTCNN模型示出对不同照明条件(例如,图1),叶子重叠,背景和多尺度检测的一定程度的不变性,其优于现有技术方法中使用的模型。 [0054] 在将DTCNN 120应用于测试输入之前,网络采用训练数据集的图像进行训练,由此考虑到第一和第二损失函数LF1,LF2,中间模块121和分割模块122被一起训练。这是通过最小化两个损失函数直接完成的: [0055] Combined_Loss=Loss_segmentation+alpha*Loss_classification [0056] 其中alpha可以是[0,100]范围内的数字。因此,“Loss_segmentation”与LF2相关联,并且“Loss_classification”与LF1相关联。例如,可以选择alpha=0.2并考虑用于分割任务的weighted_categorical_cross_entropy损失函数LF2和用于分类任务的weighted_binary_cross_entropy损失函数LF1。也就是说,两个模块的训练与同时对于两个相关联损失函数的优化同时发生。如前所述,现有技术的分割网络(诸如PSPNet拓扑)具有两个后续训练阶段,其中第一阶段的训练在执行第二阶段的训练时几乎丢失。相比之下,对于每个任务具有单独损失函数的联合训练方法允许通过相应的损失函数单独测量每个任务的性能,同时针对DTCNN 120的整个拓扑设定权重,该DTCNN 120包括中间模块121(用于分类任务)和分割模块122(用于分割任务)。 [0057] 所公开的网络架构120是通过分析描述要被分割的图像种类的内在特征来选择的。由于颜色不提供附加信息(杂草和作物通常都是绿色的),因此决策制定更应该基于对植物形状和边界的分析。DTCNN具有三个主要特性: [0058] ‑空间信息的提取:该模型可以分割叶子组,但它实际上所做的是对图像上的所有像素进行逐个分类。因此,网络专注于单个像素,但同时能够提取空间信息来分割对象。因此,模型将叶子作为抽象概念来学习,因为它知道某个区域中的哪些像素属于叶子。该特性称为“像素分组”。 [0059] ‑高特征分辨率:不同杂草物种的叶子可能非常相似。有时,在整个高分辨率测试输入图像的大约20个像素中,存在两种叶子之间的差异可见的图像。这意味着,DTCNN需要学习过滤器来检测关注于小像素组的这种微小差异。这对于学习过滤器来检测各种植物的子元素(例如,水果,茎等)也是如此。 [0060] ‑多尺度检测:通常,叶子的尺度会随着图像的变化而变化。在许多情况下,不同生长阶段的不同植物在同一图像中示出。因此,DTCNN必须识别同一图像中共存的不同年龄和不同大小的同种叶子(即同一植物物种的叶子)。例如,在稍后的生长阶段,植物可能已经结出果实。因此,了解特定物种特有的水果特征也可能有助于识别所述物种。 [0061] 金字塔场景解析网络(PSPNet)是Zhao等人(见上文)于2017年发布的深度学习模型,专门用于场景理解的语义分割。这包括考虑图像中每个元素的颜色,形状和位置将图像的每个像素分类为对象的一部分,。PSPNet是标准的语义分割网络,其聚合了两个主要特征:多尺度信息(金字塔模块)和上下文信息。在2012年PASCAL VOC数据集处(参见M.Everingham,L.Van Gool,CK Williams,J.Winn和A.Zisserman的“The pascal visual object classes(voc)challenge”,计算机视觉国际期刊第88卷第2期,第303–338页,2010年),PSPNet比诸如DeepLab(参见L.‑C.Chen,G.Papandreou,I.Kokkinos,K.Murphy和AL Yuille的“Deeplab:Semantic image segmentation with deep convolutional nets,atrous convolution,and full connected crfs”,IEEE模式分析和机器智能会刊,第40卷,第4期,第834–848页,2018年)或Piecewise(参见G.Lin,C.Shen,A.Van Den Hengel和I.Reid的“Efficient piecewise training of deep structured models for semantic segmentation”,IEEE计算机视觉和模式识别会议记录,第3194–3203页,2016年)的其它模型更优地执行。此外,PSPNet似乎适合解决杂草识别问题所需的参数,因为它具有金字塔池化层(用于多尺度检测),它专注于语义分割(高分辨率)和场景解析(上下文信息)。然而,技术人员也可以使用本领域已知的任何其它语义分割模块作为分割模块122的基础。 [0062] 然而,当将经典的PSPNet拓扑应用于真实的田地情况图像时,结果并不令人满意。一个问题是,通常用于训练的语义分割数据集呈现出非常不同的类。可以在颜色,形状和纹理中发现差异,并且因此不同的模型专门收集所有该信息来预测每个像素。另一方面,具有作物和不同杂草物种的图像上存在的类是在形状和颜色上非常相似的类。差异主要存在于植物叶子(或诸如植物果实的其它特征植物元素)的小边界和边缘。此外,真实的田地图像通常示出叶子重叠,变化的光照以及不同的多尺度和生长阶段形态。由于此类原因,预训练网络在植物图像数据集上表现不良。 [0063] PSPNet提取上下文信息的能力甚至可能适得其反。在其它检测场景中,例如将天空检测为背景可以帮助对飞机或航空器进行分类。然而,在植物图像数据集中,背景和相邻对象通常看起来与要识别的目标几乎相同。使用该信息实际上可误导分类。此外,所有叶子具有几乎相同的颜色。通常,单个对象呈现出将对象与其它对象区分开来的共同像素强度(颜色)。在该情况下,该部分的所有叶子看起来都相似,使得该颜色不提供附加信息。因此,DTCNN 120的训练集中在边缘和边界上。 [0064] 为了在植物图像数据集的应用中受益于语义分割模块的优势,分类任务被添加到DTCNN 120的拓扑结构中。模型被训练以同时对图像的小部分进行分类,使得它学习逐像素分类。通过对经典语义分割网络(诸如PSPNet)的这种修改,改进了像素分组(通过分类任务),而不会失去对检测微小差异的关注(通过分割任务)。因此,至关重要的是分类任务与其自身的损失函数相关联,而分割任务也与其自身的损失函数相关联,并且同时考虑到两个损失函数,将两个任务在一起同时训练。 [0065] 一旦计算机系统100已经接收到测试输入图像91,提取模块130从具有中间模块121的输入形状的尺寸的测试输入图像中提取1200图块。CNN的输入总是4D阵列。因此,输入数据具有(batch_size,height,width,depth)的形状,其中第一维度表示每次处理的图像数量,而其它三个维度表示图像的维度,即高度,宽度和深度。图像的深度是颜色通道的数量。例如,RGB图像具有3的深度,并且灰度图像具有1的深度。例如,中间模块可以实现为基于RESNET架构(诸如例如RESNET50拓扑或RESNET系列拓扑的任何其它适当成员)的分类CNN 121‑1或回归CNN 121‑2。中间模块的第一层的尺寸确定了图像被提取器130分割成的图块的尺寸,用于进一步的图块级处理。例如,在使用RESNET50 CNN拓扑的情况下,图块的尺寸适于满足(473,473,3)的输入形状。 [0066] 对于每个图块,中间模块121预测1300存在于相应图块中的一种或多种植物物种的存在。中间模块的输出包括分类结果121o2,提供(作为类)在测试输入图像上存在的植物物种(当然,除了杂草物种的类之外,分类结果还包括作物物种和土壤的类),并且进一步包括对应的中间特征图,其中所提取的特征与所识别的类相关联。只有中间特征图121o1被输出1400到分割模块122以供进一步处理。中间特征图的大小是输入图像大小(对应于图块大小)的分数(例如,1/8)。 [0067] 图3中的示例实施例示出采用基于PSPNet拓扑的金字塔池化模块实现的分割模块122。要注意的是,PSPNet在系统的测试运行中优于其它语义分割拓扑。然而,本领域技术人员也可以使用其它分割拓扑来实现分割模块122。在PSPNet实现方式中,中间特征图121o1通常由池化层122‑1处理,该池化层122‑1在从中间特征图中选择具有最高激活的特征(即具有局部激活邻域的最大值的特征)来执行初始过滤函数。 [0068] 所选择的特征然后被转发到过滤层122‑2,其实现具有不同感受野的四个单独的过滤器,该过滤器扫描中间特征图121o1的所选择的特征并创建用于多尺度特征检测的四个阵列以整合不同尺度和大小的信息。 [0069] 过滤层122‑2右侧的过滤器是对每个特征图执行全局平均池化以生成单个二元(bin)输出的最粗略的级别。跟在左侧的过滤器是第二级,其将特征图划分为2×2的子区域,并且然后对每个子区域执行平均池化。左侧的下一个过滤器是第三级,其将特征图划分为3×3的子区域,并且然后对每个子区域执行平均池化。左侧的过滤器是将特征图划分为6×6的子区域并且然后对每个子区域执行池化的最细化级别。在N=4个过滤器级别和M=2048个输入特征图的示例中,输出特征图为(1/4)×2048=512,即512个输出特征图。 [0070] 金字塔池化模块的下一级包括多个上采样层122‑3,其被配置为使用双线性插值将每个阵列的图像大小恢复到中间特征图121o1的大小。通常,执行双线性插值以对每个低维特征图进行上采样,使其具有与原始特征图相同的大小。 [0071] 下面的卷积层122‑4被配置为从四个单独的过滤器中提取上下文信息,并将上下文信息与不同尺度和大小的信息串联1600,以生成与中间特征图121‑o1具有相同大小的最终特征图122‑4o。换句话说,所有不同级别的上采样特征图都与原始特征图串联。这些特征图被融合为全局先验。有时在文献中,提供最终特征图122‑4o的卷积层122‑4被视为金字塔池化模块的末端。然而,在本文档的上下文中,逐像素预测层122‑5也被认为是金字塔池化模块的层。 [0072] 逐像素预测层122‑5是卷积层,其使用最终特征图来生成最终预测图。例如,它可以通过全连接层122‑5来实现,以将最终的逐像素预测计算为具有最后一个激活层“softmax”(即归一化指数函数)的生成掩码。前面已经解释了softmax激活的优点。最终预测结果是当前所处理的图像图块的逐像素分割122o。 [0073] 一旦已经由DTCNN 120处理了所有提取的图块,图像重建模块140重建完全分割的图像92,该图像92对应于原始图像的大小并且对于每个像素包括其所属的类。例如,重建图像92可以使用颜色代码来指示相应像素的类。在图1的示意图中,分割图像92使用不同的纹理来区分各种像素的类。例如,具有被分类为属于第10类(裁剪)的像素的表面以砖纹理示出。当然,纹理不能用于标记单个像素。然而,可以针对每个类使用具有特定颜色值的不同颜色。因此,纹理仅作为示意图中的简化标记来示出背后的标记概念。例如,属于第11类杂草植物(第一杂草物种)的像素由灰色阴影纹理标记,属于第12类杂草植物(第二杂草物种)的像素由象棋盘状纹理标记,属于第13类杂草植物(第三杂草物种)的像素由条纹图案纹理标记。最后,图像92中属于土壤背景类的像素由虚线纹理19标记。 [0074] 图4A至4C示出用于创建可用于训练双任务CNN的训练数据子集的不同方法。用于与DTCNN的分割模块一起训练中间模块的图像训练数据集包括使用如图4A中公开的图像的手动注释生成的至少第一数据子集,以及如图4B和4C中任何图中所公开的采用自动注释生成的另一子集。 [0075] 图4A示出训练数据的第一数据子集的手动注释训练图像的创建。向人类用户提供原始图像41以用于手动注释,该原始图像41示出具有作物物种的作物植物和作物植物中的一种或多种杂草物种的杂草植物的农田中真实世界情况。用户尝试将图像中的不同元素分配给对应的类(例如,作物物种,杂草物种,土壤)。图4Aa的示例中的图像41及其元素对应于图1中的图像91及其元素。手动注释任务的结果是针对属于第一数据子集的每个训练图像,手动像素注释41‑1,41‑2,41‑3指示相应训练图像的像素所属的物种。注释图像41‑a中使用的纹理对应于针对图1中的图像92解释的纹理。在图4A的示例中,手动注释的结果仅示意性地示出原始图像41的右上角。虽然示意图暗示注释在像素级别是正确的,但对于手动注释的图像,实际情况并非如此。通常,手动注释图像中存在被分配到错误的类或根本没有分配到类的许多像素,因为用户无法识别某种植物。换句话说,在许多像素没有被正确注释的意义上,手动注释是有噪声的。 [0076] 通常,用户只是选择图像中的矩形并将这种矩形分配给一个类。矩形R1可用于将矩形内侧的像素分类为作物物种41‑2。然而,R1也包含与杂草物种41‑1和41‑2相关的像素。用户可以指示R1内或与R1重叠的其它矩形R2,R3以将它们分配给相应的杂草物种类。很明显,这种标注方法不能导致像素级别的正确注释。为了支持用户进行人工注释任务,计算机系统可以向用户提供一些分类支持功能。 [0077] 例如,系统可提供自动土壤分割:可使用稳健且简单的基于颜色的分割算法自动移除地面(土壤)的存在并自动将其从手动分割中减去。示例算法基于对Lab颜色通道(L*a*b*颜色空间)的简单阈值处理,其中通道a为正值的像素从分割中移除以获得精细分割。 [0078] 此外,该系统可以提供对重叠植物部分的支持:特别是在后期物候阶段,植物重叠使得注释更加复杂以精确分割所有类。为了缓解这种情况,系统的手动注释功能允许在另一个注释内部标记注释(例如R1内部的R2)。在该情况下,内部注释(分配给R2)从属于外部注释(分配给R1)的分割中移除。这简化了注释过程,因为不需要精确注释所有物种。仅注释与“封闭”注释或指示重叠的任何其它注释重叠的物种就足够了。 [0079] 为了生成第一图像数据子集,以下条件在系统的测试运行中占优势。2017年在德国和西班牙的两个不同地点实施广泛的图像采集活动。种植了一组24个小块土地,每个小块土地为2.0×2.5m。在这些小块土地上,种植了两行玉米(Zea mays)以及6种不同的杂草物种,三种“草叶”杂草(狗尾草,马唐,稗草)以及三种“阔叶”杂草(苋菜,藜,反枝苋)。使用两种不同的设备对每个小块土地进行顶视图和透视图成像:佳能EOS700D单反相机和三星A8移动电话。为了便于图像采集,创建了金属结构来容纳两部移动电话和两台SLR相机,以获取顶部图像(2.0米高,18mm焦距)和透视图像(1.6米高,30°角度,18mm焦距)。这四张图像可以同时拍摄以节省时间,但这对训练数据的质量不具有影响。 [0080] 每天拍摄两次图像,在9周的时间段内每周拍摄三次,以便收集玉米和杂草的不同物候阶段。试验于2017年5月开始,并且于2017年6月结束。在移除过度曝光和/或模糊的图像后,总共1679张图像被手动分割成7个目标类,该类根据其对应的EPPO代码(ZEAMX,SETVE,DIGSA,ECCHG,ABUTH,CHEAL,AMARE)命名。 [0081] 尽管目标杂草种植在特定位置,但在实验小块土地上未知杂草的野生生长使该任务更加复杂。为了解决该问题,添加了两个新类(通用阔叶杂草和通用草叶杂草),允许注释未知或非目标杂草。DTCNN拓扑适于忽略这些有噪音的注释。 [0082] 出于训练目的并且为了避免任何偏差,将实验的小块土地分成训练,测试和验证小块土地。8个小块土地用于训练,2个用于验证,并且另外2个用于测试。 [0083] 然后将第一数据子集与至少一个另外的子集组合成训练图像数据集,该另外的子集可以是如下所述的第二或第三数据子集: [0084] 第二数据子集的生成在图4B中描述。第二组由合成生成的图像组成,可以在像素级别以正确的方式自动注释该图像。第二子集的最终合成生成的图像42‑a示出从原始单个植物图像42获得的不同杂草物种的多个杂草植物,其中每个单个植物图像示出单个物种的单个植物12。单个植物元素从单个植物图像中提取(例如,采用叶子分割算法)并粘贴到土壤背景图像42‑b中。因此,由于所提取的单个植物元素属于已知植物物种(由图像42‑s中的不同纹理表示),第二数据子集可以采用属于相应杂草物种的像素的注释42‑1,42‑3,42‑4在像素级别被完全自动地注释。这种自动注释包括比手动注释少得多的噪声,因为通过叶子分割算法提取的像素基本上只包括真正属于单个植物并且然后可以采用相应单个植物图像的已知植物物种自动注释的像素。 [0085] 第一数据子集与第二数据子集的组合克服了第一数据子集的若干缺点,其中由于数据集的实质复杂性而难以注释并且易于出错。因此,用于训练和测试的注释图像的量是有限的并且存在噪声。这可以通过使用与第一子集组合的包含由单个植物图像生成的图像群落的第二子集的合成图像来克服。为此目的进行了附加的单个植物采集活动。 [0086] 合成数据集以三种新的杂草物种为特征:藜,曼陀罗和卷茎蓼。它由图像组成,每张图像示出温室80×80cm小块土地上的单个植物。存在来自西班牙的两个温室。在它们中的每个温室中播种不同的物种:温室1中为AMARE,DIGSA,ECCHG和SETVE;温室2中为ABUTH,CHESS,DATST,POLCO和ZEAMX。共有8种杂草和1种作物。在每个物种中播种30‑36种单个植物。从第0天到第80天,每个劳动日(M‑F)针对各个植物中的每种植物拍摄单个图像。并非所有植物都到最后一天,因此最终(第二)数据子集包含9种不同的物种和处于不同的生长阶段处的6906张单个植物的图像。 [0087] 由于每个图像中仅出现一种植物,因此子集中的所有图像都被标记。使用深度学习模型进行叶子分割可以自动注释整个数据集。合成植物群落生成器算法可以获取真实的叶子分割图像并将它们粘贴到真实的背景图像上。使用单个植物数据集允许自动分割叶子和/或植物并将它们存储到候选存储库中。在区分哪些候选者是可行的之后,最终文件夹包含不均匀地划分为9个物种的11096张图像。群落生成器算法从存储库中获取候选者,并以特定方式将它们粘贴到土壤图像上。 [0088] 为了生成这些图像,创建与描述相应区域的三个参数相关联的若干随机区域。模型参数是:植物物种,生长阶段和密度。根据该区域的参数,按照Monte‑Carlo方法种植植物物种。该算法的流程如下: [0089] (i)生长区域被创建为随机大小的椭圆; [0090] (ii)每个椭圆随机分配一个类(物种),年龄(播种后的天数)和密度(0到1之间的实数); [0091] (iii)针对每个候选植物随机采样图像内的位置点; [0092] (iv)取决于位置点,候选者是否在生长区域内(在这种情况下,潜在候选者被拒绝); [0093] (v)如果候选者位于椭圆内,算法随机采样介于0和1之间的数字,并将其与其生长区域的“密度”参数进行比较:如果采样数大于“密度”阈值,则候选者被拒绝; [0094] (vi)算法从候选者存储库中选择适合生长区域要求并将其放置在小块土地图像中的候选图像。 [0095] 通过该方法生成图像,其中几种植物物种存在于具有不均匀密度的不同的生长阶段。第二数据子集采用5000张合成图像创建。在5000个生成的小块土地图像中,保留80%用于训练,10%用于验证,并且另外10%用于测试。 [0096] 图4C示出第三数据子集,其可替代地与第一数据子集结合使用以形成训练图像数据集。当然,所有三个数据子集也可以组合到训练数据集中。第三数据集包括图像43‑a,其示出单个杂草物种的多个杂草植物。第三数据子集的图像也采用属于单个杂草物种的像素的注释42‑3,43‑1,43‑4进行自动注释。 [0097] 合成的第二数据子集对于适当地模拟与重叠植物元素一起生长的真实植物群落同时第一数据子集呈现不平衡的类和有噪声的注释可能具有一些问题。具有不平衡类的情况的示例是具有与30%的像素相关联的一个类,以及仅与0.0001%的像素相关联的另一类。除此之外,可能存在可以属于任何类的未知的像素。第三数据子集包含在每个小块土地上都具有单个物种的受控环境中生长的植物的图像。每天检查小块土地田地,并且每当另一物种的植物生长时,它就会被手动移除。每个小块土地具有单个物种意味着所有图像都已标记,并且因此可以实现自动分割。存在三种密度的小块土地(单位面积的作物数量):高,中和稀疏。图像是在两个活动中拍摄的,一个在西班牙有4245张图像,而另一个在德国有818张图像。尽管概念相同,但西班牙和德国图像之间存在很大差异,特别是在土壤/背景方面。 [0098] 使用叶子分割算法(例如,前面描述的叶子分割算法),获得用于每个图像的自动生成的标记掩码,其用作语义分割真实标签。尽管该分割方法在像素级别仍然会犯一些错误,但第三数据子集可以被认为是精确注释的。 [0099] 第二和第三数据子集相似但在它们的差异上互补:第二数据子集在植物群落生长方面更真实,因为它在同一图像中呈现多个物种,而虽然只有一个物种存在,第三数据子集呈现真实田地图像的更优的纹理,重叠,阴影和形状(即,更多信息)。 [0100] 通过包括三个数据子集的组合来执行不同的训练实验。所有实验都针对第一数据子集的验证和测试进行评估。在一些实验中,多于一个的图像训练数据集被用于训练。因为数据子集具有不同数量的图像,所以生成器用于以相同的方式从不同的数据子集中获取图像。生成器每次从每个数据子集中获取一张图像。当数据子集用完图像(即生成器取得相关子集的最后一张图像)时,它会从相应的子集重新开始,同时增加其它子集中的图像。 [0101] 为了避免偏差,如已经提到的,每个数据子集被划分为80%的图像用于训练,另外10%用于验证,并且最后10%用于测试。 [0102] 每次生成器获取新图像时应用数据增强。应用于数据增强的转换包括:旋转,高度和/或宽度偏移,缩放,垂直和/或水平翻转,像素强度偏移(颜色变化)和高斯模糊。不推荐剪切,因为在此公开的语义分割方法从图像中提取图块并且保持连贯性很重要。 [0103] 程序代码是通过使用TensorFlow作为背景的Keras深度学习库来实现的。随机梯度下降被用作这两个任务的优化器,其中使用lr=0.001的学习率,每个轮次(epoch)的衰‑6减=10 ,动量=0.9,以及Nesterov的加速度。平衡精度(BAC)被选为最合适的算法性能指标,以便说明数据子集中存在的类不平衡(在这样的情况下,不鼓励使用“常规”精度)。 [0104] 为了训练DTCNN,使用了具有16GB的存储器的NVIDIA Tesla V100GPU。考虑到输入图像的大小,批次大小设定为6。遵循A.Johannes等人在“Automatic plant disease diagnosis using mobile capture devices,applied on a wheat use case”,Computers and Electronics in Agriculture第138卷,第200–209页,2017年和A.Piconet等人在“Deep convolutional neural networks for mobile capture device‑based crop disease classification in the wild”,Computers and Electronics in Agriculture,2018年中描述的相同方法,第一数据子集的验证子集以及平衡精度(BAC)和Dice‑Sorensen系数的计算值用于计算使不同杂草物种的验证集最大化的阈值。 [0105] 使用来自第一数据子集的用于测试的图像来测试各种实验,因为它们代表真实的田地条件。为了测量使用不同数据集训练的影响,训练了结合不同的数据子集的几个模型。使用了两组实验。一组专注于验证所提出的基于PSPNet拓扑的双任务CNN的性能以用于分割模块,而另一组用于测量对不同数据子集组合的影响。 [0106] 两个实验专注于验证双任务PSPNet实现方式比普通单任务PSPNet具有更好的性能(实验由所使用的拓扑和所使用的数据子集的数量命名): [0107] ‑PSPNet 1st+3rd:本实验使用采用来自第一数据子集和第三数据子集二者的图像进行训练的基线PSPNet。该组合被选为用于训练的最优数据子集组合。 [0108] ‑双任务PSPNet 1st+3rd:该实验与之前的实验类似,但用所公开的双任务PSPNet取代了经典的PSPNet网络架构。 [0109] 获得的结果示出,相比使用经典架构时获得了约45%的平均Dice‑Sorensen系数(DSC),使用双任务(分类和分割)CNN获得了约48%的平均Dice‑Sorensen系数(DSC),。此外,平衡精度略有提高。两种模型在播种后的第二周的期间(中期)示出图像记录的峰值性st rd能。此外,双任务PSPNet 1 +3 提供比PSPNet更好的分数,特别是在早期阶段。尽管随着时间推移,它的性能相比PSPNet下降得更快。最差的DTCNN预测(针对播种后第四周的期间记录的图像)获得与经典PSPNet预测相比相似的值。 [0110] 通过以下实验验证了各种数据子集对双任务CNN性能的影响: [0111] DTCNN 1st::在该实验中,训练仅在第一数据子集上执行。该数据集具有几个问题:稀少的图像数量,高复杂性,不准确的注释和高度不平衡。 [0112] DTCNN 2nd::在该实验中,合成的第二数据子集用于训练。由于合成图像在空间分布,光照,背景和尺度方面存在差异,因此预计性能下降。有关正确叶子的形状和边缘的信息适用于采用几乎完美的真实注释进行训练,因为像素的自动注释可确保每个像素都使用正确的类进行注释。 [0113] DTCNN 3rd:在本实验中,单个物种(第三)数据子集用于训练。虽然植物图像是在真实条件下获得的,但无法从该数据集中获得植物群落相互作用。 [0114] DTCNN 1st+2nd:在该实验中,来自第一和第二数据子集的图像被组合用于训练。第二数据子集允许通过合并合成图像来减少来自第一数据子集的类不平衡和劣质注释的影响。 [0115] DTCNN 1st+3rd:在该实验中,图像的第一和第三数据子集被组合用于训练。第三数据子集允许通过包括来自第三数据子集的单个物种图像来减少来自第一数据子集的类不平衡和劣质注释的影响。 [0116] DTCNN 1st+2nd+3rd:最后的模型补充所有数据子集。 [0117] 总而言之,当目标第一数据子集与任何支持数据集(第二,第三)组合时,域偏移被减少,从而获得更准确的结果。当结合使用第一和第三数据子集来训练DTCNN时,获得了最优结果。 [0118] 图4D示出其中单个植物图像44(如用于图4B中的自动注释)示出植物的其它元素的场景。除了叶子12l之外,植物的茎12s和果实12f在该图像44上可见。对于许多植物,果实具有与茎的叶子颜色不同的颜色。在这种情况下,现有的分割方法可用于分割属于植物的果实12f的像素和属于叶子12l(或具有与叶子相同颜色的植物的其它元素)的像素。然后,以与针对图4B解释的类似方式,不仅植物的叶子而且其果实都可以粘贴到以合成方式生成的图像44‑s中。结合背景图像44‑b,生成更逼真的注释图像44‑a,其现在还包括表示植物12*的果实的注释对象44‑2(除了如从图4B中已知的对象44‑1,44‑3和44‑4之外)。 [0119] 需要说明的是,本领域技术人员还可以使用植物果实和叶子之间的颜色差异来修改图4C中解释的方法以生成自动注释的图像,该图像包括表示相应植物的叶子和果实的对象。当涉及到与叶子相似颜色的其它植物元素(例如茎)的注释时,可以使用这种元素的手动注释。 [0120] 当现在使用还包括植物果实的表示的自动注释的图像时,可以训练DTCNN以不仅区分不同的植物物种而且还将图像分割成属于植物(例如,作物)的相应果实的像素。通常,农田中只种植一种作物物种。在这种情况下,采用自动注释的图像训练DTCNN就足够了,该自动注释的图像包括该作物物种的叶子和果实以及如前所述的其它植物物种(杂草)的图像。图5是示出可以与在此描述的技术一起使用的通用计算机设备900和通用移动计算机设备950的示例的图。计算设备900旨在表示各种形式的数字计算机,诸如膝上型计算机,台式机,工作站,个人数字助理,服务器,刀片服务器,大型机和其它适当的计算机。理想状态下,设备900具有适于处理机器学习算法的GPU。通用计算机设备900可以对应于图1的计算机系统100。计算设备950旨在表示各种形式的移动设备,诸如个人数字助理,蜂窝电话,智能电话和其它类似的计算设备。例如,计算设备950可以用作GUI前端,以供用户捕获测试输入图像并将它们提供给计算机设备900,并且继而从计算机设备接收分割图像,该图像指示图像上各种杂草植物的位置和杂草植物的相应物种。因此,计算设备950还可以包括图1的输出设备50。这里示出的组件,它们的连接和关系以及它们的功能仅是示例性的,并不意味着限制本文档中描述和/或要求保护的发明的实现方式。 [0121] 计算设备900包括处理器902,存储器904,存储设备906,连接到存储器904和高速扩展端口910的高速接口908,以及连接到低速总线914和存储设备906的低速接口912。组件902,904,906,908,910和912中的每一个都使用各种总线互连,并且可以安装在公共主板上或以其它方式适当安装。处理器902可以处理用于在计算设备900内执行的指令,包括存储在存储器904或存储设备906上的指令,以在外部输入/输出设备(诸如耦合到高速接口908的显示器916)上显示GUI的图形信息。在其它实现方式中,可以适当使用多个处理单元和/或多个总线以及多个存储器和存储器类型。此外,可以连接多个计算设备900,每个设备提供必要操作的部分(例如,作为服务器组,刀片服务器组或处理设备)。 [0122] 存储器904在计算设备900内存储信息。在一种实现方式中,存储器904是一个易失性存储器单元或多个易失性存储器单元。在另一个实现方式中,存储器904是一个易失性存储器单元或多个易失性存储器单元。存储器904也可以是另一种形式的计算机可读介质,诸如磁盘或光盘。 [0123] 存储设备906能够为计算设备900提供大容量存储。在一种实现方式中,存储设备906可以是或包含计算机可读介质,诸如软盘设备,硬盘设备,光盘设备,或磁带设备,闪存或其它类似的固态存储器设备,或设备阵列,包括存储区域网络或其它配置中的设备。计算机程序产品可以有形地体现在信息载体中。计算机程序产品还可以包含在执行时执行一种或多种方法(诸如上述那些方法)的指令。信息载体是计算机或机器可读介质,诸如存储器 904,存储设备906或处理器902上的存储器。 [0124] 高速控制器908管理计算设备900的带宽密集型操作,而低速控制器912管理较低带宽密集型操作。这种功能分配仅是示例性的。在一种实现方式中,高速控制器908耦合到存储器904,显示器916(例如,通过图形处理器或加速器),并耦合到可以接受各种扩展卡(未示出)的高速扩展端口910。在实现方式中,低速控制器912耦合到存储设备906和低速扩展端口914。可以包括各种通信端口(例如,USB,蓝牙,以太网,无线以太网)的低速扩展端口可以例如通过网络适配器耦合到一个或多个输入/输出设备,诸如键盘,定点设备,扫描仪或诸如交换机或路由器的网络设备。 [0125] 如图所示,计算设备900可以以多种不同的形式实现。例如,它可以实现为标准服务器920,或在一组这样的服务器中多次实现。它也可以作为机架服务器系统924的一部分来实现。此外,它可以在个人计算机(诸如膝上型计算机922)中实现。可替代地,来自计算设备900的组件可以与移动设备(未示出)(诸如设备950)中的其它组件组合。这种设备中的每一个可以包含一个或多个计算设备900,950,并且整个系统可以由彼此通信的多个计算设备900,950组成。 [0126] 计算设备950包括处理器952,存储器964,诸如显示器954的输入/输出设备,通信接口966和收发机968,以及其它组件。设备950还可以设置有存储设备,诸如微驱动器或其它设备,以提供附加存储。组件950,952,964,954,966和968中的每一个都使用各种总线互连,并且可以将若干组件安装在共同的主板上或以其它方式适当安装。 [0127] 处理器952可以执行计算设备950内的指令,包括存储在存储器964中的指令。处理器可以被实现为包括单独和多个模拟和数字处理单元的芯片组。例如,处理器可以提供设备950的其它组件的协调,诸如用户界面的控制,设备950运行的应用和通过设备950的无线通信。 [0128] 处理器952可以通过控制接口958和耦合到显示器954的显示接口956与用户通信。显示器954可以是例如TFT LCD(薄膜晶体管液晶显示器)或OLED(有机发光二极管)显示器或其它合适的显示器技术。显示接口956可以包括用于驱动显示器954以向用户呈现图形和其它信息的适当电路。控制接口958可以接收来自用户的命令并将它们转换以提交给处理器952。另外,可以提供与处理器952通信的外部接口962,以便使设备950能够与其它设备进行近距离通信。外部接口962可以例如在一些实现方式中提供有线通信,或者在其它实现方式中提供无线通信,并且也可以使用多个接口。 [0129] 存储器964在计算设备950内存储信息。存储器964可以实现为一种或多种计算机可读介质,一个或多个易失性存储器单元或一个或多个非易失性存储器单元。扩展存储器984还可被提供并通过扩展接口982连接到设备950,该扩展接口982可以包括例如SIMM(单列直插存储器模块)卡接口。这种扩展存储器984可以为设备950提供额外的存储空间,或者也可以为设备950存储应用或其它信息。具体地,扩展存储器984可以包括执行或补充上述处理的指令,并且还可以包括安全信息。因此,例如,扩展存储器984可以充当设备950的安全模块,并且可以用允许安全使用设备950的指令进行编程。此外,可以经由SIMM卡提供安全应用以及附加信息,诸如以不可破解的方式将识别信息放在SIMM卡上。 [0130] 如下所述,存储器可以包括例如闪存和/或NVRAM存储器。在一种实现方式中,计算机程序产品有形地体现在信息载体中。计算机程序产品包含在执行时执行一种或多种方法(诸如上述那些方法)的指令。信息载体是计算机或机器可读介质,诸如存储器964,扩展存储器984或处理器952上的存储器,其可以例如通过收发机968或外部接口962接收。 [0131] 设备950可以通过通信接口966进行无线通信,该通信接口966可以在必要时包括数字信号处理电路。通信接口966可以提供各种模式或协议下的通信,诸如GSM语音呼叫,SMS,EMS或MMS消息传递,CDMA,TDMA,PDC,WCDMA,CDMA2000或GPRS等。例如,可以通过射频收发机968进行这种通信。此外,可以进行短距离通信,诸如使用蓝牙,WiFi或其它这种收发机(未示出)。此外,GPS(全球定位系统)接收机模块980可以向设备950提供附加的导航相关和位置相关的无线数据,该数据可以由在设备950上运行的应用适当使用。 [0132] 设备950还可以使用音频编解码器960进行可听通信,该音频编解码器960可以接收来自用户的语音信息并将其转换为可用的数字信息。音频编解码器960同样可以例如在设备950的听筒中诸如通过扬声器为用户生成可听的声音。这种声音可以包括来自语音电话呼叫的声音,可以包括录制的声音(例如,语音消息,音乐文件等),并且还可以包括由在设备950上操作的应用生成的声音。 [0133] 如图中所示,计算设备950可以以多种不同的形式实现。例如,它可以实现为蜂窝电话980。它也可以实现为智能电话982,个人数字助理或其它类似移动设备的一部分。 [0134] 可以在数字电子电路,集成电路,专门设计的ASIC(专用集成电路),计算机硬件,固件,软件和/或它们的组合中实现在此描述的系统和技术的各种实现方式。这些各种实现方式可以包括在一个或多个计算机程序中的实现方式,该计算机程序在包括至少一个可编程处理器的可编程系统上是可执行和/或可解释的,该可编程处理器可以是专用或通用的,耦合以从存储系统,至少一个输入设备和至少一个输出设备接收数据和指令,以及将数据和指令发送到存储系统,至少一个输入设备和至少一个输出设备。 [0135] 这些计算机程序(也称为程序,软件,软件应用或代码)包括用于可编程处理器的机器指令,并且可以以高级过程和/或面向对象的编程语言和/或以汇编/机器语言实现。如在此所使用的,术语“机器可读介质”和“计算机可读介质”是指用于向可编程处理器提供机器指令和/或数据的任何计算机程序产品,装置和/或设备(例如,磁盘,光盘,存储器,可编程逻辑设备(PLD)),包括接收机器指令作为机器可读信号的机器可读介质。术语“机器可读信号”是指用于向可编程处理器提供机器指令和/或数据的任何信号。 [0136] 为了提供与用户的交互,这里描述的系统和技术可以在具有用于向用户显示信息的显示设备(例如,CRT(阴极射线管)或LCD(液晶显示器)监视器)以及用户可以凭此向计算机提供输入的键盘和定点设备(例如,鼠标或轨迹球)的计算机上实现。也可以使用其它类型的设备来提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感官反馈(例如,视觉反馈,听觉反馈或触觉反馈);并且可以以任何形式接收来自用户的输入,包括声音,语音或触觉输入。 [0137] 这里描述的系统和技术可以在包括后端组件(例如,作为数据服务器),或者包括中间件组件(例如,应用服务器)或者包括前端组件(例如,具有图形用户界面或Web浏览器的客户端计算机,用户可以通过它与这里描述的系统和技术的实现方式进行交互)或这种后端,中间件或前端组件的任何组合的计算设备中实现。系统的组件可以通过数字数据通信(例如,通信网络)的任何形式或介质相互连接。通信网络的示例包括局域网(“LAN”),广域网(“WAN”)和互联网。 [0138] 计算设备可以包括客户端和服务器。客户端和服务器通常彼此远离并且通常通过通信网络进行交互。客户端和服务器的关系借助于在相应的计算机上运行并且彼此具有客户端‑服务器关系的计算机程序产生。 [0139] 已经描述了多个实施例。然而,应当理解,在不背离本发明的精神和范围的情况下可以进行各种修改。 [0140] 此外,图中描绘的逻辑流程不需要所示的特定次序或顺序次序来实现期望的结果。此外,可以从所述的流程中提供其它步骤,或者可以消除步骤,并且可以将其它组件添加到所述的系统中或从所述的系统中移除。因此,其它实施例在以下权利要求的范围内。 [0141] 此外,本发明的实施例,特别是本发明的方法,可用于与农业机械交互,操作,控制和/或监测农业机械。作为本发明的优选实施例,本发明的方法进一步包括输出用于操作,控制和/或监测农业机械的信号(诸如控制信号或开关信号)的步骤。作为本发明的有利实施例,取决于本发明方法中杂草识别或植物识别步骤的结果,本发明的方法进一步包括输出信号(诸如控制信号或开关信号)以用于操作,控制和/或监测农业机械的步骤。更优选地,如果特定杂草被识别,则输出用于以针对该特定杂草的方式操作农业机械的控制或开关信号,例如输出用于操作农业机械以便喷洒或施用或以便准备喷洒或施用针对该特定杂草的除草剂或另一作物保护剂的控制信号。有利地,如果特定杂草被识别并且如果与该特定杂草相关的某个预定义阈值——例如关于杂草数量,或杂草量数量,或该杂草已被识别的面积(例如公顷)或地理位置的数量——超出,则输出用于以针对该特定杂草的方式操作农业机械的控制或开关信号。例如,输出用于操作农业机械以便喷洒或施用或以便准备喷洒或施用针对该特定杂草的除草剂或另一种作物保护剂的控制信号。农业机械可以包括一种或多种处理机构来处理田地中的植物。处理机构包括化学,机械,电气处理机构或这种处理机构的组合以处理杂草,疾病或昆虫。农业机械可以进一步包括检测和控制系统。检测系统可以被配置为在智能机械穿过田地时检测田地条件。控制系统可以被配置为基于检测到的田地条件来控制处理机构。 [0143] 在一个实施例中,检测系统包括一个或多个检测组件以在农业机械穿过田地时检测田地条件。检测组件可以是光学检测组件,诸如拍摄田地图像的相机。光学检测组件可以是例如图像记录设备90(参见图1)。 [0144] 在另一实施例中,农业机械包括与一个或多个检测组件相关联的一个或多个处理元件。在这种实施例中,当在驱动方向中看时,检测组件可以布置在处理元件的前面。这样,检测组件可以感测田地条件,系统可以分析感测到的田地条件,并且可以基于这种分析来控制处理元件。这允许在农业机械在田地中移动的同时基于处理时存在的实时田地条件进行针对性处理。 [0145] 在进一步的实施例中,喷雾器包括与多个光学检测组件相关联的多个喷嘴。在这种实施例中,当从驱动方向中看时,光学检测组件布置在喷嘴的前面。此外,光学检测组件中的每一个与喷嘴相关联,使得光学组件的视野和相关联喷嘴的喷雾轮廓在喷雾器移动通过田地时至少部分重叠。 [0146] 在进一步的实施例中,控制系统被配置为分析由检测系统提供的所感测的田地条件。基于这种分析,控制系统进一步被配置为一旦处理机构的位置达到所分析的田地位置,就生成控制信号以致动处理机构。 [0147] 图6示出作为分布式计算环境的一部分的智能农业机械210。 [0148] 智能农业机械210可以是智能喷雾器并且包括连接系统212。连接系统212被配置为将智能农业机械210通信地耦合到分布式计算环境。它可以被配置为将在智能农业机械210上收集的数据提供给分布式计算环境的一个或多个远程计算资源212,214,216。一种计算资源212,214,216可以是数据管理系统214,该数据管理系统214可以被配置为向智能农业机械210发送数据或从智能农业机械210接收数据。例如,作为包括在施用期间记录的数据的检测到的地图或作为包括在施用期间记录的数据的应用地图,可以从智能农业机械10发送到数据管理系统214。另外的计算资源212,214,216可以是田地管理系统216,该田地管理系统216可以被配置为向智能农业机械210提供控制协议,激活码或决策逻辑或从智能农业机械210接收数据。这种数据也可以通过数据管理系统214接收。另外的计算资源212, 214,216可以是客户端计算机216,该客户端计算机216可以被配置为从田地管理系统214和/或智能农业机械210接收客户端数据。这种客户端数据包括例如将采用智能农业机械 210在某些田地上进行的施用计划或提供对某些田地的健康状态的洞察力的田地分析数据。 [0149] 图7示出智能喷雾器系统的示例。 [0150] 该系统包括具有喷雾器220的拖拉机,该喷雾器220用于施用杀虫剂,诸如除草剂,杀真菌剂或杀虫剂。喷雾器220可以可释放地附接或直接安装到拖拉机。喷雾器220包括具有多个喷嘴222的喷杆,该多个喷嘴222沿着喷雾器220的喷杆布置。喷嘴222可以以规则或不规则的间隔沿喷杆固定或可移动地布置。每个喷嘴222包括可控阀以调节从喷嘴222到田地的流体释放。 [0151] 一个或多个罐24通过管道226与喷嘴222流体连接。每个罐224保持将要分布在田地上的流体混合物的一种或多种组分。这可能包括化学活性或非活性组分,如除草剂混合物,除草剂混合物的组分,针对特定杂草的选择性除草剂,杀真菌剂,杀真菌剂混合物,杀真菌剂和植物生长调节剂混合物,植物生长调节剂,水,油等。每个罐224可以进一步包括可控阀以调节从罐224到管道226的流体释放。这种布置允许控制释放到田地的混合物。 [0152] 此外,智能喷雾器系统包括检测系统228,该检测系统228具有沿喷杆布置的多个检测组件230。检测组件230可以沿喷杆以规则或不规则的间隔固定或可移动地布置。检测组件230被配置为感测一个或多个田地条件。检测组件230可以是提供田地的图像的光学检测组件230。合适的光学检测组件230是多光谱相机,立体相机,IR相机,CCD相机,高光谱相机,超声波或LIDAR(光检测和测距系统)相机。可替代地或另外地,检测组件230可包括用于测量湿度,光,温度,风或任何其它合适的田地条件的传感器。 [0153] 检测组件230布置在喷嘴222的前面(从驱动方向看)。在图1中所示的实施例中,检测组件230是光学检测组件,并且每个检测组件230与单个喷嘴222相关联,使得一旦喷嘴到达相应位置,视野包括田地上的相应喷嘴222的喷雾轮廓或至少与其重叠。在其它布置中,每个检测组件30可以与多于一个的喷嘴222相关联,或者多于一个的检测组件30可以与每个喷嘴222相关联。 [0154] 检测组件230,罐阀和喷嘴阀通信地耦合到控制系统232。在图1中所示的实施例中,控制系统232位于主喷雾器壳体中并且有线连接到相应组件。在另一个实施例中,检测组件230,罐阀或喷嘴阀可以无线连接到控制系统232。在另一个实施例中,多于一个的控制系统232可以分布在喷雾器壳体或拖拉机中并且通信地耦合到检测组件230,罐阀或喷嘴阀。 [0155] 控制系统232被配置为按照控制协议控制和/或监视检测组件,罐阀或喷嘴阀。在该方面,控制系统232可以包括多个模块。例如,一个模块控制检测组件以收集数据,诸如田地图像。另一个模块分析收集到的诸如图像的数据以得出用于罐或喷嘴阀控制的参数。另外的一个或多个模块基于该得出的参数控制罐和/或喷嘴阀。 [0156] 图8示出智能喷雾器系统经由化学控制机构控制杂草,疾病或昆虫的控制协议。 [0157] 一旦智能喷雾器在田地上激活施用操作,就可以触发智能喷雾器系统的控制协议。在第一步骤240中,光学检测组件被触发以提供诸如田地的图像的数据。在第二步骤242中,取决于化学控制机构的目标,针对杂草,疾病或昆虫分析所提供的数据,诸如由每个光学检测组件提供的图像。在本发明的上下文中,使用本发明的方法分析这种图像。在第三步骤244中,从这种分析中得出参数以得出和/或输出用于罐和喷嘴阀的控制信号。例如,如果使用本发明的方法识别了特定杂草,则得出和/或输出用于罐和喷嘴阀的控制信号,以便喷洒或施用或准备喷洒或施用针对所识别杂草的特定除草剂或作物保护剂。在第四步骤246中,将这种控制信号提供给相应的罐和/或喷嘴阀。 [0158] 由于系统设置,每个罐和喷嘴阀可以单独控制。因此,如果仅一个图像示出杂草的存在,则仅与具有覆盖该光学检测组件的视野的喷雾器轮廓的该光学检测组件相关联的相应喷嘴将被触发。类似地,如果多个图像示出杂草的存在——在使用本发明的方法进行图像分析之后——将触发与具有覆盖那些光学检测组件的视野的喷雾器轮廓的那些光学检测组件相关联的相应喷嘴。 [0159] 除了这种目标处理之外,罐阀的控制允许取决于田地中的光学检测组件感测的条件来调节处理组合物。例如,第一罐可以包括包含第一活性成分组合物的第一除草剂,并且第二罐可以包括包含第二活性成分组合物的第二除草剂。取决于使用本发明的方法的图像分析的结果,可以触发第一罐或第二罐或两个罐的阀以提供用于在田地上施用的相应的除草剂。 [0160] 在另一个有利的实施例中,可以基于使用本发明的方法的图像分析生成用于施用作物保护剂的可变速率施用(VRA)地图,其中例如通过可以安装在农业机械,无人驾驶飞行器(例如无人机)或任何可移动设备上的图像记录设备90获得待分析的图像。该可变速率施用(VRA)地图稍后可能被另一台农业机械,无人驾驶飞行器,用于施用除草剂或作物保护剂的可移动设备使用。 [0161] 在另一个有利的实施例中,使用本发明的方法的图像分析也可以用于监测除草剂或作物保护剂的施用——例如在该施用的有效性,及时性和完整性方面——在已经进行该施用之后,例如在已经进行该施用之后1天,2天,3天,4天,5天,6天,7天,10天,2周,3周,4周。取决于该图像分析的结果,特别是本发明方法中的杂草识别或植物识别步骤的结果,可以输出用于操作,控制和/或监测农业机械的信号,诸如控制信号或开关信号。 |