BR112021015232A2 - SHADOW AND CLOUD MASKING FOR REMOTE SENSING IMAGES IN AGRICULTURE APPLICATIONS USING MULTI-LAYER PERCEPTRON - Google Patents
SHADOW AND CLOUD MASKING FOR REMOTE SENSING IMAGES IN AGRICULTURE APPLICATIONS USING MULTI-LAYER PERCEPTRON Download PDFInfo
- Publication number
- BR112021015232A2 BR112021015232A2 BR112021015232-6A BR112021015232A BR112021015232A2 BR 112021015232 A2 BR112021015232 A2 BR 112021015232A2 BR 112021015232 A BR112021015232 A BR 112021015232A BR 112021015232 A2 BR112021015232 A2 BR 112021015232A2
- Authority
- BR
- Brazil
- Prior art keywords
- classification
- cloud
- image
- observed image
- observed
- Prior art date
Links
- 230000000873 masking effect Effects 0.000 title claims abstract description 30
- 238000000034 method Methods 0.000 claims abstract description 65
- 238000013145 classification model Methods 0.000 claims abstract description 38
- 238000003709 image segmentation Methods 0.000 claims abstract description 8
- 239000000284 extract Substances 0.000 claims abstract description 6
- 238000011156 evaluation Methods 0.000 claims description 11
- 239000011159 matrix material Substances 0.000 claims description 10
- 230000011218 segmentation Effects 0.000 claims description 10
- 230000006870 function Effects 0.000 description 13
- 230000008569 process Effects 0.000 description 10
- 230000009418 agronomic effect Effects 0.000 description 9
- 230000003595 spectral effect Effects 0.000 description 9
- 238000012549 training Methods 0.000 description 9
- 238000004422 calculation algorithm Methods 0.000 description 8
- 230000015654 memory Effects 0.000 description 7
- 238000012545 processing Methods 0.000 description 5
- 238000012360 testing method Methods 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 4
- 238000007405 data analysis Methods 0.000 description 4
- 230000036541 health Effects 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000003860 storage Methods 0.000 description 3
- 238000012800 visualization Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 229930002875 chlorophyll Natural products 0.000 description 2
- 235000019804 chlorophyll Nutrition 0.000 description 2
- ATNHDLDRLWWWCB-AENOIHSZSA-M chlorophyll a Chemical compound C1([C@@H](C(=O)OC)C(=O)C2=C3C)=C2N2C3=CC(C(CC)=C3C)=[N+]4C3=CC3=C(C=C)C(C)=C5N3[Mg-2]42[N+]2=C1[C@@H](CCC(=O)OC\C=C(/C)CCC[C@H](C)CCC[C@H](C)CCCC(C)C)[C@H](C)C2=C5 ATNHDLDRLWWWCB-AENOIHSZSA-M 0.000 description 2
- 238000002790 cross-validation Methods 0.000 description 2
- 230000008030 elimination Effects 0.000 description 2
- 238000003379 elimination reaction Methods 0.000 description 2
- 230000037406 food intake Effects 0.000 description 2
- 238000003384 imaging method Methods 0.000 description 2
- 238000007637 random forest analysis Methods 0.000 description 2
- 239000002689 soil Substances 0.000 description 2
- 238000012706 support-vector machine Methods 0.000 description 2
- 241001420622 Meris Species 0.000 description 1
- 241000607479 Yersinia pestis Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 238000003306 harvesting Methods 0.000 description 1
- 238000003064 k means clustering Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000007620 mathematical function Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000000877 morphologic effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Classifications
-
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/285—Selection of pattern recognition techniques, e.g. of classifiers in a multi-classifier system
-
- 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/10—Image acquisition
- G06V10/12—Details of acquisition arrangements; Constructional details thereof
- G06V10/14—Optical characteristics of the device performing the acquisition or on the illumination arrangements
- G06V10/143—Sensing or illuminating at different wavelengths
-
- 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
- G06V20/00—Scenes; Scene-specific elements
- G06V20/10—Terrestrial scenes
- G06V20/13—Satellite images
-
- 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
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/24—Character recognition characterised by the processing or recognition method
- G06V30/248—Character recognition characterised by the processing or recognition method involving plural approaches, e.g. verification by template match; Resolving confusion among similar patterns, e.g. "O" versus "Q"
-
- A—HUMAN NECESSITIES
- A01—AGRICULTURE; FORESTRY; ANIMAL HUSBANDRY; HUNTING; TRAPPING; FISHING
- A01B—SOIL WORKING IN AGRICULTURE OR FORESTRY; PARTS, DETAILS, OR ACCESSORIES OF AGRICULTURAL MACHINES OR IMPLEMENTS, IN GENERAL
- A01B79/00—Methods for working soil
- A01B79/005—Precision agriculture
-
- 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/10—Image acquisition modality
- G06T2207/10032—Satellite or aerial image; Remote sensing
- G06T2207/10036—Multispectral image; Hyperspectral image
-
- 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/30—Subject of image; Context of image processing
- G06T2207/30181—Earth observation
- G06T2207/30188—Vegetation; Agriculture
-
- 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/194—Terrestrial scenes using hyperspectral data, i.e. more or other wavelengths than RGB
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/24—Character recognition characterised by the processing or recognition method
- G06V30/248—Character recognition characterised by the processing or recognition method involving plural approaches, e.g. verification by template match; Resolving confusion among similar patterns, e.g. "O" versus "Q"
- G06V30/2528—Combination of methods, e.g. classifiers, working on the same input data
Landscapes
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Life Sciences & Earth Sciences (AREA)
- Data Mining & Analysis (AREA)
- Remote Sensing (AREA)
- Astronomy & Astrophysics (AREA)
- Mechanical Engineering (AREA)
- Environmental Sciences (AREA)
- Soil Sciences (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Artificial Intelligence (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
MASCARAMENTO DE SOMBRA E NUVEM PARA IMAGENS DE SENSORIAMENTO REMOTO EM APLICAÇÕES DE AGRICULTURA USANDO PERCEPTRON DE MÚLTIPLAS CAMADAS. Trata-se de um método para mascaramento de nuvem e sombra para imagens de sensoriamento remoto de um campo agrícola usando perceptrons de múltiplas camadas, que inclui receber eletronicamente uma imagem observada, realizar, com o uso de pelo menos um processador, uma segmentação de imagem da imagem observada para dividir a imagem observada em uma pluralidade de segmentos de imagem ou superpixels, extrair recursos para cada um dos segmentos de imagem usando o pelo menos um processador, e determinar, por um módulo de geração de máscara de nuvem executando no pelo menos um processador, uma classificação para cada um dos segmentos de imagem usando os recursos extraídos para cada um dos segmentos de imagem, em que o módulo de geração de máscara de nuvem aplica um modelo de classificação incluindo uma junção de perceptrons de múltiplas camadas para gerar uma máscara de nuvem para a imagem observada de modo que cada pixel dentro da imagem observada tenha uma classificação correspondente.SHADOW AND CLOUD MASKING FOR REMOTE SENSING IMAGES IN AGRICULTURE APPLICATIONS USING MULTI-LAYER PERCEPTRON. It is a masking method. cloud and shadow for remote sensing images of a field agriculture using multilayer perceptrons, which includes receiving electronically an observed image, perform, with the use of at least a processor, an image segmentation of the observed image to split the observed image into a plurality of image segments or superpixels, extract features for each of the image segments using the at least one processor, and determine, by a module of cloud mask generation running on at least one processor, one classification for each of the image segments using the features extracted for each of the image segments, where the image module cloud mask generation applies a classification model including a junction of multilayer perceptrons to generate a mask of cloud to the observed image so that each pixel within the image observed has a corresponding classification.
Description
[0001] Este pedido reivindica a prioridade do Pedido Provisório U.S. nº 62/801.008, depositado em 4 de fevereiro de 2019, intitulado “SHADOW AND CLOUD MASKING FOR REMOTE SENSING IMAGES IN AGRICULTURE APPLICATIONS USING A MULTILAYER PERCEPTRON”, e incorporado ao presente documento por referência em sua totalidade.[0001] This application claims priority of US Interim Application No. 62/801,008, filed on February 4, 2019, entitled “SHADOW AND CLOUD MASKING FOR REMOTE SENSING IMAGES IN AGRICULTURE APPLICATIONS USING A MULTILAYER PERCEPTRON”, and incorporated herein by reference in its entirety.
[0002] Esta invenção descreve um método e sistema aplicável a imagens de satélite para aplicações agrícolas, que utiliza um algoritmo de detecção de nuvem e sombra.[0002] This invention describes a method and system applicable to satellite imagery for agricultural applications, which uses a cloud and shadow detection algorithm.
[0003] Imagens de satélite são frequentemente afetadas pela presença de nuvens e suas sombras. Como as nuvens são opacas no comprimento de onda da luz visível, elas frequentemente escondem a superfície do solo dos satélites de observação da Terra. Os efeitos de clareamento e escurecimento das nuvens e sombras influenciam a análise dos dados, causando correções atmosféricas imprecisas e impedância de classificação da cobertura do terreno. Sua detecção, identificação e remoção são, portanto, as primeiras etapas no processamento das imagens de satélite. Nuvens e sombras de nuvens podem ser filtradas manualmente, mas automatizar o mascaramento é importante onde pode haver milhares de imagens a serem processadas.[0003] Satellite images are often affected by the presence of clouds and their shadows. Because clouds are opaque at the wavelength of visible light, they often hide the ground surface from Earth observation satellites. The lightening and darkening effects of clouds and shadows influence data analysis, causing imprecise atmospheric corrections and land cover classification impedance. Its detection, identification and removal are, therefore, the first steps in the processing of satellite images. Clouds and cloud shadows can be filtered manually, but automating masking is important where there may be thousands of images to process.
[0004] Sistemas de técnica relacionada para detectar nuvens e sombras em imagens de satélite focam em imagens que têm numerosas bandas e uma riqueza de informações com as quais trabalhar. Por exemplo, alguns sistemas de técnica relacionada usam uma operação morfológica para identificar potenciais regiões de sombra, que são mais escuras na faixa espectral do infravermelho próximo. A técnica relacionada aborda como, dada uma máscara de nuvem, uma varredura é feita através de uma gama de alturas de nuvem e aborda como os lugares onde as sombras projetadas cairiam são calculados geometricamente. A área de maior sobreposição entre as projeções e as possíveis regiões de sombra é considerada a máscara de nuvem. A técnica relacionada, no entanto, usa um grande número (por exemplo, 7, 8, 9, etc.) de faixas espectrais (ou seja, “bandas”) para realizar esta tarefa de mascaramento de nuvem. Imagens de satélite incluindo um número maior de bandas geralmente não estão disponíveis em alta frequência (por exemplo, mais de uma vez por dia) e, portanto, as imagens podem ser menos úteis na indicação de decisões agronômicas. Seria útil realizar o mascaramento de nuvem usando imagens de alta frequência, que incluem menor número de bandas, para informar melhor o produtor para a tomada de decisões agronômicas.[0004] Related technique systems for detecting clouds and shadows in satellite images focus on images that have numerous bands and a wealth of information to work with. For example, some related technique systems use a morphological operation to identify potential shadow regions, which are darkest in the near-infrared spectral range. The related technique addresses how, given a cloud mask, a sweep is taken through a range of cloud heights and addresses how the places where projected shadows would fall are calculated geometrically. The area of greatest overlap between the projections and the possible shadow regions is considered the cloud mask. The related technique, however, uses a large number (eg, 7, 8, 9, etc.) of spectral bands (ie, “bands”) to accomplish this cloud masking task. Satellite images including a greater number of bands are generally not available at high frequency (eg, more than once a day) and therefore images may be less useful in indicating agronomic decisions. It would be useful to perform cloud masking using high frequency images, which include fewer bands, to better inform the producer for agronomic decision making.
[0005] Às vezes, menos bandas de satélite do que o necessário para a operação bem-sucedida de aplicações agrícolas para informar o agricultor sobre as decisões de gerenciamento de campo agrícola estão disponíveis e, portanto, os procedimentos de técnica relacionada são inadequados. Sistemas e métodos são divulgados no presente documento para mascaramento de nuvem, onde menos bandas de informações estão disponíveis do que o necessário para o processamento por sistemas de técnica relacionada (por exemplo, um, dois, três, quatro ou cinco). Em algumas modalidades, os sistemas e métodos divulgados no presente documento se aplicam a uma imagem de satélite incluindo uma banda de infravermelho próximo (“NIR”) e uma banda vermelho-verde-azul (“RGB”) visível. A utilização de um número reduzido de bandas permite que o mascaramento de nuvem seja executado em imagens de satélite obtidas de um número maior de satélites.[0005] Sometimes less satellite bands than necessary for the successful operation of agricultural applications to inform the farmer about agricultural field management decisions are available and therefore the related technique procedures are inadequate. Systems and methods are disclosed herein for cloud masking, where fewer bands of information are available than are required for processing by related art systems (e.g., one, two, three, four, or five). In some embodiments, the systems and methods disclosed herein apply to a satellite image including a near-infrared ("NIR") band and a visible red-green-blue ("RGB") band. Using a reduced number of bands allows cloud masking to be performed on satellite images obtained from a greater number of satellites.
[0006] Em algumas modalidades, os sistemas e métodos divulgados no presente documento realizam mascaramento de nuvem usando um número limitado de bandas, realizando segmentação de imagem não supervisionada, extraindo recursos para cada segmento de imagem, realizando mascaramento de nuvem usando aprendizado supervisionado de modelos de mascaramento de nuvem juntos e avaliando modelos de mascaramento de nuvem usando uma matriz de confusão.[0006] In some embodiments, the systems and methods disclosed in the present document perform cloud masking using a limited number of bands, performing unsupervised image segmentation, extracting resources for each image segment, performing cloud masking using supervised model learning of cloud masking together and evaluating cloud masking models using a confusion matrix.
[0007] De acordo com um aspecto, um método para mascaramento de nuvem e sombra para imagens de sensoriamento remoto de um campo agrícola usando perceptrons de múltiplas camadas é fornecido. O método inclui receber eletronicamente uma imagem observada, executar, usando pelo menos um processador, uma segmentação de imagem da imagem observada para dividir a imagem observada em uma pluralidade de segmentos de imagem ou superpixels, extrair recursos para cada um dos segmentos de imagem usando o pelo menos um processador, e determinar, por um módulo de geração de máscara de nuvem executando no pelo menos um processador, uma classificação para cada um dos segmentos de imagem usando os recursos extraídos para cada um dos segmentos de imagem, em que o módulo de geração de máscara de nuvem aplica um modelo de classificação incluindo uma junção de perceptrons de múltiplas camadas para gerar uma máscara de nuvem para a imagem observada de modo que cada pixel dentro da imagem observada tenha uma classificação correspondente. A classificação pode ser selecionada a partir de um conjunto incluindo uma classificação de nuvem, uma classificação de sombra e uma classificação de campo. A classificação de cada um dos segmentos de imagem pode ser realizada usando cinco ou menos bandas da imagem observada. As bandas podem incluir uma banda visível (por exemplo, banda espectral vermelha, banda espectral verde, banda espectral azul), uma banda de infravermelho próximo e uma banda de borda vermelha. O método pode incluir ainda a aplicação da máscara de nuvem à imagem observada. O método pode ainda incluir usar uma imagem resultante para gerar uma previsão de rendimento para o campo agrícola ou para outros fins. O método pode incluir ainda usar o módulo de geração de nuvem em execução nos um ou mais processadores para treinar o modelo de classificação. O método pode incluir ainda usar o módulo de geração de nuvem em execução nos um ou mais processadores para avaliar um ou mais modelos de classificação. A avaliação pode ser realizada por meio de uma matriz de confusão.[0007] According to one aspect, a method for masking cloud and shadow for remote sensing images of an agricultural field using multilayer perceptrons is provided. The method includes electronically receiving an observed image, performing, using at least one processor, an image segmentation of the observed image to divide the observed image into a plurality of image segments or superpixels, extracting features for each of the image segments using the at least one processor, and determining, by a cloud mask generation module running on the at least one processor, a classification for each of the image segments using the extracted resources for each of the image segments, wherein the image module Cloud mask generation applies a classification model including a junction of multilayer perceptrons to generate a cloud mask for the observed image so that each pixel within the observed image has a corresponding classification. The classification can be selected from a set including a cloud classification, a shadow classification and a field classification. Classification of each of the image segments can be performed using five or fewer bands of the observed image. Bands can include a visible band (eg, red spectral band, green spectral band, blue spectral band), a near-infrared band, and a red edge band. The method may also include applying the cloud mask to the observed image. The method may further include using a resulting image to generate a yield forecast for the agricultural field or for other purposes. The method may further include using the cloud generation module running on one or more processors to train the classification model. The method may further include using the cloud generation module running on one or more processors to evaluate one or more classification models. The assessment can be performed using a confusion matrix.
[0008] De acordo com outro aspecto, um sistema para mascaramento de nuvem e sombra para imagens de sensoriamento remoto de um campo agrícola é fornecido. O sistema inclui um sistema de computação com pelo menos um processador para executar um módulo de geração de máscara de nuvem, em que o módulo de geração de máscara de nuvem é configurado para: receber uma imagem observada, aplicar um modelo de segmentação à imagem observada para dividir a imagem observada em uma pluralidade de superpixels (ou segmentos de imagem), extrair recursos de cada um dos superpixels e determinar uma classificação para cada um dos superpixels, usando os recursos extraídos para cada um dos superpixels e aplicando um modelo de classificação incluindo um junção de perceptrons de múltiplas camadas, para gerar uma máscara de nuvem para a imagem observada de forma que cada pixel na imagem observada tenha uma classificação correspondente. A classificação pode ser selecionada a partir de um conjunto incluindo uma classificação de nuvem, uma classificação de sombra e uma classificação de campo. A classificação de cada um dos superpixels pode ser realizada usando um número limitado de faixas de cores da imagem observada, como cinco, quatro, três, dois ou um (por exemplo, visível (RGB), infravermelho próximo, borda vermelha, etc.). O sistema de computação pode ser ainda configurado para aplicar a máscara de nuvem à imagem observada e usar uma imagem resultante para gerar uma previsão de rendimento para o campo agrícola ou para outros fins. O módulo de geração de nuvem pode ser configurado adicionalmente para treinar o modelo de classificação e para avaliar um ou mais modelos de classificação.[0008] According to another aspect, a system for masking cloud and shadow for remote sensing images of an agricultural field is provided. The system includes a computing system with at least one processor to run a cloud mask generation module, wherein the cloud mask generation module is configured to: receive an observed image, apply a segmentation model to the observed image to divide the observed image into a plurality of superpixels (or image segments), extract features from each of the superpixels and determine a classification for each of the superpixels, using the extracted features for each of the superpixels and applying a classification model including a junction of multilayer perceptrons, to generate a cloud mask for the observed image so that each pixel in the observed image has a corresponding classification. The classification can be selected from a set including a cloud classification, a shadow classification and a field classification. Classification of each of the superpixels can be performed using a limited number of color bands of the observed image, such as five, four, three, two or one (e.g. visible (RGB), near infrared, red border, etc.) . The computing system can be further configured to apply the cloud mask to the observed image and use a resulting image to generate a yield forecast for the agricultural field or for other purposes. The cloud generation module can be further configured to train the classification model and to evaluate one or more classification models.
[0009] De acordo com outro aspecto, um método para mascaramento de nuvem e sombra para imagens de sensoriamento remoto de campos agrícolas usando perceptron de múltiplas camadas pode incluir receber uma imagem observada de um campo agrícola de um armazenamento de dados, segmentar a imagem observada do campo agrícola em superpixels, determinar um conjunto de recursos da imagem observada usando os superpixels, determinar uma classificação para cada superpixel, inserir os superpixels em um perceptron de múltiplas camadas para treinar um modelo, e avaliar o perceptron de múltiplas camadas usando uma função de avaliação.[0009] According to another aspect, a method for cloud and shadow masking for remote sensing images of agricultural fields using multilayer perceptron may include receiving an observed image of an agricultural field from a data store, segmenting the observed image field in superpixels, determine a feature set of the observed image using the superpixels, determine a classification for each superpixel, insert the superpixels into a multilayer perceptron to train a model, and evaluate the multilayer perceptron using a evaluation.
[0010] De acordo com outro aspecto, um método para mascaramento de nuvem e sombra para imagens de sensoriamento remoto de campos agrícolas usando perceptron de múltiplas camadas pode incluir receber uma solicitação para gerar um mapa de nuvem, solicitar uma imagem observada, segmentar a imagem observada em superpixels e determinar um conjunto de recursos, inserir os superpixels em uma junção, determinar uma classificação para cada superpixel, determinar uma classificação agregada para cada superpixel e aplicar uma máscara de classificação à imagem para obter as informações necessárias.[0010] According to another aspect, a method for cloud and shadow masking for remote sensing images of agricultural fields using multilayer perceptron may include receiving a request to generate a cloud map, requesting an observed image, segmenting the image observed on superpixels and determine a feature set, insert the superpixels into a junction, determine a rank for each superpixel, determine an aggregate rank for each superpixel, and apply a rank mask to the image to obtain the necessary information.
[0011] As modalidades divulgadas têm outras vantagens e características que serão mais facilmente evidentes a partir da descrição detalhada, das reivindicações anexas e das figuras (ou desenhos) que as acompanham. Uma breve introdução das figuras está abaixo.[0011] The disclosed modalities have other advantages and characteristics that will be more easily evident from the detailed description, the appended claims and the accompanying figures (or drawings). A brief introduction of the figures is below.
[0012] A Figura 1 ilustra um ambiente de sistema para gerar um mapa de nuvem para um campo agrícola, de acordo com uma modalidade de exemplo.[0012] Figure 1 illustrates a system environment to generate a cloud map for an agricultural field, according to an example modality.
[0013] A Figura 2A ilustra uma imagem observada, de acordo com uma modalidade de exemplo.[0013] Figure 2A illustrates an observed image, according to an example embodiment.
[0014] A Figura 2B ilustra uma primeira camada de um mapa de nuvem, de acordo com uma modalidade de exemplo.[0014] Figure 2B illustrates a first layer of a cloud map, according to an example embodiment.
[0015] A Figura 2C ilustra uma segunda camada de um mapa de nuvem, de acordo com uma modalidade de exemplo.[0015] Figure 2C illustrates a second layer of a cloud map, according to an example embodiment.
[0016] A Figura 3 ilustra uma imagem segmentada, de acordo com uma modalidade de exemplo.[0016] Figure 3 illustrates a segmented image, according to an example modality.
[0017] A Figura 4 ilustra um junção de perceptrons de múltiplas camadas configurado para determinar uma classificação para cada superpixel em uma imagem observada, de acordo com uma modalidade de exemplo.[0017] Figure 4 illustrates a multilayer perceptron junction configured to determine a classification for each superpixel in an observed image, according to an example embodiment.
[0018] A Figura 5 ilustra um método para treinar um modelo de classificação, de acordo com uma modalidade de exemplo.[0018] Figure 5 illustrates a method for training a classification model, according to an example modality.
[0019] A Figura 6 ilustra um método para gerar uma máscara de nuvem, de acordo com uma modalidade de exemplo.[0019] Figure 6 illustrates a method to generate a cloud mask, according to an example modality.
[0020] A Figura 7 ilustra um sistema de computação de exemplo, de acordo com uma modalidade de exemplo.[0020] Figure 7 illustrates an example computing system, according to an example embodiment.
[0021] A Figura 8 ilustra uma visão geral da ingestão de dados no modelo de mascaramento de nuvem MLP, de acordo com uma modalidade de exemplo.[0021] Figure 8 illustrates an overview of data ingestion in the MLP cloud masking model, according to an example modality.
[0022] A Figura 9 ilustra uma matriz de confusão para uma tarefa de mascaramento de nuvem, de acordo com uma modalidade de exemplo.[0022] Figure 9 illustrates a confusion matrix for a cloud masking task, according to an example modality.
[0023] As Figuras (FIGS.) e a seguinte descrição referem-se a modalidades preferidas apenas a título de ilustração. Deve-se notar que a partir da discussão a seguir, modalidades alternativas das estruturas e métodos divulgados no presente documento serão prontamente reconhecidas como alternativas viáveis que podem ser empregadas sem se afastar dos princípios divulgados. É notado que, sempre que praticável, números de referência semelhantes ou similares podem ser usados nas figuras e podem indicar funcionalidade semelhante ou similar. As figuras representam modalidades do sistema (ou método) divulgado apenas para fins de ilustração.[0023] The Figures (FIGS.) and the following description refer to preferred embodiments by way of illustration only. It should be noted that from the discussion that follows, alternative embodiments of the structures and methods disclosed in this document will be readily recognized as viable alternatives that can be employed without departing from the principles disclosed. It is noted that, where practicable, similar or similar reference numbers may be used in the figures and may indicate similar or similar functionality. The figures represent embodiments of the system (or method) disclosed for purposes of illustration only.
[0024] A Figura 1 ilustra um ambiente de sistema para gerar um mapa de nuvem para um campo agrícola. Dentro do ambiente de sistema (100), um sistema de cliente (110) inclui um módulo de geração de máscara de nuvem (“CMG”) (112) que gera um mapa de nuvem. Um mapa de nuvem é uma imagem de um campo agrícola em que uma classificação para cada pixel na imagem foi determinada pelo módulo de CMG (112). As classificações podem ser, por exemplo, “nuvem”, “sombra” ou “campo”. Em outros exemplos, um mapa de nuvem é alguma outra visualização ou estrutura de dados que indica nuvens, sombras e campos classificados em uma imagem observada.[0024] Figure 1 illustrates a system environment to generate a cloud map for an agricultural field. Within the system environment (100), a client system (110) includes a cloud mask generation ("CMG") module (112) that generates a cloud map. A cloud map is an image of an agricultural field in which a rating for each pixel in the image has been determined by the CMG module (112). The classifications can be, for example, “cloud”, “shadow” or “field”. In other examples, a cloud map is some other visualization or data structure that indicates clouds, shadows, and sorted fields in an observed image.
[0025] O módulo de CMG (112) emprega um modelo de classificação (116) para gerar um mapa de nuvem a partir de uma imagem observada de um campo agrícola. O sistema de cliente (110) pode solicitar imagens observadas através da rede (150) e o sistema de rede (120) pode fornecer as imagens observadas em resposta. A rede (150) é normalmente uma torre de celular, mas pode ser uma rede mesh ou linha de energia. O sistema de rede (120) é normalmente a Internet, mas pode ser qualquer rede incluindo, mas não se limitando a, uma LAN, uma MAN, uma WAN, uma rede móvel com ou sem fio, uma rede privada, uma rede privada virtual ou uma combinação das mesmas. Um sistema de rede (120) acessa imagens observadas de um sistema de observação (140) por meio de uma rede (150).[0025] The CMG module (112) employs a classification model (116) to generate a cloud map from an observed image of an agricultural field. The client system (110) can request observed images over the network (150) and the network system (120) can provide the observed images in response. The network (150) is normally a cell tower, but can be a mesh network or power line. The network system (120) is normally the Internet, but can be any network including, but not limited to, a LAN, a MAN, a WAN, a wired or wireless mobile network, a private network, a virtual private network or a combination thereof. A network system (120) accesses observed images from an observation system (140) via a network (150).
[0026] Em várias modalidades, o ambiente de sistema (100) pode incluir sistemas adicionais ou menos sistemas. Além disso, as capacidades atribuídas a um sistema dentro do ambiente podem ser distribuídas para um ou mais outros sistemas dentro do ambiente de sistema (100). Por exemplo, o módulo de CMG (112) pode ser executado no sistema de rede (120) em vez do dispositivo de cliente (110).[0026] In various embodiments, the system environment (100) may include additional systems or fewer systems. Furthermore, the capabilities assigned to a system within the environment can be distributed to one or more other systems within the system environment (100). For example, the CMG module (112) may run on the network system (120) instead of the client device (110).
[0027] O módulo de CMG (112) aceita uma imagem observada do sistema de rede (120) e envia um mapa de nuvem para um usuário do sistema de cliente (110). O módulo de CMG (112) também pode aceitar uma imagem observada do sistema de observação (140). Os dados de imagens podem consistir em uma imagem ou fotografia tirada de uma plataforma de sensoriamento remoto (avião, satélite ou drone). Imagens são um conjunto de dados de varredura; cada varredura sendo composta de pixels. Cada pixel tem um valor (ou valores) de pixel específico que representa as características do solo. As imagens observadas incluem alguns pixels. Cada pixel inclui informações em vários canais de dados (por exemplo, 3, 4, 5), cada canal associado a uma banda espectral particular (“informações de banda”). O módulo de CMG (112) usa as informações de banda para gerar o mapa de nuvem.[0027] The CMG module (112) accepts an observed image of the network system (120) and sends a cloud map to a user of the client system (110). The CMG module (112) can also accept an observed image from the observation system (140). Image data can consist of an image or photograph taken from a remote sensing platform (airplane, satellite or drone). Images are a raster dataset; each scan being composed of pixels. Each pixel has a specific pixel value (or values) that represents soil characteristics. Observed images include some pixels. Each pixel includes information on multiple data channels (eg 3, 4, 5), each channel associated with a particular spectral band ("band information"). The CMG module (112) uses the bandwidth information to generate the cloud map.
[0028] Em um exemplo, uma imagem observada é uma imagem obtida de um campo agrícola de um satélite ou rede de satélites. Os satélites baseados no espaço usam dados do Sistema de Posicionamento Global (GPS), que podem consistir em coordenadas e sinais de tempo para ajudar a rastrear ativos ou entidades. A Figura 2A ilustra um exemplo de uma imagem observada, de acordo com um exemplo de modalidade. No exemplo ilustrado, a imagem observada (210) é uma imagem de satélite RGB de um campo agrícola. Mais particularmente, neste exemplo, a imagem observada é uma imagem GeoTIFF incluindo informações geográficas associadas à imagem. A informação de banda da imagem observada (210) inclui três canais de dados, incluindo uma banda espectral vermelha, uma banda espectral verde e uma banda espectral azul.[0028] In one example, an observed image is an image taken of an agricultural field from a satellite or network of satellites. Space-based satellites use Global Positioning System (GPS) data, which can consist of coordinates and time signals to help track assets or entities. Figure 2A illustrates an example of an observed image, according to an example embodiment. In the illustrated example, the observed image (210) is an RGB satellite image of an agricultural field. More particularly, in this example, the observed image is a GeoTIFF image including geographic information associated with the image. The band information of the observed image (210) includes three channels of data, including a red spectral band, a green spectral band, and a blue spectral band.
[0029] Em várias modalidades, as imagens observadas podem ter diferentes informações de banda. Por exemplo, uma imagem observada pode ser uma imagem com bandas multiespectrais (por exemplo, seis ou mais bandas) obtida por um satélite. Alguns exemplos de imagens de satélite com bandas multiespectrais incluem imagens dos satélites LANDSAT™ e SENTINEL™. Em outros exemplos, uma imagem de satélite pode ter apenas quatro ou cinco bandas. Alguns exemplos de imagens de satélite com cinco bandas são imagens dos satélites PLANETSCOPE™ e RAPIDEYE™. Nestes exemplos, as cinco bandas incluem bandas R, G, B, RED EDGE e NIR.[0029] In various modalities, the observed images may have different band information. For example, an observed image may be an image with multispectral bands (eg, six or more bands) taken by a satellite. Some examples of satellite imagery with multispectral bands include images from the LANDSAT™ and SENTINEL™ satellites. In other examples, a satellite image may only have four or five bands. Some examples of five-band satellite imagery are images from the PLANETSCOPE™ and RAPIDEYE™ satellites. In these examples, the five bands include R, G, B, RED EDGE and NIR bands.
Alguns exemplos de imagens de satélite com quatro bandas incluem imagens DOVE™ da PLANETSCOPE™. Nestes exemplos, as quatro bandas incluem R, G, B e NIR.Some examples of four-band satellite imagery include DOVE™ images from PLANETSCOPE™. In these examples, the four bands include R, G, B and NIR.
[0030] O módulo de CMG (112) gera um mapa de nuvem. A Figura 2B e a Figura 2C ilustram duas camadas de um mapa de nuvem, de acordo com uma modalidade de exemplo. Para gerar o mapa de nuvem (220), o módulo de CMG (112) determina uma classificação para cada pixel na imagem observada (210). A Figura 2B ilustra uma primeira camada do mapa de nuvem (por exemplo, mapa de nuvem (220B)) mostrando grupos de pixels (230B) classificados como nuvens, e a Figura 2C ilustra uma segunda camada do mapa de nuvem (por exemplo, mapa de nuvem (220C)) ilustrando grupos de pixels (230C) classificados como sombras. Notavelmente, o mapa de nuvem é uma imagem do mesmo tipo que a entrada, como uma imagem GeoTIFF, tendo o mesmo tamanho e forma que a imagem observada (210), de modo que os pixels classificados do mapa de nuvem (210) correspondam a pixels posicionados de forma semelhante na imagem observada (210).[0030] The CMG module (112) generates a cloud map. Figure 2B and Figure 2C illustrate two layers of a cloud map, according to an exemplary embodiment. To generate the cloud map (220), the CMG module (112) determines a classification for each pixel in the observed image (210). Figure 2B illustrates a first layer of the cloud map (e.g. cloud map (220B)) showing groups of pixels (230B) classified as clouds, and Figure 2C illustrates a second layer of the cloud map (e.g. map (220C)) illustrating groups of pixels (230C) classified as shadows. Notably, the cloud map is an image of the same type as the input, such as a GeoTIFF image, having the same size and shape as the observed image (210), so the sorted pixels of the cloud map (210) correspond to similarly positioned pixels in the observed image (210).
[0031] Existem vários benefícios deste sistema para produtores e agrônomos. Por exemplo, um mapa de nuvem pode ser aplicado a vários projetos a jusante. Os exemplos incluem previsão de produção, classificação do tipo de cultura e saúde da cultura. Nessas aplicações, o objetivo é eliminar pixels não informativos relacionados a nuvem e sombra, focando, assim, nas informações de campo.[0031] There are several benefits of this system for producers and agronomists. For example, a cloud map can be applied to multiple downstream projects. Examples include yield forecasting, crop type classification, and crop health. In these applications, the objective is to eliminate non-informative pixels related to cloud and shadow, thus focusing on field information.
[0032] Para ilustrar, por exemplo, um gerente de campo pode desejar prever um rendimento para seu campo agrícola usando uma imagem observada. Se a imagem observada incluir pixels que representam nuvens e sombras, o modelo que prevê o rendimento do campo agrícola pode gerar resultados errôneos. Isso pode ser causado por as nuvens e sombras afetarem adversamente a detecção de áreas saudáveis e não saudáveis de matéria vegetal no campo. Como tal, o mapa de nuvem pode ser usado como uma máscara para a imagem observada. Em outras palavras, pixels que são identificados como nuvens ou sombras podem ser removidos de uma imagem observada antes de usar a imagem observada para gerar uma previsão de rendimento para o campo agrícola. Mascarar os pixels de nuvem e sombra da imagem observada aumenta a robustez do modelo de previsão de rendimento.[0032] To illustrate, for example, a field manager may wish to predict a yield for his agricultural field using an observed image. If the observed image includes pixels that represent clouds and shadows, the model that predicts the yield of the agricultural field can generate erroneous results. This can be caused by clouds and shadows adversely affecting the detection of healthy and unhealthy areas of plant matter in the field. As such, the cloud map can be used as a mask for the observed image. In other words, pixels that are identified as clouds or shadows can be removed from an observed image before using the observed image to generate a yield prediction for the agricultural field. Masking the cloud and shadow pixels of the observed image increases the robustness of the yield prediction model.
[0033] Em geral, os dados coletados são processados para derivar valores que podem conduzir funções como visualização, relatórios, tomada de decisão e outras análises. As funções criadas podem ser compartilhadas e/ou distribuídas para usuários e assinantes autorizados. A modelagem e análise de dados podem incluir um ou mais programas de aplicativos configurados para extrair dados brutos que são armazenados no repositório de dados e processar esses dados para atingir a função desejada. Será entendido por aqueles versados na técnica que as funções dos programas de aplicação, conforme descrito no presente documento, podem ser implementadas por meio de uma pluralidade de programas ou módulos de programa separados configurados para comunicar e cooperar uns com os outros para alcançar os resultados funcionais desejados.[0033] In general, the collected data are processed to derive values that can drive functions such as visualization, reporting, decision making and other analyses. Created roles can be shared and/or distributed to authorized users and subscribers. Data modeling and analysis can include one or more application programs configured to extract raw data that is stored in the data repository and process that data to achieve the desired function. It will be understood by those skilled in the art that the functions of application programs as described herein may be implemented by means of a plurality of programs or separate program modules configured to communicate and cooperate with one another to achieve the functional results. desired.
[0034] Em uma modalidade, a modelagem e a análise de dados podem ser configuradas ou programadas para pré-processar dados que são recebidos pelo repositório de dados de múltiplas fontes de dados. Os dados recebidos podem ser pré-processados com técnicas para remoção de ruído e efeitos de distorção, remoção de dados desnecessários que distorcem outros dados, filtragem, seleção de dados de suavização de dados, calibração de dados e contabilização de erros. Todas essas técnicas devem ser aplicadas para melhorar o conjunto geral de dados.[0034] In one embodiment, data modeling and analysis can be configured or programmed to pre-process data that is received by the data repository from multiple data sources. Incoming data can be preprocessed with techniques for removing noise and distortion effects, removing unnecessary data that distorts other data, filtering, data smoothing data selection, data calibration, and error accounting. All of these techniques must be applied to improve the overall data set.
[0035] Em uma modalidade, a modelagem e a análise de dados geram um ou mais modelos agronômicos pré-configurados usando dados fornecidos por uma ou mais das fontes de dados e que são ingeridos e armazenados no repositório de dados. A modelagem e a análise de dados podem compreender um algoritmo ou um conjunto de instituições para programar diferentes elementos de um sistema de agricultura de precisão. Modelos agronômicos podem compreender fatores agronômicos calculados derivados das fontes de dados que podem ser usados para estimar parâmetros agrícolas específicos. Além disso, os modelos agronômicos podem conter recomendações baseadas nesses parâmetros agrícolas. Além disso, a modelagem e a análise de dados podem compreender modelos agronômicos criados especificamente para compartilhamento de dados externos que são de interesse de terceiros.[0035] In one embodiment, modeling and data analysis generate one or more pre-configured agronomic models using data provided by one or more of the data sources and which are ingested and stored in the data repository. Modeling and data analysis may comprise an algorithm or a set of institutions to program different elements of a precision agriculture system. Agronomic models can comprise calculated agronomic factors derived from data sources that can be used to estimate specific agricultural parameters. In addition, agronomic models may contain recommendations based on these agricultural parameters. In addition, data modeling and analysis can comprise agronomic models created specifically for sharing external data that is of interest to third parties.
[0036] Em uma modalidade, a modelagem e a análise de dados podem gerar modelos de previsão. Os modelos de previsão podem compreender uma ou mais funções matemáticas e um conjunto de pesos, coeficientes, valores críticos aprendidos ou quaisquer outros parâmetros numéricos ou categóricos semelhantes que, juntos, convertem os dados em uma estimativa. Estas também podem ser referidas como “equações de calibração” por conveniência. Dependendo da modalidade, cada uma dessas equações de calibrações pode referir-se à equação para determinar a contribuição de um tipo de dados ou algum outro arranjo de equações pode ser usado.[0036] In one embodiment, modeling and data analysis can generate predictive models. Forecasting models can comprise one or more mathematical functions and a set of weights, coefficients, learned critical values, or any other similar numerical or categorical parameters that together convert the data into an estimate. These may also be referred to as “calibration equations” for convenience. Depending on the modality, each of these calibration equations can refer to the equation to determine the contribution of a data type, or some other arrangement of equations can be used.
[0037] O módulo de CMG (112) gera um mapa de nuvem em dois estágios: (i) segmentação de imagem não supervisionada de uma imagem observada e (ii) classificação supervisionada em segmentos determinados a partir da imagem observada. Em um exemplo, o módulo de CMG (112) usa um junção de percepções de múltiplas camadas para classificar os segmentos como “nuvem”, “sombra” ou “campo”.[0037] The CMG module (112) generates a cloud map in two stages: (i) unsupervised image segmentation of an observed image and (ii) supervised classification into segments determined from the observed image. In one example, the CMG module (112) uses a multi-layered perception join to classify the segments as “cloud”, “shadow”, or “field”.
[0038] O módulo de CMG (112) realiza segmentação de imagem não supervisionada em uma imagem observada. A segmentação da imagem observada resulta em uma matriz de superpixels que representam a imagem observada (“imagem segmentada”). O módulo de CMG (112) pode empregar um modelo de segmentação (114) para realizar a segmentação na imagem observada. Em um exemplo, o modelo de segmentação (114) é um algoritmo de agrupamento iterativo linear simples (SLIC), mas poderia ser outros modelos. A segmentação de imagem agrupa pixels em uma imagem com propriedades homogêneas (por exemplo, cor) para formar um superpixel. Neste processo, o módulo de CMG (112) gera superpixels agrupando pixels em uma imagem observada em um número “n” de regiões homogêneas (“agrupamentos”).[0038] The CMG module (112) performs unsupervised image segmentation on an observed image. Segmentation of the observed image results in a matrix of superpixels representing the observed image (“segmented image”). The CMG module (112) can employ a segmentation model (114) to perform segmentation on the observed image. In one example, the segmentation model (114) is a simple linear iterative clustering algorithm (SLIC), but could be other models. Image segmentation groups pixels in an image with homogeneous properties (for example, color) to form a superpixel. In this process, the CMG module (112) generates superpixels by grouping pixels in an observed image into a number “n” of homogeneous regions (“clusters”).
[0039] Ao gerar agrupamentos, o módulo de CMG (112) utiliza uma métrica de distância para determinar a similaridade entre dois pixels em um plano multidimensional. A similaridade é baseada nos valores de RGB, REDEDGE (se disponível), valores da banda NIR e suas respectivas localizações de coordenadas espaciais. Em um exemplo, a métrica de distância é a distância euclidiana, mas pode ser outra métrica de distância. Para ilustrar, o módulo de CMG (112) determina que um pixel α é homogêneo ao pixel b se, e somente se, a métrica de distância (por exemplo, distância euclidiana) calculada entre α e b for a menor entre as métricas de distância calculadas entre α e todos os outros pixels b. O módulo de CMG determina que os pixels homogêneos são agrupamentos usando o procedimento de agrupamento K-means iterativo. O CMG gera “n” agrupamentos, em que “n” é determinado com base no comprimento da linha e comprimento da coluna da imagem observada. Por exemplo, o valor de “n” tem uma correlação positiva com um tamanho da imagem observada e, em algumas modalidades, é determinado pelo número total de pixels.[0039] When generating clusters, the CMG module (112) uses a distance metric to determine the similarity between two pixels in a multidimensional plane. Similarity is based on RGB values, REDEDGE (if available), NIR band values and their respective spatial coordinate locations. In one example, the distance metric is Euclidean distance, but it could be another distance metric. To illustrate, the CMG module (112) determines that a pixel α is homogeneous with pixel b if and only if the distance metric (e.g. Euclidean distance) calculated between α and b is the smallest among the calculated distance metrics between α and all other pixels b. The CMG module determines that the homogeneous pixels are clusters using the iterative K-means clustering procedure. The CMG generates “n” clusters, where “n” is determined based on the row length and column length of the observed image. For example, the value of “n” has a positive correlation with an observed image size and, in some embodiments, is determined by the total number of pixels.
[0040] Para ilustrar, a Figura 3 é um exemplo de imagem segmentada. A imagem segmentada (300) é uma imagem observada processada em segmentos pelo módulo de CMG (112). A imagem segmentada inclui vários segmentos (310), com cada segmento ilustrado como uma pequena forma geométrica. Cada segmento da imagem segmentada é um superpixel cujos pixels têm características semelhantes (por exemplo, cor, matiz etc.). Características semelhantes entre pixels em um superpixel podem indicar que os pixels representam uma nuvem, sombra e/ou campo.[0040] To illustrate, Figure 3 is an example of a segmented image. The segmented image (300) is an observed image processed into segments by the CMG module (112). The segmented image includes several segments (310), with each segment illustrated as a small geometric shape. Each segment of the segmented image is a superpixel whose pixels have similar characteristics (eg color, hue, etc.). Similar characteristics between pixels in a superpixel may indicate that the pixels represent a cloud, shadow, and/or field.
[0041] O módulo de CMG (112) gera uma classificação para cada segmento na imagem segmentada (300). Uma classificação é um tipo identificado para um segmento. Por exemplo, algumas classificações para segmentos na imagem observada podem incluir “nuvem” (por exemplo, segmento (310A)), “sombra” (por exemplo, segmento (310B)) e/ou “campo” (por exemplo, segmento (310C)). Em outras palavras, o módulo de CMG (112) identifica grupos de pixels em uma imagem observada que representa uma nuvem, uma sombra e/ou um campo.[0041] The CMG module (112) generates a classification for each segment in the segmented image (300). A classification is a type identified for a segment. For example, some classifications for segments in the observed image may include “cloud” (e.g. segment (310A)), “shadow” (e.g. segment (310B)), and/or “field” (e.g. segment (310C) )). In other words, the CMG module (112) identifies groups of pixels in an observed image that represent a cloud, a shadow and/or a field.
[0042] O módulo de CMG (112) determina, ou extrai, um conjunto de recursos para cada superpixel identificado. Um conjunto de recursos inclui qualquer informação que pode ser determinada e/ou derivada das informações RGB e/ou NIR incluídas nos pixels de um superpixel. Um conjunto de recursos pode incluir, mas não está limitado a, espaço de cores de matiz, saturação e intensidade (HSV), junto com XYZ e espaço de cores CaCICb. Um conjunto de recursos também pode incluir índices de vegetação, como Índice de Vegetação por Diferença Normalizada (NDVI), Razão Simples (SR), Índice de Clorofila Verde (CF verde) e Índice de Clorofila Terrestre Meris (MTCI) ou qualquer outra transformação linear ou não linear significativa do valor bruto do pixel. Algumas modalidades da etapa de segmentação também usariam recursos derivados. Em alguns casos, bandas adicionais podem ser usadas para determinar um conjunto de recursos. Por exemplo, uma banda RED EDGE pode ser usada se a imagem observada for uma imagem RAPIDEYE™. Além disso, um conjunto de recursos pode incluir informações regionais e de solo, bem como informações meteorológicas, como cobertura de nuvem média diária, precipitação média diária, irradiância normal média diária, umidade relativa média diária e radiação solar média diária.[0042] The CMG module (112) determines, or extracts, a set of resources for each identified superpixel. A resource set includes any information that can be determined and/or derived from the RGB and/or NIR information included in the pixels of a superpixel. A feature set can include, but is not limited to, Hue, Saturation, and Intensity (HSV) color space, along with XYZ and CaCICb color space. A feature set can also include vegetation indices such as Normalized Difference Vegetation Index (NDVI), Simple Ratio (SR), Green Chlorophyll Index (Green CF), and Meris Terrestrial Chlorophyll Index (MTCI) or any other linear transformation significant nonlinear or non-linear value of the raw pixel value. Some modalities of the segmentation step would also use derived features. In some cases, additional bands may be used to determine a feature set. For example, a RED EDGE band can be used if the observed image is a RAPIDEYE™ image. In addition, a resource set can include regional and soil information, as well as meteorological information, such as average daily cloud cover, average daily rainfall, average daily normal irradiance, average daily relative humidity, and average daily solar radiation.
[0043] O módulo de CMG (112) determina, ou extrai, um conjunto de recursos usando uma variedade de técnicas. Por exemplo, o módulo de CMG (112) realiza conversão/computação de espaço de cor para determinar recursos para um conjunto de recursos usando os dados RGB e NIR em imagens observadas. Para ilustrar, o módulo de CMG (112) converte a informação RGB de um superpixel em informação CaCICb para o mesmo superpixel. Em outro exemplo, o módulo de CMG (112) realiza análise estatística para determinar recursos específicos de superpixel para um conjunto de recursos. Para ilustrar, o módulo de CMG (112) calcula uma propriedade estatística particular para uma imagem inteira e a compara com a propriedade particular de um superpixel individual. O módulo de CMG (112) usa a diferença na propriedade particular do superpixel e a propriedade particular de uma imagem para determinar uma característica (por exemplo, contraste).[0043] The CMG module (112) determines, or extracts, a set of features using a variety of techniques. For example, the CMG module (112) performs color space computation/conversion to determine features for a set of features using the RGB and NIR data in observed images. To illustrate, the CMG module 112 converts RGB information from a superpixel to CaCICb information for the same superpixel. In another example, the CMG module (112) performs statistical analysis to determine specific superpixel features for a set of features. To illustrate, the CMG module 112 calculates a particular statistical property for an entire image and compares it to the particular property of an individual superpixel. The CMG module (112) uses the difference in the particular property of the superpixel and the particular property of an image to determine a characteristic (eg, contrast).
[0044] O módulo de CMG (112) determina uma classificação para cada superpixel usando RGB, NIR e/ou conjunto de recursos para cada superpixel. O módulo de CMG (112) emprega um modelo de classificação (116) para determinar uma classificação para cada superpixel. Em um exemplo, o modelo de classificação (116) é um modelo de classificação supervisionado. Alguns exemplos de modelos de classificação supervisionados podem incluir, mas não estão limitados a, perceptron de múltiplas camadas, redes neurais profundas ou métodos de junção. Dado qualquer um desses modelos, o módulo de CMG (112) aprende, sem ser explicitamente programado para fazer isso, como determinar uma classificação para um superpixel usando o conjunto de recursos para esse superpixel. Em várias modalidades, o modelo CMG (112) pode determinar uma classificação usando bandas (por exemplo, RGB, NIR, RED EDGE) para o superpixel. Além disso, o módulo de CMG (112) pode determinar uma classificação usando somas e razões entre as bandas.[0044] The CMG module (112) determines a classification for each superpixel using RGB, NIR and/or resource set for each superpixel. The CMG module (112) employs a classification model (116) to determine a classification for each superpixel. In one example, the classification model (116) is a supervised classification model. Some examples of supervised classification models may include, but are not limited to, multilayer perceptron, deep neural networks, or joining methods. Given any of these models, the CMG module 112 learns, without being explicitly programmed to do so, how to determine a rating for a superpixel using the feature set for that superpixel. In various embodiments, the CMG model (112) can determine a classification using bands (eg, RGB, NIR, RED EDGE) for the superpixel. Furthermore, the CMG module (112) can determine a rank using sums and ratios between bands.
[0045] Um fator que torna o sistema divulgado único é uma arquitetura específica para determinar uma classificação para cada superpixel. Em uma modalidade de exemplo, o módulo de CMG (112) emprega um modelo de classificação (116) com uma arquitetura, que pode incluir o conjunto de perceptrons de múltiplas camadas ou outros tipos de modelo, como árvores incrementadas de gradiente, projetados para precisar de pré- processamento mínimo de imagens observadas de entrada. Por exemplo, um módulo de CMG que emprega uma junção de perceptrons de múltiplas camadas tem a menor taxa de classificação incorreta entre os modelos de mascaramento de nuvem (por exemplo, 3,93%), enquanto um algoritmo tradicional como o XGBoost tem uma taxa de erro de 8,45% e uma rede neural convolucional tem um taxa de erro de 10,09%. Em outra modalidade de exemplo, o módulo de CMG (112) emprega um modelo de classificação (116) com uma arquitetura incluindo uma junção de perceptrons de múltiplas camadas e XGBoost. Nesse caso, pixels de cultura erroneamente classificados como nuvem ou sombra é de 3,39%.[0045] One factor that makes the disclosed system unique is a specific architecture to determine a rating for each superpixel. In an example embodiment, the CMG module (112) employs a classification model (116) with an architecture, which may include the set of multilayer perceptrons or other types of models, such as gradient-increased trees, designed to accurately minimal pre-processing of input observed images. For example, a CMG module employing a multilayer perceptron join has the lowest misclassification rate among cloud masking models (e.g. 3.93%), while a traditional algorithm like XGBoost has a error rate of 8.45% and a convolutional neural network has an error rate of 10.09%. In another exemplary embodiment, the CMG module (112) employs a classification model (116) with an architecture including a junction of multilayer perceptrons and XGBoost. In this case, crop pixels wrongly classified as cloud or shadow is 3.39%.
[0046] A Figura 4 é uma ilustração de uma junção de perceptrons de múltiplas camadas (“junção”) configurada para determinar uma classificação para cada superpixel em uma imagem observada. Em outra modalidade, uma junção de perceptrons de múltiplas camadas e XGBoost podem ser configurados para determinar uma classificação para cada superpixel em uma imagem observada. Esta combinação fornece uma boa visão geral das sombras. Em ainda outra modalidade, qualquer metodologia padrão para técnicas de aprendizagem supervisionada pode ser usada, como métodos baseados em árvore com gradiente aumentado, Classificadores de Floresta Aleatória, Máquinas de Vetor de Suporte, KNN, rede neural e assim por diante. A junção (400) determina uma classificação agregada (402) (por exemplo, “nuvem”) de um superpixel com base nas informações de banda e conjunto de recursos para esse superpixel. As informações da banda e o conjunto de recursos são entradas na junção como um vetor de entrada. Em um exemplo, a seleção de recursos é usada para selecionar os principais recursos, incluindo os valores usados para descrever os recursos no presente documento. Alguns dos valores incluem o seguinte: segment_R_mean, image_R_mean, segment_NDVI_mean, image_NDVI_mean, etc. No presente documento, recursos de “segment_” fornecem informações de cores/índices de vegetação dentro dos segmentos, e os recursos de “image_” fornecem informações com toda a gama da imagem.[0046] Figure 4 is an illustration of a multilayer perceptron junction (“junction”) configured to determine a rating for each superpixel in an observed image. In another embodiment, a junction of multilayer perceptrons and XGBoost can be configured to determine a classification for each superpixel in an observed image. This combination provides a good overview of shadows. In yet another embodiment, any standard methodology for supervised learning techniques can be used, such as tree-based methods with increased gradient, Random Forest Classifiers, Support Vector Machines, KNN, neural network and so on. The junction (400) determines an aggregate classification (402) (eg, "cloud") of a superpixel based on the bandwidth and feature set information for that superpixel. Band information and feature set are input to the junction as an input vector. In one example, feature selection is used to select key features, including the values used to describe features in this document. Some of the values include the following: segment_R_mean, image_R_mean, segment_NDVI_mean, image_NDVI_mean, etc. In the present document, “segment_” features provide information on color/vegetation indices within segments, and “image_” features provide information with the full range of the image.
[0047] A junção (400) inclui um número (por exemplo, 10, 20, 30, etc.) de perceptrons de múltiplas camadas (410) com cada perceptron de múltiplas camadas treinado para determinar individualmente uma classificação (412) do superpixel. Cada perceptron de múltiplas camadas (410) pode ser treinado individualmente para determinar uma classificação (412) para um superpixel em vez de cada perceptron de múltiplas camadas sendo clones de um único perceptron de multijogador treinado para determinar uma classificação para o superpixel. Em alguns exemplos, o número de perceptrons de múltiplas camadas (410) na junção (400) pode ser baseado no tipo de entrada de imagem observada no modelo de mascaramento de nuvem. Por exemplo, a junção pode incluir dez perceptrons de múltiplas camadas para imagens observadas RAPIDEYE™ e vinte perceptrons de múltiplas camadas para imagens observadas PLANETSCOPE™.[0047] The junction (400) includes a number (eg, 10, 20, 30, etc.) of multilayer perceptrons (410) with each multilayer perceptron trained to individually determine a classification (412) of the superpixel. Each multilayer perceptron (410) can be individually trained to determine a rating (412) for a superpixel instead of each multilayer perceptron being clones of a single multiplayer perceptron trained to determine a rating for the superpixel. In some examples, the number of multilayer perceptrons (410) at the junction (400) may be based on the type of image input observed in the cloud masking model. For example, the junction may include ten multilayer perceptrons for RAPIDEYE™ observed images and twenty multilayer perceptrons for PLANETSCOPE™ observed images.
[0048] Para determinar uma classificação para um superpixel, o módulo de CMG (112) introduz as informações de banda e o conjunto de recursos para o superpixel em cada perceptron de múltiplas camadas (410) da junção (400). Cada perceptron de múltiplas camadas (410) determina uma classificação (412) do superpixel. O módulo de CMG (112) determina que uma classificação agregada (402) para o superpixel é a classificação determinada pela pluralidade de perceptrons de múltiplas camadas. Outros métodos para determinar uma classificação de agregado (402) para um superpixel com base em classificações individuais (412) para esse superpixel determinado por perceptrons de múltiplas camadas em uma junção também são possíveis.[0048] To determine a rating for a superpixel, the CMG module (112) inputs the band information and feature set for the superpixel into each multilayer perceptron (410) of the junction (400). Each multilayer perceptron (410) determines a classification (412) of the superpixel. The CMG module (112) determines that an aggregate classification (402) for the superpixel is the classification determined by the plurality of multilayer perceptrons. Other methods for determining an aggregate rating (402) for a superpixel based on individual ratings (412) for that superpixel determined by multilayer perceptrons at a junction are also possible.
[0049] Outro fator que torna este método único é que o módulo de CMG (112) determina uma classificação para superpixels usando informações apenas das bandas RGB e NIR (e RED EDGE). Os métodos de mascaramento de nuvem existentes para aplicações agrícolas usam muitas bandas multiespectrais e NIR, que são úteis para detectar recursos de nuvens. Os satélites usados para fins agrícolas podem ter apenas quatro ou cinco bandas. O algoritmo nesses métodos trabalha com esse número limitado de bandas.[0049] Another factor that makes this method unique is that the CMG module (112) determines a classification for superpixels using information only from the RGB and NIR (and RED EDGE) bands. Existing cloud masking methods for agricultural applications use many multispectral and NIR bands, which are useful for detecting cloud features. Satellites used for agricultural purposes may only have four or five bands. The algorithm in these methods works with this limited number of bands.
[0050] A fim de treinar o modelo e determinar os valores para os parâmetros do modelo (ou seja, para as equações de calibração), certos dados podem ser coletados como entradas para treinar o modelo. O tipo de função de modelagem pode variar de acordo com a implementação. Em uma modalidade, técnicas de regressão, como ElasticNet, linear, logística ou de outra forma, podem ser usadas. Outras técnicas também podem ser usadas, exemplos das quais incluem Classificadores de Floresta Aleatória, Redes Neurais, Máquinas de Vetores de Suporte e assim por diante. Depois de treinado, o modelo de previsão resultante pode ser usado para prever um tipo específico de dados. Os conjuntos de dados de previsões versus padrões de desempenho são validados pegando os casos de teste e relacionando-os de volta aos verdadeiros valores de um modelo tradicional no esforço de validar se o modelo está funcionando. A validação envolve relacionar as previsões do modelo aos verdadeiros valores que foram coletados.[0050] In order to train the model and determine values for the model parameters (ie for the calibration equations), certain data can be collected as inputs to train the model. The type of modeling function may vary depending on the implementation. In one embodiment, regression techniques such as ElasticNet, linear, logistic or otherwise can be used. Other techniques can also be used, examples of which include Random Forest Classifiers, Neural Networks, Support Vector Machines, and so on. Once trained, the resulting prediction model can be used to predict a specific type of data. Datasets of predictions versus performance standards are validated by taking test cases and relating them back to the true values of a traditional model in an effort to validate that the model is working. Validation involves relating the model's predictions to the actual values that were collected.
[0051] A Figura 8 é uma visão geral de exemplo de ingestão de dados para um modelo de mascaramento de nuvem de junção baseado em MLP e XGBoost. As entradas de imagem (x,y,4) (801) são ingeridas no modelo. Nestes exemplos, as quatro bandas incluem bandas R. G, B e NIR. Uma abordagem de segmentação de imagem não supervisionada (por exemplo, algoritmo de agrupamento iterativo linear simples (SLIC)) é usada para segmentar uma determinada imagem em superpixels. Os pixels de nuvem/sombra/campo são geralmente bem divididos em diferentes segmentações devido à sua aparência diferente, mas não de forma consistente. Apenas segmentos de nuvem/sombra/campo puros são escolhidos para treinar o modelo.[0051] Figure 8 is an example data ingestion overview for a junction cloud masking model based on MLP and XGBoost. The image inputs (x,y,4) (801) are ingested into the model. In these examples, the four bands include R.G, B, and NIR bands. An unsupervised image segmentation approach (eg simple linear iterative clustering algorithm (SLIC)) is used to segment a given image into superpixels. Cloud/Shadow/Field pixels are generally well divided into different slices due to their different appearance, but not consistently. Only pure cloud/shadow/field segments are chosen to train the model.
[0052] Os conjuntos de recursos são extraídos de cada segmento ou superpixel (803). Os recursos de imagens são calculados que são úteis na diferenciação de nuvem/sombra/campo. Características da banda local dentro de cada segmento (por exemplo, média de R/G/B, razões entre R/G/B e vários índices de vegetação, como NDVI, EVI, etc.) são extraídos das diferentes bandas de cores e espaços de cores transformados (por exemplo, cor HSV, cor CICaCb, etc.). Os recursos globais de cores na imagem inteira, por exemplo, média da imagem inteira R/G/B, etc. também estão incluídos como recursos. Alguns dados meteorológicos específicos de campo incluem cobertura média de nuvens, irradiância normal média, etc. para incluí-los como recursos para a tarefa de classificação.[0052] Feature sets are extracted from each segment or superpixel (803). Image resources are calculated which are useful in cloud/shadow/field differentiation. Local band characteristics within each segment (e.g. R/G/B average, R/G/B ratios and various vegetation indices such as NDVI, EVI, etc.) are extracted from the different color bands and spaces of transformed colors (e.g. HSV color, CICaCb color, etc.). The overall color capabilities in the whole image, for example, R/G/B whole image average, etc. are also included as resources. Some field-specific meteorological data include average cloud cover, average normal irradiance, etc. to include them as resources for the classification task.
[0053] As características de cada segmento tornam- se, então, uma linha dos dados de treinamento. Uma abordagem de seleção de recursos (805) é usada para selecionar os principais recursos do modelo MLP, bem como para o modelo XGBoost. Outras técnicas de seleção de recursos também podem ser usadas, como, mas não se limitando a, eliminação recursiva de recursos, eliminação de limites ou correlação simples de Pearson.[0053] The characteristics of each segment then become a row of the training data. A feature selection approach (805) is used to select the main features of the MLP model as well as for the XGBoost model. Other feature selection techniques can also be used, such as, but not limited to, recursive feature elimination, boundary elimination, or simple Pearson correlation.
[0054] Para a etapa de aprendizagem supervisionada, os dados são alimentados no modelo de junção (806) de vários modelos MFP e XGBoost. Vários modelos MFP e XGBoost são treinados por um conjunto de dados subamostrado com distribuição de dados relativamente equilibrada, de modo que cada modelo tenha visto dados suficientes em cada classe. Cada modelo é treinado usando os recursos importantes selecionados usando a abordagem de seleção de recursos. Ao fazer previsões, as probabilidades de previsão para cada modelo são garantidas. A média das duas probabilidades do MFP e do modelo de árvore com gradiente ampliado são obtidas e, em seguida, a classe (807) apropriada para cada segmento é selecionada. Finalmente, a classe mais votada é retornada como a previsão final para aquele segmento (808). Uma máscara de nuvem/sombra (809) é então criada.[0054] For the supervised learning stage, the data is fed into the junction model (806) of several MFP and XGBoost models. Multiple MFP and XGBoost models are trained on a subsampled dataset with relatively even data distribution, so that each model has seen enough data in each class. Each model is trained using the important features selected using the feature selection approach. When making predictions, the prediction probabilities for each model are guaranteed. The average of the two probabilities of the MFP and the extended gradient tree model are obtained and then the appropriate class (807) for each segment is selected. Finally, the most voted class is returned as the final prediction for that segment (808). A cloud/shadow mask (809) is then created.
[0055] O módulo de CMG (112) treina um modelo de classificação (116) (por exemplo, um perceptron de múltiplas camadas) usando uma série de superpixels com uma classificação previamente determinada (“indicador”). Em um exemplo, um indicador é um superpixel com uma classificação determinada por um ser humano. Para ilustrar, os pixels de um superpixel são mostrados a um humano e o humano identifica os pixels do superpixel como nuvem, sombra ou campo. As informações de banda e o conjunto de recursos para o superpixel são associados à classificação e podem ser usados para treinar um modelo de classificação. Em outro exemplo, um indicador é um superpixel com uma classificação determinada por um modelo previamente treinado (“modelo anterior”). Para ilustrar, as informações de banda e o conjunto de recursos para um superpixel são inseridos em um modelo treinado para determinar uma classificação para o superpixel. Neste exemplo, o modelo anterior produz uma classificação e as informações de banda e o conjunto de recursos para o superpixel estão associados à classificação. As informações de banda e o conjunto de recursos para o superpixel são associados à classificação e podem ser usados para treinar outro modelo de classificação.[0055] The CMG module (112) trains a classification model (116) (eg, a multilayer perceptron) using a series of superpixels with a predetermined classification (“indicator”). In one example, an indicator is a superpixel with a rating determined by a human. To illustrate, the pixels of a superpixel are shown to a human and the human identifies the superpixel pixels as a cloud, shadow, or field. The bandwidth information and feature set for the superpixel is associated with the classification and can be used to train a classification model. In another example, an indicator is a superpixel with a rating determined by a previously trained model (“previous model”). To illustrate, the bandwidth information and feature set for a superpixel are fed into a trained model to determine a classification for the superpixel. In this example, the previous model produces a classification and the band information and feature set for the superpixel is associated with the classification. The bandwidth information and feature set for the superpixel is associated with the classification and can be used to train another classification model.
[0056] O módulo de CMG (112) treina o modelo de classificação (116) usando indicadores (por exemplo, imagens observadas previamente rotuladas). Cada indicador tem uma única classificação e está associado às informações da banda e ao conjunto de recursos para aquele indicador. O modelo de classificação (116) insere uma série de indicadores (por exemplo, 400.000) e determina que as informações latentes incluídas nas informações de banda e conjunto de recursos para os indicadores estão associadas a classificações específicas.[0056] The CMG module (112) trains the classification model (116) using indicators (eg, previously labeled observed images). Each indicator has a unique rating and is associated with the band information and feature set for that indicator. The classification model (116) enters a series of indicators (eg 400,000) and determines that the latent information included in the band and feature set information for the indicators is associated with specific classifications.
[0057] O módulo de CMG (112) pode avaliar a precisão e/ou exatidão de um modelo de classificação treinado (116) usando uma função de avaliação. Por exemplo, a função de avaliação pode determinar uma exatidão e precisão para o modelo de classificação treinado (116). A precisão é uma medida dos verdadeiros positivos em relação a todos os pontos de dados e a precisão é uma medida dos verdadeiros positivos em relação à combinação de verdadeiros positivos e falsos positivos. Em um exemplo, a função de avaliação determina que a precisão de um modelo de classificação treinado é de 99,5% ao usar um conjunto de imagens observadas de entrada (por exemplo, dados de imagem do PlanetScope).[0057] The CMG module (112) can evaluate the precision and/or accuracy of a trained classification model (116) using an evaluation function. For example, the evaluation function can determine an accuracy and precision for the trained classification model (116). Precision is a measure of true positives with respect to all data points and precision is a measure of true positives with respect to the combination of true positives and false positives. In one example, the evaluation function determines that the accuracy of a trained classification model is 99.5% when using a set of input observed images (eg, PlanetScope image data).
[0058] Alguns outros exemplos de uma função de avaliação são uma matriz de confusão ou uma matriz de erro. A saída da função de avaliação pode permitir a visualização do desempenho de um algoritmo de aprendizado de máquina. Em um exemplo, as matrizes de confusão e pontuações de avaliação usadas para avaliar modelos são baseadas na validação cruzada Leave-One-Farm-Out e estão no nível de pixel, embora outros mecanismos de agrupamento, por exemplo k-folds, possam ser usados. Na validação cruzada Leave-One-Farm-Out, as imagens observadas são divididas em um conjunto de treinamento e um conjunto de teste. O modelo de classificação é treinado no conjunto de treinamento e testado no conjunto de teste. Neste exemplo, as imagens observadas da mesma fazenda agrícola acabarão no conjunto de treinamento ou no conjunto de teste. Assim, no treinamento, o modelo de classificação nunca verá uma imagem observada do conjunto de teste, evitando o vazamento de informações e o treinamento impreciso. A Figura 9 ilustra uma matriz de confusão para nossa tarefa de mascaramento de nuvem. As linhas da matriz de confusão representam as instâncias das classes reais e as colunas representam as instâncias das classes previstas. As classes corretamente identificadas estão na diagonal da tabela. Por exemplo, na Figura 9 o número de pixels de cultura, nuvem e sombra identificados corretamente são 4,82E+08, 7,41E+07 e 1,33E+07, respectivamente. A partir de cada linha, também podemos calcular a porcentagem de pixels que são classificados incorretamente como outras classes. Por exemplo, a porcentagem de pixels de cultura detectados como nuvem ou sombra é de 3,4%, a porcentagem de pixels de nuvem detectados como cultura é de 10,6% e a porcentagem de pixels de sombra detectados como cultura é de 11,2%. Também podemos derivar a precisão para cada classe da matriz de confusão. Na classificação multiclasse, a precisão é a fração da classe prevista corretamente de todas as instâncias em que o algoritmo previu essa classe (correta e incorretamente). Nesse caso, a precisão de cultura, nuvem e sombra são 0,98, 0,85 e 0,63.[0058] Some other examples of an evaluation function are a confusion matrix or an error matrix. The output of the evaluation function can allow visualization of the performance of a machine learning algorithm. In one example, the confusion matrices and evaluation scores used to evaluate models are based on Leave-One-Farm-Out cross-validation and are at the pixel level, although other grouping mechanisms, e.g. k-folds, can be used. . In Leave-One-Farm-Out cross-validation, the observed images are divided into a training set and a test set. The classification model is trained on the training set and tested on the test set. In this example, observed images from the same agricultural farm will end up in either the training set or the test set. Thus, in training, the classification model will never see an observed image of the test set, preventing information leakage and inaccurate training. Figure 9 illustrates a confusion matrix for our cloud masking task. The rows of the confusion matrix represent the instances of the actual classes and the columns represent the instances of the predicted classes. The correctly identified classes are diagonally across the table. For example, in Figure 9 the number of correctly identified crop, cloud and shadow pixels are 4.82E+08, 7.41E+07 and 1.33E+07, respectively. From each row, we can also calculate the percentage of pixels that are misclassified as other classes. For example, the percentage of crop pixels detected as a cloud or shadow is 3.4%, the percentage of cloud pixels detected as a crop is 10.6%, and the percentage of shadow pixels detected as a crop is 11, two%. We can also derive the precision for each class from the confusion matrix. In multiclass classification, precision is the fraction of the correctly predicted class of all instances where the algorithm predicted that class (correctly and incorrectly). In this case, the precision of crop, cloud, and shadow are 0.98, 0.85, and 0.63.
[0059] A Figura 5 ilustra um processo para treinar um modelo de classificação, de acordo com uma modalidade de exemplo. Em uma modalidade de exemplo, o sistema de cliente (110) executa o processo (500). Em uma modalidade de exemplo, o módulo de CMG (112) emprega o modelo de classificação (por exemplo, modelo de classificação (116)) para determinar uma classificação para superpixels de uma imagem observada como “nuvem”, “sombra” ou “campo”.[0059] Figure 5 illustrates a process to train a classification model, according to an example modality. In an exemplary embodiment, the client system (110) executes the process (500). In one exemplary embodiment, the CMG module (112) employs the classification model (e.g., classification model (116)) to determine a classification for superpixels of an observed image as "cloud", "shadow", or "field". ”.
[0060] Um módulo de CMG (112) do sistema de cliente (110) segmenta, na etapa 510, uma imagem observada (por exemplo, imagem observada (210)) em uma imagem segmentada (por exemplo, imagem segmentada (300)) incluindo uma série de segmentos (por exemplo, segmentos (310)). Em um exemplo, o módulo de CMG (112) segmenta a imagem observada (210) com base na similaridade de cor RGB e distância de pixel na imagem observada (210). A segmentação resulta em pixels que representam nuvens, sombras e campos sendo agrupados em superpixels. Geralmente, apenas superpixels incluindo apenas pixels de nuvem, sombra ou campo são selecionados para treinar o modelo.[0060] A CMG module (112) of the client system (110) segments, in step 510, an observed image (e.g., observed image (210)) into a segmented image (e.g., segmented image (300)) including a series of segments (eg segments (310)). In one example, the CMG module (112) segments the observed image (210) based on RGB color similarity and pixel distance in the observed image (210). Segmentation results in pixels representing clouds, shadows and fields being grouped into superpixels. Generally, only superpixels including only cloud, shadow, or field pixels are selected to train the model.
[0061] O módulo de CMG (112) determina, na etapa (520), um conjunto de recursos para cada superpixel. O módulo de CMG (112) calcula vários recursos que podem diferenciar entre pixels que representam nuvens, sombras e campos. Esses recursos podem incluir recursos de cores locais dentro de cada superpixel (por exemplo, média de R/G/B e razões entre R/G/B), recursos de cores globais dentro da imagem completa para fornecer informações sobre o contraste entre os segmentos e sua imagem de origem (por exemplo, média da imagem completa R/G/B, etc.), espaços de cores transformados e índices de vegetação, cor HSV, cor LAB, NDVI, Índice de Vegetação Aprimorado (EVI), etc.; e o dia do ano em que a imagem é observada.[0061] The CMG module (112) determines, in step (520), a set of resources for each superpixel. The CMG module (112) calculates several features that can differentiate between pixels representing clouds, shadows and fields. These features can include local color features within each superpixel (e.g. R/G/B average and R/G/B ratios), global color features within the full image to provide information on the contrast between segments and its source image (eg average of full R/G/B image, etc.), transformed color spaces and vegetation indices, HSV color, LAB color, NDVI, Enhanced Vegetation Index (EVI), etc. ; and the day of the year the image is observed.
[0062] Um ator determina, na etapa (530), uma classificação para cada superpixel. O ator pode ser um ser humano ou um modelo de classificação previamente treinado.[0062] An actor determines, in step (530), a rating for each superpixel. The actor can be a human or a previously trained classification model.
[0063] O módulo de CMG (112) introduz, na etapa (540), os superpixels classificados em um perceptron de múltiplas camadas (por exemplo, perceptron de múltiplas camadas (410)) para treinar o perceptron de múltiplas camadas para identificar nuvens, sombras e campos com base nas informações de banda e conjunto de recursos para o superpixel. O módulo de CMG (112) pode orientar o treinamento com base em uma proporção do número de superpixels de nuvem, sombra e campo encontrados nos superpixels previamente classificados.[0063] The CMG module (112) introduces, in step (540), the superpixels classified into a multilayer perceptron (e.g., multilayer perceptron (410)) to train the multilayer perceptron to identify clouds, shadows and fields based on the bandwidth and feature set information for the superpixel. The CMG module (112) can guide training based on a proportion of the number of cloud, shadow and field superpixels found in the previously classified superpixels.
[0064] O módulo de CMG (112) avalia, na etapa (550), as capacidades do perceptron de múltiplas camadas treinado usando uma função de avaliação. A função de avaliação determina a exatidão e/ou precisão do perceptron de múltiplas camadas na determinação correta de uma classificação para um superpixel. Com base no resultado da função de avaliação, o perceptron de múltiplas camadas pode ser treinado posteriormente.[0064] The CMG module (112) evaluates, in step (550), the capabilities of the trained multilayer perceptron using an evaluation function. The evaluation function determines the accuracy and/or precision of the multilayer perceptron in correctly determining a classification for a superpixel. Based on the result of the evaluation function, the multilayer perceptron can be trained later.
[0065] A Figura 6 ilustra um processo para gerar um mapa de nuvem, de acordo com uma modalidade de exemplo. Em uma modalidade de exemplo, o sistema de cliente (110) executa o processo, na etapa (600), para gerar um mapa de nuvem (por exemplo, mapa de nuvem (220)).[0065] Figure 6 illustrates a process to generate a cloud map, according to an example modality. In an exemplary embodiment, the client system (110) performs the process, at step (600), for generating a cloud map (e.g., cloud map (220)).
[0066] O sistema de cliente (110) recebe, na etapa (610), uma solicitação para gerar o mapa de nuvem (por exemplo, mapa de nuvem (220)). O sistema de cliente (110) solicita, na etapa (620), uma imagem observada (por exemplo, imagem observada (210)) do sistema de rede (120) via rede (150). O sistema de cliente (110) recebe a imagem observada (210) do sistema de rede (120) em resposta. A imagem observada (210) é uma imagem de satélite de um campo agrícola obtida pelo sistema de observação (140). Em algumas modalidades, o sistema de cliente (110) solicita a imagem observada (210) do sistema de observação (140) e recebe a imagem observada (210) do sistema de observação (140) em resposta.[0066] The client system (110) receives, in step (610), a request to generate the cloud map (for example, cloud map (220)). The client system (110) requests, in step (620), an observed image (e.g., observed image (210)) of the network system (120) via the network (150). The client system (110) receives the observed image (210) from the network system (120) in response. The observed image (210) is a satellite image of an agricultural field obtained by the observation system (140). In some embodiments, the client system (110) requests the observed image (210) from the observation system (140) and receives the observed image (210) from the observation system (140) in response.
[0067] Um módulo de CMG (112) do sistema de cliente (110) segmenta, na etapa (630), a imagem observada (210) em superpixels com base nas informações de banda (por exemplo, RGB e NIR) para cada pixel na imagem observada (210). O módulo de CMG (112) pode empregar um modelo de segmentação (por exemplo, modelo de segmentação (114)) para segmentar a imagem observada. O módulo de CMG (112) determina um conjunto de recursos para cada um dos superpixels determinados.[0067] A CMG module (112) of the client system (110) segments, in step (630), the observed image (210) into superpixels based on band information (e.g. RGB and NIR) for each pixel in the observed image (210). The CMG module (112) may employ a segmentation model (eg segmentation model (114)) to segment the observed image. The CMG module (112) determines a feature set for each of the determined superpixels.
[0068] O módulo de CMG (112) introduz, na etapa (640), as informações de banda e o conjunto de recursos para cada superpixel em um modelo de classificação (por exemplo, modelo de classificação (116)). Em uma modalidade de exemplo, o modelo de classificação inclui um junção (por exemplo, conjunto (300)) de perceptrons de múltiplas camadas (por exemplo, perceptrons de múltiplas camadas (410)).[0068] The CMG module (112) introduces, in step (640), the bandwidth information and the resource set for each superpixel in a classification model (eg classification model (116)). In an exemplary embodiment, the classification model includes a junction (eg, set (300)) of multilayer perceptrons (eg, multilayer perceptrons (410)).
[0069] Para cada perceptron de múltiplas camadas, o módulo de CMG (112) determina, na etapa (650), uma classificação para cada superpixel (por exemplo, classificação (412)) com base nas informações de banda e conjunto de recursos para cada superpixel. A classificação pode ser “nuvem”, “sombra” ou “campo”.[0069] For each multilayer perceptron, the CMG module (112) determines, in step (650), a classification for each superpixel (e.g. classification (412)) based on the band and feature set information for each superpixel. The classification can be “cloud”, “shadow”, or “field”.
[0070] O módulo de CMG (112) determina, na etapa (660), uma classificação agregada (por exemplo, classificação agregada (402)) para cada superpixel com base nas classificações determinadas por cada um dos perceptrons de múltiplas camadas. Em um exemplo, o módulo de CMG (112) determina que a classificação agregada é a classificação determinada pela pluralidade dos perceptrons de múltiplas camadas e possivelmente a inclusão de outras metodologias de classificação, como XGBoost, por exemplo. O módulo de CMG (112) gera um mapa de nuvem usando as classificações agregadas. O mapa de nuvem é a imagem observada com cada pixel classificado com sua classificação agregada. O modelo de CMG (112) aplica, na etapa (670), a máscara de classificação a uma imagem desconhecida, a fim de obter o mapa de nuvem necessário para a imagem observada.[0070] The CMG module (112) determines, in step (660), an aggregate classification (eg aggregate classification (402)) for each superpixel based on the classifications determined by each of the multilayer perceptrons. In one example, the CMG module (112) determines that the aggregate classification is the classification determined by the plurality of multilayer perceptrons and possibly the inclusion of other classification methodologies, such as XGBoost, for example. The CMG module (112) generates a cloud map using the aggregated classifications. The cloud map is the observed image with each pixel classified with its aggregate classification. The CMG model (112) applies, in step (670), the classification mask to an unknown image, in order to obtain the necessary cloud map for the observed image.
[0071] Para criar uma máscara de nuvem, todos os pixels são definidos como zero na imagem original. Alguns pixels são subsequentemente identificados como nuvens e definidos como um e as sombras identificadas são definidas como dois. Uma máscara de nuvem é criada e colocada em cima da imagem original para extrair as informações desejadas.[0071] To create a cloud mask, all pixels are set to zero in the original image. Some pixels are subsequently identified as clouds and set to one, and shadows identified are set to two. A cloud mask is created and placed on top of the original image to extract the desired information.
[0072] Os pixels da nuvem distorcem os resultados adicionando altos valores de pixel, afetando, assim, as técnicas de imagem que utilizam todos os pixels. Os pixels de sombra diminuem a intensidade e podem afetar a forma como os dados são interpretados, mas não têm o grande efeito que os pixels de nuvem têm na média dos dados.[0072] Cloud pixels distort results by adding high pixel values, thus affecting imaging techniques that utilize all pixels. Shadow pixels decrease in intensity and can affect how the data is interpreted, but they do not have the big effect that cloud pixels have on the average of the data.
[0073] Quantitativamente, a remoção de pixels de nuvem e sombra permite que aplicativos que usam técnicas de imagem (por exemplo, saúde da cultura, previsão de produção e informações de colheita) gerem resultados mais precisos. Pixels que afetam os cálculos do produto são removidos e, portanto, não alteram drasticamente os resultados. Os produtores irão adquirir melhores informações para suas aplicações, o que auxilia na obtenção de melhores decisões agronômicas.[0073] Quantitatively, removing cloud and shadow pixels allows applications that use imaging techniques (eg, crop health, yield prediction, and harvest information) to generate more accurate results. Pixels that affect product calculations are removed and therefore do not drastically change the results. Growers will acquire better information for their applications, which helps them make better agronomic decisions.
[0074] Qualitativamente, a remoção de nuvens elimina pixels com valores extra altos que desviam a atenção de regiões de informações de campo valiosas. As altas intensidades de pixel criam uma escala de dados pobre, ocultando informações importantes e pequenos detalhes potencialmente opressores que podem ser perdidos por um produtor que visualiza um monitor. A remoção desses pixels de alto valor pode, em última análise, melhorar o processo de tomada de decisão. Se dados de alta qualidade forem inseridos em aplicativos que tratam da saúde da cultura ou de pragas, por exemplo, melhores decisões agronômicas podem ser tomadas.[0074] Qualitatively, cloud removal eliminates pixels with extra high values that distract attention from regions of valuable field information. High pixel intensities create poor data scaling, hiding important information and potentially overwhelming small details that can be missed by a producer viewing a monitor. Removing these high-value pixels can ultimately improve the decision-making process. If high-quality data is fed into applications that address crop health or pest health, for example, better agronomic decisions can be made.
[0075] A Figura 7 é um diagrama de blocos que ilustra os componentes de uma máquina de exemplo para ler e executar instruções a partir de um meio legível por máquina, tal como pode ser usado dentro de um sistema de computação. Especificamente, a Figura 6 mostra uma representação esquemática do sistema de rede (120) e do dispositivo de cliente (110) na forma de exemplo de um sistema de computador (700). O sistema de computador (700) pode ser usado para executar instruções (724) (por exemplo, código de programa ou software que pode estar na forma de um módulo) para fazer com que a máquina execute qualquer uma ou mais das metodologias (ou processos) aqui descritos. Em modalidades alternativas, a máquina opera como um dispositivo autônomo ou um dispositivo conectado (por exemplo, em rede) que se conecta a outras máquinas. Em uma implantação em rede, a máquina pode operar na capacidade de uma máquina servidor ou uma máquina cliente em um ambiente de sistema de cliente-servidor (100), ou como uma máquina ponto a ponto em um ambiente de sistema ponto a ponto (ou distribuído) (100).[0075] Figure 7 is a block diagram illustrating the components of an example machine for reading and executing instructions from a machine-readable medium, such as might be used within a computing system. Specifically, Figure 6 shows a schematic representation of the network system (120) and the client device (110) in the form of an example computer system (700). The computer system (700) may be used to execute instructions (724) (e.g., program code or software which may be in the form of a module) to cause the machine to perform any one or more of the methodologies (or processes) ) described here. In alternative embodiments, the machine operates as a standalone device or a connected (eg, networked) device that connects to other machines. In a network deployment, the machine may operate in the capacity of a server machine or a client machine in a client-server system environment (100), or as a peer-to-peer machine in a peer-to-peer system environment (or distributed) (100).
[0076] A máquina pode ser um computador servidor, um computador cliente, um computador pessoal (PC), um tablet PC, um decodificador (STB), um smartphone, um dispositivo de internet das coisas (IoT), um roteador, comutador ou ponte de rede, ou qualquer máquina capaz de executar instruções (724) (sequenciais ou não) que especificam ações a serem tomadas por aquela máquina. Além disso, embora apenas uma única máquina seja ilustrada, o termo “máquina” também deve ser considerado para incluir qualquer coleção de máquinas que individualmente ou em conjunto executam instruções (724) para executar qualquer uma ou mais das metodologias aqui discutidas.[0076] The machine can be a server computer, a client computer, a personal computer (PC), a tablet PC, a decoder (STB), a smartphone, an internet of things (IoT) device, a router, switch or network bridge, or any machine capable of executing instructions (724) (sequential or not) that specify actions to be taken by that machine. Furthermore, while only a single machine is illustrated, the term “machine” should also be considered to include any collection of machines that individually or together execute instructions (724) to execute any one or more of the methodologies discussed herein.
[0077] O exemplo de sistema de computador (700) inclui uma ou mais unidades de processamento (geralmente processador (702)). O processador (702) é, por exemplo, uma unidade de processamento central (CPU), uma unidade de processamento gráfico (GPU), um processador de sinal digital (DSP), um controlador, uma máquina de estado, um ou mais circuitos integrados de aplicação específica (ASICs), um ou mais circuitos integrados de radiofrequência (RFICs), ou qualquer combinação dos mesmos. O sistema de computador (700) também inclui uma memória principal (704). O sistema de computador pode incluir uma unidade de armazenamento (716). O processador (702), a memória (704) e a unidade de armazenamento (716) se comunicam por meio de um barramento (708).[0077] The example computer system (700) includes one or more processing units (usually processor (702)). The processor (702) is, for example, a central processing unit (CPU), a graphics processing unit (GPU), a digital signal processor (DSP), a controller, a state machine, one or more integrated circuits. Specific Applications (ASICs), one or more Radio Frequency Integrated Circuits (RFICs), or any combination thereof. The computer system (700) also includes main memory (704). The computer system may include a storage unit (716). The processor (702), memory (704) and storage unit (716) communicate via a bus (708).
[0078] Além disso, o sistema de computador (700) pode incluir uma memória estática (706), um monitor gráfico (710) (por exemplo, para acionar um painel de monitor de plasma (PDP), um monitor de cristal líquido (LCD) ou um projetor). O sistema de computador (700) também pode incluir dispositivo de entrada alfanumérico (712) (por exemplo, um teclado), um dispositivo de controle de cursor (714) (por exemplo, um mouse, um trackball, um joystick, um sensor de movimento ou outro instrumento apontador), um dispositivo de geração de sinal (718) (por exemplo, um alto-falante) e um dispositivo de interface de rede (720), que também são configurados para se comunicar através do barramento (708).[0078] In addition, the computer system (700) may include a static memory (706), a graphic display (710) (e.g. to drive a plasma display panel (PDP), a liquid crystal display ( LCD) or a projector). The computer system (700) may also include an alphanumeric input device (712) (e.g., a keyboard), a cursor control device (714) (e.g., a mouse, a trackball, a joystick, a motion or other pointing instrument), a signal generating device (718) (e.g., a speaker) and a network interface device (720), which are also configured to communicate over the bus (708).
[0079] A unidade de armazenamento (716) inclui um meio legível por máquina (722) no qual são armazenadas instruções (724) (por exemplo, software) que incorporam qualquer uma ou mais das metodologias ou funções descritas no presente documento. Por exemplo, as instruções (724) podem incluir as funcionalidades de módulos do dispositivo de cliente (110) ou sistema de rede (120) descrito na Figura 1. As instruções (724) também podem residir, completamente ou pelo menos parcialmente, dentro da memória principal (704) ou dentro do processador (702) (por exemplo, dentro de uma memória cache do processador) durante a sua execução pelo sistema de computador (700), a memória principal (704) e o processador (702) também constituindo meios legíveis por máquina. As instruções (724) podem ser transmitidas ou recebidas através de uma rede (726) (por exemplo, rede (120)) através do dispositivo de interface de rede (720).[0079] The storage unit (716) includes a machine-readable medium (722) on which instructions (724) (e.g., software) are stored that incorporate any one or more of the methodologies or functions described herein. For example, instructions (724) may include the functionality of modules of the client device (110) or network system (120) depicted in Figure 1. Instructions (724) may also reside, completely or at least partially, within the main memory (704) or within the processor (702) (e.g., within a processor cache memory) during its execution by the computer system (700), the main memory (704) and the processor (702) also constituting machine readable media. Instructions (724) may be transmitted or received over a network (726) (e.g., network (120)) via the network interface device (720).
[0080] Embora o meio legível por máquina (722) seja mostrado em uma modalidade de exemplo como um único meio, o termo “meio legível por máquina” deve ser considerado para incluir um único meio ou vários meios (por exemplo, um banco de dados centralizado ou distribuído, ou caches e servidores associados) capazes de armazenar as instruções (724). O termo “meio legível por máquina” também deve ser entendido como incluindo qualquer meio que seja capaz de armazenar instruções (724) para execução pela máquina e que faça com que a máquina execute qualquer uma ou mais das metodologias divulgadas no presente documento. O termo “meio legível por máquina” inclui, mas não está limitado a, repositórios de dados na forma de memórias de estado sólido, meios ópticos e meios magnéticos.[0080] Although the machine-readable medium (722) is shown in an example embodiment as a single medium, the term "machine-readable medium" should be considered to include a single medium or multiple media (e.g., a bank of centralized or distributed data, or associated caches and servers) capable of storing instructions (724). The term "machine readable medium" shall also be understood to include any medium that is capable of storing instructions (724) for execution by the machine and that causes the machine to execute any one or more of the methodologies disclosed herein. The term “machine-readable medium” includes, but is not limited to, data repositories in the form of solid-state memories, optical media, and magnetic media.
[0081] Embora vários exemplos e modalidades tenham sido mostrados e discutidos ao longo, a presente invenção contempla inúmeras variações, opções e alternativas.[0081] Although several examples and embodiments have been shown and discussed throughout, the present invention contemplates numerous variations, options and alternatives.
Claims (20)
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962801008P | 2019-02-04 | 2019-02-04 | |
US62/801,008 | 2019-02-04 | ||
PCT/CA2020/050101 WO2020160641A1 (en) | 2019-02-04 | 2020-01-28 | Shadow and cloud masking for remote sensing images in agriculture applications using multilayer perceptron |
Publications (1)
Publication Number | Publication Date |
---|---|
BR112021015232A2 true BR112021015232A2 (en) | 2021-09-28 |
Family
ID=71836554
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
BR112021015232-6A BR112021015232A2 (en) | 2019-02-04 | 2020-01-28 | SHADOW AND CLOUD MASKING FOR REMOTE SENSING IMAGES IN AGRICULTURE APPLICATIONS USING MULTI-LAYER PERCEPTRON |
Country Status (5)
Country | Link |
---|---|
US (1) | US11521380B2 (en) |
AU (1) | AU2020218573A1 (en) |
BR (1) | BR112021015232A2 (en) |
CA (1) | CA3125790A1 (en) |
WO (1) | WO2020160641A1 (en) |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110472525B (en) * | 2019-07-26 | 2021-05-07 | 浙江工业大学 | Noise detection method for time series remote sensing vegetation index |
CN112329818B (en) * | 2020-10-20 | 2023-07-07 | 南京信息工程大学 | Hyperspectral image non-supervision classification method based on graph convolution network embedded characterization |
CN112329790B (en) * | 2020-10-27 | 2024-01-23 | 厦门理工学院 | Quick extraction method for urban impervious surface information |
CN113222999B (en) * | 2021-04-14 | 2024-09-03 | 江苏省基础地理信息中心 | Remote sensing target segmentation and automatic stitching method based on voting mechanism |
CN113176211B (en) * | 2021-04-27 | 2023-03-14 | 中国科学院南海海洋研究所 | Day cloud detection method based on HSV color space model transformation |
CN113223097A (en) * | 2021-04-29 | 2021-08-06 | 武汉工程大学 | Image preprocessing method for improving density counting precision |
CN113870278A (en) * | 2021-08-24 | 2021-12-31 | 广州华农大智慧农业科技有限公司 | Improved Mask R-CNN model-based satellite remote sensing image farmland block segmentation method |
EP4144199A1 (en) | 2021-09-01 | 2023-03-08 | YARA International ASA | Method and system for providing a site-specific fertilizer recommendation |
CN114190213A (en) * | 2021-09-01 | 2022-03-18 | 南开大学 | A system and method for comprehensively controlling crop diseases and insect pests using sensors |
US12249045B2 (en) * | 2021-12-14 | 2025-03-11 | International Business Machines Corporation | Resolving obfuscated sections of an image with selectively captured new imagery |
CN114359120B (en) * | 2022-03-21 | 2022-06-21 | 深圳市华付信息技术有限公司 | Remote sensing image processing method, device, equipment and storage medium |
CN114943365B (en) * | 2022-04-11 | 2025-01-17 | 哈尔滨工业大学(深圳) | Method for establishing precipitation estimation model by integrating multi-source data and precipitation estimation method |
CN115410074B (en) * | 2022-07-19 | 2023-08-29 | 中国科学院空天信息创新研究院 | Remote sensing image cloud detection method and device |
CN115205689B (en) * | 2022-09-14 | 2022-11-18 | 北京数慧时空信息技术有限公司 | Improved unsupervised remote sensing image anomaly detection method |
US11663753B1 (en) * | 2022-11-16 | 2023-05-30 | Eos Data Analytics, Inc. | Generation of field productivity maps |
CN116245757B (en) * | 2023-02-08 | 2023-09-19 | 北京艾尔思时代科技有限公司 | Multi-scene universal remote sensing image cloud restoration method and system for multi-mode data |
CN116168244A (en) * | 2023-02-09 | 2023-05-26 | 中国林业科学研究院林业研究所 | Land utilization automatic classification method based on multi-source remote sensing data and cloud computing |
CN115861824B (en) * | 2023-02-23 | 2023-06-06 | 汕头大学 | Remote Sensing Image Recognition Method Based on Improved Transformer |
WO2025006041A1 (en) * | 2023-06-30 | 2025-01-02 | Purdue Research Foundation | Method for developing tissue-specific color chart |
CN117689964B (en) * | 2024-02-02 | 2024-05-03 | 湖南省第二测绘院 | Urban forest classification method and device based on multi-source images |
CN117848975B (en) * | 2024-03-07 | 2024-05-28 | 杨凌职业技术学院 | Agricultural remote sensing image analysis method and system |
CN117935068B (en) * | 2024-03-25 | 2024-05-24 | 中国平安财产保险股份有限公司四川分公司 | Crop disease analysis method and analysis system |
CN118446938B (en) * | 2024-07-08 | 2024-09-10 | 浙江国遥地理信息技术有限公司 | Shadow area restoration method and device for remote sensing image and electronic equipment |
CN119066481B (en) * | 2024-07-11 | 2025-04-22 | 中国地质大学(武汉) | A lithology classification model construction method and lithology classification method |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060018524A1 (en) * | 2004-07-15 | 2006-01-26 | Uc Tech | Computerized scheme for distinction between benign and malignant nodules in thoracic low-dose CT |
US9230168B2 (en) * | 2013-07-31 | 2016-01-05 | Digitalglobe, Inc. | Automatic generation of built-up layers from high resolution satellite image data |
US9721181B2 (en) * | 2015-12-07 | 2017-08-01 | The Climate Corporation | Cloud detection on remote sensing imagery |
ES2981562T3 (en) * | 2016-02-29 | 2024-10-09 | Urugus S A | System for planetary scale analysis |
WO2017177284A1 (en) * | 2016-04-15 | 2017-10-19 | University Of Southern Queensland | Methods, systems, and devices relating to shadow detection for real-time object identification |
US11116145B2 (en) * | 2018-03-30 | 2021-09-14 | Greensight Argonomics, Inc. | Automated optimization of agricultural treatments based on raster image data system |
US10902302B2 (en) * | 2018-04-23 | 2021-01-26 | International Business Machines Corporation | Stacked neural network framework in the internet of things |
WO2020160643A1 (en) * | 2019-02-06 | 2020-08-13 | Farmers Edge Inc. | Shadow and cloud masking for agriculture applications using convolutional neural networks |
-
2020
- 2020-01-28 BR BR112021015232-6A patent/BR112021015232A2/en unknown
- 2020-01-28 CA CA3125790A patent/CA3125790A1/en active Pending
- 2020-01-28 WO PCT/CA2020/050101 patent/WO2020160641A1/en active Application Filing
- 2020-01-28 AU AU2020218573A patent/AU2020218573A1/en not_active Abandoned
- 2020-02-03 US US16/780,778 patent/US11521380B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
CA3125790A1 (en) | 2020-08-13 |
AU2020218573A1 (en) | 2021-08-05 |
US11521380B2 (en) | 2022-12-06 |
US20200250428A1 (en) | 2020-08-06 |
WO2020160641A1 (en) | 2020-08-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11521380B2 (en) | Shadow and cloud masking for remote sensing images in agriculture applications using a multilayer perceptron | |
Xu et al. | Multispectral imaging and unmanned aerial systems for cotton plant phenotyping | |
BR112021015324A2 (en) | SHADOW AND CLOUD MASKING FOR AGRICULTURAL APPLICATIONS USING CONVOLUTIONAL NEURAL NETWORKS | |
Tan et al. | Use of UK-DMC 2 and ALOS PALSAR for studying the age of oil palm trees in southern peninsular Malaysia | |
Wang et al. | UAV-based remote sensing using visible and multispectral indices for the estimation of vegetation cover in an oasis of a desert | |
US11790410B2 (en) | System and method for natural capital measurement | |
Kroupi et al. | Deep convolutional neural networks for land-cover classification with Sentinel-2 images | |
Li et al. | High-throughput phenotyping analysis of maize at the seedling stage using end-to-end segmentation network | |
Ghasemi et al. | Assessment of different topographic correction methods in ALOS AVNIR-2 data over a forest area | |
Shete et al. | TasselGAN: An application of the generative adversarial model for creating field-based maize tassel data | |
Kozoderov et al. | A system for processing hyperspectral imagery: application to detecting forest species | |
CN110647932B (en) | A method and device for classifying remote sensing images of planted crop structure | |
Patel et al. | Deep learning-based plant organ segmentation and phenotyping of sorghum plants using LiDAR point cloud | |
Gonzalo-Martín et al. | Local optimal scale in a hierarchical segmentation method for satellite images: An OBIA approach for the agricultural landscape | |
Mirpulatov et al. | Pseudo-labeling approach for land cover classification through remote sensing observations with noisy labels | |
AU2015218184A1 (en) | Processing hyperspectral or multispectral image data | |
Carlier et al. | Wheat ear segmentation based on a multisensor system and superpixel classification | |
Song et al. | Multi-source remote sensing image classification based on two-channel densely connected convolutional networks. | |
Islam et al. | QuanCro: a novel framework for quantification of corn crops’ consistency under natural field conditions | |
Aguilar-Ariza et al. | UAV-based individual Chinese cabbage weight prediction using multi-temporal data | |
Mathivanan et al. | Simulating crop yield estimation and prediction through geospatial data for specific regional analysis | |
López et al. | Multi-Spectral Imaging for Weed Identification in Herbicides Testing | |
Wang et al. | Effective key parameter determination for an automatic approach to land cover classification based on multispectral remote sensing imagery | |
Li et al. | A image fusion and U-Net approach to improving crop planting structure multi-category classification in irrigated area | |
Chatterjee et al. | Understanding Cloud Systems’ Structure and Organization Using a Machine’s Self-Learning Approach |