DAMO-YOLO против YOLOv5: Глубокий анализ обнаружения объектов в реальном времени
Эволюция компьютерного зрения ознаменовалась непрерывными инновациями в обнаружении объектов в реальном времени. Сегодня разработчики и исследователи сталкиваются с множеством архитектурных решений при проектировании конвейеров обработки изображений. Это всестороннее техническое сравнение исследует нюансы между DAMO-YOLO и Ultralytics YOLOv5, выделяя их соответствующие архитектуры, методологии обучения, метрики производительности и идеальные сценарии развертывания.
Введение в DAMO-YOLO
Выпущенный Alibaba Group, DAMO-YOLO представил несколько новых методов, направленных на расширение границ скорости и точности обнаружения.
- Авторы: Сяньчжэ Сюй, Ици Цзян, Вэйхуа Чэнь, Илунь Хуан, Юань Чжан и Сююй Сунь
- Организация:Alibaba Group
- Дата: 23 ноября 2022 г.
- Arxiv:2211.15444v2
- GitHub:tinyvision/DAMO-YOLO
- Документация:README.md
Архитектурные инновации
DAMO-YOLO построена на основе Neural Architecture Search (NAS). Авторы использовали MAE-NAS для автоматического проектирования магистральных сетей, которые балансируют между задержкой и точностью. Модель представляет эффективную RepGFPN (перепараметризованную обобщенную пирамидальную сеть признаков), которая улучшает слияние признаков на разных масштабах. Кроме того, DAMO-YOLO включает в себя архитектуру "ZeroHead", которая отказывается от сложных многоветвевых предсказательных голов в пользу более простой и эффективной структуры, активно использующей репараметризацию во время инференса.
Для улучшения обучения модель использует AlignedOTA для назначения меток и интенсивный процесс улучшения дистилляции, где более крупная модель-«учитель» направляет меньшую модель-«ученика» для достижения более высокой точности.
Введение в Ultralytics YOLOv5
Ultralytics YOLOv5 является одной из наиболее широко используемых архитектур компьютерного зрения в мире, известной своей стабильностью, простотой использования и обширной экосистемой развертывания.
- Авторы: Гленн Джокер
- Организация:Ultralytics
- Дата: 26 июня 2020 г.
- GitHub:ultralytics/yolov5
- Документация:Документация YOLOv5
Стандарт экосистемы
YOLOv5 переопределил отраслевой стандарт удобства использования. Созданный нативно в PyTorch, он использует высокооптимизированный backbone CSPNet и шейку PANet для надежной агрегации признаков. Хотя он предшествовал тенденции безъякорных моделей, наблюдаемой в более поздних моделях, его высокоразвитый подход на основе якорей в сочетании с автоматическим обучением якорей обеспечивает отличную производительность «из коробки».
Истинная сила YOLOv5 заключается в ее хорошо поддерживаемой экосистеме. Она бесшовно интегрируется с инструментами track, такими как Comet и Weights & Biases, и поддерживает экспорт в один клик в такие форматы, как ONNX, TensorRT и CoreML.
Начало работы с YOLOv5
YOLOv5 невероятно легко обучать на пользовательских наборах данных. Оптимизированный API снижает трение на пути от прототипа до производства, что делает его фаворитом среди гибких инженерных команд.
Сравнение производительности и метрик
При сравнении этих моделей крайне важно учитывать баланс средней точности (mAP), скорости инференса и количества параметров.
| Модель | размер (пиксели) | mAPval 50-95 | Скорость CPU ONNX (мс) | Скорость T4 TensorRT10 (мс) | параметры (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| 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-YOLO достигает впечатляющих показателей mAP для своих размеров параметров, значительно выигрывая от фазы обучения с дистилляцией. Однако это достигается за счет снижения эффективности обучения. Многоэтапный процесс дистилляции требует предварительного обучения большой модели-учителя, что значительно увеличивает необходимое время вычислений на GPU и объем VRAM.
Напротив, YOLOv5 предлагает отличные требования к памяти. Модели Ultralytics YOLO известны более низким потреблением памяти как во время обучения, так и во время инференса по сравнению со сложными конвейерами дистилляции или моделями на основе трансформеров, такими как RT-DETR. Это позволяет эффективно обучать YOLOv5 на потребительском оборудовании или в доступных облачных средах, таких как Google Colab.
Практические применения и универсальность
Выбор правильной архитектуры часто зависит от среды развертывания.
В чем DAMO-YOLO превосходит другие модели
DAMO-YOLO — это строго модель обнаружения объектов. Это отличный выбор для академических исследований, особенно для команд, изучающих Neural Architecture Search, или тех, кто стремится воспроизвести методы репараметризации, подробно описанные в статье. Если проект располагает обширными вычислительными ресурсами для выполнения фазы обучения с дистилляцией и сосредоточен исключительно на выжимании последней доли точности для 2D ограничивающих рамок, DAMO-YOLO является сильным претендентом.
Преимущество Ultralytics
Для реального производства простота использования и универсальность моделей Ultralytics делают их предпочтительным выбором. В то время как YOLOv5 остается основным инструментом для detect и классификации изображений, более широкая экосистема Ultralytics позволяет разработчикам легко переключаться между задачами.
Например, новые итерации в семействе Ultralytics нативно поддерживают сегментацию экземпляров, оценку позы и detect ориентированных ограничивающих рамок (OBB). Эта многозадачная возможность гарантирует, что команды могут использовать единый, унифицированный Python API для сложных конвейеров, таких как объединение автоматического распознавания номерных знаков с сегментацией транспортных средств.
Сценарии использования и рекомендации
Выбор между DAMO-YOLO и YOLOv5 зависит от ваших конкретных требований проекта, ограничений развертывания и предпочтений экосистемы.
Когда следует выбирать DAMO-YOLO
DAMO-YOLO — это отличный выбор для:
- Высокопроизводительная видеоаналитика: Обработка видеопотоков с высокой частотой кадров на стационарной инфраструктуре NVIDIA GPU, где пропускная способность при размере пакета 1 является основным показателем.
- Промышленные производственные линии: Сценарии со строгими ограничениями по задержке GPU на специализированном оборудовании, например, контроль качества в реальном времени на сборочных линиях.
- Исследования нейронного поиска архитектуры: Изучение влияния автоматизированного поиска архитектуры (MAE-NAS) и эффективных репараметризованных бэкбонов на производительность detect.
Когда выбирать YOLOv5
YOLOv5 рекомендуется для:
- Проверенные производственные системы: Существующие развертывания, где ценятся долгий track-рекорд стабильности YOLOv5, обширная документация и массивная поддержка сообщества.
- Обучение с ограниченными ресурсами: Среды с ограниченными ресурсами GPU, где эффективный конвейер обучения YOLOv5 и низкие требования к памяти являются преимуществом.
- Обширная поддержка форматов экспорта: Проекты, требующие развертывания во многих форматах, включая ONNX, TensorRT, CoreML и TFLite.
Когда выбирать Ultralytics (YOLO26)
Для большинства новых проектов Ultralytics YOLO26 предлагает наилучшее сочетание производительности и удобства для разработчиков:
- Развертывание на периферии без NMS: Приложения, требующие стабильного вывода с низкой задержкой без сложности постобработки методом Non-Maximum Suppression.
- Среды только с CPU: Устройства без выделенного ускорения GPU, где до 43% более быстрая инференция YOLO26 на CPU обеспечивает решающее преимущество.
- Обнаружение мелких объектов: Сложные сценарии, такие как аэрофотосъемка с дронов или анализ данных с IoT-датчиков, где ProgLoss и STAL значительно повышают точность на крошечных объектах.
Будущее: Переход к YOLO26
Хотя YOLOv5 является легендарной, а DAMO-YOLO предлагает интересные академические идеи, передовые технологии развились. Выпущенная в январе 2026 года, Ultralytics YOLO26 представляет собой огромный шаг вперед для сообщества компьютерного зрения.
YOLO26 решает традиционные узкие места развертывания на периферии и нестабильности обучения:
- Сквозная архитектура без NMS: YOLO26 изначально исключает постобработку Non-Maximum Suppression. Этот прорыв упрощает логику развертывания и значительно снижает вариативность задержки, что делает его идеальным для высокоскоростной робототехники и автономных систем.
- Оптимизатор MuSGD: Вдохновленный инновациями в обучении LLM (например, Kimi K2 от Moonshot AI), YOLO26 использует оптимизатор MuSGD (гибрид SGD и Muon). Это обеспечивает высокостабильные циклы обучения и значительно более быструю сходимость.
- До 43% более быстрая инференция на CPU: За счет стратегического удаления Distribution Focal Loss (DFL), YOLO26 достигает значительно более высоких скоростей на CPU и периферийных устройствах по сравнению со своими предшественниками, такими как YOLO11 и YOLOv8.
- ProgLoss + STAL: Эти продвинутые функции потерь обеспечивают значительные улучшения в распознавании мелких объектов, что критически важно для анализа аэрофотоснимков с дронов и данных с IoT-датчиков.
Пример кода: Простота в действии
Пакет Ultralytics позволяет обучать и развертывать модели всего несколькими строками кода. Независимо от того, используете ли вы YOLOv5 или обновляетесь до рекомендованного YOLO26, интерфейс остается согласованным и интуитивно понятным.
from ultralytics import YOLO
# Load the state-of-the-art YOLO26 small model
model = YOLO("yolo26s.pt")
# Train on a custom dataset effortlessly
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference on an image and display results
predictions = model("https://ultralytics.com/images/bus.jpg")
predictions[0].show()
# Export the model for edge deployment
model.export(format="onnx")
Заключение
Как DAMO-YOLO, так и YOLOv5 внесли значительный вклад в развитие компьютерного зрения. DAMO-YOLO демонстрирует мощь поиска нейронной архитектуры и дистилляции, что делает его интересным объектом для исследований. Однако YOLOv5 остаётся мощным практическим решением благодаря своему балансу производительности, низким требованиям к памяти и беспрецедентной простоте использования.
Для разработчиков, начинающих новые проекты сегодня, рекомендуется использовать платформу Ultralytics и внедрять YOLO26. Он сочетает в себе полюбившуюся пользователям экосистему YOLOv5 с новаторскими архитектурными достижениями, обеспечивая высочайшую точность и молниеносный вывод для облачных и периферийных AI-приложений. Разработчики также могут рассмотреть другие эффективные модели, такие как YOLOv6 или YOLOX, в зависимости от конкретных ограничений устаревшего оборудования.