Сравнение DAMO-YOLO и YOLOv5#
Эволюция computer vision отмечена непрерывными инновациями в обнаружении объектов в реальном времени. Сегодня разработчики и исследователи сталкиваются с множеством архитектурных вариантов при проектировании конвейеров компьютерного зрения. Это комплексное техническое сравнение исследует нюансы между DAMO-YOLO и Ultralytics YOLOv5, подчеркивая их соответствующие архитектуры, методологии обучения, метрики производительности и идеальные сценарии развертывания.
Введение в DAMO-YOLO#
DAMO-YOLO, выпущенная Alibaba Group, представила ряд инновационных методов, направленных на расширение границ скорости и точности обнаружения.
- Авторы: 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 Documentation
Стандарт экосистемы#
YOLOv5 переопределила отраслевой стандарт удобства использования. Созданная нативно на PyTorch, она использует высокооптимизированный бэкбон CSPNet и шею PANet для надежной агрегации признаков. Хотя она предшествовала тенденции без анкеров (anchor-free), наблюдаемой в более поздних моделях, ее высоко усовершенствованный подход на основе анкеров в сочетании с автоматическим обучением анкеров обеспечивает отличную производительность «из коробки».
Истинная сила 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. Это отличный выбор для академических исследований, в частности для команд, изучающих поиск нейроархитектур, или тех, кто стремится воспроизвести методы репараметризации, описанные в документе. Если у проекта есть обширные вычислительные ресурсы для выполнения фазы дистилляционного обучения и он сосредоточен исключительно на выжимании последней доли точности для 2D bounding boxes, DAMO-YOLO является сильным конкурентом.
Преимущество Ultralytics#
Для реального производства простота использования и универсальность моделей Ultralytics делают их предпочтительным выбором. Хотя YOLOv5 остается основным инструментом для детекции и image classification, более широкая экосистема Ultralytics позволяет разработчикам легко переключаться между задачами.
Например, новые итерации в семействе Ultralytics нативно поддерживают instance segmentation, pose estimation и Oriented Bounding Box (OBB) детекцию. Эта многозадачная возможность гарантирует, что команды могут использовать единый унифицированный Python API для сложных конвейеров, таких как объединение automated number plate recognition с сегментацией транспортных средств.
Сценарии использования и рекомендации#
Выбор между DAMO-YOLO и YOLOv5 зависит от конкретных требований твоего проекта, ограничений развертывания и предпочтений в экосистеме.
Когда выбирать DAMO-YOLO#
DAMO-YOLO — сильный выбор для:
- Высокопроизводительной видеоаналитики: обработки видеопотоков с высоким FPS на фиксированной инфраструктуре NVIDIA GPU, где пропускная способность при batch-1 является основной метрикой.
- Промышленных производственных линий: сценариев с жесткими ограничениями по задержке GPU на специализированном оборудовании, таких как проверка качества в реальном времени на сборочных линиях.
- Исследований Neural Architecture Search: изучения влияния автоматизированного поиска архитектуры (MAE-NAS) и эффективных репараметризованных бэкендов на производительность детекции.
Когда стоит выбрать YOLOv5#
YOLOv5 рекомендуется для:
- Проверенных производственных систем: существующих развертываний, где ценятся долгая история стабильности YOLOv5, обширная документация и огромная поддержка сообщества.
- Обучения с ограниченными ресурсами: сред с ограниченными ресурсами GPU, где эффективный конвейер обучения YOLOv5 и более низкие требования к памяти являются преимуществом.
- Широкая поддержка форматов экспорта: Проекты, требующие развертывания во многих форматах, включая ONNX, TensorRT, CoreML и TFLite.
Когда выбирать Ultralytics (YOLO26)#
Для большинства новых проектов Ultralytics YOLO26 предлагает наилучшее сочетание производительности и удобства для разработчика:
- Развертывания на периферии без NMS: приложений, требующих стабильного вывода с низкой задержкой без сложности постобработки подавления немаксимумов.
- Среды только с CPU: устройств без выделенного GPU-ускорения, где до 43% более быстрый вывод на CPU у YOLO26 дает решающее преимущество.
- Обнаружение малых объектов: Сложные сценарии, такие как aerial drone imagery или анализ с помощью IoT-сенсоров, где ProgLoss и STAL значительно повышают точность для крошечных объектов.
Будущее: переход на YOLO26#
Хотя YOLOv5 легендарна, а DAMO-YOLO дает интересные академические инсайты, современные технологии развиваются. Выпущенная в январе 2026 года, Ultralytics YOLO26 представляет собой огромный шаг вперед для сообщества компьютерного зрения.
YOLO26 решает традиционные проблемы развертывания на периферии (edge) и нестабильности обучения:
- Дизайн без NMS «из конца в конец» (End-to-End NMS-Free): YOLO26 нативно исключает постпроцессинг Non-Maximum Suppression. Этот прорыв упрощает логику развертывания и резко снижает вариативность задержек, делая его идеальным для высокоскоростной robotics и автономных систем.
- Оптимизатор MuSGD: Вдохновленный инновациями в обучении LLM (такими как Kimi K2 от Moonshot AI), YOLO26 использует оптимизатор MuSGD (гибрид SGD и Muon). Это обеспечивает высокую стабильность обучения и значительно более быструю сходимость.
- Ускорение инференса на CPU до 43%: Стратегически удалив Distribution Focal Loss (DFL), YOLO26 достигает значительно превосходящих скоростей на CPU и периферийных устройствах по сравнению со своими предшественниками, такими как 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 демонстрирует силу нейронного архитектурного поиска и дистилляции, что делает её интересным объектом для изучения исследователями. Однако YOLOv5 остается практической «рабочей лошадкой» благодаря своему балансу производительности, низким требованиям к памяти и непревзойденной простоте использования.
Для разработчиков, начинающих новые проекты сегодня, рекомендуется задействовать Ultralytics Platform и принять на вооружение YOLO26. Она сочетает в себе любимую удобную экосистему YOLOv5 с прорывными архитектурными достижениями, обеспечивая высочайшую точность и молниеносный инференс как для облачных, так и для граничных ИИ-приложений. Разработчики также могут захотеть изучить другие эффективные модели, такие как YOLOv6 или YOLOX, в зависимости от специфических ограничений устаревшего оборудования.