Plongez dans vos photos avec l'IA !
Avez-vous déjà imaginé pouvoir prendre une photo et y plonger comme s'il s'agissait d'une porte vers un autre monde ?
Eh bien, que vous y ayez pensé ou non, certaines personnes l'ont fait, et grâce à elles, c'est désormais possible avec l'IA ! Ce n'est qu'à une étape de la téléportation et de pouvoir être là physiquement. Peut-être qu'un jour l'IA aidera à cela et résoudra également un problème réel ! Je plaisante, c'est vraiment cool, et je suis content que certaines personnes travaillent sur ce genre d’applications.
C'est InfiniteNature… Zéro ! Le modèle s'appelle ainsi, car il s'agit d'un suivi d'un article que j'ai précédemment couvert et intitulé InfiniteNature. Quelle est la différence? Qualité! Regardez ça (vidéo ci-bas et plus en fin d’article). C'est tellement mieux, et cela en une seule année!
C'est incroyable! Vous pouvez réellement avoir l'impression de plonger dans l'image, et cela ne nécessite qu'une seule image d'entrée.
À quel point cela est cool?! La seule chose encore plus cool, c'est comment ça marche… Plongeons-y ! *voir plus de résultats dans la vidéo en fin d’article !*
Tout commence avec une seule image que vous envoyez en entrée. Oui, une seule image. Le modèle ne nécessite pas de vidéos ou de vues multiples, ou quoi que ce soit d'autre. C’est est différent de leur article précédent que j'ai également couvert où ils avaient besoin de vidéos pour aider le modèle à comprendre les scènes naturelles pendant la formation, c'est aussi pourquoi ils ont appelé ce modèle "InfiniteNature-Zero", car il ne nécessite “zéro” vidéo. Ici, leur travail est divisé en trois méthodes utilisées lors de la formation afin d'obtenir ces résultats…
Pour commencer, le modèle échantillonne au hasard deux trajectoires de caméra virtuelles, qui vous indiqueront où vous allez dans l'image.
Présentation de l'approche. Image tirée du papier.
Pourquoi deux ? Étant donné que la première (en haut à droite de l’image ci-dessus) est nécessaire pour générer une nouvelle vue, vous indiquant où voler dans l'image pour générer une deuxième image, il s'agit de la trajectoire réelle que vous emprunterez.
La deuxième trajectoire virtuelle (en bas à gauche de l’image ci-dessus) est utilisée pendant la formation pour plonger et revenir à l'image d'origine pour apprendre au modèle à apprendre le raffinement de la vue sensible à la géométrie lors de la génération de la vue, de manière auto-supervisée, comme nous lui apprenons à revenir à une image que nous avons dans notre jeu de données d'entraînement. Ils appellent cette approche une trajectoire de caméra virtuelle cyclique, car les vues de début et de fin sont les mêmes : notre image d'entraînement d'entrée. Cela fonctionne en accédant à un point de vue échantillonné virtuel ou factice et en revenant ensuite à la vue d'origine, juste pour enseigner la partie reconstruction au modèle à l’aide d’images existantes que nous avons accès. Les points de vue sont échantillonnés à l'aide d'un algorithme appelé algorithme de pilote automatique pour trouver le ciel et ne pas sauter dans les rochers ou le sol, car personne ne voudrait le faire.
De gauche à droite : image d'entrée ; entrée rendue dans une vue "précédente" virtuelle ; retour au point de vue de départ. Image et légende du papier.
Ensuite, lors de l'apprentissage, nous utilisons une approche de type GAN utilisant un discriminateur pour mesurer à quel point la nouvelle vue générée ressemble à une image réelle, représentée par L_adv. Alors oui, les GAN ne sont pas encore morts ! C'est une application très intéressante pour guider la formation lorsque vous n'avez aucune “ground truth” (données annotées pour la tâche actuelle), par exemple, lorsque vous n'avez pas d'images infinies dans ce cas. Plus précisémment, ils utilisent un autre modèle, un discriminateur, formé sur notre ensemble de données d'entraînement qui peut dire si une image semble en faire partie ou non. Donc, en fonction de sa réponse, vous pouvez améliorer la génération pour qu'elle ressemble à une image de votre ensemble de données, qui est censée être réaliste !
Nous mesurons également la différence entre notre image initiale régénérée et celle d'origine pour aider le modèle à mieux la reconstruire itérativement, représentée par L_rec.
Et nous répétons simplement ce processus plusieurs fois pour générer nos nouvelles images et créer ce genre de vidéos infinies!
Il y a une dernière chose à peaufiner avant d'obtenir ces résultats étonnants. Ils ont vu qu'avec leur algorithme le ciel, du fait de sa nature infinie par rapport au sol, change trop rapidement. Pour résoudre ce problème, ils utilisent un autre modèle de segmentation pour trouver le ciel automatiquement dans les images générées et le corrigent en utilisant un mélange intelligent entre le ciel généré et le ciel de notre image initiale afin qu'il ne change pas trop rapidement et de manière irréaliste. Un autre indice nous montrant que l’IA n’est pas réellement intelligente et demande beaucoup de peaufinement!
Après une formation avec ce processus en 2 étapes et le raffinement du ciel, InfiniteNature-Zero vous permet d'avoir des trajectoires stables à longue portée pour les scènes naturelles, ainsi que de générer avec précision de nouvelles vues géométriquement cohérentes.
Et voilà ! C'est ainsi que vous pouvez prendre une photo et plonger dedans comme si vous étiez un oiseau ! Je vous invite à lire leur article pour plus de détails sur leur méthode et leur mise en œuvre, notamment sur la manière dont ils ont réussi à former leur modèle aussi intelligemment, ayant omis certains détails techniques permettant cela pour plus de simplicité.
Au fait, le code est disponible et lié ci-dessous si vous souhaitez l'essayer ! Faites-moi savoir si vous le faites et envoyez-moi les résultats! J'aimerais vraiment les voir!
Merci d'avoir lu et j'espère que vous avez apprécié cet article. Je vous verrai la semaine prochaine avec un autre article incroyable!
Video (en anglais) avec plus de résultats:
References
►Li, Z., Wang, Q., Snavely, N. and Kanazawa, A., 2022. InfiniteNature-Zero: Learning Perpetual View Generation of Natural Scenes from Single Images. In European Conference on Computer Vision (pp. 515–534). Springer, Cham, https://arxiv.org/abs/2207.11148
►Code: https://infinite-nature-zero.github.io/
►Ma Newsletter (anglais): https://www.louisbouchard.ai/newsletter/