YOLOv9 в сравнении с YOLOv6-3.0: подробное техническое сравнение
Выбор идеальной архитектуры object detection — это важнейший шаг в разработке надежных решений в области компьютерного зрения. Это решение часто сопряжено со сложным компромиссом между точностью, скоростью inference и потреблением вычислительных ресурсов. В этом руководстве представлено всестороннее техническое сравнение между YOLOv9 — современной моделью, известной своей эффективностью архитектуры, и YOLOv6-3.0 — моделью, оптимизированной специально для скорости промышленного развертывания. Мы проанализируем их архитектурные инновации, показатели производительности и идеальные сценарии развертывания, чтобы помочь вам сделать осознанный выбор.
YOLOv9: Переосмысление точности и эффективности
YOLOv9, представленная в начале 2024 года, представляет собой смену парадигмы в detectировании объектов в реальном времени. Она решает фундаментальную проблему потери информации в глубоких нейронных сетях, достигая превосходной точности при сохранении исключительной вычислительной эффективности.
Authors: Chien-Yao Wang and Hong-Yuan Mark Liao
Organization:Institute of Information Science, Academia Sinica, Taiwan
Date: 2024-02-21
Arxiv:https://arxiv.org/abs/2402.13616
GitHub:https://github.com/WongKinYiu/yolov9
Docs:https://docs.ultralytics.com/models/yolov9/
Архитектурные инновации
Основная сила YOLOv9 заключается в двух новаторских концепциях: программируемая градиентная информация (PGI) и обобщенная эффективная сеть агрегации слоев (GELAN). По мере того как сети становятся глубже, важная информация о признаках часто теряется в процессе прямой передачи. PGI борется с этим информационным узким местом, гарантируя сохранение надежной градиентной информации для обновления весов сети. Параллельно GELAN оптимизирует архитектуру для максимального использования параметров, позволяя модели достигать более высокой точности с меньшим количеством параметров и FLOPs по сравнению с традиционными конструкциями.
При использовании в экосистеме Ultralytics, YOLOv9 предлагает удобную среду разработки. Он выигрывает от удобного Python API, исчерпывающей документации и надежной поддержки, что делает его доступным как для исследователей, так и для корпоративных разработчиков.
Сильные стороны
- Превосходная точность: YOLOv9 достигает самых современных показателей mAP на эталонных тестах, таких как набор данных COCO, постоянно превосходя предшественников по точности detect.
- Computational Efficiency: Архитектура GELAN гарантирует, что модель обеспечивает первоклассную производительность без больших вычислительных затрат, обычно связанных с моделями высокой точности, что делает ее подходящей для приложений edge AI.
- Сохранение информации: Смягчая информационное узкое место, PGI позволяет модели изучать более эффективные признаки, что приводит к более надежным обнаружениям в сложных сценах.
- Интеграция в экосистему: Пользователи получают выгоду от полного набора инструментов Ultralytics, включая оптимизированные конвейеры обучения, проверки и развертывания. Модели также оптимизированы для снижения потребления памяти во время обучения по сравнению со многими архитектурами на основе transformer.
- Универсальность: Помимо detect, архитектура поддерживает расширение для других задач, таких как instance segmentation и panoptic segmentation.
Слабые стороны
- Новизна: Будучи относительно новым участником, объем созданных сообществом руководств и примеров реализации сторонних производителей все еще расширяется, хотя официальная поддержка является обширной.
Идеальные варианты использования
YOLOv9 превосходен в сценариях, где точность имеет решающее значение:
- Медицинская визуализация: Анализ высокого разрешения для таких задач, как обнаружение опухолей, где сохранение мелких деталей имеет важное значение.
- Автономное вождение: Критические функции ADAS, требующие точной идентификации пешеходов, транспортных средств и препятствий.
- Промышленный контроль: Выявление мельчайших дефектов в производственных процессах, где пропущенные обнаружения могут привести к дорогостоящим сбоям.
YOLOv6-3.0: создан для промышленной скорости
YOLOv6-3.0 — это третья итерация серии YOLOv6, разработанная командой vision в Meituan. Выпущенный в начале 2023 года, он был разработан с основной целью — максимизировать скорость inference для промышленных применений, особенно на оборудовании GPU.
Авторы: Чуйи Ли, Лулу Ли, Ифэй Генг и др.
Организация:Meituan
Дата: 2023-01-13
Arxiv:https://arxiv.org/abs/2301.05586
GitHub:https://github.com/meituan/YOLOv6
Документация:https://docs.ultralytics.com/models/yolov6/
Архитектурные особенности
YOLOv6-3.0 использует аппаратную нейронную сеть. Он использует эффективный Reparameterization backbone (RepBackbone) и neck, состоящий из гибридных блоков. Эта структура специально настроена для использования возможностей параллельных вычислений GPU, стремясь обеспечить минимально возможную задержку во время inference, сохраняя при этом конкурентоспособную точность.
Сильные стороны
- Высокая скорость inference: Архитектура в значительной степени оптимизирована для пропускной способности, что делает ее одним из самых быстрых вариантов для развертывания на основе GPU.
- Компромисс между скоростью и точностью: Он предлагает убедительный баланс для систем реального времени, где важна каждая миллисекунда, например, для высокоскоростных линий сортировки.
- Промышленная направленность: Модель была разработана для решения практических задач в производстве и средах автоматизации.
Слабые стороны
- Более низкая пиковая точность: Несмотря на скорость, модель обычно уступает YOLOv9 в пиковой точности, особенно в более крупных вариантах модели.
- Ограниченная экосистема: Сообщество и экосистема инструментов меньше по сравнению с широко используемым фреймворком Ultralytics.
- Специфичность задачи: Он в основном ориентирован на обнаружение объектов и не обладает встроенной многозадачностью (например, оценка позы или OBB), которая есть в более новых моделях Ultralytics.
Идеальные варианты использования
YOLOv6-3.0 хорошо подходит для сред с высокой пропускной способностью:
- Наблюдение в реальном времени: Одновременная обработка нескольких видеопотоков для систем охранной сигнализации.
- Сортировка на производственных линиях: Быстрая классификация и локализация объектов на быстро движущихся конвейерных лентах.
Анализ производительности
В приведенном ниже сравнении выделены метрики производительности обеих моделей. Хотя YOLOv6-3.0 предлагает впечатляющую скорость для своих самых маленьких вариантов, YOLOv9 демонстрирует превосходную эффективность, обеспечивая более высокую точность с меньшим количеством параметров в сопоставимых диапазонах.
| Модель | размер (пиксели) | mAPval 50-95 | Скорость CPU ONNX (мс) | Скорость T4 TensorRT10 (мс) | параметры (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv9t | 640 | 38.3 | - | 2.3 | 2.0 | 7.7 |
| YOLOv9s | 640 | 46.8 | - | 3.54 | 7.1 | 26.4 |
| YOLOv9m | 640 | 51.4 | - | 6.43 | 20.0 | 76.3 |
| YOLOv9c | 640 | 53.0 | - | 7.16 | 25.3 | 102.1 |
| YOLOv9e | 640 | 55.6 | - | 16.77 | 57.3 | 189.0 |
| YOLOv6-3.0n | 640 | 37.5 | - | 1.17 | 4.7 | 11.4 |
| YOLOv6-3.0s | 640 | 45.0 | - | 2.66 | 18.5 | 45.3 |
| YOLOv6-3.0m | 640 | 50.0 | - | 5.28 | 34.9 | 85.8 |
| YOLOv6-3.0l | 640 | 52.8 | - | 8.95 | 59.6 | 150.7 |
Основные выводы:
- Король эффективности: YOLOv9-C достигает 53.0% mAP всего с 25.3M параметрами. В отличие от этого, YOLOv6-3.0l требует 59.6M параметров для достижения более низкого mAP в 52.8%. Это иллюстрирует превосходный архитектурный дизайн YOLOv9, который делает «больше с меньшими затратами».
- Пиковая производительность: Модель YOLOv9-E устанавливает высокую планку с 55,6% mAP, предлагая уровень точности, который серия YOLOv6 не достигает в этом сравнении.
- Скорость vs. Точность: YOLOv6-3.0n невероятно быстр (1.17 мс), что делает его жизнеспособным вариантом для экстремально низких задержек, где допустимо снижение точности (37.5% mAP). Однако для приложений общего назначения YOLOv9-T предлагает лучший баланс (38.3% mAP при 2.3 мс) со значительно меньшим количеством параметров (2.0M против 4.7M).
Эффективность памяти
Модели Ultralytics YOLO, включая YOLOv9, известны своим оптимизированным использованием памяти во время обучения. В отличие от некоторых тяжелых моделей на основе transformer, которые требуют огромного объема GPU VRAM, эти модели часто можно обучать на оборудовании потребительского класса, что демократизирует доступ к современной разработке AI.
Обучение и удобство использования
Пользовательский опыт значительно различается между двумя моделями. YOLOv9, полностью интегрированная в экосистему Ultralytics, предлагает оптимизированный рабочий процесс. Разработчики могут использовать простой интерфейс python для обучения, проверки и развертывания моделей всего несколькими строками кода.
from ultralytics import YOLO
# Load a pre-trained YOLOv9 model
model = YOLO("yolov9c.pt")
# Train the model on your custom dataset
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference on an image
results = model.predict("image.jpg")
Эта интеграция обеспечивает доступ к расширенным функциям, таким как автоматическая настройка гиперпараметров, ведение журналов в реальном времени с помощью TensorBoard или Weights & Biases, а также простая экспорт в такие форматы, как ONNX и TensorRT.
В отличие от этого, обучение YOLOv6-3.0 обычно включает в себя навигацию по его конкретному репозиторию GitHub и скриптам обучения, что может представлять собой более крутую кривую обучения для тех, кто привык к принципу plug-and-play библиотеки Ultralytics.
Заключение
В то время как YOLOv6-3.0 остается мощным конкурентом для конкретных промышленных ниш, требующих абсолютно минимальной задержки на GPU оборудовании, YOLOv9 становится превосходным универсальным выбором для современных задач компьютерного зрения.
YOLOv9 предлагает выигрышную комбинацию передовой точности, замечательной эффективности параметров и огромных преимуществ экосистемы Ultralytics. Его способность достигать более высокой точности с более легкими моделями приводит к снижению затрат на хранение и более быстрой передаче в сценариях развертывания на периферии. Кроме того, простота использования, обширная документация и активная поддержка сообщества, связанные с моделями Ultralytics, значительно ускоряют жизненный цикл разработки, позволяя командам уверенно переходить от концепции к развертыванию.
Разработчикам, стремящимся к производительности нового поколения, мы также рекомендуем изучить Ultralytics YOLO11 — нашу последнюю модель, которая еще больше совершенствует эти возможности для еще более широкого спектра задач, включая оценку позы и обнаружение ориентированных объектов. Вы также можете сравнить их с подходами на основе трансформеров, такими как RT-DETR, в нашем центре сравнения моделей.