BR112018011458B1 - Método, mídia de armazenamento não transitória e sistema de processamento de dados - Google Patents

Método, mídia de armazenamento não transitória e sistema de processamento de dados Download PDF

Info

Publication number
BR112018011458B1
BR112018011458B1 BR112018011458-8A BR112018011458A BR112018011458B1 BR 112018011458 B1 BR112018011458 B1 BR 112018011458B1 BR 112018011458 A BR112018011458 A BR 112018011458A BR 112018011458 B1 BR112018011458 B1 BR 112018011458B1
Authority
BR
Brazil
Prior art keywords
cloud
pixels
remote sensing
sensing images
clouds
Prior art date
Application number
BR112018011458-8A
Other languages
English (en)
Other versions
BR112018011458A2 (pt
Inventor
Wei Guan
Pramithus KHADKA
Jeffrey Gerard
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 BR112018011458A2 publication Critical patent/BR112018011458A2/pt
Publication of BR112018011458B1 publication Critical patent/BR112018011458B1/pt

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/771Feature selection, e.g. selecting representative features from a multi-dimensional feature space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • G06F18/2148Generating training patterns; Bootstrap methods, e.g. bagging or boosting characterised by the process organisation or structure, e.g. boosting cascade
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2411Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on the proximity to a decision surface, e.g. support vector machines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/285Selection of pattern recognition techniques, e.g. of classifiers in a multi-classifier system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/194Segmentation; Edge detection involving foreground-background segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/30Noise filtering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/42Global feature extraction by analysis of the whole pattern, e.g. using frequency domain transformations or autocorrelation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/56Extraction of image or video features relating to colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/60Extraction of image or video features relating to illumination properties, e.g. using a reflectance or lighting model
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/762Arrangements for image or video recognition or understanding using pattern recognition or machine learning using clustering, e.g. of similar faces in social networks
    • G06V10/763Non-hierarchical techniques, e.g. based on statistics of modelling distributions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/87Arrangements for image or video recognition or understanding using pattern recognition or machine learning using selection of the recognition techniques, e.g. of a classifier in a multiple classifier system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/10Terrestrial scenes
    • G06V20/13Satellite images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/19Recognition using electronic means
    • G06V30/191Design or setup of recognition systems or techniques; Extraction of features in feature space; Clustering techniques; Blind source separation
    • G06V30/19147Obtaining sets of training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/19Recognition using electronic means
    • G06V30/191Design or setup of recognition systems or techniques; Extraction of features in feature space; Clustering techniques; Blind source separation
    • G06V30/19173Classification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/24Character recognition characterised by the processing or recognition method
    • G06V30/248Character recognition characterised by the processing or recognition method involving plural approaches, e.g. verification by template match; Resolving confusion among similar patterns, e.g. "O" versus "Q"
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30181Earth observation
    • G06T2207/30192Weather; Meteorology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/10Terrestrial scenes
    • G06V20/194Terrestrial scenes using hyperspectral data, i.e. more or other wavelengths than RGB
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/24Character recognition characterised by the processing or recognition method
    • G06V30/248Character recognition characterised by the processing or recognition method involving plural approaches, e.g. verification by template match; Resolving confusion among similar patterns, e.g. "O" versus "Q"
    • G06V30/2528Combination of methods, e.g. classifiers, working on the same input data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Astronomy & Astrophysics (AREA)
  • Remote Sensing (AREA)
  • Probability & Statistics with Applications (AREA)
  • Geometry (AREA)
  • Image Processing (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Image Analysis (AREA)
  • Optical Radar Systems And Details Thereof (AREA)

Abstract

DETECÇÃO DE NUVEM EM IMAGENS DE SENSORIAMENTO REMOTO. A presente invenção se refere a um sistema para detectar nuvens e sombras de nuvem. Em uma abordagem, as nuvens e as sombras de nuvem dentro de uma imagem de sensoriamento remoto são detectadas através de um processo de três etapas. No primeiro estágio, um classificador de baixa revocação e de alta precisão é usado para identificar pixels de semente de nuvem dentro da imagem. No segundo estágio, um classificador de alta revocação e de baixa precisão é usado para identificar pixels de nuvem potenciais dentro da imagem. Adicionalmente, no segundo estágio, os pixels de semente de nuvem são desenvolvidos nos pixels de nuvem potenciais para identificar agrupamentos de pixels que têm uma alta probabilidade de representar nuvens. No terceiro estágio, uma técnica geométrica é usada para determinar os pixels que provavelmente representam sombras difundidas pelas nuvens identificadas no segundo estágio. As nuvens identificadas no segundo estágio e as sombras identificadas no terceiro estágio são, então, exportadas como uma máscara de nuvem e máscara de nuvem da imagem de sensoriamento remoto.

Description

DECLARAÇÃO SOBRE DIREITOS DE AUTOR
[001] Uma parte da revelação deste documento de patente contém material que é submetido à proteção de direitos autorais. O proprietário de direitos autorais não tem nenhuma objeção em relação à reprodução em fac-símile por qualquer um dentre o documento de patente ou a revelação de patente, uma vez que a mesma aparece no arquivo ou registros do Escritório de Patentes e Marcas Registradas, mas caso contrário reserva todos os direitos autorais ou quaisquer direitos. © 2015 The Climate Corporation.
CAMPO DA REVELAÇÃO
[002] A presente revelação refere-se a sistemas com base em computador que são programados para detectar nuvens em imagens de sensoriamento remoto. Mais especificamente, a presente revelação se refere ao uso de um híbrido de métodos de agrupamento e acionados por dados em programas de computador ou aparelho de processamento de dados digitais eletrônicos para detecção de nuvem em imagens de sensoriamento remoto.
ANTECEDENTES DA INVENÇÃO
[003] As abordagens descritas nessa seção são abordagens que poderiam ser visadas, contudo, não necessariamente abordagens que foram concebidas ou visadas anteriormente. Portanto, a menos que indicado de outro modo, não deve ser pressuposto que qualquer uma das abordagens descritas nessa seção se qualifique como técnica anterior meramente em virtude da sua inclusão nessa seção.
[004] Em muitos casos, as nuvens na atmosfera omitem parcial ou completamente a visualização de um sensor de satélite da superfície da Terra. As nuvens também podem difundir sombras sobre o solo, em que menos luz solar é refletida para o sensor. Em ambos os casos, as nuvens limitam as informações que um observador de sensoriamento remoto pode obter a respeito da superfície e comprometem as estimativas de parâmetros físicos obtidas a partir dos sensores. Para muitas aplicações de imagens remotamente detectadas, é, portanto, crítico que se possa identificar esses pixels afetados, geralmente para exclusão de análise. É convencional distribuir, juntamente com imagens, uma banda de varredura separada denominada uma “máscara”, que contém valores categóricos distintos para cada localização de pixel. Por exemplo, uma máscara binária que marca cada pixel como utilizável versus comprometido, nuvem versus solo, sombra versus não sombra e assim por diante.
[005] A comunidade de sensoriamento remoto propôs muitos métodos de detecção de nuvem. Por exemplo, o sistema de Determinação Automática de Cobertura de Nuvem (ACCA) aplica inúmeros filtros espectrais com limiares pré-selecionados e funciona bem para estimar a porcentagem geral de nuvens em cada cena. Entretanto, o sistema de ACCA não fornece as localizações de nuvem dentro da imagem, o que é importante para desenvolver uma máscara para análise de terra automatizada. O Sistema de Processamento Adaptativo de Distúrbios do Ecossistema de Landsat (LEDAPS) usa um algoritmo de duas passagens que inclui um teste térmico que gera uma máscara para nuvens. Além das bandas térmicas, o algoritmo também exige outros dados auxiliares como amenidade de superfície. O algoritmo de Fmáscara aplica regras com base nas propriedades físicas para refletância e temperatura de brilho (BT) para derivar uma camada de nuvem potencial. Os limiares com base em aplicação podem ser especificados por usuários para tomarem suas próprias decisões para definir uma região de nuvem. Entretanto, as técnicas supracitadas dependem de bandas térmicas, que não estão disponíveis em alguns tipos de imagens de satélite, como imagens de RapidEye que atualmente fornecem dados apenas para as bandas visíveis e no próximo do infravermelho (NIR). Outra técnica é empregar um modelo de floresta aleatória em um histograma 2D designado de índices de banda. O método supracitado alcança um bom desempenho, porém, apenas fornece máscaras de nuvem para trechos de baixa resolução de 100 m em 100 m em vez do nível de pixels individuais. Outra técnica é usar uma série temporal de múltiplas cenas capturadas para modelar uma alteração biofísica de pixel ao longo do tempo e para detectar nuvens como anomalias de alto valor. Entretanto, esse método exige que as imagens da área monitorada sejam tomadas múltiplas vezes ao longo de um período de tempo relativamente curto. Portanto, a técnica supracitada não pode ser aplicada de modo eficaz às imagens temporariamente dispersas. Por exemplo, os provedores de imagem de satélite nem sempre têm capacidade de obter imagens para uma área sob demanda, por exemplo, devido à disponibilidade de um satélite com posicionamento adequado, portanto, pode haver um atraso significativo de uma imagem para a próxima.
[006] As sombras difundidas por nuvens espessas no solo também interferem com a maioria das aplicações de sensoriamento remoto reduzindo-se a quantidade de luz refletida para o sensor de satélite. Os métodos de detecção com base em pixel simples frequentemente identificam falsamente superfícies escuras como sombras de nuvem ou excluem sombras que não são suficientemente escuras. As técnicas de sensor com base em geometria podem evitar tais problemas e identificar sombras com mais precisão, embora essas técnicas frequentemente dependam de um processo de detecção de nuvem robusto e preciso. Uma técnica é usar taxa de lapso para estimar altura de topo de nuvem e usar os pixels de nuvem para difundir sombras. Esse método funciona bem para nuvens espessas, porém, não é preciso quando as nuvens são semitransparentes. Outra técnica usa as diferenças de embaralhamento entre bandas NIR e comprimento de onda curto para produzir máscaras de sombra em imagens de Espectrorradiômetro de Imageamento de Resolução Moderada (MODIS). Entretanto, essa técnica é menos precisa quando a sombra recai sobre superfícies luminosas ou é gerada por uma nuvem opticamente fina.
SUMÁRIO DA REVELAÇÃO
[007] As reivindicações anexas podem servir como um sumário da revelação.
BREVE DESCRIÇÃO DOS DESENHOS
[008] Nos desenhos: A Figura 1 ilustra um sistema de computador exemplificativo que é configurado para realizar as funções descritas no presente documento, mostrado em um ambiente de campo com outro aparelho com o qual o sistema pode interoperar. A Figura 2 ilustra duas vistas de uma organização lógica exemplificativa de conjuntos de instruções na memória principal quando um aplicativo móvel exemplificativo é carregado para a execução. A Figura 3 ilustra um processo programado pelo qual o sistema de computador de inteligência agrícola gera um ou mais modelos agronômicos pré-configurados com o uso de dados agronômicos fornecidos por uma ou mais fontes de dados externas. A Figura 4 é um diagrama de bloco que ilustra um sistema de computador mediante o qual uma modalidade da invenção pode ser implementada. A Figura 5 ilustra um modelo exemplificativo para um subsistema de detecção de nuvem de acordo com uma modalidade. A Figura 6 ilustra um processo exemplificativo para identificar sementes de nuvem em imagens de sensoriamento remoto de acordo com uma modalidade. A Figura 7 ilustra um processo exemplificativo para gerar uma máscara de nuvem para imagens de sensoriamento remoto de acordo com uma modalidade. A Figura 8 ilustra um processo exemplificativo para agrupar pixels de nuvem derivados a partir de imagens de sensoriamento remoto de acordo com uma modalidade. A Figura 9 ilustra um processo exemplificativo para gerar uma máscara de sombra para imagens de sensoriamento remoto de acordo com uma modalidade. A Figura 10 representa uma modalidade exemplificativa de uma vista de linha de tempo para introdução de dados. A Figura 11 representa uma modalidade exemplificativa de uma vista de planilha para a introdução de dados.
DESCRIÇÃO DETALHADA
[009] Na descrição a seguir, para os propósitos de explicação, diversos detalhes específicos são apresentados a fim de fornecer um entendimento completo da presente revelação. Ficará evidente, entretanto, que modalidades podem ser praticadas sem esses detalhes específicos. Em outros exemplos, estruturas e dispositivos bem conhecidos são mostrados em forma de diagrama de bloco para evitar a omissão desnecessária da presente revelação. A descrição é fornecida de acordo com o panorama a seguir: 1.0 Visão Geral 2.0 Sistema de Computador de Inteligência Agrícola Exemplificativo 2.1 Visão Geral Estrutural 2.2 Visão Geral de Programa de Aplicativo 2.3 Ingestão de Dados no Sistema de Computador 2.4 Visão Geral do Processo - Treinamento de Modelo Econômico 2.5 Subsistema de Detecção em Nuvem 2.5.1 Lógica de Gerador de Semente de Nuvem 2.5.2 Lógica de Gerador de Máscara de Nuvem 2.5.3 Lógica de Gerador de Máscara de Sombra 2.6 Exemplo de Implementação - Visão Geral de Hardware 3.0 Entradas de Sistema Exemplificativas 3.1 Dados de Sensoriamento Remoto 4.0 Visão Geral de Classificador 4.1 Seleção de Recurso 4.2 Preparo de Dados Verdadeiros de Solo 5.0 Gatilhos de Análise e Casos de Uso 6.0 Gerador de Semente de Nuvem 7.0 Gerador de Máscara de Nuvem 7.1 Crescimento de Região 8.0 Gerador de Máscara de Sombra 9.0 Detecção de Neblina 10.0 Extensões e Alternativas 11.0 Revelação Adicional
1.0 Visão Geral
[010] Os aspectos da presente revelação focam no problema de detectar nuvens e sombras de nuvem em imagens de sensoriamento remoto e fornecem sistemas de processamento de dados, incluindo computadores programados e outros aparelhos de processamento de dados digitais que são programados para detectar nuvens e sombras de nuvem com o uso de imagens de sensoriamento remoto que foram armazenadas em armazenamento de dados digitais eletrônicos.
[011] As técnicas de detecção de nuvem e sombra descritas no presente documento podem ser conceitualmente divididas em três estágios lógicos que podem ser incorporados em três conjuntos amplos de instruções para um computador programado ou três conjuntos de circuitos digitais. As técnicas de detecção de nuvem e sombra serão descritas em referência a esses três estágios. Entretanto, outras modalidades podem dividir logicamente o processo em, virtualmente, qualquer quantidade de estágios. Ademais, não há exigência de que as etapas descritas em relação a cada estágio devam ser necessariamente realizadas na ordem apresentada.
[012] O primeiro estágio usa um classificador de baixa revocação e alta precisão em uma imagem de sensoriamento remoto para identificar sementes de nuvem, que representam pixels que muito provavelmente serão nuvens dentro da imagem. Os pixels claros classificados erroneamente como nuvens (erros de comissão) são, em geral, isolados espacialmente e são removidos aplicando-se técnicas de processamento de imagem morfológica.
[013] No contexto de estatísticas, para uma dada classe, a precisão se refere à razão de classificações corretas de tal classe versus o número total de classificações de tal classe. A revocação se refere à razão de classificações corretas para tal classe versus o número total de tal classe no conjunto de dados. Por exemplo, se um conjunto de dados contém 7 pixels de nuvem e 3 pixels de não nuvem, um classificador que identifica cada pixel no conjunto de dados como um pixel de nuvem teria 100% de revocação para pixels de nuvem, porém, apenas 70% de precisão. Dessa forma, um classificador de baixa revocação e de alta precisão identifica pixels que têm uma chance muito alta de serem nuvens, porém, pode experimentar um grande número de negativos falsos e, portanto, classificar erroneamente alguns pixels de nuvem como pixels de não nuvem. Ademais, um classificador de alta revocação e de baixa precisão tem uma alta probabilidade de identificar corretamente todos os pixels de nuvem na imagem, porém, podem incluir muitos falsos positivos que classificam erroneamente alguns pixels de não nuvem como pixels de nuvem.
[014] No segundo estágio, pixels de nuvem candidatos são extraídos com um classificador de alta revocação e de baixa precisão. As técnicas de processamento de imagem morfológica são, então, aplicadas aos pixels de nuvem candidatos extraídos para remover falsos positivos. Entretanto, apesar do processamento de imagem morfológica, o classificador de baixa precisão e alta revocação ainda pode conter um grande número de falsos positivos. Uma técnica de agrupamento é, então, usada para desenvolver as sementes de nuvem em regiões que representam as nuvens candidatas, que resultam em uma máscara de nuvem. Visto que os pixels de nuvem estão frequentemente agrupados ao redor de outros pixels de nuvem, as sementes de nuvem (que representam pixels que muito provavelmente são de nuvens) podem ser usadas, portanto, para reduzir os pixels de nuvem candidatos desconectados que provavelmente foram incluídos nos pixels de nuvem candidatos como falsos positivos. Efetivamente, esse processo remove qualquer pixel de nuvem candidato que não é conectado (direta ou indiretamente através de outros pixels de nuvem candidatos) a uma semente de nuvem para que não seja classificado como uma nuvem. O resultado é uma máscara de nuvem que identifica cada pixel de nuvem dentro da imagem de sensoriamento remoto.
[015] O terceiro estágio da segmentação de instrução (pipeline) detecta sombras de nuvem com o uso da máscara de nuvem supracitada como entrada. Especificamente, o terceiro estágio usa técnicas com base em geometria para estimar, com base na posição das nuvens, ângulo de visualização de satélite e a fonte de luz (por exemplo, o Sol) em que sombras provavelmente serão encontradas. Entretanto, as técnicas supracitadas com base em geometria exigem a altura das nuvens para determinar a posição de sombra. Para estimar a altura das nuvens, os pixels de sombra candidatos são identificados utilizando análise espectral, tal como identificar pixels onde uma ou mais bandas (por exemplo, a banda NIR) está abaixo de um limiar particular. Iterando-se as técnicas com base em geometria em diferentes alturas de nuvem, a altura de nuvem pode ser estimada encontrando-se a altura em que a sombra calculada tem a maior sobreposição (por exemplo, em termos de número de pixels) com os pixels candidatos de limiar de NIR. Uma vez que as sombras forem detectadas, os pixels que representam sombra são, então, usados para gerar uma máscara de sombra.
[016] Em algumas modalidades, a máscara de sombra e nuvem é, então, usada como entrada para outros processos que extraem informações de imagens de sensoriamento remoto. Por exemplo, as máscaras de sombra e nuvem podem ser usadas para filtrar os pixels que não são adequados para análise. Como outro exemplo, as máscaras de sombra e nuvem podem ser usadas para exibir visualmente as áreas de nuvem e sombra de nuvem dentro da imagem de sensoriamento remoto, tal como destacando-se nuvens e sombra utilizando pixels visualmente distintos (por exemplo, cores diferentes) que tornam esses elementos mais fáceis de perceber visualmente. Não há limite para as aplicações às quais as técnicas descritas no presente documento podem ser aplicadas.
[017] Outros recursos e aspectos da revelação ficarão evidentes nos desenhos, descrição e reivindicações.
1. VISÃO GERAL 2. SISTEMA DE COMPUTADOR DE INTELIGÊNCIA AGRÍCOLA EXEMPLIFICATIVO 2.1 VISÃO GERAL ESTRUTURAL
[018] A Figura 1 ilustra um sistema de computador exemplificativo que é configurado para realizar as funções descritas no presente documento, mostrado em um ambiente de campo com outro aparelho com o qual o sistema pode interoperar. Em uma modalidade, um usuário 102 tem, opera ou possui um dispositivo de computação de gerenciador de campo 104 em uma localização de campo ou é associado a uma localização de campo, tal como um destinado a atividades agrícolas ou uma localização de gerenciamento para um ou mais campos agrícolas. O dispositivo de computação de gerenciador de campo 104 é programado ou configurado para fornecer dados de campo 106 a um sistema de computador de inteligência agrícola 130 por meio de uma ou mais redes 109.
[019] Os exemplos de dados de campo 106 incluem (a) dados de identificação (por exemplo, área, nome de campo, identificadores de campo, identificadores geográficos, identificadores de limite, identificadores de cultura e quaisquer outros dados adequados que podem ser usados para identificar terra agrícola, como uma unidade de terra comum (CLU), número de lote e bloco, um número de parcela, coordenadas geográficas e limites, Número de Série Agrícola (FSN), número agrícola, número de trato, número de campo, seção, município e/ou faixa), (b) dados de colheita (por exemplo, tipo de cultura, variedade de cultura, rotação de cultura, se a cultura é cultivada organicamente, data de colheita, Histórico de Produção Real (APH), rendimento esperado, rendimento, preço de cultura, receita de cultura, hidratação de grão, prática de lavragem e informações de estação de cultivo anteriores), (c) dados de solo (por exemplo, tipo, composição, pH, matéria orgânica (OM), capacidade de troca de cátion (CEC)), (d) dados de plantação (por exemplo, data de plantação, tipo de semente (ou sementes), maturidade relativa (RM) de semente (ou sementes) plantada, população de semente), (e) dados de fertilizante (por exemplo, tipo de nutriente (nitrogênio, fósforo, potássio), tipo de aplicação, data de aplicação, quantidade, fonte, método), (f) dados de pesticida (por exemplo, pesticida, herbicida, fungicida, outra substância ou mistura de substâncias destinada ao uso como um regulador de planta, desfoliante ou dessecante, data de aplicação, quantidade, fonte, método), (g) dados de irrigação (por exemplo, data de aplicação, quantidade, fonte, método), (h) dados de clima (por exemplo, precipitação, temperatura, vento, previsão, pressão, visibilidade, nuvens, índice de calor, ponto de condensação, umidade, profundidade de neve, qualidade do ar, nascer do Sol, pôr do Sol), (i) dados de imagem (por exemplo, informações de espectro de luz e imagem a partir de um sensor de aparelho agrícola, câmera, computador, smartphone, computador tipo tablet, veículo aéreo não tripulado, aviões ou satélite), (j) observações de aferição (fotos, vídeos, notas de forma livre, gravações de voz, transcrições de voz, condições climáticas (temperatura, precipitação (atual e ao longo do tempo), hidratação de solo, estágio de crescimento de cultura, velocidade de vento, umidade relativa, ponto de condensação, camada preta)) e (k) solo, semente, fenologia de cultura, relatório de doença e praga e fontes e bancos de dados de previsões.
[020] Um computador de servidor de dados 108 é acoplado de modo comunicativo ao sistema de computador de inteligência agrícola 130 e é programado ou configurado para enviar dados externos 110 ao sistema de computador de inteligência agrícola 130 por meio da rede (ou redes) 109. O computador de servidor de dados externo 108 pode pertencer ou ser operado pela mesma entidade ou pessoa legal que o sistema de computador de inteligência agrícola 130, ou por uma pessoa ou entidade diferente como uma agência governamental, organização não governamental (NGO) e/ou um provedor de serviço de dados privado. Os exemplos de dados externos incluem dados meteorológicos, dados de acervo de imagem, dados de solo ou dados estatísticos relacionados a rendimentos de cultura, entre outros. Os dados externos 110 podem consistir do mesmo tipo de informações como dados de campo 106. Em algumas modalidades, os dados externos 110 são fornecidos por um servidor de dados externos 108 que pertence à mesma entidade que possui e/ou opera o sistema de computador de inteligência agrícola 130. Por exemplo, o sistema de computador de inteligência agrícola 130 pode incluir um servidor de dados focalizado exclusivamente em um tipo de dados que podem, de outro modo, ser obtidos a partir de fontes terceirizadas, como dados de clima. Em algumas modalidades, um servidor de dados externos 108 pode realmente ser incorporado no sistema 130.
[021] Um aparelho agrícola 111 tem um ou mais sensores remotos 112 fixados no mesmo, cujos sensores são acoplados de modo comunicativo, direta ou indiretamente, por meio 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 computador de inteligência agrícola 130. Exemplos de aparelho agrícola 111 incluem tratores, colheitadeiras combinadas, colheitadeiras, semeadoras (planters), caminhões, equipamento fertilizante, veículos aéreos não tripulados, e qualquer outro item de maquinário ou hardware físico, maquinário tipicamente móvel, e que podem ser usados em tarefas associadas à agricultura. Em algumas modalidades, uma unidade única de aparelho 111 pode compreender uma pluralidade de sensores 112 que são localmente acoplados em uma rede no aparelho; a rede de área de controlador (CAN) é o exemplo de tal rede que pode ser instalada em colheitadeiras combinadas ou colheitadeiras. O controlador de aplicativo 114 é acoplado de modo comunicativo ao sistema de computador de inteligência agrícola 130 por meio da rede (ou redes) 109 e é programado ou configurado para receber um ou mais roteiros para controlar um parâmetro de operação de um veículo ou implemento agrícola do sistema de computador de inteligência agrícola 130. Por exemplo, uma interface de barramento de rede de área de controlador (CAN) pode ser usada para possibilitar as comunicações do sistema de computador de inteligência agrícola 130 com o aparelho agrícola 111, como a forma em que a CLIMATE FIELDVIEW DRIVE (UNIDADE DE VISUALIZAÇÃO DE CAMPO DE CLIMA), disponível junto à The Climate Corporation, São Francisco, Califórnia, é usada. Os dados de sensor podem consistir em mesmo tipo de informações que os dados de campo 106.
[022] O aparelho 111 pode compreender um computador de cabine 115 que é programado com um aplicativo de cabine, que pode compreender uma versão ou variante do aplicativo móvel para o dispositivo 104 que é descrito adicionalmente em outras seções no presente documento. Em uma modalidade, o computador de cabine 115 compreende um computador compacto, frequentemente um computador do tamanho de tablet ou smartphone, com um visor de tela gráfica colorida que é montado dentro da cabine de um operador do aparelho 111. O computador de cabine 115 pode implementar algumas ou todas dentre as operações e funções que são descritas adicionalmente no presente documento para o dispositivo de computador móvel 104.
[023] A rede (ou redes) 109 representa amplamente qualquer combinação de um ou mais dados de redes de comunicação incluindo redes de área local, redes de área ampla, interredes ou internets, com o uso de qualquer um dentre ligações com fio ou sem fio, incluindo ligações terrestres ou via satélite. A rede (ou redes) pode ser implementada por qualquer meio ou mecanismo que possibilita a troca de dados entre os vários elementos da Figura 1. Os diversos elementos da Figura 1 também podem ter ligações de comunicações diretas (com fio ou sem fio). Os sensores 112, o controlador 114, o computador de servidor de dados externos 108 e outros elementos do sistema compreendem, cada um, uma interface compatível com a rede (ou redes) 109 e são programados ou configurados para usar protocolos padronizados para a comunicação através das redes, tais como protocolo de TCP/IP, Bluetooth, CAN e protocolos de camada superior, tais como HTTP, TLS e semelhantes.
[024] O sistema de computador de inteligência agrícola 130 é programado ou configurado para receber dados de campo 106 a partir do dispositivo de computação de gerenciador de campo 104, dados externos 110 a partir do computador servidor de dados externos 108, e dados de sensor a partir do sensor remoto 112. O sistema de computador de inteligência agrícola 130 pode ser configurado adicionalmente para hospedar, usar ou executar um ou mais programas de computador, outros elementos de software, lógica programada digitalmente, tal como FPGAs ou ASICs, ou qualquer combinação dos mesmos para realizar tradução e armazenamento de valores de dados, construção de modelos digitais de uma ou mais culturas em um ou mais campos, geração de recomendações e notificações, e geração e envio de roteiros para o controlador de aplicação 114, da maneira descrita adicionalmente em outras seções desta revelação.
[025] Em uma modalidade, o sistema de computador de inteligência agrícola 130 é programado com ou compreende uma camada de comunicação 132, camada de apresentação 134, camada de gerenciamento de dados 140, camada de hardware/virtualização 150, e repositório de dados de modelo e campo 160. “Camada”, nesse contexto, se refere a qualquer combinação de circuitos de interface digital eletrônica, microcontroladores, firmware, tais como drivers, e/ou programas de computador ou outros elementos de software.
[026] A camada de comunicação 132 pode ser programada ou configurada para realizar funções de realização de interface de admissão/emissão que inclui enviar solicitações para o dispositivo de computação de gerenciador de campo 104, o computador de servidor de dados externos 108 e o sensor remoto 112 para dados de campo, dados externos e dados de sensor, respectivamente. A camada de comunicação 132 pode ser programada ou configurada para enviar os dados recebidos para o repositório de dados de modelo e campo 160 para serem armazenados como dados de campo 106.
[027] A camada de apresentação 134 pode ser programada ou configurada para gerar uma interface de usuário gráfica (GUI) para ser exibida no dispositivo de computação de gerenciador de campo 104, no computador de cabine 115 ou outros computadores que são acoplados ao sistema 130 através da rede 109. A GUI pode compreender controles para inserir dados a serem enviados ao sistema de computador de inteligência agrícola 130, gerar solicitações de modelos e/ou recomendações e/ou exibir recomendações, notificações, modelos e outros dados de campo.
[028] A camada de gerenciamento de dados 140 pode ser programada ou configurada para gerenciar operações de leitura e operações de escrita que envolvem o repositório 160 e outros elementos funcionais do sistema, incluindo conjuntos de consultas e resultado comunicados entre os elementos funcionais do sistema e o repositório. Exemplos de camada de gerenciamento de dados 140 incluem JDBC, código de interface de servidor de SQL, e/ou código de interface de HADOOP, entre outros. O repositório 160 pode compreender um banco de dados. Conforme usado no presente documento, o termo “banco de dados” pode se referir a um corpo de dados, um sistema de gerenciamento de banco de dados relacional (RDBMS) ou ambos. Conforme usado no presente documento, um banco de dados pode compreender qualquer coleção de dados que inclua bancos de dados hierárquicos, bandos de dados relacionais, bandos de dados de arquivo plano, bandos de dados relacionais de objeto, bandos de dados orientados a objeto e qualquer outra coleção estruturada de registros ou dados que seja armazenada em um sistema de computador. Exemplos de RDBMSs incluem, porém, sem limitação, bancos de dados ORACLE®, MYSQL, IBM® DB2, MICROSOFT® SQL SERVER, SYBASE® e POSTGRESQL. No entanto, qualquer banco de dados pode ser usado contanto que permita os sistemas e métodos descritos no presente documento.
[029] Quando os dados de campo 106 não forem fornecidos diretamente ao sistema de computador de inteligência agrícola por meio de um ou mais dispositivos de máquina agrícola ou máquinas agrícolas que interagem com o sistema de computador de inteligência agrícola, pode ser exigido que o usuário 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) insira tais informações. Em uma modalidade exemplificativa, o usuário pode especificar dados de identificação acessando-se um mapa no dispositivo de usuário (servido pelo sistema de computador de inteligência agrícola) e selecionando-se CLUs específicas que foram mostradas graficamente no mapa. Em uma modalidade alternativa, o usuário 102 pode especificar dados de identificação acessando-se um mapa no dispositivo de usuário (servido pelo sistema de computador de inteligência agrícola 130) e que estabelece delimitações do campo ao longo do mapa. Tal seleção de CLU ou os desenhos de mapa representam identificadores geográficos. Nas modalidades alternativas, o usuário pode especificar dados de identificação acessando- se dados de identificação de campo (fornecidos como arquivos de forma ou em um formato semelhante) do Departamento dos EUA de Agência de Serviços Rural e Agrícola ou outra fonte por meio do dispositivo de usuário e fornecendo tais dados de identificação de campo para o sistema de computador de inteligência agrícola.
[030] Em uma modalidade exemplificativa, o sistema de computador de inteligência agrícola 130 é programado para gerar e causar a exibição de uma interface de usuário gráfica que compreende um gerenciador de dados para admissão de dados. Após um ou mais campos terem sido identificados com o uso dos métodos descritos acima, o gerenciador de dados pode fornecer um ou mais acessórios de interface de usuário gráfica que, quando selecionados, podem identificar alterações no campo, no solo, nas culturas, na lavragem ou práticas de nutriente. O gerenciador de dados pode incluir uma vista de linha de tempo, uma vista de planilha e/ou um ou mais programas editáveis.
[031] A Figura 10 retrata uma modalidade exemplificativa de uma vista de linha de tempo para introdução de dados. Com o uso da exibição retratada na Figura 10, um computador de usuário pode inserir uma seleção de um campo particular e uma data particular para a adição de evento. Os eventos retratados no topo da linha de tempo incluem Nitrogênio, Plantação, Práticas e Solo. Para adicionar um evento de aplicação de nitrogênio, um computador de usuário pode fornecer admissão para selecionar a aba de nitrogênio. O computador de usuário pode, então, selecionar uma localização na linha de tempo para um campo particular a fim de indicar uma aplicação de nitrogênio no campo selecionado. Em resposta a receber uma seleção de uma localização na linha de tempo por um campo particular, o gerenciador de dados pode exibir uma sobreposição de introdução de dados, que permite que o computador de usuário inserte dados que pertencem a aplicações de nitrogênio, procedimentos de plantio, aplicação de solo, procedimentos de lavragem, práticas de irrigação ou outras informações relacionadas ao campo particular. Por exemplo, se um computador de usuário selecionar uma porção da linha de tempo e indicar uma aplicação de nitrogênio, então, a sobreposição de introdução de dados pode incluir campos para inserir uma quantidade de nitrogênio aplicado, dados de aplicação, um tipo de fertilizante usado e quaisquer outras informações relacionadas à aplicação de nitrogênio.
[032] Em uma modalidade, o gerenciador de dados fornece uma interface para criar um ou mais programas. “Programa”, nesse contexto, se refere a um conjunto de dados referentes a aplicações de nitrogênio, procedimentos de plantação, aplicação de solo, procedimentos de lavragem, práticas de irrigação ou outras informações que podem ser relacionadas a um ou mais campos e que podem ser armazenadas em armazenamento digital de dados para reutilização como um conjunto em outras operações. Após um programa ter sido criado, o mesmo pode ser conceitualmente aplicado a um ou mais campos e as referências ao programa podem ser armazenadas em armazenamento digital em associação aos dados que identificam os campos. Desse modo, em vez de introduzir manualmente dados idênticos relacionados às mesmas aplicações de nitrogênio por múltiplos campos diferentes, um computador de usuário pode criar um programa que indica uma aplicação particular de nitrogênio e, então, aplicar o programa a múltiplos campos diferentes. Por exemplo, na vista de linha de tempo da Figura 10, o topo de duas linhas de tempo tem o programa "aplicado no Outono" selecionado, que inclui uma aplicação de 168 kg N/ha (150 lbs N/ac) no início de abril. O gerenciador de dados pode fornecer uma interface para editar um programa. Em uma modalidade, quando um programa particular é editado, cada campo que selecionou o programa particular é editado. Por exemplo, na Figura 10, se o programa "aplicado no Outono" for editado para reduzir a aplicação de nitrogênio a 145,7 Kg N/ha (130 lbs N/ac), os dois campos de topo podem ser atualizados com uma aplicação de nitrogênio reduzida com base no programa editado.
[033] Em uma modalidade, em resposta a receber edições para um campo que tem um programa selecionado, o gerenciador de dados remove a correspondência do campo para o programa selecionado. Por exemplo, se uma aplicação de nitrogênio for adicionada ao campo de topo na Figura 10, a interface pode se atualizar para indicar que o programa "aplicado no Outono" não é mais aplicado ao campo de topo. Embora a aplicação de nitrogênio no início de abril possa permanecer, as atualizações ao programa "aplicado no Outono" não alterariam a aplicação de nitrogênio de abril.
[034] A Figura 6 retrata uma modalidade exemplificativa de uma vista de planilha para a introdução de dados. Com o uso da exibição retratada na Figura 6, um usuário pode criar e editar informações para um ou mais campos. O gerenciador de dados pode incluir planilhas para inserir informações com relação a Nitrogênio, Plantação, Práticas e Solo, conforme retratado na Figura 6. Para editar uma introdução particular, um computador de usuário pode selecionar a introdução particular na planilha e atualizar os valores. Por exemplo, a Figura 6 retrata uma atualização em progresso para um valor de rendimento alvo para o segundo campo. Adicionalmente, um computador de usuário pode selecionar um ou mais campos a fim de aplicar um ou mais programas. Em resposta a receber uma seleção de um programa para um campo particular, o gerenciador de dados pode completar automaticamente as introduções para o campo particular com base no programa selecionado. Como com a vista de linha de tempo, o gerenciador de dados pode atualizar as introduções para cada campo associado a um programa particular em resposta a receber uma atualização para o programa. Adicionalmente, o gerenciador de dados pode remover a correspondência do programa selecionado para o campo em resposta a receber uma edição para uma dentre as introduções para o campo.
[035] Em uma modalidade, os dados de modelo e campo são armazenados no repositório de dados de modelo e campo 160. O modelo compreende modelos de dados criados para um ou mais campos. Por exemplo, um modelo de cultura pode incluir um modelo construído digitalmente do desenvolvimento de uma cultura em um ou mais campos. “Modelo”, nesse contexto, se refere a um conjunto eletrônico armazenado digitalmente de instruções executáveis e valores de dados, associados entre si, que têm a capacidade para receber e responder a uma chamada programática ou outra chamada, invocação ou solicitação digital para resolução com base em valores de admissão específicos, para render um ou mais valores de emissão armazenados que podem servir como a base de recomendações implementadas em computador, exibições de dados de emissão ou controle de máquina, entre outras coisas. As pessoas versadas no campo constataram que é conveniente expressar modelos com o uso de equações matemáticas, mas que a forma de expressão não confina os modelos revelados no presente documento para abstrair conceitos; em vez disso, cada modelo no presente documento tem uma aplicação prática em um computador na forma de instruções executáveis e dados armazenados que implantam o modelo com o uso do computador. O modelo pode incluir um modelo de eventos anteriores em um ou mais campos, um modelo da situação atual de um ou mais campos e/ou um modelo de eventos previstos em um ou mais campos. Os dados de modelo e campo podem ser armazenados em estruturas de dados na memória, fileiras em uma tabela de banco de dados, em arquivos simples ou planilhas, ou outras formas de dados digitais armazenados.
[036] A camada de hardware/virtualização 150 compreende uma ou mais unidades de processamento central (CPUs), controladores de memória, e outros dispositivos, componentes, ou elementos de um sistema de computador, tais como memória volátil ou não volátil, armazenamento não volátil, tal como disco, e dispositivos ou interfaces de I/O, conforme ilustrados e descritos, por exemplo, em conexão com a Figura 4. A camada 150 também pode compreender instruções programadas que são configuradas para suportar virtualização, contentorização ou outras tecnologias.
[037] Para fins de ilustração de um exemplo claro, a Figura 1 mostra um número limitado de exemplos de determinados elementos funcionais. No entanto, em outras modalidades, pode haver qualquer número de tais elementos. Por exemplo, as modalidades podem usar milhares ou milhões de dispositivos de computação móveis diferentes 104 associados a usuários diferentes. Adicionalmente, o sistema 130 e/ou o computador de servidor de dados externos 108 podem ser implementados com o uso de dois ou mais processadores, núcleos, agrupamentos ou exemplos de máquinas físicas ou máquinas virtuais, configuradas em uma localização discreta ou colocalizadas com outros elementos em um centro de dados, instalações de computação compartilhadas ou instalações de computação em nuvem.
2.2 . VISÃO GERAL DE PROGRAMA APLICATIVO
[038] Em uma modalidade, a implementação das funções descritas no presente documento com o uso de um ou mais programas de computador ou outros elementos de software que são carregados em e executados com o uso de um ou mais computadores de propósito geral fará com que os computadores de propósito geral sejam configurados como uma máquina particular ou como um computador que é especialmente adaptado para realizar as funções descritas no presente documento. Adicionalmente, cada um dentre os diagramas de fluxo que são descritos adicionalmente no presente documento pode servir, sozinho ou em combinação com as descrições de processos e funções em prosa no presente documento, como algoritmos, planos ou direções que podem ser usadas para programar um computador ou lógica para implementar as funções que são descritas. Em outras palavras, todo o texto em prosa no presente documento, e todas as Figuras em desenho, em conjunto, são destinados a fornecer a revelação de algoritmos, planos ou direções que são suficientes para permitir que uma pessoa versada programe um computador para realizar as funções que são descritas no presente documento, em combinação com a habilidade e o conhecimento de tal pessoa, dado o nível de habilidade que é adequado para invenções e revelações desse tipo.
[039] Em uma modalidade, o usuário 102 interage com o sistema de computador de inteligência agrícola 130 com o uso do dispositivo de computação de gerenciamento de campo 104 configurado com um sistema operacional e um ou mais programas de aplicativo ou apps; o dispositivo de computação de gerenciamento de campo 104 também pode interoperar com o sistema de computador de inteligência agrícola independente e automaticamente sob controle de programa ou controle lógico e a interação de usuário direta não é sempre necessária. O dispositivo de computação de gerenciamento de campo 104 representa amplamente um ou mais dentre um smartphone, PDA, dispositivo de computação tipo tablet, computador tipo laptop, computador tipo desktop, estação de trabalho ou qualquer outro dispositivo de computação que possa transmitir e receber informações e realizar as funções descritas no presente documento. O dispositivo de computação de gerenciador de campo 104 pode se comunicar por meio de uma rede com o uso de um aplicativo móvel armazenado no dispositivo de computação de gerenciador de campo 104, e em algumas modalidades, o dispositivo pode ser acoplado com o uso de um cabo 113 ou conector ao sensor 112 e/ou controlador 114. Um usuário particular 102 pode ter, operar ou possuir e usar, em conexão com o sistema 130, mais do que um dispositivo de computação de gerenciador de campo 104 por vez.
[040] O aplicativo móvel pode fornecer funcionalidade de lado do cliente, por meio da rede para um ou mais dispositivos de computação móveis. Em uma modalidade exemplificativa, o dispositivo de computação de gerenciador de campo 104 pode acessar o aplicativo móvel por meio de um navegador de web ou um aplicativo de cliente local ou app. O dispositivo de computação de gerenciador de campo 104 pode transmitir dados para, e receber dados de, um ou mais servidores de front-end, com o uso de protocolos ou formatos com base em web, tais como HTTP, XML e/ou JSON, ou protocolos específicos de app. Em uma modalidade exemplificativa, os dados podem assumir a forma de solicitações e entradas de informações de usuário, tais como dados de campo, no dispositivo de computação móvel. Em algumas modalidades, o aplicativo móvel interage com hardware e software de rastreamento de localização no dispositivo de computação de gerenciador de campo 104 que determina a localização do dispositivo de computação de gerenciador de campo 104 com o uso de técnicas de rastreamento padrão, tais como multilateração de sinais de rádio, o sistema de posicionamento global (GPS), sistemas de posicionamento WiFi, ou outros métodos de posicionamento móvel. Em alguns casos, os dados de localização ou outros dados associados ao dispositivo 104, ao usuário 102 e/ou à conta (ou contas) de usuário podem ser obtidos por consultas a um sistema operacional do dispositivo ou solicitando-se que um app no dispositivo obtenha dados do sistema operacional.
[041] Em uma modalidade, o dispositivo de computação de gerenciador de campo 104 envia dados de campo 106 para o sistema de computador de inteligência agrícola 130 que compreende ou inclui, porém, sem limitação, valores de dados que representam um ou mais dentre: uma localização geográfica de um ou mais campos, informações de lavragem para o um ou mais campos, culturas plantadas em um ou mais campos e dados de solo extraídos de um ou mais campos. O dispositivo de computação de gerenciador de campo 104 pode enviar dados de campo 106 em resposta a uma admissão de usuário a partir do usuário 102 que especifica os valores de dados para um ou mais campos. Adicionalmente, o dispositivo de computação de gerenciamento de campo 104 pode enviar automaticamente dados de campo 106 quando um ou mais dentre os valores de dados se tornam disponíveis para o dispositivo de computação de gerenciamento de campo 104. Por exemplo, o dispositivo de computação de gerenciador de campo 104 pode ser acoplado de modo comunicativo ao sensor remoto 112 e/ou controlador de aplicação 114. Em resposta ao recebimento de dados que indica que o controlador de aplicação 114 liberou água sobre o um ou mais campos, o dispositivo de computação de gerenciador de campo 104 pode enviar dados de campo 106 para o sistema de computador de inteligência agrícola 130 que indica que a água foi liberada em um ou mais campos. Os dados de campo 106 identificados nessa revelação podem ser admitidos e comunicados com o uso de dados digitais eletrônicos que são comunicados entre dispositivos de computação com o uso de URLs parametrizados através de HTTP, ou outro protocolo de comunicação ou mensagem adequada.
[042] Um exemplo comercial do aplicativo móvel é CLIMATE FIELDVIEW, disponibilizado comercialmente pela The Climate Corporation, São Francisco, Califórnia, EUA. O aplicativo The CLIMATE FIELDVIEW, ou outros aplicativos, podem ser modificados, estendidos ou adaptados para incluir recursos, funções e programação que não foi revelada anteriormente a dados de depósito desta revelação. Em uma modalidade, o aplicativo móvel compreende uma plataforma de software integrada que permite que um produtor realize decisões com base em fatos para suas operações devido ao fato de combinar dados históricos sobre os campos do produtor com quaisquer outros dados que o produtor desejar comparar. As combinações e comparações podem ser realizadas em tempo real e são baseadas mediante os modelos científicos que fornecem cenários potenciais para permitir que o produtor realize decisões melhores, mais informadas.
[043] A Figura 2 ilustra duas vistas de uma organização lógica exemplificativa de conjuntos de instruções na memória principal quando um aplicativo móvel exemplificativo é carregado para a execução. Na Figura 2, cada elemento nomeado representa uma região de uma ou mais páginas de RAM ou outra memória principal, ou um ou mais blocos de armazenamento de disco ou outro armazenamento não volátil, e as instruções programadas dentro de tais regiões. Em uma modalidade, na vista (a), um aplicativo de computador móvel 200 compreende instruções de compartilhamento de assimilação de dados de campo de conta 202, instruções de visão geral e 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 meteorológicas 212, instruções de saúde de campo 214 e instruções de desempenho 216.
[044] Em uma modalidade, um aplicativo de computador móvel 200 compreende instruções de compartilhamento de assimilação de dados de campo de conta 202 que são programadas para receber, traduzir e assimilar dados de campo de sistemas de terceiros por meio de upload manual ou APIs. Os tipos de dados podem incluir delimitações de campo, mapas de rendimento, mapas de plantação, resultados de teste de solo, mapas de aplicação, e/ou zonas de gerenciamento, entre outros. Os formatos de dados podem incluir arquivos de forma, formatos de dados nativos de terceiros, e/ou exportações de sistema de informações de gerenciamento de fazenda (FMIS), entre outros. O recebimento de dados pode ocorrer por meio de upload manual, e-mail com anexo, APIs externas que empurram dados para o aplicativo móvel ou instruções que chamam APIs de sistemas externos para puxar dados para dentro do aplicativo móvel. Em uma modalidade, o aplicativo de computador móvel 200 compreende uma caixa de entrada de dados. Em resposta a receber uma seleção da caixa de entrada de dados, o aplicativo de computador móvel 200 pode exibir uma interface de usuário gráfica para carregar manualmente arquivos de dados e importar arquivos carregados para um gerenciador de dados.
[045] Em 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 ferramentas de visualização de dados e notas de campo geoespaciais. Isso fornece aos produtores informações convenientes próximas para referência, registro e percepções visuais em desempenho de campo. Em uma modalidade, as instruções de visão geral e alerta 204 são programadas para fornecer uma vista de operação ampla do que é importante para o produtor, e recomendações pontuais para agir ou focar em problemas particulares. Isso permite que o produtor foque o tempo no que precisa de atenção, para poupar tempo e preservar o rendimento ao longo da estação. Em uma modalidade, as instruções de sementes e plantio 208 são programadas para fornecer ferramentas para seleção de semente, colocação híbrida e criação de roteiro, que inclui criação de roteiro de taxa variável (VR), com base nos modelos científicos e dados empíricos. Isso permite que produtores maximizem o rendimento ou o retorno em investimento por meio de compra, colocação e população de sementes otimizadas.
[046] Em uma modalidade, as instruções de geração de roteiro 205 são programadas para fornecer uma interface para gerar roteiros, incluindo roteiros de fertilidade de taxa variável (VR). A interface permite que os produtores criem roteiros para implementos de campo, tais como aplicações de nutriente, plantio e irrigação. Por exemplo, uma interface de roteiro de plantio pode compreender ferramentas para identificar um tipo de semente para o plantio. Mediante o recebimento de uma seleção do tipo de semente, o aplicativo de computador móvel 200 pode exibir um ou mais campos separados em zonas de gerenciamento, como as camadas de dados de mapa de campo criadas como parte das instruções de livro de mapa digital 206. Em 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 também pode exibir ferramentas para editar ou criar as mesmas, como ferramentas gráficas para desenhar zonas de gerenciamento, como 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 procedimentos de plantação podem ser aplicados a diferentes subconjuntos de zonas de gerenciamento. Quando um roteiro é criado, o aplicativo de computador móvel 200 pode tornar o roteiro disponível para transferência por upload em um formato legível por um controlador de aplicativo, tal como um formato arquivado ou comprimido. Adicional e/ou alternativamente, um roteiro pode ser enviado diretamente ao computador de cabine 115 a partir do aplicativo de computador móvel 200 e/ou transferido por download para um ou mais servidores de dados e armazenadas para o uso adicional.
[047] Em uma modalidade, as instruções de nitrogênio 210 são programadas para fornecer ferramentas para informar decisões de nitrogênio visualizando-se a disponibilidade de nitrogênio para culturas. Isso permite que os produtores maximizem o rendimento ou retorno no investimento por meio de aplicação de nitrogênio otimizada durante a estação. As funções programadas exemplificativas incluem exibir imagens tais como imagens de SSURGO para permitir desenhar as zonas e/ou imagens de aplicação geradas a partir de dados de solo de subcampo, tais dados obtidos a partir de sensores, em uma alta resolução espacial (bem como 10 metros ou menor devido a suas proximidades do solo); transferir por upload zonas definidas pelo produtor existentes; fornecer um gráfico de aplicativo e/ou um mapa para permitir o ajuste de aplicativo (ou aplicativos) de nitrogênio ao longo de múltiplas zonas; emissão de roteiros para acionar maquinário; ferramentas para introdução de dados em massa e ajuste; e/ou mapas para visualização de dados, entre outros. “Introdução de dados em massa”, nesse contexto, pode significar introduzir dados uma vez e, então, aplicar os mesmos dados a múltiplos campos que foram definidos no sistema; os dados exemplificativos podem incluir dados de aplicação de nitrogênio que são os mesmos para muitos campos do mesmo produtor, mas tal introdução de dados em massa se aplica à introdução de qualquer tipo de dados de campo no aplicativo de computador móvel 200. Por exemplo, instruções de nitrogênio 210 podem ser programadas para aceitar definições de plantio de nitrogênio e programas de práticas e para aceitar a especificação de entrada de usuário para aplicar aqueles programas através de múltiplos campos. “Programas de plantio de nitrogênio”, nesse contexto, se refere a um conjunto de dados nomeado armazenado que associa: um nome, código de cor ou outro identificador, uma ou mais datas de aplicação, tipos de material ou produto para cada uma dentre as datas e as quantidades, método para aplicação ou incorporação, tal como injetado ou injetado por faca (knifed in) e/ou quantidades ou faixas de aplicação para cada uma dentre as datas, a cultura ou o híbrido que é matéria da aplicação, entre outros. “Programas de práticas com nitrogênio”, nesse contexto, se refere a um conjunto de dados nomeado, armazenado que associa: um nome de práticas; uma cultura anterior; um sistema de lavragem; dados de lavragem primária; um ou mais sistemas de lavragem anteriores que foram usados; um ou mais indicadores de tipo de aplicação, como adubo, que foram usados. As instruções de nitrogênio 210 também podem ser programadas para gerar e causar a exibição de um gráfico de nitrogênio, que indica projeções de uso em planta do nitrogênio especificado e a possibilidade de um excesso ou uma escassez serem preditos; em algumas modalidades, indicadores de cor diferentes podem sinalar uma magnitude de excesso ou magnitude de escassez. Em uma modalidade, um gráfico de nitrogênio compreende uma exibição gráfica em um dispositivo de exibição de computador que compreende uma pluralidade de fileiras, sendo que cada fileira é associada a e identifica um campo; dados que especificam qual cultura é plantada no campo, o tamanho de campo, a localização de campo, e uma representação gráfica do perímetro de campo; em cada fileira, uma linha de tempo por mês com indicadores gráficos que especificam cada aplicação de nitrogênio e quantidade nos pontos correlacionados aos nomes de mês; e indicadores numéricos e/ou coloridos de excesso ou escassez, nos quais a cor indica a magnitude.
[048] Em uma modalidade, o gráfico de nitrogênio pode incluir um ou mais recursos de entrada de usuário, tais como mostradores ou barras deslizadoras, para alterar dinamicamente os programas de plantio e práticas com nitrogênio de modo que um usuário possa otimizar seu gráfico de nitrogênio. O usuário pode, então, usar seu gráfico de nitrogênio otimizado e os programas de plantio e práticas com nitrogênio relacionados para implementar um ou mais roteiros, incluindo roteiros de fertilidade de taxa variável (VR). As instruções de nitrogênio 210 também podem ser programadas para gerar e causar a exibição de um mapa de nitrogênio, que indica projeções de uso de planta do nitrogênio especificado e a possibilidade de um excesso ou uma escassez serem preditos; em algumas modalidades, indicadores de cor diferentes podem sinalizar uma magnitude de excesso ou magnitude de escassez. O mapa de nitrogênio pode exibir projeções de uso de planta do nitrogênio especificado e a possibilidade de um excesso ou uma escassez ser predita para tempos diferentes no passado e no futuro (tal como diariamente, semanalmente, mensalmente ou anualmente) com o uso de indicadores numéricos e/ou coloridos de excesso ou escassez, em que a cor indica a magnitude. Em uma modalidade, o mapa de nitrogênio pode incluir um ou mais recursos de entrada de usuário, tais como mostradores ou barras deslizadoras, para alterar dinamicamente os programas de plantio e práticas com nitrogênio de modo que um usuário possa otimizar seu mapa de nitrogênio, tal como obter uma quantidade preferida de excesso a escassez. O usuário pode, então, usar seu mapa de nitrogênio otimizado e os programas de plantio e práticas com nitrogênio relacionados para implementar um ou mais roteiros, incluindo roteiros de fertilidade de taxa variável (VR). Em outras modalidades, instruções semelhantes às instruções de nitrogênio 210 podem ser usadas para aplicação de outros nutrientes (tais como fósforo e potássio) aplicação de pesticida e programas de irrigação.
[049] Em uma modalidade, instruções meteorológicas 212 são programadas para fornecer dados meteorológicos recentes específicos ao campo e informações meteorológicas previstas. Isso permite que os produtores poupem tempo e tenham uma exibição integrada eficiente em relação a decisões operacionais diárias.
[050] Em uma modalidade, as instruções de saúde de campo 214 são programadas para fornecer imagens de detecção remota oportunas que destacam a variação de cultura na estação e problemas potenciais. As funções programadas exemplificativas incluem verificação de nuvem, para identificar possíveis nuvens ou sombras de nuvem; determinar índices de nitrogênio com base em imagens de campo; visualização gráfica de camadas de aferição, que incluem, por exemplo, aquelas relacionadas à saúde de campo, e visualizar e/ou compartilhar observações de aferição; e/ou transferir por download imagens de satélite a partir de múltiplas fontes e priorizar as imagens para o produtor, entre outros.
[051] Em uma modalidade, as instruções de desempenho 216 são programadas para fornecer relatórios, análise e ferramentas de percepção com o uso de dados no ambiente agrícola para a avaliação, percepções e decisões. Isso possibilita que o produtor busque resultados aprimorados para o próximo ano através de conclusões com base em fatos sobre o motivo para que o retorno sobre o investimento fosse em níveis anteriores, e percepção nos fatores de limitação de rendimento. As instruções de desempenho 216 podem ser programadas para se comunicarem por meio da rede (ou redes) 109 com programas analíticos de back-end executados no sistema de computador de inteligência agrícola 130 e/ou computador de servidor de dados externos 108 e configurados para analisar medições, tais como rendimento, híbrido, população, SSURGO, testes de solo ou elevação, entre outros. Relatórios e análises programados podem incluir análises de variabilidade de rendimento, análise comparativa (benchmarking) de rendimento e outras medições contra outros produtores com base em dados anônimos coletados a partir de muitos produtores, ou dados para sementes e plantio, entre outros.
[052] Aplicativos que têm instruções configuradas dessa forma podem ser implantados para plataformas de dispositivo de computação diferentes enquanto retêm a mesma aparência de interface de usuário. Por exemplo, o aplicativo móvel pode ser programado para a execução em computadores do tipo tablet, smartphones ou computadores de servidor que são acessados com o uso de navegadores em computadores de cliente. Ademais, o aplicativo móvel, conforme configurado para computadores do tipo tablet ou smartphones, pode fornecer uma experiência de app completa ou uma experiência de app de cabine que é adequada para as capacidades para exibir e processar do computador de cabine 115. Por exemplo, referindo-se agora à vista (b) da Figura 2, em uma modalidade, um aplicativo de computador de cabine 220 pode compreender instruções de cabine de mapas 222, instruções de vista remota 224, instruções de coleta e transferência de dados 226, instruções de alertas de máquina 228, instruções de transferência de roteiro 230, e instruções de cabine de aferição 232. A base de código para as instruções da vista (b) pode ser igual à da vista (a) e os executáveis que implementam o código podem ser programados para detectar o tipo de plataforma em que são executados e para expor, através de uma interface de usuário gráfica, apenas aquelas funções que são adequadas para uma plataforma de cabine ou plataforma completa. Essa abordagem permite que o sistema reconheça a experiência de usuário distintamente diferente que é apropriada para um ambiente em cabine e o ambiente de tecnologia diferente da cabine. As instruções de cabine de mapas 222 podem ser programadas para fornecer vistas de mapa de campos, fazendas ou regiões que são úteis no direcionamento de operação de máquina. As instruções de vista remota 224 podem ser programadas para ligar, gerenciar e fornecer vistas de atividade de máquina em tempo real ou quase em tempo real para outros dispositivos de computação conectados ao sistema 130 por meio de redes sem fio, conectores ou adaptadores com fio, e similares. As instruções de coleta e transferência de dados 226 podem ser programadas para ligar, gerenciar e fornecer transferência de dados coletados em sensores e controladores de máquina para o sistema 130 por meio de redes sem fio, conectores ou adaptadores com fio, e similares. As instruções de alertas de máquina 228 podem ser programadas para detectar problemas com operações da máquina ou das ferramentas que são associadas à cabine e gerar alertas de operador. As instruções de transferência de roteiro 230 podem ser configuradas para transferir em roteiros de instruções que são configurados para direcionar operações de máquina ou a coleção de dados. As instruções de cabine de aferição 230 podem ser programadas para exibir alertas com base em localização e informações recebidas a partir do sistema 130 com base na localização do aparelho agrícola 111 ou dos sensores 112 no campo e ingerir, gerenciar e fornecer transferência de observações de aferição com base em localização para o sistema 130 com base na localização do aparelho agrícola 111 ou nos sensores 112 no campo.
2.3 . INGESTÃO DE DADOS NO SISTEMA DE COMPUTADOR
[053] Em uma modalidade, o computador de servidor de dados externos 108 armazena dados externos 110, que incluem dados de solo que representam a composição de solo para o um ou mais campos e dados de clima que representam a temperatura e a precipitação no um ou mais campos. Os dados de clima podem incluir dados de clima anteriores e presentes, assim como previsões para dados de clima futuros. Em uma modalidade, o computador de servidor de dados externos 108 compreende uma pluralidade de servidores hospedados por entidades diferentes. Por exemplo, um primeiro servidor pode conter dados de composição de solo enquanto um segundo servidor pode incluir dados de clima. Adicionalmente, os dados de composição de solo podem ser armazenados em múltiplos servidores. Por exemplo, um servidor pode armazenar dados que representam a porcentagem de areia, silte (silt) e barro no solo enquanto um segundo servidor pode armazenar dados que representam a porcentagem de matéria orgânica (OM) no solo.
[054] Em uma modalidade, o sensor remoto 112 compreende um ou mais sensores que são programados ou configurados para produzir uma ou mais observações. O sensor remoto 112 pode consistir em sensores aéreos, como satélites, sensores de veículo, sensores de equipamento de plantio, sensores de lavragem, sensores de aplicação de fertilizante ou inseticida, sensores de colheitadeira, e qualquer outro implemento capaz de receber dados a partir de um ou mais campos. Em uma modalidade, o controlador de aplicação 114 é programado ou configurado para receber instruções do sistema de computador de inteligência agrícola 130. O controlador de aplicação 114 também pode ser programado ou configurado para controlar um parâmetro de operação de um veículo ou implemento agrícola. Por exemplo, um controlador de aplicação pode ser programado ou configurado para controlar um parâmetro de operação de um veículo, como um trator, equipamento de plantio, equipamento de lavragem, equipamento de inseticida ou fertilizante, equipamento de colheita ou outros implementos agrícolas como uma válvula de água. Outras modalidades podem usar qualquer combinação de sensores e controladores, dentre os quais os seguintes são meramente exemplos selecionados.
[055] O sistema 130 pode obter ou ingerir dados sob o controle de usuário 102, com base em massa de um grande número de produtores que contribuíram com dados para um sistema de banco de dados compartilhados. Essa forma de se obter dados pode ser denominada “ingestão de dados manual” visto que uma ou mais operações de computador controladas por usuário são necessárias ou acionadas para se obter dados para uso pelo sistema 130. Como exemplo, o aplicativo CLIMATE FIELDVIEW, disponibilizado comercialmente pela Climate Corporation, São Francisco, Califórnia, EUA, pode ser operado para exportar dados para o sistema 130 para o armazenamento no repositório 160.
[056] Por exemplo, os sistemas de monitoramento de semente podem tanto controlar componentes de aparelho de plantador quanto obter dados de plantação, incluindo sinais de sensores de semente por meio de um arreio (harness) de sinal que compreende uma estrutura principal de CAN e conexões de ponto a ponto para registro e/ou diagnóstico. Os sistemas de monitoramento de semente podem ser programados ou configurados para exibir espaçamento, população e outras informações de semente para o usuário por meio do computador de cabine 115 ou de outros dispositivos no sistema 130. Os exemplos são revelados na Patente No. U.S. 8.738.243 e Patente No. U.S. 20150094916, e a presente revelação assume o conhecimento de tais outras revelações de patente.
[057] De modo semelhante, os sistemas de monitoramento de rendimento podem conter sensores de rendimento para aparelho de colheitadeira que envia dados de medição de rendimento para o computador de cabine 115 ou outros dispositivos no sistema 130. Os sistemas de monitoramento de rendimento podem utilizar um ou mais sensores remotos 112 para obter as medições de hidratação de grão em uma colheitadeira de grãos ou outra colheitadeira e transmitir essas medições para o usuário por meio do computador de cabine 115 ou outros dispositivos no sistema 130.
[058] Em uma modalidade, exemplos de sensores 112 que podem ser usados com qualquer veículo ou aparelho em movimento do tipo descrito em outra parte no presente documento incluem sensores de cinemática e sensores de posição. Os sensores de cinemática podem compreender quaisquer sensores de velocidade escalar, tais como radar ou sensores de velocidade escalar de roda, acelerômetros ou giroscópios. Os sensores de posição podem compreender receptores ou transceptores de GPS, ou apps de posicionamento ou mapeamento com base em WiFi que são programados para determinar localização com base em pontos de acesso WiFi próximos, entre outros.
[059] Em uma modalidade, os exemplos de sensores 112 que podem ser usados com tratores ou outros veículos em movimento incluem sensores de velocidade escalar de motor, sensores de consumo de combustível, contadores de área ou contadores de distância que interagem com sinais de GPS ou radar, sensores de velocidade escalar de PTO (tomada de potência), sensores hidráulicos de trator configurados para detectar parâmetros hidráulicos, tais como pressão ou fluxo, e/ou e velocidade escalar de bomba hidráulica, sensores de velocidade escalar de roda ou sensores de deslizamento de roda. Em uma modalidade, os exemplos de controladores 114 que podem ser usados com tratores incluem controladores direcionais hidráulicos, controladores de pressão e/ou controladores de fluxo; controladores de velocidade de bomba hidráulica; controladores ou governadores de velocidade; controladores de posição do engate; ou controladores de posição de roda fornecem direcionamento automático.
[060] Em uma modalidade, exemplos de sensores 112 que podem ser usados com equipamento de plantio de semente, tais como semeadoras (planters), brocas, ou semeadores pneumáticos incluem sensores de semente, que 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 propriedades de solo, tais como sensores de refletividade, sensores de umidade, sensores de condutividade elétrica, sensores de resíduo óptico, ou sensores de temperatura; sensores de critérios de operação de componente, tais como sensores de profundidade de plantio, sensores de pressão de cilindro de força descendente, sensores de velocidade escalar de disco de semente, codificadores de motor de acionamento de semente, sensores de velocidade escalar de sistema transportador de semente, ou sensores de nível de vácuo; ou sensores de aplicação de pesticida, tais como sensores ópticos ou outros sensores eletromagnéticos ou sensores de impacto. Em uma modalidade, os exemplos de controladores 114 que podem ser usados com tal equipamento de plantio de semente incluem: controladores de dobra de barra de ferramenta, tais como controladores para válvulas associados a cilindros hidráulicos; controladores de força descendente, tais como controladores para válvulas associadas a cilindros pneumáticos, almofadas de ar (airbags), ou cilindros hidráulicos, e programadas para aplicar força descendente a unidades de fileira individuais ou um quadro de semeadora (planter) inteiro; controladores de profundidade de plantio, tais como atuadores lineares; controladores de medição, tais como motores de acionamento de medidor de semente elétrico, motores de acionamento de medidor de semente hidráulico, ou embreagens de controle de faixa de plantio; controladores de seleção híbrida, tais como motores de acionamento de medidor de semente, ou outros atuadores programados para permitir ou impedir seletivamente que a semente ou uma mistura de ar e semente distribua semente para ou a partir de medidores de semente ou tremonhas a granel central; controladores de medição, tais como motores de acionamento de medidor de semente elétrico, ou motores de acionamento de medidor de semente hidráulico; controladores de sistema transportador de semente, tais como controladores para um motor de esteira transportadora de distribuição de semente; controladores de marcador, tais como um controlador para um atuador pneumático ou hidráulico; ou controladores de taxa de aplicação de pesticida, tais como controladores de acionamento de medição, controladores de tamanho ou posição de orifício.
[061] Em uma modalidade, os exemplos de sensores 112 que podem ser usados com o equipamento de lavragem incluem sensores de posição para ferramentas, tais como hastes ou discos; sensores de posição de ferramenta para tais ferramentas que são configuradas para detectar profundidade, inclinação dos corpos de discos ou espaçamento lateral de ferramenta; sensores de força descendente; ou sensores de força de tração. Em uma modalidade, os exemplos de controladores 114 que podem ser usados com o equipamento de lavragem incluem controladores de força descendente ou controladores de posição de ferramenta, tais como controladores configurados para controlar profundidade, inclinação dos corpos de discos ou espaçamento lateral de ferramenta.
[062] Em uma modalidade, os exemplos de sensores 112 que podem ser usados em relação ao aparelho para aplicar fertilizante, inseticida, fungicida e semelhantes, tais como sistemas fertilizantes iniciantes em semeadora (planter), aplicadores de fertilizante de subsolo, ou pulverizadores de fertilizante, incluem: sensores de critérios de sistema de fluido, tais como sensores de fluxo ou sensores de pressão; sensores que indicam quais válvulas de cabeça de pulverização ou válvulas em linha de fluido estão abertas; sensores associados a tanques, tais como sensores de nível de preenchimento; sensores de linha de abastecimento transversal ou de sistema amplo, ou sensores de linha de abastecimento específicos de fileira; ou sensores de cinemática, tais como acelerômetros dispostos em vigas de pulverizador. Em uma modalidade, os exemplos de controladores 114 que podem ser usados com tal aparelho incluem controladores de velocidade de bomba; controladores de válvula que são programados para controlar a pressão, o fluxo, a direção, PWM e similares; ou atuadores de posição, como para altura das vigas, profundidade subterrânea ou posição de vigas.
[063] Em uma modalidade, os exemplos de sensores 112 que podem ser usados com colheitadeiras incluem monitores de rendimento, tais como extensômetros de placa de impacto ou sensores de posição, sensores de fluxo capacitivo, sensores de carga, sensores de peso ou sensores de torque associados a elevadores ou brocas, ou sensores de altura de grão ópticos ou outros eletromagnéticos; sensores de umidade de grãos, tais como sensores capacitivos; sensores de perda de grão, incluindo sensores de impacto, ópticos ou capacitivos; sensores de critérios de operação de conduto principal, tais como altura de conduto principal, tipo de conduto principal, lacuna de placa de convés, velocidade escalar de alimentador, e sensores de velocidade escalar de bobina; separador que opera sensores de critérios, tais como sensores de folga côncava, velocidade escalar de rotor, folga de sapata, ou folga de chanfro (chaffer); sensores de broca para posição, operação ou velocidade escalar; ou sensores de velocidade escalar de motor. Em uma modalidade, os exemplos de controladores 114 que podem ser usados com colheitadeiras incluem controladores de critérios de operação de conduto principal para elementos, tais como altura de conduto principal, tipo de conduto principal, lacuna de placa de convés, velocidade escalar de alimentador, ou velocidade escalar de bobina; controladores de critérios de operação de separador para recursos, tais como folga côncava, velocidade escalar de rotor, folga de sapata, ou folga de chanfro (chaffer); ou controladores para posição, operação ou velocidade escalar de broca.
[064] Em uma modalidade, os exemplos de sensores 112 que podem ser usados com caçambas de grãos incluem sensores de peso, ou sensores para posição, operação ou velocidade escalar de broca. Em uma modalidade, os exemplos de controladores 114 que podem ser usados com caçambas de grãos incluem controladores para posição, operação ou velocidade escalar de broca.
[065] Em uma modalidade, os exemplos de sensores 112 e controladores 114 podem ser instalados em aparelho de veículo aéreo não tripulado (UAV) ou “drones”. Tais sensores podem incluir câmeras com detectores eficazes para qualquer faixa do espectro eletromagnético incluindo luz visível, infravermelho, ultravioleta, próximo do infravermelho (NIR), e similares; acelerômetros; altímetros; sensores de temperatura; sensores de umidade; sensores de tubo de pitot ou outros sensores de velocidade do ar ou de velocidade do vento; sensores de vida de bateria; ou emissores de radar e aparelho de detecção de energia de radar refletida. Tais controladores podem incluir aparelho de controle de orientação ou motor, controladores de superfície de controle, controladores de câmera, ou controladores programados para ligar, operar, obter dados de, gerenciar e configurar qualquer um dentre os sensores de previsão. Os exemplos são revelados na Patente no U.S. 14/831.165 e a presente revelação assume o conhecimento de tal revelação de patente.
[066] Em uma modalidade, os sensores 112 e os controladores 114 podem ser afixados a amostragem de solo e aparelho de medição, que é configurado ou programado para amostrar solo e realizar testes químicos no solo, testes de umidade de solo, e outros testes pertencentes a solo. Por exemplo, o aparelho revelado na Patente no U.S. 8.767.194 e na Patente no U.S. 8.712.148 pode ser usado, e a presente revelação assume o conhecimento dessas revelações de patente.
2.4 VISÃO GERAL DE PROCESSO - TREINAMENTO DE MODELO AGRONÔMICO
[067] Em uma modalidade, o sistema de computador de inteligência agrícola 130 é programado ou configurado para criar um modelo agronômico. Nesse contexto, um modelo agronômico é uma estrutura de dados na memória do sistema de computador de inteligência agrícola 130 que compreende dados de campo 106, tais como dados de identificação e dados de colheita para um ou mais campos. O modelo agronômico também pode compreender propriedades agronômicas calculadas que descrevem condições que podem afetar o cultivo de uma ou mais culturas em um campo ou propriedades da uma ou mais culturas, ou ambas. Adicionalmente, um modelo agronômico pode compreender recomendações com base em fatores agronômicos como recomendações de cultura, recomendações de irrigação, recomendações de plantação e recomendações de colheita. Os fatores agronômicos também podem ser usados para estimar um ou mais resultados relacionados à cultura, como o rendimento agronômico. O rendimento agronômico de uma cultura é uma estimativa da quantidade da cultura que é produzida, ou em alguns exemplos a receita ou lucro obtido a partir da cultura produzida.
[068] Em uma modalidade, o sistema de computador de inteligência agrícola 130 pode usar um modelo agronômico pré-configurado para calcular propriedades agronômicas relacionadas às informações de cultura e localização recebidas atualmente para um ou mais campos. O modelo agronômico pré-configurado é baseado em dados de campo anteriormente processados, incluindo, mas sem limitações, dados de identificação, dados de colheita, dados de fertilizante e dados de clima. O modelo agronômico pré- configurado pode ter sido validado de modo cruzado para garantir a precisão do modelo. A validação cruzada pode incluir comparação a levantamento de dados em campo que compara resultados previstos com resultados reais em um campo, tal como uma comparação de estimativa de precipitação com um pluviômetro na mesma localização ou uma estimativa de teor de nitrogênio com uma medição de amostra de solo.
[069] A Figura 3 ilustra um processo programado pelo qual o sistema de computador de inteligência agrícola gera um ou mais modelos agronômicos pré-configurados com o uso de dados de campo fornecidos por uma ou mais fontes de dados. A Figura 3 pode servir como um algoritmo ou instruções para programar os elementos funcionais do sistema de computador de inteligência agrícola 130 para realizar as operações que são descritas agora.
[070] No bloco 305, o sistema de computador de inteligência agrícola 130 é configurado ou programado para implementar pré-processamento de dados agronômicos de dados de campo recebidos de uma ou mais fontes de dados. Os dados de campo recebidos a partir de uma ou mais fontes de dados podem ser pré-processador com o propósito de remover ruído e efeitos de distorção dentro dos dados agronômicos incluindo anomalias medidas que tornariam tendenciosos os valores de dados de campo recebidos. As modalidades de pré- processamento de dados agronômicos pode incluir, porém, sem limitação, remover valores de dados comumente associados a valores de dados atípicos, pontos de dados medidos específicos que são conhecidos por enviesar desnecessariamente outros valores de dados, técnicas de suavização de dados usadas para remover ou reduzir efeitos aditivos ou multiplicativos de ruído, e outras técnicas de filtragem ou derivação de dados usadas para fornecer distinções claras entre entrada de dados positivos e negativos.
[071] No bloco 310, o sistema de computador de inteligência agrícola 130 é configurado ou programado para realizar a seleção de subconjunto de dados com o uso dos dados de campo pré-processados a fim de identificar conjuntos de dados úteis para geração de modelo agronômico inicial. O sistema de computador de inteligência agrícola 130 pode implementar técnicas de seleção de subconjunto de dados que incluem, porém, sem limitação, um método de algoritmo genético, método de todos modelos de subconjunto, um método de busca sequencial, um método de regressão gradual, um método de otimização por enxame de partículas, e um método de otimização de colônia de formigas. Por exemplo, uma técnica de seleção de algoritmo genético usa um algoritmo de busca heurística adaptativo, com base em princípios evolucionários de seleção natural e genética, para determinar e avaliar conjuntos de dados nos dados agronômicos pré-processados.
[072]No bloco 315, o sistema de computador de inteligência agrícola 130 é configurado ou programado para implementar avaliação de conjunto de dados de campo. Em uma modalidade, um conjunto de dados de campo específico é avaliado criando-se um modelo agronômico e usando-se limiares de qualidade específicos para o modelo agronômico criado. Os modelos agronômicos podem ser comparados com o uso de técnicas de validação cruzada incluindo, mas sem limitações, erro quadrático médio de validação cruzada excluindo uma amostra (RMSECV), erro absoluto médio e erro de percentual médio. Por exemplo, a RMSECV pode validar de modo cruzado modelos agronômicos comparando-se valores de propriedade agronômica previstos criados pelo modelo agronômico contra valores de propriedade agronômica de histórico coletados e analisados. Em uma modalidade, a lógica de avaliação de conjunto de dados agronômicos é usada como um laço de retroalimentação em que conjuntos de dados agronômicos que não satisfazem limiares de qualidade configurados são usados durante etapas de seleção de subconjunto de dados futuras (bloco 310).
[073] No bloco 320, o sistema de computador de inteligência agrícola 130 é configurado ou programado para implementar criação de modelo agronômico com base nos conjuntos de dados agronômicos validados de modo cruzado. Em uma modalidade, a criação de modelo agronômico pode implementar técnicas de regressão multivariadas para criar modelos de dados agronômicos pré-configurados.
[074] No bloco 325, o sistema de computador de inteligência agrícola 130 é configurado ou programado para armazenar os modelos de dados agronômicos pré-configurados para avaliação de dados de campo futura.
2.5 SUBSISTEMA DE DETECÇÃO EM NUVEM
[075] Em uma modalidade, o sistema de computador de inteligência agrícola 130, entre outros componentes, inclui um subsistema de detecção de nuvem 170. O subsistema de detecção de nuvem 170 coleta imagens e outras informações relacionadas a uma área, como um campo agrícola, a partir dos depósitos de dados de modelo e dados de campo 160 e/ou dados externos 110 e determina quais porções correspondem às nuvens e/ou sombras de nuvem.
[076] Em uma modalidade, o subsistema de detecção de nuvem 170 inclui lógica de gerador de semente de nuvem 171, lógica de gerador de máscara de nuvem 172 e lógica de gerador de máscara de sombra 173. Cada uma dentre a lógica de gerador de semente de nuvem 171, a lógica de gerador de máscara de nuvem 172 e a lógica de gerador de máscara de sombra 173 pode compreender conjuntos de instruções, como métodos, funções ou sub-rotinas de um ou mais programas de computador ou outra programação para o subsistema 170.
[077] Em uma modalidade, a lógica de gerador de semente de nuvem 171 realiza classificação de nível de pixel com o uso de um classificador de baixa revocação e alta precisão para identificar sementes de nuvem, que representam pixels que muito provavelmente serão nuvens dentro das imagens de sensoriamento remoto. Os pixels claros erroneamente classificados como nuvens (erros em comissão) são, em geral, espacialmente isolados e podem ser removidos aplicando-se técnicas de processamento de imagem morfológica.
[078] Em uma modalidade, a lógica de gerador de máscara de nuvem 172 extrai pixels de nuvem com um classificador de alta revocação e de baixa precisão. As técnicas de processamento de imagem morfológica são, então, aplicadas aos pixels de nuvem candidatos extraídos para remover falsos positivos. Entretanto, apesar do processamento de imagem morfológica, o classificador de baixa precisão e alta revocação ainda pode conter um grande número de falsos positivos. Uma técnica de agrupamento é, então, usada para desenvolver as sementes de nuvem em regiões que representam as nuvens candidatas, que resultam em uma máscara de nuvem. Visto que os pixels de nuvem estão frequentemente agrupados ao redor de outros pixels de nuvem, as sementes de nuvem (que representam pixels que muito provavelmente são de nuvens) podem ser usadas, portanto, para reduzir os pixels de nuvem candidatos desconectados que provavelmente foram incluídos nos pixels de nuvem candidatos como falsos positivos. Efetivamente, esse processo remove qualquer pixel de nuvem candidato que não é conectado (direta ou indiretamente através de outros pixels de nuvem candidatos) a uma semente de nuvem para que não seja classificado como uma nuvem. O resultado é uma máscara de nuvem que identifica cada pixel de nuvem dentro das imagens de sensoriamento remoto.
[079] Visando a brevidade, o classificador de baixa revocação e de alta precisão é chamado de um “classificador de alta precisão” e o classificador de alta revocação e de baixa precisão é chamado de um “classificador de alta revocação”. Idealmente, haveria apenas um classificador que é tanto de alta precisão quanto de alta revocação, porém, na prática, tal classificador pode ser extremamente difícil de desenvolver. Entretanto, com o uso de múltiplos classificadores, um que é intencionalmente inclinado para favorecer a precisão e outro que é intencionalmente inclinado para favorecer a revocação, combinados com a suposição de base de que os pixels de nuvem serão frequentemente agrupados em conjunto, uma classificação razoavelmente precisa pode ser deduzida. O método usado para inclinar intencionalmente os classificadores à precisão ou à revocação depende do tipo de classificador usado, porém, frequentemente envolve o ajuste de um ou mais coeficientes usados pelo classificador. Por exemplo, Máquinas de Vetor de Suporte (SVMs) podem ser inclinadas à precisão ou à revocação ajustando-se a penalidade por classe. Os termos “alta precisão” e “alta revocação” não se destinam a limitar as técnicas descritas no presente documento aos classificadores que alcançam um grau de limiar de precisão ou revocação, mas, em vez disso, indicam qual lado dos coeficientes e/ou outras definições do classificador são favorecidas em relação ao outro classificador.
[080] Em uma modalidade, a lógica de gerador de máscara de sombra 173 identifica sombras de nuvem com o uso da máscara de nuvem supracitada como entrada. Especificamente, o terceiro estágio usa técnicas com base em geometria para estimar, com base na posição das nuvens e da fonte de luz (por exemplo, o Sol), onde as sombras provavelmente serão encontradas. Entretanto, as técnicas supracitadas com base em geometria exigem a altura das nuvens para determinar a posição de sombra. Para estimar a altura das nuvens, os pixels de sombra candidatos são identificados com o uso de análise espectral, tal como detectando-se que uma ou mais bandas (por exemplo, a banda NIR) está abaixo de um limiar particular. Iterando-se o algoritmo de geometria em diferentes alturas de nuvem, a altura de nuvem pode ser estimada encontrando-se a altura em que a sombra calculada tem a maior sobreposição (por exemplo, em termos de número de pixels) com os pixels candidatos de limiar de NIR. Uma vez que as sombras forem detectadas, os pixels que representam sombra são, então, usados para gerar uma máscara de sombra.
[081] A Figura 5 ilustra detalhes exemplificativos do subsistema de detecção de nuvem 170 e componentes relacionados de acordo com uma modalidade. Cada elemento na Figura 5 pode compreender um conjunto de instruções programadas, como métodos, funções ou sub-rotinas de um ou mais programas de computador, ou firmware ou outro conjunto de circuitos de lógica digital que é configurado ou programado para fazer com que os processadores digitais executem ou realizem as funções que são descritas no presente documento para tal elemento. Nem todos os componentes representados na Figura 5 em relação ao subsistema de detecção de nuvem 170 são estritamente necessários para realizar as técnicas descritas no presente documento. Alguns dos componentes representados na Figura 5 podem representar o processamento opcional que, em alguns casos, pode aumentar a precisão do processo de classificação geral. Entretanto, as técnicas descritas no presente documento podem ser realizadas mesmo na ausência de tais componentes. Por exemplo, algumas modalidades do detector urbano 505 dependem de uma série temporal de imagens da área analisada. Dessa forma, em casos em que a série temporal supracitada não está disponível, o detector urbano 505 pode ser omitido da segmentação de instrução (pipeline). Como outro exemplo, se houver o conhecimento de que a área fotografada é rural, com algumas a poucas áreas urbanas, o detector urbano 505 pode não aumentar significativamente a precisão das classificações de nuvem e, portanto, podem ser omitidas. A entrada e a saída dos componentes representados na Figura 5 não são estritamente limitadas às entradas e saídas representadas. Por exemplo, alguns recursos descritos abaixo em relação à lógica de gerador de máscara de nuvem 172 e à lógica de gerador de máscara de sombra 173 usam imagens de sensoriamento remoto 510. Dessa forma, embora não sejam explicitamente representadas, as entradas de estágios anteriores de segmentação de instrução (pipeline) também podem ser passadas adiante como entradas em estágios posteriores da segmentação de instrução (pipeline). Como resultado, as entradas e saídas ilustradas na Figura 5 representam apenas um subconjunto das entradas e saídas reais para evitar obstruir demasiadamente a ilustração.
2.5.1 LÓGICA DE GERADOR DE SEMENTE DE NUVEM
[082] Na Figura 5, a lógica de gerador de semente de nuvem 171 inclui um extrator de recurso 500, um classificador de pixel de alta precisão 501 e um removedor de ruído 502.
[083] Em uma modalidade, o extrator de recurso 500 recebe como imagens de sensoriamento remoto de entrada 510 e extrai recursos da imagem para uso pelo classificador de pixel de alta precisão 501. Os recursos exatos extraídos da imagem podem variar dependendo da técnica de classificação exata empregada pelo classificador de pixel de alta precisão 501. Por exemplo, diferentes esquemas de classificação podem funcionar melhor se os recursos incluírem e/ou excluírem bandas específicas de imagens de sensoriamento remoto 510. Ademais, os recursos extraídos podem ser baseados no tipo de imagens de sensoriamento remoto 510 usado. Por exemplo, os recursos que correspondem às informações que não estão presentes nas e não podem ser derivadas de imagens de sensoriamento remoto 510 frequentemente não estarão disponíveis para consideração no processo de classificação. Entretanto, em outras modalidades, imagens de sensoriamento remoto 510 podem ser suplementadas por dados e recursos adicionais extraídos de diferentes fontes externas.
[084] Em uma modalidade, o classificador de pixel de alta precisão 501 representa lógica para realizar a classificação com base em recursos extraídos pelo extrator de recurso 500. O resultado é uma classificação por pixel quanto à possibilidade de o pixel representar uma nuvem ou a superfície da Terra (“solo”). Não há limite para as técnicas de classificação que podem ser empregadas pelo classificador de pixel de alta precisão 501. Entretanto, como alguns exemplos concretos, o classificador de pixel de alta precisão 501 pode empregar técnicas como Naive Bayes, Alocação de Dirichlet Latente, Regressão Logística, Máquinas de Vetor de Suporte (“SVMs”), Floresta Aleatória, Campo Aleatório de Markov e assim por diante. Em algumas modalidades, o classificador de pixel de alta precisão 501 é treinado em um conjunto de recursos que foram pré-identificados por meios manuais ou automáticos, que serão descritos em maiores detalhes abaixo na seção 4.2.
[085] Em uma modalidade, o removedor de ruído 502 realiza o processamento na classificação por pixel produzida pelo classificador de pixel de alta precisão 501 para reduzir o número de falsos positivos encontrados nas classificações. Por exemplo, o removedor de ruído 502 pode remover classificações de nuvem de pixels que representam estradas ou áreas urbanas, que são frequentemente confundidas com nuvens devido ao compartilhamento de comportamento similar com nuvens para certas bandas reflexivas. Em uma modalidade, o removedor de ruído 502 aplica abertura morfológica com dois elementos de estruturação em formato de disco com um raio de 20 m e 40 m, respectivamente. Visto que muitas estruturas e estradas urbanas são pequenas e finas, a abertura morfológica serve para suavização sobre tais áreas e impedir de modo eficaz que muitas das mesmas sejam classificadas como pixels de nuvem. Como saída, o removedor de ruído 502 produz uma máscara de semente de nuvem 511 que é alimentada como entrada para a lógica de gerador de máscara de nuvem 172; a máscara de semente de nuvem pode compreender um conjunto de dados ou valores de bit que são digitalmente armazenados em armazenamento digital eletrônico, como memória principal, acoplada a ou dentro de subsistema de detecção de nuvem 170.
2.5.3 LÓGICA DE GERADOR DE MÁSCARA DE NUVEM
[086] Na Figura 5, a lógica de gerador de máscara de nuvem 172 inclui um classificador de pixel de alta revocação 503, um segundo removedor de ruído 504, detector urbano 505 e agrupador de pixel 506.
[087] Em uma modalidade, o classificador de pixel de alta revocação 503 representa lógica para realizar a classificação com base em recursos extraídos pelo extrator de recurso 500. O resultado é uma classificação por pixel quanto à possibilidade de o pixel representar uma nuvem ou a superfície da Terra (“solo”). Não há limite para as técnicas de classificação empregadas pelo classificador de pixel de alta precisão 501. Entretanto, como alguns exemplos concretos, o classificador de pixel de alta precisão 501 pode empregar técnicas como Naive Bayes, Alocação de Dirichlet Latente, Regressão Logística, Máquinas de Vetor de Suporte, Floresta Aleatória, Campo Aleatório de Markov e assim por diante. Em algumas modalidades, o classificador de pixel de alta revocação 503 é treinado quanto a um conjunto de recursos que foram pré-identificados por meios manuais ou automáticos, que serão descritos em maiores detalhes posteriormente na seção 4.2. Conforme explicado acima, o classificador de pixel de alta revocação 503 difere do classificador de pixel de alta precisão 501 no sentido de que o classificador de pixel de alta revocação 503 foi configurado para ser menos minucioso ao classificar um pixel como uma nuvem. O classificador de pixel de alta revocação 503 pode usar a mesma abordagem de aprendizagem de máquina que o classificador de pixel de alta precisão 501 ou pode usar uma abordagem diferente. De modo similar, o classificador de pixel de alta revocação 503 pode usar os mesmos recursos que foram inseridos no classificador de pixel de alta precisão 501 ou recursos diferentes. Em casos em que os recursos são iguais, os recursos gerados pelo extrator de recurso 500 podem ser reutilizados para o classificador de pixel de alta revocação 503. Entretanto, em casos em que os recursos diferem, a lógica de gerador de máscara de nuvem 172 pode incluir outro extrator de recurso cujo propósito é extrair os recursos usados pelo classificador de pixel de alta revocação 503 de imagens de sensoriamento remoto 510.
[088] Em uma modalidade, o removedor de ruído 504 realiza o processamento na classificação por pixel produzida pelo classificador de pixel de alta revocação 503 para reduzir a quantidade de falsos positivos encontrados nas classificações. Por exemplo, o removedor de ruído 504 pode remover classificações de nuvem de pixels que representam estradas ou áreas urbanas, que são frequentemente confundidas com nuvens devido ao compartilhamento de comportamento similar om nuvens para certas bandas reflexivas. Em uma modalidade, o removedor de ruído 504 aplica a abertura morfológica com dois elementos de estruturação morfológica em formato de disco com um raio de 20 m e 40 m, respectivamente. Visto que muitas estruturas e estradas urbanas são pequenas e finas, a abertura morfológica serve para a suavização sobre tais áreas e impede, de modo eficaz, que muitas das mesmas sejam classificadas como uma nuvem. Entretanto, as áreas urbanas mais densas podem não conseguir ser filtradas por abertura morfológica e podem permanecer erroneamente marcadas como uma nuvem. Em algumas modalidades, o removedor de ruído 502 é o mesmo componente que o removedor de ruído 504. Por exemplo, ambos podem representar a mesma lógica implementada pelo mesmo conjunto de instruções ou código que é invocado em ambos os casos e alimentado com a máscara produzida pelo classificador correspondente. Entretanto, em outras modalidades, o removedor de ruído 502 e o removedor de ruído 504 podem funcionar diferentemente, como com o uso de elementos estruturais de formato ou tamanho diferentes para a abertura morfológica.
[089] Em uma modalidade, o detector urbano 505 identifica pixels que correspondem às áreas urbanas e impede que as mesmas sejam classificadas como nuvens. Algumas coberturas de terra têm assinalturas espectrais similares às nuvens, como áreas urbanas luminosas. Como resultado, as classificações do classificador de pixel de alta revocação 503 podem considerar erroneamente essas áreas como nuvens. Se tais áreas se sobrepuserem às nuvens, é possível que a metodologia de crescimento de região empregada pelo agrupador de pixel 506 possa aumentar os pixels de terra iluminada para o mesmo agrupamento. Uma solução para esse problema é detectar áreas urbanas com base em uma série temporal de capturas de imagem da área. Embora o removedor de ruído 504 possa não conseguir remover áreas urbanas maiores com o uso de abertura morfológica, as áreas urbanas tendem a ser consideravelmente estáticas, enquanto as nuvens são transitórias. Dessa forma, em algumas modalidades, o detector urbano 505 identifica áreas urbanas analisando-se múltiplas imagens históricas da área e realizando-se a filtração para pixels com desvio de “brancura” insuficiente ao longo da série temporal. Tais pixels, então, podem ser definidos para uma classificação de solo. Alternativamente, o detector urbano 505 pode produzir uma máscara de área urbana que identifica quais pixels representam áreas urbanas dentro da imagem e fornecer a máscara ao agrupador de pixel 506 para evitar o crescimento de sementes de nuvem para essas áreas. Ademais, embora as áreas urbanas tendam a conter muitos pixels iluminados, os grupos desses pixels são geralmente mais separados no espaço (por estradas ou grama) do que pixels iluminados em nuvens. Dessa forma, além de, ou em vez das imagens temporais, o detector urbano 505 pode usar a distância entre agrupamentos de pixels iluminados e/ou pixels de intervenção que podem indicar grama ou estradas como um fator.
[090] Em uma modalidade, o agrupador de pixel 506 utiliza uma técnica de agrupamento de crescimento de região que expande as sementes de nuvem geradas pela lógica de gerador de semente de nuvem 171 para os pixels de nuvem candidatos gerados pelo classificador de pixel de alta revocação 503 e processados pelo removedor de ruído 504 e o detector urbano 505. Em uma modalidade, o agrupador de pixel 506, para cada uma dentre as sementes de nuvem, marca a semente de nuvem e, então, marca quaisquer pixels de nuvem candidatos conectados. O processo é, então, repetido para cada um dentre os pixels de nuvem candidatos marcados e continua repetidamente até que não reste nenhum pixel de nuvem candidato não marcado. Os pixels marcados representam pixels que são considerados nuvens e uma máscara de nuvem 512 é gerada, a qual identifica pixels de nuvem para a imagem de sensoriamento remoto. A máscara de nuvem 512 pode compreender um conjunto de dados ou valores de bit que são digitalmente armazenados no armazenamento digital eletrônico, como memória principal, acoplados a ou dentro do subsistema de detecção de nuvem 170. Visto que as nuvens tendem a ser agrupadas, a probabilidade de um pixel ser uma nuvem aumenta se estiver conectado a um adjacente que foi classificado como uma nuvem. O agrupador de pixel 506 usa essa suposição para identificar, com base em sementes de nuvem, quais dentre os pixels de nuvem candidatos provavelmente são nuvens. Se um pixel de nuvem candidato for conectado (direta ou indiretamente através de outros pixels de nuvem candidatos) a uma semente de nuvem, tal pixel de nuvem candidato é classificado como uma nuvem. De outro modo, se o pixel de nuvem candidato for desconectado de qualquer uma dentre as sementes de nuvem, tal pixel de nuvem candidato provavelmente é um falso positivo e, portanto, não marcado como uma nuvem na máscara de nuvem 512.
2.5.3 LÓGICA DE GERADOR DE MÁSCARA DE SOMBRA
[091] Na Figura 5, a lógica de gerador de máscara de sombra 173 inclui um estimador de altura de nuvem ideal 507 e detector de sombra 508.
[092] Em uma modalidade, o estimador de altura de nuvem ideal 507 estima as alturas mais prováveis das nuvens indicadas pela máscara de nuvem 512, que é recebida como entrada, com base nos pixels dentro de imagens de sensoriamento remoto 510 que provavelmente são sombras. Na maior parte dos casos, declives na banda NIR são uma métrica útil para identificar sombras. Dessa forma, em algumas modalidades, o estimador de altura de nuvem ideal 507 identifica pixels de sombra candidatos em imagens de sensoriamento remoto 510 aplicando-se um limiar s, em que, se o NIR da banda for menor do que s, o pixel é marcado como um pixel de sombra candidato. A técnica supracitada geralmente contém um grande número de falsos positivos devido ao fato de que muitas áreas de não sombra também têm baixos valores de NIR. Entretanto, as sombras de nuvem candidatas podem ser usadas para estimar uma altura das nuvens na máscara de nuvem 512 com base na geometria entre as nuvens, no satélite e na fonte de luz (por exemplo, o Sol), cujos detalhes serão explicados em maiores detalhes na seção 8.0. A geometria supracitada permite o cálculo da sombra de uma nuvem com base nos fatores como altura de nuvem e o ângulo de elevação solar, o ângulo de azimute solar e o ângulo de off-Nadir de satélite. O estimador de altura de nuvem ideal 507 usa a geometria supracitada para iterar sobre as alturas potenciais e, durante cada iteração, determina quantos pixels de sombra candidatos seriam cobertos pela área computada. A altura em que a maior parte dos pixels de sombra candidatos são cobertos é, então, considerada a estimativa de altura ideal para a nuvem. O processo supracitado pode ser repetido para cada nuvem identificada dentro da máscara de nuvem 512.
[093] Em uma modalidade, o detector de sombra 508, então, usa a altura estimada para calcular quais pixels se correlacionam com sombras e marca tais pixels como sombras dentro de uma máscara de sombra 513. Por exemplo, o detector de sombra 508 pode usar a altura estimada ideal, o ângulo de elevação solar, o ângulo de azimute solar e o ângulo de off- Nadir de satélite para computar a distância de sombra da nuvem nas direções de norte/sul e leste/oeste. Os pixels que são abrangidos pela área supracitada são, então, marcados dentro da máscara de sombra 513. A máscara de nuvem 512 e a máscara de sombra 513 são fornecidas como saída, e podem ser digitalmente armazenadas no armazenamento digital eletrônico, como memória principal, acoplado a ou dentro do subsistema de detecção de nuvem 170.
2.6 EXEMPLO DE IMPLEMENTAÇÃO — VISÃO GERAL DE HARDWARE
[094] De acordo com uma modalidade, as técnicas descritas no presente documento são implantadas por um ou mais dispositivos de computação de propósito especial. Os dispositivos de computação de propósito especial podem ser conectados por fios para realizar as técnicas, ou podem incluir dispositivos eletrônicos digitais como um ou mais circuitos integrados de aplicação específica (ASICs) ou arranjos de porta (gateway) programáveis em campo (FPGAs) que são persistentemente programados para realizar as técnicas, ou podem incluir um ou mais processadores de hardware de propósito geral programados para realizar as técnicas relacionadas às instruções de programa em firmware, memória, outro armazenamento ou uma combinação. Tais dispositivos de computação de propósito especial também podem combinar lógica de conexão com fio personalizada, ASICs ou FPGAs com programação personalizada para alcançar as técnicas. Os dispositivos de computação de propósito especial podem ser sistemas de computador tipo desktop, sistemas de computador portátil, dispositivos de mão, dispositivos de rede ou qualquer outro dispositivo que incorpore a lógica conectada com fio e/ou lógica de programa para implementar as técnicas.
[095] Por exemplo, a Figura 4 é um diagrama de blocos que ilustra um sistema de computador 400 mediante o qual uma modalidade da invenção pode ser implantada. O sistema de computador 400 inclui um barramento 402 ou outro mecanismo de comunicação para comunicar informações, e um processador de hardware 404 acoplado ao barramento 402 para processar informações. O processador de hardware 404 pode ser, por exemplo, um microprocessador de propósito geral.
[096] O sistema de computador 400 também inclui uma memória principal 406, como uma memória de acesso aleatório (RAM) ou outro dispositivo de armazenamento dinâmico, acoplado ao barramento 402 para armazenar informações e instruções a serem executadas pelo processador 404. A memória principal 406 também pode ser usada para armazenar variáveis temporárias ou outras informações intermediárias durante a execução de instruções a serem executadas pelo processador 404. Tais instruções, quando armazenadas em meios de armazenamento não transitório acessíveis ao processador 404, renderizam o sistema de computador 400 em uma máquina de propósito especial que é personalizada para realizar as operações especificadas nas instruções.
[097] O sistema de computador 400 inclui adicionalmente uma memória somente de leitura (ROM) 408 ou outro dispositivo de armazenamento estático acoplado ao barramento 402 para armazenar informações estáticas e instruções para o processador 404. Um dispositivo de armazenamento 410, como um disco magnético, disco óptico ou unidade de estado sólido é fornecido e acoplado ao barramento 402 para armazenar informações e instruções.
[098] O sistema de computador 400 pode ser acoplado por meio do barramento 402 a um visor 412, como um tubo de raio catódicos (CRT), para exibir informações a um usuário de computador. Um dispositivo de entrada 414, incluindo teclas alfanuméricas e outras teclas, é acoplado ao barramento 402 para comunicar informações e seleções de comando ao processador 404. Outro tipo de dispositivo de entrada de usuário é o controle de cursor 416, como um mouse, uma trackball ou teclas de direção de cursor para comunicar as informações de direção e seleções de comando ao processador 404 e para controlar o movimento de cursor no visor 412. Esse dispositivo de entrada tipicamente tem dois graus de liberdade em dois eixos geométricos, um primeiro eixo geométrico (por exemplo, x) e um segundo eixo geométrico (por exemplo, y), que permite que o dispositivo especifique posições em um plano.
[099] O sistema de computador 400 pode implementar as técnicas descritas no presente documento com o uso de lógicas conectadas por fio personalizadas, um ou mais ASICs ou FPGAs, firmware e/ou lógica de programa que, em combinação com o sistema de computador, faz com que ou programa o sistema de computador 400 para ser uma máquina de propósito especial. De acordo com uma modalidade, as técnicas no presente documento são realizadas por sistema de computador 400 em resposta ao fato de que o processador 404 executa uma ou mais sequências de uma ou mais instruções contidas na memória principal 406. Tais instruções podem ser lidas para a memória principal 406 a partir de outro meio de armazenamento, como o dispositivo de armazenamento 410. A execução das sequências de instruções contidas na memória principal 406 faz com que o processador 404 realize as etapas do processo descritas no presente documento. Em modalidades alternativas, um conjunto de circuitos conectados por fio pode ser usado no lugar de ou em combinação com instruções de software.
[100] O termo “meios de armazenamento” conforme usado no presente documento se refere a quaisquer meios não transitórios que armazenam dados e/ou instruções que fazem com que uma máquina para opere de uma forma específica. Tais meios de armazenamento podem compreender meios não voláteis e/ou meios voláteis. Os meios não voláteis incluem, por exemplo, discos ópticos, discos magnéticos ou unidades de estado sólido, tais como o dispositivo de armazenamento 410. Os meios voláteis incluem memória dinâmica, como a memória principal 406. As formas comuns de meios de armazenamento incluem, por exemplo, um disquete, um disco flexível, disco rígido, unidade de estado sólido, fita magnética ou qualquer outro meio de armazenamento de dados magnéticos, um CD-ROM, qualquer outro meio de armazenamento de dados ópticos, qualquer meio físico com padrões de orifícios, uma RAM, uma PROM e EPROM, uma EPROM de FLASH, NVRAM, qualquer outro chip ou cartucho de memória.
[101] Os meios de armazenamento são distintos, porém, podem ser usados em conjunto com os meios de transmissão. Os meios de transmissão participam da transferência de informações entre meios de armazenamento. Por exemplo, os meios de transmissão incluem cabos coaxiais, fio de cobre e fibra ótica, incluindo os fios que compreendem o barramento 402. Os meios de transmissão também podem assumir a forma de ondas acústicas ou de luz, como aquelas geradas durante as comunicações de dados de infravermelho e onda de rádio.
[102] Várias formas de meios podem ser envolvidas no transporte de uma ou mais sequências de uma ou mais instruções para o processador 404 para a execução. Por exemplo, as instruções podem ser inicialmente transportadas em um disco magnético ou unidade de estado sólido de um computador remoto. O computador remoto pode carregar as instruções em sua memória dinâmica e enviar as instruções através de uma linha de telefone com o uso de um modem. Um modem local para o sistema de computador 400 pode receber os dados na linha de telefone e usar um transmissor infravermelho para converter os dados para um sinal infravermelho. Um detector de infravermelho pode receber os dados transportados no sinal infravermelho e conjunto de circuitos adequado pode colocar os dados no barramento 402. O barramento 402 transporta os dados para a memória principal 406, a partir da qual o processador 404 recupera e executa as instruções. As instruções recebidas pela memória principal 406 podem ser opcionalmente armazenadas no dispositivo de armazenamento 410 tanto antes quanto após a execução pelo processador 404.
[103] O sistema de computador 400 também inclui uma interface de comunicação 418 acoplada ao barramento 402. A interface de comunicação 418 fornece um acoplamento de comunicação de dados de via dupla a um enlace de rede 420 que é conectado a uma rede local 422. Por exemplo, a interface de comunicação 418 pode ser um cartão de rede digital de serviços integrados (ISDN), modem com cabo, modem via satélite ou um modem para fornecer uma conexão de comunicação de dados com um tipo correspondente de linha de telefone. Como outro exemplo, a interface de comunicação 418 pode ser um cartão de rede de área local (LAN) para fornecer uma conexão de comunicação de dados com uma LAN compatível. Os enlaces sem fio também podem ser implantados. Em qualquer implementação desse tipo, a interface de comunicação 418 envia e recebe sinais elétricos, eletromagnéticos ou ópticos que portam correntes de dados digitais que representam vários tipos de informações.
[104] O enlace de rede 420 fornece tipicamente comunicação de dados através de uma ou mais redes para outros dispositivos de dados. Por exemplo, o enlace de rede 420 pode fornecer uma conexão através da rede local 422 para um computador hospedeiro 424 ou para equipamento de dados operado por um Provedor de Serviço de Internet (ISP) 426. ISP 426, por sua vez, fornece serviços de comunicação de dados através da rede de comunicação de pacote de dados em todo o mundo agora comumente chamado de "Internet" 428. A rede local 422 e a Internet 428, ambas, usam sinais elétricos, eletromagnéticos ou ópticos que portam correntes de dados digitais. Os sinais através das várias redes e os sinais no enlace de rede 420 e através da interface de comunicação 418, que portam os dados digitais para e a partir do sistema de computador 400, são formas exemplificativas de meios de transmissão.
[105] O sistema de computador 400 pode enviar mensagens e receber dados, incluindo código de programa, através da rede (ou redes), do enlace 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 de aplicativo através da Internet 428, do ISP 426, da rede local 422 e da interface de comunicação 418.
[106] O código recebido pode ser executado pelo processador 404 conforme é recebido e/ou armazenado no dispositivo de armazenamento 410, ou outro armazenamento não volátil para execução posterior.
3.0 ENTRADAS DE SISTEMAS EXEMPLIFICATIVOS
[107] As entradas exatas no subsistema de detecção de nuvem 170 podem variar através de diferentes implementações. Para fornecer exemplos concretos, as seguintes passagens identificam tipos específicos de dados que podem ser usados pela lógica de gerador de semente de nuvem 171, lógica de gerador de máscara de nuvem 172 e/ou lógica de gerador de máscara de sombra 173 para detectar nuvens e/ou sombras de nuvem em imagens de sensoriamento remoto 510. Entretanto, as técnicas descritas no presente documento não são limitadas a nenhum tipo particular de entrada ou nenhuma localização, serviços ou ferramentas particulares usadas para coletar as entradas.
3.1 DADOS DE SENSORIAMENTO REMOTO
[108] Na presente revelação, “dados de sensoriamento remoto” ou “imagens de sensoriamento remoto” são tratados como sinônimos de “imagens de satélite”. Dessa forma, os exemplos fornecidos no presente documento usam imagens de satélite como os dados de sensoriamento remoto. Entretanto, o uso de imagens de satélite nos seguintes exemplos não limita as técnicas descritas no presente documento somente aos dados de sensoriamento remoto que são imagens de satélite. Conforme a tecnologia se desenvolve, outros tipos de tecnologia de sensoriamento remoto podem surgir e as técnicas descritas no presente documento são suficientemente amplas para utilizar quaisquer dispositivos e/ou técnicas de sensoriamento remoto emergentes. Por exemplo, como uma alternativa a imagens de satélite, as técnicas descritas no presente documento também podem se aplicar a imagens tomadas por aeronave ou drones que sobrevoam uma área, como um campo agrícola que é submetido ao teste para água alagada, saúde de cultura, erosão do solo e assim por diante.
[109]Muitos dos exemplos apresentados no presente documento presumem que imagens de satélite podem detectar várias bandas, tais como as bandas azul, verde, vermelha, borda vermelha e próximo do infravermelho (NIR) em várias resoluções. Como um exemplo concreto, imagens de satélite usadas como entrada para o modelo podem ser dados de imagem de satélite RapidEye, que oferecem imagens multiespectrais em uma resolução espacial de 5 m. Como outro exemplo, imagens de satélite Deimos também podem ser usadas como entrada para as técnicas discutidas no presente documento. A diferença significativa principal entre imagens de Deimos e RapidEye, além de resolução espacial e temporal, é a ausência de bandas azul e de borda vermelha. Como resultado, as modalidades que utilizam imagens de satélite Deimos podem exigir um processamento ligeiramente diferente das modalidades que utilizam imagens de RapidEye para compensar pelo conjunto de recursos reduzidos que estão disponíveis. Entretanto, as técnicas descritas no presente documento não são limitadas a nenhum tipo particular de imagens de satélite e os recursos utilizados pelas técnicas descritas no presente documento podem ser ajustados para usar os recursos disponíveis para um dado tipo de imagens de satélite.
[110] As técnicas descritas no presente documento se aplicam igualmente às situações em que imagens de satélite podem ser capturadas sob demanda ou capturadas periodicamente. Por exemplo, o usuário 102 e/ou operador do sistema de computador de inteligência agrícola 130 pode ter um contrato com uma companhia separada, que é proprietária dos satélites usados para tomar as imagens. Dependendo do contrato, imagens de sensoriamento remoto 510 usadas como entrada para o subsistema de detecção de nuvem 170 podem ser atualizadas apenas em uma base periódica. Como resultado, em alguns casos, pode haver um atraso significativo entre capturas de imagem da área que é monitorada pelo satélite. Ademais, dependendo da quantidade e das posições dos satélites que estão disponíveis, as imagens sob demanda podem não ser possíveis até que um satélite com posicionamento adequado sobre a área monitorada se torne disponível. Entretanto, em casos em que as imagens podem ser tomadas sob demanda, o sistema de computador de inteligência agrícola 130 pode ser configurado para se comunicar com um sistema do provedor de imagens de satélite e solicitar imagens automaticamente em resposta ao recebimento de entrada de usuário por meio de um dispositivo do usuário 102, como o dispositivo de computação de gerenciamento de campo 104, ou antes/mediante o início de uma análise da área.
[111] Adicionalmente, as técnicas descritas no presente documento não são limitadas ao uso de imagens de satélite recentes da área sob análise como entrada. Em alguns casos, há uma vantagem em analisar também imagens históricas da área. Por exemplo, para distinguir entre nuvens e estruturas urbanas feitas pelo homem, o detector urbano 505 pode analisar uma série temporal de imagens de satélite para determinar se certas áreas que foram classificadas como nuvens permanecem estáticas ao longo do tempo. Visto que as nuvens tendem a ser transitórias, as “nuvens” que permaneceram estáticas ao longo do tempo provavelmente representam estruturas permanentes. Dessa forma, em algumas modalidades, o modelo e o depósito de dados de campo 160 podem incluir imagens históricas da área sob análise ou o sistema de computador de inteligência agrícola 130 pode ter capacidade para recuperar tais de dados externos 110. Ademais, em algumas modalidades, os recursos utilizados pelo classificador de pixel de alta precisão 501 e/ou classificador de pixel de alta revocação 503 podem ser com base na análise de uma série temporal de imagens, em vez de apenas uma imagem estática da área.
4.0 VISÃO GERAL DE CLASSIFICADOR
[112] Muitas técnicas de aprendizagem de máquina, como classificadores e certos tipos de regressão, envolvem a estimativa de uma função que mapeia entre um conjunto de entradas (chamadas de recursos) e um conjunto de saídas (chamadas de classes ou rótulos). A estimativa da função, chamada de “treinamento”, é tipicamente realizada analisando-se um “conjunto de treinamento” de recursos e seus rótulos correspondentes. Por algumas definições, um classificador emite rótulos distintos enquanto as técnicas com base na regressão produzem valores de saída contínua. Entretanto, para certos tipos de regressão, como regressão de logística que produz uma probabilidade de ser um dentre potencialmente dois resultados, essa distinção é amplamente sem sentido. Visando a simplicidade, os exemplos fornecidos no presente documento farão referência à técnica de aprendizagem de máquina usada pelo subsistema de detecção de nuvem 170 como classificação independentemente da técnica de aprendizagem de máquina que é atualmente utilizada. Entretanto, a terminologia supracitada não se destina a excluir qualquer tipo de técnica de aprendizagem de máquina.
[113] Durante a análise, uma otimização é realizada para encontrar a função que mais bem explica o mapeamento entre os recursos e os rótulos correspondentes no conjunto de treinamento identificado. Os termos “melhor”, “máximo” e/ou “ideal” conforme usados no presente documento não se referem necessariamente a uma métrica global. Em muitos casos, um máximo local da probabilidade do mapeamento entre os recursos e o rótulo considerando-se a função é suficiente. As técnicas de aprendizagem de máquina diferentes realizam as otimizações supracitadas de diferentes formas. Por exemplo, classificadores de Naive Bayes presumem a independência dos recursos considerando-se a classe e estimam uma função que explica a associação entre os recursos e o rótulo. Como outro exemplo, as redes neurais artificiais modelam o domínio de problema como sistemas de nós interconectados (que representam “neurônios”) que enviam mensagens um para o outro, em que frequentemente alguns nós representam as entradas, alguns nós representam nós intermediários ou “ocultos” e alguns nós representam as saídas. Dessa forma, em tais modelos, a estimativa da função envolve determinar as ponderações ideias entre as bordas que conectam os nós que têm maior probabilidade de explicar os mapeamentos apresentados no conjunto de treinamento. Uma vez que um classificador for treinado, um novo ponto de dados de recursos pode ser alimentado ao classificador para se obter o rótulo previsto para tal ponto de dados. Na maior parte dos casos, os classificadores emitem um conjunto de rótulos potenciais e uma métrica de confiança ou outra medida da probabilidade de que a classificação esteja correta. Na maior parte dos casos, o rótulo ao qual o classificador atribuiu a confiança mais alta é considerado o rótulo previsto.
[114] No presente domínio de problema, os recursos para o classificador de pixel de alta precisão 501 e o classificador de pixel de alta revocação 503 incluem as várias bandas espectrais registradas para cada pixel de imagens de sensoriamento remoto 510 e a classe é binária, que potencialmente classifica cada pixel como um pixel de nuvem ou um pixel de solo. As técnicas descritas no presente documento não são limitadas a nenhum tipo particular de classificador. Por exemplo, o classificador utilizado pelo classificador de pixel de alta precisão 501 e o classificador de pixel de alta revocação 503 podem utilizar máquinas de vetor de suporte (SVMs), redes neurais, regressão de logística, técnicas Bayesianas, perceptróns, árvores de decisões e mais, sem limitação. Para fornecer exemplos claros, o restante da presente revelação irá presumir o uso de SVMs, que mostrou resultados precisos na prática, porém, as técnicas não são necessariamente limitadas às modalidades em que o classificador de pixel de alta precisão 501 e o classificador de pixel de alta revocação 503, cada um, utilizam uma SVM.
4.1 SELEÇÃO DE RECURSO
[115] Os recursos exatos a utilizar para o classificador de pixel de alta precisão 501 e o classificador de pixel de alta revocação 503 podem ser determinados de muitas formas diferentes. Em algumas modalidades, os recursos são selecionados com base no conhecimento de domínio ou selecionados testando-se várias combinações de recursos e escolhendo-se aqueles que parecem produzir os resultados mais precisos. Em outras modalidades, os recursos podem ser selecionados automaticamente definindo-se um aglomerado inicial de recursos potenciais e realizando-se validação cruzada em diferentes subconjuntos para estreitar aqueles recursos que parecem produzir os resultados mais precisos.
[116] Adicionalmente, os recursos exatos selecionados para consideração pelo classificador de pixel de alta precisão 501 e o classificador de pixel de alta revocação 503 podem depender do tipo de imagens de sensoriamento remoto 510 que é disponível. Por exemplo, imagens de RapidEye têm um conjunto de dados que inclui as bandas azul e borda vermelha e imagens de Deimos (pelo menos atualmente) não incluem. Como resultado, as modalidades que utilizam imagens de RapidEye podem usar um conjunto de recursos diferentes daqueles usados para imagens de Deimos.
[117] Os recursos exatos selecionados para consideração pelo classificador de pixel de alta precisão 501 e o classificador de pixel de alta revocação 503 podem depender dos tipos de técnicas de classificação que cada classificador emprega. Por exemplo, um classificador que utiliza regressão de logística pode ter um melhor desempenho com o uso de um conjunto de recursos diferentes de um classificador que utiliza uma SVM.
[118] Ademais, nem todos os recursos são necessariamente fornecidos diretamente a partir de imagens de sensoriamento remoto 510. Em alguns casos, os recursos podem ser derivados dos recursos "brutos" fornecidos por imagens criando-se combinações lineares e não lineares de diferentes valores de banda. A seguir constam exemplos não limitativos de tais recursos derivados. Nos exemplos a seguir, B é a banda azul, G é a banda verde, R é a banda vermelha, RE é a banda de borda vermelha e NIR é a banda próximo do infravermelho.
[119] NDVI - O índice de vegetação de diferença normalizada, uma função das bandas NIR e R:
Figure img0001
[120] NDW1- O índice de uma função das bandas NIR e uma função das bandas NIR e G:
Figure img0002
[121] BRIGHTl - A refletância de Topo médio da Atmosfera (TOA) das bandas visíveis:
Figure img0003
[122] BRIGHT2 - Similar à BRIGHTl, porém, com o uso das bandas G, R e NIR:
Figure img0004
[123] BRANCURA - A “planura” do espectro com base em BRIGHTl:
Figure img0005
[124] HOT - Uma fórmula simplificada da transformada otimizada para neblina:
Figure img0006
[125] Após testes significativos, constatou-se que as bandas B, G, R e NIR funcionam bem para modalidades em que os classificadores utilizam SVMs e o tipo de imagens de satélite foi RapidEye. Ademais, constatou-se que o “truque de kernel” usado por classificadores de SVM, na prática, pode mapear os recursos supracitados em um domínio de alta dimensão em que as duas classes (por exemplo, nuvem versus solo) são relativamente fáceis de separar. Para modalidades que utilizam imagens de Deimos, a banda B estava indisponível, porém, o teste mostrou que as bandas remanescentes, G, R e NIR produzem resultados consideravelmente precisos. Os testes adicionais com imagens de RapidEye em relação a diferentes tipos de classificadores revelaram que os classificadores de limiar de banda têm um desempenho ideal com o uso de B > 0,16 como o limiar, os classificadores de LDA têm um desempenho ideal com o uso de B, G e BRIGHT2 como os recursos, os classificadores de Regressão Logística têm um desempenho ideal com o uso de B, G e BRIGHT2 como os recursos e os classificadores de Floresta Aleatória têm um desempenho ideal com o uso de HOT, B, BRIGHT2 e G como os recursos.
[126] Em algumas modalidades, os recursos utilizados como entrada para o classificador de pixel de alta precisão 501 e o classificador de pixel de alta revocação 503 podem incluir recursos derivados de uma série temporal de imagens. Por exemplo, tais recursos podem incluir diferença entre os recursos da cena-alvo e a mediana por pixel de histórico, a razão entre o recurso da cena-alvo e a mediana por pixel de histórico, a fração dos valores de pixel de histórico que estão abaixo do recurso da cena-alvo, o número de desvios padrão que o recurso da cena-alvo está em relação à média por pixel de histórico, a taxa máxima de alcance (alteração de valor de recurso dividida por dias decorridos) entre o recurso da cena-alvo e o valor de recurso da cena anterior ou seguinte e/ou o desvio padrão de valores de recurso para uma única localização de pixel ao longo do tempo.
4.2 PREPARO DE DADOS DE VERDADE DE SOLO
[127] Conforme mencionado anteriormente, o classificador de pixel de alta precisão 501 e/ou o classificador de pixel de alta revocação 503 podem exigir dados de “verdade de solo” identificados para treinar o classificador e desenvolver a função que mapeia entre recursos de pixel e classificações.
[128] Uma forma para gerar um conjunto de treinamento identificado é coletar uma amostra de imagens de satélite que representa áreas com coberturas típicas ou uma variedade de coberturas de nuvem. Entretanto, em alguns casos, as imagens sem nuvens poderiam ser incluídas para fornecer exemplos negativos para treinar os classificadores. As imagens de amostra, então, podem ser identificadas manualmente por especialistas no campo para identificar quais pixels representam nuvens e quais pixels representam solo. Aqueles rótulos, então, podem ser usados como a “verdade”. Em algumas modalidades, os especialistas supracitados podem adicionar rótulos através do uso de uma ferramenta que permite que formatos de forma livre sejam desenhados nas imagens de satélite respectivas para marcar as áreas que representam nuvens. Os pixels nos formatos, então, são marcados em uma máscara de treinamento como nuvens. Em algumas modalidades, além de marcar nuvens, a máscara de treinamento também identifica tipos de nuvens (por exemplo, nuvens normais, neblina, etc.) e/ou recursos relacionados às nuvens (como sombras de nuvem). A maneira exata de identificar pixels para uso como a “verdade” mediante a qual treinar os classificadores não é crítica para as técnicas descritas no presente documento.
5.0 ANÁLISE DE GATILHOS E CASOS DE USO
[129] Como um todo, a lógica de gerador de semente de nuvem 171, a lógica de gerador de máscara de nuvem 172, a lógica de gerador de máscara de sombra 173, em conjunto, implementam um processo executado por computador coerente para identificar nuvens em imagens de sensoriamento remoto 510. Entretanto, a identificação de nuvens em uma imagem frequentemente será usada simultaneamente com outras técnicas que tentam extrair informações analisando-se imagens de sensoriamento remoto 510. Dessa forma, o processo de detecção de nuvem pode começar como um estágio de pré- processamento inicial para outra análise completamente separada. Por exemplo, “Ponding Water Detection on Satellite Imagery” por Guan et al., Pedido No. U.S. 14/860.247, discute técnicas para identificar água alagada em imagens de satélite, cujo conteúdo total está incorporado como se completamente mencionado no presente documento. Entretanto, a presença de nuvens ou sombras de nuvem dentro das imagens de satélite pode interferir com a análise visto que as bandas observadas de pixels que contém nuvens ou sombras de nuvem podem, em alguns casos, ser confundidas com água. Como resultado, as técnicas usadas no pedido mencionado acima podem ser modificadas para incluir uma etapa de pré- processamento ou filtração que remove, previne uma classificação de água, ou suaviza pixels que representam nuvens ou sombras de nuvem com o uso do subsistema de detecção de nuvem 170 para identificar as áreas de problema. As técnicas descritas no presente documento são aplicáveis a virtualmente qualquer caso de uso que analise imagens de satélite que podem ser potencialmente afetadas por nuvens ou sombras de nuvem. Os exemplos adicionais incluem detectar automaticamente a saúde de cultura, a erosão do solo, a análise de nutriente de solo, análise de crescimento de cultura, detecção de seca e assim por diante, sem limitação. Ademais, a máscara de nuvem 512 e a máscara de sombra 513 geradas pelo subsistema de detecção de nuvem 170 podem ser usadas para exibir visualmente nuvens e sombras de nuvem em uma imagem, como aplicando-se cada máscara para transformar a cor de pixel em uma que seja mais visualmente distinguida (como destaque), de modo a fornecer uma vista clara de nuvens ou sombra de nuvem dentro da imagem em uma interface de usuário do dispositivo de computação de gerenciamento de campo 104.
[130] Em algumas modalidades, a análise realizada pelo subsistema de detecção de nuvem 170 é acionada por meio de instruções enviadas a partir do dispositivo de computação de gerenciamento de campo 104 por meio da camada de comunicação 132. Por exemplo, o dispositivo de computação de gerenciamento de campo 104 pode ser configurado para exibir uma interface de usuário através da qual uma variedade de análises ou testes podem ser solicitados em áreas geográficas particulares, como um campo agrícola do usuário 102. Dessa forma, o subsistema de detecção de nuvem 170 pode ser invocado pelo sistema de computador de inteligência agrícola 130 como parte da segmentação de instrução (pipeline) executada para conduzir o teste ou análise selecionada.
6.0 GERADOR DE SEMENTE DE NUVEM
[131] A Figura 11 ilustra um processo exemplificativo para gerar uma máscara de semente de nuvem 511 na forma de diagrama de bloco de acordo com uma modalidade. Na explicação a seguir, presume-se que o processo representado na Figura 11 seja realizado por componentes do subsistema de detecção de nuvem 170, especificamente a lógica de gerador de semente de nuvem 171. A Figura 11 ilustra blocos específicos que foram dispostos em uma ordem particular. Entretanto, em outras modalidades, os blocos podem ser adicionados, removidos, divididos, mesclados ou redispostos em comparação com a Figura 11. As técnicas descritas no presente documento não são limitadas aos blocos exatos na ordem exata ilustrada na Figura 11.
[132] Na Figura 11, no bloco 605, o extrator de recurso 500 recebe imagens de sensoriamento remoto 510 de uma área. Em algumas modalidades, imagens de sensoriamento remoto 510 são fornecidas por meio do depósito de dados de modelo e dados de campo 160 e/ou dados externos 110. Por exemplo, o provedor de imagens de sensoriamento remoto 510 pode enviar periodicamente imagens atualizadas para o depósito de dados de modelo e dados de campo 160 ou tornar as imagens atualizadas disponíveis nos dados externos 110. Mediante o início da análise de detecção de nuvem, o subsistema de detecção de nuvem 170 pode recuperar imagens de sensoriamento remoto 510 a partir do depósito de dados de modelo e dados de campo 160 e/ou dados externos 110. Em algumas modalidades, múltiplas imagens podem estar disponíveis no depósito de dados de modelo e dados de campo 160 da área selecionada para análise. Em tais casos, o dispositivo de computação de gerenciamento de campo 104 pode ser configurado para receber a seleção de uma imagem particular para analisar por meio de uma interface de usuário exibida no dispositivo de computação de gerenciamento de campo 104. Ademais, se o provedor de imagens de sensoriamento remoto 510 for capaz de produzir imagens da área sob demanda, o subsistema de detecção de nuvem 170 pode enviar uma solicitação para um sistema de servidor do provedor de imagem, receber a imagem e, então, passar o resultado para o extrator de recurso 500. Entretanto, o mecanismo exato usado para obter imagens de sensoriamento remoto 510 da área não é crítico para as técnicas descritas no presente documento.
[133] No bloco 610, o extrator de recurso 500 extrai um ou mais recursos de imagens de sensoriamento remoto 510. Conforme discutido acima na seção 5.1, os recursos extraídos a partir de imagens de sensoriamento remoto 510 podem variar dependendo da técnica de aprendizagem de máquina usada para implementar o classificador de pixel de alta precisão 501 e o tipo de imagens de sensoriamento remoto 510. Adicionalmente, os recursos extraídos podem ser recursos básicos ou brutos que são extraídos diretamente da imagem ou podem ser combinações lineares e não lineares de recursos extraídos a partir da imagem. Ademais, em algumas modalidades, as informações contidas dentro de imagens de sensoriamento remoto 510 podem ser suplementadas com recursos adicionais derivados de uma fonte externa, como hora do dia que a imagem foi tomada, temperatura, data, coordenadas geográficas e assim por diante, fornecidas pelo depósito de dados de campo 160 e/ou dados externos 110.
[134] No bloco 615, o classificador de pixel de alta precisão 501 é treinado quanto aos dados de treinamento identificados. O treinamento do classificador de pixel de alta precisão 501 será diferente dependendo da técnica de aprendizagem de máquina usada para implementar o classificador de pixel de alta precisão 501. Entretanto, há muitas ferramentas comercialmente disponíveis, como Vowpal Wabbit, Spark, PyBrain e assim por diante, que implementam uma variedade de técnicas de aprendizagem de máquina que poderiam ser potencialmente usadas para implementar o classificador de pixel de alta precisão 501. Em algumas modalidades, o classificador de pixel de alta precisão 501 inclui um componente que processa os dados de treinamento identificados em um formato esperado pela biblioteca utilizada e, então, invoca uma rotina de treinamento da biblioteca para treinar o modelo de aprendizagem de máquina. Entretanto, embora haja muitas técnicas de aprendizagem de máquina bem conhecidas que podem ser usadas para implementar o classificador de pixel de alta precisão 501, muitos classificadores têm definições ou coeficientes configuráveis que podem precisar ser ajustados para fornecer resultados adequados. Por exemplo, no caso de uma SVM, a penalidade por classe pode ser definida como 5: 1 e a função de kernel pode ser definida para a Função de Base Radial (RBF) em que y =0,25 e C = 1,0).
[135] Em algumas modalidades, o classificador de pixel de alta precisão 501 pode ser treinado antecipadamente com base em dados de treinamento identificados com a função resultante armazenada para uso posterior dentro do depósito de dados de modelo e dados de campo 160. Em tais casos, desde que o classificador de pixel de alta precisão 501 já tenha sido treinado, o bloco 615 pode ser pulado. Em vez disso, o bloco 615 pode ser substituído pela função que é recuperada a partir do depósito de dados de modelo e dados de campo 160.
[136] No bloco 620, o classificador de pixel de alta precisão 501 é usado para identificar sementes de nuvem com base em recursos extraídos em uma máscara de semente de nuvem 511. Em uma modalidade, o classificador de pixel de alta precisão 501 usa os recursos extraídos no bloco 610 como entrada para a função desenvolvida no bloco 615 para produzir uma classificação para cada pixel em imagens de sensoriamento remoto 510. Entretanto, em outras modalidades, o classificador de pixel de alta precisão 501 pode realizar apenas a classificação em um subconjunto de pixels dentro de imagens de sensoriamento remoto 510. Por exemplo, pode haver áreas da imagem que são consideradas não importantes ou, de outro modo, podem ser excluídas da análise e foram registradas em uma máscara de exclusão. Dessa forma, quando o pixel é marcado para exclusão na máscara de exclusão, o classificador de pixel de alta precisão 501 pula a classificação dos recursos do pixel associado. Em algumas modalidades, se utilizar uma biblioteca de aprendizagem de máquina existente, os recursos extraídos no bloco 610 podem ser reformatados para que se adaptem a um formato esperado pela biblioteca de aprendizagem de máquina utilizada. Após o bloco 620 ter sido realizado, a máscara de semente de nuvem 511 é gerada, a qual identifica quais pixels dentro de imagens de sensoriamento remoto 510 são considerados pelo classificador de pixel de alta precisão 501 como nuvens.
[137] No bloco 625, o removedor de ruído 502 realiza um processamento de imagem na máscara de semente de nuvem 511 para suavizar falsos positivos. Em uma modalidade, o removedor de ruído 502 realizada uma ou mais operações de abertura morfológica na máscara de semente de nuvem 511. Na morfologia matemática, uma abertura é uma erosão seguida por uma dilatação com o uso do mesmo elemento de estruturação retido na mesma orientação. Nesse caso, os pixels "supracitados" são os pixels marcados na máscara como nuvens e os pixels "antecedentes" são aqueles marcados na máscara como solo. Por exemplo, para imagens de RapidEye, duas aberturas morfológicas podem ser realizadas com o uso de um elemento estrutural em formato de disco de tamanho de 20 m e 40 m. Entretanto, o formato e o tamanho do elemento de estruturação podem ser alterados dependendo da resolução de imagens de sensoriamento remoto 510. Efetivamente, as operações de abertura morfológica suavizam as áreas dentro das imagens designadas como “nuvens” e tipicamente irão remover falsos positivos como um resultado de recursos de solo anômalos, como estruturas urbanas. Uma vez que o removedor de ruído 502 tiver aplicado a abertura (ou aberturas) morfológica à máscara de semente de nuvem 511, a máscara de semente de nuvem 511 é usada como entrada para a lógica de gerador de máscara de nuvem 172.
7.0 GERADOR DE MÁSCARA DE NUVEM
[138] A Figura 7 ilustra um processo que gera uma máscara de nuvem 512 na forma de diagrama de bloco de acordo com uma modalidade. Na seguinte explicação, presume-se que o processo representado na Figura 7 seja realizado por componentes do subsistema de detecção de nuvem 170, especificamente a lógica de gerador de máscara de nuvem 172. A Figura 7 ilustra blocos específicos que foram dispostos em uma ordem particular. Entretanto, em outra modalidade, os blocos podem ser adicionados, removidos, divididos, mesclados ou redispostos em comparação com a Figura 7. As técnicas descritas no presente documento não são limitadas aos blocos exatos na ordem exata ilustrada na Figura 7.
[139] Na Figura 7, no bloco 705, o classificador de pixel de alta revocação 503 recebe um ou mais recursos extraídos de imagens de sensoriamento remoto 510. Dependendo da modalidade, a máscara de semente de nuvem 511 pode ser recuperada pela lógica contida dentro do classificador de pixel de alta revocação 503 ou outro componente contido dentro da lógica de gerador de máscara de nuvem 172. Por exemplo, o classificador de pixel de alta revocação 503 pode receber a máscara de semente de nuvem 511 para alimentar a outros componentes da lógica de gerador de máscara de nuvem 172, embora o classificador de pixel de alta revocação 503 em si não use necessariamente a máscara durante sua análise. Alternativamente, o classificador de pixel de alta revocação 503 pode, em vez disso, receber apenas os recursos de imagens de sensoriamento remoto 510 e depender de um componente diferente da lógica de gerador de máscara de nuvem 172 para recuperar a máscara de semente de nuvem 511, como o agrupador de pixel 506. O restante da discussão da seção 7.0 presume que o classificador de pixel de alta revocação 503 recebe a máscara de semente de nuvem 511, porém, conforme discutido acima, a máscara de semente de nuvem 511 pode ser recebida por um componente diferente da lógica de gerador de máscara de nuvem 172 em outras modalidades. Em uma modalidade, o classificador de pixel de alta revocação 503 recebe o um ou mais recursos extraídos de imagens de sensoriamento remoto e a máscara de semente de nuvem 511 da lógica de gerador de semente de nuvem 171. Entretanto, em outras modalidades, em vez de receber os recursos diretamente da lógica de gerador de semente de nuvem 171, a lógica de gerador de máscara de nuvem 172 pode receber imagens de sensoriamento remoto 510 e incluir um extrator de recurso componente que extrai recursos de imagens de sensoriamento remoto 510 para uso no classificador de pixel de alta revocação 503. Por exemplo, se o classificador de pixel de alta revocação 503 usa um conjunto de recursos diferentes do classificador de pixel de alta precisão 501, os recursos extraídos pelo extrator de recurso 500 da lógica de gerador de semente de nuvem 171 podem não ser compatíveis. Em uma modalidade, a máscara de semente de nuvem 511 é uma máscara que identifica pixels de semente de nuvem dentro de imagens de sensoriamento remoto 510 e foi produzida pela lógica de gerador de semente de nuvem 171 conforme descrito acima na seção 6.0.
[140] No bloco 715, o classificador de pixel de alta revocação 503 é treinado quanto aos dados de treinamento identificados. O treinamento do classificador de pixel de alta revocação 503 será diferente dependendo da técnica de aprendizagem de máquina usada para implementar o classificador de pixel de alta revocação 503. Entretanto, há muitas ferramentas comercialmente disponíveis, como Vowpal Wabbit, Spark, PyBrain e assim por diante que implementam uma variedade de técnicas de aprendizagem de máquina que podem ser usadas pelo classificador de pixel de alta revocação 503. Dessa forma, o classificador de pixel de alta revocação 503 pode ser implementado incluindo-se um componente que processa os dados de treinamento identificados em um formato esperado pela biblioteca utilizada e, então, invoca uma rotina de treinamento da biblioteca para treinar o modelo de aprendizagem de máquina. Entretanto, embora haja muitas técnicas de aprendizagem de máquina bem conhecidas que podem ser usadas para implementar o classificador de pixel de alta precisão 501, muitos classificadores têm definições ou coeficientes configuráveis que podem precisar ser ajustados para fornecer resultados adequados. Por exemplo, no caso de uma SVM, a penalidade por classe pode ser definida como 1:5 e a função de kernel pode ser definida como Função de Base Radial (RBF) com (y = 0,25 e C = 1,0).
[141] Em algumas modalidades, o classificador de pixel de alta revocação 503 pode ser treinado antecipadamente com base em dados de treinamento identificados e a função resultante armazenada para uso posterior no depósito de dados de modelo e dados de campo 160. Em tais casos, desde que o classificador de pixel de alta revocação 503 já tenha sido treinado, o bloco 715 pode ser pulado. Em vez disso, o bloco 715 pode ser substituído pela função que é recuperada a partir do depósito de dados de modelo e dados de campo 160.
[142] No bloco 720, o classificador de pixel de alta revocação 503 marca pixels de nuvem candidatos em uma máscara de nuvem candidata com base em recursos extraídos de imagens de sensoriamento remoto 510. Em uma modalidade, o classificador de pixel de alta revocação 503 usa os recursos extraídos como entrada para a função desenvolvida no bloco 715 para produzir uma classificação para cada pixel em imagens de sensoriamento remoto 510 quanto à possibilidade de que tal pixel seja um pixel de nuvem candidato. Os pixels de nuvem candidatos identificados são, então, marcados na máscara de nuvem candidata. Entretanto, em outras modalidades, o classificador de pixel de alta revocação 503 pode realizar apenas a classificação em um subconjunto de pixels dentro de imagens de sensoriamento remoto 510. Por exemplo, pode haver áreas da imagem que são consideradas não importantes ou, de outro modo, podem ser excluídas da análise e registradas em uma máscara de exclusão. Dessa forma, quando o pixel é marcado para exclusão na máscara de exclusão, o classificador de pixel de alta revocação 503 pula a classificação dos recursos para o pixel associado. Em algumas modalidades, se utilizar uma biblioteca de aprendizagem de máquina existente, os recursos extraídos podem ser reformatados para que se adaptem a um formato esperado pela biblioteca de aprendizagem de máquina que é utilizada.
[143] No bloco 725, o removedor de ruído 504 realiza o processamento de imagem na máscara de nuvem candidata para suavizar falsos positivos. Em uma modalidade, o removedor de ruído 504 realiza uma ou mais operações de abertura morfológica na máscara de nuvem candidata. Na morfologia matemática, uma abertura é uma erosão seguida por uma dilatação com o uso do mesmo elemento de estruturação retido na mesma orientação. Por exemplo, para imagens de RapidEye, duas aberturas morfológicas podem ser realizadas com o uso de um elemento estrutural em formato de disco de tamanho de 20 m e 40 m. Entretanto, o formato e o tamanho do elemento de estruturação podem ser alterados dependendo da resolução de imagens de sensoriamento remoto 510. Efetivamente, as operações de abertura morfológica suavizam as áreas dentro das imagens designadas como “nuvens candidatas” e tipicamente irão remover falsos positivos como resultado de recursos de solo anômalos, como estruturas urbanas. Em algumas modalidades, o removedor de ruído 504 é equivalente de modo funcional ao removedor de ruído 502. Por exemplo, ambos podem ser implementados com o uso do mesmo conjunto de código ou instruções. Entretanto, em outras modalidades, o removedor de ruído 504 pode ser funcionalmente diferente do removedor de ruído 502, como com o uso de um elemento de estruturação de formato diferente ou tamanho diferente.
[144] No bloco 730, o detector urbano 505 identifica áreas urbanas em imagens de sensoriamento remoto 510. Em algumas modalidades, o detector urbano 505 recebe como entrada adicional uma ou mais imagens históricas da área que é analisada a partir do depósito de dados de modelo e dados de campo 160. O detector urbano 505 pode identificar áreas urbanas com base em uma heurística, tal como valores de limiar com base nas várias bandas ou métricas derivadas de imagens de sensoriamento remoto 510. Por exemplo, um pixel pode ser considerado urbano se (ÜBRANCURA < 0,2) A (NDWI < 0,2), em que ÜBRANCURA representa o desvio padrão de BRANCURA ao longo da série temporal de imagens. A primeira parte da expressão captura as características estáveis de áreas urbanas através de imagens tomadas em datas diferentes. A segunda parte impede expressamente que a água, que também é estável ao longo do tempo, seja classificada como urbana.
[145] No bloco 735, o detector urbano filtra as áreas marcadas como nuvens candidatas na máscara de nuvem candidata que se sobrepõe às áreas urbanas identificadas. Em uma modalidade, os pixels que foram identificados no bloco 730 de modo a representar estruturas urbanas são marcadas na máscara de nuvem candidata de modo que não seja uma nuvem candidata. Dessa forma, os pixels que foram classificados como nuvens candidatas, porém, na realidade representam áreas urbanas que emitem muitas das mesmas características de banda que as nuvens, podem ser removidos da máscara de nuvem candidata para aprimorar a precisão.
[146] No bloco 740, o agrupador de pixel 506 realiza o agrupamento com base em máscara de nuvem candidata e máscara de semente de nuvem 511 para gerar a máscara de nuvem 512. Em uma modalidade, o agrupador de pixel 506 realiza o agrupamento com o uso de uma técnica de crescimento de região. A técnica de crescimento de região usa os pixels identificados como sementes de nuvem na máscara de semente de nuvem 511 como pontos de partida e marca qualquer pixel de nuvem candidato que toca uma semente de nuvem (direta ou indiretamente através de outros pixels de nuvem candidatos) como nuvens dentro da máscara de nuvem 512. Os detalhes adicionais a respeito da técnica de crescimento de região são fornecidos abaixo na seção 7.1.
7.1 CRESCIMENTO DE REGIÃO
[147] A Figura 8 é um diagrama de bloco que ilustra o uso de crescimento de região para gerar uma máscara de nuvem 512 de acordo com uma modalidade. Na seguinte explicação, presume-se que o processo representado na Figura 8 seja realizado pelo agrupador de pixel 506. A Figura 8 ilustra blocos específicos que foram dispostos em uma ordem particular. Entretanto, em outras modalidades, os blocos podem ser adicionados, removidos, divididos, mesclados ou redispostos em comparação com a Figura 8. As técnicas descritas no presente documento não são limitadas aos blocos exatos na ordem exata ilustrada na Figura 8.
[148] Na Figura 8, no bloco 805, o agrupador de pixel 506 marca pixels identificados como sementes de nuvem na máscara de semente de nuvem 511 como não explorados. A estrutura de dados usada para realizar a marcação não é crítica. Por exemplo, as marcações podem ser realizadas em uma matriz em que cada entrada corresponde a um pixel em imagens de sensoriamento remoto 510 ou qualquer outra estrutura de dados adequada. Em uma modalidade, o agrupador de pixel 506 marca o pixel armazenando-se um valor correspondente ao estado “não explorado”, como um número, letra ou qualquer outro valor. Em uma modalidade, os valores dentro da estrutura de dados correspondem a “não considerado”, “não explorado” e “explorado”. Em tais modalidades, o estado “não considerado” representa que o pixel ainda não foi analisado ou foi analisado e não é considerado um pixel de nuvem. Por exemplo, o estado “ainda não considerado” pode representar o estado inicial de todos os pixels, exceto por aqueles pixels que se correlacionam com as sementes de nuvem especificadas pela máscara de semente de nuvem 511. O estado “não explorado” indica que o pixel é considerado uma nuvem, porém, que os adjacentes a tal pixel ainda não foram explorados. Adicionalmente, o estado “não explorado” pode ser considerado o estado-padrão inicial de pixels correspondentes às sementes de nuvem. O estado “explorado” indica que o pixel é considerado uma nuvem e os pixels adjacentes estão sendo atualmente analisados para determinar se tais pixels representam nuvens ou os pixels adjacentes já foram considerados. Em geral, o processo ilustrado pela Figura 8 seleciona um pixel não explorado, marca o pixel não explorado como explorado e, então, determina se os adjacentes aos pixels selecionados são pixels de nuvem. Se for o caso, o adjacente é marcado como não explorado se já não tiver sido explorado. O processo supracitado, então, repete-se até que não sobre nenhum pixel não explorado. Dessa forma, ao final do processo ilustrado na Figura 8, todos os pixels não explorados eventualmente serão marcados como explorados, o que marca o fim do processo. Nesse ponto, os pixels explorados são marcados como nuvens dentro das máscaras de nuvem 512.
[149] No bloco 810, o agrupador de pixel 506 seleciona um pixel não explorado. Os critérios usados para selecionar o pixel não explorado não são críticos. Por exemplo, os pixels não explorados podem ser mantidos em uma lista ou qualquer outra estrutura de dados adequada e selecionada na ordem em que os pixels não explorados aparecem. Como outro exemplo, os pixels não explorados podem ser escolhidos aleatoriamente.
[150] No bloco 815, o agrupador de pixel 506 marca o pixel não explorado como explorado.
[151] No bloco 820, o agrupador de pixel 506 seleciona um pixel adjacente não explorado.
[152] No bloco 825, o agrupador de pixel 506 determina se o pixel adjacente selecionado é um pixel de nuvem candidato conforme definido pela máscara de nuvem candidata e não é já marcado como explorado. Se for o caso, o agrupador de pixel 506 marca o pixel adjacente como não explorado no bloco 830.
[153] No bloco 835, o agrupador de pixel 506 determina se há quaisquer pixels adjacentes adicionais. Por exemplo, o agrupador de pixel 506 pode determinar se há quaisquer pixels adjacentes do pixel selecionado no bloco 810 que ainda precisa ser considerado. Se for o caso, o agrupador de pixel 506 retorna para o bloco 820 para selecionar outro pixel adjacente. De outro modo, o agrupador de pixel 506 segue para o bloco 840.
[154] No bloco 840, o agrupador de pixel 506 determina se há quaisquer pixels não explorados adicionais. Se for o caso, o agrupador de pixel retorna para o bloco 810 para selecionar outro pixel não explorado. Se não for o caso, o agrupador de pixel 506 segue para o bloco 845.
[155] No bloco 845, o agrupador de pixel 506 gera a máscara de nuvem 512 marcando-se qualquer pixel marcado como “explorado” como nuvens dentro da máscara de nuvem 512.
8.0 GERADOR DE MÁSCARA DE SOMBRA
[156] A Figura 9 ilustra um processo para gerar uma máscara de sombra 513 na forma de diagrama de bloco de acordo com uma modalidade. Na seguinte explicação, presume-se que o processo representado na Figura 9 seja realizado pela lógica de gerador de máscara de sombra 173. A Figura 9 ilustra blocos específicos que foram dispostos em uma ordem particular. Entretanto, em outra modalidade, os blocos podem ser adicionados, removidos, divididos, mesclados ou redispostos em comparação com a Figura 9. As técnicas descritas no presente documento não são limitadas aos blocos exatos na ordem exata ilustrada na Figura 9.
[157] Na Figura 9, no bloco 905, o estimador de altura de nuvem 507 recebe imagens de sensoriamento remoto 510 e máscara de nuvem 512. Em algumas modalidades, o estimador de altura de nuvem 507 recebe imagens de sensoriamento remoto 510 e a máscara de nuvem 512 da lógica de gerador de máscara de nuvem 172. Por exemplo, após a lógica de gerador de máscara de nuvem 172 ter concluído a geração da máscara de nuvem, a lógica de gerador de máscara de nuvem 172 pode invocar a lógica de gerador de máscara de sombra 173 para começar o processo de geração de uma máscara de sombra 513 para imagens de sensoriamento remoto 510.
[158] No bloco 910, o estimador de altura de nuvem 507 gera uma máscara de sombra potencial com base em imagens de sensoriamento remoto 510. Em uma modalidade, o estimador de altura de nuvem 507 gera a máscara de sombra potencial com o uso de um limiar para a banda NIR para cada pixel em imagens de sensoriamento remoto 510. Dessa forma, se NIR < s para o pixel, em que s é um valor de limiar, tal pixel é marcado na máscara de sombra potencial como uma sombra potencial.
[159] No bloco 915, o estimador de altura de nuvem 507 seleciona uma nuvem da máscara de nuvem 512. Em uma modalidade, como um resultado da aplicação do agrupador de pixel 506, as nuvens dentro da máscara de nuvem 512 foram “agrupadas” em nuvens distintas. Em algumas modalidades, o agrupador de pixel 506 pode incluir metadados para cada pixel de nuvem que marca qual “grupo” ou nuvem ao qual o pixel pertence. Entretanto, em outras modalidades, o estimador de altura de nuvem 507 pode determinar as nuvens distintas compilando-se grupos de pixels de nuvem dentro da máscara de nuvem 512 que são conectados (direta ou indiretamente através de outros pixels de nuvem). Uma vez que as várias nuvens dentro da máscara de nuvem 512 foram identificadas, o estimador de altura de nuvem 507 seleciona uma nuvem para determinar a sombra difundida por tal nuvem. A ordem de seleção não é crítica e pode ocorrer virtualmente em qualquer ordem.
[160] No bloco 915, o estimador de altura de nuvem 507 seleciona uma altura inicial para a nuvem. Em uma modalidade, o estimador de altura de nuvem 507 determina a altura provável de uma nuvem experimentando-se com diferentes alturas e selecionando-se a altura que faz com que a sombra da nuvem prevista cubra o maior número de pixels de sombra potencial na máscara de nuvem potencial. Dessa forma, em uma modalidade, a altura inicial pode ser definida como um valor que é um limiar inferior de alturas de nuvem, presumindo-se que o estimador de altura de nuvem 507 incremente a altura no bloco 940. Por exemplo, as alturas de nuvem típicas geralmente são abrangidas por 200 m a 12.000 m. Dessa forma, a altura de partida inicial pode ser definida como 200 m. Entretanto, outras modalidades podem iniciar em um limiar superior de alturas de nuvem e diminuir a altura no bloco 940. Em tais casos, o estimador de altura de nuvem 507 pode definir a altura de nuvem inicial como 2.000 m. Ademais, a faixa exata ao longo da qual o processo supracitado itera as alturas não é crítica e pode funcionar para qualquer faixa de alturas que uma modalidade escolha ao longo da qual iterar.
[161] No bloco 920, o estimador de altura de nuvem 507 calcula a sobreposição de sombra com a máscara de nuvem potencial com base em imagens de sensoriamento remoto 510 e na máscara de nuvem 512. Em uma modalidade, a localização de uma sombra em relação à nuvem é dada pela seguinte série de equações
Figure img0007
em que Hc é a altura de nuvem, Ls é a distância horizontal r ck-itv de sombra a partir da nuvem,
Figure img0008
é o deslocamento de nuvem, - oeste
Figure img0009
é a distância de sombra a partir da nuvem em leste/oeste, riWTe
Figure img0010
é a distância de sombra a partir da nuvem em norte/sul, αe é a elevação angular do Sol, αa é o ângulo de azimute do Sol e αn é o ângulo de off-nadir de satélite. O ângulo de elevação, o ângulo de azimute solar e o ângulo de off-nadir de satélite são frequentemente fornecidos pelo provedor de imagens de sensoriamento remoto 510 e podem ser incluídos como metadados armazenados ou em associação com as imagens de sensoriamento remoto 510. As equações acima podem ser calculadas para cada pixel dentro da nuvem selecionada, fornecendo-se os limites da sombra difundida por tal pixel. A soma das sombras difundidas por cada pixel da nuvem, portanto, representa a área de sombra prevista para ser difundida pela nuvem. O estimador de altura de nuvem 507, então, conta o número de pixels na sombra prevista que se sobrepõem aos pixels marcados como sombras potenciais dentro da máscara de nuvem potencial gerada no bloco 910.
[162] No bloco 925, o estimador de altura de nuvem 507 determina se o número de pixels sobrepostos é maior do que a melhor estimativa de altura atual. Se for o caso, o estimador de altura de nuvem 507 marca a altura atual como a melhor estimativa de altura de nuvem atual no bloco 930.
[163] No bloco 935, o estimador de altura de nuvem 507 incrementa a altura de nuvem. Em uma modalidade, o estimador de altura de nuvem 507 incrementa a altura de nuvem por uma quantidade definida durante cada iteração. Definir o incremento de modo fino aumenta a probabilidade de que a altura de nuvem estimada final seja precisa, porém, também faz com que o algoritmo realize mais iterações. Adicionalmente, definir o incremento de modo grosseiro pode diminuir a probabilidade de que a altura de nuvem estimada final seja precisa, porém, também reduz o número de iterações realizadas, acelerando, assim, o cálculo da máscara de nuvem 513. Em outras modalidades, ao invés vez de incrementar a altura de nuvem no bloco 935, o estimador de altura de nuvem 507 pode começar com uma altura de nuvem inicial definida para um limiar superior e, ao invés disso, diminuir a altura no bloco 935. Ademais, não há exigência de que a busca do espaço de solução para a altura seja realizada de modo linear. Outra técnica também pode ser usada para guiar a busca através do espaço de solução de altura de nuvem, como aplicando-se técnicas de busca descendentes de gradiente ou Bayesianas. Entretanto, visto que na maioria dos casos, o número de iterações será relativamente pequeno, uma busca de grade simples através do espaço de solução geralmente será suficiente para a maioria dos casos de uso. Em uma modalidade, a altura é incrementada por 20 m após cada iteração.
[164] No bloco 940, o estimador de altura de nuvem 507 determina se a altura de nuvem está dentro de uma altura de limiar. Em modalidades em que a altura é originalmente definida como um limiar inferior e, então, incrementada, a altura de limiar no bloco 940 representa o limiar superior. De modo similar, em modalidades em que a altura é originalmente definida como um limiar superior e, então, diminuída, a altura de limiar no bloco 940 representa o limiar inferior. Dessa forma, o bloco 940 faz com que a busca através do espaço de alturas potenciais seja limitada a uma faixa particular e sinaliza quando tal busca tiver sido concluída.
[165] No bloco 945, o detector de sombra 508 calcula as sombras da nuvem com base na melhor estimativa de altura de nuvem atual. Em uma modalidade, o detector de sombra 508 realiza os mesmos cálculos que o bloco 925 com a melhor estimativa de altura de nuvem atual. Entretanto, em algumas modalidades, o estimador de altura de nuvem 507 pode armazenar ou acompanhar a área de sombra prevista para a melhor estimativa atual, evitando, assim, a necessidade de recalcular a área no bloco 945. Dessa forma, em tais modalidades, o bloco 945 pode ser pulado ou substituído por uma etapa de recuperar a área de sombra da melhor estimativa de altura de nuvem atual.
[166] No bloco 950, o detector de sombra 508 adiciona as sombras calculadas à máscara de nuvem 513. Em uma modalidade, os pixels de imagens de sensoriamento remoto 510 que são abrangidos pela sombra da nuvem estimada são marcados na máscara de nuvem 513 como sombras. Em seguida, se sobrarem quaisquer nuvens que ainda precisem ter suas sombras calculadas e adicionadas à máscara de nuvem 513, uma nova nuvem é selecionada no bloco 915. De outro modo, a máscara de nuvem 513 é concluída e identifica precisamente as sombras difundidas pelas nuvens dentro de imagens de sensoriamento remoto 510.
[167] A explicação acima da Figura 9 presume que várias métricas relacionadas à posição relativa do satélite e do Sol são conhecidas ou podem ser extraídas a partir de metadados associados a imagens de sensoriamento remoto 510. Entretanto, em alguns casos, o provedor de imagens pode ter apenas um subconjunto das métricas disponíveis. Por exemplo, imagens de Deimos, o ângulo de off-nadir é muito próximo de zero. Como resultado, a direção de pixels de sombra projetados não se alinha com a direção do respectivo pixel de nuvem corretamente e os ângulos de azimute do Sol fornecidos tendem a ser imprecisos. Para solucionar esse problema, além de iterar sobre alturas potenciais, uma modalidade alternativa também pode iterar sobre ângulos de azimute do Sol, realizando, de modo eficaz, uma busca de grade sobre Hc e αa. A faixa de alturas sobre as quais iterar e a quantidade de incremento em cada iteração podem permanecer iguais conforme descrito acima. A faixa de ângulos de azimute sobre as quais iterar pode ser baseada no ângulo de azimute fornecido, como +/- 24 graus e pode ser incrementada em cada iteração por 4 graus. Se faltarem quaisquer métricas adicionais, a mesma técnica pode ser expandida para realizar uma busca de grade em relação às métricas faltantes.
9.0 DETECÇÃO DE NEBLINA
[168] Em algumas modalidades, o subsistema de detecção de nuvem 170 também inclui um componente que detecta pixels correspondentes à neblina em uma máscara de neblina. Por exemplo, o subsistema de detecção de nuvem 170 pode realizar uma transformação Tasseled Cap, em que os primeiros três componentes, denominados BRANCURA, ESVERDEAMENTO e AMARELAMENTO são calculados por meio da seguinte equação:
Figure img0011
em que i representa o nome de componente de Tasseled Cap e C é o coeficiente de transformação para cada respectiva banda. Em uma modalidade, a neblina é detectada pela definição de limiar no componente de AMARELAMENTO.
10.0 EXTENSÕES E ALTERNATIVAS
[169] No relatório descritivo supracitado, as modalidades foram descritas com referência a inúmeros detalhes específicos que podem variar de implementação para implementação. O relatório descritivo e os desenhos, consequentemente, devem ser considerados em um sentido ilustrativo ao invés de um sentido restritivo. O indicador único e exclusivo do escopo da revelação, e o que os requerentes pretendem que seja o escopo da revelação, é o escopo literal e equivalente do conjunto de reivindicações que é expedido do presente pedido, na forma específica em que tais reivindicações são expedidas, incluindo qualquer correção subsequente.
11.0 REVELAÇÃO ADICIONAL
[170] Os aspectos da matéria descrita no presente documento são estabelecidos nas seguintes cláusulas enumeradas:
[171] 1. Um método que compreende: receber imagens de sensoriamento remoto de uma área geográfica, em que as imagens de sensoriamento remoto incluem uma pluralidade de pixels e um ou mais valores de banda para cada pixel dentro das imagens de sensoriamento remoto; usar um primeiro classificador, identificar um ou mais pixels de semente de nuvem a partir das imagens de sensoriamento remoto com base em um ou mais valores de banda para cada pixel; com uso de um segundo classificador, identificar um ou mais pixels de nuvem candidatos a partir das imagens de sensoriamento remoto com base em um ou mais valores de banda para cada pixel, em que o primeiro classificador favorece a precisão em comparação com o segundo classificador e o segundo classificador favorece a revocação em comparação com o primeiro classificador; identificar um conjunto de um ou mais pixels de nuvem candidatos que são conectados ao um ou mais pixels de semente de nuvem por um ou mais dentre: ser um membro dentre o um ou mais pixels de semente de nuvem, ser diretamente conectado a pelo menos um dentre o um ou mais pixels de semente de nuvem, ou ser indiretamente conectado a pelo menos um dentre o um ou mais pixels de semente de nuvem através de pelo menos um pixel de nuvem candidato de um ou mais pixels de nuvem candidatos; gerar uma máscara de nuvem para as imagens de sensoriamento remoto com base no conjunto, em que a máscara de nuvem identifica quais pixels dentro das imagens de sensoriamento remoto correspondem à nuvens.
[172] 2. O método da cláusula 1, em que as imagens de sensoriamento remoto são um ou mais dentre: imagens de satélite RapidEye ou imagens de satélite Deimos.
[173] 3. O método de qualquer uma das cláusulas 1 a 2, que compreende adicionalmente exibir imagens de sensoriamento remoto com uma ou mais nuvens destacadas com base na máscara de nuvem.
[174] 4. O método de qualquer uma das cláusulas 1 a 3, que compreende adicionalmente: identificar uma ou mais nuvens dentro das imagens de sensoriamento remoto com base na máscara de nuvem; identificar um ou mais pixels de sombra potenciais dentro das imagens de sensoriamento remoto com base em um ou mais valores de banda para cada pixel dentro das imagens de sensoriamento remoto; para cada nuvem de uma ou mais nuvens, determinar uma altura ideal da nuvem com base em uma relação geométrica entre um satélite que capturou as imagens de sensoriamento remoto e um Sol com base em um ou mais pixels de sombra potenciais; para cada nuvem dentre a uma ou mais nuvens, identificar um ou mais pixels de sombra dentro das imagens de sensoriamento remoto que representam uma sombra difundida pela nuvem com base na altura ideal da nuvem; gerar uma máscara de sombra que identifica sombras difundidas por uma ou mais nuvens dentro das imagens de sensoriamento remoto com base em um ou mais pixels de sombra identificados para cada nuvem dentre a uma ou mais nuvens.
[175] 5. O método da cláusula 4, em que, para cada nuvem dentre a uma ou mais nuvens, determinar a altura ideal da nuvem com base na relação geométrica compreende iterar sobre valores de altura e, durante cada iteração, usar a relação geométrica para calcular uma área de sombra estimada da nuvem e contar uma quantidade de um ou mais pixels de sombra potencial que são abrangidos pelas área de sombra estimada, em que a altura ideal da nuvem é uma altura que maximiza o um ou mais pixels de sombra potenciais que são abrangidos pela área de sombra estimada.
[176] 6. O método de qualquer uma das cláusulas 4 a 5, em que a relação geométrica tem como base um ou mais dentre: ângulo de elevação solar, ângulo de azimute do Sol ou ângulo de off-nadir de satélite.
[177] 7. O método de qualquer uma das cláusulas 1 a 6, em que o um ou mais pixels de semente de nuvem são representados em uma máscara de semente de nuvem e que compreende adicionalmente aplicar uma ou mais operações de abertura morfológica à máscara de semente de nuvem.
[178] 8. O método de qualquer uma das cláusulas 1 a 7, em que o um ou mais pixels de nuvem candidatos são representados em uma máscara de nuvem candidata e que compreende adicionalmente aplicar uma ou mais operações de abertura morfológica à máscara de nuvem candidata.
[179] 9. O método de qualquer uma das cláusulas 1 a 8, que compreende adicionalmente identificar áreas urbanas dentro das imagens de sensoriamento remoto com base nos desvios na brancura para cada pixel através de uma série temporal de imagens da área geográfica e remover pixels correspondentes às áreas urbanas identificadas a partir do um ou mais pixels de nuvem candidatos.
[180] 10. O método de qualquer uma das cláusulas 1 a 9, que compreende adicionalmente: identificar uma ou mais nuvens dentro das imagens de sensoriamento remoto com base na máscara de nuvem; identificar um ou mais pixels de sombra potencial dentro das imagens de sensoriamento remoto com base em um ou mais valores de banda para cada pixel dentro das imagens de sensoriamento remoto; para cada nuvem dentre a uma ou mais nuvens, determinar uma altura ideal da nuvem e um ângulo de azimute do Sol ideal com base em uma relação geométrica entre um satélite que capturou as imagens de sensoriamento remoto e um Sol com base em um ou mais pixels de sombra potencial; para cada nuvem dentre a uma ou mais nuvens, identificar um ou mais pixels de sombra dentro das imagens de sensoriamento remoto que representa uma sombra difundida pela nuvem com base na altura ideal da nuvem e no ângulo de azimute do Sol ideal; gerar uma máscara de sombra que identifica sombras difundidas pela uma ou mais nuvens dentro das imagens de sensoriamento remoto com base em um ou mais pixels de sombra identificados para cada nuvem dentre a uma ou mais nuvens.
[181] 11. O método de qualquer uma das cláusulas 1 a 10, em que o um ou mais valores de bandas incluem um valor para cada uma de uma ou mais dentre: uma banda vermelha, uma banda azul, uma banda verde, uma banda de borda vermelha ou uma banda próxima do infravermelho.
[182] 12. Um ou mais instruções de armazenamento de meios legíveis por computador não transitórios que armazenam instruções que, quando executadas por um ou mais dispositivos de computação, causam a realização de qualquer um dos métodos mencionados nas cláusulas 1 a 11.
[183] 13. Um sistema que compreende um ou mais dispositivos de computação que compreendem componentes, implementado pelo menos parcialmente por hardware de computação, configurado para implementar as etapas de qualquer um dos métodos mencionados nas cláusulas 1 a 11.

