OV-DEIM

OV-DEIM — детектор объектов с открытым словарём в стиле DETR, который сопоставляет запросы декодера с текстовыми эмбеддингами из встроенной текстовой башни MobileCLIP. LibreYOLO портирует его нативно как семейство только для предсказания на своём уровне детекторов с открытым словарём.

Задачи
detection
Размеры
s, m, l at 640 px
Установка
pip install libreyolo
Уровень поддержки
Смежный уровень, начиная с v. Отдельная часть продукта со своей фабрикой и контрактом.
Исходный проект
OV-DEIM от Leilei Wang et al., CC BY-NC 4.0. Статья, исходный код
Лицензии
Код: Apache-2.0, веса: CC BY-NC 4.0. Коммерческое использование

Установка

OV-DEIM загружается через уровень детекторов с открытым словарём в LibreYOLO, которому нужен extra openvocab:

bash
pip install "libreyolo[openvocab]"

В отличие от остальных моделей этого уровня, OV-DEIM — нативный порт в LibreYOLO, а не обёртка над transformers, класса модели transformers для него не существует, но тот же extra покрывает пакеты huggingface_hub, safetensors, regex и ftfy, которые нужны ему на этапе предсказания.

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

OV-DEIM — не тот чекпойнт, который LibreYOLO загружает через LibreYOLO(). Он загружается через соседнюю фабрику LibreOpenVocab: она скачивает снапшот с Hugging Face при первом запуске и кэширует его в weights/.

Python
from libreyolo import LibreOpenVocab, SAMPLE_IMAGE model = LibreOpenVocab("ov-deim-s")model.set_classes(["person", "dog", "skateboard"]) result = model.predict(SAMPLE_IMAGE, conf=0.25)for box in result.boxes:    print(box.cls, box.conf, box.xyxy)
Замена словаря
from libreyolo import LibreOpenVocab, SAMPLE_IMAGE model = LibreOpenVocab("ov-deim-l")model.set_classes(["traffic light", "bicycle"])first = model.predict(SAMPLE_IMAGE, conf=0.3) # Повторный вызов set_classes() полностью заменяет словарь и заново# считает его эмбеддинги через текстовую башню; пустой результат —# это допустимый исход, а не ошибка.model.set_classes(["giraffe"])second = model.predict(SAMPLE_IMAGE, conf=0.5)print(second.names, len(second))

set_classes() задаёт постоянный текстовый словарь: вызовите его ещё раз, чтобы полностью заменить список, или не вызывайте вовсе, чтобы остались стандартные метки COCO-80, причём пустой результат — это допустимый исход, а не ошибка. Каждый запрос декодера оценивается по косинусной близости с текстовыми эмбеддингами из встроенной текстовой башни MobileCLIP-B(LT), они считаются на лету для того словаря, который задан, и кэшируются до его смены, поэтому произвольные запросы работают без заранее посчитанного файла эмбеддингов.

У OV-DEIM нет порога по текстовым токенам: детекции фильтрует только conf, а передача text_threshold вызывает ошибку. Сопоставление — это отбор top-K один к одному, поэтому подавления немаксимумов здесь не происходит, а iou принимается ради совместимости API, но выдаёт предупреждение и ничего не делает. imgsz и augment=True отклоняются сразу: у модели собственный фиксированный вход с letterbox, а аугментация на этапе предсказания выходит за рамки этого уровня. predict() на одном изображении возвращает один Results, а не список; чтобы получить несколько, передайте директорию, список изображений или stream=True для видеоисточника. CLI-пути у этого семейства нет, libreyolo predict загружает только чекпойнты .pt через LibreYOLO(), поэтому семейства LibreOpenVocab запускаются из Python. Про типы источников и стриминг см. предсказание.

Каждый вызов predict() дополнительно прогоняет встроенную текстовую башню MobileCLIP-B(LT), чтобы посчитать эмбеддинги текущего словаря; что это добавляет к условиям, см. в разделе «Лицензирование».

