TP4 - PANORAMAS AUTOMATIQUES

PAR MICHAEL BONENFANT

APERÇU

L'assemblage de photos est utilisé pour combiner plusieurs images qui sont idéalement prises avec un même point de vue. Cela permet d'agrandir virtuellement le champ de vision de la caméra et même de présenter des images à 360 degrés. Le principe est de trouver des points caractéristiques dans les différentes images pour les déformer et ensuite les combiner en un panorama.

1. APPARIEMENT MANUEL

Cette section présente la déformation des images par calcul d'homographie et la fusion en mosaïque pour former un panorama

1.1 SÉLECTION DE CARACTÉRISTIQUES

Comme l'appariement est manuel, la sélection des points d'intérêts se fait par l'utilisateur. On choisit des points caractéristiques présents dans les deux images à combiner. Les points doivent être sélectionnés dans le même ordre pour effectuer les correspondances.

Correspondances manuelles

1.2 CALCUL DE L'HOMOGRAPHIE ET DÉFORMATION PROJECTIVE

Le calcul de l'homographie s'effectue simplement par la résolution des moindres carrée du système surdéterminé formé des correspondances. L'idéal est d'utiliser des points représentant les caractéristiques de l'image (points d'intérêts) et couvrant une large zone. Plus il y a de points utilisés plus l'erreur de position lors de la sélection sera moyenné. Une fois la matrice de transformation obtenue par homographie, on doit déformer une des deux images pour qu'elle puisse s'adapter à l'autre image. Ce résultat est obtenu par transformation inverse avec une interpolation de la valeur des pixels.

Déformation projective

1.3 FUSION EN MOSAÏQUE

Une fois que l'image est bien déformée, il suffit de la combiner à l'autre image (ou à la mosaïque en formation). Pour cela, il suffit de translater l'image à sa position relative connue par sa correspondance de points. Pour bien combiner les images, la méthode choisie est d'utiliser un masque pour sélectionner la partie de l'image à conserver, puis de fusionner les deux parties avec un dégradée ('feathering').

Fusion de deux images

RÉSULTAT: Le résultat de la combinaison de deux images présentées dans la section 1.3 démontre bien que la méthode de déformation et de fusion est fonctionnelle. Le rendu est assez convaincant et la ligne d'attache entre les images est bien cachée. Les bordures de l'image ont été découpées manuellement, mais une méthode automatique est utilisée dans la section 2 et présentée dans la section 4. Comme la technique de combinaison manuelle d'images fonctionne bien, elle sera utilisée comme base de la création de panorama automatique présentée dans la section 2.

2. APPARIEMENT AUTOMATIQUE

L'objectif de l'appariement automatique est d'accélérer la sélection des correspondances et d'éviter l'erreur humaine lors du positionnement des points.

2.1 DÉTECTION DE CARACTÉRISTIQUES

La détection des points d'intérêts est basée sur l'optimisation de la méthode de détection de coins de Harris. Cette méthode trouve des coins dans l'image en inspectant la valeur du gradiant dans plusieurs directions. Cette méthode est bien connue et fonctionne bien, par contre, il est nécessaire de trier les résultats obtenus, car beaucoup de points non intéressants sont retenus. Il serait possible de choisir les points présentant des caractéristiques de coins plus fortes, mais cela ne donne pas de bon résultat de candidats pour l'homographie. Ces points sont souvent regroupés en une même zone ou suivent une ligne. Pour répartir les points plus uniformément dans l'image, la méthode utilisée ici est appelée « Adaptive Non-Maximal Suppresion » et est présentée dans l'article « Multi-Image Matching using Multi-Scale Oriented Patches ». Pour sélectionner les points d'intérêts, il suffit de retenir les points présentant un maximum local. Pour chaque point, on compare la force de son gradient (calculé par le détecteur de Harris), à ses voisins. Si le point est un maximum local, on le retient. On débute l'opération avec un grand rayon autour des points puis on réduit le rayon à chaque fois que tous les points ont été vérifiés. On refait l'opération jusqu’à temps d'atteindre le nombre de points désiré.

Les images suivantes présentent les points détectés par la méthode de Harris puis les 250 points sélectionnés par la méthode ANMS (Adaptive Non-Maximal Suppresion ).

Gauche-Harris

Droite-Harris

