Fotogrametría con Meshroom

La fotogrametría es un método de transformación de objetos físicos en modelos digitales tridimensionales que pueden editarse con software 3D. En este proceso se suelen utilizar dispositivos especializados llamados escáneres 3D, que son de dos tipos principales: ópticos y láser.
Los escáneres ópticos suelen utilizar una o varias cámaras digitales e iluminación especial para iluminar uniformemente el objeto durante el escaneado. Esto permite crear un modelo 3D. Los escáneres láser, por su parte, utilizan rayos láser. Estos dispositivos emiten múltiples rayos láser y miden el tiempo que tarda cada rayo en rebotar en el objeto. A partir de estos datos, junto con la información de los sensores de posición, el escáner calcula la distancia a cada punto del objeto. Así se crea una "nube de puntos" que constituye la base del modelo 3D.
Nube de puntos

Para construir el futuro marco de un objeto, el sistema necesita conocer las coordenadas de cada vértice en el espacio tridimensional. El conjunto de vértices se denomina nube de puntos. Cuantos más vértices haya, más detallado será el objeto. Crear una nube de puntos es el primer paso, y uno de los más cruciales, para recrear un modelo 3D a partir de fotografías.
Es importante tener en cuenta que cada vértice de la nube de puntos está inicialmente desconectado de otros vértices. Esto permite un filtrado sencillo: mantener los puntos necesarios y eliminar el resto, antes de empezar a recrear la malla del objeto.
Objetos de malla

Un objeto de malla es un tipo de modelo 3D formado por primitivas geométricas triangulares, a menudo denominadas mallas o polimallas. Una vez formados los puntos del objeto, la aplicación puede componer independientemente primitivas triangulares a partir de ellos. Conectando estas primitivas, es posible crear un modelo 3D de casi cualquier forma. En esta fase, el modelo carece de color y permanece sin pintar.
La etapa de texturizado posterior resuelve este problema.
Texturizado

La última etapa consiste en aplicar la textura de la imagen extraída de las fotos al objeto de malla preparado. La calidad de las fotos tomadas y su resolución desempeñan aquí un papel fundamental. Si es baja, el resultado final no tendrá el mejor aspecto. Pero si se ha tomado un número suficiente de fotos de buena calidad, entonces a la salida recibirás un modelo 3D totalmente listo para usar de un objeto real. A continuación daremos algunos consejos útiles para preparar las fotos originales.
Ajustes de la cámara
Para evitar decepciones en tus primeros intentos de crear un modelo 3D a partir de fotografías, ten en cuenta estas sencillas reglas básicas. Cada regla ayudará a evitar problemas que suelen surgir durante la fase de creación del objeto de malla.
En primer lugar, no confíes en los ajustes automáticos de tu cámara digital. Las cámaras modernas intentan equilibrar cuatro parámetros clave de forma independiente:
- ISO,
- el balance de blancos,
- velocidad de obturación,
- apertura.
En modo automático, incluso pequeños cambios en las condiciones externas pueden hacer que estos ajustes varíen entre fotogramas. Estas variaciones pueden provocar incoherencias notables durante la fase de texturizado.
Para mantener parámetros consistentes entre fotogramas, utilice el modo Manual (M). La apertura es un ajuste crucial aquí. Dependiendo de tu objetivo, busca una posición en la que esté casi cerrado. Esto ayuda a conseguir la máxima profundidad de campo: cuanto menos abierto esté el diafragma, mejor. Sin embargo, evita los valores extremos. Si tu objetivo puede acercarse a f/22, obtendrás buenos resultados utilizando valores entre f/11 y f/20.

Izquierda f/11, derecha f/22
Cerrar el diafragma, sin embargo, crea otro problema: luz insuficiente. Esto se puede solucionar de dos formas: aumentando la sensibilidad ISO o alargando la velocidad de obturación. Ambos métodos afectarán al resultado final, aunque de forma diferente. Aumentar la ISO a 6400 introduce ruido digital en la imagen, por lo que es mejor utilizar los valores más bajos posibles. Para obtener unos resultados casi ideales, tiene sentido ajustar el ISO a 100. Sin embargo, esto significa que persiste el problema de la iluminación insuficiente:

