一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

通过提供密度图的卷积神经网络估计诸如叶子的植物部分上的对象数量来量化植物上的对象的制作方法

2022-05-12 00:11:48 来源:中国专利 TAG:


1.本公开一般涉及计算机图像处理,并且更具体地涉及用于量化植物的部分(或简称为“植物部分”)上的对象的技术。甚至更具体地,本公开涉及通过估计植物叶子上的昆虫或其它生物对象的数量来量化植物侵染的技术。


背景技术:

2.众所周知,农业植物(诸如作物)在它们与生物对象共存的环境中生长。这些对象倾向于位于植物处,通常是附着在植物上(至少是暂时的);并且对象与植物相互作用。
3.不同的对象倾向于将它们自身附着到植物的不同部分。例如,一些昆虫可能坐在叶子上,另一些可能会粘在茎或枝条上,等等。
4.从农民的角度来看,对象-植物相互作用具有两个方向或方面。在第一方向中,存在对植物具有有害影响的生物对象。例如,动物害虫破坏作物,给粮食供应和财产造成巨大的经济损失。举一个说明性示例,害虫动物可能会吃叶子或吃作物的果实。
5.在另一个方向中,也存在有益于植物的动物。例如,当蝴蝶访问植物的花朵或花时,植物可能有直接益处,或者如果瓢虫吃蚜虫(或其它害虫),则植物可能会有间接益处。
6.农民可以控制这些对象的存在:偏爱不存在一些对象(诸如害虫动物)和存在受益对象。
7.控制措施通常适应植物上对象的数量。原则上,对象在植物上的位置(叶子、茎、果实或任何地方)以及相互作用的方向都无关紧要。
8.例如为了示出这些方面中的一些,许多物种的昆虫生活在植物叶子上。例如,粉虱生活在茄子的叶子上。
9.在最广泛的意义上,昆虫与植物相互作用(例如通过消耗叶子的部分)。昆虫可引起植物的疾病或其它异常状况。最终,植物无法在昆虫的存在下存活。但是在农业中,植物应该成为食物(即人类或动物的作物),并且根本不希望叶子上存在昆虫。粮食安全至关重要。
10.这种现象的常用术语是“侵染”和“害虫”。农民应用对策(例如,通过施加杀虫剂的处理)以便移除昆虫。
11.然而,应用对策可能导致进一步的问题或挑战。对策必须针对特定昆虫,例如移除粉虱但保留蜜蜂和其它昆虫。对策还应考虑昆虫的数量。
12.因此,诸如通过对昆虫(在植物叶子上)计数来量化侵染是害虫管理的重要任务。
13.理论上,农民可以目视检查植物并且可以对昆虫(考虑昆虫发育阶段)计数。由于不同的人具有不同的知识(关于昆虫)并且具有不同的眼睛,不同的人会得出不同的数字。
14.使用计算机视觉技术似乎是一种改进。一种众所周知的(经典或传统)方法是提取图像特征并进行后续分类。然而,会出现许多限制。限制具有很多方面,诸如计算机和相机的限制、田间的非理想条件以及与昆虫本身有关的限制。
15.us 2018/0121764 a1解释了一种对昆虫进行选择性灭菌的方法。昆虫被饲养、放置在表面、拍照并由机器人选择性地操纵。计算机处理图像并识别特定检查的位置数据,并且从而区分雄性昆虫和雌性昆虫。采用位置数据,机器人就可以关于昆虫执行动作,诸如移除特定的昆虫。
16.xiaoping wu、chi zhan、yukun lai、ming-ming cheng和jufeng yang:ip102:ip102:a large-scale benchmark dataset for insect pest recognition,ieee cvpr,第8787-8796页,2019年6月15日。在该文章中,wu等人解释了用于虫害识别的大型数据库。


技术实现要素:

