LocateAnything
LocateAnything — vision-language модель grounding от NVIDIA, которая декодирует ограничивающие рамки и точки параллельно, а не по одному координатному токену за раз. LibreYOLO оборачивает её как детектор с открытым словарём, умеющий ещё и указывать точки: набором классов становится любой список текстовых меток, без фиксированной головы и без дообучения.
- Задачи
- detection, point
- Размеры
- 3b at 2500 px
- Установка
pip install libreyolo- Уровень поддержки
- Смежный уровень, начиная с v. Отдельная часть продукта со своей фабрикой и контрактом.
- Исходный проект
- LocateAnything от NVIDIA, NVIDIA License (non-commercial). Статья, исходный код
- Лицензии
- Код: MIT, веса: NVIDIA License (non-commercial). Коммерческое использование
Установка
LocateAnything нужен extra vlm: он подтягивает transformers, а также пакеты
decord, lmdb и peft, которые удалённый код с Hugging Face импортирует при
загрузке модели.
pip install "libreyolo[vlm]"Предсказание
LibreLocateAnything — это Python-класс, а не .pt-чекпойнт: через фабрику
LibreYOLO() он не загружается, и CLI libreyolo его не распознаёт. До этого
семейства можно добраться и через фабрику LibreVLM(...)
(from libreyolo import LibreVLM) — по алиасу, например
LibreVLM("locate-anything"); она конструирует как раз тот класс, который
используется ниже. При загрузке скачивается и выполняется собственный удалённый
код модели от NVIDIA с Hugging Face, поэтому LibreYOLO закрепляет скачивание за
одной фиксированной ревизией коммита, а не за изменяемой веткой main, и один
раз выводит в лог уведомление о лицензии перед первым скачиванием.
from libreyolo import LibreLocateAnything, SAMPLE_IMAGE model = LibreLocateAnything(size="3b") # Открытый словарь: годятся любые слова, фиксированной головы классов нет.# Запоминается и действует во всех последующих predict()/track(), пока не задать снова.model.set_classes(["person", "bicycle", "dog"])result = model(SAMPLE_IMAGE, save=True) for box in result.boxes: print(box.cls, box.conf, box.xyxy)from libreyolo import LibreLocateAnything, SAMPLE_IMAGE # task="point" возвращает по одной точке на найденный объект вместо рамки.# Переключить задачу у уже загруженной модели: model.set_task("point").model = LibreLocateAnything(size="3b", task="point")model.set_classes(["the person closest to the camera"])result = model(SAMPLE_IMAGE, save=True) for pt in result.points: print(pt.cls, pt.conf, pt.xy)from libreyolo import LibreLocateAnything, SAMPLE_IMAGE model = LibreLocateAnything(size="3b") # Запасной выход под удобной обёрткой детекции: произвольные вопросы,# подсчёт объектов или любой промпт, который обёртка с рамками не покрывает.text = model.chat(SAMPLE_IMAGE, "Describe the scene in one sentence.")print(text)result.boxes (задача detect) и result.points (задача point) содержат
разобранный вывод, как и у любого другого семейства. Уверенность здесь
заглушка: LocateAnything не выдаёт оценку для каждой рамки, поэтому у всех
детекций одна и та же константа, а conf= лишь отбрасывает строки ниже этой
константы, но не ранжирует их. Если не вызывать set_classes(), словарём по
умолчанию становятся имена классов COCO-80. Про источники, стриминг и обработку
результатов см. предсказание.
Варианты
Опубликован один размер, 3b. Две задачи используют одни и те же веса: detect
(по умолчанию) возвращает рамки, а task="point" — вместо этого одну точку на
каждый найденный объект, в result.points; переключаться между ними у уже
загруженной модели можно через model.set_task("point"). Бенчмарк-обвязка
LibreYOLO это семейство не измеряла, поэтому опубликованных цифр точности для
сравнения нет.
LibreYOLO открывает это семейство только для предсказания. train(), val() и
export() выбрасывают NotImplementedError: дообучать нужно в исходном
проекте, а сюда загружать результат; валидация на датасете пропущена, потому что
с уверенностью-заглушкой mAP по COCO вводил бы в заблуждение; а экспорт выходит
за рамки для генеративной модели, у которой нет state dict для трассировки.
Лицензирование
Проверяйте лицензию в репозитории конкретных весов на Hugging Face. Она указана для каждого чекпойнта в организации LibreYOLO и может различаться даже внутри одного семейства. Этот репозиторий считается авторитетным источником, а сводка ниже описывает условия на момент последней проверки страницы.
Это описание соответствующих лицензий, а не юридическая консультация. Если ответ важен для коммерческого использования, прочитайте лицензии самостоятельно и проконсультируйтесь с юристом.
- Оригинальная работа
- LocateAnything, NVIDIA
- Лицензия исходного проекта
- NVIDIA License (non-commercial)
- Исходный код проекта
- github.com/NVlabs/Eagle/tree/main/Embodied
- Код LibreYOLO
- MIT
- Веса
- NVIDIA License (non-commercial), распространяются авторами. LibreYOLO не размещает и не зеркалирует их.
- Толкование
- The NVIDIA License permits use, reproduction and modification, but Section 3.3 restricts the Work and any derivative to non-commercial use, research or evaluation only, for anyone other than NVIDIA and its affiliates: there is no revenue threshold or paid exception. Redistribution must keep a complete copy of the license and every attribution notice. LocateAnything-3B also composes two other licensed components: a Qwen2.5-3B-Instruct language backbone under the Qwen Research License, and a MoonViT-SO-400M vision encoder under MIT. Because loading this model requires trusting NVIDIA's own Hugging Face remote code, LibreYOLO pins the exact commit revision it downloads rather than the mutable main branch, and logs a one-time notice before that download. LibreYOLO does not host, mirror or redistribute any of it.
NVIDIA License разрешает использование, воспроизведение и модификацию, но для
всех, кроме NVIDIA и её аффилированных лиц, ограничивает модель и любые
производные некоммерческим использованием, исследованиями или оценкой: порога по
выручке или платного исключения нет. LocateAnything-3B к тому же собран из двух
других лицензированных компонентов: языкового бэкбона Qwen2.5-3B-Instruct под
Qwen Research License и визуального энкодера MoonViT-SO-400M под MIT. LibreYOLO
ничего из этого не размещает у себя, не зеркалирует и не распространяет
повторно: при первом запуске LibreLocateAnything скачивает веса и нужный
удалённый код напрямую из nvidia/LocateAnything-3B на Hugging Face, с
закреплением за одним фиксированным коммитом.
Цитирование
@article{wang2025locateanything,
title = {LocateAnything: Fast and High-Quality Vision-Language Grounding with Parallel Box Decoding},
author = {Shihao Wang and Shilong Liu and Yuanguo Kuang and Xinyu Wei and
Yangzhou Liu and Zhiqi Li and Yunze Man and Guo Chen and
Andrew Tao and Guilin Liu and Jan Kautz and Lei Zhang and Zhiding Yu},
journal = {arXiv:2605.27365},
year = {2026},
}Скопировано из блока цитирования авторов на странице github.com/NVlabs/Eagle/blob/main/Embodied/README.md#-citation.