Claims (33)

1. Método caracterizado pelo fato de que compreende: receber imagens de sensoriamento remoto de uma área geográfica, em que as imagens de sensoriamento remoto incluem uma pluralidade de pixels e um ou mais valores de banda para cada pixel dentro das imagens de sensoriamento remoto; usar um primeiro classificador, que identifica um ou mais pixels de semente de nuvem a partir das imagens de sensoriamento remoto com base em um ou mais valores de banda para cada pixel; usar um segundo classificador, que identifica um ou mais pixels de nuvem candidatos a partir das imagens de sensoriamento remoto com base em um ou mais valores de banda para cada pixel, em que o primeiro classificador favorece a precisão comparado ao segundo classificador e o segundo classificador favorece a revocação comparado ao primeiro classificador; identificar um conjunto de um ou mais pixels de nuvem candidatos que são conectados a um ou mais pixels de semente de nuvem por um ou mais dentre: ser um membro de um ou mais pixels de semente de nuvem, estar diretamente conectado a pelo menos um dentre um ou mais pixels de semente de nuvem ou estar indiretamente conectado a pelo menos um dentre um ou mais pixels de semente de nuvem através de pelo menos um pixel de nuvem candidato de um ou mais pixels de nuvem candidatos; gerar uma máscara de nuvem para as imagens de sensoriamento remoto com base no conjunto, em que a máscara de nuvem identifica quais pixels dentro das imagens de sensoriamento remoto correspondem a nuvens.
2. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que as imagens de sensoriamento remoto são uma ou mais dentre: imagens do satélite RapidEye ou imagens do satélite Deimos.
3. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que compreende adicionalmente exibir as imagens de sensoriamento remoto com uma ou mais nuvens destacadas com base na máscara de nuvem.
4. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que compreende adicionalmente: identificar uma ou mais nuvens dentro das imagens de sensoriamento remoto com base na máscara de nuvem; identificar um ou mais pixels de sombra potenciais dentro das imagens de sensoriamento remoto com base em um ou mais valores de banda para cada pixel dentro das imagens de sensoriamento remoto; para cada nuvem da uma ou mais nuvens, determinar uma altura ideal da nuvem com base em uma relação geométrica entre um satélite que capturou as imagens de sensoriamento remoto e um sol com base em um ou mais pixels de sombra potenciais; para cada nuvem da uma ou mais nuvens, identificar um ou mais pixels de sombra dentro das imagens de sensoriamento remoto que representam uma sombra difundida pela nuvem com base na altura ideal da nuvem; gerar uma máscara de sombra que identifica sombras difundidas pela uma ou mais nuvens dentro das imagens de sensoriamento remoto com base no um ou mais pixels de sombra identificados para cada nuvem de uma ou mais nuvens.
5. Método, de acordo com a reivindicação 4, caracterizado pelo fato de que para cada nuvem da uma ou mais nuvens, determinar a altura ideal da nuvem com base na relação geométrica compreende iterar sobre os valores de altura e, durante cada iteração, usar a relação geométrica para calcular uma área de sombra estimada da nuvem e contar um número do um ou mais pixels de sombra potenciais que estão dentro da área de sombra estimada, em que a altura ideal da nuvem é uma altura que maximiza o um ou mais pixels de sombra potenciais que estão dentro da área de sombra estimada.
6. Método, de acordo com a reivindicação 4, caracterizado pelo fato de que a relação geométrica tem como base um ou mais dentre: ângulo de elevação solar, ângulo de azimute solar ou ângulo off-Nadir de satélite.
7. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que o um ou mais pixels de semente de nuvem são representados em uma máscara de semente de nuvem e que compreende adicionalmente aplicar uma ou mais operações de abertura morfológicas à máscara de semente de nuvem.
8. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que um ou mais pixels de nuvem candidatos são representados em uma máscara de nuvem candidata e que compreende adicionalmente aplicar uma ou mais operações de abertura morfológicas à máscara de nuvem candidata.
9. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que compreende adicionalmente identificar áreas urbanas dentro das imagens de sensoriamento remoto com base em desvios na brancura para cada pixel através de uma série temporal de imagens da área geográfica e remover pixels que correspondem às áreas urbanas identificadas a partir de um ou mais pixels de nuvem candidatos.
10. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que compreende adicionalmente: identificar uma ou mais nuvens dentro das imagens de sensoriamento remoto com base na máscara de nuvem; identificar um ou mais pixels de sombra potenciais dentro das imagens de sensoriamento remoto com base no um ou mais valores de banda para cada pixel dentro das imagens de sensoriamento remoto; para cada nuvem da uma ou mais nuvens, determinar uma altura ideal da nuvem e um ângulo de azimute solar ideal com base em uma relação geométrica entre um satélite que capturou as imagens de sensoriamento remoto e um sol com base em um ou mais pixels de sombra potenciais; para cada nuvem de uma ou mais nuvens, identificar um ou mais pixels de sombra dentro das imagens de sensoriamento remoto que representam uma sombra difundida pela nuvem com base na altura ideal da nuvem e no ângulo de azimute solar ideal; gerar uma máscara de sombra que identifica sombras difundidas pela uma ou mais nuvens dentro das imagens de sensoriamento remoto com base no um ou mais pixels de sombra identificados para cada nuvem de uma ou mais nuvens.
11. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que o um ou mais valores de bandas incluem um valor para cada um de um ou mais dentre: uma banda vermelha, uma banda azul, uma banda verde, uma banda de borda vermelha ou uma banda próxima do infravermelho.
12. Mídia de armazenamento não transitória contendo instruções caracterizada pelo fato de que realiza as etapas de: receber imagens de sensoriamento remoto de uma área geográfica, em que as imagens de sensoriamento remoto incluem uma pluralidade de pixels e um ou mais valores de banda para cada pixel dentro das imagens de sensoriamento remoto; usar um primeiro classificador, que identifica um ou mais pixels de semente de nuvem a partir das imagens de sensoriamento remoto com base em um ou mais valores de banda para cada pixel; usar um segundo classificador, que identifica um ou mais pixels de nuvem candidatos a partir das imagens de sensoriamento remoto com base no um ou mais valores de banda para cada pixel, em que o primeiro classificador favorece a precisão comparado ao segundo classificador e o segundo classificador favorece a revocação comparado ao primeiro classificador; identificar um conjunto de um ou mais pixels de nuvem candidatos que são conectados ao um ou mais pixels de semente de nuvem por um ou mais dentre: ser um membro de um ou mais pixels de semente de nuvem, estar diretamente conectado a pelo menos um dentre o um ou mais pixels de semente de nuvem ou estar indiretamente conectado a pelo menos um dentre um ou mais pixels de semente de nuvem através de pelo menos um pixel de nuvem candidato de um ou mais pixels de nuvem candidatos; gerar uma máscara de nuvem para as imagens de sensoriamento remoto com base no conjunto, em que a máscara de nuvem identifica quais pixels dentro das imagens de sensoriamento remoto correspondem a nuvens.
13. Mídia de armazenamento não transitória, de acordo com a reivindicação 12, caracterizada pelo fato de que as imagens de sensoriamento remoto são uma ou mais dentre: imagens do satélite RapidEye ou imagens do satélite Deimos.
14. Mídia de armazenamento não transitória, de acordo com a reivindicação 12, caracterizada pelo fato de que as etapas compreendem adicionalmente exibir as imagens de sensoriamento remoto com uma ou mais nuvens destacadas com base na máscara de nuvem.
15. Mídia de armazenamento não transitória, de acordo com a reivindicação 12, caracterizada pelo fato de que as etapas compreendem adicionalmente: identificar uma ou mais nuvens dentro das imagens de sensoriamento remoto com base na máscara de nuvem; identificar um ou mais pixels de sombra potenciais dentro das imagens de sensoriamento remoto com base em um ou mais valores de banda para cada pixel dentro das imagens de sensoriamento remoto; para cada nuvem da uma ou mais nuvens, determinar uma altura ideal da nuvem com base em uma relação geométrica entre um satélite que capturou as imagens de sensoriamento remoto e um sol com base no um ou mais pixels de sombra potenciais; para cada nuvem dentre a uma ou mais nuvens, identificar um ou mais pixels de sombra dentro das imagens de sensoriamento remoto que representa uma sombra difundida pela nuvem com base na altura ideal da nuvem; gerar uma máscara de sombra que identifica sombras difundidas por uma ou mais nuvens dentro das imagens de sensoriamento remoto com base em um ou mais pixels de sombra identificados para cada nuvem dentre a uma ou mais nuvens.
16. Mídia de armazenamento não transitória, de acordo com a reivindicação 15, caracterizada pelo fato de que para cada nuvem dentre a uma ou mais nuvens, determinar a altura ideal da nuvem com base na relação geométrica compreende iterar sobre valores de altura e, durante cada iteração, usar a relação geométrica para calcular uma área de sombra estimada da nuvem e contar uma quantidade de um ou mais pixels de sombra potenciais que são abrangidos pelas áreas de sombra estimada, em que a altura ideal da nuvem é uma altura que maximiza o um ou mais pixels de sombra potenciais que são abrangidos pela área de sombra estimada.
17. Mídia de armazenamento não transitória, de acordo com a reivindicação 15, caracterizada pelo fato de que a relação geométrica tem como base um ou mais dentre: ângulo de elevação solar, ângulo de azimute do sol ou ângulo off- nadir de satélite.
18. Mídia de armazenamento não transitória, de acordo com a reivindicação 12, caracterizada pelo fato de que o um ou mais pixels de semente de nuvem são representados em uma máscara de semente de nuvem e que compreende adicionalmente aplicar uma ou mais operações de abertura morfológica à máscara de semente de nuvem.
19. Mídia de armazenamento não transitória, de acordo com a reivindicação 12, caracterizada pelo fato de que o um ou mais pixels de nuvem candidatos são representados em uma máscara de nuvem candidata e que compreende adicionalmente aplicar uma ou mais operações de abertura morfológicas à máscara de nuvem candidata.
20. Mídia de armazenamento não transitória, de acordo com a reivindicação 12, caracterizada pelo fato de que as etapas compreendem adicionalmente identificar áreas urbanas dentro das imagens de sensoriamento remoto com base nos desvios na brancura para cada pixel através de uma série temporal de imagens da área geográfica e remover pixels correspondentes às áreas urbanas identificadas a partir do um ou mais pixels de nuvem candidatos.
21. Mídia de armazenamento não transitória, de acordo com a reivindicação 12, caracterizada pelo fato de que as etapas compreendem adicionalmente: identificar uma ou mais nuvens dentro das imagens de sensoriamento remoto com base na máscara de nuvem; identificar um ou mais pixels de sombra potencial dentro das imagens de sensoriamento remoto com base em um ou mais valores de banda para cada pixel dentro das imagens de sensoriamento remoto; para cada nuvem dentre a uma ou mais nuvens, determinar uma altura ideal da nuvem e um ângulo de azimute do sol ideal com base em uma relação geométrica entre um satélite que capturou as imagens de sensoriamento remoto e um sol com base em um ou mais pixels de sombra potencial; para cada nuvem dentre a uma ou mais nuvens, identificar um ou mais pixels de sombra dentro das imagens de sensoriamento remoto que representa uma sombra difundida pela nuvem com base na altura ideal da nuvem e no ângulo de azimute do sol ideal; gerar uma máscara de sombra que identifica sombras difundidas pela uma ou mais nuvens dentro das imagens de sensoriamento remoto com base em um ou mais pixels de sombra identificados para cada nuvem de uma ou mais nuvens.
22. Mídia de armazenamento não transitória, de acordo com a reivindicação 12, caracterizada pelo fato de que o um ou mais valores de bandas incluem um valor para cada uma de uma ou mais dentre: uma banda vermelha, uma banda azul, uma banda verde, uma banda de borda vermelha ou uma banda próxima do infravermelho.
23. Sistema de processamento de dados caracterizado pelo fato de que compreende: uma memória; um ou mais processadores acoplados à memória; lógica de gerador de semente de nuvem armazenada na memória, executável pelo um ou mais processadores, e configurada para fazer com que o um ou mais processadores: recebam imagens de sensoriamento remoto de uma área geográfica, em que as imagens de sensoriamento remoto incluem uma pluralidade de pixels e um ou mais valores de banda para cada pixel dentro das imagens de sensoriamento remoto, usem um primeiro classificador para identificar um ou mais pixels de semente de nuvem a partir das imagens de sensoriamento remoto com base no um ou mais valores de banda para cada pixel; lógica de gerador de máscara de nuvem armazenada na memória, executável pelo um ou mais processadores, e configurada para fazer com que um ou mais processadores: usem um segundo classificador para identificar um ou mais pixels de nuvem candidatos a partir das imagens de sensoriamento remoto com base em um ou mais valores de bandapara cada pixel, em que o primeiro classificador favorece a precisão comparado ao segundo classificador e o segundo classificador favorece a revocação comparado ao primeiro classificador, identifiquem um conjunto de um ou mais pixels de nuvem candidatos que são conectados a um ou mais pixels de semente de nuvem por um ou mais dentre: ser um membro dentre um ou mais pixels de semente de nuvem, estar diretamente conectado a pelo menos um dentre um ou mais pixels de semente de nuvem ou estar indiretamente conectado a pelo menos um dentre um ou mais pixels de semente de nuvem através de pelo menos um pixel de nuvem candidato de um ou mais pixels de nuvem candidatos, gerem uma máscara de nuvem para as imagens de sensoriamento remoto com base no conjunto, em que a máscara de nuvem identifica quais pixels dentro das imagens de sensoriamento remoto correspondem a nuvens.
24. Sistema de processamento de dados, de acordo com a reivindicação 23, caracterizado pelo fato de que as imagens de sensoriamento remoto são uma ou mais dentre: imagens do satélite RapidEye ou imagens do satélite Deimos.
25. Sistema de processamento de dados, de acordo com a reivindicação 23, o sistema de processamento de dados caracterizado pelo fato de que compreende adicionalmente exibir a lógica armazenada na memória, executável pelo um ou mais processadores, e configurada para fazer com que o um ou mais processadores exibam as imagens de sensoriamento remoto com uma ou mais nuvens destacadas com base na máscara de nuvem.
26. Sistema de processamento de dados, de acordo com a reivindicação 23, o sistema de processamento de dados caracterizado pelo fato de que compreende adicionalmente lógica de gerador de máscara de sombra armazenada na memória, executável pelo um ou mais processadores, e configurada para fazer com que o um ou mais processadores: identificar uma ou mais nuvens dentro das imagens de sensoriamento remoto com base na máscara de nuvem; identificar um ou mais pixels de sombra potenciais dentro das imagens de sensoriamento remoto com base em um ou mais valores de banda para cada pixel dentro das imagens de sensoriamento remoto; para cada nuvem de uma ou mais nuvens, determinar uma altura ideal da nuvem com base em uma relação geométrica entre um satélite que capturou as imagens de sensoriamento remoto e um sol com base em um ou mais pixels de sombra potenciais; para cada nuvem dentre a uma ou mais nuvens, identificar um ou mais pixels de sombra dentro das imagens de sensoriamento remoto que representam uma sombra difundida pela nuvem com base na altura ideal da nuvem; gerar uma máscara de sombra que identifica sombras difundidas por uma ou mais nuvens dentro das imagens de sensoriamento remoto com base em um ou mais pixels de sombra identificados para cada nuvem dentre a uma ou mais nuvens.
27. Sistema de processamento de dados, de acordo com a reivindicação 26, caracterizado pelo fato de que para cada nuvem da uma ou mais nuvens, determinar a altura ideal da nuvem com base na relação geométrica compreende iterar sobre valores de altura e, durante cada iteração, usar a relação geométrica para calcular uma área de sombra estimada da nuvem e contar uma quantidade de um ou mais pixels de sombra potencial que são abrangidos pelas área de sombra estimada, em que a altura ideal da nuvem é uma altura que maximiza o um ou mais pixels de sombra potenciais que são abrangidos pela área de sombra estimada.
28. Sistema de processamento de dados, de acordo com a reivindicação 26, caracterizado pelo fato de que a relação geométrica tem como base um ou mais dentre: ângulo de elevação solar, ângulo de azimute de sol ou ângulo off- nadir de satélite.
29. Sistema de processamento de dados, de acordo com a reivindicação 23, caracterizado pelo fato de que o um ou mais pixels de semente de nuvem são representados em uma máscara de semente de nuvem e a lógica de gerador de semente de nuvem é adicionalmente configurada para fazer com que o um ou mais processadores apliquem uma ou mais operações de abertura morfológicas à máscara de semente de nuvem.
30. Sistema de processamento de dados, de acordo com a reivindicação 23, caracterizado pelo fato de que o um ou mais pixels de semente de nuvem são representados em uma máscara de nuvem candidata e a lógica de gerador de máscara de nuvem é adicionalmente configurada para fazer com que o um ou mais processadores apliquem uma ou mais operações de abertura morfológicas à máscara de nuvem candidata.
31. Sistema de processamento de dados, de acordo com a reivindicação 23, caracterizado pelo fato de que a lógica de gerador de máscara de nuvem é adicionalmente configurada para fazer com que o um ou mais processadores identifiquem áreas urbanas dentro das imagens de sensoriamento remoto com base em desvios na brancura para cada pixel através de uma série temporal de imagens da área geográfica e remover pixels correspondentes às áreas urbanas identificadas a partir de um ou mais pixels de nuvem candidatos.
32. Sistema de processamento de dados, de acordo com a reivindicação 23, caracterizado pelo fato de que o sistema de processamento de dados compreende adicionalmente lógica de gerador de máscara de sombra armazenada na memória, executável pelo um ou mais processadores, e configurada para fazer o um ou mais processadores: identificar uma ou mais nuvens dentro das imagens de sensoriamento remoto com base na máscara de nuvem, identificar um ou mais pixels de sombra potencial dentro das imagens de sensoriamento remoto com base em um ou mais valores de banda para cada pixel dentro das imagens de sensoriamento remoto, para cada nuvem dentre a uma ou mais nuvens, determinar uma altura ideal da nuvem e um ângulo de azimute solar ideal com base em uma relação geométrica entre um satélite que capturou as imagens de sensoriamento remoto e um sol com base em um ou mais pixels de sombra potencial, para cada nuvem dentre a uma ou mais nuvens, identificar um ou mais pixels de sombra dentro das imagens de sensoriamento remoto que representa uma sombra difundida pela nuvem com base na altura ideal da nuvem e no ângulo de azimute do sol ideal, gerar uma máscara de sombra que identifica sombras difundidas pela uma ou mais nuvens dentro das imagens de sensoriamento remoto com base em um ou mais pixels de sombra identificados para cada nuvem de uma ou mais nuvens.
33. Sistema de processamento de dados, de acordo com a reivindicação 23, caracterizado pelo fato de que o um ou mais valores de bandas incluem um valor para cada um de um ou mais dentre: uma banda vermelha, uma banda azul, uma banda verde, uma banda de borda vermelha ou uma banda próxima do infravermelho.
BR112018011458-8A 2015-12-07 2016-11-15 Método, mídia de armazenamento não transitória e sistema de processamento de dados BR112018011458B1 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/960,921 US9721181B2 (en) 2015-12-07 2015-12-07 Cloud detection on remote sensing imagery
US14/960,921 2015-12-07
PCT/US2016/061990 WO2017099951A1 (en) 2015-12-07 2016-11-15 Cloud detection on remote sensing imagery

