Qu'est-ce que la transformation invariante de l'échelle (SIFT) ?

Abirami Vina

6 minutes de lecture

9 septembre 2025

Découvrez l'algorithme SIFT. Découvrez ce qu'est l'algorithme SIFT et ses puissantes fonctionnalités pour la vision par ordinateur invariante à l'échelle. Améliorez votre traitement d'images.

De nos jours, de nombreux appareils intelligents que nous utilisons, qu'il s'agisse de téléphones, d'appareils photo ou de systèmes domestiques intelligents, sont dotés de solutions d'intelligence artificielle capables de reconnaître des visages, des objets et même des scènes visuelles entières. Cette capacité est issue de la vision artificielle, un domaine de l'intelligence artificielle qui permet aux machines de comprendre et d'interpréter les images et les vidéos.

Par exemple, si vous prenez une photo de la Tour Eiffel sous n'importe quel angle ou à n'importe quelle distance, votre appareil peut généralement la reconnaître à l'aide de la vision par ordinateur et la classer dans le bon dossier de votre galerie. Bien que cela paraisse simple, la reconnaissance des objets n'est pas toujours aisée. Les images peuvent être très différentes en fonction de leur taille, de l'angle, de l'échelle ou de l'éclairage, ce qui complique l'identification cohérente par les machines. 

Pour résoudre ce problème, les chercheurs ont mis au point un algorithme de vision artificielle appelé Scale Invariant Feature Transform, ou SIFT. Cet algorithme permet de détecter des objets dans différentes conditions d'observation. Créé par David Lowe en 1999, SIFT a été conçu pour trouver et décrire des points clés uniques dans une image, tels que des coins, des bords ou des motifs qui restent reconnaissables même lorsque l'image est redimensionnée, tournée ou éclairée différemment.

Avant que les modèles de vision artificielle basés sur l'apprentissage profond, comme Ultralytics YOLO11, ne deviennent populaires, SIFT était une technique largement utilisée dans la vision artificielle. Il s'agissait d'une approche standard pour des tâches telles que la reconnaissance d'objets, dont l'objectif est d'identifier un élément spécifique sur une photo, et la mise en correspondance d'images, où les photos sont alignées en trouvant des caractéristiques d'image qui se chevauchent.

Dans cet article, nous allons explorer SIFT en donnant un aperçu rapide de ce qu'il est, de son fonctionnement à haut niveau et de son importance dans l'évolution de la vision par ordinateur. Commençons par le commencement !

Pourquoi l'algorithme SIFT est-il essentiel pour la vision par ordinateur ?

Dans une image, un objet peut apparaître de différentes manières. Par exemple, une tasse à café peut être photographiée de dessus, de côté, en plein soleil ou sous une lampe chaude. La même tasse peut également paraître plus grande lorsqu'elle est proche de l'appareil photo et plus petite lorsqu'elle est plus éloignée.

Toutes ces différences font de l'apprentissage de la reconnaissance d'un objet par un ordinateur une tâche compliquée. Cette tâche de vision par ordinateur, connue sous le nom de détection d'objets, exige des modèles Vision AI qu'ils identifient et localisent les objets avec précision, même lorsque leur taille, leur angle ou les conditions d'éclairage changent.

Pour ce faire, la vision par ordinateur s'appuie sur un processus appelé extraction ou détection de caractéristiques. Au lieu d'essayer de comprendre l'ensemble de l'image en une seule fois, un modèle recherche les caractéristiques distinctives de l'image, telles que les angles vifs, les motifs uniques ou les textures qui restent reconnaissables quels que soient l'angle, l'échelle et les conditions d'éclairage.

C'est notamment pour cela que la transformée de caractéristiques invariantes (Scale Invariant Feature Transform), ou SIFT, a été conçue. SIFT est un algorithme de détection et de description des caractéristiques qui permet d'identifier de manière fiable des objets dans des images, quelle que soit la manière dont elles ont été capturées.

Réaliser l'invariance d'échelle

L'algorithme SIFT possède quelques propriétés importantes qui le rendent utile pour la reconnaissance d'objets. L'une des principales propriétés est l'invariance d'échelle. Cela signifie que l'algorithme SIFT peut reconnaître les différentes parties d'un objet, qu'il soit grand et proche de la caméra ou petit et éloigné. Même si l'objet n'est pas entièrement visible, l'algorithme peut toujours identifier les mêmes points clés.

