Qu’est-ce que la transformée de caractéristiques invariante à l’échelle (SIFT) ?
Découvre comment l’algorithme SIFT détecte et décrit des points clés invariants à l’échelle et à la rotation, comment fonctionnent ses quatre étapes et dans quels domaines il est utilisé en vision par ordinateur.
Abirami Vina16 min de lecture
Pour découvrir visuellement les concepts abordés dans cet article, regarde la vidéo ci-dessous.
Aujourd’hui, bon nombre des appareils intelligents que nous utilisons, des téléphones et caméras aux systèmes domotiques, intègrent des solutions d’IA capables de reconnaître les visages, les objets et même des scènes visuelles entières. Cette capacité repose sur la vision par ordinateur, 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 tu prends une photo de la tour Eiffel sous n’importe quel angle ou à n’importe quelle distance, ton appareil peut généralement la reconnaître grâce à la vision par ordinateur et la classer dans le bon dossier de ta galerie. Cela paraît simple, mais la reconnaissance d’objets ne l’est pas toujours. Les images peuvent sembler très différentes selon leur taille, leur angle, leur échelle ou leur éclairage, ce qui complique leur identification cohérente par les machines.
Pour résoudre ce problème, les chercheurs ont conçu un algorithme de vision par ordinateur appelé transformée de caractéristiques invariante à l’échelle, ou SIFT. Cet algorithme permet de détecter des objets dans différentes conditions de prise de vue. Créé par David Lowe en 1999, SIFT a été conçu pour repérer et décrire les points clés distinctifs d’une image, comme des coins, des contours ou des motifs qui restent reconnaissables même si l’image est redimensionnée, pivotée ou éclairée différemment.
Avant que les modèles de vision par ordinateur basés sur l’apprentissage profond, comme Ultralytics YOLO11, ne deviennent populaires, SIFT était une technique largement utilisée en vision par ordinateur. C’était une approche standard pour des tâches comme la reconnaissance d’objets, qui consiste à identifier un élément précis dans une photo, et la mise en correspondance d’images, qui consiste à aligner des photos en repérant les caractéristiques d’image communes.
Dans cet article, nous allons présenter brièvement SIFT, expliquer son fonctionnement général et montrer pourquoi cette méthode est importante dans l’évolution de la vision par ordinateur.
Pourquoi l’algorithme SIFT est essentiel à la vision par ordinateur#
Un objet peut apparaître de nombreuses façons différentes dans une image. Par exemple, une tasse à café peut être photographiée de dessus, de côté, en plein soleil ou sous une lampe à lumière chaude. La même tasse peut aussi paraître plus grande lorsqu’elle est proche de l’appareil photo et plus petite lorsqu’elle en est éloignée.
Toutes ces différences compliquent l’apprentissage de la reconnaissance d’objets par ordinateur. Cette tâche de vision par ordinateur, appelée détection d’objets, exige que les modèles d’IA visuelle identifient et localisent les objets avec précision, même lorsque leur taille, leur angle ou les conditions d’éclairage changent.
Pour y parvenir, la vision par ordinateur s’appuie sur un processus appelé extraction de caractéristiques ou détection. Au lieu d’essayer de comprendre toute l’image d’un seul coup, un modèle recherche des caractéristiques visuelles distinctives, comme des angles marqués, des motifs uniques ou des textures qui restent reconnaissables malgré les changements d’angle, d’échelle et d’éclairage.
C’est précisément ce que la transformée de caractéristiques invariante à l’échelle, ou SIFT, a été conçue pour faire. SIFT est un algorithme de détection et de description de caractéristiques qui permet d’identifier de façon fiable les objets dans les images, quelles que soient les conditions de prise de vue.
Assurer l’invariance d’échelle#
L’algorithme SIFT possède plusieurs propriétés importantes qui le rendent utile pour la reconnaissance d’objets. L’une des principales est l’invariance d’échelle. Cela signifie que SIFT peut reconnaître différentes parties d’un objet, qu’il paraisse grand et proche de l’appareil photo ou petit et éloigné. Même si l’objet n’est pas entièrement visible, l’algorithme peut repérer les mêmes points clés.
Pour cela, il s’appuie sur un concept appelé théorie de l’espace-échelle. En bref, l’image est floutée à différents niveaux afin d’en créer plusieurs versions. SIFT parcourt ensuite ces versions pour trouver les motifs et les détails qui restent identiques, quelles que soient les variations de taille ou de netteté de l’image.
Par exemple, un panneau routier photographié à quelques mètres paraît beaucoup plus grand que le même panneau photographié de loin, mais SIFT peut toujours détecter les mêmes caractéristiques distinctives. Il devient ainsi possible de mettre correctement les deux images en correspondance, même si le panneau y apparaît à des échelles très différentes.
Assurer l’invariance par rotation#
Les objets représentés dans les images peuvent aussi être pivotés, parfois même à l’envers. SIFT gère ce cas grâce à une propriété appelée invariance par rotation. Pour chaque point clé détecté, l’algorithme attribue une orientation cohérente en fonction des gradients locaux de l’image. Ainsi, le même objet peut être reconnu quelle que soit sa rotation.
Tu peux imaginer que chaque point clé est marqué d’une petite flèche qui indique sa direction. En alignant les caractéristiques sur ces orientations, SIFT garantit la bonne mise en correspondance des points clés, même lorsque l’objet est pivoté. Par exemple, un monument photographié en format paysage peut toujours être correctement identifié si une autre photo de ce monument est prise avec l’appareil incliné.
Résistance aux autres variations de l’image#
Outre la taille et la rotation, les images peuvent aussi varier d’autres façons, par exemple en raison de changements d’éclairage. La luminosité d’un objet peut passer de forte à faible, l’angle de l’appareil photo peut légèrement changer, ou l’image peut être floue ou bruitée.
SIFT est conçu pour gérer ce type de variations. Pour cela, il se concentre sur les points clés distinctifs et à fort contraste, car ces caractéristiques sont moins sensibles aux changements d’éclairage ou aux légères variations du point de vue. SIFT est donc généralement plus fiable que les méthodes simples de détection de contours ou de coins, qui échouent souvent lorsque les conditions changent.

