1 / 29

Projet de fin d tudes D veloppement d une plate-forme vid o interactive

Plan. 1. Pr

Download Presentation

Projet de fin d tudes D veloppement d une plate-forme vid o interactive

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


    1. Projet de fin d’études Développement d’une plate-forme vidéo interactive Laboratoire des Images et des Signaux – LIS Groupe GOTA Sous la direction de Mme Alice Caplier et M. Laurent Bonnaud

    3. Plan 1. Présentation du projet et du contexte 2. Présentation de la plate-forme 3. Présentation des étapes de développement 4. Le travail réalisé 5. Limitations, Conclusions et perspectives

    4. 1. Présentation du projet et du contexte Le LIS – Groupe GOTA: analyse et interprétation des signaux et des images Le réseau européen d’excellence SIMILAR: interactions multimodales Le projet ArtLive: 01/2000 – 05/2002 Réalisation d’espaces en réalité mixte: réalité virtuelle et réalité augmentée Modules écrits en C++ - Classes Point de départ du projet Utilisation des classes «ArtLiveYUVImage» et «ArtLiveDisplay»

    5. Plan 1. Présentation du projet et du contexte 2. Présentation de la plate-forme 3. Présentation des étapes de développement 4. Le travail réalisé 5. Limitations, Conclusions et perspectives

    6. 2. Présentation de la plate-forme

    7. 2. Présentation de la plate-forme Le temps réel: Notion dépendante de l’application Au sein de la plate-forme: Cas idéal:Temps-réel ? traitement des images à la volée (30 images/s) Cadence minimum: 15 images/s Latence: durée entre début et fin de traitement

    8. 2. Présentation de la plate-forme Les caméras: SONY, DFW-VL 500 Caméra IIDC – IEEE 1394 -1995 30 images/s ? vidéo fluide Données non compressées Résolutions: 640x480 ou 320x240 La tourelle: Directed Perception Inc, PTU-D46-70 Connectée par câble série RS-232 Poids maximum: 4,08 Kg Résolution: 0,0129°

    9. 2. Présentation de la plate-forme Les applications souhaitées: Analyse du comportement global d’un sujet humain Les mouvements de la tête et des mains Analyse des expressions du visage Un exemple: « le suivi de regard » Détection d’un sujet humain Localisation de son visage Détection des iris et suivi de regard

    10. Plan 1. Présentation du projet et du contexte 2. Présentation de la plate-forme 3. Présentation des étapes de développement 4. Le travail réalisé 5. Limitations, Conclusions et perspectives

    11. 3. Les étapes de développement Les outils: Le contrôle des caméras et l’acquisition des images Le contrôle de la tourelle Interface utilisateur et optimisation Les utilisations: L’analyse vidéo L’asservissement visuel

    12. Plan 1. Présentation du projet et du contexte 2. Présentation de la plate-forme 3. Présentation des étapes de développement 4. Le travail réalisé 5. Limitations, Conclusions et perspectives

    13. Plan 4.Le travail réalisé 4.1 Acquisition des images et contrôle des caméras 4.2 Contrôle de la tourelle Pan & Tilt 4.3 Analyse vidéo 4.3.1 Détection de têtes et de mains 4.3.2 Détection d’iris 4.3.3 Détection automatique de visage 4.4 Asservissement visuel 4.5 Interface utilisateur et optimisation

    14. Plan 4.Le travail réalisé 4.1 Acquisition des images et contrôle des caméras 4.2 Contrôle de la tourelle Pan & Tilt 4.3 Analyse vidéo 4.3.1 Détection de têtes et de mains 4.3.2 Détection d’iris 4.3.3 Détection automatique de visage 4.4 Asservissement visuel 4.5 Interface utilisateur et optimisation

    15. 4.1 Acquisition et contrôle des caméras Sous Linux, contrôle des caméras IIDC via les librairies C «libdc1394» et «libraw1394»

    16. 4.1 Acquisition et contrôle des caméras La conversion de format Effet miroir Le programme d’acquisition GrabYUVSequence: 1 ou 2 caméra(s) Sauvegarde possible des séquences au format YUV 4:2:0 Réglages des paramètres d’acquisition et positionnement de la tourelle

    17. Consommations des ressources CPU pour l’acquisition des images Consommations négligeables Limitations: Capacité limite du bus: impossible d’acquérir simultanément avec 2 caméras en résolution 640x480 YUV 4:2:2 Latence à l’affichage lors d’une acquisition avec 2 caméras: ˜10 images

    18. Plan 4.Le travail réalisé 4.1 Acquisition des images et contrôle des caméras 4.2 Contrôle de la tourelle Pan & Tilt 4.3 Analyse vidéo 4.3.1 Détection de têtes et de mains 4.3.2 Détection d’iris 4.3.3 Détection automatique de visage 4.4 Asservissement visuel 4.5 Interface utilisateur et optimisation

    19. 4.2 Le contrôle de la tourelle Pan et Tilt Contrôle de la tourelle via une librairie dynamique « libPTU.so » générée à partir des méthodes fournies avec la tourelle. Utilisation de la librairie au travers d’une classe C++: « PTU » Finalement:

    20. Plan 4.Le travail réalisé 4.1 Acquisition des images et contrôle des caméras 4.2 Contrôle de la tourelle Pan & Tilt 4.3 Analyse vidéo 4.3.1 Détection de têtes et de mains 4.3.2 Détection d’iris 4.3.3 Détection automatique de visage 4.4 Asservissement visuel 4.5 Interface utilisateur et optimisation

    21. 4.3.1 Analyse vidéo: détection de têtes et de mains Objectif : Détection de têtes et de mains Principe: Adaptation d’un programme existant

    22. 4.3.1 Analyse vidéo: détection de têtes et de mains Permettre le traitement direct des séquences acquises par les caméras Permettre l’affichage des images résultats Permettre les réglages temps réel des paramètres de traitements

    23. 4.3.1 Analyse vidéo: détection de têtes et de mains Cadences de traitements – sans optimisation: 3 images/s pour une résolution de 640x480 15 images/s pour une résolution 320x240

    24. Plan 4.Le travail réalisé 4.1 Acquisition des images et contrôle des caméras 4.2 Contrôle de la tourelle Pan & Tilt 4.3 Analyse vidéo 4.3.1 Détection de têtes et de mains 4.3.2 Détection d’iris 4.3.3 Détection automatique de visage 4.4 Asservissement visuel 4.5 Interface utilisateur et optimisation

    25. 4.3.2 Analyse vidéo: détection d’iris Objectif:Détecter les iris dans un visage Principe: une phase d’initialisation Sélection de la zone du visage Mesure du diamètre de l’iris Une phase de suivi de visage par block-matching puis détection des iris

    26. 4.3.2 Analyse vidéo: détection d’iris La phase d’initialisation:

    27. 4.3.2 Analyse vidéo: détection d’iris La phase de suivi et de détection: Centre de l’iris détecté lorsque : est maximum Cette recherche est limitée a 2 zones englobant chaque œil:

    28. 4.3.2 Analyse vidéo: détection d’iris class IRIS_DETECTION { public: // Méthode de mesure du diamètre de l’iris int measure_diameter(ArtLiveYUVImage& image); // Méthodes de recherche des iris COORD left_iris_detection(ArtLiveYUVImage& image, BLOCK zone); COORD right_iris_detection(ArtLiveYUVImage& image, BLOCK zone); // Méthodes de détection œil ouvert/fermé bool open_left_eye(ArtLiveYUVImage& image,COORD iris); bool open_right_eye(ArtLiveYUVImage& image,COORD iris); private: int diameter; // Paramètres de détection œil ouvert/fermé float NGF0_right,NGF0_left,NGFt_right,NGFt_left; float NQL0_left; float NQL0_right; };

    29. 4.3.2 Analyse vidéo: détection d’iris Les résultats: Cadence de détection d’iris acceptable Cadence de suivi trop faible Limitations: Cadences de suivi de 0,5 à 30 images/s => besoin d’une méthode rapide de détection de visage. La distance entre le visage et la caméra doit rester quasi-constante : pas d’adaptation de la taille du visage et de l’iris.

    30. Plan 4.Le travail réalisé 4.1 Acquisition des images et contrôle des caméras 4.2 Contrôle de la tourelle Pan & Tilt 4.3 Analyse vidéo 4.3.1 Détection de têtes et de mains 4.3.2 Détection d’iris 4.3.3 Détection automatique de visage 4.4 Asservissement visuel 4.5 Interface utilisateur et optimisation

    31. 4.3.3 Détection automatique de visage Obtenir une méthode rapide de détection de visage Adaptation sous forme d’une classe C++ «FACE_DETECTION » d’un algorithme existant: Le visage est modélisé par une ellipse Segmentation : teinte chair Recherche de la meilleure ellipse

    32. 4.3.3 Détection automatique de visage class FACE_DETECTION { public: //destructeur // Libération des zone mémoires allouées ~FACE_DETECTION(); // Méthode d’initialisation // 'w' et 'h' sont les dimensions de l’image traitée void init_face_detection(int w,int h); // Méthode de détection d’un visage // Retourne un pointeur vers les coordonnées du rectangle résultat // pCoordRect[0] : Xmin; pCoordRectAff[2] : Xmax; // pCoordRect[1] : Ymin; pCoordRectAff[3] : Ymax; int * face_detection(ArtLiveYUVImage& image); // Méthode pour dessiner sur l’image le rectangle résultat void draw_face_box(ArtLiveYUVImage& image,int color1,int color2); private: int * pCoordRect; Des pointeurs vers int, *int , **int,…};

    33. 4.3.3 Détection automatique de visage Les résultats: Cadence: supérieure à 90 images/s Limitations: La largeur des visages est limitée: 40 pixels à 100 pixels de large Instabilité

    34. 4.3.3 Détection automatique de visage Détection de visage et d’iris: 15 à 40 images/s La cadence est limitée par la recherche des iris Erreurs de détection

    35. Plan 4.Le travail réalisé 4.1 Acquisition des images et contrôle des caméras 4.2 Contrôle de la tourelle Pan & Tilt 4.3 Analyse vidéo 4.3.1 Détection de têtes et de mains 4.3.2 Détection d’iris 4.3.3 Détection automatique de visage 4.4 Asservissement visuel 4.5 Interface utilisateur et optimisation

    36. 4.4 Asservissement visuel La poursuite d’un objet en Pan et Tilt Le principe: Rendre nulle l’erreur: e = s – s* Travaux: Cretual Armel La loi de commande: Or notre tourelle n’est pas contrôlable directement en vitesse Réglage de vitesse puis ordre de déplacement vers la butée

    37. 4.4 Asservissement visuel La normalisation des coordonnées: Si y constante, alors:

    38. 4.4 Asservissement visuel Les résultats: La rapidité et la qualité de la convergence dépend d’un compromis entre gain et cadence de traitement Des dépassements de position peuvent survenir: 25 images/s : ? < 3 15 images/s :? < 2 5 images /s : ? <1

    39. 4.4 Asservissement visuel Un exemple de recentrage: (? = 1)

    40. Plan 4.Le travail réalisé 4.1 Acquisition des images et contrôle des caméras 4.2 Contrôle de la tourelle Pan & Tilt 4.3 Analyse vidéo 4.3.1 Détection de têtes et de mains 4.3.2 Détection d’iris 4.3.3 Détection automatique de visage 4.4 Asservissement visuel 4.5 Interface utilisateur et optimisation

    41. 4.5 Interfaces utilisateur et optimisations Créer une interface simple et interactive pour une utilisation intuitive: Librairie Simple Directmedia Layer (SDL) pour l’affichage et la gestion des événements clavier et souris Affichage d’une ou deux images et des zones interactives Réglages et positionnement de la tourelle et des caméras grâce au clavier et/ou la souris Sélection de zones sur une image, mesure de distance…

    42. 4.5 Interfaces utilisateur et optimisations Optimisation: utilisation de threads

    43. Plan 1. Présentation du projet et du contexte 2. Présentation de la plate-forme 3. Présentation des étapes de développement 4. Le travail réalisé 5. Limitations, Conclusions et perspectives

    44. 5. Limitations, conclusions et perspectives Limitation: Blocage noyau bi-processeur lors d’un arrêt d’acquisition par ‘Control-C’ Conclusions: Outils de base testés et validés Outils d’analyse: détection visage, mains, iris Asservissement visuel: suivi d’un objet d’intérêt Perspectives: Optimisation des cadences Stabilisation de la détection automatique de visage Asservissement du zoom et du focus Intégration de nouveaux algorithmes

More Related