Este modelo de IA de Netflix elimina a cualquier actor de cualquier escena (Análisis del modelo VOID)

BBetter Stack
컴퓨터/소프트웨어영화사진/예술AI/미래기술

Transcript

00:00:00Vaya, se ve algo triste, pobre Kate Winslet, Dios mío, ahí parada sola, con
00:00:09ningún Jack.
00:00:11Netflix acaba de lanzar una herramienta de IA de código abierto muy interesante llamada Video Object and Interaction
00:00:17Deletion o VOID.
00:00:19La mayoría de las herramientas de video con IA ya son excelentes borrando objetos, eso no es nada nuevo.
00:00:24Pero son terribles borrando las consecuencias de esos objetos en la escena.
00:00:29Por ejemplo, si eliminas una bola de boliche golpeando pinos, la mayoría de los modelos dejan los pinos
00:00:34cayéndose sin razón, pero VOID intenta solucionar este problema.
00:00:39Es un nuevo marco de trabajo de Netflix e Insight que entiende la causa y el efecto y modifica
00:00:44el contenido del video basándose en los objetos eliminados.
00:00:47Así que en este video, analizaremos más de cerca este modelo, veremos cómo funciona y, de hecho,
00:00:52construí una aplicación web para probar este modelo en todo su esplendor, así que haremos algunas pruebas de video
00:00:57por nuestra cuenta.
00:00:58Va a ser muy divertido, así que vamos a sumergirnos en ello.
00:01:05VOID significa Eliminación de Objetos e Interacciones de Video.
00:01:09Para entender por qué esto es tan importante, hay que ver cómo funciona normalmente el "inpainting"
00:01:15de video.
00:01:16Los borradores estándar de IA son básicamente un relleno según el contenido pero repotenciado.
00:01:20Miran los píxeles alrededor del hueco e intentan adivinar qué debería haber allí.
00:01:24Esto funciona para una marca de agua o una persona quieta, pero falla en el momento en que
00:01:29hay una interacción física.
00:01:31Si eliminas a una chica haciendo un batido en una licuadora, una IA normal borrará a la persona,
00:01:36pero dejará la licuadora girando y batiendo sin motivo alguno.
00:01:40Corrige la apariencia, pero ignora la física de los otros objetos a su alrededor.
00:01:46VOID está diseñado para resolver ese problema de interacción fantasma reimaginando una realidad contrafáctica.
00:01:53Básicamente, una versión del video donde ese objeto o persona nunca existió en primer
00:01:57lugar.
00:01:58Y la forma en que lo logra es realmente ingeniosa.
00:02:01No empieza a pintar inmediatamente.
00:02:03En su lugar, utiliza un sistema de dos pasadas.
00:02:06En el primer paso, realizan una fase de razonamiento.
00:02:08Primero, VOID utiliza un modelo de lenguaje de visión y SAM2 o Segment Anything Model 2 para analizar
00:02:15la escena.
00:02:16De hecho, hice un video aparte sobre cómo funciona SAM2, así que échale un vistazo si te interesa.
00:02:22Mientras SAM2 crea un rastreo perfecto de píxeles del objeto que quieres eliminar, la IA se hace
00:02:28la pregunta: "Si elimino esto, ¿qué más cambia?".
00:02:32Si quitas un dominó de una pila de dominós, la IA identifica que los otros dominós se ven casualmente
00:02:38afectados.
00:02:39Luego crea lo que los investigadores llaman una "Quad Mask", un mapa específico que le dice al
00:02:44modelo de difusión no solo dónde borrar, sino dónde reescribir la física de la zona
00:02:50circundante.
00:02:51Y luego el paso dos es la generación y el refinamiento.
00:02:54Una vez que ha generado ese mapa, un modelo de difusión de video genera el nuevo metraje.
00:03:00A veces estos modelos pueden ser un poco imprecisos, como que los objetos se deforman o pierden su forma.
00:03:05Para solucionar esto, VOID tiene una segunda pasada opcional.
00:03:08Utiliza algo llamado "flow warp noise" para fijar esas formas en su lugar, asegurando que
00:03:14mientras la física cambia, los objetos restantes se mantengan sólidos y consistentes.
00:03:19Pero te preguntarás, ¿cómo se le enseña a una IA lo que no sucedió?
00:03:23El equipo de Netflix e Insight no podía simplemente filmar un accidente de coche y luego deshacerlo en
00:03:28la vida real para obtener los datos de entrenamiento.
00:03:30En su lugar, utilizaron entornos sintéticos como Kubrick.
00:03:34Realizaron miles de simulaciones físicas donde tenían una versión de antes y otra de después.
00:03:40Una versión con una colisión y otra versión donde el objeto nunca estuvo allí.
00:03:44Al mostrarle a la IA ambas versiones, esta aprendió la relación entre la presencia de un objeto y
00:03:49su impacto en el entorno.
00:03:51Todo eso suena súper fascinante, pero vamos a probar esta herramienta por nosotros mismos.
00:03:57La mejor manera de ejecutarla sería usar una GPU en la nube como un módulo RunPod funcionando en
00:04:02una GPU H100 o algo equivalente.
00:04:05Pero te diré de entrada que configurarlo no es nada sencillo.
00:04:10La documentación de GitHub tiene muchas lagunas e información engañosa.
00:04:14Así que para que funcione correctamente, hay algunas cosas con las que hay que tener cuidado.
00:04:18Por ejemplo, este comando probablemente fallará porque nunca especificaron que necesitas
00:04:23el modelo SAM3 para este procedimiento.
00:04:25Y este comando podría fallar porque nunca especificaron que las "quad masks" deben llamarse estrictamente
00:04:30quad_mask_0.mp4 para que funcionen correctamente.
00:04:35Hay muchos de estos pequeños problemas que no están documentados aquí.
00:04:38Y su demo de Gradio está bien si ya tienes una máscara segmentada con SAM2, pero ellos
00:04:44no proporcionan la interfaz gráfica de usuario para crear realmente esa máscara.
00:04:48Lo que hice fue construir una aplicación web personalizada que soluciona todos estos problemas y te ofrece
00:04:54una interfaz lista para usar que pasa por el paso de segmentación, el paso de inferencia e
00:05:00incluso el sistema de dos pasadas.
00:05:02Así que puedes simplemente subir tu video, segmentar la máscara y renderizar el resultado final.
00:05:07Y eso es exactamente lo que vamos a hacer ahora.
00:05:09Primero, tienes que activar una instancia de RunPod con una GPU potente.
00:05:14Voy a usar una H100 para esta prueba.
00:05:17En la sección de plantillas, asegúrate de aumentar el tamaño del contenedor a 100 gigabytes.
00:05:22Y en la sección de puertos, añade el puerto 8998 porque aquí es donde expondremos
00:05:27nuestra aplicación web.
00:05:29Luego, todo lo que tienes que hacer es entrar al pod por SSH, clonar mi repositorio, entrar en él y ejecutar el
00:05:36comando run.sh.
00:05:38También te pedirá que proporciones un token de Hugging Face para poder descargar los
00:05:42modelos y también asegúrate de tener acceso al repositorio de SAM3 porque este es un
00:05:48modelo restringido y necesitas solicitar permiso para usarlo.
00:05:51Pero normalmente el proceso es bastante rápido y te aprueban en pocos minutos.
00:05:55Luego también necesitarás una clave de API de Gemini porque en el paso de segmentación, el modelo
00:06:00utiliza Gemini para determinar la estimación de pose para una generación precisa de la "quad mask".
00:06:06Muy bien.
00:06:07Y si tienes ambas credenciales, deja que el comando run.sh instale todo.
00:06:13Una vez hecho esto, ya podemos lanzar la aplicación web con el siguiente comando detallado
00:06:18aquí.
00:06:19Ahora, en la página de RunPod, tienes que hacer clic en este puerto y eso abrirá nuestra aplicación
00:06:24web.
00:06:25Y ahora finalmente podemos empezar a probar el modelo.
00:06:28Para mi primera prueba, usaré esta famosa escena de Matrix e intentaré eliminar a
00:06:32Neo de la escena y ver qué pasa.
00:06:35Lo primero que tienes que hacer es especificar el comando de instrucción de eliminación.
00:06:41En este caso, podemos especificar algo como: elimina al luchador con el kimono blanco de
00:06:45la escena.
00:06:46Después de eso, llegamos a la sección donde solo segmentas un montón de puntos alrededor del
00:06:51objeto o persona que quieres eliminar para que el modelo SAM2 sepa en qué forma enfocarse
00:06:57y luego especificar la carpeta de salida donde guardaremos nuestros archivos de resultados.
00:07:02Tienes que recordar el nombre de esta carpeta porque este será el identificador único
00:07:06que usaremos en otras pestañas para identificar con qué video estamos trabajando.
00:07:11Después, podemos pasar a la segunda pestaña, que ejecutará nuestro paso de segmentación y el
00:07:16proceso.
00:07:17Una vez terminado, podemos pasar a la pestaña tres, que es el paso de inferencia, donde
00:07:22el modelo realmente intentará eliminar el objeto o persona deseada.
00:07:26Aquí tenemos que escribir de nuevo el nombre de esa carpeta.
00:07:29Y aquí debemos especificar un "prompt" que describa cómo debería verse el video sin la
00:07:34existencia de nuestro objeto o persona eliminada.
00:07:37En nuestro caso, sería algo como: un luchador con un kimono oscuro de pie dentro de
00:07:42un gimnasio.
00:07:43También recomiendan no mencionar el objeto o persona eliminada, solo centrarse en
00:07:48lo que debe aparecer en el video y ejecutar el paso de inferencia.
00:07:52Una vez que termine, podemos ir a la pestaña de resultados y ver nuestro video final.
00:07:58Nuevamente, necesitamos especificar la carpeta del video.
00:08:01Y ahí lo tienen.
00:08:03Miren eso.
00:08:04Sí, parece que Morfeo está luchando contra un fantasma.
00:08:07Podemos ver que hay algunas inconsistencias con la eliminación de las manos y otras cosas.
00:08:12No es perfecto, pero hay otra cosa que podemos hacer para intentar mejorarlo.
00:08:18Ahora podemos pasarlo por el filtro de segunda pasada, que es la pestaña cuatro, para intentar lograr mejores resultados.
00:08:24Así que después de ejecutar la segunda pasada, ahora tenemos esta ventana adicional donde vemos el
00:08:29resultado de la segunda pasada.
00:08:32Y de nuevo, todavía se ve algo raro.
00:08:34Todavía parece que Morfeo está luchando con un fantasma o bailando o algo así.
00:08:39Como pueden ver, no funciona para todas las escenas.
00:08:42Algunas escenas van a ser muy raras, pero hace un buen trabajo eliminando a Neo de
00:08:48la escena por completo.
00:08:49Dicho esto, probemos dos ejemplos más divertidos.
00:08:53Aquí está la famosa escena de baile de La La Land.
00:08:56E intentaré eliminar a Emma Stone de la escena y ver qué pasa.
00:09:01Vaya, miren eso.
00:09:03Esto se ve casi impecable.
00:09:05Realmente puedo creer que Ryan Gosling está bailando solo aquí.
00:09:09Y miren el momento en que Emma Stone pasa por delante de Ryan Gosling.
00:09:13Esa transición es casi perfecta.
00:09:15Vemos algunos artefactos menores, pero en su mayor parte, vaya, es un resultado impresionante.
00:09:21De todos los resultados que probé, este fue el mejor.
00:09:24Y por alguna razón, pensé que este iba a ser el ejemplo más difícil de ejecutar.
00:09:28Pero sorprendentemente, este dio los mejores resultados de todas las pruebas que hice.
00:09:33Muy bien.
00:09:34Quiero probar un ejemplo más.
00:09:35Y en este, quiero intentar eliminar a Leonardo DiCaprio de la famosa escena de Titanic y
00:09:41ver qué sucede.
00:09:42Oh, vaya, eso se ve algo triste.
00:09:48Pobre Kate Winslet.
00:09:49Dios mío.
00:09:50Simplemente ahí parada sola sin Jack.
00:09:53Eso se ve interesante.
00:09:55Vemos que este modelo hizo un gran trabajo eliminando a Leo de la escena.
00:09:59Aunque podemos ver algunos artefactos restantes en el brazo de Kate Winslet.
00:10:03Y Dios mío, esto es muy espeluznante.
00:10:06Todavía hay una mano espeluznante sujetando el brazo de Kate en el otro lado.
00:10:10Oh, no.
00:10:11Ya no puedo dejar de verlo.
00:10:14Sinceramente, es culpa mía porque no segmenté esos puntos específicos para su eliminación
00:10:19en el paso de segmentación.
00:10:21Así que eso es cosa mía.
00:10:23Y también vemos que la cara de Kate Winslet se deforma un poco.
00:10:26Definitivamente hay algo de "valle inquietante" ocurriendo aquí.
00:10:30En general, creo que esta herramienta hace lo que promete.
00:10:33Es solo cuestión del video específico y de su naturaleza.
00:10:37Obviamente, no podemos obligar a Morfeo a quedarse quieto en esta escena.
00:10:41Pero si miramos otros ejemplos en su página del proyecto, son absolutamente increíbles.
00:10:46Creo que este modelo tiene capacidades sólidas y quizás con más entrenamiento,
00:10:51podría mejorar aún más.
00:10:52Así que ahí lo tienen, amigos.
00:10:53Ese es el modelo VOID en pocas palabras.
00:10:55Sinceramente, me divertí mucho probando esto.
00:10:58Y como lo desarrolla Netflix, tengo mucha curiosidad por saber ¿para qué lo usarán?
00:11:03¿Podría usarse para alterar algunas narrativas de video basadas en las preferencias o elecciones del usuario?
00:11:04¿De forma similar a como Netflix añadió esa experiencia interactiva de "elige tu propia aventura"
00:11:09en el episodio Bandersnatch de Black Mirror?
00:11:15¿Recuerdan eso?
00:11:17¿Quién sabe?
00:11:18En cualquier caso, va a ser muy interesante ver cómo evoluciona el uso de esta herramienta en el
00:11:19futuro.
00:11:23Y bien, ¿qué opinan de este marco de trabajo?
00:11:24¿Para qué tipo de casos de uso sería útil esta herramienta?
00:11:27Cuéntennos sus ideas en la sección de comentarios de abajo.
00:11:30Y amigos, si les gusta este tipo de análisis técnicos, por favor háganmelo saber dándole
00:11:33a ese botón de "me gusta" debajo del video.
00:11:37Y tampoco olviden suscribirse a nuestro canal.
00:11:39Este ha sido Andrés de Better Stack y los veré en los próximos videos.
00:11:42Andrés se despide de parte de Better Stack, ¡hasta la próxima!

