YOLO Vision 2026:

Ultralytics YOLOv5#

Обзор#

YOLOv5u представляет собой шаг вперед в методологиях object detection. Основанная на базовой архитектуре модели YOLOv5, разработанной Ultralytics, модель YOLOv5u объединяет раздельную «голову» (split head) без использования фиксированных анкоров и оценки предметности (objectness), функция, которая ранее была представлена в моделях YOLOv8. Эта адаптация совершенствует архитектуру модели, обеспечивая улучшенный баланс точности и скорости в задачах обнаружения объектов. Учитывая эмпирические результаты и унаследованные функции, YOLOv5u представляет собой эффективную альтернативу для тех, кто ищет надежные решения как в исследованиях, так и в практических применениях.

YOLOv5 object detection model architecture and performance

Модели, обученные с помощью оригинального репозитория YOLOv5, несовместимы с библиотекой Ultralytics

Ultralytics предоставляет anchor-free variant of YOLOv5 model. Модели, обученные с использованием репозитория ultralytics/yolov5, не могут быть загружены с помощью библиотеки ultralytics/ultralytics. Чтобы использовать YOLOv5 здесь, обучи новую модель на основе чекпоинта Ultralytics YOLOv5u (например, yolov5su.pt).

Попробуй на платформе Ultralytics

Изучай и запускай модели YOLOv5 напрямую на Ultralytics Platform.

Ключевые особенности#

  • Безанкорная разделенная голова Ultralytics: Традиционные модели обнаружения объектов полагаются на предопределенные anchor box для предсказания местоположения объектов. Однако YOLOv5u модернизирует этот подход. Используя безанкорную разделенную голову Ultralytics, она обеспечивает более гибкий и адаптивный механизм обнаружения, что повышает производительность в разнообразных сценариях.

  • Оптимизированный баланс точности и скорости: Скорость и точность часто направлены в противоположные стороны. Но YOLOv5u бросает вызов этому компромиссу. Она предлагает выверенный баланс, обеспечивая обнаружение в реальном времени без ущерба для точности. Эта функция особенно бесценна для приложений, требующих молниеносной реакции, таких как autonomous vehicles, robotics и видеоаналитика в реальном времени.

  • Разнообразие предобученных моделей: Понимая, что для разных задач нужны разные инструменты, YOLOv5u предоставляет множество предобученных моделей. Независимо от того, занимаешься ли ты инференсом, валидацией или обучением, тебя ждет специально подготовленная модель. Такое разнообразие гарантирует, что ты используешь не универсальное решение, а модель, точно настроенную под твою уникальную задачу.

Поддерживаемые задачи и режимы#

Модели YOLOv5u с различными предобученными весами превосходно справляются с задачами Object Detection. Они поддерживают широкий спектр режимов, что делает их пригодными для самых разных задач — от разработки до развертывания.

Тип моделиПредобученные весаЗадачаTrainingValidationInferenceЭкспорт
YOLOv5uyolov5nu, yolov5su, yolov5mu, yolov5lu, yolov5xu, yolov5n6u, yolov5s6u, yolov5m6u, yolov5l6u, yolov5x6uОбнаружение объектов

В этой таблице представлен подробный обзор вариантов моделей YOLOv5u, в котором указаны их применимость в задачах обнаружения объектов и поддержка различных рабочих режимов, таких как Inference, Validation, Training и Export. Такая всесторонняя поддержка гарантирует, что ты сможешь в полной мере использовать возможности моделей YOLOv5u в самых разных сценариях обнаружения объектов.

Метрики производительности#

Производительность

Смотри документацию по детектированию для примеров использования этих моделей, обученных на COCO, которые включают 80 предобученных классов.

МодельYAMLразмер
(пиксели)
mAPval
50-95
Скорость
CPU ONNX
(мс)
Скорость
A100 TensorRT
(мс)
параметры
(М)
FLOPs
(Б)
yolov5nu.ptyolov5n.yaml64034.373.61.062.67.7
yolov5su.ptyolov5s.yaml64043.0120.71.279.124.0
yolov5mu.ptyolov5m.yaml64049.0233.91.8625.164.2
yolov5lu.ptyolov5l.yaml64052.2408.42.5053.2135.0
yolov5xu.ptyolov5x.yaml64053.2763.23.8197.2246.4
yolov5n6u.ptyolov5n6.yaml128042.1211.01.834.37.8
yolov5s6u.ptyolov5s6.yaml128048.6422.62.3415.324.6
yolov5m6u.ptyolov5m6.yaml128053.6810.94.3641.265.7
yolov5l6u.ptyolov5l6.yaml128055.71470.95.4786.1137.4
yolov5x6u.ptyolov5x6.yaml128056.82436.58.98155.4250.7