Pour ce faire, il utilise un concept appelé théorie de l'espace-échelle. En termes simples, l'image est floutée à différents niveaux pour créer plusieurs versions. SIFT examine ensuite ces versions pour trouver des motifs et des détails qui restent inchangés, quelle que soit la taille ou la netteté de l'image. 

Par exemple, un panneau routier photographié à quelques mètres de distance paraîtra beaucoup plus grand que le même panneau capturé à distance, mais SIFT peut toujours détecter les mêmes caractéristiques distinctives. Il est ainsi possible de faire correspondre correctement les deux images, même si le panneau apparaît à des échelles très différentes.

Assurer l'invariance de la rotation

Les objets dans les images peuvent également apparaître tournés, parfois même à l'envers. SIFT gère ce problème grâce à une propriété appelée invariance de rotation. Pour chaque point clé qu'il détecte, l'algorithme attribue une orientation cohérente basée sur les gradients locaux de l'image. Ainsi, le même objet peut être reconnu quelle que soit la façon dont il est tourné.

Cela revient à marquer chaque point clé d'une petite flèche qui indique la direction dans laquelle il se trouve. En alignant les caractéristiques sur ces orientations, SIFT garantit que les points clés correspondent correctement, même lorsque l'objet est tourné. Par exemple, un point de repère capturé sur une photo de paysage peut toujours être identifié correctement, même si une autre photo est prise avec l'appareil photo incliné.

Résistance à d'autres variations d'images

Au-delà de la taille et de la rotation, les images peuvent également subir d'autres modifications, telles que des changements d'éclairage. L'éclairage d'un objet peut passer de fort à faible, l'angle de la caméra peut se décaler légèrement ou l'image peut être floue ou bruitée.

SIFT est conçu pour gérer ce type de variations. Pour ce faire, il se concentre sur les points clés qui sont distinctifs et très contrastés, car ces caractéristiques sont moins affectées par les changements d'éclairage ou les petites modifications du point de vue. Par conséquent, le SIFT tend à être plus fiable que les méthodes simples de détection des bords ou des coins, qui échouent souvent lorsque les conditions changent.

Fig. 1. Points clés SIFT extraits (a) d'une image de pluie et (b) de l'image d'entrée propre correspondante.(Source)

Prenons l'exemple d'un tableau dans une galerie. Il est toujours possible de le reconnaître, qu'il soit photographié sous une lumière du jour douce, sous des projecteurs artificiels brillants ou même avec un léger flou de bougé dû à un appareil photo portatif. Les points clés restent suffisamment stables pour permettre une correspondance précise malgré ces différences.

Fonctionnement de l'algorithme SIFT (Scale-Invariant Feature Transform)

Voyons maintenant comment fonctionne l'algorithme SIFT. Ce processus peut être décomposé en quatre étapes principales : la détection des points clés, la localisation des points clés, l'attribution de l'orientation et la description des points clés.

Étape 1 : Détection des extrema à l'échelle de l'espace

La première étape consiste à trouver et à détecter les points clés, qui sont des points distinctifs dans l'image, tels que les coins ou les changements brusques de texture, qui permettent de suivre ou de reconnaître un objet.

Pour s'assurer que ces points clés potentiels peuvent être reconnus à n'importe quelle taille, SIFT construit ce que l'on appelle un espace d'échelle. Il s'agit d'une collection d'images créées en brouillant progressivement l'image originale à l'aide d'un filtre gaussien, qui est une technique de lissage, et en regroupant les résultats en couches appelées octaves. Chaque octave contient la même image à des niveaux de flou croissants, tandis que l'octave suivante est une version plus petite de l'image.

En soustrayant une image floue d'une autre, SIFT calcule la différence des gaussiens (DoG), qui met en évidence les zones où la luminosité change brusquement. Ces zones sont choisies comme points clés candidats parce qu'elles restent cohérentes lorsque l'image est agrandie ou réduite.

Fig. 2. DoG met en évidence les structures clés en soustrayant les images floues à différents niveaux.(Source)

Étape 2 : Localisation des points clés

Tous les points clés candidats ne sont pas utiles, car certains peuvent être faibles ou instables. Pour les affiner, SIFT utilise une méthode mathématique appelée expansion de la série de Taylor, qui permet d'estimer la position exacte d'un point clé avec une plus grande précision.

