RETROUVER LE POINT DE VUE : À PARTIR D’UN CARRÉ AU SOL ... · Calcul de la focale (points de...

53
RETROUVER LE POINT DE VUE : À PARTIR D’UN CARRÉ AU SOL, PARALLÈLE AU PLAN DE PROJECTION

Transcript of RETROUVER LE POINT DE VUE : À PARTIR D’UN CARRÉ AU SOL ... · Calcul de la focale (points de...

Page 1: RETROUVER LE POINT DE VUE : À PARTIR D’UN CARRÉ AU SOL ... · Calcul de la focale (points de fuite p 1, p 2 mesurés en coordonnées homogènes dans l’image) : – V 1 = K-1p

RETROUVER LE POINT DE VUE : À PARTIR D’UN CARRÉ AU SOL, PARALLÈLE AU PLAN DE PROJECTION

Page 2: RETROUVER LE POINT DE VUE : À PARTIR D’UN CARRÉ AU SOL ... · Calcul de la focale (points de fuite p 1, p 2 mesurés en coordonnées homogènes dans l’image) : – V 1 = K-1p

RETROUVER LE POINT DE VUE : À PARTIR D’UN CARRÉ AU SOL, PARALLÈLE AU PLAN DE PROJECTION

Exemple : L'École d'Athènes (Raphaël)

Page 3: RETROUVER LE POINT DE VUE : À PARTIR D’UN CARRÉ AU SOL ... · Calcul de la focale (points de fuite p 1, p 2 mesurés en coordonnées homogènes dans l’image) : – V 1 = K-1p

RETROUVER LE POINT DE VUE : À PARTIR DE DEUX POINTS DE FUITE HORIZONTAUX

Point principal (projection orthogonale du centre optique dans le plan image)

Ligne de terre

Image d’un cube

Page 4: RETROUVER LE POINT DE VUE : À PARTIR D’UN CARRÉ AU SOL ... · Calcul de la focale (points de fuite p 1, p 2 mesurés en coordonnées homogènes dans l’image) : – V 1 = K-1p

RETROUVER LE POINT DE VUE : À PARTIR DE DEUX POINTS DE FUITE HORIZONTAUX

Deux points de fuite correspondant à des directions orthogonales

Page 5: RETROUVER LE POINT DE VUE : À PARTIR D’UN CARRÉ AU SOL ... · Calcul de la focale (points de fuite p 1, p 2 mesurés en coordonnées homogènes dans l’image) : – V 1 = K-1p

RETROUVER LE POINT DE VUE : À PARTIR DE DEUX POINTS DE FUITE HORIZONTAUX

Ligne d’horizon (contient le point principal)

Page 6: RETROUVER LE POINT DE VUE : À PARTIR D’UN CARRÉ AU SOL ... · Calcul de la focale (points de fuite p 1, p 2 mesurés en coordonnées homogènes dans l’image) : – V 1 = K-1p

RETROUVER LE POINT DE VUE : À PARTIR DE DEUX POINTS DE FUITE HORIZONTAUX

Axe principal

Page 7: RETROUVER LE POINT DE VUE : À PARTIR D’UN CARRÉ AU SOL ... · Calcul de la focale (points de fuite p 1, p 2 mesurés en coordonnées homogènes dans l’image) : – V 1 = K-1p

RETROUVER LE POINT DE VUE : À PARTIR DE DEUX POINTS DE FUITE HORIZONTAUX

Comme les deux directions des points de fuite sont perpendiculaires, le centre optique est sur ce cercle

Page 8: RETROUVER LE POINT DE VUE : À PARTIR D’UN CARRÉ AU SOL ... · Calcul de la focale (points de fuite p 1, p 2 mesurés en coordonnées homogènes dans l’image) : – V 1 = K-1p

RETROUVER LE POINT DE VUE : À PARTIR DE DEUX POINTS DE FUITE HORIZONTAUX

Le centre optique est ici !

Page 9: RETROUVER LE POINT DE VUE : À PARTIR D’UN CARRÉ AU SOL ... · Calcul de la focale (points de fuite p 1, p 2 mesurés en coordonnées homogènes dans l’image) : – V 1 = K-1p

RETROUVER LE POINT DE VUE : À PARTIR DE DEUX POINTS DE FUITE HORIZONTAUX

Calcul de la focale (points de fuite p1, p2 mesurés en coordonnées homogènes dans l’image) :– V1 = K-1p1 => vecteur 3D parallèle à la direction du point de fuite p1 dans

le repère caméra

– V2 = K-1p2 => vecteur 3D parallèle à la direction du point de fuite p2 dans le repère caméra

– Les deux directions sont perpendiculaires => V1.V2 = 0

=> (K-1p1)T K-1p2=0

=> p1T K-TK-1p2=0

=> p1T(KKT)-1p2=0

( ) )1,,(et )1,,( si )(

100

010

001

1000000

1000

0

212

2

2

1-T0

0

wwvvwvwvv

u

vuvuvvuuff

f

ff

vu

==+−=⇒

==⇒

= ppKKK ωα

α

Page 10: RETROUVER LE POINT DE VUE : À PARTIR D’UN CARRÉ AU SOL ... · Calcul de la focale (points de fuite p 1, p 2 mesurés en coordonnées homogènes dans l’image) : – V 1 = K-1p

APPLICATION : INTÉGRATION 3D DANS UNE PHOTOGRAPHIE AVEC SKETCHUP

Page 11: RETROUVER LE POINT DE VUE : À PARTIR D’UN CARRÉ AU SOL ... · Calcul de la focale (points de fuite p 1, p 2 mesurés en coordonnées homogènes dans l’image) : – V 1 = K-1p

APPLICATION : INTÉGRATION 3D DANS UNE PHOTOGRAPHIE AVEC SKETCHUP

Page 12: RETROUVER LE POINT DE VUE : À PARTIR D’UN CARRÉ AU SOL ... · Calcul de la focale (points de fuite p 1, p 2 mesurés en coordonnées homogènes dans l’image) : – V 1 = K-1p

RECONSTRUCTION DE LA SCÈNE À L’AIDE DES RAYONS INVERSES

« Projection inverse » de la face au sol

Page 13: RETROUVER LE POINT DE VUE : À PARTIR D’UN CARRÉ AU SOL ... · Calcul de la focale (points de fuite p 1, p 2 mesurés en coordonnées homogènes dans l’image) : – V 1 = K-1p

RECONSTRUCTION DE LA SCÈNE À L’AIDE DES RAYONS INVERSES

Cube reconstruit

Page 14: RETROUVER LE POINT DE VUE : À PARTIR D’UN CARRÉ AU SOL ... · Calcul de la focale (points de fuite p 1, p 2 mesurés en coordonnées homogènes dans l’image) : – V 1 = K-1p

APPLICATION : MODÉLISATION À PARTIR D’UNE PHOTOGRAPHIE AVEC SKETCHUP

Page 15: RETROUVER LE POINT DE VUE : À PARTIR D’UN CARRÉ AU SOL ... · Calcul de la focale (points de fuite p 1, p 2 mesurés en coordonnées homogènes dans l’image) : – V 1 = K-1p

APPLICATION : MODÉLISATION À PARTIR D’UNE PHOTOGRAPHIE AVEC SKETCHUP

Page 16: RETROUVER LE POINT DE VUE : À PARTIR D’UN CARRÉ AU SOL ... · Calcul de la focale (points de fuite p 1, p 2 mesurés en coordonnées homogènes dans l’image) : – V 1 = K-1p

APPLICATION : MODÉLISATION À PARTIR D’UNE PHOTOGRAPHIE AVEC SKETCHUP

Page 17: RETROUVER LE POINT DE VUE : À PARTIR D’UN CARRÉ AU SOL ... · Calcul de la focale (points de fuite p 1, p 2 mesurés en coordonnées homogènes dans l’image) : – V 1 = K-1p

APPLICATION : MODÉLISATION À PARTIR D’UNE PHOTOGRAPHIE AVEC SKETCHUP

Page 18: RETROUVER LE POINT DE VUE : À PARTIR D’UN CARRÉ AU SOL ... · Calcul de la focale (points de fuite p 1, p 2 mesurés en coordonnées homogènes dans l’image) : – V 1 = K-1p

APPLICATION : MODÉLISATION À PARTIR D’UNE PHOTOGRAPHIE AVEC SKETCHUP

Page 19: RETROUVER LE POINT DE VUE : À PARTIR D’UN CARRÉ AU SOL ... · Calcul de la focale (points de fuite p 1, p 2 mesurés en coordonnées homogènes dans l’image) : – V 1 = K-1p

2. VISION BINOCULAIRE

Page 20: RETROUVER LE POINT DE VUE : À PARTIR D’UN CARRÉ AU SOL ... · Calcul de la focale (points de fuite p 1, p 2 mesurés en coordonnées homogènes dans l’image) : – V 1 = K-1p

VISION BINOCULAIRE = STÉRÉOVISION

Deux caméras observent la scène en même temps

Une seule caméra observe la scène à deux instants différents (caméra en mouvement)

Page 21: RETROUVER LE POINT DE VUE : À PARTIR D’UN CARRÉ AU SOL ... · Calcul de la focale (points de fuite p 1, p 2 mesurés en coordonnées homogènes dans l’image) : – V 1 = K-1p

GÉOMETRIE DE DEUX CAMÉRAS

1. VISION BINOCULAIRE

Page 22: RETROUVER LE POINT DE VUE : À PARTIR D’UN CARRÉ AU SOL ... · Calcul de la focale (points de fuite p 1, p 2 mesurés en coordonnées homogènes dans l’image) : – V 1 = K-1p

LA CONTRAINTE ÉPIPOLAIRE

Droite épipolaire

Épipole

Page 23: RETROUVER LE POINT DE VUE : À PARTIR D’UN CARRÉ AU SOL ... · Calcul de la focale (points de fuite p 1, p 2 mesurés en coordonnées homogènes dans l’image) : – V 1 = K-1p

LE FAISCEAU ÉPIPOLAIRE

Page 24: RETROUVER LE POINT DE VUE : À PARTIR D’UN CARRÉ AU SOL ... · Calcul de la focale (points de fuite p 1, p 2 mesurés en coordonnées homogènes dans l’image) : – V 1 = K-1p

LE FAISCEAU ÉPIPOLAIRE

Courtesy Oxford, Visual Geometry Group

Page 25: RETROUVER LE POINT DE VUE : À PARTIR D’UN CARRÉ AU SOL ... · Calcul de la focale (points de fuite p 1, p 2 mesurés en coordonnées homogènes dans l’image) : – V 1 = K-1p

CALCUL DU MOUVEMENT

1. VISION BINOCULAIRE

Page 26: RETROUVER LE POINT DE VUE : À PARTIR D’UN CARRÉ AU SOL ... · Calcul de la focale (points de fuite p 1, p 2 mesurés en coordonnées homogènes dans l’image) : – V 1 = K-1p

CALCUL DU MOUVEMENT

On suppose K et K’ connues ⇒ trouver R,t (mouvement relatif) tels que tous les "rayons inverses" se croisent ⇒ on

obtient les points 3D en sous-produit

Page 27: RETROUVER LE POINT DE VUE : À PARTIR D’UN CARRÉ AU SOL ... · Calcul de la focale (points de fuite p 1, p 2 mesurés en coordonnées homogènes dans l’image) : – V 1 = K-1p

CALCUL DU MOUVEMENT

La géométrie épipolaire définit une transformation point x ⇒ droite l’

Cette transformation dépend uniquement des matrices de projection P=K[I|0] et P’=K’[R|t] (pas de la structure)

On démontre qu’elle est linéaire et peut être écrite sous la forme

l’=Fx où l’ est un vecteur de taille 3 représentant la droite l’ et F est une matrice 3x3 appelée matrice fondamentaleLa matrice fondamentale F peut être calculée à partir de 8 correspondances de points entre les deux images

Si K et K’ sont connus, on peut extraire R et t de F

Page 28: RETROUVER LE POINT DE VUE : À PARTIR D’UN CARRÉ AU SOL ... · Calcul de la focale (points de fuite p 1, p 2 mesurés en coordonnées homogènes dans l’image) : – V 1 = K-1p

TRIANGULATION

1. VISION BINOCULAIRE

Page 29: RETROUVER LE POINT DE VUE : À PARTIR D’UN CARRÉ AU SOL ... · Calcul de la focale (points de fuite p 1, p 2 mesurés en coordonnées homogènes dans l’image) : – V 1 = K-1p

LE PROBLÈME DE LA TRIANGULATION

Connaissant une correspondance de deux point x et x’ et les matrices de projection P et P’, calculer le point 3D X

Problème : en présence de bruit, les rayons inverses ne se croisent pas (les points mesurés ne sont pas exactement sur les droites épipolaires)

Page 30: RETROUVER LE POINT DE VUE : À PARTIR D’UN CARRÉ AU SOL ... · Calcul de la focale (points de fuite p 1, p 2 mesurés en coordonnées homogènes dans l’image) : – V 1 = K-1p

SOLUTION GÉOMÉTRIQUE

Calculer le point au milieu du plus petit segment reliant les deux rayons inverses

Page 31: RETROUVER LE POINT DE VUE : À PARTIR D’UN CARRÉ AU SOL ... · Calcul de la focale (points de fuite p 1, p 2 mesurés en coordonnées homogènes dans l’image) : – V 1 = K-1p

SOLUTION ALGÉBRIQUE

Utiliser λx=PX et λ’x’=P’X pour résoudre X

λx=PX ⇒ x x (PX) = 0

En procédant de même pour la deuxième caméra, on obtient AX=0, avec

Avantage : peut être étendu à plus de deux vues

Inconvénient : ne minimise pas une erreur ayant un sens physique

Page 32: RETROUVER LE POINT DE VUE : À PARTIR D’UN CARRÉ AU SOL ... · Calcul de la focale (points de fuite p 1, p 2 mesurés en coordonnées homogènes dans l’image) : – V 1 = K-1p

MINIMISATION D’UNE ERREUR GÉOMÉTRIQUE

Page 33: RETROUVER LE POINT DE VUE : À PARTIR D’UN CARRÉ AU SOL ... · Calcul de la focale (points de fuite p 1, p 2 mesurés en coordonnées homogènes dans l’image) : – V 1 = K-1p

RECONSTRUCTION DENSE

1. VISION BINOCULAIRE

Page 34: RETROUVER LE POINT DE VUE : À PARTIR D’UN CARRÉ AU SOL ... · Calcul de la focale (points de fuite p 1, p 2 mesurés en coordonnées homogènes dans l’image) : – V 1 = K-1p

RECONSTRUCTION DENSE

La contrainte épipolaire est très utile pour l’appariement dense (exemple sur images rectifiées)

Courtesy Oxford, Visual Geometry

Group

Page 35: RETROUVER LE POINT DE VUE : À PARTIR D’UN CARRÉ AU SOL ... · Calcul de la focale (points de fuite p 1, p 2 mesurés en coordonnées homogènes dans l’image) : – V 1 = K-1p

RECONSTRUCTION DENSE

Courtesy Oxford, Visual Geometry Group

Image de gauche Image de droite

Page 36: RETROUVER LE POINT DE VUE : À PARTIR D’UN CARRÉ AU SOL ... · Calcul de la focale (points de fuite p 1, p 2 mesurés en coordonnées homogènes dans l’image) : – V 1 = K-1p

RECONSTRUCTION DENSE

Vue du nuage de points reconstruitstriangulé et texturé

Courtesy Oxford, Visual Geometry Group

Carte de profondeur

Page 37: RETROUVER LE POINT DE VUE : À PARTIR D’UN CARRÉ AU SOL ... · Calcul de la focale (points de fuite p 1, p 2 mesurés en coordonnées homogènes dans l’image) : – V 1 = K-1p

3. VISION MULTIOCULAIRE

Page 38: RETROUVER LE POINT DE VUE : À PARTIR D’UN CARRÉ AU SOL ... · Calcul de la focale (points de fuite p 1, p 2 mesurés en coordonnées homogènes dans l’image) : – V 1 = K-1p

VISION MULTIOCULAIRE

Page 39: RETROUVER LE POINT DE VUE : À PARTIR D’UN CARRÉ AU SOL ... · Calcul de la focale (points de fuite p 1, p 2 mesurés en coordonnées homogènes dans l’image) : – V 1 = K-1p

SUIVI D’INDICES (TRACKING DE CAMÉRA)

3. VISION MULTI-OCULAIRE

Page 40: RETROUVER LE POINT DE VUE : À PARTIR D’UN CARRÉ AU SOL ... · Calcul de la focale (points de fuite p 1, p 2 mesurés en coordonnées homogènes dans l’image) : – V 1 = K-1p

Problème : suivre en temps réel des indices visuels (patchs, contours …)

dans un flux vidéo

SUIVI DE POINTS PAR FLOT OPTIQUE

Page 41: RETROUVER LE POINT DE VUE : À PARTIR D’UN CARRÉ AU SOL ... · Calcul de la focale (points de fuite p 1, p 2 mesurés en coordonnées homogènes dans l’image) : – V 1 = K-1p

Quels sont les bons points à suivre et comment les suivre ?

SUIVI DE POINTS PAR FLOT OPTIQUE

Page 42: RETROUVER LE POINT DE VUE : À PARTIR D’UN CARRÉ AU SOL ... · Calcul de la focale (points de fuite p 1, p 2 mesurés en coordonnées homogènes dans l’image) : – V 1 = K-1p

SUIVI DE POINTS PAR FLOT OPTIQUE

On cherche des points faciles à retrouver dans le cas d’une translation 2D de l’image

Pour quels points x la translation d peut-elle être détectée de manière fiable ?

Shi and C. Tomasi. Good features to track. CVPR'94.

Page 43: RETROUVER LE POINT DE VUE : À PARTIR D’UN CARRÉ AU SOL ... · Calcul de la focale (points de fuite p 1, p 2 mesurés en coordonnées homogènes dans l’image) : – V 1 = K-1p

SUIVI DE POINTS PAR FLOT OPTIQUE

Le Jacobien de diss(d) vaut 0 quand diss(d) est minimal

Page 44: RETROUVER LE POINT DE VUE : À PARTIR D’UN CARRÉ AU SOL ... · Calcul de la focale (points de fuite p 1, p 2 mesurés en coordonnées homogènes dans l’image) : – V 1 = K-1p

SUIVI DE POINTS PAR FLOT OPTIQUE

Conduit au système linéaire :

Peut être résolu de manière fiable quand les deux valeurs propres de Z sont larges (le système est alors bien conditionné)

Page 45: RETROUVER LE POINT DE VUE : À PARTIR D’UN CARRÉ AU SOL ... · Calcul de la focale (points de fuite p 1, p 2 mesurés en coordonnées homogènes dans l’image) : – V 1 = K-1p

POINTS DE HARRIS

gxgy (gx)2 (gy)2

Gauss(.)*gxgy Gauss(.)*(gx)2 Gauss(.)*(gy)2

Page 46: RETROUVER LE POINT DE VUE : À PARTIR D’UN CARRÉ AU SOL ... · Calcul de la focale (points de fuite p 1, p 2 mesurés en coordonnées homogènes dans l’image) : – V 1 = K-1p

POINTS DE HARRIS

Points de Harris : maxima locaux de min(λ1,λ2)

Page 47: RETROUVER LE POINT DE VUE : À PARTIR D’UN CARRÉ AU SOL ... · Calcul de la focale (points de fuite p 1, p 2 mesurés en coordonnées homogènes dans l’image) : – V 1 = K-1p

APPLICATION : REALITÉ AUGMENTÉE

Suivi de points et images clés

[Lepetit et al.], EPFL Lausanne

Page 48: RETROUVER LE POINT DE VUE : À PARTIR D’UN CARRÉ AU SOL ... · Calcul de la focale (points de fuite p 1, p 2 mesurés en coordonnées homogènes dans l’image) : – V 1 = K-1p

APPLICATION : REALITÉ AUGMENTÉE

Page 49: RETROUVER LE POINT DE VUE : À PARTIR D’UN CARRÉ AU SOL ... · Calcul de la focale (points de fuite p 1, p 2 mesurés en coordonnées homogènes dans l’image) : – V 1 = K-1p

APPLICATION : REALITÉ AUGMENTÉE

[Klein & Drummond ISMAR’2004] Cambridge University

Suivi de contours + capteur optique (leds)

Page 50: RETROUVER LE POINT DE VUE : À PARTIR D’UN CARRÉ AU SOL ... · Calcul de la focale (points de fuite p 1, p 2 mesurés en coordonnées homogènes dans l’image) : – V 1 = K-1p

APPLICATION : REALITÉ AUGMENTÉE

Tracking par synthèse

Page 51: RETROUVER LE POINT DE VUE : À PARTIR D’UN CARRÉ AU SOL ... · Calcul de la focale (points de fuite p 1, p 2 mesurés en coordonnées homogènes dans l’image) : – V 1 = K-1p

APPLICATION : REALITÉ AUGMENTÉE

Tracking par synthèse d’un modèle 3D obtenu à l’aide d’une Kinect

[Petit et al. ISMAR 2013] INRIA Rennes

Page 52: RETROUVER LE POINT DE VUE : À PARTIR D’UN CARRÉ AU SOL ... · Calcul de la focale (points de fuite p 1, p 2 mesurés en coordonnées homogènes dans l’image) : – V 1 = K-1p

Des points sont suivis dans plusieurs image (KLT, Harris, …)

Optimisation globale (bundle adjustment) permettant de reconstruire les points en même temps que les points de vue de caméra

Logiciels de matchmoving : Boujou, Voodoo Camera Tracker, …

Courtesy Oxford, Visual Geometry Group

APPLICATION : STRUCTURE FROM MOTION (MATCHMOVING)

Page 53: RETROUVER LE POINT DE VUE : À PARTIR D’UN CARRÉ AU SOL ... · Calcul de la focale (points de fuite p 1, p 2 mesurés en coordonnées homogènes dans l’image) : – V 1 = K-1p

LIMITES DU SUIVI D’INDICES

Limites du suivi d’indices visuels :– Nécessite une initialisation

– Dérives et échecs de suivi possibles ⇒ nécessite des réinitialisations

Pour pallier ces problèmes, on s’intéresse à la reconnaissanced’indices visuels :– Reconnaissance d’indices artificiels

– Reconnaissance d’indices naturels à l’aide de descripteurs de points invariants par :

• Changement d’échelle

• Rotation 2D

• Transformation affine 2D

• Dans une certaine mesure, changement de point de vue