• Aucun résultat trouvé

Mise en oeuvre exp´ erimentale

Deuxi` eme partie

6.1 Mise en oeuvre exp´ erimentale

Dans cette partie, nous d´ecrivons l’ensemble du dispositif exp´erimental que nous avons mis en place pour effectuer la capture du mouvement. Dans le cadre du projet

semocap, l’inriaa d´evelopp´e les logiciels d’une chaˆıne compl`ete de capture des acteurs et de leurs mouvements, sur une architecture mat´erielle d´evelopp´ee par asica. Les d´eveloppements n´ecessaires sont une part importante du travail r´ealis´e pendant la th`ese. En effet, la soci´et´eArtefactOdoit pouvoir utiliser l’ensemble des d´eveloppements pour utiliser le syst`eme de capture du mouvement. Nous avons donc fait en sorte de fournir des d´eveloppements utilisables par les protagonistes du projet.

6.1.1 Le mat´eriel

Le syst`eme est constitu´e de plusieurs cam´eras ieee1394 industrielles (nombre va-riable) connect´ees chacune `a unminipc. Chaque minipcest connect´e par r´eseau Ether-net `a un poste principal (poste maˆıtre). Le poste maˆıtre contient une ihm (Interface Homme-Machine) permettant de r´egler chaque cam´era, de visualiser les flux vid´eos et de les enregistrer, `a la mani`ere d’une «r´egie vid´eo».

Sur la figure 6.1, nous remarquons que chaque cam´era est reli´ee `a un boˆıtier de synchronisation. Les cam´eras utilis´ees offrent une possibilit´e de synchronisation par une source externe. Le boˆıtier de synchronisation envoie `a intervalles r´eguliers un signal qui d´eclenche la capture d’une image sur chaque cam´era. Le flux vid´eo est enregistr´e sur le

minipc reli´e `a la cam´era.

Les cam´eras sont dispos´ees sur des supports mobiles permettant une grande flexi-bilit´e pour la configuration de l’espace d’acquisition. Afin de minimiser les pertes de

158 6.1 Mise en oeuvre exp´erimentale

Fig. 6.1: Dans le cadre du projet semocap, nous avons utilis´e quatre cam´eras Fire-Wire accompagn´ees d’unminipc. Chacune des cam´eras est synchronis´ee par un boˆıtier externe et command´ee par un pc maˆıtre permettant aussi de visualiser les donn´ees acquises.

signal, les pc (ouminipc) sont dispos´es `a moins de cinq m`etres des cam´eras. La flexi-bilit´e est alors au niveau du cˆablage entre les diff´erents pc et le poste maˆıtre. Le pc

maˆıtre est donc plac´e en dehors du champ de vue de l’ensemble des cam´eras.

L’´eclairage de la sc`ene de capture est un point tr`es important. Afin d’avoir un ´eclairage constant et diffus, nous avons opt´e pour des Kinoflo. Ces lampes tr`es utilis´ees lors des tournages pour la t´el´evision permettent de limiter les ombres dans la sc`ene de capture.

