Yolo Vision Shenzhen
Shenzhen
Rejoindre maintenant
Glossaire

Feature Maps

Découvrez comment les cartes de caractéristiques alimentent les modèlesYOLO d'Ultralytics , permettant une détection précise des objets et des applications d'IA avancées telles que la conduite autonome.

Une carte de caractéristiques est le résultat fondamental généré lorsqu'un filtre convolutionnel agit sur une image ou une carte d'entrée. filtre convolutif agit sur une image d'entrée ou sur une une autre carte de caractéristiques au sein d'un réseau neuronal convolutif (CNN). Dans le contexte de la vision par ordinateur (VA), ces Ces cartes agissent comme les "yeux" d'un réseau neuronal, soulignant la présence et l'emplacement des caractéristiques apprises, telles que les bords, les textures, les couleurs et les couleurs. caractéristiques apprises telles que les bords, les textures, les coins ou les formes géométriques complexes. En transformant les données brutes des pixels en en abstractions significatives, les cartes de caractéristiques permettent à des modèles sophistiqués d'effectuer des tâches allant de la classification d'images au traitement en temps réel des images. la classification d'images à la détection d'objets détection d'objets en temps réel.

Comment les Feature Maps sont-elles créées ?

La génération d'une carte de caractéristiques implique un processus mathématique connu sous le nom de convolution. Une matrice spécialisée de de poids apprenables, appelée noyau ou filtre, glisse sur les données d'entrée. sur les données d'entrée. À chaque position, le noyau effectue une multiplication et une sommation par élément, produisant une valeur unique dans la matrice de sortie. une valeur unique dans la matrice de sortie.

  • Activation: Les valeurs obtenues passent généralement par une fonction d'activation telle que ReLU, qui qui introduit une non-linéarité, permettant au réseau d'apprendre des modèles complexes.
  • Préservation de l'espace: Contrairement aux couches entièrement connectées, les cartes d'entités préservent les relations spatiales, c'est-à-dire qu'une valeur élevée à une coordonnée spécifique correspond à un élément détecté à la même position relative dans l'image originale. l'image originale.
  • Profondeur: Une seule couche convolutive utilise souvent plusieurs filtres, empilant les tableaux 2D qui en résultent pour former un volume 3D de cartes de caractéristiques, souvent visualisé dans les images. pour former un volume 3D de cartes de caractéristiques, souvent visualisées dans des diagrammes d'architecture d'apprentissage profond. diagrammes d'architecture d'apprentissage profond (DL).

Apprentissage hiérarchique des caractéristiques

Les architectures modernes, telles que le ResNet utilisé dans de nombreux systèmes, tirent parti de la nature hiérarchique des cartes de caractéristiques. Au fur et à mesure que les données progressent dans le réseau, le niveau d'abstraction augmente :

  1. Couches superficielles: Les premières cartes d'entités capturent des détails de bas niveau, tels que des lignes verticales, des dégradés de couleurs ou des courbes simples. gradients de couleur ou des courbes simples. Ces détails constituent la base de la perception visuelle.
  2. Couches profondes: Plus profondément dans le réseau, ces éléments de base sont combinés. Les cartes qui en résultent représentent des concepts sémantiques de haut niveau, tels que la forme d'une roue de voiture ou le visage d'un chien. Cette hiérarchie est essentielle pour la performance des modèles de pointe tels que YOLO11, leur permettant de distinguer des classes similaires avec une avec une grande précision.

Visualisation de l'intelligence du réseau

Les développeurs visualisent souvent des cartes de caractéristiques pour interpréter ce qu'un modèle a appris, une pratique clé de l'IA explicable (XAI). l 'IA explicable (XAI). Des outils comme TensorBoard permettent aux ingénieurs d'inspecter ces états internes. Si une carte de caractéristiques destinée à detect voitures s'active sur des arbres en arrière-plan, cela indique que le modèle s'ajuste trop au bruit. peut être surajouté au bruit. Cette inspection est essentielle pour le débogage et l'amélioration de la robustesse du modèle. la robustesse du modèle.

Le code Python suivant montre comment accéder aux dimensions d'une carte d'entités à l'aide de la fonction ultralytics bibliothèque en enregistrant un crochet sur une couche convolutive.

from ultralytics import YOLO

# Load the YOLO11 model (nano version)
model = YOLO("yolo11n.pt")


# Define a hook to print the shape of the feature map from the first layer
def hook_fn(module, input, output):
    print(f"Feature Map Output Shape: {output.shape}")


# Register the hook to the first convolutional layer of the model
model.model.model[0].register_forward_hook(hook_fn)

# Run inference on a dummy image to trigger the hook
model("https://ultralytics.com/images/bus.jpg")

Applications concrètes

Les cartes d'entités sont le moteur de nombreuses technologies de transformation :

  • Véhicules autonomes: Dans les systèmes de conduite autonome, tels que ceux développés par Waymo, les cartes de caractéristiques traitent les flux des caméras afin d'identifier les marquages de voies, les piétons et les panneaux de signalisation, les piétons et les panneaux de signalisation. La fidélité spatiale de ces cartes permet au véhicule de savoir non seulement ce qui se trouve sur la route, mais aussi où cela se trouve par rapport aux autres véhicules. ce qu' il y a sur la route, mais aussi l 'endroit exact il se trouve par rapport à la voiture.
  • Diagnostic médical: Dans l'analyse l'analyse d'images médicales, les modèles d'apprentissage profond d'apprentissage profond analysent les IRM ou les tomodensitogrammes. Les cartes de caractéristiques de ces réseaux sont entraînées à mettre en évidence des anomalies telles que des tumeurs ou des fractures. fractures. Les recherches publiées dans des revues telles que Nature Medicine démontrent comment ces activations spécifiques peuvent aider les radiologues en signalant les régions d'intérêt avec une grande précision.

Distinguer les concepts apparentés

Pour bien comprendre les architectures de réseaux neuronaux, il est utile de différencier les cartes de caractéristiques des termes apparentés :

  • Cartes de caractéristiques et extraction de caractéristiques: L'extraction de caractéristiques est le processus processus global consistant à dériver des données informatives à partir d'entrées brutes. La carte des caractéristiques est la structure de données spécifique résultant de ce processus au sein d'une couche CNN. structure de données spécifique résultant de ce processus au sein d'une couche CNN.
  • Cartes d'entités vs. enregistrements: Alors que les cartes de caractéristiques conservent des dimensions spatiales (hauteur et largeur), les embeddings sont généralement des vecteurs aplatis, de dimension dimensions inférieures. Les embeddings représentent l'essence sémantique d'une image ou d'un objet entier. recherche de similarités dans une dans une base de données vectorielles, tandis que les pour les tâches nécessitant une localisation spatiale la segmentation d'images.

Rejoindre la communauté Ultralytics

Rejoignez le futur de l'IA. Connectez-vous, collaborez et évoluez avec des innovateurs mondiaux.

Rejoindre maintenant