Construcción de gemelos digitales basada en fotogrametría

En esta publicación de blog, veremos cómo se pueden usar las fotos tomadas por drones para crear modelos 3D de entornos del mundo real en gemelos digitales.

Un gemelo digital es una representación virtual de un sistema físico que se actualiza periódicamente para imitar la estructura, el estado y el comportamiento del activo que representa. Los gemelos digitales permiten una toma de decisiones mejor y más rápida al conectar múltiples fuentes de datos y proporcionar información procesable en un solo panel de vidrio.

Sin embargo, crear y administrar un gemelo digital desde cero requiere mucho tiempo, es complejo y costoso. Requiere equipos de desarrollo con diferentes conocimientos para trabajar juntos para crear soluciones integradas que combinen datos de diferentes fuentes. Los desarrolladores deben generar información en tiempo real a partir de la transmisión de datos y crear visualizaciones contextualizadas para conectar mejor a los usuarios finales con los datos.

Con AWS IoT TwinMaker, es fácil crear gemelos digitales de entornos físicos y crear aplicaciones que proporcionen representaciones digitales 3D interactivas de estructuras físicas grandes y complejas a través de un navegador.

inserte la descripción de la imagen aquí

Recomendación: use NSDT Designer para crear rápidamente escenas 3D programables.

1. Información general

Una de las características clave de AWS IoT TwinMaker es la capacidad de importar modelos 3D existentes, como modelos CAD y BIM o escaneos de nubes de puntos, en una escena de AWS IoT TwinMaker y luego superponer datos de otros sistemas sobre esta visualización.

Las escenas de AWS IoT TwinMaker utilizan una ventana gráfica WebGL en tiempo real y admiten el formato glTF. Si bien los modelos CAD y BIM representan la estructura de activos diseñada, en algunos casos es posible que dichos modelos no existan o que el activo se construya de manera diferente a como se diseñó. Es de gran valor proporcionar un modelo 3D en el gemelo digital que refleje la realidad actual lo más fielmente posible. Existen varios mecanismos para crear modelos 3D del mundo real, dos métodos populares son el escaneo láser y la fotogrametría.

El escaneo láser utiliza equipos especializados y, a menudo, costosos para crear modelos 3D de alta precisión del entorno físico. Por el contrario, la fotogrametría es el proceso de extraer información 3D de fotografías 2D superpuestas utilizando técnicas de visión por computadora, incluida la estructura del movimiento (SfM).

Este artículo se centra en el uso de una plataforma de fotografía aérea de bajo costo (cuadricóptero de nivel de consumidor: DJI Phantom 4 Pro) combinada con fotogrametría para crear modelos fotorrealistas de gran área que representen activos modelados en AWS IoT TwinMaker.

Con este enfoque, puede crear rápidamente un modelo 3D de un activo que puede ser costoso o imposible de crear mediante el escaneo láser. El modelo se puede actualizar rápida y frecuentemente con vuelos posteriores de drones para garantizar que su gemelo digital refleje fielmente la realidad. Lo primero a tener en cuenta es que el modelo favorecerá el fotorrealismo en lugar de la precisión absoluta del modelo generativo.

En este blog, también describimos cómo capturar conjuntos de datos fotográficos georreferenciados a través de la planificación y ejecución de vuelos automatizados. Luego puede enviar estas fotos a través de una canalización de procesamiento de fotogrametría que crea automáticamente una escena de visualización 3D resultante en AWS IoT TwinMaker.

Procesamos los datos en formato glTF para importarlos a AWS IoT TwinMaker utilizando un popular software de fotogrametría gratuito y de código abierto. La canalización de procesamiento también admite archivos OBJ que se pueden exportar desde DroneDeploy u otros motores de fotogrametría.

2. Soluciones

2.1 Recopilación de datos

La fotogrametría se basa en ciertas características de las fotografías aéreas de origen para crear modelos 3D válidos, que incluyen:

  • Alta superposición entre imágenes
  • No puedo ver el horizonte en ninguna foto.
  • Captura de fotografías nadir y no nadir
  • La altura de captura se basa en la resolución requerida del modelo

Si bien los pilotos de drones expertos pueden capturar fotos manualmente para la fotogrametría, puede lograr resultados más consistentes al automatizar el vuelo y la captura. Las herramientas de planificación de vuelos crean planes de vuelo autónomos, capturando imágenes de posición relativa, altitud y grado de superposición para un procesamiento fotogramétrico eficiente.

A continuación se muestra la interfaz de planificación de vuelo de DroneDeploy, una popular plataforma de captura de la realidad para capturar datos visuales aéreos y terrestres internos y externos, que usamos para capturar las imágenes en el ejemplo.

inserte la descripción de la imagen aquí

