Ultralytics YOLO27: Запишись в список ожидания.
Get Started

YOLO11 и YOLOv5#

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

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

Происхождение моделей и технические особенности#

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

Подробнее о YOLO11#

Подробнее о YOLOv5#

Архитектурные различия#

Переход от YOLOv5 к YOLO11 включает несколько архитектурных изменений, которые повышают точность и эффективность по числу параметров.

YOLOv5 — одна из ранних моделей YOLO, изначально созданная на PyTorch, с базовой сетью CSPNet (Cross Stage Partial Network) и связующим блоком PANet (Path Aggregation Network). Она использовала обнаружение на основе якорей, для которого требовались заранее заданные якорные рамки для предсказания границ объектов. Несмотря на высокую эффективность, настройка якорей для пользовательских наборов данных компьютерного зрения могла быть неудобной.

В отличие от неё, YOLO11 использует подход к обнаружению без якорей. Это избавляет от необходимости вручную настраивать якорные рамки, упрощает обучение и улучшает обобщение на разных наборах данных, например на наборе данных COCO. Кроме того, в YOLO11 используется раздельная голова: задачи классификации и регрессии ограничивающих рамок обрабатываются в отдельных ветвях. Такое разделение ускоряет сходимость и повышает среднюю точность (mAP), особенно в сложных сценариях обнаружения объектов.

Показатели производительности и результаты тестирования#

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

Модельразмер
(пиксели)
mAPval50-95Скорость
CPU ONNX
(мс)
Скорость
T4 TensorRT10
(мс)
параметры
(M)
FLOPs
(B)
YOLO11n64039.556.11.52.66.5
YOLO11s64047.090.02.59.421.6
YOLO11m64051.5183.24.720.168.1
YOLO11l64053.4238.66.225.387.2
YOLO11x64054.7462.811.356.9195.3
YOLOv5n64028.0-1.121.94.5
YOLOv5s64037.4-1.927.216.5
YOLOv5m64045.4-4.0321.249.0
YOLOv5l64049.0-6.6146.5109.1
YOLOv5x64050.7-11.8986.7205.7

YOLO11 обеспечивает более высокий mAP на каждом масштабе. Например, YOLO11m достигает 51.5 mAP при 20.1M параметров, а YOLOv5m — 45.4 mAP при 21.2M параметров. YOLOv5n, YOLOv5s и YOLOv5m немного быстрее на T4 TensorRT, но их точность значительно ниже.

Методики обучения и удобство использования#

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

Исторически для работы с YOLOv5 использовались скрипты интерфейса командной строки (CLI) (train.py, detect.py). Несмотря на их функциональность, для прямой интеграции этих скриптов в пользовательские приложения Python часто требовались обходные решения.

YOLO11 создана на основе унифицированного пакета Python ultralytics (представленного вместе с YOLOv8). Его единый API охватывает всё — от обучения до экспорта моделей в такие форматы, как ONNX, OpenVINO и TensorRT, — без дополнительных инструментов.

Упрощённое развёртывание с платформой Ultralytics

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

Сравнение кода#

Вот как обучить YOLO11 с помощью API Python:

from ultralytics import YOLO

# Загрузи предварительно обученную малую модель YOLO11
model = YOLO("yolo11s.pt")

# Обучи модель на пользовательских данных
results = model.train(data="coco8.yaml", epochs=50, imgsz=640, device=0)

# Экспортируй модель в ONNX для развёртывания
model.export(format="onnx")

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

# Clone the repository and run the training script
git clone https://github.com/ultralytics/yolov5
cd yolov5
pip install -r requirements.txt

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

Оптимальные сценарии использования и реальные приложения#

У каждой модели есть свои сильные стороны, подходящие для разных условий эксплуатации.

Когда использовать YOLOv5#

Несмотря на появление нового поколения, YOLOv5 остаётся надёжным решением для:

  • Интеграции с устаревшими системами: Сред, тесно связанных с конкретными структурами тензоров YOLOv5 или конвейерами развёртывания, которые сложно переработать.
  • Академических базовых моделей: Исследователей, которым нужны проверенные временем базовые модели для воспроизводимых научных исследований в области анализа медицинских изображений.

Когда использовать YOLO11#

YOLO11 лучше подходит для современных производственных конвейеров благодаря своей универсальности:

Перспективы: архитектура YOLO26#

YOLO11 остаётся сильной стандартной моделью, но компьютерное зрение продолжает развиваться. Разработчикам, начинающим новые проекты, также стоит рассмотреть Ultralytics YOLO26 (выпущена в январе 2026 года) — актуальную рекомендуемую модель.

YOLO26 создана для оптимизации на периферийных устройствах и масштабирования на предприятиях. Ключевые изменения:

  • Сквозная архитектура без NMS: YOLO26 поддерживает нативный сквозной вывод и пропускает постобработку подавлением немаксимумов (NMS) с помощью nms=False, что упрощает развёртывание и ускоряет его.
  • Удаление DFL: Distribution Focal Loss удалена, чтобы упростить экспорт модели и повысить совместимость с устройствами с низким энергопотреблением.
  • Оптимизатор MuSGD: гибрид SGD и Muon, который переносит стабильность обучения больших языковых моделей (LLM) в компьютерное зрение для более быстрой сходимости.
  • До 43% быстрее инференс на CPU: YOLO26n работает на CPU до 43% быстрее YOLO11n, что подходит для развёртывания решений IoT и устройств без специализированных GPU.
  • ProgLoss + STAL: Прогрессивная функция потерь и назначение меток с учётом малых объектов (STAL) улучшают распознавание небольших объектов, что особенно важно для аэрофотоснимков с дронов.

Итоги#

Выбор между YOLO11 и YOLOv5 в конечном счёте зависит от этапа жизненного цикла твоего проекта. YOLOv5 отличается проверенной стабильностью и большим сообществом. Из этих двух моделей для новых задач лучше подходит YOLO11: она обеспечивает более высокую точность, предлагает более простой API Python и поддерживает больше задач. Чтобы получить наилучшую точность и скорость на CPU, начни с YOLO26 — её также можно обучать и развёртывать на платформе Ultralytics.

Комментарии