Ce modèle IA de Netflix supprime n'importe quel acteur de n'importe quelle scène (Analyse du modèle VOID)

BBetter Stack
Computing/SoftwareMoviesPhotography/ArtInternet Technology

Transcript

00:00:00Oh, wow, c'est un peu triste, la pauvre Kate Winslet, mon Dieu, debout toute seule, avec
00:00:09aucun Jack.
00:00:11Netflix vient de sortir un outil d'IA open source très intéressant appelé Video Object and Interaction
00:00:17Deletion, ou VOID.
00:00:19La plupart des outils vidéo d'IA sont déjà excellents pour effacer des objets, rien de nouveau.
00:00:24Mais ils sont terribles pour effacer les conséquences de ces objets dans la scène.
00:00:29Par exemple, si vous retirez une boule de bowling frappant des quilles, la plupart des modèles laissent
00:00:34les quilles tomber sans raison, mais VOID essaie de corriger ce problème.
00:00:39C'est un nouveau framework de Netflix et Insight qui comprend la cause et l'effet et modifie
00:00:44le contenu vidéo en fonction des objets supprimés.
00:00:47Dans cette vidéo, nous allons examiner de plus près ce modèle, voir comment il fonctionne, et j'ai
00:00:52même créé une application web pour tester ce modèle dans toute sa splendeur, donc nous ferons
00:00:57quelques tests vidéo nous-mêmes.
00:00:58Ça va être très amusant, alors plongeons dedans.
00:01:05VOID signifie donc Video Object and Interaction Deletion.
00:01:09Pour comprendre pourquoi c'est si important, il faut regarder comment l'inpainting vidéo fonctionne
00:01:15habituellement.
00:01:16Les effaceurs IA standard sont essentiellement du remplissage d'après le contenu sous stéroïdes.
00:01:20Ils regardent les pixels autour du trou et essaient de deviner ce qui devrait s'y trouver.
00:01:24Cela fonctionne pour un filigrane ou une personne immobile, mais cela s'effondre dès qu'il y a
00:01:29une interaction physique.
00:01:31Si vous retirez une fille préparant un smoothie, une IA normale effacera la personne,
00:01:36mais laissera le mixeur tourner et s'agiter sans aucune raison.
00:01:40Elle corrige l'apparence, mais ignore la physique des autres objets aux alentours.
00:01:46VOID est conçu pour résoudre ce problème d'interaction fantôme en réimaginant une réalité contrefactuelle.
00:01:53En gros, une version de la vidéo où cet objet ou cette personne n'a jamais existé au
00:01:57départ.
00:01:58Et la façon dont il y parvient est en fait assez astucieuse.
00:02:01Il ne commence pas simplement à peindre immédiatement.
00:02:03Au lieu de cela, il utilise un système à deux passages.
00:02:06Dans la première étape, il y a une phase de raisonnement.
00:02:08D'abord, VOID utilise un modèle de langage visuel et SAM2 (Segment Anything Model 2) pour analyser
00:02:15la scène.
00:02:16J'ai d'ailleurs fait une vidéo entière sur le fonctionnement de SAM2, allez la voir si ça vous intéresse.
00:02:22Pendant que SAM2 crée un suivi parfait de l'objet à supprimer, l'IA se pose
00:02:28la question : "Si je retire ceci, qu'est-ce qui change d'autre ?"
00:02:32Si vous retirez un domino d'une pile, l'IA identifie que les autres dominos sont affectés par
00:02:38causalité.
00:02:39Elle crée ensuite ce que les chercheurs appellent un "Quad Mask", une carte spécifique qui indique au
00:02:44modèle de diffusion non seulement où effacer, mais où réécrire la physique de la zone
00:02:50environnante.
00:02:51Ensuite, l'étape deux est la génération et l'affinage.
00:02:54Une fois cette carte générée, un modèle de diffusion vidéo produit les nouvelles images.
00:03:00Parfois, ces modèles peuvent être un peu flous, les objets peuvent se transformer ou perdre leur forme.
00:03:05Pour corriger cela, VOID propose un second passage optionnel.
00:03:08Il utilise ce qu'on appelle le "flow warp noise" pour fixer ces formes, s'assurant que
00:03:14si la physique change, les objets restants demeurent solides et cohérents.
00:03:19Mais vous vous demandez peut-être : comment apprendre à une IA ce qui ne s'est pas produit ?
00:03:23L'équipe de Netflix et Insight ne pouvait pas simplement filmer un accident de voiture puis l'annuler
00:03:28dans la réalité pour obtenir des données d'entraînement.
00:03:30À la place, ils ont utilisé des environnements synthétiques comme Kubrick.
00:03:34Ils ont lancé des milliers de simulations physiques avec une version avant et une version après.
00:03:40Une version avec collision et une version où l'objet n'a jamais été là.
00:03:44En montrant les deux versions à l'IA, elle a appris la relation entre la présence d'un objet et
00:03:49son impact sur l'environnement.
00:03:51Tout cela semble fascinant, mais testons concrètement cet outil nous-mêmes.
00:03:57La meilleure façon de le lancer serait d'utiliser un GPU cloud, comme un module RunPod tournant sur
00:04:02un GPU H100 ou équivalent.
00:04:05Mais je vous préviens d'emblée, l'installation n'est pas simple du tout.
00:04:10La documentation GitHub comporte beaucoup de lacunes et d'informations trompeuses.
00:04:14Pour que cela fonctionne correctement, il y a quelques points à surveiller.
00:04:18Par exemple, cette commande échouera probablement car ils n'ont jamais précisé qu'il faut
00:04:23le modèle SAM3 pour cette procédure.
00:04:25Et cette commande pourrait échouer car ils n'ont pas précisé que les quad masks doivent être
00:04:30nommés strictement quad_mask_0.mp4 pour fonctionner.
00:04:35Il y a donc beaucoup de petits problèmes de ce genre qui ne sont pas documentés.
00:04:38Leur démo Gradio est sympa si vous avez déjà un masque segmenté avec SAM2, mais ils
00:04:44ne fournissent pas l'interface graphique pour créer réellement ce masque.
00:04:48J'ai donc construit une application web personnalisée qui corrige tous ces problèmes et offre
00:04:54une interface prête à l'emploi qui gère l'étape de segmentation, l'étape d'inférence, et
00:05:00même le système à deux passages.
00:05:02Vous pouvez simplement uploader votre vidéo, segmenter le masque et générer le rendu final.
00:05:07Et c'est exactement ce que nous allons faire maintenant.
00:05:09D'abord, vous devez lancer une instance RunPod avec un gros GPU.
00:05:14Je vais utiliser un H100 pour ce test.
00:05:17Dans la section template, assurez-vous d'augmenter la taille du conteneur à 100 Go.
00:05:22Et dans la section des ports, ajoutez le port 8998 car c'est là que nous exposerons
00:05:27notre application web.
00:05:29Ensuite, il suffit de se connecter en SSH au pod, de cloner mon repo, d'y entrer et de lancer
00:05:36la commande run.sh.
00:05:38On vous demandera aussi un jeton Hugging Face pour télécharger les
00:05:42modèles ; assurez-vous également d'avoir accès au dépôt SAM3 car c'est un
00:05:48modèle dont l'accès est restreint et vous devez demander la permission de l'utiliser.
00:05:51Généralement, le processus est rapide et vous êtes approuvé en quelques minutes.
00:05:55Ensuite, vous aurez besoin d'une clé API Gemini car lors de l'étape de segmentation, le modèle
00:06:00utilise Gemini pour l'estimation de pose afin de générer un quad mask précis.
00:06:06Très bien.
00:06:07Si vous avez ces deux identifiants, laissez la commande run.sh tout installer.
00:06:13Une fois terminé, nous pouvons lancer l'application web avec la commande indiquée
00:06:18ici.
00:06:19Maintenant, sur la page RunPod, cliquez sur ce port pour ouvrir notre application
00:06:24web.
00:06:25Nous pouvons enfin commencer à tester le modèle.
00:06:28Pour mon premier test, j'utiliserai cette célèbre scène de Matrix et j'essaierai de retirer
00:06:32Neo de la scène pour voir ce qui se passe.
00:06:35La toute première chose à faire est de spécifier l'instruction de suppression.
00:06:41Ici, on peut mettre quelque chose comme : "retirer le combattant en kimono blanc de
00:06:45la scène".
00:06:46Ensuite, on passe à la section où l'on segmente quelques points autour de
00:06:51l'objet ou de la personne à retirer pour que le modèle SAM2 sache sur quelle forme se concentrer,
00:06:57puis on spécifie le dossier de sortie où seront stockés nos fichiers de résultats.
00:07:02Il faut retenir le nom de ce dossier car ce sera l'identifiant unique
00:07:06utilisé dans les autres onglets pour identifier la vidéo sur laquelle nous travaillons.
00:07:11Après cela, on passe au deuxième onglet pour lancer l'étape de segmentation et démarrer
00:07:16le processus.
00:07:17Une fois fini, on va sur l'onglet 3, l'étape d'inférence, où
00:07:22le modèle va réellement essayer de supprimer l'objet ou la personne souhaité.
00:07:26Ici, nous devons retaper le nom du dossier.
00:07:29Et spécifier un prompt décrivant à quoi devrait ressembler la vidéo sans
00:07:34l'objet ou la personne supprimé.
00:07:37Dans notre cas, ce serait : "un combattant en kimono sombre debout à l'intérieur
00:07:42d'un gymnase".
00:07:43Ils recommandent aussi de ne pas mentionner l'objet supprimé, mais de se concentrer sur
00:07:48ce qui doit rester dans la vidéo, puis de lancer l'inférence.
00:07:52Une fois terminé, nous pouvons aller dans l'onglet des résultats et voir notre vidéo finale.
00:07:58Encore une fois, il faut spécifier le dossier de la vidéo.
00:08:01Et voilà !
00:08:03Regardez ça.
00:08:04On dirait que Morpheus combat un fantôme.
00:08:07On voit quelques incohérences avec la suppression des mains et d'autres détails.
00:08:12Ce n'est pas parfait, mais il y a autre chose qu'on peut faire pour essayer d'améliorer ça.
00:08:18On peut la passer dans le filtre de second passage, l'onglet 4, pour tenter d'obtenir de meilleurs résultats.
00:08:24Après ce second passage, nous avons cette fenêtre supplémentaire montrant
00:08:29le résultat affiné.
00:08:32Encore une fois, c'est toujours un peu bizarre.
00:08:34On a toujours l'impression que Morpheus combat un fantôme ou qu'il danse.
00:08:39Comme vous le voyez, ça ne marche pas pour toutes les scènes.
00:08:42Certaines scènes resteront très étranges, mais il fait du bon travail pour retirer Neo
00:08:48complètement de la scène.
00:08:49Cela dit, essayons deux autres exemples amusants.
00:08:53Voici la célèbre scène de danse de La La Land.
00:08:56Ici, je vais essayer de retirer Emma Stone de la scène pour voir ce qui se passe.
00:09:01Wow, regardez ça.
00:09:03C'est presque parfait.
00:09:05On croirait vraiment que Ryan Gosling danse tout seul ici.
00:09:09Et voyez le moment où Emma Stone passe devant Ryan Gosling.
00:09:13Cette transition est presque invisible.
00:09:15On voit quelques petits artefacts, mais pour l'essentiel, wow, c'est un résultat époustouflant.
00:09:21De tous les tests que j'ai faits, celui-ci était le meilleur.
00:09:24Et curieusement, je pensais que ce serait l'exemple le plus difficile à traiter.
00:09:28Mais étonnamment, c'est celui qui a donné les meilleurs résultats.
00:09:33Très bien.
00:09:34Je veux tenter un dernier exemple.
00:09:35Pour celui-ci, je vais essayer de retirer Leonardo DiCaprio de la célèbre scène de Titanic et
00:09:41voir le résultat.
00:09:42Oh, wow, c'est assez triste.
00:09:48Pauvre Kate Winslet.
00:09:49Mon Dieu.
00:09:50Debout là, toute seule, sans Jack.
00:09:53C'est intéressant.
00:09:55On voit que ce modèle a fait un excellent travail pour retirer Leo de la scène.
00:09:59Même si l'on aperçoit des restes d'artefacts sur le bras de Kate Winslet.
00:10:03Et mon Dieu, c'est tellement effrayant.
00:10:06Il reste une main fantomatique qui tient le bras de Kate de l'autre côté.
00:10:10Oh non.
00:10:11Je ne peux plus l'ignorer maintenant.
00:10:14Honnêtement, c'est ma faute car je n'ai pas segmenté ces points spécifiques
00:10:19lors de l'étape de segmentation.
00:10:21C'est donc pour moi.
00:10:23On voit aussi que le visage de Kate Winslet se déforme un peu.
00:10:26Il y a un côté "vallée de l'étrange" indéniable ici.
00:10:30Globalement, je pense que cet outil fait ce qu'il annonce.
00:10:33Tout dépend de la vidéo spécifique et de sa nature.
00:10:37Évidemment, on ne peut pas forcer Morpheus à rester immobile dans cette scène.
00:10:41Mais si l'on regarde d'autres exemples sur leur page projet, ils sont absolument incroyables.
00:10:46Ce modèle a donc de solides capacités et avec plus d'entraînement,
00:10:51il pourrait devenir encore meilleur.
00:10:52Voilà donc les amis.
00:10:53C'est le modèle VOID en résumé.
00:10:55Honnêtement, j'ai eu beaucoup de plaisir à tester ça.
00:10:58Et comme c'est développé par Netflix, je suis curieux de savoir comment ils vont l'utiliser.
00:11:03Pourrait-il servir à modifier des narrations vidéo selon les choix des utilisateurs ?
00:11:04Un peu comme l'expérience interactive de type "choisissez votre aventure" que Netflix
00:11:09a ajoutée pour l'épisode Bandersnatch de Black Mirror ?
00:11:15Vous vous en souvenez ?
00:11:17Qui sait ?
00:11:18En tout cas, il sera très intéressant de voir comment l'usage de cet outil évolue à l'avenir.
00:11:19Et vous, que pensez-vous de ce framework ?
00:11:23Quels types d'applications seraient utiles pour cet outil ?
00:11:24Dites-nous ce que vous en pensez dans les commentaires ci-dessous.
00:11:27Et si vous aimez ce genre d'analyses techniques, faites-le moi savoir
00:11:30en cliquant sur le bouton j'aime sous la vidéo.
00:11:33N'oubliez pas non plus de vous abonner à notre chaîne.
00:11:37C'était Andres de Better Stack, et je vous retrouve dans les prochaines vidéos.

