/ Модель

Характеристики

Размер весов
1,3 ГБ
Лицензия
AGPL 3.0
Библиотека
ultralytics
Опубликована
10 мар 2025

yoloe

Поиск объектовИзображение → bounding_boxes3 профессии

YOLOE — модель компьютерного зрения для быстрого обнаружения и сегментации объектов по текстовым или визуальным подсказкам и без подсказок.

4 962скачиваний за 30 дней44лайкавеса обновлены30 мар 2025

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

YOLOE — модель компьютерного зрения, представленная авторами Ao Wang, Lihao Liu, Hui Chen, Zijia Lin, Jungong Han и Guiguang Ding; репозиторий содержит официальную реализацию на PyTorch. Она объединяет обнаружение объектов и сегментацию и рассчитана на работу в реальном времени с открытым набором категорий. Модель принимает текстовые или визуальные подсказки, а также поддерживает режим без подсказок с использованием встроенного словаря объектов.

В README приведены варианты YOLOE-v8-S, M и L с 12–50 млн параметров в зависимости от размера и режима; для обнаружения и сегментации указаны результаты на LVIS и перенос на COCO. Авторы сообщают о высокой скорости, zero-shot обнаружении и переносимости на другие наборы данных. Репозиторий также описывает настройку порога уверенности для случаев, когда нужные объекты не обнаруживаются. Метаданные указывают библиотеку Ultralytics и лицензию AGPL-3.0.

Сценарии применения

  • поиск объектов на изображениях по текстовому запросу
  • обнаружение объектов по визуальному примеру или области изображения
  • обнаружение объектов без предварительно заданной категории
  • сегментация объектов на изображениях
  • перенос модели обнаружения объектов на набор данных COCO

Ограничения

Для обнаружения заданных объектов может потребоваться снизить порог уверенности. Метаданные и README не уточняют ограничения применимости или требования к лицензированному распространению помимо указания AGPL-3.0.

Для каких профессий подходит3

Разделы каталога профессий, в задачах которых используется эта модель

Все профессии

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

YOLOE: Real-Time Seeing Anything

Official PyTorch implementation of YOLOE.

YOLOE: Real-Time Seeing Anything.
Ao Wang*, Lihao Liu*, Hui Chen, Zijia Lin, Jungong Han, and Guiguang Ding
arXiv Hugging Face Models Hugging Face Spaces

We introduce YOLOE(ye), a highly efficient, unified, and open object detection and segmentation model, like human eye, under different prompt mechanisms, like texts, visual inputs, and prompt-free paradigm.

Performance

Zero-shot detection evaluation

  • Fixed AP is reported on LVIS minival set with text (T) / visual (V) prompts.
  • Training time is for text prompts with detection based on 8 Nvidia RTX4090 GPUs.
  • FPS is measured on T4 with TensorRT and iPhone 12 with CoreML, respectively.
  • For training data, OG denotes Objects365v1 and GoldG.
  • YOLOE can become YOLOs after re-parameterization with zero inference and transferring overhead.
ModelSizePromptParamsDataTimeFPS$AP$$AP_r$$AP_c$$AP_f$Log
YOLOE-v8-S640T / V12M / 13MOG12.0h305.8 / 64.327.9 / 26.222.3 / 21.327.8 / 27.729.0 / 25.7T / V
YOLOE-v8-M640T / V27M / 30MOG17.0h156.7 / 41.732.6 / 31.026.9 / 27.031.9 / 31.734.4 / 31.1T / V
YOLOE-v8-L640T / V45M / 50MOG22.5h102.5 / 27.235.9 / 34.233.2 / 33.234.8 / 34.637.3 / 34.1T / V
YOLOE-11-S640T / V10M / 12MOG13.0h301.2 / 73.327.5 / 26.321.4 / 22.526.8 / 27.129.3 / 26.4T / V
YOLOE-11-M640T / V21M / 27MOG18.5h168.3 / 39.233.0 / 31.426.9 / 27.132.5 / 31.934.5 / 31.7T / V
YOLOE-11-L640T / V26M / 32MOG23.5h130.5 / 35.135.2 / 33.729.1 / 28.135.0 / 34.636.5 / 33.8T / V

Zero-shot segmentation evaluation

