BR112021004651A2 - método e sistema para a execução de algoritmos de aprendizado de máquina - Google Patents

método e sistema para a execução de algoritmos de aprendizado de máquina Download PDF

Info

Publication number
BR112021004651A2
BR112021004651A2 BR112021004651-8A BR112021004651A BR112021004651A2 BR 112021004651 A2 BR112021004651 A2 BR 112021004651A2 BR 112021004651 A BR112021004651 A BR 112021004651A BR 112021004651 A2 BR112021004651 A2 BR 112021004651A2
Authority
BR
Brazil
Prior art keywords
model
machine learning
data
specific
models
Prior art date
Application number
BR112021004651-8A
Other languages
English (en)
Inventor
Francisco Alvarez
Mir Ali
Jeff Melching
Erich Hochmuth
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 BR112021004651A2 publication Critical patent/BR112021004651A2/pt

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/0265Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/36Software reuse
    • AHUMAN NECESSITIES
    • A01AGRICULTURE; FORESTRY; ANIMAL HUSBANDRY; HUNTING; TRAPPING; FISHING
    • A01BSOIL WORKING IN AGRICULTURE OR FORESTRY; PARTS, DETAILS, OR ACCESSORIES OF AGRICULTURAL MACHINES OR IMPLEMENTS, IN GENERAL
    • A01B79/00Methods for working soil
    • A01B79/005Precision agriculture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Medical Informatics (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computing Systems (AREA)
  • Mechanical Engineering (AREA)
  • Soil Sciences (AREA)
  • Environmental Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Automation & Control Theory (AREA)
  • Computational Linguistics (AREA)
  • Databases & Information Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

A presente invenção refere-se a um método de processamento de dados implementados por computador que provê um aperfeiçoa-mento na execução de processos de aprendizado de máquina nos dados digitais que representam propriedades físicas relacionadas à agricultura. De acordo com uma modalidade, o método compreende as etapas de: receber, a partir de um dispositivo de computação, uma solicitação para navegar por modelos de aprendizado de máquina armazenados em um repositório de modelos digitais; recuperar, a partir do repositório de modelos digitais, e transmitir para o dispositivo de computação, informações sobre os modelos de aprendizado de máquina armazenados no repositório de modelos digitais; receber, a partir do dispositivo de computação, uma seleção, dentre os modelos de aprendizado de máquina, de um modelo específico, e receber uma entrada específica para o modelo específico; usar os recursos disponíveis em uma plataforma de infraestrutura de execução de modelo, executar o modelo específico na entrada específica para gerar saídas específicas; transmitir a saída específica para um computador configurado em uma máquina agrícola a fim de controlar a máquina agrícola quando a máquina agrícola executa tarefas agrícolas em um campo agrícola.

Description

Relatório Descritivo da Patente de Invenção para "MÉTODO E SISTEMA PARA A EXECUÇÃO DE ALGORITMOS DE APRENDI- ZADO DE MÁQUINA".
[0001] DECLARAÇÃO DE DIREITOS AUTORAIS
[0002] Uma parte da descrição do presente documento de patente contém material sujeito à proteção de direitos autorais. O proprietário dos direitos autorais não faz objeção à reprodução em fac-símile por parte de nenhuma pessoa do documento de patente ou divulgação de patente tal como aparece no arquivo ou registros de patente do Escritó- rio de Marcas e Patentes, porém, por outro lado, se reserva a todos os direitos autorais ou quaisquer direitos. © 2015-2019 The Climate Corpo- ration.
[0003] CAMPO DA INVENÇÃO
[0004] Um campo da técnica da presente invenção é prover uma plataforma assistida por computador para a execução de algoritmos de aprendizado de máquina. Outro campo da técnica é classificar, catalo- gar, executar e monitorar os modelos de aprendizado de máquina, e prover recursos de escalonamento de modelos para a execução dos modelos. Outro campo da técnica são as técnicas implementadas por computador para navegar, selecionar e executar modelos de aprendi- zado de máquina, e controlar equipamentos agrícolas usando os resul- tados gerados pelos modelos.
[0005] ANTECEDENTES DA INVENÇÃO
[0006] As abordagens descritas nesta seção são abordagens que podem ser buscadas, mas não necessariamente abordagens que foram concebidas ou perseguidas anteriormente. Portanto, a menos que indi- cado de outra forma, não se deve presumir que qualquer uma das abor- dagens descritas nesta seção se qualifica como técnica anterior mera- mente em virtude de sua inclusão nesta seção.
[0007] No contexto da agricultura, os produtores frequentemente buscam recomendações para a seleção de sementes e o plantio de se- mentes em campos agrícolas. As recomendações podem ser persona- lizadas, por exemplo, à localização dos campos, ao clima e aos tipos de solo, bem como aos objetivos dos produtores.
[0008] Normalmente, recomendações de sementes e plantio são geradas por complexos sistemas baseados em computador que execu- tam modelos digitais em grandes quantidades de dados agrícolas e que requerem enormes recursos computacionais. Os sistemas, no entanto, raramente provêem funções de personalização. Por exemplo, alguns sistemas podem não ser capazes de configurar e escalar os modelos no sentido de gerar recomendações suficientemente específicas.
[0009] Além disso, mesmo quando personalizações de modelos agrícolas estão habilitadas, a personalização dos modelos poderá re- sultar na obtenção de um número tão grande de modelos personaliza- dos ao ponto de tornar problemático o gerenciamento e a manutenção dos modelos. Por exemplo, poderá ser difícil rastrear e catalogar as di- versas versões dos modelos e torná-los facilmente acessíveis ao agri- cultor.
[0010] SUMÁRIO DA INVENÇÃO
[0011] As reivindicações em apenso podem servir como um sumário da presente invenção.
[0012] BREVE DESCRIÇÃO DOS DESENHOS
[0013] Nos desenhos:
[0014] A Figura 1 ilustra um exemplo de sistema de computador configurado de modo a executar as funções descritas no presente do- cumento, mostrado em um ambiente de campo com outro aparelho com o qual o sistema pode interoperar.
[0015] A Figura 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.
[0016] A Figura 3 ilustra um processo programado pelo qual o sis- tema de computador de inteligência agrícola gera um ou mais modelos agronômicos pré-configurados usando dados agronômicos providos por uma ou mais fontes de dados.
[0017] A Figura 4 é um diagrama de blocos que ilustra um sistema de computador no qual uma modalidade da presente invenção pode ser implementada.
[0018] A Figura 5 ilustra uma modalidade exemplar de uma visuali- zação de linha de tempo para a entrada de dados.
[0019] A Figura 6 ilustra uma modalidade exemplar de uma visuali- zação de planilha para a entrada de dados.
[0020] A Figura 7A ilustra um exemplo de plataforma baseada em computador para a execução de algoritmos de aprendizado de máquina.
[0021] A Figura 7B ilustra um exemplo de repositório de modelos baseado em computador.
[0022] A Figura 7C ilustra exemplos de estruturas de dados manti- das por um repositório de modelos baseado em computador.
[0023] A Figura 7D ilustra um fluxograma exemplar para a constru- ção, armazenamento e catalogação de um modelo baseado em má- quina.
[0024] A Figura 8A ilustra um exemplo de infraestrutura de execu- ção de modelos baseada em computador para a execução de algorit- mos de aprendizado de máquina.
[0025] A Figura 8B ilustra um fluxograma exemplar para a seleção e execução de um modelo de aprendizado de máquina exemplar.
[0026] A Figura 9 ilustra um diagrama exemplar para uma interface de usuário para a execução de algoritmos de aprendizado de máquina.
[0027] DESCRIÇÃO DETALHADA DA INVENÇÃO
[0028] Na descrição a seguir, para fins de explicação, vários deta- lhes específicos são apresentados a fim de prover um entendimento completo da presente invenção. Será evidente, no entanto, que modali- dades poderão ser praticadas sem esses detalhes específicos. Em ou- tros casos, estruturas e dispositivos bem conhecidos são mostrados na forma de diagrama de blocos a fim de evitar obscurecer desnecessaria- mente a presente invenção. As modalidades são apresentadas em se- ções de acordo com o seguinte esboço:
1. VISÃO GERAL
2. EXEMPLO DE SISTEMA DE COMPUTADOR DE INTELIGÊNCIA
AGRÍCOLA
2.1. VISÃO GERAL ESTRUTURAL
2.2. VISÃO GERAL DO PROGRAMA DE APLICAÇÃO
2.3. INGESTÃO DE DADOS PARA O SISTEMA DE COMPUTADOR
2.4. VISÃO GERAL DO PROCESSO - TREINAMENTO DE MODELO
AGRONÔMICO
2.5. EXEMPLO DE IMPLEMENTAÇÃO - VISÃO GERAL DO
HARDWARE
3. SISTEMA PARA A EXECUÇÃO DE ALGORITMOS DE APRENDI-
ZADO DE MÁQUINA
3.1. EXEMPLO DE REPOSITÓRIO DE MODELOS
3.2. EXEMPLO DE INFRAESTRUTURA DE EXECUÇÃO DE MODE-
LOS
3.3. EXEMPLO DE LOG DE HISTÓRICO DE MODELOS
4. CONSIDERAÇÕES DE ESCALABILIDADE
5. IMPLEMENTAÇÕES EXEMPLARES
6. BENEFÍCIOS DE CERTAS MODALIDADES
7. EXTENSÕES E ALTERNATIVAS
[0029] 1. VISÃO GERAL
[0030] De acordo com uma modalidade, métodos implementados por computador, sistemas de computador e produtos de programa de computador são descritos para a execução de algoritmos de aprendi- zado de máquina. Os mesmos podem incluir uma plataforma baseada em computador para o armazenamento, catalogação e execução de modelos de aprendizado de máquina. A plataforma é programada para catalogar definições genéricas e metadados dos modelos, armazenar os modelos em um repositório, navegar e selecionar os modelos do re- positório, e abstrair os componentes de execução a fim de facilitar a execução dos modelos de uma maneira repetível. Exemplos de mode- los baseados em máquina incluem modelos de pesquisa operacional, modelos de aprendizado de máquina, modelos de aprendizagem pro- funda e modelos físicos.
[0031] De acordo com uma modalidade, uma abordagem para a execução de algoritmos de aprendizado de máquina provê funcionalida- des para a personalização de modelos agrícolas, catalogação, manu- tenção e gerenciamento de um grande número de modelos personali- zados, além de facilitar a execução dos modelos a fim de prover reco- mendações específicas aos produtores de culturas. A abordagem para o armazenamento, execução e catalogação de modelos baseados em máquina permite o emprego de diferentes versões dos modelos, a adi- ção de novos modelos e novas versões de modelo em um repositório de modelos, e a provisão de uma infraestrutura de tempo de execução de hardware / software para a execução dos modelos.
[0032] De acordo com uma modalidade, uma plataforma para o ar- mazenamento, execução e catalogação de modelos baseados em má- quina inclui um repositório de modelos, uma plataforma de infraestrutura de execução de modelo, e um log de histórico de modelos.
[0033] O repositório de modelos é um repositório de dados digitais baseado em computador configurado para o armazenamento de mode- los de dados digitais. Os modelos podem ter diferentes configurações e diferentes requisitos de execução. Para cada modelo, o repositório po- derá armazenar, por exemplo, definições de modelos e metadados de modelos que capturam os componentes e as características do modelo. As definições de modelo e os metadados associados a um modelo po- dem incluir informações sobre o nome do modelo, a entrada, a saída, os requisitos de infraestrutura, a versão, o status, ou coisa do gênero. O repositório de modelos é pesquisável, modificável e navegável.
[0034] A plataforma de infraestrutura de execução de modelos inclui componentes de hardware e/ou software que coletivamente provêem plataformas para a execução dos modelos baseados em máquina. Os componentes da infraestrutura de execução do modelo são referidos no presente documento como componentes de infraestrutura genéricos. Os componentes são blocos de construção para a execução dos mode- los armazenados em um repositório de modelos.
[0035] O log de histórico de modelos é um registro digital baseado em computador que contém informações sobre a execução de modelos baseados em máquina. Um log para um modelo pode incluir informa- ções sobre cada instância de execução realizada para o modelo. Essas informações podem incluir informações sobre versões, entradas, saí- das, requisitos de execução, modificações e atualizações, datas de exe- cução, informações estatísticas, além de outras informações pertencen- tes à execução do modelo.
[0036] De acordo com uma modalidade, uma abordagem para a execução de algoritmos de aprendizado de máquina é implementada para aplicações agrícolas. Os algoritmos podem ser configurados para, por exemplo, resolver problemas relacionados à agricultura, e prover respostas às consultas que solicitam recomendações agrícolas. Por exemplo, a abordagem poderá permitir que um agricultor navegue nos modelos armazenados em um repositório de modelos, selecione um modelo do repositório, provenha entrada para o modelo selecionado,
inicie a execução do modelo selecionado em uma plataforma de infra- estrutura de modelo a fim de gerar recomendações para o produtor, e receber as recomendações da plataforma.
[0037] Os algoritmos de aprendizado de máquina podem incluir im- plementações de redes neurais configuradas para, por exemplo, rece- ber entradas dos produtores, processar as entradas recebidas, e gerar recomendações aos produtores. As recomendações poderão incluir, por exemplo, recomendações para o tipo de sementes e o momento para o plantio das sementes que, com base nas entradas providas pelo produ- tor, seriam benéficas para o produtor. As entradas poderão incluir infor- mações sobre o solo, o clima e a localização do campo do produtor. As recomendações poderão ser transmitidas a partir da rede neural para um ou mais dispositivos de computação disponíveis ao produtor. Por exemplo, as recomendações poderão ser transmitidas da rede neural para um dispositivo móvel que o agricultor usa para se comunicar com a rede.
[0038] De acordo com outro exemplo, os algoritmos de aprendizado de máquina poderão incluir implementações de redes neurais configu- radas de modo a receber, por parte de um agricultor, solicitações de plantio de sementes. Uma rede neural poderá processar as solicitações e gerar instruções de plantio a fim de plantar as sementes usando equi- pamentos agrícolas, tais como semeadoras e plantadeiras. As instru- ções de plantio poderão ser transmitidas aos dispositivos móveis do pro- dutor. As instruções de plantio poderão também ser transmitidas para os computadores ou controladores instalados nas máquinas agrícolas. Os controladores poderão usar as instruções a fim de controlar o com- portamento das máquinas à medida que as máquinas realizam o plantio de sementes no campo.
[0039] De acordo com uma modalidade, uma abordagem para a execução de algoritmos de aprendizado de máquina implementa uma interface gráfica de usuário. A interface gráfica de usuário pode ser con- figurada para acessar um repositório de modelos, uma plataforma de infraestrutura de execução de modelos, e um log de histórico de mode- los. A interface gráfica de usuário pode ser usada para, por exemplo, emitir consultas ao repositório, facilitar a navegação dos conteúdos do repositório, exibir informações sobre os modelos armazenados no repo- sitório, receber uma seleção de um modelo a partir dos modelos arma- zenados no repositório, facilitar a provisão de entrada ao modelo sele- cionado, facilitar a execução do modelo selecionado, e exibir a saída gerada pelo modelo executado.
[0040] 2. EXEMPLO DE SISTEMA DE COMPUTADOR DE INTELI-
GÊNCIA AGRÍCOLA
[0041] 2.1. VISÃO GERAL ESTRUTURAL
[0042] A Figura 1 ilustra um exemplo de sistema de computador configurado de modo a executar as funções descritas no presente do- cumento, mostrado em um ambiente de campo com outro aparelho com o qual o sistema pode interoperar. De acordo com uma modalidade, um usuário 102 possui, opera ou tem um dispositivo de computação geren- ciador de campo 104 em um local de campo ou associado a um local de campo, tal como um campo destinado para atividades agrícolas ou um local de gerenciamento para um ou mais campos agrícolas. O disposi- tivo de computação gerenciador de campo 104 é programado ou confi- gurado para prover dados de campo 106 para um sistema de computa- dor de inteligência agrícola 130 por meio de uma ou mais redes 109.
[0043] Exemplos de dados de campo 106 incluem (a) dados de identificação (por exemplo, área cultivada, nome de campo, identifica- dores de campo, identificadores geográficos, identificadores de limite, identificadores de cultura, e quaisquer outros dados adequados que possam ser usados para a identificação de terras agrícolas, tal como uma unidade de terra comum (CLU), um número de lote e bloco, um número de parcelas, coordenadas geográficas e limites, o Número de Série da Fazenda (FSN), o número da fazenda, o número do trecho, o número do campo, a seção, o município e/ou a faixa), (b) dados de co- lheita (por exemplo, o tipo de cultura, a variedade da cultura, a rotação da cultura, se a cultura é cultivada organicamente, a data de colheita, o Histórico de Produção Real (APH), a produção esperada, a produção efetiva, o preço da colheita, a receita da colheita, a umidade dos grãos, a prática da lavoura, além de informações anteriores sobre a estação de crescimento), (c) dados do solo (por exemplo, o tipo, a composição, o pH, a matéria orgânica (OM), a capacidade de troca catiônica (CEC)), (d) dados de plantio (por exemplo, a data do plantio, o tipo de se- mente(s), a maturidade relativa (RM) da(s) semente(s) plantada(s), a população de sementes), (e) dados de fertilizante (por exemplo, o tipo de nutriente (nitrogênio, fósforo, potássio), o tipo de aplicação, a data de aplicação, a quantidade, a fonte, o método), (f) dados de aplicação química (por exemplo, o pesticida, o herbicida, o fungicida, outra subs- tância ou mistura de substâncias destinada para uso como um regulador vegetal, um desfolhante ou dessecante, a data de aplicação, a quanti- dade, a fonte, o método), (g) dados de irrigação (por exemplo, a data de aplicação, a quantidade, a fonte, o método), (h) dados meteorológicos (por exemplo, precipitação, taxa de chuva, precipitação prevista, taxa de escoamento de água na região, temperatura, vento, previsão, pres- são, visibilidade, nuvens, índice de calor, ponto de orvalho, umidade, profundidade da neve, qualidade do ar, nascer do sol, pôr do sol), (i) dados de imagens (por exemplo, imagens e informações de espectro de luz de um sensor de aparelho agrícola, câmera, computador, smartfone, tablet, veículo aéreo não tripulado, aviões ou satélite), (j) observações de reconhecimento (fotos, vídeos, notas de formulário livre, gravações de voz, transcrições de voz, condições meteorológicas (temperatura, precipitação (atual e ao longo do tempo), umidade do solo, estágio de crescimento da cultura, velocidade do vento, umidade relativa, ponto de orvalho, camada preta)), e (k) solo, semente, fenologia da cultura, rela- tórios de pragas e doenças, e fontes e bancos de dados de previsão.
[0044] Um computador servidor de dados 108 é comunicativamente acoplado ao sistema de computador de inteligência agrícola 130 e é programado ou configurado para enviar dados externos 110 para o sis- tema de computador de inteligência agrícola 130 através da(s) rede(s)
109. O computador servidor de dados externos 108 pode ser de propri- edade da ou operado pela mesma pessoa ou entidade jurídica que a do sistema de computador de inteligência agrícola 130, ou por uma pessoa ou entidade diferente, tal como uma agência governamental, uma orga- nização não governamental (ONG) e/ou um provedor de serviço de da- dos privados. Exemplos de dados externos incluem dados meteorológi- cos, dados de imagem, dados do solo ou dados estatísticos relaciona- dos à produtividade das culturas, entre outros dados. Os dados externos 110 podem consistir do mesmo tipo de informação que a dos dados de campo 106. De acordo com algumas modalidades, os dados externos 110 são providos por um servidor de dados externos 108 de propriedade da mesma entidade que possui e/ou opera o sistema de computador de inteligência agrícola 130. Por exemplo, o sistema de computador de in- teligência agrícola 130 pode incluir um servidor de dados focado exclu- sivamente em um tipo de dado que poderá ser obtido a partir de fontes de terceiros, tais como dados meteorológicos. De acordo com algumas modalidades, um servidor de dados externos 108 poderá ser de fato incorporado no sistema 130.
[0045] Um aparelho agrícola 111 pode ter um ou mais sensores re- motos 112 fixados no mesmo, cujos sensores são comunicativamente acoplados direta ou indiretamente através do aparelho agrícola 111 ao sistema de computador de inteligência agrícola 130, e são programados ou configurados para enviar dados de sensor para o sistema de compu- tador de inteligência agrícola 130. Exemplos de aparelhos agrícolas 111 incluem tratores, ceifeiras debulhadoras, colheitadeiras, plantadeiras, caminhões, equipamentos de fertilizantes, veículos aéreos incluindo ve- ículos aéreos não tripulados, e qualquer outro item de maquinário físico ou hardware, tipicamente um maquinário móvel, os quais poderão ser usados em tarefas associadas à agricultura. De acordo com algumas modalidades, uma única unidade do aparelho 111 pode compreender uma pluralidade de sensores 112 localmente acoplados a uma rede no aparelho, em que uma rede de área de controlador (CAN) é um exemplo de rede que pode ser instalada em ceifeiras debulhadoras, colheitadei- ras, pulverizadores, e cultivadores. O controlador de aplicativo 114 é comunicativamente acoplado ao sistema de computador 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 usados para controlar um pa- râmetro operacional de um veículo ou implemento agrícola a partir do sistema de computador de inteligência agrícola 130. Por exemplo, uma interface de barramento de rede de área de controlador (CAN) poderá ser usada no sentido de permitir comunicação do sistema de computa- dor de inteligência agrícola 130 para o aparelho agrícola 111, tal como é usada a interface CLIMATE FIELDVIEW DRIVE, disponível na em- presa The Climate Corporation, San Francisco, Califórnia. Os dados de sensor podem consistir do mesmo tipo de informação que a dos dados de campo 106. De acordo com algumas modalidades, os sensores re- motos 112 poderão não ser fixados a um aparelho agrícola 111, mas poderão estar localizados remotamente no campo e poderão se comu- nicar com a rede 109.
[0046] O aparelho 111 pode compreender um computador de ca- bine 115 que é programado com um aplicativo de cabine, o qual pode compreender uma versão ou variante do aplicativo móvel para o dispo- sitivo 104 que será descrito em mais detalhe em outras seções no pre- sente documento. De acordo com uma modalidade, o computador de cabine 115 compreende um computador compacto, muitas vezes um computador do tamanho de um tablet ou smartfone, com uma exibição de tela gráfica, tal como uma tela colorida, que é montada dentro da cabine de um operador do aparelho 111. O computador de cabine 115 poderá implementar algumas ou todas as operações e funções a serem descritas mais adiante no presente documento com relação ao disposi- tivo de computador móvel 104.
[0047] A(s) rede(s) 109 representa(m) de modo geral qualquer com- binação de uma ou mais redes de comunicação de dados, incluindo re- des de área local, redes de área ampla, interligações de redes ou inter- nets, usando qualquer um dentre links com fio ou sem fio, incluindo links terrestres ou de satélite. A(s) rede(s) pode(m) ser implementada(s) por qualquer meio ou mecanismo que proporcione a troca de dados entre os vários elementos mostrados na Figura 1. Os vários elementos mos- trados na Figura 1 também podem ter links de comunicação diretos (com ou sem fio). Os sensores 112, o controlador 114, o computador servidor de dados externos 108, e outros elementos do sistema com- preendem, cada qual, uma interface compatível com a(s) rede(s) 109 e são programados ou configurados para usar protocolos padronizados para comunicação através das redes, tais como o protocolo TCP/IP, a rede Bluetooth, o protocolo de rede CAN e os protocolos de camada superior, tais como HTTP, TLS, ou coisa do gênero.
[0048] O sistema de computador de inteligência agrícola 130 é pro- gramado ou configurado para receber os dados de campo 106 do dis- positivo de computação gerenciador de campo 104, os dados externos 110 do computador servidor de dados externos 108 e os dados de sen- sor do sensor remoto 112. O sistema de computador de inteligência agrícola 130 pode ser ainda configurado para hospedar, usar ou execu- tar um ou mais programas de computador, outros elementos de sof- tware, uma lógica digitalmente programada, tais como os arranjos FPGA ou os circuitos ASIC, ou qualquer combinação dos mesmos a fim de realizar a tradução e o armazenamento dos valores de dados, a cons- trução de modelos digitais de uma ou mais culturas em um ou mais campos, a geração de recomendações e notificações, e a geração e o envio de scripts para o controlador de aplicativo 114, tal como será des- crito em mais detalhe em outras seções do presente documento.
[0049] De acordo com uma modalidade, o sistema de computador de inteligência agrícola 130 é programado com ou compreende uma ca- mada de comunicação 132, uma camada de apresentação 134, uma camada de gerenciamento de dados 140, uma camada de hardware / virtualização 150, um repositório de modelos e dados de campo 160, e instruções de código 180. A palavra "camada", neste contexto, se refere a qualquer combinação de circuitos eletrônicos de interface digital, mi- crocontroladores, firmware, tais como drivers e/ou programas de com- putador ou outros elementos de software.
[0050] A camada de comunicação 132 pode ser programada ou configurada de modo a executar funções de interface de entrada / saída, incluindo solicitações de envio ao dispositivo de computação gerencia- dor de campo 104, ao computador servidor de dados externos 108, e ao sensor remoto 112 para dados de campo, dados externos e dados de sensor, respectivamente. A camada de comunicação 132 pode ser pro- gramada ou configurada para enviar os dados recebidos para o reposi- tório de modelos e dados de campo 160 para serem armazenados como dados de campo 106.
[0051] De acordo com uma modalidade, as instruções de código 180 compreendem instruções de repositório de modelos 136, instruções de execução de modelos 137, instruções de histórico de modelos 138,
e instruções de consulta de modelos 139. Outras instruções de código poderão também ser incluídas. As instruções de repositório de modelos 136 podem ser usadas para gerar e manter um repositório de modelos para a criação, armazenamento, catalogação e navegação de modelos baseados em máquina. As instruções de execução de modelos 137 po- derão ser usadas para determinar os requisitos de execução para mo- delos baseados em máquina, gerenciar os recursos de execução dispo- níveis em uma plataforma de infraestrutura de execução de modelos, e gerenciar a execução dos modelos na plataforma de infraestrutura de execução de modelos. As instruções de histórico de modelos 138 pode- rão ser usadas para gerar logs de histórico para os modelos que são executados na plataforma de infraestrutura de execução de modelos, agregar os logs, e prover funcionalidades de navegação de logs. As ins- truções de consulta de modelos 139 poderão ser usadas para receber, processar e resolver as consultas emitidas para a plataforma de algo- ritmo de aprendizado de modelos.
[0052] A camada de apresentação 134 pode ser programada ou configurada para gerar uma interface gráfica de usuário (GUI) a ser exi- bida no dispositivo de computação gerenciador de campo 104, no com- putador de cabine 115 ou em outros computadores que são acoplados ao sistema 130 através da rede 109. A interface GUI pode compreender controles para a entrada de dados a serem enviados ao sistema de com- putador de inteligência agrícola 130, para a geração de solicitações de modelos e/ou recomendações, e/ou para a exibição de recomendações, notificações, modelos e outros dados de campo.
[0053] A camada de gerenciamento de dados 140 pode ser progra- mada ou configurada para gerenciar operações de leitura e operações de gravação que envolvem o repositório 160 e outros elementos funcio- nais do sistema, incluindo consultas e conjuntos de resultados comuni-
cados entre os elementos funcionais do sistema e o repositório. Exem- plos de camada de gerenciamento de dados 140 incluem o código de interface de servidor JDBC, SQL e/ou o código de interface HADOOP, entre outros códigos. O repositório 160 pode compreender um banco de dados. Tal como usado no presente documento, o termo "banco de da- dos" pode se referir a um corpo de dados, a um sistema de gerencia- mento de banco de dados relacional (RDBMS), ou a ambos. Tal como usado no presente documento, um banco de dados pode compreender qualquer coleção de dados, incluindo bancos de dados hierárquicos, bancos de dados relacionais, bancos de dados de arquivo simples, ban- cos de dados relacionados a objetos, bancos de dados orientados a ob- jetos, bancos de dados distribuídos, ou qualquer outra coleção estrutu- rada de registros ou dados armazenados em um sistema de computa- dor. Exemplos de sistemas RDBMS incluem a, mas não limitados à, in- clusão dos bancos de dados ORACLE®, MYSQL, IBM® DB2, MICRO- SOFT® SQL SERVER, SYBASE® e POSTGRESQL. No entanto, qual- quer banco de dados poderá ser usado no sentido de habilitar os siste- mas e métodos descritos no presente documento.
[0054] Quando os dados de campo 106 não são providos direta- mente para o sistema de computador de inteligência agrícola por meio de uma ou mais máquinas agrícolas ou dispositivos de máquina agrícola que interagem com o sistema de computador de inteligência agrícola, o usuário poderá ser solicitado por meio de uma ou mais interfaces de usuário no dispositivo de usuário (servido pelo sistema de computador de inteligência agrícola) a inserir essas informações. De acordo com uma modalidade exemplar, o usuário poderá especificar os dados de identificação acessando um mapa no dispositivo de usuário (servido pelo sistema de computador de inteligência agrícola) e selecionando as unidades CLU específicas que foram graficamente mostradas no mapa.
De acordo com uma modalidade alternativa, o usuário 102 poderá es- pecificar os dados de identificação acessando um mapa no dispositivo de usuário (servido pelo sistema de computador de inteligência agrícola 130) e traçando os limites do campo sobre o mapa. Essa seleção de unidades CLU ou desenhos de mapas representam identificadores ge- ográficos. Em modalidades alternativas, o usuário poderá especificar os dados de identificação acessando os dados de identificação de campo (providos como arquivos de forma ou em um formato similar) do Depar- tamento dos Estados Unidos de Agência de Serviço de Fazenda Agrí- cola ou outra fonte através do dispositivo de usuário, e provendo tais dados de identificação de campo para o sistema de computador de in- teligência agrícola.
[0055] De acordo com uma modalidade exemplar, o sistema de computador de inteligência agrícola 130 é programado para gerar e cau- sar a exibição de uma interface gráfica de usuário compreendendo um gerenciador de dados para a entrada de dados. Depois de um ou mais campos serem identificados usando os métodos acima descritos, o ge- renciador de dados poderá prover um ou mais widgets de interface grá- fica de usuário que, quando selecionados, poderão identificar mudanças no campo, solo, safras, colheitas, cultivo ou práticas de nutrientes. O gerenciador de dados poderá incluir uma visão de linha de tempo, uma visão de planilha, e/ou um ou mais programas editáveis.
[0056] A Figura 5 ilustra uma modalidade exemplar de uma visuali- zação de linha de tempo para a entrada de dados. Usando a tela ilus- trada na Figura 5, um computador de usuário poderá inserir uma sele- ção de um campo específico e uma data específica para a adição do evento. Os eventos ilustrados no topo da linha de tempo podem incluir nitrogênio, plantio, práticas e solo. Para adicionar um evento de aplica- ção de nitrogênio, um computador de usuário poderá prover uma en-
trada para selecionar a guia nitrogênio. O computador de usuário po- derá, em seguida, selecionar um local na linha de tempo para um campo específico a fim de indicar uma aplicação de nitrogênio no campo sele- cionado. Em resposta ao recebimento de uma seleção de um local na linha de tempo para um campo específico, o gerenciador de dados po- derá exibir uma sobreposição de entrada de dados, permitindo que o computador de usuário insira os dados pertencentes às aplicações de nitrogênio, aos procedimentos de plantio, ao gerenciamento de solo, aos procedimentos de cultivo, às práticas de irrigação, ou outras informa- ções relacionadas ao campo específico. Por exemplo, quando um com- putador de usuário seleciona uma parte da linha de tempo e indica uma aplicação de nitrogênio, nesse caso a sobreposição de entrada de da- dos poderá incluir campos para a entrada de uma quantidade de nitro- gênio aplicado, uma data de aplicação, um tipo de fertilizante usado, ou qualquer outra informação relacionada à aplicação do nitrogênio.
[0057] De acordo com uma modalidade, o gerenciador de dados provê uma interface para a criação de um ou mais programas. "Pro- grama", neste contexto, refere-se a um conjunto de dados relativos a aplicações de nitrogênio, procedimentos de plantio, aplicação de solo, procedimentos de cultivo, práticas de irrigação, ou outras informações que podem estar relacionadas a um ou mais campos e que podem ser armazenadas em um armazenador de dados digitais para reutilização como um conjunto em outras operações. Após a criação de um pro- grama, o mesmo poderá ser conceitualmente aplicado a um ou mais campos, e as referências ao programa poderão ser armazenadas em um armazenador digital em associação aos dados que identificam os campos. Assim, em vez de inserir manualmente dados idênticos relati- vos às mesmas aplicações de nitrogênio em vários campos diferentes, um computador de usuário poderá criar um programa que indica uma aplicação específica de nitrogênio e, em seguida, aplicar o programa em múltiplos campos diferentes. Por exemplo, na visualização da linha de tempo mostrada na Figura 5, as duas linhas de tempo superiores sele- ciona o programa "Spring applied", cujo programa inclui uma aplicação de 150 libras de N/ac no início de abril. O gerenciador de dados pode prover uma interface para editar um programa. De acordo com uma mo- dalidade, quando um programa específico é editado, cada campo que seleciona o programa específico é editado. Por exemplo, tal como mos- trado na Figura 5, quando o programa “Spring applied” é editado no sen- tido de reduzir a aplicação de nitrogênio para 130 libras de N/ac, os dois campos superiores poderão ser atualizados com uma aplicação redu- zida de nitrogênio com base no programa editado.
[0058] De acordo com uma modalidade, em resposta ao recebi- mento de edições em um campo que tem um programa selecionado, o gerenciador de dados removerá a correspondência do campo para o programa selecionado. Por exemplo, quando uma aplicação de nitrogê- nio é adicionada ao campo superior mostrado na Figura 5, a interface poderá ser atualizada de modo a indicar que o programa "Spring apli- cado" não está mais sendo aplicado ao campo superior. Embora a apli- cação de nitrogênio no início de abril possa permanecer, as atualizações do programa “Spring applied” não alterariam a aplicação de nitrogênio em abril.
[0059] A Figura 6 ilustra uma modalidade exemplar de uma visuali- zação de planilha para a entrada de dados. Usando a tela ilustrada na Figura 6, um usuário poderá criar e editar informações para um ou mais campos. O gerenciador de dados poderá incluir planilhas para a entrada de informações com relação ao nitrogênio, ao plantio, às práticas e ao solo, tal como ilustrado na Figura 6. Para editar uma entrada específica, um computador de usuário poderá selecionar a entrada específica na planilha e atualizar os valores. Por exemplo, a Figura 6 ilustra uma atu-
alização em andamento para um valor de produtividade alvo para o se- gundo campo. Além disso, um computador de usuário poderá selecionar um ou mais campos a fim de aplicar um ou mais programas. Em res- posta ao recebimento de uma seleção de um programa para um campo específico, o gerenciador de dados poderá completar automaticamente as entradas para o campo específico com base no programa selecio- nado. Tal como acontece com a visualização da linha de tempo, o ge- renciador de dados pode atualizar as entradas para cada campo asso- ciado a um programa específico em resposta ao recebimento de uma atualização do programa. Além disso, o gerenciador de dados pode re- mover a correspondência do programa selecionado para o campo em resposta ao recebimento de uma edição em uma das entradas do campo.
[0060] De acordo com uma modalidade, os dados de campo e de modelo são armazenados no repositório de modelos e dados de campo
160. Os dados de modelo compreendem modelos de dados criados para um ou mais campos. Por exemplo, um modelo de cultura poderá incluir um modelo digitalmente construído do desenvolvimento de uma cultura em um ou mais campos. "Modelo", neste contexto, refere-se a um conjunto eletrônico digitalmente armazenado de valores de dados e de instruções executáveis, associados uns aos outros, que são capazes de receber e responder a uma chamada programática ou outra digital, a uma invocação ou solicitação de resolução com base em valores de en- trada especificados, a fim de produzir um ou mais valores de saída ar- mazenados ou calculados que poderão servir como a base de recomen- dações implementadas por computador, exibições de dados de saída, ou controle de máquina, entre outras coisas. Pessoas com experiência na área acham conveniente expressar os modelos usando equações matemáticas, mas essa forma de expressão não confina os modelos descritos no presente documento a conceitos abstratos; em vez disso,
cada modelo no presente documento tem uma aplicação prática em um computador na forma de instruções executáveis armazenadas e dados que implementam o modelo usando o computador. O modelo pode in- cluir um modelo de eventos passados em um ou mais campos, um mo- delo do status corrente do um ou mais campos, e/ou um modelo de eventos previstos no um ou mais campos. Os dados de campo e mode- los podem ser armazenados em estruturas de dados na memória, nas linhas de uma tabela de banco de dados, em arquivos planos ou plani- lhas, ou outras formas de dados digitais armazenados.
[0061] A camada de Hardware / virtualização 150 compreende uma ou mais unidades de processamento central (CPU), controladores de memória, e outros dispositivos, componentes, ou elementos de um sis- tema de computador, tais como uma memória volátil ou não volátil, um armazenador não volátil, tal como um disco, e dispositivos ou interfaces de I/O, tal como ilustrado e descrito, por exemplo, com relação à Figura
4. A camada 150 pode compreender ainda instruções programadas con- figuradas de modo a suportar virtualização, conteinerização, ou outras tecnologias.
[0062] Para fins de ilustração de um exemplo claro, a Figura 1 mos- tra um número limitado de instâncias de certos elementos funcionais. No entanto, em outras modalidades, poderá haver qualquer número de tais elementos. Por exemplo, modalidades poderão usar milhares ou mi- lhões de diferentes dispositivos de computação móvel 104 associados a diferentes usuários. Além disso, o sistema 130 e/ou o computador ser- vidor de dados externos 108 poderão ser implementados usando dois ou mais processadores, núcleos, clusters ou instâncias de máquinas fí- sicas ou virtuais configuradas em um local discreto ou colocadas em conjunto com outros elementos em uma central de dados, em uma ins- talação de computação compartilhada ou em uma instalação de compu- tação em nuvem.
[0063] 2.2. VISÃO GERAL DO PROGRAMA DE APLICAÇÃO
[0064] De acordo com uma modalidade, a implementação das fun- ções descritas no presente documento usando um ou mais programas de computador ou outros elementos de software que são carregados em e executados usando um ou mais computadores de uso geral faz com que os computadores de uso geral sejam configurados como uma máquina específica ou como um computador especialmente adaptado para executar as funções descritas no presente documento. Além disso, cada um dos fluxogramas descritos em mais detalhe no presente docu- mento pode servir, sozinho ou em combinação com as descrições de processos e funções descritos no presente documento, como algorit- mos, planos ou direções que podem ser usados para programar um computador ou lógica no sentido de implementar as funções descritas. Em outras palavras, todo o texto em questão no presente documento e todas as figuras de desenho, em conjunto, se destinam a prover uma descrição dos algoritmos, planos ou direções que sejam suficientes para permitir a uma pessoa versada na técnica programar um computador no sentido de executar as funções descritas no presente documento, em combinação com a capacidade e conhecimento de tal pessoa com base na habilidade que se faz apropriada às invenções e descrições deste tipo.
[0065] De acordo com uma modalidade, o usuário 102 interage com o sistema de computador de inteligência agrícola 130 usando o disposi- tivo de computação gerenciador de campo 104 configurado com um sis- tema operacional e um ou mais programas de aplicação ou aplicativos; o dispositivo de computação gerenciador de campo 104 pode também interoperar com o sistema de computador de inteligência agrícola de forma independente e automática de acordo com o controle do pro- grama ou controle lógico, e a interação direta do usuário nem sempre é necessária. O dispositivo de computação gerenciador de campo 104 re- presenta de modo geral um ou mais smartfones, um assistente PDA, um dispositivo de computação tablet, um laptop, um computador de mesa, uma estação de trabalho, ou qualquer outro dispositivo de com- putação capaz de transmitir e receber informações e executar as fun- ções descritas no presente documento. O dispositivo de computação gerenciador de campo 104 pode se comunicar através de uma rede usando um aplicativo móvel armazenado no dispositivo de computação gerenciador de campo 104, e, de acordo com algumas modalidades, o dispositivo poderá ser acoplado usando um cabo 113 ou conector ao sensor 112 e/ou controlador 114. Um usuário específico 102 pode ter, operar, ou possuir e usar, com relação ao sistema 130, mais de um dis- positivo de computação gerenciador de campo 104 por vez.
[0066] O aplicativo móvel pode prover uma funcionalidade do lado do cliente, através da rede, para um ou mais dispositivos de computação móvel. De acordo com uma modalidade exemplar, o dispositivo de com- putação gerenciador de campo 104 pode acessar o aplicativo móvel através de um navegador da web ou uma aplicação ou aplicativo de cliente local. O dispositivo de computação gerenciador de campo 104 pode transmitir dados para, e receber dados de, um ou mais servidores front-end (de interface gráfica), usando protocolos ou formatos basea- dos na web, tais como HTTP, XML e/ou JSON, ou protocolos específi- cos ao aplicativo. De acordo com uma modalidade exemplar, os dados podem assumir a forma de solicitações e entrada de informações de usuário, tais como dados de campo, no dispositivo de computação mó- vel. De acordo com algumas modalidades, o aplicativo móvel interage com um hardware de rastreamento de localização e um software do dis- positivo de computação gerenciador de campo 104 que determina a lo- calização do dispositivo de computação gerenciador de campo 104 usando técnicas de rastreamento padrão, tais como a multilateração de sinais de rádio, o sistema de posicionamento global (GPS), os sistemas de posicionamento de Wi-Fi, ou outros métodos de posicionamento mó- vel. Em alguns casos, os dados de localização ou outros dados associ- ados ao dispositivo 104, ao usuário 102 e/ou à(s) conta(s) de usuário poderão ser obtidos por meio de consultas a um sistema operacional do dispositivo ou solicitando um aplicativo no dispositivo a fim de obter da- dos do sistema operacional.
[0067] De acordo com uma modalidade, o dispositivo de computa- ção gerenciador de campo 104 envia dados de campo 106 para o sis- tema de computador de inteligência agrícola 130 compreendendo ou in- cluindo, mas não se limitando a, valores de dados que representam um ou mais dentre: uma localização geográfica de um ou mais campos, in- formações de lavoura para um ou mais campos, safras plantadas em um ou mais campos, e dados de solo extraídos de um ou mais campos. O dispositivo de computação gerenciador de campo 104 pode enviar dados de campo 106 em resposta à entrada de usuário do usuário 102 especificando os valores de dados para um ou mais campos. Além disso, o dispositivo de computação gerenciador de campo 104 pode en- viar dados de campo 106 automaticamente quando um ou mais dentre os valores de dados se tornam disponíveis para o dispositivo de com- putação gerenciador de campo 104. Por exemplo, o dispositivo de com- putação gerenciador de campo 104 pode ser comunicativamente aco- plado ao sensor remoto 112 e/ou ao controlador de aplicativo 114 que inclui um sensor de irrigação e/ou um controlador de irrigação. Em res- posta ao recebimento de dados indicando que o controlador de aplica- tivo 114 liberou água para um ou mais campos, o dispositivo de compu- tação gerenciador de campo 104 poderá enviar os dados de campo 106 para o sistema de computador de inteligência agrícola 130 indicando que a água foi liberada no um ou mais campos. Os dados de campo 106 identificados na presente invenção podem ser inseridos e comunicados usando dados digitais eletrônicos que são comunicados entre dispositi- vos de computação usando localizadores URL parametrizados em HTTP ou outro protocolo de comunicação ou mensagem adequado.
[0068] Um exemplo comercial de aplicativo móvel é o CLIMATE FI- ELDVIEW, comercialmente disponível na empresa The Climate Corpo- ration, San Francisco, Califórnia. O aplicativo CLIMATE FIELDVIEW, ou outros aplicativos, podem ser modificados, estendidos ou adaptados de modo a incluir recursos, funções e programação que não foram divulga- dos antes da data de depósito da presente invenção. De acordo com uma modalidade, o aplicativo móvel compreende uma plataforma de software integrado que permite a um produtor tomar decisões baseadas em fatos para a sua operação, uma vez que combina os dados históri- cos a respeito dos campos do produtor com quaisquer outros dados que o produtor deseja comparar. As combinações e comparações poderão ser realizadas em tempo real e se baseiam em modelos científicos que provêem cenários potenciais para permitir que o produtor tome as deci- sões mais bem informadas ou indicadas.
[0069] A Figura 2 ilustra duas vistas de um exemplo de organi- zação lógica de conjuntos de instruções na memória principal quando um aplicativo móvel exemplar é carregado para execução. Na Figura 2, cada elemento nomeado representa uma região de uma ou mais pági- nas de memória RAM ou outra memória principal, ou um ou mais blocos de armazenamento em disco ou outro armazenador não volátil, e as instruções programadas dentro dessas regiões. De acordo com uma modalidade, na vista (a), um aplicativo de computador móvel 200 com- preende conta, campos, ingestão de dados, instruções de compartilha- mento 202, visão geral e instruções de alerta 204, instruções de livro de mapa digital 206, instruções de sementes e plantio 208, instruções de nitrogênio 210, instruções de condições meteorológicas 212, instruções de saúde de campo 214, e instruções de desempenho 216.
[0070] De acordo com uma modalidade, um aplicativo de computa- dor móvel 200 compreende conta, campos, ingestão de dados, instru- ções de compartilhamento 202 que são programadas para receber, tra- duzir e ingerir dados de campo de sistemas de terceiros por meio de envio manual ou interfaces API. Os tipos de dados podem incluir limites de campo, mapas de produção, mapas conforme plantados, resultados de testes de solo, mapas conforme aplicados e/ou zonas de gerencia- mento, entre outros dados. Os formatos de dados podem incluir arqui- vos shapefile, formatos de dados nativos de terceiros, e/ou exportações de sistema de informação de gerenciamento agrícola (FMIS), entre ou- tros formatos. O recebimento de dados poderá ocorrer por meio de en- vio manual, e-mail com anexo, interfaces API externas que enviam da- dos para o aplicativo móvel, ou instruções que chamam interfaces API de sistemas externos para puxar dados para o aplicativo móvel. De acordo com uma modalidade, o aplicativo de computador móvel 200 compreende uma caixa de entrada de dados. Em resposta ao recebi- mento de uma seleção da caixa de entrada de dados, o aplicativo de computador móvel 200 poderá exibir uma interface gráfica de usuário para o envio manual de arquivo de dados e importar arquivos de dados para um gerenciador de dados.
[0071] De acordo com uma modalidade, as instruções de livro de mapa digital 206 compreendem camadas de dados de mapa de campo armazenadas na memória de dispositivo e são programadas com ferra- mentas de visualização de dados e notas de campo geoespacial. Isso provê aos produtores informações convenientes à mão para referência, registro e insights visuais sobre o desempenho no campo. De acordo com uma modalidade, a visão geral e as instruções de alerta 204 são programadas de modo a prover uma visão ampla da operação do que é importante para o produtor, e recomendações atualizadas para agir ou focar sobre questões específicas. Isso permite que o produtor concentre seu tempo no que precisa de atenção a fim de economizar tempo e pre- servar a produção ao longo da temporada. De acordo com uma modali- dade, as instruções de plantio e sementes 208 são programadas no sentido de prover ferramentas para a seleção de sementes, posiciona- mento híbrido e criação de script, inclusive criação de script de taxa va- riável (VR), com base em modelos científicos e dados empíricos. Isso permite que os produtores maximizem a produção ou o retorno do in- vestimento por meio da compra, colocação e população de sementes otimizadas.
[0072] De acordo com uma modalidade, as instruções de geração de script 205 são programadas para prover uma interface para a gera- ção de scripts, incluindo scripts de fertilidade de taxa variável (VR). A interface permite que os produtores criem scripts para implementos de campo, tais como aplicações de nutrientes, plantio e irrigação. Por exemplo, uma interface de script de plantio pode compreender ferra- mentas para a identificação de um tipo de semente para plantio. Ao re- ceber uma seleção do tipo de semente, o aplicativo de computador mó- vel 200 poderá exibir um ou mais campos divididos em zonas de geren- ciamento, tais como as camadas de dados de mapa de campo criadas como parte de instruções de livro de mapa digital 206. De acordo com uma modalidade, as zonas de gerenciamento compreendem zonas de solo juntamente com um painel que identifica cada zona de solo e um nome de solo, textura, drenagem para cada zona, ou outros dados de campo. O aplicativo de computador móvel 200 poderá também exibir ferramentas de edição ou criação, tais como ferramentas gráficas para desenhar zonas de gerenciamento, por exemplo, zonas de solo, sobre um mapa de um ou mais campos. Os procedimentos de plantio podem ser aplicados a todas as zonas de gerenciamento, ou diferentes proce- dimentos de plantio poderão ser aplicados a diferentes subconjuntos de zonas de gerenciamento. Quando um script é criado, o aplicativo de computador móvel 200 poderá disponibilizar o script para download em um formato legível por um controlador de aplicativo, tal como um for- mato arquivado ou compactado. Além disso, e/ou alternativamente, um script poderá ser enviado diretamente para o computador de cabine 115 do aplicativo de computador móvel 200 e/ou carregado para um ou mais servidores de dados e armazenado para uso posterior.
[0073] De acordo com uma modalidade, as instruções de nitrogênio 210 são programadas de modo a prover ferramentas para informar as decisões de nitrogênio, visualizando a disponibilidade de nitrogênio para as culturas. Isso permite que os produtores maximizem a produção ou o retorno do investimento por meio da aplicação otimizada de nitrogênio durante a temporada. Exemplos de funções programadas incluem a exi- bição de imagens, tais como imagens SSURGO a fim de permitir o de- senho de zonas de aplicação de fertilizantes e/ou imagens geradas a partir de dados de solo de subcampo, tais como os dados obtidos de sensores, em uma alta resolução espacial (tão fina como em milímetros ou menor, dependendo da proximidade e resolução do sensor); o upload de zonas existentes definidas pelo produtor; a provisão de um gráfico de disponibilidade de nutrientes para plantas e/ou um mapa para permi- tir o ajuste de aplicações de nitrogênio em várias zonas; a saída de scripts para a condução de máquinas; ferramentas para a entrada e ajuste de dados em massa; e/ou mapas para visualização de dados, entre outras funções. "Entrada de dados em massa", neste contexto, pode significar a entrada de dados uma única vez e, em seguida, a apli- cação dos mesmos dados a vários campos e/ou zonas que foram defi- nidas no sistema; dados exemplares podem incluir os dados de aplica- ção de nitrogênio que são iguais para muitos campos e/ou zonas do mesmo produtor, porém essa entrada de dados em massa se aplica à entrada de qualquer tipo de dados de campo no aplicativo de computa- dor móvel 200. Por exemplo, as instruções de nitrogênio 210 podem ser programadas para aceitar as definições de programas de aplicação e práticas de nitrogênio, e para aceitar a entrada de usuário especificando a aplicação desses programas em vários campos. "Programas de apli- cação de nitrogênio", neste contexto, refere-se a conjuntos de dados nomeados e armazenados que associam: um nome, um código de cor ou outro identificador, uma ou mais datas de aplicação, tipos de material ou produto para cada uma das datas e quantidades, método de aplica- ção ou incorporação, tal como injetado ou transmitido, e/ou quantidades ou taxas de aplicação para cada uma das datas, cultura ou híbrido que vem a ser objeto da aplicação, entre outros dados. "Programas de prá- ticas de nitrogênio", neste contexto, referem-se a conjuntos de dados nomeados e armazenados que associam: um nome de prática; uma sa- fra anterior; um sistema de cultivo; uma data de cultivo primário; um ou mais sistemas de lavoura anterior que foram usados; um ou mais indi- cadores de tipo de aplicação que foram usados, tal como adubo.
As instruções de nitrogênio 210 podem também ser programadas no sen- tido de gerar e fazer a exibição de um gráfico de nitrogênio, cujo gráfico indica as projeções de uso em planta do nitrogênio especificado e se um excesso ou déficit é previsto; de acordo com algumas modalidades, diferentes indicadores de cor podem sinalizar uma magnitude de ex- cesso ou uma magnitude de déficit.
De acordo com uma modalidade, um gráfico de nitrogênio compreende uma exibição gráfica em um dis- positivo de vídeo de computador que compreende uma pluralidade de linhas, cada linha sendo associada e identificando um campo; os dados especificando que cultura foi plantada no campo, o tamanho do campo, a localização do campo, e uma representação gráfica do perímetro de campo; em cada linha, uma linha de tempo por mês com indicadores gráficos que especificam cada aplicação e quantidade de nitrogênio em pontos correlacionados a nomes de meses; e indicadores numéricos e/ou coloridos de excesso ou déficit, nos quais uma cor indica uma mag- nitude.
[0074] De acordo com uma modalidade, o gráfico de nitrogênio pode incluir um ou mais recursos de entrada de usuário, tais como mostrado- res ou barras deslizantes, a fim de alterar dinamicamente programas de plantio e práticas de nitrogênio de modo que um usuário possa otimizar o seu gráfico de nitrogênio. O usuário poderá, nesse caso, usar o seu gráfico de nitrogênio otimizado e os programas de plantio e práticas de nitrogênio relacionadas a fim de implementar um ou mais scripts, inclu- indo scripts de fertilidade de taxa variável (VR). As instruções de nitro- gênio 210 podem também ser programadas no sentido de gerar e fazer a exibição de um mapa de nitrogênio, o qual indica as projeções de uso de planta do nitrogênio especificado e se um excesso ou falta é previsto; de acordo com algumas modalidades, os diferentes indicadores de cor podem sinalizar uma magnitude de excesso ou uma magnitude de défi- cit. O mapa de nitrogênio pode exibir projeções de uso de planta do nitrogênio especificado e se um excesso ou déficit é previsto em dife- rentes momentos no passado e no futuro (tal como diariamente, sema- nalmente, mensalmente ou anualmente) usando indicadores numéricos e/ou coloridos de excesso ou déficit, em que uma cor indicará a magni- tude. De acordo com uma modalidade, o mapa de nitrogênio poderá incluir um ou mais recursos de entrada de usuário, tais como mostrado- res ou barras deslizantes, a fim de alterar dinamicamente os programas de plantio e práticas de nitrogênio, de modo que um usuário possa oti- mizar o seu mapa de nitrogênio, e desta maneira obter uma quantidade preferida de excesso ao déficit. O usuário poderá, nesse caso, usar o seu mapa de nitrogênio otimizado e os programas de plantio e práticas de nitrogênio relacionadas a fim de implementar um ou mais scripts, in- cluindo scripts de fertilidade de taxa variável (VR). De acordo com outras modalidades, instruções similares às instruções de nitrogênio 210 po- derão ser usadas para a aplicação de outros nutrientes (tais como, fós- foro e potássio), para a aplicação de pesticida, e programas de irrigação.
[0075] De acordo com uma modalidade, as instruções meteorológi- cas 212 são programadas no sentido de prover dados meteorológicos recentes específicos no campo e informações meteorológicas previstas. Isso permite que os produtores economizem tempo e tenham uma exi- bição integrada eficaz com relação às decisões operacionais diárias.
[0076] De acordo com uma modalidade, as instruções de saúde de campo 214 são programadas no sentido de prover imagens de sensori- amento remoto atualizadas destacando a variação de safra na estação e potenciais preocupações. Exemplos de funções programadas incluem a verificação de nuvens a fim de identificar possíveis nuvens ou sombras de nuvens; a determinação de índices de nitrogênio com base nas ima- gens de campo; a visualização gráfica de camadas de reconhecimento, incluindo, por exemplo, aquelas relacionadas à saúde do campo, e a visualização e/ou compartilhamento de notas de reconhecimento; e/ou o download de imagens de satélite a partir de múltiplas fontes e a prio- rização das imagens para o produtor, entre outras funções.
[0077] De acordo com uma modalidade, as instruções de desempe- nho 216 são programadas no sentido de prover relatórios, análises, e ferramentas de insight que usam os dados na fazenda para fins de ava- liação, insights e decisões. Isso permite que o produtor busque melho- res resultados para o ano seguinte através de conclusões feitas com base nos fatos sobre por que um retorno de investimento ficou nos ní- veis anteriores, e um insight dos fatores de limitação da produção. As instruções de desempenho 216 podem ser programadas para se comu- nicar através da(s) rede(s) 109 com os programas de análise do lado do servidor executados no sistema de computador de inteligência agrícola 130 e/ou no computador servidor de dados externos 108 e configurados para analisar métricas, tais como produção, diferencial de produção, hí- bridos, população, zona SSURGO, propriedades de teste de solo, ou elevação, entre outras métricas. Os relatórios e análises programadas podem incluir uma análise de variabilidade de produção, estimativa de efeitos de tratamento, processo de avaliação de benchmarking relativa à produção e outras métricas contra outros produtores com base em dados sigilosos coletados de muitos produtores, ou dados para semen- tes e plantio, entre outras métricas.
[0078] Aplicativos com instruções configuradas desta maneira po- derão ser implementados em diferentes plataformas de dispositivo de computação, mantendo a mesma aparência geral de interface de usuá- rio. Por exemplo, o aplicativo móvel poderá ser programado para exe- cução em computadores do tipo tablet, smartfones ou computadores servidores que são acessados usando os navegadores dos computado- res clientes. Além disso, o aplicativo móvel tal como configurado para computadores tablet ou smartfones poderá oferecer uma completa ex- periência de aplicativo ou uma experiência de aplicativo de cabine ade- quada para as capacidades de exibição e processamento do computa- dor de cabine 115. Por exemplo, em seguida, com referência à vista (b) da Figura 2, de acordo com uma modalidade, um aplicativo de compu- tador de cabine 220 pode compreender instruções de mapas de cabine 222, instruções de visualização remota 224, instruções de coleta e transferência de dados 226, instruções de alerta de máquina 228, ins- truções de transferência de script 230, e instruções de reconhecimento de cabine 232. A base de código para as instruções da vista (b) pode ser igual à vista (a) e os programas executáveis que implementam o código podem ser programados no sentido de detectar o tipo de plata- forma na qual os mesmos são executados e expor, por meio de uma interface gráfica de usuário, apenas as funções que são adequadas a uma plataforma de cabine ou plataforma completa. Essa abordagem permite que o sistema reconheça uma experiência de usuário distinta- mente diferente apropriada a um ambiente de cabine e a um ambiente de tecnologia diferente da cabine. As instruções de mapas de cabine 222 podem ser programadas no sentido de prover visualizações em mapa de campos, fazendas ou regiões, visualizações essas que serão úteis no direcionamento durante uma operação de máquina. As instru- ções de visualização remota 224 podem ser programadas no sentido de ligar, gerenciar e prover visualizações de atividade de máquina em tempo real ou quase em tempo real para outros dispositivos de compu- tação conectados ao sistema 130 por meio de redes sem fio, conectores ou adaptadores com fio, ou coisa do gênero. As instruções de coleta e transferência de dados 226 podem ser programadas de modo a ligar, gerenciar, e prover a transferência de dados coletados em sensores e controladores para o sistema 130 por meio de redes sem fio, conectores ou adaptadores com fio, ou coisa do gênero. As instruções de alerta de máquina 228 podem ser programadas no sentido de detectar problemas com as operações da máquina ou nas ferramentas associadas à cabine, e gerar alertas ao operador. As instruções de transferência de script 230 podem ser configuradas de modo a transferir scripts de instruções con- figuradas para direcionar as operações de máquina ou a coleta de da- dos. As instruções de reconhecimento de cabine 232 podem ser progra- madas no sentido de exibir alertas baseados no local e informações re- cebidas do sistema 130 com base na localização do dispositivo de com- putação gerenciador de campo 104, do aparelho agrícola 111, ou dos sensores 112 no campo, e ingerir, gerenciar, e prover a transferência das observações de aferição baseadas no local para o sistema 130 com base na localização do aparelho agrícola 111 ou dos sensores 112 no campo.
[0079] 2.3. INGESTÃO DE DADOS PARA O SISTEMA DE COM-
PUTADOR
[0080] De acordo com uma modalidade, o computador servidor de dados externos 108 armazena dados externos 110, incluindo dados de solo que representam a composição do solo para um ou mais campos, e dados meteorológicos que representam a temperatura e a precipita- ção em um ou mais campos. Os dados meteorológicos podem incluir dados meteorológicos passados e presentes, bem como previsões para dados meteorológicos futuros. De acordo com uma modalidade, o com- putador servidor de dados externos 108 compreende uma pluralidade de servidores hospedados por diferentes entidades. Por exemplo, um primeiro servidor poderá conter dados de composição de solo, enquanto que um segundo servidor poderá incluir dados meteorológicos. Além disso, os dados de composição de solo podem ser armazenados em vários servidores. Por exemplo, um servidor poderá armazenar dados que representam o percentual de areia, silte e argila no solo, enquanto que um segundo servidor poderá armazenar dados que representam o percentual de matéria orgânica (OM) no solo.
[0081] De acordo com uma modalidade, o sensor remoto 112 com- preende um ou mais sensores programados ou configurados para pro- duzir uma ou mais observações. O sensor remoto 112 poderá ser sen- sores aéreos, tais como satélites, sensores de veículos, sensores de equipamentos de plantio, sensores de preparo do solo, sensores de apli- cação de fertilizantes ou inseticidas, sensores de colheitadeira, e qual- quer outro implemento capaz de receber dados de um ou mais campos. De acordo com uma modalidade, o controlador de aplicativo 114 é pro- gramado ou configurado para receber instruções do sistema de compu- tador de inteligência agrícola 130. O controlador de aplicativo 114 po- derá também ser programado ou configurado para controlar um parâ- metro operacional de um veículo ou implemento agrícola. Por exemplo, um controlador de aplicativo pode ser programado ou configurado para controlar um parâmetro operacional de um veículo, tal como um trator,
um equipamento de plantio, equipamentos de cultivo, equipamentos de fertilizantes ou inseticidas, equipamento de colheitadeiras, ou outros im- plementos agrícolas, tais como uma válvula de água. Outras modalida- des poderão usar qualquer combinação de sensores e controladores, dentre os quais os abaixo descritos são apenas exemplos selecionados.
[0082] O sistema 130 pode obter ou ingerir dados sob o controle do usuário 102, em massa, a partir de um grande número de produtores que contribuíram com dados para um sistema de banco de dados com- partilhado. Esta forma de obtenção de dados pode ser denominada "in- gestão manual de dados" quando uma ou mais operações de computa- dor controladas pelo usuário são solicitadas ou acionadas no sentido de se obter dados para uso pelo sistema 130. Como um exemplo, o aplica- tivo CLIMATE FIELDVIEW, comercialmente disponível na empresa The Climate Corporation, San Francisco, Califórnia, pode ser operado no sentido de exportar dados para o sistema 130 para armazenamento no repositório 160.
[0083] Por exemplo, os sistemas de monitoramento de sementes podem controlar os componentes do aparelho de uma plantadeira como também obter dados de plantio, incluindo sinais de sensores de semen- tes por meio de um chicote de sinais que compreende um cabo back- bone de rede CAN e conexões ponto a ponto para registro e/ou diag- nóstico. Os sistemas de monitoramento de sementes podem ser progra- mados ou configurados de modo a exibir um espaçamento e população de sementes, além de outras informações para o usuário por meio do computador de cabine 115 ou outros dispositivos dentro do sistema 130. Exemplos são apresentados na Patente dos Estados Unidos N.
8.738.243 e na Publicação de Patente dos Estados Unidos N. 20150094916, em que a presente invenção pressupõe o conhecimento dessas outras patentes de invenção.
[0084] Da mesma forma, os sistemas de monitoramento de produ- ção podem conter sensores de produção para aparelhos de colheitadei- ras que enviam dados de medição de produção para o computador de cabine 115 ou outros dispositivos dentro do sistema 130. Os sistemas de monitoramento de produção podem utilizar um ou mais sensores re- motos 112 a fim de obter medições de umidade de grão em uma ceifeira debulhadora ou outra colheitadeira, e transmitir essas medições ao usu- ário através do computador de cabine 115 ou outros dispositivos dentro do sistema 130.
[0085] De acordo com uma modalidade, exemplos de sensores 112 que podem ser usados com qualquer veículo ou aparelho em movi- mento do tipo descrito em outra parte no presente documento incluem sensores cinemáticos e sensores de posição. Os sensores cinemáticos podem compreender qualquer um dos sensores de velocidade, tais como radar ou sensores de velocidade de roda, acelerômetros, ou gi- roscópios. Os sensores de posição podem compreender receptores ou transceptores GPS, ou aplicativos de mapeamento ou posição basea- dos em Wi-Fi que são programados no sentido de determinar a locali- zação com base em pontos de acesso Wi-Fi próximos, entre outros sen- sores.
[0086] De acordo com uma modalidade, exemplos de sensores 112 que podem ser usados com tratores ou outros veículos em movimento incluem sensores de velocidade de motor, sensores de consumo de combustível, contadores de área ou contadores de distância que intera- gem com GPS ou sinais de radar, sensores de velocidade de PTO (to- mada de força), sensores hidráulicos de trator configurados para detec- tar parâmetros hidráulicos, tais como pressão ou fluxo e/ou velocidade de bomba hidráulica, sensores de velocidade de roda ou sensores de patinagem de rodas. De acordo com uma modalidade, exemplos de con-
troladores 114 que podem ser usados com tratores incluem controlado- res direcionais hidráulicos, controladores de pressão, e/ou controlado- res de fluxo; controladores de velocidade de bomba hidráulica; contro- ladores ou reguladores de velocidade; controladores de posição de en- gate; ou controladores de posição de roda que provêem direção auto- mática.
[0087] De acordo com uma modalidade, exemplos de sensores 112 que podem ser usados com equipamentos de plantio de sementes, tais como plantadeiras, brocas, ou semeadoras de ar, incluem sensores de sementes, os quais podem ser ópticos, eletromagnéticos, ou sensores de impacto; sensores de força descendente, tais como pinos de carga, células de carga, sensores de pressão; sensores de propriedade de solo, tais como sensores de refletividade, sensores de umidade, senso- res de condutividade elétrica, sensores ópticos de resíduos, ou senso- res de temperatura; sensores de critérios operacionais de componentes, tais como sensores de profundidade de plantio, sensores de pressão de cilindro de força descendente, sensores de velocidade de disco de se- mentes, codificadores de motor de acionamento de sementes, sensores de velocidade de sistema transportador de sementes, ou sensores de nível de vácuo; ou sensores de aplicação de pesticidas, tais como sen- sores ópticos ou outros sensores eletromagnéticos, ou sensores de im- pacto. De acordo com uma modalidade, exemplos de controladores 114 que podem ser usados com tais equipamentos de plantio de sementes incluem: controladores de dobra de barra de ferramentas, tais como controladores para válvulas associadas a cilindros hidráulicos; controla- dores de força descendente, tais como controladores para válvulas as- sociadas a cilindros pneumáticos, airbags, ou cilindros hidráulicos, e programados para a aplicação de uma força descendente a unidades de linhas individuais ou a uma estrutura inteira de plantadeira; controla-
dores de profundidade de plantio, tais como atuadores lineares; contro- ladores de medição, tais como motores elétricos de acionamento de me- didor de sementes, motores hidráulicos de acionamento de medidor de sementes, ou embreagens de controle de faixa; controladores de sele- ção de híbridos, tais como motores de acionamento de medidores de sementes, ou outros atuadores programados para seletivamente permi- tir ou impedir que a semente ou uma mistura de ar e semente das se- mentes liberadas para ou de medidores de sementes ou de tremonhas centrais de produtos a granel; controladores de medição, tais como mo- tores elétricos de acionamento de medidor de sementes, ou motores hidráulicos de acionamento de medidor de sementes; controladores de sistema transportador de sementes, tais como controladores para um motor de correia transportadora de distribuição de sementes; controla- dores de marcador, tais como um controlador para um atuador pneumá- tico ou hidráulico; ou controladores de taxa de aplicação de pesticidas, tais como controladores de unidade de medição, controladores de ta- manho ou posição de furos.
[0088] De acordo com uma modalidade, exemplos de sensores 112 que podem ser usados com um equipamento de lavoura incluem sen- sores de posição para ferramentas, tais como hastes ou discos; senso- res de posição de ferramenta para ferramentas tais que são configura- das para detectar a profundidade, o ângulo de gangue, ou espaçamento lateral; sensores de força descendente; ou sensores de força de tração. De acordo com uma modalidade, exemplos de controladores 114 que podem ser usados com um equipamento de lavoura incluem controla- dores de força descendente ou controladores de posição de ferramenta, tais como controladores configurados para controlar a profundidade de ferramenta, ângulo de gangue, ou espaçamento lateral.
[0089] De acordo com uma modalidade, exemplos de sensores 112 que podem ser usados com relação a aparelhos para aplicação de fer- tilizante, inseticida, fungicida ou coisa do gênero, tais como sistemas de fertilizantes iniciais na plantadeira, aplicadores de fertilizante de sub- solo, ou pulverizadores de fertilizante, incluem: sensores de critérios de sistema de fluidos, tais como sensores de fluxo ou sensores de pressão; sensores que indicam quais válvulas de pulverizador ou válvulas de li- nha de fluido estão abertas; sensores associados a tanques, tais como sensores de nível de enchimento; sensores de linha de alimentação se- cionais ou para todo o sistema, ou sensores de linha de alimentação específicos de linha; ou sensores cinemáticos, tais como os acelerôme- tros dispostos nas barras de pulverização. De acordo com uma modali- dade, exemplos de controladores 114 que podem ser usados com tais aparelhos incluem controladores de velocidade de bomba; controlado- res de válvula que são programados para controlar pressão, fluxo, dire- ção, modulação PWM ou coisa do gênero; ou atuadores de posição, tais como para a altura de uma lança, profundidade de um subsolador, ou posição de uma lança.
[0090] De acordo com uma modalidade, exemplos de sensores 112 que podem ser usados com colheitadeiras incluem monitores de produ- ção, tais como medidores de tensão de placa de impacto ou sensores de posição, sensores de fluxo capacitivos, sensores de carga, sensores de peso, ou sensores de torque associados a elevadores ou trados, ou sensores ópticos ou outros sensores eletromagnéticos de altura de grãos; sensores de umidade de grãos, tais como sensores capacitivos; sensores de perda de grãos, incluindo os sensores de impacto, ópticos ou capacitivos; sensores de critérios de operação de cabeçote, tais como a altura do cabeçote, o tipo de cabeçote, a folga da placa traseira, a velocidade do alimentador, e sensores de velocidade do moinho; sen- sores de critérios de operação do separador, tais como sensores de folga côncava, de velocidade de rotor, de folga de sapata, ou de folga de chanfro; sensores de trado para posição, operação ou velocidade; ou sensores de velocidade de motor. De acordo com uma modalidade, exemplos de controladores 114 que podem ser usados com colheitadei- ras incluem controladores de critérios operacionais de cabeçote para elementos tais como altura do cabeçote, tipo de cabeçote, folga da placa traseira, velocidade do alimentador, ou velocidade do moinho; controla- dores de critérios operacionais de separadores para recursos tais como folga côncava, velocidade do rotor, folga da sapata, ou folga do chanfro; ou controladores para posição, operação ou velocidade do trado.
[0091] De acordo com uma modalidade, exemplos de sensores 112 que podem ser usados com carrinhos de grãos incluem sensores de peso, ou sensores para a posição, operação ou velocidade do trado. De acordo com uma modalidade, exemplos de controladores 114 que po- dem ser usados com carrinhos de grãos incluem controladores para po- sição, operação ou velocidade do trado.
[0092] De acordo com uma modalidade, exemplos de sensores 112 e controladores 114 podem ser instalados em aparelhos de veículos aé- reos não tripulados (UAV) ou "drones". Tais sensores podem incluir câ- meras com detectores eficazes para qualquer faixa de um espectro ele- tromagnético, incluindo luz visível, infravermelho, ultravioleta, infraver- melho próximo (NIR), ou coisa do gênero; acelerômetros; altímetros; sensores de temperatura; sensores de umidade; sensores de tubo de Pitot ou outros sensores de velocidade do ar ou do vento; sensores de vida de bateria; ou emissores de radar e aparelhos de detecção de ener- gia de radar refletida; outros emissores de radiação eletromagnética e aparelhos de detecção de radiação eletromagnética refletida. Esses controladores podem incluir um aparelho de controle ou orientação de motor, controladores de superfície de controle, controladores de câ- mera, ou controladores programados para ligar, operar, obter dados,
gerenciar e configurar qualquer um dos sensores acima citados. Exem- plos são apresentados na Patente dos Estados Unidos N. 14/831.165 e a presente invenção pressupõe o conhecimento desse outro documento de patente citado.
[0093] De acordo com uma modalidade, os sensores 112 e os con- troladores 114 podem ser fixados ao aparelho de medição e amostra- gem de solo que é configurado ou programado para amostrar um solo e realizar testes de química do solo, testes de umidade do solo, e outros testes relativos ao solo. Por exemplo, o aparelho apresentado na Pa- tente dos Estados Unidos N. 8.767.194 e na Patente dos Estados Uni- dos N. 8.712.148 poderá ser usado, e a presente invenção assume o conhecimento desses documentos de patente.
[0094] De acordo com uma modalidade, os sensores 112 e os con- troladores 114 podem compreender dispositivos meteorológicos para o monitoramento das condições meteorológicas dos campos. Por exem- plo, o aparelho apresentado no Pedido de Patente Provisório dos Esta- dos Unidos N. 62/154.207, depositado em 29 de abril de 2015, no Pe- dido de Patente Provisório dos Estados Unidos N. 62/175.160, deposi- tado em 12 de junho de 2015, no Pedido de Patente Provisório dos Es- tados Unidos N. 62/198.060, depositado em 28 de julho de 2015, e no Pedido de Patente Provisório dos Estados Unidos N. 62/220.852, depo- sitado em 18 de setembro de 2015, poderá ser usado, e a presente in- venção pressupõe o conhecimento desses documentos de patente.
[0095] 2.4. VISÃO GERAL DO PROCESSO - TREINAMENTO DE
MODELO AGRONÔMICO
[0096] De acordo com uma modalidade, o sistema de computador de inteligência agrícola 130 é programado ou configurado para criar um modelo agronômico. Neste contexto, um modelo agronômico é uma es- trutura de dados na memória do sistema de computador de inteligência agrícola 130 que compreende dados de campo 106, tais como dados de identificação e dados de colheita para um ou mais campos. O modelo agronômico pode compreender ainda propriedades agronômicas calcu- ladas que descrevem as condições que podem afetar o crescimento de uma ou mais safras em um campo, ou as propriedades de uma ou mais safras, ou ambas as coisas. Além disso, um modelo agronômico pode compreender recomendações com base em fatores agronômicos, tais como recomendações de cultivo, recomendações de irrigação, reco- mendações de plantio, recomendações de fertilizantes, recomendações de fungicidas, recomendações de pesticidas, recomendações de co- lheita e outras recomendações de monitoramento de culturas. Esses fa- tores agronômicos poderão também ser usados no sentido de estimar um ou mais resultados relacionados à cultura, tais como uma produção agronômica. A produção agronômica de uma safra é uma estimativa da quantidade da safra produzida ou, em alguns exemplos, a receita ou lucro obtido com a safra produzida.
[0097] De acordo com uma modalidade, o sistema de computador de inteligência agrícola 130 pode usar um modelo agronômico pré-con- figurado no sentido de calcular propriedades agronômicas relacionadas à localização correntemente recebida e informações de cultura para um ou mais campos. O modelo agronômico pré-configurado se baseia em dados de campo previamente processados, incluindo, mas não se limi- tando a, dados de identificação, dados de colheita, dados de fertilizantes e dados meteorológicos. O modelo agronômico pré-configurado poderá ser validado a fim de garantir a precisão do modelo. Uma validação cru- zada poderá incluir uma comparação com um levantamento de dados em campo que compara os resultados previstos com os resultados reais em um campo, tal como uma comparação de uma estimativa de preci- pitação com um pluviômetro ou sensor de chuva que provê dados me- teorológicos no mesmo local ou em local próximo ou de uma estimativa do teor de nitrogênio com uma medição de amostra de solo.
[0098] A Figura 3 ilustra um processo programado por meio do qual o sistema de computador de inteligência agrícola gera um ou mais mo- delos agronômicos pré-configurados usando os dados de campo provi- dos por uma ou mais fontes de dados. A Figura 3 pode servir como um algoritmo ou instruções para a programação dos elementos funcionais do sistema de computador de inteligência agrícola 130 para realizar as operações que serão descritas a seguir.
[0099] No bloco 305, o sistema de computador de inteligência agrí- cola 130 é configurado ou programado de modo a implementar o pré- processamento dos dados agronômicos dos dados de campo recebidos de uma ou mais fontes de dados. Os dados de 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 de confusão dentro dos dados agronômicos, incluindo as discrepâncias medidas que podem afetar adversamente os valores de dados de campo recebidos. As mo- dalidades de pré-processamento de dados agronômicos podem incluir, mas não estão limitadas a, remover os valores de dados comumente associados a valores de dados discrepantes, os pontos de dados medi- dos específicos que são conhecidos por distorcer desnecessariamente outros valores de dados, a suavização de dados, as técnicas de agre- gação ou amostragem usadas para remover ou reduzir os efeitos aditi- vos ou multiplicativos de um ruído, além de outras técnicas de derivação e filtragem de dados que são usadas no sentido de prover distinções claras entre entradas de dados positivas e negativas.
[00100] No bloco 310, o sistema de computador de inteligência agrí- cola 130 é configurado ou programado de modo a realizar uma seleção de subconjunto de dados usando os dados de campo pré-processados a fim de identificar conjuntos de dados úteis para a geração inicial de modelos agronômicos. O sistema de computador de inteligência agrí-
cola 130 pode implementar técnicas de seleção de subconjunto de da- dos incluindo, mas não se limitando a, um método de algoritmo genético, um método de todos os modelos de subconjunto, um método de busca sequencial, um método de regressão passo a passo, um método de oti- mização de enxame de partículas, e um método de otimização de colô- nia de formigas. Por exemplo, uma técnica de seleção de algoritmo ge- nético usa um algoritmo de pesquisa heurística adaptativa, 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é-pro- cessados.
[00101] No bloco 315, o sistema de computador de inteligência agrí- cola 130 é configurado ou programado de modo a implementar uma avaliação de conjunto de dados de campo. De acordo com uma moda- lidade, um conjunto de dados de campo específico é avaliado criando um modelo agronômico e usando limites de qualidade específicos para o modelo agronômico criado. Os modelos agronômicos podem ser com- parados e/ou validados usando uma ou mais técnicas de comparação, tais como, mas não se limitando a, o erro quadrático médio com valida- ção cruzada leave-one-out (excluindo uma amostra) (RMSECV), o erro absoluto médio, e o erro percentual médio. Por exemplo, o erro RMSECV pode fazer a validação cruzada de modelos agronômicos comparando os valores previstos de propriedade agronômica que são criados pelo modelo agronômico com os valores históricos de proprie- dade agronômica que são coletados e analisados. De acordo com uma modalidade, a lógica de avaliação do conjunto de dados agronômicos é usada como um ciclo de feedback no qual os conjuntos de dados agronômicos que não atendem aos limites de qualidade configurados são usados durante as futuras etapas de seleção de subconjuntos de dados.
[00102] No bloco 320, o sistema de computador de inteligência agrí- cola 130 é configurado ou programado de modo a implementar a criação de modelos agronômicos com base nos conjuntos de dados agronômi- cos validados cruzados. De acordo com uma modalidade, a criação de modelos agronômicos pode implementar técnicas de regressão multiva- riadas a fim de criar modelos de dados agronômicos pré-configurados.
[00103] No bloco 325, o sistema de computador de inteligência agrí- cola 130 é configurado ou programado de modo a armazenar os mode- los de dados agronômicos pré-configurados para uma futura avaliação de dados de campo.
[00104] 2.5. EXEMPLO DE IMPLEMENTAÇÃO - VISÃO GERAL DO
HARDWARE
[00105] De acordo com uma modalidade, as técnicas descritas no presente documento são implementadas por um ou mais dispositivos de computação de uso especial. Os dispositivos de computação de uso es- pecial podem ser conectados para a realização das técnicas, ou podem incluir dispositivos eletrônicos digitais, tais como um ou mais circuitos integrados de aplicação específica (ASIC) ou arranjos de portas progra- máveis em campo (FPGA) que são persistentemente programados para a realização das técnicas, ou podem incluir um ou mais processadores de hardware de uso geral programados para executar as técnicas de acordo com instruções de programa em um firmware, em uma memória, em outro armazenador, ou combinação dos mesmos. Esses dispositivos de computação de uso especial podem também combinar uma lógica de hardware personalizada, circuitos ASIC ou arranjos FPGA com uma programação personalizada a fim de realizar as técnicas. Os dispositi- vos de computação de uso especial podem ser sistemas de computador de mesa, sistemas de computador portátil, dispositivos manuais, dispo- sitivos de rede ou qualquer outro dispositivo que incorpore uma lógica de hardware e/ou uma lógica de programa no sentido de implementar as técnicas.
[00106] Por exemplo, a Figura 4 é um diagrama de blocos que ilustra um sistema de computador 400 no qual uma modalidade da presente invenção pode ser implementada. O sistema de computador 400 inclui um barramento 402 ou outro mecanismo de comunicação para a comu- nicação de informações, e um processador de hardware 404 acoplado ao barramento 402 para o processamento de informações. O processa- dor de hardware 404 pode ser, por exemplo, um microprocessador de uso geral.
[00107] O sistema de computador 400 inclui ainda uma memória prin- cipal 406, tal como uma memória de acesso aleatório (RAM) ou outro dispositivo de armazenamento dinâmico, acoplada ao barramento 402 para o armazenamento de informações e instruções a serem executa- das pelo processador 404. A memória principal 406 pode também ser usada para o armazenamento de variáveis temporárias ou outras infor- mações intermediárias durante a execução de instruções a serem exe- cutadas pelo processador 404. Tais instruções, quando armazenadas em um meio de armazenamento não transitório acessível ao processa- dor 404, tornam o sistema de computador 400 uma máquina de uso es- pecial que é personalizada para a realização das operações especifica- das nas instruções.
[00108] O sistema de computador 400 inclui ainda uma memória so- mente leitura (ROM) 408 ou outro dispositivo de armazenamento está- tico acoplado ao barramento 402 para o armazenamento de informa- ções e instruções estáticas no processador 404. Um dispositivo de ar- mazenamento 410, tal como um disco magnético, um disco óptico ou uma unidade de estado sólido, é provido e acoplado ao barramento 402 para o armazenamento de informações e instruções.
[00109] O sistema de computador 400 pode ser acoplado via barra- mento 402 a um monitor 412, tal como um tubo de raios catódicos
(CRT), para a exibição de informações para um usuário de computador. Um dispositivo de entrada 414, incluindo teclas alfanuméricas e outras teclas, é acoplado ao barramento 402 a fim de comunicar informações e seleções de comando para o processador 404. Outro tipo de disposi- tivo de entrada de usuário é o controle de cursor 416, tal como um mouse, um trackball, ou teclas de direção de cursor para a comunicação de informações de direção e seleções de comando ao processador 404 e para o controle do movimento do cursor no monitor 412. Este disposi- tivo de entrada normalmente tem dois graus de liberdade em dois eixos, um primeiro eixo (por exemplo, o eixo x) e um segundo eixo (por exem- plo, o eixo y), que permite que o dispositivo especifique posições em um plano.
[00110] O sistema de computador 400 pode implementar as técnicas descritas no presente documento usando uma lógica de hardware per- sonalizada, um ou mais circuitos ASIC ou arranjos FPGA, um firmware e/ou uma lógica de programa que em combinação com o sistema de computador programa o sistema de computador 400 para ser (ou faz com que o mesmo seja) uma máquina de uso especial. De acordo com uma modalidade, as técnicas da presente invenção são executadas pelo sistema de computador 400 em resposta ao processador 404 que exe- cuta uma ou mais sequências de uma ou mais instruções contidas na memória principal 406. Tais instruções podem ser lidas na memória prin- cipal 406 a partir de outro meio de armazenamento, tais como o dispo- sitivo 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 no presente documento. De acordo com modalidades alternativas, os circuitos com fio podem ser usados no lugar das ou em combinação com as instruções de software.
[00111] O termo "meio de armazenamento", tal como usado no pre-
sente documento, refere-se a qualquer meio não transitório que arma- zena dados e/ou instruções que fazem com que uma máquina opere de uma maneira específica. Esses meios de armazenamento podem com- preender meios não voláteis e/ou meios voláteis. O meio não volátil in- clui, por exemplo, discos ópticos, discos magnéticos ou unidades de es- tado sólido, tais como o dispositivo de armazenamento 410. O meio vo- látil inclui uma memória dinâmica, tal como a memória principal 406. Formas comuns de meio de armazenamento incluem, por exemplo, um disquete, um disco flexível, um disco rígido, uma unidade de estado só- lido, uma fita magnética ou qualquer outro meio de armazenamento de dados magnético, um CD-ROM, qualquer outro meio de armazena- mento de dados óptico, qualquer meio físico com padrões de furos, uma memória RAM, uma memória PROM, e uma memória EPROM, uma memória FLASH-EPROM, uma memória NVRAM, qualquer outro chip ou cartucho de memória.
[00112] O meio de armazenamento é distinto de, mas poderá ser usado em conjunto com um meio de transmissão. O meio de transmis- são participa da transferência de informações entre os meios de arma- zenamento. Por exemplo, o meio de transmissão inclui cabos coaxiais, fio de cobre e fibra óptica, incluindo os fios que compõem o barramento
402. O meio de transmissão pode também assumir a forma de ondas acústicas ou de luz, tais como aquelas geradas durante uma comunica- ção de dados de ondas de rádio e de dados via infravermelho.
[00113] Várias formas de meio podem estar envolvidas no carrega- mento 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 carregadas em um disco magnético ou na unidade de es- tado sólido de um computador remoto. O computador remoto pode car- regar as instruções em sua memória dinâmica e enviar as mesmas por uma linha telefônica usando um modem. Um modem local para o sis- tema de computador 400 pode receber os dados na linha telefônica e usar um transmissor infravermelho para converter os dados em um sinal infravermelho. Um detector infravermelho pode receber os dados trans- portados no sinal infravermelho e um circuito apropriado poderá colocar os dados no barramento 402. O barramento 402 transporta os dados para a memória principal 406, a partir da qual o processador 404 recu- pera e executa as instruções. As instruções recebidas pela memória principal 406 poderão opcionalmente ser armazenadas no dispositivo de armazenamento 410 antes ou após execução pelo processador 404.
[00114] O sistema de computador 400 inclui ainda uma interface de comunicação 418 acoplada ao barramento 402. A interface de comuni- cação 418 provê um acoplamento de comunicação de dados bidirecio- nais a um link de rede 420 que está conectado a uma rede local 422. Por exemplo, a interface de comunicação 418 pode ser uma placa de rede digital de serviços integrados (ISDN), um modem a cabo, um mo- dem via satélite, ou um modem para prover uma conexão de comunica- ção de dados para um tipo correspondente de linha telefônica. Como outro exemplo, a interface de comunicação 418 pode ser uma placa de rede local (LAN) para prover uma conexão de comunicação de dados a uma rede LAN compatível. Links sem fio podem também ser implemen- tados. Em qualquer uma dessas implementações, a interface de comu- nicação 418 envia e recebe sinais elétricos, eletromagnéticos ou ópticos que transportam fluxos de dados digitais que representam vários tipos de informação.
[00115] O link de rede 420 normalmente provê comunicação de da- dos através de uma ou mais redes a outros dispositivos de dados. Por exemplo, o link de rede 420 pode prover uma conexão através da rede local 422 a um computador host 424 ou a um equipamento de dados operado por um Provedor de Serviços de Internet (ISP) 426. O provedor
ISP 426, por sua vez, provê serviços de comunicação de dados através da rede mundial de comunicação de pacote de dados agora comumente referida como a "Internet" 428. A rede local 422 e a Internet 428 usam sinais elétricos, eletromagnéticos ou ópticos que transportam fluxos de dados digitais. Os sinais através das várias redes e os sinais no link de rede 420 e através da interface de comunicação 418 que transportam os dados digitais para o e do sistema de computador 400 são exemplos de formas de meio de transmissão.
[00116] O sistema de computador 400 pode enviar mensagens e re- ceber dados, inclusive código de programa, através da(s) rede(s), do link de rede 420 e da interface de comunicação 418. No exemplo da Internet, um servidor 430 pode transmitir um código solicitado para um programa aplicativo através da Internet 428, do provedor ISP 426, da rede local 422 e da interface de comunicação 418.
[00117] O código recebido pode ser executado pelo processador 404 à medida que é recebido e/ou armazenado no dispositivo de armazena- mento 410, ou em outro armazenamento não volátil para execução pos- terior.
[00118] 3. SISTEMA PARA A EXECUÇÃO DE ALGORITMOS DE
APRENDIZADO DE MÁQUINA
[00119] De acordo com uma modalidade, um sistema de computador para a execução de algoritmos de aprendizado de máquina compreende um hardware e um software que é programado para a execução de vá- rios modelos baseados em máquina. De acordo com algumas modali- dades, componentes independentes podem ser selecionados, modifica- dos, e agrupados para formar combinações de componentes que são configurados para suportar a execução dos modelos. Os componentes podem ser combinados de modo a formar combinações sequenciais, paralelas ou mistas que podem facilitar a execução dos modelos. Isso poderá ser ilustrado usando o seguinte exemplo: suponha que um repo- sitório de modelos inclua componentes que implementam vários proces- sos para o cultivo de milho, e vários processos para a estimativa de ciclos de crescimento. Além disso, suponha que uma infraestrutura de execução de modelos inclua um conjunto de unidades CPU, um con- junto de unidades de memória, dispositivos de armazenamento, barra- mentos de comunicação, e redes de comunicação. Usando os compo- nentes do repositório de modelos, um agricultor poderá selecionar, ou construir, um modelo que é configurado de modo a determinar a quan- tidade recomendada de nitrogênio para um campo agrícola a fim de ob- ter a maior colheita de milho possível do campo, ou quando e como o campo deve ser fertilizado, ou que tipo de milho deve ser plantado, ou quantos dias pode levar para amadurecer o milho no campo. O agricul- tor poderá prover, ao modelo, dados que especificam informações sobre o solo, o clima e a localização do campo. Então, o produtor poderá soli- citar a execução do modelo na infraestrutura de execução de modelo e sobre a entrada provida para gerar uma saída. A saída pode incluir re- comendações de nitrogênio e tipo de milho para o campo. A saída po- derá também incluir previsões da data de colheita do milho e assim por diante.
[00120] A Figura 7A ilustra um exemplo de plataforma baseada em computador 700 para a execução de algoritmos de aprendizado de má- quina. No exemplo ilustrado, a plataforma 700 inclui um processador de gerenciamento 705, um repositório de modelos 710, uma infraestrutura de execução de modelo 720, e um log de histórico de modelos 730. O processador de gerenciamento 705 poderá ser implementado em qual- quer tipo de dispositivo de computação configurado para receber, pro- cessar, e transmitir dados.
[00121] De acordo com uma modalidade, a infraestrutura 720 inclui um ou mais dispositivos de armazenamento 722, um ou mais computa- dores de sistema em nuvem 723, uma ou mais redes baseadas em nu- vem 724, um ou mais servidores de computador 725, uma ou mais es- tações de trabalho de computador 726, e uma ou mais redes de comu- nicação 727. A infraestrutura de execução de modelo 720 é descrita em detalhes na Figura 8A. Em outras modalidades, a infraestrutura 720 in- cluirá menos ou mais componentes.
[00122] O acesso à plataforma 700 pode ser facilitado por meio de uma ou mais redes de comunicação 740 e um ou mais dispositivos de computação, tais como terminais 750, tablets 752, dispositivos móveis 754, computadores servidores 756, e outros dispositivos de computação (não ilustrados na Figura 7A), tais como dispositivos de armazenamento em nuvem, redes baseadas em nuvem, e assim por diante, configurados para transmitir e receber dados. Em outras modalidades, a plataforma 700 poderá incluir menos ou mais dispositivos.
[00123] De acordo com uma modalidade, a plataforma 700 é configu- rada para catalogar, definir, e organizar vários modelos baseados em máquina, armazenar os mesmos em um repositório 710, executar os mesmos em uma infraestrutura de execução de modelos 720 e registrar os dados de execução dos modelos no log de histórico de modelos 730. A plataforma 700 supera outras plataformas conhecidas na indústria na construção e armazenamento de modelos em termos da provisão de recursos abrangentes e extensivos (descritos abaixo) para o monitora- mento dos modelos, gerenciamento das modificações e execuções dos modelos, além de tornar o histórico e os logs dos modelos disponíveis para os usuários. Por exemplo, a plataforma 700 provê recursos abran- gentes de controle de versões para o rastreamento de versões, modifi- cação, e características de tempo de execução dos modelos, e recursos de catalogação abrangentes para a navegação e consulta dos modelos e suas definições.
[00124] De acordo com uma modalidade, o repositório de modelos 710 é configurado para armazenar e catalogar definições e metadados de modelos baseados em máquina. As definições de um modelo des- crevem as características específicas aos modelos, enquanto os meta- dados associados aos modelos descrevem as características de uso e execução dos modelos.
[00125] De acordo com uma modalidade, a infraestrutura de execu- ção de modelos 720 provê os recursos para abstrair a execução de mo- delos e as entradas de modelos de modo que a infraestrutura 720 possa ser reutilizada para a execução de vários modelos.
[00126] De acordo com uma modalidade, o log de histórico de mode- los 730 é configurado de modo a armazenar logs de histórico de execu- ção dos modelos. Os logs podem ser úteis na reversão das versões mais antigas ou diferentes de um modelo, na execução de diferentes versões do mesmo modelo, e na comparação dos resultados gerados pelas diferentes versões do modelo. O log de histórico de modelos 730 permite o armazenamento de métricas sobre as execuções de vários modelos no mesmo componente ou em diferentes componentes da in- fraestrutura de execução de modelos 720 e em diferentes dados de en- trada. Isso poderá ser útil na realização de uma análise histórica das métricas de tempo de execução, das métricas de precisão esperadas, e das métricas de duração de execução esperadas para os modelos.
[00127] 3.1. EXEMPLO DE REPOSITÓRIO DE MODELOS
[00128] De acordo com uma modalidade, o repositório de modelos 710 é um banco de dados baseado em computador configurado para armazenar informações sobre modelos de aprendizado de máquina. O repositório de modelos 710 pode ser usado para armazenar vários tipos de modelos e vários tipos de informações para cada um dos modelos.
[00129] A Figura 7B ilustra um exemplo de repositório de modelos baseado em computador 710. No exemplo ilustrado, o repositório 710 inclui exemplos de modelos baseados em máquina que podem ser úteis em aplicações agrícolas. O repositório 710 poderá também incluir outros modelos que não estão ilustrados na Figura 7B. Os modelos armazena- dos no repositório 710 podem ser indexados, organizados e categoriza- dos. O índice para os modelos pode ser armazenado em uma estrutura de dados de índice 719, a qual poderá ser organizada usando ponteiros de dados, tabelas de dados, e outros.
[00130] No contexto de aplicações agrícolas, exemplos de modelos baseados em máquina podem incluir modelos de pesquisa operacional 712, modelos de aprendizado de máquina 714, modelos de aprendiza- gem profunda 716, e modelos físicos 718.
[00131] Embora não ilustrado na Figura 7B, os modelos baseados em máquina podem incluir modelos que são específicos para aplicações não agrícolas, tais como modelos de recursos humanos, modelos de faturamento, ou coisa do gênero.
[00132] Os modelos de pesquisa operacional 712 são modelos espe- cializados configurados de modo a processar equações matemáticas complexas para resolver problemas de otimização. Normalmente, os modelos de pesquisa operacional 712 lidam com programação baseada em restrições. Um modelo de pesquisa operacional pode aceitar uma entrada que inclui uma ou mais restrições. Ao receber a entrada, o mo- delo pode executar um algoritmo de otimização a fim de derivar uma solução que otimiza os valores inseridos nas restrições. Um modelo de pesquisa operacional pode ser usado no sentido de otimizar, por exem- plo, uma contagem de funcionários e uma contagem de máquinas robó- ticas em um laboratório de genética que é necessário para o processa- mento de dados relacionados à genética no menor período de tempo possível.
[00133] Os modelos de pesquisa operacional 712 têm uma ampla aplicabilidade na tecnologia agrícola para a otimização de cronogramas de plantio de sementes, otimização de cronogramas de fertilização, e otimização de cronogramas de colheita. Os modelos de pesquisa ope- racional 712 podem também ser aplicáveis em operações de logística e transporte.
[00134] Os modelos de aprendizado de máquina 714 geralmente in- cluem modelos de inteligência artificial ("AI"). Os mesmos são normal- mente usados para aprender os comportamentos de um sistema e, com base nos comportamentos de sistema aprendidos, prever as reações do sistema a novas entradas e dados. Os modelos de aprendizado de má- quina 714 podem ser desenvolvidos e personalizados para sistemas es- pecíficos e tarefas específicas.
[00135] Os modelos de aprendizado de máquina 714 são ampla- mente aplicáveis na tecnologia agrícola. Por exemplo, um modelo de aprendizado de máquina pode ser treinado em um conjunto de fotos de plantas que apresentam algumas doenças de plantas. O treinamento poderá incluir a atribuição de nomes de doenças às fotos. Por exemplo, o treinamento poderá incluir o desenvolvimento de associações entre as características das doenças ilustradas nas fotos e os nomes das doen- ças. Assim que o modelo é treinado, o modelo é implantado e poderá ser usado para o reconhecimento de doenças de plantas ilustradas em fotografias de plantas providas pelo usuário.
[00136] Os modelos de aprendizagem profunda 716 incluem modelos de aprendizado de máquina que são geralmente mais avançados e mais sofisticados que os modelos de aprendizado de máquina 714. Os mo- delos de aprendizagem profunda 716 poderão usar, por exemplo, algo- ritmos de floresta aleatória, algoritmos de regressão linear, algoritmos de rede neural, e outros algoritmos complexos.
[00137] Os modelos físicos 718 são modelos físicos de componentes de software que podem ser executados na infraestrutura de execução de modelos 720. Por exemplo, os modelos físicos 718 podem incluir bi- bliotecas de software, instruções e chamadas programáveis que podem ser combinadas e selecionadas de modo a formar um executável de um modelo em particular, tal como um modelo de pesquisa operacional, um modelo de aprendizado de máquina, ou um modelo de aprendizagem profunda.
[00138] Os modelos armazenados no repositório de modelos 710 são geralmente armazenados em associação às suas respectivas defini- ções e metadados. Cada um dos modelos pode ser associado ao seu próprio conjunto de definições e aos seus próprios metadados. Portanto, cada um dos modelos de pesquisa operacional 712 poderá ter suas pró- prias definições e metadados 712A, cada um dos modelos de aprendi- zado de máquina 714 poderá ter suas próprias definições e metadados 714A, cada um dos modelos de aprendizagem profunda 716 poderá ter suas próprias definições e metadados 716A, e cada um dos modelos físicos 718 poderá ter suas próprias definições e metadados 718A.
[00139] A Figura 7C ilustra exemplos de estruturas de dados manti- das por um repositório de modelos baseado em computador. O exemplo ilustrado mostra um exemplo de estrutura de dados de modelo físico 718B e uma definição e estrutura de metadados 718BB que são asso- ciadas ao modelo físico exemplar 718A (mostrado na Figura 7B). Em- bora a Figura 7C ilustre essas estruturas de dados exemplares apenas para um modelo físico, outros modelos poderão ter estruturas de dados similares armazenadas no repositório de modelos 710.
[00140] Tal como mostrado na Figura 7C, o repositório de modelos 710 pode armazenar, para um modelo físico 718, uma estrutura de da- dos do modelo físico 718A. A estrutura de dados 718A poderá ser usada para armazenar definições e metadados associados ao modelo físico
718.
[00141] A estrutura de dados 718A pode ser usada no sentido de ar- mazenar definições e metadados associados ao modelo físico 718. As definições geralmente pertencem às características estáticas de um mo- delo, enquanto os metadados geralmente pertencem às características relacionadas à execução do modelo. A distinção entre as definições e os metadados pode não ser clara em algumas situações, já que tanto as definições como os metadados podem pertencer, por exemplo, a uma métrica de tempo de execução esperada, ou coisa do gênero. Por exemplo, uma métrica de tempo de execução esperada poderá ser des- crita tanto nas definições como também nos metadados.
[00142] No exemplo ilustrado na Figura 7C, as definições e os meta- dados 718A incluem um nome de modelo, definições de entrada, defini- ções de saída, requisitos de infraestrutura, métrica de tempo de execu- ção, duração de execução esperada, precisão esperada, status (tal como um status de desenvolvimento, um status de teste, ou um status de produção), classificação de modelo, versão de modelo, tipo de mo- delo, e proprietário do modelo. Em outros exemplos, a estrutura de da- dos 718A poderá incluir menos ou mais elementos.
[00143] De acordo com uma modalidade, as definições e os metada- dos 718A incluem artefatos de modelo. Um artefato é um arquivo binário construído para um modelo baseado em máquina e que pode ser exe- cutado a fim de modelar certos comportamentos de sistemas. O arquivo binário é geralmente criado assim que o modelo é treinado nos dados de treinamento. Depois que a fase de treinamento é concluída, o modelo treinado é capturado em um arquivo binário real. O arquivo binário inclui instruções executáveis que, quando executadas por processadores de computador, fazem com que o modelo preveja o comportamento do sis- tema que é consistente com os dados de treinamento. O arquivo binário, ou seja, o artefato, poderá ser implantado na produção, e executado na infraestrutura de execução do modelo 720.
[00144] Os elementos incluídos nas definições e nos metadados 718A para um modelo baseado em máquina podem variar e podem de- pender do tipo de modelo e se o modelo foi executado ou modificado ou não. Por exemplo, as definições e os metadados associados a um mo- delo de aprendizado de máquina geralmente incluirão um tipo específico do modelo, as métricas de qualidade do modelo, e a precisão esperada do modelo. A precisão esperada do modelo poderá ser expressa como uma fração, por exemplo, 95 % ou coisa parecida.
[00145] As estruturas de dados ilustradas na Figura 7C podem ser criadas, consultadas, atualizadas, ou mantidas pelo processador de ge- renciamento 705, ilustrado na Figura 7A.
[00146] O acesso às estruturas de dados mantidas no repositório de modelos 710 pode ser facilitado por meio de uma ou mais redes de co- municação 740 (ilustradas na Figura 7A, mas não na Figura 7C) ou por meio de um ou mais dispositivos de computação, tais como os terminais 750, os tablets 752, os dispositivos móveis 754, os computadores servi- dores 756, além de outros dispositivos de computação configurados para transmitir e receber dados.
[00147] O repositório de modelos 710 pode ser atualizado e modifi- cado. Por exemplo, novos modelos poderão ser adicionados ao reposi- tório de modelos 710, e/ou novas versões dos modelos poderão ser cri- adas e armazenadas no repositório.
[00148] Para a criação de um novo modelo baseado em máquina ou de uma nova versão de modelo, um usuário ou um gerenciador poderá construir o novo modelo a partir dos blocos de construção disponíveis no repositório de modelos 710. Uma vez construído esse modelo, uma definição inicial será criada e armazenada no repositório de modelos 710 para o novo modelo indicar que o novo modelo está sendo desen- volvido. Assim que o novo modelo é submetido a teste, uma outra defi- nição é criada e armazenada no repositório de modelos 710 de modo a indicar que o novo modelo está sendo testado. Assim que o novo mo- delo é implementado na produção, outras definições serão criadas e ar- mazenadas no repositório de modelos 710 para o novo modelo indicar que o novo modelo se encontra em produção. Cada uma das definições poderá ser armazenada em associação ao próprio novo modelo, inde- xada usando, por exemplo, o índice 719 (mostrado na Figura 7B), e tor- nada disponível para consulta e geração de relatórios.
[00149] Assim que o novo modelo é preparado para execução, outra definição será criada e armazenada no repositório de modelos 710 de modo a indicar, por exemplo, uma duração de execução esperada, uma precisão esperada, além de requisitos de infraestrutura de execução.
[00150] Assim que o novo modelo é submetido à execução, metada- dos serão criados e armazenados no repositório de modelos 710 para que o modelo possa indicar, por exemplo, métricas de tempo de execu- ção, dados de status, indicadores de status, ou coisa do gênero. Além disso, um log de execução para o novo modelo é criado e armazenado no banco de dados de log de histórico de modelos 730.
[00151] Quando o novo modelo é executado em novos dados de en- trada, novos metadados são criados e armazenados no repositório de modelos 710 para que o modelo indique novas métricas de tempo de execução, dados de status, indicadores de status ou coisa do gênero. Além disso, um novo log de execução para o modelo é criado e arma- zenado no banco de dados de log de histórico de modelos 730.
[00152] O processo é repetido toda vez que um modelo é criado, mo- dificado, executado, ou consultado. Ao longo do tempo, o repositório de modelos 710, a infraestrutura de execução de modelos 720, e o banco de dados de log de histórico de modelos 730 se tornam um armazém central que cientistas, pesquisadores e profissionais do setor agrícola podem expandir e testar, e que os produtores podem usar e comparar.
[00153] A Figura 7D ilustra um fluxograma exemplar para a constru- ção, o armazenamento e a catalogação de um modelo baseado em má- quina. O exemplo é provido tão somente com a finalidade de ilustrar uma dentre as muitas maneiras de incorporar o modelo no repositório 710 e uma dentre as muitas maneiras de integrar o modelo à plataforma
700. O processo ilustrado pode ser executado por qualquer processador baseado em computador, incluindo o processador de gerenciamento 705, tal como ilustrado na Figura 7A.
[00154] Na etapa 780, um processador baseado em computador re- cebe uma solicitação para armazenar um modelo baseado em máquina. O pedido pode ser recebido de qualquer um dos dispositivos terminais, por exemplo, dos dispositivos 750-756, ilustrados nas Figuras 7A e 7C.
[00155] Na etapa 782, o processador analisa a solicitação e identifica o artefato de modelo e as informações sobre o modelo. O artefato pode ser provido na própria solicitação; alternativamente, a solicitação poderá incluir um hiperlink que aponta para um espaço de armazenamento no qual o artefato está armazenado, e a partir do qual o artefato poderá ser recuperado pelo processador. De maneira similar, as informações sobre o modelo poderão ser incluídas na própria solicitação, ou a solicitação poderá incluir um hiperlink que aponta para um espaço de armazena- mento a partir do qual o processador pode recuperar as definições e os metadados para o modelo.
[00156] Na etapa 784, o processador determina as entradas para o modelo. As entradas e as saídas podem ser providas por um usuário. De maneira alternativa, um hiperlink poderá ser provido que aponta para um espaço de armazenamento a partir do qual as entradas / saídas po- dem ser recuperadas. As entradas podem incluir valores de entrada es- pecíficos que, quando providos ao modelo, são processados de modo a gerar valores de saída, as entradas podendo incluir, por exemplo, infor- mações sobre o solo, o clima, e a localização de um campo agrícola, e assim por diante. As saídas podem incluir uma solicitação de provisão de recomendações para um tipo de fertilizante que, se aplicado no campo, permitiria se obter o resultado de uma produção máxima no campo.
[00157] Na etapa 788, o processador determina os requisitos de in- fraestrutura para a execução do modelo. Os requisitos já podem ser pro- vidos nas definições associadas ao modelo. De maneira alternativa, os requisitos poderão ser obtidos no repositório de modelos 710 que já ar- mazena os registros para o modelo, ou armazena os registros de dados para modelos similares. Os requisitos podem incluir especificações de CPU, requisitos de memória, requisitos de armazenamento, ou coisa do gênero.
[00158] Na etapa 790, o processador determina o status, a versão, a precisão esperada, e o tempo de execução estimado para o modelo. Essas informações já poderão estar disponíveis nas definições associ- adas ao modelo. Alternativamente, as informações poderão ser obtidas no repositório de modelos 710 que já armazena os registros para o mo- delo ou armazena os registros para modelos similares.
[00159] Na etapa 792, o processador gera ou atualiza as definições e os metadados para o modelo e armazena as definições atualizadas e os metadados em associação ao modelo no repositório de modelos 710.
[00160] Na etapa 794, o processador associa o artefato de modelo às definições e metadados do modelo. Por exemplo, o processador pode criar a estrutura de dados de modelo físico 718A para o modelo. A estrutura de dados 718A é descrita na Figura 7C.
[00161] Na etapa 795, o processador armazena, no repositório de modelos 710, a associação entre o artefato de modelo e as definições e metadados para o modelo.
[00162] Na etapa 796, o processador cria, ou atualiza, um registro do banco de dados de logs de histórico de modelos 730 para o modelo.
Isso pode incluir a verificação se um registro para o modelo já foi criado e, em caso afirmativo, a atualização do registro com as informações in- cluídas nas definições e metadados. No entanto, se o registro para o modelo não tiver sido criado, nesse caso o processador poderá criar o registro no banco de dados de log de repositório de modelos 730 e ar- mazenar as definições e metadados para o modelo no registro.
[00163] Quando, na etapa 797, o processador recebe uma nova soli- citação, nesse caso o processador seguirá para a etapa 782 a fim de processar a nova solicitação. Caso contrário, o processador finaliza a execução na etapa 799.
[00164] 3.2. EXEMPLO DE INFRAESTRUTURA DE EXECUÇÃO DE
MODELO
[00165] A Figura 8A ilustra um exemplo de infraestrutura de execu- ção de modelo baseada em computador 720 para a execução de algo- ritmos de aprendizado de máquina.
[00166] De acordo com uma modalidade, a infraestrutura 720 é uma coleção de componentes de hardware e software que podem ser com- binados ou usados individualmente no sentido de facilitar a execução dos modelos baseados em máquina armazenados no repositório de mo- delos 710. A infraestrutura 720 pode incluir, por exemplo, processado- res de computador, unidades de memória, caches, barramentos de co- municação, e instruções programadas por computador que de maneira colaborativa provêem plataformas de execução para a execução dos modelos. As instruções programadas por computador podem incluir ins- truções de sistemas operacionais, chamadas de sistema, interfaces de programação de aplicativos de plataforma cruzada, bibliotecas de pro- gramação, e assim por diante.
[00167] A infraestrutura 720 pode ser acessível por meio de qualquer tipo de dispositivos de computação. No exemplo ilustrado, a infraestru- tura 720 é acessível a um usuário 102 a partir de um dispositivo móvel
754. O dispositivo móvel 754 pode ser configurado de modo a estabe- lecer sessões de comunicação e se comunicar (808) com vários com- ponentes da infraestrutura 720, bem como se comunicar (810) com má- quinas físicas 1102 e se comunicar (816) com o repositório de modelos 710 e com o banco de dados de log de histórico de modelos 730. A infraestrutura 720 pode prover (812) recomendações para o dispositivo móvel 754. A infraestrutura 720 pode ainda ser configurada de modo a prover (814) instruções para as máquinas 1102, tais como tratores, cei- feiras debulhadoras, plantadeiras, semeadoras, ou coisa do gênero.
[00168] De acordo com uma modalidade, o usuário 102 provê en- trada para a infraestrutura 720 de modo a fazer com que a infraestrutura 720 derive recomendações agrícolas para um campo baseado na en- trada, de modo a fazer com que a infraestrutura 720 transmita as reco- mendações ao usuário 102 e/ou transmita as recomendações direta- mente para a máquina agrícola 1102 a fim de fazer com que a máquina 1102 cultive o campo de acordo com as recomendações obtidas da in- fraestrutura 720. Por exemplo, ao receber uma solicitação do usuário 102 para recomendações agrícolas para um campo, o dispositivo móvel 754 comunicará (808) a solicitação para a infraestrutura de execução de modelo 720, e a infraestrutura 720 selecionará um modelo de má- quina específica, ou permitirá que o usuário 102 selecione um modelo de máquina específica do repositório de modelos 710. Assim que a exe- cução do modelo de máquina específica é finalizada e as recomenda- ções são geradas, a infraestrutura transmitirá (814) as recomendações diretamente para a máquina 1102 e transmitirá (812) as recomendações diretamente para o dispositivo móvel 754. Ao receber as recomenda- ções da infraestrutura 720, um computador implementado na máquina 1102 usará as recomendações no sentido de gerar instruções e fará com que a máquina 1102 execute as instruções para o cultivo do campo.
A comunicação (808) da solicitação para a infraestrutura 720, a comu- nicação (814) das recomendações para a máquina 1102, e a comunica- ção (812) das recomendações para o dispositivo móvel 754 poderão ser realizadas em tempo real.
[00169] Os usuários podem também acessar a infraestrutura 720 através dos terminais 750, dos tablets 752, dos computadores servido- res 756 (mostrados na Figura 7A, mas não ilustrados na Figura 8A), e de outros dispositivos de computação configurados para transmitir e re- ceber dados.
[00170] De acordo com uma modalidade, a infraestrutura 720 inclui um ou mais dispositivos de armazenamento 722, um ou mais computa- dores de sistema em nuvem 723, uma ou mais redes baseadas em nu- vem 724, um ou mais servidores de computador 725, uma ou mais es- tações de trabalho de computador 726, e uma ou mais redes de comu- nicação 727. Os dispositivos 722-723, 725 e 726 podem incluir um ou mais processadores de computador, uma ou mais unidades de memó- ria, um ou mais caches, e um ou mais barramentos de comunicação. Os processadores incluídos nos dispositivos 722-723, 725 e 726 podem va- riar e apresentar diferentes capacidades de processamento. De maneira similar, as unidades de memória incluídas nos dispositivos 722-723, 725 e 726 podem variar e ter diferentes capacidades de armazenamento e processamento.
[00171] Cada um dos dispositivos 722-723, 725 e 726 pode armaze- nar instruções programadas por computador que, quando executadas em processadores de computador, fazem com que os processadores executem os modelos de aprendizado de máquina armazenados no re- positório de modelos 710. Além disso, cada um dos dispositivos 722- 723, 725 e 726 pode armazenar instruções programadas por computa- dor que, quando executadas em processadores de computador, fazem com que os processadores armazenem informações sobre os modelos no repositório de modelos 710 e armazenem informações sobre a exe- cução dos modelos no banco de dados de log de histórico de modelos
730.
[00172] Os dispositivos 722-723, 725 e 726 podem ser dispositivos de computação autônomos. De maneira alternativa, alguns ou todos os dispositivos 722-723, 725 e 726 podem ser implementados como siste- mas distribuídos. Os sistemas distribuídos podem fazer parte da rede em nuvem 724, e os componentes dos sistemas distribuídos podem se comunicar uns com os outros por meio de uma ou mais redes de comu- nicação 727.
[00173] De acordo com uma modalidade, a infraestrutura de execu- ção de modelo 720 inclui componentes configurados de modo a estabe- lecer comunicações com outros sistemas não ilustrados na Figura 8A. Por exemplo, o servidor 725 pode ser configurado para estabelecer co- nexões de comunicação com um sistema GPS (não ilustrado na Figura 8A) a fim de obter informações de posicionamento geográfico que po- derão ser usadas como entrada para um modelo de aprendizado de má- quina. Assim que o servidor 725 estabelece uma conexão de comunica- ção com, por exemplo, um sistema GPS baseado em satélite (não ilus- trado na Figura 8A), o servidor 725 poderá rastrear as posições e os movimentos de um dispositivo móvel 754 que o usuário 102 esteja usando. O servidor 725 poderá também rastrear as posições e os movi- mentos do trator 1102 à medida que o trator 1102 atravessa um campo agrícola e planta sementes no campo.
[00174] Os componentes da infraestrutura de execução do modelo 720 podem incluir componentes genéricos, componentes personaliza- dos, ou ambos os componentes genéricos e personalizados. Os com- ponentes podem ser usados e reutilizados de modo a prover platafor- mas de execução a fim de executar ou reexecutar vários modelos.
[00175] Quando possível, alguns componentes poderão ser inter- cambiáveis. Por exemplo, se a execução de um modelo em um proces- sador dual core não atender ao requisito de tempo de execução espe- rado, outro processador, tal como um processador quad core, poderá ser selecionado e usado para a execução do modelo na esperança de que o uso do processador quad core encurte o tempo de execução do modelo.
[00176] A Figura 8B ilustra um fluxograma exemplar para a seleção e execução de um modelo de aprendizado de máquina exemplar. O exemplo é provido tão somente para ilustrar uma dentre as muitas ma- neiras de se selecionar uma infraestrutura de execução para um modelo baseado em máquina, executar o modelo na infraestrutura selecionada, e fazer uso da saída gerada pela execução do modelo. A saída gerada pela execução do modelo pode ser usada para, por exemplo, controlar uma máquina agrícola, tal como o trator 1102 mostrado na Figura 8A. O processo ilustrado poderá ser executado por qualquer processador ba- seado em computador, incluindo o processador de gerenciamento 705, ilustrado na Figura 7A.
[00177] Na etapa 880, um processador baseado em computador re- cebe uma solicitação para navegar pelos modelos de aprendizado de máquina armazenados no repositório de modelos 710. A solicitação pode ser recebida, por exemplo, do dispositivo móvel 754 que é operado pelo usuário 102. O usuário 102 pode ser um cientista que desenvolve e testa os modelos, ou um agricultor que deseja saber quais sementes ele deve plantar em seus campos a fim de obter uma alta produção nos campos.
[00178] Na etapa 882, o processador gera e exibe informações sobre os modelos de aprendizado de máquina que foram armazenados no re- positório de modelos 710. Esta operação pode incluir um acesso ao re-
positório de modelos 710, a recuperação das informações sobre os mo- delos do repositório, a geração de uma representação gráfica da infor- mação recuperada, e o envio da representação gráfica para o disposi- tivo móvel 754.
[00179] Em algumas situações, a solicitação recebida poderá prover algumas informações que o processador poderá usar para limitar as in- formações sobre os modelos que devem ser recuperados do repositório de modelos 710. Por exemplo, a solicitação poderá especificar que o usuário deseja ver apenas os modelos de pesquisa operacional ou ape- nas os modelos de aprendizagem profunda. De acordo com outro exem- plo, a solicitação poderá especificar que o usuário deseja ver apenas os modelos que foram construídos ou atualizados após uma determinada data, ou que foram construídos especialmente para o processamento de consultas relacionadas ao milho.
[00180] Na etapa 884, o processador recebe uma seleção de um mo- delo a partir de um menu ou uma lista de modelos disponíveis ao usuá- rio. A seleção pode indicar o modelo ao prover o nome do modelo, o identificador, ou qualquer outro tipo de identificação.
[00181] Na etapa 886, o processador determina os requisitos de in- fraestrutura para a execução do modelo selecionado. Os requisitos po- dem especificar, por exemplo, o tipo de unidade CPU que deve ser usado para a execução do modelo selecionado, ou o espaço de arma- zenamento que precisa ser alocado para a execução do modelo seleci- onado. Os requisitos para o modelo podem ser recuperados do reposi- tório de modelos 710, ou mais especificamente dos metadados armaze- nados no repositório de modelos 710, conforme associado ao modelo selecionado.
[00182] De acordo com outro exemplo, os requisitos podem ser ex- traídos da própria solicitação. Por exemplo, a solicitação pode especifi-
car que o modelo selecionado precisa ser executado em um processa- dor quad core e que a saída gerada pela execução do modelo selecio- nado precisa ser provida para o trator 1102.
[00183] Além disso, nesta etapa, o processador pode gerar uma re- presentação gráfica dos requisitos de infraestrutura e poderá transmitir a representação gráfica para o dispositivo móvel 754.
[00184] Na etapa 888, o processador determina, ou recupera, as de- finições e metadados para o modelo selecionado. Esta operação poderá incluir o acesso às definições e aos metadados armazenados no repo- sitório de modelos 710 para o modelo selecionado e a recuperação das definições e metadados armazenados. As definições poderão ser usa- das no sentido de determinar, por exemplo, uma versão do modelo se- lecionado, as definições de entrada, as definições de saída, o tipo de modelo, a classificação de modelo, ou coisa do gênero.
[00185] Além disso, nesta etapa, o processador gera uma represen- tação gráfica das definições e metadados para o modelo selecionado e transmite a representação gráfica para o dispositivo móvel 754. A repre- sentação gráfica pode incluir, por exemplo, informações dos tipos de entradas que poderão ser providos para o modelo, e os tipos de saídas que o modelo poderá gerar.
[00186] Na etapa 890, o processador recebe a entrada a ser usada para a execução do modelo selecionado. A entrada pode incluir, por exemplo, valores específicos que o modelo pode aceitar. Os valores es- pecíficos podem incluir informações de tipo de solo para um campo agrí- cola, informações de localização geográfica para o campo, o tipo de cul- tura que deve ser plantada no campo, ou coisa do gênero.
[00187] Se a entrada recebida atender às definições de entrada in- cluídas na estrutura de dados de definição salva para o modelo seleci- onado no repositório de modelos 710, nesse caso o processador pros- seguirá para a execução da etapa 892. Caso contrário, o processador poderá repetir a etapa 888 e exibir novamente as definições de entrada das entradas que o modelo selecionado aceita.
[00188] Se, na etapa 892, o processador recebe uma indicação ou um pedido para a execução do modelo selecionado usando a entrada provida, nesse caso o processador prossegue para a execução da etapa
894. Caso contrário, o processador prosseguirá para a execução da etapa 896.
[00189] Na etapa 894, o processador inicia a execução do modelo selecionado na infraestrutura de modelo usando a entrada. Assim que a execução do modelo é concluída, o modelo gera informações de sa- ída, que são referidas no presente documento como saída. A saída pode incluir, por exemplo, recomendações que tratam da solicitação recebida na etapa 880. Por exemplo, se a solicitação foi para recomendações de semeadura, nesse caso a saída poderá prover, como as recomenda- ções, o tipo de sementes que é recomendado para o campo agrícola, e o momento de plantar a semente a fim de obter a mais alta produção. As recomendações podem também incluir instruções para o plantio das sementes, tais como instruções de espaçamento para o plantio das mesmas.
[00190] Na etapa 895, o processador transmite a saída para, por exemplo, o dispositivo móvel 754. A saída pode também ser transmitida para um computador ou controlador que controla uma máquina mecâ- nica, tal como o trator 1102. Por exemplo, se a saída incluir instruções de plantio de sementes para plantar as sementes usando uma semea- dora agrícola, nesse caso a saída poderá ser diretamente transmitida para um controlador instalado na semeadora a fim de ajustar o espaça- mento entre os tubos de disposição de sementes antes que a semea- dora inicie o processo de semeadura.
[00191] Se, na etapa 896, o processador determina que uma solicita- ção para modificar as entradas para o modelo é recebida, nesse caso o processador prosseguirá para a execução da etapa 890. Caso contrário, o processador prossegue para a execução da etapa 897.
[00192] Se, na etapa 897, o processador determinar que uma solici- tação para selecionar um modelo diferente é recebida, nesse caso o processador prosseguirá para a execução da etapa 898; caso contrário, o processador para a execução da etapa 899.
[00193] Na etapa 898, o processador recebe uma seleção de outro modelo e, em seguida, prossegue para a execução da etapa 886, na qual o processador determina os requisitos de infraestrutura para o mo- delo recém-selecionado.
[00194] O processo é repetido cada vez que o processador recebe uma solicitação para selecionar e executar um modelo baseado em má- quina. As solicitações podem ser enviadas pelos cientistas que, por exemplo, desenvolvem e testam novos modelos baseados em máqui- nas, e que desenvolvem e aprimoram a plataforma 700. As solicitações podem também ser recebidas dos produtores que, por exemplo, buscam recomendações para melhorar suas práticas agrícolas para seus cam- pos.
[00195] 3.3. EXEMPLO DE LOG DE HISTÓRICO DE MODELOS
[00196] De acordo com uma modalidade, o log de histórico de mode- los 730 é usado para armazenar entradas e saídas específicas para a execução de modelos baseados em máquina. Por exemplo, quando um módulo de aprendizagem profunda é adicionado ao repositório de mo- delos 710, um registro será criado no log de histórico de modelos 730 para o modelo. As entradas que o modelo é configurado para aceitar e as saídas que o modelo pode gerar são armazenadas no registro do log de histórico de modelos 730. Quando o módulo é subsequentemente executado, os valores reais de entrada e os valores reais de saída são adicionados ao registro armazenado no log de histórico de modelos 730 para o modelo. Além disso, quando o modelo é executado com outros valores de entrada, os novos valores de entrada reais e os novos valo- res de saída reais serão adicionados ao registro armazenado no log de histórico de modelos 730 para o modelo.
[00197] Em resultado, um registro armazenado no log de histórico de modelos 730 para um modelo é um registro agregado de todas as en- tradas e todas as saídas que foram usadas e geradas ao se executar o modelo na plataforma 700. Os registros gerados e armazenados para todos os modelos formam o log de histórico de modelos 730.
[00198] De acordo com uma modalidade, os registros armazenados no log de histórico de modelos 730 para um modelo são agregados, recuperáveis, pesquisáveis, e modificáveis.
[00199] De acordo com uma modalidade, os registros armazenados em um histórico de modelos 730 para todos os modelos são agregados, recuperáveis, pesquisáveis e modificáveis. Os registros agregados po- dem ser, por exemplo, pesquisáveis para saídas específicas, recomen- dações específicas, datas específicas, ou coisa do gênero. Além disso, os registros agregados podem ser submetidos a uma análise complexa a fim de determinar se a versão mais recente de um modelo específico tem um desempenho melhor do que as versões mais antigas do modelo.
[00200] 4. CONSIDERAÇÕES DE ESCALABILIDADE
[00201] De acordo com uma modalidade, uma abordagem provê uma ampla gama de opções de escalabilidade. Por exemplo, a abordagem permite determinar uma plataforma de infraestrutura de execução para um modelo, e uma ou mais plataformas de infraestrutura de execução alternativas nas quais o modelo poderá também ser executado. Pode- se especificar que uma plataforma de infraestrutura de execução mí- nima para um modelo específico pode incluir, por exemplo, uma unidade CPU dual, um cartão de memória de 32 GB, um cartão TransFlash de 16 MB, e um espaço de armazenamento em disco de 500 GB. No en-
tanto, será possível especificar também que uma plataforma de infraes- trutura de execução alternativa para o modelo poderá incluir um sistema de nuvem distribuída, equipado com unidades CPU mais robustas e com mais espaço de armazenamento.
[00202] A escalabilidade pode também se referir ao uso da mesma plataforma de infraestrutura de execução para a execução de mais de um modelo baseado em máquina ao mesmo tempo. Por exemplo, um sistema de nuvem distribuída que inclui, entre outras coisas, supercom- putadores distribuídos, poderá ser usado para a execução de dois ou mais modelos baseados em máquina simultaneamente ou em paralelo, uma vez que tal sistema geralmente provê recursos computacionais e de armazenamento massivos.
[00203] De acordo com uma modalidade, a plataforma 700 descrita no presente documento permite que os cientistas desenvolvam e entre- guem uma variedade de soluções baseadas em modelo escaláveis, am- plamente acessíveis, e facilmente pesquisáveis e modificáveis.
[00204] De acordo com uma modalidade, o repositório de modelos 710 é aprimorado e expandido. Por exemplo, recursos adicionais são adicionados ao repositório de modelos 710 a fim de melhorar a capaci- dade de pesquisa e a aplicabilidade do repositório. Além disso, o pro- cesso desde o desenho do repositório até a implantação do repositório é otimizado de modo que a duração de tempo entre o desenho e a im- plantação seja relativamente curta. O repositório de modelos 710 po- derá também ser expandido ao se adicionar novos modelos e novas versões de modelos já adicionados.
[00205] Os aperfeiçoamentos podem incluir ainda aperfeiçoamentos à infraestrutura de execução de modelo 730. Os aperfeiçoamentos po- dem incluir adições de novos componentes de hardware, novos compo- nentes de software, e a adição de tecnologias do estado da arte.
[00206] Os aprimoramentos podem incluir aperfeiçoamentos no sen- tido de aprimorar a experiência do usuário. Esse aprimoramento inclui a adição de interfaces sofisticadas, interfaces gráficas de usuário inteli- gentes, além de outras ferramentas para ajudar os usuários a navegar, usar, e modificar a plataforma 700. Esse aprimoramento poderá incluir ainda a adição de uma geração automática de novos modelos ou uma geração automática de novas versões de modelos já existentes.
[00207] Os aprimoramentos podem incluir ainda modificações aos desenhos do repositório de modelos 710, à infraestrutura de execução de modelo 720, como também ao log de histórico de modelos 730. Os repositórios podem ser desenhados de modo a prover uma fácil acessi- bilidade aos modelos e uma organização e categorização eficientes dos modelos.
[00208] Os aprimoramentos podem incluir ainda aperfeiçoamentos no sentido de desenhar a plataforma 700 como um sistema pronto para uso que seja robusto o suficiente para atender a um amplo espectro de expectativas e demandas. O sistema pronto para uso pode incluir com- ponentes avançados que aproveitam os novos avanços tecnológicos à medida que os mesmos se tornam disponíveis.
[00209] 5. EXEMPLO DE IMPLEMENTAÇÕES
[00210] A Figura 9 ilustra um diagrama exemplar para uma interface de usuário para a execução de algoritmos de aprendizado de máquina. De acordo com uma modalidade, a plataforma 700 é acessível a partir de um dispositivo de usuário 901 que é configurado com uma interface gráfica de usuário 910.
[00211] A interface gráfica de usuário 910 é gerada de modo a prover interatividade com a plataforma 700. A interface gráfica de usuário 910 pode ser usada para facilitar a entrada de uma consulta na plataforma 700, e a obtenção, por parte da plataforma 700, de uma resposta à con-
sulta. A interface gráfica de usuário 910 pode ser um componente se- parado da plataforma 700, tal como ilustrado na Figura 9. De maneira alternativa, a interface gráfica de usuário 910 poderá fazer parte da pla- taforma 700.
[00212] De acordo com uma modalidade, a interface gráfica de usu- ário 910 é configurada de modo a gerar e exibir objetos gráficos que podem ser usados para a provisão de consultas à plataforma 700. As consultas podem incluir solicitações para navegação (920) em um repo- sitório de modelos 710, navegação em um log de histórico de modelos 720, solicitação de informações sobre os modelos armazenados no re- positório de modelos 710, modificação (940) das solicitações enviadas para a plataforma 700, solicitação (960) de execução de um modelo es- pecífico da infraestrutura de execução de modelos 720, e assim por di- ante.
[00213] A interface gráfica de usuário 910 pode também ser configu- rada para receber e exibir respostas às consultas. As respostas incluem, por exemplo, uma resposta 930 a uma solicitação de navegação, uma resposta 950 a uma solicitação de modificação, e/ou uma resposta 970 a uma solicitação de execução.
[00214] De acordo com uma modalidade, a interface gráfica de usu- ário 910 é configurada de modo a comunicar as consultas recebidas para a plataforma 700 e, ao receber as respostas às consultas, comuni- car as respostas recebidas aos solicitantes.
[00215] A interface gráfica de usuário 910 pode ser configurada para receber, a partir da plataforma 700, várias recomendações, instruções, e notificações, e exibir as recomendações / instruções / notificações em dispositivos de vídeo. Por exemplo, a interface de usuário gráfica 910 pode ser configurada de modo a receber as recomendações que são geradas por meio da execução de um modelo na infraestrutura de exe- cução de modelo 720, e que indicam a estratégia recomendada para um campo agrícola. As recomendações podem ser exibidas em um dispo- sitivo de vídeo, tal como em um dispositivo móvel 754. De acordo com uma modalidade, as recomendações podem também ser transmitidas para um computador ou controlador que controla um equipamento agrí- cola, tal como uma semeadora, uma ceifeira debulhadora, uma colhei- tadeira, ou um arado.
[00216] 6. BENEFÍCIOS DE CERTAS MODALIDADES
[00217] De acordo com uma modalidade, uma abordagem e uma fer- ramenta usam uma plataforma baseada em computador para o arma- zenamento, catalogação e execução de modelos baseados em má- quina. A plataforma provê uma base de computador para a catalogação de definições genéricas e metadados dos modelos, para o armazena- mento dos modelos em um repositório, e para a navegação e seleção dos modelos do repositório.
[00218] De acordo com uma modalidade, uma abordagem para a execução de algoritmos de aprendizado de máquina provê funcionalida- des para a personalização de modelos agrícolas, para a catalogação, manutenção e gerenciamento de um grande número de modelos perso- nalizados, além de facilitar a execução dos modelos para a provisão de recomendações aos produtores agrícolas.
[00219] De acordo com uma modalidade, uma plataforma para o ar- mazenamento, execução e catalogação de modelos baseados em má- quina inclui um repositório de modelos, uma infraestrutura de execução de modelo, e um log de histórico de modelos. O repositório de modelos é um repositório de dados digitais baseado em computador configurado para armazenar modelos. A infraestrutura de execução de modelo inclui componentes de hardware e/ou software que coletivamente provêem uma plataforma para a execução de modelos baseados em máquina. O log de repositório de modelos é um log digital baseado em computador que contém informações sobre a execução de modelos baseados em máquina
[00220] De acordo com uma modalidade, uma abordagem para a execução de algoritmos de aprendizado de máquina é implementada para aplicações agrícolas. A abordagem pode permitir, por exemplo, que um agricultor navegue pelos modelos armazenados em um reposi- tório de modelos, selecione um modelo do repositório, provenha entrada para o modelo selecionado, use a entrada provida, e inicie a execução do modelo selecionado em uma infraestrutura de modelo a fim de gerar recomendações para o produtor.
[00221] 7. EXTENSÕES E ALTERNATIVAS
[00222] No relatório descritivo acima, modalidades foram descritas com referência a inúmeros detalhes específicos que poderão variar de implementação para implementação. O relatório descritivo e os dese- nhos, por conseguinte, devem ser considerados em um sentido ilustra- tivo e não restritivo. O único e exclusivo indicador do âmbito de aplica- ção da presente invenção, e o que os requerentes pretendem como o âmbito de aplicação da presente invenção, é o literal e equivalente âm- bito do conjunto de reivindicações decorrentes do presente pedido, na forma específica na qual tais reivindicações são apresentadas, incluindo qualquer correção subsequente.

Claims (20)

REIVINDICAÇÕES
1. Método de processamento de dados implementados por computador que provê um aperfeiçoamento na execução de processos de aprendizado de máquina nos dados digitais que representam propri- edades físicas relacionadas à agricultura, caracterizado pelo fato de que compreende as etapas de: - receber, a partir de um dispositivo de computação, uma so- licitação para navegar por modelos de aprendizado de máquina arma- zenados em um repositório de modelos digitais; - recuperar, a partir do repositório de modelos digitais, e transmitir para o dispositivo de computação informações sobre os mo- delos de aprendizado de máquina armazenados no repositório de mo- delos digitais; - receber, a partir do dispositivo de computação, uma sele- ção, dentre os modelos de aprendizado de máquina, de um modelo es- pecífico, e receber uma entrada específica para o modelo específico; - usar os recursos disponíveis em uma plataforma de infra- estrutura de execução de modelo, executar o modelo específico na en- trada específica para gerar uma saída específica; - transmitir a saída específica para um computador configu- rado em uma máquina agrícola a fim de controlar a máquina agrícola à medida que a máquina agrícola executa tarefas agrícolas em um campo agrícola.
2. Método, de acordo com a reivindicação 1, caracterizado pelo fato de compreender ainda as etapas de: - transmitir a saída específica para o dispositivo de computa- ção; - determinar se qualquer modificação na entrada específica para o modelo específico é solicitada; - em resposta ao recebimento de uma indicação de que uma modificação na entrada específica é solicitada, receber uma entrada modificada para o modelo específico, e executar o modelo específico na entrada modificada para gerar saídas específicas modificadas, e trans- mitir a saída específica modificada para o dispositivo de computação.
3. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que as informações sobre os modelos de aprendizado de máquina armazenados no repositório de modelos digitais incluem arte- fatos e definições de modelo e metadados associados aos artefatos de modelo; - em que os artefatos de modelo incluem um ou mais dentre: artefatos de modelo de pesquisa operacional, artefatos de modelo de aprendizado de máquina, artefatos de modelo de aprendizagem pro- funda de máquina ou artefatos de modelo físico; - em que uma definição e metadados associados a um arte- fato de modelo específico incluem um ou mais dentre: nome do modelo, definições de entrada, definições de saída, requisitos de infraestrutura, métrica de tempo de execução, duração de execução esperada, preci- são esperada, informações de status, classificação de modelo, versão de modelo, tipo de modelo, ou nome do proprietário do modelo.
4. Método, de acordo com a reivindicação 1, caracterizado pelo fato de compreender ainda as etapas de: - receber uma solicitação para armazenar um modelo de aprendizado de máquina; - analisar a solicitação e identificar um artefato de modelo e informações sobre o modelo de aprendizado de máquina; - determinar a entrada e a saída para o modelo de aprendi- zado de máquina; - determinar os requisitos de infraestrutura para a execução do modelo de aprendizado de máquina; - armazenar os requisitos de infraestrutura para o modelo de aprendizado de máquina no repositório de modelos digitais; - determinar definições e metadados para o modelo de aprendizado de máquina; - associar as definições e metadados ao modelo de aprendi- zado de máquina; - armazenar o modelo de aprendizado de máquina em asso- ciação às definições e metadados no repositório de modelos digitais.
5. Método, de acordo com a reivindicação 4, caracterizado pelo fato de compreender ainda as etapas de: criar um registro para o modelo de aprendizado de máquina e armazenar o registro em um log de histórico de modelos; em que o registro para o modelo de aprendi- zado de máquina inclui um ou mais dentre: uma entrada para a execu- ção do modelo de aprendizado de máquina, uma saída para a execução do modelo de aprendizado de máquina, ou informações específicas à execução do modelo de aprendizado de máquina.
6. Método, de acordo com a reivindicação 5, caracterizado pelo fato de compreender ainda as etapas de: receber informações de atualização para o registro do modelo de aprendizado de máquina; em que a informação de atualização inclui nova entrada e novas saídas para a execução do modelo de aprendizado de máquina; - em resposta ao recebimento das informações de atualiza- ção, atualizar o registro do modelo de aprendizado de máquina usando a nova entrada e as novas saídas.
7. Método, de acordo com a reivindicação 1, caracterizado pelo fato de compreender ainda a etapa de: receber uma nova versão de um modelo de aprendizado de máquina; em que a nova versão de modelo de aprendizado de máquina inclui um novo artefato de modelo e novas definições e metadados; - em resposta ao recebimento da nova versão de um modelo de aprendizado de máquina, armazenar o novo artefato de modelo e as novas definições e metadados no repositório de modelos digitais; atua- lizar um registro para o modelo de aprendizado de máquina em um log de histórico de modelos.
8. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que o dispositivo de computação é qualquer tipo de dispo- sitivo configurado para gerar, transmitir e receber dados digitais; em que o dispositivo de computação inclui qualquer um dentre: um computador pessoal, um laptop, um smartfone, um tablet ou um computador servi- dor.
9. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que a plataforma de infraestrutura de execução de modelo inclui um ou mais dentre: um processador de computador, uma unidade de memória, um dispositivo de armazenamento, um barramento de co- municação, uma rede de comunicação, um dispositivo de armazena- mento em nuvem, um sistema distribuído em nuvem, um computador servidor ou um computador de grande porte.
10. Método, de acordo com a reivindicação 2, caracterizado pelo fato de compreender ainda a etapa de fazer com que o dispositivo de computação gere e exiba uma interface gráfica de usuário, gere uma representação gráfica das saídas específicas modificadas, e exiba a re- presentação gráfica da saída específica modificada usando a interface gráfica de usuário.
11. Meio de armazenamento legível por computador não transitório, caracterizado pelo fato de armazenar uma ou mais instru- ções de computador que, quando executadas por um ou mais proces- sadores de computador, fazem com que um ou mais processadores de computador executem as etapas de: - receber, a partir de um dispositivo de computação, uma so- licitação para navegar por modelos de aprendizado de máquina arma- zenados em um repositório de modelos digitais;
- recuperar, a partir do repositório de modelos digitais, e transmitir para o dispositivo de computação, informações sobre os mo- delos de aprendizado de máquina armazenados no repositório de mo- delos digitais; - receber, a partir do dispositivo de computação, uma sele- ção, dentre os modelos de aprendizado de máquina, de um modelo es- pecífico, e receber uma entrada específica para o modelo específico; - usar os recursos disponíveis em uma plataforma de infra- estrutura de execução de modelo, executar o modelo específico na en- trada específica para gerar uma saída específica; - transmitir a saída específica para um computador configu- rado em uma máquina agrícola a fim de controlar a máquina agrícola à medida que a máquina agrícola executa tarefas agrícolas em um campo agrícola.
12. Meio de armazenamento legível por computador não transitório, de acordo com a reivindicação 11, caracterizado pelo fato de armazenar instruções adicionais para: - transmitir a saída específica para o dispositivo de computa- ção; - determinar se qualquer modificação na entrada específica para o modelo específico é solicitada; - em resposta ao recebimento de uma indicação de que uma modificação na entrada específica é solicitada, receber uma entrada modificada para o modelo específico, e executar o modelo específico na entrada modificada para gerar saídas específicas modificadas, e trans- mitir a saída específica modificada para o dispositivo de computação.
13. Meio de armazenamento legível por computador não transitório, de acordo com a reivindicação 11, caracterizado pelo fato de que as informações sobre os modelos de aprendizado de máquina ar-
mazenados no repositório de modelos digitais incluem artefatos e defi- nições de modelo e metadados associados aos artefatos de modelo; - em que os artefatos de modelo incluem um ou mais dentre: artefatos de modelo de pesquisa operacional, artefatos de modelo de aprendizado de máquina, artefatos de modelo de aprendizagem pro- funda de máquina, ou artefatos de modelo físico; - em que uma definição e metadados associados a um arte- fato de modelo específico incluem um ou mais dentre: nome do modelo, definições de entrada, definições de saída, requisitos de infraestrutura, métrica de tempo de execução, duração de execução esperada, preci- são esperada, informações de status, classificação de modelo, versão de modelo, tipo de modelo, ou nome do proprietário do modelo.
14. Meio de armazenamento legível por computador não transitório, de acordo com a reivindicação 11, caracterizado pelo fato de armazenar instruções adicionais para: - receber uma solicitação para armazenar um modelo de aprendizado de máquina; - analisar a solicitação e identificar um artefato de modelo e informações sobre o modelo de aprendizado de máquina; - determinar a entrada e a saída para o modelo de aprendi- zado de máquina; - determinar os requisitos de infraestrutura para a execução do modelo de aprendizado de máquina; - armazenar os requisitos de infraestrutura para o modelo de aprendizado de máquina no repositório de modelos digitais; - determinar definições e metadados para o modelo de aprendizado de máquina; - associar as definições e metadados ao modelo de aprendi- zado de máquina;
- armazenar o modelo de aprendizado de máquina em asso- ciação às definições e metadados no repositório de modelos digitais.
15. Meio de armazenamento legível por computador não transitório, de acordo com a reivindicação 14, caracterizado pelo fato de armazenar instruções adicionais para: - criar um registro para o modelo de aprendizado de máquina e armazenar o registro em um log de histórico de modelos; em que o registro para o modelo de aprendizado de máquina inclui um ou mais dentre: uma entrada para a execução do modelo de aprendizado de má- quina, uma saída para a execução do modelo de aprendizado de má- quina, ou informações específicas à execução do modelo de aprendi- zado de máquina.
16. Meio de armazenamento legível por computador não transitório, de acordo com a reivindicação 15, caracterizado pelo fato de armazenar instruções adicionais para: - receber uma informação de atualização para o registro do modelo de aprendizado de máquina; em que a informação de atualiza- ção inclui uma nova entrada e novas saídas para a execução do modelo de aprendizado de máquina; - em resposta ao recebimento da informação de atualização, atualizar o registro do modelo de aprendizado de máquina usando a nova entrada e as novas saídas.
17. Meio de armazenamento legível por computador não transitório, de acordo com a reivindicação 11, caracterizado pelo fato de armazenar instruções adicionais para: - receber uma nova versão de um modelo de aprendizado de máquina; em que a nova versão de modelo de aprendizado de máquina inclui um novo artefato de modelo e novas definições e metadados; - em resposta ao recebimento da nova versão de um modelo de aprendizado de máquina, armazenar o novo artefato de modelo e as novas definições e metadados no repositório de modelos digitais; atua- lizar um registro para o modelo de aprendizado de máquina em um log de histórico de modelos.
18. Meio de armazenamento legível por computador não transitório, de acordo com a reivindicação 11, caracterizado pelo fato de o dispositivo de computação ser qualquer tipo de dispositivo configurado para gerar, transmitir e receber dados digitais; em que o dispositivo de computação inclui qualquer um dentre: um computador pessoal, um lap- top, um smartfone, um tablet ou um computador servidor.
19. Meio de armazenamento legível por computador não transitório, de acordo com a reivindicação 11, caracterizado pelo fato de a plataforma de infraestrutura de execução de modelo incluir um ou mais dentre: um processador de computador, uma unidade de memória, um dispositivo de armazenamento, um barramento de comunicação, uma rede de comunicação, um dispositivo de armazenamento em nuvem, um sistema distribuído em nuvem, um computador servidor, ou um sis- tema de computação em nuvem.
20. Meio de armazenamento legível por computador não transitório, de acordo com a reivindicação 12, caracterizado pelo fato de armazenar instruções adicionais para: - fazer com que o dispositivo de computação: gere e exiba uma interface gráfica de usuário, gere uma representação gráfica das saídas específicas modificadas, e exiba a representação gráfica da sa- ída específica modificada usando a interface gráfica de usuário.
Aplicativo de Computador Móvel
Instruções de Instruções de Instruções de Instruções Instruções de Sementes e Nitrogênio Condições de Saúde Desempenho Plantio Meteorológicas de Campo
Livro de Mapa Digital Instruções de Geração de Script
Visão Geral e Instruções de Alerta
Conta, Campos, Ingestão de Dados, Instruções de Compartilhamento
Aplicativo de Computador de Cabine
Coleta e Alertas de Mapas de Visualização Transferência Transferência Máquina Cabine Remota de Script de Dados
Reconhecimento - Cabine
Pré-processamento de Dados Agronômicos
Seleção de Subconjunto de Dados Agronômicos
Ciclo de Feedback
Avaliação de Conjunto de Dados Agronômicos
Criação de Modelo Agronômico
Armazenamento de Modelos Agronômicos
Servidor Dispositivo de
Petição 870210023312, de 11/03/2021, pág. 15/112 Monitor Memória Principal Armazenamento
Internet
Dispositivo de Entrada Barramento 4/13
Controle de Cursor Link de Processador Interface de Rede Rede Local Comunicação
Computador Host
Infraestrutura de Execução de Modelo
Processador de Armazenador gerenciamento Computador Rede em Principal Nuvem
Redes Repositório de Servidores Modelos
Rede (s) de comunicações
Logs de Histórico de Modelos
Terminal Dispositivo(s) Servidor (Terminais) Móvel (Móveis) (Servidores)
Definições e Metadados Modelos de Pesquisa Operacional
Definições e Metadados Modelos de Aprendizado de Máquina
Definições e Metadados
Modelos de Aprendizagem Profunda
Definições e Metadados
Modelos Físicos
Índice Repositório de Modelos
Definições e Metadados Modelo Físico
Nome do Modelo Definições de Entrada Definições de Saída Requisitos de Infraestrutura Métrica de Tempo de Execução Duração de Execução Esperada EPrecisão Esperada Status (desenvolvimento / teste / produção) Classificação de Modelo Versão de Modelo Tipo de Modelo Proprietário do Modelo
Artefato de Modelo
Repositório de Modelos
Terminal Dispositivo(s) Servidor (Terminais) Móvel (Móveis) (Servidores)
Receber uma solicitação para armazenar um modelo baseado em máquina Analisar a solicitação e identificar o artefato de modelo e informações sobre o modelo Determinar entradas e saídas para o modelo Determinar requisitos de infraestrutura para execução do modelo Determinar os requisitos de infraestrutura para o modelo alocar recursos disponíveis Determinar status, versão, precisão esperada e tempo de execução para o modelo Armazenar as informações determinadas e identificadas como definições e metadados Associar o artefato de modelo às definições e metadados Armazenar o artefato de modelo em associação às definições e metadados em um repositório Criar ou atualizar um registro para o modelo em um registro de histórico do modelo
SIM NÃO Outra Solicitação? Finalizar
Infraestrutura de Execução de Modelo
Armazenador Rede em Computador Nuvem Principal
Redes Servidores
Dispositivo(s) Móvel (Móveis)
Repositório de Logs de Histórico Modelos de Modelos
Receber, de um dispositivo, uma solicitação para navegar em modelos de aprendizado de máquina Exibir informação sobre os modelos de aprendizado de máquina Receber uma seleção de um modelo dentre os modelos disponíveis Determinar e exibir requisitos de infraestrutura para execução do modelo Determinar e exibir definições e metadados para o modelo Receber entrada para o modelo
NÃO Executar?
SIM Executar o modelo para gerar saída Transmitir a saída para o dispositivo e/ou um controlador
SIM NÃO Modificar entrada?
SIM NÃO Receber uma seleção de outro modelo Modelo diferente? Finalizar
Dispositivo de Usuário
Interface Gráfica de Usuário
Solicitação de Modificar Solicitação de navegação solicitação execução
Resposta Resposta Resposta
Plataforma
Repositório de Modelos
Infraestrutura de Execução de Modelo
Armazenador Computador Rede em Principal Nuvem
Logs de Histórico Redes de Modelos Servidores
BR112021004651-8A 2018-09-21 2019-09-18 método e sistema para a execução de algoritmos de aprendizado de máquina BR112021004651A2 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201862734420P 2018-09-21 2018-09-21
US62/734,420 2018-09-21
PCT/US2019/051732 WO2020061193A1 (en) 2018-09-21 2019-09-18 Method and system for executing machine learning algorithms

Publications (1)

Publication Number Publication Date
BR112021004651A2 true BR112021004651A2 (pt) 2021-06-01

Family

ID=69883856

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112021004651-8A BR112021004651A2 (pt) 2018-09-21 2019-09-18 método e sistema para a execução de algoritmos de aprendizado de máquina

Country Status (7)

Country Link
US (1) US11475359B2 (pt)
EP (1) EP3853780A4 (pt)
CN (1) CN113168577A (pt)
AR (1) AR116476A1 (pt)
BR (1) BR112021004651A2 (pt)
CA (1) CA3112950A1 (pt)
WO (1) WO2020061193A1 (pt)

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BR112021007032A2 (pt) * 2018-10-24 2021-07-20 The Climate Corporation alavancando a genética e a engenharia de recursos para impulsionar a previsibilidade de colocação para seleção e recomendação de produtos de sementes por campo
US11653588B2 (en) 2018-10-26 2023-05-23 Deere & Company Yield map generation and control 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
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
US11178818B2 (en) 2018-10-26 2021-11-23 Deere & Company Harvesting machine control system with fill level processing based on yield data
US11467605B2 (en) 2019-04-10 2022-10-11 Deere & Company Zonal machine control
US11589509B2 (en) 2018-10-26 2023-02-28 Deere & Company Predictive machine characteristic map generation and control system
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
US11234366B2 (en) 2019-04-10 2022-02-01 Deere & Company Image selection for machine control
US11615347B2 (en) * 2019-12-31 2023-03-28 Paypal, Inc. Optimizing data processing and feature selection for model training
US11477940B2 (en) 2020-03-26 2022-10-25 Deere & Company Mobile work machine control based on zone parameter modification
DE102020116714A1 (de) 2020-06-25 2021-12-30 Audi Aktiengesellschaft Steuergerät für ein Fahrzeug, System, Verfahren und Kraftfahrzeug mit einem solchen Steuergerät
US11295331B2 (en) * 2020-07-01 2022-04-05 X Development Llc Analyzing crop fields based on agricultural management practices
CN112101576B (zh) * 2020-09-09 2021-07-30 上海松鼠课堂人工智能科技有限公司 分布式设备使用机器学习模型聚合系统
US11849671B2 (en) 2020-10-09 2023-12-26 Deere & Company Crop state map generation and control system
US11871697B2 (en) 2020-10-09 2024-01-16 Deere & Company Crop moisture map generation and control system
US11895948B2 (en) 2020-10-09 2024-02-13 Deere & Company Predictive map generation and control based on soil properties
US11711995B2 (en) 2020-10-09 2023-08-01 Deere & Company Machine control using a predictive map
US11874669B2 (en) 2020-10-09 2024-01-16 Deere & Company Map generation and control system
US11675354B2 (en) 2020-10-09 2023-06-13 Deere & Company Machine control using a predictive map
US11474523B2 (en) 2020-10-09 2022-10-18 Deere & Company Machine control using a predictive speed map
US11983009B2 (en) 2020-10-09 2024-05-14 Deere & Company Map generation and control system
US11845449B2 (en) 2020-10-09 2023-12-19 Deere & Company Map generation and control system
US11889788B2 (en) 2020-10-09 2024-02-06 Deere & Company Predictive biomass map generation and control
US11635765B2 (en) 2020-10-09 2023-04-25 Deere & Company Crop state map generation and control system
US11650587B2 (en) 2020-10-09 2023-05-16 Deere & Company Predictive power map generation and control system
US11727680B2 (en) 2020-10-09 2023-08-15 Deere & Company Predictive map generation based on seeding characteristics and control
US11864483B2 (en) 2020-10-09 2024-01-09 Deere & Company Predictive map generation and control system
US11927459B2 (en) 2020-10-09 2024-03-12 Deere & Company Machine control using a predictive map
US11844311B2 (en) 2020-10-09 2023-12-19 Deere & Company Machine control using a predictive map
US11825768B2 (en) 2020-10-09 2023-11-28 Deere & Company Machine control using a predictive map
US11849672B2 (en) 2020-10-09 2023-12-26 Deere & Company Machine control using a predictive map
US11946747B2 (en) 2020-10-09 2024-04-02 Deere & Company Crop constituent map generation and control system
US11592822B2 (en) 2020-10-09 2023-02-28 Deere & Company Machine control using a predictive map
US11889787B2 (en) 2020-10-09 2024-02-06 Deere & Company Predictive speed map generation and control system
US20220114491A1 (en) * 2020-10-09 2022-04-14 AquaSys LLC Anonymous training of a learning model
US11727007B1 (en) * 2020-10-19 2023-08-15 Splunk Inc. Systems and methods for a unified analytics platform
DE102021204544A1 (de) * 2021-05-05 2022-11-10 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zum Betreiben eines hydraulischen Zylinders einer Arbeitsmaschine
CN113704257B (zh) * 2021-08-06 2023-09-26 网易(杭州)网络有限公司 数据表的更新方法和装置
CN113886382A (zh) * 2021-08-23 2022-01-04 阿里云计算有限公司 数据库任务处理方法、设备及存储介质
US20230206430A1 (en) * 2021-12-27 2023-06-29 Deere & Company Crop yield component map
CN117233540B (zh) * 2023-11-15 2024-02-20 广东电网有限责任公司江门供电局 一种基于深度学习的计量流水线故障检测方法及系统

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9565275B2 (en) 2012-02-09 2017-02-07 Rockwell Automation Technologies, Inc. Transformation of industrial data into useful cloud information
US20090138415A1 (en) * 2007-11-02 2009-05-28 James Justin Lancaster Automated research systems and methods for researching systems
US9915131B2 (en) 2007-03-02 2018-03-13 Schlumberger Technology Corporation Methods using fluid stream for selective stimulation of reservoir layers
DE102013201996A1 (de) * 2013-02-07 2014-08-07 Deere & Company Verfahren zur Einstellung von Arbeitsparametern einer Erntemaschine
US10667456B2 (en) * 2014-09-12 2020-06-02 The Climate Corporation Methods and systems for managing agricultural activities
US10371863B2 (en) * 2016-04-13 2019-08-06 The Climate Corporation Estimating rainfall adjustment values
KR102000416B1 (ko) * 2016-05-09 2019-07-15 스트롱 포스 아이오티 포트폴리오 2016, 엘엘씨 산업용 사물 인터넷을 위한 방법들 및 시스템들
US10028451B2 (en) * 2016-11-16 2018-07-24 The Climate Corporation Identifying management zones in agricultural fields and generating planting plans for the zones
US20180271015A1 (en) * 2017-03-21 2018-09-27 Blue River Technology Inc. Combine Harvester Including Machine Feedback Control
CA3072045A1 (en) * 2017-08-02 2019-02-07 Strong Force Iot Portfolio 2016, Llc Methods and systems for detection in an industrial internet of things data collection environment with large data sets
US20200150643A1 (en) * 2018-05-07 2020-05-14 Strong Force Iot Portfolio 2016, Llc Methods and systems for data collection, learning, and streaming of machine signals for analytics and maintenance using the industrial internet of things

Also Published As

Publication number Publication date
AR116476A1 (es) 2021-05-12
EP3853780A1 (en) 2021-07-28
CA3112950A1 (en) 2020-03-26
WO2020061193A1 (en) 2020-03-26
CN113168577A (zh) 2021-07-23
US20200097851A1 (en) 2020-03-26
US11475359B2 (en) 2022-10-18
EP3853780A4 (en) 2022-07-06

Similar Documents

Publication Publication Date Title
BR112021004651A2 (pt) método e sistema para a execução de algoritmos de aprendizado de máquina
US10713542B2 (en) Detection of plant diseases with multi-stage, multi-scale deep learning
US10755367B2 (en) Analysis and presentation of agricultural data
US9881214B1 (en) Generating pixel maps from non-image data and difference metrics for pixel maps
BR112021006133A2 (pt) técnicas de aprendizado de máquina para identificar nuvens e sombras de nuvem em imagística por satélite
BR112021007321A2 (pt) detecção de infecção de doenças de plantas por meio da classificação de fotos de plantas
BR112020009202A2 (pt) seleção de sementes híbridas e otimização de portfólio de sementes por campo
BR112021000429A2 (pt) Geração de mapas de produtividade agronômica a partir de imagens de saúde de campo
BR112021007121A2 (pt) uso de predições de umidade de colheita de sementes com base em aprendizado por máquina para melhorar uma operação agrícola de fazenda assistida por computador
BR112020022324A2 (pt) visualização digital de prescrições de fertilidade agrícola sazonais atualizadas periodicamente
BR112019003795B1 (pt) Método para uso em cronograma de aplicações de fertilizantes em campos agrícolas, sistema de processamento de dados e mídia de armazenamento de dados não transitórios
BR112019018015B1 (pt) Método implementado por computador para selecionar locais de amostragem em um campo e melhorar crescimento no campo
BR112021001667A2 (pt) previsão automática de rendimentos e recomendação de taxas de semeadura com base em dados meteorológicos
BR112018007672B1 (pt) Método implementado por computador para determinar e apresentar uma recomendação de taxa de semeadura melhorada e aparelho correlato
US10684612B2 (en) Agricultural management recommendations based on blended model
BR112020009205A2 (pt) seleção de sementes híbridas e otimização de portfólio de sementes por campo
US20200128721A1 (en) Automated sample collection and tracking system
BR112021004345A2 (pt) seleção de sementes híbridas ajustada por risco e otimização de rendimento de cultura por campo
BR112020025113A2 (pt) designação automática de híbridos ou sementes a campos para plantio
BR112018070806B1 (pt) Método e sistema de processamento de dados para estimar valores de ajuste de precipitação
BR112020023684A2 (pt) estudo de cultivo cruzado e direcionamento de campo
BR112021007032A2 (pt) alavancando a genética e a engenharia de recursos para impulsionar a previsibilidade de colocação para seleção e recomendação de produtos de sementes por campo
BR112021006110A2 (pt) sistemas e métodos para identificar e utilizar locais de teste em campos agrícolas
BR112021002525A2 (pt) aprimoramento de modelos de nutrientes digitais usando valores espacialmente distribuídos exclusivos para um campo agronômico
BR112021007721A2 (pt) detecção de infecção de doenças de plantas melhorada por aprendizagem de máquina

Legal Events

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

Owner name: CLIMATE LLC (US)

B25G Requested change of headquarter approved

Owner name: CLIMATE LLC (US)