Ultralytics YOLO27: Iscriviti alla lista d'attesa.
Licenza YOLO
Torna al glossario di Ultralytics

CLIP (Contrastive Language-Image Pre-training)

CLIP è un modello di OpenAI che proietta immagini e testo in uno stesso spazio condiviso, consentendo di classificare le immagini con etichette in linguaggio naturale. Scopri come funzionano l'addestramento e lo zero-shot.

CLIP (pre-addestramento contrastivo immagine-testo) è un modello di OpenAI che impara ad abbinare le immagini alle relative descrizioni testuali. Combina un encoder di immagini con un encoder di testo e li addestra entrambi affinché un'immagine e una didascalia che la descrive siano rappresentate da vettori vicini in uno spazio di embedding condiviso. Addestrato su 400 milioni di coppie immagine-didascalia raccolte sul web, CLIP può classificare immagini in categorie indicate solo tramite testo, senza esempi etichettati di quelle categorie: una capacità chiamata apprendimento zero-shot. Nel paper del 2021, il suo modello migliore ha raggiunto il 76,2% di accuratezza top-1 zero-shot su ImageNet, eguagliando il ResNet-50 originale completamente supervisionato senza usare nessuna delle 1,28 milioni di immagini etichettate su cui ResNet-50 era stato addestrato.

Come viene addestrato CLIP#

CLIP ha due encoder. L'encoder di immagini è un ResNet o un Transformer della visione (ViT), mentre l'encoder di testo è un Transformer a 12 strati con 63 milioni di parametri nella versione base. Una proiezione lineare mappa l'output di ciascun encoder nello spazio condiviso, dove ogni vettore viene normalizzato a lunghezza unitaria.

L'addestramento usa l'apprendimento contrastivo su batch di 32.768 coppie immagine-didascalia. Per un batch di N coppie, CLIP calcola la similarità coseno tra ogni immagine e ogni didascalia, ottenendo una matrice N×N la cui diagonale contiene le coppie corrette. Una softmax con loss di entropia incrociata applicata a ogni riga chiede a ciascuna immagine di scegliere la propria didascalia tra N, mentre una seconda loss applicata a ogni colonna chiede a ciascuna didascalia di scegliere la propria immagine. Una temperatura appresa ridimensiona le similarità prima della softmax.

Poiché le didascalie sono testi liberi, CLIP impara da ciò che viene descritto sul web, inclusi oggetti, scene, stili artistici, testo nelle immagini e azioni, invece di basarsi su un elenco fisso di classi.

Classificazione zero-shot#

Per classificare un'immagine, CLIP converte ogni etichetta candidata in una breve frase, come "una foto di un cane", converte l'immagine e sceglie l'etichetta con la similarità coseno più alta. La formulazione del prompt conta: il paper riporta che il solo template "Una foto di {label}." ha migliorato l'accuratezza su ImageNet dell'1,3%, mentre la media degli embedding testuali di 80 template ha aggiunto un ulteriore 3,5%. La pipeline Hugging Face Transformers qui sotto racchiude ogni etichetta nel template "Questa è una foto di {}." ed esegue il modello originale ViT-B/32:

from transformers import pipeline

# Load OpenAI's CLIP ViT-B/32 for zero-shot image classification
classifier = pipeline("zero-shot-image-classification", model="openai/clip-vit-base-patch32")

# The classes are free-form text, chosen at inference time
labels = ["a city bus", "a tram", "a delivery truck", "a bicycle"]
predictions = classifier("https://ultralytics.com/images/bus.jpg", candidate_labels=labels)

# Scores are a softmax over the image's similarity to each caption
for prediction in predictions:
    print(f"{prediction['label']}: {prediction['score']:.3f}")

Stampa a city bus: 0.657, a tram: 0.341, a delivery truck: 0.001 e a bicycle: 0.000. Il tram, un altro grande veicolo per il trasporto di passeggeri, ottiene quasi tutta la probabilità rimanente; per usare nuove etichette basta fornire un nuovo elenco di stringhe.

Applicazioni nel mondo reale#

  • Ricerca semantica: le raccolte di immagini vengono convertite in embedding una sola volta e archiviate in un database vettoriale. Una query testuale come "scarpe da ginnastica rosse su un pavimento di legno" viene convertita in embedding al momento della ricerca e confrontata con le immagini, che vengono così trovate in base al contenuto senza tag manuali.
  • Generazione da testo a immagine: Stable Diffusion 1.x condiziona il generatore di immagini sugli embedding testuali di CLIP ViT-L/14; la similarità CLIP è ampiamente usata per valutare quanto un'immagine generata rispetti il prompt.
  • Rilevamento a vocabolario aperto: I modelli YOLO-World di Tencent AI Lab, disponibili nel pacchetto Ultralytics, codificano i nomi delle classi passati a set_classes con l'encoder testuale ViT-B/32 di CLIP; un rilevatore addestrato una sola volta può quindi individuare per nome "zaino rosso" o "carrello elevatore". OWLv2 di Google si basa sugli encoder di immagini e testo preaddestrati di CLIP, e la classifica VLM lo confronta con altri rilevatori a vocabolario aperto e VLM su dataset di rilevamento del mondo reale.
  • Encoder visivi per i VLM: molti modelli linguistici visivi partono da un encoder di immagini CLIP preaddestrato. LLaVA, ad esempio, passa le caratteristiche di CLIP ViT-L/14 a un modello linguistico.
  • Filtraggio dei dataset: i grandi dataset aperti di immagini e testo, come LAION-5B, conservano solo le coppie web la cui similarità immagine-testo CLIP supera una soglia, eliminando le didascalie che non descrivono l'immagine.
  • Classificatori con apprendimento supervisionato: un classificatore standard ha un output per ogni classe di addestramento e non può valutare una classe mai vista. Il "classificatore" di CLIP è l'insieme degli embedding testuali, quindi cambia ogni volta che cambiano le etichette.
  • SigLIP: la variante di Google sostituisce la softmax sull'intero batch di CLIP con una loss sigmoide che valuta ogni coppia immagine-testo in modo indipendente, riducendo l'uso di memoria e funzionando meglio con batch piccoli.
  • Apprendimento contrastivo autosupervisionato: metodi come SimCLR confrontano due viste aumentate della stessa immagine e imparano usando solo immagini. CLIP confronta due modalità, collegando così le caratteristiche delle immagini alle parole.
  • VLM generativi: CLIP valuta la similarità immagine-testo e non può scrivere una didascalia né rispondere a una domanda. I modelli generativi collegano un modello linguistico a un encoder di immagini, spesso lo stesso encoder di CLIP.