Gauche-ANMS_250

Droite-ANMS_250



Les deux images suivantes présentent les 250 points qui seraient retenus par la méthode de Harris. On remarque une distribution beaucoup moins uniforme et donc moins intéressante lors de la recherche de points candidats pour l'homographie.

Gauche-Harris_250

Droite-Harris_250

2.2 EXTRACTION DE DESCRIPTEURS

Pour trouver les correspondances, il est important d'associer un descripteur pour chaque point. Ces descripteurs simples sont formés de la valeur normalisée de chaque pixel voisin au point. Une zone de 8x8 pixels est retenue comme descripteur en filtrant une zone de 40x40 pixels avec un sigma de valeur 5. C'est paramètres présentent des résultats intéressants, mais peuvent être modifiés selon le besoin. Il est aussi possible d'ajouter de l'invariance à la rotation et à l'échelle par des méthodes simples présentées dans l'article mentionné précédemment, mais aussi dans plusieurs articles connus. Ces méthodes sont très populaires et notamment utilisées pour le descripteur SIFT.

2.3 CALCUL DE L'HOMOGRAPHIE PAR RANSAC

Avant de calculer l'homographie associée aux points retenus lors des étapes précédentes, il est important d'éliminer tous les points qui ne concordent pas avec la majorité. La méthode de RANSAC est donc utilisée. Il suffit de choisir au hasard 4 points dans ceux retenus, puis de calculer l'homographie et de vérifier pour tous les autres points si la position résultante correspond aux points de l'autre image. On s'assure de cela en vérifiant si le nouveau point se retrouve dans un rayon fixé selon un seuil de quelques pixels (ici 3 pixels de différence). On retient les points en accord avec l'homographie, puis on resélectionne au hasard 4 autres points. On répète l'opération N fois (ici N=1000). On retient alors le résultat avec le plus grand nombre de paires de points valides et on calcule l'homographie avec ces points.

Correspondances retenues

Correspondances retenues

2.4 DÉFORMATION ET FUSION

Pour cette étape, on utilise la même méthode que présentée dans la section d'appariement manuel. On répète l'opération pour chaque image à ajouter à la mosaïque pour obtenir un panorama.

RÉSULTAT:

Panorama 5 images

Le panorama final présenté ici est intéressant, car l'on remarque bien l'effet de déformation des bords de l'image pour former un champ de vision agrandi. La transition entre les images est assez bien cachée et les bordures sont automatiquement coupées pour permettre un rendu réaliste. Dans la section suivante, plusieurs autres panoramas sont présentés. Pour certains, il n'était pas possible de combiner plus d'images, car l’ajustement de l'image était trop grand et présentait soit un résultat trop déformé ou n'était pas réalisable avec la technique de projection utilisée.

3. AUTRES RÉSULTATS

Panorama 1

Panorama 2-Bas

Panorama 2-Haut

Panorama 3-Images 10 à 6

Panorama 3-Images 16 à 1

Photo verticale 1

Photo verticale 2

Photo verticale 3

Panorama carré (photos personnelles)

Panorama (photos personnelles)

4. SUPPLÉMENTS: MÉLANGES ET COMPOSITIONS

4.1 MOSAÏQUE VERTICALE

Le panorama vertical est obtenu par la même technique de composition d'image, mais sur l'axe haut/bas plutôt que gauche/droite. Il est intéressant de noter que l'algorithme d'appareillage automatique est moins performant lorsque l'image présente beaucoup de points forts, mais similaires comme les branches des arbres de cette série d'images.

Panorama vertical

4.2 MOSAÏQUE PHOTO-ILLUSTRATION

Cette image est obtenue par la composition d'une photo et d'une peinture présentant un point de vue similaire.

Big Ben
Sources: Illustration Big Ben - Photo Big Ben

4.3 DÉCOUPAGE AUTOMATIQUE DES BORDURES

Lors de la déformation projective et de la combinaison des images, certains défauts apparaissent en bordure. Pour contrer ce problème, on peut simplement couper les contours défectueux. La méthode simple utilisée est de chercher la hauteur la plus petite ne présentant aucun défaut sur la combinaison d'image, puis de couper selon cette mesure. Cette action est effectuée pour chaque nouvelle image ajoutée au panorama.

Panorama initial

Panorama découpé