ModelSizePrompt$AP^m$$AP_r^m$$AP_c^m$$AP_f^m$
YOLOE-v8-S640T / V17.7 / 16.815.5 / 13.516.3 / 16.720.3 / 18.2
YOLOE-v8-M640T / V20.8 / 20.317.2 / 17.019.2 / 20.124.2 / 22.0
YOLOE-v8-L640T / V23.5 / 22.021.9 / 16.521.6 / 22.126.4 / 24.3
YOLOE-11-S640T / V17.6 / 17.116.1 / 14.415.6 / 16.820.5 / 18.6
YOLOE-11-M640T / V21.1 / 21.017.2 / 18.319.6 / 20.624.4 / 22.6
YOLOE-11-L640T / V22.6 / 22.519.3 / 20.520.9 / 21.726.0 / 24.1

Prompt-free evaluation

  • The model is the same as above in Zero-shot detection evaluation except the specialized prompt embedding.
  • Fixed AP is reported on LVIS minival set and FPS is measured on Nvidia T4 GPU with Pytorch.
ModelSizeParams$AP$$AP_r$$AP_c$$AP_f$FPSLog
YOLOE-v8-S64013M21.019.121.321.095.8PF
YOLOE-v8-M64029M24.722.224.525.345.9PF
YOLOE-v8-L64047M27.223.527.028.025.3PF
YOLOE-11-S64011M20.618.420.221.393.0PF
YOLOE-11-M64024M25.521.625.526.142.5PF
YOLOE-11-L64029M26.322.725.827.534.9PF

Downstream transfer on COCO

  • During transferring, YOLOE-v8 / YOLOE-11 is exactly the same as YOLOv8 / YOLO11.
  • For Linear probing, only the last conv in classification head is trainable.
  • For Full tuning, all parameters are trainable.
ModelSizeEpochs$AP^b$$AP^b_{50}$$AP^b_{75}$$AP^m$$AP^m_{50}$$AP^m_{75}$Log
Linear probing
YOLOE-v8-S6401035.651.538.930.348.232.0LP
YOLOE-v8-M6401042.259.246.335.555.637.7LP
YOLOE-v8-L6401045.463.350.038.359.640.8LP
YOLOE-11-S6401037.052.940.431.549.733.5LP
YOLOE-11-M6401043.160.647.436.556.939.0LP
YOLOE-11-L6401045.162.849.538.059.240.6LP
Full tuning
YOLOE-v8-S64016045.061.649.136.758.339.1FT
YOLOE-v8-M6408050.467.055.240.963.743.5FT
YOLOE-v8-L6408053.069.857.942.766.545.6FT
YOLOE-11-S64016046.262.950.037.659.340.1FT
YOLOE-11-M6408051.368.356.041.564.844.3FT
YOLOE-11-L6408052.669.757.542.466.245.2FT

Installation

conda virtual environment is recommended.

conda create -n yoloe python=3.10 -y
conda activate yoloe

pip install -r requirements.txt
pip install -e .
pip install -e lvis-api
pip install -e ml-mobileclip
pip install -e CLIP

Demo

If desired objects are not identified, pleaset set a smaller confidence threshold, e.g., for visual prompts with handcrafted shape or cross-image prompts.

# Optional for mirror: export HF_ENDPOINT=https://hf-mirror.com
pip install gradio==4.42.0 gradio_image_prompter==0.1.0 fastapi==0.112.2
python app.py
# Please visit http://127.0.0.1:7860

Prediction

Text prompt

python predict.py

Visual prompt

python predict_vp.py

Prompt free

python predict_pf.py

Validation

Data

# For evaluation with visual prompt, please obtain the referring data.
python tools/generate_lvis_visual_prompt_data.py

Zero-shot evaluation on LVIS

  • For text prompts, python val.py.
  • For visual prompts, python val_vp.py

For Fixed AP, please refer to the comments in val.py and val_vp.py, and use tools/eval_fixed_ap.py for evaluation.

Prompt-free evaluation

python val_pe_free.py
python tools/eval_open_ended.py --json ../datasets/lvis/annotations/lvis_v1_minival.json --pred runs/detect/val/predictions.json --fixed

Downstream transfer on COCO

python val_coco.py

Training

The training includes three stages:

  • YOLOE is trained with text prompts for detection and segmentation for 30 epochs.
  • Only visual prompt encoder (SAVPE) is trained with visual prompts for 2 epochs.
  • Only specialized prompt embedding for prompt free is trained for 1 epochs.

Data

