Construção de gêmeos digitais baseada em fotogrametria

Nesta postagem do blog, veremos como as fotos tiradas por drones podem ser usadas para criar modelos 3D de ambientes do mundo real em gêmeos digitais.

Um gêmeo digital é uma representação virtual de um sistema físico que é atualizado regularmente para imitar a estrutura, o estado e o comportamento do ativo que ele representa. Os gêmeos digitais permitem uma tomada de decisão mais rápida e melhor, conectando várias fontes de dados e fornecendo insights acionáveis ​​em um único painel de vidro.

No entanto, construir e gerenciar um gêmeo digital do zero é demorado, complexo e caro. Requer que equipes de desenvolvimento com diferentes conhecimentos trabalhem juntas para construir soluções integradas que combinem dados de diferentes fontes. Os desenvolvedores devem gerar insights em tempo real a partir de dados de streaming e criar visualizações contextualizadas para conectar melhor os usuários finais aos dados.

Com o AWS IoT TwinMaker, é fácil criar gêmeos digitais de ambientes físicos e criar aplicativos que fornecem representações digitais 3D interativas de estruturas físicas grandes e complexas por meio de um navegador.

insira a descrição da imagem aqui

Recomendação: Use o NSDT Designer para criar rapidamente cenas 3D programáveis.

1. Visão Geral

Um dos principais recursos do AWS IoT TwinMaker é a capacidade de importar modelos 3D existentes, como modelos CAD e BIM ou varreduras de nuvem de pontos, para uma cena do AWS IoT TwinMaker e, em seguida, sobrepor dados de outros sistemas sobre essa visualização.

As cenas do AWS IoT TwinMaker usam uma viewport WebGL em tempo real e oferecem suporte ao formato glTF. Embora os modelos CAD e BIM representem a estrutura de ativos projetada, em alguns casos esses modelos podem não existir ou o ativo pode ser construído de forma diferente do projetado. Há grande valor em fornecer um modelo 3D no gêmeo digital que reflita a realidade atual o mais próximo possível. Existem vários mecanismos para a criação de modelos 3D do mundo real, sendo dois métodos populares a digitalização a laser e a fotogrametria.

A digitalização a laser usa equipamentos especializados e muitas vezes caros para criar modelos 3D altamente precisos do ambiente físico. Em contraste, a fotogrametria é o processo de extrair informações 3D de fotografias 2D sobrepostas usando técnicas de visão computacional, incluindo estrutura de movimento (SfM).

Este artigo se concentra no uso de uma plataforma de fotografia aérea de baixo custo (quadcopter de nível de consumidor – DJI Phantom 4 Pro) combinada com fotogrametria para criar modelos fotorrealistas de grande área que representam ativos modelados no AWS IoT TwinMaker.

Com essa abordagem, você pode criar rapidamente um modelo 3D de um ativo que pode ser caro ou impossível de criar usando a digitalização a laser. O modelo pode ser atualizado de forma rápida e frequente com voos subsequentes de drones para garantir que seu gêmeo digital reflita de perto a realidade. A primeira coisa a observar é que o modelo favorecerá o fotorrealismo em vez da precisão absoluta do modelo generativo.

Neste blog, também descrevemos como capturar conjuntos de dados de fotos georreferenciadas por meio de planejamento e execução de voos automatizados. Em seguida, você pode alimentar essas fotos por meio de um pipeline de processamento de fotogrametria que cria automaticamente uma cena de visualização 3D resultante no AWS IoT TwinMaker.

Processamos os dados no formato glTF para importação no AWS IoT TwinMaker usando software popular de fotogrametria gratuito e de código aberto. O pipeline de processamento também oferece suporte a arquivos OBJ que podem ser exportados do DroneDeploy ou de outros mecanismos de fotogrametria.

2. Soluções

2.1 Coleta de dados

A fotogrametria depende de certas características das fotografias aéreas de origem para criar modelos 3D válidos, incluindo:

  • Alta sobreposição entre imagens
  • Não consigo ver o horizonte em nenhuma foto
  • Capturando fotos nadir e não nadir
  • A altura de captura é baseada na resolução necessária do modelo

Embora pilotos de drones qualificados possam capturar fotos manualmente para fotogrametria, você pode obter resultados mais consistentes automatizando o voo e a captura. As ferramentas de planejamento de voo criam planos de voo autônomos, capturando imagens de posição relativa, altitude e grau de sobreposição para processamento fotogramétrico eficiente.

Abaixo está a interface de planejamento de voo do DroneDeploy, uma plataforma de captura de realidade popular para capturar dados visuais aéreos e terrestres internos e externos, que usamos para capturar as imagens no exemplo.

insira a descrição da imagem aqui

