View  Edit  Attributes  History  Attach  Print  Search

ACCUEIL | ARDUINO > S'INSTALLER > DEBUTER > APPROFONDIR | PROCESSING | MECATRONIQUE | MATERIEL | OUTILS | TESTS | Plus...|
Python > Shell > ATELIERS Python + Qt > PyQt apps > PyQt+Arduino | Mes Robots | RepRap | Mes lib'Arduino | Mes shields Arduino | Mes distros | Les Mini-PC |
ATELIERS ARDUINO| VIDEOS | COMPRENDRE | REFERENCES | CODER | TECHNIQUE | GNU/LINUX | LIENS | Rien à voir |

Introduction à ARToolkit

ARToolkit

1.  ARToolkit, c'est quoi ?

  • ARToolkit, pour "Augmented Reality Tool kit" ou "boite à outils pour la réalité augmentée" est une technique basée sur la détection et la reconnaissance de "marker" ou "pattern" dans une image vidéo permettant :
    • la reconnaissance du marker correspondant (plus de 4000 markers différents possibles, carrés noir et blanc diversement "remplis" à la façon d'un damier,
    • l'extraction des informations 3D du marker, notamment de la transformation de perspective
    • permettant de remplacer dans l'image vidéo le marker par un objet 3D qui pourra ainsi "suivre" les mouvements du marker.
  • ARToolkit est une librairie qui permet de mettre en oeuvre simplement de la réalité augmentée en se basant sur la reconnaissance visuelle de « marker » qui sont des « carrés » avec un sigle composé de carrés noirs/ blancs...
  • Cette librairie fournit les fonctions de détection des « marker » dans une image, le calcul de la perspective correspondante, l'analyse du marker.
  • Ensuite, dans Processing notamment, on peut associer chaque « marker » à tel ou tel objet 3D ou autre..

Intérêt

2.  Pourquoi c'est intéressant ?

  • La technique utilisée comporte une solution de seuillage de binarisation automatique qui s'adapte à la luminosité ambiante automatique ce qui rend la mise en oeuvre simple dans des conditions d'éclairage différentes.
  • La technique apparaît très robuste en détection y compris avec des seuils de confiance élevés (càd un niveau de probabilité de correspondance élevé, de l'ordre 80% par exemple)
  • La reconnaissance est indépendante de la perspective et de la rotation. La reconnaissance est bonne (pour ne pas dire excellente) à des distance de l'ordre de 4m pour une taille de marqueur de 15x15 environ
  • La reconnaissance est également tolérante à la déformation du marker
  • L'utilisation de la CPU est très modeste et la reconnaissance très fluide et rapide permettant une réactivité en temps réel très fluide.
  • Après quelques tests, j'estime cette technique très intéressante et performante :
    • la détection des markers est robuste, indépendemment de la luminosité
    • la reconnaissance du type de marker est très discriminante (parmi 10 markers différents, le taux de détection exacte est de l'ordre de 90 à 100% !)
    • la récupération des informations 3D du marker est relativement aisée
    • et surtout, la reconnaissance des markers sur un flux vidéo webcam en temps réel est très fluide et rapide, permettant d'atteindre les 30 fps sans problème !

3.  Pour quoi faire ?

  • Les applications potentielles sont :
    • des applications de réalité augmentée, ce pour quoi la technique a été imaginée
    • mais surtout, en ce qui me concerne, pour une utilisation en robotique permettant d'envisager :
      • des détections avancées de personnes
      • des détections de murs, portes, etc.. avec virtualisation de l'espace 3D associé, le tout en temps réel

4.  Etat des lieux de l'existant

5.  Comment çà marche ?

6.  ARToolkit sous Processing = la librairie nyar4psg !