Izquierda ISO 100, derecha ISO 6400
La forma más eficaz de aumentar la luz que pasa a través del sensor de la cámara en condiciones de poca luz es alargar la velocidad de obturación. Cuanto más tiempo permanezca abierto el obturador, más fotones llegarán al sensor, lo que se traducirá en una mejor calidad de imagen. Sin embargo, este enfoque presenta un reto: sin trípode, una velocidad de obturación de 1/50 segundos o más puede desenfocar la imagen. El uso de un trípode elimina este problema.
El balance de blancos es el último parámetro crucial. Es importante desactivar el ajuste automático y elegir un perfil preestablecido (como "Día soleado") o un valor personalizado en Kelvin. Por ejemplo, 5200K es un ajuste habitual. Los valores más bajos desplazan el tono hacia el amarillo, mientras que los más altos se inclinan hacia el azul. Para evitar correcciones de color en el post-procesado, utiliza el mismo perfil de balance de blancos para todas las fotos de una serie.

Perfiles de balance de blancos. Izquierda "Día soleado", derecha "Auto".
En resumen, para capturar fotos de alta calidad para fotogrametría:
- Utilice un trípode cuando no haya suficiente luz.
- Cierre el diafragma casi al mínimo.
- Ajusta el ISO a su valor mínimo.
- Elija una velocidad de obturación que le proporcione el resultado deseado (o utilice el exposímetro integrado de su cámara).
- Utiliza el mismo preajuste de balance de blancos.
Hacer fotos
Hablemos de cuántas fotos hay que hacer y desde qué ángulos. El tipo de objeto y su fondo influyen significativamente en el resultado final. Los objetos sin superficies brillantes, transparentes o reflectantes son ideales para la fotogrametría. En la práctica, objetos como ventanas y cristales suelen requerir correcciones posteriores en un editor 3D. Sin embargo, la técnica general de toma sigue siendo la misma.
Para objetos pequeños situados sobre una superficie, imagine una esfera alrededor del objeto. Haz fotos como si tu cámara rodeara el objeto tres veces: una desde abajo, otra en el centro y otra desde arriba.

Es fundamental que el objeto ocupe al menos la mitad, preferiblemente las tres cuartas partes de cada fotograma. En lugar de utilizar el zoom, intenta acercarte físicamente al objeto. Al crear un punto de nube, el software necesita tantos píxeles como sea posible.
Al disparar, recuerda que el software combina los fotogramas en un único objeto para obtener una geometría correcta. Ten por norma tomar al menos tres fotogramas desde cada ángulo. Una vez que hayas centrado el objeto en el encuadre, divídelo mentalmente en vertical en tres partes iguales. Tome tres fotografías, cada una enfocando un tercio del objeto. Esto proporciona el solapamiento necesario para que la aplicación calcule con precisión la ubicación de cada punto en el espacio 3D. Después de fotografiar el objeto desde todos los lados y ángulos posibles, puede empezar a preparar el software.
Instalar Meshroom
Meshroom es una aplicación gratuita y multiplataforma que realiza secuencialmente todas las etapas de procesamiento, utilizando los recursos de la CPU y la GPU. Aunque puede ejecutarse en un ordenador doméstico estándar, cada etapa puede llevar mucho tiempo. Para proyectos a gran escala que impliquen la reconstrucción 3D de numerosos objetos, como la creación de una impresionante escena 3D, alquilar un servidor GPU dedicado puede ser una solución práctica.
Consideremos un servidor LeaderGPU con la siguiente configuración: 2 x NVIDIA® RTX™ 3090, 2 x Intel® Xeon® Silver 4210 (3.20 GHz), 128GB RAM. Utilizaremos Windows Server 2022 como sistema operativo. Antes de instalar Meshroom, necesitarás realizar algunos pasos preliminares:
Visita la web oficial del proyecto para descargar Meshroom. Descomprime el archivo resultante para encontrar una aplicación lista para usar que no requiere instalación adicional. Inicia Meshroom.exe para comenzar.
Cargar imágenes
La ventana principal de la aplicación está dividida en dos partes: superior e inferior. La parte superior contiene la Galería de imágenes, el Visor de imágenes y el Visor 3D. La sección inferior alberga el Editor de gráficos y el Administrador de tareas. Para empezar, arrastre y suelte las fotos capturadas en el área designada. Se admiten tanto formatos de archivo comprimidos (por ejemplo, JPG) como RAW. Se recomienda utilizar archivos RAW porque contienen muchos más datos por cada fotograma.