ImagesRaw AnnotationsProcessed Annotations
Objects365v1objects365_train.jsonobjects365_train_segm.json
GQA final_mixed_train_noo_coco.json final_mixed_train_noo_coco_segm.json
Flickr30kfinal_flickr_separateGT_train.jsonfinal_flickr_separateGT_train_segm.json

For annotations, you can directly use our preprocessed ones or use the following script to obtain the processed annotations with segmentation masks.

# Generate segmentation data
conda create -n sam2 python==3.10.16
conda activate sam2
pip install -r sam2/requirements.txt
pip install -e sam2/

python tools/generate_sam_masks.py --img-path ../datasets/Objects365v1/images/train --json-path ../datasets/Objects365v1/annotations/objects365_train.json --batch
python tools/generate_sam_masks.py --img-path ../datasets/flickr/full_images/ --json-path ../datasets/flickr/annotations/final_flickr_separateGT_train.json
python tools/generate_sam_masks.py --img-path ../datasets/mixed_grounding/gqa/images --json-path ../datasets/mixed_grounding/annotations/final_mixed_train_no_coco.json

# Generate objects365v1 labels
python tools/generate_objects365v1.py

Then, please generate the data and embedding cache for training.

# Generate grounding segmentation cache
python tools/generate_grounding_cache.py --img-path ../datasets/flickr/full_images/ --json-path ../datasets/flickr/annotations/final_flickr_separateGT_train_segm.json
python tools/generate_grounding_cache.py --img-path ../datasets/mixed_grounding/gqa/images --json-path ../datasets/mixed_grounding/annotations/final_mixed_train_no_coco_segm.json

# Generate train label embeddings
python tools/generate_label_embedding.py
python tools/generate_global_neg_cat.py

At last, please download MobileCLIP-B(LT) for text encoder.

wget https://docs-assets.developer.apple.com/ml-research/datasets/mobileclip/mobileclip_blt.pt

Text prompt

# For models with l scale, please change the initialization by referring to the comments in Line 549 in ultralytics/nn/moduels/head.py
# If you want to train YOLOE only for detection, you can use `train.py` 
python train_seg.py

Visual prompt

# For visual prompt, because only SAVPE is trained, we can adopt the detection pipleline with less training time

# First, obtain the detection model
python tools/convert_segm2det.py
# Then, train the SAVPE module
python train_vp.py
# After training, please use tools/get_vp_segm.py to add the segmentation head
# python tools/get_vp_segm.py

Prompt free

# Generate LVIS with single class for evaluation during training
python tools/generate_lvis_sc.py

# Similar to visual prompt, because only the specialized prompt embedding is trained, we can adopt the detection pipleline with less training time
python tools/convert_segm2det.py
python train_pe_free.py
# After training, please use tools/get_pf_free_segm.py to add the segmentation head
# python tools/get_pf_free_segm.py

Transferring

After pretraining, YOLOE-v8 / YOLOE-11 can be re-parameterized into the same architecture as YOLOv8 / YOLO11, with zero overhead for transferring.

Linear probing

Only the last conv, ie., the prompt embedding, is trainable.

python train_pe.py

Full tuning

All parameters are trainable, for better performance.

# For models with s scale, please change the epochs to 160 for longer training
python train_pe_all.py

Export

After re-parameterization, YOLOE-v8 / YOLOE-11 can be exported into the identical format as YOLOv8 / YOLO11.

pip install onnx coremltools onnxslim
python export.py

Benchmark

  • For TensorRT, please refer to benchmark.sh.
  • For CoreML, please use the benchmark tool from XCode 14.
  • For prompt-free setting, please refer to tools/benchmark_pf.py.

Acknowledgement

The code base is built with ultralytics, YOLO-World, MobileCLIP, lvis-api, CLIP, and GenerateU.

Thanks for the great implementations!

Citation

If our code or models help your work, please cite our paper:

@misc{wang2025yoloerealtimeseeing,
      title={YOLOE: Real-Time Seeing Anything}, 
      author={Ao Wang and Lihao Liu and Hui Chen and Zijia Lin and Jungong Han and Guiguang Ding},
      year={2025},
      eprint={2503.07465},
      archivePrefix={arXiv},
      primaryClass={cs.CV},
      url={https://arxiv.org/abs/2503.07465}, 
}

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм · ultralytics

Нельзя запустить

Модели Ultralytics YOLO требуют отдельного рантайма.

Ревизия весов
b584da1

0 моделей