YOLOv5 и YOLO11#
При выборе подходящей архитектуры компьютерного зрения для нового проекта крайне важно понимать развитие передовых моделей. Переход от более ранних архитектур к современным унифицированным фреймворкам демонстрирует значительный прогресс как в алгоритмической эффективности, так и в удобстве работы разработчиков. В этом руководстве приводится подробное техническое сравнение двух знаковых моделей, разработанных Ultralytics: новаторской YOLOv5 и значительно усовершенствованной YOLO11.
Введение в модели#
Обе эти архитектуры стали важными вехами в области обнаружения объектов в реальном времени и предлагают различные преимущества в зависимости от среды развертывания и требований к совместимости с существующими системами.
YOLOv5: рабочая лошадка отрасли#
Выпущенная летом 2020 года, YOLOv5 быстро стала отраслевым стандартом благодаря собственной реализации на PyTorch, которая значительно снизила порог входа для обучения и развертывания. Она отказалась от сложных фреймворков на C Darknet, использовавшихся в предыдущих моделях, и предложила подход к созданию моделей в стиле Python.
- Авторы: Glenn Jocher
- Организация: Ultralytics
- Дата: 2020-06-26
- GitHub: ultralytics/yolov5
- Документация: Документация YOLOv5
YOLOv5 задала надежную базовую планку удобства использования и внедрила мощные методики обучения, включая продвинутую мозаичную аугментацию данных и автоматический подбор якорей. Она по-прежнему чрезвычайно популярна среди исследователей, создающих решения на основе хорошо документированной и тщательно протестированной кодовой базы.
YOLO11: унифицированный фреймворк компьютерного зрения#
Опираясь на многолетние отзывы и исследования архитектур, YOLO11 была представлена как часть унифицированного фреймворка, изначально поддерживающего несколько задач компьютерного зрения. Выйдя за рамки одних лишь ограничивающих рамок, она была с нуля разработана для максимальной универсальности и эффективности.
- Авторы: Glenn Jocher и Jing Qiu
- Организация: Ultralytics
- Дата: 2024-09-27
- GitHub: ultralytics/ultralytics
- Документация: Документация по YOLO11
YOLO11 обеспечивает упрощенный пользовательский интерфейс благодаря Python-пакету ultralytics, предлагая простой API, объединяющий обнаружение объектов, сегментацию экземпляров, классификацию, оценку позы и ориентированные ограничивающие рамки (OBB). Модель обеспечивает особенно удачный баланс между скоростью и точностью, что делает ее идеальной для разнообразных сценариев развертывания в реальных условиях.
Обе модели получают преимущества от тщательно поддерживаемой экосистемы, предоставляемой Ultralytics Platform. Эта интегрированная среда упрощает разметку датасетов, облачное обучение и экспорт моделей для различных аппаратных платформ.
Сравнение производительности и метрик#
Прямое сравнение этих моделей показывает, как усовершенствования архитектуры приводят к ощутимому росту производительности. В таблице ниже представлены средняя точность (mAP), измеренная на датасете COCO, а также скорости инференса на CPU и GPU и количество параметров.
| Модель | размер (пиксели) | mAPval 50-95 | Скорость CPU ONNX (мс) | Скорость T4 TensorRT10 (мс) | параметры (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv5n | 640 | 28.0 | 73.6 | 1.12 | 2.6 | 7.7 |
| YOLOv5s | 640 | 37.4 | 120.7 | 1.92 | 9.1 | 24.0 |
| YOLOv5m | 640 | 45.4 | 233.9 | 4.03 | 25.1 | 64.2 |
| YOLOv5l | 640 | 49.0 | 408.4 | 6.61 | 53.2 | 135.0 |
| YOLOv5x | 640 | 50.7 | 763.2 | 11.89 | 97.2 | 246.4 |
| YOLO11n | 640 | 39.5 | 56.1 | 1.5 | 2.6 | 6.5 |
| YOLO11s | 640 | 47.0 | 90.0 | 2.5 | 9.4 | 21.5 |
| YOLO11m | 640 | 51.5 | 183.2 | 4.7 | 20.1 | 68.0 |
| YOLO11l | 640 | 53.4 | 238.6 | 6.2 | 25.3 | 86.9 |
| YOLO11x | 640 | 54.7 | 462.8 | 11.3 | 56.9 | 194.9 |
Анализ результатов#
Метрики демонстрируют явный скачок в балансе производительности, достигнутом YOLO11. Например, модель YOLO11n (nano) достигает 39,5% mAP по сравнению с 28,0% у YOLOv5n, одновременно сокращая время инференса на CPU при экспорте через ONNX. Кроме того, YOLO11 требует значительно меньше памяти во время обучения по сравнению с тяжелыми моделями на базе Transformer, что делает ее особенно доступной для развертывания на потребительском оборудовании и периферийных устройствах.
Архитектурные различия#
Повышение производительности YOLO11 обусловлено несколькими ключевыми эволюционными изменениями архитектуры. Если в YOLOv5 использовалась стандартная основа CSPNet с модулями C3, то в YOLO11 появились более эффективные блоки извлечения признаков, такие как C2f, а позднее C3k2, которые оптимизируют прохождение градиентов и снижают вычислительные затраты.
В YOLO11 также используется значительно усовершенствованная голова модели. Отказавшись от якорной конструкции старых моделей, более новые архитектуры Ultralytics применяют безъякорный подход. Это сокращает количество предсказаний рамок, упрощает конвейер постобработки и повышает способность модели обобщать данные при разных масштабах и соотношениях сторон. Кроме того, эти модели обеспечивают более высокую эффективность обучения и предлагают готовые предобученные веса, ускоряющие сходимость дообучаемых датасетов.
Реализация и примеры кода#
Одна из ключевых особенностей экосистемы Ultralytics — простота. Если YOLOv5 популяризировала использование torch.hub для быстрого инференса, то YOLO11 развивает эту идею благодаря унифицированному Python-пакету ultralytics.
Обучение с YOLO11#
Для загрузки, обучения и валидации модели требуется минимум шаблонного кода. API автоматически и удобно обрабатывает настройку гиперпараметров и управление моделями.
from ultralytics import YOLO
# Load a pretrained YOLO11 model
model = YOLO("yolo11s.pt")
# Train on a custom dataset for 50 epochs
results = model.train(data="coco8.yaml", epochs=50, imgsz=640)
# Run fast inference and display results
predictions = model("https://ultralytics.com/images/bus.jpg")
predictions[0].show()
# Easily export the model to TensorRT for hardware acceleration
model.export(format="engine")Устаревший инференс с YOLOv5#
Если ты поддерживаешь старый конвейер, YOLOv5 напрямую интегрируется со встроенным механизмом загрузки PyTorch, поэтому ее легко добавить в существующие скрипты инференса.
import torch
# Load a custom or pretrained YOLOv5 model from PyTorch Hub
model = torch.hub.load("ultralytics/yolov5", "yolov5s")
# Perform inference on an image URL
results = model("https://ultralytics.com/images/zidane.jpg")
# Print prediction details to the console
results.print()Обе модели поддерживают множество форматов экспорта. Независимо от того, нацеливаешься ли ты на NVIDIA Jetson с использованием TensorRT или на приложение для iOS с использованием CoreML, процесс развертывания подробно документирован и поддерживается сообществом.
Идеальные сценарии использования#
Выбор между этими моделями в основном зависит от этапа жизненного цикла проекта и конкретных требований.
Когда стоит выбрать YOLOv5#
- Поддержка устаревших кодовых баз: если твоя рабочая среда сильно адаптирована под структуру репозитория YOLOv5 или конкретные методы эволюции гиперпараметров.
- Академические базовые модели: когда публикуется исследование, требующее прямого сравнения с устоявшимися стандартами компьютерного зрения 2020–2022 годов.
Когда выбирать YOLO11#
- Многозадачные проекты: когда приложению требуется сочетание таких задач, как оценка позы и сегментация экземпляров, с использованием единого унифицированного API.
- Развертывание на периферии: для сценариев периферийных вычислений, где критически важно получить максимальное значение mAP при заданном вычислительном бюджете (FLOPs).
- Коммерческие решения на базе ИИ: идеальный вариант для корпоративных приложений в розничной торговле и сфере безопасности с надежной поддержкой Ultralytics Platform.
Следующее поколение: Ultralytics YOLO26#
Хотя YOLO11 обеспечивает превосходный баланс скорости и точности, область искусственного интеллекта развивается стремительно. Разработчикам, которые начинают новые проекты сегодня, мы настоятельно рекомендуем изучить новейший стандарт в области ИИ для компьютерного зрения: Ultralytics YOLO26.
Выпущенная в январе 2026 года, YOLO26 представляет кардинальные усовершенствования, разработанные специально для современных требований к развертыванию:
- Сквозная архитектура без NMS: развивая концепции, впервые предложенные в YOLOv10, YOLO26 изначально работает по сквозному принципу. Она устраняет необходимость в постобработке с подавлением немаксимумов (NMS), значительно упрощая конвейеры развертывания и сокращая задержку.
- Оптимизатор MuSGD: вдохновленный инновациями в обучении LLM из таких моделей, как Kimi K2 от Moonshot AI, этот гибрид SGD и Muon обеспечивает исключительно стабильное обучение и значительно более быструю сходимость.
- Беспрецедентная скорость на CPU: благодаря удалению распределительной фокальной функции потерь (DFL) YOLO26 обеспечивает до 43% более быстрый инференс на CPU, что делает ее безусловно лучшим выбором для периферийных устройств и сред без выделенных GPU.
- Продвинутые функции потерь: интеграция ProgLoss и STAL заметно улучшает распознавание небольших объектов, что критически важно для анализа данных с дронов, IoT и робототехники.
- Улучшения для конкретных задач: модель внедряет специализированные оптимизации, такие как оценка остаточного логарифма правдоподобия (RLE) для позы и специализированная функция потерь угла для ориентированных ограничивающих рамок, обеспечивая превосходную производительность во всех задачах компьютерного зрения.
Если тебя интересуют специализированные архитектуры, выходящие за рамки стандартного обнаружения объектов, ты также можешь изучить такие модели, как RT-DETR для обнаружения на базе Transformer или YOLO-World для трекинга и обнаружения объектов с открытым словарем. Использование этих хорошо поддерживаемых и высокооптимизированных инструментов помогает сохранять эффективность, масштабируемость и актуальность конвейеров компьютерного зрения.