Publications (2)

Publication Number Publication Date
BR112018011458A2 BR112018011458A2 (pt) 2018-11-27
BR112018011458B1 true BR112018011458B1 (pt) 2023-03-07

Family

ID=58798402

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112018011458-8A BR112018011458B1 (pt) 2015-12-07 2016-11-15 Método, mídia de armazenamento não transitória e sistema de processamento de dados

Country Status (9)

Country Link
US (5) US9721181B2 (pt)
EP (1) EP3391099A4 (pt)
AR (1) AR106922A1 (pt)
AU (1) AU2016369263B2 (pt)
BR (1) BR112018011458B1 (pt)
CA (1) CA3007184C (pt)
UA (1) UA123591C2 (pt)
WO (1) WO2017099951A1 (pt)
ZA (1) ZA201803757B (pt)

Families Citing this family (126)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IL236606B (en) 2015-01-11 2020-09-30 Gornik Amihay Standards and methods for agricultural monitoring
US9745060B2 (en) * 2015-07-17 2017-08-29 Topcon Positioning Systems, Inc. Agricultural crop analysis drone
US10089528B2 (en) * 2015-08-18 2018-10-02 Digitalglobe, Inc. Movement intelligence using satellite imagery
US10282821B1 (en) * 2015-08-27 2019-05-07 Descartes Labs, Inc. Observational data processing and analysis
US9721181B2 (en) 2015-12-07 2017-08-01 The Climate Corporation Cloud detection on remote sensing imagery
WO2018049289A1 (en) 2016-09-09 2018-03-15 Cibo Technologies, Inc. Systems for adjusting agronomic inputs using remote sensing, and related apparatus and methods
US10028451B2 (en) 2016-11-16 2018-07-24 The Climate Corporation Identifying management zones in agricultural fields and generating planting plans for the zones
US10398096B2 (en) 2016-11-16 2019-09-03 The Climate Corporation Identifying management zones in agricultural fields and generating planting plans for the zones
US10685253B2 (en) * 2016-11-28 2020-06-16 Digitalglobe, Inc. Advanced cloud detection using neural networks and optimization techniques
US10083354B2 (en) * 2016-11-28 2018-09-25 Digitalglobe, Inc. Advanced cloud detection using machine learning and optimization techniques
WO2018116367A1 (en) * 2016-12-20 2018-06-28 Nec Corporation Image processing device, method and storage medium for removing clouds from an image
US10515272B2 (en) * 2017-05-11 2019-12-24 Digitalglobe, Inc. Muddy water detection using normalized semantic layers
CN107273868A (zh) * 2017-06-28 2017-10-20 电子科技大学 一种遥感图像中区分煤矿区的煤堆和煤矸石区域的方法
CN107578003B (zh) * 2017-08-29 2020-04-14 中国科学院遥感与数字地球研究所 一种基于地理标记图像的遥感图像迁移学习方法
CN107564017B (zh) * 2017-08-29 2020-01-10 南京信息工程大学 一种城市高分遥感影像阴影检测及分割方法
CN109426909B (zh) * 2017-08-30 2021-04-13 中国农业大学 基于随机森林的耕地产能指数获取方法及装置
JP6885509B2 (ja) * 2017-09-08 2021-06-16 日本電気株式会社 画像処理装置、画像処理方法及び画像処理プログラム
CN107610114B (zh) * 2017-09-15 2019-12-10 武汉大学 基于支持向量机的光学卫星遥感影像云雪雾检测方法
CN107453803B (zh) * 2017-09-20 2018-08-10 中城泰信(苏州)科技发展股份有限公司 一种遥感云核的异常核查方法
CN107886125B (zh) * 2017-11-09 2021-06-11 南京大学 基于局部谱分解打分的modis卫星遥感图像标注方法
CN108021080B (zh) * 2017-11-17 2019-11-29 南京视莱尔汽车电子有限公司 一种载货自动驾驶汽车车厢转台自动监控系统
CN108051371B (zh) * 2017-12-01 2018-10-02 河北省科学院地理科学研究所 一种面向生态环境参量遥感反演的阴影提取方法
CN108089240B (zh) * 2018-01-09 2020-06-02 中国科学院遥感与数字地球研究所 一种过冷水云检测方法
US10477756B1 (en) 2018-01-17 2019-11-19 Cibo Technologies, Inc. Correcting agronomic data from multiple passes through a farmable region
CN108513352A (zh) * 2018-01-24 2018-09-07 江汉大学 基于无线传感器网络的分布式定位方法和无线传感器节点
CN108564117B (zh) * 2018-03-30 2022-03-29 华南理工大学 一种基于svm的贫困生辅助认定方法
CN108765329B (zh) * 2018-05-21 2020-12-04 北京师范大学 一种遥感影像的厚云去除方法及系统
CN112166352A (zh) 2018-05-25 2021-01-01 巴斯夫农化商标有限公司 训练机器学习算法并预测特别是田地或子田地级别的天气数据变量的值
US10878588B2 (en) * 2018-06-22 2020-12-29 X Development Llc Detection and replacement of transient obstructions from high elevation digital images
CN108876172B (zh) * 2018-06-28 2021-09-03 武汉大学 一种基于改进型modis植被供水指数的地表土壤含水量评估方法
CN109086685A (zh) * 2018-07-11 2018-12-25 国家林业局森林病虫害防治总站 基于卫星遥感图像的林业生物灾害监测方法和系统
WO2020028098A1 (en) 2018-07-31 2020-02-06 Loft Orbital Solutions Inc. System and method for providing spacecraft-based services
EP3857443A4 (en) * 2018-09-24 2022-08-03 Digitalglobe, Inc. ADVANCED CLOUD DETECTION USING NEURAL NETWORKS AND OPTIMIZATION METHODS
CN109447325A (zh) * 2018-09-30 2019-03-08 广州地理研究所 基于随机森林算法的降水数据检测方法、装置及电子设备
BR112021006133A2 (pt) * 2018-10-19 2021-06-29 The Climate Corporation técnicas de aprendizado de máquina para identificar nuvens e sombras de nuvem em imagística por satélite
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
US12069978B2 (en) 2018-10-26 2024-08-27 Deere & Company Predictive environmental characteristic map generation and control system
US11178818B2 (en) 2018-10-26 2021-11-23 Deere & Company Harvesting machine control system with fill level processing based on yield data
US11641800B2 (en) 2020-02-06 2023-05-09 Deere & Company Agricultural harvesting machine with pre-emergence weed detection and mitigation system
US11467605B2 (en) 2019-04-10 2022-10-11 Deere & Company Zonal machine control
US11653588B2 (en) 2018-10-26 2023-05-23 Deere & Company Yield map generation and control system
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
CN109242215B (zh) * 2018-10-26 2021-06-29 浙江工业大学之江学院 一种基于粒子群-支持向量机的旋转机械设备运行工况预测方法
US11079725B2 (en) 2019-04-10 2021-08-03 Deere & Company Machine control using real-time model
US11589509B2 (en) 2018-10-26 2023-02-28 Deere & Company Predictive machine characteristic map generation and control system
US11464177B2 (en) 2018-12-10 2022-10-11 Climate Llc Image-based irrigation recommendations
BR112021010122A2 (pt) * 2018-12-21 2021-08-24 The Climate Corporation Previsão de produção a nível de campo durante estação
AU2020218573A1 (en) * 2019-02-04 2021-08-05 Farmers Edge Inc. Shadow and cloud masking for remote sensing images in agriculture applications using multilayer perceptron
AU2020219867A1 (en) * 2019-02-06 2021-08-05 Farmers Edge Inc. Shadow and cloud masking for agriculture applications using convolutional neural networks
US11234366B2 (en) 2019-04-10 2022-02-01 Deere & Company Image selection for machine control
US11778945B2 (en) 2019-04-10 2023-10-10 Deere & Company Machine control using real-time model
CN110544235B (zh) * 2019-07-31 2022-12-16 华南理工大学 一种基于微分几何的柔性电路板图像区域识别方法
CN110703244B (zh) * 2019-09-05 2023-08-04 中国科学院遥感与数字地球研究所 基于遥感数据识别城区内水体的方法和装置
CN110991493B (zh) * 2019-11-09 2023-05-12 华东师范大学 一种协同表示和异常剔除的高光谱异常检测方法
CN110888125B (zh) * 2019-12-05 2020-06-19 奥特酷智能科技(南京)有限公司 一种基于毫米波雷达的自动驾驶车辆定位方法
CN110807730B (zh) * 2020-01-08 2020-04-24 北京航天宏图信息技术股份有限公司 影像几何纠正方法、装置及电子设备
US12035648B2 (en) 2020-02-06 2024-07-16 Deere & Company Predictive weed map generation and control system
CN111553922B (zh) * 2020-03-26 2023-12-26 中国资源卫星应用中心 一种卫星遥感影像自动云检测方法
US11477940B2 (en) 2020-03-26 2022-10-25 Deere & Company Mobile work machine control based on zone parameter modification
CN111709458B (zh) * 2020-05-25 2021-04-13 中国自然资源航空物探遥感中心 一种用于高分五号影像的自动质检方法
CN111798461B (zh) * 2020-06-19 2022-04-01 武汉大学 粗粒度标签引导深度学习的像素级遥感影像云区检测方法
CN112149492B (zh) * 2020-07-06 2022-08-30 北京航空航天大学 一种基于强化遗传学习的遥感图像精确云检测方法
CN111898503B (zh) * 2020-07-20 2021-02-26 中国农业科学院农业资源与农业区划研究所 基于云覆盖遥感影像和深度学习的作物识别方法和系统
CN112102180B (zh) * 2020-08-21 2022-10-11 电子科技大学 一种基于Landsat光学遥感图像的云识别方法
US11895948B2 (en) 2020-10-09 2024-02-13 Deere & Company Predictive map generation and control based on soil properties
US11844311B2 (en) 2020-10-09 2023-12-19 Deere & Company Machine control using a predictive map
US11983009B2 (en) 2020-10-09 2024-05-14 Deere & Company Map generation and control system
US11825768B2 (en) 2020-10-09 2023-11-28 Deere & Company Machine control using a predictive map
US11635765B2 (en) 2020-10-09 2023-04-25 Deere & Company Crop state map generation and control system
US11864483B2 (en) 2020-10-09 2024-01-09 Deere & Company Predictive map generation and control system
US11845449B2 (en) 2020-10-09 2023-12-19 Deere & Company Map generation and control system
US11650587B2 (en) 2020-10-09 2023-05-16 Deere & Company Predictive power map generation and control system
US11889788B2 (en) 2020-10-09 2024-02-06 Deere & Company Predictive biomass map generation and control
US11927459B2 (en) 2020-10-09 2024-03-12 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
US11946747B2 (en) 2020-10-09 2024-04-02 Deere & Company Crop constituent map generation and control system
US11849671B2 (en) 2020-10-09 2023-12-26 Deere & Company Crop state map generation and control system
US11474523B2 (en) 2020-10-09 2022-10-18 Deere & Company Machine control using a predictive speed map
US12069986B2 (en) 2020-10-09 2024-08-27 Deere & Company Map generation and control system
US11727680B2 (en) 2020-10-09 2023-08-15 Deere & Company Predictive map generation based on seeding characteristics and control
US12013245B2 (en) 2020-10-09 2024-06-18 Deere & Company Predictive map generation and control system
US11871697B2 (en) 2020-10-09 2024-01-16 Deere & Company Crop moisture map generation and control system
US11711995B2 (en) 2020-10-09 2023-08-01 Deere & Company Machine control using a predictive map
US11849672B2 (en) 2020-10-09 2023-12-26 Deere & Company Machine control using a predictive map
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
CN112507276B (zh) * 2020-11-05 2023-07-04 南京信息工程大学 一种无需大气校正的近海浒苔绿潮遥感监测方法
CN112241722A (zh) * 2020-11-18 2021-01-19 河南工业大学 一种基于蚁群算法的南极海冰遥感图像分割方法
CN112465846B (zh) * 2020-11-26 2023-04-07 西安电子科技大学 基于填充策略的含云遥感图像压缩方法
CN112766090B (zh) * 2021-01-05 2022-07-05 深圳市数字城市工程研究中心 一种利用多季相Sentinel-2影像快速识别城郊闲置耕地的方法与系统
KR102353123B1 (ko) * 2021-02-16 2022-01-19 대한민국 열분포 지도제작을 위한 위성영상 간 밝기 차이 최소화 보정방법
CN113052121B (zh) * 2021-04-08 2022-09-06 北京理工大学 一种基于遥感影像的多层级网络地图智能生成方法
CN113158855B (zh) * 2021-04-08 2023-04-18 成都国星宇航科技股份有限公司 一种基于在线学习的遥感图像辅助处理方法和装置
CN113223040B (zh) * 2021-05-17 2024-05-14 中国农业大学 基于遥感的香蕉估产方法、装置、电子设备和存储介质
CN113239830B (zh) * 2021-05-20 2023-01-17 北京航空航天大学 一种基于全尺度特征融合的遥感图像云检测方法
CN113284066B (zh) * 2021-05-28 2021-12-14 生态环境部卫星环境应用中心 遥感影像自动云检测方法和装置
GB2607577A (en) * 2021-06-01 2022-12-14 Geovisual Tech Inc Cloud-free analytics from satellite input
CN113095303B (zh) * 2021-06-04 2021-09-28 成都数之联科技有限公司 模型训练方法及林地变化检测方法及系统及装置及介质
CN113077468B (zh) * 2021-06-08 2021-08-31 自然资源部国土卫星遥感应用中心 高光谱卫星影像的辐射异常的质量检测方法和装置
CN113596074B (zh) * 2021-06-08 2024-07-02 中绘云图信息科技有限公司 基于遥感云数据处理方法
CN113096129B (zh) * 2021-06-08 2021-09-10 自然资源部国土卫星遥感应用中心 高光谱卫星影像中的云量检测方法和装置
CN113449788B (zh) * 2021-06-24 2023-04-28 湖南大学 一种可见光、近红外遥感影像云检测方法
CN113936009B (zh) * 2021-09-14 2023-11-21 国家卫星气象中心(国家空间天气监测预警中心) 一种气象卫星洪涝监测的云阴影去除方法、装置及设备
CN114092343A (zh) * 2021-10-14 2022-02-25 北京数慧时空信息技术有限公司 遥感影像去云方法
CN114049564B (zh) * 2021-10-22 2024-07-02 长江师范学院 基于高光谱遥感影像的松材线虫病等级预测模型构建方法
CN113723381B (zh) * 2021-11-03 2022-02-08 航天宏图信息技术股份有限公司 一种云检测方法、装置、设备及介质
CN114112987B (zh) * 2021-11-23 2024-05-24 国家卫星气象中心(国家空间天气监测预警中心) 冬小麦判识阈值确定方法以及冬小麦判识方法
KR102656333B1 (ko) * 2021-12-01 2024-04-11 한국항공우주연구원 기계학습 기반의 광학위성영상 자동 운량분석시스템 및 자동 운량분석방법
CN114187351B (zh) * 2021-12-09 2022-07-26 北京劢亚科技有限公司 一种应用于卫星的图像采集方法及装置
GB2614251A (en) * 2021-12-22 2023-07-05 Hidef Aerial Surveying Ltd Classification, length measurement and height measurement apparatus and method
US12082531B2 (en) 2022-01-26 2024-09-10 Deere & Company Systems and methods for predicting material dynamics
IL314525A (en) * 2022-01-31 2024-09-01 Coral Vita Inc Systems and methods that promote growth, health or resilience of corals
US12058951B2 (en) 2022-04-08 2024-08-13 Deere & Company Predictive nutrient map and control
CN114942688B (zh) * 2022-05-26 2023-05-26 浙江机电职业技术学院 一种基于边云协同的无人机监控模块数据自适应上传方法
US20240037820A1 (en) * 2022-07-29 2024-02-01 Climate Llc Methods And Systems For Use In Mapping Tillage Based On Remote Data
CN115546658B (zh) * 2022-09-26 2023-05-05 北华航天工业学院 一种数据集质量提升与改进cnn相结合的夜间云检测方法
CN115759598B (zh) * 2022-11-07 2023-10-31 二十一世纪空间技术应用股份有限公司 一种基于多源云量的遥感卫星任务规划方法
US11663753B1 (en) * 2022-11-16 2023-05-30 Eos Data Analytics, Inc. Generation of field productivity maps
CN116245757B (zh) * 2023-02-08 2023-09-19 北京艾尔思时代科技有限公司 多模态数据的多场景通用性遥感影像云修复方法和系统
CN116340733B (zh) * 2023-05-29 2023-09-01 哈尔滨工业大学(深圳)(哈尔滨工业大学深圳科技创新研究院) 基于0级遥感信号的在轨云检测方法及遥感数据处理方法
CN117058557A (zh) * 2023-07-17 2023-11-14 北华航天工业学院 基于物理特征与深度学习模型的云和云阴影联合检测方法
CN117408949B (zh) * 2023-09-20 2024-07-09 宁波大学 一种季节性动态阈值的云及云阴影检测方法及装置
CN117496162B (zh) * 2024-01-03 2024-03-22 北京理工大学 一种红外卫星遥感影像薄云去除方法、装置及介质
CN118503655A (zh) * 2024-07-17 2024-08-16 珠江水文水资源勘测中心 一种基于改进集合预测法的变化环境下干旱预测方法及系统

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5612901A (en) * 1994-05-17 1997-03-18 Gallegos; Sonia C. Apparatus and method for cloud masking
WO2003069558A1 (en) * 2002-01-22 2003-08-21 National University Of Singapore Method for producing cloud free, and cloud-shadow free, images
US7349917B2 (en) * 2002-10-01 2008-03-25 Hewlett-Packard Development Company, L.P. Hierarchical categorization method and system with automatic local selection of classifiers
US7400770B2 (en) * 2002-11-06 2008-07-15 Hrl Laboratories Method and apparatus for automatically extracting geospatial features from multispectral imagery suitable for fast and robust extraction of landmarks
US7184892B1 (en) 2003-01-31 2007-02-27 Deere & Company Method and system of evaluating performance of a crop
US7058511B2 (en) * 2003-11-24 2006-06-06 The Boeing Company Sub-visible cloud cover assessment: VNIR-SWIR
US6990410B2 (en) 2003-11-24 2006-01-24 The Boeing Company Cloud cover assessment: VNIR-SWIR
US7097113B2 (en) 2004-01-20 2006-08-29 Norman Ivans Irrigation unit including a power generator
BRPI0806559B1 (pt) 2007-01-08 2018-04-10 Precision Planting, Inc. Sistema de monitor para semeadeira de sementes agrícolas
CA2617119A1 (en) 2008-01-08 2009-07-08 Pci Geomatics Enterprises Inc. Service oriented architecture for earth observation image processing
US8712148B2 (en) 2008-06-06 2014-04-29 Monsanto Technology Llc Generating agricultural information products using remote sensing
US8639408B2 (en) 2008-10-15 2014-01-28 Deere & Company High integrity coordination system for multiple off-road vehicles
US8477295B2 (en) 2009-05-07 2013-07-02 Solum, Inc. Automated soil measurement device
US8594375B1 (en) * 2010-05-20 2013-11-26 Digitalglobe, Inc. Advanced cloud cover assessment
US9230308B2 (en) * 2011-06-30 2016-01-05 Weyerhaeuser Nr Company Method and apparatus for removing artifacts from aerial images
US8509476B2 (en) * 2011-09-13 2013-08-13 The United States Of America, As Represented By The Secretary Of The Navy Automated system and method for optical cloud shadow detection over water
US20130174040A1 (en) 2011-12-30 2013-07-04 Jerome Dale Johnson Methods, apparatus and systems for generating, updating and executing a crop-planting plan
US20130173321A1 (en) 2011-12-30 2013-07-04 Jerome Dale Johnson Methods, apparatus and systems for generating, updating and executing a crop-harvesting plan
ES2903049T3 (es) 2012-07-25 2022-03-30 Prec Planting Llc Sistema y método para control y monitoreo de implementos agrícolas de hileras múltiples
US9449244B2 (en) * 2013-12-11 2016-09-20 Her Majesty The Queen In Right Of Canada, As Represented By The Minister Of National Defense Methods for in-scene atmospheric compensation by endmember matching
US9721181B2 (en) 2015-12-07 2017-08-01 The Climate Corporation Cloud detection on remote sensing imagery

