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
- Docs: 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 и более поздние версии, сильно оптимизированы по требованиям к памяти. Они позволяют разработчикам использовать большие размеры батчей на потребительском «железе» без возникновения ошибок переполнения памяти, упрощая отслеживание экспериментов и процесс итераций.
Преимущество 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, чтобы найти адаптированный бекбон для кастомного AI-чипа-ускорителя.
Когда выбирать YOLOv7#
- Существующие GPU-пайплайны: Для команд, поддерживающих унаследованные производственные пайплайны, глубоко оптимизированные под архитектуру E-ELAN модели YOLOv7 на высокопроизводительном оборудовании NVIDIA.
Зачем переходить на современные модели Ultralytics (YOLO11 / YOLO26)#
Для подавляющего большинства корпоративных приложений — от аналитики в ритейле и умного производства до здравоохранения — современные модели Ultralytics не имеют равных. Интеграция с Платформой Ultralytics предоставляет полный пайплайн ML, предлагая простоту использования, превосходную документацию, надежную поддержку сообщества и многозадачную универсальность. Будь то отслеживание инвентаря на Raspberry Pi или выполнение тяжелой аналитики в облаке, такие модели, как YOLO26, обеспечивают идеальный баланс производительности для будущего компьютерного зрения.