YOLO YOLOv10: обзор эволюции обнаружения объектов в реальном времени
Область обнаружения объектов в реальном времени быстро развивается, чему способствует неустанное стремление к снижению задержки и повышению точности. Двумя важными вехами на этом пути являются YOLO, разработанная Alibaba Group, и YOLOv10, созданная исследователями из Университета Цинхуа. В то время какYOLO в эту область передовые технологии поиска нейронных архитектур (NAS), YOLOv10 в процессе развертывания, устранив немаксимальное подавление (NMS). В этом всестороннем сравнении рассматриваются их технические архитектуры, показатели производительности и объясняется, почему новейшие Ultralytics , такие как YOLO26, представляют собой вершину этих достижений для производственных сред.
Сравнение показателей эффективности
В следующей таблице представлено прямое сравнение ключевых показателей производительности. Обратите внимание на разницу в скорости вывода заключений, особенно в тех случаях, когда конструкции NMS способствуют снижению задержки.
| Модель | размер (пиксели) | 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 |
| YOLOv10n | 640 | 39.5 | - | 1.56 | 2.3 | 6.7 |
| YOLOv10s | 640 | 46.7 | - | 2.66 | 7.2 | 21.6 |
| YOLOv10m | 640 | 51.3 | - | 5.48 | 15.4 | 59.1 |
| YOLOv10b | 640 | 52.7 | - | 6.54 | 24.4 | 92.0 |
| YOLOv10l | 640 | 53.3 | - | 8.33 | 29.5 | 120.3 |
| YOLOv10x | 640 | 54.4 | - | 12.2 | 56.9 | 160.4 |
YOLO: архитектура и методология
YOLO был предложен в ноябре 2022 года исследователями из Alibaba Group. Его цель заключалась в расширении границ производительности за счет интеграции передовых технологий в единую структуру детектора.
- Авторы: Сяньчжэ Сюй, Ици Цзян, Вэйхуа Чэнь, Илунь Хуан, Юань Чжан и Сююй Сунь
- Организация: Alibaba Group
- Дата: 2022-11-23
- Статья:arXiv:2211.15444
- GitHub:tinyvision/DAMO-YOLO
Ключевые архитектурные особенности
YOLO использованием нейронного архитектурного поиска (NAS). В отличие от моделей с вручную разработанными базовыми структурами,YOLO метод Method-Awareness Efficient NAS (MAE-NAS) для поиска оптимальных сетевых структур при определенных ограничениях. В результате получается базовая структура, которая является высокоэффективной для конкретного оборудования, для которого она была разработана.
Кроме того, он включает в себя эффективную сеть RepGFPN (Reparameterized Generalized Feature Pyramid Network) для слияния признаков и облегченную головку, известную как «ZeroHead». Важным компонентом стратегии обучения является AlignedOTA, динамический механизм присвоения меток, который обеспечивает улучшенное согласование между задачами классификации и регрессии. Однако для достижения максимальной производительности сYOLO требуется сложный процесс дистилляции, требующий использования тяжелой модели-учителя во время обучения, что может значительно увеличить вычислительную нагрузку по сравнению с подходами «bag-of-freebies», используемыми в YOLOv8.
Сложность обучения
Несмотря на свою мощность, процесс обученияYOLO быть ресурсоемким. На этапе дистилляции часто требуется сначала обучить более крупную модель-учитель, что усложняет рабочий процесс для разработчиков, которым нужны быстрые итерации на пользовательских наборах данных.
YOLOv10: прорыв в области сквозных решений
Выпущен в мае 2024 года Университетом Цинхуа, YOLOv10 ознаменовал собой смену парадигмы, устранив одно из самых давних препятствий в области обнаружения объектов: немаксимальное подавление (NMS).
- Авторы: Ao Wang, Hui Chen, Lihao Liu, и др.
- Организация: Университет Цинхуа
- Дата: 2024-05-23
- Статья:arXiv:2405.14458
- GitHub:THU-MIG/yolov10
Архитектурные инновации
Отличительной особенностью YOLOv10 его сквозной дизайн NMS. Традиционные детекторы генерируют избыточные ограничительные рамки, которые необходимо отфильтровать с помощью NMS, что является этапом постобработки, который вводит задержку и усложняет развертывание. YOLOv10 последовательные двойные назначения во время обучения, используя как сопоставление «один ко многим» (для богатого надзора), так и «один к одному» (для сквозного вывода). Это позволяет модели напрямую предсказывать один лучший прямоугольник для каждого объекта, устраняя необходимость в NMS .
Кроме того, YOLOv10 целостную модель, ориентированную на эффективность и точность. Она включает в себя легкие классификационные головки, пространственно-канальное декуплированное понижающее преобразование и ранжированный блок-дизайн, что позволяет получить модель, которая меньше и быстрее, чем ее предшественники, такие как YOLOv9 , сохраняя при этом конкурентоспособную точность.
Преимущества Ultralytics: Почему стоит выбрать YOLO26?
В то время какYOLO YOLOv10 значительный вклад в науку, Ultralytics служит мостом между передовыми исследованиями и практичным, надежным производственным программным обеспечением. Недавно выпущенная версия YOLO26 основана на прорывной технологии YOLOv10 , NMS, YOLOv10 интегрирует ее в надежную платформу корпоративного уровня.
Превосходная производительность и эффективность
YOLO26 является рекомендуемым выбором для новых проектов, предлагая явные преимущества по сравнению с YOLOv10 YOLO чистым YOLOv10 :
- Сквозной NMS: Как и YOLOv10, YOLO26 является сквозным по своей сути. Он устраняет NMS , что упрощает процессы развертывания и значительно снижает изменчивость задержки.
- Повышенная стабильность обучения: YOLO26 использует оптимизатор MuSGD, гибрид SGD Muon, вдохновленный обучением больших языковых моделей (LLM). Это нововведение обеспечивает более быструю сходимость и большую стабильность во время обучения, сокращая объем необходимой GPU по сравнению с архитектурами, в которых широко используются трансформаторы.
- Оптимизация полей: благодаря удалению Distribution Focal Loss (DFL) YOLO26 оптимизирует выходной слой, ускоряя CPU на CPU до 43 %. Это крайне важно для полей, где GPU недоступны.
YOLO26 Технологические прорывы
YOLO26 — это не просто новая версия, а комплексное обновление.
- ProgLoss + STAL: усовершенствованные функции потери, которые значительно улучшают распознавание мелких объектов, что крайне важно для изображений с дронов и робототехники.
- Универсальность: в отличие отYOLO, который в первую очередь является детектором, YOLO26 поддерживает оценку позы, сегментацию, классификацию и OBB.
Простота использования и экосистема
Одной из основных проблем, связанных с исследовательскими хранилищами, такими какYOLO сложность настройки и обслуживания. Ultralytics эту проблему с помощью унифицированного Python . Независимо от того, используете ли вы YOLO11, YOLOv10 или YOLO26, рабочий процесс остается неизменным и простым.
Ultralytics (ранее HUB) еще больше ускоряет разработку, предоставляя инструменты для управления наборами данных, автоматической аннотации и экспорта в форматы TensorRT, ONNX и CoreML одним щелчком мыши.
Идеальные варианты использования
Выбор подходящей модели зависит от ваших конкретных ограничений:
- ВыберитеYOLO : Вы проводите исследования в области поиска нейронных архитектур (NAS) или вам требуется специализированная базовая структура для уникальных аппаратных ограничений, для которых стандартные базовые структуры CSP/ELAN являются недостаточными.
- Выберите YOLOv10 : вам нужен конкретный детектор NMS для академического тестирования или у вас есть устаревшее требование к конкретной архитектуре, предложенной в оригинальной статье Цинхуа.
- Выберите Ultralytics , если: Вам нужно готовое к производству современное решение. Его конструкцияNMS в сочетании со стабильностью обучения MuSGD и оптимизированной CPU делает его лучшим универсальным решением. Оно особенно превосходно подходит для приложений реального времени в производстве, аналитике розничной торговли и автономных системах, где важны простота развертывания и долгосрочная поддержка.
Пример кода: Запуск YOLOv10 и YOLO26
Ultralytics с невероятной легкостью переключаться между этими архитектурами. Поскольку YOLOv10 в Ultralytics , вы можете протестировать обе модели с минимальными изменениями в коде.
Запуск YOLOv10
from ultralytics import YOLO
# Load a pre-trained YOLOv10 model
model = YOLO("yolov10n.pt")
# Run inference on an image
results = model("https://ultralytics.com/images/bus.jpg")
# Show results
results[0].show()
Обучение YOLO26
Чтобы использовать последние достижения YOLO26, такие как оптимизатор MuSGD и ProgLoss, обучение на пользовательском наборе данных не представляет сложности:
from ultralytics import YOLO
# Load the latest YOLO26 model
model = YOLO("yolo26n.pt")
# Train on a custom dataset using the new optimizer settings (auto-configured)
model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Export to ONNX for simplified edge deployment
model.export(format="onnx")
Заключение
YOLO YOLOv10 прогрессу в этой области —YOLO эффективной системе NAS, а YOLOv10 удалению NMS. Однако для разработчиков, которые хотят создать надежные, перспективные приложения в 2026 году, Ultralytics предлагает неоспоримое преимущество. Благодаря сочетанию архитектуры YOLOv10 NMS YOLOv10 превосходной динамикой обучения, более быстрым CPU и непревзойденной поддержкой Ultralytics , YOLO26 является лучшим выбором для профессионалов в области компьютерного зрения.
Для тех, кто заинтересован в изучении предыдущих стабильных поколений, YOLO11 остается полностью поддерживаемой и высокопроизводительной альтернативой.