Skip To Content

Aprendizagem detalhada na Análise de Raster

O ArcGIS Image Server permite a você utilizar métodos de estatística ou de aprendizagem automática para classificar imagens de sensoriamento remoto. A aprendizagem detalhada é um tipo de aprendizagem automática que depende de várias camadas de processamento não linear para identificação de feição e reconhecimento de padrões descrito em um modelo. Modelos de aprendizagem detalhada podem ser integrados ao ArcGIS Image Server para detecção de objetos e classificação de imagens. As amostras de treinamento de feições ou objetos de interesse são geradas no ArcGIS Pro com ferramentas de gerenciamento da amostra de treinamento de classificação, em seguida, convertidas em um formato para uso na estrutura de aprendizagem detalhada. Estas amostras de treinamento são utilizadas para treinar o modelo utilizando uma estrutura de aprendizagem detalhada de terceiros por um cientista de dados ou cientista de imagens. O modelo treinado, junto com o arquivo de definição do modelo (e opcionalmente um arquivo de script da função de raster do python), é compactado e compartilhado como um item de pacote da aprendizagem detalhada (dlpk) que é utilizado para executar as ferramentas de inferência da análise de raster. As ferramentas de inferência extraem feições específicas ou classificam os pixels nas imagens. O item dlpk pode ser utilizado várias vezes como entradas para as ferramentas da análise de raster, facilitando a avaliação de várias imagens em diferentes locais e períodos de tempo, após o modelo ter sido treinado.

Fluxo de trabalho da aprendizagem detalhada

Item 1 do fluxo de trabalho

Crie amostras de treinamento com o Gerenciador das Amostras de Treinamento no ArcGIS Pro e utilize a ferramenta da análise de raster Exportar Dados de Treinamento para Aprendizagem Detalhada no ArcGIS REST API ou ArcGIS API for Python para preparar os dados para o cientista de dados.

Item 2 do fluxo de trabalho

O cientista de dados utiliza os dados de treinamento para desenvolver modelos utilizando uma estrutura de aprendizagem detalhada de terceiros.

Item 3 do fluxo de trabalho

O cientista de dados fornece um pacote de aprendizagem detalhada, consistindo no arquivo de definição do modelo e no modelo treinado e/ou script de Python, de volta ao ambiente da análise de raster do ArcGIS Image Server .

Item 4 do fluxo de trabalho

Crie um item do pacote de aprendizagem detalhada (.dlpk) e compartilhe-o no Portal. Com o item dlpk, execute a ferramentaDetectar Objetos Utilizando Aprendizagem Detalhada ou a ferramenta Classificar Pixels Utilizando Aprendizagem Detalhada para gerar uma saída.

Item 5 do fluxo de trabalho

Você pode alavancar o ArcGIS API for Python para treinar o modelo com uma estrutura de aprendizagem detalhada.

Feições e recursos

Ferramentas da análise de raster da aprendizagem detalhada permitem que você utilize mais do que as técnicas de classificação da aprendizagem automática padrão.

  • Utilize redes neurais convolucionais para classificação de imagens.
  • Utilize um modelo de aprendizagem detalhada para classificar os pixels da imagem ou detectar objetos como aviões, árvores, veículos, corpos d'água e poços de petróleo.
  • Integre estruturas externas do modelo de aprendizagem detalhada, incluindo Keras, TensorFlow, CNTK e PyTorch.
  • Utilize um arquivo de definição do modelo várias vezes para detectar mudanças ao longo do tempo ou detectar objetos em diferentes áreas de interesse.
  • Gere uma classe de feição de polígono mostrando os objetos detectados a serem utilizados para análises adicionais ou fluxos de trabalho.
  • As ferramentas de inferência de aprendizagem detalhada podem utilizar a CPU para processamento distribuído ou utilizar uma GPU eficiente em cada nó do servidor, se disponível.

Iniciar com aprendizagem detalhada

