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 utilizando a ferramenta Rotular Objetos para Aprendizagem Detalhada e convertidas em um formato para uso na estrutura de aprendizagem detalhada. Estas amostras de treinamento são utilizadas para treinar o modelo utilizando a ferramenta da análise de raster Modelo de Aprendizagem Detalhada de Treinamento ou ArcGIS API for Python. 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 é então, 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 a ferramenta Rotular Objetos para Aprendizagem Detalhada 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

Treine e realize a aprendizagem detalhada utilizando a ferramenta da análise de raster Modelo de Aprendizagem Detalhada de Treinamento . Você também pode utilizar o ArcGIS REST API para treinar o modelo com uma estrutura de aprendizagem detalhada. O pacote de aprendizagem detalhada de saída (*.dlpk), consistindo no arquivo de definição do modelo e no modelo de aprendizagem detalhada treinado ou script de Python, é compartilhado no seu portal como um item .dlpk.

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 ou script de Python, de volta ao ambiente da análise de raster do ArcGIS Image Server.

Com o item .dlpk no portal, execute a ferramenta Detectar Objetos Utilizando Aprendizagem Detalhada ou a ferramenta Classificar Pixels Utilizando Aprendizagem Detalhada ou a ferramenta Classificar Objetos Utilizando Aprendizagem Detalhada para gerar uma saída.

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 imagem e detecção de objeto.
  • Utilize um modelo de aprendizagem detalhada para classificar os pixels da imagem, detectar ou classificar objetos como aviões, árvores, veículos, corpos d'água e poços de petróleo.
  • Integre estruturas externas de modelo de aprendizagem detalhada, incluindo PyTorch, Keras e TensorFlow.
  • Processe uma coleção de rasters durante a inferência do modelo 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 GPUS eficientes em cada nó do servidor, se disponível.
  • Você pode usar várias GPUs por nó do servidor para executar o trabalho de inferência da aprendizagem detalhada com as configurações de modelo predefinidas no ArcGIS, incluindo a API de detecção de objetos TensorFlow e o DeepLab, Keras MaskRCNN, PyTorch fastai Single Shot Detector.
  • Se o raster de entrada vier com o espaço de mapa apropriado para transformar o espaço da imagem, os chips da imagem de treinamento poderão ser exportados no espaço da imagem na ferramenta Exportar Dados de Treinamento para Aprendizagem Detalhada.

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 pode ser treinado no ArcGIS utilizando a ferramenta da análise de raster Modelo de Aprendizagem Detalhada de Treinamento ou ArcGIS API for Python arcgis.learn. Alternativamente, o modelo de aprendizagem detalhada pode ser treinado fora do ArcGIS utilizando uma API de aprendizagem detalhada de terceiros. Após o modelo ser treinado, o item .dlpk será adicionado ao portal ArcGIS Enterprise e pronto para tarefas de inferência do modelo. Execute as ferramentas da análise de raster para detectar e classificar objetos ou classificar pixels a partir do Map Viewer Classic, ArcGIS API for Python, ArcGIS REST API, ou ArcGIS Pro. O fluxo de trabalho inteiro da aprendizagem detalhada pode ser concluído por um analista com experiência em modelos de aprendizagem detalhada e classificação de imagens do ArcGIS.

Um aplicativo de configuração da aprendizagem detalhada separado também é fornecido, que instalará as APIs apropriadas da estrutura de aprendizagem detalhada (TensorFlow, Keras, PyTorch e todas as outras bibliotecas de Python exigidas no ambiente arcgispro-py3 padrão do ArcGIS Image Server. É o pré-requisito para executar tarefas de aprendizagem detalhada no ArcGIS Image Server.

Consulte a documentação de ajuda para ajuda ao configurar e implantar o ArcGIS Enterprise para análises de raster. Consulte as etapas adicionais para configurar seu servidor deRaster Analysis para usar várias GPUs por nó do servidor.

  1. Crie e exporte amostras de treinamento.
    1. Utilize a ferramenta Rotular Objetos para Aprendizagem Detalhada 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 a ferramenta da análise de raster Modelo de Aprendizagem Detalhada de Treinamento . Alternativamente, os usuários podem testar modelos de aprendizagem detalhada usando ArcGIS API for Python arcgis.learn ou APIs da estrutura de aprendizagem detalhada de terceiros.
    2. Se o modelo de aprendizagem detalhada for testado utilizando a ferramenta da análise de raster Modelo de Aprendizagem Detalhada de Treinamento, a saída será um item do pacote do modelo de aprendizagem detalhada publicado no portal. O pacote do modelo de aprendizagem detalhada (.dlpk) pode ser consumido diretamente na próxima etapa.
    3. Se uma API da estrutura de aprendizagem detalhada de terceiros for utilizada para testar o modelo, os usuários precisarão atualizar o arquivo .emd com o nome da estrutura de aprendizagem detalhada, a configuração do modelo, outras propriedades opcionais e, opcionalmente, uma função raster de Python personalizada para inferência do modelo. 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 Classic, ArcGIS API for Python, ArcGIS REST API ou ArcGIS Pro.
    1. Utilize as ferramentas da análise de raster Detectar Objetos Utilizando Aprendizagem Detalhada, Classificar Pixels Utilizando Aprendizagem Detalhada ou Classificar Objetos Utilizando Aprendizagem Detalhada para processar suas imagens. Se o 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 raster no ArcGIS Pro ou Map Viewer Classic. O tipo de dados, como string ou numérico, é especificado na função de raster do Python.
      Anotação:

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

Arquivo da definição de 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.

As seguintes estruturas de aprendizagem detalhada são suportadas:

  • TensorFlow
  • Keras
  • PyTorch

PythonInferenceFunctionPython

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

  • ObjectDetectionAPI
  • DeepLab

Keras

  • MaskRCNN
  • KerasClassifier

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 da estrutura 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
  • ObjectClassification—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 Keras
  • Detectar Objetos para PyTorch
  • Classificar 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 de 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.

Voce pode compartilhar um pacote de aprendizagem detalhada diretamente do ArcGIS Pro. Alternativamente, se você tiver todos os componentes prontos, você poderá compactar os arquivos em um arquivo .zip, e carregar o arquivo .zip no seu portal como um item .dlpk. Para mais detalhes , consulteAdicionar arquivos como itens. 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.

Anotação:

Você deve compactar todos os arquivos incluídos no pacote do modelo de aprendizagem detalhada no nível da pasta raiz.