Also Published As

Publication number Publication date
CA3007184C (en) 2020-10-27
US10621467B2 (en) 2020-04-14
US11657597B2 (en) 2023-05-23
US20190087682A1 (en) 2019-03-21
US10140546B2 (en) 2018-11-27
AU2016369263B2 (en) 2021-05-13
WO2017099951A1 (en) 2017-06-15
EP3391099A1 (en) 2018-10-24
US20170357872A1 (en) 2017-12-14
US9721181B2 (en) 2017-08-01
US20170161584A1 (en) 2017-06-08
ZA201803757B (en) 2019-09-25
BR112018011458A2 (pt) 2018-11-27
AR106922A1 (es) 2018-02-28
US20200218930A1 (en) 2020-07-09
CA3007184A1 (en) 2017-06-15
UA123591C2 (uk) 2021-04-28
US20210383156A1 (en) 2021-12-09
AU2016369263A1 (en) 2018-06-28
EP3391099A4 (en) 2019-07-31
US11126886B2 (en) 2021-09-21

Similar Documents

Publication Publication Date Title
US11657597B2 (en) Cloud detection on remote sensing imagery
US11380092B2 (en) Ponding water detection on satellite imagery
US11856881B2 (en) Detection of plant diseases with multi-stage, multi-scale deep learning
EP3895067B1 (en) Mapping soil properties with satellite data using machine learning approaches
BR112021006133A2 (pt) técnicas de aprendizado de máquina para identificar nuvens e sombras de nuvem em imagística por satélite
BR122020015963B1 (pt) Método implementado por computador de determinação de um número de grãos a partir de uma imagem de um milho e meios de armazenamento não transitório
BR112020006760A2 (pt) reconhecimento de doenças partindo de imagens que têm grande campo de visão
BR112017026437B1 (pt) Sistema de computador e método implantado por computador para monitorar operações de um ou mais campos
US11900671B2 (en) Predicting horticultural yield for a field location using multi-band aerial imagery

Legal Events

Date Code Title Description
B06U Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette]
B07A Application suspended after technical examination (opinion) [chapter 7.1 patent gazette]
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]

Free format text: PRAZO DE VALIDADE: 20 (VINTE) ANOS CONTADOS A PARTIR DE 15/11/2016, OBSERVADAS AS CONDICOES LEGAIS

B21F Lapse acc. art. 78, item iv - on non-payment of the annual fees in time

Free format text: REFERENTE A 8A ANUIDADE.