BR112020006760A2 - reconhecimento de doenças partindo de imagens que têm grande campo de visão - Google Patents

reconhecimento de doenças partindo de imagens que têm grande campo de visão Download PDF

Info

Publication number
BR112020006760A2
BR112020006760A2 BR112020006760-1A BR112020006760A BR112020006760A2 BR 112020006760 A2 BR112020006760 A2 BR 112020006760A2 BR 112020006760 A BR112020006760 A BR 112020006760A BR 112020006760 A2 BR112020006760 A2 BR 112020006760A2
Authority
BR
Brazil
Prior art keywords
data
region
computer
regions
images
Prior art date
Application number
BR112020006760-1A
Other languages
English (en)
Inventor
Yaqi Chen
Wei Guan
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 BR112020006760A2 publication Critical patent/BR112020006760A2/pt

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • 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
    • CCHEMISTRY; METALLURGY
    • C12BIOCHEMISTRY; BEER; SPIRITS; WINE; VINEGAR; MICROBIOLOGY; ENZYMOLOGY; MUTATION OR GENETIC ENGINEERING
    • C12NMICROORGANISMS OR ENZYMES; COMPOSITIONS THEREOF; PROPAGATING, PRESERVING, OR MAINTAINING MICROORGANISMS; MUTATION OR GENETIC ENGINEERING; CULTURE MEDIA
    • C12N15/00Mutation or genetic engineering; DNA or RNA concerning genetic engineering, vectors, e.g. plasmids, or their isolation, preparation or purification; Use of hosts therefor
    • C12N15/09Recombinant DNA-technology
    • C12N15/63Introduction of foreign genetic material using vectors; Vectors; Use of hosts therefor; Regulation of expression
    • C12N15/79Vectors or expression systems specially adapted for eukaryotic hosts
    • C12N15/82Vectors or expression systems specially adapted for eukaryotic hosts for plant cells, e.g. plant artificial chromosomes (PACs)
    • C12N15/8241Phenotypically and genetically modified plants via recombinant DNA technology
    • C12N15/8261Phenotypically and genetically modified plants via recombinant DNA technology with agronomic (input) traits, e.g. crop yield
    • C12N15/8271Phenotypically and genetically modified plants via recombinant DNA technology with agronomic (input) traits, e.g. crop yield for stress resistance, e.g. heavy metal resistance
    • C12N15/8279Phenotypically and genetically modified plants via recombinant DNA technology with agronomic (input) traits, e.g. crop yield for stress resistance, e.g. heavy metal resistance for biotic stress resistance, pathogen resistance, disease resistance
    • C12N15/8281Phenotypically and genetically modified plants via recombinant DNA technology with agronomic (input) traits, e.g. crop yield for stress resistance, e.g. heavy metal resistance for biotic stress resistance, pathogen resistance, disease resistance for bacterial resistance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2411Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on the proximity to a decision surface, e.g. support vector machines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • G06F18/24133Distances to prototypes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/50Extraction of image or video features by performing operations within image blocks; by using histograms, e.g. histogram of oriented gradients [HoG]; by summing image-intensity values; Projection analysis
    • 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
    • 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/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/10Terrestrial scenes
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01NINVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
    • G01N21/00Investigating or analysing materials by the use of optical means, i.e. using sub-millimetre waves, infrared, visible or ultraviolet light
    • G01N21/84Systems specially adapted for particular applications
    • G01N2021/8466Investigation of vegetal material, e.g. leaves, plants, fruits
    • 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)
  • Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Multimedia (AREA)
  • Genetics & Genomics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Business, Economics & Management (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Biotechnology (AREA)
  • Zoology (AREA)
  • Organic Chemistry (AREA)
  • Chemical & Material Sciences (AREA)
  • Wood Science & Technology (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • General Business, Economics & Management (AREA)
  • Mining & Mineral Resources (AREA)
  • Marine Sciences & Fisheries (AREA)
  • Animal Husbandry (AREA)
  • Human Resources & Organizations (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • Agronomy & Crop Science (AREA)
  • Tourism & Hospitality (AREA)
  • Primary Health Care (AREA)

Abstract

Um sistema de computação e métodos implementados por computador relacionados para o reconhecimento de doenças de plantações partindo de imagens de FoV grande são divulgados. Em algumas modalidades, o sistema de computação é configurado para criar inicialmente um primeiro modelo digital na memória para identificação de uma região que captura uma folha e um segundo modelo para identificação de uma região que captura uma folha infectada com uma doença. Quando fornecida uma imagem de FoV grande, sob o controle do programa, o sistema é programado então para identificar automaticamente regiões candidatas que poderiam capturar folhas individuais partindo da imagem de FoV grande utilizando o primeiro modelo. O sistema é programado para determinar também se as regiões candidatas capturam sintomas de uma doença da plantação nas folhas individuais utilizando o segundo modelo.

Description

“RECONHECIMENTO DE DOENÇAS PARTINDO DE IMAGENS QUE TÊM GRANDE CAMPO DE VISÃO” RELATÓRIO DESCRITIVO AVISO DE DIREITO AUTORAL
[0001] Uma parte da divulgação deste documento de patente contém material que está sujeito à proteção de direito autoral. O proprietário do direito autoral não tem objeção à reprodução fac-símile por qualquer um do documento de patente ou da divulgação de patente, que aparece nos arquivos ou nos registros de patente no Patent and Trademark Office, mas de outra maneira reserva todo o direito autoral ou outros direitos sejam quais forem. 0 2015-2018 The Climate Corporation.
CAMPO DA DIVULGAÇÃO
[0002] A presente divulgação fornece aperfeiçoamento nos campos técnicos de processamento de imagens digitais e visão da máquina. A divulgação refere-se de forma geral à detecção de doenças de plantações utilizando imagens digitais e referese mais especificamente ao reconhecimento de doenças de plantações partindo de imagens digitais que têm um campo de visão grande.
ANTECEDENTE
[0003] As abordagens descritas nesta seção são abordagens que poderiam ser procuradas, mas não necessariamente abordagens que foram previamente concebidas ou procuradas. Portanto, a não ser que seja indicado o contrário, não deve ser assumido que qualquer uma das abordagens descritas nesta seção se qualifica como técnica anterior meramente em virtude de sua inclusão nesta seção.
[0004] As doenças de plantações são as preocupações principais dos agricultores, uma vez que as doenças de plantações podem causar redução na produção e perda econômica. O reconhecimento e o tratamento automatizados de doenças podem começar com a captura de imagens digitais das plantações no campo. Muitas imagens capturadas pela máquina têm um campo de visão grande (“FoV”), tais como fotos de reconhecimento aéreo tiradas a uma distância de um campo. Nesta imagem, os sintomas da doença em uma plantação individual podem constituir uma característica secundária da imagem, que pode frequentemente não ser detectada com os métodos de processamento de imagem tradicionais. Seria útil ser capaz de identificar rapidamente e acuradamente os sintomas da doença partindo de imagens de FoV grande.
SUMÁRIO
[0005] As reivindicações em anexo podem servir como um sumário da divulgação.
BREVE DESCRIÇÃO DOS DESENHOS
[0006] Nos desenhos:
[0007] A FIG. 1 ilustra um exemplo de sistema de computação que é configurado para executar as funções descritas aqui, mostrado em um ambiente no campo com outro equipamento com o qual o sistema pode interoperar.
[0008] A FIG. 2 ilustra duas vistas de um exemplo de organização lógica de conjuntos de instruções na memória principal quando um exemplo de aplicativo móvel for carregado para execução.
[0009] A FIG. 3 ilustra um processo programado através do qual o sistema de computação de inteligência agrícola gera um ou mais modelos agronômicos pré-configurados utilizando dados agronômicos fornecidos por uma ou mais fontes de dados.
[0010] A FIG. 4 é um diagrama de blocos que ilustra um sistema de computação sobre o qual uma modalidade da invenção pode ser implementada.
[0011] A FIG. 5 representa um exemplo de modalidade de uma vista da linha do tempo para entrada de dados.
[0012] A FIG. 6 representa um exemplo de modalidade de uma vista de planilha para entrada de dados.
[0013] A FIG. 7 ilustra um exemplo de computação de histogramas de vetores de características com gradientes orientados para regiões de uma imagem de FoV grande.
[0014] A FIG. 8 ilustra um exemplo de arquitetura de rede neural convolucional.
[0015] A FIG. 9 ilustra um exemplo de processo de obtenção de escalas para gerar uma pirâmide de imagens.
[0016] A FIG. 10 ilustra um exemplo de resultado de seleção de região de uma pirâmide de imagens.
[0017] A FIG. 11 ilustra um exemplo de produto de um segundo modelo para a identificação de regiões que provavelmente capturarão alvos infectados.
[0018] A FIG. 12 ilustra um exemplo de aplicação de supressão não máxima.
[0019] A FIG. 13 ilustra um exemplo de processo de identificação de alvos infectados partindo de uma imagem de FoV grande.
DESCRIÇÃO DETALHADA
[0020] Na descrição a seguir, com a finalidade de explicação, inúmeros detalhes específicos são apresentados para fornecer um entendimento “completo da presente divulgação. Será evidente, entretanto, que as modalidades podem ser praticadas sem estes detalhes específicos. Em outros casos, estruturas e dispositivos bem conhecidos são mostrados na forma de diagrama de blocos para evitar obscurecer a presente divulgação desnecessariamente. As modalidades são divulgadas em seções de acordo com as linhas gerais a seguir:
1. VISÃO GERAL
2. EXEMPLO DE SISTEMA DE COMPUTAÇÃO DE
INTELIGÊNCIA AGRÍCOLA
2.1. VISÃO GERAL ESTRUTURAL
2.2. VISÃO GERAL DO PROGRAMA APLICATIVO
2.3. INGESTÃO DE DADOS NO SISTEMA DE
COMPUTAÇÃO
2.4. VISÃO GERAL DO PROCESSO—TREINAMENTO DO
MODELO AGRONÔMICO
2.5. EXEMPLO DE IMPLEMENTAÇÃO— VISÃO GERAL DO
HARDWARE 3 DESCRIÇÃO FUNCIONAL
3.1. DESENVOLVIMENTO DO MODELO
3.2 "OBTENÇÃO DE ESCALAS DA IMAGEM E SELEÇÃO
DA REGIÃO
3.3 — COMPUTAÇÃO DAS CARACTERÍSTICAS DE IMAGEM
3.4. CLASSIFICAÇÃO E MAPEAMENTO DAS REGIÕES DA
IMAGEM
3.5 EXEMPLO DE PROCESSOS PROGRAMÁVEIS
*
[0021] 1. VISÃO GERAL
[0022] Um sistema de computação e métodos implementados por computador relacionados para o reconhecimento de doenças de plantações partindo de imagens de FoV grande são divulgados. Em algumas modalidades, o sistema de computação é configurado para construir inicialmente um primeiro modelo digital na memória para a identificação de uma região capturando uma folha e um segundo modelo para a identificação de uma região capturando uma folha infectada com uma doença. Quando é fornecida uma imagem de FoV grande, sob o controle do programa, o sistema é programado para então identificar automaticamente regiões candidatas que poderiam capturar folhas individuais da imagem de FoV grande utilizando o primeiro modelo. O sistema é programado para determinar ainda se as regiões candidatas capturam os sintomas de uma doença de plantação sobre as folhas individuais utilizando o segundo modelo.
[0023] Uma imagem de FoV grande de um campo de plantação pode capturar dezenas a centenas de folhas. Como o tamanho do campo de visão é desconhecido, o sistema é programado para examinar a imagem de FoV grande em escalas diferentes e aplicar o primeiro modelo em cada uma das imagens em escalas para identificar as regiões candidatas. O primeiro modelo pode incluir ou se comunicar com um modulo que computa um histograma de valor de gradientes orientados (“HOG”) para uma região e inclui ainda uma máquina de vetores de suporte (“SVM”) que determina se a região captura uma folha com base no valor de HOG. A SVM pode ser treinada com imagens que têm certo tamanho que captura principalmente folhas individuais. Especificamente, o sistema é programado para executar o primeiro modelo em cada imagem em escalas para computar o HOG para cada janela deslizante da imagem em escalas que tem o tamanho determinado e para classificar a região correspondente utilizando o valor de HOG para determinar se a região correspondente é uma região candidata que provavelmente capturará uma folha.
[0024] Além dos valores de HOG para o reconhecimento de folhas, características adicionais podem ser computadas para cada região candidata para o reconhecimento de sintomas de doenças da plantação sobre as folhas. O segundo modelo pode incluir uma rede neural convolucional (“CNN”) que inclui um conjunto de camada convolucional que computa os mapas de características associados a uma folha infectada para uma área e uma camada totalmente conectada para determinar se a área ou uma região dentro da área captura uma folha infectada com base nos mapas de características. A CNN também pode incluir uma camada de agrupamento de região de interesse (“Rol”) adicional antes da camada totalmente conectada. Os dados de treinamento para a CNN podem ser distribuídos com um conjunto inicial de imagens que têm certo tamanho que capturam folhas infectadas e saudáveis em várias escalas. Os dados de treinamento podem então ser aumentados com variantes do conjunto inicial de imagens através de rotação, recortes e aplicação de uma rede contraditória generativa de Wassersstein (“WGAN”) melhorada. Ao invés de computar as características — adicionais “para regiões candidatas diferentes separadamente, o sistema é programado para processar a imagem de FoV grande utilizando o segundo modelo uma vez para identificar as características adicionais para a imagem inteira e realizar a classificação para cada região candidata através da extração das características adicionais para a região candidata partindo das características adicionais para a imagem inteira.
[0025] Especificamente, o sistema é programado para executar o conjunto de camadas convolucionais sobre a imagem de FoV grande para gerar um conjunto de mapas de características para a imagem de FoV. À seguir, o sistema é programado para mapear a região candidata de volta para a imagem de FoV grande para a obtenção de uma região mapeada, extrair uma porção correspondente de cada um do conjunto de mapas de características com base no mapeamento e executar a camada de agrupamento de Rol e a camada totalmente conectada no conjunto de porções dos mapas de características para determinar se a região mapeada é uma região intermediária que provavelmente capturará uma folha infectada. Finalmente, uma vez que algumas regiões intermediárias podem se sobrepor, o sistema é programado para unir algumas das regiões intermediárias em uma região final que provavelmente capturará uma folha infectada.
[0026] O sistema produz muitos benefícios técnicos. Em uma modalidade, o sistema analisa uma imagem de FoV grande em dois estágios, aplicando algoritmos computacionais eficientes e robustos em cada estágio para atingir finalidades pretendidas. Esta abordagem sistemática permite um enfoque rápido e acurado das regiões candidatas que provavelmente capturarão os alvos pretendidos. Por exemplo, ao invés de olhar diretamente dentro de cada janela da imagem de FoV grande, o sistema é programado para primeiramente identificar certas regiões que provavelmente conterão folhas individuais e procurar apenas dentro destas regiões por folhas infectadas, utilizando um classificador relativamente básico para identificar regiões que capturam folhas individuais e um classificador avançado para reconhecer regiões que captura folhas infectadas. A escolha de um classificador da SVM de vetores de características de HOG parece superar o desempenho de muitos métodos anteriores na identificação de forma eficiente de regiões que capturam folhas individuais partindo de uma imagem de FoV grande que captura várias folhas e plantações. Na manutenção de uma rede incremental em camadas para atingir uma comdepósitoação ótima de alta velocidade e alta qualidade, entretanto, a abordagem sistemática também oferece flexibilidade dentro de cada camada para acomodar uma faixa potencialmente ampla de técnicas computacionais. Além disso, o sistema aplica uma variedade de técnicas específicas para atingir a comdepósitoação ótima de eficiência e acurácia. Por exemplo, o sistema é programado para tirar uma imagem de FoV grande de qualquer tamanho e redimensionar a imagem internamente para encontrar folhas infectadas de um tamanho variável. Além disso, todas as características relevantes da imagem de FoV grande podem ser computadas em uma passagem e o processamento individual de regiões de enfoque é levado adiante para os poucos últimos estágios do canal de processamento de dados analíticos.
[0027] 2. EXEMPLO DE SISTEMA DE COMPUTAÇÃO DE
INTELIGÊNCIA AGRÍCOLA
[0028] 2.1 VISÃO GERAL ESTRUTURAL
[0029] A FIG. 1 ilustra um exemplo de sistema de computação que é configurado para executar as funções descritas aqui, mostrado em um ambiente no campo com outro equipamento com o qual o sistema pode interoperar. Em uma modalidade, um usuário 102 tem, opera ou possui um dispositivo de computação de gerenciamento do campo 104 em uma localização no campo ou associado a uma localização no campo tal como um campo pretendido para atividades agrícolas ou uma localização de gerenciamento para um ou mais campos agrícolas. O dispositivo de computação de gerenciamento do campo 104 é programado ou configurado para fornecer dados do campo 106 a um sistema de computação de inteligência agrícola 130 através de uma ou mais redes
109.
[0030] Os exemplos de dados do campo 106 incluem (a) dados de identificação (por exemplo, área medida em acres, nome do campo, identificadores do campo, identificadores geográficos, identificadores de limites, identificadores de plantação E quaisquer outros dados adequados que possam ser utilizados para identificar a terra da fazenda, tal como uma unidade de terra comum (CLU), número de lote e bloco, um número de loteamento, coordenadas geográficas e divisas, Número de Série da Fazenda (FSN), número da fazenda, número da extensão de terra, número do campo, seção, distrito municipal e/ou faixa), (bj) dados de colheita (por exemplo, tipo de plantação, variedade de plantação, rotação de plantação, se a plantação é cultivada de forma orgânica, data da colheita, Histórico Atual de Produção (APH), rendimento esperado, rendimento, preço da plantação, receita bruta da plantação, umidade do grão, prática de lavoura e informação sobre a estação de cultivo anterior), (c) dados sobre o 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) da(s) semente(s) plantada(s), população de sementes), (e) dados do fertilizante (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 de reagentes químicos (por exemplo, pesticida, herbicida, fungicida, outra substância ou mistura de substâncias pretendida para uso 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 do clima (por exemplo, precipitação, taxa de precipitação pluviométrica, precipitação pluviométrica prevista, região com taxa de escoamento da água, temperatura, vento, previsão do tempo, 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 das imagens (por exemplo, informação das imagens e espectro luminoso de um sensor do equipamento agrícola, câmera, computador, smartphone, tablet, veículo aéreo não tripulado, aviões ou satélite), (]) observações de reconhecimento (fotos, vídeos, notas na forma livre, registros de voz, transcrições de voz, condições climáticas (temperatura, precipitação (atual e ao longo do tempo), umidade do solo, estágio do cultivo da plantação, velocidade do vento, umidade relativa, ponto de orvalho, camada negra)) e (k) solo, semente, fenologia da plantação, relatório de pragas e doenças, fontes e bases de dados de previsões.
[0031] Um computador do servidor de dados 108 é acoplado de forma comunicativa ao sistema de computação de inteligência agrícola 130 e é programado ou configurado para enviar dados externos 110 para o sistema de computação de inteligência agrícola 130 através da(s) rede(s)
109. O computador do servidor de dados externo 108 pode ser de propriedade ou operado pela mesma pessoa ou entidade legal que o sistema de computação de inteligência agrícola 130 ou por uma pessoa ou uma entidade diferente tal como uma agência governamental, organização não governamental (NGO) e/ou um provedor de serviço de dados privado. Exemplos de dados externos incluem dados do clima, dados das imagens, dados sobre o solo ou dados estatísticos relacionados aos rendimentos da plantação, entre outras coisas. Os dados externos 110 podem consistir do mesmo tipo de informação que os dados do campo 106. Em algumas modalidades, os dados externos 110 são fornecidos por um servidor de dados externos 108 pertencido pela mesma entidade que possui e/ou opera o sistema de computação de inteligência agrícola 130. Por exemplo, o sistema de computação de inteligência agrícola 130 pode incluir um servidor de dados concentrado exclusivamente em um tipo de dados que poderia ser obtido de outra maneira de fontes de terceiros, tais como dados do clima. Em algumas modalidades, um servidor de dados externos 108 pode ser realmente incorporado dentro do sistema 130.
[0032] Um equipamento agrícola 111 pode ter um ou mais sensores remotos 112 fixados sobre o mesmo, cujos sensores são acoplados de forma "comunicativa diretamente ou indiretamente através do equipamento agrícola 111 ao sistema de computação de inteligência agrícola 130 e são programados ou configurados para enviar os dados do sensor para o sistema de computação de inteligência agrícola 130. Exemplos de equipamento agrícola 111 incluem tratores, ceifadeiras debulhadoras, ceifadeiras, plantadores, caminhões, equipamento fertilizante, veículos aéreos incluindo veículos aéreos não tripulados e qualquer outro item de maquinário físico ou hardware, tipicamente maquinário móvel e que pode ser utilizado em tarefas associadas à agricultura. Em algumas modalidades, uma única unidade de equipamento 111 pode compreender um grande número de sensores 112 que são acoplados localmente em uma rede no equipamento; a rede de área do controlador (CAN) é um exemplo de tal rede que pode ser instalada em ceifadeiras debulhadoras, ceifadeiras, pulverizadores e cultivadores. O controlador do aplicativo 114 é acoplado de forma comunicativa ao sistema de computação de inteligência agrícola 130 através da(s) 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 um implemento agrícola do sistema de computação de inteligência agrícola 130. Por exemplo, uma interface do bus da rede de área do controlador (CAN) pode ser utilizada para possibilitar comunicações do sistema de computação de inteligência agrícola 130 para o equipamento agrícola 111, tal como da maneira que o CLIMATE FIELDVIEW DRIVE, disponível na The Climate Corporation, São Francisco, Califórnia, é utilizado. Os dados do sensor podem consistir do mesmo tipo de informação que os dados do campo 106. Em algumas modalidades, os sensores remotos 112 podem não estar fixados em um equipamento agrícola 111, mas podem estar localizados remotamente no campo e podem se comunicar com a rede 109.
[0033] O equipamento 111 pode compreender um computador cab 115 que é programado com um aplicativo cab, que pode compreender uma versão ou uma variante do aplicativo móvel para o dispositivo 104 que é adicionalmente descrito em outras seções aqui Em uma modalidade, o computador cab 115 compreende um computador compacto, frequentemente um computador do tamanho de um tablet ou um smartphone, com uma tela de exibição gráfica, tal como uma tela colorida, que é montada dentro da cadepósitoe do operador do equipamento 111. O computador cab 115 pode implementar algumas ou todas as operações e funções que são adicionalmente descritas aqui para o dispositivo de computador móvel 104.
[0034] Aís) rede(s) 109 representa(m) de forma ampla qualquer comdepósitoação de uma ou mais redes de comunicação de dados incluindo redes da área local, redes de longa distância, interligação de redes ou internets, utilizando qualquer uma de conexões com fio ou sem fio, incluindo conexões terrestres ou via satélite. A(s) rede(s) pode(m) ser implementada(s) por qualquer meio ou mecanismo que possibilite a troca de dados entre os vários elementos da FIG. 1. Os vários elementos da FIG. 1 também podem ter conexões de comunicação direta (com fio ou sem fio). Cada um dos sensores 112, o controlador 114, o computador do servidor de dados externo 108 e outros elementos do sistema compreende uma interface compatível com a(s) rede(s) 109 e é programado ou configurado para a utilização de protocolos padronizados para comunicação através das redes tais como TCP/IP, Bluetooth, protocolo de CAN e protocolos de camada superior tais como HTTP, TLS e similares.
[0035] O sistema de computação de inteligência agrícola 130 é programado ou configurado para receber os dados do campo 106 do dispositivo de computação de gerenciamento do campo 104, os dados externos 110 do computador do servidor de dados externo 108 e os dados do sensor do sensor remoto 112. O sistema de computação de inteligência agrícola 130 pode ainda ser configurado para hospedar, utilizar ou executar um ou mais programas de computador, outros elementos de software, lógico programado digitalmente tal como FPGAs ou ASICs ou qualquer comdepósitoação dos mesmos para realizar a transmissão e o armazenamento dos valores de dados, a construção de modelos digitais de uma ou mais plantações em um ou mais campos, a geração de recomendações e notificações e a geração e o envio de scripts para controlador do aplicativo 114, da maneira descrita adicionalmente em outras seções desta divulgação.
[0036] Em uma modalidade, o sistema de computação de inteligência agrícola 130 é programado com ou compreende uma camada de comunicação 132, uma camada de apresentação 134, uma camada de gerenciamento dos dados 140, um hardware/camada de virtualização 150 e um modelo e um repositório dos dados do campo 160. “Camada”, neste contexto, refere-se a qualquer comdepósitoação de circuitos de interface digital eletrônica, microcontroladores, firmware tais como drivers e/ou programas de computador ou outros elementos de software.
[0037] A camada de comunicação 132 pode ser programada ou configurada para executar funções de interface de entrada/saída incluindo o envio de solicitações para o dispositivo de computação de gerenciamento do campo 104, o computador do servidor de dados externo 108 e o sensor remoto 112 por dados do 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 modelo e o repositório de dados do campo 160 que serão armazenados como dados do campo 106.
[0038] A camada de apresentação 134 pode ser programada ou configurada para gerar uma interface gráfica do usuário (GUI) que será exibida no dispositivo de computação de gerenciamento do campo 104, no computador cab 115 ou em outros computadores que são acoplados ao sistema 130 através da rede 109. A GUI pode compreender controles para inserir os dados que serão enviados para o sistema de computação de inteligência agrícola 130, para gerar solicitações para modelos e/ou recomendações e/ou para exibir recomendações, notificações, modelos e outros dados do campo.
[0039] A camada de gerenciamento dos dados 140 pode ser programada ou configurada para gerenciar as operações de leitura e operações de escrita que envolve 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 de camada de gerenciamento dos dados 140 incluem JDBC, código da interface do servidor SQL e/ou código de interface HADOOP, entre outras coisas. O repositório 160 pode compreender uma base de dados. Como é utilizado aqui, o termo “base de dados” pode ser referir a um corpo de dados, um sistema de gerenciamento da base de dados relacional (RDBMS) ou a ambos. Como é utilizado aqui, uma base de dados pode compreender qualquer coleção de dados incluindo bases de dados hierárquicos, bases de dados relacionais, bases de dados de arquivos simples, bases de dados relacionais de objetos, bases de dados orientadas de objetos, bases de dados distribuídos e qualquer outra coleção estruturada de registros ou dados que é armazenada em um sistema de computação. Exemplos de RDBMS's incluem, mas não são limitados às bases de dados ORACLEG&, MYSQL, IBM€ DB2, MICROSOFTE& SQL SERVIDOR, SYBASE? e POSTGRESQL. Entretanto, pode ser utilizada qualquer base de dados que habilite os sistemas e os métodos descritos aqui.
[0040] Quando dados do campo 106 não forem fornecidos diretamente para o sistema de computação de inteligência agrícola através de uma ou mais máquinas agrícolas ou dispositivos de máquinas agrícolas que interagem com o sistema de computação de inteligência agrícola, o usuário pode ser avisado através de uma ou mais interfaces do usuário no dispositivo do usuário (servido pelo sistema de computação de inteligência agrícola) para inserir tal informação. Em um exemplo de modalidade, o usuário pode especificar os dados de identificação acessando um mapa no dispositivo do usuário (servido pelo sistema de computação de inteligência agrícola) e selecionando CLUs específicos que foram mostrados graficamente no mapa. Em uma modalidade alternativa, o usuário 102 pode especificar dados de identificação acessando um mapa no dispositivo do usuário (servido pelo sistema de computação de inteligência agrícola 130) e desenhado limites do campo sobre o mapa. Tal seleção de CLU ou desenhos no mapa representam identificadores geográficos. Em modalidades alternativas, o usuário pode especificar dados de identificação acessando os dados de identificação do campo (fornecidos na forma de shapefiles ou em um formato similar) do U. S. Department of Agriculture Farm Service Agency ou outra fonte através do dispositivo do usuário e fornecendo tais dados de identificação do campo para o sistema de computação de inteligência agrícola.
[0041] Em um exemplo de modalidade, o sistema de computação de inteligência agrícola 130 é programado para gerar e causar a exibição de uma interface gráfica do usuário que compreende um gerenciador de dados para inserção dos dados. Depois de um ou mais campos terem sido identificados utilizando os métodos descritos acima, o gerenciador de dados pode fornecer um ou mais widgets da interface gráfica do usuário que quando selecionados podem identificar alterações no campo, no solo, nas plantações, na lavoura ou nas práticas de nutrientes. O gerenciador de dados pode incluir uma vista da linha do tempo, uma vista de planilha e/ou um ou mais programas editáveis.
[0042] A FIG. 5 representa um exemplo de modalidade de uma vista da linha do tempo para entrada de dados. Utilizando a tela representada na FIG. 5, um computador do usuário pode inserir uma seleção de um campo particular e uma data particular para a adição de evento. Os eventos representados no topo da linha do tempo podem incluir Nitrogênio, Plantio, Práticas e Solo. Para adicionar um evento de aplicação de nitrogênio, um computador do usuário pode fornecer entrada para selecionar a aba de nitrogênio. O computador do usuário pode então selecionar uma localização na linha do tempo para um campo particular com a finalidade de indicar uma aplicação de nitrogênio no campo selecionado. Em resposta ao recebimento de 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 que o computador do usuário insira dados referentes às aplicações de nitrogênio, aos procedimentos de plantio, à aplicação de solo, aos procedimentos de lavoura, às práticas de irrigação ou outra informação referente ao campo particular. Por exemplo, se um computador do usuário selecionar uma porção 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 inserção de uma quantidade de nitrogênio aplicada, uma data de aplicação, um tipo de fertilizante utilizado e qualquer outra informação relacionada à aplicação de nitrogênio.
[0043] Em uma modalidade, o gerenciador de dados fornece uma interface para criação de um ou mais programas. “Programa”, neste contexto, refere-se a um conjunto de dados referentes às aplicações de nitrogênio, aos procedimentos de plantio, à aplicação de solo, aos procedimentos de lavoura, às práticas de irrigação ou outra informação que possa estar relacionada a um ou mais campos e que possa ser armazenada no armazenamento de dados digital para reuso como um conjunto em outras operações. Após um programa ter sido criado, este pode ser aplicado conceitualmente a um ou mais campos e referências ao programa podem ser armazenadas no armazenamento digital em associação a dados que identificam os campos. Assim, ao invés de inserir manualmente dados idênticos referentes às 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 aplicar o programa em vários campos diferentes. Por exemplo, na vista da linha do tempo da FIG. 5, as duas linhas do tempo superiores têm o programa selecionado “Spring applied”, que inclui uma aplicação de 150 lbs N/ac no início de abril. O gerenciador de dados pode fornecer uma interface para edição de um programa. Em uma modalidade, quando um programa particular for editado, cada campo que tem o programa particular selecionado é editado. Por exemplo, na FIG. 5, se o programa “Spring applied” for editado para reduzir a aplicação de nitrogênio para 130 lbs N/ac, os dois campos superiores podem ser atualizados com uma aplicação de nitrogênio reduzida com base no programa editado.
[0044] Em uma modalidade, em resposta ao recebimento de edições em um campo que tem 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 no campo superior na FIG. 5, a interface pode atualizar para indicar que o programa “Spring applied” não está mais sendo aplicado no campo superior. Embora a aplicação de nitrogênio no início de abril possa continuar, as atualizações para o programa “Spring applied” não alterariam a aplicação de nitrogênio em abril.
[0045] A FIG. 6 representa um exemplo de modalidade de uma vista de planilha para entrada de dados. Utilizando a tela representada na FIG.
6, um usuário pode criar e editar informação para um ou mais campos. O gerenciador de dados pode incluir planilhas para inserção de informação em relação a Nitrogênio, Plantio, Práticas e Solo que é representada na FIG. 6. Para editar uma entrada particular, um computador do usuário pode selecionar a entrada particular na planilha e atualizar os valores. Por exemplo, a FIG. 6 representa uma atualização em progresso para um valor de rendimento alvo para o segundo campo. Adicionalmente, um computador do usuário pode selecionar um ou mais campos com a finalidade de aplicar um ou mais programas. Em resposta ao recebimento de uma seleção de um programa para um campo particular, o gerenciador de dados pode completar automaticamente as entradas para o campo particular com base no programa selecionado. Como com a vista da linha do tempo, o gerenciador de dados pode atualizar as entradas para cada campo associadas a um programa particular em resposta ao recebimento de uma atualização para o programa. Adicionalmente, o gerenciador de dados pode remover a correspondência do programa selecionado com o campo em resposta ao recebimento de uma edição para uma das entradas para o campo.
[0046] Em uma modalidade, os dados do modelo e do campo são armazenados no repositório de dados do modelo e do campo 160. Os dados do modelo compreendem modelos criados para um ou mais campos. Por exemplo, um modelo de plantação pode incluir um modelo construído digitalmente do desenvolvimento de uma plantação no um ou mais campos. “Modelo”, neste contexto, refere-se a um conjunto eletrônico armazenado digitalmente de instruções executáveis e valores de dados, associados um com os outros, que é capaz de receber e responder a uma chamada, uma invocação ou uma solicitação programática ou outra digital para resolução com base nos 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 dados de saída ou controle da máquina, entre outras coisas. Peritos no campo acham conveniente expressar modelos utilizando equações matemáticas, mas tal forma de expressão não limita os modelos divulgados aqui aos conceitos abstratos; ao invés disso, cada modelo apresentado aqui tem uma aplicação prática em um computador na forma de instruções e dados executáveis armazenados que implementam o modelo utilizando o computador. O modelo pode incluir um modelo de eventos passados no um ou mais campos, um modelo da condição atual do um ou mais campos e/ou um modelo de eventos previstos no um ou mais campos. O modelo e os dados do campo podem ser armazenados nas estruturas de dados na memória, arquivoiras em uma tabela de base de dados, em arquivos simples ou planilhas ou outras formas de dados digitais armazenados.
[0047] Em uma modalidade, o sistema de computação de inteligência agrícola 130 é programado com ou compreende um computador do servidor de reconhecimento de doença com FoV grande ou um conjunto de instruções (“servidor”) 170. O servidor 170 é adicionalmente configurado para compreender um componente de identificação da plantação 172, um componente de reconhecimento de doença 174 e uma interface do cliente 176. O componente de identificação da plantação 172 é configurado para criar e executar um modelo de identificação de objeto. O objeto é tipicamente uma única folha de certa plantação, mas pode compreender várias folhas ou outros pedaços da planta de cultivo. O modelo de identificação de objeto pode tirar uma imagem de FoV grande e produzir informação que identifica regiões da imagem que provavelmente capturarão objetos desejados. “Grande”, neste contexto, significa cobrindo mais de um objeto e frequentemente pelo menos dezenas ou centenas de objetos. O componente de reconhecimento de doença 174 é configurado para criar e executar um modelo de reconhecimento de doença. Como citado anteriormente, “modelo”, neste contexto, refere-se a um conjunto eletrônico armazenado digitalmente de instruções executáveis e valores de dados, associado com outro, que é capaz de receber e responder a uma chamada, uma invocação ou uma solicitação programática ou outra digital para resolução com base nos valores de entrada especificados, para produzir um ou mais valores de saída armazenados ou calculados que podem servir como a base das recomendações implementadas por computador, exibições dados de saída ou controle da máquina, entre outras coisas. A doença pode ser qualquer doença de plantação, tal como Northern Leaf Blight (“NLB”), representada por seus sintomas em um objeto infectado, tal como uma folha de milho. O modelo de reconhecimento de doença pode tirar uma imagem de FoV grande e produzir informação que identifica regiões da imagem que provavelmente capturarão objetos infectados com uma doença. A interface do cliente 176 é configurada para se comunicar com um dispositivo do cliente, tal como um dispositivo de computação de gerenciamento do campo 104 ou um computador cab 105, através de uma rede de comunicação, por meio da camada de comunicação 132. A interface do cliente 176 também pode ser configurada para se comunicar com um dispositivo de exibição através da camada de apresentação 134. A comunicação pode incluir o recebimento dos dados de treinamento para a criação do modelo de identificação de objeto ou do modelo de reconhecimento de doença, o recebimento de uma imagem de FoV grande ou a transmissão de informação que identifica regiões de uma imagem de FoV grande que provavelmente capturarão objetos infectados.
[0048] Em uma modalidade, cada componente do servidor 170 compreende um conjunto de uma ou mais páginas da memória principal, tal como RAM, no sistema de computação de inteligência agrícola 130 na qual as instruções executáveis foram carregadas e que quando executadas fazem com que o sistema de computação de inteligência agrícola desempenhe as funções ou as operações que são descritas aqui com referência a tais módulos. Por exemplo, o componente de reconhecimento de doença 174 pode compreender um conjunto de páginas na RAM que contém instruções que quando executadas causam a realização das funções de seleção de localização que são descritas aqui.
As instruções podem estar no código executável pela máquina no conjunto de instruções de uma CPU e podem ter sido compiladas com base no código de origem escrito em JAVA, C, C++, OBJECTIVE-C ou qualquer outra linguagem ou outro ambiente de programação que pode ser lido pelo ser humano, individualmente ou em comdepósitoação com scripts em JAVASCRIPT, outras linguagens de produção de scripts e outro texto de fonte de programação. É pretendido que o termo “páginas” se refira 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 da memória ou da arquitetura do processador. Em outra modalidade, cada componente do servidor 170 também pode representar um ou mais arquivos ou projetos de código de fonte que são armazenados digitalmente em um dispositivo de armazenamento em massa tal como RAM não volátil ou armazenamento em disco, no sistema de computação de inteligência agrícola 130 ou um sistema repositório separado, que quando compilados ou interpretados causam a geração de instruções executáveis que quando executadas fazem com que o sistema de computação de inteligência agrícola desempenhe as funções ou as operações que são descritas aqui com referência a tais módulos. Em outras palavras, a figura do desenho pode representar a maneira na qual os programadores ou os desenvolvedores de software organizam e dispõem o código de fonte para compilação posterior em um executável ou interpretação em bytecode ou o equivalente, para execução pelo sistema de computação de inteligência agrícola 130.
[0049] O hardware/camada de 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 computação tal como memória volátil ou não volátil, armazenamento não volátil tal como disco e dispositivos 1/O ou interfaces que são ilustradas e descritas, por exemplo, em associação à FIG. 4. A camada 150 também pode compreender instruções programadas que são configuradas para suportar virtualização, containerização ou outras tecnologias.
[0050] Com a finalidade de ilustração de um exemplo claro, a FIG. 1 exibe um número limitado de exemplos de certos elementos funcionais. Entretanto, em outras modalidades, pode haver qualquer número de tais elementos. Por exemplo, as modalidades podem utilizar milhares ou milhões de dispositivos de computação móveis 104 diferentes associados a usuários diferentes. Ainda, o sistema 130 e/ou o computador do servidor de dados externo 108 pode ser implementado utilizando dois ou mais processadores, cores, clusters ou exemplos de máquinas físicas ou máquinas virtuais, configurados em uma localização distinta ou colocalizados com outros elementos em um centro dados, instalação de computador compartilhada ou instalação de computador na nuvem.
[0051] 2.2. VISÃO GERAL DO PROGRAMA APLICATIVO
[0052] Em uma modalidade, a implementação das funções descritas aqui utilizando um ou mais programas de computador ou outros elementos de software que são carregados e executados utilizando um ou mais computadores de uso geral fará com que os computadores de uso geral sejam configurados como uma máquina particular ou como um computador que é especialmente adaptado para executar as funções descritas aqui. Ainda, cada um dos diagramas de fluxo que são adicionalmente descritos aqui pode servir, individualmente ou em comdepósitoação com as descrições de processos e funções na narração apresentada aqui, como algoritmos, planos ou instruções que podem ser utilizadas para programar um computador ou lógica para implementar as funções que são descritas. Em outras palavras, é pretendido que todo o texto da narração apresentada aqui e todas as figuras de desenho juntos forneçam a divulgação de algoritmos, planos ou instruções que são suficientes para permitir que um perito na arte programe um computador para realizar as funções que são descritas aqui, em comdepósitoação com a perícia e o conhecimento desta pessoa dado o nível de perícia que é apropriado para invenções e divulgações deste tipo.
[0053] Em uma modalidade, o usuário 102 interage com o de computação de inteligência agrícola 130 utilizando o dispositivo de computação de gerenciamento do campo 104 configurado com um sistema operacional e um ou mais programas aplicativos ou apps; o dispositivo de computação de gerenciamento do campo 104 também pode interoperar com o sistema de computação de inteligência agrícola independentemente e automaticamente sob o controle do programa ou o controle lógico e a interação direta do usuário nem sempre é necessária. O dispositivo de computação de gerenciamento do campo 104 representa geralmente um ou mais de um smartphone, PDA, dispositivo de computação na forma de tablet, computador laptop, computador desktop, estação de trabalho ou qualquer outro dispositivo de computação capaz de transmitir e receber informação e executar as funções descritas aqui. O dispositivo de computação de gerenciamento do campo 104 pode se comunicar através de uma rede utilizando um aplicativo móvel armazenado no dispositivo de computação de gerenciamento do campo 104 e em algumas modalidades, o dispositivo pode ser acoplado utilizando um cabo 113 ou um conector ao sensor 112 e/ou controlador 114. Um usuário particular 102 pode ter, operar ou possuir e utilizar, em associação ao sistema 130, mais de um dispositivo de computação de gerenciamento do campo 104 por vez.
[0054] O aplicativo móvel pode fornecer funcionalidade client-side, através da rede a um ou mais dispositivos de computação móveis. Em um exemplo de modalidade, o dispositivo de computação de gerenciamento do campo 104 pode acessar o aplicativo móvel através de um browser da web ou um aplicativo ou app de cliente local. O dispositivo de computação de gerenciamento do campo 104 pode transmitir dados para e receber dados de um ou mais servidores front-end, utilizando protocolos ou formatos com base na web tais como protocolos de HTTP, XML e/ou JSON ou específicos para app. Em um exemplo de modalidade, os dados podem tomar a forma de solicitações e inserção de informações do usuário, tais como dados do campo, no dispositivo de computação móvel. Em algumas modalidades, o aplicativo móvel interage com o hardware e o software de rastreamento de localização no dispositivo de computação de gerenciamento do campo 104 que determina a localização do dispositivo de computação de gerenciamento do campo 104 utilizando técnicas de rastreamento padronizadas tais como multilateração de sinais de rádio, o sistema de posicionamento global (GPS), sistemas de posicionamento por WiFi ou outros métodos de posicionamento móvel. Em alguns casos, os dados de localização ou outros dados associados ao dispositivo 104, ao usuário 102 e/ou à(s) conta(s) do usuário podem ser obtidos por consultas em um sistema operacional do dispositivo ou através da solicitação de um app no dispositivo de obter dados provenientes do sistema operacional.
[0055] Em uma modalidade, o dispositivo de computação de gerenciamento do campo 104 envia os dados do campo 106 para o sistema de computação de inteligência agrícola 130 que compreendem ou incluem, mas não são limitados a valores de dados que representam um ou mais de: uma localização geográfica do um ou mais campos, informação da lavoura para um ou mais campos, lavouras plantadas no um ou mais campos e dados sobre o solo extraídos do um ou mais campos. O dispositivo de computação de gerenciamento do campo 104 pode enviar os dados do campo 106 em resposta à entrada pelo usuário do usuário 102 especificando os valores dos dados para o um ou mais campos. Adicionalmente, o dispositivo de computação de gerenciamento do campo 104 pode enviar automaticamente os dados do campo 106 quando um ou mais dos valores dos dados fica disponível para o dispositivo de computação de gerenciamento do campo 104. Por exemplo, o dispositivo de computação de gerenciamento do campo 104 pode ser acoplado de forma comunicativa ao sensor remoto 112 e/ou controlador do aplicativo 114 que inclui um sensor de irrigação e/ou um controlador de irrigação. Em resposta ao recebimento dos dados indicando que o controlador do aplicativo 114 liberou água sobre o um ou mais campos, o dispositivo de computação de gerenciamento do campo 104 pode enviar dados do campo 106 para o sistema de computação de inteligência agrícola 130 indicando que a água foi liberada sobre um ou mais campos. Os dados do campo 106 identificados nesta divulgação podem ser inseridos e comunicados utilizando dados digitais eletrônicos que são comunicados entre os dispositivos de computação utilizando URLs parametrizados em relação a HTTP ou outro protocolo de comunicação ou mensagem adequado.
[0056] Um exemplo comercial do aplicativo móvel é CLIMATE FIELDVIEW, disponível comercialmente na The Climate Corporation, São Francisco, Califórnia. O aplicativo CLIMATE FIELDVIEW ou outros aplicativos, podem ser modificados, ampliados ou adaptados para incluírem características, funções e programação que não foram divulgados antes da data de depósito desta divulgação. Em uma modalidade, o aplicativo móvel compreende uma plataforma de software integrado que permite que um agricultor tome decisões baseadas nos fatos para sua operação porque este comdepósitoa dados históricos sobre os campos do agricultor com quaisquer outros dados que o agricultor deseja comparar. As comdepósitoações e as comparações podem ser realizadas em tempo real e são baseadas em modelos científicos que fornecem cenários potenciais para permitir que o agricultor tome decisões mais informadas da melhor maneira.
[0057] A FIG. 2 ilustra duas vistas de um exemplo de organização lógica de conjuntos de instruções na memória principal quando um exemplo de aplicativo móvel é carregado para execução. Na FIG. 2, cada elemento nomeado representa uma região de uma ou mais páginas de RAM ou outra memória principal ou um ou mais blocos de armazenamento em disco ou 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 que compartilham a ingestão de dados dos campos da conta 202, visão geral e instruções de alerta 204, instruções do livro do mapa digital 206, sementes e instruções de plantio 208, instruções de nitrogênio 210,
instruções do clima 212, instruções de saúde do campo 214 e instruções de desempenho 216.
[0058] Em uma modalidade, um aplicativo de computador móvel 200 compreende instruções da conta, dos campos, da ingestão de dados, de compartilhamento 202 que são programadas para receber, transmitir e ingerir os dados do campo provenientes de sistemas de terceiros através de upload manual ou APIs. Os tipos de dados podem incluir divisas do campo, mapas de rendimento, como mapas das culturas, resultados de testes do solo, mapas conforme aplicados e/ou zonas de gerenciamento, entre outras coisas. Os formatos dos dados podem incluir shapefiles, formatos de dados nativos de terceiros e/ou exportações do sistema de informação de gerenciamento da fazenda (FMIS), entre outras coisas. O recebimento dos dados pode ocorrer através de upload manual, e-mail com anexo, APIs externas que entregam os dados para o aplicativo móvel ou instruções que chamam as APIs de sistemas externos para puxar dados para dentro do aplicativo móvel. Em uma modalidade, o aplicativo de computador móvel 200 compreende dados inbox. Em resposta ao recebimento de uma seleção dos dados inbox, o aplicativo de computador móvel 200 pode exibir uma interface gráfica do usuário para upload manual de arquivos de dados e importação dos arquivos transferidos (uploaded) para um gerenciador de dados.
[0059] Em uma modalidade, as instruções do livro do mapa digital 206 compreendem camadas de dados do mapa do campo armazenadas na memória do dispositivo e são programadas com ferramentas de visualização de dados e notas geoespaciais do campo. Isto fornece aos agricultores informação conveniente à mão para referência, logging e insights visuais do desempenho do campo. Em uma modalidade, a visão geral e as instruções de alerta 204 são programadas para fornecer uma visão abrangente da operação do que é importante para o agricultor e recomendações em tempo para tomar medidas ou se concentrar em questões particulares. Que permite que o agricultor se concentre em tempo no que necessita atenção, para poupar tempo e manter o rendimento ao longo de toda a estação. Em uma modalidade, as sementes e as instruções de plantio 208 são programadas para fornecer ferramentas para seleção de sementes, colocação de híbridos e criação de scripts, incluindo criação de scripts com taxa variável (VR), com base nos modelos científicos e dados empíricos. Isto possibilita que os agricultores maximizem o rendimento ou tenham retorno no investimento através de obtenção, colocação e população de sementes otimizadas.
[0060] Em uma modalidade, as instruções de geração de scripts 205 são programadas para fornecer uma interface para a geração de scripts, incluindo scripts de fertilidade com taxa variável (VR). A interface possibilita que os agricultores criem scripts para implementos no campo, tais como aplicações de nutrientes, plantio e irrigação. Por exemplo, uma interface de script de plantio pode compreender ferramentas para a identificação de um tipo de semente para o plantio. Após o recebimento de 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 do mapa do campo criadas como parte das instruções do livro do mapa digital 206. Em uma modalidade, as zonas de gerenciamento compreendem zonas do solo junto com um painel que identifica cada zona do solo e um nome do solo, textura, drenagem para cada zona ou outros dados do campo. O aplicativo de computador móvel 200 também pode exibir ferramentas para edição ou criação tais como ferramentas gráficas para desenhar as zonas de gerenciamento, tais como zonas do solo, sobre um mapa de um ou mais campos. Os procedimentos de plantio podem ser aplicados em todas zonas de gerenciamento ou procedimentos de plantio diferentes podem ser aplicados em subconjuntos diferentes de zonas de gerenciamento. Quando um script é criado, o aplicativo de computador móvel 200 pode tornar o script disponível para download em um formato que pode ser lido por um controlador do aplicativo, tal como um formato arquivado ou comprimido. Adicionalmente e/ou alternativamente, um script pode ser enviado diretamente para o computador cab 115 do aplicativo de computador móvel 200 e/ou uploaded para um ou mais servidores de dados e armazenados para uso adicional.
[0061] Em uma modalidade, as instruções de nitrogênio 210 são programadas para fornecer ferramentas para informar das decisões de nitrogênio através da visualização da disponibilidade de nitrogênio para a plantação. Isto possibilita que os agricultores maximizem o rendimento e tenham o investimento de volta através da aplicação de nitrogênio otimizada durante a estação. Exemplos de funções programadas incluem a exibição de imagens tais como imagens de SSURGO para possibilitar o desenho de zonas de aplicação de fertilizantes e/ou imagens geradas partindo do subcampo dados do solo, tais como os dados obtidos de sensores, a uma resolução espacial alta (tão fina quanto milimetros ou menor dependendo da proximidade e da resolução dos sensores); o upload de zonas definidas pelo agricultor existentes; o fornecimento de um gráfico de disponibilidade de nutrientes para as plantas e/ou um mapa para possibilitar o ajuste da(s) aplicação(ões) de nitrogênio ao longo de várias zonas; a emissão dos scripts para o maquinário do drive; ferramentas para entrada e ajuste de dados em massa; e/ou mapas para visualização dos dados, entre outras coisas. “Entrada de dados em massa”, neste contexto, pode significar a inserção de dados uma vez e então a aplicação dos mesmos dados em vários campos e/ou zonas que foram definidas no sistema; exemplos dos dados podem incluir os dados de aplicação de nitrogênio que são os mesmos para muitos campos e/ou zonas do mesmo agricultor, mas tal entrada de dados em massa se aplica à entrada de qualquer tipo de dados do campo no aplicativo de computador móvel 200. Por exemplo, as 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 para aceitar a entrada pelo usuário especificando a aplicação destes programas ao longo dos vários campos. “Programas de aplicação de nitrogênio”, neste contexto, referem-se a conjuntos nomeados armazenados de dados que associam: um nome, um código de cor ou outro identificador, um 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 difundido e/ou quantidades ou taxas de aplicação para cada uma das datas, plantação ou híbrido que é sujeito à aplicação, entre outras coisas. “Programas de prática de nitrogênio”, neste contexto, referem-se a conjuntos nomeados armazenados de dados que associam: um nome da prática; uma plantação anterior; um sistema de lavoura; uma data de lavoura de forma primária; um ou mais sistemas de lavoura anteriores que foram utilizados; um ou mais indicadores do 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, que indica projeções do uso da planta do nitrogênio especificado e se é previsto um excedente ou uma deficiência; em algumas modalidades, indicadores de cores diferentes podem sinalizar uma magnitude de excedente ou uma magnitude de deficiência. Em uma modalidade, um gráfico de nitrogênio compreende um display gráfico em um dispositivo de exibição do computador que compreende um grande número de fileiras, cada fileira associada a e identificando um campo; os dados que especificam qual planta de cultivo é plantada no, 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 que especificam cada aplicação de nitrogênio e quantidade em pontos correlacionados aos nomes dos meses; e indicadores numéricos e/ou coloridos de excedente ou deficiência, nos quais a cor indica a magnitude.
[0062] Em uma modalidade, o gráfico de nitrogênio pode incluir uma ou mais características de entrada pelo usuário, tais como discadores (dials) ou barras deslizantes, para alterar de forma dinâmica o nitrogênio no plantio e programas de práticas de forma que um usuário possa otimizar seu gráfico de nitrogênio. O usuário pode então utilizar seu gráfico de nitrogênio otimizado e o nitrogênio no plantio e os programas de práticas relacionados para implementar um ou mais scripts, incluindo scripts de fertilidade com 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, que indica projeções de uso pela planta do nitrogênio especificado e se um excedente ou uma deficiência é prevista; em algumas modalidades, indicadores de cores diferentes podem sinalizar uma magnitude de excedente ou uma magnitude de deficiência. O mapa de nitrogênio pode exibir projeções de uso pela planta do nitrogênio especificado e se um excedente ou uma deficiência é prevista para tempos diferentes no passado e no futuro (tal como diariamente, semanalmente, mensalmente ou anualmente) utilizando indicadores numéricos e/ou coloridos de excedente ou deficiência, nos quais a cor indica magnitude. Em uma modalidade, o mapa de nitrogênio pode incluir uma ou mais características de entrada pelo usuário, tais como dials ou barras deslizantes, para alterar de forma dinâmica o nitrogênio do plantio e programas de práticas de maneira que um usuário possa otimizar seu mapa de nitrogênio, de forma a obter uma quantidade preferida de excedente a deficiência. O usuário pode então utilizar seu mapa de nitrogênio otimizado e o nitrogênio do plantio e os programas de práticas relacionados para implementar um ou mais scripts, incluindo scripts de fertilidade com taxa variável (VR). Em outras modalidades, instruções similares às instruções de nitrogênio 210 poderiam ser utilizadas para a aplicação de outros nutrientes (tais como fósforo e potássio), programas de aplicação de pesticida e irrigação.
[0063] Em uma modalidade, as instruções do clima 212 são programadas para fornecer dados do clima recentes e informação de previsão do tempo específicos para o campo. Isto possibilita que os agricultores poupem tempo e tenham uma exibição integrada eficiente em relação às decisões operacionais diárias.
[0064] Em uma modalidade, as instruções de saúde do campo 214 são programadas para fornecer imagens de sensores remotos em tempo que evidenciam a variação da plantação na estação e potenciais preocupações. Exemplos de funções programadas incluem a verificação das nuvens, para identificar nuvens possíveis ou sombras de nuvens; a determinação dos índices de nitrogênio com base nas imagens do campo; a visualização gráfica de camadas de reconhecimento, por exemplo, aquelas relacionadas à saúde do campo e observação e/ou compartilhamento de notas de reconhecimento; e/ou o download de imagens de satélite de inúmeras fontes e a priorização das imagens para o agricultor, entre outras coisas.
[0065] Em uma modalidade, as instruções de desempenho 216 são programadas para fornecer relatórios, análises e ferramentas de insight utilizando dados na fazenda para avaliação, insights e decisões. Isto possibilita que o agricultor procure resultados aprimorados para o ano seguinte através de conclusões baseadas em fatos sobre o motivo de recuperar o investimento estar nos níveis mais importantes e insight dos fatores de limitação do rendimento. As instruções de desempenho 216 podem ser programadas para se comunicar através da(s) rede(s) 109 com os programas analíticos back-end executados no sistema de computação de inteligência agrícola 130 e/ou o computador do servidor de dados externo 108 e configuradas para analisar as medidas tais como rendimento, diferencial de rendimento, híbrido, população, zona SSURGO, propriedades de teste do solo ou elevação, entre outras coisas. Os relatórios e as análises programadas podem incluir análise de variabilidade do rendimento, estimativa do efeito do tratamento, benchmarking do rendimento e outras medidas contra outros agricultores com base em dados anônimos coletados de muitos agricultores ou dados para sementes e plantio, entre outras coisas.
[0066] Os aplicativos que têm as instruções configuradas desta maneira podem ser implementados para plataformas de dispositivos de computação diferentes enquanto mantêm a mesma aparência de interface do usuário geral. Por exemplo, o aplicativo móvel pode ser programado para execução em tablets, smartphones ou computadores do servidor que são acessados utilizando browsers nos computadores do cliente. Ainda, o aplicativo móvel que é configurado para computadores em tablet ou smartphones pode fornecer uma experiência de app completa ou uma experiência de app cab que é adequada para a exibição e as capacidades de processamento do computador cab 115. Por exemplo, fazendo agora referência à vista (b) da FIG. 2, em uma modalidade um computador aplicativo cab 220 pode compreender instruções de mapas- cab 222, instruções de visão remota 224, instruções de coleta e transferência de dados 226, instruções de alertas da máquina 228, instruções de transferência de scripts 230 e instruções de reconhecimento-cab 232. A base de códigos para as instruções da vista (b) pode ser a mesma que para a vista (a) e programas executáveis que implementam o código podem ser programados para detectar o tipo de plataforma sobre a qual são executados e para expor, através de uma interface gráfica do usuário, apenas as funções que são apropriadas para uma plataforma cab ou plataforma completa.
Esta abordagem possibilita que o sistema reconheça a experiência do usuário distintamente diferente que é apropriada para um ambiente in-cab e o ambiente de tecnologia diferente do cab.
As instruções de mapas-cab 222 podem ser programadas para fornecer vistas no mapa de campos, fazendas ou regiões que são úteis no direcionamento da operação das máquinas.
As instruções de visão remota 224 podem ser programadas para ligar, gerenciar e fornecer vistas da atividade da máquina em tempo real ou próximo ao tempo real para outros dispositivos de computação conectados ao sistema 130 através de redes sem fio, conectores com fio ou adaptadores e similares.
As instruções de coleta e transferência de dados 226 podem ser programadas para ligar, gerenciar e fornecer a transferência de dados coletados nos sensores e nos controladores para o sistema 130 através de redes sem fio, conectores com fio ou adaptadores e similares.
As instruções de alertas da máquina 228 podem ser programadas para detectar problemas com operações da máquina ou ferramentas que estão associadas com o cab e gerar alertas para o operador.
As instruções de transferência de scripts 230 podem ser configuradas para transferir nos scripts instruções que são configuradas para direcionar as operações da máquina ou a coleta de dados. As instruções de reconhecimento-cab 232 podem ser programadas para exibir alertas com base na localização e informação recebida do sistema 130 com base na localização do dispositivo de computação de gerenciamento do campo 104, equipamento agrícola 111 ou sensores 112 no campo e ingerir, gerenciar e possibilitar a transferência de observações de reconhecimento com base na localização para o sistema 130 com base na localização do equipamento agrícola 111 ou sensores 112 no campo.
[0067] 2.3. INGESTÃO DE DADOS NO SISTEMA DE
COMPUTAÇÃO
[0068] Em uma modalidade, o computador do servidor de dados externo 108 armazena dados externos 110, incluindo dados sobre o solo que representam a composição do solo para o um ou mais campos e dados do clima que representam temperatura e precipitação no um ou mais campos. Os dados do clima podem incluir dados do clima do passado e do presente bem como as previsões do tempo para dados do clima no futuro. Em uma modalidade, o computador do servidor de dados externo 108 compreende um grande número de servidores hospedado por entidades diferentes. Por exemplo, um primeiro servidor pode conter dados da composição do solo enquanto que um segundo servidor pode incluir dados do clima. Adicionalmente, os dados da composição do solo podem ser armazenados em vários servidores. Por exemplo, um servidor pode armazenar dados que representam a porcentagem de terra, lodo e argila no solo enquanto que um segundo servidor pode armazenar dados que representam a porcentagem de matéria orgânica (OM) no solo.
[0069] 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 em veículos, sensores em equipamentos de plantio, sensores na terra cultivada, sensores de aplicação de fertilizantes ou inseticidas, sensores nas ceifadeiras e qualquer outro implemento capaz de receber dados do um ou mais campos. Em uma modalidade, o controlador do aplicativo 114 é programado ou configurado para receber instruções do sistema de computação de inteligência agrícola 130. O controlador do aplicativo 114 também pode ser programado ou configurado para controlar um parâmetro operacional de um veículo ou um implemento agrícola. Por exemplo, u, controlador do aplicativo pode ser programado ou configurado para controlar um parâmetro operacional de um veículo, tal como um trator, um equipamento de plantio, equipamento de lavoura, equipamento para fertilizante ou inseticida, equipamento de colheita ou outros implementos de fazenda tal como uma válvula de água. Outras modalidades podem utilizar qualquer comdepósitoação de sensores e controladores, dos quais os seguintes são meramente exemplos selecionados.
[0070] O sistema 130 pode obter ou ingerir dados sob o controle do usuário 102, em uma base em massa de um grande número de agricultores que contribuíram com dados para um sistema de base de dados compartilhado. Esta forma de obtenção de 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 a obtenção de dados para uso pelo sistema 130. Como um exemplo, o aplicativo CLIMATE FIELDVIEW, disponível comercialmente na The Climate Corporation, São Francisco, Califórnia, pode ser operado para exportar dados para o sistema 130 para armazenamento no repositório 160.
[0071] Por exemplo, os sistemas de monitoramento de sementes podem tanto controlar os componentes do equipamento de plantação quanto obter dados de plantio, incluindo sinais provenientes de sensores das sementes através de um signal harness que compreende uma estrutura de CAN e conexões ponto a ponto para registro e/ou diagnóstico. Os sistemas de monitoramento das sementes podem ser programados ou configurados para exibir o espaçamento, a população e outra informação das sementes para o usuário através do computador cab 115 ou outros dispositivos dentro do sistema 130. Os exemplos são divulgados na Pat. U.S. No. 8.738.243 e na Pub. de Pat. UJS. 20150094916 e a presente divulgação admite o conhecimento destas outras divulgações de patente.
[0072] De modo semelhante, os sistemas de monitoramento do rendimento podem conter sensores de rendimento para o equipamento de colheita que enviam os dados de medida do rendimento para o computador cab 115 ou outros dispositivos dentro do sistema 130. Os sistemas de monitoramento do rendimento podem utilizar um ou mais sensores remotos 112 para a obtenção de medidas da umidade dos grãos em uma ceifadeira-coletora ou outra ceifadeira e transmitir estas medidas para o usuário através do computador cab 115 ou outros dispositivos dentro do sistema 130.
[0073] Em uma modalidade, os exemplos de sensores 112 que podem ser utilizados com qualquer veículo ou equipamento que se move do tipo descrito em outro lugar aqui 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 apps de posição ou mapeamento com base no WiFi que são programados para determinar a localização baseada nos “hotspots” de WiFi próximos, entre outras coisas.
[0074] Em uma modalidade, os exemplos de sensores 112 que podem ser utilizados com tratores ou outros veículos que se movem 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 por 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 da roda ou sensores de deslizamento da roda. Em uma modalidade, os exemplos de controladores 114 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 da posição de engate; ou controladores de posição da roda fornecem direção automática.
[0075] Em uma modalidade, os exemplos de sensores 112 que podem ser utilizados com equipamento de plantio de sementes tal como plantadores, sementeiras ou semeadeiras a ar incluem sensores de sementes, que podem ser sensores ópticos, eletromagnéticos ou de impacto; sensores de força descendente tais como pinos de carga, células de carga, sensores de pressão; sensores das propriedades do solo tais como sensores reflexibilidade, sensores de umidade, sensores de condutividade elétrica, sensores ópticos de resíduos ou sensores de temperatura; sensores de critérios de operação dos componentes tais como sensores de profundidade de plantio, sensores de pressão de cilindro de força descendente ta, sensores de velocidade do disco de semeadura, codificadores de motor de propulsão de sementes, sensores de velocidade do sistema transportador de sementes ou sensores do nível de vácuo; ou sensores de aplicação de pesticidas tais como sensores ópticos ou outros eletromagnéticos ou sensores de impacto. Em uma modalidade, os exemplos de controladores 114 que podem ser utilizados com tal equipamento de plantio de sementes incluem: controladores de dobradura de barra, tal como controladores para válvulas associadas a 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 aplicação de força descendente nas unidades de fileiras individuais ou uma armação de plantação inteira de moldura; controladores de profundidade de plantio, tais como atuadores lineares; controladores de medição, tais como motores de propulsão de medição de sementes elétricos, motores de propulsão de medição de sementes hidráulicos ou embreagem de controle de faixa; controladores de seleção de híbridos, tais como motores de propulsão de medição de sementes ou outros atuadores programados para permitir ou prevenir seletivamente que uma semente ou uma mistura de semeadura com ar distribua semente para ou partindo de medidores de semente ou depósitos alimentadores em massa centrais; controladores de medição, tais como motores de propulsão de medição de sementes elétricos ou motores de propulsão de medição de sementes hidráulicos; controladores do sistema transportador de sementes, tais como controladores para um motor do transportador de fornecimento de sementes com correia; controladores de marcação, tal como um controlador para um atuador pneumático ou hidráulico; ou controladores da taxa de aplicação de pesticida, tais como controladores do dispositivo de medição, controladores do tamanho do orifício ou de posição.
[0076] Em uma modalidade, os exemplos de sensores 112 que podem ser utilizados com o equipamento de lavoura incluem sensores de posição para ferramentas tais como hastes ou discos; sensores de posição de ferramentas para as ferramentas que são configuradas para detectar a profundidade, o ângulo gang ou o espaçamento lateral; sensores de força descendente; ou sensores de força de tração. Em uma modalidade, os exemplos de controladores 114 que podem ser utilizados com o equipamento de lavoura incluem controladores de força descendente ou controles de posição de ferramentas, tais como controladores configurados para controlar a profundidade da ferramenta, o ângulo gang ou o espaçamento lateral.
[0077] Em uma modalidade, os exemplos de sensores 112 que podem ser utilizados em relação ao equipamento para aplicação de fertilizantes, inseticidas, fungicidas e similares, tal como sistemas de fertilizante impulsor no equipamento de plantação, aplicadores de fertilizante embaixo do solo ou pulverizadores de fertilizantes, incluem: sensores de critérios do sistema de fluidos, tais como sensores de fluxo ou sensores de pressão; sensores que indicam quais válvulas do cabeçote pulverização ou quais válvulas da linha de fluido estão abertas; sensores associados aos tanques, tais como sensores do nível de enchimento;
sensores de linha de suprimento seccional ou no sistema todo ou sensores de linha de suprimento específico para a fileira; ou sensores cinemáticos tais como acelerômetros dispostos sobre lanças pulverizadoras. Em uma modalidade, os exemplos de controladores 114 que podem ser utilizados com tal equipamento incluem controladores de velocidade da bomba; controladores de válvulas que são programados para controlar a pressão, o fluxo, a direção, PWM e similares; ou atuadores de posição, tal como para altura da lança, profundidade abaixo do solo ou posição de lança.
[0078] Em uma modalidade, os exemplos de sensores 112 que podem ser utilizados com ceifadeiras incluem monitores de rendimento, tais como sensores de deformação da placa no impacto ou sensores de posição, sensores de fluxo capacitivo, sensores de carga, sensores de peso ou sensores de torque associados a elevadores ou trados ou sensores de altura dos grãos ópticos ou outros eletromagnéticos; sensores de umidade do grão, tal como sensores capacitivos; sensores de perdas de grãos, incluindo sensores de impacto, ópticos ou capacitivos; sensores de critérios de operação do alimentador tais como sensores de altura do alimentador, do tipo de alimentador, do espaço da placa do deck, velocidade do alimentador e velocidade do tambor; sensores de critérios de operação do separador, tais como sensores de afastamento côncavo, velocidade do rotor, afastamento da sapata ou afastamento chaffer, sensores do trado para posição, operação ou velocidade; ou sensores de velocidade do motor. Em uma modalidade, os exemplos de controladores 114 que podem ser utilizados com ceifadeiras incluem controladores de critérios de operação do alimentador para elementos tais como da altura do alimentador, do tipo de alimentador, do espaço da placa do deck, da velocidade do alimentador ou da velocidade do tambor; controladores de critérios de operação do separador para características tais como afastamento côncavo, velocidade do rotor, afastamento da sapata ou afastamento chaffer, ou controladores de posição, operação ou velocidade do trado.
[0079] Em uma modalidade, os exemplos de sensores 112 que podem ser utilizados com caçambas de grãos incluem sensores de peso ou sensores para posição, operação ou velocidade do trado. Em uma modalidade, os exemplos de controladores 114 que podem ser utilizados com as caçambas de grãos incluem controladores de posição, operação ou velocidade do trado.
[0080] Em uma modalidade, os exemplos dos sensores 112 e dos controladores 114 podem ser instalados no equipamento de veículos aéreos não tripulados (UAV) ou “drones”. Estes sensores podem incluir câmeras com detectores eficientes para qualquer faixa do espectro eletromagnético incluindo luz visível, infravermelho, ultravioleta, infravermelho próximo (NIR) e similares; acelerômetros; altimetros; sensores de temperatura; sensores de umidade; sensores do tubo de Pitot ou outros sensores de velocidade do ar ou de velocidade do vento; sensores de tempo de bateria; ou emissores de radar e equipamento de detecção de energia de radar refletida; outros emissores de radiação eletromagnética e equipamento de detecção de radiação eletromagnética refletida. Estes controladores podem incluir equipamento de orientação ou controle do motor, controladores de controle de superficie, controladores de câmera ou controladores programados para ligar, operar, obter dados, gerenciar e configurar qualquer um dos sensores anteriores. Os exemplos são divulgados no Pedido de Patente U.S. No. 14/831.165 e a presente divulgação admite o conhecimento desta outra divulgação de patente.
[0081] Em uma modalidade, os sensores 112 e os controladores 114 podem ser afixados ao equipamento de amostragem e medida do solo que é configurado ou programado para obter amostras do solo e realizar testes químicos no solo, testes de umidade do solo e outros testes referentes ao solo. Por exemplo, o equipamento divulgado na Pat. U.S. No. 8.767.194 e na Pat. U.S. No. 8.712.148 pode ser utilizado e a presente divulgação admite o conhecimento destas divulgações de patente.
[0082] Em uma modalidade, os sensores 112 e os controladores 114 podem compreender estações meteorológicas para monitoramento das condições climáticas dos campos. Por exemplo, o equipamento divulgado no Pedido de Patente U.S. Provisória No. 62/154.207, depositado em 29 de abril de 2015, no Pedido de Patente U.S. Provisória No. 62/175.160, depositado em 12 de junho de 2015, no Pedido de Patente U.S. Provisória No. 62/198.060, depositado em 28 de julho de 2015 e no Pedido de Patente U.S. Provisória No. 62/220.852, depositado em 18 de setembro de 2015, pode ser utilizado e a presente divulgação admite o conhecimento destas divulgações de patente.
[0083] 2.4. VISÃO GERAL DO PROCESSO-TREINAMENTO DO
MODELO AGRONÔMICO
[0084] Em uma modalidade, o sistema de computação 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 computação 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 condições que podem afetar o crescimento de uma ou mais plantações em um campo ou propriedades da uma ou mais plantações ou ambos. Adicionalmente, um modelo agronômico pode compreender recomendações com base nos fatores agronômicos tais como recomendações sobre a planta de cultivo, recomendações de irrigação, recomendações de plantio, recomendações de fertilizantes, recomendações “de fungicidas, recomendações de pesticidas, recomendações de colheita e outras recomendações de gerenciamento da planta de cultivo. Os fatores agronômicos também podem ser utilizados para estimar um ou mais resultados relacionados à planta de cultivo, tal como rendimento agronômico. O rendimento agronômico de uma planta de cultivo é uma estimativa da quantidade da planta de cultivo que é produzida ou, em alguns exemplos, da receita bruta ou do lucro obtido partindo da planta de cultivo produzida.
[0085] Em uma modalidade, o sistema de computação de inteligência agrícola 130 pode utilizar um modelo agronômico pré- configurado para calcular as propriedades agronômicas relacionadas à localização recebida no momento e informação sobre a planta de cultivo para um ou mais campos. O modelo agronômico pré-configurado se baseia nos dados do campo processados previamente, incluindo, mas, sem limitação, dados de identificação, dados de colheita, dados do fertilizante e dados do clima. O modelo agronômico pré-configurado pode ter passado por validação cruzada para garantir a acurácia do modelo. A validação cruzada pode incluir a comparação com a verdade básica que compara resultados previstos com resultados vigentes em um campo, tal como a comparação da estimativa de precipitação com um pluviômetro ou sensor de chuva fornecendo dados do clima na mesma ou em uma localização próxima ou uma estimativa do teor de nitrogênio com uma medida de amostra do solo.
[0086] A FIG. 3 ilustra um processo programado através do qual o sistema de computação de inteligência agrícola gera um ou mais modelos agronômicos pré-configurados utilizando dados do campo fornecidos por uma ou mais fontes de dados. A FIG. 3 pode servir como um algoritmo ou instruções para programação dos elementos funcionais do sistema de computação de inteligência agrícola 130 para executar as operações que são descritas agora.
[0087] No bloco 305, o sistema de computação de inteligência agrícola 130 é configurado ou programado para implementar dados agronômicos pré-processando os dados do campo recebidos de uma ou mais fontes de dados. Os dados do campo recebidos de uma ou mais fontes de dados podem ser pré-processados com a finalidade de remover ruído, efeitos de distorção e fatores que causam confusão dentro dos dados agronômicos incluindo pontos fora da curva medidos que poderiam afetar de forma adversa os valores dos dados do campo recebidos. As modalidades dos dados agronômicos pré-processamento podem incluir, mas não são limitados a, remoção dos valores de dados comumente associados aos valores de dados fora da curva, pontos de dados específicos medidos que são conhecidos por desnecessariamente distorcerem outros valores de dados, técnicas de alisamento, agregação ou amostragem de dados utilizadas para remover ou reduzir efeitos aditivos ou multiplicativos provenientes do ruído e outras técnicas de filtração ou derivação dos dados utilizadas para fornecer distinções claras entre inserções de dados positivos e negativos.
[0088] No bloco 310, o sistema de computação de inteligência agrícola 130 é configurado ou programado para realizar a seleção do subconjunto de dados utilizando os dados do campo pré-processados com a finalidade de identificar conjuntos de dados úteis para gerar o modelo agronômico inicial. O sistema de computação de inteligência agrícola 130 pode implementar técnicas de seleção do subconjunto de dados incluindo, mas, sem limitação, um método algoritmo genético, um método de modelagem dos subconjuntos, um método de busca sequencial, um método de regressão em etapas, um método de otimização por enxame de partículas e um método de otimização de colônias de formigas. Por exemplo, uma técnica de seleção com algoritmo genético utiliza um algoritmo de busca heurístico adaptativo, com base nos princípios evolutivos de seleção natural e genética, para determinar e avaliar os conjuntos de dados dentro dos dados agronômicos pré- processados.
[0089] No bloco 315, o sistema de computação de inteligência agrícola 130 é configurado ou programado para implementar a avaliação do conjunto de dados do campo. Em uma modalidade, um conjunto de dados do campo específico é avaliado através da criação de um modelo agronômico e da utilização de limites de qualidade específicos para o modelo agronômico criado. Os modelos agronômicos podem ser comparados e/ou validados utilizando uma ou mais técnicas de comparação, tais como, mas, sem limitação, raiz do erro quadrático médio com validação cruzada Leave-One-Out (RMSECV), erro absoluto médio e erro percentual médio. Por exemplo, a RMSECV pode validar de forma cruzada os modelos agronômicos através da comparação de valores previstos da propriedade agronômica pelo modelo agronômico contra valores históricos da propriedade agronômica coletados e analisados. Em uma modalidade, a lógica de avaliação do conjunto de dados agronômicos é utilizada como um feedback loop em que os conjuntos de dados agronômicos que não satisfazem os limites de qualidade configurados são configurados durante as etapas futuras de seleção do subconjunto de dados (bloco 310).
[0090] No bloco 320, o sistema de computação de inteligência agrícola 130 é configurado ou programado para implementar a criação do modelo agronômico com base nos conjuntos dos dados agronômicos validados de forma 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.
[0091] No bloco 325, o sistema de computação 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 do campo.
[0092] 2.5. EXEMPLO DE IMPLEMENTAÇÃO -VISÃO GERAL DO
HARDWARE
[0093] De acordo com uma modalidade, as técnicas descritas aqui são implementadas por um ou mais dispositivos de computação com finalidade especial. Os dispositivos de computação com finalidade especial podem ser programado para executar as técnicas ou podem incluir dispositivos eletrônicos digitais tais como um ou mais circuitos integrados de aplicação específica (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 com finalidade geral programados para executar as técnicas conforme as instruções de programa em firmware, memória, outro armazenamento ou uma comdepósitoação. Tais dispositivos de computação com finalidade especial também podem comdepósitoar lógica de fiação customizada, ASICs ou FPGAs com programação customizada para executar as técnicas. Os dispositivos de computação com finalidade especial podem ser sistemas de computação do tipo desktop, sistemas de computação portáteis, dispositivos de mão, dispositivos de rede ou qualquer outro dispositivo que incorpora lógica de fiação customizada e/ou programação lógica para implementar as técnicas.
[0094] Por exemplo, a FIG. 4 é um diagrama de blocos que ilustra um sistema de computação 400 no qual uma modalidade da invenção pode ser implementada. O sistema de computação 400 inclui um bus 402 ou outro mecanismo de comunicação para transmitir a informação e um processador de hardware 404 acoplado ao bus 402 para processamento da informação. O processador de hardware 404 pode ser, por exemplo, um microprocessador de finalidade geral.
[0095] O sistema de computação 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 bus 402 para armazenamento da informação e de instruções que serão executadas pelo processador 404. A memória principal 406 também pode ser utilizada para armazenar variáveis temporárias ou outra informação intermediária durante a execução de instruções que serão executadas pelo processador
404. Tais instruções, quando armazenadas na mídia de armazenamento não transitório que pode ser acessada pelo processador 404, transforma o sistema de computação 400 em uma máquina de finalidade especial que é customizada para realizar as operações especificadas nas instruções.
[0096] O sistema de computação 400 inclui ainda uma memória somente de leitura (ROM) 408 ou outro dispositivo de armazenamento estático acoplado ao bus 402 para o armazenamento de informação estática e instruções para o processador 404. Um dispositivo de armazenamento 410, tal como um disco magnético, um disco óptico ou uma unidade de estado sólido é fornecido e acoplado ao bus 402 para o armazenamento de informação e instruções.
[0097] O sistema de computação 400 pode ser acoplado através do bus 402 a uma tela 412, tal como um tubo de raios catódicos (CRT), para exibir a informação para um usuário do computador. Um dispositivo de entrada 414, incluindo teclados alfanuméricos e outros, é acoplado ao bus 402 para comunicação da informação e comandar seleções para o processador 404. Outro tipo de dispositivo de entrada pelo usuário é controle de cursor 416, tal como um mouse, uma trackball (bola de comando) ou teclas de direcionamento do cursor para comunicação da informação de direção e comandar seleções para o processador 404 e para o controle do movimento do cursor na tela 412. Este dispositivo de entrada tipicamente tem dois graus de liberdade em dois eixos, um primeiro eixo (por exemplo, x) e um segundo eixo (por exemplo, y), que permite que o dispositivo especifique as posições em um plano.
[0098] O sistema de computação 400 pode implementar as técnicas descritas aqui utilizando lógica de fiação customizada, um ou mais ASICs ou FPGAs, firmware e/ou programação lógica que em comdepósitoação com o sistema de computação faz com que ou programa o sistema de computação 400 para ser uma máquina de finalidade especial. De acordo com uma modalidade, as técnicas apresentadas aqui são executadas pelo sistema de computação 400 em resposta ao processador 404 que executa uma ou mais sequências de uma ou mais instruções contidas na memória principal 406. Tais instruções podem ser lidas dentro da memória principal 406 provenientes de outra mídia de armazenamento, tal como dispositivo de armazenamento 410. A execução das sequências de instruções contidas na memória principal 406 faz com que o processador 404 execute as etapas do processo descritas aqui. Em modalidades alternativas, um conjunto de circuitos de fiação pode ser utilizado no lugar ou em comdepósitoação com instruções de software.
[0099] O termo “mídia de armazenamento” como é utilizado aqui se refere a qualquer mídia não transitória que armazena dados e/ou instruções que fazem com que uma máquina opere de uma maneira específica. Tal mídia de armazenamento pode compreender mídias não voláteis e/ou mídias voláteis. As mídias não voláteis incluem, por exemplo, discos ópticos, discos magnéticos ou unidades de estado sólido, tal como o dispositivo de armazenamento 410. As mídias voláteis incluem memória dinâmica, tal como a memória principal 406. As formas comuns de mídia de armazenamento incluem, por exemplo, um disquete, um disco flexivel, um disco rígido, uma unidade de estado sólido, uma fita magnética ou qualquer outra mídia de armazenamento de dados magnético, um CD-ROM, qualquer outra mídia de armazenamento de dados óptico, qualquer meio físico com padrões de orifícios, uma RAM, uma PROM e uma EPROM, uma FLASH-EPROM, uma NVRAM, qualquer outro chip ou cartucho de memória.
[0100] A mídia de armazenamento é distinta, mas pode ser utilizada em associação à mídia de transmissão. A mídia de transmissão participa da transferência da informação entre a mídia de armazenamento. Por exemplo, a mídia de transmissão inclui cabos coaxiais, fio de cobre e fibras óticas, incluindo os cabos que compreendem o bus 402. A mídia de transmissão também pode tomar a forma de ondas acústicas ou luminosas, tais como as g eradas durante as comunicações de dados por ondas de rádio e infravermelho.
[0101] Várias formas de mídia podem estar envolvidas no transporte de 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 uma unidade de estado sólido de um computador remoto. O computador remoto pode carregar as instruções dentro de sua memória dinâmica e enviar as instruções através de uma linha telefônica utilizando um modem. Um modem local do sistema de computação 400 pode receber os dados na linha telefônica e utilizar um transmissor de infravermelho para converter os dados em um sinal de infravermelho. Um detector de infravermelho pode receber os dados carregados no sinal de infravermelho e um conjunto de circuitos apropriados pode colocar os dados no bus 402. O bus 402 carrega os dados para memória principal 406, partindo da qual o processador 404 recupera e executa as instruções. As instruções recebidas pela memória principal 406 podem ser opcionalmente armazenadas no dispositivo de armazenamento 410 antes ou depois da execução pelo processador 404.
[0102] O sistema de computação 400 também inclui uma interface de comunicação 418 acoplada ao bus 402. A interface de comunicação 418 fornece uma comunicação dos dados em duas vias acoplada a um link de rede 420 que é conectado a uma rede local 422. Por exemplo, a interface de comunicação 418 pode ser um cartão de rede digital de serviços integrados (ISDN), um modem com cabo, um modem via satélite ou um modem para fornecer uma conexão de comunicação de dados a um tipo correspondente de linha telefônica. Como outro exemplo, a interface de comunicação 418 pode ser um cartão de rede de área local (LAN) para fornecer uma conexão de comunicação de dados a uma LAN compatível. Os links sem fio também podem ser implementados. Em qualquer implementação deste tipo, a interface de comunicação 418 envie e recebe sinais elétricos, eletromagnéticos ou ópticos que carregam fluxos de dados digitais que representam vários tipos de informação.
[0103] O link de rede 420 fornece tipicamente a comunicação de dados através de uma ou mais redes para outros dispositivos de ados. Por exemplo, o link de rede 420 pode fornecer uma conexão através de rede local 422 para um computador host 424 ou para o equipamento de dados operado por um Provedor de Serviço de Internet (Internet Service Provider - ISP) 426. O ISP 426 por sua vez fornece os serviços de comunicação de dados através da rede de comunicações pacotes de dados referida comumente agora como a “Internet” 428. Tanto a rede local 422 quanto a Internet 428 utilizam sinais elétricos, eletromagnéticos ou ópticos que carregam 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, que carregam os dados digitais para e partindo do sistema de computação 400, são exemplos de formas de mídias de transmissão.
[0104] O sistema de computação 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 de Internet, um servidor 430 poderia transmitir um código solicitado para um programa aplicativo através da Internet 428, do ISP 426, da rede local 422 e da interface de comunicação 418.
[0105] O código recebido pode ser executado pelo processador 404 como é recebido e/ou armazenado no dispositivo de armazenamento 410 ou outro armazenamento não volátil para execução posterior.
[0106] 3. — DESCRIÇÃO FUNCIONAL
[0107] 3.1 DESENVOLVIMENTO DO MODELO
[0108] Em algumas modalidades, o servidor de reconhecimento de doença de FoV grande 170 é programado ou configurado com estruturas de dados e/ou registros de bases de dados que são dispostos para criar um primeiro modelo para identificar uma região candidata que provavelmente capturará um alvo pretendido de uma imagem de FoV grande. O alvo pretendido pode ser uma única folha, um conjunto de várias folhas ou um conjunto de várias plantas de cultivo independentemente do número de folhas. O servidor 170 é programado para receber um primeiro conjunto de imagens de treinamento, tal como aproximadamente 2.000 imagens recortadas de imagens de reconhecimento aéreo de um campo. Cada uma das imagens de treinamento pode ter um tamanho consistente, tal como 224 pixels por 224 pixels. Quando o alvo pretendido é uma única folha, as imagens de treinamento que servem como amostras positivos, que podem ser aproximadamente a metade de todas as imagens de treinamento, são tipicamente claras o suficiente que o computador possa detectar uma única folha saudável ou infectada no centro da imagem ocupando mais de 50% da área total. O restante das imagens, que poderiam estar muito escuras, capturando várias folhas ou capturando apenas o solo, serviria como amostras negativas.
[0109] Em algumas modalidades, o servidor 170 é programado para criar a seguir um primeiro modelo com base no primeiro conjunto de imagens de treinamento. O primeiro modelo pode ser uma SVM que aceita um vetor de características de HOG para uma imagem de treinamento e produz uma indicação do fato da imagem de treinamento capturar um alvo pretendido. Especificamente, os dados de treinamento para a SVM pode ser o conjunto de características de HOG para as imagens de treinamento que servem como exemplos positivos e o conjunto de características de HOG para as imagens de treinamento que servem como exemplos negativos.
[0110] A FIG. 7 ilustra um exemplo de computação de vetores de características de HOG para regiões de uma imagem de FoV grande. Uma região 704 pode ser extraída de uma imagem de FoV grande 702. Os valores de gradientes mostrados como as setas negras sobre a região 704 podem ser computados para a região 704, como descrito adicionalmente a seguir. Estes valores de gradientes geralmente traçam um contorno de objetos em primeiro plano em uma imagem, como é ilustrado pelas setas brancas sobre a imagem de FoV grande 702. O vetor de características de HOG para uma região, tal como o histograma 706 em relação a valores de gradientes diferentes, pode assim capturar formatos específicos de objetos em primeiro plano na região.
[0111] Em algumas modalidades, o primeiro modelo pode ser construído utilizando qualquer módulo ou biblioteca de SVM conhecida por algum perito na técnica. Por exemplo, a função SVC na biblioteca scikit-learn pode ser executada com valores de parâmetros pré- estabelecidos. Alternativamente, o primeiro modelo pode incluir um ou mais outros métodos de classificação, tal como o algoritmo de k-vizinhos mais próximos ou uma árvore de decisão. Além disso, o primeiro modelo não precisa trabalhar com vetores de características de HOG ou se basear de outra maneira na detecção de bordas. Por exemplo, o primeiro modelo pode ser baseado na comdepósitoação de padrões que busca formatos característicos de uma folha.
[0112] Em algumas modalidades, o servidor 170 é programado para também criar um segundo modelo para identificar regiões intermediárias que provavelmente capturarão um alvo infectado de uma imagem de FoV grande. O servidor 170 é programado para receber um segundo conjunto de imagens de treinamento, tal como aproximadamente 1.000 imagens geradas de telefones celulares de folhas infectadas para cada doença que deve ser reconhecida, 1.000 imagens de folhas saudáveis e 1.000 imagens de fundo geradas partindo do corte aleatório de imagens de reconhecimento aéreo, com cada imagem a ou maior que 224 pixels por 224 pixels. Como com o primeiro conjunto de imagens de treinamento, quando o alvo pretendido é uma única folha, cada uma das imagens de treinamento que devem servir como exemplos positivos contém uma única folha no centro da imagem ocupando mais de 50% da área total e é suficientemente clara para indicar quaisquer sintomas da doença. O servidor 170 também pode ser programado para incluir imagens de tamanhos e escalas variáveis no segundo conjunto de imagens de treinamento.
[0113] Em algumas modalidades, o servidor 170 pode ser programado para refinar o segundo conjunto de imagens de treinamento quando necessário pelo segundo modelo. Cada um do segundo conjunto de imagens de treinamento pode ser cortado em um tamanho fixo, tal como 224 pixels por 224 pixels. O segundo conjunto de mensagens de treinamento também pode ser aumentado submetendo as imagens de treinamento existentes a várias operações de imagem. Por exemplo, a borda curta de cada imagem de treinamento pode ser redimensionada estar entre 256 pixels e 384 pixels para aumento da escala, como descrito adicionalmente a seguir e a imagem redimensionada pode ser cortada aleatoriamente em 224 pixels por 224 pixels. Para exemplo adicional, as imagens de treinamento podem ser giradas aleatoriamente na faixa (-90 graus, 90 graus) e cisalhadas aleatoriamente com um fator de cisalhamento de 0,2. Para treinamento com vários tamanhos, que também será descrito adicionalmente a seguir, as imagens de treinamento podem ser redimensionadas em escalas sucessivamente menores e utilizadas diretamente.
[0114] Em algumas modalidades, o servidor 170 é programado para aumentar mais o segundo conjunto de imagens de treinamento. O aumento de dados pode ser realizado utilizando uma rede contraditória generativa (“GAN”), que pode ser utilizada para gerar fotografias que pareçam autênticas para os observadores humanos e assim é útil para reforçar o desempenho de um modelo de aprendizado da máquina através da expansão do conjunto de dados de treinamento. Especificamente, uma GAN envolve um sistema de duas redes neurais, a saber, uma rede generativa e uma rede discriminativa, competindo uma com a outra em uma rede de jogo de soma zero. O conjunto de imagens autênticas é utilizado como o conjunto de treinamento para a rede discriminativa, enquanto que a rede generativa produz um conjunto de imagens artificiais que parecem autênticas para os observadores humanos. Um exemplo de GAN é uma Wassersstein GAN aprimorada (“WGAN”) que é descrita no artigo de Gulrajani et al., arXiv:1704.0028v2 [cs.CV] (2015). O segundo conjunto de imagens de treinamento atual pode ser utilizado como o conjunto de treinamento para a rede degenerativa em um modo de aprendizado semi-supervisionado.
[0115] Em algumas modalidades, o aumento de dados pode ser implementado utilizando qualquer módulo ou biblioteca de WGAN conhecida por algum perito na técnica. Por exemplo, o pacote de treinamento aperfeiçoado wgan sob a biblioteca Gitlub pode ser adaptado através da substituição do discriminador por uma rede ResNet50 (para aceitar os dados de treinamento de certos tamanhos), que pode ser implementado utilizando o modelo de ResNet50 da biblioteca de Keras compatível com Python 2.7-3.5.
[0116] Em algumas modalidades, o servidor 170 é programado para criar a seguir um segundo modelo com base no segundo conjunto de imagens de treinamento. O segundo modelo pode ser uma CNN que aceita uma imagem de FoV grande e realiza uma classificação para cada uma das regiões candidatas, que podem ser identificadas pelo primeiro modelo, indicando se a região captura sintomas de uma das doenças predeterminadas das plantas de cultivo.
[0117] A FIG. 8 ilustra um exemplo de arquitetura de CNN de acordo com uma modalidade. A CNN pode compreender um conjunto de camadas convolucionais 802 configurado para gerar mapas de características para a imagem de FoV grande fornecida. O produto da execução do conjunto de camadas convolucionais é um conjunto de mapas de características que corresponde a características diferentes de alvos infectados, que podem estar em escalas diferentes.
[0118] A CNN pode compreender ainda uma camada de agrupamento de Rol 804 para gerar representações com comprimento fixo para regiões com tamanhos medidos arbitrariamente da imagem de FoV grande. Especificamente, uma projeção de Rol pode ser realizada para projetar uma região de interesse, tal como uma identificada pelo primeiro modelo, sobre a imagem de FoV grande de entrada para extrair uma porção correspondente (“projeção”) de cada mapa de características produzido pelo conjunto de camadas convolucionais 802. O conjunto de porções dos mapas de características pode então ser submetido à camada de agrupamento de RoI 804. Um exemplo de camada de agrupamento de Rol é uma camada de agrupamento max que converte uma projeção em um mapa de características de 7 pixels por 7 pixels.
[0119] Finalmente, a CNN pode compreender uma camada totalmente conectada 806 para gerar uma classificação final utilizando o conjunto correspondente de mapas de características de 7 pixels por 7 pixels. A camada totalmente conectada pode incluir a função softmax, que produz uma probabilidade de associação de classes para cada uma das classes ou neste caso uma probabilidade de infecção para cada uma das doenças ou uma probabilidade de não haver infecção.
[0120] Em algumas modalidades, o segundo modelo pode ser construído utilizando qualquer módulo ou biblioteca de CNN conhecida por algum perito na técnica. Por exemplo, pode ser utilizado o modelo de ResNet50 da biblioteca de Keras compatível com Python 2.7-3.5, com include top ajustado em True, max ajustado em True e classes ajustado em 5. As cinco classes corresponderiam a fundo, mancha cinzenta nas folhas (GLS), Goss's Wilt (GW), NLB e folha saudável.
[0121] Em algumas modalidades, para atingir invariância de escala, o segundo modelo, tal como uma CNN, pode ser treinado com treinamento de tamanho único ou treinamento de vários tamanhos. Em outras modalidades, o segundo modelo pode incluir um ou mais outros métodos de classificação conhecidos por algum perito na técnica, tal como regressão linear, uma cadeia de Markov ou uma rede neural recorrente.
[0122] 3.2 OBTENÇÃO DE ESCALAS DA IMAGEM E SELEÇÃO
DA REGIÃO
[0123] Em algumas modalidades, fornecida uma imagem de FoV grande, o servidor 170 é programado para redimensionar a imagem fornecida em escalas diferentes para gerar uma pirâmide de imagens, de forma que uma janela deslizante de tamanho fixo possa ser utilizada para encontrar uma folha de um tamanho arbitrário. Seria esperado que o tamanho da janela deslizante tivesse o valor esperado de cada do segundo conjunto de imagens de treinamento. Qualquer método de atribuição de escalas ao conteúdo conhecido por algum perito na técnica pode ser utilizado, tal como escala do vizinho mais próximo ou reamostragem de Lanczos.
[0124] A FIG. 9 ilustra um exemplo de processo de obtenção de escalas para gerar uma pirâmide de imagens.
[0125] Como um exemplo, uma imagem original de FoV grande pode ter o tamanho de 1.600 pixels por 1.200 pixels e as imagens 904, 906, 908 e 910 podem representar imagens redimensionadas em escalas sucessivamente menores, correspondendo aos tamanhos de 900 pixels por 800 pixels, 800 pixels por 600 pixels, 560 pixels por 420 pixels e 400 pixels por 300 pixels, respectivamente. A menor imagem redimensionada 910 ainda seria maior que o tamanho de uma janela deslizante 902, que tem o tamanho de 224 pixels por 224 pixels. À medida que as imagens redimensionadas ficam menores, é esperado que o método de atribuição de escalas mantenha as características principais da imagem original mesmo se mais informação for perdida. Portanto, à medida que as imagens ficam menores, a mesma janela deslizante 902 corresponderia a uma região maior na imagem original idealmente com mais ou menos as mesmas características. Consequentemente, em escalas sucessivamente menores, a janela deslizante 902 corresponde a uma região na imagem original que captura mais e mais folhas. Para uma imagem de um tamanho específico, quando o tamanho do campo de visão for grande, a imagem poderia capturar muitas folhas e cada folha poderia ser representada apenas em uma pequena área e assim uma escala grande seria suficiente para que uma janela deslizante 902 corresponda a uma região que captura uma única folha.
[0126] Similarmente, quando o tamanho do campo de visão for pequeno, a imagem poderia capturar menos folhas e cada folha poderia ser representada em uma área grande e assim uma escala pequena seria necessária para que uma janela deslizante 902 corresponda a uma região que captura uma única folha. Em geral, qualquer número de escalas pode ser utilizado, embora um número maior de escalas significaria um número maior de regiões que serão consideradas.
[0127] Em algumas modalidades, o servidor 170 é programado para correr a janela deslizante 902 através de cada imagem redimensionada e executar o primeiro modelo discutido anteriormente sobre a região correspondente para identificar uma região candidata que provavelmente capturará um alo pretendido, tal como uma única folha. Especificamente, para cada região correspondente, o servidor 170 é programado para computar o vetor de características de HOG. A computação pode ser realizada utilizando qualquer módulo ou biblioteca de HOG conhecida por algum perito na técnica. Por exemplo, a função
HOGDescriptor na biblioteca OpenCV (versão 3.3) pode ser utilizada para computar o vetor de características de HOG com win size ajustado em Size(224,224), block size ajustado em Size(2,2), cell size ajustado em Size(32,32) e ndepósitos ajustado em 9. O servidor 170 é adicionalmente programado para executar a SVM sobre o vetor de características de HOG para determinar se a região correspondente pode ser classificada como uma região candidata que provavelmente capturará um alvo pretendido.
[0128] A FIG. 10 ilustra um exemplo de resultado de seleção de região proveniente de uma pirâmide de imagens. Os gráficos 1002, 1004, 1006 e 1008 podem representar as imagens originais e redimensionadas citadas anteriormente que têm tamanhos de 1.600 pixels por 1.200 pixels, 900 pixels por 800 pixels, 800 pixels por 600 pixels e 560 pixels por 420 pixels, respectivamente. O eixo x e o eixo y de cada gráfico indica a dimensão da imagem em unidades de 40 pixels, embora cada gráfico seja mostrado no mesmo tamanho para indicar como a imagem redimensionada é mapeada de volta para a imagem original. As regiões candidatas são mostradas como áreas escuras nestes gráficos, tal como a região escura 1010. Como pode ser observado partindo dos gráficos 1002, 1004 e 1006, podem ser identificadas regiões candidatas diferentes quando a imagem original é redimensionada em escalas diferentes. Por exemplo, a região escura 1010 aparece claramente no gráfico 1004, mas apenas parcialmente no gráfico 1002 e não em todos os gráficos 1006 e
1008. Em adição, o número pequeno de regiões candidatas identificado para escalas menores, como é mostrado nos gráficos 1006 e 1008, é consistente no campo de visão grande associado à imagem original.
[0129] 3.3 — COMPUTAÇÃO DAS CARACTERÍSTICAS DE IMAGEM
[0130] Em algumas modalidades, o servidor 170 é programado para executar o segundo modelo sobre a imagem de FoV grande de entrada para computar inicialmente as caraterísticas para a imagem que será utilizada para determinar se a imagem captura qualquer alvo infectado, tal como uma folha infectada. Especificamente, o servidor 170 é configurado para executar o conjunto de camadas convolucionais da CNN sobre a imagem de FoV grande. A CNN é geralmente capaz de extrair as características do alvo em escalas diferentes. A execução do conjunto de camadas convolucionais sobre a imagem de FoV grande uma vez é claramente mais eficiente que a execução do conjunto de camadas convolucionais adicionalmente sobre as imagens redimensionadas diferentes. Portanto, é desejável alimentar a imagem de FoV grande na CNN, deixar que regiões da imagem diferentes sejam avaliadas através de operações de convolução, mas aparar os mapas de características para concentração sobre as regiões candidatas identificadas pelo primeiro modelo para a camada de agrupamento de Rol e a camada totalmente conectada.
[0131] 3.4. CLASSIFICAÇÃO E MAPEAMENTO DAS REGIÕES DA
IMAGEM
[0132] Em algumas modalidades, quando o segundo modelo for a CNN, o servidor 170 é programado para executar a projeção de Rol, como citado anteriormente. Especificamente, o servidor 170 é configurado para tirar cada região candidata identificada pelo primeiro modelo, mapeá-la na imagem de FoV grande inserido para obter uma região mapeada e extrair uma porção correspondente (“mapa de características projetado”) de cada um dos mapas de características produzidos pelo conjunto de camadas convolucionais da CNN. Um exemplo deste procedimento de mapeamento pode ser encontrado no artigo de He et al, arXiv: 1406.4729v4 [cs.CV] (2015).
[0133] Em algumas modalidades, o servidor 170 é programado para executar a camada de agrupamento de Rol sobre cada um dos mapas de características projetados que corresponde a uma região candidata identificada pelo primeiro modelo. Uma vez que a camada de agrupamento de Rol é projetada para funcionar sobre uma região de tamanho razoável para produzir uma representação de tamanho fixo significativa, é desejável enviar regiões dos mapas de características selecionadas produzidas pelo conjunto de camadas convolucionais para a camada de agrupamento de Rol. A execução da camada de agrupamento de Rol sobre os mapas de características projetados que correspondem às regiões selecionadas da imagem de FoV grande é claramente mais eficiente que a execução da camada de agrupamento de Rol sobre todas as porções dos mapas de características possíveis que correspondem a todas as regiões de janela deslizante possíveis da imagem de FoV grande. Portanto, a comdepósitoação da execução do conjunto de camadas convolucionais sobre a imagem de FoV grande e a execução da camada de agrupamento de Rol sobre os mapas de características projetados atinge a eficiência de execução ótima.
[0134] Em algumas modalidades, a obtenção de escalas da imagem inicial para gerar uma pirâmide de imagens pode ser substituída pela colocação da camada de agrupamento de Rol em cima como uma camada de agrupamento da pirâmide espacial. Neste caso, o servidor 170 pode ser configurado para identificar conjuntos diferentes de depósitos espaciais de cada mapa de características que correspondem a escalas diferentes. O servidor 170 pode ser adicionalmente configurado para alimentar cada um dos depósitos espaciais como uma região de interesse na camada de agrupamento de Rol ou utilizar o primeiro modelo para filtrar alguns dos depósitos espaciais.
[0135] Em alguma modalidade, o servidor 170 é configurado para executar a camada totalmente conectada sobre cada conjunto de mapas de características projetados produzidos pela camada de agrupamento de Rol para cada região mapeada da imagem de FoV grande para determinar se a região mapeada pode ser classificada como uma região intermediária que provavelmente capturará um alvo infectado para cada uma das doenças. A camada totalmente conectada pode produzir, para cada região mapeada, uma probabilidade de infecção para cada uma das classes de doenças ou uma probabilidade de não infecção. O servidor 170 pode ser adicionalmente configurado para classificar uma região mapeada como uma região intermediária com base no critério predeterminado relacionado a uma probabilidade de infecção, tal como quando uma probabilidade de infecção excede certo limite ou fica entre os 5% mais altos.
[0136] A FIG. 11 ilustra um exemplo de produto de um segundo modelo para a identificação de regiões que provavelmente capturarão alvos infectados. Os gráficos 1102, 1104, 1106 e 1108 podem representar as imagens originais e redimensionadas citadas anteriormente que têm tamanhos de 1.600 pixels por 1.200 pixels, 900 pixels por 800 pixels, 800 pixels por 600 pixels e 560 pixels por 420 pixels, respectivamente. O eixo xeoeixoy de cada gráfico indicam a dimensão da imagem em unidades de 40 pixels, embora cada gráfico seja mostrado no mesmo tamanho para indicar como a imagem redimensionada é mapeada de volta para a imagem original. As regiões candidatas (que têm regiões mapeadas) que foram consideradas como as que provavelmente capturarão folhas infectadas são mostradas em padrões de sombreamento diferentes que correspondem a doenças diferentes nestes gráficos, como indicado pela legenda 1010 em cada um dos gráficos. Como pode ser observado partindo dos gráficos 1102, 1104 e 1106, a mesma folha infectada pode ser infectada partindo de imagens em escalas diferentes. Também pode ser observado partindo do gráfico 1102 que a mesma folha, porções diferentes da mesma folha ou folhas próximas podem ser determinadas como estando infectadas com doenças diferentes.
[0137] Em algumas modalidades, o servidor 170 é programado para condensar o conjunto de regiões intermediárias identificado pelo segundo modelo através da supressão não máxima. Uma vez que uma janela deslizante é utilizada pelo primeiro modelo para identificar regiões candidatas, muitas das regiões candidatas identificadas pelo primeiro modelo, muitas das regiões mapeadas identificadas pelo segundo modelo e muitas das regiões intermediárias podem se sobrepor. Portanto, o servidor 170 é configurado para eliminar sistematicamente regiões de sobreposição considerando como regiões finais. Especificamente, fora das regiões intermediárias, é primeiramente escolhida aquela que tem a probabilidade mais alta de infecção e uma doença associada. Qualquer região que se sobreponha com a região intermediária escolhida em mais de um limite predeterminado, tal como 40% de qualquer uma das regiões de sobreposição, pode então ser removida considerando como uma região final. Este processo pode então ser repetido sobre o restante das regiões intermediárias um número de vezes até que um critério predeterminado seja satisfeito, tal como mais que certo número de iterações foi executado ou menos que certo número de regiões intermediárias permanece. Alternativamente, o servidor 170 pode ser configurado para dividir o conjunto de regiões intermediárias em clusters de regiões de sobreposição e selecionar uma região de cada um dos clusters simultaneamente ou em nenhuma ordem particular.
[0138] A FIG. 12 ilustra um exemplo de aplicação de supressão não máxima. Em certa imagem de FoV grande 1208, algumas regiões candidatas das imagens redimensionadas, incluindo aquelas que correspondem às regiões mapeadas 1202, 1204 e 1206, foram determinadas como aquelas que provavelmente capturarão folhas infectadas. Uma vez que estas regiões se sobrepões substancialmente, estas podem capturar a mesma folha infectada. Portanto, aquela associada à probabilidade de infecção mais alta, a saber, a região 1204 associada a uma probabilidade de 99%, seria selecionada como uma região final. O servidor 170 pode relatar que a folha capturada na região 1204 pode ser infectada por GLS com uma probabilidade de 99%. Após a remoção das regiões mapeadas 1202, 1204 e 1206 da consideração adicional, se ficar qualquer região mapeada, o processo pode ser repetido.
[0139] Em algumas modalidades, o servidor 170 é programado para transmitir dados relacionados às regiões finais para um dispositivo de exibição, um dispositivo do cliente ou um servidor remoto através de uma rede de comunicação. Os dados podem incluir, para cada região final, a posição dentro da imagem de FoV grande de entrada, a provavelmente infectada por doença ou a probabilidade de infecção.
[0140] 3.5 EXEMPLOS DE PROCESSO PROGRAMÁVEIS
[0141] A FIG. 13 ilustra um exemplo de processo de identificação de alvos infectados partindo de uma imagem de FoV grande.
[0142] Em algumas modalidades, o servidor 170 é programado para criar um primeiro modelo para determinar se uma região provavelmente capturará um único alvo, tal como uma folha. O primeiro modelo pode incluir ou se comunicar com um módulo de HOG que computa um vetor de características de HOG para uma região. O primeiro modelo também pode incluir uma SVM que classifica uma região em uma de várias classes baseadas no vetor de características, tal como uma classe de folhas individuais e uma classe sem folhas ou de várias folhas, que pode levar à identificação de uma região candidata que provavelmente capturará um único alvo.
[0143] Em algumas modalidades, o servidor 170 também é programado para criar um segundo modelo para determinar se uma imagem de FoV grande provavelmente capturará alvos infectados, tais como folhas infectadas ou se regiões específicas da imagem de FoV provavelmente capturarão alvos infectados individuais. O segundo modelo pode incluir uma CNN que compreende um conjunto de camadas convolucionais, uma camada de agrupamento de Rol e uma camada totalmente conectada. O conjunto de camadas convolucionais funcionam como o módulo de HOG do primeiro modelo na computação de valores de características para uma imagem de entrada, que pode ser representada na forma de vetores, mapas ou matrizes. Entretanto, o conjunto de camadas convolucionais pode extrair características do objeto único em escalas diferentes diretamente partindo da imagem de FoV grande. A camada de agrupamento de Rol pode processar um conjunto de mapas de características projetados produzidos pelo conjunto de camadas convolucionais para cada região candidata identificada pelo primeiro modelo nos mapas de características. Finalmente, a camada totalmente conectada pode classificar cada região candidata ou a região mapeada correspondente na imagem de FoV grande em cada uma das várias classes, tal como uma classe de uma folha infectada com certa doença e uma classe de uma folha saudável, para certa probabilidade com base no produto da camada de agrupamento de Rol. O produto da camada totalmente conectada pode levar ainda à identificação de uma região intermediária que provavelmente capturará um único alvo infectado com certa doença.
[0144] Em algumas modalidades, com o primeiro e o segundo modelos no lugar, na etapa 1302, o servidor 170 é configurado para receber uma imagem digital que captura inúmeros objetos, tal como uma foto de FoV grande de um campo de milho. Na etapa 1304, o servidor 170 é programado para gerar um grande número de imagens em escalas da imagem digital recebida. O número ou as dimensões das escalas podem depender dos tamanhos possíveis do campo de visão, da quantidade de recursos computacionais disponíveis ou outros fatores.
[0145] Em algumas modalidades, o servidor 170 é programado para executar o primeiro modelo sobre cada uma das imagens em escalas para identificar regiões candidatas da imagem digital recebida, das quais cada uma provavelmente capturará um objeto único e para executar o segundo modelo para finalmente identificar regiões intermediárias partindo das regiões candidatas, das quais cada uma provavelmente capturará o objeto único infectado com certa doença, tal como uma folha de milho infectada com NLB. Quando o segundo modelo for uma CNN, a utilização do conjunto de camadas convolucionais para a obtenção de mapas de características separadamente para regiões candidatas diferentes pode ser demorada. Na etapa 1306, entretanto, o servidor 170 é configurado para utilizar o conjunto de camadas convolucionais uma vez para extrair as características do objeto único em escalas diferentes diretamente partindo da imagem digital recebida.
[0146] Em algumas modalidades, na etapa 1308, o servidor 170 é configurado para executar o primeiro modelo sobre cada uma das imagens em escalas para identificar as regiões candidatas, como citado anteriormente. Esta etapa também pode ser realizada antes da etapa
1306. O servidor 170 é programado para executar a seguir o resto do segundo modelo para cada uma das regiões candidatas para identificar as regiões intermediárias. Especificamente, na etapa 1310 e na etapa
1312, o servidor 170 é programado para mapear a região candidata identificada partindo da imagem em escalas de volta para a imagem digital recebida original para a obtenção de uma região mapeada e também para cada um dos grupos de mapas de características produzidos pelo conjunto de camadas convolucionais para a obtenção de um grupo de mapas de características projetados. Na etapa 1314, o servidor 170 é programado para alimentar apenas o grupo mapas de características projetados, que são claramente menores que os mapas de características, na camada de Rol e enviar o produto da camada de Rol para a camada totalmente conectada para determinar se a região candidata captura um único alvo infectado com uma das doenças predeterminadas para certa probabilidade de infecção. O servidor 170 é adicionalmente configurado para determinar se a região candidata pode ser uma região intermediária que provavelmente capturará o alvo individual infectado com certa doença com base nas probabilidades associadas de infecção.
[0147] Em algumas modalidades, na etapa 1316, o servidor 170 é programado para limpar a lista de regiões intermediárias para a obtenção das regiões finais. A limpeza pode consolidar regiões em duplicata ou altamente sobrepostas ou filtrar adicionalmente as regiões com base nas probabilidades de infecção. A eliminação das regiões de sobreposição pode ser realizada através de supressão não máxima. Finalmente, na etapa 1318, o servidor 170 é programado para transmitir dados referentes às regiões finais para o dispositivo de exibição, um dispositivo do cliente ou um servidor remoto. Os dados podem incluir, para cada região final, a posição dentro da imagem digital recebida, a probabilidade de infecção associada, a doença de infecção ou outra informação.

Claims (20)

REIVINDICAÇÕES
1. Método Implementado por Computador de Detecção de Objetos Infectados Partindo de Imagens de Campo de Visão Grande, que caracterizado por que compreende: receber, por um processador, uma imagem digital que captura inúmeros objetos; gerar, pelo processador, um grande número de imagens em escalas partindo da imagem digital correspondendo respectivamente a um grande número de escales; computar um grupo de matrizes de características para a imagem digital; para cada um do grande número de imagens em escalas: selecionar uma lista de regiões candidatas partindo da imagem em escalas da quais cada uma provavelmente capturará um objeto único; e para cada uma da lista de regiões candidatas: mapear a região candidata de volta para a imagem digital para a obtenção de uma região mapeada; identificar uma porção correspondente de cada grupo de matrizes de características com base no mapeamento; e determinar se a região candidata provavelmente capturará o objeto único infectado com uma doença com base no grupo de porções correspondentes; escolher um grupo de regiões finais das listas de regiões mapeadas com base na determinação; e causar a exibição de informação em relação ao grupo de regiões finais.
2. Método Implementado por Computador de Detecção de Objetos Infectados Partindo de Imagens de Campo de Visão Grande, de acordo com a Reivindicação 1, caracterizado por que os inúmeros objetos são várias folhas em um campo de plantação, sendo o objeto único uma das várias folhas.
3. Método Implementado por Computador de Detecção de Objetos Infectados Partindo de Imagens de Campo de Visão Grande, de acordo com a Reivindicação 1, caracterizado por que a determinação compreende a computação de uma probabilidade de infecção associada à doença, sendo a escolha baseada na probabilidade de infecção maior que certo limite.
4. Método Implementado por Computador de Detecção de Objetos Infectados Partindo de Imagens de Campo de Visão Grande, de acordo com a Reivindicação 1, caracterizado por que a determinação compreende a computação de uma probabilidade de infecção associada à doença, compreendendo a escolha: a identificação de uma das listas de regiões mapeadas que têm uma maior probabilidade de infecção; a eliminação de qualquer região mapeada que se sobrepõe a uma região mapeada em uma quantidade que excede certo limite; a repetição das duas etapas anteriores até que um critério de interrupção seja satisfeito.
5. Método Implementado por Computador de Detecção de Objetos
Infectados Partindo de Imagens de Campo de Visão Grande, de acordo com a Reivindicação 1, caracterizado por que a computação compreendendo a execução de uma ou mais camadas convolucionais de uma rede neural convolucional (CNN) sobre a imagem digital, o conjunto de camadas convolucionais configurado para extrair valores de características do objeto único no grande número de escalas, a determinação compreendendo: a execução de uma camada de agrupamento da CNN sobre cada um dos grupos de porções correspondentes das matrizes de características; a execução de uma camada totalmente conectada da CNN sobre os dados de saída da camada de agrupamento, a camada totalmente conectada configurada para classificar uma com depósito de valores de características em relação a classes diferentes que correspondem ao objeto único respectivamente infectado com doenças diferentes.
6. Método Implementado por Computador de Detecção de Objetos Infectados Partindo de Imagens de Campo de Visão Grande, de acordo com a Reivindicação 1, caracterizado por que a seleção compreende: gerar um grande número de regiões partindo da imagem em escalas utilizando uma janela deslizante de um tamanho específico; para cada um do grande número de regiões: calcular um vetor de características para a região; determinar se a região provavelmente capturará o objeto único com base no vetor de características.
7. Método Implementado por Computador de Detecção de Objetos Infectados Partindo de Imagens de Campo de Visão Grande, de acordo com a Reivindicação 6, caracterizado por que o cálculo compreende a construção de um histograma de gradientes orientados (HOG) para a região.
8. Método Implementado por Computador de Detecção de Objetos Infectados Partindo de Imagens de Campo de Visão Grande, de acordo com a Reivindicação 6, caracterizado por que determina se a região provavelmente capturará o objeto único que compreende a execução de uma máquina de vetores de suporte (SVM) sobre o vetor de características, a SVM configurada para classificar um conjunto de valores de características em relação a classes diferentes que correspondem à presença ou à ausência do objeto único.
9. Método Implementado por Computador de Detecção de Objetos Infectados Partindo de Imagens de Campo de Visão Grande, de acordo com a Reivindicação 1, caracterizado por que o objeto único é uma folha de milho e a doença é mancha cinzenta nas folhas (GLS), Goss's Wilt (GW) ou Northern Leaf Blight (NLB).
10. Método Implementado por Computador de Detecção de Objetos Infectados Partindo de Imagens de Campo de Visão Grande, de acordo com a Reivindicação 1, caracterizado por que a informação indica, para um do grupo de regiões finais, uma posição da região final dentro da imagem digital e a doença correspondente.
11. Mídia de Armazenamento, não transitória, que pode ser lida por computador que armazena uma ou mais instruções que, quando executadas por um ou mais processadores, fazem com que um ou mais processadores executem um método de detecção de objetos infectados partindo de imagens de campo de visão grande, caracterizada por que o método compreende: receber uma imagem digital que captura inúmeros objetos;
gerar um grande número de imagens em escalas partindo da imagem digital correspondendo respectivamente a um grande número de escalas; computar um grupo de matrizes de características para a imagem digital; para cada um do grande número de imagens em escalas: selecionar uma lista de regiões candidatas partindo da imagem em escalas da quais cada uma provavelmente capturará um objeto único; e para cada uma das listas de regiões candidatas: mapear a região candidata de volta para a imagem digital para a obtenção de uma região mapeada; identificar uma porção correspondente de cada grupo de matrizes de características com base no mapeamento; e determinar se a região candidata provavelmente capturará o objeto único infectado com uma doença com base no grupo de porções correspondentes; escolher um grupo de regiões finais das listas de regiões mapeadas com base na determinação; e causar a exibição da informação em relação ao grupo de regiões finais.
12. Mídiade Armazenamento, não transitória, que pode ser lida por computador, de acordo com a Reivindicação 11, caracterizada por que os inúmeros objetos são várias folhas em um campo de plantação, sendo o objeto único uma das várias folhas.
13. Miídiade Armazenamento, não transitória, que pode ser lida por computador, de acordo com a Reivindicação 11, caracterizada por que a determinação compreendendo a computação de uma probabilidade de infecção associada à doença, a escolha sendo baseada na probabilidade de infecção maior que certo limite.
14. Midiade Armazenamento, não transitória, que pode ser lida por computador, de acordo com a Reivindicação 11, caracterizada por que a determinação compreendendo a computação de uma probabilidade de infecção associada à doença, a escolha compreendendo: a identificação de uma das listas de regiões mapeadas que têm uma maior probabilidade de infecção; a eliminação de qualquer região mapeada que se sobrepõe com uma região mapeada em uma quantidade que excede certo limite; a repetição das duas etapas anteriores até que um critério de interrupção seja satisfeito.
15. Mídiade Armazenamento, não transitória, que pode ser lida por computador, de acordo com a Reivindicação 11, caracterizada por que a computação compreendendo a execução de uma ou mais camadas convolucionais de uma rede neural convolucional (CNN) sobre a imagem digital, o conjunto de camadas convolucionais configurado para extrair valores de características do objeto único no grande número de escalas,
a determinação compreendendo: a execução de uma camada de agrupamento da CNN sobre cada um dos grupos de porções correspondentes das matrizes de características; a execução de uma camada totalmente conectada da CNN sobre os dados de saída da camada de agrupamento, a camada totalmente conectada configurada para classificar uma combinação de valores de características em relação a classes diferentes que correspondem ao objeto único respectivamente infectado com doenças diferentes.
16. Miídiade Armazenamento, não transitória, que pode ser lida por computador, de acordo com a Reivindicação 11, caracterizada por que a seleção compreendendo: gerar um grande número de regiões partindo da imagem em escalas utilizando uma janela deslizante de um tamanho específico; para cada um do grande número de regiões: calcular um vetor de características para a região; determinar se a região provavelmente capturará o objeto único com base no vetor de características.
17. Mídiade Armazenamento, não transitória, que pode ser lida por computador, de acordo com a Reivindicação 16, caracterizada por que o cálculo compreendendo a construção de um histograma de gradientes orientados (HOG) para a região.
18. Mídiade Armazenamento, não transitória, que pode ser lida por computador, de acordo com a Reivindicação 16, caracterizada por que determina se a região provavelmente capturará o objeto único que compreende a execução de uma máquina de vetores de suporte (SVM) sobre o vetor de características, a SVM configurada para classificar um conjunto de valores de características em relação a classes diferentes que correspondem à presença ou à ausência do objeto único.
19. Miídiade Armazenamento, não transitória, que pode ser lida por computador, de acordo com a Reivindicação 11, caracterizada por que o objeto único é uma folha de milho e a doença é mancha cinzenta nas folhas (GLS), Goss's Wilt (GW) ou Northern Leaf Blight (NLB).
20. Mídiade Armazenamento, não transitória, que pode ser lida por computador, de acordo com a Reivindicação 11, caracterizada por que a informação indica, para um do grupo de regiões finais, uma posição da região final dentro da imagem digital e a doença correspondente.
BR112020006760-1A 2017-10-05 2018-10-04 reconhecimento de doenças partindo de imagens que têm grande campo de visão BR112020006760A2 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/725,284 2017-10-05
US15/725,284 US10423850B2 (en) 2017-10-05 2017-10-05 Disease recognition from images having a large field of view
PCT/US2018/054348 WO2019070963A1 (en) 2017-10-05 2018-10-04 RECOGNITION OF DISEASE FROM IMAGES HAVING A BROAD FIELD OF VISION

Publications (1)

Publication Number Publication Date
BR112020006760A2 true BR112020006760A2 (pt) 2020-10-06

Family

ID=65992578

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112020006760-1A BR112020006760A2 (pt) 2017-10-05 2018-10-04 reconhecimento de doenças partindo de imagens que têm grande campo de visão

Country Status (9)

Country Link
US (2) US10423850B2 (pt)
EP (1) EP3692468A4 (pt)
CN (2) CN113486846B (pt)
AR (1) AR113283A1 (pt)
AU (1) AU2018346351B2 (pt)
BR (1) BR112020006760A2 (pt)
CA (1) CA3078119C (pt)
WO (1) WO2019070963A1 (pt)
ZA (1) ZA202002225B (pt)

Families Citing this family (63)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10438302B2 (en) 2017-08-28 2019-10-08 The Climate Corporation Crop disease recognition and yield estimation
US10423850B2 (en) 2017-10-05 2019-09-24 The Climate Corporation Disease recognition from images having a large field of view
US20190108631A1 (en) * 2017-10-06 2019-04-11 AgriSight, Inc. System and method for field pattern analysis
EP3748460A4 (en) * 2018-06-20 2021-01-27 Rakuten, Inc. RESEARCH SYSTEM AND METHOD, AS WELL AS PROGRAM
US10761075B2 (en) * 2018-10-19 2020-09-01 The Climate Corporation Detecting infection of plant diseases by classifying plant photos
MX2021004475A (es) 2018-10-19 2021-06-04 Climate Llc Tecnica de aprendizaje automatico para identificar nubes y sombras de nubes en imagenes satelitales.
US10713542B2 (en) * 2018-10-24 2020-07-14 The Climate Corporation Detection of plant diseases with multi-stage, multi-scale deep learning
US11467605B2 (en) 2019-04-10 2022-10-11 Deere & Company Zonal machine control
US11653588B2 (en) 2018-10-26 2023-05-23 Deere & Company Yield map generation and control system
US11589509B2 (en) 2018-10-26 2023-02-28 Deere & Company Predictive machine characteristic map generation and control system
US11178818B2 (en) 2018-10-26 2021-11-23 Deere & Company Harvesting machine control system with fill level processing based on yield data
US11240961B2 (en) 2018-10-26 2022-02-08 Deere & Company Controlling a harvesting machine based on a geo-spatial representation indicating where the harvesting machine is likely to reach capacity
US11672203B2 (en) 2018-10-26 2023-06-13 Deere & Company Predictive map generation and control
US11957072B2 (en) 2020-02-06 2024-04-16 Deere & Company Pre-emergence weed detection and mitigation system
US11641800B2 (en) 2020-02-06 2023-05-09 Deere & Company Agricultural harvesting machine with pre-emergence weed detection and mitigation system
US11079725B2 (en) 2019-04-10 2021-08-03 Deere & Company Machine control using real-time model
US11808705B2 (en) 2018-12-19 2023-11-07 InnerPlant, Inc. Sensor plant and method for identifying stressors in crops based on characteristics of sensor plants
US11234366B2 (en) 2019-04-10 2022-02-01 Deere & Company Image selection for machine control
CN115841630A (zh) * 2019-06-20 2023-03-24 植物心语公司 部署生物哨兵到农田并远程监测作物中生物和非生物胁迫的方法
US11238283B2 (en) * 2019-10-04 2022-02-01 The Climate Corporation Hybrid vision system for crop land navigation
US11361189B2 (en) * 2019-12-03 2022-06-14 Ping An Technology (Shenzhen) Co., Ltd. Image generation method and computing device
MX2022008361A (es) * 2020-01-07 2022-08-04 Climate Llc Uso de sensores remotos opticos y modelos de aprenzidaje por maquina para predecir datos de propiedades del campo agronomico.
CA3165715A1 (en) * 2020-01-23 2021-07-29 Bryan COPLEY Machine learning systems and methods for facilitating parcel combination
CN111325809B (zh) * 2020-02-07 2021-03-12 广东工业大学 一种基于双对抗网络的外观图像生成方法
CN111354338B (zh) * 2020-02-26 2022-03-15 重庆大学 基于pso卷积核优化稀疏迁移学习的帕金森语音识别***
US11477940B2 (en) 2020-03-26 2022-10-25 Deere & Company Mobile work machine control based on zone parameter modification
EP3905127A1 (en) * 2020-04-28 2021-11-03 Roland Corporation Image processing program, image processing method and image processing apparatus
CN111898682B (zh) * 2020-07-31 2023-08-25 平安科技(深圳)有限公司 基于多个源模型修正新模型的方法、装置以及计算机设备
US11650587B2 (en) 2020-10-09 2023-05-16 Deere & Company Predictive power map generation and control system
US11849671B2 (en) 2020-10-09 2023-12-26 Deere & Company Crop state map generation and control system
US11895948B2 (en) 2020-10-09 2024-02-13 Deere & Company Predictive map generation and control based on soil properties
US11727680B2 (en) 2020-10-09 2023-08-15 Deere & Company Predictive map generation based on seeding characteristics and control
US11635765B2 (en) 2020-10-09 2023-04-25 Deere & Company Crop state map generation and control system
US11927459B2 (en) 2020-10-09 2024-03-12 Deere & Company Machine control using a predictive map
US11849672B2 (en) 2020-10-09 2023-12-26 Deere & Company Machine control using a predictive map
US11844311B2 (en) 2020-10-09 2023-12-19 Deere & Company Machine control using a predictive map
US11871697B2 (en) 2020-10-09 2024-01-16 Deere & Company Crop moisture map generation and control system
US11983009B2 (en) 2020-10-09 2024-05-14 Deere & Company Map generation and control system
US11711995B2 (en) 2020-10-09 2023-08-01 Deere & Company Machine control using a predictive map
US11675354B2 (en) 2020-10-09 2023-06-13 Deere & Company Machine control using a predictive map
US11889788B2 (en) 2020-10-09 2024-02-06 Deere & Company Predictive biomass map generation and control
US11845449B2 (en) 2020-10-09 2023-12-19 Deere & Company Map generation and control system
US11946747B2 (en) 2020-10-09 2024-04-02 Deere & Company Crop constituent map generation and control system
US11864483B2 (en) 2020-10-09 2024-01-09 Deere & Company Predictive map generation and control system
US11474523B2 (en) 2020-10-09 2022-10-18 Deere & Company Machine control using a predictive speed map
US11592822B2 (en) 2020-10-09 2023-02-28 Deere & Company Machine control using a predictive map
US11825768B2 (en) 2020-10-09 2023-11-28 Deere & Company Machine control using a predictive map
US11874669B2 (en) 2020-10-09 2024-01-16 Deere & Company Map generation and control system
US11889787B2 (en) 2020-10-09 2024-02-06 Deere & Company Predictive speed map generation and control system
CN112508071B (zh) * 2020-11-30 2023-04-18 中国公路工程咨询集团有限公司 基于bim的桥梁病害标记方法和装置
CN113723157B (zh) * 2020-12-15 2024-02-09 京东科技控股股份有限公司 一种农作物病害识别方法、装置、电子设备及存储介质
CN112735070B (zh) * 2020-12-29 2022-06-24 湖南全亦科技有限公司 一种基于互联网的林业监控方法
CN112730275B (zh) * 2021-02-04 2023-06-30 华东理工大学 显微光谱成像***、农药检测***及其方法
CN113033305B (zh) * 2021-02-21 2023-05-12 云南联合视觉科技有限公司 活体检测方法、装置、终端设备和存储介质
CN113012083A (zh) * 2021-03-03 2021-06-22 上海景运信息技术有限公司 一种对遥感正射影像处理过程影像零io的数据处理方法
CN113112498B (zh) * 2021-05-06 2024-01-19 东北农业大学 一种基于细粒度对抗生成网络的葡萄叶片病斑识别方法
US11880430B2 (en) 2021-05-31 2024-01-23 Cibo Technologies, Inc. Method and apparatus for employing deep learning neural network to predict management zones
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
CN113591987B (zh) * 2021-07-30 2023-12-12 金地(集团)股份有限公司 图像识别方法、装置、电子设备和介质
US20230186623A1 (en) * 2021-12-14 2023-06-15 Ping An Technology (Shenzhen) Co., Ltd. Systems and methods for crop disease diagnosis
CN114818998B (zh) * 2022-06-28 2022-09-13 浙江大学 一种无砟轨道基床翻浆冒泥病害状态判别方法
TR2022012051A2 (tr) * 2022-07-29 2022-08-22 İstanbul Geli̇şi̇m Üni̇versi̇tesi̇ Ağaç yapraklarini anali̇z ederek yaprak sağlik durumunu tespi̇ti̇ yapan yeni̇ bi̇r si̇stem
CN117392374B (zh) * 2023-10-19 2024-03-01 苏州元脑智能科技有限公司 目标检测方法、装置、设备及存储介质

Family Cites Families (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IL122258A (en) 1997-11-20 2002-08-14 Israel Aircraft Ind Ltd Method and system for determining temperature and/or emissivity function of objects by remote sensing
US6654506B1 (en) 2000-01-25 2003-11-25 Eastman Kodak Company Method for automatically creating cropped and zoomed versions of photographic images
JP2004530875A (ja) 2001-04-13 2004-10-07 カーギル、インコーポレイテッド 農業および/または食品の原料の評価方法、その適用および製品
US7054496B2 (en) 2002-06-27 2006-05-30 Seiko Epson Corporation Method and apparatus for displaying arbitrarily magnified high resolution images using compressed domain processing
US8538966B2 (en) 2008-11-21 2013-09-17 Randall Reese Machine, program product, and computer-implemented method for file management, storage, and access utilizing a user-selected trigger event
BRPI0905641A2 (pt) 2009-07-08 2011-03-29 Basf Se sistema para diagnóstico de anomalias de plantas
CN103443820B (zh) 2011-03-15 2017-11-10 富士通株式会社 便携式装置、操作辅助程序、信息提供方法以及信息提供程序
US20150206255A1 (en) 2011-05-13 2015-07-23 HydroBio, Inc Method and system to prescribe variable seeding density across a cultivated field using remotely sensed data
US8493460B2 (en) 2011-09-15 2013-07-23 DigitalOptics Corporation Europe Limited Registration of differently scaled images
TWI435234B (zh) 2011-11-24 2014-04-21 Inst Information Industry Plant disease identification method, system and record media
US20130169834A1 (en) 2011-12-30 2013-07-04 Advanced Micro Devices, Inc. Photo extraction from video
US10520482B2 (en) 2012-06-01 2019-12-31 Agerpoint, Inc. Systems and methods for monitoring agricultural products
CA2879220A1 (en) 2012-07-23 2014-01-30 Dow Agrosciences Llc Kernel counter
US9113590B2 (en) 2012-08-06 2015-08-25 Superior Edge, Inc. Methods, apparatus, and systems for determining in-season crop status in an agricultural crop and alerting users
JP6049767B2 (ja) 2013-02-01 2016-12-21 株式会社ブリリアントサービス 栽培システム、栽培プログラム、および栽培方法
US9147110B2 (en) 2013-04-05 2015-09-29 Pioneer Hi-Bred International, Inc. Field and crop evaluation tool and methods of use
US9364005B2 (en) * 2014-06-26 2016-06-14 Ait Austrian Institute Of Technology Gmbh Plant-endophyte combinations and uses therefor
US10068354B2 (en) 2014-01-02 2018-09-04 Deere & Company Obtaining and displaying agricultural data
WO2015142923A1 (en) * 2014-03-17 2015-09-24 Carnegie Mellon University Methods and systems for disease classification
US10212911B2 (en) 2014-06-26 2019-02-26 Indigo Agriculture, Inc. Endophytes, associated compositions, and methods of use thereof
US10568316B2 (en) * 2014-08-15 2020-02-25 Monsanto Technology Llc Apparatus and methods for in-field data collection and sampling
US9734400B2 (en) 2015-01-30 2017-08-15 AgriSight, Inc. System and method for field variance determination
US10349584B2 (en) 2014-11-24 2019-07-16 Prospera Technologies, Ltd. System and method for plant monitoring
US9928410B2 (en) * 2014-11-24 2018-03-27 Samsung Electronics Co., Ltd. Method and apparatus for recognizing object, and method and apparatus for training recognizer
IL236606B (en) 2015-01-11 2020-09-30 Gornik Amihay Standards and methods for agricultural monitoring
US9792557B2 (en) 2015-01-14 2017-10-17 Accenture Global Services Limited Precision agriculture system
WO2016123525A1 (en) 2015-01-30 2016-08-04 Raytheon Company Apparatus and methods for classifying and counting corn kernels
US9638678B2 (en) 2015-01-30 2017-05-02 AgriSight, Inc. System and method for crop health monitoring
CN104680149B (zh) * 2015-03-10 2018-07-03 苏州科达科技股份有限公司 一种物体类型识别方法及***
US10157472B2 (en) 2015-03-12 2018-12-18 Raytheon Company Apparatus and processes for corn moisture analysis and prediction of optimum harvest date
US20160309646A1 (en) 2015-04-24 2016-10-27 360 Yield Center, Llc Agronomic systems, methods and apparatuses
US10019631B2 (en) 2015-11-05 2018-07-10 Qualcomm Incorporated Adapting to appearance variations when tracking a target object in video sequence
US10491879B2 (en) 2016-01-15 2019-11-26 Blue River Technology Inc. Plant feature detection using captured images
CN106682704B (zh) * 2017-01-20 2019-08-23 中国科学院合肥物质科学研究院 一种融合上下文信息的病害图像识别方法
CN106960179B (zh) * 2017-02-24 2018-10-23 北京交通大学 轨道交通线路环境安全智能监测方法和装置
US10438302B2 (en) 2017-08-28 2019-10-08 The Climate Corporation Crop disease recognition and yield estimation
US10423850B2 (en) 2017-10-05 2019-09-24 The Climate Corporation Disease recognition from images having a large field of view

Also Published As

Publication number Publication date
CN111406261A (zh) 2020-07-10
AR113283A1 (es) 2020-03-11
AU2018346351B2 (en) 2020-09-03
CN113486846A (zh) 2021-10-08
US20190108413A1 (en) 2019-04-11
CA3078119C (en) 2020-10-13
US10423850B2 (en) 2019-09-24
AU2018346351A1 (en) 2020-04-30
CN111406261B (zh) 2021-08-10
CA3078119A1 (en) 2018-10-04
EP3692468A4 (en) 2021-06-30
WO2019070963A1 (en) 2019-04-11
EP3692468A1 (en) 2020-08-12
ZA202002225B (en) 2021-05-26
CN113486846B (zh) 2022-10-18
US10755129B2 (en) 2020-08-25
US20190384998A1 (en) 2019-12-19

Similar Documents

Publication Publication Date Title
US10755129B2 (en) Disease recognition from images having a large field of view
US11615276B2 (en) Detection of plant diseases with multi-stage, multi-scale deep learning
US11176623B2 (en) Crop component count
US10761075B2 (en) Detecting infection of plant diseases by classifying plant photos
BR112021006133A2 (pt) técnicas de aprendizado de máquina para identificar nuvens e sombras de nuvem em imagística por satélite
BR112020009202A2 (pt) seleção de sementes híbridas e otimização de portfólio de sementes por campo
BR112020022715A2 (pt) análise e apresentação de dados agrícolas
EP3496526A1 (en) Generating pixel maps from non-image data and difference metrics for pixel maps
BR112020009205A2 (pt) seleção de sementes híbridas e otimização de portfólio de sementes por campo

Legal Events

Date Code Title Description
B350 Update of information on the portal [chapter 15.35 patent gazette]
B25D Requested change of name of applicant approved

Owner name: CLIMATE LLC (US)