Tenga en cuenta que, por defecto, ya dispone de una canalización estándar preparada, que se muestra esquemáticamente en el Editor de gráficos. Este es uno de los controles más importantes que ayuda a configurar todos los aspectos del procesamiento de imágenes en cada etapa. Puede ejecutar manualmente cada etapa haciendo clic con el botón derecho del ratón y seleccionando Compute en el menú desplegable.
Pero por primera vez, puede simplemente hacer clic en el botón verde Start, y la aplicación lo hará todo por usted. Le pedirá que guarde el proyecto, para que no pierda accidentalmente los resultados del cálculo. Haga clic en Save, especifique un nombre y un directorio y guarde el proyecto:

A continuación, la aplicación transfiere todas las etapas de procesamiento del Editor de Gráficos al Administrador de Tareas, que se encarga de su ejecución en un orden específico. Para comprobar el estado de cada etapa, seleccione el bloque correspondiente en el Editor gráfico y haga clic en el botón Log situado en la esquina inferior derecha de la pantalla. También puede ver en tiempo real qué etapa se está procesando en ese momento:

A la derecha, puedes ver la nube de puntos que has construido. El resultado final, generado utilizando el pipeline estándar, está disponible en el directorio:
[Your_Project_Path]\MeshroomCache\Texturing\[Random_Symbols]\texturedMesh.obj
Por supuesto, si fijas de antemano la ruta de salida en el nodo final del pipeline, el objeto acabará en la ruta que hayas especificado. Luego puedes importarlo a cualquier editor de texto para arreglar superficies, añadir fuentes de luz y otros efectos antes de renderizarlo.
Integración
Aunque el resultado inicial pueda parecer impresionante, a menudo es necesario refinarlo en un editor 3D. Meshroom simplifica este proceso permitiéndole importar no sólo el modelo, sino también la nube de puntos y las posiciones de la cámara en editores de terceros como Houdini o Blender. En la siguiente sección exploraremos cómo hacerlo.
Houdini
De hecho, Meshroom es una interfaz fácil de usar para el motor AliceVision, que se encarga de todas las operaciones relacionadas con el cálculo. Esta interfaz implementa el correspondiente pipeline y el gestor de tareas. Si utilizas Houdini, puedes crear tu propio pipeline directamente dentro de la aplicación y utilizarlo junto con otras herramientas, eliminando la necesidad de lanzar Meshroom por separado.
Para empezar, lo mejor es descargar e instalar un lanzador dedicado que gestione las actualizaciones y plugins de Houdini. A continuación, añade el plugin SideFX Labs, que ofrece numerosas herramientas adicionales, incluyendo nodos específicos para AliceVision. Para ello, haga clic en el botón +, a continuación, seleccione Shelves:

Desplázate hacia abajo en la lista y selecciona SideFX Labs, luego haz clic en el botón Update Toolset:

Para instalar un plugin, siga estos pasos: Haga clic en el botón Start Launcher, vaya a la sección Labs/Packages del menú de la izquierda y seleccione Install packages. Se abrirá una ventana en la que podrá elegir los paquetes que desee instalar:

Elija el Production Build para su versión de Houdini y haga clic en Install. Después, reinicia la aplicación para asegurarte de que los nuevos iconos de efectos aparecen en la parte superior:

