YOLO YOLOv8: эволюция архитектуры в области обнаружения объектов
Стремление к обнаружению объектов в реальном времени привело к значительным инновациям в области проектирования нейронных сетей. Две выдающиеся архитектуры, которые сформировали эту область, — этоYOLO, разработанная исследовательской группой Alibaba, и YOLOv8, созданная Ultralytics. В этом сравнении исследуются технические различия между этими моделями, анализируются их стратегии обучения, архитектурная эффективность и пригодность для внедрения.
DAMO-YOLO
Авторы: Сяньчжэ Сюй, Ици Цзян, Вэйхуа Чэнь, Илунь Хуан, Юань Чжан и Сюю Сунь
Организация: Alibaba Group
Дата: 23.11.2022
Arxiv: https://arxiv.org/abs/2211.15444v2
GitHub: YOLO
YOLOv8
Авторы: Гленн Джочер, Аюш Чаурасия и Цзин Цю
Организация: Ultralytics
Дата: 10.01.2023
GitHub: ultralytics
Документация: yolov8
Архитектурные философии
Основное различие между этими двумя моделями заключается в происхождении их конструкции.YOLO в значительной степениYOLO на автоматизированные стратегии поиска, тогда как YOLOv8 ручной дизайн архитектуры посредством обширных эмпирических испытаний.
YOLO: поиск нейронной архитектуры (NAS)
YOLO технологический подход под названием MAE-NAS (Method-Automated Efficiency Neural Architecture Search, автоматизированный поиск нейронной архитектуры с высокой эффективностью). Вместо ручного проектирования блоков авторы использовали поиск нейронной архитектуры, чтобы найти эффективную основу с учетом конкретных ограничений по задержке.
Ключевые архитектурные компоненты включают:
- MAE-NAS Backbone: структура, автоматически оптимизированная для баланса между точностью обнаружения и скоростью вывода.
- Эффективная RepGFPN: обобщенная сеть пирамиды признаков (FPN), которая использует перепараметризацию для улучшения слияния признаков без увеличения затрат на вывод.
- ZeroHead: Легкая детектирующая головка, разработанная для снижения вычислительной нагрузки на конечных выходных слоях.
- AlignedOTA: динамическая стратегия присвоения меток, которая решает проблему несоответствия между задачами классификации и регрессии.
YOLOv8: усовершенствованный ручной дизайн
YOLOv8 на наследии YOLO и включает модуль C2f (Cross-Stage Partial Bottleneck с двумя свертками). Этот модуль предназначен для улучшения информации о градиентном потоке, что позволяет сети обучаться более сложным функциям, оставаясь при этом легкой.
Ключевые архитектурные особенности включают:
- Обнаружение без анкоров: YOLOv8 анкорные рамки, напрямую прогнозируя центры объектов. Это упрощает NMS и сокращает количество гиперпараметров, которые пользователи должны настраивать.
- Разделенная головка: она разделяет ветви классификации и регрессии, позволяя каждой из них сходиться более эффективно.
- Мозаичное усиление: передовая техника обучения, которая объединяет четыре изображения в одно, заставляя модель учиться контексту и масштабной инвариантности.
Метрики производительности
В следующей таблице сравниваются результатыYOLO YOLOv8 COCO .YOLO впечатляющих mAP интенсивной дистилляции, а YOLOv8 , обеспечивает более высокую скорость инференции и меньшую сложность развертывания.
| Модель | размер (пиксели) | 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 |
| YOLOv8n | 640 | 37.3 | 80.4 | 1.47 | 3.2 | 8.7 |
| YOLOv8s | 640 | 44.9 | 128.4 | 2.66 | 11.2 | 28.6 |
| YOLOv8m | 640 | 50.2 | 234.7 | 5.86 | 25.9 | 78.9 |
| YOLOv8l | 640 | 52.9 | 375.2 | 9.06 | 43.7 | 165.2 |
| YOLOv8x | 640 | 53.9 | 479.1 | 14.37 | 68.2 | 257.8 |
Эффективность и сложность обучения
Важным отличием для разработчиков является процесс обучения.YOLO сложную стратегию дистилляции. Для достижения максимальных результатов сначала необходимо обучить большую «учительскую» модель, которая будет направлять меньшие «ученические» модели. Хотя это обеспечивает высокую точность, оно значительно усложняет процесс обучения, увеличивает потребность GPU и удлиняет время обучения.
В отличие от этого, Ultralytics уделяют приоритетное внимание эффективности обучения. YOLOv8 подход «Bag of Freebies», при котором выбор архитектуры и стратегии расширения (такие как MixUp Mosaic) обеспечивают повышение точности без необходимости использования многоступенчатого конвейера дистилляции. Это YOLOv8 ускоряет обучение YOLOv8 на потребительском оборудовании, снижая барьер для входа для пользовательских наборов данных.
Эффективность использования ресурсов
YOLO Ultralytics YOLO обычно требуют меньшего объема памяти как при обучении, так и при выводе, по сравнению со сложными моделями на основе Transformer или конвейерами дистилляции. Это позволяет использовать более крупные пакеты данных и быстрее проводить эксперименты на стандартных графических процессорах.
Преимущество экосистемы Ultralytics
В то время какYOLO новые академические достижения, Ultralytics предоставляет явное преимущество для разработки реальных приложений.
Универсальность, превосходящая возможности обнаружения
YOLO в первую очередьYOLO для обнаружения ограничительных рамок. Напротив, Ultralytics изначально является многозадачным. Один API позволяет разработчикам выполнять:
- Сегментация экземпляров для точного маскирования на уровне пикселей.
- Оценка позы для отслеживания скелета.
- Ориентированная ограничивающая рамка (OBB) для обнаружения объектов в воздухе и вращающихся объектов.
- Классификация изображений для категоризации всего изображения.
Простота использования и развертывания
Ultralytics оптимизации пользовательского опыта. Python позволяет выполнять обучение, валидацию и развертывание менее чем за пять строк кода. Кроме того, обширные возможности экспорта позволяют легко конвертировать модели в ONNX, TensorRT, CoreML, TFLite и OpenVINO, что обеспечивает возможность их развертывания на любых устройствах, от облачных серверов до Raspberry Pi.
Будущее искусственного интеллекта в области зрения: YOLO26
Разработчикам, стремящимся к абсолютному передовому уровню на 2026 год, Ultralytics YOLO26. Опираясь на успехи YOLOv8 YOLO11, YOLO26 вносит фундаментальные изменения в архитектуру для повышения скорости и стабильности.
Сквозной дизайн без NMS
В отличие отYOLO YOLOv8, которые требуют постобработки с помощью алгоритма Non-Maximum Suppression (NMS) для фильтрации перекрывающихся рамок, YOLO26 изначально является сквозной системой. Этот прорыв, впервые реализованный в YOLOv10, NMS устраняет необходимость в NMS . Это приводит к упрощению процессов развертывания и снижению задержки, особенно в сценариях с большим количеством обнаруженных объектов.
Расширенная оптимизация и функции потерь
YOLO26 интегрирует оптимизатор MuSGD, гибрид SGD Muon (вдохновленный инновациями в области обучения LLM от Moonshot AI's Kimi K2). Это обеспечивает стабильность обучения больших языковых моделей для компьютерного зрения, что приводит к более быстрой конвергенции. Кроме того, удаление Distribution Focal Loss (DFL) и внедрение ProgLoss и STAL (Soft Task-Aligned Loss) значительно улучшают производительность при работе с небольшими объектами — распространенной проблемой в робототехнике и IoT.
Баланс производительности
YOLO26 оптимизирован для пограничных вычислений, обеспечивая на 43 % более быстрое CPU по сравнению с предыдущими поколениями. Это делает его идеальным выбором для приложений, работающих на устройствах без специальных графических процессоров, превосходя по эффективности более старые подходы на основе NAS.
Пример кода: Ultralytics
Следующий пример демонстрирует, насколько легко разработчик может переключаться между поколениями моделей с помощью Ultralytics . Такая гибкость позволяет быстро сравнить YOLOv8 более новой YOLO26 на пользовательском наборе данных.
from ultralytics import YOLO
# Load the models
model_v8 = YOLO("yolov8n.pt")
model_v26 = YOLO("yolo26n.pt") # Recommended for new projects
# Train YOLO26 on a custom dataset
# The MuSGD optimizer and ProgLoss are handled automatically
results = model_v26.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference with the NMS-free architecture
# No post-processing tuning required
prediction = model_v26("https://ultralytics.com/images/bus.jpg")
prediction[0].show()
Обзор
YOLO YOLOv8 важные вехи в области компьютерного зрения.YOLO возможности нейронного архитектурного поиска и дистилляции для достижения высокой точности. Однако для большинства разработчиков, исследователей и предприятий Ultralytics YOLOv8— и в частности более новая версия YOLO26— предлагает оптимальный баланс.
Сочетание хорошо поддерживаемой экосистемы, простоты использования, универсальной поддержки задач и передовых функций, таких как обнаружение NMS, делает Ultralytics предпочтительным Ultralytics для масштабируемых и перспективных решений в области искусственного интеллекта. Разработчики, которые ищут другие высокопроизводительные варианты, могут также изучить RT-DETR для точности на основе трансформатора или YOLO11 для проверенной надежности.