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

YOLO11 vs YOLOv5: Эволюция современного detect объектов

Эволюция detect объектов в реальном времени была в значительной степени сформирована серией Ultralytics YOLO. YOLOv5, выпущенная в 2020 году, установила глобальный стандарт простоты использования, скорости и надежности, став одной из наиболее широко развернутых моделей AI в истории. YOLO11, последняя итерация, опирается на этот легендарный фундамент, обеспечивая беспрецедентную точность, эффективность и универсальность.

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

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

Разрыв в производительности между YOLO11 и YOLOv5 подчеркивает быстрый прогресс в проектировании нейронных сетей. Хотя YOLOv5 остается способной моделью, YOLO11 стабильно превосходит ее по всем масштабам моделей, особенно с точки зрения скорости inference на CPU и accuracy detect.

Ключевые показатели производительности

В таблице ниже представлено прямое сравнение на наборе данных COCO. Важным наблюдением является эффективность YOLO11n, которая достигает 39,5 mAP, значительно превосходя 28,0 mAP YOLOv5n, а также работает быстрее на оборудовании CPU.

Модельразмер
(пиксели)
mAPval
50-95
Скорость
CPU ONNX
(мс)
Скорость
T4 TensorRT10
(мс)
параметры
(M)
FLOPs
(B)
YOLO11n64039.556.11.52.66.5
YOLO11s64047.090.02.59.421.5
YOLO11m64051.5183.24.720.168.0
YOLO11l64053.4238.66.225.386.9
YOLO11x64054.7462.811.356.9194.9
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

Точность и эффективность

YOLO11 представляет собой сдвиг парадигмы в компромиссе между «эффективностью и точностью».

  • Обнаружение малых объектов: YOLO11 значительно улучшает обнаружение малых объектов по сравнению с YOLOv5, благодаря усовершенствованным слоям извлечения признаков.
  • Вычислительная эффективность: YOLO11l достигает 53.4 mAP, имея всего 25.3M параметров. В отличие от этого, YOLOv5l требует 53.2M параметров для достижения более низкого mAP в 49.0. Это сокращение параметров на 50% при более высокой точности приводит к снижению использования памяти и ускорению времени обучения.

Без якорей и на основе якорей

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

YOLO11 использует anchor-free дизайн. Это устраняет необходимость в ручном расчете anchor box, упрощает конвейер обучения и улучшает обобщение на различных наборах данных без настройки гиперпараметров.

Архитектура и дизайн модели

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

YOLOv5: Проверенный стандарт

YOLOv5 представила удобную реализацию на PyTorch, которая сделала object detection доступной для широких масс.

  • Backbone: Использует модифицированный CSPDarknet53, который очень эффективен, но вычислительно более тяжелый, чем современные альтернативы.
  • Фокус: Приоритет отдавался балансу скорости и точности, что было революционным на момент выпуска в 2020 году.
  • Устаревшие: Он остается «безопасным выбором» для систем, уже глубоко интегрированных с его конкретными форматами ввода/вывода.

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

YOLO11: Передовые технологии

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

  • C3k2 Block: Эволюция CSP bottleneck, этот блок обеспечивает более эффективный поток градиентов и объединение признаков.
  • C2PSA Module: Вводит механизмы пространственного внимания, позволяя модели сосредотачиваться на критических областях изображения для лучшей локализации объектов.
  • Multi-Task Head: В отличие от YOLOv5, которая требует отдельных веток моделей для разных задач, YOLO11 изначально поддерживает Object Detection, Instance Segmentation, Pose Estimation, Oriented Bounding Boxes (OBB) и Classification в унифицированной структуре.

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

Таблица сравнения: технические характеристики

ФункциональностьYOLOv5YOLO11
АрхитектураCSPDarknet BackboneУлучшенная базовая сеть с C3k2 и C2PSA
Обнаружение HeadНа основе якорейБез якорей
ЗадачиОбнаружение, Сегментация, КлассификацияОбнаружение, Сегментация, Классификация, Определение позы, OBB, Отслеживание
ЛицензияAGPL-3.0AGPL-3.0
Дата выпускаИюнь 2020Сентябрь 2024
Простота использованияВысокий (Командная строка и PyTorch Hub)Очень высокий (унифицированный python SDK и CLI)

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

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

Эффективность обучения

YOLO11 разработан для более быстрого обучения и более быстрой сходимости, чем YOLOv5.

  • Умные настройки по умолчанию: Движок Ultralytics автоматически настраивает гиперпараметры на основе набора данных и размера модели, уменьшая необходимость в ручной настройке гиперпараметров.
  • Использование памяти: Благодаря уменьшенному количеству параметров, модели YOLO11 обычно потребляют меньше GPU VRAM во время обучения, что позволяет использовать большие размеры пакетов на потребительском оборудовании.

