Перейти к содержанию

YOLOv5 YOLOv8: эволюция технологии обнаружения Ultralytics от Ultralytics

Область компьютерного зрения быстро развивается, в значительной степени благодаря постоянным инновациям в семействе детекторов объектов YOLO You Only Look Once). Двумя наиболее влиятельными версиями в этой линейке являются YOLOv5 и YOLOv8, обе разработанные компанией Ultralytics. В то время как YOLOv5 отраслевой стандарт простоты использования и гибкости после своего выпуска в 2020 году, YOLOv8 выпущенная в 2023 году) представила архитектурные прорывы, которые переопределили современные стандарты производительности.

В этом руководстве представлено подробное техническое сравнение, которое поможет разработчикам, исследователям и инженерам выбрать подходящую модель для конкретных задач, а также освещаются новейшие достижения в этой области, такие как YOLO26.

Ultralytics YOLOv5: Промышленный стандарт

Выпущенный в июне 2020 года, YOLOv5 стал поворотным моментом в демократизации ИИ. В отличие от своих предшественников, которые были написаны преимущественно на языке C (Darknet), YOLOv5 первым нативным PyTorch , что сделало его исключительно доступным для сообщества Python .

Ключевые особенности и архитектура

YOLOv5 своим балансом скорости, точности и удобного дизайна. Его архитектура получила несколько ключевых улучшений по сравнению с YOLOv4:

  • CSPDarknet Backbone: использует межэтапные частичные соединения для улучшения градиентного потока и уменьшения параметров.
  • Автоматическое обучение анкорных блоков: перед началом обучения автоматически определяет оптимальные размеры анкорных блоков для набора пользовательских данных.
  • Мозаичное увеличение данных: метод обучения, который объединяет четыре изображения в одно, улучшая способность модели detect объекты и повышая обобщаемость контекста.

Технические характеристики:

Узнайте больше о YOLOv5

Ultralytics YOLOv8: определение современного уровня развития

Запущенный в январе 2023 года, YOLOv8 представил собой значительный скачок вперед в технологии компьютерного зрения. Он отошел от основанного на анкерах обнаружения, использовавшегося в YOLOv5 дизайну без анкеров, упростив процесс обучения и улучшив обобщение для различных форм объектов.

Архитектурные инновации

YOLOv8 ряд современных технологий, которые повысили как скорость, так и точность:

  • Обнаружение без анкеров: устраняет необходимость в ручной настройке анкерных рамок, напрямую прогнозируя центры объектов. Это сокращает количество прогнозов рамок и ускоряет немаксимальное подавление (NMS).
  • Модуль C2f: заменяет модуль C3 из YOLOv5, обеспечивая более насыщенный градиентный поток и регулируя количество каналов для лучшего извлечения признаков.
  • Разделенная головка: разделяет задачи объектности, классификации и регрессии на разные ветви, позволяя каждой из них сходиться более эффективно.
  • Универсальность задач: разработан с нуля для поддержки не только обнаружения, но и сегментации экземпляров, оценки позы, классификации и OBB (ориентированная ограничивающая рамка).

Технические характеристики:

Узнайте больше о YOLOv8

Сравнение производительности

При сравнении этих двух мощных моделей становится ясно, что YOLOv8 превосходит YOLOv5 как YOLOv5 точности (mAP), так и YOLOv5 задержке на сопоставимом оборудовании. Однако YOLOv5 высокопроизводительной моделью, которая чрезвычайно эффективна для устаревших систем.

В таблице ниже представлены результаты по COCO . Жирным шрифтом выделены лучшие результаты в каждой категории.

Модельразмер
(пиксели)
mAPval
50-95
Скорость
CPU ONNX
(мс)
Скорость
T4 TensorRT10
(мс)
параметры
(M)
FLOPs
(B)
YOLOv5n64028.073.61.122.67.7
YOLOv5s64037.4120.71.929.124.0
YOLOv5m64045.4233.94.0325.164.2
YOLOv5l64049.0408.46.6153.2135.0
YOLOv5x64050.7763.211.8997.2246.4
YOLOv8n64037.380.41.473.28.7
YOLOv8s64044.9128.42.6611.228.6
YOLOv8m64050.2234.75.8625.978.9
YOLOv8l64052.9375.29.0643.7165.2
YOLOv8x64053.9479.114.3768.2257.8

