YOLOv5 против DAMO-YOLO#
Среда computer vision реального времени постоянно развивается, а исследователи и инженеры стремятся к идеальному балансу точности, скорости и удобства. Две заметные модели, сформировавшие этот путь, — это Ultralytics YOLOv5 и DAMO-YOLO от Alibaba.
Это руководство содержит глубокий технический анализ их архитектур, метрик производительности и методологий обучения, чтобы помочь тебе выбрать правильную модель для твоего следующего проекта.
История моделей#
Прежде чем погружаться в технические нюансы, важно понять истоки и основные концепции дизайна каждой из этих влиятельных моделей компьютерного зрения.
Ultralytics YOLOv5#
Разработанная Гленном Джочером (Glenn Jocher) и командой Ultralytics, модель YOLOv5 стала отраслевым стандартом с момента своего выпуска. Созданная на базе фреймворка PyTorch, она с самого начала обеспечивала удобство для разработчиков и надежные возможности развертывания.
- Автор: Гленн Джочер
- Организация: Ultralytics
- Дата: 2020-06-26
- GitHub: https://github.com/ultralytics/yolov5
- Документация: Ultralytics YOLOv5 Documentation
DAMO-YOLO#
Созданная исследователями Alibaba Group, модель DAMO-YOLO делает большой упор на нейроархитектурный поиск (NAS) и передовые методы дистилляции. Она расширяет теоретические границы производительности под конкретное оборудование, что делает ее востребованной в исследованиях и периферийных средах, требующих тонкой настройки.
- Авторы: Xianzhe Xu, Yiqi Jiang, Weihua Chen, Yilun Huang, Yuan Zhang и Xiuyu Sun
- Организация: Alibaba Group
- Дата: 23.11.2022
- Arxiv: https://arxiv.org/abs/2211.15444v2
- GitHub: https://github.com/tinyvision/DAMO-YOLO
Архитектурные инновации#
Обе модели используют уникальные структурные концепции для достижения производительности в реальном времени, хотя их подходы существенно различаются.
YOLOv5: стабильность и универсальность#
В YOLOv5 используется бэкбон Modified CSP (Cross Stage Partial) в паре с нэком PANet (Path Aggregation Network). Эта структура отличается высокой эффективностью и минимизирует использование памяти CUDA как при обучении, так и при инференсе.
Одно из главных достоинств YOLOv5 — ее versatility across tasks. Помимо предсказания ограничивающих прямоугольников, она предлагает специализированные архитектуры для image segmentation и image classification, что позволяет разработчикам стандартизировать свои пайплайны компьютерного зрения вокруг единого целостного фреймворка.
DAMO-YOLO: автоматизированный поиск архитектуры#
Ключевая инновация DAMO-YOLO — это бэкенд MAE-NAS. Используя эволюционный поиск по нескольким критериям, команда Alibaba нашла архитектуры, которые динамически балансируют точность детектирования и скорость инференса.
Кроме того, в ней используется нэк Efficient RepGFPN для улучшенного слияния признаков, что крайне полезно при сложных вариациях масштаба, часто встречающихся в satellite imagery analysis. Дизайн ZeroHead упрощает конечные слои предсказаний для снижения задержки, хотя такая сложная генерация структуры может делать архитектуру жесткой и более сложной для модификации в пользовательских приложениях.
Архитектуры на основе Transformer часто сталкиваются с высоким потреблением VRAM. Как YOLOv5, так и DAMO-YOLO используют эффективные сверточные решения для снижения объема потребляемой памяти, но модели Ultralytics заметно лучше оптимизированы для потребительских GPU, что делает их гораздо более доступными для независимых исследователей и стартапов.
Производительность и метрики#
Оценка детекторов объектов в реальном времени требует анализа матрицы mAP (средняя точность), скорости инференса и параметров размера модели.
| Модель | размер (пиксели) | 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 |
| DAMO-YOLOt | 640 | 42.0 | - | 2.32 | 8.5 | 18.1 |
| DAMO-YOLOs | 640 | 46.0 | - | 3.45 | 16.3 | 37.8 |
| DAMO-YOLOm | 640 | 49.2 | - | 5.09 | 28.2 | 61.8 |
| DAMO-YOLOl | 640 | 50.8 | - | 7.18 | 42.1 | 97.3 |
В то время как DAMO-YOLO достигает очень конкурентоспособных оценок mAP при определенных количествах параметров, YOLOv5 стабильно демонстрирует исключительные скорости TensorRT и невероятно малое количество параметров для конфигураций nano и small. Такой баланс производительности гарантирует, что YOLOv5 эффективно работает в различных сценариях периферийного развертывания.
Эффективность обучения и экосистема#
Теоретическая точность модели хороша ровно настолько, насколько она практически реализуема. Именно здесь пути моделей сильно расходятся.
Сложность дистилляции#
DAMO-YOLO сильно полагается на многоэтапную методологию обучения. Она реализует технику дистилляции знаний «учитель-ученик», известную как AlignedOTA. Хотя это позволяет извлечь максимальную производительность из модели-ученика, для этого сначала нужно обучить массивную модель-учитель. Это значительно увеличивает время вычислений, энергозатраты и требования к оборудованию, создавая «бутылочное горлышко» для гибких команд ML.
Преимущество Ultralytics: простота использования#
И наоборот, Ultralytics ecosystem всемирно известна своими интуитивно понятными API и training efficiency. Благодаря активной разработке и огромному сообществу открытого исходного кода разработчики могут беспрепятственно обучать, валидировать и развертывать модели.
from ultralytics import YOLO
# Load a pretrained YOLOv5 model
model = YOLO("yolov5s.pt")
# Train on a custom dataset effortlessly
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Export to ONNX format for deployment
model.export(format="onnx")Ultralytics также обеспечивает встроенную поддержку experiment tracking с помощью таких инструментов, как Weights & Biases и Comet ML, создавая бесшовный рабочий процесс.
Реальные сценарии использования#
- YOLOv5 превосходно работает в динамичных производственных средах. Простая экспортируемость делает ее главным выбором для smart retail analytics, высокоскоростного обнаружения дефектов на производстве и интеграции в мобильные приложения с помощью CoreML.
- DAMO-YOLO отлично подходит для строгого академического бенчмаркинга и сценариев, где доступны огромные вычислительные ресурсы для выполнения длительных, дистиллированных циклов обучения, нацеленных на получение незначительных улучшений mAP для специфических, фиксированных целевых устройств.
Сценарии использования и рекомендации#
Выбор между YOLOv5 и DAMO-YOLO зависит от твоих специфических требований к проекту, ограничений при развертывании и предпочтений в экосистеме.
Когда стоит выбрать YOLOv5#
YOLOv5 — отличный выбор для:
- Проверенных производственных систем: существующих развертываний, где ценятся долгая история стабильности YOLOv5, обширная документация и огромная поддержка сообщества.
- Обучения с ограниченными ресурсами: сред с ограниченными ресурсами GPU, где эффективный конвейер обучения YOLOv5 и более низкие требования к памяти являются преимуществом.
- Широкая поддержка форматов экспорта: Проекты, требующие развертывания во многих форматах, включая ONNX, TensorRT, CoreML и TFLite.
Когда выбирать DAMO-YOLO#
DAMO-YOLO рекомендуется для:
- Высокопроизводительной видеоаналитики: обработки видеопотоков с высоким FPS на фиксированной инфраструктуре NVIDIA GPU, где пропускная способность при batch-1 является основной метрикой.
- Промышленных производственных линий: сценариев с жесткими ограничениями по задержке GPU на специализированном оборудовании, таких как проверка качества в реальном времени на сборочных линиях.
- Исследований Neural Architecture Search: изучения влияния автоматизированного поиска архитектуры (MAE-NAS) и эффективных репараметризованных бэкендов на производительность детекции.
Когда выбирать Ultralytics (YOLO26)#
Для большинства новых проектов Ultralytics YOLO26 предлагает наилучшее сочетание производительности и удобства для разработчика:
- Развертывания на периферии без NMS: приложений, требующих стабильного вывода с низкой задержкой без сложности постобработки подавления немаксимумов.
- Среды только с CPU: устройств без выделенного GPU-ускорения, где до 43% более быстрый вывод на CPU у YOLO26 дает решающее преимущество.
- Обнаружение малых объектов: Сложные сценарии, такие как aerial drone imagery или анализ с помощью IoT-сенсоров, где ProgLoss и STAL значительно повышают точность для крошечных объектов.
Следующая эволюция: YOLO26#
Если ты начинаешь новый проект, настоятельно рекомендую взглянуть в будущее. Ultralytics YOLO26 построена на невероятном фундаменте YOLOv5, включая революционные достижения, которые меняют представление о современном AI в компьютерном зрении.
Выпущенная под всеобщее одобрение, YOLO26 является нативно end-to-end моделью. Она оснащена дизайном End-to-End NMS-Free, полностью исключающим постобработку Non-Maximum Suppression для существенно более быстрого и простого развертывания.
Ключевые инновации в YOLO26 включают:
- Оптимизатор MuSGD: Вдохновленный инновациями в обучении LLM, этот гибрид SGD и Muon обеспечивает высокую стабильность обучения и быструю сходимость.
- До 43% быстрее инференс на CPU: Значительно оптимизировано для периферийных вычислений, что делает ее идеальной для IoT-устройств, работающих без выделенных GPU.
- ProgLoss + STAL: Передовые функции потерь, которые кардинально улучшают распознавание мелких объектов, что критически важно для aerial drone imagery и робототехники.
- Усовершенствования для конкретных задач: От специализированных потерь по углам для Oriented Bounding Boxes (OBB) до оценки остаточного лог-правдоподобия (RLE) для точной Pose estimation — YOLO26 с легкостью справляется со сложными предметными областями.
Заключение#
И YOLOv5, и DAMO-YOLO заняли свое место в истории обнаружения объектов. DAMO-YOLO остается интересным объектом изучения нейроархитектурного поиска и дистилляции. Однако для организаций, которые ценят хорошо поддерживаемую экосистему, простоту использования и быстрый путь до продакшена, модели Ultralytics остаются непревзойденными.
Мы настоятельно рекомендуем использовать Ultralytics Platform для аннотирования, обучения и развертывания нового поколения моделей, таких как YOLO26, чтобы твой пайплайн компьютерного зрения был защищен от устаревания, работал быстро и отличался исключительной точностью.