Si vous n'avez pas vu les recherches de rendu brûlant du crâne de Kevin Karsch, Regarde ça, attendons… Maintenant que ton cerveau est carbonisé et s'effrite comme autant de pop corn brûlé, tu comprends bien pourquoi, après avoir vu cette vidéo, on obtenez la vérité de Kevin lui-même. Alors… nous l'avons bandé les yeux fermés, l'avons fait tourner, l'avons drogué, l'avons emballé dans un conteneur d'expédition et l'avons envoyé au siège de SolidSmack pour interrogatoire (ce n'est pas vrai). Bien que la modélisation basée sur l'image ne soit pas inconnue, Kevin et son équipe abordent de nouvelles façons d'insérer des objets 3D dans des scènes 2D, et comme l'explique Kevin, les images ne sont qu'un début.

Créer une scène

Kévin Karsch est actuellement doctorant à l'Université de l'Illinois et présentera la recherche en décembre à SIGGRAPH ASIE 2011. Comme le dit l'abstrait, c'est "une méthode pour insérer de manière réaliste des objets synthétiques dans des photographies existantes sans nécessiter l'accès à la scène ou à des mesures de scène supplémentaires." Alors que certains pourraient limiter cela à une simple retouche photo, la technologie et les possibilités s'étendent bien au-delà.

SolidSmack : Quel est votre parcours et comment avez-vous commencé à écrire des logiciels graphiques ?

Kevin Karsch : Je pense avoir écrit mon premier programme de graphisme dans un cours de lycée ; c'était une variante embarrassante et simple de Pong :). Ce cours m'a en fait conduit à poursuivre des études en informatique et en développement de jeux vidéo pour mon diplôme de premier cycle à l'Université du Missouri, où j'ai commencé à faire des recherches en graphisme et vision par ordinateur (c'est-à-dire extraire des connaissances de haut niveau à partir d'images et/ou de vidéos) recherche. Aujourd'hui, je suis doctorant à l'Université de l'Illinois et je travaille avec le professeur David Forsyth et le professeur Derek Hoiem, et mes recherches portent sur un mélange de graphisme et de vision.

SS : Qu'est-ce qui vous a intéressé en premier dans la possibilité de rendre l'objet directement en photographies 2D ?

KK : Le concept de pouvoir interagir avec une image de la même manière que vous le feriez avec la scène physique était très excitant pour nous. Beaucoup d'applications se présentent si cela est possible; non seulement en insérant des objets, mais en supprimant des objets existants, en modifiant les propriétés des matériaux, en ajustant les lumières, etc. Nous avons décidé d'attaquer le problème d'insertion en premier.

Les gens sont assez bons pour déterminer la composition physique d'une scène en regardant simplement une image, mais effectuer ces modifications peut être extrêmement difficile et fastidieux avec les outils actuels. Notre objectif était de permettre aux utilisateurs de le faire rapidement et intuitivement, ce que nous avons pu réaliser en rassemblant de nombreux algorithmes de recherche de pointe (certains des nôtres et d'autres existants).

SS : Pouvez-vous expliquer une partie de la technologie derrière le processus en termes simples ?

KK : Afin d'insérer un modèle 3D dans l'image, nous avons besoin d'une représentation 3D de la scène, y compris la géométrie, les lumières, les propriétés des matériaux et les paramètres de la caméra (distance focale, position de la caméra, etc.). L'utilisateur fournit des connaissances de haut niveau, telles que les limites de la scène et l'emplacement des sources lumineuses par marquage dans l'image. Avec ces informations, nous pouvons alors calculer automatiquement un modèle approximatif de la scène. La géométrie et les paramètres de la caméra sont calculés à l'aide d'une technique permettant d'obtenir une structure 3D à partir de points 2D d'une image ; c'est ce qu'on appelle communément la métrologie à vue unique (voir le Article de l'IJCV par Criminsi et al.). À l'aide de la géométrie et de la caméra, nous choisissons (grâce à une optimisation numérique) les meilleurs paramètres de matériau et positions de source lumineuse afin que l'image rendue de notre scène 3D reconstruite corresponde au mieux à l'image d'origine. Il y a aussi quelques détails pour traiter les puits de lumière et les limites d'objets obstruant, et nous sommes en mesure d'estimer des modèles pour ceux-ci également après une petite quantité de balisage utilisateur.

SS : A article sur la modélisation basée sur l'image et l'édition de photos a été publiée en 2001 et utilise également l'idée d'une seule photo comme entrée. En quoi votre recherche diffère-t-elle et quand l'application sera-t-elle appliquée directement au logiciel de rendu 3D ?

KK : L'article référencé offre un grand ensemble d'outils pour obtenir des modèles de géométrie relativement précis à partir de certaines annotations de l'utilisateur, et montre également comment déterminer les propriétés des matériaux telles que la réflectance à l'aide de la géométrie. Notre article utilise en fait une technique très similaire pour estimer les propriétés des matériaux, mais nous avons besoin d'un modèle de géométrie beaucoup moins détaillé, et donc beaucoup moins d'annotations. La principale différence est que nous estimons également les paramètres de la caméra et les informations d'éclairage, ce qui est essentiel pour insérer des objets synthétiques. Nous avons constaté que des modèles géométriques simples sont suffisants pour la plupart des insertions, car les défauts ne surviennent que lorsque des objets insérés interagissent avec une géométrie qui a été mal modélisée (et il a été mentionné dans la littérature psychophysique que les gens ne sont pas très doués pour les comprendre. incohérences). Cependant, la suite d'outils présentée dans cet article compléterait merveilleusement notre technique si l'on avait besoin d'une géométrie plus précise, peut-être pour des simulations physiques.

Nous aimerions voir cette technologie intégrée dans les logiciels de modélisation et de rendu 3D dès que possible. Nous travaillons avec notre université pour que cela se produise.

SS : Dans la bataille du rendu CPU contre GPU, les algorithmes d'éclairage global complexes deviennent encore plus complexes lors de l'ajout de l'estimation de l'éclairage et des objets physiques. Au fur et à mesure que la technologie de rendu progresse, le matériel évoluera-t-il davantage vers le traitement multithread ou le processeur graphique ?

KK : Pour moi, du point de vue de la recherche, cela dépend vraiment de la pente de la courbe d'apprentissage du parallélisme sur les processeurs et GPU à venir. À l'heure actuelle, il semble que les processeurs gagnent cette bataille, et je pense que c'est pourquoi la majorité des logiciels de rendu sont aujourd'hui écrits pour les processeurs. Compte tenu de cette tendance, il semble que le traitement multithread dominera au cours des prochaines années. Cependant, cela pourrait changer si l'écriture de code et le débogage sur les GPU peuvent être effectués avec la même simplicité que sur les CPU. Une troisième solution qui peut également survenir est le matériel spécialisé (un mélange de ce qui existe aujourd'hui) qui est conçu spécifiquement pour le rendu.

