DAMO-YOLO против YOLOv7#
Быстрое развитие компьютерного зрения привело к созданию высокоэффективных моделей обнаружения объектов, разработанных для балансировки точности и вычислительных затрат. Две заметные модели, представленные в 2022 году, — это DAMO-YOLO и YOLOv7. Хотя обе они стремятся раздвинуть границы задач визуального восприятия в реальном времени, они достигают своих результатов за счет совершенно разных архитектурных парадигм и методологий обучения.
Это комплексное техническое сравнение исследует различные подходы обеих моделей, изучая их архитектуры, потенциал развертывания и метрики производительности, чтобы помочь инженерам по машинному обучению выбрать правильный инструмент для их конкретных приложений компьютерного зрения.
Происхождение моделей и метаданные#
Прежде чем погружаться в глубокий технический анализ, необходимо составить контекст происхождения этих двух моделей компьютерного зрения.
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
YOLOv7#
Выпущенная как передовое решение в середине 2022 года, модель YOLOv7 продвинула инференс в реальном времени еще дальше за счет внедрения обучаемых «наборов бесплатных улучшений» (bag-of-freebies) без увеличения затрат на развертывание.
- Авторы: Chien-Yao Wang, Alexey Bochkovskiy и Hong-Yuan Mark Liao
- Организация: Institute of Information Science, Academia Sinica, Taiwan
- Дата: 6 июля 2022 г.
- Arxiv: 2207.02696
- Docs: YOLOv7 Documentation
YOLOv7 официально поддерживается в экосистеме Ultralytics, что позволяет выполнять бесшовное обучение, валидацию и экспорт с помощью единого API.
Архитектурные инновации#
DAMO-YOLO: NAS и дистилляция#
DAMO-YOLO включает в себя несколько передовых методов, направленных на максимальную эффективность:
- Бэкенды NAS: Использует поиск архитектуры нейронных сетей (NAS) для автоматического проектирования оптимальных бэкендов (MAE-NAS), адаптированных для сред с критической задержкой.
- Эффективная RepGFPN: Модифицированная обобщенная пирамида признаков (Generalized Feature Pyramid Network), которая значительно повышает эффективность объединения признаков по нескольким масштабам.
- ZeroHead и AlignedOTA: Включает легкую голову детектирования и оптимизированную стратегию назначения меток (AlignedOTA) для снижения вычислительных накладных расходов.
- Улучшение дистилляции: Активно использует дистилляцию знаний в процессе обучения для повышения производительности меньших вариантов модели без увеличения количества их параметров.
YOLOv7: E-ELAN и наборы бесплатных улучшений (Bag-of-Freebies)#
YOLOv7 применила более структурный инженерный подход, сосредоточившись на оптимизации градиентного пути и надежных стратегиях обучения.
- Архитектура E-ELAN: Расширенная сеть агрегации эффективных слоев (Extended Efficient Layer Aggregation Network) позволяет модели изучать более разнообразные признаки путем контроля кратчайших и длиннейших градиентных путей, обеспечивая эффективную сходимость обучения.
- Масштабирование модели: Представляет метод составного масштабирования, адаптированный для моделей на основе конкатенации, одновременно масштабируя глубину и ширину для структурного согласования.
- Обучаемый набор бесплатных улучшений (Bag-of-Freebies): Использует такие методы, как перепараметризованные свертки (RepConv) без связей идентичности, а также стратегии динамического назначения меток, которые повышают точность во время обучения, не влияя на скорость инференса.
Анализ производительности#
При оценке средней точности (mAP), скорости и эффективности обе модели демонстрируют впечатляющие метрики, хотя они ориентированы на немного разные сегменты. YOLOv7 сильно сосредоточена на развертывании на GPU с высокой точностью, в то время как структуры DAMO-YOLO, полученные с помощью NAS, нацелены на агрессивное развертывание на CPU и граничных устройствах с низкими задержками.
| Модель | размер (пиксели) | 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 |
| YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
| YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
Как видно из метрик, хотя DAMO-YOLO предоставляет чрезвычайно легкие варианты (например, tiny-модель всего с 8,5 млн параметров), YOLOv7 достигает более высокого общего пика точности, при этом модель YOLOv7x достигает впечатляющих 53,1 mAP на наборе данных COCO.
Преимущества экосистемы Ultralytics#
Хотя теоретическая архитектура важна, практичность модели диктуется ее экосистемой. Модели, поддерживаемые Ultralytics, такие как YOLOv7, выигрывают от хорошо поддерживаемой экосистемы и непревзойденной простоты использования.
- Баланс производительности: Модели Ultralytics стабильно находят оптимальный компромисс между скоростью инференса и точностью обнаружения, что делает их идеальными как для граничных устройств, так и для развертывания моделей в облаке.
- Требования к памяти: В отличие от более тяжелых моделей на базе Transformer, модели Ultralytics YOLO сохраняют низкие требования к памяти CUDA во время обучения. Это позволяет использовать большие размеры батчей, оптимизируя процесс обучения даже на потребительском оборудовании.
- Универсальность: Фреймворк Ultralytics выходит за рамки обнаружения объектов, охватывая такие задачи, как сегментация экземпляров и оценка позы, предоставляя разработчикам полный набор инструментов компьютерного зрения.
Пакет Ultralytics позволяет тебе плавно перейти от наборов данных к полностью обученной модели всего за несколько минут, используя высокооптимизированные загрузчики данных и предобученные веса.
Пример кода: Обучение YOLOv7 с помощью Ultralytics#
Интеграция YOLOv7 в твой конвейер компьютерного зрения невероятно проста с использованием Python API от Ultralytics.
from ultralytics import YOLO
# Load a pre-trained YOLOv7 model
model = YOLO("yolov7.pt")
# Train the model on your custom dataset
results = model.train(data="coco8.yaml", epochs=50, imgsz=640)
# Run inference and validate results
metrics = model.val()
predictions = model.predict("https://ultralytics.com/images/bus.jpg", save=True)Новый стандарт: представляем YOLO26#
Хотя YOLOv7 и DAMO-YOLO представляли собой значительные прорывы в 2022 году, сфера искусственного интеллекта для работы с изображениями развивается быстро. Для команд, начинающих новые проекты сегодня, рекомендуемой моделью является передовая Ultralytics YOLO26, выпущенная в январе 2026 года.
YOLO26 обеспечивает качественный скачок в производительности и удобстве использования, включая современные инновации:
- Сквозной дизайн без NMS: YOLO26 является изначально сквозным. Устраняя постобработку подавления немаксимумов (NMS), модель обеспечивает более быструю и простую логику развертывания — парадигмальный сдвиг, впервые предложенный в YOLOv10.
- Оптимизатор MuSGD: Вдохновленный инновациями в больших языковых моделях, такими как Kimi K2 от Moonshot AI, YOLO26 использует гибрид SGD и Muon. Этот оптимизатор обеспечивает высокую стабильность динамики обучения и значительно более быструю сходимость.
- До 43% быстрее инференс на CPU: Благодаря целевому удалению Distribution Focal Loss (DFL) и глубоким структурным улучшениям, YOLO26 сильно оптимизирована для маломощных edge-вычислений, превосходя предыдущие поколения на оборудовании без GPU.
- ProgLoss + STAL: Включает передовые новые функции потерь, которые целенаправленно улучшают распознавание мелких объектов, что является важнейшей возможностью для приложений в аэрофотосъемке, робототехнике и монтировании систем безопасности.
- Улучшения для конкретных задач: Помимо стандартного обнаружения, YOLO26 включает специализированные доработки для различных задач, включая многомасштабное протатипирование для сегментации, RLE для оценки позы и специфические потери углов для ориентированных ограничивающих рамок (OBB).
Идеальные варианты использования#
Выбор правильной архитектуры полностью зависит от твоей целевой среды развертывания и ограничений проекта.
Когда выбирать DAMO-YOLO:
- Ты работаешь в сильно ограниченных по ресурсам граничных (edge) средах, где количество параметров должно быть крайне низким (например, микроконтроллеры).
- Ты используешь автоматизированные конвейеры машинного обучения, специально интегрированные с проприетарными облачными сервисами Alibaba.
Когда выбирать YOLOv7:
- У тебя есть унаследованные конвейеры на GPU, уже оптимизированные для инференса на основе якорей (anchor-based) с высокой точностью.
- Ты работаешь в средах, где точность в реальном времени имеет первостепенное значение, например, в высокоскоростных автономных транспортных средствах или передовой робототехнике.
Когда выбирать YOLO26 (рекомендуется):
- Ты создаешь новое приложение компьютерного зрения с нуля и нуждаешься в абсолютно передовом решении как по точности, так и по скорости инференса на CPU/граничных устройствах.
- Тебе требуется быстрое и бесшовное развертывание (например, экспорт в CoreML или TensorRT) без ограничений, связанных с операторами NMS.
- Ты хочешь использовать все возможности Ultralytics Platform для облачного обучения, управления наборами данных и автоматизированного развертывания.
Используя надежную экосистему моделей Ultralytics, разработчики могут существенно сократить время проектирования, обеспечивая при этом первоклассную прогностическую эффективность для своих реальных приложений.