A criação e exportação de amostras de treinamento são realizadas no ArcGIS por um analista de imagem experiente, pois exigem um forte conhecimento dos fluxos de trabalho da classificação de imagens. O modelo de aprendizagem detalhada é treinado fora do ArcGIS utilizando uma estrutura de aprendizagem detalhada por um cientista de dados, ou alguém experiente na formação doa modelos de aprendizagem detalhada. Após o modelo ser treinado e definido em um arquivo de definição do modelo da Esri .emd, você compartilhará um item dlpk no Portal for ArcGIS e executará as ferramentas da análise de raster para detectar objetos ou classificar pixels do Map Viewer, ArcGIS API for Python, ArcGIS REST API ou ArcGIS Pro. Em alguns casos, todas as três etapas podem ser concluídas por um analista com experiência em modelos de aprendizagem detalhada e classificação de imagens do ArcGIS.

Você precisará instalar a estrutura apropriada de aprendizagem detalhada ArcGIS API for Python (TensorFlow, CNTK, PyTorch ou Keras) no ambiente 3 de Python ArcGIS Server ; caso contrário, ocorrerá um erro quando você adicionar o item dlpk na ferramenta. Obtenha as informações de estrutura apropriadas do criador do arquivo de Definição do Modelo da Esri

Consulte a documentação da estrutura para obter ajuda com a instalação. Se refira a documentação de ajuda para ajuda configurando e desenvolvendo ArcGIS Enterprise para análises raster.

  1. Crie e exporte amostras de treinamento.
    1. Utilize o Gerenciador das Amostras de Treinamento no ArcGIS Pro para selecionar ou criar um esquema de classificação.
    2. Crie amostras do site de treinamento para as categorias de classe ou feições de interesse. Salve o arquivo da amostra de treinamento.
    3. Execute a ferramenta da análise de raster Exportar Dados de Treinamento para Aprendizagem Detalhada para converter as amostras de treinamento e imagens de origem em dados de treinamento de aprendizagem detalhada. A imagem de origem pode ser um serviço de imagem. A saída da ferramenta é a cadeia de armazenamento de dados onde os chips de imagem de saída, os rótulos e os arquivos de metadados serão armazenados. Uma saída adicional da ferramenta é um arquivo .emd do modelo a ser preenchido pelo cientista de dados.
  2. Teste o modelo de aprendizagem detalhada.
    1. Utilize os chips de imagem gerados na etapa 1 acima para testar um modelo utilizando uma estrutura de aprendizagem detalhada, como TensorFlow, CNTK, PyTorch ou Keras.
    2. Atualize o arquivo .emd com o nome da estrutura de aprendizagem detalhada, a configuração do modelo e outras propriedades opcionais. Para informações sobre os parâmetros obrigatórios e opcionais no arquivo .emd , consulte a seção Arquivo de definição do modelo da Esri abaixo.
  3. Execute as ferramentas da análise de raster de inferência do Map Viewer, ArcGIS API for Python, ArcGIS REST API ou ArcGIS Pro.
    1. Utilize as ferramentas da análise de raster Detectar Objetos Utilizando Aprendizagem Detalhada ou Classificar Pixels Utilizando Aprendizagem Detalhada para processar suas imagens. Se seu modelo treinado incorporou funções de raster do Python personalizadas com variáveis adicionais, como preenchimento ou limite de confiança para ajuste refinado da sensibilidade, estas variáveis aparecerão na caixa de diálogo da ferramenta de análise do ArcGIS Pro ou Map Viewer para entrada de usuário. O tipo de dados, como string ou numérico, é especificado na função de raster do Python. Idealmente, os parâmetros adicionais de inferência devem ser limitados a dois.

      A saída da ferramenta Detectar Objetos Utilizando Aprendizagem Detalhada é uma classe de feição que mostra os objetos detectados pelo modelo e ferramenta a Classificar Pixels Utilizando Aprendizagem Detalhada produz uma imagem classificada.

      Anotação:

      A estrutura do modelo de aprendizagem detalhada deve ser instalada nas máquinas de serviço da Análises Raster para executar as ferramentas de inferência, pois a lógica de inferência é construída no Python API de estrutura e é necessária para computação.

Arquivo de definição do modelo da Esri

O arquivo .emd é um arquivo JSON que descreve o modelo de aprendizagem detalhada treinado. Ele contém parâmetros de definição do modelo necessários para executar as ferramentas de inferência e deve ser modificado pelo cientista de dados que treinou o modelo. Há parâmetros obrigatórios e opcionais no arquivo, conforme descrito na tabela abaixo.

Parâmetro do arquivo de definição do modeloExplanação