Au cours de cette étape, les points non fiables sont supprimés. Les points clés à faible contraste, qui se fondent dans leur environnement, sont écartés, de même que ceux qui se trouvent directement sur les bords, car ils peuvent se déplacer trop facilement. Cette étape de filtrage ne laisse que les points clés les plus stables et les plus distinctifs.

Étape 3 : Mission d'orientation

Une fois les points clés stables identifiés, SIFT les rend invariants par rapport à la rotation, ce qui signifie qu'ils peuvent toujours être mis en correspondance même si l'image est tournée sur le côté ou à l'envers. Pour ce faire, SIFT analyse la manière dont la luminosité change autour de chaque point clé, ce que l'on appelle le gradient. Les gradients indiquent à la fois la direction et la force du changement d'intensité du pixel et, ensemble, ils capturent la structure locale autour du point.

Pour chaque point clé, SIFT prend en compte les gradients dans une région environnante et les regroupe dans un histogramme d'orientations. Le pic le plus élevé de cet histogramme indique la direction dominante du changement d'intensité, qui est ensuite assignée à l'orientation du point clé. Pour construire cet histogramme, on utilise à la fois les directions des gradients, qui montrent où l'intensité change, et les amplitudes des gradients, qui indiquent l'importance de ce changement

Si d'autres pics sont presque aussi importants, SIFT attribue plusieurs orientations au même point clé. Cela permet d'éviter de perdre des caractéristiques importantes lorsque les objets apparaissent sous des angles inhabituels. En alignant chaque point clé sur son orientation, SIFT garantit la cohérence des descripteurs générés à l'étape suivante. 

En d'autres termes, même si deux images du même objet sont tournées différemment, les points clés alignés sur l'orientation correspondront toujours correctement. C'est cette étape qui confère à SIFT sa forte capacité à gérer la rotation et qui le rend beaucoup plus robuste que les méthodes antérieures de détection des caractéristiques.

Fig. 3. Un examen plus approfondi de l'étape 3 de l'algorithme SIFT(Source)

Étape 4 : Descripteur de points clés

La dernière étape de SIFT consiste à créer une description de chaque point clé afin qu'il puisse être reconnu dans d'autres images. 

SIFT y parvient en examinant une petite zone carrée autour de chaque point clé, d'une taille d'environ 16 pixels sur 16. Cette zone est d'abord alignée sur l'orientation du point clé, de sorte que la rotation ne l'affecte pas. La zone est ensuite divisée en une grille de carrés plus petits de 4 x 4.

Dans chaque petit carré, SIFT mesure les variations de luminosité dans différentes directions. Ces changements sont stockés dans ce que l'on appelle un histogramme, qui est une sorte de graphique montrant les directions les plus courantes. Chaque carré reçoit son propre histogramme et, ensemble, les 16 carrés produisent 16 histogrammes.

Enfin, ces histogrammes sont combinés en une seule liste de nombres, 128 au total. Cette liste est appelée vecteur de caractéristiques et agit comme une empreinte digitale pour le point clé. Parce qu'elle capture la texture et la structure uniques autour du point, cette empreinte digitale permet de faire correspondre le même point clé sur différentes images, même si elles sont redimensionnées, tournées ou éclairées différemment.

Fig. 4. Vue d'ensemble du fonctionnement de SIFT(Source)

Principales applications de SIFT dans le domaine de la vision par ordinateur

Maintenant que nous avons une meilleure compréhension de ce qu'est le SIFT et de son fonctionnement, explorons quelques-unes de ses applications réelles dans le domaine de la vision par ordinateur.

Reconnaissance et détection d'objets

L'une des principales utilisations de SIFT est la reconnaissance et la détection d'objets. Il s'agit d'apprendre à un ordinateur à reconnaître et à localiser des objets dans des images, même si ces objets n'ont pas toujours la même apparence. Par exemple, SIFT peut détecter un livre, qu'il soit proche de la caméra, plus éloigné ou tourné en angle.

La raison pour laquelle cela fonctionne est que SIFT extrait des points clés qui sont hautement distinctifs et stables. Lorsque ces points clés sont associés à des descripteurs SIFT, ils forment les caractéristiques SIFT, qui constituent un moyen fiable de faire correspondre le même objet sur différentes images. Ces caractéristiques capturent des détails uniques de l'objet qui restent cohérents, ce qui permet une correspondance fiable des caractéristiques entre les images, même lorsque la taille, la position ou l'orientation de l'objet change.

