Entdecken Sie, wie Feature Maps als Augen von CNNs fungieren. Erfahren Sie, wie Ultralytics diese internen Darstellungen nutzt, um detect und Computer Vision zu ermöglichen.
Eine Merkmalskarte ist das grundlegende Ergebnis, das entsteht, wenn ein Faltungsfilter ein Eingabebild oder eine vorhergehende Schicht innerhalb eines neuronalen Netzwerks verarbeitet. Im Zusammenhang mit Computer Vision (CV) dienen diese Karten als interne Darstellung der Daten und heben bestimmte Muster wie Kanten, Texturen oder komplexe geometrische Formen hervor, die das Modell zu erkennen gelernt hat. Im Wesentlichen fungieren Feature-Maps als die „Augen” eines Convolutional Neural Network (CNN) und wandeln rohe Pixelwerte in aussagekräftige Abstraktionen um, die Aufgaben wie die Objekterkennung und -klassifizierung erleichtern.
Die Erstellung einer Merkmalskarte erfolgt durch die mathematische Operation der Faltung. Während dieses Prozesses gleitet eine kleine Matrix aus lernbaren Parametern, die als Kernel oder Filter bezeichnet wird, über die Eingabedaten. An jeder Position führt der Kernel eine elementweise Multiplikation und Summierung durch, was zu einem einzigen Wert im Ausgabegitter führt.
Feature Maps sind der Motor moderner KI-Anwendungen und ermöglichen es Systemen, visuelle Daten mit menschenähnlichem Verständnis zu interpretieren .
Obwohl Feature Maps interne Strukturen sind, ist es für die Entwicklung von Architekturen entscheidend, ihre Dimensionen zu verstehen. Die folgenden PyTorch Beispiel zeigt, wie eine einzelne Faltungsschicht ein Eingabebild in eine Merkmalskarte umwandelt.
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}")
Es ist hilfreich, Merkmalkarten von ähnlichen Begriffen zu unterscheiden, um Verwirrung während des Modelltrainings zu vermeiden:
In fortschrittlichen Architekturen wie YOLO26 spielen Feature-Maps eine zentrale Rolle im „Backbone” und „Head” des Modells. Der Backbone extrahiert Features in unterschiedlichen Maßstäben (Feature-Pyramide) und stellt so sicher, dass das Modell detect kleine als auch große Objekte effektiv detect kann. Benutzer, die die Ultralytics für das Training nutzen, können visualisieren, wie diese Modelle funktionieren, und indirekt die Wirksamkeit der zugrunde liegenden Feature-Maps anhand von Metriken wie Genauigkeit und Recall beobachten. Die Optimierung dieser Maps erfordert ein umfangreiches Training mit annotierten Datensätzen, wobei häufig Techniken wie die Feature-Extraktion eingesetzt werden, um Wissen aus vortrainierten Modellen auf neue Aufgaben zu übertragen.