Посмотреть как Markdown

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 импортирует при загрузке модели.

bash
pip install "libreyolo[vlm]"

Предсказание

LibreLocateAnything — это Python-класс, а не .pt-чекпойнт: через фабрику LibreYOLO() он не загружается, и CLI libreyolo его не распознаёт. До этого семейства можно добраться и через фабрику LibreVLM(...) (from libreyolo import LibreVLM) — по алиасу, например LibreVLM("locate-anything"); она конструирует как раз тот класс, который используется ниже. При загрузке скачивается и выполняется собственный удалённый код модели от NVIDIA с Hugging Face, поэтому LibreYOLO закрепляет скачивание за одной фиксированной ревизией коммита, а не за изменяемой веткой main, и один раз выводит в лог уведомление о лицензии перед первым скачиванием.

Python
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.

Проверено с LibreYOLO v1.5.0. Таблицы поддержки, чекпойнты и результаты бенчмарков на этой странице сгенерированы из выпущенной библиотеки и опубликованных весов, а не написаны вручную.