Fig. 5. Utilisation de SIFT pour reconnaître une couverture de livre dans une nouvelle image prise avec une orientation différente de l'originale. Image de l'auteur.

Avant que l'apprentissage profond ne devienne populaire, SIFT était l'une des méthodes les plus fiables pour construire des systèmes de reconnaissance d'objets. Elle était largement utilisée dans la recherche et les applications qui nécessitaient la mise en correspondance d'objets dans de vastes ensembles d'images, même si elle nécessitait souvent des ressources informatiques importantes.

Assemblage d'images et création de panoramas

SIFT peut également être utilisé pour créer des images panoramiques, qui sont des photos larges réalisées en assemblant plusieurs images. SIFT permet de trouver des points clés distinctifs dans les parties de différentes images qui se chevauchent, puis de les faire correspondre les unes aux autres. Ces correspondances agissent comme des points d'ancrage, guidant le processus d'assemblage sur la manière dont les photos doivent être alignées.

Une fois la mise en correspondance terminée, des algorithmes d'assemblage peuvent être utilisés pour calculer l'alignement correct, souvent à l'aide de transformations géométriques qui font correspondre une image à une autre. Les images sont ensuite mélangées de manière à faire disparaître les raccords. Le résultat final est un panorama sans couture qui ressemble à une seule grande photo, même s'il a été créé à partir de plusieurs prises de vue.

Reconstruction 3D et robotique

Une autre application intéressante de SIFT est la reconstruction 3D, où plusieurs photos 2D prises sous différents angles sont combinées pour construire un modèle tridimensionnel. SIFT fonctionne en trouvant et en faisant correspondre les mêmes points sur ces images. 

Une fois les correspondances établies, les positions 3D de ces points peuvent être estimées à l'aide de la triangulation, une méthode qui calcule la profondeur à partir de différents points de vue. Ce processus fait partie de la structure à partir du mouvement (SfM), une technique qui utilise plusieurs images qui se chevauchent pour estimer la forme 3D d'une scène ainsi que les positions des caméras qui ont pris les photos.

Le résultat est généralement un nuage de points en 3D, une collection de points dans l'espace qui décrit l'objet ou l'environnement. SIFT a été l'un des premiers outils à rendre pratique la structure à partir du mouvement. Bien que de nouvelles techniques soient plus rapides et plus courantes aujourd'hui, le SIFT continue d'être utilisé lorsque la précision est plus importante que la vitesse.

Le SIFT a également été utilisé en robotique, en particulier dans le cadre du SLAM (Simultaneous Localization and Mapping). Le SLAM permet à un robot de savoir où il se trouve tout en construisant une carte de son environnement. 

Les points clés SIFT constituent des repères fiables qu'un robot peut reconnaître d'une image à l'autre, même en cas de changement d'éclairage ou d'angle. En suivant ces points de repère, le robot peut estimer sa position et mettre à jour sa carte à la volée. Bien que des détecteurs de caractéristiques plus rapides soient plus souvent utilisés en robotique aujourd'hui, SIFT a joué un rôle important dans les premiers systèmes SLAM et reste essentiel dans les cas où la robustesse est plus importante que la vitesse.

Avantages et considérations de SIFT

Bien que l'algorithme SIFT ait été largement utilisé dans le domaine de la vision par ordinateur et qu'il soit connu pour être une méthode fiable, il présente également quelques inconvénients. C'est pourquoi il est important de peser le pour et le contre avant de décider s'il convient à un projet. Passons maintenant en revue ses principales forces et limites.

Principaux avantages de SIFT

Voici quelques-uns des avantages de l'utilisation de l'algorithme SIFT :

  • Invariance d'échelle et de rotation : SIFT fournit des points clés invariants à l'échelle qui restent relativement stables lorsque les objets apparaissent à des tailles ou des orientations différentes, ce qui représente une avancée significative par rapport aux détecteurs de caractéristiques antérieurs.‍
  • Robustesse modérée aux changements d'éclairage et de point de vue : SIFT peut gérer les changements de luminosité, de contraste ou les petits changements de point de vue, bien qu'il soit moins fiable dans des conditions plus extrêmes.‍
  • Capacité à travailler dans des scènes encombrées ou partiellement cachées : Comme SIFT détecte de nombreux points clés locaux, il peut souvent identifier un objet même si une partie de celui-ci est couverte ou si l'arrière-plan est complexe.

