DAMO-YOLO против YOLOv5: глубокое погружение в обнаружение объектов в реальном времени
Эволюция computer vision ознаменовалась постоянными инновациями в области обнаружения объектов в реальном времени. Сегодня разработчики и исследователи сталкиваются с огромным выбором архитектур при проектировании систем компьютерного зрения. В этом подробном техническом сравнении мы рассмотрим нюансы между DAMO-YOLO и Ultralytics YOLOv5, выделив их архитектуры, методологии обучения, показатели производительности и идеальные сценарии развертывания.
Введение в DAMO-YOLO
Представленный Alibaba Group, DAMO-YOLO внедрил несколько новых методов, направленных на расширение границ скорости и точности обнаружения.
- Авторы: Сяньчжэ Сюй (Xianzhe Xu), Ици Цзян (Yiqi Jiang), Вэйхуа Чэнь (Weihua Chen), Илунь Хуан (Yilun Huang), Юань Чжан (Yuan Zhang) и Сююй Сунь (Xiuyu Sun)
- Организация: Alibaba Group
- Дата: 23 ноября 2022 г.
- Arxiv: 2211.15444v2
- GitHub: tinyvision/DAMO-YOLO
- Документация: README.md
Архитектурные инновации
DAMO-YOLO построен на фундаменте Neural Architecture Search (NAS). Авторы использовали MAE-NAS для автоматического проектирования бэкендов, которые балансируют между задержкой и точностью. Модель представляет эффективную сеть RepGFPN (Reparameterized Generalized Feature Pyramid Network), улучшающую слияние признаков на разных масштабах. Кроме того, DAMO-YOLO включает дизайн "ZeroHead", отказываясь от сложных многоветвевых голов предсказания в пользу более простой и эффективной структуры, которая сильно опирается на перепараметризацию во время инференса.
Для улучшения обучения модель использует AlignedOTA для назначения меток и тяжелый процесс дистилляции, где более крупная модель-«учитель» направляет меньшую модель-«ученика» для достижения более высокой точности.
Введение в Ultralytics YOLOv5
Ultralytics YOLOv5 — это одна из наиболее широко используемых архитектур зрения в мире, известная своей стабильностью, простотой использования и обширной экосистемой развертывания.
- Авторы: Glenn Jocher
- Организация: Ultralytics
- Дата: 26 июня 2020 г.
- GitHub: ultralytics/yolov5
- Документация: Документация YOLOv5
Стандарт экосистемы
YOLOv5 переопределил отраслевой стандарт удобства использования. Созданный на базе PyTorch, он использует высокооптимизированный бэкенд CSPNet и шею PANet для надежной агрегации признаков. Хотя он появился до того, как стал популярен тренд на модели без анкоров, его тщательно проработанный подход на основе анкоров в сочетании с автоматическим обучением анкоров обеспечивает отличную производительность «из коробки».
Истинная сила YOLOv5 заключается в его хорошо поддерживаемой экосистеме. Он легко интегрируется с инструментами отслеживания, такими как Comet и Weights & Biases, и поддерживает экспорт в один клик в такие форматы, как ONNX, TensorRT и CoreML.
YOLOv5 невероятно легко обучать на пользовательских наборах данных. Оптимизированный API сокращает путь от прототипа до производства, делая его любимым выбором среди гибких инженерных команд.
Сравнение производительности и метрик
При сравнении этих моделей крайне важно учитывать баланс между средним значением точности (mAP), скоростью инференса и количеством параметров.
| Модель | размер (пиксели) | mAPval 50-95 | Скорость CPU ONNX (мс) | Скорость T4 TensorRT10 (мс) | параметры (М) | FLOPs (Б) |
|---|---|---|---|---|---|---|
| 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 compute и использование VRAM.
Напротив, YOLOv5 предлагает отличные требования к памяти. Модели Ultralytics YOLO известны меньшим потреблением памяти как во время обучения, так и во время инференса по сравнению со сложными конвейерами дистилляции или моделями на основе трансформеров, такими как RT-DETR. Это позволяет эффективно обучать YOLOv5 на потребительском оборудовании или в доступных облачных средах, таких как Google Colab.
Применение в реальном мире и универсальность
Выбор правильной архитектуры часто зависит от среды развертывания.
В чем силен DAMO-YOLO
DAMO-YOLO — это исключительно модель для object detection. Это отличный выбор для академических исследований, особенно для команд, изучающих Neural Architecture Search или стремящихся воспроизвести методы перепараметризации, подробно описанные в статье. Если у проекта есть обширные вычислительные ресурсы для выполнения фазы обучения дистилляцией и фокус направлен исключительно на то, чтобы выжать последнюю долю точности для 2D-боксов, DAMO-YOLO станет сильным кандидатом.
Преимущество Ultralytics
Для реального производства простота использования и универсальность моделей Ultralytics делают их предпочтительным выбором. Хотя YOLOv5 остается основным инструментом для обнаружения и image classification, более широкая экосистема Ultralytics позволяет разработчикам без усилий переключаться между задачами.
Например, новые итерации в семействе Ultralytics изначально поддерживают instance segmentation, pose estimation и обнаружение с помощью Oriented Bounding Box (OBB). Эта многозадачность гарантирует, что команды могут использовать единый унифицированный Python API для сложных конвейеров, таких как объединение автоматического распознавания номерных знаков с сегментацией транспортных средств.
Варианты использования и рекомендации
Выбор между DAMO-YOLO и YOLOv5 зависит от требований твоего проекта, ограничений развертывания и предпочтений в отношении экосистемы.
Когда выбирать DAMO-YOLO
DAMO-YOLO — отличный выбор для:
- Высокопроизводительной видеоаналитики: Обработки видеопотоков с высоким FPS на фиксированной инфраструктуре NVIDIA GPU, где пропускная способность при размере пакета 1 является основным показателем.
- Линий промышленного производства: Сценариев со строгими ограничениями задержки GPU на специализированном оборудовании, таких как контроль качества в реальном времени на сборочных линиях.
- Исследований в области поиска архитектуры нейронных сетей: Изучения влияния автоматизированного поиска архитектуры (MAE-NAS) и эффективных репараметризованных основ на производительность обнаружения.
Когда выбирать YOLOv5
YOLOv5 рекомендуется для:
- Проверенных производственных систем: Существующих развертываний, где ценятся долгая история стабильности YOLOv5, обширная документация и огромная поддержка сообщества.
- Обучения в условиях ограниченных ресурсов: Сред с ограниченными GPU-ресурсами, где эффективный конвейер обучения YOLOv5 и меньшие требования к памяти являются преимуществом.
- Широкой поддержки форматов экспорта: Проектов, требующих развертывания во множестве форматов, включая ONNX, TensorRT, CoreML и TFLite.
Когда выбирать Ultralytics (YOLO26)
Для большинства новых проектов Ultralytics YOLO26 предлагает лучшее сочетание производительности и опыта разработчика:
- Периферийное развертывание без NMS: Приложениям требуется стабильный вывод с низкой задержкой без сложности постобработки Non-Maximum Suppression.
- Среды только с CPU: Устройства без выделенного GPU-ускорения, где преимущество YOLO26 в виде до 43% более быстрого вывода на CPU является решающим.
- Обнаружение мелких объектов: Сложные сценарии, такие как аэросъемка с дронов или анализ данных IoT-датчиков, где ProgLoss и STAL значительно повышают точность распознавания крошечных объектов.
Будущее: переход на YOLO26
Хотя YOLOv5 легендарен, а DAMO-YOLO дает интересные академические идеи, технологии развиваются. Выпущенная в январе 2026 года, Ultralytics YOLO26 представляет собой огромный скачок вперед для сообщества компьютерного зрения.
YOLO26 устраняет традиционные «бутылочные горлышки» развертывания на устройствах Edge и нестабильности обучения:
- Дизайн End-to-End без NMS: YOLO26 изначально исключает пост-обработку Non-Maximum Suppression. Это прорыв упрощает логику развертывания и радикально снижает вариативность задержек, делая модель идеальной для высокоскоростной robotics и автономных систем.
- Оптимизатор MuSGD: Вдохновленный инновациями в обучении LLM (такими как Kimi K2 от Moonshot AI), YOLO26 использует оптимизатор MuSGD (гибрид SGD и Muon). Это обеспечивает крайне стабильные запуски обучения и заметно более быструю сходимость.
- До 43% быстрее инференс на CPU: Стратегически удалив Distribution Focal Loss (DFL), YOLO26 достигает значительно более высоких скоростей на процессорах и Edge-устройствах по сравнению со своими предшественниками, такими как YOLO11 и YOLOv8.
- ProgLoss + STAL: Эти продвинутые функции потерь дают заметные улучшения в распознавании мелких объектов, что критически важно для анализа aerial drone imagery и потоков данных с датчиков 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 демонстрирует мощь Neural Architecture Search и дистилляции, что делает его интересным объектом изучения для исследователей. Однако YOLOv5 остается практической «рабочей лошадкой» благодаря своему балансу производительности, низким требованиям к памяти и непревзойденной простоте использования.
Разработчикам, начинающим новые проекты сегодня, рекомендуется использовать Ultralytics Platform и принять YOLO26. Она сочетает в себе любимую пользователями экосистему YOLOv5 с революционными архитектурными достижениями, обеспечивая точность высшего уровня и молниеносный инференс как для облачных, так и для Edge AI приложений. Разработчики также могут изучить другие эффективные модели, такие как YOLOv6 или YOLOX, в зависимости от конкретных ограничений унаследованного оборудования.