Limiti#

L'accuratezza zero-shot di CLIP cala con categorie molto specifiche, come i modelli di aerei o automobili, nel conteggio degli oggetti e in attività astratte, come la stima delle distanze. Inoltre apprende i bias delle didascalie web. Poiché CLIP ha imparato a leggere il testo nelle immagini, quel testo può ingannarlo: nella ricerca sui neuroni multimodali di OpenAI, una mela con un'etichetta scritta a mano con la parola "iPod" è stata classificata come un iPod.

Esplora le soluzioni

La visione artificiale nello sport

La visione artificiale nello sport

Scopri come Ultralytics YOLO alimenta la computer vision nello sport con il tracciamento di giocatori e palloni, l'analisi delle prestazioni, gli approfondimenti per gli allenatori e la riabilitazione degli atleti.
Scopri di più
Computer vision per immagini aeree

Computer vision per immagini aeree

Trasforma immagini aeree e riprese da drone in informazioni utili in tempo reale per agricoltura, acquacoltura, conservazione e analisi geospaziale con Ultralytics YOLO.
Scopri di più
Computer vision nel settore aerospaziale

Computer vision nel settore aerospaziale

Applica la visione artificiale nel settore aerospaziale con Ultralytics YOLO per l'ispezione degli aeromobili, il rilevamento di FOD sulle piste, le operazioni di terra aeroportuali e il rilevamento di difetti nei materiali compositi.
Scopri di più
Visione artificiale nella sicurezza

Visione artificiale nella sicurezza

Proteggi ogni sito con i modelli Ultralytics YOLO. L'IA visiva alimenta il monitoraggio perimetrale, il rilevamento delle minacce, il riconoscimento delle targhe e la sicurezza sul lavoro.
Scopri di più
Visione artificiale nella robotica

Visione artificiale nella robotica

Dai più potenza alle macchine intelligenti con i modelli Ultralytics YOLO. Nell'ambito della robotica, l'IA visiva alimenta la navigazione autonoma, la percezione, il tracciamento degli oggetti e il controllo in tempo reale.
Scopri di più
Visione artificiale nella logistica

Visione artificiale nella logistica

Semplifica la logistica con i modelli Ultralytics YOLO. L'IA per la visione consente l'ispezione dei pacchi, la selezione, il tracciamento dei veicoli e il monitoraggio della sicurezza nei magazzini in tempo reale.
Scopri di più
Visione artificiale nel commercio al dettaglio

Visione artificiale nel commercio al dettaglio

Ripensa il commercio al dettaglio con i modelli Ultralytics YOLO. L'IA per la visione consente di tracciare le scorte, monitorare gli scaffali, gestire le code e ottenere informazioni più approfondite sui clienti.
Scopri di più
Visione artificiale in ambito sanitario

Visione artificiale in ambito sanitario

Crea soluzioni sanitarie con i modelli Ultralytics YOLO. In ambito sanitario, l'IA per la visione consente di elaborare più rapidamente le immagini mediche, migliorare la diagnostica e monitorare i pazienti.
Scopri di più
Computer vision nella produzione

Computer vision nella produzione

Ottimizza la produzione con i modelli Ultralytics YOLO. La visione basata sull'IA migliora il controllo qualità, il rilevamento dei difetti, la conformità ai requisiti sui DPI e l'automazione delle linee di assemblaggio.
Scopri di più
Computer vision nel settore automobilistico

Computer vision nel settore automobilistico

Applica la computer vision al settore automobilistico con i modelli Ultralytics YOLO. La visione basata sull'IA migliora la sicurezza stradale, i sistemi di assistenza alla guida e l'automazione dei veicoli, per strade più intelligenti.
Scopri di più
Visione artificiale in agricoltura

Visione artificiale in agricoltura

Porta l'IA visiva nell'agricoltura intelligente con i modelli Ultralytics YOLO. Gestisci il monitoraggio delle colture, il tracciamento del bestiame e l'agricoltura di precisione per ottenere raccolti più abbondanti e intelligenti.
Scopri di più

Costruiamo insieme il futuro dell'IA!

Inizia il tuo percorso verso il futuro del machine learning