Florence-2
Florence-2 є фундаментальною візуальною моделлю Microsoft, якій передають токен завдання замість використання фіксованої голови детектора. LibreYOLO надає її як детектор об'єктів із відкритим словником: передайте список класів під час передбачення.
- Задачі
- detection
- Розміри
- base, large at 768 px
- Встановлення
pip install libreyolo- Рівень підтримки
- Суміжний рівень, починаючи з v. Окремий інтерфейс продукту з власною фабрикою та контрактом.
- Ліцензії
- Код: MIT, ваги: MIT. Комерційне використання
Встановлення
Florence-2 належить до рівня VLM-детекторів LibreYOLO, окремої від сімейств на
основі контрольних точок частини продукту з власною фабрикою. Для неї потрібен
додатковий набір залежностей vlm.
pip install "libreyolo[vlm]"Передбачення
Під час першого використання ваги завантажуються з Hugging Face і кешуються
локально. LibreYOLO завантажує повторно вивантажену спільнотою florence
контрольну точку, а не початковий репозиторій microsoft/Florence-2-*.
Причину пояснено в розділі «Ліцензування».
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"]) # Будь-яке підтримуване бібліотекою джерело: файл, папка, URL,# індекс вебкамери, потік RTSP або список .streamsfor result in model.predict("clip.mp4", stream=True, save=True): print(len(result.boxes))Це сімейство завантажується через фабрику LibreVLM(), а не LibreYOLO():
сімейства VLM не оголошують завантажувача контрольних точок, тому описана на
інших сторінках моделей маршрутизація за суфіксом файлу тут не застосовується.
set_classes() задає словник, об'єкти з якого Florence-2 має знайти на
зображенні. Налаштування зберігається для всіх наступних викликів
predict()/track(), доки ви знову його не зміните. Повернений об'єкт
Results містить boxes тієї самої форми, що й для будь-якого іншого
сімейства. Проте кожне виявлення має однакову службову оцінку впевненості,
тому фільтрація за conf або пропускає всі результати, або відкидає їх усі,
а не ранжує. Параметр iou не діє: обгортка Florence-2 створює список
виявлень безпосередньо з розібраного виходу токена завдання, без етапу усунення
дублікатів. chat() спричиняє NotImplementedError, оскільки Florence-2
використовує токен завдання <OPEN_VOCABULARY_DETECTION>, а не шаблон чату.
CLI LibreYOLO не охоплює цей рівень: форми libreyolo predict model=... для
нього немає. Типи джерел, потокове передбачення та обробку результатів описано
в розділі передбачення.
Варіанти
Доступні два розміри: Florence-2-base і Florence-2-large, обидва з роздільною
здатністю 768 px. Вони завантажуються як LibreVLM("florence-2-base") або
LibreVLM("florence-2-large"). LibreYOLO не публікувала бенчмарк порівняння
їхньої правильності.
LibreYOLO не навчає, не валідує та не експортує Florence-2: train(),
val() і export() спричиняють NotImplementedError для кожного
сімейства цього рівня (див. рівень підтримки вище). Якщо потрібен вбудований
власний словник, донавчіть Florence-2 засобами початкового проєкту й завантажте
отримані ваги. Перевіряйте вихід predict() візуально замість валідації у
стилі COCO, оскільки кожне виявлення має однакову службову оцінку впевненості.
Ліцензування
Перевіряйте ліцензію в репозиторії Hugging Face конкретних ваг, які завантажуєте. Кожна контрольна точка в організації LibreYOLO має ліцензію, і вона не завжди однакова для всього сімейства. Цей репозиторій є авторитетним джерелом, а наведене нижче резюме описує умови на момент останньої перевірки сторінки.
Це опис відповідних ліцензій, а не юридична консультація. Якщо відповідь має комерційне значення, самостійно прочитайте ліцензії та зверніться по юридичну консультацію.
- Оригінальна робота
- Florence-2, Microsoft
- Ліцензія першоджерела
- MIT
- Джерело першоджерела
- huggingface.co/microsoft/Florence-2-large
- Код LibreYOLO
- MIT
- Ваги
- MIT, поширюється авторами. LibreYOLO не розміщує й не дублює ці ваги.
- Тлумачення
- 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.
Цитування
@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}
}Скопійовано з блоку цитування авторів на сторінці huggingface.co/microsoft/Florence-2-large#bibtex.