Mosaïques d’images GIF-4105/7105 Photographie Algorithmique

Slides:



Advertisements
Présentations similaires
CHAPITRE 7 DROITES ET SYSTEMES.
Advertisements

Chaîne de Synthèse Réel Modélisation Rendu Image Fichier Scène
S. Meshoul & M. Batouche Equipe Vision, Laboratoire LIRE
CHAPITRE II Caractéristiques géométriques des sections planes
1. Représentation du mouvement dans le plan - image
3. Analyse et estimation du mouvement dans la vidéo
A Pyramid Approach to Subpixel Registration Based on Intensity
Xialong Dai, Siamak Khorram
Corrélations et ajustements linéaires.
12 novembre 2012 Grégory Petit
Reconstruction 3D par mono vision avec des trajectoires fortement contraintes Joan Solà LAAS-CNRS Toulouse, France Revue du projet PICAS$O 3 novembre 2005.
Vérification d ’une compensation astigmate avec les cylindres croisés par retournement (CCR) CCR Paul JEAN.
La vision stéréo Sonka et al: sections , , , , Suppl: 11.4 au complet
Reconstruction de volume 3D
Estimation du mouvement – 1
Mires Chevrons Paul JEAN
TRAITEMENT D’IMAGE SIF-1033.
2.1.5 Rotations in 3D: Rotation axis
IFT3730: Infographie 3D Transformations Géométriques
Concepts avancés en mathématiques et informatique appliquées
Programmation logique Démonstrateur automatique
Régression linéaire simple
Lignes trigonométriques.
SUJETS SPÉCIAUX EN INFORMATIQUE I PIF Contenu du cours Transformations géométriques des objets –Transformations 2D –Transformations entre systèmes.
Le morphage d’images GIF-4105/7105 Photographie Algorithmique
Rappel... Solution itérative de systèmes linéaires (suite et fin).
3.6 Les équations de la cinématique à accélération constante MRUA
Transformée de Fourier discrète et transformée de Fourier rapide
La caméra GIF-4105/7105 Photographie Algorithmique
Transformation linéaires
Ajustements c2 non-linéaires
Modélisation du robot Azimut-3
5.1 SYSTÈME DÉQUATIONS LINÉAIRES Cours 13. Au dernier cours nous avons vus Léquations vectoriel et léquation normale dun plan. Lintersection de deux plans.
Optimisation linéaire
Plage Dynamique GIF-4105/7105 Photographie Algorithmique
SUJETS SPÉCIAUX EN INFORMATIQUE I
SUJETS SPÉCIAUX EN INFORMATIQUE I
MODULE 8 Les fonctions SINUSOÏDALES
Du présent au passé composé
La régression multiple
Redimensionnement d’images
© Jerome Boccond-Gibod, Flickr
Complément Calibrage et Homographie
CHAPITRE 6 Stabilité des SA.
Géométrie analytique Distance d’un point à une droite.
IFT3355: Infographie Transformations Géométriques
IFT3730: Infographie Projections
Vision directe Diamètre apparent
Cours du 25 octobre Mardi le 24 octobre
Insertion d’objets virtuels, suite GIF-4105/7105 Photographie Algorithmique Jean-François Lalonde Merci à A. Efros et P. Debevec!
Commande en espace d’état
La décomposition en valeurs singulières: un outil fort utile
Géométrie épipolaire (deux vues)
Vers un nouvel empirisme: l’ancien et le nouvel empirisme John Goldsmith Université de Chicago CNRS MoDyCo.
TP 11 - Fonctions de deux variables II
PROGRAMMATION SCIENTIFIQUE EN C
CHAPITRE 3: LES NOMBRES.
Séquence FONCTION DE VARIABLE(S) REELLE(S) :
Cours 3ème Fonctions linéaires et fonctions affines I Fonctions linéaires II Fonctions affines.
Transformation de Helmert
CHAPITRE III Calcul vectoriel
1 INFOR 101 Chapitre 4 Marianne Morris. 2 Révision de chapitre 3 Algorithmes Sequential Search Selection Sort Binary Search Ordre de magnitude  (n) Mesurer.
Apparence globale 1 image = 1 vecteur Base apprentissage Rotation –capture les variabilités Troncature –Quelques coefficients Représentation linéaire Espace.
The City Scanning Project : Validation et Calcul Parallèle Olivier Koch Tuteur : Seth Teller.
Analyse de données Cours 3 Analyse en composantes principales (ACP)
Passé Composé Participes Passés.
© Jerome Boccond-Gibod, Flickr
Mosaïques d’images Dyanne Williams
La caméra GIF-4105/7105 Photographie Algorithmique, Hiver 2015
Composition et mélange
Transcription de la présentation:

