En vision par ordinateur et en traitement d'images , une caractéristique est une information sur le contenu d'une image ; généralement sur le fait qu'une certaine région de l'image possède certaines propriétés. Les caractéristiques peuvent être des structures spécifiques dans l'image telles que des points, des bords ou des objets. Les caractéristiques peuvent également être le résultat d'une opération de voisinage générale ou d' une détection de caractéristiques appliquée à l'image. D'autres exemples de caractéristiques sont liés au mouvement dans les séquences d'images ou à des formes définies en termes de courbes ou de limites entre différentes régions de l'image.
Plus généralement, une caractéristique est toute information pertinente pour résoudre la tâche de calcul liée à une certaine application. Cela a le même sens que la caractéristique dans l'apprentissage automatique et la reconnaissance de formes en général, bien que le traitement d'images dispose d'un ensemble très sophistiqué de caractéristiques. Le concept de caractéristique est très général et le choix des caractéristiques dans un système de vision par ordinateur particulier peut dépendre fortement du problème spécifique à résoudre.
Définition
Il n'existe pas de définition universelle ou exacte de ce qui constitue une caractéristique, et la définition exacte dépend souvent du problème ou du type d'application. Néanmoins, une caractéristique est généralement définie comme une partie « intéressante » d'une image , et les caractéristiques sont utilisées comme point de départ pour de nombreux algorithmes de vision par ordinateur.
Les caractéristiques étant utilisées comme point de départ et comme primitives principales pour les algorithmes ultérieurs, l'algorithme global ne sera souvent aussi bon que son détecteur de caractéristiques. Par conséquent, la propriété souhaitable pour un détecteur de caractéristiques est la répétabilité : savoir si la même caractéristique sera détectée ou non dans deux ou plusieurs images différentes de la même scène.
La détection de caractéristiques est une opération de traitement d'image de bas niveau . En d'autres termes, elle est généralement effectuée comme première opération sur une image et examine chaque pixel pour voir si une caractéristique est présente sur ce pixel. Si cela fait partie d'un algorithme plus vaste, alors l'algorithme examinera généralement uniquement l'image dans la région des caractéristiques. En tant que prérequis intégré à la détection de caractéristiques, l'image d'entrée est généralement lissée par un noyau gaussien dans une représentation d'espace d'échelle et une ou plusieurs images de caractéristiques sont calculées, souvent exprimées en termes d' opérations de dérivées d'images locales .
Parfois, lorsque la détection de caractéristiques est coûteuse en termes de calcul et qu'il existe des contraintes de temps, un algorithme de niveau supérieur peut être utilisé pour guider l'étape de détection de caractéristiques afin que seules certaines parties de l'image soient recherchées pour les caractéristiques.
Il existe de nombreux algorithmes de vision par ordinateur qui utilisent la détection de caractéristiques comme étape initiale. Par conséquent, un très grand nombre de détecteurs de caractéristiques ont été développés. Ceux-ci varient considérablement en termes de types de caractéristiques détectées, de complexité de calcul et de répétabilité.
Lorsque les caractéristiques sont définies en termes d'opérations de voisinage locales appliquées à une image, une procédure communément appelée extraction de caractéristiques , on peut faire la distinction entre les approches de détection de caractéristiques qui produisent des décisions locales quant à la présence ou non d'une caractéristique d'un type donné à un point d'image donné, et celles qui produisent des données non binaires comme résultat. La distinction devient pertinente lorsque les caractéristiques détectées résultantes sont relativement rares. Bien que des décisions locales soient prises, le résultat d'une étape de détection de caractéristiques n'a pas besoin d'être une image binaire. Le résultat est souvent représenté en termes d'ensembles de coordonnées (connectées ou non) des points d'image où les caractéristiques ont été détectées, parfois avec une précision sous-pixel.
Lorsque l'extraction de caractéristiques est effectuée sans prise de décision locale, le résultat est souvent appelé image caractéristique . Par conséquent, une image caractéristique peut être considérée comme une image dans le sens où elle est une fonction des mêmes variables spatiales (ou temporelles) que l'image d'origine, mais où les valeurs des pixels contiennent des informations sur les caractéristiques de l'image au lieu de l'intensité ou de la couleur. Cela signifie qu'une image caractéristique peut être traitée de la même manière qu'une image ordinaire générée par un capteur d'images. Les images caractéristiques sont également souvent calculées comme une étape intégrée dans les algorithmes de détection de caractéristiques.
Vecteurs et espaces de caractéristiques
Dans certaines applications, il ne suffit pas d'extraire un seul type de caractéristique pour obtenir les informations pertinentes à partir des données d'image. Au lieu de cela, deux ou plusieurs caractéristiques différentes sont extraites, ce qui donne lieu à deux ou plusieurs descripteurs de caractéristiques à chaque point de l'image. Une pratique courante consiste à organiser les informations fournies par tous ces descripteurs comme les éléments d'un seul vecteur, communément appelé vecteur de caractéristiques . L'ensemble de tous les vecteurs de caractéristiques possibles constitue un espace de caractéristiques .
Un exemple courant de vecteurs de caractéristiques apparaît lorsque chaque point d'image doit être classé comme appartenant à une classe spécifique. En supposant que chaque point d'image possède un vecteur de caractéristiques correspondant basé sur un ensemble approprié de caractéristiques, ce qui signifie que chaque classe est bien séparée dans l'espace de caractéristiques correspondant, la classification de chaque point d'image peut être effectuée à l'aide de la méthode de classification standard .
Un autre exemple connexe se produit lorsque le traitement basé sur un réseau neuronal est appliqué aux images. Les données d'entrée transmises au réseau neuronal sont souvent données sous forme d'un vecteur de caractéristiques de chaque point de l'image, où le vecteur est construit à partir de plusieurs caractéristiques différentes extraites des données de l'image. Au cours d'une phase d'apprentissage, le réseau peut lui-même trouver quelles combinaisons de différentes caractéristiques sont utiles pour résoudre le problème en question.
Types
Bords
Les bords sont des points où il y a une limite (ou un bord) entre deux régions d'image. En général, un bord peut avoir une forme presque arbitraire et peut inclure des jonctions. En pratique, les bords sont généralement définis comme des ensembles de points dans l'image qui ont une forte magnitude de gradient . De plus, certains algorithmes courants enchaînent ensuite des points à gradient élevé pour former une description plus complète d'un bord. Ces algorithmes imposent généralement certaines contraintes sur les propriétés d'un bord, telles que la forme, la douceur et la valeur du gradient.
Localement, les arêtes ont une structure unidimensionnelle.
Coins/points d'intérêt
Les termes coins et points d'intérêt sont utilisés de manière quelque peu interchangeable et font référence à des éléments ponctuels dans une image, qui ont une structure bidimensionnelle locale. Le nom « coin » est né du fait que les premiers algorithmes effectuaient d'abord la détection des contours , puis analysaient les contours pour trouver des changements rapides de direction (coins). Ces algorithmes ont ensuite été développés de sorte qu'une détection explicite des contours n'était plus nécessaire, par exemple en recherchant des niveaux élevés de courbure dans le gradient de l'image . On a alors remarqué que les soi-disant coins étaient également détectés sur des parties de l'image qui n'étaient pas des coins au sens traditionnel du terme (par exemple, un petit point lumineux sur un fond sombre peut être détecté). Ces points sont souvent appelés points d'intérêt, mais le terme « coin » est utilisé par tradition .
Taches / régions de points d'intérêt
Les blobs fournissent une description complémentaire des structures d'image en termes de régions, par opposition aux coins qui sont plus ponctuels. Néanmoins, les descripteurs de blob peuvent souvent contenir un point préféré (un maximum local d'une réponse d'opérateur ou un centre de gravité), ce qui signifie que de nombreux détecteurs de blob peuvent également être considérés comme des opérateurs de points d'intérêt. Les détecteurs de blob peuvent détecter des zones d'une image qui sont trop lisses pour être détectées par un détecteur de coins.
Imaginez que vous réduisez une image, puis que vous effectuez une détection des coins. Le détecteur répondra aux points qui sont nets dans l'image réduite, mais qui peuvent être lisses dans l'image d'origine. C'est à ce stade que la différence entre un détecteur de coins et un détecteur de taches devient quelque peu floue. Dans une large mesure, cette distinction peut être corrigée en incluant une notion appropriée d'échelle. Néanmoins, en raison de leurs propriétés de réponse à différents types de structures d'image à différentes échelles, les détecteurs de taches LoG et DoH sont également mentionnés dans l'article sur la détection des coins .
Crêtes
Pour les objets allongés, la notion de crêtes est un outil naturel. Un descripteur de crête calculé à partir d'une image en niveaux de gris peut être considéré comme une généralisation d'un axe médian . D'un point de vue pratique, une crête peut être considérée comme une courbe unidimensionnelle qui représente un axe de symétrie et qui possède en outre un attribut de largeur de crête locale associé à chaque point de crête. Malheureusement, il est algorithmiquement plus difficile d'extraire des caractéristiques de crête à partir de classes générales d'images en niveaux de gris que des caractéristiques de bord, de coin ou de tache. Néanmoins, les descripteurs de crête sont fréquemment utilisés pour l'extraction de routes dans les images aériennes et pour l'extraction de vaisseaux sanguins dans les images médicales (voir détection de crêtes ) .
Détection

