Yolo Vision Shenzhen
Shenzhen
Rejoindre maintenant
Glossaire

Feature Maps

Découvrez comment les cartes de caractéristiques agissent comme les yeux des CNN. Apprenez comment Ultralytics utilise ces représentations internes pour detect et alimenter la vision par ordinateur.

Une carte de caractéristiques est le résultat fondamental produit lorsqu'un filtre convolutif traite une image d'entrée ou une couche précédente au sein d'un réseau neuronal. Dans le contexte de la vision par ordinateur (CV), ces cartes servent de représentation interne des données, mettant en évidence des motifs spécifiques tels que les contours, les textures ou les formes géométriques complexes que le modèle a appris à reconnaître. Essentiellement, les cartes de caractéristiques agissent comme les « yeux » d'un réseau neuronal convolutif (CNN), transformant les valeurs brutes des pixels en abstractions significatives qui facilitent des tâches telles que la détection et la classification d'objets.

Le mécanisme derrière les cartes de caractéristiques

La création d'une carte de caractéristiques est guidée par l'opération mathématique connue sous le nom de convolution. Au cours de ce processus, une petite matrice de paramètres apprenables, appelée noyau ou filtre, glisse sur les données d'entrée. À chaque position, le noyau effectue une multiplication et une sommation élément par élément, ce qui donne une valeur unique dans la grille de sortie.

  • Activation du modèle: chaque filtre est entraîné à rechercher une caractéristique spécifique. Lorsque le filtre rencontre cette caractéristique dans l'entrée, la valeur résultante dans la carte des caractéristiques est élevée, indiquant une forte activation.
  • Hiérarchie spatiale: dans les architectures d'apprentissage profond (DL), les cartes de caractéristiques sont organisées de manière hiérarchique. Les premières couches produisent des cartes qui detect des détails detect , tels que les lignes et les courbes de détection des contours. Les couches plus profondes combinent ces cartes simples pour former des représentations de haut niveau d'objets complexes, tels que des visages ou des véhicules.
  • Changements de dimensionnalité: à mesure que les données progressent dans le réseau, des opérations telles que les couches de regroupement réduisent généralement les dimensions spatiales (hauteur et largeur) des cartes de caractéristiques tout en augmentant la profondeur (nombre de canaux). Ce processus, souvent appelé réduction de dimensionnalité, aide le modèle à se concentrer sur la présence de caractéristiques plutôt que sur leur emplacement pixel exact.

Applications concrètes

Les cartes de caractéristiques sont le moteur des applications d'IA modernes, permettant aux systèmes d'interpréter les données visuelles avec une compréhension similaire à celle de l'être humain .

  • Diagnostic médical: dans le domaine de l'analyse d'images médicales, les modèles utilisent des cartes de caractéristiques pour traiter les radiographies ou les IRM. Les premières cartes peuvent mettre en évidence les contours des os, tandis que les cartes plus approfondies identifient les anomalies telles que les tumeurs ou les fractures, aidant ainsi les médecins dans les scénarios d'IA dans le domaine de la santé.
  • Navigation autonome: les voitures autonomes s'appuient fortement sur des cartes de caractéristiques générées par des capteurs visuels. Ces cartes permettent à l'ordinateur embarqué du véhicule de distinguer en temps réel les voies, les piétons et les panneaux de signalisation, ce qui est essentiel pour que les véhicules autonomes puissent fonctionner en toute sécurité.

Utilisation des cartes de caractéristiques dans Python

Bien que les cartes de caractéristiques soient des structures internes, il est essentiel de comprendre leurs dimensions lors de la conception d'architectures. Ce qui suit PyTorch illustre comment une seule couche convolutive transforme une image d'entrée en carte de caractéristiques.

import torch
import torch.nn as nn

# Define a convolution layer: 1 input channel, 1 output filter, 3x3 kernel
conv_layer = nn.Conv2d(in_channels=1, out_channels=1, kernel_size=3, bias=False)

# Create a random dummy image (Batch Size=1, Channels=1, Height=5, Width=5)
input_image = torch.randn(1, 1, 5, 5)

# Pass the image through the layer to generate the feature map
feature_map = conv_layer(input_image)

print(f"Input shape: {input_image.shape}")
# The output shape will be smaller (3x3) due to the kernel size and no padding
print(f"Feature Map shape: {feature_map.shape}")

Distinguer les concepts apparentés

Il est utile de distinguer les cartes de caractéristiques des termes similaires afin d'éviter toute confusion pendant l' entraînement du modèle:

  • Carte des caractéristiques vs filtre : un filtre (ou noyau) est l'outil utilisé pour analyser l'image ; il contient les pondérations du modèle. La carte des caractéristiques est le résultat de cette analyse. Vous pouvez considérer le filtre comme la « lentille » et la carte des caractéristiques comme l' « image » capturée à travers cette lentille.
  • Carte de caractéristiques vs intégration : bien que les deux représentent des données, les cartes de caractéristiques conservent généralement des structures spatiales (hauteur et largeur) adaptées à la segmentation sémantique. En revanche, les intégrations sont généralement des vecteurs 1D aplatis qui capturent la signification sémantique mais ignorent la disposition spatiale, souvent utilisés dans les tâches de recherche de similarité.
  • Carte de caractéristiques vs activation : une fonction d'activation (comme ReLU) est appliquée aux valeurs d'une carte de caractéristiques afin d'introduire une non-linéarité. La carte existe à la fois avant et après cette opération mathématique .

Pertinence pour Ultralytics

Dans les architectures avancées telles que YOLO26, les cartes de caractéristiques jouent un rôle central dans la « colonne vertébrale » et la « tête » du modèle. La colonne vertébrale extrait des caractéristiques à différentes échelles (pyramide de caractéristiques), garantissant detect le modèle peut detect efficacement detect petits detect grands objets. Les utilisateurs qui exploitent la Ultralytics pour la formation peuvent visualiser les performances de ces modèles, observant indirectement l'efficacité des cartes de caractéristiques sous-jacentes grâce à des mesures telles que la précision et le rappel. L'optimisation de ces cartes implique une formation approfondie sur des ensembles de données annotés, utilisant souvent des techniques telles que l' extraction de caractéristiques pour transférer les connaissances des modèles pré-formés vers de nouvelles tâches.

Rejoindre la communauté Ultralytics

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

Rejoindre maintenant