Mosaïques d’images GIF-4105/7105 Photographie Algorithmique Dyanne Williams GIF-4105/7105 Photographie Algorithmique Jean-François Lalonde Merci à A. Efros, R. Szeliski et S. Seitz!

Pourquoi les mosaïques? Qu’est-ce qu’on voit? CdV d’une caméra standard = 50 x 35° Crédit: Brown & Lowe

Pourquoi les mosaïques? Qu’est-ce qu’on voit? CdV standard = 50 x 35° CdV d’un humain = 190 x 135° 95° vers l’extérieur (+ 45° avec rotation) 190° (~280° avec rotation) selon wikipedia Crédit: Brown & Lowe

Pourquoi les mosaïques? Qu’est-ce qu’on voit? CdV standard = 50 x 35° CdV d’un humain = 200 x 135° CdV total = 360 x 180° Crédit: Brown & Lowe

Mosaïque: fusionner les images caméra virtuelle à large champ de vue

Translations insuffisantes pour aligner les images! Mosaïque naïve gauche par-dessus droite par-dessus Translations insuffisantes pour aligner les images!

Un pinceau de rayons capture toutes les vues vraie caméra caméra synthétique Nous pouvons générer n’importe quelle caméra synthétique (tant que le centre de projection soit le même)

Re-projection d’images plan virtuel Interprétation en 3D: Les images sont re-projetées sur un plan virtuel Une mosaïque: caméra virtuelle à large champ de vue

Comment faire? Algorithme de base: Une seconde… Prendre une séquence de photos à partir de la même position (garder le même centre de projection) Calculer transformation entre la deuxième image et la première Transformer la deuxième image pour l’aligner avec la première Fusionner les deux images Répéter pour toutes les images Une seconde… On n’utilise pas la géométrie 3D de la scène??

Géométrie de la scène? Au tableau

Image reprojection Basic question PP2 PP1 How to relate two images from the same camera center? how to map a pixel from PP1 to PP2 PP2 Answer Cast a ray through each pixel in PP1 Draw the pixel where that ray intersects PP2 PP1 But don’t we need to know the geometry of the two planes in respect to the eye? Observation: Rather than thinking of this as a 3D reprojection, think of it as a 2D image warp from one image to another

De retour à la transformation d’images Quelle est la bonne transformation? translation, affine, projective? Combien de degrés de liberté? Perspective Translation Affine

Homographies Réponse: Projective! 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

Homographies plan de l’image en avant plan de l’image en dessous

Rectification d’images p’ p Calculer l’homographie H entre p et p’ Combien de correspondances? Transformer l’image selon H En pratique, partir de l’image de destination, et appliquer inv(H) Comment trouver H?

Système d’équations linéaires Prenons des paires de points (x1, x1’), (x2, x2’), (x3, x3’), etc. par exemple: grandeur vs poids Nous voulons prédire les x’ en fonction des x avec une formule compacte (une ligne): ax + b = x’ Nous voulons déterminer a et b Combien de paires (x, x’) avons-nous besoin? Dessiner au tableau

Moindres carrés — exemple Que faire s’il y a du bruit dans les données? Plus de correspondances (système sur-contraint) Trouver a et b qui minimisent la somme des erreurs au carré ‘\’ dans matlab minimise la somme des erreurs au carré si le système est sur- contraint (plus d’équations qu’il y a d’inconnues) Dessiner au tableau

Revenons à nos homographies… Facteur d’échelle, i=1 8 inconnues, donc 8 équations sont nécessaires Écrire système d’équations linéaires Ah = b Résoudre pour trouver h Si on a plus que 4 correspondances Minimiser la somme des différences au carré Dans les deux cas, ‘\’ est votre ami Voir “help lmdivide” dans Matlab

Système d’équations linéaires Tableau…

On s’amuse avec les homographies Image originale Caméra virtuelles St.Petersburg photo: A. Tikhonov

Analyse d’oeuvres d’art Quelle est la forme du carrelage sur le sol? Homographie Version agrandie Version rectifiée Crédit: Criminisi