Примеры использования#

В этом примере приведены простые примеры обучения и инференса YOLOv5. Полную документацию по этим и другим modes смотри на страницах документации Predict, Train, Val и Export.

Пример

Предобученные модели PyTorch *.pt, а также файлы конфигурации *.yaml могут быть переданы в класс YOLO() для создания экземпляра модели в python:

from ultralytics import YOLO

# Load a COCO-pretrained YOLOv5n model
model = YOLO("yolov5n.pt")

# Display model information (optional)
model.info()

# Train the model on the COCO8 example dataset for 100 epochs
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Run inference with the YOLOv5n model on the 'bus.jpg' image
results = model("path/to/bus.jpg")

Цитирование и благодарности#

Публикация Ultralytics YOLOv5

Ultralytics не публиковала официальную исследовательскую работу по YOLOv5 в связи с быстро развивающейся природой моделей. Мы сосредоточены на совершенствовании технологии и повышении удобства ее использования, а не на создании статической документации. Самую актуальную информацию об архитектуре, функциях и использовании YOLO ищи в нашем GitHub repository и documentation.

Если ты используешь YOLOv5 или YOLOv5u в своих исследованиях, пожалуйста, ссылайся на репозиторий Ultralytics YOLOv5 следующим образом:

Цитата
@software{yolov5,
  title = {Ultralytics YOLOv5},
  author = {Glenn Jocher},
  year = {2020},
  version = {7.0},
  license = {AGPL-3.0},
  url = {https://github.com/ultralytics/yolov5},
  doi = {10.5281/zenodo.3908559},
  orcid = {0000-0001-5950-6979}
}

Обрати внимание, что модели YOLOv5 предоставляются на условиях лицензий AGPL-3.0 и Enterprise.

FAQ#

  • Ultralytics YOLOv5u — это усовершенствованная версия YOLOv5, в которой интегрирована раздельная «голова» без анкоров и предметности, что улучшает баланс accuracy-скорость для задач обнаружения объектов в реальном времени. В отличие от традиционной YOLOv5, YOLOv5u использует механизм обнаружения без анкоров, что делает ее более гибкой и адаптируемой в различных сценариях. Подробную информацию о ее функциях ты найдешь в разделе YOLOv5 Overview.

  • «Голова» Ultralytics без анкоров в YOLOv5u повышает производительность обнаружения объектов за счет устранения зависимости от предопределенных блоков-якорей (anchor boxes). Это приводит к более гибкому и адаптируемому механизму обнаружения, который может эффективнее обрабатывать объекты различных размеров и форм. Это улучшение напрямую способствует достижению сбалансированного компромисса между точностью и скоростью, делая YOLOv5u подходящей для приложений реального времени. Узнай больше об архитектуре в разделе Key Features.

  • Да, ты можешь использовать предобученные модели YOLOv5u для различных задач, таких как Object Detection. Эти модели поддерживают множество режимов, включая Inference, Validation, Training и Export. Эта гибкость позволяет пользователям задействовать возможности моделей YOLOv5u под самые разные рабочие требования. Подробный обзор смотри в разделе Supported Tasks and Modes.

  • Метрики производительности моделей YOLOv5u варьируются в зависимости от используемой платформы и оборудования. Например, модель YOLOv5nu достигает 34.3 mAP на датасете COCO со скоростью 73.6 ms на CPU (ONNX) и 1.06 ms на A100 TensorRT. Подробные метрики производительности для различных моделей YOLOv5u можно найти в разделе Performance Metrics, где представлено исчерпывающее сравнение для различных устройств.

  • Ты можешь обучить модель YOLOv5u, загрузив предобученную модель и запустив команду обучения с твоим набором данных. Вот быстрый пример:

    Пример
    from ultralytics import YOLO
    
    # Load a COCO-pretrained YOLOv5n model
    model = YOLO("yolov5n.pt")
    
    # Display model information (optional)
    model.info()
    
    # Train the model on the COCO8 example dataset for 100 epochs
    results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

    Более подробные инструкции ищи в разделе Usage Examples.

Комментарии