tout ce que vous avez toujours voulu savoir sur la kinect

52
Pr´ esentation de la kinect Une vue de profondeur Capture de mouvement Tout ce que vous avez toujours voulu savoir sur la Kinect Edouard Auvinet DIRO - Universit´ e de Montr´ eal - M2S - Universit´ e de Rennes 2 May 18, 2011 Edouard Auvinet Tout ce que vous avez toujours voulu savoir sur la Kinect

Upload: others

Post on 06-May-2022

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Tout ce que vous avez toujours voulu savoir sur la Kinect

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

Page 2: 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

Page 3: 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

Page 4: 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

Page 5: 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

Page 6: 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

Page 7: 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

Page 8: 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

Page 9: 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

Page 10: 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

Page 11: 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

Page 12: 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

Page 13: 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

Page 14: 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

Page 15: 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

Page 16: 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

Page 17: 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

Page 18: 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

Page 19: 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

Page 20: 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

Page 21: 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

Page 22: 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

Page 23: 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

Page 24: 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

Page 25: 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

Page 26: 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

Page 27: 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

Page 28: 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

Page 29: 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

Page 30: 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

Page 31: 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

Page 32: 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

Page 33: 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

Page 34: 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

Page 35: 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

Page 36: 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

Page 37: 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

Page 38: 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

Page 39: 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

Page 40: 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

Page 41: 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

Page 42: 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

Page 43: 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

Page 44: 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

Page 45: 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

Page 46: 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

Page 47: 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

Page 48: 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

Page 49: 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

Page 50: 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

Page 51: 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

Page 52: 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