17.限制通过用于量化植物部分上的生物对象的计算机系统、计算机实现方法和计算机程序产品来解决(在示例中:量化植物侵染,估计植物叶子上的昆虫数量)。
18.计算机程序产品——当被加载到计算机的存储器中并且被计算机的至少一个处理器执行时——执行计算机实现方法的步骤。
19.在生产阶段中,计算机应用先前已经在训练阶段中训练的卷积神经网络。首先总结生产阶段:
20.计算机接收从特定植物拍摄的植物图像。植物图像示出特定植物的叶子中的至少一个叶子,即所谓的主叶(或主要部分)。
21.计算机使用第一卷积神经网络来处理植物图像以导出叶子图像,该叶子图像是完整(即作为整体)示出特定植物的主要部分的连续的一组像素。第一卷积神经网络已经由多个叶子注释的植物图像训练,其中植物图像已经被注释以识别主要部分。
22.计算机将叶子图像分割成多个图块。图块是具有预定义图块尺寸的植物图像的片段或部分。
23.计算机使用第二卷积神经网络来分离地处理多个图块以获得具有与图块尺寸对应的图尺寸的多个密度图。该网络已通过处理对象注释的植物图像进行了训练,并且该训练包括基于核函数针对每个像素的卷积计算,从而生成密度图。对于示出生物对象的图块和不示出生物对象的图块,密度图具有不同的积分值。
24.计算机以叶子图像尺寸将多个密度图组合成组合密度图,并将组合密度图的像素值整合到植物部分的生物对象的估计数量。
25.第一卷积神经网络——即识别主叶的网络——可以是densenet类型。第二卷积神经网络——即估计部分上的生物对象的数量的网络——可以是卷积神经网络(fcrn)类型。
26.第二卷积神经网络(fcrn类型)可以是使用全局和池化而不是全局平均池化的修改网络。
27.还可以通过使用dropout来修改卷积神经网络。
28.第二卷积神经网络还可以通过将输入层实现为用于单个像素或用于多个像素(pixel pluralities)的像素值过滤器(所谓的图块片段)来修改。
29.对于多个像素,网络使用层来对多个像素进行卷积,以将卷积的片段编码为片段值,使得进一步的层对片段值应用过滤。第二卷积神经网络也可以采用一个层来实现,以随后将片段值解码为卷积片段。该方法让编码器和解码器之间的网络层采用片段的数值而不是像素的数值进行操作。由于片段数小于像素数,因此该方法使用较少的计算资源(与像素
处理相比)。
30.第二卷积神经网络可以通过处理不同类别的对象注释植物图像来训练。类别由对象物种(例如,昆虫物种)和由对象的生长阶段来识别。通过分支和输出通道针对类别来分离处理。
31.该方法可能是有利的——在生物对象是害虫的场景下,因为它以允许微调针对特定害虫类别的对策的粒度来量化(通过害虫的)植物侵染。
32.在生产阶段中,可以通过从移动设备的相机接收植物图像来执行植物图像的接收。这可能是有利的,因为移动设备对农民来说很容易获得,并且因为移动设备允许将植物图像立即传送到量化植物侵染的计算机。
33.接收植物图像可以包括根据预定义规则评估类别(例如,害虫类别)和移动设备的相机的像素分辨率,其中对于一些类别和分辨率,导致移动设备采用放大镜头拍摄图像。该措施可以提高估计的准确性。可以经由移动设备的用户界面指示农民应用镜头。
34.可以通过使用作为平均绝对误差或作为均方误差的损失函数来训练第二卷积神经网络。
附图说明
35.图1示出一种计算机实现方法的概述,该方法在训练阶段教导卷积神经网络(cnn)以对叶子上的昆虫计数;
36.图2示出在生产阶段期间对叶子上的昆虫计数的计算机实现方法的概述;
37.图3示出计算机实现方法的概述;
38.图4示出昆虫发育阶段、昆虫物种和计数类别的图表;
39.图5示出显示具有叶子和昆虫的特定植物的植物图像;
40.图6示出计算机的用户界面以及注释图像的专家用户;
41.图7示出叶子图像;
42.图8示出被分割成图块或子区域的图像;
43.图9示出在其输入处具有分离器模块并且在其输出处具有组合器模块的cnn;
44.图10概括地示出具有层的cnn;
45.图11a和图11b示出在区分多于两种的昆虫类别的实现方式中作为cnn层的一部分实现的像素值过滤器;
46.图12示出具有多个输出通道的cnn;
47.图13示出一组昆虫注释图像,具有用于训练、验证和测试的子集;以及
48.图14示出通用计算机系统。
具体实施方式
49.写作约定
50.说明书开始于解释一些书写约定。
51.术语“图像”代表数码照片的数据结构(即,使用诸如jpeg、tiff、bmp、raw等文件格式的数据结构)。短语“拍摄图像”代表将相机对准对象(诸如植物或植物的一部分)并让相机存储图像的动作。
52.本说明书在解释图像的内容(即语义)时使用术语“示出”,例如在诸如“图像示出植物”的短语中。然而,人类用户无需查看图像。这种计算机-用户交互用术语“显示”来表达,诸如在“计算机向专家显示植物图像”中,其中专家用户看着屏幕以看到图像上的植物。
53.术语“注释”代表当专家用户查看图像的显示并与计算机交互时计算机接收的元数据。术语“注释图像”指示图像(或该图像的子区域)的这种元数据的可用性,但无需将元数据和图像存储在相同的数据结构中。有时,附图将注释示出为图像的一部分,诸如通过多边形和/或点,但同样:注释是元数据,并且不需要将它们嵌入到图像的数据结构中。
54.图像将仅示出植物具有它们的地上(空气中)成分,而不是根部。因此,术语“植物部分”(或简称“部分”)是指以下任何一种:茎、枝、叶、花(或花朵)、果实、芽、种子、果实、节和节间。同样的原则也适用于复数形式的“部分”:茎、枝、叶、花等。当然,并不是每一种植物都会在每个类别中都有部分,所以年轻的植物可能还没有结果。如在此所使用的,说明书将“叶子”写为“部分”的每一个部分。
55.该约定也适用于诸如“叶子注释”代表“部分注释”的短语。
56.通常,术语“昆虫”代表“节肢动物”门或1arthp(欧洲和地中海植物保护组织的eppo代码)门中的动物界。在实现方式中,昆虫属于“六足纲”(1hexaq)亚门。为简单和方便起见,本说明书使用术语“昆虫”。需要注意的是,“昆虫”是一个名词(在通常的语言中),大多数读者可以很容易地应用计数。阅读“一个昆虫”或“两个昆虫”的技术人员立即理解。
57.术语“昆虫”也用于表示位于要计数的植物部分上的生物对象。
58.(要计数的)生物对象具有相对小于它所在的部分的物理大小。还应注意,对象位于一个部分上。由于植物图像被处理为示出一个部分的图像(通过分割),大小关系也转移到图像。
59.为了说明:采用一些腿坐在第一片叶子上,而采用其它腿坐在第二片叶子上的昆虫不被计算在内,因为图像将被分割到叶子中的一片叶子。或者,覆盖叶子和覆盖枝条的图像上出现的相对较大的昆虫无法被计数。
60.在生物分类学方面,生物对象可以是昆虫或可以是蛛形纲动物(即,节肢动物),或者生物对象可以是软体动物(不是节肢动物)。生物对象的内部结构无关紧要,只要其符合大小标准即可。换句话说,对象是否具有外骨骼、分段的身体和成对的关节附肢(如节肢动物一样)并不重要。
61.此外,对于计算机而言,不同数量的腿(例如,昆虫具有6条腿,蛛形纲动物具有8条腿,或者甚至没有腿,像蜗牛那样)对于计算机来说并不重要。
62.对象也可以是植物部分表面上的斑点(斑点是生物过程的结果,诸如与植物等相互作用的真菌、动物排泄物等)。本领域技术人员可以识别合适的措施(例如,对策)。
63.术语“昆虫”的使用适用于短语,诸如“昆虫注释的”或类似意思的“对象注释的”。
64.此外,生物对象与植物(或与茎枝等部分)的相互作用无关紧要。生物对象可以是有害的或有益的。术语“阶段”(也称为“发育阶段”、“生长阶段”)识别了昆虫(即一般为生物对象的)生命周期(或变态)的差异,其中处于第一阶段的昆虫具有与在随后的第二阶段的昆虫不同的视觉外观。生物学家可以通过诸如卵、幼虫、蛹和成虫的术语来区分各个阶段(或“龄期(stadia)”)。也可以使用其它约定,诸如“成虫(adult)”和“若虫(nymph)”,或甚至可以使用标准化的数字标识符,诸如“n1n2”、“n3n4”等。植物的发育阶段没有区别。
65.术语“计数”是“估计数量”的缩写,诸如用于估计叶子上昆虫的数量(即,植物部分上的生物对象的数量)。
66.本说明书使用术语“训练”作为第一过程的标签——“训练过程”——它使cnn能够计数昆虫,并通过使用注释图像来训练特定cnn的特定任务。
67.为方便起见,本说明书以单数形式指代硬件组件(诸如计算机、相机、移动设备、通信网络)。然而,实现方式可以使用多个组件。例如,“相机拍摄多张图像”包括多个相机参与的场景,使得一些图像从第一相机拍摄,一些图像从第二相机拍摄,等等。
68.图中,后缀
“‑
1、-2...”等区分类似项目;并且后缀“(1),(2)...”区分不同的项目。
69.在术语“类别”指生物学中的分类等级的情况下,术语“类别”用于在通用含义上区分集合等,如果需要将对此进行解释。
70.文件结构
71.参考图1-3,本说明书提供了两个阶段中cnn的应用的概述,并且从而介绍了预处理活动以及计算机实现方法。参考图4,本说明书介绍了要计数的不同发育阶段中的昆虫。参考图5-12,描述调查细节(关于植物、图像、要处理的图像部分)。关于图13,本说明书讨论了准确性。
72.训练和生产阶段的概述
73.图1-3示出计算机实现方法的概述
74.■
如在图1中,训练卷积神经网络(cnn)在训练阶段**1中对叶子上的昆虫计数,以及
75.■
如在图2中,通过在(随后的)生产阶段**2(图2)期间对叶子上的昆虫进行实际计数来量化侵染。
76.在整个说明书中,注释为**1/**2的参考代表相似但在两个阶段中具有不同用途的元素。
77.从左到右,图1-2示出植物111/112(具有叶子和昆虫)、用于拍摄植物图像411/412的相机311/312,以及具有cnn以执行计算机实现方法601b/602b/701b/702b的计算机201/202。这些图还示出人类用户191/192。
78.图1-2通过带有加粗的矩形来示出计算机201/202。计算机201/202通过基于机器学习(ml)的技术实现方法601b、602b、701b和702b(图3)。图1-2还示出执行辅助活动(或参与其中)的计算机301和移动设备302,诸如
79.■
拍摄图像,
80.■
传输图像,
81.■
接收注释,以及
82.■
将诸如估计值的结果转发到其它计算机。
83.一些辅助活动是准备方法执行的预处理活动。在图3中,预处理活动由附图标记601a、602a、701a和702a示出。
84.计算机201/202使用cnn和下面将解释的其它模块(诸如用户界面、数据库、分离器和组合器模块等)。虽然图1-2只是介绍了cnn,但是其它图提供了预处理图像和为cnn设定参数的细节。cnn 261和271正在分别成为经训练的cnn 272和272的训练阶段**1中接受训练。换句话说,未训练和训练的cnn之间的区别在于通过训练获得的参数的可用性。
85.图3示出对计算机实现方法601b、602b、701b和702b的概述。这些方法在矩阵中示出。通常,对叶子上的昆虫进行计数被分为序列,简化为:
86.■
第一子序列(由左侧的列示出),用于识别图像上的叶子,以及
87.■
第二子序列(由右侧的列示出),用于对所识别的叶子上的昆虫进行计数。
88.图3将预处理活动601a、602a、701a和702a(诸如拍摄图像和注释图像)与采用机器学习技术的计算机实现方法601b、602b、701b和702b区分开。
89.方法601b和602b采用cnn 261/262执行,并且方法701b和702b采用cnn 271/272执行。cnn 261/262和cnn 271/272在参数上彼此不同(如下所述)。
90.cnn使用密度图估计技术,其中-简化-像素值的积分导致估计的昆虫数量。换句话说,通过计算积分来执行计数。估计的数量n
est
可以是非整数。对于上述目的(识别针对侵染的适当对策),n
est
的准确性就足够了。
[0091]“lempitsky,v.,zisserman,a.,2010.learning to count objects in images.neural inf.process.syst.1

9”解释了使用密度图对对象进行计数。
[0092]
训练阶段
[0093]
训练阶段**1参考图1在图3的第一行中示出。
[0094]
如预处理601a所示,相机311拍摄多个植物图像411(在图像采集活动中)。计算机301与专家用户191交互以获得叶子注释并获得昆虫注释。用户191可以具有不同的角色(图6中的细节)。图像和注释的组合被提供为注释图像461、471。为方便起见,说明书区分叶子注释的植物图像461和昆虫注释的叶子图像471。然而要注意,特定图像可以具有叶子注释和昆虫注释二者。
[0095]
计算机301将注释图像461、471转发到计算机201。
[0096]
在执行计算机实现方法601b时,计算机201(图1)接收与叶子注释组合的多个植物图像(统称为“叶子注释的植物图像”)。计算机201然后使用多个子集并训练cnn 261以识别植物图像中的特定叶子(未注释)。由此,计算机201将未训练的cnn 261转换为经训练的cnn 262。换句话说,cnn 262是计算机201的输出。
[0097]
在执行方法701b中,计算机201接收与昆虫注释相结合的多个叶子注释的植物图像(统称为“昆虫注释的叶子图像”)。然后计算机201训练cnn 271来对特定叶子上的昆虫计数。因此,计算机201将未训练的cnn271变成经训练的cnn 272。换句话说,cnn 272也是计算机201的输出。
[0098]
注意,说明书假定要对相同的多个植物图像411进行注释。这是方便的,但不是必需的。多个情况可以不同。例如,要进行叶子注释的多个植物图像411可以示出未受侵染的植物。使用叶子注释的植物图像471(来自这种健康植物)来进一步提供昆虫注释将失败,因为将没有要注释的昆虫。可以为未分割为叶子的图像提供昆虫注释。
[0099]
生产阶段
[0100]
生产阶段**2参考图2在图3的第二行中示出。
[0101]
如预处理602a所示,设备302的相机312拍摄植物图像412并将其转发给计算机202。
[0102]
在执行方法602b时,计算机202(图2)使用cnn 262来识别特定叶子(并由此创建叶子图像)。随后,在执行方法702b时,计算机202使用cnn 272并处理叶子图像422。由此,计算
机202对该特定叶子上的昆虫(以及如果被相应训练的话,可能其它对象)计数。因此,计算机202获得每片叶子的昆虫的估计数量n
est
作为结果。
[0103]
在科学文献中,使用经训练的cnn来获得结果有时被称为“测试”。
[0104]
现在再次参照图1-2,本说明书说明进一步的方面和实现方式细节。
[0105]
详细训练阶段
[0106]
返回图1,它示出植物111。植物111具有叶子121,并且叶子121被昆虫131和非昆虫对象141占据。植物111可以是陆生植物(不是水生植物)。相机311拍摄(多个)植物图像411,该植物图像在训练阶段**1期间在计算机201中处理。
[0107]
训练阶段**1具有两个子阶段。
[0108]

第一子阶段包括诸如拍摄多个植物图像411、让专家用户191向计算机301提供植物图像411的注释的活动。存在特定于叶子的注释,并且存在特定于昆虫的注释。接收注释的计算机301产生注释图像461、471,该注释图像是叶子注释图像和昆虫注释图像(图6)。接收注释也可以被认为是监督学习部分。
[0109]

在第二子阶段中,计算机201然后使用注释图像461、471训练cnn261来识别主叶(即植物图像的语义分割)并训练cnn 271来识别昆虫(即,在之前识别的主叶)。本领域技术人员可以应用合适的训练设置。
[0110]
尽管计算机201由单个框示出,但它可以由单独的物理计算机实现。相同的原理适用于植物111和相机311。植物和相机不必对所有图像都相同。而是期望具有来自具有不同特性的相机311的植物图像411。此外,多个图像411表示多个植物111。不需要一对一的关系,因此可以由多个图像表示一种特定的植物。
[0111]
训练cnn可以看作是从训练阶段到生产阶段的转换。如图1中,cnn261和271正在被训练成为训练的cnn 262和272。
[0112]
不需要复制cnn(准从图到图)。本领域技术人员可以将参数从一个网络接管到另一个网络,诸如从cnn 261(图1)到cnn 262(图2)和从cnn 271(图1)到cnn 272(图2)。
[0113]
如图1中,从左到右可以看到时间的进展。在训练阶段**1期间,植物111是否仍然存活并不重要;数据通信只进入一个方向。然而,在图2解释的生产阶段**2中,在字面的真正意义上,时序对于植物112来说至关重要,因为来自经训练的cnn 262、272的输出是用于处理植物112(或其在田地上的邻居)的信息。
[0114]
训练阶段**1通常在专家用户191的监督学习中执行一次。将解释采用相机311拍摄植物图像411(作为参考图像)、采用专家用户191注释植物图像411(或其派生图像)以及采用计算机实现的处理的训练阶段的设置。本说明书假设训练阶段**1已在生产阶段**2之前完成。然而,可以连续并与生产阶段**2并行地执行训练阶段**1。
[0115]
详细的生产阶段
[0116]
返回图2,通过在农业领域的示例性应用中,计算机(示为计算机202)对植物112的叶子122上的昆虫132进行计数来示出计算机实现方法的概述。田地是在露天还是在温室中都没有关系。
[0117]
简化后,计算机202处理通过通信网络342从移动设备302接收的植物图像412。与图1的训练阶段**1不同,在理论上一张图像412就足够了。
[0118]
叶子122是所谓的“被侵染的叶子”,因为昆虫位于它们上面。可以区分特定类别
132(1)(由普通椭圆表示)和(可选)特定类别132(2)(由加粗的椭圆表示)的昆虫的计数。可选地,计数可以考虑进一步的类别(参见图4和图11)。
[0119]
非昆虫对象142不一定要被计数。这种对象142可以位于叶子内并且可以是叶子122的结构元素,诸如叶子上的损坏、光反射引起的发光效果等。值得注意的是,许多昆虫会伪装自己。因此,对于计算机来说,可能难以区分昆虫132和非昆虫对象142。
[0120]
昆虫类别(1)和(2)由如下定义
[0121]

由特定的昆虫物种,以及(即,逻辑与)
[0122]

由特定的发育阶段(参见图2和4)。
[0123]
在图4中给出具有更多类别的更微调的粒度,并且在图11-12中给出cnn对这种粒度的调节。如在此所使用的,术语“昆虫”与“虫”同义使用。
[0124]
植物112具有多片叶子122。为简单起见,仅示出了两片叶子122-1和122-2。叶子122被昆虫132占据(与训练阶段**1没有区别)。为方便起见,图2没有按比例缩放,昆虫的大小不成比例。田地用户192——例如种植植物112的农民——使用移动设备302的相机312来拍摄植物112的图像(植物图像412)。对于具有两个(或更多)相机的移动设备,相机312方便地是具有最高分辨率的相机。
[0125]
移动设备302可以被视为图像设备(即相机312)、处理器和存储器的组合。移动设备302对于农民来说是容易获得的,例如如所谓的“智能手机”或如“平板计算机”。当然,移动设备302可以被视为“计算机”。注意,移动设备302仅参与辅助活动(参见图3,602a、702a)。
[0126]
田地用户192尝试将至少一个完整的叶子(这里是叶子122-1)捕捉到(至少一个)植物图像412中。换句话说,田地用户192只是为植物拍摄照片。因此,田地用户192可以观看显示位于相机312前面的植物的用户界面392(即,在设备302的可视化用户界面处)。
[0127]
移动设备302然后经由通信网络342将植物图像412转发到计算机202。如通信网络342的图示所示,计算机202可以从移动设备302远程实现。
[0128]
计算机202返回被显示给(移动设备302的)用户界面392的结果。在该图的更简化示例中,存在计数的n(1)=3个具有类(1)的昆虫(即昆虫132(1))和n(2)=2个具有类(2)的昆虫(即昆虫132(2))。数量n(1)、n(2)(或一般的n)是对于每片叶子的数量,而不是对于每株植物的数量(这里以主叶122-1为例)。该数量对应于n
est
(n
est
被四舍五入为最接近的整数n)。
[0129]
可选地,通过证明按类别(诸如(1)和(2))分开的侵染数据,田地用户192可以以更好的成功预期识别对抗侵染的对策。
[0130]
术语“主叶”并不暗示植物上的叶子的任何等级关系,而只是代表用于计数昆虫的特定叶子。相邻叶122-2是位于靠近主叶122-1的叶子的示例,但不对该叶进行昆虫计数。尽管以单数示出,植物112具有一个主叶但具有多个相邻叶。假设植物图像412完全代表主叶,而仅部分代表相邻叶。这便于解释,但不是必需的。
[0131]
通常主叶122-1位于相邻叶122-2(或多个相邻叶)的顶部。它们彼此重叠,并且很难识别彼此之间的边缘。
[0132]
准确性:误报、漏报
[0133]
数量n从估计的数量n
est
导出,本说明书描述了准确地确定n的方法。
[0134]
理想地,仅计数位于主叶122-1上的昆虫132。未被计数但位于主叶122-1上的昆虫132将被认为是“漏报”,而被计数但位于相邻叶上的昆虫将被认为是“误报”。正如下面将更详细地解释的,计数包括两个主要的子过程:
[0135]

首先,区分主叶和相邻叶(也称为叶识别、分割)
[0136]

其次,只对主叶上的昆虫进行计数。
[0137]
换句话说,在计数之前识别主叶使“漏报”和“误报”的数量可以忽略不计。
[0138]
实现方式
[0139]
移动设备302和计算机202之间经由通信网络342的通信可以通过可用的并且由通信提供商在商业上提供的技术来实现。
[0140]
计算机202具有cnn 262/272,其执行计算机实现方法602b和602b(结合图10的细节)。cnn 262和272之前已经训练过(方法601b和701b)。
[0141]
在实施例中,计算机201/202使用操作系统(os)linux,并且执行方法601b/602b、701b/702b的模块由以python编程语言的软件实现。通过容器虚拟化来实现模块很方便。适当的软件例如可以在商业上从docker inc.(san francisco,california,us)获得。在软件即服务(saas)实现方式中,移动设备302充当客户端,而计算机202充当服务器。
[0142]
除了cnn 262/272之外,计算机202还具有其它模块,例如,可以使用众所周知的rest api(representational state transfer,应用程序编程接口)来实现移动设备302和计算机202之间的通信。计算机202对移动设备302表现为网络服务。本领域技术人员可以应用其它设置。
[0143]
具有cnn 262/272(执行该方法)的计算机202获得n
est
所花费的时间取决于植物图像412的分辨率。执行方法602b和702b可能需要几秒钟。处理时间随着图像分辨率的增加而增加(处理时间已在测试运行中测量。对于具有4000
×
6000像素的植物图像412,处理时间约为9秒)。
[0144]
以其原始像素分辨率传输植物图像412是方便的,否则计数昆虫的准确性将下降。换句话说,存在许多以降低的分辨率传输图像的技术,但是对于该应用,这种技术在这里应该被忽略。然而,可以传输压缩图像(以无损格式)。在现代通信网络中,带宽消耗(以原始分辨率传输图像)不再是问题。
[0145]
注意,对于田地用户192,用于捕捉图像的条件并不总是理想的。例如,如下方面存在一些变化
[0146]

采集距离(相机和植物之间,用户在不同高度处手持移动设备),
[0147]

照明(例如,晴天或雨天/阴天,一些叶子可能会遮住其它叶子),
[0148]

植物表面(例如,植物上的灰尘或雨滴等),
[0149]

透视(例如,从侧面或顶部拍摄图像以从两个极端来命名),
[0150]

聚焦(例如,植物的不相关部分的清晰图像),
[0151]

分辨率(例如,具有2400万像素相机的移动设备相比具有较少像素的设备),等等。
[0152]
昆虫、植物和用例
[0153]
在下文中,描述将简要研究要计数的对象:昆虫131/132(参见图1-2),然后转向讨论现有技术的问题和适用于计数昆虫的解决方法。
[0154]
本说明书使用植物/昆虫组合的两个示例。
[0155]

在第一组合中,植物111/112是茄子(solanum melongena,eppo代码solme),并且昆虫131/132属于粉虱物种(bemisia tabaci烟粉虱,eppo代码bemita)。
[0156]

在第二组合中,植物111/112也是茄子,并且昆虫131/132属于蓟马(franklinella occidentalis,eppo代码franoc)。
[0157]
注意,本领域技术人员可以区分这种(和其它组合)而无需在此进一步解释。拍摄图像、注释图像、训练cnn、计数昆虫(参见图3中的预处理和方法执行)通常是针对其中一种组合进行的。
[0158]
一般规则的例外情况是可能的。如果植物外观相似,则可以在训练阶段**1和生产阶段**2中具有不同的植物物种。在那种情况下,预处理601a和执行方法601b(即训练cnn 261/262以分割叶子)将采用第一植物物种(例如,茄子)执行,并且预处理602a和执行方法602b将采用第二植物物种执行。第二植物物种可以属于其它作物,诸如例如棉花、大豆、卷心菜、包谷(即玉米)。
[0159]
由于虫害是由昆虫造成的,因此描述集中在昆虫上。昆虫在所谓的变态过程中通过一系列发育阶段改变外观是一种约束。
[0160]
量化侵染的粒度
[0161]
由于获得关于侵染的数据的准确性与获得数据的努力有关,因此说明书现在引入粒度方面。
[0162]
图4示出具有如下方面的图表
[0163]

昆虫131/132的发育阶段(a)、(b)、(c)和(d)(参见图1-2),
[0164]

昆虫物种(i)和(ii),以及
[0165]

计数类别(1),(2),(3),(4)
[0166]
如箭头(从左到右)所示,发育阶段以具有状态转换的预定义顺序发生:从阶段(a)到(b),从(b)到(c),从(c)到(d)。箭头是虚线的,只是为了示出其它转换(诸如从(b)到(d))是可能的。生物学家可以将这些阶段与与昆虫年龄相关的语义相联系,诸如“卵”、“若虫”、“成虫”、“空蛹”(昆虫离开了蛹,并且只剩下蛹的皮肤),与生死相关的语义相联系。作为表达阶段的特定方式是本领域公知的“n1n2”/“n3n4”命名法。
[0167]
每个阶段中外观的细节是众所周知的。顺便提一点,昆虫可以长出翅膀。例如,翅膀的存在与否可以指示蓟马的特定发育阶段。
[0168]
在这些阶段之下,图4示出阶段到物种的矩阵,具有
[0169]

以列的阶段(a)到(d),以及
[0170]

以行的昆虫物种(i)和(ii)。
[0171]
在该示例中,存在两种物种:(i)“粉虱”和(ii)“蓟马”。两个物种的昆虫都经历了(a)到(d)阶段(当然是分开的:(i)不会变成(ii),反之亦然)。列/行交叉处的黑点指示应计数特定阶段/物种组合的昆虫。这是准确性(例如,对黑点情况至关重要的侵染,但有可用的对策)和努力(注释、计算、训练等)之间的折衷。
[0172]
矩形将特定阶段/物种组合分组到类别(1)到(4)中,并且从而区分用例1到3。
[0173]
对于每个特定用例,以下假设适用:
[0174]

在训练阶段**1中,专家用户191可以在植物图像(或叶子图像)上对特定阶段/
物种组合中的昆虫进行注释,并且可以使用这种注释训练cnn。
[0175]

在生产阶段中,具有cnn 272的计算机202可以相应地对昆虫计数。
[0176]
本说明书通过示例解释了用例:
[0177]
在用例1中,训练cnn 271/272以提供n
est
作为阶段(b)和(c)中的物种(i)的昆虫的数量,而不区分(b)和(c),即
[0178]
■nest
(i)(b)(c)
[0179]
在用例2中,训练cnn 271/272以提供2个单独数量的n
est
(参见图1-2中的介绍):
[0180]
■nest
(ii)(b)
[0181]
■nest
(ii)(c)
[0182]
在用例3中,cnn 271/272被训练以提供4个单独数量的n
est

[0183]
■nest
(i)(a)
[0184]
■nest
(i)(b)
[0185]
■nest
(i)(c)
[0186]
■nest
(i)(d)
[0187]
矩形采用类别编号(1)到(4)来图示,其中类别只是替代符号。本说明书将结合图11-12解释针对多类别用例(用例2和3)对cnn的调节。
[0188]
与昆虫有关的约束
[0189]
描述现在涉及一些挑战,但与解决方案相结合。
[0190]
对于每个发育阶段,昆虫对植物的影响(以及适当的对策)可以是不同的。例如,确定若虫的数量(每片叶子)、空蛹的数量等可能很重要。区分年轻若虫和老若虫可以指示自昆虫到达以来经过的时间间隔,并有机会微调对策。例如,成虫可能产卵(并且这应该被防止)。
[0191]
图5示出植物图像411/412(虚线框,参见图1-2)。植物图像411/412示出具有叶子421/422和昆虫431/432的特定植物。图5被简化并且使用用于叶子的符号(没有示出特征叶子形状)。叶子421-1对应于叶子121-1(图1),并且叶子421-2对应于部分地示出的叶子121-2(图1)。叶子422-1对应于叶子122-1(图1),并且叶子422-2对应于同样部分地示出的叶子122-2(图2)。
[0192]
图5以小正方形示出昆虫431/432,其中的一些在叶子421-1/422-1上,并且其中的一些在叶子421-2/422-2上。非昆虫对象441/442由带圆角的小正方形的符号示出。虽然在此图中没有用符号图示,但昆虫可以属于不同的类别(参见图4)。
[0193]
注意,叶子、昆虫和非昆虫对象的空间布置(即像素坐标(x,y))因图像而异。原因很简单:图像示出不同的物理植物(甚至是在不同的时间点拍摄的)。
[0194]
为了便于解释,本说明书使用诸如“昆虫431/432”和“非昆虫对象441/442”的术语。然而要注意的是,图5示出一个图像(作为数据结构),使得“昆虫431/432”实际上以符号示出表示昆虫的像素(对于441/442也是如此)。
[0195]
为了在训练阶段**1中使用,植物图像411(参见图1)可以由高分辨率相机(例如,24兆像素)或移动设备的主相机拍摄。
[0196]
尽管这里被示为单个图像,但是在训练阶段**中,图像被拍摄为多个。值得注意的是,在拍摄图像进行训练时,可以考虑各种不同的相机。
[0197]
在生产阶段中,植物图像412通常由移动设备302的相机312拍摄(参见图2)。图5也便于解释来自对象(即具有叶子和昆虫的植物)和移动设备相机不足引起的约束。
[0198]
图5示出纵向(高度大于宽度)的图像411/412,这很方便但不是必需的。为方便起见,给出了用于识别特定像素的图像坐标(x,y)。图像尺寸以像素为单位进行讨论。例如,图像411/412在y坐标中可以具有6000个像素,在x坐标中可以具有4000个像素(即24兆像素,或“24m”)。像素数是相机传感器的特性,并且可以变化。
[0199]
图像411/412通常是三通道彩色图像,颜色通常以rgb颜色空间(即红色、绿色和蓝色)编码。
[0200]
请注意,图像412不必显示给田地用户192。此外,田地场景将针对单个图像412进行说明,但实际上可能建议田地用户192拍摄几个类似的图像412。
[0201]
图像412表示现实(即植物112、叶子122、昆虫132、非昆虫对象142),但至少具有以下进一步的约束。
[0202]
如已经提到的,植物111/112在不同的物理位置处具有多个叶子。因此,在图像411/412中,一片叶子可以覆盖其它叶子。或者换句话说,虽然在现实中(参见图1)叶子是分开的,但是叶子421-1和叶子421-2表现为相邻的叶子(422-1和422-2也是)。
[0203]
然而,为了将n计数为“每片叶子的特定类中的昆虫”,必须考虑叠加。由于多个叶子具有相似的颜色(通常为绿色),它们在植物图像411/412中的表示以相同的颜色出现(即图像中的颜色差异很小或为零)。
[0204]
此外,每种特定类别的昆虫具有特定颜色。该颜色可以称为教科书颜色或标准颜色。例如,顾名思义,成年粉虱是白色的(至少在大多数情况下)。
[0205]
然而,图像不能正确地表示教科书颜色。至少有以下原因:
[0206]

昆虫的颜色具有自然的可变性。
[0207]

照明可以不同(例如,多云的天空、晴朗的天空、阴影等)
[0208]

相机311/312不是理想的相机。它没有考虑这种不同的照明条件。因此,图像可能无法正确示出颜色。
[0209]
在图像的编码中(表示颜色的数值,例如在提到的rgb空间中),数值会不同。因此,图像中(颜色的)绝对值因此不是特定的表征。
[0210]
由于提到的伪装,区分昆虫131/132和非昆虫对象141/142可能是复杂的。这在本质上是复杂的,并且在图像中甚至更复杂。
[0211]
此外,与叶子相比,昆虫可能相对较小。例如,昆虫可小于一毫米的长度。与图1-2中的强调相反,几百只昆虫很容易占据单片叶子。昆虫通常也是对于人眼检测来说相对微小的东西。这与例如花朵花瓣中的单只蜜蜂形成鲜明对比。
[0212]
图5以符号表示昆虫431/432的尺寸。例如,昆虫显示为大约y
ins
=30像素和大约x
ins
=20像素(即仅大约600像素)。
[0213]
此外,昆虫的自然行为是彼此靠近坐在叶子上。换句话说,昆虫倾向于成对(即两只昆虫)或甚至成三只(即三只昆虫)出现在叶子上。所以换句话说,图像411/412的30
×
20像素部分可能表示两只或更多只昆虫。
[0214]
像素数20
×
30是示例性数字,但可以假设昆虫431/432的尺寸是两位数的像素数(即,在两个坐标中的每一个坐标中最多99个像素)。对于非昆虫对象441/442也有同样的约
束。
[0215]
如将要解释的,cnn 271/272(用于计数昆虫)使用密度图估计(而不是上述的传统对象检测)。在密度图中,昆虫将被表示为区域,并且该区域的像素值的积分将约为1(假设像素值是在0和1之间归一化的实数,并且还假设每张图具有一只昆虫)。值得注意的是,对于两只昆虫一起靠近并在图像上重叠的情况,将存在单个区域,但像素值的总和将约为2。
[0216]
值得注意的是,两个或更多个阶段的昆虫可以同时在单片叶子上存在。这是两个阶段之间的差异可能很微妙的约束。例如,在现实中的叶子上,处于阶段(c)和(d)的昆虫可能看起来相似。
[0217]
结果,使用传统计算机视觉技术(例如所提到的具有特征提取的技术)的计算机可能无法识别差异。然而,专家用户可以(在图像上)看到差异,并且可以正确注释训练图像(参见用例1)。
[0218]
与移动设备相关的约束
[0219]
还存在与移动设备302(参见图1)相关的约束。
[0220]

首先,移动设备(及其相机光学系统)被优化以拍摄人类照片,而不是昆虫照片。微小的昆虫在图像上显现为斑点(参见x
ins
像素
×yins
像素)。
[0221]

其次,今天的移动设备可能不具有足够的计算资源来执行图像处理以对每片叶子的昆虫进行计数。
[0222]

第三,使用移动设备来获得注释图像和计算机201(参见图1)的功能可能是不合适的。计算机302(如果是移动设备)的显示器可能太小并且处理能力(就cpu、gpu而言)可能不足。
[0223]
此外,农民(即移动设备的用户)在拍摄图像后不久需要结果。更准确地说:从拍摄图像到确定每片叶子的昆虫数量的时间间隔必须可以忽略不计,使得
[0224]

在该时间间隔期间,昆虫基本上不会生长(和/或繁殖,和/或最终改变进展到下一个发育阶段),
[0225]

昆虫不会飞走(因为这些措施适用于受侵染的植物)。
[0226]
识别和对策的应用只能在每片叶子的昆虫数量已经建立时开始。对策——尽管被正确识别——可能应用得太晚而无法奏效。例如,如果昆虫已经从卵中孵化出来,则专门用于破坏卵的对策将不会产生任何效果(参见特定阶段的对策)。
[0227]
解决方案考虑了以下内容。植物物种通常是已知的(例如,农民知道茄子),使得计算机具有信息(作为图像的属性)。因此,植物物种在此不作进一步讨论。
[0228]
将图像注释为预处理活动
[0229]
图6示出计算机301的用户界面(参见图1)。图6还示出注释图像的专家用户191。因此,图6解释了训练阶段**1中的一些预处理活动(参见图3、601a和701a)。换句话说,图6与监督学习有关。
[0230]
本领域技术人员可以通过适当的用户界面来实现计算机301和专家用户191之间的交互,例如采用示出图像的显示器以及采用识别图像部分的界面元素(例如,触摸屏、鼠标、键盘等)。用于这种和其它注释的软件工具在本领域中是已知的。russel,b.c.,torralba,a.,murphy,k.p.,freeman,w.t.在2008.2008labelme.int.j.comput.vis.77,157

173.doi:10.5591/978-1-57735-516-8/ijcai11-407中描述了一种方便的工具“labelme”。
[0231]
图6给出了如何获得上面结合图1-3介绍的注释图像461、471的更多细节。为方便起见给出坐标系(x,y)(参见图5)。
[0232]
专家用户191向图像传达基本事实信息,不仅关于主叶的存在与否(通过叶子注释),或者特定昆虫的存在与否(通过昆虫注释),而且还有关于在(x,y)坐标方面的主叶和昆虫的位置的信息。取决于所选择的用例的粒度(参见图4),注释还可以识别昆虫物种、发育阶段等。
[0233]
两种注释过程(叶子注释、昆虫注释)都可以独立执行,并且甚至用户191的专业知识也可以不同。对于这两个阶段,用户191宁愿担任特定的角色:
[0234]

植物专家的角色,他可以读取图像以识别具有边界的叶子,以及
[0235]

昆虫专家的角色,他可以读取图像以根据类别区分昆虫(和/或非昆虫)。
[0236]
虽然图6示出了单个图像411,但是例如对于1947个图像(叶子注释)重复注释。鉴于该数量,注意到专家用户191不一定总是同一个人。
[0237]
本说明书现在分别解释每种注释类型的细节:
[0238]
叶子注释
[0239]
如图6的左侧所示,专家用户191注释植物图像411以获得叶子注释植物图像461。叶子注释识别主叶421-1与相邻叶421-2不同的叶边界。在实现方式中,用户191可以在植物图像411的示出完整叶子(即主叶)的那部分周围绘制多边形451(虚线)。在该示例中,图像411将叶子420-1示为完整叶子,并且仅部分地示出叶子420-2,参见图5。向专家用户191显示多边形451很方便,但这不是必需的。计算机301可以自动关闭多边形451。代替多边形,本领域技术人员可以使用其它用户界面,例如图片处理工具来操作图像,例如通过“擦除”主叶周围的像素。
[0240]
叶子注释允许计算机201(参见图1)针对植物图像411的每个像素来区分该像素是否属于主叶。该区分与执行方法601b相关(参见图3,叶子分割)。
[0241]
对于叶子注释,叶子是否示出昆虫(或非昆虫对象)并不重要。
[0242]
昆虫注释
[0243]
如图6的右侧所示,用户191还注释叶子图像421(参见图7)以获得昆虫注释的叶子图像471。昆虫注释识别昆虫并且可选地识别昆虫类别(参见物种和/或阶段,如图4中的类别所解释的)。术语“昆虫注释”被简化:图像471同样可以包括非昆虫对象的注释。
[0244]
昆虫注释还通过坐标识别昆虫(和/或非昆虫对象)的位置。
[0245]
应注意,注释可以考虑用例(参见图4)。在图6的示例中(右侧),注释由参考α到ζ的点表示,其中例如
[0246]

注释α指向处于阶段(c)的粉虱(i);
[0247]

注释β指向处于阶段(b)的粉虱(i);
[0248]

注释γ和δ指向处于阶段(b)的粉虱(i);
[0249]

注解ε指向非昆虫对象,为可选注释;以及
[0250]

注释ζ指向处于阶段(b)的蓟马(ii),但区分阶段也是可能的。
[0251]
专家用户191实际上可以将点设置在昆虫的后面(或上面)。如在此所使用的,单个点指向特定的单个像素(“点像素”或“注释像素”)。昆虫(或非昆虫对象)的位置坐标(x',
y')处的那个单个像素的坐标被传送到计算机301。图6举例示出注释β的位置坐标。用户界面可以通过多个像素示出点,但位置以像素精度由坐标记录。
[0252]
计算机301将位置坐标存储为注释的一部分。坐标(x',y')可以看作是注释坐标,并且计算机也会存储语义,诸如注释1中的(i)(c),注释β中的(i)(b)等等。
[0253]
如将进一步解释的,计算机201在训练cnn 271中例如通过让计算机采用以位置坐标(x',y')为中心的核函数对图像(即,图像图块)进行卷积来使用昆虫注释(用于特定图像411)。此外,昆虫注释包括关于昆虫数量的基本事实数据(可选地以图4的用例的粒度)。
[0254]
注释可以通过点嵌入到注释图像中(以颜色编码,例如,红色用于阶段(c)、阶段(d),或分别作为x、y坐标)。
[0255]
使用点注释是方便的,因为注释的(x,y)坐标指示昆虫在图像上的示出的位置。
[0256]
叶子图像
[0257]
图7示出叶子图像421/422。叶子图像421/422示出具有主叶和具有昆虫的特定植物。与植物图像411/412不同的是,叶子图像421/422仅示出主叶,而不示出相邻叶。获得叶子图像421和422的方式可以不同,如下所述:
[0258]
在训练阶段**1中,计算机201通过与专家用户191的交互获得叶子图像421,如下所解释的(参见图6,左侧)。叶子图像421可以被认为是叶子注释的植物图像461中示出叶子的部分。叶子图像421在此仅用于解释。如结合图3所解释的,计算机201处理多个叶子注释的植物图像461以获得cnn 262,该过程使用注释。
[0259]
在生产阶段中,计算机202通过使用(经训练的)cnn 262(在方法602b中)分割植物图像412来获得叶子图像422。在生产阶段中,注释不可用。注意,叶子图像422(生产阶段)与叶子图像421(训练阶段)不同。
[0260]
参考标记429示出叶子图像421/422的不示出主叶的部分。在后续处理步骤中可以忽略部分429中的像素。例如,不必对部分429执行将图像拆分成图块的处理步骤(因为不根据每片叶子昆虫的定义对昆虫计数)。在实现方式中,这些部分429可以由具有特定颜色或其它颜色的像素表示。在图示中(或可选地在向用户显示部分429中),该部分可以例如以黑色或白色或其它单色(例如,如图7中的白色)显示。
[0261]
拆分和重新组合图像
[0262]
图8示出图像401/402被拆分成图块401-k/402-k(或子区域)。图像可以是
[0263]

植物图像411(训练阶段),其被注释为图像461或图像471,导致图块401-k,或
[0264]

植物图像412(生产阶段),导致图块402-k。
[0265]
图像401/402中的图块401-k/402-k的数量被给出为参考k。在示例中,图像400可以具有4000
×
6000像素的图像尺寸(注释不改变尺寸)。图块具有小于图像尺寸的图块尺寸。例如,图块尺寸为256
×
256像素。图块尺寸对应于cnn的输入层的尺寸(参见图10)。其它图块/输入尺寸也是可能的(例如224
×
224像素)。考虑到重叠(例如,如图所示重叠40个像素),图块的数量可以高达k=396。
[0266]
该图在右侧的特写视图中示出特定图块401-k/402-k,其中示例:
[0267]
在示例alpha中,从注释图像471中拆分出图块401-k。因此,注释也适用于图块401-k。例如,如果注释指示特定(x',y')坐标存在昆虫431,则图块401-k包括具有该特定坐标的像素,并且图块401-k接管该注释(参见点符号,位置坐标(x',y'),参见图6)。本领域技
术人员可以考虑不同的坐标基础(参见图6的完整图像,图8仅用于图块)。
[0268]
在训练期间,cnn 271将学习参数以获得具有积分总和最高为1的密度图501-k(对应于1只昆虫,假设密度图中的像素值归一化)。例如,cnn271将位置坐标(x',y')作为中心,用于将核函数应用于图块401-k的所有像素。
[0269]
在示例beta中,图块402-k从图像412(生产阶段)中拆分,它示出昆虫432。当然,昆虫不一定与alpha中上面的“注释”的图块401-k中的位置相同。使用经学习的参数,cnn 272将得到积分为1的密度图502-k。
[0270]
示例gamma是示例alpha的变体。图块401-k被拆分,并且注释实际上也是可用的。尽管专家用户192没有提供注释(点等),但元数据指示不存在昆虫。在训练期间,cnn 271将学习参数以获得积分总和为0的密度图501-k。
[0271]
示例delta是案例beta的变体。非昆虫图块402-k在生产阶段中(由cnn 272)处理,并它将得到积分为0的密度图。
[0272]
注意,在生产阶段中,为所有图块402-k(k=1到k)提供密度图。本领域技术人员可以实现这一点,例如,通过以k次重复来操作cnn 272(即,每个图块运行一次),并且组合器模282可以按照与拆分器模块242已拆分它们的顺序相同的顺序重构图块的密度图(参见图9中的模块)。
[0273]
考虑用例和类别
[0274]
虽然在图8中,解释了示例alpha到gamma以检测昆虫(在图块中)的存在(或不存在),也可以考虑(上面介绍的)类别。
[0275]
如上所述,专家用户192可以针对不同昆虫物种(例如,(i)和(ii))、发育阶段(例如(a)到(b)),至少针对图4中以黑点突出显示的组合来注释图像。因此,对于特定用例,可以存在特定的图块401-k。
[0276]
以用例3为例,可以存在(i)(a)、(i)(b)、(i)(c)和(i)(d)的注释(即粉虱分四个阶段,类别(1)至(4))。换句话说,注释是特定于类别的。
[0277]
这导致用于这些组合(或类别)的不同图块401-k。密度图501-k(训练阶段)和502-k(生产阶段)也不同,仅仅是因为图像411/412不同。可以针对不同的昆虫类别分别计算积分,从而产生特定于类别的n
est
(对于完整的图像,在组合后)(参见图11-12)。
[0278]
图9示出具有拆分器模块241/242和组合器模块281/282的cnn271/272。
[0279]
拆分器模块241/242接收图像411/412(具有如图像461、471的注释的图像411)并提供图块401-k/402-k。正如将要解释的,cnn提供密度图,组合器模块281/282接收地图501-k/502-k,并提供组合密度图555。
[0280]
由于存在重叠(参见图8),组合器模块281/282可以通过同样重叠来合成图像(或组合密度图)。同一特定坐标(4000
×
6000像素的x、y坐标)处的像素值仅计数一次。
[0281]
组合器模块281/282还可以计算(组合密度图的)像素值的整体积分,从而产生n
est

[0282]
cnn概述
[0283]
图10概括地示出具有层的cnn 261/262/271/272。cnn通过由计算机(诸如由计算机201/202)执行的程序例程的集合来实现。图10示出具有到输入层的输入和来自输出层的输出的cnn。图10还(至少象征性地)示出中间层。cnn 261/262/271/272是深度网络,因为它
们具有多个中间层。中间层是隐藏的。换句话说,这里应用了深度学习。
[0284]
图10还示出一些参数并且示出中间图像(为图块和地图)。由于cnn在本领域中是众所周知的,因此本说明书集中于专门用于由cnn 261/262进行分割和用于由cnn 271/272进行计数的参数。
[0285]
如已经结合图1-2所提及的,cnn接收图像作为输入。
[0286]

在训练阶段**1中,cnn 261/271接收注释图像461、471并将未训练的cnn 261转换为经训练的cnn 262(使用叶子注释的植物图像)并将未训练的cnn 271转换为经训练的cnn 272(使用昆虫注释的叶子图像)。
[0287]

在生产阶段中,cnn 262和272接收植物图像412并提供输出,诸如n
est
(即每片叶子的昆虫数量)。
[0288]
cnn不接收原始图像尺寸(例如,4000
×
6000像素)的图像,而是接收图块/图尺寸(例如,224
×
224像素)的图像。
[0289]
密度图计算
[0290]
在处理期间,cnn获得中间数据。为方便起见,图10示出中间图像的中间数据的示例:图块401/402-k和密度图501-k/502-k。索引k是采用图8-9解释的图块索引。
[0291]
然而,不需要向用户显示图块和图。图10示出显示两只昆虫的图块402-k。图块402-k是植物图像的一部分或叶子图像的一部分,并且具有针对cnn层的处理而优化的图块尺寸。在该示例中,图块402-k具有256
×
256像素(或在不同示例中为224
×
224像素)。图块402-k是通过将图像(结合图8的细节)拆分成图块来获得的。
[0292]
地图502-k是从图块402-k导出的密度图。图502-k具有与图块402-k相同的尺寸。换句话说,图尺寸和图块尺寸彼此对应。密度图可以被理解为x-y坐标中单色像素的集合,每个像素具有数值v(x,y)。所有x-y坐标的值v的积分对应于对象(即昆虫)的数量。在该示例中,积分为2(在理想情况下),对应于昆虫的数量(例如,图块402-k中示出的两只昆虫)。
[0293]
在生产阶段**2中,通过预测获得图502-k(采用在训练期间获得的参数)。在训练阶段**2期间,如果注释(对于昆虫)在特定图块402-k中可用,则处理步骤之一是应用核函数(例如,高斯核),其核中心对应于注释坐标(x',y')。换句话说,在训练期间,具有注释的图块被处理为归一化的高斯(核)。在没有注释的情况下,不应用核函数。
[0294]
由于图块402-k只是(完整)图像的一部分(在拆分器242的输入处),因此组合器模块282(参见图9)可以对多个图502-k的积分求和,得到n
est
。可以考虑图像重叠。
[0295]
将图块401-k转换为图501-k是基于通过训练获得的层特定参数(即,训练cnn 271成为cnn 272)。由于昆虫注释(参见图6)指示昆虫(或这里的更多昆虫)的存在(或不存在),因此注释也适用于(多个图块)。存在具有注释的图块(存在昆虫),并且存在不具有注释的图块(不存在昆虫)。
[0296]
在该示例中,图块401-k具有注释“2只昆虫”。注意,两只昆虫二者可以属于不同的类别(参见图4),类别之间的区别(即在特定类别的方法中对昆虫计数)结合类别分支(参见图11-12)解释。
[0297]
网络在各种实现方式中是公开可用的,并且网络由配置参数配置。
[0298]
本说明书简要地涉及一般的输入/输出参数以及配置参数(结合图10),并且然后根据对昆虫计数的方法指定参数。有时,正在修改现有网络。
[0299]
类型
[0300]
示例性网络包括以下网络类型(或“架构”):
[0301]

unet类型,由ronneberger,o.,fischer,p.,brox,t.,2015.u-net:convolutional networks for biomedical image segmentation,in:lecture notes in computer science(including subseries lecture notes in artificial intelligence and lecture notes in bioinformatics).pp.234

241.doi:10.1007/978-3-319-24574-4_28公开
[0302]

densenet类型,由huang,g.,liu,z.,van der maaten,l.,weinberger,k.q.,2017.densely connected convolutional networks,in:proceedings-30th ieee conference on computer vision and pattern recognition,cvpr 2017.pp.2261

2269.doi:10.1109/cvpr.2017.243公开
[0303]

全卷积回归网络(fcrn)类型,由xie,w.,noble,j.a.,zisserman,a.,xie,w.,noble,j.a.,microscopy,a.z.,2016.computer methods in biomechanics and biomedical engineering:imaging&visualization microscopy cell counting and detection with fully convolutional regression networks abstract.comput.methods biomech.biomed.eng.imaging vis.1163.doi:10.1080/21681163.2016.1149104公开
[0304]

修改的fcrn类型,基于fcrn类型,具有修改
[0305]
cnn具有以下特性:
[0306]

它是完全卷积模型,能够结合逐像素回归提供语义分割。
[0307]

从cnn的许多功能中,在训练期间使用回归函数来最小化基本事实(即根据注释的昆虫数量)与估计的昆虫数量(即n
est
)之间的差异。换句话说,区别在于损失函数。回归在本领域中是已知的并且将在图13中通过示例来解释。
[0308]

cnn已针对unet、densenet和fcrn类型的实现方式进行了测试(具有修改)。
[0309]
通过相应地设定参数(技术人员)来介绍(或使用)以下细节:
[0310]

最后一层是线性类型的激活。
[0311]

损失函数被选择为平均绝对误差(mae)。
[0312]
fcrn网络(由xie等人)通过以下方式修改:
[0313]

使用dropout:在训练期间,在从进一步的计算中随机排除的给定数量的神经元节点中选择一个层。这种被排除的神经元的数量是预先定义的,例如通过百分比(即dropout参数)。
[0314]

对编码部分(即编码器)使用两个附加层,并在对应的解码部分(即解码器)中使用两个附加层:借助于上采样过程添加附加层。采用图11a和11b中的进一步解释,附加层实现过滤器功能和编码/解码功能。
[0315]

最后层激活、损失函数、输出通道和分支已被添加用于具有多个类的用例(参见图4,用例2和3)。这将结合图11ab和图12更详细地解释。
[0316]
此外(对于所有3种网络类型),以下参数设置是有用的:
[0317]

卷积神经网络(如上述论文中所公开)通常在其cn后端应用全局平均池化(gap)和/或全连接(fc)层,但用全局和池化(gsp)代替gap可能更有利。gsp允许cnn将计数学习为
简单的线性映射问题,该问题在(例如昆虫的)输入形状上进行泛化。
[0318]
方便的参数同样如下:
[0319]

类别参数。取决于用例(参见图4),输入和输出被区分为昆虫类别。由于类别是预先知道的(即在操作cnn之前),cnn针对不同的类别学习不同的参数(在训练阶段中)并针对不同的类别应用不同的参数(在生产阶段中)。细节将结合图11-12进行解释。
[0320]

函数参数指示cnn必须应用的操作类型。例如,函数参数可以触发cnn来估计密度图(例如,像素值的总和指示对象/昆虫的数量),以执行特定的预处理(例如,在质心周围应用高斯函数以获得内核)和其它预处理。
[0321]

输入大小参数(即输入尺寸)定义正在处理的图块的图块尺寸。例如,输入尺寸是256
×
256像素的图块(或“分块(patch)”)(参见图9中关于图块的讨论)。
[0322]

学习速率参数可以方便地设置为lr=0.01。速率影响速度(并且从而影响训练的持续时间)。
[0323]

sigma参数σ(sigma)是高斯核的参数(在训练阶段中使用)。例如,参数可以设定为σ=9。
[0324]

参数l2是减少过拟合的权重衰减参数,可方便地设定为l2=10-5

[0325]

使用dropout是可选的;方便的dropout参数是0.5。
[0326]

激活参数指示激活函数的类型,诸如sigmoid或softmax(即归一化指数函数)或其它。
[0327]

损失函数参数用于优化cnn的准确性。例如,损失函数参数指示真实值和估计值之间的差异(例如,通过注释手动计数的叶子上的昆虫数量相比由cnn估计的昆虫数量)。例如,损失函数可以通过均值函数来定义。
[0328]
辅助参数可用于处理计算机的技术限制。例如,实现cnn的计算机201/202可以使用浮点数,最大数为65536。然而,cnn用来决定激活(非激活)的数值可能在0.0000到0.0067之间的范围中(例如,在σ=9的高斯核中)。
[0329]
cnn 271/272不能学习必须学习什么信息可能是有问题的。这是因为在昆虫(0.0067的像素激活)和“无昆虫”(0.00的像素激活)之间的对比度(在密度图中)相对较小。应用比例因子会增加密度图的对比度,并简化密度图估计(即,图像上的积分指示对象的数量)。比例因子可以作为辅助参数引入。例如,所有像素值可以在输入处乘以因子50.000,并且所有输出值(即昆虫计数)将在输出处除以该因子。该因子只是将数值移位到计算机更准确操作的范围内。所提及的因子是作为示例给出的,本领域技术人员可以使用不同的因子。
[0330]
在实现方式中,cnn 261/262(检测叶子)是densenet类型的cnn。
[0331]
为此,以下参数是方便的:
[0332]

损失函数可以是“binary_crossentropy”函数。
[0333]

最后层的激活可以使用“softmax”函数。
[0334]

图块尺寸(即输入和输出图像的尺寸)可以是224
×
224像素。
[0335]
在实现方式中,cnn 271/272(即,检测昆虫的cnn)是fcrn类型的cnn。为此,以下参数是方便的:
[0336]

损失函数可以例如通过诸如平均绝对误差或均方误差的平均函数定义。
[0337]

图块尺寸可以是256
×
256像素。
[0338]
过滤以区分类别
[0339]
图11a和11b示出在区分多于两个昆虫类别(c)的实现方式中作为cnn 271/272中的层的一部分实现的像素值过滤器。如上面结合图4所解释的,类别针对用例2例如可以是(c)=(1),(2),或者针对用例3例如可以是(c)=(1),(2),(3),(4)。
[0340]
虽然图11a集中于考虑单个像素的过滤器,但是图11b集中于考虑相邻像素组(或图块片段)的过滤器。换句话说,过滤器可以应用于单个像素的特性(在示例中:图11a中的颜色),并且过滤器也可以应用于多个像素的特性(在示例中:在图11b的像素组过滤器中,纹理由多个像素构成)。
[0341]
单个像素过滤器
[0342]
在左侧,图11a示出作为输入图块的图块401-k/402-k,并且在右侧,图11a示出图块401-k/402-k作为输出图块,以区分类别(第一)和类别(第二)。
[0343]
每个图块应该具有从p=1到p=p的像素。对于具有256
×
256像素的图块,存在65536个像素。仅为简化起见,该图示出12
×
12=144个像素的图块。
[0344]
每个像素“pix”具有指示原色份额的rgb三元组(r,g,b)。存在许多可用的符号,例如每个份额也可以用整数来表示(例如,在每种颜色8位编码的情况下,每种颜色从0到255)。
[0345]
例如可以实现过滤条件,使得如果像素值符合颜色参数红色r(c)、绿色g(c)和蓝色b(c),则来自输入的像素被转发到输出。条件可以是and相关的。
[0346]
颜色参数是通过训练获得的(昆虫类被注释,如上所述)。
[0347]
在假设的示例中大大简化的是,应该存在第一类(第一)和第二类(第二)的昆虫。(第一)的昆虫应为“红色”,使得参数为r(第一)》0.5、g(第一)》0.0和b(第一)《0.5。符合条件的输入像素被接管为输出像素。图11a以符号示出被接管到输出图块(第一)的在图块的左边缘(具有3个像素)处的这种a(c)=(第一)的昆虫。
[0348]
(第二)类别的昆虫应该是“蓝色”,使得参数是r(第一)《0.5,g(第一)》0.0,和b(第一)》0.5。这种昆虫在输入图块的下部示出,这里再次大大简化为3个像素。
[0349]
符合条件的输入像素(对于类别(第二))被接管为输出像素,并且图11a采用被接管到对应的输出图块的像素(0.1,0.8,0.7),(0.2,0.9,0.6),(0.1,0.5,0.8)以符号表示这种a(c)=(第二)的昆虫。
[0350]
需要注意,在cnn 271/272中应用过滤器很方便地实现为卷积层(过滤器对图块进行过滤,参见图11b),但过滤器也可以在拆分器模块之前实现(参见图9,像素过滤器,参见图11a)。
[0351]
过滤器可以是在创建密度图的(多个)层之前的cnn 271/272的处理通道的一部分。因此,密度图是特定于类别的。
[0352]
颜色参数红色r(c)、绿色g(c)和蓝色b(c)只是与像素相关的参数的示例,但是本领域技术人员可以使用进一步的参数,诸如透明度(如果在图像中编码)等。
[0353]
像素组过滤器
[0354]
图11b示出考虑相邻(即相邻像素)的像素组过滤器。由于像素组过滤器使用卷积,因此它在处理图块401-k/401-k的cnn 271/272内(即,在拆分器模块241/242之后)实现。
[0355]
图11b从图11a的左边缘重复了大大简化的“3像素昆虫”。12
×
12=144个像素的图
块被分成4
×
4=16个片段(从#1到#16)。每个片段具有为正方形片段的3
×
3像素。
[0356]
该图被简化,但在实现方式中,256
×
256的图块被分成不同数量的像素,每个片段可能具有更多像素。
[0357]
片段#10被卷积(具有特定的卷积变量,例如,3个像素)到修改的片段#10'。因此,(9个像素的)像素值发生变化。
[0358]
例如,片段#10可以具有像素值(1,0,1,0,1,0,0,0,0)并且片段#10'可以具有像素值(0.8,0.1,0.0,0.1,0.2,0.7,0.1,0.7,0.0)。如图11b仅示出“黑色”或“白色”的像素,具有超过0.5的值的像素被示为“黑色”。
[0359]
现在可以将过滤标准应用于修改的片段#10'。在这方面,图11b还示出进一步的实现细节。可以将修改的片段编码为片段特定值。该图分别示出片段#1'、#10'和#16'的这种值(通过任意数字)“008”、“999”和“008”。然后可以将过滤条件应用于片段特定值。
[0360]
换句话说,cnn 271/272然后可以通过使用片段代码(片段特定值)来执行后续处理步骤。这减少了要处理的像素数量(通过与每片段像素数量相对应的因子进行简化,在说明性示例中为9)。在最后一层中,cnn271/272然后可以应用解码。
[0361]
图12示出具有特定类别(1)、(2)、(3)和(4)的分支的cnn 271/272。如结合图6所解释的,昆虫注释可以指定类别(物种和发育阶段)。对通道(或分支)分别执行cnn训练。在图12的示例中,存在与4个类别对应的4个通道。
[0362]
这里示出内部层1和内部层2(以类别数量的多个对应提供)之间的类别特定层的分离(通过过滤器,诸如在图11的示例中解释的)。
[0363]
图12在右侧示出组合器262分别针对到密度图555(1)、555(2)、555(3)和555(4)的每个分支通过组合图502-1到502-k获得的组合密度图。在示例中,存在组合(成一个图555)的k=36个图块,该数字只是为了简单起见而选择的。
[0364]
指示昆虫(在特定类别中)的存在的密度图502用点来示出。如在示例中,密度图502-29(在示例中示出为具有k=29的图)指示类别(1)的昆虫和类别(2)的昆虫。
[0365]
在简化的概述中,组合密度图555的整体积分(k=1到k)导致不同的估计:n
est
(1)=2,n
est
(2)=3,n
est
(1)=2,n
est
(3)=2,以及n
est
(4)=7(图502-9反映了2只昆虫)。昆虫总数为n
est
(1)(2)(3)(7)=14。图12的图示被简化为单个像素具有二进制值(“1”或“0”)。cnn层的计算向像素提供了真实值(即“灰度”值)。然而,具有例如0.1、0.1、0.6、0.1和0.1的像素簇总和为积分1。
[0366]
提供针对物种和发育阶段分离的侵染数据可能有利于农民识别适当的对策。
[0367]
由于针对类别分离训练,因此同样单独执行训练。
[0368]
应注意,作为单独的分支(即,并行)的图示便于解释,但不是必需的。并行处理是可能的,但通道也可以通过串行处理来实现。换句话说,cnn 271将针对类别(1)的昆虫进行训练,然后针对类别(2)的昆虫进行训练,依此类推。在生产阶段中,cnn 272将提供类别(1)、然后类别(2)等的昆虫的密度图。
[0369]
用于特殊目的的注释图像集
[0370]
说明书现在通过使cnn 261能够分割叶子(通过变成cnn 271,方法601b)和能够计数昆虫(通过变成cnn 272,方法701b)来解释关于训练阶段**1的进一步细节。
[0371]
如上所述,在生产阶段**2中,cnn 272提供n
est
(特定植物图像412的每片叶子的昆
虫的估计数量)作为输出。在理想情况下,cnn 262和cnn 272的组合将n
est
计算为正好是所谓的基本事实数量n
gt
:这里是坐在植物特定主叶上的昆虫数量(来自该农民192已经拍摄的图像412)。n
est
和n
gt
之间的差异将指示相机312和cnn 262/272的性能如何。
[0372]
然而,农民192不会手动计数昆虫(n
gt
)。说明书现在解释如何验证cnn 262/272的准确性。由于昆虫注释识别昆虫(如叶子注释识别叶子),因此注释图像471的基本事实数量n
gt
已经为人所知。该数据的使用如下所述:
[0373]
图13示出一组昆虫注释图像472(即,由图6中的昆虫注释产生),具有子集:
[0374]

用于训练cnn 271的子集(参见图1)
[0375]

用于验证cnn 272的子集(参见图2)
[0376]

用于测试cnn 272的子集
[0377]
子集分别具有基数s1、s2和s3。昆虫注释图像的数量s是子集的总和:s=s1 s2 s3。
[0378]
将图像区分为本领域已知的子集。因此,图13仅以昆虫注释的叶子图像471为例。本领域技术人员可以相应地微调训练cnn 271以进行叶子分割。
[0379]
基数特定于案例(参见图4),在案例1(1类)的示例中,总共有s=731个注释图像(即,昆虫注释的叶子图像471),其中
[0380]

s1=训练子集中的554个图像(即训练cnn 271的图像471,参见图1),
[0381]

s2=验证子集中的54个图像,以及
[0382]

s3=测试子集中的123个图像。
[0383]
cnn 261/271已经用训练子集的s1个图像进行训练以成为经训练的cnn 262、272。经训练的cnn 262、272已用于估计验证子集的s2个图像的n
est
。s2值n
gt
从昆虫注释中得知。如果对于特定图像,n
est
高于n
gt
,则cnn 262/272已经对现实中存在的更多昆虫进行了计数。
[0384]
在测试子集下面,图13示出显示纵坐标上的n
est
与横坐标上的基本事实n
gt
的简化曲线图503,其中具有识别(n
est
,n
gt
)对的点。曲线图503被简化为仅示出9个点(而不是例如54或123个)。
[0385]
大多数点大致沿着回归线504定位。点与线504的(图形)距离指示估计的质量。点505代表估计的昆虫比当前多得多的异常值。
[0386]
度量可以被定义为平均绝对误差(mae),或
[0387]
mae=n
est s-n
gt s
(这里给出的公式是简化的,mae实际上被计算为s=1到s3的mae之和除以s3)。
[0388]
由于这是平均值,因此获得n
est
和n
gt
作为s3图像的平均值。
[0389]
进一步的度量可以被定义为均方误差(mse),或
[0390]
mse=[(n
est-n
gt
)2]的平方根。同样,必须考虑所有s3的n
est
和n
gt
(即[]是所有s3的()2的总和)。
[0391]
对于案例1(粉虱单类别(1)),集合s3提供值mae=3.4和mse=7.8。与传统方法(候选选择与后续分类,mae=8.6和mse=11.4)相比,误差值更小。换句话说,新方法的误差小于传统误差的一半。
[0392]
讨论
[0393]
也可以通过已知方法(其中包括特征提取)来实现将主叶与其相邻叶(或邻居叶)区分开。对于在非绿色地面上呈绿色的叶子,颜色可以用作区分因子。然而,这种方法最终
会在“绿色”超过“绿色”情况下失败,例如当一片叶子与另一片叶子重叠时。
[0394]
在替代实现方式中,可以通过其它已知方法来实现昆虫计数,诸如通过上述候选者选择与随后的分类。
[0395]
然而,对于叶子区分和对于昆虫计数(在主叶处)二者,上述深度学习技术提供了准确性(即,误报、漏报的术语)。
[0396]
进一步的实现细节
[0397]
为了增强理解,本说明书已经描述了田地用户192操作移动设备302的场景。然而这不是必需的,图像412可以以其它方式拍摄,例如通过飞行在田地上的飞机。注意到无人驾驶飞行器(uav)的示例。
[0398]
在这种场景中,捕捉田地上的图像的移动性将由uav实现。智能手机等的用户界面392(参见图2)(以将结果传送给田地用户191)将以其它方式实现。
[0399]
生物对象的进一步讨论
[0400]
如上所述,例如结合图8,图块具有比图像更小的尺寸,并且图块尺寸对应于cnn 271/272的输入层尺寸。由于生物对象(例如昆虫)在图块中表示(在训练阶段和在生产阶段二者中作为注释),生物对象的物理大小被限制为最大物理大小。在极端情况下(最大),最大允许物理大小的生物对象将对应于该对象在单个图块上的表示。
[0401]
换句话说,生物对象(132)的物理大小与部分(122)的物理大小的关系使得生物对象在部分图像(422)上的表示使得该表示小于图块尺寸。
[0402]
本领域技术人员可以估计图像分辨率(即,每物理尺寸的像素数)。
[0403]
还存在对最小值的限制。在极端情况下(最小),最小允许大小的生物对象将(在理论上)由一个像素表示。上面已经解释了更实用的大小(参见图5,30像素乘以20像素)。这转化为可以识别的生物对象的绝对最小大小。通常,生物对象具有至少0.1mm的直径,优选至少0.5mm,更优选至少1mm,最优选至少5mm的直径。
[0404]
从高级别角度来看,生物对象(132)是(或曾经是)位于(植物的)部分(122)上的活的有机体,或者生物对象是该有机体的踪迹(可选地,有机体可以被认为不再存在,参见蛹的示例)。更详细地,(植物的)部分(122)上的生物对象(132)选自以下:昆虫、蛛形纲动物和软体动物。在替代方案中,生物对象选自植物部分表面上的斑点或条纹。在该替代方案中,对象是否被认为是生物体并不重要,斑点或条纹可能是疾病症状。例如,植物部分上的褐色斑点或褐色条纹指示植物可能受到损害。例如,一些真菌会导致像黄锈一样的棕色条纹。
[0405]
鉴于大小(最小/最大)限制,并非所有昆虫、蛛形纲动物或软体动物(或斑点和条纹)都适合。例如,大型蝴蝶昆虫可能会覆盖单片叶子(不可计数),但小粉虱(或蓟马)将是可计数的,正如详细解释的那样。
[0406]
其它方面
[0407]
本说明书现在很快返回到图3的左侧,该图3示出了分割的概述,其中基于叶子注释的植物图像461训练cnn并且操作cnn以提供叶子图像。
[0408]
到目前为止,本说明书已经使用了植物/昆虫组合的两个示例(参见上面的“昆虫、植物和用例”部分)。在特别关注估计植物叶子上的昆虫(例如粉虱或蓟马)的数量的这种实施例中,执行分割以从图像的其余部分中分割出主叶。所得的图像是叶子图像。
[0409]
然而,实施例基于更一般的方法:植物图像461是否示出植物部分122,诸如茎、一
个或多个枝条、一个或多个叶子、花(通常具有花瓣)或果实(或上面提到的其它部分)并不重要。这些部分当由植物图像411/412表示时具有cnn可以识别的边界(如果之前进行了适当的训练)。看着图6,专家用户191可以提供特定于部分的注释,诸如识别茎、识别枝条、主叶(参见上面的详细解释)、花或果实(或其它部分,如所提及的)的注释。更详细地,例如通过注释属于花朵的花瓣,专家用户191可以提供具有更多粒度的注释。
[0410]
专家用户191不必识别一个图像中的所有部分,但他/她可以使植物的部分的注释应该由cnn分割。例如,如果植物图像示出一个或多个叶子和果实,则专家用户191可以为叶子提供第一注释,并且为果实提供第二注释。注释将单独使用:在cnn中识别主叶(如以更多细节描述的,基于第一注释进行训练)以及在cnn中识别水果(技术人员可以相应地应用现有描述,基于第二注释进行训练)。
[0411]
换句话说,计算机301与专家用户191交互以获得部分注释(通常)和/或获得叶子注释(特别地)。因此,专家用户191向图像传达基本事实信息,不仅关于主叶的存在与否(通过叶子注释),而且总体上也关于部分(通过部分注释)。
[0412]
更一般地,存在用于提供部分分割的图像(示出植物的部分)的计算机实现方法602b。可选地,该方法属于估计植物112的部分122上的对象132的数量(n
est
)的整体过程,其中方法602b识别部分的图像。
[0413]
在方法步骤中,计算机使用第一卷积神经网络262来处理植物图像412以导出作为完整示出特定植物112的部分422-1的像素的连续集合的部分图像422。第一卷积神经网络262已经由多个部分注释的植物图像461训练(在该方法步骤之前),其中植物图像411被注释以识别部分421-1。
[0414]
在一个实施例中,提供了一种计算机实现方法,用于将植物图像分割成部分分割的图像。计算机程序产品当加载到计算机的存储器中并由计算机的至少一个处理器执行时执行该计算机实现方法的步骤。相同的原理适用于用于提供部分分割的图像(示出植物的部分)的计算机系统,该系统适于执行该方法。
[0415]
如上所述,对于叶子注释,叶子是否示出昆虫并不重要。相同的原则通常适用于部分:部分(而不是图像)是否示出生物对象并不重要。假设生物对象位于部分上方(例如叶子或果实),而不是在边界处。
[0416]
计算机系统
[0417]
图14示出通用计算机设备900和通用移动计算机设备950的示例,它们可以与这里描述的技术一起使用。计算设备900旨在表示各种形式的数字计算机,诸如膝上型计算机、台式机、工作站、个人数字助理、服务器、刀片服务器、大型机和其它适当的计算机。通用计算机设备900可以对应于图1-2的计算机201/202。计算设备950旨在表示各种形式的移动设备,诸如个人数字助理、蜂窝电话、智能电话和其它类似的计算设备。例如,计算设备950可以包括如图1中所示的设备的数据存储组件和/或处理组件。这里示出的组件、它们的连接和关系以及它们的功能仅是示例性的,并不意味着限制本文档中描述和/或要求保护的发明的实现方式。
[0418]
计算设备900包括处理器902、存储器904、存储设备906、连接到存储器904和高速扩展端口910的高速接口908,以及连接到低速总线914和存储设备906的低速接口912。组件902、904、906、908、910和912中的每一个都使用各种总线互连,并且可以安装在公共主板上
或适当地以其它方式安装。处理器902可以处理用于在计算设备900内执行的指令,包括存储在存储器904或存储设备906上的指令,以在外部输入/输出设备(诸如耦合到高速接口908的显示器916)上显示gui的图形信息。在其它实现方式中,可以适当地使用多个处理器和/或多个总线以及多个存储器和存储器类型。此外,可以连接多个计算设备900,每个设备提供必要操作的部分(例如,作为服务器组、刀片服务器组或多处理器系统)。
[0419]
存储器904在计算设备900内存储信息。在一种实现方式中,存储器904是一个或多个易失性存储器单元。在另一个实现方式中,存储器904是一个或多个非易失性存储器单元。存储器904也可以是另一种形式的计算机可读介质,诸如磁盘或光盘。
[0420]
存储设备906能够为计算设备900提供大容量存储。在一种实现方式中,存储设备906可以是或包含计算机可读介质,诸如软盘设备、硬盘设备、光盘设备,或磁带设备,闪存或其它类似的固态存储设备,或设备阵列,包括存储区域网络或其它配置中的设备。计算机程序产品可以有形地体现在信息载体中。计算机程序产品还可以包含在执行时执行诸如如上所述的一种或多种方法的指令。信息载体是计算机或机器可读介质,诸如存储器904、存储设备906或处理器902上的存储器。
[0421]
高速控制器908管理计算设备900的带宽密集型操作,而低速控制器912管理较低带宽密集型操作。这种功能分配仅是示例性的。在一种实现方式中,高速控制器908耦合到存储器904、显示器916(例如,通过图形处理器或加速器),并耦合到可以接受各种扩展卡(未示出)的高速扩展端口910。在实现方式中,低速控制器912耦合到存储设备906和低速扩展端口914。可以包括各种通信端口(例如,usb、蓝牙、以太网、无线以太网)的低速扩展端口可以例如通过网络适配器耦合到一个或多个输入/输出设备,诸如键盘、指向设备、扫描仪或联网设备,诸如交换机或路由器。
[0422]
如图所示,计算设备900可以以多种不同的形式实现。例如,它可以实现为标准服务器920,或在一组这种服务器中多次实现。它也可以作为机架服务器系统924的一部分来实现。此外,它可以在个人计算机(诸如膝上型计算机922)中实现。可替代地,来自计算设备900的组件可以与移动设备(未示出)(诸如设备950)中的其它组件组合。这种设备中的每一个可以包含一个或多个计算设备900、950,并且整个系统可以由彼此通信的多个计算设备900、950组成。
[0423]
计算设备950包括处理器952、存储器964、诸如显示器954的输入/输出设备、通信接口966和收发机968,以及其它组件。设备950还可以设置有存储设备,诸如微驱动器或其它设备,以提供附加存储。组件950、952、964、954、966和968中的每一个都使用各种总线互连,并且可以将多个组件安装在公共主板上或适当地以其它方式安装。
[0424]
处理器952可以在计算设备950内执行指令,包括存储在存储器964中的指令。处理器可以被实现为包括单独和多个模拟和数字处理器的芯片组。例如,处理器可以提供设备950的其它组件的协调,诸如用户界面的控制、设备950运行的应用和设备950的无线通信。
[0425]
处理器952可以通过控制接口958和耦合到显示器954的显示接口956与用户通信。显示器954可以是例如tft lcd(薄膜晶体管液晶显示器)或oled(有机发光二极管)显示器或其它合适的显示技术。显示接口956可以包括用于驱动显示器954以向用户呈现图形和其它信息的适当电路。控制接口958可以接收来自用户的命令并将它们转换以提交给处理器952。另外,可以提供与处理器952通信的外部接口962,以便使设备950能够与其它设备进行
近距离通信。外部接口962可以例如在一些实现方式中提供有线通信,或者在其它实现方式中提供无线通信,并且也可以使用多个接口。
[0426]
存储器964在计算设备950内存储信息。存储器964可以实现为一种或多种计算机可读介质、一个或多个易失性存储器单元,或一个或多个非易失性存储器单元。还可以提供扩展存储器984并通过扩展接口982连接到设备950,该扩展接口982可以包括例如simm(单列直插存储器模块)卡接口。这种扩展存储器984可以为设备950提供额外的存储空间,或者也可以为设备950存储应用或其它信息。具体地,扩展存储器984可以包括执行或补充上述处理的指令,并且还可以包括安全信息。因此,例如扩展存储器984可以充当设备950的安全模块,并且可以用允许安全使用设备950的指令进行编程。此外,可以经由simm卡提供安全应用以及附加信息,诸如以不可破解的方式将识别信息放在simm卡上。
[0427]
如下所述,存储器可以包括例如闪存和/或nvram存储器。在一种实现方式中,计算机程序产品有形地体现在信息载体中。计算机程序产品包含在执行时执行诸如如上所述的一种或多种方法的指令。信息载体是计算机或机器可读介质,诸如存储器964、扩展存储器984或处理器952上的存储器,其可以例如通过收发机968或外部接口962接收。
[0428]
设备950可以通过通信接口966进行无线通信,该通信接口966可以在必要时包括数字信号处理电路。通信接口966可以提供各种模式或协议下的通信,例如gsm语音呼叫、sms、ems或mms消息传递、cdma、tdma、pdc、wcdma、cdma2000或gprs等。例如,这种通信可以通过射频收发机968发生。另外,诸如使用蓝牙、wifi或其它这种收发机(未示出)可以发生短程通信。此外,gps(全球定位系统)接收机模块980可以向设备950提供附加的导航相关和位置相关的无线数据,该数据可以由在设备950上运行的应用适当地使用。
[0429]
设备950还可以使用音频编解码器960进行可听通信,该音频编解码器960可以接收来自用户的语音信息并将其转换为可用的数字信息。音频编解码器960同样可以诸如通过扬声器(例如在设备950的电话听筒中)为用户生成可听的声音。这种声音可以包括来自语音电话呼叫的声音,可以包括录制的声音(例如,语音消息、音乐文件等),并且还可以包括由在设备950上运行的应用生成的声音。
[0430]
如图所示,计算设备950可以以多种不同的形式实现。例如,它可以实现为蜂窝电话980。它也可以实现为智能电话982、个人数字助理或其它类似移动设备的一部分。
[0431]
可以在数字电子电路、集成电路、专门设计的asic(专用集成电路)、计算机硬件、固件、软件和/或它们的组合中实现这里描述的系统和技术的各种实现方式。这些各种实现方式可以包括在一个或多个计算机程序中的实现方式,该计算机程序在包括至少一个可编程处理器的可编程系统上可执行和/或可解释,该可编程处理器可以是专用或通用的,耦合以从存储系统、至少一个输入设备和至少一个输出设备接收数据和指令以及向存储系统、至少一个输入设备和至少一个输出设备发送数据和指令。
[0432]
这些计算机程序(也称为程序、软件、软件应用或代码)包括用于可编程处理器的机器指令,并且可以以高级过程和/或面向对象的编程语言和/或以汇编/机器语言实现。如在此所使用的,术语“机器可读介质”和“计算机可读介质”是指用于向可编程处理器提供机器指令和/或数据的任何计算机程序产品、装置和/或设备(例如,磁盘、光盘、存储器、可编程逻辑设备(pld)),包括接收机器指令作为机器可读信号的机器可读介质。术语“机器可读信号”是指用于向可编程处理器提供机器指令和/或数据的任何信号。
[0433]
为了提供与用户的交互,这里描述的系统和技术可以在具有用于向用户显示信息的显示设备(例如,crt(阴极射线管))或lcd(液晶显示器))监视器)和用户可以通过它们向计算机提供输入的键盘和指示设备(例如,鼠标或轨迹球)的计算机上实现。其它类型的设备也可用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感官反馈(例如,视觉反馈、听觉反馈或触觉反馈);并且可以以任何形式(包括声音、语音或触觉输入)接收来自用户的输入。
[0434]
这里描述的系统和技术可以在包括后端组件(例如,作为数据服务器)、或者包括中间件组件(例如,应用服务器)、或者包括前端组件(例如,具有图形用户界面或web浏览器的客户端计算机,用户可以通过它与这里描述的系统和技术的实现方式进行交互),或这种后端、中间件或前端组件的任何组合的计算设备中实现。系统的组件可以通过任何形式或介质的数字数据通信(例如,通信网络)相互连接。通信网络的示例包括局域网(“lan”)、广域网(“wan”)和互联网。
[0435]
计算设备可以包括客户端和服务器。客户端和服务器通常彼此远离并且通常通过通信网络进行交互。客户端和服务器的关系通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序而产生。
[0436]
已经描述了许多实施例。然而,应当理解在不背离本发明的精神和范围的情况下可以进行各种修改。
[0437]
此外,图中描绘的逻辑流程不需要所示的特定次序或顺序次序来实现所需的结果。此外,可以从所述的流程中提供其它步骤,或者可以消除步骤,并且可以将其它组件添加到所述的系统中或从所述的系统中移除。因此,其它实施例在以下权利要求的范围内。
[0438]
参考标记
[0439]

(1),(2)...
ꢀꢀ
昆虫类别
[0440]

(i),(ii)
ꢀꢀꢀꢀ
昆虫物种
[0441]

α...ζ
ꢀꢀꢀꢀꢀꢀꢀ
昆虫注释
[0442]

1,2,3
ꢀꢀꢀꢀꢀꢀꢀ
用例
[0443]
■sꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
图像的设定基数
[0444]

x、y
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
通常的图像坐标
[0445]

x',y'
ꢀꢀꢀꢀꢀꢀꢀ
注释坐标
[0446]

(a)...(d)
ꢀꢀꢀ
发育阶段
[0447]

111/112
ꢀꢀꢀꢀꢀ
植物
[0448]

121/122
ꢀꢀꢀꢀꢀ
叶子
[0449]

131/132
ꢀꢀꢀꢀꢀ
昆虫(a、b、c、d阶段)
[0450]

141/142
ꢀꢀꢀꢀꢀ
非昆虫对象
[0451]

191/192
ꢀꢀꢀꢀꢀ
用户
[0452]

201/202
ꢀꢀꢀꢀꢀ
计算机
[0453]

261/271
ꢀꢀꢀꢀꢀ
cnn(叶子分割)
[0454]

261/271
ꢀꢀꢀꢀꢀ
cnn(昆虫检测)
[0455]

301
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
计算机
[0456]

302
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
计算机(移动设备)
[0457]

311/312
ꢀꢀꢀꢀꢀ
相机
[0458]

342
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
通信网络
[0459]

392
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
用户界面
[0460]

411/412
ꢀꢀꢀꢀꢀ
植物图像
[0461]

421/422
ꢀꢀꢀꢀꢀ
叶子图像
[0462]

429
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
叶子图像中要忽略的部分
[0463]

431/432
ꢀꢀꢀꢀꢀ
图像上的昆虫
[0464]

441/442
ꢀꢀꢀꢀꢀ
图像上的非昆虫对象
[0465]

451
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
多边形
[0466]

461、471
ꢀꢀꢀꢀ
注释图像
[0467]

501-k/502-k 密度图
[0468]

503-505
ꢀꢀꢀꢀꢀ
图形元素
[0469]

555
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
组合密度图
[0470]

6**a
ꢀꢀꢀꢀꢀꢀꢀꢀ
预处理活动
[0471]

6**b
ꢀꢀꢀꢀꢀꢀꢀꢀ
方法、步骤
[0472]

9**
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
通用计算机,具有组件。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献