Lens Studio, de la mano de Snapchat, ha revelado cosas demasiado interesantes a través de su evento Lens Fest. En esta nota te contaré el resumen y también te hablaré de una herramienta que me llamó mucho la atención. Esta se llama Fritz para Lens Studio y la utilizaremos para crear lentes con SnapML.
Ya sabes que todos mis archivos los dejo en mi Patreon, si deseas adquirirlos puedes hacerlo volviéndote patron. ¡Empecemos!
Las novedades del Lens Fest
Del 8 al 11 de diciembre se desarrolló el Lens Fest, el primer evento virtual para creadores de efectos de Snapchat. Lo primero que tengo que destacar fue su sitio web. Su presentación, los efectos y la distribución de secciones nos llevaron a un nivel interesante de inmersión. Es que su sitio web tiene varios espacios en donde uno podía interactuar.
El evento fue full aprendizaje. Desde el primer día enseñaron cómo mejorar nuestro proceso de creación y, además, lanzaron la actualización de Lens Studio 3.3 con nuevos elementos que nos permitirán crear mejores lentes. Por ejemplo, ahora podemos utilizar ‘visual scripting’, que nos permitirá crear lógica e interactividad sin necesidad de escribir ningún código. También es conocido como editor de nodos.
También nos han brindado nuevas plantillas:
‘Face morph’, función que modifica nuestro rostro mientras se despliega un rostro 3d totalmente diferente.
‘UI configuration’, aquí podemos integrar diferentes elementos visuales para controlar los lentes. Tendremos botones, barras, interacciones simples.
‘Tween template’, este tipo de animaciones permite escalar, mover, cambiar de posición o rotar elementos de una manera más sencilla.
Otra importante actualización son las estadísticas. Estas ya no se ven directamente en Lens Studio, ahora nos envían a una página web donde veremos las métricas diferenciadas por cada lente. Extraño un poco ver el resumen de las visualizaciones e interacciones por todos los lentes creados. Sin embargo, creo que se ha hecho un gran acierto, tenerlo en Lens Studio era muy limitado.
Como les había comentado, cada día revelaron diferentes novedades, procesos de trabajo y tutoriales avanzados. Te recomiendo que veas cada video, ¡no te arrepentiras! Para mí, una de las sesiones más interesantes fueron las relacionadas a SnapML, es decir Lens Studio y Machine Learning. Sobre esto, presentaron dos plataformas con las que se pueden trabajar de manera eficiente proyectos más interesantes.
Estas son Fritz y Runway, de la primera hablaré en estos instantes y sobre Runway posiblemente dedicaré un video entero próximamente.
Fritz para Lens Studio
Fritz AI es una plataforma especializada en machine learning y, desde hace unas semanas, han lanzado un proceso para trabajar con Snapchat Lenses. Te estarás preguntando cual es la diferencia de trabajar con Fritz y trabajar con Google Collab.
Primero: para usar Fritz no necesitas conocimiento de python, solo tienes que seguir las secuencias que te indican.
Segundo: podrás entrenar modelos personalizados a medida.
Tercero: el trabajo se hace de manera externa sin utilizar tu internet y tu PC. ¡Esto es algo que yo agradezco bastante!
Actualmente, existen 4 procesos de trabajo: image segmentation, object detection, image labeling y style transfer.
Para disfrutar de esta plataforma, vamos a registrarnos y probar la beta. Tienes que tener en cuenta que este sandbox tiene recursos limitados, ¡aprovechalos bien! Creo que es suficiente para una demo, aunque me limitó las horas de entrenamiento.
Vamos a trabajar primero con style transfer, creamos un proeycto. Debemos crear un nombre para nuestro style transfer, hay una serie de recomendaciones que debes seguir. Ahora debemos seleccionar una imagen para transmitir sus colores y sus texturas a nuestro lente, yo obtuve una imagen de Unsplash.
En esta parte, tenemos que prestar atención: nos encontraremos con los parámetros del style transfer. Te recomiendo que leas esta documentación que te permitirá personalizar el resultado de tu lente. Hagamos modificaciones a nuestro gusto, respecto al tiempo de entrenamiento yo prefiero poner dos horas como mínimo.
A más tiempo, mejor calidad. Cuando esperes el tiempo estimado, verás el ejemplo de cómo se aplica tu style transfer a otras fotos. ¡Genial! Para descargar el resultado, vamos a models y usaremos la opción: Lens Studio Project, descargalo y ubicalo en una carpeta.
Vamos a abrir el Fritz template, lo primero que veremos será la opción de model import, luego un mensaje sobre algunos recursos no comprimidos. Hacemos clic a “ML Component” y arrastramos nuestro modelo entrenado, que en mi caso se llama “art” y lo arrastramos a esta casilla.
En texture necesitamos mencionar al device camera texture y, por supuesto, debemos crear un output texture. ¡Genial! Ahora sí vamos a probarlo.
¿Qué te parece este lente? Ha transmitido el estilo de la imagen por completo. Te dejo estos archivos en mi Patreon.
¡Ahora haré otra prueba!
Trabajaremos con image segmentation. Ya sabes, debes crear primero el proyecto, luego nos pedirán que subamos imágenes para que comience el entrenamiento. Recuerda que estas fotos deben ser en formato png y transparente, revisa la guía, en esta oportunidad voy a usar el mando de XBOX.
He recopilado fotos de internet y para eliminar su fondo rapidamente utilicé ClipDrop (hecho un video de esta plataforma) una vez que tengas como mínimo 12 imagenes comienza a subirlas para generar nuestro datasets. Ahora sigue un paso interesante que es generar “anotaciones”.
Primero debemos agregar una etiqueta y luego tendremos que delimitar los bordes de nuestro objeto en cada foto. Esto es fundamental. Cuando tengamos todo listo pasamos a generar el snapshot. Se generará una serie de fotos de nuestro objeto dentro de diferentes escenas, el resultado sería el siguiente:
Luego de generar dicho snapshot procedemos a entrenar el modelo. En este caso, usaré solo 2 horas, cuando se haya cumplido el proceso, podemos descargar el modelo. Ya sabes, yo descargo el Lens Studio Project y abrimos el archivo. El proceso es exactamente el mismo que el anterior: arrastramos nuestro modelo al ML Component, creamos texturas de input y output. El paso extra es que en el archivo de segmentation texture, en model output, debemos mencionar la textura que generamos previamente.
No se ve nada porque el video preview no tiene un mando de Xbox. ¡Vamos a testearlo!
¡Lo reconoció a la perfección! Te imaginas el sinfín de oportunidades que podemos crear con image segmentation. Las opciones crecen si luego utilizas el object detection y el image labeling. En fin bastante contenido para experimentar, ¡inténtalo!
Si solo quieres probar la herramienta y obtener un resultado rápido, te recomiendo utilizar la información pre-trained. Hay bastantes modelos para descargar y utilizar.
Vamos a usar el face mask, ya en Lens Studio, hacemos el mismo proceso y este sería el resultado:
¿Nada mal verdad? El resultado es preciso, Fritz para Lens Studio me pareció una herramienta muy buena para trabajar nuestros lentes con SnapML. Por el momento este servicio está en beta, espero pronto tener noticias al respecto y mostrarles los avances.
Espero que te haya gustado Fritz para Lens Studio y todas sus funcionalidades. ¡Nos vemos en el metaverso!
Si desear apoyarme para mantener mi sitio web, puedes hacerlo y también recibirás los archivos de mis tutoriales de Spark AR accediendo a mi patreon.