Ultralytics YOLOv5
Обзор
YOLOv5u представляет собой прогресс в методологии обнаружения объектов. Возникнув на основе фундаментальной архитектуры YOLOv5 разработанной на сайте Ultralytics, YOLOv5u интегрирует безъякорную и безобъектную расщепленную голову - функцию, ранее представленную в YOLOv8 модели. Эта адаптация улучшает архитектуру модели, что приводит к улучшению компромисса между точностью и скоростью в задачах обнаружения объектов. Учитывая эмпирические результаты и полученные характеристики, YOLOv5u представляет собой эффективную альтернативу для тех, кто ищет надежные решения как в исследовательских, так и в практических приложениях.
Основные характеристики
-
Безъякорный сплит Ultralytics Head: Традиционные модели обнаружения объектов полагаются на предопределенные якорные ящики для предсказания местоположения объектов. Однако YOLOv5u модернизирует этот подход. Благодаря использованию безъякорной сплит-головки Ultralytics , она обеспечивает более гибкий и адаптивный механизм обнаружения, что повышает производительность в различных сценариях.
-
Оптимизированный компромисс между точностью и скоростью: скорость и точность часто идут в противоположных направлениях. Но YOLOv5u бросает вызов этому компромиссу. Он предлагает выверенный баланс, обеспечивая обнаружение в реальном времени без ущерба для точности. Эта особенность особенно важна для приложений, требующих быстрой реакции, таких как автономные транспортные средства, робототехника и видеоаналитика в реальном времени.
-
Разнообразие предварительно обученных моделей: Понимая, что для разных задач требуются разные наборы инструментов, YOLOv5u предлагает множество предварительно обученных моделей. Независимо от того, на чем вы сосредоточились - на выводе, проверке или обучении, - для вас найдется подходящая модель. Такое разнообразие гарантирует, что вы используете не просто универсальное решение, а модель, специально настроенную для решения вашей уникальной задачи.
Поддерживаемые задачи и режимы
Модели YOLOv5u с различными предварительно обученными весами отлично справляются с задачами обнаружения объектов. Они поддерживают широкий спектр режимов, что делает их подходящими для различных приложений, от разработки до развертывания.
Тип модели | Предварительно обученные веса | Задание | Заключение | Валидация | Обучение | Экспорт |
---|---|---|---|---|---|---|
YOLOv5u | yolov5nu , yolov5su , yolov5mu , yolov5lu , yolov5xu , yolov5n6u , yolov5s6u , yolov5m6u , yolov5l6u , yolov5x6u |
Обнаружение объектов | ✅ | ✅ | ✅ | ✅ |
В этой таблице представлен подробный обзор вариантов моделей YOLOv5u, подчеркивающий их применимость в задачах обнаружения объектов и поддержку различных режимов работы, таких как "Вывод", "Проверка", "Обучение" и "Экспорт". Благодаря такой комплексной поддержке пользователи могут полностью использовать возможности моделей YOLOv5u в широком спектре сценариев обнаружения объектов.
Показатели производительности
Производительность
Примеры использования этих моделей, обученных на COCO и включающих 80 предварительно обученных классов, см. в Документах по обнаружению.
Модель | YAML | размер (пикселей) |
mAPval 50-95 |
Скорость CPU ONNX (мс) |
Скорость A100 TensorRT (мс) |
params (M) |
FLOPs (B) |
---|---|---|---|---|---|---|---|
yolov5nu.pt | yolov5n.yaml | 640 | 34.3 | 73.6 | 1.06 | 2.6 | 7.7 |
yolov5su.pt | yolov5s.yaml | 640 | 43.0 | 120.7 | 1.27 | 9.1 | 24.0 |
yolov5mu.pt | yolov5m.yaml | 640 | 49.0 | 233.9 | 1.86 | 25.1 | 64.2 |
yolov5lu.pt | yolov5l.yaml | 640 | 52.2 | 408.4 | 2.50 | 53.2 | 135.0 |
yolov5xu.pt | yolov5x.yaml | 640 | 53.2 | 763.2 | 3.81 | 97.2 | 246.4 |
yolov5n6u.pt | yolov5n6.yaml | 1280 | 42.1 | 211.0 | 1.83 | 4.3 | 7.8 |
yolov5s6u.pt | yolov5s6.yaml | 1280 | 48.6 | 422.6 | 2.34 | 15.3 | 24.6 |
yolov5m6u.pt | yolov5m6.yaml | 1280 | 53.6 | 810.9 | 4.36 | 41.2 | 65.7 |
yolov5l6u.pt | yolov5l6.yaml | 1280 | 55.7 | 1470.9 | 5.47 | 86.1 | 137.4 |
yolov5x6u.pt | yolov5x6.yaml | 1280 | 56.8 | 2436.5 | 8.98 | 155.4 | 250.7 |
Примеры использования
В этом примере приведены простые примеры обучения и вывода YOLOv5 . Полную документацию по этим и другим режимам можно найти на страницах Predict, Train, Val и Export docs.
Пример
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")
CLI Команды доступны для прямого запуска моделей:
Цитаты и благодарности
Ultralytics YOLOv5 Публикация
Ultralytics не публиковала официальных научных работ по YOLOv5 из-за быстро развивающейся природы моделей. Мы сосредоточены на развитии технологии и упрощении ее использования, а не на создании статической документации. Самую свежую информацию об архитектуре, возможностях и использовании YOLO вы можете найти в нашем репозитории на GitHub и в документации.
Если вы используете YOLOv5 или YOLOv5u в своих исследованиях, пожалуйста, ссылайтесь на репозиторий Ultralytics YOLOv5 следующим образом:
Обратите внимание, что модели YOLOv5 предоставляются по AGPL-3.0 и лицензиями Enterprise.
ЧАСТО ЗАДАВАЕМЫЕ ВОПРОСЫ
Что такое Ultralytics YOLOv5u и чем он отличается от YOLOv5?
Ultralytics YOLOv5u - это усовершенствованная версия YOLOv5, включающая в себя безъякорную и безобъектную расщепленную головку, которая улучшает компромисс между точностью и скоростью для задач обнаружения объектов в реальном времени. В отличие от традиционного YOLOv5, YOLOv5u использует механизм безъякорного обнаружения, что делает его более гибким и адаптивным в различных сценариях. Для получения более подробной информации о его функциях вы можете ознакомиться с обзоромYOLOv5 .
Как безъякорная головка Ultralytics повышает производительность обнаружения объектов в YOLOv5u?
Безъякорная головка Ultralytics в YOLOv5u повышает эффективность обнаружения объектов, устраняя зависимость от предопределенных якорных блоков. Это приводит к созданию более гибкого и адаптивного механизма обнаружения, который может работать с объектами различных размеров и форм с большей эффективностью. Это улучшение напрямую способствует сбалансированному соотношению между точностью и скоростью, что делает YOLOv5u подходящим для приложений реального времени. Подробнее о его архитектуре читайте в разделе " Ключевые особенности".
Можно ли использовать предварительно обученные модели YOLOv5u для разных задач и режимов?
Да, вы можете использовать предварительно обученные модели YOLOv5u для различных задач, таких как обнаружение объектов. Эти модели поддерживают несколько режимов, в том числе "Вывод", "Проверка", "Обучение" и "Экспорт". Такая гибкость позволяет пользователям использовать возможности моделей YOLOv5u в различных операционных требованиях. Подробный обзор можно найти в разделе " Поддерживаемые задачи и режимы ".
Как соотносятся показатели производительности моделей YOLOv5u на разных платформах?
Показатели производительности моделей YOLOv5u зависят от используемой платформы и аппаратного обеспечения. Например, модель YOLOv5nu достигает 34,3 mAP на наборе данных COCO со скоростью 73,6 мс на CPU (ONNX) и 1,06 мс на A100 TensorRT. Подробные показатели производительности для различных моделей YOLOv5u можно найти в разделе " Показатели производительности", где представлено комплексное сравнение для различных устройств.
Как обучить модель YOLOv5u с помощью Ultralytics Python API?
Вы можете обучить модель YOLOv5u, загрузив предварительно обученную модель и выполнив команду обучения с вашим набором данных. Вот быстрый пример:
Пример
Более подробные инструкции можно найти в разделе Примеры использования.