Considérations sur les performances et alternatives

Voici quelques-uns des inconvénients de l'utilisation de l'algorithme SIFT :

  • Coût de calcul élevé : Le processus en plusieurs étapes et les descripteurs détaillés de l'algorithme SIFT le rendent plus lent et plus gourmand en ressources que les détecteurs de caractéristiques modernes. Pour améliorer cette situation, les chercheurs ont mis au point l'algorithme SURF (Speeded-Up Robust Features), qui utilise des calculs plus rapides pour trouver et décrire les caractéristiques. SURF est moins précis que SIFT dans certains cas, mais il fonctionne beaucoup plus rapidement, ce qui le rend plus pratique pour les tâches sensibles au temps.‍
  • Il n'est pas idéal pour une utilisation en temps réel : En raison de son coût de calcul, le SIFT se heurte à des difficultés lorsqu'il s'agit d'applications où la vitesse est essentielle, comme le suivi en temps réel ou la robotique mobile.‍
  • Polyvalence limitée: Bien que robuste dans de nombreux cas, le SIFT est moins efficace en cas de changements d'éclairage extrêmes, de déplacements importants du point de vue ou de scènes très dynamiques, où de nouveaux algorithmes ou des méthodes d'apprentissage automatique sont plus performants.

En explorant les avantages et les inconvénients de SIFT, vous remarquerez peut-être que nombre de ses limites ont ouvert la voie à des techniques plus avancées. En particulier, les réseaux neuronaux convolutifs (CNN) sont apparus comme une alternative puissante. 

Un CNN est un type de modèle d'apprentissage profond inspiré du fonctionnement du système visuel humain. Il traite une image par couches, en commençant par des motifs simples tels que les bords et les textures, et en progressant progressivement vers des formes et des objets plus complexes. Contrairement aux règles de caractéristiques élaborées à la main par SIFT, les CNN apprennent les représentations des caractéristiques directement à partir des données. 

Cet apprentissage basé sur les données signifie que les CNN peuvent être plus performants que les SIFT dans les tâches de correspondance et de classification des descripteurs. Les CNN sont également plus expressifs et plus robustes, s'adaptant mieux à la variabilité et à la complexité des données visuelles. 

Par exemple, les modèles basés sur le CNN ont obtenu des résultats révolutionnaires sur ImageNet, un ensemble de données de référence massif contenant des millions d'images étiquetées dans des milliers de catégories. Conçu pour tester la capacité des algorithmes à reconnaître et à classer les objets, ImageNet permet de mettre en évidence l'écart entre les anciennes méthodes basées sur les caractéristiques et l'apprentissage profond. 

Les CNN ont rapidement surpassé le SIFT en apprenant des représentations beaucoup plus riches et flexibles, ce qui leur a permis de reconnaître des objets sous un éclairage changeant, à partir de différents points de vue et même lorsqu'ils sont partiellement cachés, des scénarios dans lesquels le SIFT a souvent du mal à s'imposer.

Principaux enseignements

L'algorithme Scale Invariant Feature Transform occupe une place importante dans l'histoire de la vision par ordinateur. Il a fourni un moyen fiable de détecter des caractéristiques, même dans des environnements changeants, et a influencé de nombreuses méthodes utilisées aujourd'hui. 

Si les nouvelles techniques sont plus rapides et plus efficaces, c'est SIFT qui en a posé les bases. SIFT illustre le point de départ des progrès réalisés aujourd'hui dans le domaine de la vision par ordinateur et met en évidence le chemin parcouru par les systèmes d'IA de pointe.

Rejoignez notre communauté mondiale et consultez notre dépôt GitHub pour en savoir plus sur la vision par ordinateur. Explorez nos pages de solutions pour découvrir des innovations telles que l 'IA dans l'agriculture et la vision par ordinateur dans le commerce de détail. Consultez nos options de licence et commencez à construire votre propre modèle de vision par ordinateur.

Construisons ensemble le futur
de l'IA !

Commencez votre voyage avec l'avenir de l'apprentissage automatique

Commencer gratuitement
Lien copié dans le presse-papiers