Варианты

Три чекпойнта: s, m и l. s — размер по умолчанию для этого уровня, когда ничего не задано. В отличие от остальных моделей этого уровня, OV-DEIM — нативный порт, а не обёртка над transformers: LibreYOLO поставляет модули детектора под той же лицензией Apache-2.0, что и исходный код, и переиспользует адаптер бэкбона DINOv3, уже сделанный для семейства DEIMv2. Бэкбон чекпойнта l — это дообученный DINOv3-S, который лицензируется отдельно, по DINOv3 License от Meta. Ни точности, ни задержек для этого семейства пока не опубликовано.

Обучение, валидация на датасете и экспорт выходят за рамки этого уровня: train(), val() и export() безусловно вызывают NotImplementedError. Это обёртка только для предсказания вокруг опубликованного чекпойнта.

Чекпойнты

Все опубликованные файлы весов этого семейства.

ФайлВход (пикс.)Лицензия весов
Detection
LibreOVDEIMs.pt640cc-by-nc-4.0
LibreOVDEIMm.pt640cc-by-nc-4.0
LibreOVDEIMl.pt640cc-by-nc-4.0

Все перечисленные выше файлы уже доступны в организации LibreYOLO и скачиваются при первом использовании.

Лицензирование

Проверяйте лицензию в репозитории конкретных весов на Hugging Face. Она указана для каждого чекпойнта в организации LibreYOLO и может различаться даже внутри одного семейства. Этот репозиторий считается авторитетным источником, а сводка ниже описывает условия на момент последней проверки страницы.

Это описание соответствующих лицензий, а не юридическая консультация. Если ответ важен для коммерческого использования, прочитайте лицензии самостоятельно и проконсультируйтесь с юристом.

Оригинальная работа
OV-DEIM, Leilei Wang et al.
Лицензия исходного проекта
CC BY-NC 4.0
Исходный код проекта
github.com/wleilei/OV-DEIM
Код LibreYOLO
MIT
Веса
CC BY-NC 4.0, повторно опубликованы на huggingface.co/LibreYOLO
Толкование
OV-DEIM's code is Apache-2.0; LibreYOLO's port keeps that license and preserves the original RT-DETR and DEIMv2 attribution headers. The published S, M and L checkpoints carry a separate CC BY-NC 4.0 license: redistribution and format conversion are permitted with attribution, but only for non-commercial use, confirmed directly by the upstream author. Every prediction also runs a bundled MobileCLIP-B(LT) text tower, loaded unchanged from Apple's own release, to embed the vocabulary online; those weights carry the Apple Machine Learning Research Model license, which permits redistribution with the license text, an attribution notice and a record of modifications, but restricts use to research, a stricter term than CC BY-NC 4.0 that applies to every call this family makes. The `l` checkpoint's DINOv3-S backbone fine-tune is separately subject to Meta's DINOv3 License.

OV-DEIM накладывает на каждый вызов предсказания три исходные лицензии: веса детектора — под собственной лицензией OV-DEIM, CC BY-NC 4.0, текстовая башня, которая считается на лету, — под Machine Learning Research Model license от Apple (только для исследований), а для чекпойнта l добавляется дообученный бэкбон DINOv3-S под DINOv3 License от Meta. Тексты всех трёх лицензий поставляются внутри репозитория весов LibreYOLO.

Цитирование

@misc{wang2026ovdeim,
      title={OV-DEIM: Real-time DETR-Style Open-Vocabulary Object Detection with GridSynthetic Augmentation}, 
      author={Leilei Wang and Longfei Liu and Xi Shen and Xuanlong Yu and Ying Tiffany He and Fei Richard Yu and Yingyi Chen},
      year={2026},
      eprint={2603.07022},
      archivePrefix={arXiv},
      primaryClass={cs.CV},
      url={https://arxiv.org/abs/2603.07022}, 
}

Скопировано из блока цитирования авторов на странице github.com/wleilei/OV-DEIM#4-citation.

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