Figura 1 – Interface de planejamento de voo do DroneDeploy

Usamos os recursos de planejamento de voo e operações autônomas da plataforma DroneDeploy para capturar dados que representam ativos a serem modelados no AWS IoT TwinMaker. O ativo de interesse é uma usina elétrica abandonada em Freemantle, Austrália Ocidental.

Conforme mostrado na captura de tela anterior, o voo voou a 160 pés, cobriu 6 acres e capturou 149 imagens em menos de 9 minutos. A seguir, mostramos dois exemplos de fotos aéreas capturadas de voos de drones que posteriormente foram utilizadas para gerar modelos 3D, ilustrando o alto grau de sobreposição entre as imagens.

insira a descrição da imagem aqui

Figura 2 – Sobreposição de imagens de altura para fotogrametria eficiente

2.2 Pipeline de Processamento de Fotogrametria

Depois que as imagens aéreas são capturadas, elas devem ser alimentadas em um mecanismo de fotogrametria para criar um modelo 3D. O DroneDeploy fornece um poderoso mecanismo de fotogrametria que pode exportar o modelo 3D criado pelo mecanismo no formato OBJ, conforme mostrado na figura abaixo
insira a descrição da imagem aqui

Criamos um pipeline de processamento de fotogrametria que aproveita o componente NodeODM da popular plataforma OpenDroneMap de código aberto e gratuito para processar imagens georreferenciadas de uma forma completamente sem servidor. O pipeline aproveita o AWS Fargate e o AWS Lambda para computação, criando como saída uma cena no AWS IoT TwinMaker que inclui um modelo 3D criado pelo OpenDroneMap.

O pipeline também oferece suporte ao processamento de modelos 3D criados pelo mecanismo de fotogrametria do DroneDeploy para criar cenas no AWS IoT TwinMaker a partir de arquivos OBJ exportados do DroneDeploy.

A arquitetura do pipeline de processamento de fotogrametria é mostrada na figura abaixo.
insira a descrição da imagem aqui

Figura 4 – Arquitetura do pipeline de processamento

As etapas para executar o pipeline usando o mecanismo de processamento de fotogrametria OpenDroneMap são as seguintes:

  • Inicie tarefas Fargate usando a imagem NodeODM do OpenDroneMap do registro público docker.io
  • Um conjunto de imagens georreferenciadas do voo do drone é carregado como um arquivo .zip para um bucket do Amazon S3. O
    upload do arquivo zip resulta na publicação de uma notificação de evento do Amazon S3, que aciona a execução do processador de dados Lambda
  • O processador de dados Lambda descompacta os arquivos, inicia um novo trabalho de processamento no NodeODM em execução no Fargate e carrega todas as imagens para a tarefa do NodeODM
  • O Lambda de verificação de status pesquisa periodicamente a tarefa NodeODM para verificar se o trabalho de processamento foi concluído
  • Quando um trabalho de processamento do NodeODM for concluído, a saída do trabalho será salva em um bucket S3 processado
  • Salvar o arquivo zip de saída faz com que uma notificação de evento Amazon S3 seja postada que aciona o glTF Converter Lambda
  • glTF Lamba converte a saída OBJ do trabalho de processamento NodeODM em um arquivo glTF binário e o carrega no bucket S3 do espaço de trabalho associado ao espaço de trabalho do AWS IoT TwinMaker e gerado quando a pilha do CloudFormation cria o espaço de trabalho
  • glTF Lambda usa um arquivo glTF para criar uma nova cena no espaço de trabalho do AWS IoT TwinMaker

Se você usou o mecanismo de fotogrametria DroneDeploy para criar o modelo 3D, pode carregar o arquivo zip OBJ exportado diretamente para o balde "processado" e as etapas 6 a 8 serão concluídas normalmente.

Quando o pipeline de processamento de fotogrametria termina de executar, uma nova cena é criada no espaço de trabalho do AWS IoT TwinMaker contendo o modelo 3D resultante, mostrado abaixo para o ativo de interesse.
insira a descrição da imagem aqui

Figura 5 – Cena 3D gerada no AWS IoT TwinMaker

3. Pré-requisitos

Uma conta da AWS é necessária para configurar e seguir as etapas neste blog. O modelo AWS CloudFormation configura e instala o VPC necessário e a configuração de rede, funções AWS Lambda, funções AWS Identity and Access Management (IAM), baldes Amazon S3, tarefas AWS Fargate, Application Load Balancers, tabelas Amazon DynamoDB e área de trabalho AWS IoT TwinMaker . Este modelo foi projetado para ser executado na região norte da Virgínia (us-east-1). Você pode incorrer em cobranças por alguns dos seguintes serviços:

  • Amazon Simple Storage Service(Amazon S3)
  • Amazon DynamoDB
  • Amazon VPC
  • Amazon CloudWatch
  • Funções de processamento e conversão do AWS Lambda
  • AWS Fargate
  • AWS IoT TwinMaker

