DAMO-YOLO и YOLOv5#
Эволюция компьютерного зрения отмечена непрерывными инновациями в области обнаружения объектов в реальном времени. Сегодня разработчики и исследователи сталкиваются с множеством вариантов архитектур при проектировании конвейеров компьютерного зрения. В этом подробном техническом сравнении рассматриваются различия между 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 построен на основе поиска архитектуры нейронных сетей (NAS). Авторы использовали MAE-NAS для автоматического проектирования базовых моделей, обеспечивающих баланс между задержкой и точностью. Модель представляет эффективную RepGFPN (перепараметризованную обобщенную пирамиду признаков), которая улучшает слияние признаков в разных масштабах. Кроме того, 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 (мс) | параметры (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 известны меньшим потреблением памяти как во время обучения, так и во время вывода по сравнению со сложными конвейерами дистилляции или моделями на основе Transformer, такими как RT-DETR. Благодаря этому YOLOv5 можно эффективно обучать на пользовательском оборудовании или в доступных облачных средах, таких как Google Colab.
Применение в реальных условиях и универсальность#
Выбор подходящей архитектуры часто зависит от среды развертывания.
Преимущества DAMO-YOLO#
DAMO-YOLO — это модель строго для обнаружения объектов. Это отличный выбор для академических исследований, особенно для команд, изучающих поиск архитектуры нейронных сетей или стремящихся воспроизвести методы перепараметризации, описанные в статье. Если у проекта есть обширные вычислительные ресурсы для выполнения фазы обучения с дистилляцией и он сосредоточен исключительно на выжимании последней доли точности для двумерных ограничивающих рамок, DAMO-YOLO станет сильным претендентом.
Преимущества Ultralytics#
Для реальных производственных задач простота использования и универсальность моделей Ultralytics делают их предпочтительным выбором. Хотя YOLOv5 остается основным решением для обнаружения объектов и классификации изображений, более широкая экосистема Ultralytics позволяет разработчикам без труда переключаться между задачами.
Например, более новые модели семейства Ultralytics изначально поддерживают сегментацию экземпляров, оценку позы и обнаружение ориентированных ограничивающих рамок (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: приложений, требующих стабильного вывода с низкой задержкой без сложной постобработки с подавлением немаксимумов.
- Сред без GPU: устройств без выделенного ускорения GPU, где до 43% более быстрый вывод YOLO26 на CPU дает решающее преимущество.
- Обнаружения мелких объектов: сложных сценариев, таких как аэрофотосъемка с дронов или анализ данных IoT-сенсоров, где ProgLoss и STAL значительно повышают точность обнаружения крошечных объектов.
Будущее: переход на YOLO26#
Хотя YOLOv5 легендарна, а DAMO-YOLO дает интересные академические идеи, передовые технологии не стоят на месте. Выпущенная в январе 2026 года Ultralytics YOLO26 представляет собой огромный шаг вперед для сообщества компьютерного зрения.
YOLO26 устраняет традиционные узкие места периферийного развертывания и нестабильности обучения:
- Сквозная архитектура без NMS: YOLO26 изначально устраняет постобработку подавления немаксимумов. Этот прорыв упрощает логику развертывания и значительно снижает вариативность задержки, что делает модель идеальной для высокоскоростной робототехники и автономных систем.
- Оптимизатор 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 с революционными архитектурными улучшениями, обеспечивая высочайшую точность и молниеносный вывод как для облачных, так и для периферийных приложений ИИ. В зависимости от особенностей устаревшего оборудования разработчикам также стоит рассмотреть другие эффективные модели, такие как YOLOv6 или YOLOX.