Une dimension supplémentaire

L’Enfer de Dante Alighieri: nouvelle conversion 3D d’une illustration de Gustave Doré

Gravure extraite de La Divine Comédie de Dante Alighieri: l’Enfer, chant premier:

« Au milieu du chemin de notre vie, je me trouvais dans une forêt obscure, car j’avais perdu la bonne voie. Hélas! que c’est chose rude à dire, combien était sauvage, et âpre et épaisse, cette forêt, dont le souvenir renouvelle ma frayeur! Elle est si amère, que la mort l’est à peine davantage »…

 

 

[anaglyphe]

 

[couple stéréoscopique croisé]

Une profondeur interprétée: Conversion 3D de « Destiny » de John William Waterhouse

Destiny-CoupleCroise-980p2Couple stéréoscopique croisé.
A propos des « curiosités »,  pas uniquement spatiales, de cette peinture, un lien vers une page à lire: « Mirrors that reflect the feminine vision in Destiny and other Waterhouse paintings » – Maya Taylor ’08, English and History of Art 151, Brown University, 2006: http://www.victorianweb.org/painting/jww/paintings/taylor12.html

Automatic Photo Pop-up

Nous ne devons pas exclusivement à notre vision binoculaire, la perception de la troisième dimension. Un certain nombre d’éléments présents dans une photographie nous permettent d’appréhender la profondeur de la scène qui a été capturée. La taille relative des éléments, l’occlusion de certains d’entre eux par d’autres, les éclairages et les effets de perspective, le gradient des textures, etc… sont autant de sources d’informations que nous sommes en mesure d’interpréter. Les images animées peuvent apporter des informations supplémentaires qui enrichiront notre perception.
Mais si le cerveau humain est capable de « comprendre » la profondeur d’une scène par une simple observation de sa projection sur une surface plane, un « déchiffrement » artificiel de cette même image ne pourrait-il pas également en être capable, et permettre une reconstruction tri-dimensionnelle de cette scène de manière totalement automatique ? Des travaux, portant sur cette problématique, ont amené des chercheurs à développer des algorithmes que certaines applications, disponibles par internet, permettent d’expérimenter.