Fig. 1. Points clés SIFT extraits (a) d’une image pluvieuse et (b) de l’image d’origine correspondante, sans pluie. (Source)
Prenons le cas d’un tableau exposé dans une galerie. Il peut toujours être reconnu qu’il soit photographié à la douce lumière du jour, sous de puissants projecteurs artificiels ou même avec un léger flou de mouvement dû à une prise de vue à main levée. Les points clés restent suffisamment stables pour permettre une mise en correspondance précise malgré ces différences.
Fonctionnement de l’algorithme de transformée de caractéristiques invariante à l’échelle (SIFT)#
Voyons maintenant le fonctionnement de l’algorithme SIFT. Le processus se décompose en quatre étapes principales : la détection des points clés, leur localisation, l’attribution d’une orientation et leur description.
Étape 1 : détection des extrema dans l’espace-échelle#
La première étape consiste à trouver et détecter des points d’intérêt, c’est-à-dire des zones distinctives de l’image, comme des coins ou des changements brusques de texture, qui aident à suivre ou à reconnaître un objet.
Pour que ces points clés potentiels puissent être reconnus à n’importe quelle échelle, SIFT construit ce qu’on appelle un espace-échelle. Il s’agit d’un ensemble d’images obtenu en floutant progressivement l’image d’origine avec un filtre gaussien — une technique de lissage — puis en regroupant les résultats en couches appelées octaves. Chaque octave contient la même image avec des niveaux de flou croissants, tandis que l’octave suivante contient une version plus petite de l’image.
En soustrayant une image floutée d’une autre, SIFT calcule la différence de gaussiennes (DoG), qui met en évidence les zones où la luminosité change brusquement. Ces zones sont retenues comme points clés candidats, car elles restent cohérentes lorsque l’image est agrandie ou réduite.

Fig. 2. La DoG met en évidence les structures clés en soustrayant des images floutées à 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 peu marqués ou instables. Pour les affiner, SIFT utilise une méthode mathématique appelée développement en série de Taylor, qui permet d’estimer plus précisément la position exacte d’un point clé.
À cette étape, les points peu fiables sont supprimés. Les points clés à faible contraste, qui se confondent avec leur environnement, sont écartés, de même que ceux situés directement sur des contours, car ils peuvent se déplacer trop facilement. Ce filtrage ne conserve que les points clés les plus stables et distinctifs.
Étape 3 : attribution d’une orientation#
Une fois les points clés stables identifiés, SIFT les rend invariants par 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 cela, SIFT analyse les variations de luminosité autour de chaque point clé, appelées gradient. Les gradients indiquent à la fois la direction et l’intensité des variations d’intensité des pixels et décrivent ensemble la structure locale autour du point.
Pour chaque point clé, SIFT examine les gradients dans une région environnante et les regroupe dans un histogramme des orientations. Le pic le plus élevé de cet histogramme indique la direction dominante des variations d’intensité, qui est alors attribuée comme orientation au point clé. L’histogramme est construit à partir des directions des gradients, qui indiquent où l’intensité varie, et de leurs amplitudes, qui indiquent la force de cette variation.
Si d’autres pics sont presque aussi élevés, SIFT attribue plusieurs orientations au même point clé. Cela évite de perdre des caractéristiques importantes lorsque des 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.
Autrement dit, même si deux images du même objet sont pivotées différemment, les points clés alignés sur leur orientation seront toujours correctement mis en correspondance. Cette étape confère à SIFT sa grande capacité à gérer les rotations et le rend bien plus robuste que les méthodes de détection de caractéristiques antérieures.

