Upload
others
View
5
Download
0
Embed Size (px)
Citation preview
Presentation de la kinectUne vue de profondeur
Capture de mouvement
Tout ce que vous avez toujours voulu savoir sur laKinect
Edouard Auvinet
DIRO - Universite de Montreal - M2S - Universite de Rennes 2
May 18, 2011
Edouard Auvinet Tout ce que vous avez toujours voulu savoir sur la Kinect
Presentation de la kinectUne vue de profondeur
Capture de mouvement
Sommaire
1 Presentation de la kinectLes composants
Les camerasLe projecteur Infra-RougeLes autres elements
2 Une vue de profondeurCalcul de la profondeur
3 Capture de mouvementLes carateristiques issues de la carte de profondeurLa classification des pixelsLocalisation du squelette
Edouard Auvinet Tout ce que vous avez toujours voulu savoir sur la Kinect
Presentation de la kinectUne vue de profondeur
Capture de mouvement
Sommaire
1 Presentation de la kinectLes composants
Les camerasLe projecteur Infra-RougeLes autres elements
2 Une vue de profondeurCalcul de la profondeur
3 Capture de mouvementLes carateristiques issues de la carte de profondeurLa classification des pixelsLocalisation du squelette
Edouard Auvinet Tout ce que vous avez toujours voulu savoir sur la Kinect
Presentation de la kinectUne vue de profondeur
Capture de mouvement
Sommaire
1 Presentation de la kinectLes composants
Les camerasLe projecteur Infra-RougeLes autres elements
2 Une vue de profondeurCalcul de la profondeur
3 Capture de mouvementLes carateristiques issues de la carte de profondeurLa classification des pixelsLocalisation du squelette
Edouard Auvinet Tout ce que vous avez toujours voulu savoir sur la Kinect
Presentation de la kinectUne vue de profondeur
Capture de mouvementLes composants
L’objet en Question
Edouard Auvinet Tout ce que vous avez toujours voulu savoir sur la Kinect
Presentation de la kinectUne vue de profondeur
Capture de mouvementLes composants
La camera couleur
Emplacement Caracteristiques
1 CMOS 1280 x 1024pixels,
2 15 image/s,
3 30 image/s a 640x480.
Edouard Auvinet Tout ce que vous avez toujours voulu savoir sur la Kinect
Presentation de la kinectUne vue de profondeur
Capture de mouvementLes composants
La camera couleur
Emplacement Caracteristiques
1 CMOS 1280 x 1024pixels,
2 15 image/s,
3 30 image/s a 640x480.
Edouard Auvinet Tout ce que vous avez toujours voulu savoir sur la Kinect
Presentation de la kinectUne vue de profondeur
Capture de mouvementLes composants
La camera couleur
Emplacement Caracteristiques
1 CMOS 1280 x 1024pixels,
2 15 image/s,
3 30 image/s a 640x480.
Edouard Auvinet Tout ce que vous avez toujours voulu savoir sur la Kinect
Presentation de la kinectUne vue de profondeur
Capture de mouvementLes composants
La camera infra-rouge
Emplacement Caracteristiques
1 CMOS 1280 x 1024pixels,
2 30 image/s.
Edouard Auvinet Tout ce que vous avez toujours voulu savoir sur la Kinect
Presentation de la kinectUne vue de profondeur
Capture de mouvementLes composants
La camera infra-rouge
Emplacement Caracteristiques
1 CMOS 1280 x 1024pixels,
2 30 image/s.
Edouard Auvinet Tout ce que vous avez toujours voulu savoir sur la Kinect
Presentation de la kinectUne vue de profondeur
Capture de mouvementLes composants
Le projecteur
Emplacement Caracteristiques
1 pattern de points lumineux fixesdans le temps,
2 Infra-rouge proche.
Edouard Auvinet Tout ce que vous avez toujours voulu savoir sur la Kinect
Presentation de la kinectUne vue de profondeur
Capture de mouvementLes composants
Le projecteur
Emplacement Caracteristiques
1 pattern de points lumineux fixesdans le temps,
2 Infra-rouge proche.
Edouard Auvinet Tout ce que vous avez toujours voulu savoir sur la Kinect
Presentation de la kinectUne vue de profondeur
Capture de mouvementLes composants
Les autres elements
Caracteristiques
1 micros audio,
2 accelerometre,
3 moteur d’elevation.
Edouard Auvinet Tout ce que vous avez toujours voulu savoir sur la Kinect
Presentation de la kinectUne vue de profondeur
Capture de mouvementLes composants
Les autres elements
Caracteristiques
1 micros audio,
2 accelerometre,
3 moteur d’elevation.
Edouard Auvinet Tout ce que vous avez toujours voulu savoir sur la Kinect
Presentation de la kinectUne vue de profondeur
Capture de mouvementLes composants
Les autres elements
Caracteristiques
1 micros audio,
2 accelerometre,
3 moteur d’elevation.
Edouard Auvinet Tout ce que vous avez toujours voulu savoir sur la Kinect
Presentation de la kinectUne vue de profondeur
Capture de mouvementCalcul de la profondeur
Le pattern de depart
La mise de depart
Edouard Auvinet Tout ce que vous avez toujours voulu savoir sur la Kinect
Presentation de la kinectUne vue de profondeur
Capture de mouvementCalcul de la profondeur
Objectif
Mesure de l’image
Carte de profondeur
Edouard Auvinet Tout ce que vous avez toujours voulu savoir sur la Kinect
Presentation de la kinectUne vue de profondeur
Capture de mouvementCalcul de la profondeur
Objectif
Mesure de l’image Carte de profondeur
Edouard Auvinet Tout ce que vous avez toujours voulu savoir sur la Kinect
Presentation de la kinectUne vue de profondeur
Capture de mouvementCalcul de la profondeur
Petit concept : La geometrie epipolaire
La ligne epiplaire dans le cas general
Image 1
X
xG
xD
OG OD
Image 2
eG eD
Auteur : Norro Wikipedia
Edouard Auvinet Tout ce que vous avez toujours voulu savoir sur la Kinect
Presentation de la kinectUne vue de profondeur
Capture de mouvementCalcul de la profondeur
Le calcul de la profondeur
La mise de depart
Projecteur Camera
Edouard Auvinet Tout ce que vous avez toujours voulu savoir sur la Kinect
Presentation de la kinectUne vue de profondeur
Capture de mouvementCalcul de la profondeur
Le calcul de la profondeur
On selectionne un point
Projecteur Camera
Edouard Auvinet Tout ce que vous avez toujours voulu savoir sur la Kinect
Presentation de la kinectUne vue de profondeur
Capture de mouvementCalcul de la profondeur
Le calcul de la profondeur
Calcul de la signature du voisinage
Projecteur Camera
Edouard Auvinet Tout ce que vous avez toujours voulu savoir sur la Kinect
Presentation de la kinectUne vue de profondeur
Capture de mouvementCalcul de la profondeur
Le calcul de la profondeur
Trace de la ligne epipolaire
Projecteur Camera
Edouard Auvinet Tout ce que vous avez toujours voulu savoir sur la Kinect
Presentation de la kinectUne vue de profondeur
Capture de mouvementCalcul de la profondeur
Le calcul de la profondeur
Recherche des correspondants possibles sur la ligne epipolaire
Projecteur Camera
Edouard Auvinet Tout ce que vous avez toujours voulu savoir sur la Kinect
Presentation de la kinectUne vue de profondeur
Capture de mouvementCalcul de la profondeur
Le calcul de la profondeur
Recherche du correspondant grace au voisinage
Projecteur Camera
Edouard Auvinet Tout ce que vous avez toujours voulu savoir sur la Kinect
Presentation de la kinectUne vue de profondeur
Capture de mouvementCalcul de la profondeur
Le calcul de la profondeur
Projection du point de mesure dans l’image du pattern dereference
Projecteur Camera
Edouard Auvinet Tout ce que vous avez toujours voulu savoir sur la Kinect
Presentation de la kinectUne vue de profondeur
Capture de mouvementCalcul de la profondeur
Le calcul de la profondeur
Mesure de l’ecart
Projecteur Camera
d
Edouard Auvinet Tout ce que vous avez toujours voulu savoir sur la Kinect
Presentation de la kinectUne vue de profondeur
Capture de mouvementCalcul de la profondeur
Conversion
Calcul de la profondeur a partir de la disparite
La profondeur est l’inverse de la disparite et est obtenue gracea l’equation suivante :
Z = 1−0.0030711016d+3.3309495161
Ou d est la disparite Auteur : Nicolas Burrus
Lignes epipolaires de la kinect
Dans le cas ou la relation entre le projecteur et la camerainfra-rouge est juste une translation laterale (cas suppose dela kinect), les lignes epipolaires sont horizontales.
Edouard Auvinet Tout ce que vous avez toujours voulu savoir sur la Kinect
Presentation de la kinectUne vue de profondeur
Capture de mouvementCalcul de la profondeur
Resultat
Mesure de l’image Carte de profondeur
Edouard Auvinet Tout ce que vous avez toujours voulu savoir sur la Kinect
Presentation de la kinectUne vue de profondeur
Capture de mouvementCalcul de la profondeur
Resultat
Mesure brute : disparite
Carte de profondeur
Edouard Auvinet Tout ce que vous avez toujours voulu savoir sur la Kinect
Presentation de la kinectUne vue de profondeur
Capture de mouvementCalcul de la profondeur
Resultat
Mesure brute : disparite Carte de profondeur
Edouard Auvinet Tout ce que vous avez toujours voulu savoir sur la Kinect
Presentation de la kinectUne vue de profondeur
Capture de mouvement
Les carateristiques issues de la carte de profondeurLa classification des pixelsLocalisation du squelette
Objectif
D’une carte de profondeur a un squelette
Edouard Auvinet Tout ce que vous avez toujours voulu savoir sur la Kinect
Presentation de la kinectUne vue de profondeur
Capture de mouvement
Les carateristiques issues de la carte de profondeurLa classification des pixelsLocalisation du squelette
Presentation generale de la methode
Carte des classes
Processus de localisation du squelette
Edouard Auvinet Tout ce que vous avez toujours voulu savoir sur la Kinect
Presentation de la kinectUne vue de profondeur
Capture de mouvement
Les carateristiques issues de la carte de profondeurLa classification des pixelsLocalisation du squelette
Presentation generale de la methode
Carte des classes
Processus de localisation du squelette
Edouard Auvinet Tout ce que vous avez toujours voulu savoir sur la Kinect
Presentation de la kinectUne vue de profondeur
Capture de mouvement
Les carateristiques issues de la carte de profondeurLa classification des pixelsLocalisation du squelette
Les caracteristiques
Ensemble de caracteristiques
fθ (I , x) = dI
(x + u
dI (x)
)− dI
(x + v
dI (x)
)pour le pixel x avec I l’image de profondeur, dI (x) laprofondeur du pixel et θ = (u, v) des parametres pre-definis
Exemples
Edouard Auvinet Tout ce que vous avez toujours voulu savoir sur la Kinect
Presentation de la kinectUne vue de profondeur
Capture de mouvement
Les carateristiques issues de la carte de profondeurLa classification des pixelsLocalisation du squelette
Les particularites de ce type de caracteristiques
Ensemble de caracteristiques
fθ (I , x) = dI
(x + u
dI (x)
)− dI
(x + v
dI (x)
)pour le pixel x avec I l’image de profondeur, dI (x) la profondeur dupixel et θ = (u, v) des parametres pre-definis
Invariantes en fonction de la profondeur
Ceci grace aux rapports par dI (x) pour les parametres u et v
Edouard Auvinet Tout ce que vous avez toujours voulu savoir sur la Kinect
Presentation de la kinectUne vue de profondeur
Capture de mouvement
Les carateristiques issues de la carte de profondeurLa classification des pixelsLocalisation du squelette
Les particularites de ce type de caracteristiques
Ensemble de caracteristiques
fθ (I , x) = dI
(x + u
dI (x)
)− dI
(x + v
dI (x)
)pour le pixel x avec dI (x) sa profondeur et θ = (u, v) desparametres pre-definis
Efficacite de calcul
Pour chaque pixel et par caracteristique :
1 3 pixels a lire
2 5 operations arithmetiques
3 Calcul particulierement adapte au GPU
Edouard Auvinet Tout ce que vous avez toujours voulu savoir sur la Kinect
Presentation de la kinectUne vue de profondeur
Capture de mouvement
Les carateristiques issues de la carte de profondeurLa classification des pixelsLocalisation du squelette
Les particularites de ce type de caracteristiques
Ensemble de caracteristiques
fθ (I , x) = dI
(x + u
dI (x)
)− dI
(x + v
dI (x)
)pour le pixel x avec dI (x) sa profondeur et θ = (u, v) desparametres pre-definis
Efficacite de calcul
Pour chaque pixel et par caracteristique :
1 3 pixels a lire
2 5 operations arithmetiques
3 Calcul particulierement adapte au GPU
Edouard Auvinet Tout ce que vous avez toujours voulu savoir sur la Kinect
Presentation de la kinectUne vue de profondeur
Capture de mouvement
Les carateristiques issues de la carte de profondeurLa classification des pixelsLocalisation du squelette
Les particularites de ce type de caracteristiques
Ensemble de caracteristiques
fθ (I , x) = dI
(x + u
dI (x)
)− dI
(x + v
dI (x)
)pour le pixel x avec dI (x) sa profondeur et θ = (u, v) desparametres pre-definis
Efficacite de calcul
Pour chaque pixel et par caracteristique :
1 3 pixels a lire
2 5 operations arithmetiques
3 Calcul particulierement adapte au GPU
Edouard Auvinet Tout ce que vous avez toujours voulu savoir sur la Kinect
Presentation de la kinectUne vue de profondeur
Capture de mouvement
Les carateristiques issues de la carte de profondeurLa classification des pixelsLocalisation du squelette
Vue generale de la methode
Processus de localisation du squelette
Edouard Auvinet Tout ce que vous avez toujours voulu savoir sur la Kinect
Presentation de la kinectUne vue de profondeur
Capture de mouvement
Les carateristiques issues de la carte de profondeurLa classification des pixelsLocalisation du squelette
La classification
Carte des classes
Classificateur : les forets d’arbres decisionnels
Edouard Auvinet Tout ce que vous avez toujours voulu savoir sur la Kinect
Presentation de la kinectUne vue de profondeur
Capture de mouvement
Les carateristiques issues de la carte de profondeurLa classification des pixelsLocalisation du squelette
La classification
Carte des classes
Classificateur : les forets d’arbres decisionnels
Edouard Auvinet Tout ce que vous avez toujours voulu savoir sur la Kinect
Presentation de la kinectUne vue de profondeur
Capture de mouvement
Les carateristiques issues de la carte de profondeurLa classification des pixelsLocalisation du squelette
La classification
Classification finale de chaque pixel
P (c | I , x) = 1T
∑Tt=1 Pt (c | I , x)
Apprentissage des arbres et des P (c | I , x)
1 Des propositions aleatoires de separateur sontevaluees sur un ensemble de (I , x) avec unedistribution egale sur toutes les classes.
2 Execution de l’apprentissage sur cluster : 3 arbresde profondeur de 20 sur une base de 1 milliond’images prend 1 jour sur 1000 coeurs.
Edouard Auvinet Tout ce que vous avez toujours voulu savoir sur la Kinect
Presentation de la kinectUne vue de profondeur
Capture de mouvement
Les carateristiques issues de la carte de profondeurLa classification des pixelsLocalisation du squelette
La classification
Classification finale de chaque pixel
P (c | I , x) = 1T
∑Tt=1 Pt (c | I , x)
Apprentissage des arbres et des P (c | I , x)
1 Des propositions aleatoires de separateur sontevaluees sur un ensemble de (I , x) avec unedistribution egale sur toutes les classes.
2 Execution de l’apprentissage sur cluster : 3 arbresde profondeur de 20 sur une base de 1 milliond’images prend 1 jour sur 1000 coeurs.
Edouard Auvinet Tout ce que vous avez toujours voulu savoir sur la Kinect
Presentation de la kinectUne vue de profondeur
Capture de mouvement
Les carateristiques issues de la carte de profondeurLa classification des pixelsLocalisation du squelette
Vue generale de la methode
Processus de localisation du squelette
Edouard Auvinet Tout ce que vous avez toujours voulu savoir sur la Kinect
Presentation de la kinectUne vue de profondeur
Capture de mouvement
Les carateristiques issues de la carte de profondeurLa classification des pixelsLocalisation du squelette
Localisation des articulations
Utilisation du Mean Shit pour obtenir la positionsurfacique
fc (x) ∝∑N
i=1 wice
(−‖ x−xi
bc‖2)
ou wic = P (c | I , x) .dI (xi)2 et x la projection dans
l’espace du pixel xi
Position reelle
La position reelle est calculee en ajoutant un ecartdefini pour chaque classe obtenue par apprentissage
Edouard Auvinet Tout ce que vous avez toujours voulu savoir sur la Kinect
Presentation de la kinectUne vue de profondeur
Capture de mouvement
Les carateristiques issues de la carte de profondeurLa classification des pixelsLocalisation du squelette
Vue generale de la methode
Processus de localisation du squelette
Edouard Auvinet Tout ce que vous avez toujours voulu savoir sur la Kinect
Presentation de la kinectUne vue de profondeur
Capture de mouvement
Les carateristiques issues de la carte de profondeurLa classification des pixelsLocalisation du squelette
Source
Programmes
http://www.openni.orghttps://github.com/avin2/SensorKinect
Publication
1 Us Patent : 2010 0118123, Depth Mapping using projectedpatterns
2 Real-Time Human Pose Recognition in Parts from SingleDepth Images, J. Shotton, Andrew Fitzgibbon, M. Cook, T. Sharp,M. Finocchio, R. Moore, A. Kipman, A. Blake, Microsoft ResearchCambridge & Xbox Incubation, CVPR 2011.
Edouard Auvinet Tout ce que vous avez toujours voulu savoir sur la Kinect
Presentation de la kinectUne vue de profondeur
Capture de mouvement
Les carateristiques issues de la carte de profondeurLa classification des pixelsLocalisation du squelette
Autres utilisations
Utilisations de la kinect dans le laboratoire et publications:
1 Detection de la chute en appartement : ICOST 2011,
2 Analyse de la marche mono kinect : EMBC 2011,
3 Analyse de la marche multi kinect : EMBC 2011.
Edouard Auvinet Tout ce que vous avez toujours voulu savoir sur la Kinect
Presentation de la kinectUne vue de profondeur
Capture de mouvement
Les carateristiques issues de la carte de profondeurLa classification des pixelsLocalisation du squelette
Autres utilisations
Utilisations de la kinect dans le laboratoire et publications:
1 Detection de la chute en appartement : ICOST 2011,
2 Analyse de la marche mono kinect : EMBC 2011,
3 Analyse de la marche multi kinect : EMBC 2011.
Edouard Auvinet Tout ce que vous avez toujours voulu savoir sur la Kinect
Presentation de la kinectUne vue de profondeur
Capture de mouvement
Les carateristiques issues de la carte de profondeurLa classification des pixelsLocalisation du squelette
Autres utilisations
Utilisations de la kinect dans le laboratoire et publications:
1 Detection de la chute en appartement : ICOST 2011,
2 Analyse de la marche mono kinect : EMBC 2011,
3 Analyse de la marche multi kinect : EMBC 2011.
Edouard Auvinet Tout ce que vous avez toujours voulu savoir sur la Kinect
Presentation de la kinectUne vue de profondeur
Capture de mouvement
Les carateristiques issues de la carte de profondeurLa classification des pixelsLocalisation du squelette
Merci de votre attention
Edouard Auvinet Tout ce que vous avez toujours voulu savoir sur la Kinect