Analyse d’oeuvres d’art de: Martin Kemp, “The Science of Art” (reconstruction manuelle) Rectification automatique une deuxième forme est découverte! Crédit: Criminisi

Analyse d’oeuvres d’art Quelle est la forme du carrelage? Image rectifiée St. Lucy Altarpiece, D. Veneziano Crédit: Criminisi

Analyse d’oeuvres d’art Automatique Martin Kemp, The Science of Art (reconstruction manuelle) Crédit: Criminisi

Julian Beever: Homographies manuelles http://www.julianbeever.net

Holbein, The Ambassadors

Panoramas Commence avec une image (rouge) Aligner les autres images (une par une) Composer les images

Modifions le centre de projection Est-ce que ça fonctionne toujours? image virtuelle PP1 PP2

Scène planaire (ou lointaine) plan3 est un plan de projection pour les deux centres, alors ok! photographies aériennes

Mosaïque planaire

TP4

TP4 Homographies et mosaïques Partie 1: définir les correspondances manuellement calculer les homographies déformer les images générer 3 mosaïques Partie 2: trouver les correspondances automatiquement

TP4 — crédits supplémentaires Prenez vos propres photos! Songez à utiliser un trépied, ou restez sur place Remplacer une partie de l’image en combinant des images avec une homographie Peut même combiner un film sur une image! Eunjeong Ryu (E.J), 2004

TP4 — crédits supplémentaires Panorama 360 degrés Projection cylindrique (à venir) Essayez avec “panorama3”, ou prenez vos propres photos! Soyez créatifs et amusez-vous! Panorama du frigo? Brett Allen

Alignement d’images Comment faire pour aligner deux images automatiquement? Deux approches: Alignement direct: essayer toutes les possibilités Par point d’intérêt: Calculer l’alignement à partir de points d’intérêt appariés

Alignement direct Recherche exhaustive (TP1) Définir une mesure de similarité SSD, corrélation croisée-normalisée, etc. Essayer toutes les combinaisons Exemple pour la translation Devons définir: x0, x1, step Qu’arrive-t-il si “step” est trop grand? for tx=x0:step:x1 for ty=y0:step:y1 comparer image1(x,y) à image2(x+tx,y+ty) end

Alignement direct Appliquons cette stratégie pour déterminer une homographie! for a=a0:astep:a1 for b=b0:bstep:b1 for c=c0:cstep:c1 for d=d0:dstep:d1 for e=e0:estep:e1 for f=f0:fstep:f1 for g=g0:gstep:g1 for h=h0:hstep:h1 comparer image1 à H(image2) end; end; end; end; end; end; end; end;

Problèmes? Pas réaliste Que faire (indice: TP1)? O(N8)! Comment déterminer min/max/step? Que faire (indice: TP1)? Utiliser une pyramide pour limiter le nombre de valeurs à utiliser Alternative: “méthode du gradient” Commencer à une valeur pour chaque paramètre Quelle valeur subséquente augmentera la similarité des images (ou diminuera la pénalité) Quelle hypothèse est faite ici? Les images sont presque alignées déjà! (<2 pixels) On peut améliorer avec une pyramide

Alignement d’images Comment faire si on est trop loin?

Alignement avec points d’intérêt Détecter des points d’intérêts dans les images Les apparier dans les deux images Calculer la transformation entre les deux groupes de points (homographie) Comment sélectionner ces points d’intérêts? Doivent se distinguer de leur voisinage Facile à localiser Coins!

Détection de points d’intérêt

Apparier les points d’intérêt Une fois détectés, comment apparier les points d’intérêt? Nous avons besoin d’une façon de les représenter e.g. morceau de l’image autour du point Utiliser seulement les points appariés pour estimer l’homographie Problème: que faire si l’image autour du point est similaire à plusieurs points? Augmenter la taille du morceau de l'image Problème: que faire si l’image autour du point est différente à cause de la rotation, la mise à l’échelle? Besoin d’un descripteur invariant

Descripteurs invariants Schmid & Mohr 1997, Lowe 1999, Baumberg 2000, Tuytelaars & Van Gool 2000, Mikolajczyk & Schmid 2001, Brown & Lowe 2002, Matas et. al. 2002, Schaffalitzky & Zisserman 2002

Mercredi 1 détecteur de points d’intérêt coins “Harris” 1 descripteur de points d’intérêt morceaux d’image, morceaux d’image orientés Lecture Multi-image Matching using Multi-scale image patches, CVPR 2005