Fig. 3. Zoom sur l’étape 3 de l’algorithme SIFT (Source)
Étape 4 : description des points clés#
La dernière étape de SIFT consiste à créer une description de chaque point clé afin de pouvoir le reconnaître dans d’autres images.
Pour cela, SIFT examine une petite zone carrée autour de chaque point clé, d’environ 16 sur 16 pixels. Cette zone est d’abord alignée sur l’orientation du point clé pour que la rotation n’ait aucun effet. Elle est ensuite divisée en une grille de 4 sur 4 petits carrés.
Dans chaque petit carré, SIFT mesure les variations de luminosité dans différentes directions. Ces variations sont stockées dans un histogramme, une sorte de graphique qui montre les directions les plus fréquentes. Chaque carré possède son propre histogramme et les 16 carrés produisent donc 16 histogrammes.
Enfin, ces histogrammes sont combinés en une seule liste de nombres, au nombre de 128. Cette liste, appelée vecteur de caractéristiques, sert d’empreinte pour le point clé. Comme elle capture la texture et la structure uniques qui l’entourent, cette empreinte permet de mettre en correspondance le même point clé dans différentes images, même si celles-ci sont redimensionnées, pivotées ou éclairées différemment.

Fig. 4. Vue d’ensemble du fonctionnement de SIFT (Source)
Principales applications de SIFT en vision par ordinateur#
Maintenant que nous comprenons mieux ce qu’est SIFT et comment il fonctionne, explorons quelques-unes de ses applications concrètes en vision par ordinateur.
Reconnaissance et détection d’objets#
L’une des principales utilisations de SIFT concerne 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 leur apparence varie. Par exemple, SIFT peut détecter un livre, qu’il soit proche de l’appareil photo, plus éloigné ou pivoté.
Cela fonctionne parce que SIFT extrait des points clés très distinctifs et stables. Associés aux descripteurs SIFT, ces points clés forment des caractéristiques SIFT qui permettent de mettre de manière fiable un même objet en correspondance dans différentes images. Ces caractéristiques capturent des détails uniques de l’objet qui restent cohérents, ce qui permet une mise en correspondance fiable entre les images, même si la taille, la position ou l’orientation de l’objet change.