Key Takeaway

El modelo VOID de Netflix soluciona el problema de las interacciones fantasma en la edición de video al utilizar razonamiento contrafáctico para reescribir la física de una escena tras la eliminación de un objeto.

Highlights

  • El modelo VOID (Video Object and Interaction Deletion) es una herramienta de código abierto desarrollada por Netflix e Insight que elimina objetos y sus efectos físicos en una escena.

  • VOID utiliza un sistema de dos pasadas que combina SAM2 para el rastreo de píxeles con un modelo de lenguaje de visión para razonar sobre las consecuencias físicas de la eliminación.

  • El entrenamiento del modelo se basa en entornos sintéticos como Kubrick, utilizando miles de simulaciones físicas de colisiones antes y después del impacto.

  • Una segunda fase opcional llamada flow warp noise estabiliza la forma de los objetos restantes para evitar deformaciones visuales y mantener la consistencia sólida.

  • El flujo de trabajo requiere hardware potente como una GPU H100 y acceso específico a los repositorios de SAM3 y tokens de Hugging Face y Gemini.

Timeline

Limitaciones del inpainting tradicional y la solución VOID

  • Los borradores estándar de IA fallan al ignorar las consecuencias físicas de los objetos eliminados en la escena.
  • VOID introduce el concepto de realidad contrafáctica para imaginar el video como si el objeto nunca hubiera existido.
  • La interacción física residual, como una licuadora que sigue batiendo sin operador, se elimina mediante este nuevo marco de trabajo.

