Explore how CLIP bridges the gap between vision and language. Learn about zero-shot learning, contrastive image-text pairs, and using CLIP with [YOLO26](https://docs.ultralytics.com/models/yolo26/) for open-vocabulary detection.
CLIP (Contrastive Language-Image Pre-training) ist eine revolutionäre neuronale Netzwerkarchitektur, die von OpenAI entwickelt wurde und die Lücke zwischen visuellen Daten und natürlicher Sprache schließt. Im Gegensatz zu herkömmlichen Computer-Vision-Systemen (CV) , die eine arbeitsintensive Datenkennzeichnung für einen festen Satz von Kategorien erfordern, lernt CLIP, Bilder zu verstehen, indem es mit Millionen von Bild-Text-Paaren trainiert, die aus dem Internet gesammelt wurden. Dieser Ansatz ermöglicht es dem Modell, Zero-Shot-Lernen durchzuführen, d. h. es kann Objekte, Konzepte oder Stile identifizieren, die es während des Trainings nie explizit gesehen hat, indem es einfach eine Textbeschreibung liest. Durch die Zuordnung visueller und sprachlicher Informationen zu einem gemeinsamen Merkmalsraum dient CLIP als leistungsstarkes Grundlagenmodell für eine Vielzahl von nachgelagerten Aufgaben, ohne dass eine umfangreiche aufgabenspezifische Feinabstimmung erforderlich ist.
Der Kernmechanismus von CLIP umfasst zwei parallele Encoder: einen Bild-Encoder, der in der Regel auf einem Vision Transformer (ViT) oder einem ResNet basiert, und einen Text- Transformer, ähnlich denen, die in modernen großen Sprachmodellen (LLMs) verwendet werden. Durch einen als kontrastives Lernen bekannten Prozess wird das System darauf trainiert, vorherzusagen, welcher Textausschnitt zu welchem Bild innerhalb eines Batches passt.
Während des Trainings optimiert das Modell seine Parameter, um die Vektor-Einbettungen passender Bild-Text-Paare näher zusammenzubringen und nicht passende Paare auseinander zu schieben. Dadurch entsteht ein multimodaler latenter Raum, in dem die mathematische Darstellung eines Bildes eines „Golden Retrievers” räumlich nahe der Texteinbettung für „ein Foto eines Hundes” liegt. Durch die Berechnung der Kosinusähnlichkeit zwischen diesen Vektoren kann das Modell quantifizieren, wie gut ein Bild einer natürlichen Sprachaufforderung entspricht, was eine flexible Bildklassifizierung und -abfrage ermöglicht.
Die Fähigkeit, Vision und Sprache zu verknüpfen, hat CLIP zu einer grundlegenden Technologie in modernen KI-Anwendungen gemacht:
Während Standard-Objektdetektoren auf ihre Trainingsklassen beschränkt sind, ermöglicht die Verwendung von CLIP-basierten Funktionen eine
Erkennung mit offenem Vokabular. Die folgenden Python Der Code zeigt, wie man die
ultralytics Paket zum detect mithilfe benutzerdefinierter Textanweisungen:
from ultralytics import YOLOWorld
# Load a pre-trained YOLO-World model utilizing CLIP features
model = YOLOWorld("yolov8s-world.pt")
# Define custom classes using natural language text prompts
model.set_classes(["person wearing sunglasses", "red backpack"])
# Run inference on an image to detect the text-defined objects
results = model.predict("travelers.jpg")
# Display the results
results[0].show()
Es ist hilfreich, CLIP von anderen gängigen KI-Paradigmen zu unterscheiden, um seinen spezifischen Nutzen zu verstehen: