Kosmos-2

Kosmos-2 to model groundingu Microsoft: tworzy podpis obrazu, a następnie lokalizuje ramką każdą frazę rzeczownikową w tym podpisie. LibreYOLO udostępnia go jako detektor obiektów z otwartym słownikiem: listę klas podaje się podczas predykcji.

Zadania
detection
Rozmiary
224 at 224 px
Instalacja
pip install libreyolo
Poziom obsługi
Poziom siostrzany, od wersji v. Osobna część produktu z własną fabryką i kontraktem.
Projekt źródłowy
Kosmos-2, autorzy: Microsoft, licencja: MIT. Publikacja, kod źródłowy
Licencje
Kod: MIT, wagi: MIT. Użycie komercyjne

Instalacja

Kosmos-2 należy do poziomu VLM jako detektor w LibreYOLO, osobnej powierzchni produktu od rodzin opartych na checkpointach, z własną fabryką. Wymaga dodatku vlm.

bash
pip install "libreyolo[vlm]"

Predykcja

Przy pierwszym użyciu wagi są pobierane z Hugging Face i zapisywane w lokalnej pamięci podręcznej. LibreYOLO bezpośrednio wczytuje własne repozytorium Microsoft microsoft/kosmos-2-patch14-224. W przeciwieństwie do Florence-2 nie jest tu potrzebne ponowne opublikowanie przez społeczność.

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)
Wideo
from libreyolo import LibreVLM model = LibreVLM("kosmos-2")model.set_classes(["boat", "person"]) # Dowolne źródło obsługiwane przez bibliotekę: plik, folder, adres URL, indeks kamery,# strumień RTSP lub lista .streamsfor result in model.predict("clip.mp4", stream=True, save=True):    print(len(result.boxes))

Ta rodzina jest wczytywana przez fabrykę LibreVLM(), a nie LibreYOLO(). Rodziny VLM nie deklarują loadera checkpointów, dlatego opisany na innych stronach modeli wybór ścieżki na podstawie rozszerzenia pliku nie ma tu zastosowania. set_classes() ustawia słownik, o którego znalezienie proszony jest Kosmos-2. Ustawienie jest trwałe i obowiązuje we wszystkich późniejszych wywołaniach predict()/track(), dopóki nie zostanie ponownie zmienione. Kosmos-2 wykonuje grounding fraz rzeczownikowych zamiast dokładnego dopasowania etykiety, dlatego wrapper LibreYOLO przyjmuje częściowe dopasowanie. Klasa o nazwie "boat" pasuje także do wygenerowanej frazy takiej jak „the boats”. Każda detekcja ma ten sam zastępczy wskaźnik pewności, więc filtrowanie przez conf działa na zasadzie wszystko albo nic, a iou nie ma tu wpływu na wynik, ponieważ wrapper tworzy listę detekcji bezpośrednio z elementów z groundingiem, bez etapu usuwania duplikatów. chat() zgłasza NotImplementedError, ponieważ Kosmos-2 jest sterowany promptem <grounding>, a nie szablonem czatu. CLI LibreYOLO nie obsługuje tego poziomu. Nie istnieje dla niego forma libreyolo predict model=.... Więcej informacji o źródłach, streamingu i obsłudze wyników zawiera strona predykcji.

Warianty

Dostępny jest jeden rozmiar: kosmos-2-patch14-224 przy 224 px, wczytywany jako LibreVLM("kosmos-2"). Jest to model z 2023 roku, a własny wrapper LibreYOLO zaznacza, że jego grounding jest mniej dokładny niż w nowszych detektorach tego poziomu.

LibreYOLO nie trenuje, nie waliduje ani nie eksportuje Kosmos-2. Wywołania train(), val() i export() zgłaszają NotImplementedError dla każdej rodziny na tym poziomie (zobacz poziom obsługi powyżej). Jeśli potrzebny jest niestandardowy słownik zapisany w wagach, należy dostroić Kosmos-2 w projekcie źródłowym i wczytać powstałe wagi. Wynik predict() trzeba sprawdzić wzrokowo zamiast uruchamiać walidację w stylu COCO, ponieważ każda detekcja ma ten sam zastępczy wskaźnik pewności.

Licencja

Sprawdź licencję w repozytorium konkretnych pobieranych wag na Hugging Face. Każdy checkpoint w organizacji LibreYOLO ma licencję, która nie zawsze jest taka sama w całej rodzinie. To repozytorium jest źródłem rozstrzygającym, a poniższe podsumowanie opisuje stan z chwili ostatniej weryfikacji tej strony.

To opis obowiązujących licencji, a nie porada prawna. Jeśli odpowiedź ma znaczenie komercyjne, przeczytaj licencje i zasięgnij własnej porady prawnej.

Oryginalna praca
Kosmos-2, Microsoft
Licencja projektu źródłowego
MIT
Kod LibreYOLO
MIT
Wagi
MIT, rozpowszechniane przez autorów. LibreYOLO ich nie hostuje ani nie udostępnia kopii.
Interpretacja
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.

Cytowanie

@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}
}

Skopiowano z bloku cytowania autorów w github.com/microsoft/unilm/blob/master/kosmos-2/README.md#citation.

Zweryfikowano z LibreYOLO v1.5.0. Tabele obsługi, checkpointy i wyniki benchmarków na tej stronie są generowane na podstawie wydanej biblioteki i opublikowanych wag, a nie wpisywane ręcznie.