BR112021006133A2 - técnicas de aprendizado de máquina para identificar nuvens e sombras de nuvem em imagística por satélite - Google Patents

técnicas de aprendizado de máquina para identificar nuvens e sombras de nuvem em imagística por satélite Download PDF

Info

Publication number
BR112021006133A2
BR112021006133A2 BR112021006133-9A BR112021006133A BR112021006133A2 BR 112021006133 A2 BR112021006133 A2 BR 112021006133A2 BR 112021006133 A BR112021006133 A BR 112021006133A BR 112021006133 A2 BR112021006133 A2 BR 112021006133A2
Authority
BR
Brazil
Prior art keywords
cloud
images
locations
pixels
machine learning
Prior art date
Application number
BR112021006133-9A
Other languages
English (en)
Inventor
Ying She
Pramithus KHADKA
Wei Guan
Xiaoyuan Yang
Demir Devecigil
Original Assignee
The Climate Corporation
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by The Climate Corporation filed Critical The Climate Corporation
Publication of BR112021006133A2 publication Critical patent/BR112021006133A2/pt

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/77Retouching; Inpainting; Scratch removal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/067Enterprise or organisation modelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/02Agriculture; Fishing; Forestry; Mining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/60Image enhancement or restoration using machine learning, e.g. neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/10Terrestrial scenes
    • G06V20/188Vegetation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10032Satellite or aerial image; Remote sensing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30181Earth observation
    • G06T2207/30188Vegetation; Agriculture

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Business, Economics & Management (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • General Engineering & Computer Science (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Economics (AREA)
  • Computational Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Marketing (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Algebra (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Computational Linguistics (AREA)
  • Marine Sciences & Fisheries (AREA)
  • Mining & Mineral Resources (AREA)
  • Game Theory and Decision Science (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)

Abstract

TÉCNICAS DE APRENDIZADO DE MÁQUINA PARA IDENTIFICAR NUVENS E SOMBRAS DE NUVEM EM IMAGÍSTICA POR SATÉLITE. São descritos neste documento sistemas e métodos para identificar nuvens e sombras de nuvem em imagística por satélite. Em uma modalidade, um sistema recebe várias imagens de campos agronômicos produzidas usando uma ou mais faixas de frequência. O sistema também recebe dados correspondentes identificando localizações de nuvem e de sombra de nuvem nas imagens. O sistema treina um sistema de aprendizado de máquina para identificar pelo menos localizações de nuvem usando as imagens como entradas e pelo menos dados identificando pixels como pixels de nuvem ou pixels que não são de nuvem como saídas. Quando o sistema recebe uma ou mais imagens particulares de um campo agronômico particular produzidas usando a uma ou mais faixas de frequências, o sistema utiliza a uma ou mais imagens particulares como entradas para o sistema de aprendizado de máquina para identificar vários pixels nas uma ou mais imagens particulares como localizações de nuvem particulares.

Description

Relatório Descritivo da Patente de Invenção para “TÉCNICAS DE APRENDIZADO DE MÁQUINA PARA IDENTIFICAR
NUVENS E SOMBRAS DE NUVEM EM IMAGÍSTICA POR SATÉLITE”. AVISO DE DIREITOS AUTORAIS
[001] Uma parte da divulgação deste documento de patente contém material que está sujeito à proteção de direitos autorais. O proprietário dos direitos autorais não tem objeto à reprodução fac-símile por qualquer pessoa do documento de patente ou da divulgação de patente, como ela aparece no arquivo de patentes ou nos registros do Patente and Trademark Office, mas, de outro modo, reserva todos os direitos autorais ou direitos, quaisquer que sejam. © 2015-2019 The Climate Corporation.
CAMPO DA DIVULGAÇÃO
[002] Um campo técnico da presente divulgação é classificação de imagem usando técnicas de aprendizado de máquina.
ANTECEDENTES
[003] As abordagens descritas nesta seção são abordagens que poderiam ser seguidas, mas não necessariamente abordagens que foram anteriormente concebidas ou seguidas. Portanto, a não ser que de outro modo indicado, não deve ser assumido que qualquer uma das abordagens descritas nesta seção seja qualificada como técnica anterior meramente em virtude de sua inclusão nesta seção.
[004] As imagens por satélite nos campos agronômicos podem ser extremamente úteis na modelagem agronômica. Por exemplo, vários modelos de produção agronômicos estimam o campo agronômico de um cultivo baseado nos valores de índice vegetativo que são derivados a partir das imagens por satélite. Assim, pode ser extremamente importante que as imagens de satélite de um campo sejam precisas à medida que mesmo ligeiras variações nos valores podem impactar negativamente a utilidade das imagens para propósitos de modelagem ou exibição.
[005] Em vários casos, nuvens na atmosfera parcialmente ou totalmente obscurecem a vista da superfície da Terra do sensor do satélite. As nuvens também podem formar nuvens no terreno onde menos luz do sol é refletida para o sensor. Tanto as nuvens como as sombras das nuvens podem negativamente impactar a utilidade de imagens contendo as nuvens e as sombras da nuvem. Por exemplo, um cálculo de um valor de índice vegetativo médio para um campo baseado em valores de pixel será impreciso se alguns dos pixels forem mais escuros devido às sombras de uma nuvem e outros pixels forem mais brilhantes devido á sobreposição de uma sombra.
[006] Assim, é imperativo em vários vasos que os sistemas estejam aptos a detectar nuvens e sombras de nuvem nas imagens de satélite. Técnicas de classificação têm sido desenvolvidas, as quais podem identificar nuvens e sombras de nuvem com precisão razoavelmente alta. Por exemplo, a Patente U.S 9.721.181, cujo conteúdo em sua totalidade é incorporado por referência como se totalmente descrito neste documento, descreve um processo com três etapas para identificar pixels de nuvens e de sombra de nuvem e utilizar os pixels identificados para criar uma máscara da nuvem e uma máscara da sombra de uma imagem de leitura remota.
[007] Geralmente, detectar limites da nuvem ou nuvens mais finas pode ser difícil devido à opacidade variável de pixels próximos da borda das nuvens ou nas nuvens mais finas. Assim, pixels que devem ser removidos ou mascarados em uma imagem podem ser pedidos.
[008] Assim, existe uma necessidade por um sistema que alavanque as informações com respeito aos pixels circundantes em uma imagem de modo a identificar pixels como nuvens ou como sombras de nuvem.
SUMÁRIO
[009] As reivindicações anexas podem servir como um sumário da divulgação.
BREVE DESCRIÇÃO DOS DESENHOS
[0010] Nos desenhos:
[0011] A FIGURA 1 ilustra um sistema de computador ilustrativo que é configurado para executar as funções descritas neste documento, apresentado em um ambiente de campo com outros aparelhos com os quais o sistema pode interoperar.
[0012] A FIGURA 2 ilustra duas vistas de uma organização lógica ilustrativa de conjuntos de instruções na memória principal quando um aplicativo móvel ilustrativo é carregado para execução.
[0013] A FIGURA 3 ilustra um processo programado pelo qual o sistema de computador de Inteligência agrícola gera um ou mais modelos agronômicos pré-configurados usando dados agronômicos proporcionados por uma ou mais fontes de dados.
[0014] A FIGURA 4 é um diagrama de blocos que ilustra um sistema de computador no qual uma modalidade da invenção pode ser implementada.
[0015] A FIGURA 5 representa uma modalidade ilustrativa de uma vista de linha de tempo para entrada de dados.
[0016] A FIGURA 6 representa uma modalidade ilustrativa de uma vista de planilha eletrônica para entrada de dados.
[0017] A FIGURA 7 representa um método ilustrativo para utilizar um sistema de aprendizado de máquina para identificar pixels em uma imagem como localizações de nuvem.
[0018] A FIGURA 8 representa um sistema de aprendizado de máquina com codificador / decodificador convolucional.
[0019] A FIGURA 9 representa um método para utilizar um primeiro sistema de aprendizado de máquina para identificar pixels em uma imagem como localizações de nuvem e um segundo sistema de aprendizado de máquina para identificar pixels em uma imagem como localizações de sombra de nuvem.
[0020] A FIGURA 10 representa várias imagens compreendendo localizações de sombra de nuvem geradas baseado em suposições variadas de ângulo de satélite e de altura de nuvem.
DESCRIÇÃO DETALHADA
[0021] Na descrição seguinte, para o propósito de explicação, vários detalhes específicos são expostos de modo a proporcionar um entendimento completo da presente divulgação. Entretanto, será aparente que modalidades podem ser praticadas sem estes detalhes específicos. Em outras instâncias, estruturas e dispositivos bem conhecidos são apresentados em forma de diagrama de blocos de modo a evitar desnecessariamente obscurecer a presente divulgação. Modalidades são divulgadas em seções de acordo com o seguinte esquema de tópicos:
1. VISTA GERAL
2. SISTEMA DE COMPUTADOR DE INTELIGÊNCIA AGRÍCOLA
ILUSTRATIVO
2.1. VISTA ESTRUTURAL
2.2. VISTA GERAL DE PROGRAMA APLICATIVO
2.3. INGESTÃO DE DADOS PARA O SISTEMA DE COMPUTADOR
2.4. VISTA GERAL DE PROCESSO – TREINAMENTO DE MODELO
AGRONÔMICO
2.5. EXEMPLO DE IMPLEMENTAÇÃO – VISTA GERAL DE
HARDWARE
3. SISTEMA DE DETECÇÃO DE NUVEM E DE SOMBRA DE NUVEM
3.1. DADOS RECEBIDOS
3.2. SISTEMA DE APRENDIZADO DE MÁQUINA DE
IDENTIFICAÇÃO DE NUVEM
3.3 SEGMENTAÇÃO DE NUVEM E DE SOMBRA DE NUVEM
4. SUBSTITUINDO PIXELS DE NUVEM IDENTIFICADOS
5. MODELAGEM AGRONÔMICA
6. EXIBIÇÃO DE MAPA AGRONÔMICO
7. BENEFÍCIOS DE ALGUMAS MODALIDADES
1. VISTA GERAL
[0022] São descritos sistemas e métodos para utilizar um sistema de aprendizado de máquina que alavanca informações com respeito á classificação de pixels circundantes para identificar nuvem e sombras de nuvem em uma imagem. Em uma modalidade, um sistema recebe várias imagens de campos agronômicos bem como dados identificando pixels como nuvens ou sombras de nuvem nas imagens. O sistema treina um sistema de aprendizado de máquina, tal como um codificador / decodificador convolucional, usando as imagens como entradas e os dados identificando pixels como nuvens como saídas. Quando o sistema recebe uma imagem de qualquer campo agronômico, o sistema utiliza o sistema de aprendizado de máquina, o qual foi treinado para classificar pixels baseado nos valores de pixel circundante, para identificar pixels na imagem como pixels de nuvem ou pixels que não são de nuvem. Em uma modalidade, o sistema adicionalmente utiliza técnicas geométricas para identificar localizações candidatadas à sombra de nuvem nos dados de treinamento e treina um segundo sistema de aprendizado de máquina para identificar pixels de sombra de nuvem usando as imagens e as localizações candidatadas a sombra de nuvem como entradas e dados identificando pixels como pixels de sombra de nuvem como saídas.
[0023] Em uma modalidade, um método implementado por computador compreende receber várias imagens de campos agronômicos produzidas usando uma ou mais faixas de frequências; receber dados correspondentes identificando localizações de nuvem e de sombra de nuvem nas imagens; treinar um sistema de aprendizado de máquina para identificar pelo menos localizações de nuvem usando as imagens como entradas e pelo menos dados identificando pixels como pixels de nuvem ou pixels que não são de nuvem como saídas; receber uma ou mais imagens particulares de um campo agronômico particular produzidas usando a uma ou mais faixas de frequências; utilizar a uma ou mais imagens particulares como entradas para o sistema de aprendizado de máquina, identificando vários pixels na uma ou mais imagens particulares como localizações particulares de nuvem.
[0024] Em uma modalidade, um método implementado por computador compreende receber várias imagens de campos agronômicos produzidas usando uma ou mais faixas de frequências; receber dados correspondentes identificando localizações de nuvem e de sombra de nuvem nas imagens; treinar um primeiro sistema de aprendizado de máquina para identificar localizações de nuvem usando as imagens como entradas e dados identificando pixels como pixels de nuvem ou pixels que não são de nuvem como saídas; utilizar os dados identificando localizações de nuvem, identificando várias localizações candidatas a sombra de nuvem; treinar um segundo sistema de aprendizado de máquina para identificar localizações de sombra de nuvem usando as imagens e as localizações candidatas a sombra de nuvem como entradas e dados identificando pixels como pixels de sombra de nuvem ou pixels que não são sombra de nuvem como saídas; receber uma ou mais imagens particulares de um campo agronômico particular produzidas usando uma ou mais faixas de frequências; utilizar a uma ou mais imagens particulares como entradas para o primeiro sistema de aprendizado de máquina, identificando vários pixels na uma ou mais imagens particulares como localizações particulares de nuvem; utilizar as localizações particulares de nuvem, identificando várias localizações particulares candidatadas a sombra de nuvem; utilizar a uma ou mais imagens particulares e as várias localizações particulares candidatas a sombra de nuvem como entradas para o segundo sistema de aprendizado de máquina, identificando vários pixels na uma ou mais imagens particulares como localizações particulares de sombra de nuvem.
2. SISTEMA DE COMPUTADOR DE INTELIGÊNCIA AGRÍCOLA
ILUSTRATIVO
2.1 VISTA GERAL ESTRUTURAL
[0025] A FIGURA 1 ilustra um sistema de computador ilustrativo que é configurado para executar as funções descritas neste documento, apresentado em um ambiente de campo com outro aparelho com o qual o sistema pode interoperar. Em uma modalidade, um usuário 102 possui, opera ou controla um dispositivo de computação gerenciador de campo 104 em uma localização de campo ou associado a uma localização de campo, tal como um campo destinado a atividades agrícolas ou uma localização de gerenciamento para um ou mais campos agrícolas. O dispositivo de computação gerenciador de campo 104 é programado ou configurado para proporcionar dados de campo 106 para um veículo ou um sistema de computador de inteligência agrícola 130 via uma ou mais redes 109.
[0026] Exemplos de dados de campo 106 incluem (a) dados de identificação (por exemplo, área cultivada, nome de campo, identificadores de campo, identificadores geográficos, identificadores de fronteira, identificadores de plantação e quaisquer outros dados adequados que podem ser utilizados para identificar terras agrícolas, tal como uma unidade de terra comum (CLU), um número de lote e de bloco, um número de terreno, coordenadas e fronteiras geográficas, Número Serial de Propriedade Agrícola (FSN), número da propriedade agrícola, número do trato, número do campo, seção, município e/ou distância), (b) dados de colheita (por exemplo, tipo de plantação,
variedade de plantação, rotação de plantação, se a plantação é cultivada organicamente, data de colheita, Histórico de Produção Real (APH), rendimento esperado, rendimento, preço da plantação, receita da plantação, umidade do grão, prática de cultivo e informação da estação de crescimento anterior), (c) dados do solo (por exemplo, tipo, composição, pH, matéria orgânica (OM), capacidade de troca catiônica (CEC)), (d) dados de plantio (por exemplo, data de plantio, tipo de semente (s), maturidade relativa (RM) de semente (s) plantada, população de sementes), (e) dados de fertilizantes (por exemplo, tipo de nutriente (Nitrogênio, Fósforo, Potássio), tipo de aplicação, data de aplicação, quantidade, fonte, método), (f) dados de aplicação química (por exemplo, pesticida, herbicida, fungicida, outra substância ou mistura de substâncias pretendidas para utilização como um regulador vegetal, desfolhante ou dessecante, data de aplicação, quantidade, fonte, método), (g) dados de irrigação (por exemplo, data de aplicação, quantidade, fonte, método), (h) dados meteorológicos (por exemplo, precipitação, taxa de precipitação pluviométrica, precipitação pluviométrica prevista, região da taxa de escoamento da água, temperatura, vento, previsão, pressão, visibilidade, nuvens, índice de calor, ponto de orvalho, umidade, profundidade da neve, qualidade do ar, nascer do sol, pôr do sol), (i) dados de imagística (por exemplo, imagística e informações do espectro de luz a partir de um veículo ou de um sensor de um aparelho agrícola, câmera, computador, smartphone, tablet, veículo aéreo não tripulado, aviões ou satélite), (j) observações de reconhecimento (fotos, vídeos, notas irregulares, gravações de voz, transcrições de voz, condições climáticas (temperatura, precipitação (atual e ao longo do tempo), umidade do solo, estágio de crescimento da plantação, velocidade do vento, umidade relativa, ponto de orvalho, camada preta)) e (k) solo, sementes, fenologia de plantação, relatórios de pragas e de doenças e fontes e bancos de dados de previsões.
[0027] Um computador servidor de dados 108 está acoplado comunicativamente ao sistema de computador de inteligência agrícola 130 e é programado ou configurado para enviar dados externos 110 para o sistema de computador de inteligência agrícola 130 via a rede (s)
109. O computador servidor de dados externo 108 pode ser possuído ou operado pela mesma pessoa jurídica ou entidade que o sistema de computador de inteligência agrícola 130, ou por uma pessoa ou entidade diferente, tal como uma agência governamental, organização não governamental (ONG) e/ou um provedor de serviços de dados privado. Exemplos de dados externos incluem dados meteorológicos, dados de imagística, dados do solo ou dados estatísticos relativos à produtividade das plantações, dentre outros. Os dados externos 110 podem consistir em mesmo tipo de informação de que os dados de campo 106. Em algumas modalidades, os dados externos 110 são proporcionados por um servidor de dados externo 108 possuído pela mesma entidade que possui e/ou opera o sistema de computador de inteligência agrícola 130. Por exemplo, o sistema de computador de inteligência agrícola 130 pode incluir um servidor de dados focado exclusivamente em um tipo de dados que, de outra forma, poderia ser obtido a partir de fontes de terceiros, tal como dados meteorológicos. Em algumas modalidades, um servidor de dados externo 108 pode realmente ser incorporado dentro do sistema 130.
[0028] Um aparelho agrícola 111 pode possuir um ou mais sensores remotos 112 fixados no mesmo, sensores estes que são acoplados comunicativamente diretamente ou indiretamente via o aparelho agrícola 111 ao sistema de computador de inteligência agrícola 130 e são programados ou configurados para enviar dados de sensor para o sistema de computador de inteligência agrícola 130. Exemplos de aparelhos agrícolas 111 incluem tratores, ceifeiro-debulhadora,
colheitadeiras, plantadeiras, caminhões, equipamentos de fertilizantes, veículos aéreos, incluindo veículos aéreos não tripulados e qualquer outro item de maquinário ou hardware físico, tipicamente maquinário móvel, o qual que pode ser utilizado em tarefas associadas à agricultura. Em algumas modalidades, uma única unidade do aparelho 111 pode compreender vários sensores 112 que são acoplados localmente em uma rede no aparelho; a rede de área do controlador (CAN) é um exemplo de tal rede que pode ser instalada em ceifeira-debulhadoras, colheitadeiras, pulverizadores e cultivadores. O controlador de aplicativo 114 é acoplado comunicativamente ao sistema de computador de inteligência agrícola 130 via a rede (s) 109 e é programado ou configurado para receber um ou mais scripts que são utilizados para controlar um parâmetro operacional de um veículo ou máquina agrícola a partir do sistema de computador de inteligência agrícola 130. Por exemplo, uma interface de barramento de rede de área de controlador (CAN) pode ser utilizada para permitir comunicações a partir do sistema de computador de inteligência agrícola 130 para o aparelho agrícola 111, tal como o CLIMATE FIELD VIEW DRIVE, disponível a partir da The Climate Corporation, São Francisco, Califórnia, é utilizado. Os dados do sensor podem consistir em mesmo tipo de informação do que os dados de campo 106. Em algumas modalidades, os sensores remotos 112 podem não ser fixados a um aparelho agrícola 111, mas podem estar localizados remotamente no campo e podem se comunicar com a rede 109.
[0029] O aparelho 111 pode compreender um computador de cabina 115 que é programado com um aplicativo da cabine, o qual pode compreender uma versão ou variante do aplicativo móvel para o dispositivo 104 que ainda é descrito em outras seções neste documento. Em uma modalidade, o computador da cabine 115 compreende um computador compacto, muitas vezes um computador do tamanho de um tablet ou smartphone, com um vídeo com tela gráfica, tal como um vídeo colorido, que é montado dentro da cabine de um operador do aparelho
111. O computador da cabine 115 pode implementar algumas ou todas as operações e funções que são descritas mais adiante neste documento para o dispositivo de computador móvel 104.
[0030] A(s) rede(s) 109 representa amplamente qualquer combinação de uma ou mais redes de comunicação de dados, incluindo redes locais, redes de longa distância, internetworks ou internets, usando qualquer link com ou sem uso de fios, incluindo links terrestres ou links via satélite. A(s) rede(s) pode ser implementada por qualquer meio ou mecanismo que proporcione a troca de dados entre os vários elementos da FIGURA 1. Os vários elementos da FIGURA 1 também podem possuir links de comunicação diretos (com ou sem uso de fios). Cada um dentre os sensores 112, o controlador 114, o computador servidor de dados externo 108 e outros elementos do sistema compreende uma interface compatível com a(s) rede(s) 109 e são programados ou configurados para utilizar protocolos padronizados para comunicação através das redes, tais como TCP / IP, Bluetooth, protocolo CAN e protocolos de camada superior, tais como HTTP, TLS e similares.
[0031] O sistema de computador de inteligência agrícola 130 é programado ou configurado para receber dados de campo 106 a partir do dispositivo de computação gerenciador de campo 104, dados externos 110 a partir do computador servidor de dados externos 108 e dados de sensor a partir do sensor remoto 112. O sistema de computador de inteligência agrícola 130 ainda pode ser configurado para hospedar, utilizar ou executar um ou mais programas de computador, outros elementos de software, lógica digitalmente programada, tal como FPGAs ou ASICs, ou qualquer combinação dos mesmos para executar tradução e armazenamento de valores de dados,
construção de modelos digitais de uma ou mais plantações em um ou mais campos, geração de recomendações e de notificações e geração e envio de scripts para o controlador de aplicativo 114, da maneira descrita adicionalmente em outras seções desta divulgação.
[0032] Em uma modalidade, o sistema de computador de inteligência agrícola 130 é programado com ou compreende uma camada de comunicação 132, a camada de apresentação 134, a camada de gerenciamento de dados 140, a camada de hardware / virtualização 150 e o repositório de modelos e de dados de campo 160. A "Camada", neste contexto, refere-se a qualquer combinação de circuitos eletrônicos de interface digital, microcontroladores, firmware, tais como controladores e/ou programas de computador ou outros elementos de software.
[0033] A camada de comunicação 132 pode ser programada ou configurada para executar funções realizando interface de entrada / saída, incluindo enviar solicitações para o dispositivo de computação gerenciador de campo 104, para o computador servidor de dados externos 108 e para o sensor remoto 112 para dados de campo, dados externos e dados do sensor, respectivamente. A camada de comunicação 132 pode ser programada ou configurada para enviar os dados recebidos para o repositório de modelos e de dados de campo 160 para serem armazenados como dados de campo 106.
[0034] A camada de apresentação 134 pode ser programada ou configurada para gerar uma interface gráfica com o usuário (GUI) para ser exibida no dispositivo de computação gerenciador de campo 104, no computador da cabine 115 ou em outros computadores que estão acoplados ao sistema 130 através da rede 109. A GUI pode compreender controles para inserir dados a serem enviados ao sistema de computador de inteligência agrícola 130, gerar solicitações para modelos e/ou recomendações e/ou exibir recomendações, notificações,
modelos e outros dados de campo.
[0035] A camada de gerenciamento de dados 140 pode ser programada ou configurada para gerenciar operações de leitura e de gravação envolvendo o repositório 160 e outros elementos funcionais do sistema, incluindo consultas e conjuntos de resultados comunicados entre os elementos funcionais do sistema e o repositório. Exemplos da camada de gerenciamento de dados 140 incluem JDBC, código de interface com o servidor SQL e/ou código de interface HADOOP, entre outros. O repositório 160 pode compreender um banco de dados. Conforme utilizado neste documento, o termo "banco de dados" pode se referir a um corpo de dados, um sistema de gerenciamento de banco de dados relacional (RDBMS) ou a ambos. Conforme utilizado neste documento, um banco de dados pode compreender qualquer coleção de dados, incluindo bancos de dados hierárquicos, bancos de dados relacionais, bancos de dados de arquivo simples, bancos de dados orientados a objeto - relacionais, bancos de dados orientados a objetos, bancos de dados distribuídos e qualquer outra coleção estruturada de registros ou dados armazenados em um sistema de computador. Exemplos de RDBMSs incluem, mas não estão limitados a incluir, Bancos de dados ORACLE®, MYSQL, IBM® DB2, MICROSOFT® SQL SERVER, SYBASE® e POSTGRESQL. Entretanto, qualquer banco de dados pode ser utilizado para permitir os sistemas e métodos descritos neste documento.
[0036] Quando os dados de campo 106 não são proporcionados diretamente ao sistema de computador de inteligência agrícola via uma ou mais máquinas agrícolas ou dispositivos de máquina agrícola que interagem com o sistema de computador de inteligência agrícola, o usuário pode ser solicitado via uma ou mais interfaces com o usuário no dispositivo do usuário (servido pelo sistema de computação de inteligência agrícola) a inserir tais informações. Em uma modalidade ilustrativa, o usuário pode especificar dados de identificação por acessar um mapa no dispositivo do usuário (servido pelo sistema de computador de inteligência agrícola) e selecionar CLUs específicas que foram apresentadas graficamente no mapa. Em uma modalidade alternativa, o usuário 102 pode especificar dados de identificação por acessar um mapa no dispositivo do usuário (servido pelo sistema de computador de inteligência agrícola 130) e desenhar os limites do campo sobre o mapa. Tal seleção CLU ou desenhos de mapa representam identificadores geográficos. Em modalidades alternativas, o usuário pode especificar dados de identificação por acessar dados de identificação de campo (proporcionados como arquivos de formato ou em um formato similar) da Agência de Serviços Agrícolas do Departamento de Agricultura dos EUA ou outra fonte via o dispositivo do usuário e proporcionando tais dados de identificação de campo para o sistema de computador de inteligência agrícola.
[0037] Em uma modalidade ilustrativa, o sistema de computador de inteligência agrícola 130 é programado para gerar e causar a exibição de uma interface gráfica com o usuário compreendendo um gerenciador de dados para entrada de dados. Depois de um ou mais campos terem sido identificados usando os métodos descritos acima, o gerenciador de dados pode proporcionar uma ou mais unidades de produto da interface gráfica com o usuário que, quando selecionadas, podem identificar alterações no campo, solo, plantações, lavoura ou prática de nutrientes. O gerenciador de dados pode incluir uma vista de linha do tempo, uma vista de planilha e/ou um ou mais programas editáveis.
[0038] A FIGURA 5 representa uma modalidade ilustrativa de uma vista de linha de tempo para entrada de dados. Usando a exibição representada na FIGURA 5, um computador do usuário pode informar uma seleção de um campo particular e uma data particular para a adição de evento. Eventos representados na parte de cima da linha de tempo podem incluir Nitrogen, Planting, Práctices e Soil. Para adicionar um evento de aplicação de nitrogênio, um usuário pode proporcionar informação para selecionar a aba de nitrogênio. O computador pode então selecionar uma localização na linha de tempo para um campo particular de modo a indicar uma aplicação de nitrogênio no campo selecionado. Em resposta a receber uma seleção de uma localização na linha de tempo para um campo particular, o gerenciador de dados pode exibir uma sobreposição de entrada de dados, permitindo ao computador do usuário informar dados pertencendo às aplicações de nitrogênio, procedimentos de plantio, aplicação no solo, procedimentos de cultivo, práticas de irrigação, ou outras informações se relacionando com o campo particular. Por exemplo, se um computador do usuário selecionar uma parte da linha de tempo e indicar uma aplicação de nitrogênio, então a sobreposição de entrada de dados pode incluir campos para informar uma quantidade aplicada de nitrogênio, uma data de aplicação, um tipo de fertilizante utilizado, e quaisquer outras informações relacionadas com a aplicação de nitrogênio.
[0039] Em uma modalidade, o gerenciador de dados proporciona uma interface para criar um ou mais programas. “Programas”, neste contexto, se referem a um conjunto de dados pertencendo às aplicações de nitrogênio, procedimentos de plantio, aplicações no solo, procedimentos de cultivo, práticas de irrigação, ou outras informações que podem estar relacionadas com um ou mais campos e que podem ser armazenadas no armazenamento de dados digitais para reutilização como um conjunto em outras operações. Após um programa ter sido criado, ele pode ser conceitualmente aplicado para um ou mais campos e referências ao programa podem ser armazenadas no armazenamento digital em associação com dados identificando o campo. Assim, ao invés de manualmente informar dados idênticos se relacionando com as mesmas aplicações de nitrogênio para vários campos diferentes, um computador do usuário pode criar um programa que indica uma aplicação de nitrogênio particular e então aplica o programa para vários diferentes campos. Por exemplo, na vista da linha de tempo da FIGURA 5, as duas linhas de tempo de cima possuem o programa “Spring applied” selecionado, o qual inclui uma aplicação de 150 lbs N/ac em abril passado. O gerenciador de dados pode proporcionar uma interface para editar um programa. Em uma modalidade, quando um programa particular é editado, cada campo que selecionou o programa particular é editado. Por exemplo, na FIGURA 5, se o programa “Spring applied” for editado para reduzir a aplicação de nitrogênio para 120 lbs N/ac, os dois campos de cima podem ser atualizados com uma aplicação reduzida de nitrogênio baseada no programa editado.
[0040] Em uma modalidade, em resposta a receber edições para um campo que possui um programa selecionado, o gerenciador de dados remove a correspondência do campo com o programa selecionado. Por exemplo, se uma aplicação de nitrogênio for adicionada para o campo de cima na FIGURA 5, a interface pode atualizar para indicar que o programa “Spring applied” não está sendo mais aplicado para o campo de cima. Embora a aplicação de nitrogênio em abril último possa permanecer, atualizações para o programa “Spring applied” não alterariam a aplicação de Abril de nitrogênio.
[0041] A FIGURA 6 representa uma modalidade ilustrativa de uma vista de planilha para entrada de dados. Usando a exibição representada na FIGURA 6, um usuário pode criar e editar informação para um ou mais campos. O gerenciador de dados pode incluir planilhas eletrônicas para entrar com informação com respeito a Nitrogen, Planting, Practices, e Soil como representado na FIGURA 6. Para editar uma entrada particular, um computador do usuário pode selecionar a entrada particular na planilha eletrônica e atualizar os valores. Por exemplo, a FIGURA 6 representa uma atualização em progresso de um valor de campo almejado para o segundo campo. Adicionalmente, um computador do usuário pode selecionar um ou mais campos de modo a aplicar um ou mais programas. Em resposta a receber uma seleção de um programa para um campo particular, o gerenciador de ados pode automaticamente completar as entradas para o campo particular baseado no programa selecionado. Como com a linha de tempo, o gerenciador de dados pode atualizar as entradas para cada campo associado com um programa particular em resposta a receber uma atualização para o programa. Além disso, o gerenciador de dados pode remover a correspondência do programa selecionado com o campo em resposta a receber uma edição para uma ou mais entradas para o campo.
[0042] Em uma modalidade, dados de modelo e de campo são armazenados no repositório de dados de modelo e de campo 160. Os dados de modelo compreendem modelos de dados criados para um ou mais campos. Por exemplo, um modelo de plantação pode incluir um modelo digitalmente construído do desenvolvimento de uma plantação em um ou mais campos. “Modelo”, neste contexto, se refere a um conjunto eletrônico digitalmente armazenado de instruções executáveis e de valores de dados associados uns com os outros, os quais são capazes de receber e responder a uma chamada, invocação, ou solicitação programática ou outra chamada digital, para resolução baseada em valores de entrada especificados, para produzir um ou mais valores de saída armazenados ou calculados que podem servir como a base de recomendações implementadas por computador, exibições de dados de saída, ou controle de máquina, entre outras coisas. Os versados no campo acham conveniente expressar modelos usando equações matemáticas, mas esta forma de expressão não confina os modelos divulgados neste documento aos conceitos abstratos; ao invés disso, cada modelo neste documento possui uma aplicação prática em um computador na forma de instruções executáveis e dados armazenados que implementam o modelo usando o computador. O modelo pode incluir um modelo de eventos passados em relação a um ou mais campos, um modelo de condição atual do um ou mais campos, e/ou um modelo de eventos preditos em relação ao um ou mais campos. Os dados de modelo e de campo podem ser armazenados em estruturas de dados na memória, fileiras em tabelas de banco de dados, em arquivos simples ou planilhas eletrônicas, ou em outras formas de dados digitais armazenados.
[0043] Em uma modalidade, cada um dentre o sistema de aprendizado de máquina de detecção de nuvem 136, as instruções de modelagem agronômica 137, e as instruções de geração de mapa agronômico 138 compreende um conjunto de uma ou mais páginas de memória principal, tal como RAM, no sistema de computador de inteligência agrícola 130 dentro das quais instruções executáveis foram carregadas e as quais quando executadas causam que o sistema de computador de inteligência agrícola execute as funções ou as operações que são descritas neste documento com referência a estes módulos. Por exemplo, as instruções de modelagem agronômica 137 podem compreender um conjunto de páginas na RAM que contêm instruções que quando executadas causam a execução das funções de modelagem agronômica que são descritas neste documento. As instruções podem ser em código executável por máquina no conjunto de instruções de uma CPU e podem ter sido compiladas baseado no código fonte escrito em JAVA, C. C++, OBJECTIVE-C, ou qualquer outra linguagem ou ambiente de programação legível por humanos, sozinhas ou em combinação com scripts em JAVASCRIPT, outras linguagens com uso de script e outro texto fonte de programação. O termo “páginas” é pretendido para se referir de forma ampla a qualquer região dentro da memória principal e a terminologia específica utilizada em um sistema pode variar dependendo da arquitetura de memória ou da arquitetura de processador. Em outra modalidade, cada um dentre o sistema de aprendizado de máquina de detecção de nuvem 136, as instruções de modelagem agronômica 137, e as instruções de geração de mapa agronômico 138 também pode representar um ou mais arquivos ou projetos de código fonte que são digitalmente armazenados em um dispositivo de armazenamento em massa tal como RAM não volátil ou armazenamento em disco, no sistema de computador de inteligência agrícola 130 ou em um sistema de repositórios separado, os quais quando executados causam que o sistema de computador de inteligência agrícola execute as funções ou operações que são descritas neste documento com referência a estes módulos. Em outras palavras, a figura do desenho pode representar a maneira na qual programadores ou desenvolvedores de software organizam ou dispõem código fonte para compilação posterior em um executável, ou interpretação em código de byte ou equivalente, para execução pelo sistema de computador de inteligência agrícola 130.
[0044] O sistema de aprendizado de máquina de detecção de nuvem 136 compreende instruções legíveis por computador que, quando executadas por um ou mais processadores, causam que o sistema de computador de inteligência agrícola 130 de forma computacional detecte pixels de nuvem e/ou de sombra de nuvem na imagística por satélite. As instruções de modelagem agronômica 137 compreendem instruções legíveis por computador que, quando executadas por um ou mais processadores, causam que o sistema de computador de inteligência agrícola 130 gere um modelo agronômico de um campo agronômico baseado, pelo menos em parte, em valores derivados a partir da imagística por satélite. As instruções de geração de mapa agronômico 138 compreendem instruções legíveis por computador que, quando executadas por um ou mais processadores,
causam que o sistema de computador de inteligência agrícola 130 gere um mapa agronômico para exibição baseado, pelo menos em parte, na imagística por satélite e nos dados identificando pixels na imagística por satélite como pixels de nuvem ou de sombra de nuvem.
[0045] A camada de hardware / virtualização 150 compreende uma ou mais unidades centrais de processamento (CPUs), controladores de memória, e outros dispositivos, componentes, ou elementos de um sistema de computador tal como memória volátil e não volátil, armazenamento não volátil tal como disco, e dispositivos ou interfaces de E/S como ilustrado e descrito, por exemplo, em conexão com a FIGURA 4. A camada 150 também pode compreender instruções programadas que são configuradas para suportar virtualização, armazenamento em containers, ou outras tecnologias.
[0046] Para propósitos de ilustrar um exemplo claro, a FIGURA 1 apresenta um número limitado de instâncias de alguns elementos funcionais. Entretanto, em outras modalidades, pode existir qualquer número de tais elementos. Por exemplo, modalidades podem utilizar milhares ou milhões de diferentes dispositivos de computação móvel 104 associados com diferentes usuários. Além disso, o sistema 130 e/ou o computador servidor de dados externos 108 podem ser implementados usando dois ou mais processadores, núcleos, grupamentos, ou instâncias de máquinas físicas ou de máquinas virtuais, configuradas em uma localização separada ou co-localizadas com outros elementos em um centro de dados, instalação de computação compartilhada ou instalação de computação em nuvem.
2.2. VISTA GERAL DO PROGRAMA APLICATIVO
[0047] Em uma modalidade, a implementação das funções descritas neste documento usando um ou mais programas de computador ou outros elementos de software que são carregados e executados usando um ou mais computadores de propósito geral causarão que os computadores de propósito geral sejam configurados como uma máquina particular ou como um computador que é especialmente adaptado para executar as funções descritas neste documento. Além disso, cada um dos fluxogramas que são descritos mais adiante neste documento pode servir, sozinho ou em combinação com as descrições de processos e funções em prosa neste documento, tal como algoritmos, planos ou direções que podem ser utilizados para programar um computador ou lógica para implementar as funções que são descritas. Em outras palavras, todo o texto em prosa neste documento e todas as figuras de desenho, em conjunto, são pretendidos para proporcionar a divulgação de algoritmos, planos ou direções que são o suficiente para permitir que os versados na técnica programem um computador para executar as funções que são descritas neste documento, em combinação com a técnica e conhecimento de tal pessoa dado o nível de habilidade que é apropriado para invenções e divulgações deste tipo.
[0048] Em uma modalidade, o usuário 102 interage com o sistema de computador de inteligência agrícola 130 usando o dispositivo de computação gerenciador de campo 104 configurado com um sistema operacional e um ou mais programas aplicativos ou aplicativos; o dispositivo de computação gerenciador de campo 104 também pode interoperar com o sistema de computador de inteligência agrícola de forma independente e automática sob o controle de programa ou controle lógico e a interação direta do usuário nem sempre é necessária. O dispositivo de computação gerenciador de campo 104 representa amplamente um ou mais dentre um smartphone, PDA, dispositivo de computação tablet, computador laptop, computador de mesa, estação de trabalho ou qualquer outro dispositivo de computação capaz de transmitir e receber informações e executar as funções descritas neste documento. O dispositivo de computação gerenciador de campo 104 pode se comunicar via uma rede usando um aplicativo móvel armazenado no dispositivo de computação gerenciador de campo 104, e em algumas modalidades, o dispositivo pode ser acoplado usando um cabo 113 ou conector ao sensor 112 e/ou ao controlador 114. Um usuário particular 102 pode possuir, operar ou controlar e utilizar, em conexão com o sistema 130, mais de um dispositivo de computação gerenciador de campo 104 de uma vez.
[0049] O aplicativo móvel pode proporcionar funcionalidade do lado do cliente, via a rede para um ou mais dispositivos de computação móvel. Em uma modalidade ilustrativa, o dispositivo de computação gerenciador de campo 104 pode acessar o aplicativo móvel via um navegador da web ou um aplicativo ou app de cliente local. O dispositivo de computação gerenciador de campo 104 pode transmitir dados para, e receber dados a partir de, um ou mais servidores front-end, usando protocolos ou formatos baseados na web, como HTTP, XML e/ou JSON, ou protocolos específicos de aplicativo. Em uma modalidade ilustrativa, os dados podem assumir a forma de solicitações e de entrada de informações do usuário, tais como dados de campo, no dispositivo de computação móvel. Em algumas modalidades, o aplicativo móvel interage com hardware e software de rastreamento de localização no dispositivo de computação gerenciador de campo 104 que determina a localização do dispositivo de computação gerenciador de campo 104 usando técnicas de rastreamento padrão, tal como multilateração de sinais de rádio, o sistema de posicionamento global (GPS), sistemas de posicionamento Wi-Fi, ou outros métodos de posicionamento móvel. Em alguns casos, os dados de localização ou outros dados associados com o dispositivo 104, com o usuário 102 e/ou com contas de usuário podem ser obtidos por meio de consultas a um sistema operacional do dispositivo ou por solicitar um app no dispositivo para obter dados a partir do sistema operacional.
[0050] Em uma modalidade, o dispositivo de computação gerenciador de campo 104 envia dados de campo 106 para o sistema de computador de inteligência agrícola 130 compreendendo ou incluindo, mas não se limitando a, valores de dados representando um ou mais dentre: uma localização geográfica do um ou mais campos, informação de lavoura para o um ou mais campos, plantações plantadas no um ou mais campos e dados de solo extraídos a partir do um ou mais campos. O dispositivo de computação gerenciador de campo 104 pode enviar dados de campo 106 em resposta à entrada do usuário a partir do usuário 102 especificando os valores de dados para o um ou mais campos. Além disso, o dispositivo de computação gerenciador de campo 104 pode enviar automaticamente dados de campo 106 quando um ou mais dos valores de dados se tornam disponíveis para o dispositivo de computação gerenciador de campo 104. Por exemplo, o dispositivo de computação gerenciador de campo 104 pode ser acoplado comunicativamente ao sensor remoto 112 e/ou ao controlador de aplicativo 114 os quais incluem um sensor de irrigação e/ou controlador de irrigação. Em resposta a receber dados indicando que o controlador de aplicativo 114 liberou água no um ou mais campos, o dispositivo de computação gerenciador de campo 104 pode enviar dados de campo 106 para o sistema de computador de inteligência agrícola 130 indicando que a água foi liberada em um ou mais campos. Os dados de campo 106 identificados nesta divulgação podem ser inseridos e comunicados usando dados digitais eletrônicos que são comunicados entre dispositivos de computação usando URLs parametrizados através de HTTP ou outro protocolo de comunicação ou de troca de mensagem adequado.
[0051] Um exemplo comercial do aplicativo móvel é CLIMATE FIELDVIEW, disponível comercialmente a partir da The Climate Corporation, São Francisco, Califórnia. O aplicativo CLIMATE
FIELDVIEW, ou outros aplicativos, podem ser modificados, estendidos ou adaptados para incluir recursos, funções e programação que não foram divulgadas antes da data de depósito desta divulgação. Em uma modalidade, o aplicativo móvel compreende uma plataforma de software integrada que permite a um produtor tomar decisões baseadas em fatos para sua operação, porque combina dados históricos sobre os campos do produtor com quaisquer outros dados que o produtor deseja comparar. As combinações e comparações podem ser executadas em tempo real e são baseadas em modelos científicos que proporcionam cenários potenciais para permitir que o produtor tome decisões melhores e mais informadas.
[0052] A FIGURA 2 ilustra duas vistas de uma organização lógica ilustrativa de conjuntos de instruções na memória principal quando um aplicativo móvel ilustrativo é carregado para execução. Na FIGURA 2, cada elemento denominado representa uma região de uma ou mais páginas de RAM ou de outra memória principal, ou um ou mais blocos de armazenamento em disco ou de outro armazenamento não volátil, e as instruções programadas dentro destas regiões. Em uma modalidade, na vista (a), um aplicativo de computador móvel 200 compreende instruções de conta, campos, ingestão de dados, compartilhamento 202, instruções de vista geral e alerta 204, instruções de livros de mapas digitais 206, instruções de sementes e plantio 208, instruções de nitrogênio 210, instruções climáticas 212, instruções de saúde de campo 214, e instruções de desempenho 216.
[0053] Em uma modalidade, o aplicativo de computador móvel 200 compreende as instruções de conta, campos, ingestão de dados, compartilhamento 202 que são programadas para receber, traduzir, e ingerir dados de campo a partir de sistemas terceirizados via carregamento ou APIs. Os tipos de dados podem incluir limites de campo, mapas de produção, mapas de como plantado, resultados de teste de solo, mapas de como aplicativo, e/ou zonas de gerenciamento, entre outros. Os formatos de dados podem incluir arquivos de formato, formatos de dados nativos de terceiros, e/ou exportações do sistema de informação de gerenciamento de fazenda (FMIS), entre outros. O recebimento dos dados pode ocorrer via carregamento manual, e-mail com anexo, APIs externas que enviam dados para o aplicativo móvel, ou instruções que chamam APIs de sistemas externos para enviar dados para o aplicativo móvel. Em uma modalidade, o aplicativo de computador móvel 200 compreende uma caixa de entrada de dados. Em resposta a receber uma seleção da caixa de entrada de dados, o aplicativo de computador móvel 200 pode exibir uma interface gráfica com o usuário para manualmente carregar arquivos de dados e importar arquivos carregados para um gerenciador de dados.
[0054] Em uma modalidade, as instruções de livro de mapas digitais 206 compreende camadas de dados de mapa de campo armazenadas na memória do dispositivo e são programadas com ferramentas de visualização de dados e notas de campo geoespacial. Isto proporciona aos produtores informação conveniente de forma rápida para referência, registro de ocorrência e observação visual do desempenho do campo. Em uma modalidade, as instruções de vista geral e de alerta 204 são programadas para proporcionar uma vista geral da operação do que é importante para o produtor, e recomendações oportunas para executar ação ou focar em problemas particulares. Isto permite ao produtor focar tempo no que precisa de atenção, economizar tempo e preservar a produção por toda a estação. Em uma modalidade, as instruções de semente e plantio 208 são programadas para proporcionar ferramentas para seleção de semente, colocação híbrida, e criação de script, incluindo criação de script de taxa variável (VR), baseado em modelos científicos e dados empíricos. Isto permite aos produtores maximizar a produção ou o retorno em relação ao investimento através de compra,
colocação e população otimizadas de semente.
[0055] Em uma modalidade, instruções de geração de script 205 são programadas para proporcionar uma interface para gerar scripts, incluindo scripts de fertilidade de taxa variável (VR). A interface permite aos produtores criarem scripts para máquinas agrícolas do campo, tais como de aplicações de nutriente, de plantio, e de irrigação. Por exemplo, uma interface de script de plantio pode compreende ferramentas para identificar um tipo de semente para plantio. Ao receber uma seleção do tipo de semente, o aplicativo de computador móvel 200 pode exibir um ou mais campos divididos em zonas de gerenciamento, tais como as camadas de dados de mapa de campo criadas como parte das instruções de livro de mapas digitais 206. Em uma modalidade, as zonas de gerenciamento compreendem zonas de solo juntas com um painel identificando cada zona de solo, e um nome do solo, textura, drenagem para cada zona, ou outros dados de campo. O aplicativo de computador móvel 200 também pode exibir ferramentas para editar ou criar, tais como ferramentas gráficas para desenhar zonas de gerenciamento, tais como zonas de solo, sobre um mapa de um ou mais campos. Os procedimentos de plantio podem ser aplicados para todas as zonas de gerenciamento ou procedimentos de plantio diferentes podem ser aplicados para diferentes subconjuntos de zonas de gerenciamento. Quando um script é criado, o aplicativo de computador móvel 200 pode tornar o script disponível para transferência em um formato legível por um controlador de aplicativo, tal como um formato arquivado ou compactado. Além disso, e/ou alternativamente, um script pode ser enviado diretamente para o computador da cabine 115 a partir do aplicativo de computador móvel 200 e/ou carregado para um ou mais servidores de dados e armazenado para uso adicional.
[0056] Em uma modalidade, as instruções de nitrogênio 210 são programadas para proporcionar ferramentas para informar decisões de nitrogênio pela visualização da disponibilidade de nitrogênio para plantações.
Isto permite aos produtores maximizarem a produção ou o retorno em relação ao investimento através de aplicação otimizada de nitrogênio durante a estação.
Funções programadas ilustrativas incluem exibir imagens tais como imagens SSURGO para permitir o desenho de zonas de aplicação de fertilizante e/ou imagens geradas a partir dos dados de solo de subcampo, tais como dados obtidos a partir de sensores em uma alta resolução espacial (tão detalhada quanto milímetros ou menor dependendo da proximidade e da resolução do sensor); carregamento de zonas existentes definidas pelo produtor; proporcionar um gráfico de disponibilidade de nutrientes da plantação e/ou um mapa para permitir ajustar aplicação (aplicações) de nitrogênio através de várias zonas; emissão de scripts para acionar maquinário; ferramentas para entrada e ajuste de dados em massa; e/ou mapas para visualização de dados, entre outros. “Entrada de dados em massa”, neste contexto, pode significar entrar dados uma vez e então aplicar os mesmos dados para vários campos e/ou zonas que foram definidas no sistema; dados ilustrativos podem incluir dados de aplicação de nitrogênio que são os mesmos para vários campos e/ou zonas do mesmo produtor, mas tal entrada de dados em massa se aplica para a entrada de qualquer tipo de dados de campo no aplicativo de computador móvel 200. Por exemplo, instruções de nitrogênio 210 podem ser programadas para aceitar definições de aplicação de nitrogênio e programas de prática e aceitar entrada do usuário especificando aplicar estes programas através de vários campos. “Programas de aplicação de nitrogênio”, neste contexto, se refere ao conjuntos denominados armazenados de dados que associam: um nome, código de cor ou outro identificador, uma ou mais datas de aplicação, tipos de material ou produto para cada uma das datas e quantidades, método de aplicação ou incorporação tal como injetado ou espalhado, e/ou quantidades ou taxas de aplicação para cada uma das datas, plantação ou híbrido que é o sujeito da aplicação, entre outros. “Programas de práticas de nitrogênio”, neste contexto, se refere aos conjunto nomeados armazenados de dados que associam: um nome da prática; uma plantação anterior; um sistema de cultivo; uma data do cultivo principal; um ou mais sistemas de cultivo anteriores que foram utilizados; um ou mais indicadores de tipo de aplicação, tal como adubo, que foram utilizados. As instruções de nitrogênio 210 também podem ser programadas para gerar e causar a exibição de um gráfico de nitrogênio, o qual indica projeções de uso da plantação do nitrogênio especificado e se um excedente ou falta é predito; em algumas modalidades, diferentes indicadores por cor podem sinalizar uma magnitude de excesso ou magnitude de falta. Em uma modalidade, um gráfico de nitrogênio compreende uma exibição gráfica em um dispositivo de vídeo do computador compreendendo várias fileiras, cada fileira associada com e identificando um campo; dados especificando qual plantação é plantada no campo, o tamanho do campo, a localização do campo, e uma representação gráfica do perímetro do campo; em cada fileira, uma linha de tempo por mês com indicadores gráficos especificando cada aplicação de nitrogênio e a quantidade nos pontos correlacionados com os nomes de mês; e indicadores numéricos e/ou coloridos de excesso ou falta, nos quais a cor indica a magnitude.
[0057] Em uma modalidade, o gráfico de nitrogênio pode incluir um u mais recursos de entrada do usuário, tais como botões ou barras deslizantes, para dinamicamente alterar o plantio de nitrogênio e os programas de práticas de modo que um usuário possa otimizar seu gráfico de nitrogênio. O usuário então pode utilizar seu gráfico de nitrogênio otimizado e o plantio de nitrogênio e programas de práticas relacionados para implementar um ou mais scripts, incluindo scripts de fertilidade de taxa variável (VR). As instruções de nitrogênio 210 também podem ser programadas para gerar e causar a exibição de um mapa de nitrogênio, o qual indica projeções de uso de plantas do nitrogênio especificado e se um excesso ou falta é predito; em algumas modalidades, diferentes indicadores por cor podem sinalizar uma magnitude do excesso ou a magnitude de falta. O mapa de nitrogênio pode exibir projeções de uso especificado de nitrogênio na plantação e se um excesso ou falta é predito para diferentes momentos no passado e no futuro (tal como diariamente, semanalmente, mensalmente, ou anualmente) usando indicadores numéricos e/ou coloridos de excesso ou falta, nos quais a cor indica a magnitude. Em uma modalidade, o mapa de nitrogênio pode incluir um ou mais recursos de entrada do usuário, tais como botões ou barras corrediças, para dinamicamente alterar o plantio de nitrogênio e os programas de prática de modo que um usuário possa otimizar seu mapa de nitrogênio, tal como para obter uma quantidade preferida de excesso para a falta. O usuário então pode utilizar este mapa de nitrogênio otimizado e o plantio de nitrogênio relacionado e os programas de prática para implementar um ou mais scripts, incluindo scripts de fertilidade de taxa variável (VR). Em outras modalidades, instruções similares para as instruções de nitrogênio 210 poderiam ser utilizadas para aplicação de outros nutrientes (tais como fósforo e potássio), aplicação de pesticida, e programas de irrigação.
[0058] Em uma modalidade, instruções climáticas 212 são programadas para proporcionar dados climáticos recentes específicos do campo e informação de clima previsto. Isto permite aos produtores economizar tempo e possui uma exibição integrada eficiente com respeito às decisões operacionais diárias.
[0059] Em uma modalidade, instruções de saúde do campo 214 são programadas para proporcionar imagens de leitura remota oportunas realçando variação da plantação na estação e potenciais problemas. Funções programadas ilustrativas incluem verificação de nuvens, para identificar possíveis nuvens ou sombras de nuvem; determinar índices de nitrogênio baseado nas imagens do campo; visualização gráfica de camadas de exploração, incluindo, por exemplo, estas relacionadas com saúde do campo, e visualizar e/ou compartilhar informações de exploração; e/ou transferir imagens de satélite a partir de várias fontes e priorizar as imagens para o produtor, entre outros.
[0060] Em uma modalidade, as instruções de desempenho 216 são programadas para proporcionar ferramentas de relatório, análise e observação usando dados na fazenda para avaliação, observações e decisões. Isto permite ao produtor buscar resultados aprimorados para o próximo ano através de conclusões baseadas em fatos sobre porque o retorno em relação ao investimento estava nos níveis anteriores, e observação de fatores de limitação de produção. As instruções de desempenho 216 podem ser programadas para comunicação via a(s) rede(s) 109 para programas analíticos back-end executados no sistema de computador de inteligência agrícola 130 e/ou para o computador servidor de dados externos 108 e configurado para analisar métricas tais como produção, diferencial de produção, híbridos, população, zona SSURGO, propriedades de teste de solo, ou elevação, entre outros. Os relatórios e análise programados podem incluir análise de variabilidade de produção, estimativa de efeito de tratamento, parâmetros comparativos de produção e outras métricas em relação a outros produtores baseado em dados colocados de forma anônima coletados a partir de vários produtores, ou dados para sementes e plantio, entre outros.
[0061] Aplicativos possuindo instruções configuradas deste modo podem ser implementados para diferentes plataformas de dispositivo de computação enquanto retendo a mesma aparência geral de interface com o usuário. Por exemplo, o aplicativo móvel pode ser programado para execução em tablets, smartphones, ou computadores servidores que são acessados usando navegadores nos computadores clientes. Além disso, o aplicativo móvel como configurado para os computadores tablete ou smartphones podem proporcionar uma experiência completa do app ou uma experiência do app da cabine que é adequada para a capacidade de exibição e de processamento do computador da cabine
115. Por exemplo, referindo-se agora à vista (b) da FIGURA 2, em uma modalidade, um aplicativo de computador da cabine 220 pode compreender instruções de mapas da cabine 222, instruções de visualização remota 224, instruções de coleta e transferência de dados 226, instruções de alerta da máquina 228, instruções de transferência de script 230, e instruções de patrulhamento da cabine 232. A base de código para as instruções da vista (b) pode ser a mesma que para a vista (a) e executáveis implementando o código podem ser programados para detectar o tipo de plataforma na qual eles estão executando e expor, através de uma interface gráfica com o usuário, somente as funções que são apropriadas para uma plataforma da cabine ou plataforma completa. Esta abordagem permite ao sistema reconhecer a experiência do usuário distintamente diferente que é apropriada para um ambiente dentro da cabine e o diferente ambiente de tecnologia da cabine. As instruções de mapas da cabine 222 podem ser programadas para proporcionar vistas de mapa de campos, fazendas ou regiões que são úteis ao direcionar a operação da máquina. As instruções de visualização remota 224 podem ser programadas para ligar, gerenciar, e proporcionar vistas de atividade de máquina em tempo real ou quase em tempo real para outros dispositivos de computação conectados com o sistema 130 via as redes sem uso de fios, conectores ou adaptadores com uso de fios, e similares. As instruções de coleta e de transferência de dados 226 podem ser programadas para ligar, gerenciar, e proporcionar transferência de dados coletados em sensores e controladores para o sistema 130 via redes sem uso de fios, conectores ou adaptadores com uso de fios, e similares. As instruções de alertas da máquina 228 podem ser programadas para detectar problemas com as operações da máquina ou ferramentas que estão associadas com a cabine e gerar alertas para o operador. As instruções de transferência de script 230 podem ser configuradas para transferir scripts de instruções que são configuradas para direcionar as operações da máquina ou a coleta de dados. As instruções de patrulhamento da cabine 232 podem ser programadas para exibir alertas baseados em localização e informações recebidas a partir do sistema 130 baseado na localização do dispositivo de computação gerenciador de campo 104, do aparelho agrícola 111, ou dos sensores 112 no campo e ingerir, gerenciar, e proporcionar transferência de observações de exploração baseada em localização para o sistema 130 baseado na localização do aparelho agrícola 111 ou dos sensores 112 no campo.
2.3. INGESTÃO DE DADOS PARA O SISTEMA DE COMPUTADOR
[0062] Em uma modalidade, o computador servidor de dados externos 108 armazena dados externos 110, incluindo dados do solo representando a composição do solo para um ou mais campos e dados meteorológicos representando a temperatura e a precipitação em um ou mais campos. Os dados meteorológicos podem incluir dados meteorológicos passados e presentes, bem como previsões para dados meteorológicos futuros. Em uma modalidade, o computador servidor de dados externos 108 compreende vários servidores hospedados por diferentes entidades. Por exemplo, um primeiro servidor pode conter dados de composição do solo, enquanto um segundo servidor pode incluir dados meteorológicos. Além disso, os dados de composição do solo podem ser armazenados em vários servidores. Por exemplo, um servidor pode armazenar dados representando a porcentagem de areia, limo e argila no solo, enquanto um segundo servidor pode armazenar dados representando a porcentagem de matéria orgânica (MO) no solo.
[0063] Em uma modalidade, o sensor remoto 112 compreende um ou mais sensores que são programados ou configurados para produzir uma ou mais observações. O sensor remoto 112 pode ser sensores aéreos, tais como satélites, sensores de veículos, sensores de equipamentos de plantio, sensores de preparo do solo, sensores de aplicação de fertilizantes ou de inseticidas, sensores de colheitadeira e qualquer outra máquina capaz de receber dados a partir de um ou mais campos. Em uma modalidade, o controlador de aplicativo 114 é programado ou configurado para receber instruções a partir do sistema de computador de inteligência agrícola 130. O controlador de aplicativo 114 também pode ser programado ou configurado para controlar um parâmetro operacional de um veículo ou máquina agrícola. Por exemplo, um controlador de aplicativo pode ser programado ou configurado para controlar um parâmetro operacional de um veículo, tal como um trator, equipamento de plantio, equipamento de cultivo, equipamento de fertilizante ou inseticida, equipamento de colheitadeira ou outras máquinas agrícolas, tal como uma válvula de água. Outras modalidades podem utilizar qualquer combinação de sensores e de controladores, dos quais os seguintes são meramente exemplos selecionados.
[0064] O sistema 130 pode obter ou ingerir dados sob o controle do usuário 102, em massa, a partir de um grande número de produtores que contribuíram com dados para um sistema de banco de dados compartilhado. Esta forma de obter dados pode ser denominada "ingestão manual de dados", uma vez que uma ou mais operações de computador controladas pelo usuário são solicitadas ou acionadas para obter dados para utilização pelo sistema 130. Como um exemplo, o aplicativo CLIMATE FIELDVIEW, comercialmente disponível a partir da Climate Corporation, São Francisco, Califórnia, pode ser operado para exportar dados para o sistema 130 para armazenamento no repositório
160.
[0065] Por exemplo, os sistemas de monitoramento de sementes podem tanto controlar os componentes do aparelho plantadeira como obter dados de plantio, incluindo sinais a partir de sensores de sementes via um cabo de sinais que compreende uma espinha dorsal CAN e conexões ponto a ponto para registro e/ou diagnóstico. Os sistemas de monitoramento de sementes podem ser programados ou configurados para exibir o espaçamento das sementes, a população de sementes e outras informações para o usuário via o computador da cabine 115 ou por outros dispositivos dentro do sistema 130. Exemplos são divulgados na Patente US No. 8.738.243 e na Publicação de Patente US. 20150094916, e a presente divulgação assume o conhecimento dessas outras divulgações de patentes.
[0066] Da mesma forma, os sistemas monitores de rendimento podem conter sensores de rendimento para aparelhos colheitadeiras que enviam dados de medição de rendimento para o computador da cabina 115 ou para outros dispositivos dentro do sistema 130. Os sistemas de monitoramento de rendimento podem utilizar um ou mais sensores remotos 112 para obter medições de umidade de grãos em uma ceifeira-debulhadora ou outra colheitadeira e transmitir estas medições para o usuário via o computador de bordo 115 ou outros dispositivos dentro do sistema 130.
[0067] Em uma modalidade, exemplos de sensores 112 que podem ser utilizados com qualquer veículo em movimento ou aparelho do tipo descrito em outro lugar neste documento incluem sensores cinemáticos e sensores de posição. Os sensores cinemáticos podem compreender qualquer um dos sensores de velocidade, tal como radar ou sensores de velocidade da roda, acelerômetros ou giroscópios. Os sensores de posição podem compreender receptores ou transceptores de GPS, ou aplicativos de posicionamento ou mapeamento baseados em Wi-Fi que são programados para determinar a localização baseado em pontos de acesso Wi-Fi próximos, dentre outros.
[0068] Em uma modalidade, exemplos de sensores 112 que podem ser utilizados com tratores ou outros veículos em movimento incluem sensores de velocidade do motor, sensores de consumo de combustível, contadores de área ou contadores de distância que interagem com GPS ou sinais de radar, sensores de velocidade PTO (tomada de força), sensores hidráulicos do trator configurados para detectar parâmetros hidráulicos, tal como pressão ou fluxo e/ou velocidade da bomba hidráulica, sensores de velocidade das rodas ou sensores de patinagem das rodas. Em uma modalidade, exemplos de controladores 2314 que podem ser utilizados com tratores incluem controladores direcionais hidráulicos, controladores de pressão e/ou controladores de fluxo; controladores de velocidade da bomba hidráulica; controladores ou reguladores de velocidade; controladores de posição de engate; ou controladores de posição de roda proporcionam direção automática.
[0069] Em uma modalidade, exemplos de sensores 112 que podem ser utilizados com equipamentos de plantio de sementes, tais como plantadeiras, semeadoras ou semeadoras aéreas, incluem sensores de sementes, os quais podem ser ópticos, eletromagnéticos ou sensores de impacto; sensores de força descendente, tais como pinos de carga, células de carga, sensores de pressão; sensores de propriedade do solo, tais como sensores de refletividade, sensores de umidade, sensores de condutividade elétrica, sensores ópticos de resíduos ou sensores de temperatura; sensores de critérios operacionais de componentes, tais como sensores de profundidade de plantio, sensores de pressão do cilindro de força descendente, sensores de velocidade de disco de sementes, codificadores do motor elétrico de sementes,
sensores de velocidade do sistema de transporte de sementes ou sensores de nível de vácuo; ou sensores de aplicação de pesticidas, tais como sensores ópticos ou outros sensores eletromagnéticos, ou sensores de impacto. Em uma modalidade, exemplos de controladores 2314 que podem ser utilizados com tal equipamento de plantio de sementes incluem: controladores de dobra da barra de ferramentas, tais como controladores para válvulas associadas com cilindros hidráulicos; controladores de força descendente, tais como controladores para válvulas associadas a cilindros pneumáticos, airbags ou cilindros hidráulicos e programados para aplicar força descendente a unidades de linha individuais ou a toda uma estrutura da plantadeira; controladores de profundidade de plantio, tais como atuadores lineares; controladores de medição, tais como motores elétricos de acionamento do medidor de sementes, motores elétricos do medidor de sementes hidráulico, ou embreagens de controle de faixa; controladores de seleção híbrida, tais como motores elétricos de acionamento de medidores de sementes ou outros atuadores programados para permitir ou impedir seletivamente a semente ou uma mistura de ar-semente de distribuir sementes para ou a partir de medidores de sementes ou tremonhas centrais a granel; controladores de medição, tais como motores elétricos de acionamento de medidor de sementes ou motores elétricos hidráulicos de medidor de sementes; controladores de sistema de transporte de sementes, tais como controladores para um motor elétrico por correia do transportador de distribuição de sementes; controladores de marcador, tais como um controlador para um atuador pneumático ou hidráulico; ou controladores de taxa de aplicação de pesticidas, tais como controladores de unidade de medição, e controladores de tamanho ou posição de orifício.
[0070] Em uma modalidade, exemplos de sensores 112 que podem ser utilizados com equipamento de lavoura incluem sensores de posição para ferramentas, tais como hastes ou discos; sensores de posição de ferramenta para tais ferramentas que são configuradas para detectar profundidade, ângulo de ataque ou espaçamento lateral; sensores de força descendente; ou sensores de força de tração. Em uma modalidade, exemplos de controladores 114 que podem ser utilizados com equipamento de lavoura incluem controladores de força descendente ou controladores de posição de ferramenta, tais como controladores configurados para controlar a profundidade da ferramenta, ângulo de ataque ou espaçamento lateral.
[0071] Em uma modalidade, exemplos de sensores 112 que podem ser utilizados em relação a aparelhos para aplicar fertilizantes, inseticidas, fungicidas e similares, tais como sistemas de fertilizantes iniciais na plantadeira, aplicadores de fertilizantes de subsolo ou pulverizadores de fertilizantes, incluem: sensores de critérios do sistema de fluído, tais como sensores de fluxo ou sensores de pressão; sensores indicando quais válvulas de pulverizador ou válvulas de linha de fluido estão abertas; sensores associados a tanques, tais como sensores de nível de enchimento; sensores de linha de alimentação de seção ou de todo o sistema ou sensores de linha de alimentação específicos de fileira; ou sensores cinemáticos, tais como acelerômetros dispostos nas lanças do pulverizador. Em uma modalidade, exemplos de controladores 114 que podem ser utilizados com tal aparelho incluem controladores de velocidade de bomba; controladores de válvula que são programados para controlar pressão, fluxo, direção, PWM e similares; ou atuadores de posição, tais como para altura da lança, profundidade do subsolador ou posição da lança.
[0072] Em uma modalidade, exemplos de sensores 112 que podem ser utilizados com colheitadeiras incluem monitores de rendimento, tais como medidores de tensão de placa de impacto ou sensores de posição, sensores de fluxo capacitivos, sensores de carga, sensores de peso ou sensores de torque associados a elevadores ou brocas, ou sensores ópticos ou outros sensores eletromagnéticos de altura de grãos; sensores de umidade de grãos, tais como sensores capacitivos; sensores de perda de grãos, incluindo sensores de impacto, ópticos ou capacitivos; sensores de critérios de operação do descabeçador de cereais, tais como altura do descabeçador de cereais, tipo de descabeçador de cereais, abertura da placa de piso, velocidade do alimentador e sensores de velocidade de bobina; sensores de critérios de operação do separador, tais como sensores de folga axial côncava, velocidade do rotor, folga axial da sapata ou folga axial do cortador de palha; sensores de trado para posição, operação ou velocidade; ou sensores de velocidade do motor. Em uma modalidade, exemplos de controladores 114 que podem ser utilizados com colheitadeiras incluem controladores de critérios operacionais do descabeçador de cereais para elementos tais como a altura do descabeçador de cereais, o tipo de descabeçador de cereais, abertura da placa do piso, velocidade do alimentador ou velocidade da bobina; controladores de critérios de operação de separadores para recursos tais como folga axial côncava, velocidade do rotor, folga axial da sapata ou folga axial do cortador de palha; ou controladores para posição, operação ou velocidade do trado.
[0073] Em uma modalidade, exemplos de sensores 112 que podem ser utilizados com carrinhos de grãos incluem sensores de peso ou sensores para posição, operação ou velocidade do trado. Em uma modalidade, exemplos de controladores 114 que podem ser utilizados com carrinhos de grãos incluem controladores para a posição, operação ou velocidade do trado.
[0074] Em uma modalidade, exemplos de sensores 112 e controladores 114 podem ser instalados em aparelhos de veículos aéreos não tripulados (UAV) ou "drones". Tais sensores podem incluir câmeras com detectores eficazes para qualquer variação do espectro eletromagnético, incluindo luz visível, infravermelho, ultravioleta, infravermelho próximo (NIR) e similares; acelerômetros; altímetros; sensores de temperatura; sensores de umidade; sensores de tubo de Pitot ou outros sensores de velocidade do ar ou do vento; sensores de vida útil de bateria; ou emissores de radar e aparelhos de detecção de energia de radar refletida; outros emissores de radiação eletromagnética e aparelhos de detecção de radiação eletromagnética refletida. Tais controladores podem incluir aparelho de controle de motor ou de orientação, controladores de superfície de controle, controladores de câmera ou controladores programados para ligar, operar, obter dados, gerenciar e configurar qualquer um dos sensores anteriores. Exemplos são divulgados no Pedido de Patente U.S. No. 14/831.165 e a presente divulgação assume o conhecimento dessa outra divulgação de patente.
[0075] Em uma modalidade, os sensores 112 e os controladores 114 podem ser fixados ao aparelho de medição e amostragem de solo que é configurado ou programado para amostrar solo e executar testes de química do solo, testes de umidade do solo e outros testes relativos ao solo. Por exemplo, o aparelho divulgado na Patente U.S. No.
8.767.194 e na Patente U.S. No. 8.712.148 pode ser utilizado, e a presente divulgação assume o conhecimento dessas divulgações de patentes.
[0076] Em uma modalidade, os sensores 112 e os controladores 114 podem compreender dispositivos meteorológicos para monitorar as condições meteorológicas dos campos. Por exemplo, o aparelho divulgado no Pedido Provisório US 62/154.207, depositado em 29 de abril de 2015, no Pedido Provisório US 62/175.160, depositado em 12 de junho de 2015, no Pedido Provisório US 62/198.060, depositado em 28 de julho de 2015, e no Pedido Provisório US 62/220.852, depositado em 18 de setembro de 2015, pode ser utilizado, e a presente divulgação assume o conhecimento dessas divulgações de patentes.
2.4. VISTA GERAL DE PROCESSO – TREINAMENTO DE MODELO
AGRONÔMICO
[0077] Em uma modalidade, o sistema de computador de inteligência agrícola 130 é programado ou configurado para criar um modelo agronômico. Neste contexto, um modelo agronômico é uma estrutura de dados na memória do sistema de computador de inteligência agrícola 130 que compreende dados do campo 106, tais como dados de identificação e dados de colheita para um ou mais campos. O modelo agronômico também pode compreender propriedades agronômicas calculadas que descrevem quaisquer condições que possam afetar o desenvolvimento de uma ou mais plantações em um campo, ou propriedades da uma ou mais plantações, ou ambas. Adicionalmente, um modelo agronômico pode compreender recomendações baseadas em fatores agronômicos tais como recomendações de plantação, recomendações de irrigação, recomendações de plantio, recomendações de fertilizante, recomendações de fungicida, recomendações de pesticida, recomendações de colheita e outras recomendações de gerenciamento da plantação. Os fatores agronômicos também podem ser utilizados para estimar um ou mais resultados relacionados com a plantação, tal como rendimento agronômico. O rendimento agronômico de uma plantação é uma estimativa de quantidade da plantação que é produzida, ou em alguns exemplos, a receita ou lucro obtido a partir da plantação produzida.
[0078] Em uma modalidade, o sistema de computador de inteligência agrícola 130 pode utilizar um modelo agronômico pré- configurado para calcular propriedades agronômicas relacionadas com informação de localização e plantação atualmente recebida para um ou mais campos. O modelo agronômico pré-configurado é baseado em dados de campo anteriormente processados, incluindo, mas não limitado aos dados de identificação, dados de colheita, dados de fertilizador, dados meteorológicos. O modelo agronômico pré- configurado pode ter sido validado de forma cruzada para garantir precisão do modelo. A validação cruzada pode incluir comparação com validação de terreno que compara resultados preditos com resultados reais em um campo, tal como uma comparação de estimativa de precipitação com um medidor ou sensor de chuva proporcionando dados meteorológicos na mesma localização ou localização próxima ou uma estimativa de conteúdo de nitrogênio com uma medição de amostra do solo.
[0079] A FIGURA 3 ilustra um processo programado pelo qual o sistema de computador de inteligência agrícola gera um ou mais modelos agronômicos pré-configurados usando dados do campo proporcionados por uma ou mais fontes de dados. A FIGURA 3 pode servir como um algoritmo ou instruções para programar os elementos funcionais do sistema de computador de inteligência agrícola 130 para executar as operações que são agora descritas.
[0080] No bloco 305, o sistema de computador de inteligência agrícola 130 é configurado ou programado para implementar pré- processamento de dados agronômicos de dados de campo recebidos a partir de uma ou mais fontes de dados. Os dados do campo recebidos a partir de uma ou mais fontes de dados podem ser pré-processados para o propósito de remover ruído, efeitos de distorção, e fatores de confusão dentro dos dados agronômico incluindo discrepâncias medidas que poderiam adversamente afetar os valores de dados de campo recebidos. Modalidades de pré-processamento de dados agronômicos podem incluir, mas não estão limitadas a remover valores de dados normalmente associados com valores de dados discrepantes, pontos de dados medidos específicos que são conhecidos como desnecessariamente distorcendo outros valores de dados, aproximação de dados, agregação, ou técnicas de amostragem utilizadas para remover ou reduzir efeitos aditivos ou multiplicativos a partir de ruído, e outras técnicas de filtragem ou de derivação de dados utilizadas para proporcionar distinção clara entre entradas de dados positivas e negativas.
[0081] No bloco 310, o sistema de computador de inteligência agrícola 130 é configurado ou programado para executar seleção de subconjunto de dados usando os dados de campo pré-processados de modo a identificar conjuntos de dados para a geração do modelo agronômico inicial. O sistema de computador de inteligência agrícola 130 pode implementar técnicas de seleção de subconjunto de dados incluindo, mas não limitadas a um método de algoritmo genético, um método de modelos de todos os subconjuntos, um método de pesquisa sequencial, um método de regressão passo a passo, um método de otimização de enxame de partículas, e um método de otimização de colônia de formigas. Por exemplo, uma técnica de seleção de algoritmo genético utiliza um algoritmo de pesquisa heurístico adaptável, baseado nos princípios evolucionários de seleção natural e genética, para determinar e avaliar conjuntos de dados dentro dos dados agronômicos pré-processados.
[0082] No bloco 315, o sistema de computador de inteligência agrícola 130 é configurado ou programado para implementar avaliação de conjunto de dados de campo. Em uma modalidade, um conjunto de dados de campo específico é avaliado pela criação de um modelo agronômico e pela utilização de limites específicos de qualidade para o modelo agronômico criado. Os modelos agronômicos podem ser comparados e/ou validados usando uma ou mais técnicas de comparação, tais como, mas não limitadas a erro quadrático médio com validação cruzada resta um (RMSECV), erro médio absoluto, e erro percentual médio. Por exemplo, RMSECV pode validar de forma cruzada modelos agronômicos por comparar valores de propriedade agronômica preditos criados pelo modelo agronômico com valores de propriedade agronômica históricos coletados e analisados. Em uma modalidade, a lógica de avaliação de conjunto de dados agronômicos é utilizada como uma repetição de realimentação onde conjuntos de dados agronômicos que não atendem aos limites configurados de qualidade são utilizados durante etapas futuras de seleção de subconjunto de dados (bloco 310).
[0083] No bloco 320, o sistema de computador de inteligência agrícola 130 é configurado ou programado para implementar a criação do modelo agronômico baseado nos conjuntos de dados agronômicos que tiveram validação cruzada. Em uma modalidade, a criação do modelo agronômico pode implementar técnicas de regressão multivariada para criar modelos de dados agronômicos pré- configurados.
[0084] No bloco 325, o sistema de computador de inteligência agrícola 130 é configurado ou programado para armazenar os modelos de dados agronômicos pré-configurados para avaliação futura dos dados de campo.
2.5. EXEMPLO DE IMPLEMENTAÇÃO – VISTA GERAL DO
HARDWARE
[0085] De acordo com uma modalidade, as técnicas descritas neste documento são implementadas por um ou mais dispositivos de computação de propósito especial. Os dispositivos de computação de propósito especial podem estar fisicamente conectados para executar as técnicas ou podem incluir dispositivos eletrônicos digitais, tais como um ou mais circuitos integrados específicos de aplicação (ASICs) ou arranjos de portas programáveis em campo (FPGAs) que são persistentemente programados para executar as técnicas ou podem incluir um ou mais processadores de hardware de propósito geral programados para executar as técnicas de acordo com as instruções de programa em firmware, memória, outro armazenamento ou uma combinação. Tais dispositivos de computação para propósito especial também podem combinar lógica fisicamente gravadas customizada, ASICs ou FPGAs com programação customizada para realizar as técnicas. Os dispositivos de computação de propósito especial podem ser sistemas de computador de mesa, sistemas de computador portátil, dispositivos de mão, dispositivos de rede ou qualquer outro dispositivo que incorpore lógica fisicamente gravada e/ou de programa para implementar técnicas.
[0086] Por exemplo, a FIGURA 4 é um diagrama de blocos que ilustra um sistema de computador 400 no qual uma modalidade da invenção pode ser implementada. O sistema de computador 400 inclui um barramento 402 ou outro mecanismo de comunicação para comunicar informação e um processador de hardware 404 acoplado ao barramento 402 para processar informação. O processador de hardware 404 pode ser, por exemplo, um microprocessador de propósito geral.
[0087] O sistema de computador 400 também inclui uma memória principal 406, tal como uma memória de acesso aleatório (RAM) ou outro dispositivo de armazenamento dinâmico, acoplado ao barramento 402 para armazenar informações e instruções a serem executadas pelo processador 404. A memória principal 406 também pode ser utilizada para armazenar variáveis temporárias ou outras informações intermediárias durante a execução de instruções a serem executadas pelo processador 404. Tais instruções, quando armazenadas em mídia de armazenamento não temporária acessível ao processador 404, transformam o sistema de computador 400 em uma máquina de propósito especial que é customizada para executar as operações especificadas nas instruções.
[0088] O sistema de computador 400 inclui ainda uma memória somente para leitura (ROM) 408 ou outro dispositivo de armazenamento estático acoplado ao barramento 402 para armazenar informação estática e instruções para o processador 404. Um dispositivo de armazenamento 410, tal como um disco magnético, disco óptico ou unidade de estado sólido é proporcionado e acoplado ao barramento 402 para armazenar informação e instruções.
[0089] O sistema de computador 400 pode ser acoplado via barramento 402 a um vídeo 412, tal como um tubo de raios catódicos (CRT), para exibir informação para um usuário de computador. Um dispositivo de entrada 414, incluindo teclas alfanuméricas e outras, é acoplado ao barramento 402 para comunicar informação e seleções de comando ao processador 404. Outro tipo de dispositivo de entrada do usuário é o controle de cursor 416, tal como um mouse, um trackball ou teclas de direção do cursor para comunicar informações de direção e seleções de comando para o processador 404 e para controlar o movimento do cursor no vídeo 412. Este dispositivo de entrada normalmente possui dois graus de liberdade em dois eixos geométricos, um primeiro eixo geométrico (por exemplo, x) e um segundo eixo geométrico (por exemplo, y), que permite que o dispositivo especifique posições em um plano.
[0090] O sistema de computador 400 pode implementar as técnicas descritas neste documento usando lógica gravada fisicamente customizada, um ou mais ASICs ou FPGAs, firmware e/ou lógica de programa que em combinação com o sistema de computador causa ou programa o sistema de computador 400 para ser uma máquina de propósito especial. De acordo com uma modalidade, as técnicas neste documento são executadas pelo sistema de computador 400 em resposta ao processador 404 executando uma ou mais sequências de uma ou mais instruções contidas na memória principal 406. Tais instruções podem ser lidas para a memória principal 406 a partir de outro meio de armazenamento, tal como dispositivo de armazenamento
410. A execução das sequências de instruções contidas na memória principal 406 causa que o processador 404 execute as etapas do processo descritas neste documento. Em modalidades alternativas, os circuitos gravados fisicamente podem ser utilizados no lugar ou em combinação com as instruções do software.
[0091] O termo "mídia de armazenamento", conforme utilizado neste documento, refere-se a qualquer mídia não temporária que armazena dados e/ou instruções que causam que uma máquina opere de uma maneira específica. Tal mídia de armazenamento pode compreender mídia não volátil e/ou mídia volátil. A mídia não volátil inclui, por exemplo, discos ópticos, discos magnéticos ou unidades de estado sólido, tal como o dispositivo de armazenamento 410. A mídia volátil inclui memória dinâmica, tal como a memória principal 406. Formas comuns de mídia de armazenamento incluem, por exemplo, um disquete, um disco flexível, um disco rígido, uma unidade de estado sólido, uma fita magnética ou qualquer outro meio de armazenamento de dados magnéticos, um CD-ROM, qualquer outro meio de armazenamento de dados ópticos, qualquer meio físico com padrões de furos, uma RAM, uma PROM e EPROM, uma FLASH-EPROM, uma NVRAM, qualquer outro chip de memória ou cartucho.
[0092] A mídia de armazenamento é diferente, mas pode ser utilizada em conjunto com a mídia de transmissão. A mídia de transmissão participa em transferir informação entre a mídia de armazenamento. Por exemplo, a mídia de transmissão inclui cabos coaxiais, fio de cobre e fibra óptica, incluindo os fios que compõem o barramento 402. A mídia de transmissão também pode assumir a forma de ondas acústicas ou de luz, tais como aquelas geradas durante as comunicações de dados de ondas de rádio e infravermelho.
[0093] Várias formas de mídia podem estar envolvidas em transportar uma ou mais sequências de uma ou mais instruções para o processador 404 para execução. Por exemplo, as instruções podem ser inicialmente transportadas em um disco magnético ou em uma unidade de estado sólido de um computador remoto. O computador remoto pode carregar as instruções em sua memória dinâmica e enviar as instruções através de uma linha telefônica usando um modem. Um modem local ao sistema de computador 400 pode receber os dados na linha telefônica e utilizar um transmissor infravermelho para converter os dados em um sinal infravermelho. Um detector de infravermelhos pode receber os dados transportados no sinal infravermelho e o sistema de circuitos apropriados pode colocar os dados no barramento 402. O barramento 402 transporta os dados para a memória principal 406, a partir da qual o processador 404 recupera e executa as instruções. As instruções recebidas a partir da memória principal 406 podem ser opcionalmente armazenadas no dispositivo de armazenamento 410 tanto antes como após a execução pelo processador 404.
[0094] O sistema de computador 400 também inclui uma interface de comunicação 418 acoplada ao barramento 402. A interface de comunicação 418 proporciona um acoplamento de comunicação de dados bidirecional para um link de rede 420 que está conectado a uma rede local 422. Por exemplo, a interface de comunicação 418 pode ser uma placa de rede digital de serviços integrados (ISDN), modem a cabo, modem via satélite ou um modem para proporcionar uma conexão de comunicação de dados para um tipo correspondente de linha telefônica. Como outro exemplo, a interface de comunicação 418 pode ser uma placa de rede de área local (LAN) para proporcionar uma conexão de comunicação de dados para uma LAN compatível. Links sem uso de fios também podem ser implementados. Em qualquer implementação, a interface de comunicação 418 envia e recebe sinais elétricos, eletromagnéticos ou ópticos que transportam fluxos de dados digitais representando vários tipos de informações.
[0095] O link de rede 420 normalmente proporciona comunicação de dados através de uma ou mais redes para outros dispositivos de dados. Por exemplo, o link de rede 420 pode proporcionar uma conexão através da rede local 422 para um computador hospedeiro 424 ou para um equipamento de dados operado por um Provedor de Serviços de Internet (ISP) 426. O ISP 426, por sua vez, proporciona serviços de comunicação de dados através da rede mundial de comunicação de pacote de dados agora comumente referida como "Internet" 428. Ambas a rede local 422 e a Internet 428 utilizam sinais elétricos, eletromagnéticos ou ópticos que transportam fluxos de dados digitais. Os sinais através das várias redes e os sinais no link de rede 420 e através da interface de comunicação 418, os quais transportam os dados digitais de e para o sistema de computador 400, são formas ilustrativas de mídia de transmissão.
[0096] O sistema de computador 400 pode enviar mensagens e receber dados, incluindo código de programa, através da(s) rede(s), do link de rede 420 e da interface de comunicação 418. No exemplo da Internet, um servidor 430 pode transmitir um código solicitado para um programa aplicativo por meio da Internet 428, do ISP 426, da rede local 422 e da interface de comunicação 418.
[0097] O código recebido pode ser executado pelo processador 404 conforme é recebido e/ou armazenado no dispositivo de armazenamento 410 ou em outro armazenamento não volátil para execução posterior.
3. SISTEMA DE DETECÇÃO DE NUVEM E DE SOMBRA DE NUVEM
[0098] A FIGURA 7 representa um método ilustrativo para utilizar um sistema de aprendizado de máquina para identificar pixels em uma imagem como localizações de nuvem.
3.1. DADOS RECEBIDOS
[0099] Na etapa 702, imagens de campos agronômicos produzidas usando uma ou mais faixas de frequências são recebidas. As imagens do campo agronômico podem ser produzidas por um satélite configurado para capturar imagens em várias faixas de frequências. Por exemplo, o satélite SENTINEL-2 operado pela EUROPEAN SPACE AGENCY produz imagens em várias faixas de frequências incluindo uma faixa de frequências vermelha, uma faixa de frequências azul, uma faixa de frequências verde, uma faixa de frequências quase infravermelha, e uma faixa de frequências de vapor d’água.
[00100] O sistema de computador de inteligência agrícola pode receber vários conjuntos de imagens diretamente ou indiretamente a partir do satélite, em que cada conjunto de imagens compreende uma imagem em cada faixa de frequências correspondendo a uma mesma localização. O sistema pode receber qualquer número das faixas de frequências descritas acima e/ou diferentes faixas de frequências para uso ao detectar nuvem e sombra de nuvem em uma imagem. Os dados podem ser recebidos em uma série de valores de pixel para imagens de cada faixa de frequências, os valores de pixel correspondendo às localizações de pixel. Em uma modalidade, cada imagem em um conjunto de imagens é de um mesmo tamanho com pixels correspondendo a localizações sobrepostas. Por exemplo, o N-ésimo pixel da imagem da faixa de frequências vermelha de um campo agronômico pode corresponder ao N-ésimo pixel da imagem da faixa de frequências azul do campo agronômico no mesmo conjunto que a imagem da faixa de frequências vermelha.
[00101] Na etapa 704, dados correspondentes identificando localizações de nuvem e de sombra de nuvem nas imagens são recebidos. Os dados podem indicar, para cada pixel das imagens em um conjunto de imagens, se o pixel é um pixel que não é de nuvem, um pixel de nuvem, ou um pixel de sombra de nuvem. Por exemplo, um conjunto de imagens pode incluir imagens de três faixas de frequências, cada uma das quais compreendendo 300 x 300 pixels com o N-ésimo pixels de cada imagem correspondendo a mesma localização no campo agronômico. Assim, os dados correspondentes indicam, para cada pixel das imagens de 300 x 300 pixels, se o pixel é um pixel que não é nuvem, um pixel de nuvem, ou um pixel de sombra de nuvem. Assim, se o sistema recebe imagens de 300 x 300 pixels de um campo agronômico nas três faixas de frequências, o sistema pode armazenar três matrizes 300 x 300, cada uma das quais correspondendo a uma faixa de frequências, e uma quarta matriz 300 x 300, em que cada elemento da matriz é um dos três valores, tal como 0, 1, e 2, que correspondem aos pixels que não são de nuvem, aos pixels de nuvem, ou ao pixels de sombra de nuvem.
[00102] Embora modalidades sejam descritas onde dados recebidos indicam tanto nuvem como sombra de nuvem em um único mapeamento, nas modalidades onde um sistema de aprendizado de máquina é somente utilizado para identificar localizações de nuvem, o sistema pode armazenar uma matriz indicando somente as localizações de pixels de nuvem e que não são de nuvem onde os pixels que não são de nuvem incluem pixels de sombra de nuvem. Para modalidades onde um segundo sistema de aprendizado de máquina é utilizado para identificar localizações de sombra de nuvem, o sistema pode armazenar uma matriz indicando somente as localizações dos pixels de sombra de nuvem e que não são de nuvem, desse modo permitindo ao sistema identificar nuvens e sombras de nuvem separadamente usando os métodos ainda descritos neste documento.
3.2. SISTEMA DE APRENDIZADO DE MÁQUINA DE IDENTIFICAÇÃO
DE NUVEM
[00103] Na etapa 706, o sistema treina um sistema de aprendizado de máquina para identificar pelo menos localizações de nuvem usando as imagens como entradas e pelo menos dados identificando pixels de nuvem e pixels que não são de nuvem como saídas. O sistema de aprendizado de máquina pode compreender qualquer sistema de aprendizado de máquina que seja capaz de aceitar uma ou mais matrizes de valores como entradas e gerar uma ou mais matrizes de valores como saídas, tal como uma rede neural convolucional.
[00104] Em uma modalidade, o sistema de aprendizado de máquina é um codificador – decodificador convolucional para classificação no sentido de pixel. Por exemplo, o sistema de aprendizado de máquina pode ser a arquitetura de codificador – decodificador convolucional SegNet disponível no GITHUB. De modo a capturar relações entre pixels adjacentes, o sistema de aprendizado de máquina pode incluir várias etapas de codificação convolucional entremeadas com etapas de pooling e várias etapas de decodificação convolucional entremeadas com etapas de upsampling (“aumento de amostragem”). Em uma modalidade, o codificador – decodificador convolucional SegNet é configurado usando um otimizador descendente de gradiente estocástico, uma taxa de aprendizado de 0,001, uma descida de 1e-6, um momentum de 0,9, e Nesterov estabelecido para True.
[00105] Como utilizado neste documento, a etapa de pooling compreende uma etapa de reduzir um tamanho espacial de uma representação. Por exemplo, uma etapa de pooling máximo pode compreender uma etapa de reduzir um tamanho de uma matriz por selecionar um valor máximo em cada parte 2 x 2 da matriz. Como utilizado neste documento, uma etapa de upsampling compreende uma etapa de aumentar um tamanho espacial de uma representação, tal como por inserir valores na matriz ou duplicar valores na matriz. Como utilizado neste documento, uma camada softmax compreende uma camada onde uma função softmax é aplicada para o conjunto de dados, a função softmax pegando uma entrada de números reais e normalizando a entrada para uma distribuição de probabilidade.
[00106] A FIGURA 8 representa um sistema de aprendizado de máquina de codificador – decodificador convolucional ilustrativo. O sistema de aprendizado de máquina 800 inclui o codificador 802 e o decodificador 808. O codificador 802 inclui os blocos convolucionais 804 seguidos pelas etapas de pooling 806. No sistema de aprendizado de máquina ilustrativo 800, os blocos convolucionais 804 do codificador 802 incluem o número crescente de filtros 3 x 3, com o primeiro bloco convolucional compreendendo 64 filtros 3 x 3 e o bloco convolucional final compreendendo 512 filtros 3 x 3. Os blocos convolucionais são utilizados para produzir um conjunto de mapas de característica. As etapas de pooling 806 são executadas para alcançar invariância por translação através de pequenos deslocamentos espaciais.
[00107] O decodificador 808 inclui os blocos convolucionais 810 e as etapas de upsampling 812. O decodificador executa as etapas de upsampling 812 para aumentar a amostragem de mapas de entrada de característica usando índice de pooling máximo memorizados a partir das etapas de pooling correspondentes, com a etapa de pooling final correspondendo à etapa de upsampling inicial. Os blocos convolucionais 810 também são um espelho dos blocos convolucionais 804, com o primeiro incluindo 512 filtros 3 x 3 e o bloco final incluindo 64 filtros 3 x 3, desse modo garantindo que a saída seja do mesmo tamanho e resolução que a entrada. Em uma modalidade, um bloco convolucional incluindo duas classes (nuvem e não nuvem) de filtros 1 x 1 é aplicado após o decodificador. Uma camada softmax pode ser adicionada como a camada de classificação final para selecionar a saída de probabilidade mais elevada.
[00108] Em uma modalidade, o sistema utiliza um sistema de aprendizado de máquina que é capaz de ser treinado em relação a imagens de tamanho variável e é capaz de produzir saídas com imagens de tamanhos diferentes. O sistema pode utilizar um sistema de aprendizado de máquina que foi modificado para aceitar entradas de tamanhos variáveis. Por exemplo, o codificador – decodificador convolucional SegNet é tradicionalmente ajustado com uma imagem com um tamanho de entrada de 360 x 480 e uma função de reformatação incorporada é utilizada para reformar o vetor de saída do codificador – decodificador convolucional SegNet para um vetor de mapa de imagem durante o treinamento. Para permitir que o codificador - decodificador convolucional SegNet funcione com imagens de tamanhos v ariáveis, o tamanho de entrada pode ser especificado como (Nenhum, Nenhum). Uma camada de aprendizado de máquina customizada pode então reformatar a construção do vetor baseada em um formato simbólico do tensor de saída, desse modo permitindo ao modelo aceitar imagens de tamanhos variáveis contanto que o tamanho de cada imagem de entrada corresponda ao tamanho de sua imagem de saída correspondente durante o treinamento.
[00109] Apesar de o método acima permitir que o sistema de aprendizado de máquina utilize imagens de tamanho variável, alguns tamanhos de imagem podem criar problemas durante as etapas de pooling devido aos números ímpares de pixels. Por exemplo, a FIGURA 8 inclui três etapas de pooling máximo que efetivamente reduzem o tamanho da imagem por um fator de oito. Assim, o sistema pode ser configurado para garantir que as entradas e as saídas correspondentes incluam um múltiplo de oito pixels tanto para a largura como para a altura. Por exemplo, se uma imagem tiver 365 x 484 pixels, o sistema pode adicionar 3 fileiras de pixels e 4 colunas de pixels, cada uma com um valor de pixel de 0, para a imagem de entrada e para a matriz de saída, desse modo garantindo que o treinamento do sistema de aprendizado de máquina não arredonde de forma não apropriada os valores de pixel. Adicionalmente, entradas para o sistema de aprendizado de máquina podem, da mesma forma, ser modificadas para produzir uma imagem de saída do mesmo tamanho. Após a saída ser criada, o sistema de aprendizado de máquina pode remover quaisquer fileiras ou colunas adicionadas. Adicionalmente ou alternativamente, o sistema pode truncar as entradas e as saídas correspondentes para garantir que as entradas e as saídas correspondentes incluam um múltiplo de oito pixels tanto para a largura como para a altura, tal como por remover colunas e/ou fileiras para treinamento.
[00110] Em uma modalidade, o sistema de aprendizado de máquina é treinado usando várias matrizes empilhadas como entradas e uma única matriz identificando localizações de nuvens como saídas. Por exemplo, se o sistema de aprendizado de máquina for treinado em relação a três faixas de frequências, cada emparelhamento de entrada / saída incluiria três matrizes empilhadas como entradas e uma única matriz de identificação de nuvem como uma saída. Cada uma das três matrizes de entrada para o emparelhamento de entrada / saída pode corresponder a uma faixa de frequências diferente e compreender valores de pixel para esta faixa de frequências. Um exemplo da matriz de identificação de nuvem única de saída é uma matriz de 0s e 1s onde um 0 indica que o pixel não corresponde a uma localização de nuvem e um 1 indica que o pixel corresponde a uma localização de nuvem.
[00111] Em uma modalidade, um único sistema de aprendizado de máquina é treinado para identificar tanto nuvens como sombras de nuvem nas imagens. O sistema de aprendizado de máquina pode ser configurado para separadamente identificar nuvens e sombras de nuvem. Por exemplo, ao invés das matrizes de saída incluindo somente 0s e 1s, as matrizes de saída podem incluir 0s, 1s, e 2s, onde um 0 indica que o pixel não corresponde a uma localização de nuvem, um 1 indica que o pixel corresponde a uma localização de nuvem, e um 2 indica que o pixel corresponde a uma localização de sombra de nuvem. Embora tanto os pixels de nuvem como os de sombra de nuvem sejam identificados para o propósito de remoção e/ou substituição, o sistema está apto a mais eficientemente distinguir entre nuvens / sombras de nuvem e pixels que não são nuvem nem sombra de nuvem por treinar o sistema de aprendizado de máquina com três saídas ao invés de duas.
[00112] Referindo-se novamente à FIGURA 7, na etapa 708, uma ou mais imagens particulares de um campo agronômico particular produzidas usando a uma ou mais faixas de frequências são recebidas. O sistema de computador de inteligência agrícola pode receber um conjunto de imagens diretamente ou indiretamente a partir de um satélite onde o conjunto de imagens compreende uma imagem em cada faixa de frequências correspondendo a mesma localização. Em uma modalidade, o conjunto de imagens recebido inclui uma imagem em cada faixa de frequências utilizada para trenar o sistema de aprendizado de máquina. Por exemplo, se o sistema de aprendizado de máquina foi treinado usando faixas de frequências de vermelho, azul, e verde, o conjunto de imagem recebido correspondendo a mesma localização pode incluir pelo menos uma imagem em cada uma das faixas de frequências de vermelho, azul e verde.
[00113] Na etapa 710, o sistema utiliza o sistema de aprendizado de máquina e a uma ou mais imagens particulares para identificar vários pixels na uma ou mais imagens particulares como localizações de nuvem particulares. Por exemplo, o sistema de computador de inteligência agrícola pode calcular uma matriz de saída para uma ou mais matrizes de entrada geradas a partir da uma ou mais imagens usando o sistema de aprendizado de máquina treinado. A matriz de saída pode indicar, para cada pixel, se o pixel corresponde a uma localização de nuvem ou que não é de nuvem. Em modalidades onde o sistema de aprendizado de máquina é configurado para identificar sombras de nuvem em adição às nuvens, a saída adicionalmente indica se um pixel é uma sombra de nuvem. Em algumas modalidades, a saída indica uma probabilidade de que o pixels seja uma nuvem, sombra de nuvem, ou nenhuma das duas. Adicionalmente ou alternativamente, uma camada softmax pode ser utilizada para selecionar uma classificação baseada em uma probabilidade mais elevada.
3.3. SEGMENTAÇÃO DE NUVEM E DE SOMBRA
[00114] Em uma modalidade, o computador servidor segmenta a identificação da nuvem e a identificação da sombra de nuvem. Por exemplo, o sistema pode utilizar um primeiro sistema de aprendizado de máquina para identificar localizações das nuvens e, utilizar as localizações identificadas das nuvens, gerar entradas adicionais para um segundo sistema de aprendizado de máquina utilizar para calcular localizações de sombras de nuvem. A FIGURA 9 representa um método para utilizar um primeiro sistema de aprendizado de máquina para identificar pixels em uma imagem como localizações de nuvem e um segundo sistema de aprendizado de máquina para identificar pixels em uma imagem como localizações de sombra de nuvem.
[00115] Na etapa 902, imagens de campos agronômicos produzidas usando uma ou mais faixas de frequências são recebidas. O sistema de computador de inteligência agrícola pode receber vários conjuntos de imagens diretamente ou indiretamente a partir do satélite onde cada conjunto de imagens compreende uma imagem e cada faixa de frequências correspondendo a uma mesma localização. Na etapa 904, dados correspondentes identificando localizações de nuvem e de sombra de nuvem nas imagens são recebidos. Os dados podem indicar, para cada pixel das imagens em um conjunto de imagens, se o pixel é um pixel que não é de nuvem/ de sombra de nuvem, um pixel de nuvem, ou um pixel de sombra de nuvem.
[00116] Em uma modalidade, o sistema de computador de inteligência agrícola adicionalmente recebe metadados se relacionando com a captura de cada conjunto de imagens. Os metadados podem indicar um ou mais dentre um tempo da captura da imagem, uma localização do satélite na hora da captura da imagem, um ângulo do sol em relação ao satélite na hora da captura da imagem, uma altura do satélite na hora da captura da imagem, ou uma distância entre o satélite e a localização a qual a imagem corresponde.
[00117] Na etapa 906, o sistema treina um primeiro sistema de aprendizado de máquina para identificar localizações de nuvem usando as imagens como entradas e dados identificando pixels como pixels de nuvem ou pixels que não são de nuvem como saídas. O primeiro sistema de aprendizado de máquina pode compreender qualquer sistema de aprendizado de máquina que seja capaz de aceitar uma ou mais matrizes de valores como entradas e gerar uma ou mais matrizes de valores como saídas, tal como uma rede neural convolucional. O sistema pode treinar o primeiro sistema de aprendizado de máquina usando matrizes representando a uma ou mais imagens como entradas e dados identificando se um pixel é uma nuvem ou não é nuvem como saída. Assim, se o sistema de computador de inteligência agrícola recebeu dados identificando cada pixel como nuvem, sombra de nuvem, ou nem nuvem nem sombra de nuvem, o sistema de computador de inteligência agrícola pode agrupar os pixels de sombra de nuvem com os outros pixels que não são de nuvem.
[00118] Na etapa 908, usando os dados identificando localizações de nuvem, o sistema identifica várias localizações candidatas a sombra de nuvem. Por exemplo, uma imagem bidimensional de um campo com uma nuvem pairando sobre o mesmo poderia ser obtida a partir de qualquer número de ângulos com altura de nuvem e tamanho de nuvem variáveis. O sistema pode identificar várias localizações possíveis para a sombra de nuvem em uma imagem baseado nas localizações da nuvem. Por exemplo, o sistema pode repetir através de vários ângulos e alturas para determinar diferentes tamanhos e localizações possíveis de sombras de nuvem.
[00119] Em uma modalidade, o sistema utiliza metadados recebidos para diminuir o número de variáveis ao determinar a localização de sombras de nuvem. Por exemplo, os metadados podem identificar a localização do campo, localização e ângulo do satélite, e ângulo do sol na hora em que a imagem é capturada. O sistema pode utilizar os metadados para corrigir a posição do satélite e do sol com respeito ao campo. O sistema pode então utilizar as localizações de nuvem identificadas nas imagens para determinar diferentes posições possíveis da nuvem descrita na imagem. Usando as diferentes localizações de nuvem, o sistema pode identificar várias localizações de sombra de nuvem. Por exemplo, as localizações de sombra de nuvem podem ser calculadas em função da localização do sol e da localização e do tamanho da nuvem.
[00120] Em uma modalidade, para cada uma das várias posições identificadas das nuvens identificadas, o sistema produz um mapa de sombra de nuvem. O mapa de sombra de nuvem inclui vários valores de pixel que indicam se o pixel é ou não a sombra de nuvem. Em uma modalidade, os pixels no mapa de sombra de nuvem adicionalmente indicam se o pixel é uma nuvem.
[00121] A FIGURA 10 representa várias imagens compreendendo localizações de sombra de nuvem geradas baseado nas suposições variáveis de ângulo do satélite e da altura da nuvem. A FIGURA 10 inclui a suposição de altura máxima 1000, a suposição de altura mínima 1010, e as suposições de altura intermediárias 1020.
[00122] A suposição de altura máxima 1000 compreende uma suposição da localização tridimensional da nuvem e o tamanho em uma altura máxima predeterminada baseado na localização bidimensional identificada da nuvem na imagem. Por exemplo, a altura máxima predeterminada pode ser 10.000 metros. O sistema pode determinar o tamanho e a localização prováveis da nuvem 1002 baseado na posição do satélite, no tamanho da nuvem identificada na imagem, e na altura máxima predeterminada. Baseado no tamanho e localizações prováveis da nuvem 1002 e na localização e no ângulo do sol. O sistema pode determinar uma localização provável da sombra de nuvem 1004. O sistema então pode gerar um mapa de sombra de nuvem 1006 com os pixels 1008 identificando a localização da sombra de nuvem 1004. Por exemplo, o sistema pode gerar uma mapa de pixels com valores de 0 ou 1 onde cada localização com um valor 1 é uma localização que o sistema determinou como provavelmente contendo uma sombra de nuvem e um valor de 0 corresponde a uma localização que o sistema determinou como provavelmente não contendo uma sombra de nuvem.
[00123] A suposição de altura mínima 1010 compreende uma suposição da localização tridimensional da nuvem e o tamanho em uma altura mínima predeterminada baseado na localização bidimensional identificada da nuvem na imagem. Por exemplo, a altura mínima predeterminada pode ser 2.000 metros. O sistema pode determinar o tamanho e a localização prováveis da nuvem 1012 baseado na posição do satélite, no tamanho da nuvem identificada na imagem, e na altura mínima predeterminada. Baseado no tamanho e localização prováveis determinados da nuvem 1012 e na localização e no ângulo do sol, o sistema pode determinar uma localização provável da sombra de nuvem
1014. O sistema pode então gerar um mapa de sombra de nuvem 1016 com pixels 1018 identificando a localização da sombra de nuvem 1014.
[00124] As suposições de altura intermediárias 1020 compreendem várias suposições intermediárias da localização tridimensional da nuvem e do tamanho entre a altura máxima e a altura mínima baseado na localização bidimensional da nuvem na imagem. Por exemplo, o sistema pode gerar uma nova suposição intermediária para cada 2.000 metros de altura entre a altura mínima predeterminada e a altura máxima predeterminada. O sistema pode determinar, para cada suposição intermediária, a localização provável da nuvem 1022 baseado na posição do satélite, no tamanho da nuvem identificada na imagem, e na altura da nuvem na suposição intermediária. Baseado no tamanho e na localização prováveis da nuvem 1022 e na localização e no ângulo do sol, o sistema pode determinar uma localização provável da sombra de nuvem 1024 para a suposição intermediária. O sistema pode então gerar um mapa de sombra de nuvem 1026 com pixels 1028 identificando a localização da sombra de nuvem 1024.
[00125] Embora a FIGURA 10 represente um exemplo de repetir através de uma variável, isto é, a altura da nuvem, modalidades podem incluir repetições através de várias variáveis. Por exemplo, se os metadados incluírem um ângulo do sol, mas não o ângulo e/ou a localização do satélite na hora da captura da imagem, o sistema pode repetir através tanto do ângulo do satélite e/ou da localização e das alturas da nuvem. Assim, uma localização candidata a sombra de nuvem pode ser gerada baseado em uma suposição da altura de nuvem mais baixa no menor ângulo de satélite, uma pode ser gerada baseado em uma suposição da altura mais alta da nuvem no menor ângulo de satélite, uma pode ser gerada baseado em uma suposição da altura mais baixa da nuvem no ângulo mais pronunciado, e uma pode ser gerada baseado em uma suposição da altura mais alta de nuvem no ângulo de satélite mais pronunciado.
[00126] Referindo-se novamente à FIGURA 9, na etapa 910, o sistema treina um segundo sistema de aprendizado de máquina para identificar localizações de sombra de nuvem usando as imagens e as localizações candidatas a sombra de nuvem como entrada e dados identificando localizações de sombra de nuvem como saídas. O segundo sistema de aprendizado de máquina pode compreender qualquer sistema de aprendizado de máquina que seja capaz de aceitar uma ou mais matrizes de valores como entradas e gerar uma ou mais matrizes de valores como saídas, tal como uma rede neural convolucional.
[00127] O sistema pode treinar o segundo sistema de aprendizado de máquina usando matrizes representando a uma ou mais imagens e matrizes representando as localizações candidatas a sombra de nuvem como entradas e dados identificando se um pixel é uma sombra de nuvem ou não é sombra de nuvem como saída. Por exemplo, se o primeiro sistema de aprendizado de máquina foi treinado usando conjuntos de dados de treinamento compreendendo matrizes de imagens empilhadas como entradas e uma matriz representando localizações de nuvem como a saída para cada conjunto de dados de treinamento, o segundo sistema de aprendizado de máquina pode ser treinado usando conjuntos de dados de treinamento compreendendo dez matrizes empilhadas como entradas e uma matriz representando localizações de sombra de nuvem como a saída para cada conjunto de dados de treinamento, as dez matrizes empilhadas incluindo as três matrizes de imagens empilhadas e sete matrizes de candidatos a localização de nuvem empilhadas. Desta maneira, o sistema utiliza relações entre nuvens e sombras de nuvem para aumentar a eficácia do modelo de aprendizado de máquina ao detectar sombras de nuvem.
[00128] Na etapa 912, uma ou mais imagens particulares de um campo agronômico particular produzidas usando a uma ou mais faixas de frequências são recebidas. O sistema de computador de inteligência agrícola pode receber um conjunto de imagens diretamente ou indiretamente a partir de um satélite onde o conjunto de imagens compreende uma imagem em cada faixa de frequências correspondendo a mesma localização. Em uma modalidade, o conjunto de imagens recebido inclui uma imagem em cada faixa de frequências utilizada para treinar o sistema de aprendizado de máquina. Por exemplo, se o sistema de aprendizado de máquina foi treinado usando faixas de frequências vermelho, azul e verde, o conjunto de imagens recebido correspondendo a mesma localização pode incluir pelo menos uma imagem em cada uma das faixas de frequências de vermelho, azul e verde.
[00129] Na etapa 914, o sistema utiliza o primeiro sistema de aprendizado de máquina e a uma ou mais imagens particulares para identificar vários pixels na uma ou mais imagens particulares como localizações de nuvem particulares. Por exemplo, o sistema de computador de inteligência agrícola pode calcular e emitir matriz para matrizes de entrada geradas a partir da uma ou mais imagens particulares usando o primeiro sistema de aprendizado de máquina treinado. A matriz de saída pode indicar, para cada pixel, se o pixel corresponde a uma localização de nuvem ou que não é de nuvem.
[00130] Na etapa 916, o sistema identifica várias localizações candidatas a sombra de nuvem particulares usando as localizações de nuvem particulares. Por exemplo, o sistema pode utilizar as técnicas descritas neste documento para repetir através de várias diferentes alturas e tamanhos de nuvem baseado nas localizações de nuvem particulares para gerar vários mapas de sombra de nuvem, cada mapa de sombra de nuvem incluindo em uma ou mais localizações de sombra de nuvem baseado em uma suposição de altura e de tamanho de nuvem gerada a partir das localizações de nuvem particulares identificadas.
[00131] Na etapa 918, o sistema utiliza o segundo sistema de aprendizado de máquina, as várias localizações candidatas a sombra de nuvem particulares, e a uma ou mais imagens particulares para identificar vários pixels na uma ou mais imagens particulares como localizações particulares de sombra de nuvem. Por exemplo, o sistema de computador de Inteligência agrícola pode calcular uma matriz de saída para matrizes de entrada geradas a partir da uma ou mais imagens particulares e os mapas de sombra de nuvem usando o segundo sistema de aprendizado de máquina treinado. A matriz de saída pode indicar, para cada pixel, se o pixel corresponde a uma sombra de nuvem ou a uma localização que não é de sombra de nuvem.
4. SUBSTITUINDO PIXELS DE NUVEM IDENTIFICADOS
[00132] Em uma modalidade, o sistema utiliza os sistemas e métodos descritos neste documento para aprimorar imagens de campos agronômicos por substituir pixels que compreendem nuvem ou sombra de nuvem. Por exemplo, o sistema pode remover todos os pixels que foram identificados pela nuvem ou sombra de nuvens a partir da imagem. O sistema pode então inserir pixels nas localizações onde pixels foram removidos.
[00133] Em uma modalidade, o sistema utiliza imagens adicionais da localização agronômica para aumentar uma imagem de um campo agronômico, onde um ou mais pixels foram removidos para conter nuvens e sombras de nuvem. Por exemplo, o sistema de computador de inteligência agrícola pode receber imagens adicionais das localizações capturadas em uma hora e/ou dia diferente. O sistema pode utilizar os métodos descritos neste documento para identificar nuvem e sombras de nuvem nas imagens adicionais para remoção. O sistema pode então identificar pixels que não são de nuvem e que não são de sombra de nuvem nas imagens adicionais que correspondem a uma mesma localização física como pixels de nuvem e de sombra de nuvem na imagem inicial. O sistema pode então preencher os pontos vazios da imagem inicial com os pixels que não são de nuvem e que não são de sombra de nuvem identificados a partir das imagens adicionais.
[00134] Em uma modalidade, o sistema interpola valores de pixels a partir de localizações que não são de nuvem e que não são de sombra de nuvem em uma imagem com os pixels que foram removidos para conter nuvem ou sombras de nuvem. Por exemplo, o sistema pode utilizar um ou mais algoritmos de interpolação de imagem para determinar valores de pixel de imagem para pixels removidos baseado nos valores de pixel de imagem de pixels circundantes na imagem. Como outro exemplo, o sistema pode utilizar um sistema de aprendizado de máquina treinado usando imagens com valores nulos para qualquer localizações de nuvem e de sombra de nuvem como entradas e imagens com valores de pixel identificados para as localizações de nuvem e de sombra de nuvem como saídas para identificar valores de pixel para os pixels removidos.
5. MODELAGEM AGRONÔMICA
[00135] Em uma modalidade, o sistema utiliza os sistemas e métodos descritos neste documento para aprimorar a modelagem agronômica para campos agronômicos em imagens com nuvens e sombras de nuvem. Por exemplo, um modelo de produção agronômica pode ser configurado para modelar uma produção de uma plantação em função de pelo menos um valor de índice de vegetação com diferença média normalizada (NDVI) ou outros valores de índice através do campo. À medida que os valores de índice são gerados a partir de imagens de plantações em um campo, nuvem e sombras de nuvem podem negativamente impactar sobre os valores de índice nestas localizações do campo. Assim, o sistema pode ignorar pixels que foram identificados como contendo nuvens ou sombras de nuvem quando calculando valores médios de índice para o propósito de modelagem agronômica. Adicionalmente, o sistema pode ser configurado para identificar o pixel como parte do campo para outros propósitos, tal como modelagem de produção total, mas sem um valor de pixel. Assim, se o índice vegetativo médio for aplicado para todas as localizações no campo, o pixel pode receber o valor de índice vegetativo médio independente de não ser utilizado para o cálculo do valor de índice vegetativo médio.
[00136] Em uma modalidade, o sistema filtra imagens para uso na modelagem baseado em dados identificando nuvens e sombras de nuvem. Por exemplo, o sistema pode remover todas as imagens que contêm nuvens ou sombras de nuvem e somente utilizar imagens que estão livres de nuvens ou sombras de nuvem para propósito de modelagem. Remover as imagens contendo nuvens ou sombras de nuvem pode compreender gerar, a partir de um conjunto de imagens de um campo, um subconjunto estrito de imagens que não foram identificadas como contendo nuvens ou sombras de nuvem. Adicionalmente ou alternativamente, o sistema pode remover imagens onde uma parte particular das imagens contém nuvens ou sombras de nuvem. Por exemplo, o sistema pode remover todas as imagens onde a porcentagem de pixels contendo nuvens ou sombras de nuvem é maior ou igual a trinta por cento.
[00137] Por remover imagens que incluem nuvens ou sombras de nuvem, o sistema reduz utilização de memória para armazenar imagens, reduz o número de cálculos executados, e aumenta a precisão da modelagem executada usando as imagens restantes. Por exemplo, se o sistema receber cinquenta imagens através de um período de tempo para o propósito de modelar a produção da plantação, o sistema pode primeiro identificar vinte destas imagens como contendo mais do que uma porcentagem limite de nuvens ou de sombras de nuvem e remover as imagens identificadas. O sistema então pode executar as técnicas de modelagem usando as trinta imagens restantes, desse modo diminuindo o custo computacional da modelagem enquanto aumentando a precisão do modelo.
6. EXIBIÇÃO DE MAPA AGRONÔMICO
[00138] Em uma modalidade, o sistema utiliza os sistemas e métodos descritos neste documento para gerar uma exibição aprimorada. Por exemplo, o sistema pode identificar imagens ideais de um campo para exibição em um dispositivo de computação baseado nos dados identificando localizações de nuvem e de sombra de nuvem. Como um exemplo prático, o sistema pode solicitar a exibição de uma imagem recente de um campo agronômico. O sistema pode identificar a imagem mais recentemente gerada do campo que não contém qualquer nuvem ou sombra de nuvem e causar a exibição da imagem identificada. Adicionalmente ou alternativamente, o sistema pode identificar a imagem mais recentemente gerada do campo que contém menos do que um percentual limite de nuvem ou de sombra de nuvem e causar a exibição da imagem identificada.
[00139] Em uma modalidade, o sistema gera uma sobreposição para a imagem baseado nos dados identificando nuvens e sombras de nuvem na imagem. Por exemplo, o sistema pode calcular um valor de índice, tal como um valor NDVI, para cada localização no campo que não foi identificada como incluindo uma nuvem ou sombra de nuvem. O sistema então pode gerar uma sobreposição para a imagem que identifica o NDVI das localizações que não incluem nuvem ou sombra de nuvem. Assim, se o sistema receber uma solicitação para exibir uma imagem atual de um campo com valores NDVI, o sistema pode utilizar os métodos descritos neste documento para identificar localizações de nuvem e de sombra de nuvem e gerar uma sobreposição para as localizações restantes. O sistema pode então causar a exibição da imagem com a sobreposição em um dispositivo de computação cliente solicitante.
[00140] Por gerar uma sobreposição que distingue entre localizações com nuvens ou sombras de nuvem e localizações sem, o sistema está apto a proporcionar uma interface aprimorada que pode exibir dados úteis sobrepondo uma imagem de um campo agronômico. Assim, o sistema pode estar apto a exibir imagens a partir de diferentes horas em um dia ou de diferentes dias sem perder informação ou proporcionar informação incorreta devido à existência de uma nuvem. Por exemplo, o sistema de computador de inteligência agrícola pode receber uma solicitação para exibir uma imagem de um agronômico em um primeiro dia em uma primeira hora e, em resposta, exibir uma imagem com uma sobreposição identificando valores de índice vegetativo para localizações sem nuvem ou sombras de nuvem. O sistema então pode receber uma segunda solicitação para exibir uma imagem do campo agronômico em um segundo dia em uma segunda hora e, em resposta, exibir uma imagem com uma sobreposição diferente devido às posições de deslocamento de nuvens e de sombras de nuvem. Desta maneira, o sistema proporciona valores de índice para localizações onde valores são calculáveis em cada imagem, desse modo permitindo que um gerenciador de campo obtenha informação útil com respeito a um campo agronômico independente da existência de nuvens nas várias imagens.
7. BENEFÍCIOS DE ALGUMAS MODALIDADES
[00141] Os sistemas e métodos descritos neste documento proporcionam uma aplicação prática de aprendizado de máquina para solucionar um problema específico que surge ao utilizar imagística por satélite para propósitos agronômicos. Por utilizar um algoritmo de aprendizado de máquina, um sistema de computador de inteligência agrícola está apto a aprimorar a utilização de imagens para propósitos agronômicos por identificar nuvens ou sombras de nuvem nas imagens. Isto permite que o sistema de computador de inteligência agrícola praticamente aplique técnicas de aprendizado de máquina para solucionar um problema único para a imagística por satélite.
Adicionalmente, os métodos e técnicas descritos neste documento permitem que o sistema de computador de inteligência agrícola gere imagens aprimoradas, modelos agronômicos aprimorados, e exibições de mapa aprimoradas.
[00142] Os sistemas e métodos descritos neste documento aprimoram a habilidade do computador em executar cálculos complexos para propósito de modelagem agronômica. Por remover pixels incluindo nuvens e sombras de nuvem a partir de imagens recebidas, o sistema está apto a produzir cálculos precisos usando um menor número de imagens, desse modo reduzindo o número de cálculos que o computador deve executar para obter a mesma precisão nos resultados. Adicionalmente, a memória do sistema de computador pode ser aprimorada pela remoção do armazenamento de imagens que contêm nuvens e sombras de nuvem ou imagens com mais do que uma porcentagem limite da imagem contendo nuvem ou sombras de nuvem.

Claims (32)

REIVINDICAÇÕES
1. Sistema, caracterizado pelo fato de que compreende: um ou mais processadores; uma memória armazenando instruções que, quando executadas pelo um ou mais processadores, causam a execução de: receber várias imagens de campos agronômicos produzidas usando uma ou mais faixas de frequências; receber dados correspondentes identificando localizações de nuvem e de sombra de nuvem nas imagens; treinar um sistema de aprendizado de máquina para identificar pelo menos localizações de nuvem usando as imagens como entradas e pelo menos dados identificando pixels como pixels de nuvem ou pixels que não são de nuvem como saídas; receber uma ou mais imagens particulares de um campo agronômico particular produzidas usando a uma ou mais faixas de frequências; usando a uma ou mais imagens particulares como entradas para o sistema de aprendizado de máquina, identificar vários pixels na uma ou mais imagens particulares como localizações de nuvem particulares.
2. Sistema, de acordo com a reivindicação 1, caracterizado pelo fato de que o sistema de aprendizado de máquina é um codificador – decodificador convolucional compreendendo várias etapas de codificação convolucional entremeadas com etapas de pooling e várias etapas de decisão convolucional entremeadas com etapas de upsampling.
3. Sistema, de acordo com a reivindicação 1, caracterizado pelo fato de que o sistema de aprendizado de máquina é um codificador – decodificador convolucional que foi customizado para aceitar entradas de diferentes tipos usando uma camada de aprendizado de máquina customizada que formata uma construção de um vetor baseada em um formato simbólico de um tensor de saída.
4. Sistema, de acordo com a reivindicação 1, caracterizado pelo fato de que cada entrada das entradas utilizadas para trenar o sistema de aprendizado de máquina compreende várias matrizes empilhadas, cada uma das várias matrizes empilhadas geradas a partir de imagens capturadas usando diferentes faixas de frequências.
5. Sistema, de acordo com a reivindicação 1, caracterizado pelo fato de que as instruções, quando executadas pelo um ou mais processadores, ainda causam a execução de remoção, a partir da uma ou mais imagens particulares, de cada pixel dos vários pixels que foram identificados como localizações de nuvem particulares.
6. Sistema, de acordo com a reivindicação 5, caracterizado pelo fato de que as instruções, quando executadas pelo um ou mais processadores, ainda causam a execução de: receber uma ou mais segundas imagens do campo agronômico particular produzidas usando a uma ou mais faixas de frequências; usando a uma ou mais segundas imagens como entradas para o sistema de aprendizado de máquina, identificar vários pixels na uma ou mais segundas imagens como localizações de nuvem particulares; identificar um subconjunto de vários pixels que foram identificados como localizações de nuvem particulares na uma ou mais imagens particulares que correspondem ao vários pixels que não foram identificados como localizações de nuvem particulares na uma ou mais segundas imagens; substituir pixels removidos correspondendo ao subconjunto identificado dos vários pixels que foram identificados como localizações de nuvem particulares na uma ou mais imagens particulares pelos vários pixels que não foram identificados como localizações de nuvem particulares na uma ou mais segundas imagens.
7. Sistema, de acordo com a reivindicação 1, caracterizado pelo fato de que as instruções, quando executadas pelo um ou mais processadores, ainda causam a execução de: receber várias segundas imagens do campo agronômico particular produzidas usando a uma ou mais faixas de frequências; usando as várias segundas imagens como entradas para o sistema de aprendizado de máquina, identificar vários pixels nas várias segundas imagens como localizações de nuvem particulares; receber uma solicitação para exibir uma imagem do campo agronômico particular; determinar que a uma ou mais imagens particulares compreendem menos pixels que foram identificados como localizações de nuvem particulares do que cada uma das várias segundas imagens e, em resposta, causar a exibição da uma ou mais imagens particulares.
8. Sistema, caracterizado pelo fato de que compreende: um ou mais processadores; uma memória armazenando instruções que, quando executadas pelo um ou mais processadores, ainda causa a execução de: receber várias imagens de campos agronômico produzidas usando uma ou mais faixas de frequências; receber dados correspondentes identificando localizações de nuvem e localizações de sombra de nuvem nas imagens; treinar um primeiro sistema de aprendizado de máquina para identificar localizações de nuvem usando as imagens como entradas e dados identificando pixels como pixels de nuvem ou pixels que não são de nuvem como saídas; usando os dados identificando localizações de nuvem,
identificar várias localizações candidatas a sombra de nuvem para cada uma das várias imagens; treinar um segundo sistema de aprendizado de máquina para identificar localizações de sombra de nuvem usando as imagens e as localizações candidatas a sombra de nuvem como entradas e dados identificando pixels como pixels de sombra de nuvem ou pixels que não são sombra de nuvem como saídas; receber uma ou mais imagens particulares de um campo agronômico particular produzidas usando a uma ou mais faixas de frequências ; usando a uma ou mais imagens particulares como entradas para o primeiro sistema de aprendizado de máquina, identificar vários pixels na uma ou mais imagens particulares como localizações de nuvem particulares; usando as localizações de nuvem particulares, identificar várias localizações candidatadas a sombra de nuvem; usando a uma ou mais imagens particulares e as várias localizações candidatas a sombra de nuvem particulares como entradas para o segundo sistema de aprendizado de máquina, identificar vários pixels na uma ou mais imagens particulares como localizações de sombra de nuvem particulares.
9. Sistema, de acordo com a reivindicação 8, caracterizado pelo fato de que identificar várias localizações de nuvem candidatas compreende, para cada imagem nas várias imagens: receber metadados identificando uma localização de um campo agronômico na imagem, uma localização e ângulo de um dispositivo de captura de imagem que capturou a imagem em um momento quando a imagem foi capturada, e um ângulo da luz do sol e do campo agronômico no momento quando a imagem foi capturada; usando os metadados e os dados identificando localizações de nuvem, identificar várias localizações físicas possíveis de nuvens correspondendo aos dados identificando localizações de nuvem, as localizações físicas possíveis compreendendo diferentes tamanhos e alturas das nuvens; para cada localização física possível das várias localizações físicas possíveis de nuvens, utilizar o ângulo de luz do sol e a localização física possível para identificar uma localização de sombra de nuvem correspondente.
10. Sistema, de acordo com a reivindicação 9, caracterizado pelo fato de que identificar as várias localizações físicas possíveis de nuvens correspondendo aos dados identificando localizações de nuvem compreende: identificar uma primeira localização física possível de nuvens em uma altura máxima predeterminada; identificar uma segunda localização física possível de nuvens em uma altura mínima predeterminada; identificar uma ou mais localizações físicas intermediárias possíveis de nuvens em uma ou mais alturas entre a altura máxima predeterminada e a altura mínima predeterminada.
11. Sistema, de acordo com a reivindicação 8, caracterizado pelo fato de que o sistema de aprendizado de máquina é um codificador – decodificador convolucional compreendendo várias etapas de codificação convolucional entremeadas com etapas de pooling e várias etapas de decisão convolucional entremeadas com etapas de upsampling.
12. Sistema, de acordo com a reivindicação 8, caracterizado pelo fato de que o sistema de aprendizado de máquina é um codificador – decodificador convolucional que foi customizado para aceitar entradas de diferentes tipos usando uma camada de aprendizado de máquina customizada que formata uma construção de um vetor baseada em um formato simbólico de um tensor de saída.
13. Sistema, de acordo com a reivindicação 8, caracterizado pelo fato de que cada entrada das entradas utilizadas para treinar o sistema de aprendizado de máquina compreende várias matrizes empilhadas, cada uma das várias matrizes empilhadas geradas a partir de imagens capturadas usando diferentes faixas de frequências.
14. Sistema, de acordo com a reivindicação 8, caracterizado pelo fato de que ainda compreende remover, a partir da uma ou mais imagens particulares, cada pixel dos vários pixels que foram identificados como localizações de nuvem particulares ou localizações de sombra de nuvem particulares.
15. Sistema, de acordo com a reivindicação 14, caracterizado pelo fato de que as instruções, quando executadas pelo um ou mais processadores, ainda causam a execução de: receber uma ou mais segundas imagens do campo agronômico particular produzidas usando a uma ou mais faixas de frequências; usando a uma ou mais segundas imagens como entradas para o primeiro sistema de aprendizado de máquina, identificar vários pixels na uma ou mais segundas imagens como segundas localizações de nuvem; usando as segundas localizações de nuvem, identificar várias segunda localizações de sombra de nuvem; usando a uma ou mais segundas imagens e as várias segundas localizações candidatas a sombra de nuvem como entrada para o segundo sistema de aprendizado de máquina, identificar vários pixels na uma ou mais segundas imagens como segundas localizações de sombra de nuvem; identificar um subconjunto dos vários pixels que foram identificados como localizações de nuvem particulares ou localizações de sombra de nuvem particulares na uma ou mais imagens particulares que correspondem aos vários pixels que não foram identificados como segundas localizações de nuvem ou segundas localizações de sombra de nuvem na uma ou mais segundas imagens; substituir pixels removidos correspondendo ao subconjunto identificado dos vários pixels que foram identificados como localizações de nuvem particulares ou localizações de sombra de nuvem particulares na uma ou mais imagens particulares pelos vários pixels que não foram identificados como segundas localizações de nuvem ou segunda localizações de sombra de nuvem na uma ou mais segundas imagens.
16. Sistema, de acordo com a reivindicação 10, caracterizado pelo fato de que as instruções, quando executadas pelo um ou mais processadores, ainda causam a execução de: receber várias segundas imagens do campo agronômico particular produzidas usando a uma ou mais faixas de frequências; usando as várias segundas imagens como entradas para o sistema de aprendizado de máquina, identificar vários pixels nas várias segundas imagens como segundas localizações de nuvem; usando as segundas localizações de nuvem, identificar várias segundas localizações de sombra de nuvem; usando as várias segundas imagens e as várias segundas localizações candidatas a sombra de nuvem como entradas para o segundo sistema de aprendizado de máquina, identificar vários pixels nas várias segundas imagens como segundas localizações de sombra de nuvem; receber uma solicitação para exibir uma imagem do campo agronômico particular; determinar que a uma ou mais imagens particulares compreendem um número de pixels que foram identificados como localizações de nuvem particulares ou localizações de sombra de nuvem particulares que é menor do que um número de pixels em cada uma das várias segundas imagens que foram identificadas como segunda localizações de nuvem ou segundas localizações de sombra de nuvem e, em resposta, causar a exibição da uma ou mais imagens particulares.
17. Método implementado por computador, caracterizado pelo fato de que compreende: receber várias imagens de campos agronômicos produzidas usando uma ou mais faixas de frequências; receber dados correspondentes identificando localizações de nuvem e de sombra de nuvem nas imagens; treinar um sistema de aprendizado de máquina para identificar pelo menos localizações de nuvem usando as imagens como entradas e pelo menos dados identificando pixels como pixels de nuvem ou pixels que não são de nuvem como saídas; receber uma ou mais imagens particulares de um campo agronômico particular produzidas usando a uma ou mais faixas de frequências; usando a uma ou mais imagens particulares como entradas para o sistema de aprendizado de máquina, identificar vários pixels na uma ou mais imagens particulares como localizações de nuvem particulares.
18. Método implementado por computador, de acordo com a reivindicação 17, caracterizado pelo fato de que o sistema de aprendizado de máquina é um codificador – decodificador convolucional compreendendo várias etapas de codificação convolucional entremeadas com etapas de pooling e várias etapas de decisão convolucional entremeadas com etapas de upsampling.
19. Método implementado por computador, de acordo com a reivindicação 17, caracterizado pelo fato de que o sistema de aprendizado de máquina é um codificador – decodificador convolucional que foi customizado para aceitar entradas de diferentes tipos usando uma camada de aprendizado de máquina customizada que formata uma construção de um vetor baseada em um formato simbólico de um tensor de saída.
20. Método implementado por computador, de acordo com a reivindicação 17, caracterizado pelo fato de que cada entrada das entradas utilizadas para trenar o sistema de aprendizado de máquina compreende várias matrizes empilhadas, cada uma das várias matrizes empilhadas geradas a partir de imagens capturadas usando diferentes faixas de frequências.
21. Método implementado por computador, de acordo com a reivindicação 17, caracterizado pelo fato de que ainda compreende remover, a partir da uma ou mais imagens particulares, cada pixel dos vários pixels que foram identificados como localizações de nuvem particulares.
22. Método implementado por computador, de acordo com a reivindicação 21, caracterizado pelo fato de que ainda compreende: receber uma ou mais segundas imagens do campo agronômico particular produzidas usando a uma ou mais faixas de frequências; usando a uma ou mais segundas imagens como entradas para o sistema de aprendizado de máquina, identificar vários pixels na uma ou mais segundas imagens como localizações de nuvem particulares; identificar um subconjunto de vários pixels que foram identificados como localizações de nuvem particulares na uma ou mais imagens particulares que correspondem ao vários pixels que não foram identificados como localizações de nuvem particulares na uma ou mais segundas imagens;
substituir pixels removidos correspondendo ao subconjunto identificado dos vários pixels que foram identificados como localizações de nuvem particulares na uma ou mais imagens particulares pelos vários pixels que não foram identificados como localizações de nuvem particulares na uma ou mais segundas imagens.
23. Método implementado por computador, de acordo com a reivindicação 17, caracterizado pelo fato de que ainda compreende: receber várias segundas imagens do campo agronômico particular produzidas usando a uma ou mais faixas de frequências; usando as várias segundas imagens como entradas para o sistema de aprendizado de máquina, identificar vários pixels nas várias segundas imagens como localizações de nuvem particulares; receber uma solicitação para exibir uma imagem do campo agronômico particular; determinar que a uma ou mais imagens particulares compreendem menos pixels que foram identificados como localizações de nuvem particulares do que cada uma das várias segundas imagens e, em resposta, causar a exibição da uma ou mais imagens particulares.
24. Método implementado por computador, caracterizado pelo fato de que compreende: receber várias imagens de campos agronômico produzidas usando uma ou mais faixas de frequências; receber dados correspondentes identificando localizações de nuvem e localizações de sombra de nuvem nas imagens; treinar um primeiro sistema de aprendizado de máquina para identificar localizações de nuvem usando as imagens como entradas e dados identificando pixels como pixels de nuvem ou pixels que não são de nuvem como saídas; usando os dados identificando localizações de nuvem, identificar várias localizações candidatas a sombra de nuvem para cada uma das várias imagens; treinar um segundo sistema de aprendizado de máquina para identificar localizações de sombra de nuvem usando as imagens e as localizações candidatas a sombra de nuvem como entradas e dados identificando pixels como pixels de sombra de nuvem ou pixels que não são sombra de nuvem como saídas; receber uma ou mais imagens particulares de um campo agronômico particular produzidas usando a uma ou mais faixas de frequências ; usando a uma ou mais imagens particulares como entradas para o primeiro sistema de aprendizado de máquina, identificar vários pixels na uma ou mais imagens particulares como localizações de nuvem particulares; usando as localizações de nuvem particulares, identificar várias localizações candidatadas a sombra de nuvem; usando a uma ou mais imagens particulares e as várias localizações candidatas a sombra de nuvem particulares como entradas para o segundo sistema de aprendizado de máquina, identificar vários pixels na uma ou mais imagens particulares como localizações de sombra de nuvem particulares.
25. Método implementado por computador, de acordo com a reivindicação 24, caracterizado pelo fato de que identificar várias localizações de nuvem candidatas compreende, para cada imagem nas várias imagens: receber metadados identificando uma localização de um campo agronômico na imagem, uma localização e ângulo de um dispositivo de captura de imagem que capturou a imagem em um momento quando a imagem foi capturada, e um ângulo da luz do sol e do campo agronômico no momento quando a imagem foi capturada; usando os metadados e os dados identificando localizações de nuvem, identificar várias localizações físicas possíveis de nuvens correspondendo aos dados identificando localizações de nuvem, as localizações físicas possíveis compreendendo diferentes tamanhos e alturas das nuvens; para cada localização física possível das várias localizações físicas possíveis de nuvens, utilizar o ângulo de luz do sol e a localização física possível para identificar uma localização de sombra de nuvem correspondente.
26. Método, de acordo com a reivindicação 25, caracterizado pelo fato de que identificar as várias localizações físicas possíveis de nuvens correspondendo aos dados identificando localizações de nuvem compreende: identificar uma primeira localização física possível de nuvens em uma altura máxima predeterminada; identificar uma segunda localização física possível de nuvens em uma altura mínima predeterminada; identificar uma ou mais localizações físicas intermediárias possíveis de nuvens em uma ou mais alturas entre a altura máxima predeterminada e a altura mínima predeterminada.
27. Método implementado por computador, de acordo com a reivindicação 24, caracterizado pelo fato de que o sistema de aprendizado de máquina é um codificador – decodificador convolucional compreendendo várias etapas de codificação convolucional entremeadas com etapas de pooling e várias etapas de decisão convolucional entremeadas com etapas de upsampling.
28. Método implementado por computador, de acordo com a reivindicação 24, caracterizado pelo fato de que o sistema de aprendizado de máquina é um codificador – decodificador convolucional que foi customizado para aceitar entradas de diferentes tipos usando uma camada de aprendizado de máquina customizada que formata uma construção de um vetor baseada em um formato simbólico de um tensor de saída.
29. Método implementado por computador, de acordo com a reivindicação 24, caracterizado pelo fato de que cada entrada das entradas utilizadas para treinar o sistema de aprendizado de máquina compreende várias matrizes empilhadas, cada uma das várias matrizes empilhadas geradas a partir de imagens capturadas usando diferentes faixas de frequências.
30. Método implementado por computador, de acordo com a reivindicação 24, caracterizado pelo fato de que ainda compreende remover, a partir da uma ou mais imagens particulares, cada pixel dos vários pixels que foram identificados como localizações de nuvem particulares ou localizações de sombra de nuvem particulares.
31. Método implementado por computador, de acordo com a reivindicação 30, caracterizado pelo fato de que ainda compreende: receber uma ou mais segundas imagens do campo agronômico particular produzidas usando a uma ou mais faixas de frequências; usando a uma ou mais segundas imagens como entradas para o primeiro sistema de aprendizado de máquina, identificar vários pixels na uma ou mais segundas imagens como segundas localizações de nuvem; usando as segundas localizações de nuvem, identificar várias segunda localizações de sombra de nuvem; usando a uma ou mais segundas imagens e as várias segundas localizações candidatas a sombra de nuvem como entradas para o segundo sistema de aprendizado de máquina, identificar vários pixels na uma ou mais segundas imagens como segundas localizações de sombra de nuvem; identificar um subconjunto dos vários pixels que foram identificados como localizações de nuvem particulares ou localizações de sombra de nuvem particulares na uma ou mais imagens particulares que correspondem aos vários pixels que não foram identificados como segundas localizações de nuvem ou segundas localizações de sombra de nuvem na uma ou mais segundas imagens; substituir pixels removidos correspondendo ao subconjunto identificado dos vários pixels que foram identificados como localizações de nuvem particulares ou localizações de sombra de nuvem particulares na uma ou mais imagens particulares pelos vários pixels que não foram identificados como segundas localizações de nuvem ou segunda localizações de sombra de nuvem na uma ou mais segundas imagens.
32. Método implementado por computador, de acordo com a reivindicação 26, caracterizado pelo fato de que ainda compreende: receber várias segundas imagens do campo agronômico particular produzidas usando a uma ou mais faixas de frequências; usando as várias segundas imagens como entradas para o sistema de aprendizado de máquina, identificar vários pixels nas várias segundas imagens como segundas localizações de nuvem; usando as segundas localizações de nuvem, identificar várias segundas localizações de sombra de nuvem; usando as várias segundas imagens e as várias segundas localizações candidatas a sombra de nuvem como entradas para o segundo sistema de aprendizado de máquina, identificar vários pixels nas várias segundas imagens como segundas localizações de sombra de nuvem; receber uma solicitação para exibir uma imagem do campo agronômico particular; determinar que a uma ou mais imagens particulares compreendem um número de pixels que foram identificados como localizações de nuvem particulares ou localizações de sombra de nuvem particulares que é menor do que um número de pixels em cada uma das várias segundas imagens que foram identificadas como segunda localizações de nuvem ou segundas localizações de sombra de nuvem e, em resposta, causar a exibição da uma ou mais imagens particulares.
BR112021006133-9A 2018-10-19 2019-10-18 técnicas de aprendizado de máquina para identificar nuvens e sombras de nuvem em imagística por satélite BR112021006133A2 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201862748293P 2018-10-19 2018-10-19
US62/748,293 2018-10-19
PCT/US2019/056895 WO2020081909A1 (en) 2018-10-19 2019-10-18 Machine learning techniques for identifying clouds and cloud shadows in satellite imagery

Publications (1)

Publication Number Publication Date
BR112021006133A2 true BR112021006133A2 (pt) 2021-06-29

Family

ID=70279659

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112021006133-9A BR112021006133A2 (pt) 2018-10-19 2019-10-18 técnicas de aprendizado de máquina para identificar nuvens e sombras de nuvem em imagística por satélite

Country Status (9)

Country Link
US (3) US11256916B2 (pt)
EP (1) EP3867872A4 (pt)
CN (1) CN112889089B (pt)
AR (1) AR116766A1 (pt)
AU (1) AU2019362019A1 (pt)
BR (1) BR112021006133A2 (pt)
CA (1) CA3114956A1 (pt)
MX (1) MX2021004475A (pt)
WO (1) WO2020081909A1 (pt)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018176000A1 (en) 2017-03-23 2018-09-27 DeepScale, Inc. Data synthesis for autonomous control systems
US10671349B2 (en) 2017-07-24 2020-06-02 Tesla, Inc. Accelerated mathematical engine
US11409692B2 (en) 2017-07-24 2022-08-09 Tesla, Inc. Vector computational unit
US11893393B2 (en) 2017-07-24 2024-02-06 Tesla, Inc. Computational array microprocessor system with hardware arbiter managing memory requests
US11157441B2 (en) 2017-07-24 2021-10-26 Tesla, Inc. Computational array microprocessor system using non-consecutive data formatting
US11561791B2 (en) 2018-02-01 2023-01-24 Tesla, Inc. Vector computational unit receiving data elements in parallel from a last row of a computational array
US11215999B2 (en) 2018-06-20 2022-01-04 Tesla, Inc. Data pipeline and deep learning system for autonomous driving
US11361457B2 (en) 2018-07-20 2022-06-14 Tesla, Inc. Annotation cross-labeling for autonomous control systems
US11636333B2 (en) 2018-07-26 2023-04-25 Tesla, Inc. Optimizing neural network structures for embedded systems
US11562231B2 (en) 2018-09-03 2023-01-24 Tesla, Inc. Neural networks for embedded devices
KR20210072048A (ko) 2018-10-11 2021-06-16 테슬라, 인크. 증강 데이터로 기계 모델을 훈련하기 위한 시스템 및 방법
MX2021004475A (es) 2018-10-19 2021-06-04 Climate Llc Tecnica de aprendizaje automatico para identificar nubes y sombras de nubes en imagenes satelitales.
US11196678B2 (en) 2018-10-25 2021-12-07 Tesla, Inc. QOS manager for system on a chip communications
US11816585B2 (en) 2018-12-03 2023-11-14 Tesla, Inc. Machine learning models operating at different frequencies for autonomous vehicles
US11537811B2 (en) 2018-12-04 2022-12-27 Tesla, Inc. Enhanced object detection for autonomous vehicles based on field view
US11610117B2 (en) 2018-12-27 2023-03-21 Tesla, Inc. System and method for adapting a neural network model on a hardware platform
US10997461B2 (en) 2019-02-01 2021-05-04 Tesla, Inc. Generating ground truth for machine learning from time series elements
US11567514B2 (en) 2019-02-11 2023-01-31 Tesla, Inc. Autonomous and user controlled vehicle summon to a target
US10956755B2 (en) 2019-02-19 2021-03-23 Tesla, Inc. Estimating object properties using visual image data
US11010606B1 (en) * 2019-11-15 2021-05-18 Maxar Intelligence Inc. Cloud detection from satellite imagery
US11568320B2 (en) * 2021-01-21 2023-01-31 Snowflake Inc. Handling system-characteristics drift in machine learning applications
CN113516633A (zh) * 2021-05-28 2021-10-19 西安空间无线电技术研究所 一种卫星图像的云检测标识填充方法
US11934489B2 (en) * 2021-05-31 2024-03-19 Cibo Technologies, Inc. Method and apparatus for employing deep learning to infer implementation of regenerative irrigation practices
US11880430B2 (en) 2021-05-31 2024-01-23 Cibo Technologies, Inc. Method and apparatus for employing deep learning neural network to predict management zones
CN113570642B (zh) * 2021-06-10 2024-01-05 国家卫星气象中心(国家空间天气监测预警中心) 基于背景场资料和机器学习的静止轨道卫星对流初生预警方法
CN113625283B (zh) * 2021-07-28 2024-04-02 南京航空航天大学 基于残差卷积神经网络的双极化气象雷达水凝物粒子相态识别方法
EP4144199A1 (en) 2021-09-01 2023-03-08 YARA International ASA Method and system for providing a site-specific fertilizer recommendation
CN113936009B (zh) * 2021-09-14 2023-11-21 国家卫星气象中心(国家空间天气监测预警中心) 一种气象卫星洪涝监测的云阴影去除方法、装置及设备
CN114066755B (zh) * 2021-11-11 2023-02-14 南京航空航天大学 一种基于全波段特征融合的遥感影像薄云去除方法及系统
GB2614238B (en) * 2021-12-17 2024-04-17 Iceye Oy Angle-aware object classification
JP7127928B1 (ja) * 2022-03-15 2022-08-30 日本電気株式会社 水蒸気観測方法
JP7127927B1 (ja) * 2022-03-15 2022-08-30 日本電気株式会社 水蒸気観測方法
US11663753B1 (en) * 2022-11-16 2023-05-30 Eos Data Analytics, Inc. Generation of field productivity maps
CN116740569B (zh) * 2023-06-15 2024-01-16 安徽理工大学 一种基于深度学习的降雪区域云检测系统
CN117408949A (zh) * 2023-09-20 2024-01-16 宁波大学 一种季节性动态阈值的云及云阴影检测方法及装置
US11961172B1 (en) * 2023-10-17 2024-04-16 Royce Geospatial Consultants, Inc. Advanced image enhancements for accurate processing, exploitation, and dissemination
CN117522824B (zh) * 2023-11-16 2024-05-14 安徽大学 一种基于域知识库的多源域泛化的云和云阴影检测方法

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102004052603B3 (de) * 2004-10-29 2006-05-24 Deutsches Zentrum für Luft- und Raumfahrt e.V. Verfahren zur Eliminierung von Schatteneffekten in Fernerkundungsdaten über Land
PL2104413T5 (pl) 2007-01-08 2020-07-13 The Climate Corporation Układ i sposób monitorowania siewnika
WO2009149394A1 (en) 2008-06-06 2009-12-10 Monsanto Technology Llc Generating agricultural information products using remote sensing
US20100198420A1 (en) * 2009-02-03 2010-08-05 Optisolar, Inc. Dynamic management of power production in a power system subject to weather-related factors
US8477295B2 (en) 2009-05-07 2013-07-02 Solum, Inc. Automated soil measurement device
US8509476B2 (en) * 2011-09-13 2013-08-13 The United States Of America, As Represented By The Secretary Of The Navy Automated system and method for optical cloud shadow detection over water
CN102509262B (zh) * 2011-10-17 2014-02-12 中煤地航测遥感局有限公司 一种遥感图像薄云去除方法
CN102750701B (zh) * 2012-06-15 2015-03-04 西安电子科技大学 针对Landsat TM和ETM图像的厚云及其阴影检测方法
EP3967121A1 (en) 2012-07-25 2022-03-16 Precision Planting LLC System for multi-row agricultural implement control and monitoring
CN103093241B (zh) * 2013-01-23 2015-12-02 北京理工大学 基于同质化处理的光学遥感图像非匀质云层判别方法
CA3237917A1 (en) 2014-08-22 2016-02-25 Climate Llc Methods for agronomic and agricultural monitoring using unmanned aerial systems
US9519861B1 (en) 2014-09-12 2016-12-13 The Climate Corporation Generating digital models of nutrients available to a crop over the course of the crop's development based on weather and soil data
CN104573662B (zh) * 2015-01-14 2019-03-01 北京航天世景信息技术有限公司 一种云判方法和系统
US10683305B2 (en) 2015-04-27 2020-06-16 Concert Pharmaceuticals, Inc. Deuterated OTX-015
CN104867139B (zh) * 2015-05-12 2018-02-09 中国科学院遥感与数字地球研究所 一种基于辐射场的遥感图像云及阴影检测方法
CN104966298A (zh) * 2015-06-17 2015-10-07 南京大学 一种基于微光云图数据的夜间低云大雾监测方法
US20180275314A1 (en) * 2015-08-31 2018-09-27 Green Power Labs Inc. Method and system for solar power forecasting
CN105260729B (zh) * 2015-11-20 2018-10-26 武汉大学 一种基于随机森林的卫星遥感影像云量计算方法
US9721181B2 (en) 2015-12-07 2017-08-01 The Climate Corporation Cloud detection on remote sensing imagery
CN106023098B (zh) * 2016-05-12 2018-11-16 西安电子科技大学 基于张量结构多字典学习与稀疏编码的图像修补方法
US10902598B2 (en) * 2017-01-27 2021-01-26 Arterys Inc. Automated segmentation utilizing fully convolutional networks
US10989839B1 (en) * 2017-08-29 2021-04-27 University Of Hawai'i Ground-based sky imaging and irradiance prediction system
JP6885509B2 (ja) * 2017-09-08 2021-06-16 日本電気株式会社 画像処理装置、画像処理方法及び画像処理プログラム
US10423850B2 (en) * 2017-10-05 2019-09-24 The Climate Corporation Disease recognition from images having a large field of view
CN107766810B (zh) * 2017-10-10 2021-05-14 湖南省测绘科技研究所 一种云、影检测方法
MX2021004475A (es) 2018-10-19 2021-06-04 Climate Llc Tecnica de aprendizaje automatico para identificar nubes y sombras de nubes en imagenes satelitales.

Also Published As

Publication number Publication date
CA3114956A1 (en) 2020-04-23
US20200125844A1 (en) 2020-04-23
CN112889089B (zh) 2024-03-05
US11769232B2 (en) 2023-09-26
CN112889089A (zh) 2021-06-01
AR116766A1 (es) 2021-06-09
WO2020081909A1 (en) 2020-04-23
US11256916B2 (en) 2022-02-22
EP3867872A4 (en) 2022-08-03
AU2019362019A1 (en) 2021-05-20
EP3867872A1 (en) 2021-08-25
US20220237911A1 (en) 2022-07-28
MX2021004475A (es) 2021-06-04
US20240013352A1 (en) 2024-01-11

Similar Documents

Publication Publication Date Title
US11769232B2 (en) Machine learning techniques for identifying clouds and cloud shadows in satellite imagery
US11856881B2 (en) Detection of plant diseases with multi-stage, multi-scale deep learning
US11852618B2 (en) Detecting infection of plant diseases by classifying plant photos
BR112020004115A2 (pt) meio de armazenamento não transitório, método implementado por computador de reconhecimento de doença em tempo real em um campo de cultura e método implementado por computador de determinação de um número de grãos a partir de uma imagem de um milho
BR112021004651A2 (pt) método e sistema para a execução de algoritmos de aprendizado de máquina
BR112021000429A2 (pt) Geração de mapas de produtividade agronômica a partir de imagens de saúde de campo
BR112020006760A2 (pt) reconhecimento de doenças partindo de imagens que têm grande campo de visão
BR112019002436B1 (pt) Método e sistema para estimar conteúdo de nitrogênio utilizando imagens hiperespectrais e multiespectrais e um ou mais meios de armazenamento legíveis por computador não transitórios
BR112020022715A2 (pt) análise e apresentação de dados agrícolas
BR112017026437B1 (pt) Sistema de computador e método implantado por computador para monitorar operações de um ou mais campos
BR112021001667A2 (pt) previsão automática de rendimentos e recomendação de taxas de semeadura com base em dados meteorológicos
BR112021009659A2 (pt) mapeamento de anomalias de campo com o uso de imagens digitais e modelos de aprendizado de máquina.
US10956780B2 (en) Detecting infection of plant diseases with improved machine learning
BR112021002525A2 (pt) aprimoramento de modelos de nutrientes digitais usando valores espacialmente distribuídos exclusivos para um campo agronômico
BR112021010115A2 (pt) Utilizando modelos estatísticos espaciais para implementar ensaios agronômicos

Legal Events

Date Code Title Description
B25D Requested change of name of applicant approved

Owner name: CLIMATE LLC (US)

B25G Requested change of headquarter approved

Owner name: CLIMATE LLC (US)