1 points par GN⁺ 2023-12-01 | 1 commentaires | Partager sur WhatsApp
  • Génération zéro-shot, avec des modèles de diffusion préentraînés, d’illusions d’optique à points de vue multiples où une image unique apparaît comme un autre objet après une transformation comme une rotation, un retournement ou une inversion des couleurs
  • Le principe consiste à estimer le bruit depuis plusieurs points de vue transformés, à réaligner les systèmes de coordonnées par transformation inverse, puis à poursuivre l’étape de diffusion suivante avec le bruit moyen
  • Les transformations prises en charge sont nombreuses : rotation, retournement, inversion des couleurs, inclinaison, réagencement en puzzle, permutation aléatoire de patchs, et même trois points de vue ou plus
  • La fonction de transformation doit être inversible ; pour être compatible avec l’hypothèse de bruit des modèles de diffusion, il faut une linéarité et une cohérence statistique du bruit gaussien standard
  • Les permutations de pixels satisfaisant la condition de matrice orthogonale et l’inversion des couleurs correspondent bien aux conditions théoriques et sont faciles à exploiter, mais plus le nombre de points de vue augmente, plus il devient difficile d’obtenir une bonne illusion

Des images dont l’identité change après transformation

  • Visual Anagrams génère des illusions d’optique à points de vue multiples dans lesquelles une image unique semble changer d’apparence ou d’identité après une transformation donnée
  • Il s’agit d’une approche zéro-shot qui utilise des modèles de diffusion prêts à l’emploi, sans entraînement supplémentaire
  • Les exemples de transformations sont variés
    • Réagencement en puzzle : lorsqu’on découpe l’image en pièces puis qu’on les réagence, elle prend une autre apparence, à la manière d’un puzzle ayant plusieurs solutions
    • Retournement et rotation à 180° : l’apparence change quand on retourne l’image ou qu’on la fait pivoter de 180°
    • Rotation à 90° : l’image est perçue différemment lorsqu’elle est tournée de 90°
    • Inversion des couleurs : l’image change quand les couleurs sont inversées
    • Inclinaison et « inner circle rotations » : incluses parmi les autres exemples de transformations
    • Permutation aléatoire de patchs : les patchs sont réagencés ; en augmentant jusqu’à (64 \times 64) patchs, la qualité baisse, mais le résultat reste reconnaissable
  • Il est possible de créer des illusions à trois points de vue, et pas seulement à deux, mais obtenir de bons résultats est plus difficile
  • Les illusions à quatre points de vue se sont révélées très difficiles à faire fonctionner, et un seul résultat à peu près correct a été trouvé

Procédure de génération et conditions théoriques

  • L’idée centrale est de fusionner en un seul bruit les estimations de bruit produites par le modèle de diffusion depuis plusieurs points de vue transformés
    • Estimer le bruit à chaque point de vue (v_i)
    • Appliquer la transformation inverse (v_i^{-1}) aux estimations pour les replacer dans le même système de coordonnées
    • Faire la moyenne des estimations de bruit alignées
    • Effectuer l’étape de diffusion avec l’estimation moyenne du bruit
  • Toutes les fonctions de point de vue ne conviennent pas à cette méthode ; (v_i) doit d’abord être inversible
  • Le modèle de diffusion traite les données bruitées (\mathbf{x}_t) comme une combinaison pondérée du signal pur (\mathbf{x}_0) et du bruit (\epsilon)
    • Pour que la transformation (v) conserve la relation pondérée entre signal et bruit, elle doit être une transformation linéaire
    • Une transformation linéaire se représente par une matrice (\mathbf{A})
  • Le modèle de diffusion est entraîné avec l’hypothèse que le bruit provient d’une loi normale standard indépendante et identiquement distribuée
    • Le bruit transformé doit lui aussi satisfaire (\mathbf{A}\epsilon \sim \mathcal{N}(0, I))
    • Dans le cas d’une transformation linéaire, cette condition est équivalente au fait que (\mathbf{A}) soit une matrice orthogonale
    • Une condition suffisante pour que la transformation fonctionne avec cette méthode est donc qu’elle soit orthogonale
  • La plupart des transformations orthogonales arbitraires n’ont pas de signification visuelle pour une image, mais les matrices de permutation sont un sous-ensemble des matrices orthogonales et peuvent s’interpréter comme des réagencements de pixels
    • Les rotations, retournements, inclinaisons, inner rotations, réagencements en puzzle et permutations de patchs peuvent être vus comme des réagencements particuliers de pixels
    • L’inversion des couleurs n’est pas une permutation, mais comme elle change le signe des valeurs de pixels, elle correspond à une transformation orthogonale

