projets

Réalisations

Antenne virtuelle – CEA Grenoble

Dans le cadre de son showroom, nous avons réalisé pour le CEA Grenoble le projet « Antenne virtuelle ». Ce dispositif consiste en un écran tactile, une caméra et la maquette d’une antenne. Lorsque l’utilisateur manipule la maquette dans le champ de vue de la caméra, l’image de celle-ci se trouve « augmentée » d’éléments virtuels venant illustrer et expliquer son fonctionnement.

Fonctionnement

L’application affiche à l’écran l’image de la caméra HD, ainsi qu’un menu tactile. Des marqueurs sont fixés en divers endroits de la maquette. Chaque marqueur correspond à un numéro unique encodé en un motif noir et blanc, à la façon d’un code-barres. Lorsque l’application détecte la présence d’un ou plusieurs marqueurs dans l’image de la caméra, celle-ci les analyse et en déduit la position et l’orientation de la maquette. Cette position est suivie en temps réel par le logiciel qui va afficher à l’écran différents éléments virtuels en surimpression sur l’image de la maquette, selon l’élément actif dans le menu. Le logiciel disposant d’une modélisation 3D de la maquette elle-même, certains effets visuels tels que le respect de l’occlusion sont possibles lors de l’incrustation des éléments virtuels. Ainsi, l’application permet d’illustrer le fonctionnement de l’antenne, notamment en affichant une animation des ondes électromagnétiques la parcourant, ou encore en permettant de visualiser diverses données scientifiques.

    • Client : CEA Grenoble
    • Projet : Antenne virtuelle
    • Dates : Exposition permanente au Showroom du CEA depuis Janvier 2012
    • Expertise : Réalité augmentée, C#, WPF, OpenCV, interface tactile, haute définition


    Voir une démonstration de l’installation

Réalisation technique

L’application est entièrement développée en C#. Le framework WPF est utilisé pour l’interface utilisateur, et notre propre framework est employé pour l’affichage 3D ainsi que les diverses étapes de traitement d’image nécessaire à la détection des marqueurs ainsi que leur suivi, par le biais d’OpenCV (via OpenCVSharp). Pour réaliser ce processus de tracking, l’application effectue un seuillage de l’image pour ensuite démarrer une analyse de contours. Tous les contours en forme de quadrilatère et de taille raisonnable sont sélectionnés. Leur contenu est alors converti en un « bitmap » puis décodé. L’application parcourt ensuite un dictionnaire de codes qui lui permet de déterminer si un quadrilatère correspond bien à un marqueur connu. Le logiciel utilise ensuite les coordonnées des coins de chaque marqueur pour calculer la transformation de la maquette dans l’image, qui est « lissée » dans le temps à l’aide d’un filtre de Kalman. Enfin, cette transformation est utilisée pour le rendu d’une scène 3D animée.

Gallerie d'images