CN115104133A - 通过使用由半监督方法获得的训练图像的卷积神经网络估计叶子上的生物对象的数量来量化植物侵染 - Google Patents
通过使用由半监督方法获得的训练图像的卷积神经网络估计叶子上的生物对象的数量来量化植物侵染 Download PDFInfo
- Publication number
- CN115104133A CN115104133A CN202180014801.1A CN202180014801A CN115104133A CN 115104133 A CN115104133 A CN 115104133A CN 202180014801 A CN202180014801 A CN 202180014801A CN 115104133 A CN115104133 A CN 115104133A
- Authority
- CN
- China
- Prior art keywords
- image
- leaf
- insect
- computer
- plant
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000013527 convolutional neural network Methods 0.000 title claims abstract description 163
- 238000012549 training Methods 0.000 title claims abstract description 91
- 206010061217 Infestation Diseases 0.000 title claims abstract description 17
- 238000000034 method Methods 0.000 title claims description 142
- 241000238631 Hexapoda Species 0.000 claims abstract description 385
- 230000006870 function Effects 0.000 claims description 37
- 230000015654 memory Effects 0.000 claims description 37
- 238000012545 processing Methods 0.000 claims description 33
- 230000009466 transformation Effects 0.000 claims description 14
- 230000003993 interaction Effects 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 11
- 230000011218 segmentation Effects 0.000 claims description 11
- 241000239223 Arachnida Species 0.000 claims description 5
- 238000012706 support-vector machine Methods 0.000 claims description 5
- 241000237852 Mollusca Species 0.000 claims description 4
- 241000196324 Embryophyta Species 0.000 description 146
- 238000004519 manufacturing process Methods 0.000 description 31
- 241000282414 Homo sapiens Species 0.000 description 28
- 238000004891 communication Methods 0.000 description 27
- 239000003086 colorant Substances 0.000 description 21
- 230000008569 process Effects 0.000 description 18
- 230000000694 effects Effects 0.000 description 16
- 241000258937 Hemiptera Species 0.000 description 15
- 241000894007 species Species 0.000 description 13
- 238000007781 pre-processing Methods 0.000 description 11
- 230000004913 activation Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 230000008859 change Effects 0.000 description 6
- 238000001514 detection method Methods 0.000 description 6
- 239000012634 fragment Substances 0.000 description 6
- 239000011159 matrix material Substances 0.000 description 6
- 230000009467 reduction Effects 0.000 description 6
- 238000012360 testing method Methods 0.000 description 6
- 244000061458 Solanum melongena Species 0.000 description 5
- 235000002597 Solanum melongena Nutrition 0.000 description 5
- 241001414989 Thysanoptera Species 0.000 description 5
- 238000013459 approach Methods 0.000 description 5
- 235000013601 eggs Nutrition 0.000 description 5
- 238000001914 filtration Methods 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 241000238421 Arthropoda Species 0.000 description 4
- 241001465754 Metazoa Species 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 4
- 201000010099 disease Diseases 0.000 description 4
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 description 4
- 238000000926 separation method Methods 0.000 description 4
- 241000382353 Pupa Species 0.000 description 3
- 241000607479 Yersinia pestis Species 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000018109 developmental process Effects 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 208000015181 infectious disease Diseases 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 241000233866 Fungi Species 0.000 description 2
- 240000008042 Zea mays Species 0.000 description 2
- 235000002017 Zea mays subsp mays Nutrition 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 210000004027 cell Anatomy 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- AAOVKJBEBIDNHE-UHFFFAOYSA-N diazepam Chemical compound N=1CC(=O)N(C)C2=CC=C(Cl)C=C2C=1C1=CC=CC=C1 AAOVKJBEBIDNHE-UHFFFAOYSA-N 0.000 description 2
- 230000004069 differentiation Effects 0.000 description 2
- 239000000428 dust Substances 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 235000013305 food Nutrition 0.000 description 2
- 238000003384 imaging method Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000029052 metamorphosis Effects 0.000 description 2
- 210000002569 neuron Anatomy 0.000 description 2
- 239000002245 particle Substances 0.000 description 2
- 238000003909 pattern recognition Methods 0.000 description 2
- 238000011176 pooling Methods 0.000 description 2
- 238000002203 pretreatment Methods 0.000 description 2
- 238000011002 quantification Methods 0.000 description 2
- 239000002689 soil Substances 0.000 description 2
- 238000012800 visualization Methods 0.000 description 2
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 2
- 241000254127 Bemisia tabaci Species 0.000 description 1
- 240000007124 Brassica oleracea Species 0.000 description 1
- 235000003899 Brassica oleracea var acephala Nutrition 0.000 description 1
- 235000011301 Brassica oleracea var capitata Nutrition 0.000 description 1
- 235000001169 Brassica oleracea var oleracea Nutrition 0.000 description 1
- 229920000742 Cotton Polymers 0.000 description 1
- 102000020897 Formins Human genes 0.000 description 1
- 108091022623 Formins Proteins 0.000 description 1
- 241000237858 Gastropoda Species 0.000 description 1
- 244000068988 Glycine max Species 0.000 description 1
- 235000010469 Glycine max Nutrition 0.000 description 1
- 241000219146 Gossypium Species 0.000 description 1
- 241000282412 Homo Species 0.000 description 1
- 241000257303 Hymenoptera Species 0.000 description 1
- 206010027146 Melanoderma Diseases 0.000 description 1
- 208000037004 Myoclonic-astatic epilepsy Diseases 0.000 description 1
- 241000819999 Nymphes Species 0.000 description 1
- 235000002634 Solanum Nutrition 0.000 description 1
- 241000207763 Solanum Species 0.000 description 1
- 235000005824 Zea mays ssp. parviglumis Nutrition 0.000 description 1
- 235000016383 Zea mays subsp huehuetenangensis Nutrition 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000031018 biological processes and functions Effects 0.000 description 1
- 101150083127 brox gene Proteins 0.000 description 1
- 239000006227 byproduct Substances 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 238000004737 colorimetric analysis Methods 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 235000005822 corn Nutrition 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000009849 deactivation Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 210000003608 fece Anatomy 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 238000003709 image segmentation Methods 0.000 description 1
- 239000002917 insecticide Substances 0.000 description 1
- JEIPFZHSYJVQDO-UHFFFAOYSA-N iron(III) oxide Inorganic materials O=[Fe]O[Fe]=O JEIPFZHSYJVQDO-UHFFFAOYSA-N 0.000 description 1
- 235000009973 maize Nutrition 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000000386 microscopy Methods 0.000 description 1
- 238000000874 microwave-assisted extraction Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 210000005036 nerve Anatomy 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 208000024891 symptom Diseases 0.000 description 1
- 239000010409 thin film Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
- 239000013598 vector Substances 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2413—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
- G06F18/24133—Distances to prototypes
- G06F18/24137—Distances to cluster centroïds
- G06F18/2414—Smoothing the distance, e.g. radial basis function networks [RBFN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/0002—Inspection of images, e.g. flaw detection
- G06T7/0012—Biomedical image inspection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
- G06V10/443—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
- G06V10/449—Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
- G06V10/451—Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
- G06V10/454—Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/56—Extraction of image or video features relating to colour
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/762—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using clustering, e.g. of similar faces in social networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/10—Terrestrial scenes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/10—Terrestrial scenes
- G06V20/188—Vegetation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/10—Machine learning using kernel methods, e.g. support vector machines [SVM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/10—Terrestrial scenes
- G06V20/17—Terrestrial scenes taken from planes or by drones
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Data Mining & Analysis (AREA)
- Medical Informatics (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Biodiversity & Conservation Biology (AREA)
- Nuclear Medicine, Radiotherapy & Molecular Imaging (AREA)
- Radiology & Medical Imaging (AREA)
- Quality & Reliability (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Image Analysis (AREA)
- Catching Or Destruction (AREA)
- Image Processing (AREA)
Abstract
计算机生成具有注释图像(473)的训练集以训练卷积神经网络(CNN)。计算机接收以第一颜色编码(413‑A)的示出叶子和诸如昆虫的生物对象的叶子图像,将像素的颜色编码改变为第二颜色编码并且从而增强对比度(413‑C),对以第二颜色编码的像素分配二元值(413‑D),通过区域大小标准(413‑E)将具有以第一二元值的连续像素的区域区分为非昆虫区域和昆虫区域,采用矩形图块区域(413‑F)识别昆虫区域的像素坐标,以及通过将像素坐标分配给对应的图块区域来注释以第一颜色编码的叶子图像。注释图像然后用于通过估计植物叶子上的诸如昆虫的生物对象的数量来训练用于量化植物侵染的CNN。
Description
技术领域
本公开一般涉及通过计算机的图像处理,并且更具体地涉及用于通过估计诸如植物叶子上的昆虫的生物对象的数量来量化植物侵染的技术。
背景技术
介绍
许多物种的昆虫生活在植物叶子上。例如,粉虱生活在茄子的叶子上。
在最广泛的意义上,昆虫与植物相互作用(例如通过消耗部分叶子)。昆虫可能引起植物的疾病或其他异常状况。最终,植物无法在昆虫的存在下存活。但是在农业中,植物应该成为食品(即人类或动物的作物),并且根本不希望叶子上存在昆虫。食品安全至关重要。
这种现象的常用术语是“侵染”和“害虫”。农民应用对策(例如,通过应用杀虫剂进行处理)以便移除昆虫。
然而,应用对策可能引起进一步的问题或挑战。对策必须专用于特定昆虫,例如用于移除粉虱但保留蜜蜂和其他昆虫。对策还应考虑昆虫的数量。
因此,量化侵染,诸如通过对(在植物叶子上的)昆虫进行计数是害虫管理的一项重要任务。
理论上,农民可以目视检查植物并可以对昆虫计数(考虑昆虫发育阶段)。由于不同的人有(关于昆虫的)不同知识和具有不同的眼睛,因此不同的人将得出不同的数字。
使用计算机视觉技术表现为一种改进。众所周知的(经典或传统)方法是提取图像特征并进行后续分类。然而,出现了许多约束。约束具有许多方面,诸如计算机和相机的限制、田地的非理想条件以及与昆虫本身有关的约束。
Boyi Liu等人的“Recognition of Pyralidae Insects Using IntelligentMonitoring Autonomous Robot Vehicle in Natural Farm Scene(在自然农场场景中使用智能监测自动机器人车辆识别螟蛾科昆虫)”,康奈尔大学图书馆,201OLIN图书馆康奈尔大学伊萨卡,纽约14853解释了一种通过处理图像来识别(特定物种)昆虫的方法。因此,计算机通过颜色处理技术(诸如通过改变颜色编码)将昆虫与背景分离,并且计算机通过实现支持向量机将昆虫识别为属于特定物种。
Mohanty SP、Hughes DP和SalathéM(2016年)使用深度学习进行基于图像的植物疾病检测.正面.植物科学7:1419.doi:10.3389/fpls.2016.01419描述了根据图像上描绘的作物疾病对对图像进行分类的神经网络。更详细地,该论文解释了一种两步方法,其中通过使用颜色重新编码和通过卷积神经网络对预处理图像进行分类来从图像中移除背景信息。
注释
存在提供相对大量的注释图像的要求。例如,注释通过坐标识别昆虫的位置。注释还可以区分昆虫物种和昆虫的生长阶段。
传统上,计算机从检查显示器上的图像的人类专家用户接收注释。用户在变型中与计算机进行交互,称为评价者间的可变性(若干人)和评价者内部的可变性(同一个人在不同的瞬间)。放大和缩小是可能的错误和变化的进一步来源。
发明内容
约束由计算机系统、计算机实现的方法和计算机程序产品解决。当被加载到计算机的存储器中并由计算机的至少一个处理器执行时,计算机程序产品执行计算机实现的方法的步骤。
一种用于生成具有注释图像的训练集的计算机实现的方法提供了改进。注释图像将用于训练用于量化植物侵染的卷积神经网络(CNN)。CNN估计植物叶子上的昆虫数量。
计算机接收示出叶子和示出叶子上的昆虫的叶子图像。叶子图像以第一颜色编码被编码。计算机将叶子图像的像素的颜色编码改变为第二颜色编码。在以第二颜色编码的昆虫的像素和叶子的像素之间的对比度比以第一颜色编码的对比度更高。计算机以第二颜色编码对像素分配第一二元值或第二二元值。在具有二元编码的叶子图像中,计算机通过区域大小标准将具有以第一二元值的连续像素的区域区分为非昆虫区域和昆虫区域。计算机识别昆虫区域的像素坐标,其中,像素坐标识别在中心具有昆虫的矩形图块区域。计算机通过将像素坐标分配给对应的图块区域来注释以第一颜色编码的叶子图像,并且从而获得注释图像。
可选地,计算机接收叶子图像作为示出孤立分割叶子的图像。可选地,计算机通过使用已通过处理叶子注释的植物图像进行训练的CNN执行叶子分割来接收具有孤立分割叶子的图像。可选地,计算机接收为RGB编码的第一颜色编码并且利用从RGB编码到XYZ编码的变换来执行改变颜色编码。可选地,改变颜色编码还包括通过忽略来自XYZ编码的Z分量来获得第二颜色编码。可选地,计算机通过将像素聚类为颜色簇来分配二元值。可选地,计算机通过支持向量机识别颜色簇。可选地,计算机将像素坐标识别为每个具有96x 96像素的正方形。
可选地,计算机进一步根据昆虫类别对图块进行分类,并且从而排除假阳性。
从不同的角度,用于通过估计植物叶子上的昆虫数量来量化植物侵染的计算机实现的方法使用这些注释。
在生产阶段中,计算机应用先前已经在训练阶段中训练的卷积神经网络。首先总结生产阶段:
计算机接收从特定植物取得的植物图像。植物图像示出特定植物的叶子中的至少一个,即所谓的主叶子。计算机使用第一卷积神经网络来处理植物图像以导出叶子图像,该图像是完整地(即作为整体)示出特定植物的主叶子的像素的连续集合。第一卷积神经网络已经由多个叶子注释的植物图像训练,其中植物图像已被注释以识别主叶子。计算机将叶子图像分割成多个图块。图块是具有预定义图块尺寸的植物图像的片段或部分。计算机使用第二卷积神经网络来分别处理多个图块以获得具有对应于图块尺寸的图尺寸的多个密度图。
在训练阶段中,该网络已通过处理昆虫注释的植物图像进行训练。昆虫注释植物图像的第一子集通过与专家用户交互(人造的注释)获得,以及昆虫注释植物图像的第二子集通过执行用于生成训练集的所提及方法(计算机制造的注释)获得。训练包括基于核函数计算每个像素的卷积,从而得到密度图。对于示出昆虫的图块和不示出昆虫的图块,密度图具有不同的积分值。在生产阶段中,计算机将多个密度图组合成以叶子图像尺寸的组合密度图,并将组合密度图的像素值整合到针对主叶子的估计的昆虫数量。
附图说明
图1示出了一种计算机实现的方法的概述,该方法在训练阶段中教导卷积神经网络(CNN)以对叶子上的昆虫进行计数;
图2示出了在生产阶段期间对叶子上的昆虫进行计数的计算机实现的方法的概述;
图3示出了计算机实现的方法的概述;
图4示出了具有昆虫发育阶段、昆虫物种和计数类别的图;
图5示出了示出具有叶子和昆虫的特定植物的植物图像;
图6示出了计算机的用户接口以及对图像进行注释的专家用户;
图7示出了叶子图像;
图8示出了被分割成图块或子区域的图像;
图9示出了在其输入处具有分离器模块并且在其输出处具有组合器模块的CNN;
图10以总体概述示出了具有层的CNN;
图11A和11B示出了在区分多于两个昆虫类别的实现方式中作为CNN层的一部分实现的像素值滤波器;
图12示出了具有多个输出通道的CNN;
图13示出了昆虫注释图像集合,其具有用于训练、用于验证和用于测试的子集;
图14示出了逐像素颜色编码并示出了将颜色分配给二元像素值的概念;
图15示出了逐像素颜色编码,并在改变颜色编码的情况下将颜色分配给二元像素值。
图16示出了作为用于将颜色分配给二元像素值的工具的聚类;
图17示出了图像序列;
图18示出了用于生成具有注释图像的训练集的计算机实现的方法的方法流程图;
图19示出了利用人类注释图像和计算机注释图像训练的CNN;以及
图20示出了通用计算机系统。
具体实施方式
说明书通过解释一些写作惯例开始。
术语“图像”代表数字照片的数据结构(即,使用诸如JPEG、TIFF、BMP、RAW等文件格式的数据结构)。短语“拍摄图像”代表将相机指向对象(例如植物)并让相机存储图像的动作。
说明书在它解释图像的内容(即语义)时使用术语“示出”,例如在诸如“图像示出植物”的短语中。然而,不需要人类用户查看图像。这样的计算机-用户交互采用术语“显示”来表达,诸如“计算机向专家显示植物图像”,其中专家用户查看屏幕以看到图像上的植物。
为了简单和方便起见,说明书使用术语“昆虫”。应注意,“昆虫”是大多数读者可以容易地应用计数的名词(在通常的语言中)。阅读“一只昆虫”或“两只昆虫”的技术人员立即理解。术语“昆虫”也用于表示位于要计数的植物部分(即叶子上)的生物对象。生物对象(待计数)具有相对小于其所位于的部分的物理大小。还应注意,对象位于一个部分上。由于植物图像被处理为示出一个部分的图像(诸如一片叶子,通过分割),因此大小关系也转移到图像。为了说明:昆虫的一些腿坐在第一片叶子上,而另外一些腿坐在第二片叶子上未进行计数,因为图像将被分割到叶子中的一片。或者,在覆盖叶子和覆盖树枝的图像上出现的相对大的昆虫无法被计数。
在生物分类学方面,生物对象可以是昆虫或可以是蛛形纲动物(即节肢动物),或者生物对象可以是软体动物(非节肢动物)。生物对象的内部结构并不重要,只要它符合大小标准。换句话说,对象是否具有外骨骼、分段的身体和成对的关节附肢(如节肢动物所具有的)并不重要。进一步地,对于计算机而言,不同数量的腿(例如,昆虫有6条腿,蛛形纲动物有8条腿,甚至像蜗牛一样没有腿)对计算机来说并不重要。对象也可以是植物部分的表面上的斑点(作为生物过程的结果的斑点,诸如与植物等相互作用的真菌、动物排泄物等)。本领域技术人员可以识别适合的措施(例如,对策)。术语“昆虫”的使用适用于诸如“昆虫注释”的短语或意为“对象注释”的类似物。
进一步地,生物对象与植物(或与茎枝、叶子等部分)的相互作用并不重要。生物对象可以是害虫或有益的。
术语“注释”代表伴随图像以识别关于(图像的)内容的特定特性的元数据。例如,注释可以识别植物叶子的边界或边缘(即“叶子注释”),或者可以识别坐在该叶子上的昆虫的存在、类型、位置等(即“昆虫注释”)。
术语“注释图像”表示这样的元数据对于图像(或该图像的子区域)的可用性,但是不需要将元数据和图像存储在相同的数据结构中。有时,附图将注释示出为图像的一部分,诸如通过多边形和/或点,但同样:注释是元数据,并且不需要将它们嵌入到图像的数据结构中。
取决于创建昆虫注释的过程,说明书区分了两种基本类型的昆虫注释。第一,通过查看图像显示并与计算机交互的专家用户获得人造的昆虫注释(产生“人类注释的昆虫图像”或简短的“人类注释图像”)。第二,计算机制作的注释由执行用于提供注释图像的方法的计算机获得(参见图14至18,“计算机注释的昆虫图像”或“计算机注释的图像”)。
通常,术语“昆虫”代表“节肢动物门”或1ARTHP(欧洲和地中海植物保护组织的EPPO代码)门中的动物界。在实施方式中,昆虫具有“六足纲”(1HEXAQ)亚门。
术语“阶段”(也称为“发育阶段”、“生长阶段”)识别了昆虫生命周期(或变态)的差异,其中第一阶段的昆虫与第二后续阶段的昆虫具有不同的视觉外观。生物学家可以通过诸如卵、幼虫、蛹和成虫的术语来区分阶段(或“龄期”)。也可以使用其他约定,例如“成虫”和“若虫”,或甚至标准化的数字标识符,诸如“n1n2”、“n3n4”等等。未区分植物的发育阶段。
术语“计数”是“估计数量”的缩写,诸如估计叶子上昆虫的数量。
说明书使用术语“训练”作为用于第一过程(“训练过程”)的标签,其使得CNN能够对昆虫计数,并用于通过使用注释图像来训练特定CNN的特定任务。
为了方便起见,说明书以单数形式指代硬件组件(诸如计算机、相机、移动设备、通信网络)。但是,实现可以使用多个组件。例如,“相机拍摄多个图像”包括多个相机参与的场景,使得一些图像从第一相机拍摄,一些图像从第二相机拍摄等等。
在图中,后缀“-1,-2…”等等区分类似项;以及后缀“(1)、(2)…”区分不同项。
文档的结构
参考图1至3,说明书提供了在两个阶段中应用CNN的概述,并且从而介绍了预处理活动以及计算机实现的方法。参考图4,说明书介绍了待计数的不同发育阶段的昆虫。参考图5至12,说明书调查细节(关于待处理的植物、图像、图像部分)。说明书利用图13讨论准确度。
进一步地,将结合图14至19讨论提供和使用计算机制造的注释。
训练和生产阶段概述
图1至3示出了对如图1中的计算机实现的方法的概述,以训练卷积神经网络(CNN)在训练阶段**1中对叶子上的昆虫进行计数,并且如在图2中,通过在(后续)生产阶段**2(图2)期间实际对叶子上的昆虫进行计数来量化侵染。
贯穿本说明书,标记为**1/**2的参考标记代表相似但在两个阶段中均具有不同用途的元素。
从左到右,图1至2示出了植物111/112(具有叶子和昆虫)、拍摄植物图像411/412的相机311/312以及具有CNN以执行计算机实现的方法601B/602B/701B/702B的计算机201/202。附图还示出了人类用户191/192。
图1至2通过具有粗框的矩形来示出计算机201/202。计算机201/202通过基于机器学习(ML)的技术实现方法601B、602B、701B和702B(图3)。图1至2还示出了执行辅助活动(或参与其中)的计算机301和移动设备302,诸如拍摄图像、发送图像、接收注释以及将结果转发到其他计算机,诸如估计值。
一些辅助活动是准备方法执行的预处理活动。在图3中,预处理活动由参考标记601A、602A、701A和702A示出。
计算机201/202使用CNN和下面将要解释的其他模块(诸如用户接口、数据库、分离器和组合器模块等)。虽然图1至2仅介绍了CNN,但是其他图提供了用于预处理图像和用于向CNN设置参数的细节。CNN 261和271正在训练阶段**1中被训练以分别成为经训练的CNN272和272。换句话说,未训练和经训练的神经网络之间的差异是通过训练获得的参数的可用性。
图3示出了对计算机实现的方法601B、602B、701B和702B的概述。方法以矩阵说明。通常,对叶子上的昆虫进行计数被分为序列,简化为:第一子序列(由左侧的列所示)用于识别图像上的叶子,以及第二子序列(由右侧的列所示)用于对所识别的叶子上的昆虫进行计数。
图3将预处理活动601A、602A、701A和702A(诸如拍摄图像和注释图像)与利用机器学习技术的计算机实现的方法601B、602B、701B和702B区分。
方法601B和602B利用CNN 261/262执行,以及方法701B和702B利用CNN 271/272执行。CNN 261/262和CNN 271/272在参数上彼此不同(解释如下)。
CNN使用密度图估计技术,其中,像素值的经简化积分得到估计的昆虫数量。换句话说,通过计算积分来执行计数。估计的数字NEST可以是非整数。出于上文所提到的目的(识别针对侵染的适当对策),NEST的准确度是足够的。
“Lempitsky,V.,Zisserman,A.,2010.Learning To Counts in Images(学习在图像中计数对象).Neural Inf.Process.Syst.(神经信息处理系统)1-9”解释了使用密度图对对象进行计数。
训练阶段
参考图1,在图3的第一行中示出了训练阶段**1。
如预处理601A所示,相机311拍摄多个植物图像411(在图像采集活动中)。
计算机301与专家用户191交互以获得叶子注释并获得昆虫注释。用户191可以具有不同的角色(图6中的细节)。图像和注释的组合被提供为注释图像461、471。为了方便起见,说明书区分了叶子注释的植物图像461和昆虫注释的叶子图像471。然而,应注意,特定图像可以具有叶子注释和昆虫注释两者。
除了让专家用户191提供注释(人造的注释)之外,还存在用于提供训练集(具有注释图像)的方法800。方法800绕过人类用户并生成计算机制造的注释(即图像473)。
计算机301将注释图像461、471转发给计算机201。可选地,计算机303将图像473转发给计算机201。
在执行计算机实现的方法601B时,计算机201(图1)接收与叶子注释组合的多个植物图像(统称为“叶子注释植物图像”)。计算机201然后使用多个植物图像的子集并训练CNN261以识别植物图像中的特定叶子(未注释)。因此,计算机201将未训练的CNN 261转换为经训练的CNN 262。换句话说,CNN 262是计算机201的输出。
在执行方法701B时,计算机201接收与昆虫注释组合的多个叶子注释植物图像(统称为“昆虫注释叶子图像”)。计算机201然后训练CNN 271来对特定叶子上的昆虫进行计数。因此,计算机201将未训练的CNN 271转变为经训练的CNN 272。换句话说,CNN 272也是计算机201输出。
可选地,计算机201还可以在两种变型中执行方法701B。在第一变型中,计算机201用人类注释的图像471训练CNN 271,并且在第二变型中,计算机201用计算机注释的图像473训练CNN 271。训练使用这两种变型的结果,但就损失函数而言,计算机201将更多权重放在人类注释的图像471上。
应注意,说明书假设对相同的多个植物图像411进行注释。这是方便的,但不是必需的。复数可能是不同的。例如,待叶子注释的多个植物图像411可以示出未侵染的植物。使用叶子注释植物图像471(来自这种健康植物)来进一步提供昆虫注释将会失败,因为将不存在要注释的昆虫。可以为未分割为叶子的图像执行提供昆虫注释。
生产阶段
参考图2,在图3的第二行中示出了生产阶段**2。
如预处理602A所示,设备302的相机312拍摄植物图像412并将其转发到计算机202。
在执行方法602B中,计算机202(图2)使用CNN 262来识别特定叶子(并由此创建叶子图像)。随后,在执行方法702B中,计算机202使用CNN 272并处理叶子图像422。从而,计算机202对该特定叶子上的昆虫(以及潜在的其他对象,如果被相应地训练的话)进行计数。从而,计算机202获得估计的每片叶子NEST的昆虫数量作为结果。
在科学文献中,使用经训练的CNN获得结果有时被称为“测试”。
现在,说明书再次根据图1至2解释了进一步的方面和实现细节。
详细的训练阶段
返回图1,它示出了植物111。植物111具有叶子121,并且叶子121被昆虫131和非昆虫对象141占据。相机311拍摄(多个)植物图像411,这些图像在训练阶段**1期间在计算机201中被处理。
训练阶段**1具有两个子阶段。第一子阶段包括诸如拍摄多个植物图像411,让专家用户191向计算机301提供植物图像411的注释的活动。存在专用于叶子的注释,并且存在专用于昆虫的注释。接收注释的计算机301产生注释图像461、471,它们是叶子注释图像和昆虫注释图像(图6)。接收注释也可以被认为是监督学习部分。在第二子阶段中,计算机201然后使用注释图像461、471来训练CNN 261以识别主叶子(即植物图像的语义分割),并训练CNN 271以识别昆虫(即在先前被识别的主叶子上)。本领域技术人员可以应用适合的训练设置。
尽管计算机201由单个框示出,但是它可以由分离的物理计算机实现。相同的原理适用于植物111和相机311。对于所有图像,植物和相机不必相同。而是期望具有来自具有不同特性的相机311的植物图像411。而且,多个图像411表示多个植物111。不需要一对一的关系,因此一种特定植物可以由多个图像表示。
训练CNN可以被看作从训练阶段到生产阶段的过渡。如在图1中,CNN 261和271正在被训练成为经训练的CNN 262和272。
不需要复制CNN(准从图到图)。本领域技术人员可以将参数从一个网络接管到另一个网络,诸如从CNN 261(图1)到CNN 262(图2)和从CNN 271(图1)到CNN 272(图2)。
如图1中,从左到右可以看到时间的进展。在训练阶段**1期间,植物111是否仍然存活并不重要;数据通信仅在一个方向上进行。然而,在将用图2解释的生产阶段**2中,时序在词语的真实意义上对于植物112来说是至关重要的,因为来自经训练的CNN 262、272的输出是用于处理植物112(或其田间的邻居)的信息。
在具有专家用户191的监督学习中,训练阶段**1通常执行一次。将解释利用相机311拍摄植物图像411(作为参考图像)、利用专家用户191注释植物图像411(或其派生图像)以及利用计算机实现的处理的训练阶段的设置。说明书假设训练阶段**1已在生产阶段**2之前完成。然而,可以连续执行训练阶段**1并与生产阶段**2并行。
详细的生产阶段
参考图2,它示出了计算机实现的方法的概述,通过该方法,在农业领域的示例性应用中,计算机(示出为计算机202)对植物112的叶子122上的昆虫122进行计数。田地是位于露天还是位于温室中并不重要。
简化后,计算机202处理通过通信网络342从移动设备302接收的植物图像412。与图1的训练阶段**1不同,一个图像412在理论上是足够的。
叶子122是所谓的“被感染的叶子”,因为昆虫位于其上。可以针对特定类别132(1)(由普通椭圆表示)和(可选地针对)特定类别132(2)(粗椭圆)的昆虫对计数进行区分。可选地,计数可以考虑进一步的类别(参见图4和11)。
非昆虫对象142不一定被计数。这种对象142可以位于叶子内并且可以是叶子122的结构元件,诸如叶子上的损坏、由于光反射的发光效果等。应注意,许多昆虫伪装自己。因此,对于计算机来说,区分昆虫132和非昆虫对象142可能是困难的。
昆虫类别(1)和(2)由特定昆虫物种以及(即逻辑AND)由特定发育阶段定义(参见图2和4)。
在图4中给出了具有更多类别的更精细调整的粒度,以及在图11至12中给出了CNN对这种粒度的适配。如本文所使用的,术语“昆虫”与“虫子”同义使用。
植物112具有多个叶子122。为了简单起见,仅示出了两个叶子122-1和122-2。叶子122由昆虫132占据(与训练阶段**1没有差异)。为了方便起见,图2没有按比例缩放,其中昆虫的大小不成比例。田地用户192(例如正在种植植物112的农民)使用移动设备302的相机312来拍摄植物112的图像(植物图像412)。对于具有两个(或更多个)相机的移动设备,相机312方便地是具有最高分辨率的相机。
移动设备302可以被看作是图像设备(即相机312)、处理器和存储器的组合。移动设备302对于农民来说是容易获得的,例如作为所谓的“智能电话”或作为“平板电脑”。当然,移动设备302可以被视为“计算机”。应注意,移动设备302仅参与辅助活动(参见图3,602A、702A)。
田地用户192尝试将至少一片完整的叶子(此处为叶子122-1)捕捉到(至少一个)植物图像412中。换句话说,田地用户192仅制作植物的照片。从而,田地用户192可以查看显示位于相机312前面的植物的用户接口392(即,在设备302的视觉用户接口处)。
移动设备302然后经由通信网络342将植物图像412转发给计算机202。如通信网络342的图示所建议的,计算机202可以从移动设备302远程实现。
计算机202返回要显示给(移动设备302的)用户接口392的结果。在该图的非常简化的示例中,存在被计数的N(1)=3只类别(1)的昆虫(即昆虫132(1))和N(2)=2只类别(2)的昆虫(即昆虫132(2))。数量N(1)、N(2)(或通常N)是每片叶子的数量,而不是每株植物的数量(此处在针对主叶子122-1的示例中)。数量对应于NEST(其中NEST被四舍五入为最接近的整数N)。
可选地,通过证明由类别(例如(1)和(2))分离的侵染数据,田地用户192可以采用更优的成功预期来识别对抗侵染的对策。
术语“主叶子”并不暗示植物上的叶子的任何层次,而是仅代表昆虫被计数在内的特定叶子。相邻叶子122-2是位于靠近主叶子122-1的叶子的示例,但昆虫并不为此被计数。尽管以单数示出,但是植物112具有一个主叶子但具有多个相邻叶子。假设植物图像412完全表示主叶子,并且仅部分表示相邻叶子。这便于解释,但不是必需的。
通常主叶子122-1在相邻叶子122-2(或多个相邻叶子)的顶部。它们彼此重叠,并且难以识别一个与另一个之间的边缘。
准确度:假阳性、假阴性
数量N从估计的数量NEST导出,说明书描述了用于准确地确定N的方法。
理想地,仅计数位于主叶子122-1上的昆虫132。未被计数但位于主叶子122-1上的昆虫132将被认为是“假阴性”,以及被计数但位于相邻叶子上的昆虫将被认为是“假阳性”。正如下面将更详细解释的,计数包括两个主要的子过程:第一,区分主叶子和相邻叶子(也称为叶子识别、分割),第二,仅计数主叶子上的昆虫。
换句话说,在计数之前识别主叶子保持“假阴性”和“假阳性”的数量可以忽略。
实现方式
在移动设备302与计算机202之间经由通信网络342的通信可以通过可用的并且由通信供应商在商业上提供的技术来实现。
计算机202具有执行计算机实现的方法602B和602B的CNN 262/272(结合图10的细节)。CNN 262和272之前已经被训练(方法601B和701B)。
在实施例中,计算机201/202使用操作系统(OS)Linux,并且执行方法601B/602B、701B/702B的模块由以Python编程语言的软件实现。通过容器虚拟化来实现模块是方便的。适当的软件是可商购的,例如,来自Docker Inc.(旧金山,加利福尼亚,美国)。在软件即服务(SaaS)实现方式中,移动设备302充当客户端,并且计算机202充当服务器。
除了CNN 262/272之外,计算机202具有其他模块,例如,可以使用众所周知的RESTAPI(Representational State Transfer,Application Programing Interface,表征状态转移,应用编程接口)来实现移动设备302与计算机202之间的通信。计算机202对移动设备302表现为网络服务。本领域技术人员可以应用其他设置。
计算机202采用CNN 262/272(执行方法)以获得NEST花费的时间取决于植物图像412的分辨率。执行方法602B和702B可能花费几秒钟。处理时间随着图像的分辨率增加。(处理时间已在测试运行中测量。对于具有4000x 6000像素的植物图像412,处理时间大约是9秒。)
以其原始像素分辨率发送植物图像412是方便的,否则计数昆虫的准确度将恶化。换句话说,存在许多技术以降低的分辨率发送图像,但是对于该应用,这种技术应该在此处忽略。然而,发送压缩图像(以无损格式)是可能的。在现代通信网络中,带宽消耗(用于以原始分辨率发送图像)不再是问题。
应注意,对于田地用户192,用于捕捉图像的条件并不总是理想的。例如,存在采集距离(在相机与植物之间,用户将移动设备保持在不同高度处)、照明(例如晴天或雨天/阴天,一些叶子可能遮蔽其他叶子)、植物表面(例如植物上的灰尘或雨滴等)、透视(例如列举两个极端,从侧面或从顶部拍摄图像)、聚焦(例如植物的非相关部分的锐利图像)、分辨率(例如,具有24M像素相机的移动设备,与具有较少像素的设备等)等等的变化。
昆虫、植物和用例
在下文中,说明书简要探讨要计数的对象:昆虫131/132(参见图1至2),但是然后转向讨论关于现有技术的问题和适于计数昆虫的解决方法。
说明书使用植物/昆虫组合的两个示例。
在第一组合中,植物111/112是茄子(茄属,EPPO代码SOLME),并且昆虫131/132是粉虱物种(烟粉虱,EPPO代码BEMITA)。
在第二组合中,植物111/112也是茄子,并且昆虫131/132是蓟马物种(西花蓟马,EPPO代码FRANOC)的区域。
应注意,本领域技术人员可以区分这种(和其他组合)而无需在本文中进一步解释。拍摄图像、注释图像、训练CNN、对昆虫计数(参见图3中的预处理和方法执行)通常针对组合中的一种进行。
一般规则的例外情况是可用的。如果植物外观相似,则在训练阶段**1和生产阶段**2具有不同的植物物种是可能的。在那种情况下,预处理601A和执行方法601B(即训练CNN 261/262以分割叶子)将用第一种植物物种(例如茄子)执行,并且预处理602A和执行方法602B将用第二种植物物种执行。第二植物物种可以属于其他作物,诸如例如棉花、大豆、卷心菜、玉米(即玉米)。
由于侵染是由昆虫引起的,因此说明书专注于昆虫。昆虫在所谓的变态中通过一系列发育阶段改变外观是一个约束。
量化侵染的粒度
由于获得关于侵染的数据的准确度与获得数据的努力有关,因此说明书现在引入粒度方面。
图4示出了关于针对昆虫131/132的发育阶段(A)、(B)、(C)和(D)(参见图1至2)、昆虫物种(i)和(ii)以及计数类别(1)、(2)、(3)、(4)的图。
如箭头所示(从左到右),发育阶段以预定义的顺序发生,其具有状态转换:从阶段(A)到(B)、从(B)到(C)、从(C)到(D)。箭头是虚线,仅为了说明其他转换(例如从(B)到(D))是可能的。生物学家可以将阶段和与昆虫年龄相关的语义相关联,诸如具有与生死相关的语义的“卵”、“若虫”、“成虫”、“空蛹”(昆虫离开了蛹,并且只剩下蛹的皮)。作为表示阶段的特定方式是本领域众所周知的“n1n2”/“n3n4”命名法。
每个阶段的外观的细节是众所周知的。正好提到一点,昆虫可以发育翅膀。例如,翅膀的存在或不存在可以指示蓟马的特定发育阶段。
在该阶段下,图4示出了阶段-物种的矩阵,其中以列示出阶段(A)至(D),以及以行示出昆虫物种(i)和(ii)。
在示例中,存在两个物种:(i)“粉虱”和(ii)“蓟马”。两个物种的昆虫通过(A)到(D)阶段发育(当然是分离的:(i)不会变成(ii)或反之亦然)。在列/行交叉处的黑点指示应对特定阶段/物种组合的昆虫进行计数。这是准确度(例如,对黑点情况至关重要的侵染,但有可用的对策)和努力(注释、计算、训练等)之间的折衷。
矩形将特定阶段/物种组合分组到类别(1)到(4)中,并且从而区分用例1至3。
对于每个特定用例,以下假设适用:
在训练阶段**1中,专家用户191可以在植物图像(或叶子图像)上对特定阶段/物种组合中的昆虫进行注释,并且可以采用这种注释训练CNN。
在生产阶段中,具有CNN 272的计算机202可以相应地对昆虫进行计数。
说明书通过示例解释用例:
在用例1中,CNN 271/272被训练以提供NEST作为阶段(B)和(C)中的物种(i)昆虫的数量,而不区分(B)和(C),即NEST(i)(B)(C)。
在用例2中,CNN 271/272被训练以2个单独数量提供NEST(参见图1至2中的介绍):NEST(ii)(B)和NEST(ii)(C)。
在用例3中,CNN 271/272被训练以4个单独数量提供NEST:NEST(i)(A)、NEST(i)(B)、NEST(i)(C)和NEST(i)(D)。
矩形采用类别数字(1)到(4)示出,其中类别仅是可替代的符号。说明书将结合图11至12解释针对多类别用例(用例2和3)对CNN的适配。
与昆虫有关的约束
现在说明书涉及一些挑战,但是组合了解决方法。
对于每个发育阶段,昆虫对植物的影响(以及适当的对策)可能不同。例如,确定若虫的数量(每片叶子)、空蛹的数量等可能是重要的。区分年轻若虫和老若虫可以指示自昆虫到达以来已经过去的时间间隔,从而有机会微调对策。例如,成虫可能产卵(并且这应该被防止)。
图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)。
图5通过小正方形示出了昆虫431/432,其中它们中的一些在叶子421-1/422-1上并且它们中的一些在叶子421-2/422-2上。非昆虫对象441/442由具有圆角的小正方形进行符号表示。虽然在该图中在此没有用符号示出,但是昆虫可以属于不同的类别(参见图4)。
应注意,叶子、昆虫和非昆虫对象的空间布置(即像素坐标(X,Y))从图像到图像是不同的。原因很简单:图像示出了不同的物理植物(甚至在不同的时间点处拍摄)。
为了便于解释,说明书使用诸如“昆虫431/432”和“非昆虫对象441/442”的术语。然而应注意,图5示出了图像(作为数据结构),使得“昆虫431/432”实际上象征示出昆虫的像素(对于441/442同样如此)。
为了在训练阶段**1中使用,植物图像411(参见图1)可以由高分辨率相机(例如,24兆像素)或由移动设备的主相机拍摄。
尽管此处被示出为单个图像,但是在训练阶段**1中,图像被拍摄为多个。应注意,在拍摄用于训练的图像时,可以考虑各种不同的相机。
在生产阶段中,植物图像412通常由移动设备302的相机312拍摄(参见图2)。图5也便于解释由对象(即具有叶子和昆虫的植物)和移动设备相机的不足引起的约束。
图5示出了以纵向的图像411/412(高度大于宽度),这是方便的但不是必需的。为了方便起见,给出了识别特定像素的图像坐标(X,Y)。图像尺寸根据像素来讨论。例如,图像411/412在Y坐标中可以具有6000像素,并且在X坐标中可以具有4000像素(即24兆像素,或“24M”)。像素数是相机传感器的特性并且可以变化。
图像411/412通常是三通道彩色图像,其中颜色通常在RGB颜色空间(即红色、绿色和蓝色)中编码。
应注意,图像412不必显示给田地用户192。而且,将针对单个图像412解释田地场景,但在实践中,可能建议田地用户192拍摄几个相似的图像412。
图像412表示现实(即植物112、叶子122、昆虫132、非昆虫对象142),但至少具有以下进一步的约束。
如已经提到的,植物111/112在不同的物理位置处具有多个叶子。因此,在图像411/412中,一片叶子可以覆盖其他叶子。或者换句话说,虽然在现实中(参见图1)叶子是分开的,但是叶子421-1和叶子421-2表现为相邻的叶子(422-1和422-2也是)。
然而,对于将N计为“每片叶子的特定类别中的昆虫”的目标,必须考虑覆盖。由于多个叶子具有相似的颜色(通常为绿色),它们在植物图像411/412中的表示以相同的颜色出现(即图像中的小或零颜色差异)。
进一步地,每个特定类别的昆虫具有特定的颜色。该颜色可以称为教科书颜色,或标准颜色。例如,顾名思义,成年粉虱是白色的(至少大多数部分)。
然而,图像将不会适当地表示教科书颜色。为此至少存在以下原因:(i)昆虫的颜色具有自然变异性。(ii)照明可以不同(例如,多云的天空、晴朗的天空、阴影等)。(iii)相机311/312不是理想的相机。它没有考虑这种不同的照明条件。因此,图像可能不会适当地示出颜色。
在图像的编码中(表示颜色的数值,例如,在提到的RGB空间中),数值将是不同的。因此,图像中(颜色的)绝对值因此“不是”特定表征。
由于所提到的伪装,将昆虫131/132与非昆虫对象141/142进行区分可能是复杂的。这在本质上是复杂的,并且在图像中甚至更复杂。
进一步地,与叶子相比较,昆虫可能相对较小。例如,昆虫可能在长度方面小于一毫米。与图1至2中的强调相反,几百只昆虫可能容易地占据单片叶子。对于人眼检测来说,昆虫通常也是相对微小的东西。这与例如花朵的花瓣叶中的单只蜜蜂形成鲜明对比。
图5用符号表示昆虫431/432的尺寸。例如,昆虫以约Yins=30像素和约Xins=20像素(即仅约600像素)示出。
进一步地,昆虫的自然行为是彼此靠近地坐在叶子上。换句话说,昆虫倾向于成对出现在叶子上(即两只昆虫),或甚至成三只出现在叶子上(即三只昆虫)。因此,换句话说,图像411/412的30x20像素部分可能表示两只或更多的昆虫。
像素数20x30是示例性数字,但是可以假设昆虫431/432的尺寸为两位数的像素数(即,在两个坐标中的每一个中最多达99个像素)。对于非昆虫对象441/442,同样的限制可能是正确的。
如将解释的,CNN 271/272(用于对昆虫计数)使用密度图估计(而不是上文所提到的传统的对象检测)。在密度图中,昆虫将被表示为区域,并且该区域的像素值的积分将是大约1(假设像素值是实数,在0和1之间归一化,并且还假设每张地图有一只昆虫)。应注意,对于两个昆虫靠近在一起并在图像上重叠的情况,将存在单个区域,但像素值的和将大约是2。
应注意,两个或更多的阶段的昆虫可以同时在单片叶子上获得。这是两个阶段之间的差异可能很微妙的约束。例如,在现实中的叶子上,处于阶段(C)和(D)的昆虫可能看起来是相似的。
因此,使用传统计算机视觉技术(诸如所提到的具有特征提取的技术)的计算机可能未识别差异。然而,专家用户可以看到差异(在图像上),并且可以适当注释训练图像(参见用例1)。
与移动设备有关的约束
还存在与移动设备302(参见图1)有关的约束。
第一,移动设备(及其相机光学器件)被优化以拍摄人类而不是昆虫的照片。微小的昆虫在图像上显示为斑点(参见Xins像素x Yins像素)。
第二,今天的移动设备可能不具有足够的计算资源来执行以对每片叶子上的昆虫进行以计数为目标的图像处理。
第三,用于获得注释图像并以计算机201(参见图1)的功能使用移动设备可能是不适合的。计算机302(如果是移动设备)的显示器可能太小并且处理能力(就CPU、GPU而言)可能不足。
进一步地,农民(即移动设备的用户)在拍摄图像之后不久需要结果。更准确地说:从拍摄图像到确定每片叶子的昆虫数量的时间间隔必须可以忽略,使得昆虫不会在该时间间隔期间大幅生长(和/或繁殖,和/或最终改变进展到下一个发育阶段),昆虫不会飞走(因为措施被应用于受侵染的植物)。
仅当已经建立每片叶子的昆虫数量时,可以开始识别和应用对策。对策(尽管被适当地识别)可能被应用太晚而无效。例如,如果昆虫已经从卵中孵化,则专用于破坏卵的对策将不具有任何效果(参见阶段专用的对策)。
解决方案考虑了以下内容。植物的物种通常是已知的(例如,农民知道茄子),使得计算机具有信息(作为图像的属性)。因此,植物物种因此在此不再进一步讨论。
作为预处理活动的图像注释
图6示出计算机301的用户接口(参见图1)。图6还示出了注释图像的专家用户191。从而,图6解释了训练阶段**1中的一些预处理活动(参见图3、601A和701A)。换句话说,图6与监督学习有关。
本领域技术人员可以通过适当的用户接口实现计算机301与专家用户191之间的交互,例如利用示出图像的显示器和利用识别图像的部分的接口元件(例如触摸屏、鼠标、键盘等)。用于这种和其他注释的软件工具在本领域中是已知的。方便的工具“LabelMe”通过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描述。
图6给出了如何获得上文结合图1至3介绍的注释图像461、471的更多细节。为了方便起见,给出坐标系(X,Y)(参见图5)。
专家用户191向图像传达基本事实信息,不仅关于主叶子的存在或不存在(通过叶子注释),或特定昆虫的存在或不存在(通过昆虫注释),而且关于按照(X,Y)坐标的主叶子和昆虫的位置的信息。取决于所选择的用例的粒度(参见图4),注释还可以识别昆虫物种、发育阶段等等。
两个注释过程(叶子注释、昆虫注释)都可以独立执行,并且甚至用户191的专业知识可以是不同的。对于这两个阶段,用户191宁愿承担特定的角色:
植物专家的角色,他可以读取图像以识别具有其边界的叶子(即,边界是在植物图像上完全示出的叶子边缘的轮廓),以及
昆虫专家的角色,他可以读取图像以根据类别区分昆虫(和/或非昆虫)。
尽管图6示出了单个图像411,但是注释是重复的,例如对于1,947个图像(叶子注释)。鉴于该数量,应注意专家用户191不一定总是同一个人。
说明书现在分开解释每种类型的注释的细节:
叶子注释(通过人类专家)
如图6的左侧所示,专家用户191注释植物图像411以获得叶子注释的植物图像461。叶子注释识别主叶子421-1的叶子边界与相邻叶子421-2的差异。
叶子注释还可以识别叶子与背景(或土壤,如果在图像上可见)之间的边界。换句话说,叶子注释的植物图像示出了叶子与背景之间以及叶子与叶子之间的注释边界。
在实现方式中,用户191可以在示出完整叶子(即主叶子)的植物图像411的部分周围绘制多边形451(虚线)。在示例中,图像411将叶子420-1示出为完整的叶子,并且仅部分示出叶子420-2,参见图5。向专家用户191显示多边形451是方便的,但这不是必需的。计算机301可以自动关闭多边形451。作为多边形的替代,本领域技术人员可以使用其他用户接口,例如图片处理工具来操纵图像,例如,通过“擦除”主叶子周围的像素。
叶子注释允许计算机201(参见图1)针对植物图像411的每个像素来区分该像素是否属于主叶。该区分与执行方法601B相关(参见图3,叶子分割)。
对于叶子注释,叶子是否示出昆虫(或非昆虫对象)并不重要。
叶子注释允许CNN被训练以区分示出两种类型的“边界”的图像区域:叶子与叶子之间,以及叶子与背景(诸如土壤)之间。一旦经过训练,CNN可以仅沿着这种边界切割叶子。换句话说,边界(或边距)代表切割线。
昆虫注释
如图6的右侧所示,用户191还注释了叶子图像421(参见图7)以获得昆虫注释的叶子图像471。昆虫注释识别昆虫并且(可选地)识别昆虫类别(参见物种和/或阶段,如图4中的类别所解释的)。术语“昆虫注释的”被简化为:图像471同样可以包括对非昆虫对象的注释。
昆虫注释还通过坐标识别昆虫(和/或非昆虫对象)的位置。
注意,注释可以考虑用例(参见图4)。在图6(右侧)的示例中,注释用参考α到ζ的点来示出,其中例如注释α指向处于阶段(C)的粉虱(i);注释β指向处于阶段(B)的粉虱(i);注释γ和δ指向处于阶段(B)的粉虱(i);注释ε指向非昆虫对象,其是可选注释;以及注释ζ指向处于阶段(B)的蓟马(ii),但区分阶段也将是可能的。
专家用户191实际上可以将点设置在昆虫的旁边(或上面)。如本文所使用的,单个点指向特定的单个像素(“点像素”或“注释像素”)。昆虫(或非昆虫对象)的位置坐标(X',Y')处的该单个像素的坐标被传输到计算机301。图6以示例的方式示出了用于注释β的位置坐标。用户接口可以通过多个像素显示点,但位置通过以像素精度的坐标记录。
计算机301存储位置坐标作为注释的一部分。坐标(X’,Y’)可以被视为注释坐标,并且计算机还将存储语义,诸如注释1中的(i)(C),注释β中的(i)(B)等等。
如将进一步解释的,计算机201在训练CNN 271中使用昆虫注释(用于特定图像411),例如,通过让计算机利用以位置坐标(X',Y')为中心的核函数对图像(即图像的图块)进行卷积。而且,昆虫注释包括关于昆虫数量的基本事实数据(可选地以图4的用例的粒度)。
注释可以通过点嵌入到注释图像中(以例如红色用于阶段(C)、阶段(D)的颜色编码),或分别作为X、Y坐标。
使用点注释很方便,因为注释的(X,Y)坐标指示在图像上示出昆虫的位置。
叶子图像
图7示出了叶子图像421/422。叶子图像421/422示出了具有其主叶子和具有昆虫的特定植物。与植物图像411/412不同,叶子图像421/422仅示出主叶子,而不示出相邻叶子。主叶子是关注对象。叶子图像421/422基本上完整地示出了叶子(因为要针对每片叶子对昆虫计数),并且因此叶子的边缘也基本上完整地示出。在该意义上,叶子图像421/422是从植物图像411/412导出的裁剪图像。图像被裁剪到叶子。
获得叶子图像421和422的方式可以不同,如以下所描述的:
在训练阶段**1中,计算机201通过与专家用户191的交互获得叶子图像421,如下文所解释的(参见图6,左侧)。叶子图像421可以被认为是叶子注释的植物图像461的示出叶子的部分。此处仅示出叶子图像421以用于解释。如结合图3所解释的,计算机201处理多个叶子注释的植物图像461以获得CNN 262,该过程使用注释。
在生产阶段中,计算机202通过使用(经训练的)CNN 262(在方法602B中)通过分割植物图像412来获得叶子图像422。在生产阶段中,注释不可用。应注意,叶子图像422(生产阶段)与叶子图像421(训练阶段)不同。
参考标记429示出叶子图像421/422的未示出主叶子的部分。在后续处理步骤中可以忽略部分429中的像素。例如,不必对部分429执行将图像分割成图块的处理步骤(因为不根据每叶子定义的昆虫对昆虫计数)。在实现方式中,这些部分429可以由具有特定颜色或其他颜色的像素表示。在图示中(或可选地在向用户的显示部分429中),该部分可以例如以黑色或白色或其他单色(例如,如图7中的白色)显示。
分割和重新组合图像
图8示出了被分割成图块401-k/402-k(或子区域)的图像401/402。图像可以是得到图块401-k的植物图像411(训练阶段),其被注释为图像461或图像471,或得到图块402-k的植物图像412(生产阶段)。
图像401/402中的图块401-k/402-k的数量由参考K给出。在示例中,图像400可以具有4000x 6000像素的图像尺寸(注释不改变尺寸)。图块具有小于图像尺寸的图块尺寸。例如,图块尺寸是256x 256像素。图块尺寸对应于CNN的输入层的尺寸(参见图10)。其他图块/输入尺寸也是可能的(例如,224x 224像素)。考虑到重叠(例如,重叠40个像素,如图所示),图块的数量可以高达K=396。
该图在右侧的特写视图中示出了特定的图块401-k/402-k,示例如下:
在示例alpha中,从注释图像471分离出图块401-k。因此,注释也适用于图块401-k。例如,如果注释指示针对特定(X',Y')坐标的昆虫431的存在,则图块401-k包括具有该特定坐标的像素,并且图块401-k接管该注释(参见点符号,具有位置坐标(X',Y'),参见图6)。本领域技术人员可以考虑不同的坐标基础(参见图6用于完整图像,图8仅用于图块)。
在训练期间,CNN 271将学习参数以获得密度图501-k,其中积分总和为1(对应于1只昆虫,假设密度图中的像素值的归一化)。例如,CNN271将把位置坐标(X’,Y’)作为用于将核函数应用于图块401-k的所有像素的中心。
在示例beta中,图块402-k从图像412(生产阶段)中分离,它示出了昆虫432。当然,昆虫不一定位于与上面alpha中的“注释”图块401-k中相同的位置)。使用所学习的参数,CNN 272将到达具有积分1的密度图502-k。
示例gamma是示例alpha的变型。图块401-k被拆分,并且注释实际上也是可用的。尽管专家用户192没有提供注释(点等),但是元数据指示不存在昆虫。在训练期间,CNN 271将学习参数以获得密度图501-k,其中积分总和为0。
示例delta是示例beta的变型。非昆虫图块402-k在生产阶段中(由CNN 272)进行处理,并且它将实现具有积分0的密度图。
应注意(在生产阶段中)为所有图块402-k(k=1到K)提供密度图。本领域技术人员可以实现这一点,例如通过以K次重复来操作CNN 272(即每个图块一次运行),并且组合器模块282可以以与分离器模块242已经分离图块的相同顺序重建图块的密度图(参见针对模块的图9)。
考虑用例和类别
虽然在图8中,解释了示例alpha到gamma以检测昆虫(在图块中)的存在(或不存在),也可以考虑类别(上文介绍的)。
如上文所解释的,专家用户192可以针对不同昆虫物种(例如,(i)和(ii))、发育阶段(例如(A)到(B)),至少对于在图4中用黑点突出显示的组合注释图像。因此,对于特定用例,可以存在特定的图块401-k。
将用例3当作示例,可以存在针对(i)(A)、(i)(B)、(i)(C)和(i)(D)的注释(即四个阶段中的粉虱,类别(1)至(4))。换句话说,注释是类别特定的。
这得到用于这些组合(或类别)的不同图块401-k。密度图501-k(训练阶段)和502-k(生产阶段)也不同,简单地因为图像411/412不同。可以针对不同的昆虫类别分别计算积分,从而产生特定于类别的NEST(对于完整的图像,在组合之后)(参见图11至12)。
图9示出了具有分离器模块241/242和组合器模块281/282的CNN 271/272。
分离器模块241/242接收图像411/412(具有注释的图像411作为图像461、471)并提供图块401-k/402-k。如将要解释的,CNN提供密度图,组合器模块281/282接收图501-k/502-k并提供组合密度图555。
由于存在重叠(参见图8),组合器模块281/282可以通过同样重叠来合成图像(或组合密度图)。在相同特定坐标(针对4000x 6000像素的X、Y坐标)处的像素值仅计数一次。
组合器模块281/282还可以计算(组合密度图的)像素值的总体积分,从而产生NEST。
CNN概述
图10以总体概述示出具有层的CNN 261/262/271/272。CNN通过由计算机(诸如由计算机201/202)执行的程序例程的集合来实现。图10示出了具有到输入层的输入和来自输出层的输出的CNN。图10还(至少象征性地)示出了中间层。CNN 261/262/271/272是深度网络,因为它们具有多个中间层。中间层是隐藏的。换句话说,在此应用了深度学习。
图10还示出了一些参数并且示出了中间图像(为图块和地图)。由于CNN在本领域中是众所周知的,因此说明书集中于专门用于由CNN 261/262进行分割和用于由CNN 271/272进行计数的参数。
如结合图1至2已经提到的,CNN接收图像作为输入。
在训练阶段**1中,CNN 261/271接收注释图像461、471并将未训练的CNN 261转换为经训练的CNN 262(使用叶子注释植物图像)并将未训练的CNN 271转换为经训练的CNN272(使用昆虫注释叶子图像)。
在生产阶段中,CNN 262和272接收植物图像412并提供输出,诸如NEST(即每片叶子的昆虫数量)。
CNN不接收原始图像尺寸(例如,4000x 6000像素)的图像,而是接收图块/地图尺寸(例如,224x 224像素)的图像。
密度图计算
在处理期间,CNN获得中间数据。为了方便起见,图10通过中间图像示出中间数据的示例:图块401/402-k和密度图501-k/502-k。索引k是用图8至9解释的图块索引。
然而,不需要向用户显示图块和图。图10示出了示出两个昆虫的图块402-k。图块402-k是植物图像的一部分或叶子图像的一部分,并且具有针对CNN层的处理而优化的图块尺寸。在示例中,图块402-k具有256x 256像素(或在不同的示例中为224x 224像素)。图块402-k是通过将图像(结合图8的细节)分割成图块来获得的。
图502-k是从图块402-k导出的密度图。图502-k具有与图块402-k相同的尺寸。换句话说,图尺寸和图块尺寸彼此对应。密度图可以理解为以X-Y坐标的单色像素的集合,每个像素具有数值V(X,Y)。所有X-Y坐标的值V的积分对应于对象(即昆虫)的数量。在示例中,积分是2(在理想情况下),对应于昆虫的数量(例如,图块402-k中示出的两只昆虫)。
在生产阶段**2中,通过预测获得图502-k(利用训练期间获得的参数)。在训练阶段**2期间,如果注释(用于昆虫)在特定图块402-k中可用,则处理步骤中的一个是应用具有对应于注释坐标(X’,Y’)的核中心的核函数(例如,高斯核)。换句话说,在训练期间,具有注释的图块被处理为归一化的高斯。在没有注释的情况下,不应用核函数。
由于图块402-k仅是(完整)图像的一部分(在分离器242的输入处),因此组合器模块282(参见图9)可以对多个图502-k的积分求和,从而得到NEST。可以考虑图像重叠。
将图块401-k转换为图501-k是基于通过训练获得的特定于层的参数(即,训练CNN271成为CNN 272)。由于昆虫注释(参见图6)指示昆虫(或此处的更多昆虫)的存在(或不存在),因此注释也适用于(多个图块)。存在具有注释的图块(存在昆虫),并且存在没有注释的图块(不存在昆虫)。
在示例中,图块401-k具有注释“2只昆虫”。应注意,两只昆虫可以属于不同的类别(参见图4),类别之间的区别(即以特定类别的方法计数昆虫)结合类别分支来解释(参见图11至12)。
网络在各种实现方式中是公开可用的,并且网络由配置参数配置。
说明书一般简要地涉及输入/输出参数以及配置参数(结合图10),并且然后根据对昆虫计数的方法指定参数。有时,正在修改现有网络。
类型
示例性网络包括以下网络类型(或“架构”):
(i)UNet类型由Ronneberger,O.,Fischer,P.,Brox,T.,2015.U-net:Convolutional networks for biomedical image segmentation(用于生物医学图像分割的卷积网络)公开,在Lecture Notes in Computer Science(Including SubseriesLecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)(计算机科学讲座笔记(包括人工智能子系列讲座笔记和生物信息学讲座笔记))第234-241页。doi:10.1007/978-3-319-24574-4_28
(ii)DenseNet类型由Huang,G.,Liu,Z.,Van Der Maaten,L.,Weinberger,K.Q.,2017.密集连接的卷积网络公开,在Proceedings-30th IEEE Conference on ComputerVision and Pattern Recognition(论文集-第30届IEEE计算机视觉和模式识别会议)CVPR2017年.第2261–2269页。doi:10.1109/CVPR.2017.243
(iii)全卷积回归网络(FCRN)类型由Xie,W.,Noble,J.A.,Zisserman,A.,Xie,W.,Noble,J.A.,Microscopy,A.Z.,2016公开。Computer Methods in Biomechanics andBiomedical Engineering:Imaging&Visualization Microscopy cell counting anddetection with fully convolutional regression networks(生物力学和生物医学工程中的计算机方法:成像和可视化显微镜细胞计数和检测与完全卷积回归网络)的摘要,Comput.Methods Biomech.Biomed.Eng.Imaging Vis.1163.doi:10.1080/21681163.2016.1149104
修改的FCRN类型基于具有修改的FCRN类型。
CNN具有以下特性:
(i)它是全卷积模型,能够结合逐像素回归提供语义分割。
(ii)从CNN的许多功能,在训练期间使用回归函数来最小化基本事实(即根据注释的昆虫数量)和估计的昆虫数量(即NEST)之间的差异。换句话说,差异是损失函数。回归在本领域中是已知的,并且将通过图13中的示例解释。
(iii)CNN已经针对UNet、DenseNet和FCRN类型的实现进行了测试(有修改)。
通过相应地设置参数(技术人员)引入(或使用)以下细节:(i)最后一层是线性类型的激活。(ii)损失函数被选择为平均绝对误差(MAE)。
FCRN网络(由Xie等人提出)通过以下方式修改:
(i)使用暂退:在训练期间,从在进一步计算中随机排除的给定数量的神经元节点中选择层。这种被排除的神经元的数量是预定义的,例如通过百分比(即暂退参数)。
(ii)对编码部分(即编码器)使用两个附加层,并且在对应的解码部分(即解码器)中使用两个附加层:通过上采样过程添加附加层。附加层实现在图11A和11B中进一步解释的滤波器功能和编码/解码功能。
(iii)已经为具有多个类别的用例添加了最后一层的激活、损失函数、输出通道和分支(参见图4,用例2和3)。这将结合图11AB和图12更详细地解释。
同样(对于所有3种网络类型),可以使用以下参数设置:
卷积神经网络(如在所提到的论文中公开)通常在其CN后端应用全局平均池化(GAP)和/或全连接(FC)层,但是用全局和池化(GSP)代替GAP可能是有利的。GSP允许CNN将计数学习为简单的线性映射问题,该问题在输入形状(例如昆虫)上进行泛化。
方便的参数同样如下所述:
(i)类别参数。取决于用例(参见图4),输入和输出被区分为昆虫类别。由于类别是预先知道的(即在操作CNN之前),CNN针对不同的类别学习不同的参数(在训练阶段中)并针对不同的类别应用不同的参数(在生产阶段中)。结合图11至12解释了细节。
(ii)函数参数指示CNN必须应用的操作类型。例如,函数参数可以触发CNN以估计密度图(例如,像素值的总和指示对象/昆虫的数量),执行特定的预处理(例如,在质心周围应用高斯以获得核)和其他操作。
(iii)输入大小参数(即输入尺寸)定义正在被处理的图块的图块尺寸。例如,输入尺寸是256×256像素的图块(或“块”)(参见图9中关于图块的讨论)。
(iv)学习速率参数可以方便地被设置为lr=0.01。该速率影响速度(并且从而影响训练的持续时间)。
(v)sigma参数σ(sigma)是高斯核的参数(在训练阶段中使用)。例如,参数可以被设置为σ=9。
(vi)参数l2是用于减少过拟合的权重衰减参数,其被方便地设置为l2=10-5。
(vii)使用暂退是可选的;方便的暂退参数是0.5。
(viii)激活参数指示激活函数的类型,诸如sigmoid或softmax(即归一化指数函数)或其他类型。
(ix)损失函数参数用于针对准确度优化CNN。例如,损失函数参数指示基本事实与估计(例如,通过注释手动计数的叶子上的昆虫数量与由CNN估计的昆虫数量)之间的差异。例如,损失函数可以通过均值函数来定义。
辅助参数可用于处理计算机的技术限制。例如,实现CNN的计算机201/202可以使用具有65536的最大最高数的浮点数。然而,CNN用来决定激活(非激活)的数值可能在0.0000和0.0067之间的范围内(例如,在σ=9的高斯核中)。
CNN 271/272不能够学习必须学习什么信息可能是有问题的。这是因为昆虫(0.0067的像素激活)和“无昆虫”(0.00的像素激活)之间的对比度(在密度图中)相对小。应用比例因子增加了密度图的对比度,并简化了密度图估计(即,其中图像上的积分指示对象的数量)。比例因子可以作为辅助参数被引入。例如,所有像素值可以在输入处乘以因子50.000,并且所有输出值(即昆虫计数)将在输出处除以该因子。该因子仅将数值移位到计算机更精确地操作的范围内。通过示例给出所提及的因子,本领域技术人员可以使用不同的因子。
在实现方式中,CNN 261/262(检测叶子)是DenseNet类型的CNN。出于该目的,以下参数是方便的:损失函数可以是“binary_crossentropy”函数。最后一层的激活可以使用“softmax”函数。图块尺寸(即输入和输出图像的尺寸)可以是224x 224像素。
在实现方式中,CNN 271/272(即检测昆虫的CNN)是FCRN类型的CNN。出于该目的,以下参数是方便的:例如损失函数可以通过平均函数,诸如平均绝对误差或均方误差来定义。图块尺寸可以是256x 256像素。
滤波以区分类别
图11A和11B示出了在区分超过两个昆虫类别(c)的实现方式中作为CNN 271/272中的层的一部分实现的像素值滤波器。如上文结合图4所解释的,对于用例2,类别可以是例如(c)=(1)、(2),或者对于用例3,可以是例如(c)=(1)、(2)、(3)、(4)。
虽然图11A专注于考虑单独像素的滤波器,但是图11B专注于考虑相邻像素组(或图块片段)的滤波器。换句话说,滤波器可以应用于单独像素的特性(在示例中:在图11A中为颜色),并且滤波器也可以应用于像素复数的特性(在示例中:在图11B的像素组滤波器中为由多个像素组成的纹理)。
单独像素滤波器
图11A在左侧示出了图块401-k/402-k作为输入图块,并且图11A在右侧示出了401-k/402-k作为输出图块,其中针对类别(第一)和针对类别(第二)进行区分。
每个图块应具有从p=1到p=P的像素。对于具有256x 256像素的图块,存在65536个像素。仅为了简化起见,该图示出了具有12x 12=144个像素的图块。
每个像素“pix”具有指示原色的份额的RGB三元组(r,g,b)。存在许多可用的符号,例如每个份额也可以由整数表示(例如,在每种颜色8位编码的情况下,每种颜色从0到255)。
例如,可以实现滤波条件,使得如果像素值符合颜色参数红色R(c)、绿色G(c)和蓝色B(c),则将来自输入的像素转发到输出。条件可以是AND相关的。
颜色参数是通过(如上文所解释的昆虫类别注释的)训练获得的。
非常简化后,在假设示例中,应该存在第一类别(第一)和第二类别(第二)的昆虫。(第一)中的昆虫应该是“红色的”,使得参数是R(第一)>0.5,G(第一)>0.0,以及B(第一)<0.5。符合条件的输入像素被接管为输出像素。图11A用符号表示被接管到输出图块(第一)的图块(具有3个像素)的左边缘处的这种(c)=(第一)的昆虫。
(第二)类别的昆虫应该是“蓝色的”,因此参数是R(第一)<0.5,G(第一)>0.0,以及B(第一)>0.5。这种昆虫在输入图块的下部示出,此处再次非常简化为3个像素。
符合条件(对于类别(第二))的输入像素被接管作为输出像素,并且图11A采用接管到对应输出图块的像素(0.1,0.8,0.7)、(0.2,0.9,0.6)、(0.1,0.5,0.8)来使用符号表示这种(c)=(第二)的昆虫。
应注意到,应用被方便地实现为CNN 271/272中的卷积层的滤波器(滤波器滤波图块,参见图11B),但滤波器也可以在分离器模块之前实现(参见图9,用于像素的滤波器,参见图11A)。
在创建密度图的(一个或多个)层之前,滤波器可以是CNN 271/272的处理通道的一部分。因此,密度图是类别特定的。
颜色参数红色R(c)、绿色G(c)和蓝色B(c)仅是与像素相关的参数的示例,但是本领域技术人员可以使用进一步的参数,诸如透明度(如果在图像中被编码)等。
像素组滤波器
图11B示出了考虑相邻(即相邻像素)的像素组滤波器。由于像素组滤波器使用卷积,因此它在处理图块401-k/401-k的CNN 271/272中实现(即,在分离器模块241/242之后)。
图11B从图11A的左边缘重复了非常简化的“3像素昆虫”。12x12=144像素的图块被分成4x4=16个片段(从#1到#16)。每个片段具有3x3像素,是正方形片段。
该图被简化,但是在实现方式中,256x256个图块被分成不同数量的像素,每个片段潜在地具有更多的像素。
片段#10正在被卷积(利用特定的卷积变量,例如3个像素)到修改的片段#10'。从而,(9个像素的)像素值改变。
例如,片段#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的值的像素被示出为“黑色”。
现在可以将滤波条件应用于修改的片段#10'。在该方面中,图11B还示出了进一步的实现细节。修改的片段可以以片段特定值来编码。该图分别(通过任意数字)“008”、“999”和“008”示出了针对片段#1'、#10'和#16'的这种值。然后可以将滤波标准应用于片段特定值。
换句话说,CNN 271/272然后可以通过使用片段代码(片段特定值)执行后续处理步骤。这减少了要处理的像素数量(通过与对应于每片段像素数量的因子进行简化,其中在说明性示例中为9)。在最后层中的一个中,CNN 271/272然后可以应用解码。
图12示出了具有用于特定类别(1)、(2)、(3)和(4)的分支的CNN 271/272。如结合图6所解释的,昆虫注释可以指定类别(物种和生长阶段)。训练CNN分别针对通道(或分支)执行。在图12的示例中,存在对应于4个类别的4个通道。
这里在内部层1与内部层2之间(其被提供为对应于类别的数量的多个)示出(通过诸如在图11的示例中解释的滤波器)到类别特定的层的分离。
图12在右侧示出了组合器262通过将图502-1到502-K分别为每个分支组合到密度图555(1)、555(2)、555(3)和555(4)所获得的组合密度图。在示例中,存在K=36个组合的图块(组合为一个图555),该数量仅是为了简单起见选择的。
指示昆虫(在特定类别中)的存在的密度图502用点来示出。如在示例中,密度图502-29(在示例中示出为具有k=29的图)指示类别(1)的昆虫和类别(2)的昆虫。
在简化概述中,其中用于组合的密度图555的总体积分(k=1到K)得到不同的估计:NEST(1)=2、NEST(2)=3、NEST(1)=2、NEST(3)=2和NEST(4)=7(图502-9反映2只昆虫)。昆虫的总数是NEST(1)(2)(3)(7)=14。图12的图示简化在于单独像素具有二元值(“1”或“0”)。CNN层的计算为像素提供了真实值(即“灰度”值)。尽管如此,具有例如0.1、0.1、0.6、0.1和0.1的像素簇总和为整数1。
提供针对物种和生长阶段分开的侵染数据可能有利于农民识别适当的对策。
由于训练针对类别分离,因此也单独执行训练。
应注意,作为单独的分支(即并行)的图示便于解释,但不是必需的。并行处理是可能的,但是通道也可以通过串行处理来实现。换句话说,CNN271将针对类别(1)的昆虫进行训练,并且然后针对第类别(2)的昆虫进行训练等等。在生产阶段中,CNN 272将为类别(1)的昆虫、然后为类别(2)的昆虫等等提供密度图。
用于专用目的的注释图像的集合
现在,说明书通过使CNN 261能够分割叶子(通过成为CNN 271,方法601B)和能够对昆虫计数(通过成为CNN 272,方法701B)来解释关于训练阶段**1的进一步细节。
如上文所解释的,在生产阶段**2中,CNN 272提供NEST(特定植物图像412的每片叶子的估计昆虫数量)作为输出。在理想情况下,CNN 262和CNN 272的组合将计算出NEST正好是所谓的基本事实数量NGT:此处坐在植物的特定主叶子上的昆虫数量(来自该农民192已经拍摄的图像412)。NEST与NGT之间的差异将指示相机312和CNN 262/272的执行的准确性。
然而,农民192将不会手动对昆虫计数(NGT)。说明书现在解释了如何验证CNN 262/272的准确度。由于昆虫注释识别昆虫(如同叶子注释识别叶子),因此针对注释图像471已经获知基本事实数量NGT。该数据用于以如下方式解释:
图13示出了昆虫注释图像472的集合(即,由如图6中的昆虫注释产生),其具有子集:用于训练CNN 271的子集(参见图1)、用于验证CNN 272(参见图2)的子集以及用于测试CNN 272的子集。
子集分别具有基数S1、S2和S3。昆虫注释图像的数量S是子集的和:S=S1+S2+S3。
将图像区分为本领域中已知的子集。因此,图13仅将昆虫注释的叶子图像471当作示例。本领域技术人员可以相应地微调训练CNN 271以用于叶子分割。
基数特定于案例(参见图4),在案例1(1类别)的示例中,总共存在S=731个注释图像(即昆虫注释的叶子图像471),其中训练子集中的S1=554个图像(即训练CNN 271的图像471,参见图1),验证子集中的S2=54,以及测试子集中的S3=123个图像。
CNN 261/271已经采用训练子集的S1个图像进行训练以成为经训练的CNN 262、272。经训练的CNN 262、272已经用于估计验证子集的S2个图像的NEST。S2值NGT从昆虫注释已知。如果对于特定图像,NEST高于NGT,则CNN 262/272已经对更多在现实中存在的昆虫进行计数。
在测试子集下,图13示出了示出纵坐标上的NEST与横坐标上的基本事实NGT的简化图503,其中点识别(NEST,NGT)对。图503被简化为仅示出9个点(而不是例如54或123个)。
大多数点大约沿着回归线504定位。点相距线504的(图形)距离指示估计的质量。点505代表异常值,其中估计的昆虫比存在的多得多。
度量可以定义为平均绝对误差(MAE),或MAE=NEST s-NGT s(此处给出的公式被简化,MAE实际上被计算为s=1到S3的MAE的和除以S3)。
由于这是平均值,因此获得了NEST和NGT作为S3个图像的平均值。
进一步的度量可以定义为均方误差(MSE),或MSE=ROOT[(NEST-NGT)2]。同样,必须考虑针对所有S3的NEST AND NGT(即[]是对于所有S3的()2的和)。
对于案例1(粉虱单类别(1)),集合S3提供值MAE=3.4和MSE=7.8。与传统方法(候选选择和后续分类,MAE=8.6和MSE=11.4)相比较,误差值更小。换句话说,新方法的误差小于传统误差的误差的一半。
讨论
也可以通过已知方法来实现将主叶子与其相邻叶子(或邻近叶子)区分(从其中特征提取)。对于在非绿色地面上呈绿色的叶子,颜色可以用作区分物。然而,这种方法将最终对于“绿色”超过“绿色”的情况失败,例如,当一片叶子覆盖另一片叶子时。
在替代实施方式中,可以通过其他已知方法来实现对昆虫计数,诸如通过上文所提到的候选选择以及随后的分类。
然而,对于叶片区分和对于昆虫计数(在主叶子处),上文所描述的深度学习技术提供了准确度(即假阳性、假阴性的术语)。
计算机制造的注释的概述
马上返回图1,它将计算机303示出为进一步的计算功能。
附图并列示出计算机301和303,因为二者都接收图像并且都提供注释图像。当计算机301与专家用户191交互时,计算机303在没有专家用户191的情况下执行计算机实现的方法(800,参见图18)。然而,通过单个物理计算机实现计算功能301/303二者是可能的。
应注意,计算机303(方法800)提供图像473(昆虫注释,但未叶子注释)。在计算机303的输入处的图像是叶子图像(即,如上文所解释的示出主叶子的图像)。说明书解释了获得这种叶子图像的方法,例如,通过使用叶子分割601A或601B(参见图3中的概述)。
如上文所描述的,昆虫注释的叶子图像471是具有人造的注释的图像。如将在下文中描述的,昆虫注释的叶子图像473是具有计算机制造的注释的图像(方法800)。
如将解释的(具有图19中的细节),将存在单独的训练,第一训练分支使用图像471,以及第二训练分支使用图像473。换句话说,存在“全监督”下的分支,以及存在“半监督”下的分支。可以比较两个分支的结果(例如,通过研究损失函数),使得可以调整方法800。
训练阶段调节
马上返回图3,训练阶段(将CNN 271训练到CNN 272)通过提供图像473(除了图像471、第一和第二分支之外使用的)的方法800来增强。方法800可以被视为辅助方法。
如已经解释的,计算机301与专家用户191交互以获得昆虫注释,从而产生图像471。进一步地,计算机303——不与专家交互——提供昆虫注释的植物图像473,它是计算机注释的图像。
计算机制造的注释
说明书现在回到计算机303(图1)和方法800(图3、18)来解释图像473的生成。
相机311和312(在两个阶段中都使用,参见图1至2)被优化以拍摄针对人类观众的图像(例如,示出人、宠物和/或建筑物的照片)。照片的颜色针对人眼进行优化。然而,图像未被优化以对植物上的昆虫进行计数,而不是由人类用户或计算机来计数。
在单色摄影中,常见的做法是使用具有彩色滤波器的相机,例如,使天空中的云彩更具吸引力。然而,没有预期使用滤波器以使昆虫相对叶子更容易辨别。滤波以软件实现。
颜色编码
图14示出了逐像素颜色编码并示出了将像素颜色分配给二元像素值的概念。非常简化后,应该存在一片叶子(此处用大正方形表示)和一只昆虫(用在正方形中心的圆形表示)。
存在两种颜色,例如,叶子像素477(对于叶子)是“绿色”,以及昆虫像素478(对于昆虫)是“红色”。
引用仅表明简化。叶子像素477和昆虫像素478以特定的颜色编码进行编码。编码使用3个分量(即“颜色空间”)。
示例使用RGB编码,因为颜色分量R、G和B由实数编码(例如,在闭合区间[0,1]中)。叶子像素477将被编码为(R,G,B)=(0,1,0),以及昆虫像素478将被编码为(R,G,B)=(1,0,0)。
忽略蓝色分量,(R,G,B)颜色空间将被减少到(R,G)平面颜色空间479,其中分量值(0,1)用于像素477,以及(1,0)用于像素478。
说明书使用数学意义上的术语“空间”。对于3个颜色分量,该空间将是3D空间。移除分量将3D空间改变为2D“平面”(即数学术语中的平坦表面)。由于术语“平面”经常用于描述诸如图像处理或打印的技术,因此说明书本文使用术语“平面颜色空间”。
根据这些分量值,像素的颜色将在平面颜色空间479的相对端,其易于区分对比度485。
将颜色(R,G,B)/(R,G)分配给二元值将是相对容易的。图14将二元值示出为“白色”和“黑色”的分量,但不需要向用户示出图像。
例如,(R,G)=(0,1)(左上角,“绿色”)可以分配给二元值(0,1);并且(R,G)=(1,0)可以分配给二元值(1,0)。二元值将叶子与昆虫区分。
然而,昆虫不是“红色的”,并且它们不是“白色的”(即使名字可能暗示了这一点)。由于昆虫倾向于伪装,因此它们可能处于与叶子的颜色相似的颜色。应注意,伪装将对食虫鸟类(或类似动物)的眼睛敏感,但是对人眼不敏感并且对相机311/312不敏感(参见图1至2)。
说明书现在解释了颜色代码变化如何解决该问题。从而增加了(计算机的)对于叶子/昆虫图像典型的小色差的灵敏度。
颜色空间变换
图15示出了逐像素颜色编码和将颜色分配给二元像素值,其中改变颜色编码涉及颜色空间变换和颜色聚类。该图接管图14的叶子/昆虫示例。
图像使用图14的相同颜色空间(左侧,第一颜色编码481)。稍微修改了实际分量,仅使示例更真实。
叶子像素477应被编码为(R,G,B)=(0.1,0.8,0.1),以及昆虫像素478的昆虫应被编码为(R,G,B)=(0.3,0.3,0.3)。将叶子视为“绿色”和将昆虫视为“白色”是合理的。
该编码是第一颜色编码481(即,在颜色空间中的编码),此处再次是RGB编码。
可以将编码从第一颜色编码481改变为第二颜色编码482。在示例中,改变包括空间变换和随后的空间到平面缩减(即,3D空间到2D平面空间)。
在示例中,存在从(R,G,B)空间到(X,Y,Z)空间的变换。XYZ是由CIE(国际照明委员会)在标准(ISO/CIE 11664-4:2019色度学)中定义的颜色空间。(字母X、Y、Z与位置坐标不相同)。
本领域技术人员可以例如通过应用标准化矩阵乘法(X,Y,Z)=MATRIX*(R,G,B)来执行变换。
作为变换矩阵的示例在图15中给出(例如Z=0*R+0.2*G+0.9*B)。计算的(X,Y,Z)分量向量也在图中给出。
随后的空间到平面空间缩减简单地通过忽略Z值来执行。对于叶子和对于昆虫的Z值基本上相等。Z值对区分(叶子/昆虫)基本上没有贡献。
这种从空间(X,Y,Z)到平面空间(X,Y)的缩减类似于图14的空间/平面空间缩减。同样,可以在平面颜色空间479中示出颜色值(X,Y),并且两者之间的线可以当作阈值485。
(X,Y)颜色编码是第二颜色编码482。
在将颜色(R,G,B)分配给二元值(W,B)时,计算机303可以使用阈值485。例如,具有Y>=0.5的像素将被编码为(0,1),以及具有Y<0.5的像素将被编码为(1,0)。在示例中,高于(或处于)阈值的(一个或多个)像素属于第一颜色簇,而低于阈值的(一个或多个)像素属于第二颜色簇。在图16中更详细地解释了颜色簇。
编码改变(变换、缩减)增强了叶子与昆虫部分之间的对比度,并且更容易将像素分配给二元值。在第二颜色编码中,叶子昆虫的对比度更高(相比在第一颜色编码中)。换句话说,簇通过颜色对比来区分。
有利的是,该改变允许在平面颜色空间(2D)方面进行像素比较,但不要求在空间(3D)方面进行比较。该方法降低了计算复杂度,并且减少了诸如CPU和存储器的计算资源的使用。
应注意,可用任何非标准的变换矩阵,只要变换使图像中特定元素之间的对比度最大化。
虽然图15解释了具有两种颜色的像素的简化示例,但是应注意,图像可以具有数百个分量组合中的像素。人类用户可以容易地将颜色区分为“绿色”或“白色”的颜色,但是计算机303采取不同的方法。
颜色聚类
图16示出了作为用于将颜色分配给二元像素值的工具的聚类。相似颜色的多样性由不同的颜色分量反映。例如,一些叶子像素被编码为(R,G,B)=(0.1,0.8,0.1),其他叶子像素被编码为(0.1,0.9,0.05)等等。在变换(并缩减到单个平面空间,第二颜色编码482)之后,像素颜色将分布在簇中。例如,第一个簇将更多地具有“绿色”像素,第二个簇将更多地具有“白色”像素。当然,仍然不需要向用户示出平面空间(或图像),“颜色”仅是说明性示例。
因此,图16示出了具有不同颜色的像素出现的平面颜色空间479(X,Y)。平面颜色空间479中的小正方形指示特定的像素颜色(即特定的第二颜色编码)。
不同的颜色组可以通过颜色聚类来区分。聚类技术对技术人员来说是可用的。例如,技术人员可以在任何尺寸上使用支持向量机(SVM)、贝叶斯分类器、Kmeans、k-最近邻(KNN)。在图16的示例中,存在第一簇491和第二簇492。两个簇之间的线485对应于阈值。该线被示出为自由形式的线,以示出“阈值”不一定是特定值。
在ND空间中,(N-1)D结构将确定簇之间的分离。例如,在3D空间中,平面将确定分离。
二元分类取决于簇(叶子颜色簇对比昆虫颜色簇)。应注意,语义(例如,叶子或昆虫)并不重要。执行聚类的计算机(例如计算机303)不必知道语义,对于计算机而言,聚类不代表叶子或昆虫,它们仅是颜色代码。
聚类方法的变型是可能的。第一种方法忽略可以被忽略的异常值(例如,相对少的颜色486的像素),第二种方法忽略属于其他区域的颜色。例如,叶子上的一些区域将是“棕色”颜色的斑点(语义:昆虫已经在叶子上吃掉了洞,使得背景变得可见)。引入最少的专家交互相对容易:人类专家将识别这些第三色斑以映射到第一或第二二元值。换句话说,当必须将3个或更多簇映射到二元值时,很少的专家监督是有帮助的。
图像序列
说明书现在通过参考图17(图像)和图18(流程图)来解释用于提供训练数据的方法800。
图17示出了一系列图像,从图像413-A开始是叶子图像,并在昆虫注释的叶子图像473处结束。大体上,该顺序遵循方法800的步骤。
为了便于解释,示出了该序列。由于计算机303自动执行方法800,因此不需要向人类用户示出图像。
解释了用于处理单个图像的方法步骤,但是计算机303处理用于多个图像413-A的方法步骤。在一个示例中,计算机已经处理了大约600个叶子图像413-A到相同数量的图像473。
例如,图像413-A是可以通过执行方法602B获得的叶子图像。图像413-A是否仅示出单片叶子或者该单片叶子周围的区域是否被识别为要被忽略并不重要。
图像413-A通过用素线符号化叶子边界(或叶子边缘,或叶子边缘)来示出叶子121(参见图1)。为了方便起见,对于序列的其他图像保留该素线。叶子(边界)外侧的像素被忽略。
线121'示出了叶子的褶皱和神经。存在在叶子121上示出的多个昆虫131(或者更确切地说看起来像昆虫的东西)。附图示出了8只昆虫131中的多只,并且该低数量仅用于使得附图简单。这些昆虫不是要计数的,而是要被识别和定位的。昆虫在此处用圆形符号表示,仅为了简单起见,在图1至2中引入椭圆形昆虫。读者可以想象在“绿色”叶子上具有“白色”斑点。
对于计算机303(图1,它执行该方法),“叶子”和“昆虫”之间的语义差异(还)不重要。
在图像413-A中,小的六边形以符号表示位于叶子121上的另一个对象161。例如,对象可以是水滴或灰尘颗粒。
图像413-A以第一颜色编码被颜色编码,例如以RGB,因为相机311(参见图1)使用该编码。
该图还使用图像413-A来示出像素坐标(i,j)。i,j表示法将(图像的)像素坐标与(颜色空间的,参见图14至16)的颜色坐标区分。
图像413-B和413-C是在如本文所使用的RGB到XYZ变换的变换之后具有不同颜色编码的图像。
图像413-B通过(图像413-A的)RGB到XYZ变换获得。仅变换编码确实改变图像的外观,并且人类用户将以不同的方式感知颜色。
图像413-C通过修改XYZ编码从图像413-B获得。修改意味着忽略一个通道(X、Y或Z)。图像413-C为第二颜色编码。
图像413-C为其对比度高于第一编码的第二颜色编码。附图通过采用粗体圆形示出昆虫来说明对比度增强。在第二颜色编码中,对比度已通过如所解释的从(X,Y,Z)缩减到(X,Y)来增强。换句话说,忽略了通道Z。作为旁注,图像413-C未示出对象161,因为对象161的第二颜色编码与叶子121的第二颜色编码相似。有利的是,编码改变在处理期间及早过滤掉这样的对象。
图像413-D为二元编码。这正可以通过编码为(0,1)“绿色”的叶子和编码为(1,0)“白色”的昆虫来说明。该图以负值呈现颜色,仅用于保持参考标记可见。
(1,0)编码的像素可以组合在一起以形成连续像素的区域(以相同二元编码的相邻像素)。在示例中,区域具有像素编码从(1,0)变为(0,1)的边界。该图示出了区域1到8。
并非所有区域对应于昆虫。区域是示出昆虫的候选。该图示出了小“昆虫”(区域1的较小圆形符号)和大“昆虫”(较大圆形,区域5)。
区域可以通过数值(AREA-SIZE)来量化,例如,通过对像素数量(每个区域)进行计数,通过对一个像素坐标(i或j)中的最高像素数量进行计数等。也可以使用区域的其他特征,其中包括质心、凸度、圆度、内边界框、外边界框、欧拉数等。
根据大小标准((一个或多个)数值),将区域分类为昆虫区域和非昆虫区域。
例如,区域是针对MIN<AREA-SIZE<MAX的昆虫区域。区域1和5太小或太大,但是区域2-4和6-8是昆虫区域。
大小标准可以通过计算机获得,无需与人类监督员交互。例如,可以通过评估直方图和导出统计指标来获得MIN和MAX值(例如,考虑标准偏差,MIN=AVERAGE减去SIGMA,MAX=AVERAGE加上SIGMA)。这仅是示例,本领域技术人员可以使用不同的方法。
该标准也可以从专家用户获得(参见图1,191),甚至通过重新使用上文所描述的注释过程的结果(参见图3中的701A)。专家注释提供大小信息作为副产品。
如图像413-E所示,忽视(或过滤掉)非昆虫区域。昆虫区域具有中心像素(例如,具有常数i的最长线与具有常数j的最长线相交处的像素)。换句话说,存在具有中心像素坐标的中心像素集合。(在示例中,存在6个中心像素,针对6个昆虫区域)。
中心像素周围的像素示出具有一些叶子部分的昆虫。计算机303现在从原始图像413-A中接管周围的像素(以具有所有3个颜色通道的第一颜色编码)。(或从图像413-B,具有XYZ)。
该中心周围的正方形中的像素正在形成“图块”。图块的大小是标准化的,例如坐标i方向上的96像素和坐标j方向上的96像素。换句话说,图块可以具有96x96像素。像素数仅为了方便起见而选取,因为实验表明大小足够大以完全容纳昆虫。然而,由于不同的分辨率图像和采集条件,存在大小的可变性。
结果在图像473、计算机注释的图像473(具有6个图块)中示出。
虽然图17专注于昆虫区域以获得图块(具有昆虫),但是本领域技术人员能够相应地获得非昆虫图块,使得训练也可以使用这种非昆虫图块。
增加准确度
到目前为止,由图17所示的方法不要求与人类专家用户交互。大多数昆虫图块预期是实际示出昆虫的图块(真阳性),一些昆虫图块示出其他东西(假阳性)。大多数非昆虫图块示出没有昆虫的叶子部分(正确的阴性),但一些非昆虫图块确实示出了昆虫(真阴性)。
但是,计算机303可以可选地使用通过人类交互获得的训练数据,而不是让专家用户191查看相对巨大的多个图块(对于多个图像)。如上文所解释的,人类注释图像471是可用的。它们甚至对于区分昆虫类别的(人造)注释可用。例如,图4将粉虱昆虫区分为“昆虫(1)”和“非昆虫”,并且以更高的粒度区分为类别(1)到(4)。
换句话说,计算机301(参见图1,协同计算功能)具有注释确实已经区分例如“活粉虱”、“死粉虱”和“无粉虱”的图像。该数据可用于识别假阳性/假阴性。对于图像473’,图17示出了该可选的结果锐化方法:计算机303根据类型对图块注释进行分类:图块3、4、6和7对于“a”=“活”(真阳性),图块2对于“d”=“死”,并且图块8不示出昆虫(假阳性)。本领域技术人员可以预先决定由谁来对诸如图块2的图块进行分类。
说明书继续使用代表昆虫注释的叶子图像的参考标记473,其具有带有或不带有附加准确度增强的计算机制造的注释。
方法
图18示出了用于生成具有注释图像的训练集的计算机实现方法800的方法流程图。如已经提到的,注释图像473将用于通过估计植物112的叶子122上昆虫132的数量NEST来训练用N于量化植物侵染的卷积神经网络(CNN)。方法800正在由计算机303(参见图1)执行并且参考图14至17进行解释。
计算机303接收810示出叶子121并示出叶子121上的昆虫131的叶子图像413-A。叶子图像413-A以第一颜色编码481编码。
计算机303将叶子图像的像素477、478的颜色编码改变820为第二颜色编码482。以第二颜色编码的在昆虫的像素和针对叶子的像素之间的对比度485比以第一颜色编码更高。
计算机303将以第二颜色编码482的像素477/478分配830给第一二元值或第二二元值。颜色簇与第一和第二二元值相关:与第二颜色簇相关联的像素被分配给第二二元值。
计算机303通过区域大小标准在具有二元编码413-D的叶子图像中将具有以第一二元值的连续像素的区域区分840为非昆虫区域1、5和昆虫区域2、3、4、6、7、8。
计算机303识别850昆虫区域2、3、4、6、7、8的像素坐标,其中,像素坐标识别在中心具有昆虫的矩形图块区域。
计算机303通过将像素坐标(i,j)分配给对应的图块区域来注释860叶子图像414-A(以第一颜色编码481)以获得注释图像473。
使用注释图像
回过来看,图8示出了被分割成图块或子区域的图像。图块已经是适合作为CNN271的输入的大小。换句话说,图块对应于图块401-k(alpha,具有昆虫)和401-k(gamma,没有昆虫)。
由计算机303(方法800)实现的方法可以应用于多个叶子图像,并且可以使用产生的(由计算机注释的昆虫)注释图像473训练CNN 271(即,使得其能够对昆虫计数)。不需要修改CNN 271,它仅可以用训练集来训练,该训练集包括注释图像{471}(由人类注释的昆虫)的第一子集和图像{473}的第二子集(由计算机注释的昆虫)。
修改图块的大小是可能的,并且本领域技术人员可以调整大小以使图块适合CNN的输入(即,对应于人类注释图像471的图块)。
使用注释图像训练CNN
尽管对图像473/473'解释了改进,注释仍然可能不正确。换句话说,图像473/473'可以被认为是“弱注释”图像。说明书现在解释解决该约束的方法。
图19示出了正在被训练的CNN 271。如上文所解释的,CNN 271由图像471(参见图1)训练并且CNN 271变成CNN 272。除此之外,CNN 271可以通过图像473(由计算机注释的昆虫的图像)进行训练,但以较少强调考虑这些图像473(对训练)的贡献。
如上文所解释的,训练CNN涉及损失值的计算。说明书已经提到通过使用为平均绝对误差(MAE)或均方误差(MSE)的损失函数来训练CNN 271。
将MSE当作示例,存在采用由用人类注释的昆虫图像的训练产生的LOSS_1=MSE(471),并且存在采用由用计算机注释的昆虫图像的训练产生的LOSS_2=MSE(473)。图19通过在CNN的输入处和计算损失函数的CNN的一部分处切换符号来示出该方法。LOSS_1和LOSS_2两者根据相同的公式计算,但是两个值分别保持。
总体损失LOSS可以计算为两个误差的加权和,即LOSS=LOSS_1+λ*LOSS_2。
lambda值小于1,使得计算机注释图像的贡献不太被信任。
如在图1中,CNN 271正在采用人类注释图像471和计算机注释图像473(可选地用473'的改进)进行训练。图19示出了第一子集{471}和第二子集{473},并且示出了图像连续进入网络。在处理期间,网络计算损失函数(上文所描述的)并使用损失函数(在反馈循环中,采用总体损失)来微调参数(或特定于层的值),如上文所解释的。
由于计算机制造的注释相比人类制作的注释不太被信任,因此对损失函数的贡献权重不同。已经处理来自第一子集{471}的图像的CNN完全使用损失结果,已经处理来自第二子集{473}的图像的CNN部分使用损失结果(采用lambda因子)。
图示象征性地是:应用于损失值LOSS_2的因子lambda(小1)。该因素通过损失值提供反馈来减少影响。
进一步的实现细节
为了增强理解,说明书描述了田地用户192操作移动设备302的场景。然而这不是必需的,图像412可以以其他方式拍摄,例如由飞越田地的飞机拍摄。注意到无人驾驶飞行器(UAV)的示例。
在该场景中,在田地上捕捉图像的移动性将由UAV实现。智能电话等的用户接口392(参见图2)等(以将结果传输给田地用户191)将潜在地以其他方式实现。
对生物对象的进一步讨论
如上文所解释的-例如,结合图8-图块具有相比图像更小的尺寸,并且图块尺寸对应于CNN 271/272的输入层尺寸。由于生物对象(例如昆虫)以图块表示(在训练阶段中作为注释和在生产阶段中),生物对象的物理大小被限制为最大物理大小。在极端情况下(最大),最大允许物理大小的生物对象将对应于该对象在单个图块上的表示。换句话说,生物对象(132)的物理大小与部分(122)的物理大小的关系使得生物对象在部分图像(422)上的表示使得表示相比图块尺寸更小。
本领域技术人员可以估计图像分辨率(即每个物理尺寸的像素数)。还存在对最小值的限制。在极端情况下(最小),最小允许大小的生物对象将(在理论上)由一个像素表示。上文已经解释了更实际的大小(参见图5,30像素乘以20像素)。这转化为可以被识别的生物对象的绝对最小大小。通常,生物对象在直径方面具有至少0.1mm,在直径方面优选至少0.5mm,更优选至少1mm,最优选至少5mm。从高级别的角度来看,生物对象(132)是(或曾经是)位于(植物的)部分(122)上的活的有机体,或者生物对象是该有机体的痕迹。(可选地,该有机体可以被认为不再存在,参见具有蛹的示例)。更详细地,(植物的)部分(122)上的生物对象(132)选自以下:昆虫、蛛形纲动物和软体动物。在替代方案中,生物对象选自植物部分的表面上的斑点或条纹。在该替代方案中,对象是否被认为是生物体并不重要,斑点或条纹可能是疾病症状。例如,植物部分上的褐色斑点或褐色条纹指示植物潜在地受到损坏。例如,一些真菌导致类似黄锈的棕色条纹。鉴于大小(最小/最大)限制,并非所有昆虫、蛛形纲动物和软体动物(或斑点和条纹)将匹配。例如,大型蝴蝶昆虫将潜在地覆盖单片叶子(不可计数),但小粉虱(或蓟马)将是可计数的,如详细解释的。
计算机系统
图20示出了通用计算机设备900和通用移动计算机设备950的示例,它们可以与此处描述的技术一起使用。计算设备900旨在表示各种形式的数字计算机,诸如膝上型计算机、台式计算机、工作站、个人数字助理、服务器、刀片服务器、大型机和其他适当的计算机。通用计算机设备900可以对应于图1至2的计算机201/202。计算设备950旨在表示各种形式的移动设备,诸如个人数字助理、蜂窝电话、智能电话和其他类似计算设备。例如,计算设备950可以包括如图1所示的设备的数据存储组件和/或处理组件。此处示出的组件、其连接和关系以及其功能仅是示例性的,并且不意为限制本文档中描述和/或要求保护的发明的实现方式。
计算设备900包括处理器902、存储器904、存储设备906、连接到存储器904和高速扩展端口910的高速接口908、以及连接到低速总线914和存储设备906的低速接口912。组件902、904、906、908、910和912中的每一个使用各种总线互连,并且可以被安装在共同主板上或视情况以其他方式安装。处理器302能够处理用于在计算设备300内执行的指令,包括被存储在存储器304中或在存储设备306上以显示用于外部输入/输出设备(诸如耦合到高速控制器308的显示器316)上的GUI的图形信息的指令。在其他实现方式中,可以视情况连同多个存储器和多种类型的存储器一起,使用多个处理器和/或多个总线。而且,多个计算设备900可以连接,每个设备提供必要操作的部分(例如,作为服务器阵列(server bank)、一组刀片服务器或多处理器系统)。
存储器904存储计算设备900内的信息。在一个实现方式中,存储器904是易失性存储器单元或多个易失性存储器单元。在另一实现方式中,存储器904是非易失性存储器单元或多个非易失性存储器单元。存储器904也可以是另一形式的计算机可读介质,诸如磁盘或光盘。
存储设备906能够为计算设备900提供海量存储。在一个实现方式中,存储设备906可以是或包含计算机可读介质,诸如软盘设备、硬盘设备、光盘设备或磁带设备、闪存或其他类似的固态存储设备或设备阵列,包括存储区域网络或其他配置中的设备。计算机程序产品可以有形地实现在信息载体中。计算机程序产品还可包含指令,该指令当被执行时执行一个或多个方法,诸如上文所描述的方法。信息载体是计算机或机器可读介质,诸如存储器904、存储设备906或处理器902上的存储器。
高速控制器908管理用于计算设备900的带宽密集的操作,而低速控制器912管理较低带宽密集的操作。这种功能分配仅是示例性的。在一个实现方式中,高速控制器908被耦合到存储器904、显示器916(例如,通过图形处理器或加速器)和高速扩展端口910,高速扩展端口310可以接受各种扩展卡(未示出)。在该实现方式中,低速控制器912被耦接到存储设备906和低速扩展端口914。可以包括各种通信端口(例如,USB、蓝牙、以太网、无线以太网)的低速扩展端口可以被耦接到一个或多个输入/输出设备,诸如键盘、指点设备、扫描仪或例如通过网络适配器耦接到诸如交换机或路由器的联网设备。
可以以许多不同的形式实现计算设备350,如在附图中所示。例如,它可以被实现为标准服务器920,或在一组这种服务器中多次实现。它也可以作为机架服务器系统924的一部分来实现。另外,其可以被实现为诸如膝上型计算机922的个人计算机。备选地,来自计算设备300的组件可以与移动设备(未示出)(诸如计算设备350)中的其他组件组合。这种设备中的每个设备可以包含计算设备300、350中的一个或多个,并且整个系统可以由彼此通信的多个计算设备300、350组成。
除了其他组件,计算设备950包括处理器952、存储器964、输入/输出设备(诸如显示器954)、通信接口966和收发机968。设备950还可以提供有存储设备,诸如微型驱动器或其他设备,来提供附加存储。组件950、952、964、954、966和968中的每个组件使用各种总线互连,并且组件中的若干组件可以被安装在共同主板上或视情况以其他方式安装。
处理器952可以执行在计算设备950内的指令,包括被存储在存储器964中的指令。处理器可以被实现为包括单独的和多个模拟和数字处理器的芯片的芯片组。处理器例如可以提供设备950的其他组件的协调,诸如用户接口的控制、由设备950运行的应用和由设备950进行的无线通信。
处理器952可以通过控制接口958和耦接到显示器954的显示接口956与用户通信。显示器954例如可以是TFT LCD(薄膜晶体管液晶显示器)或OLED(有机发光二极管)显示器或其他适合的显示技术。显示接口956可以包括用于驱动显示器954来将图形和其他信息呈现给用户的适当的电路。控制接口958可以接收来自用户的命令并将它们转换用于提交给处理器952。另外,可以提供与处理器952通信的外部接口962,以使得设备950能够与其他设备进行近距离通信。外部接口962例如可以在一些实现方式中提供有线通信,或者在其他实现方式中提供无线通信,并且也可以使用多个接口。
存储器964将信息存储在计算设备950内。存储器964可以被实现为一个或多个计算机可读介质、一个或多个易失性存储器单元、或一个或多个非易失性存储器单元中的一个或多个。还可以提供扩展存储器984并通过扩展接口982将其连接到设备950,扩展接口982可以包括例如SIMM(单列直插存储器模块)卡接口。这种扩展存储器984可以为设备950提供额外的存储空间,或者还可以存储用于设备950的应用或其他信息。具体地,扩展存储器984可包括执行或补充上文所描述的过程的指令,并且还可包括安全信息。因此,例如扩展存储器984可以充当用于设备950的安全模块,并且可以编程有允许设备950的安全使用的指令。另外,安全应用可以连同附加信息一起经由SIMM卡提供,诸如以不可攻击的方式将标识信息放置在SIMM卡上。
存储器可以包括例如闪存和/或NVRAM存储器,如下文所讨论的。在一个实现方式中,计算机程序产品被有形地实现在信息载体中。计算机程序产品包含指令,所述指令当被执行时执行一个或多个方法,诸如上文所描述的那些方法。信息载体是计算机或机器可读介质,诸如存储器964、扩展存储器984或处理器952上的存储器,其可以例如通过收发机968或外部接口962接收。
设备950可以通过通信接口966无线地通信,其在必要的情况下可以包括数字信号处理电路。通信接口966可以提供在各种模式或协议下的通信,诸如GSM语音呼叫、SMS、EMS或MMS消息传输、CDMA、TDMA、PDC、WCDMA、CDMA2000或GPRS,等等。这种通信可以例如通过射频收发机968发生。另外,短距离通信可以发生,诸如使用WiFi或其他这种收发器(未示出)。另外,GPS(全球定位系统)接收机模块980可以将附加的导航和位置相关的无线数据提供给设备950,其可以视情况由在设备950上运行的应用使用。
设备950还可以使用音频编解码器960可听地通信,音频编解码器960可以从用户接收语音信息并且将其转换为可用的数字信息。音频编解码器960可以同样地为用户生成可听的声音,诸如通过例如在设备950的电话听筒中的扬声器。这种声音可以包括来自语音电话呼叫的声音,可以包括记录的声音(例如,语音消息、音乐文件等)并且还可以包括由在设备950上操作的应用所生成的声音。
可以以许多不同的形式实现计算设备950,如在附图中所示。例如,它可以被实现为蜂窝电话980。它还可以被实现为智能电话982、个人数字助理或其他类似移动设备的一部分。
能够以数字电子和电路、集成电路、特殊设计的ASIC(专用集成电路)、计算机硬件、固件、软件/或其组合实现此处所描述的系统和技术的各种实现方式。这些各种实现方式能够包括在包括以至少一个可编程处理器的可编程系统上可执行和/或可解释的一个或多个计算机程序的实现方式,该可编程处理器(其可以是专用或者通用)被耦合以从存储系统、至少一个输入设备和至少一个输出设备接收数据和指令和将数据和指令发送给存储系统、至少一个输入设备和至少一个输出设备。
这些计算机程序(还被称为程序、软件、软件应用或者代码)包括用于可编程处理器的机器指令,并且能够以高级程序和/或面向对象编程语言和/或汇编/机器语言实现。如本文所使用的,术语“机器可读介质”和“计算机可读介质”是指用于向可编程处理器提供机器指令和/或数据的任何计算机程序产品、装置和/或设备(例如,磁盘、光盘、存储器、可编程逻辑器件(PLD)),包括接收机器指令作为机器可读信号的机器可读介质。术语“机器可读信号”是指用于向可编程处理器提供机器指令和/或数据的任何信号。
为了提供与用户的交互,此处所描述的系统和技术可以被实现在计算机上,该计算机具有用于向用户显示信息的显示设备(例如,CRT(阴极射线管)或LCD(液晶显示器)监视器)以及用户通过其可以向计算机提供输入的键盘和指点设备(例如鼠标或轨迹球)。其他类型的设备也可以被用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,例如,视觉反馈、听觉反馈或者触觉反馈;并且来自用户的输入可以以任何形式接收,包括声音、语音或者触觉输入。
此处所描述的系统和技术可以被实现在计算设备中,该计算设备包括后端组件(例如,作为数据服务器)、或者包括中间件组件(例如,应用服务器)、或者包括前端组件(例如,具有用户通过其能够与此处所描述的系统和技术的实现方式交互的图形用户接口或网络浏览器的客户端计算机)、或者这种后端、中间件或前端组件的任何组合。系统的组件可以通过任何形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”)、广域网(“WAN”)和互联网。
计算设备可以包括客户端和服务器。客户端和服务器通常彼此远离并且典型地通过通信网络交互。客户端和服务器的关系借助于在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序产生。
已经描述许多实施例。然而,应当理解,在不脱离本发明的精神和范围的情况下可以做出各种修改。
另外,附图中所描绘的逻辑流程不需要所示的特定次序或顺序次序来实现期望的结果。另外,可以从所描述的流程中提供其他步骤,或者可以消除步骤,并且可以将其他组件添加到所描述的系统或从所描述的系统移除。因此,其它实施方式在以下权利要求的范围内。
参考标记
(1),(2)... 昆虫类别
(i),(ii) 昆虫物种
α...ζ 昆虫注释
1,2,3 用例
S 图像的设置基数
X、Y、i、j 通常图像坐标
X’、Y' 注释坐标
(A)...(D) 发育阶段
111/112 植物
121/122 叶子
131/132 昆虫(具有阶段A、B、C、D)
141/142 非昆虫对象
161 水滴
191/192 用户
201/202 计算机
261/271 CNN(叶子分割)
261/271 CNN(昆虫检测)
301、303 计算机
302 计算机(移动设备)
311/312 相机
342 通信网络
392 用户接口
411/412 (一个或多个)植物图像
421/422 (一个或多个)叶子图像
429 叶子图像中的待忽略部分
431/432 图像中的昆虫
441/442 图像中的非昆虫对象
451 多边形
461、471、473 注释图像
477、478 像素
479 平面颜色空间
481、482 颜色编码
485 对比度
491、492 簇
501-k/502-k 密度图
503-505 图形元素
555 组合密度图
6**A 预处理活动
6**B,8** 方法,步骤
9** 通用计算机,具有组件
Claims (16)
1.一种用于生成具有注释图像(473)的训练集的计算机实现的方法(800),其中,所述注释图像(473)将用于通过估计植物(112)的叶子(122)上的生物对象(132)的数量(NEST)来训练用于量化植物侵染的卷积神经网络(CNN);所述方法包括:
接收(810)示出叶子(121)并示出所述叶子(121)上的生物对象(131)的叶子图像(413-A),所述叶子图像(413-A)以第一颜色编码(481)被编码;
将所述叶子图像的像素(477,478)的所述颜色编码改变为第二颜色编码(482),其中,以所述第二颜色编码的所述生物对象(132)的所述像素与所述叶子(121)的所述像素之间的对比度(485)比以所述第一颜色编码(481)更高;
以所述第二颜色编码(482)对与第一颜色簇(491)相关联的像素(477,478)分配(830)第一二元值,并且对与第二颜色簇(492)相关联的像素分配第二二元值;
通过区域大小标准在具有二元编码(413-D)的所述叶子图像中将具有以所述第一二元值的连续像素的区域区分(840)为非对象区域(1,5)和对象区域(2,3,4,6,7,8);
识别(850)所述对象区域(2,3,4,6,7,8)的像素坐标,其中,所述像素坐标识别在中心具有生物对象的矩形图块区域,其中所述图块区域为所述CNN的输入尺寸;以及
通过将所述像素坐标(i,j)分配给对应的图块区域来以所述第一颜色编码(481)注释(860)所述叶子图像(414-A)以获得所述注释图像(473)。
2.根据权利要求1所述的方法,其中,接收(810)叶子图像(413)包括接收示出孤立分割叶子的图像,其中,所述叶子图像(413)基本上完整地示出具有其边缘的叶子。
3.根据权利要求2所述的方法,其中,接收(810)包括通过利用CNN(262)执行叶子分割来获得具有孤立分割叶子的图像,所述CNN(262)已经通过处理示出叶子和背景之间以及叶子和叶子之间的注释边界的叶子注释植物图像(461)来训练。
4.根据前述权利要求中的任一项所述的方法,其中,在接收(810)步骤中,所述第一颜色编码(481)是RGB编码,并且其中,在改变(820)所述颜色编码的步骤中,应用从所述RGB编码到XYZ编码的变换。
5.根据权利要求4所述的方法,其中,改变(820)所述颜色编码还包括通过忽略来自所述XYZ编码的Z分量来获得所述第二颜色编码(482)。
6.根据权利要求5所述的方法,其中,通过将所述像素聚类成颜色簇来执行对所述二元值的分配(830)。
7.根据权利要求6所述的方法,其中,所述颜色簇由支持向量机识别。
8.根据权利要求6所述的方法,其中,识别(850)像素坐标采用为96x 96像素的正方形的矩形执行。
9.根据前述权利要求中的任一项所述的方法,其中,所述进一步的步骤为根据对象类别对所述图块进行分类并排除假阳性。
10.根据前述权利要求中的任一项所述的方法,其中,
·所述生物对象是昆虫,
·所述非对象区域是非昆虫区域,以及
·所述对象区域是昆虫区域。
11.根据前述权利要求中的任一项所述的方法,其中,所述生物对象(131)的物理大小与所述叶子(121)的物理大小的关系使得:所述生物对象在所述叶子图像(421)上的表示使得所述表示小于所述图块区域的尺寸。
12.根据权利要求11所述的方法,其中,所述生物对象(131)选自以下:昆虫、蛛形纲动物和软体动物,或者其中,所述生物对象选自以下:所述植物部分的表面上的斑点或条纹。
13.适于执行根据权利要求1至12所述的方法(800)中的任一个的计算机(303)。
14.一种计算机程序产品,该计算机程序产品在被加载到计算机的存储器中并由所述计算机的至少一个处理器执行时,执行根据权利要求1至12中的任一项所述的计算机实现的方法的步骤。
15.一种用于通过估计植物(112)的叶子(122)上的生物对象(132)的数量(NEST)来量化植物侵染的计算机实现的方法(602B/702B),所述方法(602B/702B)包括:
接收从特定植物(112)拍摄的植物图像(412),所述植物图像(412)示出所述特定植物(112)的所述叶子(122)中的至少一个;
使用第一卷积神经网络(262)处理所述植物图像(412)以导出叶子图像(422),所述叶子图像(422)是完整地示出所述特定植物(112)的主叶子(422-1)的像素的连续集合,所述第一卷积神经网络(262)已经由多个叶子注释植物图像(461)进行训练,其中,所述植物图像(411)被注释以识别主叶子(421-1);
将所述叶子图像(422)分割成多个图块(402-k),所述图块是具有预定义图块尺寸的所述植物图像(412)的片段;
使用第二卷积神经网络(272)来分别处理所述多个图块(402)以获得具有对应于所述图块尺寸的图尺寸的多个密度图(502-k),所述第二卷积神经网络(272)已经通过处理对象注释植物图像(471)进行训练,其中,对象注释植物图像(471)的第一子集通过与专家用户交互获得,以及对象注释植物图像(471)的第二子集通过执行根据权利要求1至8中的任一项所述的方法来获得,所述处理包括基于核函数计算每个像素的卷积,从而得到对于示出生物对象的图块和未示出生物对象的图块具有不同的积分值的密度图(502);以及
将所述多个密度图(502)组合成以所述叶子图像(422)尺寸的组合密度图(555),并将所述组合密度图(555)的所述像素值整合到所述主叶子的估计的生物对象数量(NEST)。
16.根据权利要求15所述的方法,其中,所述生物对象是昆虫,以及所述对象注释植物图像是昆虫注释植物图像。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP19200657.5A EP3798899A1 (en) | 2019-09-30 | 2019-09-30 | Quantifying plant infestation by estimating the number of insects on leaves, by convolutional neural networks that provide density maps |
EP20158881.1 | 2020-02-21 | ||
EP20158881.1A EP3798901A1 (en) | 2019-09-30 | 2020-02-21 | Quantifying plant infestation by estimating the number of insects on leaves, by convolutional neural networks that use training images obtained by a semi-supervised approach |
PCT/EP2021/054233 WO2021165512A2 (en) | 2019-09-30 | 2021-02-19 | Quantifying plant infestation by estimating the number of biological objects on leaves, by convolutional neural networks that use training images obtained by a semi-supervised approach |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115104133A true CN115104133A (zh) | 2022-09-23 |
Family
ID=68109134
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080068396.7A Pending CN114467122A (zh) | 2019-09-30 | 2020-09-29 | 通过提供密度图的卷积神经网络估计诸如叶子的植物部分上的对象数量来量化植物上的对象 |
CN202180014801.1A Pending CN115104133A (zh) | 2019-09-30 | 2021-02-19 | 通过使用由半监督方法获得的训练图像的卷积神经网络估计叶子上的生物对象的数量来量化植物侵染 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080068396.7A Pending CN114467122A (zh) | 2019-09-30 | 2020-09-29 | 通过提供密度图的卷积神经网络估计诸如叶子的植物部分上的对象数量来量化植物上的对象 |
Country Status (7)
Country | Link |
---|---|
US (2) | US20230351743A1 (zh) |
EP (4) | EP3798899A1 (zh) |
CN (2) | CN114467122A (zh) |
AR (1) | AR120119A1 (zh) |
BR (2) | BR112022002456A2 (zh) |
CA (2) | CA3150808A1 (zh) |
WO (2) | WO2021063929A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021183473A1 (en) * | 2020-03-09 | 2021-09-16 | Nanotronics Imaging, Inc. | Defect detection system |
US11748984B2 (en) * | 2020-05-05 | 2023-09-05 | Planttagg, Inc. | System and method for horticulture viability prediction and display |
CN113221740B (zh) * | 2021-05-12 | 2023-03-24 | 浙江大学 | 一种农田边界识别方法及系统 |
US11838067B2 (en) * | 2021-12-23 | 2023-12-05 | Dish Network L.L.C. | Signal interference prediction systems and methods |
CN115126686B (zh) * | 2022-08-31 | 2022-11-11 | 山东中聚电器有限公司 | 用于植保无人机载隔膜泵控制系统 |
CN117372881B (zh) * | 2023-12-08 | 2024-04-05 | 中国农业科学院烟草研究所(中国烟草总公司青州烟草研究所) | 一种烟叶病虫害智能识别方法、介质及系统 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101109337B1 (ko) * | 2009-03-24 | 2012-01-31 | 부산대학교 산학협력단 | 자동 해충 인지 및 방제 시스템 및 방법 |
CN104992439B (zh) * | 2015-06-26 | 2020-02-11 | 广州铁路职业技术学院 | 农作物叶子虫害检测装置及其检测方法 |
CN107292314A (zh) * | 2016-03-30 | 2017-10-24 | 浙江工商大学 | 一种基于cnn的鳞翅目昆虫种类自动鉴别方法 |
EP3287007A1 (de) * | 2016-08-24 | 2018-02-28 | Bayer CropScience AG | Bekämpfung von schadorganismen auf basis der vorhersage von befallsrisiken |
SG11201903022UA (en) * | 2016-10-28 | 2019-05-30 | Verily Life Sciences Llc | Predictive models for visually classifying insects |
US10796161B2 (en) * | 2017-07-14 | 2020-10-06 | Illumitex, Inc. | System and method for identifying a number of insects in a horticultural area |
CN108960310A (zh) * | 2018-06-25 | 2018-12-07 | 北京普惠三农科技有限公司 | 一种基于人工智能的农业病虫害识别方法 |
CN108921849A (zh) * | 2018-09-30 | 2018-11-30 | 靖西海越农业有限公司 | 用于防治沃柑病虫害的智慧农业监控预警系统 |
-
2019
- 2019-09-30 EP EP19200657.5A patent/EP3798899A1/en not_active Withdrawn
-
2020
- 2020-02-21 EP EP20158881.1A patent/EP3798901A1/en not_active Ceased
- 2020-09-29 CN CN202080068396.7A patent/CN114467122A/zh active Pending
- 2020-09-29 CA CA3150808A patent/CA3150808A1/en active Pending
- 2020-09-29 AR ARP200102707A patent/AR120119A1/es unknown
- 2020-09-29 US US17/761,849 patent/US20230351743A1/en active Pending
- 2020-09-29 EP EP20781367.6A patent/EP4038542A1/en active Pending
- 2020-09-29 BR BR112022002456A patent/BR112022002456A2/pt unknown
- 2020-09-29 WO PCT/EP2020/077197 patent/WO2021063929A1/en unknown
-
2021
- 2021-02-19 WO PCT/EP2021/054233 patent/WO2021165512A2/en unknown
- 2021-02-19 EP EP21705986.4A patent/EP4107656A2/en active Pending
- 2021-02-19 US US17/799,829 patent/US20230071265A1/en active Pending
- 2021-02-19 CA CA3172345A patent/CA3172345A1/en active Pending
- 2021-02-19 BR BR112022016566A patent/BR112022016566A2/pt unknown
- 2021-02-19 CN CN202180014801.1A patent/CN115104133A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
CN114467122A (zh) | 2022-05-10 |
BR112022016566A2 (pt) | 2022-12-20 |
EP4038542A1 (en) | 2022-08-10 |
AR120119A1 (es) | 2022-02-02 |
EP4107656A2 (en) | 2022-12-28 |
EP3798899A1 (en) | 2021-03-31 |
WO2021165512A3 (en) | 2021-10-14 |
US20230351743A1 (en) | 2023-11-02 |
WO2021063929A1 (en) | 2021-04-08 |
BR112022002456A2 (pt) | 2022-05-03 |
EP3798901A1 (en) | 2021-03-31 |
US20230071265A1 (en) | 2023-03-09 |
CA3150808A1 (en) | 2021-04-08 |
CA3172345A1 (en) | 2021-08-26 |
WO2021165512A2 (en) | 2021-08-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230071265A1 (en) | Quantifying plant infestation by estimating the number of biological objects on leaves, by convolutional neural networks that use training images obtained by a semi-supervised approach | |
Ngugi et al. | Tomato leaf segmentation algorithms for mobile phone applications using deep learning | |
US20220327815A1 (en) | System and method for identification of plant species | |
US11636701B2 (en) | Method for calculating deviation relations of a population | |
WO2019245722A1 (en) | Sea lice detection and classification in an aquaculture environment | |
CN111652247A (zh) | 一种基于深度卷积神经网络的双翅目昆虫识别方法 | |
Luo et al. | Automatic fish recognition and counting in video footage of fishery operations | |
WO2022117772A1 (en) | System and method for determining damage on plants after herbicide application | |
Venegas et al. | Automatic ladybird beetle detection using deep-learning models | |
Yuan et al. | Sensitivity examination of YOLOv4 regarding test image distortion and training dataset attribute for apple flower bud classification | |
Liu et al. | A multitask model for realtime fish detection and segmentation based on YOLOv5 | |
Duraiswami et al. | Cattle breed detection and categorization using image processing and machine learning | |
Gao et al. | Transferring learned patterns from ground-based field imagery to predict UAV-based imagery for crop and weed semantic segmentation in precision crop farming | |
Omer et al. | An image dataset construction for flower recognition using convolutional neural network | |
Gao et al. | Cross-domain transfer learning for weed segmentation and mapping in precision farming using ground and UAV images | |
Choudhury | Segmentation techniques and challenges in plant phenotyping | |
US20230100268A1 (en) | Quantifying biotic damage on plant leaves, by convolutional neural networks | |
Velte | Semantic image segmentation combining visible and near-infrared channels with depth information | |
Cui et al. | Improving U-net network for semantic segmentation of corns and weeds during corn seedling stage in field | |
Mahenthiran et al. | Smart pest management: an augmented reality-based approach for an organic cultivation | |
Liu et al. | Pest recognition method fusion dilated dual attention and CapsNet based on U‐net | |
Conrady | Automated detection and classification of red roman in unconstrained underwater environments using Mask R-CNN | |
He | Deep learning applications to automate phenotypic measurements on biodiversity datasets | |
Satoto et al. | Classification of coastal shrimp species using deep learning InceptionResNetV2 with data augmentation | |
Magesh et al. | Analysis of Crop Disease Using Deep Learning based Convolutional Neural Network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |