1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Luận văn thạc sĩ VNU acquisition du geste humain par vision artificielle en temps réel

47 0 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 47
Dung lượng 426,77 KB

Cấu trúc

  • Equation 1: Transformation de l’espace de couleurs (RVB – HSV) (0)
  • Equation 2 Opérations ensemblistes (0)
  • Equation 3: Taux non-recouvrement (0)
  • Equation 4 Valeurs de couleurs considérables (0)
  • Equation 5: Calcul de cardinal des ensembles pour taux non-recouvrement (0)
  • Equation 6: Initialisation du simplexe (0)
    • 1.1 Problématique (9)
    • 1.2 Laboratoire d’accueil (10)
      • 1.2.1 Généralités (10)
      • 1.2.2 Départements, unités et laboratoires (10)
      • 1.2.3 Département EPH (11)
      • 1.2.4 Equipe Intermedia (12)
    • 1.3 Aperỗus du mộmoire (15)
  • Chapitre 2: Approche pour l’acquisition du geste humain par vision artificielle (0)
    • 2.1 Etat de l’art (16)
    • 2.2 Vision monoscopique et recalage d’un modèle 3D articulé (17)
    • 2.3 Problèmes du système antérieur (19)
  • Chapitre 3: Mise en œuvre temps réel (0)
    • 3.1 Modélisation du corps humain 3D (20)
      • 3.1.1 Présentation du modèle standard : H-ANIM (21)
      • 3.1.2 Conception du modèle humain 3D du système (22)
      • 3.1.3 Mise en œuvre (24)
    • 3.2 Traitement d’images (26)
      • 3.2.1 Etat de l’art (26)
      • 3.2.2 Identification des classes de couleur dans une image (27)
      • 3.2.3 Elimination du bruit (28)
      • 3.2.4 Combinaison des images classifiées (29)
      • 3.2.5 Mise en œuvre (30)
    • 3.3 Comparaison entre le modèle 3D et l’image segmentée (31)
      • 3.3.1 Ajustement du modèle 3D sur l’image segmentée (31)
      • 3.3.2 Evaluation du recalage (32)
    • 3.4 Conversion des paramètres au format MPEG-4/BAP (34)
    • 3.5 Architecture du système et transaction entre des modules (35)
  • Chapitre 4: Résultats obtenus (0)
  • Chapitre 5: Conclusion et perspectives (0)
    • 5.1 Conclusion (38)
    • 5.2 Perspectives (38)
    • 6.1 Construction d’un simplexe initial (42)
    • 6.2 Transformations contraintes du simplexe (43)

Nội dung

Initialisation du simplexe

Problématique

Les gestes sont un moyen naturel et nécessaire de la communication humaine [1]

Dans la vie quotidienne, ils viennent ponctuer ou renforcer l’expression orale entre personnes Un geste peut être décrit comme une séquence de postures, le mouvement effectué durant le geste ne porte pas généralement en lui-même une signification

L’acquisition et la poursuite des gestes nous permettent donc d’animer des acteurs virtuels, de les utiliser dans une interface homme-machine ou, à long terme de reconnaợtre la langue des signes [3] Par exemple, le geste dans la figure 1 montrent le mot ô Bon ằ dans la langue des signes

Figure 1: Geste du mot ô Bon ằ en langue des singes

Le but de mon stage est l’acquisition en temps réel des gestes réalisés devant une caméra ou bien dans une séquence d’images enregistrées Il s’agit d’un mouvement de la moitié supérieure du corps humain comprenant le buste, la tête, les bras, les avant- bras et les mains Ce mouvement est représenté par des paramètres du modèle articulé correspondant aux degrés des articulations (rotation et translation) L’acquisition des gestes dans ce contexte signifie l’identification du positionnement spatial de chaque partie [4]

Les paramètres acquis pour chaque mouvement sont actuellement convertis au format MPEG-4/BAP Ils sont soit enregistrés dans un fichier de type bap, soit diffusés en réseau pour être utilisés en entrée d’autres applications.

Laboratoire d’accueil

Dans le cadre de mon stage de fin d’études, j’ai eu l’occasion de travailler dans les laboratoires de l’INT et plus précisément au sein de l’équipe Intermédia du département EPH Je voudrais aborder ci-dessous une présentation générale de l’INT, de ses départements, et aussi des centres de recherche de l’équipe

L’Institut National des Télécommunications associe étroitement des compétences scientifiques et managériales Cette double compétence fait de l’Institut un acteur majeur dans le domaine des sciences et technologies de l’information et de la communication (STIC) et, particulièrement, de l’Internet

Crée en 1979, l’Institut fédère une école d’ingénieurs, TÉLÉCOM INT, une école de management, INT MANAGEMENT, un centre de formation continue, INT ENTREPRISES, une cellule accompagnateur (incubateur de nouvelles entreprises), INT ENTREPRENEURIAT, ainsi qu’un centre de recherche, INT RECHERCHE, composant du Groupe des Ecoles des Télécommunications (GET) RECHERCHE

L’Institut, sous tutelle du ministère de l’industrie, fait parti du GET aux côtés de l’ENST de Paris, l’ENST Bretagne, Eurécom, l’ENIC, et l’IAAI Le GET est un interlocuteur privilégié de tous les secteurs économiques en matière de formation initiale et continue, de partenariat, de recherche, de recrutement et d’esprit d’entreprendre Grâce à son réseau de partenaires, l’INT est présent sur les cinq continents par des conventions de partenariats et des coopérations scientifiques

Le site web de l’INT est disponible sur : http://www.int-evry.fr

L'INT comprend les départements d'enseignement recherche suivants :

− Communications, Images et Traitement de l'Information (CITI)

− Langues et Formation Humaine (LFH)

− Réseaux et Services des Télécommunications (RST)

L’unité de Projets ARTEMIS conduit des recherches dans le domaine du traitement d'Images Multi-dimensionnelles

Les activités de recherche sont structurées autour de plusieurs pôles

L'équipe Intermédia, encadrée par Bernadette DORIZZI, responsable du département EPH Cette équipe s’intéresse aussi au traitement d’images, à l’acquisition du geste, à l’acquisition multimodale Biométrique

Encadrée par Badr Eddine BENKELFAT, l’équipe cherche à développer de nouveaux types de dispositifs optiques ou de nouveaux modèles de phénomènes physiques, en rapport avec les développements actuels ou prévisibles, des systèmes de télécommunications

• VLSI Analogique pour la vision artificielle

Le projet, dirigé par Yang NI, s'articule autour du concept "système de vision à base de rétine", qui consiste à étudier et développer les capteurs d'images intelligentes adaptées aux besoins de la vision artificielle Les objectifs de recherche visent à surmonter cette inadéquation en proposant des dispositifs et des structures nouvelles et innovantes

Avec l'essor du nomadisme et de la mobilité, un besoin fort en localisation émerge

L’objectif du groupe de recherche est de proposer une solution permettant de regrouper les meilleures performances dans un seul système qui se porte, ainsi, sur le Global Positioning System (GPS), pour lequel est recherchée une solution de localisation à l'intérieur de bâtiments (il est à noter que les grands constructeurs, tant du domaine de la téléphonie mobile que de celui de la localisation, en font un enjeu de leur stratégie de développement)

