Entdecken Sie die Grundlagen der Faltung in der Bildverarbeitung und im Deep Learning. Erfahren Sie, wie Kernel und Feature Maps Ultralytics für Echtzeitaufgaben unterstützen.
Die Faltung ist eine grundlegende mathematische Operation, die als Kernbaustein moderner Computervisions- (CV) und Deep-Learning-Systeme (DL) dient. Im Zusammenhang mit der Bildverarbeitung umfasst die Faltung das Verschieben eines kleinen Filters – oft als Kernel bezeichnet – über ein Eingabebild, um eine Karte signifikanter Merkmale zu erstellen. Dieser Prozess ermöglicht es Modellen der künstlichen Intelligenz (KI), Muster wie Kanten, Texturen und Formen ohne menschliches Zutun automatisch zu lernen und zu identifizieren. Im Gegensatz zum traditionellen maschinellen Lernen (ML), das oft eine manuelle Merkmalsextraktion erfordert, ermöglicht die Faltung Netzwerken den Aufbau eines hierarchischen Verständnisses visueller Daten, beginnend mit einfachen Linien bis hin zu komplexen Objekten wie Gesichtern oder Fahrzeugen.
Die Operation funktioniert, indem ein Filter über die Eingabedaten gelegt wird, eine elementweise Multiplikation durchgeführt wird und die Ergebnisse summiert werden , um einen einzigen Wert für jede Position zu erzeugen. Diese Ausgabe wird als Feature-Map bezeichnet.
Um die Faltung vollständig zu verstehen, ist es hilfreich, sie von ähnlichen Begriffen zu unterscheiden, die häufig in der Literatur zu neuronalen Netzen (NN) vorkommen:
Die Effizienz der Faltung hat es der KI ermöglicht, verschiedene Branchen durch die Bereitstellung robuster Wahrnehmungssysteme zu revolutionieren:
Sie können Convolutional Layers in modernsten Modellen mit Python untersuchen. Das folgende Beispiel lädt die
YOLO26 Modell und überprüft, ob seine Anfangsschicht eine
Standard-Faltungsoperation verwendet, die über torch.nn.
import torch.nn as nn
from ultralytics import YOLO
# Load the latest YOLO26 model
model = YOLO("yolo26n.pt")
# Access the first layer of the model's backbone
first_layer = model.model.model[0]
# Verify it is a Convolutional layer
if isinstance(first_layer.conv, nn.Conv2d):
print("Success: The first layer is a standard convolution.")
print(f"Kernel size: {first_layer.conv.kernel_size}")
Faltungsoperationen sind in hohem Maße optimierbar, wodurch sie sich ideal für Edge-AI-Implementierungen eignen, bei denen die Rechenressourcen begrenzt sind. Da derselbe Kernel für das gesamte Bild verwendet wird (Parameterfreigabe), benötigt das Modell deutlich weniger Speicher als ältere vollständig verbundene Architekturen. Dank dieser Effizienz können fortschrittliche Modelle auf Smartphones und IoT-Geräten ausgeführt werden.
Für Teams, die diese Vorgänge für benutzerdefinierte Datensätze nutzen möchten, bietet Ultralytics eine nahtlose Umgebung zum Kommentieren von Bildern und zum Trainieren von Faltungsmodellen, ohne dass eine komplexe Infrastruktur verwaltet werden muss. Durch den Einsatz von Transferlernen können Sie vortrainierte Faltungsgewichte feinabstimmen, um neue Objekte mit minimalen Trainingsdaten zu erkennen.