Aujourd'hui, je vous recommande cette chaîne YouTube : Two Minutes Paper, tenue par Károly Zsolnai-Fehér, chercheur autrichien à l'université technique de Vienne. Le concept est simple. En une courte vidéo (généralement cinq ou six minutes), Károly présente le contenu d'un article de recherche récent. La chaîne est très productive, et couvre des sujets assez divers autour de l'informatique et de l'image (avec des exceptions bien sûr !). Le contenu est clair et orienté sur des démonstrations visuelles, très attrayant pour les amateurs de contenu scientifique.

Bande-annonce de la chaîne Two Minutes Paper. Cette vidéo est disponible avec les sous-titres en français !

Seul bémol : les vidéos ne sont disponibles qu'en anglais, ne sont que rarement sous-titrées en anglais, et encore plus rarement en français. L'expression est tout de même claire et le narrateur parle doucement : cela peut être un bon exercice pour les aspirants bilingues. Mais si vous ne souhaitez pas vous embêter avec cela, et désirez tout de même goûter à ce contenu, voici un exemple de vidéo traduite et arrangée pour cet article.

Des Pixels de bois

Contexte

Une tâche aujourd'hui assez maîtrisée par les ordinateurs est le transfert de style. On prend une image comme référence du style voulu, par exemple un tableau de Vincent van Gogh. On prend une seconde image, par exemple simple photo d'une voiture. Et à l'aide d'un algorithme d'intelligence artificielle, on produit une copie de la photo, utilisant le style graphique demandé. Voyez plutôt cette illustration pour bien comprendre :

Illustration du transfert de style
Illustration du principe de transfert de style. Image : Towards Data Science.

Beaucoup de styles différents peuvent être appliqués pour transformer la photo de départ. Parmi eux, il y a les motifs de bois, pour donner l'impression que la photo a été gravée dans du bois. L'article présenté dans la vidéo propose d'aller encore plus loin : le résultat final ne doit pas être une photo numérique mais une œuvre physique, en bois. Pour faire cela, le processus est le suivant :

  1. On sélectionne l'image de départ, qui va être la cible à reconstituer.
  2. On récupère une planche de bois, qui servira comme matériau de base.
  3. On la prend en photo.
  4. À l'aide d'un algorithme, l'ordinateur détecte dans cette photo les bouts de bois à extraire de cette planche pour constituer le tableau final, en sélectionnant les morceaux représentant au mieux l'image cible.
  5. À l'aide d'une machine de découpe numérique, on découpe les morceaux sélectionnés dans la planche.
  6. On assembles tous les morceaux comme dans un puzzle, pour former l'image finale.

Réprésentation schématique du processus de fabrication de l'œuvre finale. Vidéo : illustration de l'article

Le Problème

Les étapes 1, 2 et 3 sont très simples. L'étape 5 est aujourd'hui assez facile car les machines à commandes numériques sont facilement utilisables (c'est le cas par exemple à l'Atelier !). L'étape 6 est un peu pénible car il faut la faire à la main, mais reste abordable. L'étape cruciale est la quatrième : comment sélectionner les bons morceaux de bois de la planche pour reconstituer l'image.

Illustration de l'étape 4 : des morceaux de la planche (droite) sont sélectionnés pour recréer l'image source (gauche). Vidéo : Siggraph 2020 (lien vers la vidéo complète).