Анализ

YOLOv8n Nano) достигает значительно более высокого mAP 37,3) по сравнению с YOLOv5n (28,0) при лишь незначительном увеличении количества параметров. Это повышение эффективности делает YOLOv8 лучшим YOLOv8 для современных периферийных приложений, где важен каждый процент точности.

Обучение и экосистема

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

Упрощенный рабочий процесс обучения

Переход от YOLOv5 YOLOv8 привел к появлению унифицированного CLI Python , которые поддерживают все задачи. В то время как YOLOv5 на специальные скрипты (например, train.py, detect.py), YOLOv8 последующие модели, такие как YOLO26 используйте модульную структуру пакетов.

YOLOv5 :

python train.py --img 640 --batch 16 --epochs 50 --data coco128.yaml --weights yolov5s.pt

YOLOv8 :

yolo train model=yolov8n.pt data=coco8.yaml epochs=100 imgsz=640

Преимущества Ultralytics

Обе модели легко интегрируются с Ultralytics . Это позволяет пользователям визуализировать процессы обучения, управлять наборами данных и одним щелчком мыши экспортировать модели в такие форматы, как ONNX, TensorRTи CoreML написания сложных скриптов преобразования.

Сценарии использования и рекомендации

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

Идеальные сценарии использования для YOLOv5

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

Идеальные сценарии для YOLOv8

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

Будущее: Ultralytics YOLO26

Хотя YOLOv5 YOLOv8 отличными решениями, эта область продолжает развиваться. Разработчикам, стремящимся к абсолютному пику производительности в 2026 году, мы настоятельно рекомендуем Ultralytics .

Почему стоит выбрать YOLO26? YOLO26 основан на наследии v5 и v8, но в него внесены революционные изменения, повышающие скорость и эффективность:

  • Полная NMS: благодаря устранению необходимости в использовании алгоритма Non-Maximum Suppression (NMS), YOLO26 упрощает логику развертывания и сокращает задержку вывода, концепция, впервые представленная в YOLOv10.
  • MuSGD Optimizer: гибридный оптимизатор, обеспечивающий стабильность обучения LLM для моделей зрения и более быструю конвергенцию.
  • Улучшено для Edge: благодаря удалению DFL и специальным CPU , YOLO26 работает на ЦП на 43 % быстрее по сравнению с предыдущими поколениями.
  • Превосходная детекция мелких объектов: новые функции ProgLoss и STAL значительно улучшают производительность при обнаружении мелких целей, что крайне важно для изображений с дронов и приложений IoT.

Узнайте больше о YOLO26

Заключение

Как YOLOv5 YOLOv8 монументальные достижения в истории компьютерного зрения. YOLOv5 остается надежным, не требующим большого объема памяти инструментом для многих существующих приложений, который ценится за стабильность и низкое потребление ресурсов при обучении. YOLOv8, однако, предлагает превосходную универсальность, более высокую точность и более современную архитектуру, соответствующую текущим тенденциям в области исследований.

Для тех, кто требует передовые технологии и смотрит в будущее YOLO26 или YOLO11 предоставит еще больше преимуществ в скорости и точности. В конечном итоге, надежная Ultralytics гарантирует, что независимо от выбранной модели у вас будут инструменты, документация и поддержка сообщества, необходимые для достижения успеха.

Пример кода: Запуск инференции

Оцените простоту Ultralytics . Этот код работает с моделями YOLOv8, YOLO11 и YOLO26.

from ultralytics import YOLO

# Load a pretrained model (choose yolov8n.pt or yolo26n.pt)
model = YOLO("yolov8n.pt")

# Run inference on an image from the web
results = model("https://ultralytics.com/images/bus.jpg")

# Process results list
for result in results:
    boxes = result.boxes  # Boxes object for bbox outputs
    masks = result.masks  # Masks object for segmentation masks
    keypoints = result.keypoints  # Keypoints object for pose outputs
    probs = result.probs  # Probs object for classification outputs
    result.show()  # display to screen
    result.save(filename="result.jpg")  # save to disk

Для получения более подробной информации об интеграции этих моделей в ваш рабочий процесс посетите наш краткий руководство по началу работы.


Комментарии