Profitant du regroupement de compétences existantes dans le domaine de la reconnaissance de l’écriture manuscrite, des techniques d’apprentissage statistique, de la vision par ordinateur et de l’acquisition du geste par la vision, l’équipe est née en septembre 2000 Elle compte six permanents, Bernadette DORIZZI, responsable, Patrick HORAIN, Ingộnieur d’ộtude, Sonia SALICETTI et Jộrụme BOUDY, maợtre de conférence et André BIDEAU, et Jean-Louis Baldinger, Chargé d’enseignement- recherche Les activités de recherche de l’équipe sont présentées comme suivantes :

MatchSlide, projet compộtitif, a reỗu en 2001 le label du RNTS et a commencộ en

2002 pour une durée de 2 ans Il est consacré au développement d'une "application de l'imagerie numérique à la relecture de lames en réseau dans le cadre de protocoles diagnostiques en hématologie" Celui-ci a pour but de permettre à un réseau d'experts répartis dans toute la France de relire et d'interpréter des lames de microscope sur support électronique, et ainsi d’éviter l’échange physique des lames qui pouvait entraợner un retard de plusieurs annộes

Videocell contribue à ce projet par des applications telles que la mesure de netteté et la profondeur de champs étendue sur ces grands champs

Dans le cadre de la collection pộdagogique hypermộdia ô En questions ằ ộlaborộe par son Centre de Ressources en Innovation Pédagogique et Technologie (CRIPT), le Groupe des écoles des télécommunications a entrepris en partenariat avec des établissements universitaires le développement de didacticiels sur cédéroms Patrick HORAIN coordonne le contenu du CD Rom ô Traitement d’images en questions ằ

Le groupe oriente ses travaux sur la conception d’un " dispositif multiservices modulaire pour le maintien à domicile et le suivi médical à distance "

1 Un système d’aide à la prescription accessible via Internet par un médecin itinérant ;

2 Une base de données d’images médicales ;

• Acquisition de gestes par la vision

1 Projet Télémondes : Dans le contexte de la télévirtualité et des mondes virtuels habités, il a pour objet l'étude de nouveaux services de communication interpersonnelle à distance médiatisée par des représentations virtuelles ou avatars Ceux-ci sont animés conformément à une personne observée par vision artificielle monoscopique et sans marqueur Les usages de ces mondes virtuels ont été explorés pour la formation à distance et pour le commerce électronique

2 Projet LSF(Langue des Signes Franỗaise) avec l’INRIA L'acquisition des gestes peut être effectuée au moyen de gants instrumentés qui se révèlent chers, fragiles et encombrants L'utilisation de caméras permet de lever cette contrainte, en utilisant des marqueurs colorés ou lumineux placés sur la personne observée

Les techniques de vision par ordinateur, stéréo ou monoscopique, ouvrent la voie pour des travaux de recherche sur l'acquisition des gestes sans marqueurs

Mon stage fait partie de ce projet en accélérant la puissance de l’acquisition en temps réel.

1 Le projet Biomet : Vérification biométrique multimodale de l'identité grâce à la fusion de plusieurs modalités comme l’authentification de signatures, l’analyse du visage, des empreintes digitales et de la forme de la main, l’authentification du locuteur

2 La reconnaissance des signatures dynamiques : acquisition de caractéristiques de la signature au cours du temps, comme par exemple la pression du stylo sur la tablette à digitaliser, l'inclinaison du stylo par rapport à cette dernière, etc

• Développement de nouvelles interfaces pour le stylo électronique

1 Projet REMUS (Reconnaissance d’écriture manuscrite) : travaux sur la reconnaissance de l’écrit manuscrit dynamique et sur les interfaces qui utilisent le stylo électronique

2 Projet LADIA (Lecture Active de Documents Multimédia)

• Segmentation dynamique et inversion de données sismiques Deux thèmes sont abordés dans ce projet:

1 Etudier l'apport des techniques neuronales pour la tomographie sismique

2 Etudier l'apport les techniques markoviennes pour la classification de lithologies

Aperỗus du mộmoire

La suite de ce mémoire est organisée en trois chapitres et une annexe :

Chapitre 2 : La présentation sur l’état de l’art sur des approches d’acquisition du geste humain, l’approche de base de notre travail: Vision monoscopique et recalage d’un modèle 3D, des problèmes dans l’application antérieure

Chapitre 3 : La description du travail effectué pendant le stage, des nouvelles technologies utilisées, des modifications sur le programme ancien pour atteindre une acquisition du geste en temps réel

Chapitre 5 : La conclusion et les perspectives

Annexe : La description de la méthode utilisée pour optimiser les paramètres dans le processus de recalage : Descente du simplexe.

Approche pour l’acquisition du geste humain par vision artificielle

Etat de l’art

Les méthodes d’acquisition du geste par vision artificielle peuvent être divisées selon deux approches : d’une part l’analyse des aspects 2D d’une image et d’autre part la modélisation 3D [5]

Les mộthodes basộes sur l’approche 2D ne peuvent gộnộralement reconnaợtre qu’un nombre limité de gestes et ce souvent après un procédé d’apprentissage

L’approche 3D tire avantage de la connaissance préalable de la forme d’un modèle et de la possibilité d’appliquer des transformations géométriques afin de le déformer Il est alors nécessaire d’utiliser la stéréovision ou plus de deux caméras pour acquérir l’information, ce qui constitue un procédé lourd et cỏteux [5] Kuno et al ont proposé une méthode pour la manipulation d’objets 3D dans des scènes virtuelles par estimation de la position, de la direction et de l’orientation d’un doigt En plus, le système utilise 2 caméras, un marqueur le long du doigt et quatre autres placés sur le corps Millar et Crawford déterminent directement (sans itération) les valeurs de liberté du modèle à partir des positions 3D des doigts et du poignet désignés interactivement dans des paires d’images stéréo [3]

Il existe cependant des méthodes d’acquisition du geste qui ne demandent qu’une seule caméra avec ou sans marqueur Yoshino et al utilisent des histogrammes de couleurs pour la reconnaissance de la langue de signes japonaise L’utilisateur porte un gant avec plusieurs marqueurs La reconnaissance est effectuée par estimation des déformations de la main détectées à partir des changements de moyennes d’histogrammes de couleur associés aux différents marqueurs du gant Chaque déformation correspond à une posture Une posture est identifiée dans une bibliothèque construite durant une phase d’apprentissage par estimation de 3 paramètres : la combinaison des couleurs des marqueurs visibles, leurs dispersions ainsi que la direction de la main [3] Cutler et Turk utilisent ainsi la taille et le déplacement de taches dans l’image pour reconnaợtre le mouvement Brand et Freeman utilisent des Modèles de Markov Cachés pour estimer l’orientation 3D d’un corps à partir de silhouettes en basse résolution Freeman et al ont proposé une méthode de suivi pour la commande à distance d’un poste de télévision L’opérateur utilise une seule posture (une main ouverte) et contrụle le poste TV en dộplaỗant sa main (figure 2) Quand une main ouverte est dộtectộe (la forme prototype), une fenờtre graphique apparaợt sur l’écran permettant à l’utilisateur d’effectuer l’opération de contrôle Cette détection est réalisée par une corrélation normalisée aux changements d’éclairage [3],[6]

Figure 2: Contrôle à distance d’un poste TV

Vision monoscopique et recalage d’un modèle 3D articulé