Key Takeaway

Le modèle VOID de Netflix surmonte les limites de l'inpainting traditionnel en utilisant le raisonnement causal et des données synthétiques pour supprimer des objets tout en réécrivant la physique de la scène environnante.

Highlights

  • Netflix lance VOID (Video Object and Interaction Deletion), un outil open source capable de supprimer des objets tout en corrigeant les conséquences physiques sur l'environnement.

  • L'outil utilise un système à deux passages combinant SAM2 pour la segmentation et un modèle de langage visuel pour raisonner sur la causalité.

  • L'IA a été entraînée sur des milliers de simulations physiques synthétiques via Kubrick pour apprendre la différence entre une scène avec collision et une scène sans objet.

  • L'exécution locale nécessite un GPU haute performance type H100 avec un stockage de conteneur de 100 Go et l'accès restreint au modèle SAM3.

  • L'étape de segmentation s'appuie sur l'API Gemini pour effectuer une estimation de pose et générer un Quad Mask précis.

  • Un filtre optionnel nommé flow warp noise stabilise les formes des objets restants pour éviter les flous ou les distorsions après la suppression.

Timeline

Limites de l'inpainting standard et introduction de VOID

  • Les outils d'effacement classiques se contentent de remplir les pixels sans comprendre les interactions physiques.
  • VOID traite le problème des interactions fantômes en créant une réalité contrefactuelle où l'objet n'a jamais existé.
  • La suppression d'un objet impacte directement le comportement des éléments restants comme des dominos ou un mixeur en mouvement.