Article et ressources d’exécution

  • Paper : PDF de l’article CVPR 2024
  • arXiv : page arXiv
  • Code : code de Visual Anagrams
  • Colab : Colab d’exécution
  • Diffusion Illusions : génère des illusions à points de vue multiples et d’autres effets visuels avec du score distillation sampling
  • Illusion-Diffusion Colab : Colab de Matthew Tancik reposant sur une idée similaire ; Visual Anagrams améliore la qualité des illusions, l’étendue des transformations et l’analyse théorique
  • Factorized Diffusion : travail ultérieur à Visual Anagrams, qui génère plusieurs types d’illusions hybrides
  • Images that Sound : génère, avec une technique similaire, des spectrogrammes qui ressemblent à des images

1 commentaires

 
GN⁺ 2023-12-01
Avis sur Hacker News
  • J’aime vraiment beaucoup l’inversion homme/femme.
    Je me demande, en étendant la même technique, combien de permutations lisibles on pourrait créer dans une seule image. Je ne suis pas très fort en maths, mais est-ce que ça marche parce qu’appliquer deux transformations orthogonales à la suite donne toujours une transformation orthogonale ?

    • L’exemple homme/femme m’a aussi marqué, et je pense l’avoir regardé une dizaine de fois. Peut-être parce qu’il a quelque chose de mélancolique
    • La mosaïque canard/lapin m’a vraiment fait rire
    • Si par « transformation orthogonale » on entend la transformation/matrice linéaire orthogonale habituelle, alors oui, c’est bien ça
  • J’avais eu une idée similaire au début de l’an dernier et j’avais aussi un peu expérimenté une approche en damier.
    Ici, il y a un chat composé de 9 images de chats dans le style de peintres célèbres : https://twitter.com/marekgibney/status/1521500594577584141
    Il faudra peut-être plisser un peu les yeux pour le voir. J’en ai fait quelques-uns, puis j’ai fini par perdre un peu l’intérêt, sans trop savoir pourquoi

    • Honnêtement, à mes yeux, ça ressemble plus à un cat-aclysm qu’à un chat. Le modèle a sans doute été submergé par des exigences contradictoires, si bien que ni les images individuelles ni l’image composite ne sont vraiment réussies. Mais comme tu le dis, un jour ce genre de chose pourra peut-être être mieux maîtrisé
    • Vraiment cool. Est-ce qu’un 3x3x3 serait possible ? Autrement dit, dans un 9x9, avoir 81 chats d’une case, 9 chats de 9 cases et 1 chat de 81 cases
  • L’exemple d’inversion des couleurs homme/femme est celui qui m’a le plus impressionné. Pour une rotation, on peut tourner l’image mentalement et voir l’autre point de vue, mais l’inversion des couleurs est très difficile à faire dans sa tête

    • Impressionnant. Je laisse le lien pour ceux que ça intéresse. La page contient beaucoup d’images
      https://dangeng.github.io/visual_anagrams/static/videos/grid...
    • Pour moi, c’est l’inverse. L’inversion des couleurs ne me paraît pas beaucoup plus impressionnante que les animations de morphing populaires dans les années 1990. Je comprends à quel point l’inversion des couleurs est simple au niveau des données de pixels, mais cette simplicité ne se voit pas à l’œil nu. Ça ne me semble pas très différent d’un alpha blending sans rapport.
      En revanche, la rotation est vraiment stupéfiante. On voit parfaitement que les pixels ne changent pas. Si l’on tourne physiquement l’écran, l’image « change ». J’ai du mal à imaginer une meilleure démonstration du fait qu’une image produite par un modèle de diffusion n’est pas seulement l’écho d’images existantes. Bien sûr, il y a aussi de cela, mais fondamentalement c’est la solution au problème « trouver un ensemble de pixels correspondant à la description {prompt} ». Ici, il s’agit de trouver des « pixels qui correspondent à {A} dans cette orientation, et à {B} dans l’autre »
    • Quand je vois l’homme, je peux trouver la femme en cherchant, mais curieusement l’inverse ne marche pas
  • Cette technique et ces résultats sont distincts des images ControlNet “en spirale” devenues célèbres il y a quelques mois : https://arstechnica.com/information-technology/2023/09/dream...
    Côté code, c’est basé sur DeepFloyd-IF, ce qui n’est pas aussi facile à exécuter que les variantes de Stable Diffusion

    • Je n’ai pas encore regardé en détail, mais cette idée devrait pouvoir s’appliquer aussi à d’autres réseaux de diffusion, non ? Il faudra peut-être toutefois modifier assez lourdement le code fourni. Qu’on me corrige si je me trompe, bien sûr
    • J’ai toujours trouvé étrange que cette idée ait émergé précisément avec ce modèle ControlNet. En combinant les mêmes images avec beaucoup d’autres modèles ControlNet, on obtient aussi des résultats excellents et percutants.
      L’écosystème autour de Stable Diffusion est vraiment gigantesque dans l’ensemble
    • Je ne l’ai pas vu, qu’est-ce qui l’avait rendu si célèbre/controversé ?
    • Tu ne voulais pas plutôt dire que c’est lié ? Les images originales « en spirale » d’Ugleh sont explicitement créditées dans la section « Related Links »
  • Peut-on acheter des puzzles physiques comme ceux présentés ici ?

    • On peut aussi les fabriquer soi-même. En revanche, je ne sais pas à quel point la méthode ci-dessus s’adapte bien quand on l’agrandit beaucoup https://www.createjigsawpuzzles.com/
    • Cette recherche utilise DeepFloyd IF, dont l’usage commercial est interdit. Pour en vendre, il faudrait trouver ou entraîner un autre générateur d’images approprié
  • Chacun des exemples donne un peu l’impression de dire : « oui... bon, pourquoi pas... dans une certaine mesure ».
    Pingouin/girafe est probablement le meilleur, et vieille dame/robe ne ressemble quasiment ni à l’un ni à l’autre

    • Ces deux-là reposent sur des ambigrammes déjà connus.
      Pingouin/girafe est très proche de celui-ci : https://www.pinterest.com/pin/giraffepenguin--13398215764267...
      L’autre s’en inspire directement, ou s’en rapproche, mais le prompt « young lady » semble avoir poussé le modèle à choisir une robe. Et il est impossible de rendre l’œil et l’oreille, ou la bouche et le ras-du-cou, complètement identiques de façon photoréaliste : https://www.reddit.com/r/RedditDayOf/comments/35cjn5/the_cla...
    • Hmm, pour pingouin/girafe, la première fois que je l’ai vu, je me suis dit : « on dirait un pingouin à l’envers, mais elle est où la girafe ? ». Pour les autres, j’ai tout de suite vu ce qui était visé
  • Le canard/lapin réarrangeable serait vraiment génial dans un puzzle coulissant. Il y aurait deux solutions valides

    • Il faudrait vérifier, mais si l’on peut échanger une paire de « tenon et trou » avec une autre paire, alors les deux paires doivent être identiques en forme comme en couleur. Mais si, au lieu d’être échangées, elles se séparent et s’attachent à d’autres bords, cela crée des connexions supplémentaires.
      Si l’on considère les bords comme des nœuds d’un graphe orienté connecté de tenons et de trous, les paires possibles se retrouvent connectées. Un échange forme un groupe de deux paires, tandis qu’une connexion supplémentaire forme une chaîne de quatre éléments ouverte aux deux extrémités. Si cette connexion mène à davantage de paires, on peut obtenir un groupe plus vaste de tenons et de trous identiques. D’après les propriétés du graphe, c’est probablement ce qui se produira dans la plupart des cas. Pour la raison, voir le paradoxe des prisonniers [0].
      Résultat : la plupart des tenons s’inséreraient dans la plupart des trous, ce qui rendrait le puzzle bien plus difficile à résoudre.
      [0] L’excellente vidéo de Matt Parker https://www.youtube.com/watch?v=a1DUUnhk3uE vaut le détour, mais je recommande encore plus la discussion qui suit avec Derek de Veritasium
    • Avec autant d’éléments réarrangeables, on pourrait créer énormément de solutions « valides » impossibles à distinguer sans photo, donc ce serait plus de l’art qu’un puzzle
  • Ce serait sympa de créer des images qui apparaissent différemment sous un éclairage rouge/bleu

  • L’explosion de créativité apportée par l’IA générative est vraiment stupéfiante