C’est l’approche de base de notre travail qui a été proposée par M BOMB et P

HORAIN [1] à l’INT Cette méthode permet d’acquérir des paramètres 3D du modèle articulé à partir d’images fournies par une seule caméra Elle n’utilise pas de systèmes à base de gants instrumentés ou de marqueurs lumineux ce qui réduit la complexité de mise en œuvre Elle ne demande pas non plus de connaissance préliminaire du geste qui va être effectué [5] Autrement dit, il s’agit d’une acquisition du geste au moyen d’une caméra unique, sans marqueur et sans connaissance à priori sur les gestes du corps observés

La procédure d’acquisition consiste à la recherche de la bonne correspondance entre l’image d’une séquence vidéo (capturée par caméra ou enregistrée) d’un mouvement, segmentée suivant des paramètres de couleur, et la projection d’un modèle 3D du corps contraint par des limitations biomécaniques Par cette méthode, il est possible de compenser le manque d’information pour caractériser le geste en 3 dimensions du fait de la présence d’une seule caméra

Un algorithme itératif d’optimisation est utilisé afin de minimiser le taux de non- recouvrement du recalage du modèle 3D sur l’image segmentée Vous pouvez également trouver d'autres détails concernant la description de la méthode d’optimisation dans l’annexe de ce mémoire

Généralement, cette approche peut être décrite dans la figure suivante:

Figure 3: Acquisition du geste par ôVision monoscopique et recalage du modốle 3D ằ

Projection du modèle sur l’image segmentée

Problèmes du système antérieur

Au cours du stage de A DESLANDES [5] à l’INT en 2002, il a développé un programme d’acquisition du geste humain suivant le processus dans [1] Ce programme obtient un bon résultat au point de vue d’implémentation des algorithmes, il acquit correctement des gestes à partir d’une séquence vidéo enregistrée En revanche, c’est un système très difficile à s’adapter et il n’exécute pas en temps réel Le taux d’acquisition est d’environ quinze minutes par image

Notre travail a pour but d’améliorer ce système pour qu’il atteigne le temps réel en utilisant de nouvelles techniques de programmation Après avoir fait une étude sur ce programme, nous avons découvert des inconvénients suivants :

• La modélisation du corps et les transformations associées sont calculées manuellement Ce processus est répété plusieurs fois en cours d’exécution du programme

• La segmentation nécessite des calculs mathématiques très cỏteux

• La segmentation d’images et l’optimisation du recalage ont besoins d’accéder à la mémoire de masse pour charger et stocker des données et des images supplémentaires

• La classification sur la couleur, la segmentation et l’optimisation sont réalisées dans trois différents programmes

• Des structures de données utilisées sont très complexes, l’organisation du code dans chaque module est très lourde avec plusieurs lignes de code

Dans le prochain chapitre du mémoire, nous trouverons de nouvelles approches que nous avons utilisées et la description du travail effectué pour résoudre ce problème en temps réel.

Mise en œuvre temps réel

Modélisation du corps humain 3D

Le modèle humain 3D articulé que nous utilisons possède 23 degrés de liberté qui permettent de restituer beaucoup de postures [5] Il correspond à la moitié supérieure du corps humain (buste, tête, bras, avant-bras et mains)

Figure 4: Modèle humain 3D et système de coordonnées utilisé

Etant donné l’approche de base du problème (cf 2.1.2), la projection du modèle sur une image segmentée risque de perdre de l’information pour caractériser le geste en 3 dimensions, du fait de la présence d’une seule caméra OUHADDI [3] a proposé d’utiliser un modèle volumique, ce modèle ainsi que le système de coordonnées utilisé sont présentés en figure 4 ci-dessus

3.1.1 Présentation du modèle standard : H-ANIM

Il y a beaucoup d'approches pour modéliser le corps humain La plupart de ces mộthodes ont ộtộ conỗues pour atteindre des objectifs spộcifiques tels qu’une sculpture, une animation faciale, une animation robotique, etc [7] La difficulté commune dans la modélisation est souvent de choisir le bon objet pour décrire une partie du modèle Peter RATNER [7] s’est basé sur le calcul de la taille moyenne humaine, des connaissances humaines anatomiques Manuel JENNI [8] a proposé un mouvement du modốle DODY calculộ par les vecteurs orthonormộs dans le ô nuage des points ằ entre deux images successives de la sộquence vidộo Ghinwa KRAYEM et Rola ZAITER [9] ont choisi la modélisation humaine par des cônes, des sphères et des de parallélépipèdes pour le même problème que le nôtre

Nous avons trouvé que le modèle humanọde de la norme H-Anim [10] s’adapte bien à notre modélisation Il décrit le corps humain par une structure hiérarchique d’articulations et de segments Les segments tels que le buste, la tête, le bras… sont connectés entre eux par des articulations, telles que l’épaule, le coude… Chaque segment du modèle humain peut être défini par un maillage de polygones L’animation du modèle est réalisée par une modification des valeurs des degrés de liberté associés aux articulations Elle prend aussi en compte les limitations des mouvements des jointures par l’intégration des contraintes biomécaniques

Un modèle hiérarchique H-Anim contient un ensemble de nœuds d’articulation et un nœud d’articulation peut contenir d’autres nœuds d’articulation ainsi qu’un nœud segment qui décrit la partie du corps correspondant à cette articulation La figue 5 montre une hiérarchie du modèle H-Anim, son étude est précisément décrite en [10]

Les représentations actuelles en VRML [11] s’adaptent parfaitement aux spécifications un contenu dans H-Anim Cela nous permet facilement de trouver les données disponibles pour modéliser le corps humain et les calculs pour effectuer une transformation sont très rapides

Figure 5: Description hiérarchique du modèle H-ANIM

3.1.2 Conception du modèle humain 3D du système

Les gestes qui sont acquis par notre système concernent les mouvements du buste, de la tête, des bras, des avant-bras et des mains En nous basant sur la description du modèle H-Anim, nous avons modélisé la moitié supérieure du corps humain par 9 articulations : la racine humanọde (humanoidRoot), le cou (vc4), la tête (skullbase), l’épaule gauche (left shoulder), le coude gauche (left elbow), le poignet gauche (left wrist), l’épaule droit (right shoulder), le coude droite (right elbow), le poignet droit (right wrist) La structure hiérarchique de ces articulations (figure 6) est modifiée par rapport à celle de H-Anim en respectant la structure hiérarchique des articulations

Figure 6: Structure hiérarchique des articulations du modèle humain 3D

La transformation [12] d’une articulation et du segment associé du modèle est rộalisộe de faỗon à ce qu’un mouvement qui s’applique au pốre entraợne aussi le déplacement de ses fils Par exemple : tout le modèle va tourner simultanément quand nous faisons une seule rotation sur le buste, une rotation de l’avant bras gauche se propagera à la main gauche uniquement Cette opération change de valeur des degrés de liberté des articulations que nous avons considérés comme les paramètres du modèle dont les variations sont strictement limitées par des contraintes biomécaniques

Le tableau ci-dessous défini les limitations des angles des rotations Ces valeurs exprimées dans le système de coordonnées de la figure 4 sont données en degrés Les valeurs des translations du corps (Translation X du buste, translation Y du buste et translation Z du buste) ont été manuellement déterminées en cours d’exécution pour que le modèle soit bien situé dans la scène puis qu’elles dépendent du rapport utilisé pour définir le système de coordonnées