El inpainting convencional se limita a rellenar huecos basándose en píxeles circundantes, lo cual resulta ineficaz en escenas con movimiento dinámico. Si se elimina una bola de boliche en pleno impacto, los modelos tradicionales dejan los pinos cayendo sin causa aparente. VOID analiza la relación entre los objetos para asegurar que las leyes de la física se ajusten a la nueva composición visual.

Arquitectura técnica y proceso de dos pasadas

  • La fase de razonamiento genera una Quad Mask que identifica qué áreas circundantes deben ser reescritas.
  • El modelo de difusión genera el nuevo metraje basándose en el mapa de influencia física creado en el primer paso.
  • Los datos de entrenamiento provienen de simulaciones sintéticas donde se comparan versiones de videos con y sin colisiones físicas.

El sistema utiliza SAM2 para delimitar el objeto y un modelo de lenguaje de visión para predecir cambios en el entorno, como el movimiento de fichas de dominó. Para corregir deformaciones accidentales, el proceso emplea flow warp noise en una etapa de refinamiento. Este aprendizaje supervisado con datos sintéticos permite a la IA entender la causalidad sin necesidad de filmar eventos imposibles de deshacer en la realidad.

Implementación práctica y requisitos del sistema

  • La ejecución del modelo requiere una instancia de GPU en la nube, preferiblemente una H100 con 100 gigabytes de almacenamiento.
  • Se requiere la integración de la API de Gemini para la estimación de pose necesaria en la creación de la Quad Mask.
  • La documentación oficial presenta vacíos críticos respecto a la nomenclatura de archivos y dependencias de modelos específicos como SAM3.

