Florence-2
Florence-2 to bazowy model wizyjny Microsoft, sterowany tokenem zadania zamiast stałą głowicą detekcji. LibreYOLO udostępnia go jako detektor obiektów z otwartym słownikiem: listę klas podaje się podczas predykcji.
- Zadania
- detection
- Rozmiary
- base, large at 768 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
- Florence-2, autorzy: Microsoft, licencja: MIT. Publikacja, kod źródłowy
- Licencje
- Kod: MIT, wagi: MIT. Użycie komercyjne
Instalacja
Florence-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.
pip install "libreyolo[vlm]"Predykcja
Przy pierwszym użyciu wagi są pobierane z Hugging Face i zapisywane w lokalnej
pamięci podręcznej. LibreYOLO pobiera ponownie opublikowany checkpoint
florence-community zamiast oryginalnego repozytorium microsoft/Florence-2-*.
Przyczynę wyjaśnia sekcja Licencja.
from libreyolo import LibreVLM, SAMPLE_IMAGE model = LibreVLM("florence-2-base")model.set_classes(["car", "person", "traffic light"])result = model.predict(SAMPLE_IMAGE, save=True) for box in result.boxes: print(box.cls, box.conf, box.xyxy)from libreyolo import LibreVLM model = LibreVLM("florence-2-base")model.set_classes(["car", "person", "traffic light"]) # 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 na obrazie
proszony jest Florence-2. Ustawienie jest trwałe i obowiązuje we wszystkich
późniejszych wywołaniach predict()/track(), dopóki nie zostanie ponownie
zmienione. Zwracany obiekt Results zawiera boxes w takim samym kształcie jak
w pozostałych rodzinach, ale każda detekcja ma ten sam zastępczy wskaźnik
pewności. Filtrowanie przez conf działa więc na zasadzie wszystko albo nic,
a iou nie ma wpływu na wynik. Wrapper Florence-2 tworzy listę detekcji
bezpośrednio z przetworzonego wyjścia tokenu zadania, bez etapu usuwania
duplikatów. chat() zgłasza tutaj NotImplementedError, ponieważ Florence-2
jest sterowany tokenem zadania <OPEN_VOCABULARY_DETECTION>, 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ępne są dwa rozmiary, Florence-2-base i Florence-2-large, oba przy 768 px,
wczytywane jako LibreVLM("florence-2-base") lub
LibreVLM("florence-2-large"). LibreYOLO nie opublikowało benchmarku
porównującego ich dokładność.
LibreYOLO nie trenuje, nie waliduje ani nie eksportuje Florence-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ć Florence-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
- Florence-2, Microsoft
- Licencja projektu źródłowego
- MIT
- Kod źródłowy projektu
- huggingface.co/microsoft/Florence-2-large
- 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 the florence-community re-upload of the checkpoint (florence-community/Florence-2-base and florence-community/Florence-2-large) rather than the original microsoft/Florence-2-* repositories, because those ship with custom remote code that no longer loads on current transformers releases. florence-community republishes the same weights through the native Florence2ForConditionalGeneration class, also under MIT, so nothing about the license changes.
Cytowanie
@article{xiao2023florence,
title={Florence-2: Advancing a unified representation for a variety of vision tasks},
author={Xiao, Bin and Wu, Haiping and Xu, Weijian and Dai, Xiyang and Hu, Houdong and Lu, Yumao and Zeng, Michael and Liu, Ce and Yuan, Lu},
journal={arXiv preprint arXiv:2311.06242},
year={2023}
}Skopiowano z bloku cytowania autorów w huggingface.co/microsoft/Florence-2-large#bibtex.