YOLOv7 против DAMO-YOLO: Всестороннее техническое сравнение
Ландшафт обнаружения объектов в реальном времени постоянно развивается, исследователи и инженеры стремятся найти оптимальный баланс между скоростью и точностью. В этом техническом сравнении мы углубимся в две примечательные архитектуры 2022 года: YOLOv7 и DAMO-YOLO. Обе модели представили новые концепции сообществу компьютерного зрения, решая различные задачи в обучении моделей, архитектурном проектировании и развертывании.
Предыстория и технические детали моделей
Прежде чем углубляться в их архитектуры, важно понять происхождение этих двух моделей. Обе были разработаны ведущими исследовательскими группами и представили передовые методологии для расширения границ обнаружения объектов в реальном времени.
Подробности о YOLOv7
Разработанный как продолжение семейства YOLO, YOLOv7 представил концепцию обучаемых "bag-of-freebies" для значительного повышения точности без увеличения затрат на инференс.
- Авторы: Чен-Яо Ванг, Алексей Бочковский и Хонг-Юань Марк Ляо
- Организация:Институт информатики, Academia Sinica, Тайвань
- Дата: 2022-07-06
- Arxiv:https://arxiv.org/abs/2207.02696
- GitHub:https://github.com/WongKinYiu/yolov7
- Документация:https://docs.ultralytics.com/models/yolov7/
Подробности о DAMO-YOLO
Разработанный исследователями из Alibaba Group, DAMO-YOLO уделял большое внимание поиску нейронной архитектуры (NAS) и передовой дистилляции знаний для создания высокоэффективных моделей для различного оборудования.
- Авторы: Сяньчжэ Сюй, Ици Цзян, Вэйхуа Чэнь, Илунь Хуан, Юань Чжан и Сююй Сунь
- Организация:Alibaba Group
- Дата: 2022-11-23
- Arxiv:https://arxiv.org/abs/2211.15444v2
- GitHub:https://github.com/tinyvision/DAMO-YOLO
Архитектурные инновации
YOLOv7: Анализ градиентного пути и репараметризация
YOLOv7 активно фокусируется на расширенных эффективных сетях агрегации слоев (E-ELAN). Авторы разработали E-ELAN, анализируя градиентные пути сети, обеспечивая непрерывное обучение сети без ухудшения исходного градиентного пути. Кроме того, YOLOv7 эффективно использует репараметризацию модели во время инференса, бесшовно объединяя слои для сокращения FLOPs и ускорения времени выполнения. Это делает ее высокоэффективной для инференса в реальном времени на современных GPU.
DAMO-YOLO: Поиск нейроархитектуры и RepGFPN
DAMO-YOLO отличается активным использованием нейронного поиска архитектуры (NAS) в условиях ограничений по задержке. Он использует фреймворк под названием MAE-NAS для поиска оптимальных магистральных сетей, адаптированных для конкретного оборудования, такого как мобильные устройства или специализированные периферийные ускорители. Для своей шейной части (neck) он представляет эффективную RepGFPN (Rep-параметризованную обобщенную пирамидальную сеть признаков) и использует дизайн ZeroHead для минимизации вычислительной нагрузки в предсказательных головах.
Различия в дистилляции
Хотя YOLOv7 опирается на сильные внутренние архитектурные оптимизации, DAMO-YOLO сильно зависит от сложного многоэтапного процесса дистилляции знаний. Это требует обучения большой модели-учителя для дистилляции знаний в меньшую модель-ученика, что может быть вычислительно дорогостоящим на этапе обучения.
Сравнение производительности и метрик
При сравнении этих моделей крайне важно учитывать mAP (средняя точность), скорость инференса и сложность модели.
| Модель | размер (пиксели) | mAPval 50-95 | Скорость CPU ONNX (мс) | Скорость T4 TensorRT10 (мс) | параметры (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
| YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
| 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 |
В таблице выше показано, что YOLOv7 хорошо масштабируется в области высокой точности (YOLOv7x), в то время как DAMO-YOLO предлагает высокооптимизированные миниатюрные модели для ограниченных сред.
Эффективность обучения и требования к памяти
Основное различие между двумя архитектурами заключается в их методологиях обучения. Зависимость DAMO-YOLO от дистилляции означает, что обучение новой модели с нуля или дообучение на пользовательском наборе данных компьютерного зрения часто требует значительно больше VRAM и времени вычислений на GPU.
В отличие от этого, модели, интегрированные в экосистему Ultralytics, такие как YOLOv7 и более поздние версии, значительно оптимизированы по требованиям к памяти. Они позволяют разработчикам использовать большие размеры пакетов на потребительском оборудовании без возникновения ошибок нехватки памяти, упрощая отслеживание экспериментов и процесс итерации.
Преимущество Ultralytics
Хотя YOLOv7 и DAMO-YOLO предлагают впечатляющие функции, развертывание моделей в экосистеме Ultralytics обеспечивает беспрецедентный опыт для разработчиков.
- Простота использования: Пакет Ultralytics Python предлагает унифицированный, простой API. Вы можете быстро переключаться между архитектурами моделей, запускать циклы обучения или выполнять инференс всего несколькими строками кода.
- Хорошо поддерживаемая экосистема: Ultralytics предоставляет частые обновления, обеспечивая нативную совместимость с последними выпусками PyTorch и драйверами CUDA. Это также упрощает экспорт моделей в такие форматы, как ONNX, TensorRT и OpenVINO.
- Универсальность: В отличие от DAMO-YOLO, который является строго детектором объектов, экосистема Ultralytics нативно поддерживает разнообразные задачи. Модели семейства Ultralytics могут выполнять стандартное обнаружение ограничивающих рамок, оценку позы, сегментацию экземпляров и ориентированные ограничивающие рамки (OBB).
Пример кода: Быстрый старт
Вот как легко вы можете загружать, обучать и выполнять инференс с использованием моделей Ultralytics:
from ultralytics import YOLO
# Load a pre-trained YOLOv7 model (or newer models like yolo26n.pt)
model = YOLO("yolov7.pt")
# Train the model on the COCO8 dataset with automated hyperparameter handling
results = model.train(data="coco8.yaml", epochs=50, imgsz=640)
# Run inference on an image
predictions = model("https://ultralytics.com/images/bus.jpg")
# Export to ONNX format for deployment
model.export(format="onnx")
Экспорт моделей
С Ultralytics экспорт обученных весов в различные аппаратно-ускоренные форматы (такие как TensorRT или CoreML) осуществляется с помощью одного аргумента в команде экспорта, что экономит часы сложной настройки скриптов.
Следующее поколение: YOLO26
Хотя YOLOv7 остается мощной устаревшей архитектурой, область быстро развивается. Для новых развертываний Ultralytics YOLO26 (выпущенный в январе 2026 года) является рекомендуемым стандартом, превосходящим предыдущие поколения почти по всем метрикам.
- Сквозная архитектура без NMS: Впервые разработанная в YOLOv10, YOLO26 изначально устраняет постобработку подавления немаксимумов (NMS). Это обеспечивает детерминированный вывод со сверхнизкой задержкой, что критически важно для робототехники и технологий автономного вождения.
- Оптимизатор MuSGD: Вдохновленный передовыми методами обучения LLM (такими как Kimi K2 от Moonshot AI), этот гибридный оптимизатор, сочетающий SGD и Muon, обеспечивает высокостабильное обучение и более быструю сходимость на различных наборах данных.
- До 43% более быстрая инференция на CPU: За счет стратегического удаления Distribution Focal Loss (DFL), YOLO26 значительно повышает производительность на платформах периферийных вычислений и CPU.
- ProgLoss + STAL: Эти усовершенствованные функции потерь обеспечивают существенные улучшения в detect мелких объектов, что делает YOLO26 исключительно хорошо подходящим для аэрофотосъемки и детального наблюдения.
Идеальные варианты использования
Когда следует выбирать DAMO-YOLO
- Академические исследования в области NAS: Если ваша организация активно занимается изучением методологий нейросетевого поиска архитектур (Neural Architecture Search).
- Задержка с жесткими ограничениями на конкретном оборудовании: Если у вас есть ресурсы для проведения исчерпывающих поисков NAS с целью подбора специализированной архитектуры для пользовательского чипа AI-ускорителя.
Когда выбирать YOLOv7
- Существующие конвейеры GPU: Для команд, поддерживающих устаревшие производственные конвейеры, глубоко оптимизированные под специфическую архитектуру E-ELAN YOLOv7 на высокопроизводительном оборудовании NVIDIA.
Почему стоит перейти на современные модели Ultralytics (YOLO11 / YOLO26)
Для подавляющего большинства корпоративных приложений — от розничной аналитики и умного производства до здравоохранения — современные модели Ultralytics не имеют себе равных. Интеграция с Ultralytics Platform обеспечивает полный конвейер машинного обучения, предлагая простоту использования, превосходную документацию, надежную поддержку сообщества и многозадачную универсальность. Будь то отслеживание запасов на Raspberry Pi или выполнение сложной аналитики в облаке, модели, такие как YOLO26, предлагают идеальный баланс производительности для будущего компьютерного зрения.