L'effacement vidéo traditionnel repose sur les pixels environnants, ce qui laisse des anomalies physiques lorsqu'un objet en interaction est retiré. Si une boule de bowling disparaît au moment de l'impact, les quilles ne devraient pas tomber. VOID vise à corriger ces incohérences en comprenant la relation de cause à effet entre les objets d'une scène.

Fonctionnement technique du système à deux passages

  • La première phase utilise SAM2 et un modèle de langage visuel pour analyser les changements requis par la suppression.
  • Le Quad Mask sert de carte directive pour indiquer au modèle de diffusion où réécrire la physique.
  • Le second passage utilise le flow warp noise pour garantir la cohérence temporelle et la solidité des objets restants.

Le processus commence par une phase de raisonnement qui identifie les zones affectées par la causalité. Par exemple, retirer un domino nécessite de recalculer la trajectoire des suivants. Une fois le Quad Mask généré, un modèle de diffusion produit les images, tandis qu'un affinement optionnel corrige les éventuelles déformations ou flous structurels.

Entraînement par simulations synthétiques

  • L'absence de données réelles pour des événements annulés a nécessité l'usage d'environnements synthétiques.
  • Le framework Kubrick a généré des milliers de paires de vidéos montrant des scènes avec et sans collisions.
  • L'IA apprend la relation entre la présence d'un objet et son impact environnemental par comparaison directe.