La détection de caractéristiques comprend des méthodes permettant de calculer des abstractions d'informations d'image et de prendre des décisions locales à chaque point de l'image pour déterminer si une caractéristique d'image d'un type donné est présente ou non à ce point. Les caractéristiques résultantes seront des sous-ensembles du domaine de l'image, souvent sous la forme de points isolés, de courbes continues ou de régions connectées.
L'extraction de caractéristiques est parfois réalisée sur plusieurs échelles. L'une de ces méthodes est la transformation de caractéristiques invariante à l'échelle (SIFT).
Extraction
Une fois les entités détectées, une image locale autour de l'entité peut être extraite. Cette extraction peut impliquer des quantités considérables de traitement d'image. Le résultat est connu sous le nom de descripteur d'entité ou vecteur d'entité. Parmi les approches utilisées pour la description des entités, on peut citer les N -jets et les histogrammes locaux (voir la transformation d'entité invariante d'échelle pour un exemple de descripteur d'histogramme local). En plus de ces informations d'attribut, l'étape de détection des entités peut également fournir des attributs complémentaires, tels que l'orientation des bords et l'amplitude du gradient dans la détection des bords et la polarité et la force de la tache dans la détection des taches.
Niveau bas
- Détection des contours
- Détection d'angle
- Détection de blob
- Détection de crête
- Transformation de caractéristiques invariante en fonction de l'échelle
Courbure
- Direction du bord, changement d'intensité, autocorrélation .
Mouvement de l'image
- Détection de mouvement . Approche différentielle par zone. Flux optique .
Basé sur la forme
- Seuil
- Extraction de blobs
- Correspondance de modèles
- Transformée de Hough
- Lignes
- Cercles/ellipses
- Formes arbitraires (transformée de Hough généralisée)
- Fonctionne avec n'importe quelle fonctionnalité paramétrable (variables de classe, détection de cluster, etc.)
- Transformée de Hough généralisée
Méthodes flexibles
- Formes déformables et paramétrées
- Contours actifs (serpents)
Représentation
Une caractéristique d'image spécifique, définie en termes de structure spécifique dans les données d'image, peut souvent être représentée de différentes manières. Par exemple, un bord peut être représenté comme une variable booléenne dans chaque point de l'image qui décrit si un bord est présent à ce point. Alternativement, nous pouvons utiliser une représentation qui fournit une mesure de certitude au lieu d'une déclaration booléenne de l'existence du bord et combiner cela avec des informations sur l' orientation du bord. De même, la couleur d'une région spécifique peut être représentée soit en termes de couleur moyenne (trois scalaires) soit d' histogramme de couleurs (trois fonctions).
Lors de la conception d'un système ou d'un algorithme de vision par ordinateur, le choix de la représentation des caractéristiques peut être un problème critique. Dans certains cas, un niveau de détail plus élevé dans la description d'une caractéristique peut être nécessaire pour résoudre le problème, mais cela se fait au prix de devoir traiter davantage de données et d'un traitement plus exigeant. Ci-dessous, certains des facteurs pertinents pour choisir une représentation appropriée sont abordés. Dans cette discussion, une instance d'une représentation de caractéristique est appeléedescripteur de fonctionnalité , ou simplementdescripteur.
Certitude ou confiance
Deux exemples de caractéristiques d'image sont l'orientation des bords locaux et la vitesse locale dans une séquence d'images. Dans le cas de l'orientation, la valeur de cette caractéristique peut être plus ou moins indéfinie si plusieurs bords sont présents dans le voisinage correspondant. La vitesse locale est indéfinie si la région d'image correspondante ne contient aucune variation spatiale. En conséquence de cette observation, il peut être pertinent d'utiliser une représentation de caractéristique qui inclut une mesure de certitude ou de confiance liée à l'énoncé sur la valeur de caractéristique. Sinon, il est courant que le même descripteur soit utilisé pour représenter des valeurs de caractéristiques de faible certitude et des valeurs de caractéristiques proches de zéro, ce qui entraîne une ambiguïté dans l'interprétation de ce descripteur. Selon l'application, une telle ambiguïté peut être acceptable ou non.
En particulier, si une image en vedette doit être utilisée dans un traitement ultérieur, il peut être judicieux d'utiliser une représentation des caractéristiques qui inclut des informations sur la certitude ou la confiance . Cela permet de calculer un nouveau descripteur de caractéristiques à partir de plusieurs descripteurs, par exemple, calculés au même point de l'image mais à des échelles différentes, ou à partir de points différents mais voisins, en termes de moyenne pondérée où les pondérations sont dérivées des certitudes correspondantes. Dans le cas le plus simple, le calcul correspondant peut être mis en œuvre sous la forme d'un filtrage passe-bas de l'image en vedette. L'image en vedette résultante sera, en général, plus stable au bruit.
Moyennabilité
En plus d'inclure des mesures de certitude dans la représentation, la représentation des valeurs de caractéristiques correspondantes peut elle-même être adaptée ou non à une opération de calcul de moyenne . La plupart des représentations de caractéristiques peuvent être moyennées en pratique, mais ce n'est que dans certains cas que le descripteur résultant peut être interprété correctement en termes de valeur de caractéristique. De telles représentations sont dites moyennables .
Par exemple, si l'orientation d'une arête est représentée en termes d'angle, cette représentation doit comporter une discontinuité là où l'angle passe de sa valeur maximale à sa valeur minimale. Par conséquent, il peut arriver que deux orientations similaires soient représentées par des angles dont la moyenne n'est proche d'aucun des angles d'origine et, par conséquent, cette représentation n'est pas moyennable. Il existe d'autres représentations de l'orientation des arêtes, telles que le tenseur de structure , qui sont moyennables.
Un autre exemple concerne le mouvement, où dans certains cas, seule la vitesse normale relative à un bord peut être extraite. Si deux de ces caractéristiques ont été extraites et qu'on peut supposer qu'elles se réfèrent à la même vitesse réelle, cette vitesse n'est pas donnée comme la moyenne des vecteurs de vitesse normale. Par conséquent, les vecteurs de vitesse normale ne peuvent pas être moyennés. Au lieu de cela, il existe d'autres représentations des mouvements, utilisant des matrices ou des tenseurs, qui donnent la vitesse réelle en termes d'opération moyenne des descripteurs de vitesse normale.
Correspondance
Les caractéristiques détectées dans chaque image peuvent être mises en correspondance sur plusieurs images pour établir des caractéristiques correspondantes telles que des points correspondants .
L'algorithme est basé sur la comparaison et l'analyse des correspondances de points entre l'image de référence et l'image cible. Si une partie de la scène encombrée partage des correspondances supérieures au seuil, cette partie de l'image de la scène encombrée est ciblée et considérée comme incluant l'objet de référence.