YOLOv5
Обзор
YOLOv5u представляет собой прогресс в методологии обнаружения объектов. Возникнув на основе фундаментальной архитектуры YOLOv5Ultralytics , YOLOv5u интегрирует безъякорную и безобъектную раздвоенную голову - функцию, ранее представленную в YOLOv8 модели. Эта адаптация улучшает архитектуру модели, что приводит к улучшению компромисса между точностью и скоростью в задачах обнаружения объектов. Учитывая эмпирические результаты и выведенные особенности, YOLOv5u представляет собой эффективную альтернативу для тех, кто ищет надежные решения как в исследовательских, так и в практических приложениях.
Основные характеристики
-
Безъякорный сплит Ultralytics Head: Традиционные модели обнаружения объектов полагаются на предопределенные якорные коробки для предсказания местоположения объектов. Однако YOLOv5u модернизирует этот подход. Благодаря использованию безъякорной сплит-головки Ultralytics , она обеспечивает более гибкий и адаптивный механизм обнаружения, что повышает производительность в различных сценариях.
-
Оптимизированный компромисс между точностью и скоростью: скорость и точность часто тянут в противоположные стороны. Но YOLOv5u бросает вызов этому компромиссу. Он предлагает выверенный баланс, обеспечивая обнаружение в реальном времени без ущерба для точности. Эта особенность особенно бесценна для приложений, требующих быстрой реакции, таких как автономные транспортные средства, робототехника и видеоаналитика в реальном времени.
-
Разнообразие предварительно обученных моделей: Понимая, что для разных задач требуются разные наборы инструментов, YOLOv5u предоставляет множество предварительно обученных моделей. Независимо от того, на чем ты сосредоточен - на выводе, проверке или обучении, - тебя ждет индивидуально подобранная модель. Такое разнообразие гарантирует, что ты используешь не просто универсальное решение, а модель, специально настроенную под твою уникальную задачу.
Поддерживаемые задачи и режимы
Модели YOLOv5u с различными предварительно обученными весами отлично справляются с задачами обнаружения объектов. Они поддерживают широкий спектр режимов, что делает их подходящими для различных приложений, от разработки до развертывания.
Тип модели | Предварительно обученные веса | Задание | Заключение | Валидация | Тренировка | Экспорт |
---|---|---|---|---|---|---|
YOLOv5u | yolov5nu , yolov5su , yolov5mu , yolov5lu , yolov5xu , yolov5n6u , yolov5s6u , yolov5m6u , yolov5l6u , yolov5x6u |
Обнаружение объектов | ✅ | ✅ | ✅ | ✅ |
В этой таблице представлен подробный обзор вариантов моделей YOLOv5u, подчеркивающий их применимость в задачах обнаружения объектов и поддержку различных режимов работы, таких как Inference, Validation, Training и Export. Такая комплексная поддержка гарантирует, что пользователи смогут полностью использовать возможности моделей YOLOv5u в широком спектре сценариев обнаружения объектов.
Показатели производительности
Производительность
Примеры использования этих моделей, обученных на COCO, см. в Detection Docs, где приведены 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 Для непосредственного запуска моделей доступны команды:
Цитаты и благодарности
Если ты используешь YOLOv5 или YOLOv5u в своих исследованиях, пожалуйста, ссылайся на репозиторий Ultralytics YOLOv5 следующим образом:
Обрати внимание, что модели YOLOv5 предоставляются по AGPL-3.0 и лицензиями Enterprise.