Figura 1: interfaz de planificación de vuelo de DroneDeploy

Utilizamos las capacidades de planificación de vuelos y operaciones autónomas de la plataforma DroneDeploy para capturar datos que representan los activos que se modelarán en AWS IoT TwinMaker. El activo de interés es una central eléctrica abandonada en Freemantle, Australia Occidental.

Como se muestra en la captura de pantalla anterior, el vuelo voló a 160 pies, cubrió 6 acres y tomó 149 imágenes en menos de 9 minutos. A continuación, mostramos dos ejemplos de fotografías aéreas capturadas desde vuelos de drones que posteriormente se utilizaron para generar modelos 3D, lo que ilustra el alto grado de superposición entre las imágenes.

inserte la descripción de la imagen aquí

Figura 2: superposición de imágenes de altura para una fotogrametría eficiente

2.2 Tubería de procesamiento de fotogrametría

Una vez capturadas las imágenes aéreas, deben introducirse en un motor de fotogrametría para crear un modelo 3D. DroneDeploy proporciona un potente motor de fotogrametría que puede exportar el modelo 3D creado por el motor en formato OBJ, como se muestra en la figura a continuación.
inserte la descripción de la imagen aquí

Creamos una canalización de procesamiento de fotogrametría que aprovecha el componente NodeODM de la popular plataforma gratuita y de código abierto OpenDroneMap para procesar imágenes georreferenciadas de una manera completamente sin servidor. La canalización aprovecha AWS Fargate y AWS Lambda para el cálculo, creando como salida una escena en AWS IoT TwinMaker que incluye un modelo 3D creado por OpenDroneMap.

La canalización también admite el procesamiento de modelos 3D creados por el motor de fotogrametría de DroneDeploy para crear escenas en AWS IoT TwinMaker a partir de archivos OBJ exportados desde DroneDeploy.

La arquitectura de tubería de procesamiento de fotogrametría se muestra en la siguiente figura.
inserte la descripción de la imagen aquí

Figura 4: arquitectura de canalización de procesamiento

Los pasos para ejecutar el pipeline usando el motor de procesamiento de fotogrametría de OpenDroneMap son los siguientes:

  • Inicie tareas de Fargate utilizando la imagen NodeODM de OpenDroneMap desde el registro público docker.io
  • Un conjunto de imágenes georreferenciadas del vuelo del dron se carga como un archivo .zip en un depósito de Amazon S3. La
    carga del archivo zip da como resultado la publicación de una notificación de evento de Amazon S3, que desencadena la ejecución del procesador de datos Lambda.
  • El procesador de datos Lambda descomprime los archivos, inicia un nuevo trabajo de procesamiento en NodeODM que se ejecuta en Fargate y carga todas las imágenes en la tarea de NodeODM.
  • Status Check Lambda sondea periódicamente la tarea NodeODM para verificar si el trabajo de procesamiento está completo
  • Cuando se completa un trabajo de procesamiento de NodeODM, la salida del trabajo se guardará en un depósito S3 procesado
  • Guardar el archivo zip de salida hace que se publique una notificación de evento de Amazon S3 que activa glTF Converter Lambda
  • glTF Lamba convierte la salida OBJ del trabajo de procesamiento de NodeODM en un archivo glTF binario y lo carga en el depósito S3 del espacio de trabajo asociado con el espacio de trabajo de AWS IoT TwinMaker y se genera cuando la pila de CloudFormation crea el espacio de trabajo
  • glTF Lambda utiliza un archivo glTF para crear una nueva escena en el espacio de trabajo de AWS IoT TwinMaker

Si usó el motor de fotogrametría de DroneDeploy para crear el modelo 3D, puede cargar el archivo zip OBJ exportado directamente al depósito "procesado" y los pasos 6 a 8 se completarán normalmente.

Cuando la canalización de procesamiento de fotogrametría termina de ejecutarse, se crea una nueva escena en el espacio de trabajo de AWS IoT TwinMaker que contiene el modelo 3D resultante, que se muestra a continuación para el activo de interés.
inserte la descripción de la imagen aquí

Figura 5 – Escena 3D generada en AWS IoT TwinMaker

3. Requisitos previos

Se requiere una cuenta de AWS para configurar y seguir los pasos de este blog. La plantilla de AWS CloudFormation configura e instala la VPC y la configuración de red necesarias, las funciones de AWS Lambda, los roles de AWS Identity and Access Management (IAM), los depósitos de Amazon S3, las tareas de AWS Fargate, los balanceadores de carga de aplicaciones, las tablas de Amazon DynamoDB y el área de trabajo de AWS IoT TwinMaker . Esta plantilla está diseñada para ejecutarse en la región del norte de Virginia (us-east-1). Es posible que incurra en cargos por algunos de los siguientes servicios:

  • Servicio de almacenamiento simple de Amazon (Amazon S3)
  • Amazon DynamoDB
  • VPC de Amazon
  • Amazon CloudWatch
  • Funciones de procesamiento y conversión de AWS Lambda
  • AWS Fargate
  • AWS IoT TwinMaker