SS : Une prochaine étape évidente consiste à extraire et à rendre automatiquement la géométrie 2D dans un environnement de lancer de rayons en temps réel. Voyez-vous cela se produire et quels sont les défis qui doivent être résolus pour y parvenir ?

KK : Je suis d'accord ; cela aurait de grandes ramifications pour la réalité augmentée et un certain nombre d'autres applications ! J'imagine que cela deviendra une réalité dans quelques années, mais de nombreuses technologies doivent évoluer et se rejoindre. Je pense que maintenant que les caméras de profondeur sont largement accessibles (par exemple la Kinect de Microsoft), ce n'est qu'une question de temps avant qu'il soit possible d'inférer automatiquement les sources lumineuses et les matériaux, puis la profondeur/géométrie vient gratuitement de la Kinect. Le plus grand défi peut être de rendre le système en temps réel, ce qui nécessiterait probablement des améliorations d'efficacité dans les étapes d'estimation et de rendu, et probablement du matériel plus rapide également.

SS : Au fur et à mesure que vous développez une technologie fondamentale comme celle-ci, vous découvrirez forcément des choses auxquelles vous ne vous attendiez pas en cours de route. Il existe des cas d'utilisation très clairement définis pour cette technologie, comme indiqué dans votre vidéo, mais y a-t-il des applications moins évidentes que vous avez rencontrées en cours de route ? Des résultats auxquels vous ne vous attendiez pas, mais qui se sont avérés utiles ?

KK : Une application intéressante dont nous avons entendu parler est l'utilisation de cette technologie pour insérer des objets dans des photos historiques à des fins éducatives. Nous avons également constaté qu'il peut être utile pour créer rapidement des toiles de fond pour les publicités et potentiellement permettre aux films à petit budget de rivaliser avec les sociétés d'effets haut de gamme. Nous avons également eu beaucoup de questions concernant notre technique pour les vidéos (plutôt que l'imagerie fixe), qui semble avoir des applications dans l'immobilier, la conception architecturale et la décoration intérieure, entre autres.

Nous préparons actuellement une vidéo de démonstration de faisabilité montrant une simple extension de notre technique qui permet d'insérer des objets avec précision dans des vidéos ne nécessitant aucune entrée supplémentaire de la part de l'utilisateur, nous pourrons donc peut-être voir ces applications plus tôt que nous avons réalisé. Nous avons un tas d'idées pour de futures recherches, et j'espère que ce travail encouragera d'autres groupes à explorer également de nouvelles idées sur ce sujet !

-

Un grand merci à Kevin d'avoir discuté de ses recherches avec nous. Si vous souhaitez en savoir plus, vous pouvez visiter le page du projet avec un résumé et une publication qui expliquent plus en détail l'insertion d'objets dans des scènes et la manière dont cela se fait.

Auteur

Josh est fondateur et éditeur de SolidSmack.com, fondateur d'Aimsift Inc. et co-fondateur d'EvD Media. Il est impliqué dans l'ingénierie, la conception, la visualisation, la technologie qui la rend possible et le contenu développé autour de celle-ci. Il est un professionnel certifié SolidWorks et excelle à tomber maladroitement.