Détection de caractéristiques (vision par ordinateur) - Feature detection (computer vision)

Bureau d'écriture avec Harris Detector.png

En vision par ordinateur et en traitement d'image, la détection de caractéristiques comprend des procédés pour calculer des abstractions d'informations d'image et prendre des décisions locales à chaque point d'image s'il y a ou non une caractéristique d'image d'un type donné à 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.

Définition d'une caractéristique

Il n'y a 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. Puisque les caractéristiques sont utilisées comme point de départ et comme primitives principales pour les algorithmes suivants, 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é : si oui ou non la même caractéristique sera détectée dans deux images différentes ou plus de la même scène.

La détection de caractéristiques est une opération de traitement d'image de bas niveau . Autrement dit, il est généralement effectué en tant que 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 large, l'algorithme examinera généralement uniquement l'image dans la région des entités. En tant que condition préalable intégrée à 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 à l' échelle de l'espace et une ou plusieurs images de caractéristiques sont calculées, souvent exprimées en termes d' opérations locales de dérivées d'image .

Parfois, lorsque la détection de caractéristiques est coûteuse en calcul et qu'il y a des contraintes de temps, un algorithme de niveau supérieur peut être utilisé pour guider l'étape de détection de caractéristiques, de sorte que seules certaines parties de l'image sont 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, de sorte qu'un très grand nombre de détecteurs de caractéristiques ont été développés. Celles-ci varient considérablement dans les types de caractéristiques détectées, la complexité de calcul et la répétabilité.

Types de caractéristiques d'image

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, une arête peut être de 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 . En outre, certains algorithmes courants enchaîneront ensuite les points à gradient élevé pour former une description plus complète d'une arête. Ces algorithmes placent généralement certaines contraintes sur les propriétés d'une arête, 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 interchangeable et se réfèrent à des éléments de type point dans une image, qui ont une structure bidimensionnelle locale. Le nom "Corner" est apparu depuis que les premiers algorithmes ont d'abord effectué la détection des bords , puis analysé les bords pour trouver des changements rapides de direction (coins). Ces algorithmes ont ensuite été développés afin que la détection explicite des contours ne soit plus nécessaire, par exemple en recherchant des niveaux élevés de courbure dans le gradient d'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 (par exemple, une petite tache lumineuse sur un fond sombre peut être détectée). Ces points sont souvent appelés points d'intérêt, mais le terme «coin» est utilisé par la tradition.

Blobs / 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 ressemblent davantage à des points. Néanmoins, les descripteurs de taches 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 taches peuvent également être considérés comme des opérateurs de points d'intérêt. Les détecteurs de taches peuvent détecter des zones d'une image qui sont trop lisses pour être détectées par un détecteur de coin.

Pensez à réduire une image, puis à effectuer une détection de coin. Le détecteur répondra aux points qui sont nets dans l'image rétrécie, mais peuvent être lisses dans l'image originale. C'est à ce stade que la différence entre un détecteur de coin et un détecteur de goutte devient quelque peu vague. 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 de coin .

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 de niveau de gris peut être vu 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 a en outre un attribut de largeur de crête locale associé à chaque point de crête. Malheureusement, il est cependant plus difficile, d'un point de vue algorithmique, d'extraire des caractéristiques de crête à partir de classes générales d'images de niveau de gris que de caractéristiques de bord, d'angle ou de goutte. Néanmoins, les descripteurs de crête sont fréquemment utilisés pour l'extraction des routes dans les images aériennes et pour l'extraction des vaisseaux sanguins dans les images médicales - voir détection des crêtes .

Détecteurs de caractéristiques

Détecteurs de caractéristiques communes et leur classification:
Détecteur de caractéristiques Bord Coin Goutte
Prudent Oui Non Non
Sobel Oui Non Non
Kayyali Oui Non Non
Harris et Stephens / Plessey / Shi – Tomasi Oui Oui Non
SUSAN Oui Oui Non
Shi et Tomasi Non Oui Non
Courbure de la courbe de niveau Non Oui Non
VITE Non Oui Oui
Laplacien de Gaussien Non Oui Oui
Différence des gaussiens Non Oui Oui
Déterminant de la jute Non Oui Oui
MSER Non Non Oui
PCBR Non Non Oui
Blobs de niveau de gris Non Non Oui

Extraction de caractéristiques

Une fois que les fonctionnalités ont été détectées, un patch d'image local autour de la fonctionnalité peut être extrait. Cette extraction peut impliquer des traitements d'image assez considérables. Le résultat est appelé descripteur d'entités ou vecteur d'entités. Parmi les approches utilisées pour la description de caractéristiques, on peut mentionner les N -jets et les histogrammes locaux (voir Transformation de caractéristique invariante d'échelle pour un exemple de descripteur d'histogramme local). En plus de ces informations d'attribut, l'étape de détection de caractéristique en elle-même peut également fournir des attributs complémentaires, tels que l'orientation de bord et l'amplitude du gradient dans la détection de bord et la polarité et la force de la goutte dans la détection de la goutte.

Voir également

Références