Cómo separar personas, animales, sombras y humo en un vídeo

Publicado el

separar video

Cuando estamos editando un vídeo, muchas veces queremos eliminar a una persona con su perro, o a un coche con el humo que genera, elementos muy difíciles de separar en este formato.

Recursos que separan personas, animales y objetos sí hay, pero que sean capaces de separar también las sombras y los humos, es bastante más complejo, por eso leemos con alegría los avances en este sentido.

El artículo lo publica Google en su blog sobre Inteligencia Artificial. En él hablan de Omnimatte, la asociación de objetos y sus efectos en video, un nuevo enfoque que aprovecha la representación neuronal en capas para separar un video en capas llamadas omnimattes que incluyen no solo a los sujetos sino también a todos los efectos relacionados con ellos en la escena.

El estudio, disponible en este PDF, muestra como los omnimattes pueden capturar efectos suaves, parcialmente transparentes, como reflejos, salpicaduras o humo de neumáticos.

Hay parecidos con los mates de toda la vida, ya que los omnimattes son imágenes RGBA que se pueden manipular con herramientas de edición. Una vez separados, podemos usarlos para insertar texto en un video debajo de un rastro de humo, por ejemplo, tal y como se muestra con el logo incluido en la imagen superior junto al coche derrapando.

Cómo se generan omnimattes

Para conseguirlo, dividen el vídeo en varias capas, una para cada elemento en movimiento y otra para el fondo que no se mueve. Esta descomposición debe capturar los efectos correctos en cada capa, de forma que la capa de la persona debe incluir su sombra, y la del coche, el humo de sus neumáticos.

Lo consiguen gracias al entrenamiento de una red neuronal convolucional (CNN) para mapear la máscara de segmentación del sujeto y una imagen de ruido de fondo en un omnimatte. Las CNN saben cuál es la correlación entre los efectos de imagen, de forma que si un sujeto se mueve, y una sombra lo hace de forma sincronizada, entiende que son el mismo elemento.

El problema es que hay que entrenar una nueva red de renderizado para cada video, y eso necesita una capacidad de procesado importante.

Para qué sirve

En el día a día podemos usar esta técnica para eliminar objetos de los vídeos de forma más natural, para duplicar objetos repitiendo su capa en la composición y para manipular la velocidad de los sujetos (hacer que un coche corra más en el vídeo de lo que corría en la vida real, por ejemplo).

Este tercer punto es importante en las películas, donde actualmente se consigue manipular el tiempo haciendo tomas separadas para cada sujeto en un entorno de filmación controlado. Si separamos los objetos de los vídeos podremos controlar la velocidad de reproducción de cada capa de forma más sencilla. En este gif se muestra cómo han conseguido acelerar el movimiento de un niño usando esta técnica.

Ahora tienen que avanzar para que estas técnicas sean asequibles a la población general dentro de sus editores de vídeo conocidos. La teoría ya está hecha, el funcionamiento ya está demostrado, ahora falta la aplicación que nos permitirá realizar estas maravillas.