Automatic photo pop-up ( http://www.cs.uiuc.edu/homes/dhoiem/projects/popup/index.html ) est une application que nous devons à Derek Hoiem (Carnegie Mellon University). Le nom « photopopup » fait allusion aux livres en relief pour enfants. Et ce programme de conversion est en effet tout particulièrement adapté aux scènes caractérisées par la présence d’un plan horizontal supportant des éléments en élévation. Des exécutables sont proposés au téléchargement en deux versions : l’une pour Linux et l’autre pour Windows.
La photographie qui suit, capturée à Venise, nous a semblé toute indiquée pour tenter cette conversion.

 

Stereovision01-1

 

Photo pop-up s’éxécute sur une image qui aura été préalablement segmentée. Pour ce traitement, l’auteur exploite l’implémentation en C++ de l’algorithme décrit par Pedro F. Felzenszwalb et Daniel P. Huttenlocher dans le document « Efficient Graph-Based Image Segmentation » (http://cs.brown.edu/~pff/papers/seg-ijcv.pdf). L’image suivante présente notre photographie après un traitement de ce type.

Stereovision02-2

 

L’exécutable photopopup, lancé en lignes de commande, va ensuite interpréter l’image segmentée et créer un fichier wrl qui aura pour texture l’image originale. Le couple stéréoscopique croisé qui figure ci-dessous a été obtenu par deux captures de la scène wrl, visionnée à l’aide du browser XJ3D.

Stereovision02-3a3b

 

Les images suivantes sont extraites de captures d’écran. Elles présentent différentes vues de la scène sous la forme d’anaglyphes qui sont directement produits par BS Contact VRML/X3D ( Configuration > Stereo > Red/Blue ).

Stereovision02-4

 

 

Stereovision02-6

Stereovision02-5

 

Comme on peut le constater, la conversion 2D/3D de notre photographie à l’aide d’Automatic photo pop-up donne d’excellents résultats! Il me semble utile de rappeler qu’elle a été effectuée sans aucune assistance.

Troisième conversion 2D/3D

Dans certaines conditions, des cartes de profondeur peuvent être produites par de simples traitements graphiques appliqués directement sur les images à convertir. Le travail de conversion en est alors considérablement simplifié ! Cette technique est capable de produire des images en relief d’une très grande finesse comme on pourra le constater.
Cette page présente des conversions d’images fractales produites par Apophysis, un générateur (sous licence GPL) spécialisé dans les Systèmes de Fonctions Itérées (les IFS). Des exécutables Windows sont téléchargeables à l’adresse suivante : http://sourceforge.net/projects/apophysis/.
Les images générées par le logiciel sont rarement prévisibles et encore moins les effets stéréoscopiques obtenus avec elles. Mais c’est un vrai plaisir que de lancer des tracés, jouer avec les différents scripts et variations et s’émerveiller devant certains résultats.

L’image ci-dessous présente Apophysis en action avec chargement du script pbKaleidoscope_Batch.asc

Conv3-CopieEcran

 

Le principe est de produire une conversion 2D/3D à partir de 2 versions différentes d’une même fractale. La première capture est une production « naturelle » d’Apophysis. La deuxième image, destinée a être utilisée comme carte de profondeur, est une conversion en noir et blanc de l’image originale. Quelques ajustements peuvent être opérés sur les paramètres des images des cartes pour améliorer l’effet de relief. On pourra jouer par exemple sur les valeurs Gamma et Brightess (View > Adjust > Rendering).
Les 2 images qui suivent, présentent côte à côte l’image sur laquelle sera appliqué le relief et la carte de profondeur qui lui est associée. Cette deuxième image a été convertie en noir et blanc par Gimp : Couleurs > Desaturer … puis Image > Mode > niveaux de gris.

Conv3-Imag1-1b

La technique de conversion utilisée ici est la même que celle des pages précédentes : Gimp : Filtres > Carte > Déplacer selon une carte …. Le résultat du filtage est présenté ci-dessous.

Conv3-Imag2

 

Les images suivantes présentent, sous la forme d’un couple croisé ainsi que d’un anaglyphe, des montages stéréoscopiques produits avec l’image originale et l’image filtrée.

Conv3-Croise1

Conv3-Anaglyphe1

Les puristes émettront probablement quelques objections sur la méthode employée jusqu’à présent. En particulier sur le fait que l’image à convertir soit, elle-même, l’une des 2 images du couple stéréoscopique. La conséquence en est un léger décentrement du point de vue, plus visible sur ce type d’image que sur les précédentes. En théorie, ce sont bien 2 images nouvelles et non une seule qui devraient être produites à partir de l’image de référence, cette dernière présentant une vue que l’on pourrait qualifier de « cyclopéenne » de la scène. La réalisation d’images plus « conformes » ne pose guère plus de difficultés avec cette technique, si ce n’est qu’elle exige du travail supplémentaire ! ;(… Pour ce faire, un déplacement « négatif » et un déplacement « positif » doivent être produits avec l’outil de filtrage de Gimp. Ce double traitement a été mis en oeuvre pour l’exemple suivant. La première image est l’image originale produite par Apophysis.

Conv3-Fract2

Conv3-Croise2b

Conv3-Anaglyphe2

Seconde conversion 2D/3D

Cette deuxième conversion, qui porte sur une image pourtant très simple dans sa composition, nous a amené à mettre en oeuvre de nouvelles techniques, complémentaires à celles déjà employées dans le premier exemple.
La photographie a été prise à Venise. La posture de cette mendiante, à genoux sur les pavés, immobile en plein milieu d’un passage, était totalement anachronique dans cette cité.

2D3D2-1

 

La conversion de l’image a nécessité 2 traitements différenciés : l’un pour le sol pavé et l’autre pour le personnage. La femme a été détourée puis extraite de son environnement.
La carte de profondeur réalisée pour le pavage est des plus simples : L’image se résume à un dégradé linéaire.
2D3D2-24
Le traitement de cette partie d’image s’est effectué de la même manière que l’exemple précédent par la fonction : Filtres > Cartes > Déplacer selon une carte. Mais l’effet de profondeur recherché pour cette scène est important, et, dans les paramètres du filtrage, c’est une valeur de 100,00 qui a été utilisée pour deplt X. L’image suivante présente le résultat du filtrage.

2D3D2-6
A la suite du traitement, on remarquera quelques défauts apparents sur les côtés de l’image, la fonction s’étant, dans notre cas, mal acquitée d’une tentative de reconstruction de surface.
De manière naturelle, d’autres parties de l’image seront également à reprendre. En effet, certaines zones que la mendiante occultait dans l’image originale, vont devenir apparentes dans la deuxième vue que nous synthétisons. Il suffit, pour s’en convaincre de tenter de repositionner, à ce stade, notre personnage. Dans le couple croisé suivant, l’image de gauche est celle qui a été obtenue après filtrage tandis que l’originale est placée à droite. On pourra, en fusionnant les 2 images, positionner latéralement le personnage de manière que son implantation dans la profondeur de l’image soit cohérente.

2D3D2-78b

L’ajustement du personnage met en évidence des zones sans texture que nous allons être amenés à combler.
Pour reconstituer le pavage autour du personnage ainsi que sur les côtés de l’image, nous n’avons pas, dans ce cas, fait appel à un outil de reconstruction de surfaces, mais, très simplement, utilisé l’outil tampon de Gimp. Cette technique donne ici d’excellents résultats comme le montre l’image suivante. Les parties recouvertes sont, à ce stade de retouche de l’image, pratiquement suffisantes.

2D3D2-10

 

Le traitement du personnage a été opéré de manière habituelle. Un calque transparent, utilisé pour la peinture de sa carte de profondeur, est ajouté au premier calque. Les images suivantes présentent ces 2 calques.2D3D2-f2f3

Là encore, c’est la fonction de Gimp : Filtres > Cartes > Déplacer selon une carte, qui a permis de générer l’image du personnage qui, ensuite, a été superposée à celle du pavage. Une valeur plus réduite de déplacement en X a été employée pour obtenir une épaisseur crédible au personnage de la mendiante.

Les images suivantes présentent, de la même manière que la page précédente, le résultat obtenu sous 2 formes : un couple stéréoscopique croisé ainsi qu’un anaglyphe pour lequel certaines couleurs mal adaptées ont été modifiées.2D3D2-crossed

2D3D2-ana