Kosmos-2

Kosmos-2 è il modello di grounding di Microsoft: genera una didascalia dell'immagine e poi individua con un box ogni frase nominale di quella didascalia. LibreYOLO lo avvolge come rilevatore di oggetti a vocabolario aperto: la lista di classi si indica al momento della predizione.

Task
detection
Dimensioni
224 at 224 px
Installa
pip install libreyolo
Livello di supporto
Livello parallelo, dalla v. Un'interfaccia di prodotto separata, con una propria factory e un proprio contratto.
Origine
Kosmos-2 di Microsoft, MIT. Articolo, sorgente
Licenze
Codice MIT, pesi MIT. Uso commerciale

Installazione

Kosmos-2 appartiene al livello VLM-come-detector di LibreYOLO, una superficie di prodotto separata dalle famiglie basate su checkpoint e con una factory propria. Richiede l'extra vlm.

bash
pip install "libreyolo[vlm]"

Predizione

I pesi vengono scaricati da Hugging Face al primo utilizzo e restano nella cache locale. LibreYOLO carica direttamente il repository ufficiale di Microsoft microsoft/kosmos-2-patch14-224; a differenza di Florence-2, qui non serve nessun re-upload della community.

Python
from libreyolo import LibreVLM, SAMPLE_IMAGE model = LibreVLM("kosmos-2")model.set_classes(["boat", "person"])result = model.predict(SAMPLE_IMAGE, save=True) for box in result.boxes:    print(box.cls, box.conf, box.xyxy)
Video
from libreyolo import LibreVLM model = LibreVLM("kosmos-2")model.set_classes(["boat", "person"]) # Qualsiasi sorgente accettata dalla libreria: file, cartella, URL,# indice della webcam, stream RTSP o una lista .streamsfor result in model.predict("clip.mp4", stream=True, save=True):    print(len(result.boxes))

Questa famiglia si carica con la factory LibreVLM(), non con LibreYOLO(): le famiglie VLM non dichiarano nessun caricatore di checkpoint, quindi il routing per suffisso di file descritto nelle altre pagine dei modelli qui non si applica. set_classes() definisce il vocabolario che si chiede a Kosmos-2 di trovare; è persistente, quindi resta in vigore in tutte le chiamate successive a predict()/track() finché non lo imposti di nuovo. Kosmos-2 fa il grounding di frasi nominali invece di confrontare esattamente un'etichetta, quindi il wrapper di LibreYOLO accetta una corrispondenza parziale: una classe chiamata "boat" corrisponde anche a una frase generata come "the boats". Ogni rilevamento porta la stessa confidenza segnaposto, quindi filtrare per conf è tutto o niente invece che un ordinamento, e iou qui non ha effetto, dato che il wrapper costruisce la lista dei rilevamenti direttamente dalle entità con grounding, senza nessun passaggio di deduplicazione. chat() solleva NotImplementedError, perché Kosmos-2 si guida con un prompt <grounding> e non con un template di chat. La CLI di LibreYOLO non copre questo livello: non esiste una forma libreyolo predict model=... per esso. Vedi predizione per sorgenti, streaming e gestione dei risultati.

Varianti

Una sola dimensione: kosmos-2-patch14-224, a 224 px, caricata come LibreVLM("kosmos-2"). È un modello del 2023, e il wrapper di LibreYOLO segnala che il suo grounding è più grossolano di quello dei rilevatori più recenti di questo livello.

LibreYOLO non addestra, non valida e non esporta Kosmos-2: train(), val() e export() sollevano tutti NotImplementedError per ogni famiglia di questo livello (vedi il livello di supporto qui sopra). Fai fine-tuning di Kosmos-2 upstream e carica i pesi risultanti se ti serve un vocabolario personalizzato integrato; controlla a occhio l'output di predict() invece di una passata di validazione in stile COCO, dato che ogni rilevamento porta la stessa confidenza segnaposto.

Licenze

Controlla la licenza nel repository Hugging Face degli specifici pesi che scarichi. Ogni checkpoint nell<link>organizzazione LibreYOLO</link> ne include una e non è sempre la stessa per tutta la famiglia. Quel repository è la fonte autorevole; il riepilogo seguente descrive le condizioni applicabili al momento dellultima verifica di questa pagina.

Questa è una descrizione delle licenze coinvolte, non una consulenza legale. Se la risposta è importante a fini commerciali, leggi personalmente le licenze e chiedi una consulenza indipendente.

Lavoro originale
Kosmos-2, Microsoft
Licenza upstream
MIT
Codice LibreYOLO
MIT
Pesi
MIT, distribuiti dai rispettivi autori. LibreYOLO non li ospita né ne mantiene una copia.
Interpretazione
MIT is a permissive license, so these weights can be used in commercial and closed-source products, provided the copyright notice and license text travel with any copy you redistribute. LibreYOLO downloads Microsoft's own microsoft/kosmos-2-patch14-224 repository directly; unlike Florence-2, no community re-upload is needed for it to load on current transformers.

Citazione

@article{kosmos-2,
  title={Kosmos-2: Grounding Multimodal Large Language Models to the World},
  author={Zhiliang Peng and Wenhui Wang and Li Dong and Yaru Hao and Shaohan Huang and Shuming Ma and Furu Wei},
  journal={ArXiv},
  year={2023},
  volume={abs/2306}
}

Copiato dal blocco di citazione degli autori disponibile su github.com/microsoft/unilm/blob/master/kosmos-2/README.md#citation.

Verificato con LibreYOLO v1.5.0. Le tabelle di supporto, i checkpoint e i dati dei benchmark in questa pagina vengono generati dalla libreria rilasciata e dai pesi pubblicati, non scritti a mano.