Archivo por meses: diciembre 2021

Postprocesado básico tras el escaneado 3D

En anteriores entradas, he compartido procedimientos y técnicas para escanear objetos en 3D utilizando fotogrametría a partir de imágenes o vídeos. La sencillez del proceso – que incluso puede ser realizado con la cámara de un teléfono móvil – y los llamativos resultados que produce – incluso en equipos poco potentes – hacen que sea una interesante opción para introducir estas técnicas en el aula para tratar contenidos de forma inclusiva, de acuerdo al planteamiento del proyecto Erasmus+ AMUSING.

Pero, por sorprendentes que sean los resultados, si los miramos de cerca con el visor 3D, podremos apreciar pequeñas imperfecciones que ha cometido el programa de escaneado en 3D al componer el volumen a partir de las imágenes. Estas imperfecciones suelen estar disimuladas por la textura, por lo que pasan desapercibidas en un visor 3D, sin embargo, si nuestro objetivo es imprimir la pieza, estas imperfecciones o ruido 3D, puede trasladarse al objeto y, por tanto al tacto.

Por ejemplo, veamos la siguiente escultura de un rostro escaneada por fotogrametria:

Si nos acercamos al rostro:

Aparentemente, el modelo parece bastante fidedigno con el original, por lo menos en el visor. Sin embargo, si cambiamos las opciones de iluminación activando el shading, veremos que, en realidad, la textura nos está engañando. En la siguiente imagen se aprecia como, en realidad el programa de escaneado ha tenido problemas para reconstruir la parte interior del rostro, al tener menos fotografías que capturasen correctamente esa zona.

Esas imperfecciones se trasladarían al modelo impreso, alejando la experiencia táctil del modelo original.

Como ya se ha comentado en este blog, el objetivo del proyecto Erasmus+ AMUSING es crear réplicas de objetos de museos para poder ser manipuladas y así, entre otras ventajas, poder ser explicadas a las personas con discapacidad visual. Así, que es necesario eliminar en la medida de lo posible esas imperfecciones que puedan despistar sobre la verdadera forma del objeto replicado.

En esta entrada, explicaré algunas técnicas sencillas que se pueden emplear para optimizar el objeto de cara a su impresión.

Autodesk Meshmixer

El programa que se empleará para procesar el modelo es el Autdesk Meshmixer. El programa es gratuito y se puede obtener desde su web:

https://www.meshmixer.com/

Está disponible para Windows y Mac OSX, si bien, la versión de Windows puede ejecutarse bajo GNU/Linux con Wine con los drivers Vulkan.

Una vez instalado, lo ponemos en marcha y cargamos el archivo OBJ que queramos tratar.

Corrección de errores

Un primer paso necesario, incluso si no se pretende imprimir la pieza, es corregir todos los errores que se puedan haber producido al tejer la malla durante el proceso de fotogrametría. Esto es, triángulos mal cerrados, o cosas que se pueden ver en la anterior captura, zonas sueltas o la apertura del modelo por la parte en la que no hay información.

Para resolver todos estos problemas de forma sencilla, seleccionamos la opción Analysis y después en Inspector.

Esto nos marcará todos los errores detectados en rosa (zonas desconectadas ), azul (zonas no cerradas) y rojo (triángulos imposibles) y nos dará la opción de corregirlos: Auto repair all.

Al pulsar esta opción, vemos como ha desaparecido la zona suelta y se ha cerrado el modelo.

Eliminar zonas no deseadas

Una función muy importante que nos permite hacer el programa es poder descartar zonas del modelo. Esto es útil porque es habitual que los programas de fotogrametria modelen más de lo que nos interesa.

Por ejemplo, en nuestro modelo, se pueden apreciar zonas de la pared en la que se encontraba la placa con la escultura:

Una forma de deshacerse de esas partes es usando un corte por plano, que determinará qué parte se queda en el modelo y cuál se descarta.. Para ello, vamos a Edit > Pane Cut

Tenemos que posicionar el plano usando las flechas de colores, que nos permiten mover y rotar el plano. Lo que está en gris es lo que queda fuera y lo que mantiene la textura es lo que quedará tras hacer el corte.

Tras posicionar el plano para que deje fuera la pared, le damos a Accept para que haga el corte.

El resultado se cierra automáticamente, por lo que no hace falta que volvamos a lanzar el inspector.

Posicionar el modelo

Otro aspecto interesante de cara a la impresión es rotar y escalar el modelo para facilitar su posicionamiento en el programa de segmentación de la impresora 3D.

Para ello, Meshmixer nos permite poner en pantalla la base de impresión (View > Show Printer Bed) y transformar el modelo (Edit > Transform):

De nuevo, usamos las flechas para rotar y posicionar. Si queremos redimensionar de manera uniforme, hay que apretar sobre el cuadro blanco que hay en el centro y mover el ratón sin soltar.

Una vez posicionado, le damos a Accept para que se apliquen los cambios de la transformación.

Suavizar superficies

Finalmente, vamos a tratar el objeto para suavizar las imperfecciones. Para ello, seleccionamos Sculpt, opción que nos permite modificar el aspecto del modelo. Como lo único que queremos es suavizar la superfície, seleccionaremos la brocha Shrik Smooth.

Ahora, sobre el modelo, iremos repasando las zonas que queramos suavizar. En cierta manera, es como maquillar al modelo. Podemos cambiar la fuerza y tamaño de la brocha desde las opciones.

Para apreciar el efecto de lo que estamos haciendo, podemos activar para que se vea la malla (View > Show Wireframe). Veremos como, a medida que aplicamos la brocha, la malla se modifica. En este caso, lo que hace es regenerar la zona eliminando los posibles bultos.

Como se puede apreciar en el ejemplo, al aplicar la brocha estamos añadiendo nuevos triángulos, haciendo más complejo el modelo. Puedo reducir este efecto ampliando el tamaño de la brocha (o disminuyendo las dimensiones del modelo para que el tamaño de la brocha sea más grande).

Otra cosa que puedo hacer, una vez haya terminado es simplicar la malla en esa zona usando el pincel AdaptativeReduce o Reduce, que simplifica los triángulos de la zona tratada.

El resultado complementa el suavizado anterior:

Exportar el modelo

Una vez modificado el modelo, lo podemos exportar desde File > Export.

Hay que tener cuidado con el uso de esta herramienta, ya que estamos modificando el resultado del escaneado, Un exceso en el suavizado o la reducción de triángulos puede deformar el objeto escaneado, alejándolo del modelo original. Mi recomendación es ir poco a poco y no suavizar más de lo estrictamente necesario para que desaparezcan picos o irregularidades muy evidentes.

Por ello, es preferible exportar el modelo modificado con otro nombre y no sobreescribir el original, por si tenemos que volver a partir del original en un momento, sobretodo teniendo en cuenta el tiempo que requiere procesar un modelo por fotogrametría.

El resultado es el que se ve a continuación. Las irregularidades han desparecido, dejando la mejilla izquierda sin irregularidades (aunque es cierto que aún podríamos suavizarla un poco más).

Conclusiones

En la entrada hemos visto como realizar algunos ajustes básicos de postprocesado con Meshmixer de una pieza escaneada en 3D para eliminar algunos de los defectos que se puedan derivar del proceso de fotogrametria. Cabe destacar que Meshmixer tiene una gran variedad de herramientas para tratar figuras en 3D, lo que lo convierte en una herramienta indispensable para el escaneado 3D. Además, es gratuita y multiplataforma.