© Jerome Boccond-Gibod, Flickr

Slides:



Advertisements
Présentations similaires
Manipulation d’un objet virtuel à l’aide d’une cible et d’une caméra
Advertisements

Chaîne de Synthèse Réel Modélisation Rendu Image Fichier Scène
Application au suivi des paramètres de problèmes de vision
Champs de Markov en Vision par Ordinateur
Champs de Markov en Vision par Ordinateur
2 MOUVEMENT Estimation PLAN DU CHAPITRE
Couleur – Vision – Image partie 1 : comment l’œil fonctionne-t-il ?
1. Représentation du mouvement dans le plan - image
Laboratoire Bordelais de Recherche en Informatique 23/02/ Caractérisation du mouvement et méthodes par comparaison du mouvement - Présument une.
3. Analyse et estimation du mouvement dans la vidéo
PROGRAMME : BTS CG.
ACTIVITES MENTALES Collège Jean Monnet Préparez-vous !
2. Repérage et coordonnées
La vision stéréo Sonka et al: sections , , , , Suppl: 11.4 au complet
Reconstruction de volume 3D
Environnement de réalité augmentée : vers les jeux vidéos
Module SIG-Santé 6. Géoréférencement Marc SOURIS Florent DEMORAES
Mires Chevrons Paul JEAN
Introduction à la vision artificielle Deuxième partie Étalonnage géométrique de la caméra et du système Patrick Hébert Génie électrique et génie informatique.
Réalisateur : PHAM TRONG TÔN Tuteur : Dr. NGUYEN DINH THUC
TRAITEMENT D’IMAGE SIF-1033.
2.1.5 Rotations in 3D: Rotation axis
IFT3730: Infographie 3D Transformations Géométriques
Traitements d'images et Vision par ordinateur
Concepts avancés en mathématiques et informatique appliquées
Transformations de visualisation en OpenGL
Lignes trigonométriques.
Le morphage d’images GIF-4105/7105 Photographie Algorithmique
Construction de modèles visuels
Introduction à la vision artificielle Deuxième partie Étalonnage géométrique de la caméra et du système Patrick Hébert Génie électrique et génie informatique.
Découpage d’images GIF-4105/7105 Photographie Algorithmique
La caméra GIF-4105/7105 Photographie Algorithmique
Transformation linéaires
Rappel... Caractérisation des matrices inversibles: Matrices bloc.
Méthodes de prévision (STT-3220)
Nicolas Holzschuch Cours d’Option Majeure 2
Modélisation du robot Azimut-3
Visualisation de surfaces décrites analytiquement
2.1.6 Matrices homogènes 3D Homogenous representation in 3D:
Plage Dynamique GIF-4105/7105 Photographie Algorithmique
Design dun système de vision embarqué. Application:
SUJETS SPÉCIAUX EN INFORMATIQUE I
SUJETS SPÉCIAUX EN INFORMATIQUE I
SUJETS SPÉCIAUX EN INFORMATIQUE I
Chapters 1 and 10 Sarah McManus.
Thierry Molinier > David Fofi >
Rappel... Matrices bloc. Décomposition des matrices:
Redimensionnement d’images
Examen partiel #1 Mardi le 12 octobre de 19h30 à 21h20 Salles 2880 (Gr.A) et 3860 (Gr. B) du pavillon Vachon. Matière de l'examen: - Livre de Lay: sections.
Complément Calibrage et Homographie
IFT3730: Infographie Projections
Insertion dobjets virtuels GIF-4105/7105 Photographie Algorithmique Jean-François Lalonde Merci à A. Efros et P. Debevec!
Mosaïques d’images GIF-4105/7105 Photographie Algorithmique
Insertion d’objets virtuels, suite GIF-4105/7105 Photographie Algorithmique Jean-François Lalonde Merci à A. Efros et P. Debevec!
Examen partiel #1 Mercredi le 4 octobre de 13h30 à 15h20
Géométrie épipolaire (deux vues)
Formation SIG-Santé Géoréférencement Marc SOURIS Elisabeth HABERT
Création en images de Synthèse Modèles de rendu d’une scène 3D
Vision et formation des images
OUTILS MATHEMATIQUES POUR LES SII
7.4 VECTEURS PROPRES Cours 22. Au dernier cours nous avons vus ✓ Les cisaillements ✓ Les projections orthogonales ✓ Les projections obliques.
1 Méthode de “Fast Marching” générique pour “Shape From Shading” E. Prados & S. Soatto RFIA 2006 janvier 2006, Tours.
Premières notions de la 3D
De la Terre à la carte: Projections et Géoréférencement
© Jerome Boccond-Gibod, Flickr
Mosaïques d’images Dyanne Williams
La caméra GIF-4105/7105 Photographie Algorithmique, Hiver 2015
Le morphage d’images Steph Hoffman
Transformation linéaires
Transcription de la présentation:

© 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!

Retour sur les TPs!

TP1: meilleur projet Razieh Toony! http://vision.gel.ulaval.ca/~jflalonde/cours/pa14/tps/results/tp1/raziehtoony/index.html

TP1 mention honorable: Tom Toulouse

TP2: meilleur projet Tom Toulouse! http://vision.gel.ulaval.ca/~jflalonde/cours/pa14/tps/results/tp2/tomtoulouse/index.html

TP2 mention honorable: Razieh Toony http://vision.gel.ulaval.ca/~jflalonde/cours/pa14/tps/results/tp2/raziehtoony/image/4.gif

TP2 mention honorable: Razieh Toony

TP3: meilleur projet Ming Hou! http://vision.gel.ulaval.ca/~jflalonde/cours/pa14/tps/results/tp3/minghou/index.html

TP3 mention honorable: Jingwei Cao Avec triangulation: http://vision.gel.ulaval.ca/~jflalonde/cours/pa14/tps/results/tp3/jingweicao/images/04-01morphing.gif Sans triangulation: http://vision.gel.ulaval.ca/~jflalonde/cours/pa14/tps/results/tp3/jingweicao/images/04-01field_morphing.gif

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

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

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

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

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)

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

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

Projection sur un plan? plan virtuel

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

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

Projection cylindrique X

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

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

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!

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

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

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

Panorama 360°

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.

Distorsion radiale straight lines curve around the image center

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

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

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

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!

Estimer les paramètres de la caméra http://www.vision.caltech.edu/bouguetj/calib_doc/

Estimer les paramètres de la caméra http://www.vision.caltech.edu/bouguetj/calib_doc/

Estimer les paramètres de la caméra http://www.vision.caltech.edu/bouguetj/calib_doc/

Estimer les paramètres de la caméra http://www.vision.caltech.edu/bouguetj/calib_doc/

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

Projection sphérique Y X

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

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 _ _ _ _

Panorama complet + + + +

Autres projections

Autres projections

Demo! Hugin http://hugin.sourceforge.net

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

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

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

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

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

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

But

Calculer l’homographie avec RANSAC

Calculer l’homographie avec RANSAC

Calculer l’homographie avec RANSAC

Modèle probabiliste pour vérification

Trouver les panoramas

Trouver les panoramas

Trouver les panoramas

Trouver les panoramas

Résultats

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