Image Stitching
L’Image Stitching, ou assemblage d’images, est le processus algorithmique consistant à combiner plusieurs images numériques, qui possèdent des régions de chevauchement, afin de créer une seule image composite de plus grande dimension, typiquement une image panoramique ou une image à très haute résolution.
Les concepts fondamentaux de l’Image Stitching reposent sur plusieurs étapes clés issues de la vision par ordinateur et du traitement d’images. Le processus débute par l’acquisition soignée des images sources, en s’assurant qu’elles se chevauchent suffisamment (généralement entre 20% et 50%) et qu’elles sont capturées avec des paramètres d’exposition, de balance des blancs et de mise au point aussi constants que possible. Il est crucial de minimiser l’effet de parallaxe en faisant tourner l’appareil photo autour de son point nodal (ou pupille d’entrée). Ensuite vient l’étape d’extraction de caractéristiques, où des algorithmes détectent des points d’intérêt saillants (comme des coins ou des motifs texturés uniques) dans les zones de chevauchement de chaque image. Des descripteurs locaux (par exemple SIFT, SURF, ORB) sont calculés pour chaque point d’intérêt. L’étape suivante est la mise en correspondance, où les descripteurs des différentes images sont comparés pour trouver des paires de points correspondants entre les images adjacentes. Suite à cela, une transformation géométrique, souvent une homographie (une transformation projective 2D), est estimée pour modéliser la relation spatiale entre chaque paire d’images qui se chevauchent. Des algorithmes robustes comme RANSAC (Random Sample Consensus) sont fréquemment utilisés pour éliminer les correspondances erronées et obtenir une estimation fiable de la transformation. Une fois la transformation calculée, les images sont réalignées ou déformées (warping) pour s’ajuster les unes aux autres dans un système de coordonnées commun, en utilisant souvent des projections comme la projection cylindrique ou sphérique pour les panoramas. Enfin, l’étape de fusion (blending) combine les pixels dans les zones de chevauchement pour créer des transitions invisibles et lisses entre les images sources, en utilisant des techniques comme la moyenne pondérée, le gain compensation, le multi-band blending ou le Poisson image editing, afin d’éviter les coutures visibles et d’harmoniser les différences de luminosité ou de couleur.
L’Image Stitching revêt une importance considérable dans de nombreux domaines. Sa pertinence principale réside dans sa capacité à surmonter les limitations physiques des capteurs et des objectifs des appareils photo. Il permet de capturer des scènes dont l’angle de vue dépasse largement celui d’un objectif standard, offrant ainsi des vues panoramiques immersives. De plus, en combinant plusieurs clichés d’une même scène, il permet de créer des images composites d’une résolution exceptionnellement élevée (images gigapixel), bien au-delà de ce que pourrait produire un capteur unique. Cet impact se ressent fortement en photographie de paysage, en architecture, mais aussi dans des domaines scientifiques et techniques où la visualisation de vastes étendues ou de détails infimes est cruciale, comme en cartographie, en astronomie, en imagerie médicale ou en inspection industrielle. Il démocratise également la création de contenus pour la réalité virtuelle.
Les applications pratiques de l’Image Stitching sont nombreuses et variées. L’une des plus connues est la création de photographies panoramiques, que ce soit pour immortaliser de vastes paysages naturels, des scènes urbaines étendues, des intérieurs de bâtiments ou même de grands groupes de personnes. Un exemple concret est l’assemblage de plusieurs photos prises en tournant sur soi-même pour obtenir une vue à 360 degrés. Une autre application majeure est la création d’images gigapixel, où des centaines voire des milliers de photos sont assemblées pour former une image unique extrêmement détaillée, permettant de zoomer sur des détails très fins (par exemple, une vue détaillée d’une ville entière). Dans le domaine de la réalité virtuelle et augmentée, l’Image Stitching est essentiel pour créer les environnements sphériques ou cylindriques (skyboxes, textures d’environnement) qui immergent l’utilisateur. En cartographie et dans les Systèmes d’Information Géographique (SIG), il est utilisé pour assembler des photographies aériennes ou satellitaires en de grandes mosaïques géoréférencées ou des orthophotographies. L’imagerie médicale l’emploie pour combiner plusieurs champs de vision microscopiques ou des vues du fond de l’œil pour une analyse plus complète. L’industrie l’utilise pour l’inspection de grandes surfaces, comme des panneaux solaires, des circuits imprimés ou des soudures. Enfin, dans le domaine de la surveillance, plusieurs flux vidéo de caméras adjacentes peuvent être assemblés en temps réel pour offrir une vue d’ensemble continue.
Il existe différentes nuances et variations dans le concept d’Image Stitching. On distingue principalement le stitching 2D, qui est le plus courant et fonctionne bien lorsque la scène est lointaine ou que la caméra tourne autour de son point nodal (supposant une transformation projective simple comme une homographie), du stitching 3D, qui tente de prendre en compte la géométrie tridimensionnelle de la scène, souvent en reconstruisant un modèle 3D partiel, ce qui est plus complexe mais peut gérer des effets de parallaxe plus importants. Les types de panoramas créés varient également selon la projection utilisée : planaire (pour des champs de vision étroits), cylindrique (courant pour les panoramas horizontaux), sphérique (pour les vues à 360×180 degrés) ou cubique (utilisé en infographie et VR). Le processus peut être entièrement automatique, comme dans la plupart des logiciels et applications mobiles actuels, ou nécessiter une intervention manuelle pour placer des points de contrôle ou corriger des erreurs d’alignement. On différencie aussi le stitching en post-traitement, réalisé après la prise de vue, du stitching en temps réel, utilisé par exemple dans les caméras 360 degrés ou les systèmes de surveillance. Enfin, les approches algorithmiques peuvent être basées sur la détection et la mise en correspondance de caractéristiques (feature-based), ou sur l’alignement direct des intensités de pixels (direct methods).
Plusieurs concepts sont étroitement liés à l’Image Stitching. L’enregistrement d’images (Image Registration) est un terme plus général qui englobe tout processus d’alignement de plusieurs images, dont le stitching est une application spécifique visant souvent à étendre le champ de vision ou la résolution. Le mosaïquage d’images est souvent utilisé comme synonyme d’Image Stitching, en particulier dans les domaines de la télédétection et de la cartographie. La photogrammétrie est un domaine connexe qui utilise des photographies pour effectuer des mesures précises et reconstruire des objets ou des scènes en 3D, partageant des techniques d’alignement et de calibration avec le stitching. La photographie panoramique est l’application la plus visible de l’Image Stitching. Des techniques comme l’imagerie à grande gamme dynamique (HDR), qui combine des images prises avec différentes expositions, et le focus stacking, qui combine des images avec différentes mises au point, sont parfois utilisées conjointement avec l’Image Stitching pour améliorer la qualité de l’image finale. Il n’existe pas d’antonyme direct clair, mais des opérations comme le découpage (cropping) ou la segmentation d’images, qui visent à isoler des parties d’une image, représentent une démarche inverse à celle de la combinaison.
L’idée d’assembler des images pour créer une vue plus large est ancienne, précédant l’ère numérique. Les photographes du 19ème siècle créaient déjà des panoramas en juxtaposant soigneusement des tirages photographiques. Cependant, l’Image Stitching tel que nous le connaissons aujourd’hui est né avec l’avènement de la photographie numérique et les progrès rapides de la vision par ordinateur et de la puissance de calcul à la fin du 20ème et au début du 21ème siècle. Le développement d’algorithmes robustes pour l’extraction et la mise en correspondance de caractéristiques, comme SIFT (Scale-Invariant Feature Transform) proposé par David Lowe en 1999 et amélioré en 2004, a constitué une avancée majeure, permettant un assemblage automatique fiable. Depuis lors, les techniques se sont perfectionnées, intégrant de meilleures méthodes de fusion, de correction géométrique et colorimétrique. Le stitching est devenu une fonctionnalité standard dans de nombreux logiciels de retouche photo, appareils photo numériques et smartphones, le rendant accessible au grand public. L’évolution se poursuit avec des travaux sur le stitching vidéo, le stitching en temps réel pour la réalité virtuelle et les véhicules autonomes, ainsi que des approches basées sur l’apprentissage profond (deep learning).
L’Image Stitching présente de nombreux avantages. Il permet d’obtenir des images avec un champ de vision extrêmement large, impossible à capturer en une seule prise avec des objectifs conventionnels. Il offre la possibilité de créer des images à très haute, voire gigapixel, résolution, révélant des détails incroyables. C’est une solution flexible qui ne nécessite pas toujours d’investir dans des objectifs ultra grand-angle ou fisheye coûteux. Il est également fondamental pour la création de contenus immersifs pour la réalité virtuelle. Cependant, la technique comporte aussi des inconvénients et des défis. Le processus exige une capture soignée des images sources, notamment un chevauchement adéquat et la rotation autour du point nodal pour éviter les erreurs de parallaxe, particulièrement gênantes pour les objets proches. La présence d’objets en mouvement dans la scène pendant la capture peut entraîner des artefacts disgracieux comme des images fantômes (ghosting) ou des objets coupés/dupliqués. Les variations d’éclairage ou de balance des blancs entre les prises de vue peuvent compliquer l’obtention d’un résultat homogène. Le traitement peut être très gourmand en ressources de calcul, surtout pour un grand nombre d’images ou des images de très haute résolution. Les distorsions géométriques inhérentes aux projections panoramiques peuvent parfois déformer les lignes droites. Enfin, les algorithmes peuvent échouer dans les zones de l’image manquant de texture ou présentant des motifs très répétitifs, rendant la mise en correspondance des caractéristiques difficile ou ambiguë.