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.
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. | |
O cientista de dados utiliza os dados de treinamento para desenvolver modelos utilizando uma estrutura de aprendizagem detalhada de terceiros. | |
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 . | |
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. | |
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.
- Crie e exporte amostras de treinamento.
- Utilize o Gerenciador das Amostras de Treinamento no ArcGIS Pro para selecionar ou criar um esquema de classificação.
- Crie amostras do site de treinamento para as categorias de classe ou feições de interesse. Salve o arquivo da amostra de treinamento.
- 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.
- Teste o modelo de aprendizagem detalhada.
- 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.
- 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.
- Execute as ferramentas da análise de raster de inferência do Map Viewer, ArcGIS API for Python, ArcGIS REST API ou ArcGIS Pro.
- 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.
- 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.
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 modelo | Explanação |
---|---|
Estrutura | O nome de uma estrutura da aprendizagem detalhada utilizada para treinar seu modelo. Três estruturas de aprendizagem detalhada são suportadas:
|
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:
|
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:
|
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.