David Avila
Senior Staff Researcher
La evolución de las técnicas de representación 3D ha permitido grandes avances en la recreación digital. Aunque métodos como Neural Radiance Fields (NeRF) han ganado atención, en este análisis se destaca 3D Gaussian Splatting (3DGS) por su creciente relevancia, alta portabilidad y rendimiento, cualidades que facilitan su integración en múltiples plataformas, como dispositivos móviles o web. A parte de ello, en diversos escenarios se comprobará la precisión del LiDAR presente en dispositivos accesibles a usuarios finales como el iPhone, comparándolo con los resultados obtenidos mediante 3DGS.
Estos avances tienen un impacto directo en el desarrollo de gemelos digitales, que requieren representaciones virtuales precisas y actualizadas para optimizar procesos de monitoreo y mantenimiento predictivo. Con la integración de datos en tiempo real y la versatilidad de 3DGS, se abren nuevas oportunidades para impulsar tecnologías en sectores como la construcción, manufactura y gestión de ciudades inteligentes.
Este artículo se enfoca en comparar la precisión de la reconstrucción 3D usando dos enfoques principales: 3D Gaussian Splatting (3DGS) y sistemas LiDAR implementados en dispositivos móviles como el iPhone. Se evaluará el desempeño en diferentes escalas y entornos, de la siguiente manera:
La finalidad es identificar las fortalezas y limitaciones de cada método, aportando información clave para futuras aplicaciones en gemelos digitales y monitoreo en tiempo real.
Para poder medir la precisión de las tecnologías descritas, primero tenemos que establecer un marco de referencia a partir de establecer medidas de error.
Para este propósito, haremos uso del LiDAR Leica RTC360. Es un escáner láser 3D portátil y de alta velocidad, diseñado para generar nubes de puntos en color con una precisión varía entre 1 y 2 milímetros con un alcance de hasta 130 metros, lo que lo convierte en una herramienta ideal para aplicaciones que requieren alta fidelidad en la documentación tridimensional, como es nuestro caso.
Respecto a los dispositivos que usaremos para captura, hemos usado cierta variedad para cubrir los entornos:
3D Gaussian Splatting (3DGS) es una técnica de renderizado 3D que emplea «manchas gaussianas» (o Gaussian Splats en inglés), es decir, puntos con atributos de posición, tamaño y color, para representar y renderizar escenas tridimensionales. A diferencia de los métodos tradicionales basados en polígonos, esta técnica permite generar representaciones 3D eficientes en recursos y altamente detalladas, con capacidad de adaptarse a escenas complejas. Su aplicación muestra potencial en campos como visualización arquitectónica, efectos visuales y simulaciones.
El flujo de trabajo arranca creando un conjunto inicial de Gaussian 3D a partir de una nube de puntos dispersa generada mediante Structure‑from‑Motion (SfM). En este paso principalmente se utiliza COLMAP (software libre), aunque existen grandes alternativas como Reality Capture de Epic de forma gratuita, o MetaShape de Agisoft bajo licencia de pago.
Este proceso es común con cualquier método de fotogrametría clásico, y en términos generales se obtiene como resultado una nube de puntos con todas las características obtenidas, y por cada imagen, la pose de la cámara correspondiente.
Ilustración 1COLMAP’s incremental Structure-from-Motion pipeline
Tras este paso, se utiliza un método adaptativo que crea vistas de prueba con los Gaussians iniciales y las compara con las fotos reales para ver el error. Luego, ajusta poco a poco la posición, el tamaño y el color de cada Gaussian para que coincidan mejor, distribuyéndolas de forma uniforme, al repetir esto muchas veces, los Gaussian acaban perfectamente afinados y permiten explorar la escena con calidad fotográfica al instante.
Ilustración 2 Proceso de entrenamiento adaptativo de Gaussians
Si los pasos anteriores han sido satisfactorios, el resultado final con algunos millones de Gaussian Splats, quedará algo similar a esto:
Ilustración 3 Resultado de 3DGS con 7 millones de Gaussians
En este estudio de precisión abarcaremos los siguientes entornos:
De cara a medir la precisión tanto de 3DGS en diversos escenarios a la hora de reconstruir la realidad usaremos los datos obtenidos por el LiDAR Leica RTC360 como referencia para establecer mediciones. Esto nos proporcionará una nube de puntos con alta densidad y precisión (1 a 2 milímetros de error).
Usaremos CloudCompare, software libre de procesamiento de nubes de puntos para comparar y medir el error:
El primer escenario se trata de un módulo de oficina taller del departamento de Research situado en Sevilla, con un área aproximada de 100 metros cuadrados.
Se ha realizado una captura de dicha oficina con el LiDAR Leica para actuar como referencia:
La captura de 3DGS se realizó con el rig de 3 GoPRO que vimos anteriormente. Colocadas a diferentes alturas (separadas aproximadamente 80 cm entre sí), ofrecen la gran ventaja de captar el entorno a mayor velocidad: de una única pasada cubrimos las diferentes alturas necesarias para una correcta reconstrucción 3D. Es fundamental evitar sombras o partes que no hayan sido capturadas por la cámara, y al trabajar en distintos niveles minimizamos estas áreas de sombra.
El entrenamiento se realizó sobre un total de 529 imágenes seleccionadas de los 3 vídeos grabados (uno por cada GoPRO).
Vemos a continuación el resultado:
Una vez generado el 3DGS, procedimos a hacer la medición de error:
En esta imagen se muestra un gradiente donde un color azul representa puntos con un error menor a 1 centímetro. Y Aquellos alejados más de 10cm son marcados con color Rojo.
El resultado general:
Hay diversos puntos a considerar:
Se proporciona una captura de las oficinas realizadas con el LiDAR del iPhone 12 Pro, dando un resultado directo. En concreto se realizó usando la aplicación Scaniverse, que permite la exportación a fichero PLY, útil para comparar con la nube de puntos en CloudCompare. Y aquí se muestra el error:
Los parámetros de representación son exactos al anterior caso.
El resultado general:
Lo primero que se aprecia es la disminución de definición respecto a 3DGS, debida a la baja resolución y al alcance limitado de unos 2 m del sensor LiDAR del iPhone 12 Pro (su campo efectivo es una esfera de 2 m). Al escanear espacios más amplios, este límite provoca la acumulación de error y deriva de proporciones; de hecho, al desplazarte con el móvil y volver al mismo punto, el escaneo puede diferir y alterar resultados previos.
El siguiente objeto para estudiar es un objeto grande, en este caso un mueble modular dentro de la misma oficina del escenario anterior. El objetivo es ver la precisión de dispositivos móviles usando la asignación de dimensión automática a partir de códigos QR.
Este caso se obtiene una porción de la nube de puntos del escenario anterior, para mostrar únicamente la región del mueble. En este caso se trata de un mueble modular de 4.78m de ancho por 0.75m de altura.
En este caso la captura para 3DGS se ha realizado usando el dispositivo iPhone 12 Pro mencionado anteriormente. Se realizó un vídeo de 1:32 minutos de duración haciendo 3 pasadas a diferentes alturas, de los cuales se seleccionó las 236 mejores imágenes.
El elemento novedoso es que se ha impreso diversas marcas colocadas por la escena, que consisten en diversos AprilTags (variación similar a los patrones QR), que permiten calibrar la escala automática de la reconstrucción 3D. Para ello, en vez de COLMAP, en esta ocasión se ha usado Reality Capture para el alineamiento y generación de las poses de cada imagen, debido a la inclusión de esta característica muy interesante:
Con todo esto, el resultado es el siguiente:
Una vez generado el 3DGS, procedimos a hacer la medición de error:
Vemos como las dimensiones generadas a partir de las marcas han funcionado muy bien, con una medición del largo del mueble de unos 4.78 metros, prácticamente igual que la medición obtenida de referencia.
El resultado general:
Similar al caso anterior, se ve que aquellos elementos con alto contraste, como aristas, objetos y demás se resuelven muy bien, con un error por debajo en la mayoría de los casos de 1 centímetro.
La captura realizada por el LiDAR del iPhone 12 Pro ha dado resultados bastante inexactos. En este caso en concreto, se pone en evidencia como existe una deriva que el dispositivo no es capaz de resolver cuando existe mucho desplazamiento mientras se realiza la captura. Para comprobar que no fuese un problema específico de una única aplicación, se ha usado un total de 2 aplicaciones para capturar el mueble modular:
Se ve claramente que hay una variabilidad muy alta en las mediciones:
Este supone un salto significativo en el tamaño del área que se pretende reconstruir. En este caso, se ejecutará la reconstrucción de un recinto del edificio que alberga las oficinas de Research en Sevilla:
Se quiere hacer pruebas de precisión en entornos masivos de gran área, para ello, las soluciones previas no son útiles, ya que capturar todos los ángulos con métodos convencionales requeriría un tiempo y esfuerzo excesivo.
Para ello se ha tomado la decisión de usar cámaras 360º. Son dispositivos que capturan imágenes o vídeos en una esfera campo de visión de 360º, es decir, abarcando todo lo que le rodea. En concreto usaremos la cámara Insta360 Pro2, un modelo profesional que se caracteriza por su alta calidad de imagen (8K de resolución).
Nuevamente disponemos de una nube de puntos del entorno completo, que se usará como referencia:
Las cámaras 360º suelen producir imágenes en con proyección equirectangular, que no es más que una proyección plana de una imagen esférica, generalmente en proporción 2:1, tal como vemos en el siguiente ejemplo:
Esto de entrada supone un problema, ya que tanto COLMAP como los métodos de entrenamiento de 3DGS están diseñados en torno a imágenes de entrada tradicionales, con modelo de cámara Pinhole que asumen una proyección perspectiva (líneas rectas en el mundo real aparecen rectas en la imagen) y parámetros intrínsecos típicos (focal, centro óptico, distorsiones radiales/tangenciales).
Las imágenes 360° equirectangulares, en cambio, emplean una proyección esférica:
Para ello, cada imagen equirectangular se divide en seis caras similares a las caras de un cubo mediante proyección de perspectiva tradicional, de las cuales solo cuatro resultan útiles para el entrenamiento de 3DGS (se descartan la cara superior e inferior).
Para ello, tras varias pruebas, ideamos el siguiente procedimiento con el que hemos obtenido mejores resultados:
Obtenemos el siguiente resultado:
Una vez generado el 3DGS, procedimos a hacer la medición de error:
En este caso el rango para representar el error es superior, donde el color rojo representa un error mayor de 50cm, y el azul un error menor de 3cm.
El resultado general:
Nuevamente, hay diversos puntos a considerar:
La generación de 3DGS en entornos amplios conforma los siguientes problemas a tener en cuenta:
Durante el desarrollo de este artículo se ha presentado 3DGRUT, una técnica híbrida que combina 3D Gaussian Ray Tracing (3DGRT) y 3D Gaussian Unscented Transform (3DGUT). Esta metodología permite entrenar poses de cámara utilizando imágenes provenientes de cámaras no convencionales, como las de tipo fisheye o 360 °, sin necesidad de rectificarlas previamente.
Puede ser interesante el uso reconstrucciones usando imágenes 360º, sin embargo, actualmente 3DGRUT requiere hardware especializado con núcleos de trazado de rayos y está diseñado para entornos de escritorio, lo que limita su implementación en plataformas web.
Por otro lado, COLMAP no admite directamente imágenes esféricas. Por ello, tal como hemos visto anteriormente, es común dividir cada imagen equirectangular en varias vistas planas con cierto solapamiento. Sin embargo, este enfoque puede provocar que las imágenes derivadas de un mismo panorama no se alineen exactamente en la misma posición, generando inconsistencias en la estimación de poses:
En contraste, Agisoft Metashape ofrece soporte nativo para imágenes esféricas. Al importar panoramas equirectangulares, es posible configurar el tipo de cámara como «esférica» en la ventana de calibración, lo que permite procesar las imágenes sin necesidad de dividirlas. Este método facilita una alineación más precisa y coherente de las imágenes.
Actualmente, desde Plain Concepts Research estamos trabajando en la posibilidad de utilizar las poses de cámara obtenidas con Metashape, sabiendo la pose de cada imagen troceada del fotograma equirectangular, para generar información relevante que pueda ser integrada en COLMAP. Esta integración busca mejorar la calidad de las reconstrucciones en flujos de trabajo que emplean técnicas como el 3D Gaussian Splatting (3DGS), permitiendo aprovechar las fortalezas de ambos programas.
3D Gaussian Splatting (3DGS) es una técnica de representación 3D que se apoya en datos de estructura desde el movimiento (SfM), comúnmente obtenidos mediante herramientas como COLMAP. Esta técnica actúa como una capa de representación que permite renderizar escenas con alta fidelidad y en tiempo real.
Se ha demostrado que 3DGS ofrece una precisión aceptable en múltiples entornos, tanto en escenas pequeñas como en otras de mayor escala. Esto se debe a que, durante la fase de resolución, 3DGS mantiene la integridad estructural y las proporciones de los elementos de la imagen. Sin embargo, la precisión de las poses de cámara es crítica para lograr resultados óptimos.
Respecto al LiDAR de iPhone, ofrecer una calidad aceptable en la reconstrucción de objetos de pequeña escala. No obstante, en elementos que se encuentran fuera del alcance inmediato del sensor y que requieren desplazamiento, se puede observar una deriva significativa.
Se proponen algunos enlaces de software utilizado en el estudio:
David Avila
Senior Staff Researcher