Fig. 5. Utilisation de SIFT pour reconnaître la couverture d’un livre dans une nouvelle image prise sous une orientation différente de celle de l’image d’origine. Image de l’auteur.
Avant que l’apprentissage profond ne devienne populaire, SIFT était l’une des méthodes les plus fiables pour créer des systèmes de reconnaissance d’objets. Cette méthode était largement utilisée dans la recherche et les applications nécessitant la mise en correspondance d’objets dans de grands jeux de données d’images, même si elle exigeait souvent d’importantes ressources de calcul.
Assemblage d’images et création de panoramas#
SIFT peut aussi servir à créer des panoramas, c’est-à-dire de larges photos obtenues en assemblant plusieurs images. Avec SIFT, les points clés distinctifs des zones de chevauchement entre différentes images sont repérés, puis mis en correspondance. Ces correspondances servent de points d’ancrage et guident l’alignement des photos pendant l’assemblage.
Une fois les correspondances établies, des algorithmes d’assemblage peuvent calculer l’alignement correct, souvent à l’aide de transformations géométriques qui projettent une image sur une autre. Les images sont ensuite fusionnées pour faire disparaître les raccords. Le résultat final est un panorama sans raccord apparent, qui ressemble à une seule grande photo alors qu’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, qui consiste à combiner plusieurs photos 2D prises sous différents angles pour créer un modèle tridimensionnel. SIFT fonctionne en repérant et en mettant en correspondance les mêmes points dans ces images.
Une fois les correspondances établies, les positions 3D de ces points peuvent être estimées par triangulation, une méthode qui calcule la profondeur à partir de différents points de vue. Ce processus fait partie de la reconstruction du mouvement (SfM), une technique qui utilise plusieurs images avec des zones de chevauchement pour estimer la forme 3D d’une scène ainsi que la position des appareils photo qui l’ont photographiée.
Le résultat est généralement un nuage de points 3D, c’est-à-dire un ensemble de points dans l’espace qui délimite l’objet ou l’environnement. SIFT a été l’un des premiers outils à rendre la reconstruction du mouvement pratique. Même si des techniques plus récentes sont aujourd’hui plus rapides et plus répandues, SIFT reste utilisé lorsque la précision compte davantage que la vitesse.
SIFT a également été utilisé en robotique, notamment pour le SLAM visuel (localisation et cartographie simultanées). Le SLAM permet à un robot de déterminer où il se trouve tout en construisant une carte de son environnement.
Les points clés SIFT servent de repères fiables qu’un robot peut reconnaître d’une image à l’autre, même lorsque l’éclairage ou les angles changent. En suivant ces repères, le robot peut estimer sa position et mettre sa carte à jour à la volée. Bien que des détecteurs de caractéristiques plus rapides soient aujourd’hui plus souvent utilisés en robotique, SIFT a joué un rôle important dans les premiers systèmes SLAM et reste essentiel lorsque la robustesse compte davantage que la vitesse.
Avantages et considérations liés à SIFT#
Bien que l’algorithme SIFT soit largement utilisé en vision par ordinateur et reconnu comme une méthode fiable, il présente aussi certains compromis. C’est pourquoi il est important d’en évaluer les avantages et les inconvénients avant de décider s’il convient à un projet. Voyons maintenant ses principaux points forts et ses limites.
Principaux avantages de SIFT#
Voici quelques avantages de l’utilisation de l’algorithme SIFT :
- Invariance à l’échelle et à la 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 importante par rapport aux détecteurs de caractéristiques précédents.
- 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, même s’il est moins fiable dans des conditions plus extrêmes.
- Capacité à fonctionner dans des scènes encombrées ou partiellement masquées : Comme SIFT détecte de nombreux points clés locaux, il peut souvent encore identifier un objet même si une partie est masquée ou si l’arrière-plan est complexe.
Considérations sur les performances et solutions de remplacement#
Voici quelques inconvénients de l’utilisation de l’algorithme SIFT :
- Coûteux en calcul : Le processus en plusieurs étapes de SIFT et ses descripteurs détaillés le rendent plus lent et plus gourmand en ressources que les détecteurs de caractéristiques modernes. Pour y remédier, des chercheurs ont développé l’algorithme SURF (caractéristiques robustes accélérées), qui utilise des calculs plus rapides pour détecter et décrire les caractéristiques. SURF est parfois moins précis que SIFT, mais il est beaucoup plus rapide, ce qui le rend plus adapté aux tâches sensibles au temps.
- Peu adapté à une utilisation en temps réel : En raison de son coût de calcul, SIFT est peu performant dans les applications où la vitesse est cruciale, comme le suivi en temps réel ou la robotique mobile.
- Polyvalence limitée : Bien que robuste dans de nombreux cas, SIFT est moins efficace en cas de changements d’éclairage extrêmes, de grands changements de point de vue ou dans des scènes très dynamiques, où les algorithmes plus récents ou les méthodes d’apprentissage automatique donnent de meilleurs résultats.
En examinant les avantages et les inconvénients de SIFT, tu remarqueras peut-être que bon nombre de ses limites ont ouvert la voie à des techniques plus avancées. Les réseaux de neurones convolutifs (CNN) sont notamment apparus comme une solution de remplacement 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 comme les contours et les textures, puis en construisant progressivement des formes et des objets plus complexes. Contrairement aux règles de caractéristiques conçues manuellement de SIFT, les CNN apprennent directement à partir des données des représentations de caractéristiques.
Cet apprentissage fondé sur les données permet aux CNN de surpasser SIFT dans les tâches d’appariement de descripteurs et de classification. Les CNN sont également plus expressifs et plus robustes, et s’adaptent mieux à la variabilité et à la complexité des données visuelles.
Par exemple, les modèles fondés sur les CNN ont obtenu des résultats révolutionnaires sur ImageNet, un vaste jeu de données de référence contenant des millions d’images étiquetées réparties dans des milliers de catégories. Conçu pour évaluer la capacité des algorithmes à reconnaître et à classer les objets, ImageNet met en évidence l’écart entre les anciennes méthodes fondées sur les caractéristiques et l’apprentissage profond.
Les CNN ont rapidement dépassé SIFT en apprenant des représentations bien plus riches et flexibles, ce qui leur permet de reconnaître des objets malgré les changements d’éclairage, sous différents points de vue et même lorsqu’ils sont partiellement masqués, autant de situations dans lesquelles SIFT rencontre souvent des difficultés.
Points clés à retenir#
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é bon nombre des méthodes utilisées aujourd’hui.
Même si les techniques plus récentes sont plus rapides et plus efficaces, SIFT leur a ouvert la voie. SIFT montre les origines des progrès actuels en vision par ordinateur et met en évidence le chemin parcouru par les systèmes modernes d’IA.
Rejoins notre communauté mondiale et consulte notre dépôt GitHub pour en savoir plus sur la vision par ordinateur. Explore 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. Consulte nos options de licence et commence à créer ton propre modèle de vision par ordinateur.
Écrit par
Commentaires
Pose une question, partage tes résultats ou aide quelqu’un.










