Перейти к содержимому

YOLOv5

Обзор

YOLOv5u представляет собой прогресс в методологии обнаружения объектов. Возникнув на основе фундаментальной архитектуры YOLOv5Ultralytics , YOLOv5u интегрирует безъякорную и безобъектную раздвоенную голову - функцию, ранее представленную в YOLOv8 модели. Эта адаптация улучшает архитектуру модели, что приводит к улучшению компромисса между точностью и скоростью в задачах обнаружения объектов. Учитывая эмпирические результаты и выведенные особенности, YOLOv5u представляет собой эффективную альтернативу для тех, кто ищет надежные решения как в исследовательских, так и в практических приложениях.

Ultralytics YOLOv5

Основные характеристики

  • Безъякорный сплит 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 Для непосредственного запуска моделей доступны команды:

# Load a COCO-pretrained YOLOv5n model and train it on the COCO8 example dataset for 100 epochs
yolo train model=yolov5n.pt data=coco8.yaml epochs=100 imgsz=640

# Load a COCO-pretrained YOLOv5n model and run inference on the 'bus.jpg' image
yolo predict model=yolov5n.pt source=path/to/bus.jpg

Цитаты и благодарности

Если ты используешь 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.



Создано 2023-11-12, Обновлено 2024-04-17
Авторы: glenn-jocher (9)

Комментарии