Le coˆut mat´eriel du syst`eme d´epend du nombre de cam´eras. Il faut compter environ 2000✘par cam´era etpc(ouminipc) associ´e, et environ 2000✘´egalement pour la station maˆıtre et le module de synchronisation. Pour le syst`eme muni de quatre cam´eras, le coˆut mat´eriel du syst`eme est de l’ordre de 10 000 ✘.

Lors de l’installation du mat´eriel, nous devons faire attention aux deux points sui-vant :

Le volume d’acquisition : A nombre de cam´era donn´e, il existe un compromis entre le volume d’acquisition et la pr´ecision avec laquelle la capture du mouvement est faite. En effet, plus le volume d’acquisition est grand, plus le champ de vue des cam´eras doit ˆetre grand et donc plus petite sera la r´esolution de l’acteur. L’estimation du mouvement s’en retrouvera donc moins pr´ecise. Le placement des cam´eras joue aussi un rˆole important. En effet, les diff´erentes cam´eras doivent ˆetre plac´ees de sorte `a couvrir au mieux l’acteur. Lors de notre s´eance d’acquisition `

R´esultats 159

sorte `a maximiser le volume d’acquisition. Cependant, ce placement de cam´eras a contraint l’acteur `a effectuer des mouvements face aux cam´eras. Dans le cadre de la plate-formegrimage, nous disposons de six `a huit cam´eras ce qui permet de cou-vrir un espace beaucoup plus complet. Sur cette derni`ere plate-forme, nous avons opt´e pour des acquisitions avec une r´esolution ´elev´ee et donc un volume restreint. Ainsi, des mouvements plus complexes et plus rapides peuvent ˆetre captur´es. L’´eclairage et l’environnement d’acquisition : pour pouvoir effectuer une

sous-traction de fond optimale, il est n´ecessaire d’avoir un ´eclairage constant de la sc`ene et qui minimise les ombres port´ees de l’acteur (que ce soit sur le sol ou sur les murs). Un ´eclairage trop important peut aussi nuire `a la visibilit´e des contours ou des couleurs dans les images. De plus, le fond de l’image doit ˆetre statique. Dans le cadre de nos acquisitions `a Rennes, cette derni`ere condition n’´etait pas remplie, non pas `a cause de mouvements dans la pi`ece mais `a cause de l’´eclairage de la sc`ene par les spots de led du syst`eme vicon. Le clignotement des led a rendu la soustraction de fond tr`es bruit´ee.

6.1.2 Principe de fonctionnement

Depuis le poste maˆıtre, l’utilisateur r`egle les param`etres des diff´erentes cam´eras (lu-minosit´e, saturation,etc.) afin de r´ealiser la capture dans les meilleurs conditions. Tou-jours `a partir du poste maˆıtre, l’utilisateur lance ensuite l’enregistrement des s´equences. Le format utilis´e pour les vid´eos est leblkqui est un format li´e `a la biblioth`eque Blinky (d´evelopp´ee en interne `a l’inria) qui est utilis´ee dans les d´eveloppements de l’inria.

L’acquisition des s´equences vid´eo se d´eroule en plusieurs ´etapes :

Calibrage du syst`eme : Cette phase permet de s’assurer que le syst`eme est op´erationnel (flux synchronis´es et enregistrement des s´equences vid´eo op´erationnel) et d’estimer les param`etres des cam´eras.

Acquisition du fond : Nous proc´edons `a l’acquisition de la sc`ene vide. Cette s´equence sera ensuite utilis´ee pour l’apprentissage du fond et permettra de construire un mod`ele de celui-ci. Ce mod`ele sera par la suite utilis´e pour la segmentation des images, c’est-`a-dire la s´eparation de l’acteur du reste de la sc`ene.

Acquisition des s´equences : Les mouvements sont acquis et m´emoris´es sous forme de vid´eos.

Traitement des s´equences et extraction du mouvement : Plusieurs calculs sont n´ecessaires `a l’extraction du mouvement et `a la g´en´eration d’un fichier exploitable dans une application 3D.

Calibrage du syst`eme Outre la v´erification du bon fonctionnement de l’ensemble du syst`eme, cette ´etape permet de d´eterminer la position et l’orientation des cam´eras dans un rep`ere commun ainsi que les param`etres internes de chacune d’elles (la fo-cale et la distorsion). Afin de d´eterminer tous ces param`etres, nous utilisons un bˆaton dot´e de quatre marqueurs lumineux (pour ˆetre facilement vu lors des traitements),

160 6.1 Mise en oeuvre exp´erimentale

dont les positions relatives sont connues pr´ecis´ement. Trois s´equences sont enregistr´ees. Les deux premi`eres, au cours desquelles le bˆaton est pos´e au sol, permettent de fixer le r´ef´erentiel du monde dans lequel l’ensemble des coordonn´ees des cam´eras seront donn´ees. La troisi`eme s´equence est un mouvement du bˆaton dans le volume d’acquisition. Elle per-met de d´eterminer l’ensemble des param`etres (extrins`eques et intrins`eques) des cam´eras. Nous pr´esentons quelques captures d’´ecran dans l’annexe ??.

Acquisition des s´equences de fond Il est n´ecessaire de connaˆıtre l’environnement de capture pour extraire la silhouette de l’acteur dans les images. C’est pourquoi, avant de pouvoir acqu´erir les s´equences des mouvements, il faut enregistrer une s´equence vid´eo sans l’acteur. En pratique, pendant cette acquisition, nous faisons varier l’´eclairage afin de rendre robuste les algorithmes de soustraction de fond aux variations lumineuses naturelles. Cette acquisition doit ˆetre r´ep´et´ee s’il survient un changement dans la sc`ene :

– Mouvement d’un objet de le champ de vue d’une cam´era, – Mouvement d’une cam´era,

– Changement notable des conditions d’´eclairage.

Les s´equences de fond permettent de construire un mod`ele statistique pour chaque pixel. Ce mod`ele doit ˆetre suffisamment robuste pour supporter les variations mod´er´ees de lumi`eres et les ombres. De la robustesse du mod`ele d´ependra la qualit´e des silhouettes qui serviront `a la capture de mouvement.

Acquisition des s´equences La fr´equence d’acquisition des cam´eras est relativement faible puisqu’elle est de l’ordre de 30 images/seconde. Cette fr´equence contraint la vitesse d’ex´ecution des mouvements. En effet des mouvements trop rapides peuvent entraˆıner l’apparition de flou dans les images si le temps d’exposition des cam´eras est trop long. Pour palier `a ce flou, un bon ´eclairage de la sc`ene est n´ecessaire (pour r´eduire le temps d’exposition des cam´eras).

De plus, les mouvements doivent ˆetre adapt´es au nombre de cam´eras. Au cours de la th`ese, j’ai pu tester diverses configurations avec un nombre variable de cam´eras. A Rennes, nous disposions de quatre cam´eras dispos´ees en demi-cercle (c.f. illustration 6.2-(a)), tandis que sur la plate-forme grimage, nous avions six `a huit cam´eras avec diff´erentes configurations se rapprochant de celle illustr´ee par la figure 6.2-(b).

Les s´equences vid´eo sont enregistr´ees au format raw ou avec une compression sans pertes. Pour le format non compress´e, l’espace disque n´ecessaire est cons´equent : pour une vid´eo de dix secondes, l’espace de stockage est

10 |{z} sec. × |{z}30 img./s. × |{z}3 R,G,B ×780| {z×580} taille image = 400Mo (6.1)

pour chaque cam´era.

Le syst`emevicon Les acquisitions que nous avons effectu´ees `a Rennes ont ´et´e men´ees en parall`ele avec un syst`eme vicon. Ce dernier nous a permis d’obtenir des donn´ees

R´esultats 161

(a)

(b)

Fig.6.2: Selon la configuration de cam´era utilis´ee, les mouvements peuvent ˆetre plus ou moins complexes. La configuration (a) oblige l’acteur `a effectuer des mouvements face aux cam´eras et quasi-planaires. La seconde configuration (b) autorise n’importe quel mouvement, mais dans un espace restreint.

162 6.1 Mise en oeuvre exp´erimentale

consid´er´ees comme v´erit´e terrain pour ´evaluer la pr´ecision de notre algorithme d’esti-mation du mouvement.

Nous avons utilis´e le syst`eme avec huit cam´eras. Chacune des cam´eras est dot´ee d’une unit´e de traitement permettant d’extraire les marqueurs vus dans les images. Toutes les cam´eras sont reli´ees `a une unit´e de synchronisation et de traitement des donn´ees. Cette unit´e a donc la charge d’effectuer la reconstruction3D en temps r´eel des marqueurs. Les cam´eras sont des syst`emes rapides pouvant avoir une fr´equence d’acquisition de 120 Hz. Le coˆut du syst`eme est de l’ordre de 300 000 ✘, ce qui inclut le mat´eriel et les logiciels de calibrage et d’exploitation.

Les traitements Ceux-ci sont effectu´es selon une proc´edure naturelle. Dans un pre-mier temps, le syst`eme est calibr´e. Puis les mod`eles de fond pour chacune des s´equences vid´eo sont construits. Ensuite, le mod`ele 3D de l’acteur est dimensionn´e. Vient l’esti-mation du mouvement avec la g´en´eration d’un fichier de typebvh(d´ecrit dans l’annexe C). Ce fichier permet d’´echanger avec l’uhbles donn´ees des mouvements estim´es. L’uhb

utilise le fichierbvhpour g´en´erer un squelette adimensionn´e ainsi que le mouvement as-soci´e, filtr´e et corrig´e, pour pouvoir animer diff´erents mod`eles graphiques d’acteur. Cette derni`ere animation est utilis´ee par ArtefactOpour pr´e-produire des cin´ematiques de jeux vid´eo ludiques.

6.1.3 Les logiciels

Dans la section pr´ec´edente, nous avons pr´esent´e le mat´eriel que nous avons utilis´e pour effectuer la capture du mouvement, que ce soit avec les partenaires du projet `a Rennes ou au sein de l’inriaavec la plate-formegrimage. A l’inria, avons impl´ement´e un prototype complet pour le suivi :

– mvcamera qui permet la v´erification du fonctionnement du syst`eme et la cali-bration des cam´eras. Deux captures d’´ecran montrent l’application. 6.3 montre la visualisation des donn´ees vid´eos acquises. 6.4 est une vue 3D de la position des cam´eras avec la trajectoire du bˆaton de calibration au centre.

– mvbackgroundest un outil en ligne de commande permettant d’effectuer l’ap-prentissage du mod`ele de l’image pour la soustraction de fond.

– mvactor permet de dimensionner le mod`ele 3D pour que celui-ci soit correcte-ment adapt´e `a la morphologie de l’acteur (des captures d’´ecran sont visibles avec la figure ??du chapitre 5).

– mvposerpermet d’effectuer l’estimation des param`etres de pose. Les figures 6.5, 6.6 et 6.7 sont des captures d’´ecran de l’application.

Dans la suite de ce paragraphe, nous pr´esentons rapidement les outils que nous avons utilis´es pour impl´ementer ces logiciels.

Interface Graphique L’ensemble des interfaces a ´et´e d´evelopp´e avecQT1. Cet en-vironnement nous permet de cr´eer une interface graphique permettant de visualiser

R´esultats 163

Fig. 6.3: La vue principale de l’interface permet de r´egler les param`etres pour la cali-bration et de visualiser les images avec les marqueurs extraits.

164 6.1 Mise en oeuvre exp´erimentale

Fig.6.4: Nous repr´esentons dans la vue3D l’ensemble des cam´eras ainsi que les trajec-toires des marqueurs au cours de la s´equence de calibration.

R´esultats 165

Fig. 6.5: La vue principale de l’interface permet de r´egler les param`etres pour la cali-bration et de visualiser les images avec les marqueurs extraits.

166 6.1 Mise en oeuvre exp´erimentale

Fig. 6.6: La vue OpenGL de l’application permet de visualiser en 3D et donc plus facilement l’´evolution du mod`ele lors de l’estimation du mouvement. A droite nous pouvons apercevoir des curseurs permettant de rectifier la pose de l’acteur si n´ecessaire

R´esultats 167

Fig. 6.7: Cette vue, diff´erente de la vue principale, permet d’afficher divers r´esultats comme les images avec les silhouettes, les cartes de chanfrein, le mod`ele3Dprojet´e dans les images etc.

168 6.1 Mise en oeuvre exp´erimentale

l’ensemble des r´esultats mais aussi d’interagir avec l’ensemble des algorithmes que nous avons impl´ement´es (notamment le r´eglage dynamique des param`etres, comme par exemple lors de la d´etection de contours standard). Avec cette interface nous pouvons afficher aussi bien des donn´ees 2D comme des images que du contenu 3D comme le mod`ele 3D de l’acteur ou les cam´eras.

Librairies Pour impl´ementer l’ensemble des algorithmes, nous avons utilis´e essentiel-lement deux librairies :OpenCV etminpack. La premi`ere librairie permet d’effectuer les traitements images standards comme la d´etection de contours (Canny), la trans-form´ee en distance, les conversions colorim´etriques des images,etc. La seconde librairie est une impl´ementation efficace en Fortran d’algorithmes d’optimisation. Nous l’avons utilis´e pour effectuer l’estimation des param`etres (algorithme de Levenberg-Marquardt). Nous avons aussi utilis´e une impl´ementation du filtrage anisotropique gaussien pro-pos´e dans [144]. Cette impl´ementation efficace du filtrage nous permet de calculer les cartes de contours utilisant le mod`ele 3D.

Enfin, la librairie OpenGL nous a permis de calculer les cartes de visibilit´e du mod`ele 3D, mais aussi les diagrammes de Vorono¨ı comme d´ecrit au chapitre 5. Ces calculs sont en r´ealit´e effectu´eoff-screen `a l’aide des pbuffers.

R´esultats 169

6.2 R´esultats

Nous allons pr´esenter dans cette section diff´erents r´esultats obtenus sur diverses s´equences vid´eos. Nous allons pr´esenter les r´esultats avec les diff´erentes m´ethodes que nous avons ´evoqu´ees au cours de la th`ese : utilisation des contours (extraits avec un d´etecteur standard ou alors utilisant les contours) et utilisation de la couleur.

Dans une premi`ere partie, nous pr´esentons des r´esultats sur des images synth´etiques permettant de mettre en avant les performances de la m´ethode de suivi utilisant les contours. Nous pr´esentons des r´esultats de suivi du mouvement pour diverses s´equences de mouvement. Tout au long de la th`ese, nous avons fait ´evoluer les diverses tech-niques de suivi du mouvement. Nous montrerons les r´esultats des diverses techtech-niques sur diff´erentes s´equences r´eelles acquises aussi bien sur la plate-forme grimage qu’`a Rennes dans le cadre du projetsemocap.

6.2.1 R´esultats synth´etiques

Les donn´ees synth´etiques ont ´et´e cr´e´ees `a partir d’une estimation du mouvement sur une s´equence vid´eo r´eelle. Il s’agit donc d’un mouvement estim´e que nous utilisons comme v´erit´e terrain. Ce mouvement est donc r´ealiste et permet d’´evaluer les perfor-mances des algorithmes sur des donn´ees id´eales. Un mod`ele 3D est anim´e `a partir de cette estimation. Ce mod`ele est projet´e dans des images afin de cr´eer les silhouettes et les contours de ce mod`ele. Nous utilisons les images g´en´er´ees comme donn´ees d’entr´ee de l’algorithme.

La figure 6.9 montre le mod`ele3D de r´ef´erence dans diff´erentes postures (premi`eres lignes) ainsi que la pose estim´ee (secondes lignes). Les figures 6.8, 6.10, et 6.11 montrent une comparaison de l’estimation des param`etres angulaires avec la v´erit´e terrain. Le graphique 6.8-(a) repr´esente l’erreur moyenne exprim´ee en degr´es entre les param`etres de pose de la v´erit´e terrain et ceux estim´es. Nous pouvons constater que l’erreur moyenne est de moins de deux degr´es except´e `a l’image 98 (o`u nous avons une erreur de l’ordre de 15 degr´es). Cette derni`ere erreur est li´ee `a la mauvaise estimation du mouvement des mains. Cependant, l’algorithme retrouve correctement les param`etres dans la suite du suivi. Le graphique 6.8-(b) repr´esente l’erreur initiale et l’erreur apr`es minimisation en utilisant la m´ethode associ´ee aux contours avec la distance de Hausdorff (chapitre 5 section 5.2.2). L’erreur angulaire `a l’image 98 se traduit par une erreur moyenne de l’ordre de 4 `a 5 pixels.