4. Implementar la canalización de procesamiento de fotogrametría

Descargue el paquete de implementación de Lambda de muestra. Este paquete contiene el código para el procesador de datos Lambda anterior, el control de estado Lambda y el transformador glTF Lambda

Navegue a la consola de Amazon S3

Crear un depósito S3

Cargue el paquete de implementación de Lambda descargado en el depósito de S3 creado en el paso anterior. Mantenga los archivos comprimidos tal como están

Después de colocar el paquete de implementación de Lambda en S3, inicie esta plantilla de CloudFormation

En la pantalla Especificar detalles de pila, en la sección Parámetros, haga lo siguiente:

  • Actualice el valor del parámetro Prefijo a un prefijo único para el nombre del depósito. Este prefijo garantizará que el nombre del depósito de la pila sea globalmente único
  • Actualice el valor del parámetro DeploymentBucket al nombre del depósito donde cargó el paquete de implementación de Lambda.
  • Si está trabajando con grandes conjuntos de datos, aumente la memoria de la tarea Fargate y los valores de CPU de acuerdo con los valores permitidos, como se describe aquí
  • Seleccione Crear pila para crear los recursos para la canalización de procesamiento de fotogrametría.

Una vez hecho esto, navegue hasta el nuevo barril de aterrizaje S3. Los enlaces se pueden encontrar en la pestaña de recursos de la siguiente manera
inserte la descripción de la imagen aquí

Figura 6: Subir recurso de depósito

Cargue el archivo zip que contiene las imágenes en el depósito S3

5. Ejecute la canalización de procesamiento de fotogrametría

La tubería de procesamiento de fotogrametría se inicia automáticamente después de cargar un archivo zip que contiene imágenes georreferenciadas.

El procesamiento del trabajo puede demorar más de una hora (según la cantidad de imágenes proporcionadas y la CPU y la memoria proporcionadas en la tarea de procesamiento de Fargate), y puede realizar un seguimiento del progreso del trabajo al ver el estado en los registros de Amazon CloudWatch de Status Check. Lamda.

Cuando un trabajo de procesamiento está activo, la verificación de estado Lambda generará el estado del trabajo (en un programa de 5 minutos) a medida que se ejecuta el trabajo. La salida incluye el progreso del trabajo de procesamiento expresado como un valor porcentual, como se muestra a continuación.

inserte la descripción de la imagen aquí

Figura 7 – Progreso del trabajo de fotogrametría

6. Cree un gemelo digital basado en el modelo 3D

Una vez que se completa la canalización de procesamiento de fotogrametría y se crea una nueva escena en el espacio de trabajo de AWS IoT TwinMaker, puede comenzar a usar modelos 3D para conectar componentes vinculados a fuentes de datos, brindar contexto visual a los datos y brindar indicaciones visuales basadas en datos.

Los paneles se pueden configurar mediante el complemento de la aplicación AWS IoT TwinMaker para que Grafana comparta su gemelo digital con otros usuarios.

7. Limpiar

Asegúrese de limpiar su trabajo en este blog para evitar cargos. Elimine los siguientes recursos después de completar en este orden

  • Elimine cualquier escena creada del espacio de trabajo de AWS IoT TwinMaker
  • Elimine todos los archivos en depósitos Landing, Processed y Workspace S3
  • Eliminar la pila de CloudFormation

8. Conclusión

En este blog, creamos una canalización de procesamiento de fotogrametría sin servidor que procesa imágenes de drones en modelos 3D a través de software de código abierto y crea escenas en AWS IoT TwinMaker a partir de los modelos 3D resultantes. Además, la canalización puede procesar modelos 3D creados por otros motores de fotogrametría, como los proporcionados por DroneDeploy, y exportarlos a OBJ.

Aunque esta canalización se ha utilizado para demostrar el procesamiento de imágenes de drones, se puede utilizar cualquier dato de imágenes georreferenciadas. Cree rápidamente modelos 3D fotorrealistas de grandes activos del mundo real utilizando solo hardware de nivel de consumidor, lo que le permite mantener modelos actualizados que se pueden vincular a fuentes de datos y compartir con otros usuarios, lo que les permite tomar decisiones basadas en datos datos en un rico entorno visual.

La canalización descrita en este blog está disponible en este repositorio de GitHub .


Enlace original: Gemelo digital basado en fotogrametría—BimAnt

Supongo que te gusta

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