Snapchat con su versión 3, mostró uno de las funcionalidades más importantes para el mundo de las plataformas autogestionables de realidad  aumentada: me refiero al machine learning. Existen varios formas de aplicarlo, desde detección de objetos hasta interacción de colores y shaders en tiempo real. Este último se llama Lens Studio Style Transfer. Hablaremos de ello, por ser la forma más fácil y lúdica de entender esta tecnología.

Hace unas semanas mostré mi lente llamado: Pintos paint. En Reddit muchas personas me preguntaron sobre el proceso de trabajo. SnapML o mejor conocido como Machine Learning para Snapchat es una biblioteca para entrenar modelos. La idea principal de SnapML es utilizar ese aprendizaje automático en simples pasos ya estructuradas para usarlo en proyectos de realidad aumentada. 

En este caso específico, style trasnfer lo que permite es transferir el tipo y color de la foto o o pintura para mostrarlo en la cámara, de esa manera en tiempo real se cambian los colores, sombras y estructuras según el patrón que hemos agregado. En la plantilla simplemente podemos cambiar el “model” y aparecerá la magia, pero existe un trabajo importante previo relacionado obviamente a Machine Learning. 

Proceso de Machine Learning

Para este tutorial usaremos dos imágenes, la primera es del artista peruano Samuel Pintos. Sus pinturas se caracteriza por retratar la condición humana e inmiscuirse en los estados emociones. Te dejo más información a través de este link

Regresemos a Lens Studio, aquí tenemos la documentación de cómo trabajarlo. Primero crearemos el modelo. Aquí nos permitirán descargar nuestro training code. Este es diferente por cada tipo de proceso, luego nos explicarán que el data set que utilizan para entrenar el modelo es gracias a COCO. El lugar donde entrenaremos será Google colaboratory que es considerada uno de las plataformas más amigables y fáciles de trabajar.

Dentro del archivo descargado encontraremos toda la información necesaria. vemos las imágenes a utilizar: el test image y el style image; y claro el archivo necesario para SnapML.

El nombre y el formato que utilicemos es importante porque en la parte de global variables for training tendremos que mencionarlos, entonces los nombres de los archivos que utilicemos deben coincidir sino más adelante podrá fallar y todo el tiempo de trabajo que invertiste será en vano. Para entrenarlo debemos ir a entorno de ejecución y hacemos clic a ejecutar todas. 

Puede salir un mensaje indicandote que no te queda mucho espacio, pero dependiendo de lo que estés entrenando simplemente puedes “ignorar” y continuar.

Esto toma bastante tiempo, posiblemente un par de horas. Una vez que tengamos el archivo lo podemos descargar el formato ONNX. Ahora regresemos a Lens Studio con la plantilla style transfer,  subimos el archivo descargado y le daremos clic a import.

Podemos probar con varias imágenes, por ejemplo con unsplash u otras opciones. No hay límite respecto a ello, eso sí te recomiendo que no solo te quedes con el efecto básico, es necesario que le agregues mayor detalle.

Patreon

Si desear apoyarme para mantener mi sitio web y descargar los archivos de Lens Studio Style transfer, puedes hacerlo accediendo a mi patreon.




Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.