Les figures 6.10 et 6.11 comparent de mani`ere d´etaill´ee les trajectoires angulaires estim´ees avec les trajectoires de la v´erit´e terrain. Nous pr´esentons la comparaison pour les deux d.d.l. du coude et deux des trois degr´es de libert´e (d.d.l.) de l’´epaule.

170 6.2 R´esultats

(a) (b)

Fig. 6.8: (a) – Erreur moyenne entre le mouvement simul´e et le mouvement estim´e, exprim´ee en degr´es. (b) – Erreur moyenne exprim´ee en pixels avant minimisation (courbe la plus haute) et apr`es minimisation (courbe basse).

6.2.2 Suivi de mouvements sur des s´equences r´eelles

Dans cette section, nous allons pr´esenter diff´erents r´esultats acquis avec diff´erentes configurations de cam´eras.

Pour effectuer les acquisitions, nous avons utilis´e deux syst`emes, l’un avec 6 cam´eras `

a l’inria, et l’autre avec 4 cam´eras `a Rennes. Les deux syst`emes sont ´equivalents. Les diff´erences r´esident dans les optiques des cam´eras et la flexibilit´e du syst`eme. A Rennes, nous avons opt´e pour un syst`eme d´emontable ais´ement. Les cam´eras sont donc mont´ees sur pieds et d´epla¸cables selon la configuration voulue. Sur la plate-forme grimage, les cam´eras sont mont´ees sur un portique.