Il est impossible de filmer physiquement le retrait d'un accident de voiture après qu'il a eu lieu pour obtenir des données d'entraînement. Les chercheurs ont donc utilisé des simulations numériques pour montrer à l'IA deux versions d'une même scène. Cette méthode permet au modèle d'assimiler comment l'environnement se comporte quand un objet physique disparaît de l'équation.

Configuration matérielle et déploiement logiciel

  • Le déploiement optimal nécessite un GPU cloud comme le NVIDIA H100 via RunPod.
  • L'installation requiert des autorisations spécifiques pour le dépôt SAM3 sur Hugging Face.
  • Une clé API Gemini est indispensable pour l'estimation de pose durant la segmentation.

L'installation technique présente plusieurs défis car la documentation GitHub initiale contient des lacunes sur le nommage des fichiers et les dépendances. L'utilisation d'une interface personnalisée permet de lier SAM2 pour la segmentation et Gemini pour la précision du masque. Le système demande également un espace disque conséquent de 100 Go pour gérer les modèles et les fichiers temporaires.

Tests pratiques sur des scènes de films cultes

  • La suppression d'Emma Stone dans La La Land produit un résultat quasi invisible malgré la complexité de la danse.
  • Le retrait de Neo dans Matrix crée des incohérences visuelles dues aux mouvements de combat rapides de Morpheus.
  • La scène du Titanic révèle des limites avec l'apparition de membres fantômes si la segmentation initiale est incomplète.

Les tests sur Matrix montrent que le modèle peine encore avec les interactions de contact très rapprochées, donnant l'impression que l'acteur restant combat un fantôme. En revanche, le résultat sur La La Land est impressionnant par sa fluidité lors des croisements entre les personnages. Sur Titanic, des artefacts apparaissent sur le bras du personnage restant, soulignant l'importance d'une segmentation précise point par point au début du processus.

Community Posts

View all posts