YOLOv5 против YOLO11#
При выборе подходящей архитектуры компьютерного зрения для нового проекта критически важно понимать эволюцию современных моделей. Переход от ранних архитектур к современным унифицированным фреймворкам подчеркивает значительные скачки как в алгоритмической эффективности, так и в опыте разработки. Это руководство содержит глубокий технический анализ двух знаковых моделей, разработанных Ultralytics: новаторской YOLOv5 и высокотехнологичной YOLO11.
Введение в модели#
Обе эти архитектуры представляют собой важные вехи в области обнаружения объектов в реальном времени, предлагая различные преимущества в зависимости от среды развертывания и требований к поддержке унаследованных систем.
YOLOv5: Рабочая лошадка индустрии#
Выпущенный летом 2020 года, YOLOv5 быстро стал отраслевым стандартом благодаря своей нативной реализации PyTorch, которая существенно снизила порог входа для обучения и развертывания. Он отошел от сложных фреймворков Darknet C своих предшественников, предложив Python-подход к созданию моделей.
- Авторы: Glenn Jocher
- Организация: Ultralytics
- Дата: 2020-06-26
- GitHub: ultralytics/yolov5
- Документация: YOLOv5 Documentation
YOLOv5 заложила прочную основу для простоты использования и представила мощные методологии обучения, включая продвинутую аугментацию данных мозаикой и авто-анкоринг. Она остается невероятно популярной среди исследователей, создающих решения на базе хорошо документированной и тщательно протестированной кодовой базы.
YOLO11: Унифицированный фреймворк компьютерного зрения#
Основываясь на годах обратной связи и архитектурных исследований, YOLO11 была представлена как часть унифицированного фреймворка, способного нативно обрабатывать несколько задач компьютерного зрения. Выходя за рамки простых ограничивающих рамок, она была разработана с нуля для максимальной универсальности и эффективности.
- Авторы: Glenn Jocher и Jing Qiu
- Организация: Ultralytics
- Дата: 2024-09-27
- GitHub: ultralytics/ultralytics
- Документация: YOLO11 Documentation
YOLO11 предлагает удобный пользовательский интерфейс благодаря пакету Python ultralytics, отличаясь простым API, который объединяет обнаружение объектов, сегментацию экземпляров, классификацию, оценку позы и ориентированные ограничивающие рамки (OBB). Он обеспечивает исключительно выгодный баланс между скоростью и точностью, что делает его идеальным для различных сценариев развертывания в реальных условиях.
Обе модели используют преимущества хорошо поддерживаемой экосистемы, предоставляемой Ultralytics Platform. Эта интегрированная среда упрощает разметку наборов данных, обучение в облаке и экспорт моделей для различных целевых аппаратных платформ.
Сравнение производительности и метрик#
Прямое сравнение этих моделей показывает, как архитектурные усовершенствования трансформируются в ощутимый прирост производительности. Таблица ниже иллюстрирует среднюю точность в ракурсе среднего значения (mAP), оцененную на наборе данных COCO, наряду со скоростью инференса на CPU и GPU, а также количеством параметров.
| Модель | размер (пиксели) | mAPval 50-95 | Скорость CPU ONNX (мс) | Скорость T4 TensorRT10 (мс) | параметры (М) | FLOPs (Б) |
|---|---|---|---|---|---|---|
| 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 использовала стандартный backbone 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 представляет прорывные достижения, разработанные специально для нужд современного развертывания:
- End-to-End дизайн без NMS: Развивая концепции, впервые примененные в YOLOv10, YOLO26 является нативно сквозной (end-to-end). Это исключает необходимость в постобработке Non-Maximum Suppression (NMS), значительно упрощая конвейеры развертывания и снижая задержку.
- Оптимизатор MuSGD: Вдохновленный инновациями в обучении LLM из таких моделей, как Kimi K2 от Moonshot AI, этот гибрид SGD и Muon обеспечивает невероятно стабильное обучение и значительно более быструю сходимость.
- Беспрецедентная скорость на CPU: Удалив Distribution Focal Loss (DFL), YOLO26 достигает до 43% более быстрого вывода на CPU, что делает ее абсолютно лучшим выбором для граничных устройств и сред без выделенных GPU.
- Продвинутые функции потерь: Интеграция ProgLoss и STAL дает заметные улучшения в распознавании мелких объектов, что критически важно для аналитики дронов, интернета вещей (IoT) и робототехники.
- Специализированные улучшения задач: Представляет специализированные оптимизации, такие как Residual Log-Likelihood Estimation (RLE) для позы и специальную потерю угла для ориентированных ограничивающих рамок, обеспечивая превосходную производительность во всех задачах компьютерного зрения.
Для пользователей, интересующихся специализированными архитектурами помимо стандартного детектирования объектов, ты также можешь изучить такие модели, как RT-DETR для детектирования на основе Transformer, или YOLO-World для трекинга и детектирования с открытым словарем. Использование этих хорошо поддерживаемых и высокооптимизированных инструментов гарантирует, что твои конвейеры компьютерного зрения останутся эффективными, масштабируемыми и передовыми.