La configuración técnica implica clonar repositorios específicos y gestionar permisos restringidos en Hugging Face. El uso de un script de ejecución personalizado resuelve errores comunes de la documentación de GitHub, como la necesidad de nombrar las máscaras estrictamente como quad_mask_0.mp4. Una aplicación web personalizada facilita los pasos de segmentación, inferencia y refinamiento en una interfaz unificada.

Pruebas de rendimiento en escenas cinematográficas

  • La eliminación de Emma Stone en La La Land produce un resultado casi impecable incluso en transiciones complejas de movimiento.
  • Escenas con alta interacción física, como combates en Matrix, muestran artefactos visuales e inconsistencias en las extremidades.
  • El modelo demuestra capacidad para alterar narrativas visuales, permitiendo imaginar experiencias interactivas personalizadas en plataformas de streaming.

En las pruebas con Titanic, el modelo eliminó con éxito a Leonardo DiCaprio, aunque dejó rastros mínimos debido a errores en la segmentación manual inicial. La deformación facial en sujetos cercanos al objeto eliminado sigue siendo un reto técnico, conocido como el efecto del valle inquietante. A pesar de estas limitaciones, la tecnología sugiere un futuro donde Netflix podría ofrecer contenido adaptable según las preferencias del espectador, similar a experimentos narrativos anteriores.

Community Posts

View all posts