La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

© Jerome Boccond-Gibod, Flickr

Présentations similaires


Présentation au sujet: "© Jerome Boccond-Gibod, Flickr"— Transcription de la présentation:

1 © Jerome Boccond-Gibod, Flickr
Panoramas, etcetera © Jerome Boccond-Gibod, Flickr GIF-4105/7105 Photographie Algorithmique Jean-François Lalonde Merci à A. Efros, R. Szeliski, S. Seitz!

2 Retour sur les TPs!

3 TP1: meilleur projet Razieh Toony!

4 TP1 mention honorable: Tom Toulouse

5 TP2: meilleur projet Tom Toulouse!

6 TP2 mention honorable: Razieh Toony

7 TP2 mention honorable: Razieh Toony

8 TP3: meilleur projet Ming Hou!

9 TP3 mention honorable: Jingwei Cao
Avec triangulation: Sans triangulation:

10 Homographies Transformation entre deux caméras ayant le même centre de projection transformation entre deux plans (quadrilatères) on perd le parallélisme mais les droites sont préservées PP2 PP1

11 Homographies Pour appliquer une homographie H
Calculer p’ = Hp (en coordonnées homogènes) Convertir p’ en coordonnées dans l’image PP1

12 Mosaïques de rotation Si on sait que notre centre de projection reste le même est-ce qu’on peut contraindre H?

13 3D → 2D Projection de perspective
(Xc,Yc,Zc) f K

14 Rotation 3D Projeter de l’image vers le point 3D
(x0,y0,z0) = (u0-uc,v0-vc,f) Appliquer la rotation (x1,y1,z1) = R01 (x0,y0,z0) Reprojeter dans la nouvelle image (u1,v1) = (fx1/z1+uc,fy1/z1+vc) Alors Notre homographie a alors : 3 DDL si la distance focale est connue 4 si elle est la même (et inconnue) 5 si elles sont différentes (x,y,z) (u,v,f) R (x,y,z) f (u,v,f)

15 Pairwise alignment Given two sets of matching points, compute R
Procrustes Algorithm [Golub & VanLoan] Given two sets of matching points, compute R pi’ = R pi with 3D rays pi = N(xi,yi,zi) = N(ui-uc,vi-vc,f) A = Σi pi pi’T = Σi pi piT RT = U S VT = (U S UT) RT VT = UT RT R = V UT

16 Rotation autour de l’axe vertical
Si notre caméra est sur un trépied Quelle est la structure de H?

17 Projection sur un plan? plan virtuel

18 Cylindre de projection!
Panoramas complets Comment générer des panoramas 360°? Cylindre de projection!

19 Projection cylindrique
Projeter point 3D (X,Y,Z) sur le cylindre X Y Z cylindre déroulé Convertir en coordonnées cylindriques image cylindrique Convertir en coordonnées image (cylindre) cylindre unitaire

20 Projection cylindrique
X

21 Projection cylindrique inverse
X Y Z (X,Y,Z) (sinθ,h,cosθ)

22 Panoramas cylindriques
Étapes (si l’on connaît les rotations) Reprojeter les images sur un cylindre Composer les images

23 Panoramas cylindriques
Si l’on ne connaît pas la matrice de rotation? Il faut la trouver… Rotation de la caméra = translation du cylindre!

24 Créer le panorama Aligner les paires ensemble, composer, et rogner

25 Problème: dérive Erreur verticale Erreur horizontale
calculer la correction de telle sorte que la somme = 0 Erreur horizontale ré-utiliser la première (ou dernière) image

26 Re-projection cylindrique
Le secret est dans la … distance focale Image 384x300 vue de haut Therefore, it is desirable if the global motion model we need to recover is translation, which has only two parameters. It turns out that for a pure panning motion, if we convert two images to their cylindrical maps with known focal length, the relationship between them can be represented by a translation. Here is an example of how cylindrical maps are constructed with differently with f’s. Note how straight lines are curved. Similarly, we can map an image to its longitude/latitude spherical coordinates as well if f is given. f = 180 (pixels) f = 280 f = 380

27 Panorama 360°

28 Notre amie la focale La distance focale dépend de la caméra:
On peut l’estimer: à partir du champ de vue de l’information dans l’EXIF (peut être imprécis) en essayant plusieurs valeurs et garder celle qui aligne le panorama en utilisant un objet 3D dont on connaît les dimensions Etc. Il y a d’autres paramètres! Centre optique, ratio des pixels, distorsions, etc.

29 Distorsion radiale straight lines curve around the image center

30 Distorsion radiale Causée par lentilles imparfaites
Pas de distorsion “Pin cushion” “Barrel” Causée par lentilles imparfaites Encore une fois, plus important en bordure de l’image

31 Estimer les paramètres de la caméra?
Intrinsèques Extrinsèques Déterminer les paramètres de la caméra à partir d’objets 3D connus

32 Calculer matrice de projection
Placer un objet connu devant la caméra déterminer correspondances entre points 3D et dans la caméra calculer la transformation entre la scène et l’image

33 Calibrage linéaire Résoudre en minimisant la somme des différences au carré (comme dans le TP) Avantages: Une seule matrice! Désavantages: On ne connaît pas la valeur des paramètres indépendamment Mélange paramètres intrinsèques et extrinsèques dépend de la pose: si on déplace la caméra, ça ne fonctionne plus!

34 Estimer les paramètres de la caméra

35 Estimer les paramètres de la caméra

36 Estimer les paramètres de la caméra

37 Estimer les paramètres de la caméra

38 Projection sphérique Projeter point 3D (X,Y,Z) sur la sphère
Convertir en coordonnées sphériques image sphérique Convertir en coordonnées images φ sphère déroulée

39 Projection sphérique Y X

40 Projection sphérique inverse
φ (x,y,z) cos φ sin φ (sinθcosφ,cosθcosφ,sinφ) Y Z cos θ cos φ X

41 3D rotation Rotate image before placing on unrolled sphere φ cos φ
(x,y,z) X Y Z cos φ (sinθcosφ,cosθcosφ,sinφ) sin φ cos θ cos φ p = R p _ _ _ _

42 Panorama complet + + + +

43 Autres projections

44 Autres projections

45 Demo! Hugin

46 Exemple: Reconnaître des panoramas
M. Brown et D. Lowe, University of British Columbia

47 Pourquoi? Rotations 1D (θ) Ordre des images = l’ordre des rotations

48 Pourquoi? Rotations 1D (θ) Ordre des images = l’ordre des rotations

49 Pourquoi? Rotations 1D (θ) Rotations 2D (θ)
Ordre des images = l’ordre des rotations Rotations 2D (θ) Ordre des images ≠ l’ordre des rotations

50 Pourquoi? Rotations 1D (θ) Rotations 2D (θ)
Ordre des images = l’ordre des rotations Rotations 2D (θ) Ordre des images ≠ l’ordre des rotations

51 Pourquoi? Rotations 1D (θ) Rotations 2D (θ)
Ordre des images = l’ordre des rotations Rotations 2D (θ) Ordre des images ≠ l’ordre des rotations

52 But

53 Calculer l’homographie avec RANSAC

54 Calculer l’homographie avec RANSAC

55 Calculer l’homographie avec RANSAC

56 Modèle probabiliste pour vérification

57 Trouver les panoramas

58 Trouver les panoramas

59 Trouver les panoramas

60 Trouver les panoramas

61 Résultats

62 Planification TP4: dû dimanche soir, 23h59 TP5: disponible mercredi
Mercredi: plage dynamique en préparation pour le TP5…


Télécharger ppt "© Jerome Boccond-Gibod, Flickr"

Présentations similaires


Annonces Google