Comment placer les points de contrôle entre les images.
Pour pouvoir assembler les différentes images que l’on vient de prendre à l’étape précédente, il est nécessaire de positionner correctement les différentes vues les unes par rapport aux autres. Pour parvenir à ce résultat, la méthode consiste à indiquer pour chaque couple d’image présentant un recouvrement, des points en commun sur les deux images. Ces points, dit de contrôle, vont être des détails de l’image comme des bâtiments, des sommets de montagne, des rochers et tout élément facilement repérable.
Avec Hugin, il faut commencer par installer Hugin. Ce tutoriel a principalement été écrit avec Hugin 0.6.1 même si la version 0.7 n’était pas loin de sortir et que certains copies d’écran datent de versions antérieures. De même, les indications sont pour Windows. Néanmoins quelques essais avec Ubuntu indiquent que ça fonctionne pas mal aussi. En particulier, tout est disponible dans le gestionnaire de paquet d’Ubuntu (Hugin lui-même mais aussi Autopano-sift et Enblend). Donc, pour installer la version 0.6.1 sous Windows, vous devez avoir téléchargé un fichier nommé hugin-0.6.1_win_installer.exe. Vous suivez les instructions d’installation. Ensuite, on démarre Hugin en allant dans le menu Démarrer puis Programmes|Hugin|Hugin. On indique les images par exemple en faisant un glissé-laché depuis l’explorateur windows. Dans le volet Images de Hugin, on voit la liste des images et si on clique sur l’une d’elles, elle apparaît en plus grand en bas à droite :
Aller au volet Points de contrôle. Avec les onglets numérotés un cran plus bas, sélectionnez deux images présentant un recouvrement. Je conseille de mettre le Zoom à 100%. Vous repérez un point commun entre les deux images. Vous cliquez sur le point en question sur l’image de gauche puis celle de droite. Si vous êtes contents du résultat, appuyez sur le bouton Ajouter en bas à droite. Des informations apparaissent sur le point dans le tableau en bas. Vous recommencez l’opération pour couvrir l’ensemble de la zone de recouvrement. En général, je mets 8 points par couple d’image. L’image suivante vous donne une idée du résultat attendu :
Pour faciliter le travail, je vous conseille d’activer les options Ajustement précis automatique et Estimation automatique en bas à droite comme sur l’image ci-dessus. À partir de clics approximatifs, Hugin va chercher à proximité quelle est la meilleure correspondance entre les deux images, avec une précision inférieure au pixel. Ça fonctionne bien en général. Par contre, si vous avez utilisé un (très) grand angle, que vos photos sont tournées dans tous les sens ou que vous avez pris un panorama sphérique, on constate que les correspondances sont moins bonnes, voir fausses. Il faut activer une option supplémentaire pour tenir compte de la rotation entre les deux images. Aller dans le menu Fichier|Préférences puis dans l’onglet Ajustement précis de la nouvelle fenêtre et cocher la case Utiliser la recherche par rotation :
Avec toutes ces options, le travail devrait aller plus vite. Néanmoins, il faut répéter l’opération pour toutes les images qui présentent un recouvrement. On se rend compte qu’assez rapidement, il va falloir mettre beaucoup de points. Pour un panorama circulaire avec 10 vues, il faut déjà 80 points. Si on a fait un panorama sphérique à 38 photos, on se retrouve avec des centaines de points à établir. Manuellement, c’est assez fastidieux.
Quant on est fatigué de mettre manuellement les points de contrôle, on peut utiliser un outil qui va rechercher automatiquement les éléments communs entre les couples d’image et établir les points de contrôle. J’utilise autopano-sift que vous pouvez télécharger en suivant le lien ci-dessus. Pour l’installer sur l’ordinateur, il suffit de double-cliquer sur le fichier autopano-sift-2.3-win-1.exe. À noter qu’il nécessite la présence de l’infrastructure .net 1.1 de Microsoft, à installer en plus si elle n’est pas encore présente sur votre ordinateur. Pour terminer l’installation, il faut indiquer à Hugin d’utiliser Autopano-sift et où le trouver. Pour ça, dans Hugin, il faut aller dans les Préférences à l’aide du menu Fichier|Préférences. Sur l’onglet Autopano, il faut :
indiquer d’utiliser Autopano-sift en sélectionnant Autopano-Sift (par S. Nowozin) dans la liste déroulante Sélectionner Autopano ;
cocher la case Utiliser le programme Autopano-Sift de remplacement ;
fournir l’endroit où se trouve l’exécutable d’Autopano-sift, à savoir autopano-win32.exe qui se situe par défaut dans C :\Program Files\Autopano-SIFT-2.3\. Vous pouvez utiliser le bouton Choisir ... à droite pour indiquer ce chemin ;
ne rien changer aux Paramètres en dessous.
La copie d’écran suivante montre le résultat attendu :
Pour l’utilisation d’Autopano-sift, je rencontre quelques problèmes, sans doute parce que je travaille avec un profil utilisateur sans droits administrateurs sous windows. J’ai trouvé un mode opératoire qui évite ces erreurs mais ça alourdit un peu le protocole.
Ensuite, pour un panorama à construire, aller au volet Images, cliquez sur n’importe quelle image de votre panorama puis sur le bouton Créer des points à côté de Correspondance d’éléments (Autopano). Une première petite fenêtre Lancement d’autopano s’ouvre. On ne s’en occupe pas. Une seconde fenêtre plus grande arrive Autopano-sift-winGUI, qui va d’ailleurs des fois se mettre derrière :
Normalement, à gauche, vous avez la liste de vos images. Pour les réglages, pour la partie Keypoint generation, en haut, il faut indiquer la résolution à utiliser pour faire les calculs. Par expérience, meilleure est la résolution, plus nombreux sont les points de contrôle trouvés. Mais si la résolution trop élevée, le temps de calcul et la mémoire utilisée sont trop importants. En pratique, j’indique 1300 si mes images font plus de 1300 pixels de large. Si mes images sont plus petites, je mets Keep input size. Juste en dessous, je mets Keep keypoiints in memory only. Plus bas, pour Refining options, je coche Enable refinement step et je laisse le reste inchangé. En particulier, l’option Refine by middle me donne de meilleurs résultats que Refine by mean aux étapes suivantes d’assemblage. L’étape Refining est facultative et augmente fortement le temps de calcul (de 10 à 33 minutes dans l’exemple cité au début). Enfin, en bas à droite, dans PTO Output, je change le nom du fichier avec le bouton select et je mets un emplacement où l’utilisateur a le droit d’écrire, typiquement le dossier des images sources. Enfin, on appuie sur le bouton Compute tout en bas pour démarrer la recherche des points. Une nouvelle fenêtre s’ouvre :
Quand les trois barres de progression sont complètes, c’est terminé (ou seulement les deux premières barres si vous n’avez pas utilisé l’option Refining). Si vous avez un message d’avertissement, voyez un peu plus bas. Vous appuyez sur le bouton Ok pour fermer la fenêtre. Vous revenez à la fenêtre principale d’Autopano-sift que vous fermez aussi en cliquant sur la croix en haut à droite. C’est à ce moment là que j’ai un message d’erreur d’Hugin me disant Échec d’Autopano.
Si vous n’avez pas d’erreur, vous pouvez passer directement au paragraphe suivant. Je quitte alors Hugin sans enregistrer les modifications. Puis je le relance et j’ouvre le fichier PTO que j’ai fait générer à Autopano-sift. La fermeture/réouverture d’Hugin est obligatoire sous peine d’avoir des messages d’erreur à l’étape de calcul des orientations.
Même si on n’a pas eu de message d’erreur, on peut quand même avoir un avertissement d’Autopano-Sift indiquant qu’il n’est pas parvenu à relier directement ou indirectement toutes les images entre elle, qu’il y a des orphelines :
Vous continuez les étapes pour fermer Autopano-Sift et revenir à Hugin. Vous pouvez de nouveau constater les problèmes comme sur l’image suivante :
En rouge, les images qui n’ont pas du tout de point commun avec d’autres images. Et en orange, celles qui en ont un peu mais quand même pas beaucoup. Dans les deux cas, il faut retourner à la détermination manuelle des points de contrôle et en rajouter à ceux générés automatiquement. S’il n’y a pas de problème, vous pouvez à la suite.
On peut avec le volet Points de contrôle regarder le résultat de la génération automatique. Il peut y avoir des erreurs mais il est difficile de s’en rendre compte à ce niveau là. Mieux vaudra y revenir après lors de l’optimisation des points de contrôle. De plus, il peut être judicieux de compléter par quelques points manuels, en particulier vers le nadir et zénith pour les panoramas sphériques. On peut aussi trouver que les points ne sont pas répartis de manières très homogènes et vouloir en rajouter pour boucher les "trous". Des fois, il y a même des doublets de points superposés. Finalement, on peut se demander si la génération automatique des points vaut le coup vu le travail de reprise derrière. Je dirais que ça permet d’avoir un premier aperçu rapide et que dans le cas d’un panorama multi-niveau, la mise en place manuelle serait vraiment trop longue.
Après la détermination des points de contrôle, il est temps de passer au calcul de l’orientation des images les unes par rapport aux autres.