YOLOv7 против DAMO-YOLO: всестороннее техническое сравнение
Ландшафт обнаружения объектов в реальном времени постоянно развивается, а исследователи и инженеры стремятся найти оптимальный баланс между скоростью и точностью. В этом техническом сравнении мы глубоко погрузимся в две примечательные архитектуры 2022 года: YOLOv7 и DAMO-YOLO. Обе модели представили новые концепции для сообщества компьютерного зрения, решая различные задачи в области обучения моделей, проектирования архитектуры и развертывания.
История создания моделей и технические детали
Прежде чем углубляться в их архитектуры, важно понять происхождение этих двух моделей. Обе были разработаны ведущими исследовательскими группами и представили передовые методологии для расширения границ обнаружения объектов в реальном времени.
Детали YOLOv7
Разработанная как продолжение семейства YOLO, модель YOLOv7 представила концепцию обучаемых «наборов бесплатных приемов» (bag-of-freebies), чтобы значительно повысить точность без увеличения затрат на инференс.
- Авторы: Chien-Yao Wang, Alexey Bochkovskiy и Hong-Yuan Mark Liao
- Организация: Institute of Information Science, Academia Sinica, Taiwan
- Дата: 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) и продвинутую дистилляцию знаний для создания высокоэффективных моделей под различное оборудование.
- Авторы: Сяньчжэ Сюй (Xianzhe Xu), Ици Цзян (Yiqi Jiang), Вэйхуа Чэнь (Weihua Chen), Илунь Хуан (Yilun Huang), Юань Чжан (Yuan Zhang) и Сююй Сунь (Xiuyu Sun)
- Организация: Alibaba Group
- Дата: 23.11.2022
- Arxiv: https://arxiv.org/abs/2211.15444v2
- GitHub: https://github.com/tinyvision/DAMO-YOLO
Архитектурные инновации
YOLOv7: анализ градиентного пути и репараметризация
YOLOv7 в значительной степени фокусируется на Extended Efficient Layer Aggregation Networks (E-ELAN). Авторы разработали E-ELAN, анализируя градиентные пути сети, что гарантирует непрерывное обучение сети без деградации исходного градиентного пути. Кроме того, YOLOv7 эффективно использует репараметризацию модели во время инференса, плавно объединяя слои для уменьшения FLOPs и ускорения времени выполнения. Это делает ее весьма эффективной для инференса в реальном времени на современных GPU.
DAMO-YOLO: нейроархитектурный поиск и RepGFPN
DAMO-YOLO отличается тем, что активно использует Neural Architecture Search (NAS) в условиях ограничений по задержке. Она использует фреймворк под названием MAE-NAS для обнаружения оптимальных бэкбонов, адаптированных под конкретное оборудование, такое как мобильные устройства или специфические периферийные ускорители. В качестве «шеи» она внедряет эффективную сеть RepGFPN (Rep-parameterized Generalized Feature Pyramid Network) и использует архитектуру ZeroHead для минимизации вычислительной нагрузки в головах предсказаний.
В то время как YOLOv7 полагается на сильные внутренние архитектурные оптимизации, DAMO-YOLO сильно зависит от сложного многоэтапного процесса дистилляции знаний. Он требует обучения большой модели-учителя, чтобы передать знания меньшей модели-ученику, что может быть вычислительно затратным на этапе обучения.
Сравнение производительности и метрик
При сравнении этих моделей критически важно смотреть на mAP (Mean Average Precision), скорость инференса и сложность модели.
| Модель | размер (пиксели) | mAPval 50-95 | Скорость CPU ONNX (мс) | Скорость T4 TensorRT10 (мс) | параметры (М) | FLOPs (Б) |
|---|---|---|---|---|---|---|
| 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 и более поздние версии, сильно оптимизированы с точки зрения требований к памяти. Они позволяют тебе использовать большие размеры пакетов (batch sizes) на потребительском оборудовании, не сталкиваясь с ошибками нехватки памяти, что упрощает отслеживание экспериментов и процесс итераций.
Преимущество 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 нативно исключает постобработку Non-Maximum Suppression (NMS). Это обеспечивает детерминированный инференс со сверхнизкой задержкой, что критически важно для робототехники и технологий автономного вождения.
- Оптимизатор MuSGD: Вдохновленный продвинутыми методами обучения LLM (например, Kimi K2 от Moonshot AI), этот гибридный оптимизатор сочетает SGD и Muon для обеспечения максимально стабильного обучения и более быстрой сходимости на различных наборах данных.
- До 43% более быстрый инференс на CPU: Благодаря стратегическому удалению Distribution Focal Loss (DFL), YOLO26 значительно повышает производительность на периферийных вычислительных платформах и CPU.
- ProgLoss + STAL: Эти продвинутые функции потерь дают значительные улучшения при обнаружении мелких объектов, что делает YOLO26 исключительно подходящей для аэрофотосъемки и детального наблюдения.
Идеальные сценарии использования
Когда выбирать DAMO-YOLO
- Академические исследования в области NAS: Если твоя организация активно инвестирует в изучение методологий поиска нейронных архитектур (NAS).
- Сверхжесткие ограничения по задержке на конкретном оборудовании: Если у тебя есть ресурсы для проведения исчерпывающих NAS-поисков для нахождения индивидуального бэкбона под специальный чип ускорителя ИИ.
Когда стоит выбрать YOLOv7
- Существующие GPU-пайплайны: Для команд, поддерживающих устаревшие производственные конвейеры, глубоко оптимизированные под специфическую архитектуру E-ELAN модели YOLOv7 на высокопроизводительном оборудовании NVIDIA.
Почему стоит перейти на современные модели Ultralytics (YOLO11 / YOLO26)
Для подавляющего большинства корпоративных приложений — от розничной аналитики и умного производства до здравоохранения — современные модели Ultralytics не имеют равных. Интеграция с платформой Ultralytics обеспечивает полный ML-пайплайн, предлагая простоту использования, превосходную документацию, надежную поддержку сообщества и многозадачную универсальность. Будь то отслеживание инвентаря на Raspberry Pi или выполнение тяжелой аналитики в облаке, модели вроде YOLO26 предлагают идеальный баланс производительности для будущего компьютерного зрения.