
Gemelos digitales: Precisión de 3D Gaussian Splatting
Introducción
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:
- Entorno mediano (oficina de 100m2): Se evaluará la exactitud en la representación y coherencia espacial.
- Objeto grande (mueble modular de 7m): Se comprobará la capacidad para reconstruir formas con mayor complejidad.
- Entorno masivo (5000m2) usando cámaras 360º: Se obtendrá cobertura completa en espacios amplios, facilitando la captura de datos usando cámaras 360º.
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.
Dispositivos utilizados
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:
- Insta360 Pro2: es una cámara profesional diseñada para la captura de contenido inmersivo en 360 grados, capaz de grabar vídeo en resolución 8K tanto en 2D como en 3D con una calidad excepcional. En este estudio, se utiliza principalmente por su capacidad de cobertura total, lo que permite registrar grandes espacios de forma rápida y eficiente, reduciendo significativamente el tiempo de rodaje.
- iPhone 12 Pro: Este dispositivo de Apple fue el primer dispositivo iPhone en disponer la tecnología LiDAR. Si bien su uso principal es mejorar el posicionamiento espacial del dispositivo en entornos difíciles, ha demostrado gran utilidad creando una nube de puntos 3D que representa el espacio, algo que usaremos para capturar los objetos que probaremos en este estudio.
- Rig de GoPRO 13 Hero Black: Cámara de acción por antonomasia, útil por su pequeño tamaño y calidad de vídeo. Se utilizarán montadas en un trípode de 1.80m de longitud y colocadas a 3 alturas diferentes, lo que nos permite ser más exhaustivos en la captura en menos tiempo.
Qué es 3D Gaussian Splatting y como se genera
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
Estudio de precisión
En este estudio de precisión abarcaremos los siguientes entornos:
- Entorno mediano (oficina de 100m2)
- Objeto grande (mueble de oficina de 4.7m)
- Entorno masivo usando cámara 360º (Recinto de 5000 m2)
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:
- Alinearemos la nube de puntos obtenida del procesamiento de 3DGS (o el LiDAR obtenido por iPhone) con la nube de puntos de referencia de Leica.
- Usaremos la función “Cloud/Cloud distance” para medir la distancia de error. Esto nos aplicará un gradiente de color a cada punto en función del error respecto a la nube de referencia, así como un valor medio de error y su desviación típica.
Entorno mediano (Oficinas de 100 metros cuadrados)
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.
Referencia de LiDAR Leica (Ground Truth)
Se ha realizado una captura de dicha oficina con el LiDAR Leica para actuar como referencia:
3D Gaussian Splatting
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:
- Error medio: 3.49 cm
- Desviación estándar: 5.6 cm
Hay diversos puntos a considerar:
- 3DGS tiende a generar áreas difusas en aquellas superficies sin definición, al no poder extraer de las imágenes características que pueda posicionar correctamente. Esto provoca que, en las superficies como el suelo, paredes, persianas, etc… genere puntos alejados de la referencia, que son marcados como rojo:
- Otro punto a tener en cuenta es que ciertos elementos cambian de posición ligeramente, como algunas sillas, o directamente han aparecido (el propio LiDAR Leica):
LiDAR de iPhone
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:
- Error medio: 7.01 cm
- Desviación estándar: 23.2 cm
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.
Objeto grande (Mueble modular de 4.7 metros)
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.
Referencia de LiDAR Leica (Ground Truth)
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.
3D Gaussian Splatting
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:
- Error medio: 1.32 cm
- Desviación estándar: 2.5 cm
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.
LiDAR con iPhone
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:
- Scaniverse
- Polycam
Se ve claramente que hay una variabilidad muy alta en las mediciones:
- Con Scaniverse se obtiene 08 metros de longitud (unos 30 centímetros de más)
- Con Polycam el tamaño es de 59 metros, unos 19 centímetros más pequeño.
Entorno masivo (Recinto de 5000m2)
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).
Referencia de LiDAR Leica (Ground Truth)
Nuevamente disponemos de una nube de puntos del entorno completo, que se usará como referencia:
3D Gaussian Splatting
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:
- Cada píxel codifica una dirección azimut–elevación, no un rayo recto.
- Las “líneas rectas” del mundo se curvan según la latitud, y la escala varía mucho de polos a ecuador.
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:
- Del vídeo 360º, lo dividimos en ventanas de 1 segundo, y dentro de esa ventana, escogemos la mejor imagen. Consideramos que una imagen tiene calidad cuando no tiene desenfoque de movimiento y está bien definida. Para ello obtenemos la varianza de Laplacian, que nos da una métrica de la nitidez de cada imagen. Por tanto, como resultado tenemos una lista de imágenes equirectangulares:
- A partir de cada imagen equirectangular, generamos cuatro imágenes planas de 120° de FoV con solapamiento adecuado, lo cual favorece un alineamiento más preciso en COLMAP.:
- En esta fase procesamos en COLMAP las aproximadamente 2000 imágenes individuales generadas en el paso anterior. Debido al volumen de datos, es necesario ajustar manualmente la configuración por defecto de COLMAP para obtener resultados óptimos, incluyendo el uso de un vocabulario visual más amplio (Vocabulary Tree con 256k visual words). Como resultado, obtenemos las poses de cada imagen correctamente alineadas en el espacio:
- Finalmente realizamos el entrenamiento de 3D Gaussian Splatting
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:
- Error medio: 7.82 cm
- Desviación estándar: 11.49 cm
Nuevamente, hay diversos puntos a considerar:
- Se observa como la mayoría de las superficies y puntos de alto contraste obtiene un buen resultado de precisión:
- Por otro lado, se ha detectado muchos puntos (gaussians en nuestro caso) en áreas como el interior del edificio donde no debería haber información. Es debido a cómo 3DGS procesa y genera las superficies con reflexión, como son las grandes superficies de cristal de las ventanas del edificio:
Limitaciones de captura de 3DGS en estos escenarios
La generación de 3DGS en entornos amplios conforma los siguientes problemas a tener en cuenta:
- Generalmente es necesario hacer una captura a 2 o 3 alturas diferentes para poder hacer una buena reconstrucción. Generalmente en vídeos 360º únicamente puede ser capturado a una única altura, lo que puede dar un peor resultado.
- Grandes áreas como el capturado en este ejemplo se realizan en el exterior, por lo que hay que tener especial cuidado en ciertas circunstancias:
- Idealmente se requiere una exposición fija en la cámara, lo que en entornos muy soleados con zonas de sombra produzca un contraste que el rango dinámico de la cámara no pueda resolver, produciendo zonas muy en sombra o zonas sobreexpuestas:
- Si hay demora durante la captura (9 minutos en este escenario), las nubes y sombras proyectadas por el sol cambiarán de forma sustancial, generando malos resultados en esas áreas:
- Idealmente se requiere una exposición fija en la cámara, lo que en entornos muy soleados con zonas de sombra produzca un contraste que el rango dinámico de la cámara no pueda resolver, produciendo zonas muy en sombra o zonas sobreexpuestas:
Mejoras de futuro
3DGRUT
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.
Usar alineamiento esférico de Metashape
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.
Conclusiones
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.
Links útiles
Se proponen algunos enlaces de software utilizado en el estudio:
- COLMAP: https://colmap.github.io/
- CloudCompare: https://www.danielgm.net/cc/
- Reality Capture: https://www.capturingreality.com/
- Metashape: https://www.agisoftmetashape.com/
- Scaniverse: https://scaniverse.com/
- Polycam: https://poly.cam/
Referencias
- 3D Gaussian Splatting for Real-Time Radiance Field Rendering: https://repo-sam.inria.fr/fungraph/3d-gaussian-splatting/
- 3DGUT: Enabling Distorted Cameras and Secondary Rays in Gaussian Splatting: https://research.nvidia.com/labs/toronto-ai/3DGUT/
- NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis: https://www.matthewtancik.com/nerf