Creación de un mejor software de visualización de nubes de puntos para obtener información más inteligente
Visualización de datos densos
Equipo de visualización en ingeniería
Durante los últimos dos años, nuestro equipo de ingeniería de visualización ha estado creando software para proporcionar información a partir de los datos recogidos por Hovermap. La densidad de los datos recopilados y sus numerosas aplicaciones han hecho necesaria una herramienta de visualización de nubes de puntos que debe cumplir numerosos requisitos técnicos para maximizar la experiencia de usuario de los clientes de Hovermap . Esta serie de artículos profundiza en las áreas de consideración y en las soluciones innovadoras que han desarrollado para proporcionar el software de visualización de Emesent.
El equipo de ingeniería de visualización empezó a crear una aplicación de visualización utilizando Unreal Engine, una herramienta de desarrollo de 3D utilizada en juegos, arquitectura y software de ingeniería de 3D . Esto incluye un plugin LiDAR Point Cloud que podríamos utilizar para visualizar nuestras nubes de puntos. Este plugin utiliza Octree Spatial Partitioning en combinación con un presupuesto de puntos para elegir los mejores puntos a mostrar de entre todos los puntos de las nubes. El presupuesto de puntos limita los puntos mostrados a lo que el renderizador o la unidad de procesamiento gráfico (GPU) pueden soportar.
Una de las ventajas de este método es que, incluso cuando exploramos miles de millones de puntos, sólo renderizamos el subconjunto más pequeño de puntos que se encuentran en la ventana gráfica y, además, sólo los más relevantes visualmente. Así podemos mantener una velocidad de fotogramas altamente interactiva mientras exploramos estos datos.
El inconveniente de esta técnica es que sólo exploramos los datos que el algoritmo decide que son relevantes o importantes. Cuanto menor sea el presupuesto de puntos, más afectarán estas decisiones algorítmicas al resultado final. Hay formas de evitarlo, por ejemplo, utilizando un tamaño de punto mayor para mezclar puntos en superficies. Sin embargo, se trata esencialmente de datos sintéticos y no "reales".
Esto no es necesario para los datos de Hovermap , ya que produce nubes de puntos muy densas, y el detalle está ahí sin necesidad de ser sintetizado. Así que, desde que iniciamos el proyecto, hemos ampliado el complemento para adaptarlo a nuestros datos densos.
Una de nuestras primeras ampliaciones consistió en añadir soporte para los atributos de punto que produce nuestro software de procesamiento SLAM . Incluimos soporte para mostrar atributos de intensidad, tiempo, número de anillo, rango y color verdadero.
Otra era maximizar nuestro presupuesto de renderizado de un solo fotograma a 100 millones de puntos, mucho más de lo que nos ofrecía Unreal.
Hovermap escanear antes de Emesent's Multi-Frame Rendering.
El renderizado multitrama de la aplicación de visualización Emesentpermitirá a los usuarios explorar rápidamente conjuntos de datos Hovermap con miles de millones de puntos.
Pero esto no cumplía los requisitos. Hovermap captura conjuntos de datos con miles y miles de millones de puntos, por lo que necesitábamos un enfoque diferente para nuestro resultado final.
Para permitir un renderizado de fotogramas completos de todos los puntos, hemos desarrollado un sistema que denominamos renderizado de fotogramas múltiples. Con este concepto, hemos modificado el renderizador para que construya la imagen a lo largo de varios fotogramas de la GPU. Para aplicarlo, el algoritmo comienza recorriendo el octree en busca de los nodos (conjuntos de puntos) visualmente más relevantes, los etiqueta y los renderiza. A continuación, el algoritmo recorre de nuevo el octree y busca los siguientes nodos visualmente más relevantes que aún no se hayan renderizado. Esto se repite hasta que no quedan más puntos.
Cada fotograma se compone utilizando la profundidad para construir un fotograma final de todos los puntos, ya sean mil o diez mil millones. Podemos ver en estas imágenes que la densidad de datos de Hovermap es asombrosa, y ahora podemos mostrarla en nuestro visor. Los tiempos de renderizado se ven afectados por el presupuesto de puntos y el hardware de renderizado, pero todo es muy rápido, y Multi-Frame Rendering puede renderizar mil millones de puntos completos en un par de segundos.
Este enfoque permitirá a nuestros usuarios explorar rápidamente conjuntos de datos de Hovermap que contengan miles de millones de puntos y renderizar rápidamente imágenes de calidad total que representen los datos reales que se han capturado sin ningún compromiso.
En el siguiente artículo de esta serie, veremos cómo crear la interfaz de usuario, así que síguenos en LinkedIn para saber cuándo estará disponible.