En outre, nous avons également appliqué trois paramètres supplémentaires de mise à l’échelle pour chaque articulation et son segment correspondant pour ajuster au mieux la taille du modèle pour chaque acteur dont nous désirons acquérir les gestes

Indice Nom du paramètre Valeur minimale Valeur maximale

13 Rotation X de l’avant-bras gauche -180 0.1

14 Rotation X de l’avant-bras droit -180 0.1

15 Rotation X de la main gauche -20 20

16 Rotation Y de la main gauche -360 360

17 Rotation Z de la main gauche -37 27

18 Rotation X de la main droite -20 20

19 Rotation Y de la main droite -360 360

20 Rotation Z de la main droite -27 37

Tableau 1: Contraintes biomécaniques des articulations

Le modèle est formé par des 9 articulations avec des données de maillage qui sont manuellement extraites d’un fichier VRML de faỗons à ce que nous fassions facilement la lecture En effet, nous nous sommes intéressés au centre (center) de chaque articulation, aux points (p1…pn) et aux polygones (c1…cp) du maillage du segment associé Par exemple, l’extraction de l’épaule gauche a été effectuée comme dans la figure 7 Ce processus pourra être prochainement directement réalisé à partir d’un parsing du fichier VRML

La technique de synthèse d’images a été utilisée pour modéliser du corps humain, nous avons choisi la bibliothèque graphique OpenGL qui est capable de communiquer avec les matériels graphiques Cela nous permet d’améliorer la performance d’exécution du programme

Figure 7: Extraction manuelle de données

OpenGL se compose d’environ 250 commandes distinctes que nous utilisons pour définir les objets et les opérations nécessaires à la génération d’applications interactives tridimensionnelles [14] La construction du segment de chaque articulation est définie par une liste affichage et des opérations de transformation géométrique sont suffisamment utilisées pour le mouvement des parties du corps Les APIs de OpenGL que nous avons utilisés sont décrits comme les suivants :

Indice APIs de OpenGL Utilisation

01 glNewList(); … glEndList(); Définition d’une liste d’affichage

02 glCallList() ; Exécution d’une liste d’affichage

03 glBegin() ; … glEnd() ; Définition d’une géométrie à dessiner

05 glColor3ubv() ; Mise en couleur du segment

Tableau 2: APIs de OpenGL utilisés pour la modélisation du corps humain 3D