Es crucial tener en cuenta que aquí no encontrarás ninguna mención a AliceVision o Meshlab. Esto se debe a que el plugin correspondiente sólo funciona dentro del pipeline de contexto de geometría. Para comprobarlo, haz clic en el icono +, luego selecciona New Pane Tab Type, y elige Network View:

Pulse la tecla Tab y añada un nodo Geometry:

Haga doble clic para abrir el nodo creado y escriba av en su teclado. El sistema mostrará instantáneamente una lista de nodos disponibles que comienzan con los símbolos Labs AV. Estos nodos te permiten controlar el motor AliceVision e integrarlo en tus propios pipelines:

Para crear un pipeline adecuado, consulta la documentación oficial del plugin. Además, considera añadir el directorio AliceVision a la lista de variables de entorno en el archivo houdini.env. Para una instalación estándar utilizando el lanzador, este archivo se encuentra normalmente en el directorio C:\Users\Administrator\Documents\houdini20.5\
Abra el archivo houdini.env con cualquier editor de texto y añada la siguiente línea:
ALICEVISION_PATH = [path to alicevision directory in Meshroom folder]
Por ejemplo, si instalaste Meshroom en el directorio raíz de la unidad D:, tu ruta podría tener este aspecto:
ALICEVISION_PATH = D:\Meshroom\aliceVision
Guarde el archivo, a continuación, reinicie la aplicación Houdini.
Blender
Para los usuarios de Blender, recomendamos el plugin Meshroom2Blender. Aunque funciona de forma diferente al plugin de Houdini, permite exportar nubes de puntos y posiciones de cámara calculadas por Meshroom a Blender. Para acceder al código del plugin, abra el enlace en su navegador:
https://raw.githubusercontent.com/tibicen/meshroom2blender/master/view3d_point_cloud_visualizer.py
Guarde el código como view3d_point_cloud_visualizer.py en un directorio conveniente. A continuación, abra Blender y navegue hasta Edit - Preferences. Desde allí, selecciona la pestaña Add-ons:

Haga clic en la flecha hacia abajo y seleccione Install from Disk:

En la ventana recién abierta, navega hasta el directorio donde guardaste el plugin. Seleccione el archivo del plugin y haga clic en Install from Disk button:

El plugin ya está instalado. Se recomienda reiniciar la aplicación. Después de reiniciar, verá el elemento Point Cloud Visualizer en el modo de visualización. El plugin requiere que especifique la ruta a un archivo con la extensión .ply:

Por defecto, Meshroom no genera este tipo de archivo. Para crearlo, abra el pipeline y añada el nodo ConvertSfMFormat. Utilice como entrada el SfMData del nodo StructureFromMotion. Para la salida, especifique el Images Folder del nodo Texturing.

El último paso es especificar el formato. Haga clic en SfM File Format en el nodo ConvertSfMFormat y seleccione ply en la lista desplegable:

Haga clic con el botón derecho del ratón en el nodo creado y seleccione Compute:

Una vez finalizado el proceso, encontrarás el archivo necesario en el directorio:
[Your_Project_Path]\MeshroomCache\ConvertSfMFormat\[Random_Symbols]\sfm.ply
Puede cargarlo en Blender de dos formas: a través del plugin mencionado o mediante el proceso de importación estándar File - Import - Stanford PLY (.ply):

Para más información sobre el uso de este plugin, sugerimos consultar el repositorio del proyecto o en algún recurso web especializado.
Conclusión
La fotogrametría es un amplio campo de conocimiento, en el que hemos intentado contar sólo algunas técnicas básicas para convertir imágenes 2D en un modelo 3D. Se utiliza en muchas industrias, desde la arquitectura hasta la creación de juegos de ordenador.
Una vez adquirida la primera experiencia en la toma de un conjunto de datos y su transformación coherente en un modelo 3D, podrás mejorar tus habilidades y transferir objetos físicos a un espacio 3D virtual. Pues bien, LeaderGPU te ayudará con la potencia de cálculo, reduciendo el tiempo de cálculo y liberando tu estación de trabajo para otras tareas, a menudo más prioritarias.
Ver también:
Actualizado: 12.08.2025
Publicado: 21.01.2025