Estrutura

O nome de uma estrutura da aprendizagem detalhada utilizada para treinar seu modelo.

Três estruturas de aprendizagem detalhada são suportadas:

  • TensorFlow
  • CNTK
  • Keras
  • PyTorch

InferenceFunction

ModelConfiguration

O nome de configuração do modelo.

A configuração do modelo define as entradas e saídas do modelo, a lógica de inferência e as suposições feitas sobre as entradas e saídas do modelo. Há fluxos de trabalho da aprendizagem detalhada de software livre que definem a configuração padrão de entrada e saída e a lógica de inferência. O ArcGIS suporta um conjunto de configurações pré-definidas:

TensorFlow

CNTK

Keras

PyTorch

Se você utilizou uma das configurações pré-definidas, digite o nome da configuração no arquivo .emd . Se você treinou seu modelo de aprendizagem detalhada utilizando uma configuração personalizada, você precisará descrever as entradas e saídas no arquivo .emd ou no arquivo de Python personalizado, na íntegra.

ModelFile

O caminho para um arquivo de modelo da aprendizagem detalhada treinado. Muitos formatos de arquivo do modelo são baseados em Buffers de Protocolo, então o modelo de aprendizagem detalhada treinado é um arquivo .pb , mas outros formatos de arquivo são suportados.

ModelType

O tipo de modelo. O tipo pode ser um dos seguintes:

  • ImageClassification—Para pixels de classificação
  • ObjectDetection—Para detectar objetos ou feições

InferenceFunction

(Opcional)

O caminho da função de inferência.

Uma função de inferência entende o arquivo de dados do modelo treinado e fornece a lógica de inferência. Há seis funções de inferência que são suportadas nas ferramentas da análise de raster da aprendizagem detalhada do ArcGIS:

  • Detectar Objetos para TensorFlow
  • Classificar Pixels para Tensor Flow
  • Detectar Objetos para CNTK
  • Classificar Pixels para CNTK
  • Detectar Objetos para Keras
  • Detectar Objetos para Pytorch
Se você utilizou uma das funções de inferência acima, não há necessidade de especificá-la no arquivo .emd . Se o seu modelo foi treinado utilizando uma configuração de modelo da aprendizagem detalhada que ainda não é suportada ou exige uma lógica de inferência especial, uma função de inferência personalizada (um módulo de Python) será necessária junto com o modelo treinado. Neste caso, configure InferenceFunction para o caminho do módulo do Python.

ImageHeight

(Opcional)

O número de linhas na imagem que está sendo classificada ou processada.

ImageWidth

(Opcional)

O número de colunas na imagem que está sendo classificada ou processada.

ExtractBands

(Opcional)

Os índices de banda ou nomes de bandas a serem extraídos das imagens de entrada.

Classes

(Opcional)

Informações sobre as categorias ou objetos da classe de saída.

Abaixo está um exemplo de um arquivo de definição do modelo (.emd) que utiliza uma configuração de modelo padrão:

{
    "Framework": "TensorFlow",
    "ModelConfiguration": "ObjectDetectionAPI",
    "ModelFile":"tree_detection.pb",
    "ModelType":"ObjectionDetection",
    "ImageHeight":850,
    "ImageWidth":850,
    "ExtractBands":[0,1,2],
    "Classes" : [
      {
        "Value": 0,
        "Name": "Tree",
        "Color": [0, 255, 0]
      }
    ]
}

Item (dlpk) do pacote de aprendizagem detalhada

Ferramentas da análise de raster da aprendizagem detalhada exigem um pacote de modelo de aprendizagem detalhada (dlpk) como entrada. O pacote de modelo da aprendizagem detalhada é composto do arquivo JSON da definição de modelo da Esri (.emd), o arquivo de modelo binário da aprendizagem detalhada e, opcionalmente, a função de raster do Python a ser utilizada.

Quando você tiver todos os componentes prontos, você poderá compactar todos os arquivos em um arquivo .zip , e carregar o arquivo .zip no seu portal como um item dlpk. Para mais detalhes, consulte Adicionar arquivos do seu computador. Você também pode alterar sua extensão de arquivo .zip para .dlpk para que, ao adicionar o item, o tipo de item dlpk seja automaticamente detectado.