DEF hanim_l_shoulder Joint { name "l_shoulder" center 0.167 1.36 -0.0518 ( .) geometry IndexedFaceSet { coord Coordinate { point [ p 1, p 2, p n ] } coordIndex [ c 1 –1 c 2 –1… c p -1]

VRML part{ name: l_shoulder 0.167 1.36 -0.0518 mesh{ n p nodes{ p 1

En plus, le modèle humain est dessiné par une hiérarchie comme suite :

Figure 8: Hiérarchie de dessin du modèle humain

Traitement d’images

Le recalage du modèle 3D sur les images d’une séquence vidéo dépend de la mise en correspondance de la projection du modèle et des caractéristiques extraites de chaque image [5] Pour extraire ces caractéristiques, nous avons ensuite recours à la segmentation de l’image qui va fournir la silhouette des différentes parties du corps

Dans de nombreux travaux d’acquisition du geste, les contours, le mouvement, les textures ou encore la couleur ont été utilisés avec succès pour réaliser la segmentation

[5] H.Ouhaddi et al [13] a recalé les contours extraits du modèle de la main et les contours extraits d’une image R Cutler et M Turk [15] ont choisi la détection de mouvement pour segmenter le flot optique Ghinwa KRAYEM et Rola ZAITER

[9] ont segmenté d’image de la main sur la couleur par la technique de teinte chair en se basant sur un apprentissage de la distribution des couleurs de la peau qui est effectué à partir de l'histogramme des teintes et des saturations (peu sensible aux conditions d'éclairage de la scène)

Dessiner le buste Dessiner le cou Dessiner la tête Dessiner le bras gauche Dessiner l’avant- bras gauche Dessiner la main gauche Dessiner le bras droit

Dessiner l’avant- bras droit Dessiner la main droite

Nous avons segmenté plusieurs parties de l’image par une classification sur leur couleur Elle a lieu en trois étapes, la première correspond à la classification des différentes zones à identifier en différentes images, la second assure l’élimination du bruit dans ces images par filtrage et la dernière étape est de les combiner pour résulter l’image segmentée

3.2.2 Identification des classes de couleur dans une image

En utilisant le même principe dans CAMSHIFT [16], nous n’avons considéré que deux classes de couleur qui correspondent à la peau et aux habits Elles identifient suffisamment des parties de la moitié supérieure du corps pour faire le recalage puisque les parties du modèle 3D peuvent être aussi classifiées de la même manière : la tête, le cou, les bras, les avant-bras et les mains appartiennent à la classe de peau et le buste appartient à la classe de vêtements La classification est réalisée par des distributions probables sur la couleur de chaque zone dans une image par rapport à celle des images échantillonnées à travers leur histogramme

En effet, la luminosité de la scène est séparée de la couleur des objets Dans l’espace de couleurs HSV (Hue, Saturation, Value), il est peu sensible aux conditions d’éclairement de la scène [3], La transformation vers l’espace HSV correspond une projection de l’espace de couleurs standards RVB (Rouge, Vert, Bleu) allongé leur principale diagonal de blanc à noire (voir la figure 9) Cela résulte le cône (à base hexagonale) en figure 10 La descente en axe V donne un cône plus petit correspondant au petit sous-cube de RGB dans la figure 9[16]

Figure 9 : Cube de l’espace de couleurs RVB

Figure 10: Cône de l’espace de couleurs HSV

Mathématiquement, cette transformation est suivi des équations a, b, et c :

Equation 1: Transformation de l’espace de couleurs (RVB – HSV)

L’espace de couleur HSV sépare la teinte (Hue) de la saturation et de la luminosité

Nous avons extrait le canal H comme le modèle de couleur pour calculer l’histogramme de l’image échantillonnée pour la peau et ainsi pour les vêtements Une image ô probable ằ est crộộe en remplissant chaque pixel dans l’image originale par la probabilité pour que ce pixel appartienne à la classe de couleur échantillonnée en basant sur sa valeur dans l’histogramme de teinte Les parties de l'image dont la couleur est plus proche de la partie échantillonnée s'approchent à la blanche, les parties s'approchent à la noire

Figure 11: Image originale et son image de probabilité de la teinte de peau

Le changement lumineux dans l’espace RGB provoque une variation de la teinte dans l’espace HSV parce que un petit ensemble discret des valeurs de la teinte ne peut pas représenter ce changement Pour résoudre ce problème, nous avons simplement ignoré des pixels dans l’image probable qui ont une correspondance très fable à la valeur lumineuse avec un seuil prédéfini Cela résulte une image binaire pour chaque classe de couleur de la peau et des vêtements

Les images classifiées ont été bruitées, nous avons appliqué une opération morphologique d’ouverture en utilisant un élément structurant de taille 3x3 pour filtrer le bruit Il s’agit d’un opérateur érosion qui est anti-extensive puis de l'opérateur dilatation qui est dual de l’érosion avec le même élément structurant Cela diminue toutes les parties des objets qui ne peuvent pas contenir l’élément structurant, la description en détail de cette méthode se trouve en [17] Les images en figure 12 illustre le résultat de la classification sur la couleur de peau (b) et la couleur des habits (c) à partir d’une image extraite (a)

Figure 12: Image extraite (a), image classifiée de peau (b), image classifiée des habits (c)

Les deux images de classes sont ensuite colorées dans l’espace de couleurs RVB, cl 1 pour la peau et cl 2 pour les habits par exemple, parce que les images de classes (appelons désormais Img 1 et Img 2 ) sont encore présentées par la teinte dans l’espace HSV Pour que les classes soient disjointes, nous avons proposé d’éliminer les zones d’intersection avant de colorer les images de classes comme la solution Cette élimination est facilement réalisée par les opérations ensemblistes

Etant donnés Img 1 et Img 2 deux ensembles, l’élimination de l’intersection entre eux est calculée comme suite :

Finalement, l’image segmentée qui est obtenue par une addition entre Img 1 et Img 2 pixel par pixel se représente en figure 14 :

Les images que nous avons segmentées sont soit capturées par une caméra de Web (webcam), soit extraites d’une séquence de vidéo enregistrée Nous les avons traitées par des fonctions prédéfinies fournies par OpenCV

OpenCV est une bibliothèque graphique libre de Intel®, il se compose d’une collection des fonctions C et de nombreuses classes C ++ qui implémentent des algorithmes populaires dans le traitement d’images et vision par ordinateur Ce sont des APIs de moyen-à-haut niveau de croix-plateforme OpenCV ne se fonde pas sur les bibliothèques numériques externes, bien qu'il puisse se servir de certains d'entre eux au temps d'exécution, s'ils sont disponibles OpenCV fournit aussi transparent pour l'interface utilisateur aux primitifs d’exécution intégrés (Integrated Performance Primitives) par Intel® (IPP) C'est-à-dire, il charge automatiquement des bibliothèques d'IPP optimisées pour le processeur spécifique au temps d'exécution, si elles sont disponibles Plus d'informations sur IPP peuvent être recherchées sur http://www.intel.com/software/products/ipp/ippvm20/index.htm [18]

Des fonctions de OpenCV que nous avons choisies pour réaliser le processus de capturer et segmenter des images sont décrites en bref dans le tableau suivant :

Indice Fonction de OpenCV Utilisation

01 cvCreateImage() ; Création d’une structure d’image dans OpenCV

02 cvReleaseImage(); Destruction d’une image dans OpenCV

03 cvCaptureFromCAM(); Capture d’une image à partir d’une caméra

04 cvCvtColor() ; Conversion entre des espaces de couleur

05 cvCvtPixToPlane() ; Extraction d’un canal de couleur d’une image

06 cvCreateHist() ; Création de l’histogramme d’une d’image

07 cvCalcBackProject() ; Création d’une image probable à partir d’un histogramme et une image

10 cvXor() ; cvSubS() ; cvAdd() ;… Opérations ensemblistes et algébriques entre images

Tableau 3: APIs de OpenCV utilisés pour le traitement des images

Comparaison entre le modèle 3D et l’image segmentée

3.3.1 Ajustement du modèle 3D sur l’image segmentée

Après avoir extrait les caractéristiques de l’image, il est nécessaire d’ajuster au mieux le modèle 3D de manière à obtenir une posture initiale correcte Pour cela, nous avons appliqué des transformations du modèle 3D qui sont définies dans 3.1.2

Figure 15 : Ajustement du modèle 3D sur l’image segmentée

L’évaluation du recalage est présentée en [1] Chaque segment articulé du modèle est associé à une classe de couleur Le recalage est effectué en rapprochant la projection de ces segments des régions de l’image segmentée La meilleure correspondance est recherchée pour chaque image de la séquence suivant un algorithme itératif d’optimisation

Pour la k ème itération sur l’image t de la séquence, le modèle est projeté sur l’image dans l’attitude définie par un vecteur de paramètres q k t suivant un algorithme de z- buffer modifié pour mémoriser les couleurs des segments du modèle Ce recalage est alors évalué par son taux de non-recouvrement:

Equation 3: Taux non-recouvrement ó A c est l’ensemble des pixels dans la c ème classe de couleur, B k c est la projection des segments du modèle associés à la c ème classe pour l’attitude du modèle définie par q k t et m est le nombre de classes de couleur

Dans notre cas, les éléments de la formule (g) sont calculés en nous basant sur l’histogramme de l’image recalée En effet, nous avons ô jouộ ằ sur les couleurs assignées à chaque classe et additionné pixel par pixel deux images colorées : l’image segmentée et l’image du modèle 3D Cela résulte une image recalée colorée comme en figure 16 Notons qu’il n’y a pas d’intersection entre des segments dans chaque image

Soient Cmp et Cmv deux couleurs correspondantes de la peau et des vêtements du modèle 3D

Soient Cip et Civ deux couleurs correspondantes de la peau et des vêtements de l’image segmentée

Les valeurs de couleurs considérables sur une image recalée sont :

∩ iv mv iv mv ip mv ip mv iv mp iv mp ip mp ip mp iv ip mv mp

Equation 4 : Valeurs de couleurs considérables

Alors, les parties d’union de (g) sont données par :

∪ mp iv ip mv iv mv iv mv iv mv mv ip iv mp ip mp ip mp ip mp

Equation 5: Calcul de cardinal des ensembles pour taux non-recouvrement

Les valeurs dans (h) et (i) sont extraites par l’histogramme de l’image recalé à chaque itération de recalage

Dans le but d’optimiser l’écart entre la silhouette du modèle projeté et celle extraite de l’image, nous avons minimisé une fonctionnelle de cỏt lié au taux de non recouvrement Il s’agit d’une minimisation en modifiant des valeurs de 23 degrés de liberté des articulations du modèle humain 3D Une étude sur la méthode choisie pour optimiser sera présentée à l’annexe de ce mémoire

Conversion des paramètres au format MPEG-4/BAP

Après avoir optimisé un recalage, nous avons obtenu une silhouette du modèle humain 3D correspondant à un geste humain L’extraction des paramètres du modèle ô optimal ằ sert aux utilisations spộcifiques antộrieures, par exemple la reconnaissance de langue des signes Nous les utilisons actuellement en entrée d’une application pour animer des avatars Les paramètres sont convertis au format MPEG-4/BAP [19] sous forme soit un fichier enregistré, soit un paquet de données diffusé en réseau

Le BAP (Body Animation Parameters) est un des deux ensembles de paramètres de l’objet de Body qui est supporté dans MPEG-4, l’autre est BDP (Body Definition Parameters) Les paramètres dans BAP sont interprétés et produirent raisonnablement des postures et animations humaines, sans nécessiter initialiser et calibrer le modèle 3D L’Objet Body contient un corps humain virtuel générique avec les postures par défaut Ce corps peut-être déjà rendu, il est aussi immédiatement capable de recevoir les BAPs à partir des flux de bits (bitstream), qui produisent l’animation du corps Tous les composants du BAP peuvent être nuls, un composant nul est remplacé par le composant par défaut correspondant quand le corps est rendu Les postures par défaut sont définies comme suivantes : les pieds devraient se diriger à la direction avant, les deux bras devraient être placés du côté du corps avec la paume des mains faisant face à l'intérieur

Un flux de bits se compose des deux parties, la première est un masque de 296 bits associés aux 296 degrés de liberté du corps humain, l’identification commence par 1

Un bit prend soit 0, soit 1 qui indique la disponibilité du degré de liberté correspondant dans la deuxième partie, c’est la partie de données générées par des valeurs de degrés de liberté L’identification de nos 23 paramètres dans le masque se trouve dans le tableau 4

Les flux de bits sont enregistrés successivement au format du fichier bap ou transmis en réseau via le protocole UDP/IP pour faire animer des avatars dans une application s’appelant ô Partage et immersion d’une application dans le monde 3D virtuel ô dộveloppộe par Josộ Marques SOARES, Patrick HORAIN et Andrộ BIDEAU

Indice Paramètre BAP Id Indice Paramètre BAP id

01 Translation X du buste 01 13 Rotation X du bras droit 33

02 Translation Y du buste 02 14 Rotation Y du bras droit 35

03 Translation Z du buste 03 15 Rotation Z du bras droit 37

04 Rotation X du buste 184 16 Rotation X de l’avant-bras gauche 40

05 Rotation Y du buste 185 17 Rotation X de l’avant-bras droit 41

06 Rotation Z du buste 186 18 Rotation X de la main gauche 42

07 Rotation X de la tête 48 19 Rotation Y de la main gauche 44

08 Rotation Y de la tête 49 20 Rotation Z de la main gauche 46

09 Rotation Z de la tête 50 21 Rotation X de la main droite 43

10 Rotation X du bras gauche 32 22 Rotation Y de la main droite 45

11 Rotation Y du bras gauche 34 23 Rotation Z de la main droite 47

Tableau 4: Identification BAP des 23 degrés de liberté du modèle humain 3D

Architecture du système et transaction entre des modules

Nous avons divisé le système en quatre modules principaux pour faciliter à développer Chaque module possède des fonctionnements qui permettent de réaliser une tâche donnée Le module d’initialisation fait parsing le fichier de données qui est formé par une extraction des parties correspondantes dans un fichier VRML pour modéliser le corps humain Ce module contient aussi la fonction d’animation du modèle en effectuant des transformations 3D Le module de traitement d’images capture d’images et les segmente sur la couleur Le module d’optimisation des paramètres fait recalage et le dernier module fait diffusion des paramètres optimaux La définition des modules et la transaction entre eux sont représentées par le schéma en figure 18

Figure 18: Architecture générale et interaction entre les modules principaux

Extraction d’une image de la séquence

Identification des classes de couleur

Le système a été programmé sous Visual C++ 6.0, c’est un programme simple qui utilise des boutons du clavier pour contrôler des événements d’utilisateur Il est capable d’acquérir correctement des gestes humains en temps réel soit à partir une caméra de web, soit une séquence d’images enregistrée La taille d’image dans tous cas est 160x120 De plus, les 23 paramètres transmis conduisent bien des mouvements des avatars dans l’application de José el al abordé ci-dessus

La scène pour faire des expérimentations se compose d’un acteur qui se situe devant la caméra, il porte une chemise même couleur que l’échantillon et différente de la couleur du fond en arrière Nous allons trouver les résultats que nous avons testés sur de différentes machines configurées à la fin du chapitre Les résultats statistiques dans le tableau 5 sont obtenus par une séquence de vidéo de 128 images

Configuration Unité Centrale Carte graphique

Tableau 5: Statistiques sur la performance d’acquisition du geste

Figure 19 : Résultats d’acquisition du geste humain

La vision monoscopique et le recalage d’un modèle 3D humanọde sont une approche validée pour acquérir des gestes humains Dans le cadre de mon stage, nous avons contribué à mettre en oeuvre en temps réel des algorithmes décrits dans cette approche en utilisant des bibliothèques infographiques modernes telles que OpenGL et OpenCV

Suite à une étude approfondie concernant le processus de la méthode de base et le système d’acquisition du geste existant, nous avons modifié et construit un nouveau programme qui atteint des résultats satisfaits

Personnellement, ce stage m’a permis de m’habituer à travailler dans un laboratoire de recherche, dans une équipe de recherche Vivre et travailler en France, c’est une bonne occasion pour apprendre non seulement des connaissances dans la vie professionnelle mais aussi dans la vie quotidienne

Le programme actuel est comme une petite démo, il pourrait être ajouté des fonctions comme les suivantes:

- Une régularisation des gestes puisqu’il peut arriver que la projection du modèle sur l’image soit la même pour plusieurs attitudes du modèle, ce qui constitue une ambiguùtộ, par exemple le modốle soit de face ou de dos, sa projection presque la même

- Une détection du mouvement des parties du corps entre deux images successives pour limiter le processus d’optimisation à leurs paramètres

- Une augmentation des articulations dans la modélisation du corps pour acquérir complètement des gestes

De plus, notre résultat d’acquisition pourrait être développé pour réaliser des applications informatiques très utiles:

- La reconnaissance de la langue des signes

- L’animation des acteurs virtuels, des avatars dans des mondes virtuels habitués

- L’interface homme-machine pour entrer automatiquement des données

Ouhaddi [3] a décrit son étude au sujet d’algorithmes d’optimisation Mochimaru et Yamazaki puis Kuch et Huang ont choisi une procộdure de ô perturbation locale de degrộs de libertộ ằ Celle-ci consiste à changer de valeur de chaque degrộ de libertộ d’une partie quantité Si la fonctionnelle diminue, le changement est répété dans la même direction, sinon la direction de perturbation est inversée Cette méthode est assez efficace en pratique Toutefois, les différents paramètres doivent être choisis de manière empirique Ohya et Kisino ont utilisé un algorithme générique pour recaler un modèle représentant la partie supérieure du corps humain sur des paires d’images de synthèse, par minimisation de l’écart entre les silhouettes projetées et extraites de l’image Les résultats présentés sont obtenus à partir d’une population d’environ 1000 solutions initiales et nécessitent plusieurs centaines d’itérations, ce qui est très cỏteux en temps de calcul

Certaines d’autres méthodes d’optimisation nécessitent l’estimation des dérivées partielles de la fonctionnelle par rapport aux paramètres à estimer (Levenberg- Marquardt), ou se limitent au calcul de la fonctionnelle (descente du simplexe, Powell)

[20] Bien que la pratique montre que la méthode de Levenberg-Marquardt est assez efficace et est une méthode d’optimisation non-linéaire très utilisée, elle ne garantit pas une vitesse de convergence, et elle peut bien sûr converger vers un optimum local au lieu d’un optimum global La méthode de Powell est utilisée pour améliorer une minimisation d’une fonction multidimensionnelle qui effectue une succession de minimisations mono-dimensionnelle pour chacun des paramètres jusqu’à convergence

Cela nécessite une exploration pour toutes les dimensions et ne garantit pas toujours une bonne convergence

Notre choix s’est porté sur l’utilisation de la méthode de descente de simplexe conformément aux résultats obtenus par Ouhaddi pour le recalage d’un modèle 3D de la main La descente du simplexe nécessite en effet moins d’opérations d’évaluation de la fonctionnelle que la méthode de Powell et permet de prendre aisément en compte les contraintes biomécaniques, de manière à réduire considérablement l’espace de recherche en éliminant immédiatement les configurations irréalistes [5]

La descente du simplexe [20] est une méthode d’optimisation itérative avec une seule évaluation fonctionnelle, sans dérivée due à Nelder et Mead Soit n le nombre de paramètres à optimiser La première étape consiste à générer n+1 points dans l’espace

R n à partir d’une solution initiale Ces n+1 points forment un simplexe, par exemple un triangle dans R 2 ou un tétraèdre dans R 3

Les points du simplexe sont construits à partir du point initial p0 en appliquant la règle suivante : i i i p e p = 0 + λ (k)

Où pi est le i ème sommet du simplexe, ei est le vecteur de la base canonique dont i ème composante est non nulle est la longueur de l’arête p0pi Le simplexe initial subit une suite de transformations géométriques pour atteindre un minimum de la fonctionnelle, en adaptant sa forme à la topographie de la fonctionnelle dans l’espace de recherche Ces différentes transformations sont (figure 20):

Une symétrie, Une expansion, Une contraction mono-dimmensionnelle, Une contraction multi-dimensionnelle

Figure 20: Transformations géométriques du simplexe

Symétrie Expansion Contraction 1D Contraction ND

Ces opérations peuvent être mises en œuvre suivant diverses heuristiques Nous avons utilisé celle de William H.Press et al.[20] qui consiste à trier les sommets du simplexe suivants la valeur de la fonctionnelle pour sélectionner les trois sommets ayant respectivement le meilleur score (ilo), le plus mauvais score (ihi) et l’avant- dernier (inhi) Le sommet de plus mauvais score est remplacé par la symétrie du simplexe par rapport à l’hyperplan défini par les autres sommets, ce qui revient à faire une recherche dans la direction opposée à celle qui a donné le mauvais score Si la fonctionnelle est améliorée alors une expansion est effectuée, sinon une contraction mono-dimensionnelle est réalisée Si malgré cela la fonctionnelle n’améliore pas, l’algorithme effectue une contraction multi-dimensionnelle dans plusieurs directions Ce processus est répété jusqu’à ce que la variation relative de la fonctionnelle sur les sommets du simplexe soit proche de la précision du calculateur

Dans notre problème, la fonctionnelle de cỏt est paramétrée par les 23 degrés de liberté des articulations du modèle humain 3D L’originalité de notre approche réside dans la prise en compte des contraintes biomécaniques qui permet de réduire considérablement l’espace de recherche et évite l’obtention de configurations irréalistes du modèle Pour que l’algorithme de descente du simplexe respecte ces contraintes, nous avons imposé à chaque transformation de simplexe de générer un simplexe contraint dans ce domaine, en ayant initialement un simplexe

Conclusion et perspectives

Conclusion

La vision monoscopique et le recalage d’un modèle 3D humanọde sont une approche validée pour acquérir des gestes humains Dans le cadre de mon stage, nous avons contribué à mettre en oeuvre en temps réel des algorithmes décrits dans cette approche en utilisant des bibliothèques infographiques modernes telles que OpenGL et OpenCV

Suite à une étude approfondie concernant le processus de la méthode de base et le système d’acquisition du geste existant, nous avons modifié et construit un nouveau programme qui atteint des résultats satisfaits

Personnellement, ce stage m’a permis de m’habituer à travailler dans un laboratoire de recherche, dans une équipe de recherche Vivre et travailler en France, c’est une bonne occasion pour apprendre non seulement des connaissances dans la vie professionnelle mais aussi dans la vie quotidienne.

Perspectives

Le programme actuel est comme une petite démo, il pourrait être ajouté des fonctions comme les suivantes:

- Une régularisation des gestes puisqu’il peut arriver que la projection du modèle sur l’image soit la même pour plusieurs attitudes du modèle, ce qui constitue une ambiguùtộ, par exemple le modốle soit de face ou de dos, sa projection presque la même

- Une détection du mouvement des parties du corps entre deux images successives pour limiter le processus d’optimisation à leurs paramètres

- Une augmentation des articulations dans la modélisation du corps pour acquérir complètement des gestes

De plus, notre résultat d’acquisition pourrait être développé pour réaliser des applications informatiques très utiles:

- La reconnaissance de la langue des signes

- L’animation des acteurs virtuels, des avatars dans des mondes virtuels habitués

- L’interface homme-machine pour entrer automatiquement des données

Ouhaddi [3] a décrit son étude au sujet d’algorithmes d’optimisation Mochimaru et Yamazaki puis Kuch et Huang ont choisi une procộdure de ô perturbation locale de degrộs de libertộ ằ Celle-ci consiste à changer de valeur de chaque degrộ de libertộ d’une partie quantité Si la fonctionnelle diminue, le changement est répété dans la même direction, sinon la direction de perturbation est inversée Cette méthode est assez efficace en pratique Toutefois, les différents paramètres doivent être choisis de manière empirique Ohya et Kisino ont utilisé un algorithme générique pour recaler un modèle représentant la partie supérieure du corps humain sur des paires d’images de synthèse, par minimisation de l’écart entre les silhouettes projetées et extraites de l’image Les résultats présentés sont obtenus à partir d’une population d’environ 1000 solutions initiales et nécessitent plusieurs centaines d’itérations, ce qui est très cỏteux en temps de calcul

Certaines d’autres méthodes d’optimisation nécessitent l’estimation des dérivées partielles de la fonctionnelle par rapport aux paramètres à estimer (Levenberg- Marquardt), ou se limitent au calcul de la fonctionnelle (descente du simplexe, Powell)

[20] Bien que la pratique montre que la méthode de Levenberg-Marquardt est assez efficace et est une méthode d’optimisation non-linéaire très utilisée, elle ne garantit pas une vitesse de convergence, et elle peut bien sûr converger vers un optimum local au lieu d’un optimum global La méthode de Powell est utilisée pour améliorer une minimisation d’une fonction multidimensionnelle qui effectue une succession de minimisations mono-dimensionnelle pour chacun des paramètres jusqu’à convergence

Cela nécessite une exploration pour toutes les dimensions et ne garantit pas toujours une bonne convergence

Notre choix s’est porté sur l’utilisation de la méthode de descente de simplexe conformément aux résultats obtenus par Ouhaddi pour le recalage d’un modèle 3D de la main La descente du simplexe nécessite en effet moins d’opérations d’évaluation de la fonctionnelle que la méthode de Powell et permet de prendre aisément en compte les contraintes biomécaniques, de manière à réduire considérablement l’espace de recherche en éliminant immédiatement les configurations irréalistes [5]

La descente du simplexe [20] est une méthode d’optimisation itérative avec une seule évaluation fonctionnelle, sans dérivée due à Nelder et Mead Soit n le nombre de paramètres à optimiser La première étape consiste à générer n+1 points dans l’espace

R n à partir d’une solution initiale Ces n+1 points forment un simplexe, par exemple un triangle dans R 2 ou un tétraèdre dans R 3

Les points du simplexe sont construits à partir du point initial p0 en appliquant la règle suivante : i i i p e p = 0 + λ (k)

Où pi est le i ème sommet du simplexe, ei est le vecteur de la base canonique dont i ème composante est non nulle est la longueur de l’arête p0pi Le simplexe initial subit une suite de transformations géométriques pour atteindre un minimum de la fonctionnelle, en adaptant sa forme à la topographie de la fonctionnelle dans l’espace de recherche Ces différentes transformations sont (figure 20):

Une symétrie, Une expansion, Une contraction mono-dimmensionnelle, Une contraction multi-dimensionnelle

Figure 20: Transformations géométriques du simplexe

Symétrie Expansion Contraction 1D Contraction ND

Ces opérations peuvent être mises en œuvre suivant diverses heuristiques Nous avons utilisé celle de William H.Press et al.[20] qui consiste à trier les sommets du simplexe suivants la valeur de la fonctionnelle pour sélectionner les trois sommets ayant respectivement le meilleur score (ilo), le plus mauvais score (ihi) et l’avant- dernier (inhi) Le sommet de plus mauvais score est remplacé par la symétrie du simplexe par rapport à l’hyperplan défini par les autres sommets, ce qui revient à faire une recherche dans la direction opposée à celle qui a donné le mauvais score Si la fonctionnelle est améliorée alors une expansion est effectuée, sinon une contraction mono-dimensionnelle est réalisée Si malgré cela la fonctionnelle n’améliore pas, l’algorithme effectue une contraction multi-dimensionnelle dans plusieurs directions Ce processus est répété jusqu’à ce que la variation relative de la fonctionnelle sur les sommets du simplexe soit proche de la précision du calculateur

Dans notre problème, la fonctionnelle de cỏt est paramétrée par les 23 degrés de liberté des articulations du modèle humain 3D L’originalité de notre approche réside dans la prise en compte des contraintes biomécaniques qui permet de réduire considérablement l’espace de recherche et évite l’obtention de configurations irréalistes du modèle Pour que l’algorithme de descente du simplexe respecte ces contraintes, nous avons imposé à chaque transformation de simplexe de générer un simplexe contraint dans ce domaine, en ayant initialement un simplexe.

Construction d’un simplexe initial

Le problème de construction du simplexe initial est celui du choix des longueurs initiales du simplexe, donc des valeurs des λ i dans la formule (k) La solution proposée consiste à choisir pour chaque λ i la plus grande valeur possible de telle faỗon que le sommet ajouté soit à l’intérieur de la région des contraintes qui a été formée par des hyperplans dans l’espace R n dont l’intersection est un domaine convexe Toutefois, il est possible de diminuer le volume du simplexe initial en utilisant deux fois des valeurs d’écarts types des degrés de liberté entre deux images successives de la séquence pour chaque λ i Ces écarts types sont expérimentalement déterminés par une observation d’un corpus de langue des signes [1]

Figure 21: Construction d’un simplexe initial dans l’espace R 2

Transformations contraintes du simplexe

Comme le domaine des contraintes est convexe, chaque contraction du simplexe à intérieur de cette région crée un simplexe qui respecte les contraintes Par conséquent, il suffit de tester les contraintes seulement après les symétries et les expansions Si un sommet du simplexe est déplacé à l’extérieur de cette région, alors celui-ci est remplacé par un nouveau sommet situé à l’intersection de l’hyperplan des contraintes et de la droite qui relie ce nouveau sommet à l’ancien [3]

Figure 22: Transformation contrainte du simplexe

Alors, le schéma de l’algorithme d’optimisation est présenté dans la figure 23 suivante :

Symétrie sans contrainte Symétrie avec contrainte

Figure 23: Descente du simplexe avec intégration des contraintes biomécaniques

Ramener le simplexe dans la région des contraintes

Ramener le simplexe dans la région des contraintes F(R) >= F(inhi) ihi=C

Nombre max d’itération non-atteinte et variation de la fonctionnelle > seuil

[1] Patrick HORAIN, Mayank BOMB, ôAcquisition du geste humain 3D par vision monoscopiqueằ, Actes des 8 ốmes journộes d'ộtudes et d'ộchanges ô Compression et

REprộsentation des Signaux Audiovisuels ằ (CORESA'03), Lyon, 16-17 janvier 2003, pp 269-272, http://www-eph.int-evry.fr/~horain/Publications/CORESA03-Horain-Bomb.pdf

[2] Patrick HORAIN, ô ARC LSF : Vers l'acquisition du geste par vision artificielle pour l'interprộtation de la langue des signes ằ, octobre 2002, http://www-eph.int-evry.fr/~horain/ARC-LSF/

[3] Hocine OUHADDI, ô Contribution à l’analyse de gestes par vision monoscopique ằ, Thốse de doctorat de l’Universitộ Paris 6, octobre 1999, pp 15-32, 67-80, http://www-eph.int-evry.fr/~horain/Ouhaddi

[4] Rami KANHOUCHE, ôHumain par vision monoscopique sans marqueurs ằ, Rapport de Stage DEA de l’Ecole Normale Supérieure à Cachan effectué à l‘INT, septembre 2001, p 4

[5] Arnaud DESLANDES, ô Reconnaissance du geste humain par vision artificielle : Application à la langue de signe ”, Rapport de Stage DEA de l’Université Paris 6 effectué à l’INT, 2002, pp 1-2, 14-23

[6] William T FREEMAN and Craig D WEISSMAN, ôTelevision control by Hand Gesture ằ , Proc Int’l Workshop on Automatic Face and Gesture-Recognition, Zurich, Switzerland, June 1995, pp 179-183, http://www.merl.com/papers/docs/TR94-24.pdf

[7] Peter RATNER, ô 3D Human Modeling and Animation ”, John Wiley & Sons Publishers, 2nd Ed, Computer Animation program at James Madison University, 2003, ch 6, http://www.3dlinks.com/tutorials/GENERAL/Chapter6_1.cfm

[8] Manuel JENNI, ô Automated 3D Human Body Modeling for Real-Time Applications ằ, Rapport de stage au 5 th semestre effectuộ à l’Ecole polytechnique fédérale de laussance, novembre 1999,

[9] Ghinwa KRAYEM et Rola ZAITER, ôAcquisition du geste humain par vision artificielle ô , Rapport de Stage de fin d’ộtudes de l’Universitộ Libanaise effectuộ à l’INT, juillet 2001

[10] H-ANIM, ô The Humanoid Animation Specificationằ, Information technology -

Computer graphics and image processing The Humanoid Animation Specification (H-

Anim), 2001, http://www.h-anim.org/Specifications/H-Anim2001/

[11] SIGGRAPH 96, ôIntroduction to VRML 2 0ằ , On-line course materials http://www.sdsc.edu/siggraph96vrml/

[12] Alain BOUCHER, ô Synthốse d’image ô , Support du cours à l’IFI, Hanọ, Vietnam, octobre 2002, chp.7

[13] H.Ouhaddi, P Horain, K Mikolajczyk, "Modélisation et suivi de la main", Actes des 4èmes Journées d'études et d'échanges "Compression et REprésentation des Signaux Audiovisuels" (CORESA'98), Lannion, France, 9-10 June 1998, pp 109-114, http://www-eph.int-evry.fr/~horain/Publications/coresa98-ouhaddi.pdf

[14] M.Woo, J.Neider, T.Davis, D.Shreinner, ôOpenGL 1.2 ô, 3 e ộdition, Campus Press, France, 2000

[15] R Cutler, M Turk, “View-Based Interpretation of Real-Time Optical Flow for Gesture Recognition”, in Proc IEEE Conference on Automatic Face and Gesture Recognition, April 14–16, 1998, Nara Japan,

Ngày đăng: 06/12/2022, 15:48