Пример кода: Обучение YOLO11

Обучение YOLO11 упрощено с использованием ultralytics Пакет Python. В следующем примере показано, как обучить модель YOLO11n на наборе данных COCO8.

from ultralytics import YOLO

# Load a pre-trained YOLO11n model
model = YOLO("yolo11n.pt")

# Train the model
# The device argument can be 'cpu', 0 for GPU, or [0, 1] for multi-GPU
results = model.train(data="coco8.yaml", epochs=100, imgsz=640, device=0)

Интеграция в экосистему

Хотя YOLOv5 имеет обширную коллекцию сторонних учебных пособий из-за своего возраста, YOLO11 изначально интегрирован в современный пакет Ultralytics. Это обеспечивает немедленный доступ к расширенным функциям:

  • Экспорт в один клик: Экспорт в ONNX, OpenVINO, TensorRT и CoreML с помощью одной команды.
  • Отслеживание: Встроенная поддержка object tracking (BoT-SORT, ByteTrack) без внешних репозиториев.
  • Explorer: Используйте API Ultralytics Explorer для визуализации ваших наборов данных и запроса к ним с помощью SQL и семантического поиска.

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

Выбор правильной модели зависит от конкретных ограничений и требований вашего проекта.

Когда следует выбирать YOLO11

YOLO11 — это рекомендуемый выбор для 95% новых проектов.

  1. Новые разработки: Если вы начинаете с нуля, YOLO11 предлагает лучшую перспективность, точность и скорость.
  2. Развертывание на CPU: Для периферийных устройств, работающих на CPU (например, Raspberry Pi, мобильные телефоны), YOLO11n значительно быстрее и точнее, чем YOLOv5n.
  3. Сложные задачи: Проекты, требующие оценку позы или OBB (например, аэрофотосъемка, анализ документов), изначально поддерживаются YOLO11.
  4. Облако и сервер: Высокая пропускная способность YOLO11 делает его идеальным для обработки массивных видеопотоков в реальном времени.

Когда следует остаться с YOLOv5

YOLOv5 остается жизнеспособным вариантом для конкретных устаревших сценариев.

  1. Устаревшее обслуживание: Если у вас есть производственная система, тесно связанная с конкретной кодовой базой или форматом вывода YOLOv5.
  2. Специфическая аппаратная настройка: Некоторые старые встроенные ускорители могут иметь высокооптимизированную прошивку, специально проверенную для слоев YOLOv5 (хотя большинство современных сред выполнения, таких как OpenVINO, теперь отдают предпочтение более новым архитектурам).
  3. Академический базис: Исследователи, сравнивающие с историческими базовыми показателями, часто ссылаются на YOLOv5 из-за ее давнего присутствия в литературе.

Переход на YOLO11

Переход с YOLOv5 на YOLO11 не представляет сложности. Формат набора данных (YOLO TXT) остается идентичным, что означает, что вы можете повторно использовать существующие аннотированные наборы данных без изменений. Структура Python API также очень похожа, часто требуя только изменения строки имени модели (например, с yolov5su.pt в yolo11n.pt внутри ultralytics пакет).

Изучение других вариантов

Ultralytics поддерживает широкий спектр моделей, помимо YOLO11 и YOLOv5. В зависимости от ваших конкретных потребностей, вы можете рассмотреть:

  • YOLOv8: Непосредственный предшественник YOLO11, предлагающий отличный баланс функций и широкое распространение в отрасли.
  • YOLOv10: Архитектура, ориентированная на обучение без NMS для снижения задержки в конкретных приложениях реального времени.
  • RT-DETR: Детектор на основе трансформера, который отличается высокой точностью в случаях, когда скорость логического вывода менее важна, чем максимальная точность.
  • YOLOv9: Известен своей концепцией программируемой градиентной информации (PGI), обеспечивающей высокую производительность в сложных задачах обнаружения.

Заключение

Переход от YOLOv5 к YOLO11 знаменует собой важную веху в истории компьютерного зрения. YOLOv5 демократизировала AI, сделав object detection доступным для всех. YOLO11 совершенствует это видение, предоставляя модель, которая быстрее, легче и точнее.

Для разработчиков, стремящихся к абсолютно лучшей производительности на ватт и самому универсальному набору функций, YOLO11 — явный победитель. Его интеграция в активную экосистему Ultralytics гарантирует, что у вас есть доступ к новейшим инструментам, простым API и процветающему сообществу для поддержки вашего пути в области ИИ.

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


Комментарии