4. Implantar o pipeline de processamento de fotogrametria

Baixe o exemplo de pacote de implantação do Lambda. Este pacote contém o código para o Lambda do Processador de Dados acima, Lambda de Verificação de Status e Lambda do Transformador glTF

Navegue até o console do Amazon S3

Criar um balde S3

Faça upload do pacote de implantação do Lambda baixado para o bucket do S3 criado na etapa anterior. Mantenha os arquivos compactados como estão

Depois de colocar o pacote de implantação do Lambda no S3, inicie este modelo do CloudFormation

Na tela Especificar detalhes da pilha, na seção Parâmetros, faça o seguinte:

  • Atualize o valor do parâmetro Prefix para um prefixo exclusivo para o nome do depósito. Esse prefixo garantirá que o nome do bucket da pilha seja globalmente exclusivo
  • Atualize o valor do parâmetro DeploymentBucket para o nome do bucket em que você carregou o pacote de implantação do Lambda
  • Se você estiver trabalhando com grandes conjuntos de dados, aumente a memória da tarefa Fargate e os valores de CPU de acordo com os valores permitidos, conforme descrito aqui
  • Selecione Create Stack para criar os recursos para o pipeline de processamento de fotogrametria

Uma vez feito isso, navegue até o novo barril de pouso S3. Os links podem ser encontrados na guia de recursos da seguinte maneira
insira a descrição da imagem aqui

Figura 6 – Recurso de balde de upload

Carregue o arquivo zip contendo as imagens para o bucket S3

5. Execute o pipeline de processamento de fotogrametria

O pipeline de processamento de fotogrametria é iniciado automaticamente após o upload de um arquivo zip contendo imagens georreferenciadas.

O processamento do trabalho pode levar mais de uma hora (dependendo do número de imagens fornecidas e da CPU e memória fornecidas na tarefa de processamento do Fargate), e você pode acompanhar o progresso do trabalho visualizando o status nos logs do Amazon CloudWatch de verificação de status Lamda.

Quando um trabalho de processamento está ativo, a verificação de status do Lambda mostrará o status do trabalho (em uma programação de 5 minutos) à medida que o trabalho é executado. A saída inclui o andamento do trabalho de processamento expresso como um valor percentual, conforme mostrado abaixo.

insira a descrição da imagem aqui

Figura 7 – Andamento do trabalho de fotogrametria

6. Construa um gêmeo digital com base no modelo 3D

Depois que o pipeline de processamento de fotogrametria estiver concluído e uma nova cena for criada no espaço de trabalho do AWS IoT TwinMaker, você poderá começar a usar modelos 3D para conectar componentes vinculados a fontes de dados, fornecer contexto visual aos dados e fornecer dicas visuais orientadas por dados.

Os painéis podem ser configurados usando o plug-in do aplicativo AWS IoT TwinMaker para Grafana para compartilhar seu gêmeo digital com outros usuários.

7. Limpe

Certifique-se de limpar seu trabalho neste blog para evitar cobranças. Exclua os seguintes recursos após concluir nesta ordem

  • Exclua todas as cenas criadas do espaço de trabalho do AWS IoT TwinMaker
  • Exclua todos os arquivos nos buckets Landing, Processed e Workspace S3
  • Excluir a pilha do CloudFormation

8. Conclusão

Neste blog, criamos um pipeline de processamento de fotogrametria sem servidor que processa imagens de drones em modelos 3D por meio de software de código aberto e cria cenas no AWS IoT TwinMaker a partir dos modelos 3D resultantes. Além disso, o pipeline pode processar modelos 3D criados por outros mecanismos de fotogrametria, como os fornecidos pelo DroneDeploy, e exportar para OBJ.

Embora este pipeline tenha sido usado para demonstrar o processamento de imagens de drones, qualquer dado de imagem georreferenciado pode ser usado. Crie rapidamente modelos 3D fotorrealistas de grandes ativos do mundo real usando apenas hardware de nível de consumidor, permitindo que você mantenha modelos atualizados que podem ser vinculados a fontes de dados e compartilhados com outros usuários, permitindo que eles tomem decisões com base em exibição de dados dados em um ambiente visual rico.

O pipeline descrito neste blog está disponível neste repositório GitHub .


Link Original: Gêmeo Digital Baseado em Fotogrametria—BimAnt

Acho que você gosta

Origin blog.csdn.net/shebao3333/article/details/132203428
Recomendado
Clasificación