Cette étape doit résoudre deux problèmes majeurs :

  1. Comment choisir un morceau de bois pour qu'il ressemble au bout d'image que l'on souhaite représenter
  2. Comment bien organiser ce processus pour que l'ensemble de l'image soit correct (car une fois qu'un morceau est utilisé, on ne peut plus l'utiliser une seconde fois, c'est le problème de la matière concrète !)

La Solution

Le problème étant divisé en deux sous-problèmes, la solution est également divisée en deux parties.

1. Utiliser la texture du bois pour redessiner l'image

Le premier objectif est d'établir une correspondance entre le bois et l'image, de façon assez formelle pour être exploitable par un ordinateur. Concrètement, il faut pouvoir répondre avec un nombre à la question « Est-ce que cette zone du bois ressemble à cette zone de l'image ? ».

Une première approche consiste à utiliser la couleur. Si la zone de l'image est plutôt rougeâtre, on va essayer de faire correspondre une zone de la planche également rougeâtre. Si la zone de l'image est plutôt noire, on va essayer de prendre une zone de la planche également noire. Mais si la zone de l'image est plutôt bleue, ou verte, et bien, c'est compliqué. En fait, les couleurs du bois ne sont pas assez diverses pour pouvoir représenter toutes les couleurs trouvables dans des images en général.

Ainsi, les chercheurs se sont penchés vers une autre solution : considérer l'image directement en noir et blanc (de même pour la photo de la planche), et essayer de faire correspondre la texture du bois à la texture de l'image. C'est-à-dire que l'on va utiliser l'intensité générale (plutôt blanc ou noir, clair ou foncé) et les nervures (qui forment des lignes) du bois pour recréer l'image. Par exemple, pour représenter un angle dans l'image, on va chercher un bout de la planche où une nervure dessine un coude dans le bois.

2. Prioriser la construction de certaines zones de l'image

On considère désormais disposer d'une méthode pour choisir un morceau de bois représentant une partie de l'image. Le problème, c'est qu'après avoir découpé ce morceau pour le poser à sa place finale, on ne peut plus l'utiliser. La ressource matérielle est finie, il faut l'utiliser avec parcimonie sinon nous allons manquer des bonnes pièces pour finir le puzzle.

Les chercheurs ont pour cela incorporé deux heuristiques (règles rusées, imparfaites mais suffisantes pour que ça fonctionne) à leur algorithme :

  1. Commencer par le centre. C'est généralement au centre de l'image que l'attention se porte. Avoir un rendu du centre de meilleur qualité est donc plus important que de donner de l'importance au reste de l'image.
  2. Donner le priorité aux éléments marquants. C'est une version améliorée de la première règle. Un algorithme commence par détecter les zones importantes de l'image (les yeux, les contours, les détails, etc.). Ces zones sont ensuite prioritaire pour l'attribution des morceaux de bois, pour un rendu final plus propre sur ces parties.

Voici ce que ces règles peuvent donner :

Illustration de la priorisation de zone
Intensité de l'intérêt porté à chaque zone de l'image (le rouge marque l'importance). À gauche, on donne la priorité au centre. À droite, on donne la priorité aux parties importantes de l'image. Image : illustration de l'article

Amélioration finale : ajustement du tracé

Ceci fait, chaque zone de l'image se voit attribuer un morceau de bois, petit à petit. Une fois l'ensemble terminé, un dernier algorithme vient améliorer le rendu en déformant les pièces du puzzle afin de suivre les lignes directrices de l'image originale, souvent les contours. Cela renforce beaucoup le tracé et donne l'impression de netteté au rendu.

Ajustement du tracé aux lignes d'un œil
Ajustement du tracé aux lignes d'un œil. Image : illustration de l'article

Voilà, le plan de découpe est prêt. Il ne reste plus que la fabrication.

Le Résultat

La planche de bois est découpée grâce à une machine à commande numérique. Les morceaux de bois sont assemblés et collés ensembles. Et voici le résultat :

Portrait en bois d'Alan Turing (2019)
Portrait d'Alan Turing.

Les auteurs de l'article ont également publié une gallerie de leurs créations. Les résultats sont magnifiques !

En Conclusion

Cette chaîne propose un contenu de qualité, d'ordinaire difficilement accessible aux non-initiés. Les articles présentés sont récents et donnent un aperçu de ce qu'il se passe actuellement dans le monde de la recherche en informatique. De quoi émerveiller, intruire et provoquer la curiosité !

Article précédent Article suivant