YOLOv6-3.0 против YOLOv9: индустриальная скорость встречается с современной эффективностью
Выбор оптимальной модели object detection — это важнейшее решение в разработке компьютерного зрения, требующее стратегического баланса между точностью, скоростью inference и вычислительной эффективностью. В этом сравнении рассматриваются технические нюансы YOLOv6-3.0, модели, разработанной Meituan для промышленной пропускной способности, и YOLOv9, современной архитектуры, которая переопределяет эффективность за счет сохранения информации.
YOLOv6-3.0: Оптимизирован для промышленных применений
YOLOv6-3.0 уделяет большое внимание практическим сценариям развертывания, где аппаратная задержка является основным узким местом.
- Авторы: Чуйи Ли, Лулу Ли, Ифэй Генг, Хунлян Цзян, Мэн Чэн, Бо Чжан, Зайдан Ке, Сяомин Сюй и Сянсян Чу
- Организация:Meituan
- Дата: 13.01.2023
- Arxiv:https://arxiv.org/abs/2301.05586
- GitHub:https://github.com/meituan/YOLOv6
- Документация:https://docs.ultralytics.com/models/yolov6/
Архитектура и философия проектирования
YOLOv6-3.0 разработан как аппаратно-ориентированная сверточная нейронная сеть (CNN). Архитектура использует эффективный reparameterization backbone и гибридные блоки (RepBi-PAN) для максимизации пропускной способности на GPU. Адаптируя структуру модели к конкретным характеристикам оборудования, YOLOv6 стремится обеспечить высокую скорость inference без серьезного ущерба для точности. Он служит одноэтапным детектором, оптимизированным для промышленной автоматизации и видеонаблюдения, где обработка в реальном времени является обязательным требованием.
Сильные стороны и ограничения
Преимущества:
- Скорость инференса: Модель превосходно работает в средах с низкой задержкой, особенно на NVIDIA T4 GPU, что делает ее подходящей для высокоскоростных производственных линий.
- Аппаратная оптимизация: Его "удобный для оборудования" дизайн гарантирует, что модель эффективно использует пропускную способность памяти и вычислительные блоки во время развертывания.
Слабые стороны:
- Представление признаков: Отсутствуют передовые методы сохранения информации о градиенте, имеющиеся в новых моделях, таких как YOLOv9, что приводит к более резкому снижению точности при уменьшении размера модели.
- Поддержка экосистемы: Несмотря на эффективность, окружающая экосистема инструментов, поддержки сообщества и простой интеграции менее обширна по сравнению с фреймворком Ultralytics.
- Ограниченная универсальность: В первую очередь ориентирован на detection ограничивающих рамок, с меньшей встроенной поддержкой сложных задач, таких как segment или оценка позы, по сравнению с универсальными моделями Ultralytics.
YOLOv9: Переосмысление точности и потока информации
YOLOv9 представляет новые архитектурные концепции, которые решают фундаментальную проблему потери информации в глубоких сетях, достигая превосходных показателей производительности.
- Авторы: Чен-Яо Ванг и Хонг-Юань Марк Ляо
- Организация:Институт информатики, Academia Sinica, Тайвань
- Дата: 21.02.2024
- Arxiv:https://arxiv.org/abs/2402.13616
- GitHub:https://github.com/WongKinYiu/yolov9
- Документация:https://docs.ultralytics.com/models/yolov9/
Архитектура: PGI и GELAN
YOLOv9 отличается двумя прорывными инновациями: Programmable Gradient Information (PGI) и Generalized Efficient Layer Aggregation Network (GELAN).
- PGI борется с проблемой информационного узкого места, присущей глубоким нейронным сетям. Поддерживая важные данные градиента по слоям, PGI гарантирует, что модель изучает более надежные функции, что приводит к более высокой точности.
- GELAN оптимизирует использование параметров, позволяя модели достигать более высокой точности с меньшим количеством параметров и вычислительных затрат по сравнению с традиционными архитектурами.
В центре внимания инновации: Программируемая градиентная информация (PGI)
Глубокие сети часто теряют информацию, когда данные проходят через последовательные слои, это явление известно как информационное узкое место. PGI в YOLOv9 действует как вспомогательный механизм контроля, гарантируя, что важные данные для обучения целевым объектам сохраняются на протяжении всей глубины сети. Это приводит к значительно лучшему сходимости и точности, особенно для труднообнаруживаемых объектов.
Преимущества экосистемы Ultralytics
Интеграция YOLOv9 в экосистему Ultralytics предоставляет разработчикам явные преимущества:
- Простота использования: Унифицированный Python API и CLI упрощают обучение, проверку и развертывание.
- Баланс производительности: YOLOv9 достигает современного уровня mAP, сохраняя при этом конкурентоспособную скорость инференса, предлагая отличный компромисс для различных приложений.
- Эффективность памяти: Реализации Ultralytics оптимизированы для снижения объема занимаемой памяти во время обучения, что контрастирует с высокими требованиями к VRAM некоторых моделей на основе трансформеров.
- Универсальность: Помимо detect, гибкость архитектуры в рамках фреймворка Ultralytics поддерживает расширение для других задач, подкрепленное сильным сообществом и частыми обновлениями.
Сравнительный анализ производительности
Данные о производительности подчеркивают четкое различие: YOLOv6-3.0 оптимизирован для высокой скорости на конкретном оборудовании, в то время как YOLOv9 доминирует в эффективности (accuracy на параметр).
Например, YOLOv9c достигает 53,0% mAP всего с 25,3M параметрами, превосходя YOLOv6-3.0l (52,8% mAP), которому требуется более чем вдвое больше параметров (59,6M) и значительно более высокие FLOPs. Это говорит о том, что архитектурные инновации YOLOv9 (GELAN и PGI) позволяют ему «учиться больше с меньшими затратами», что делает его очень эффективным выбором для сред с ограниченными ресурсами, которые по-прежнему требуют высокой точности.
И наоборот, YOLOv6-3.0n предлагает чрезвычайно низкую задержку (1.17 мс), что делает ее жизнеспособной для сверхбыстрого вывода в реальном времени, где допустимо снижение точности (37.5% mAP).
| Модель | размер (пиксели) | mAPval 50-95 | Скорость CPU ONNX (мс) | Скорость T4 TensorRT10 (мс) | параметры (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| 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.0 обычно полагается на специфичный для репозитория рабочий процесс, включающий shell-скрипты и файлы ручной конфигурации. Хотя это и мощно, это может представлять собой более крутую кривую обучения для новичков.
В отличие от этого, YOLOv9 выигрывает от оптимизированного рабочего процесса Ultralytics. Обучение современной модели требует минимального количества кода, а экосистема поддерживает беспрепятственный экспорт в такие форматы, как ONNX, TensorRT и CoreML для широкой совместимости развертывания.
Пример: Обучение YOLOv9 с Ultralytics
Интерфейс 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)
Гибкость развертывания
Модели Ultralytics, включая YOLOv9, поддерживают экспорт в один клик в различные форматы, подходящие для периферийного AI и облачного развертывания. Эта гибкость упрощает переход от исследований к производству.
Идеальные варианты использования
YOLOv6-3.0
- Высокоскоростные сборочные линии: Системы контроля качества, где скорость конвейера требует задержки менее 2 мс.
- Выделенное оборудование: Сценарии, работающие на конкретных NVIDIA GPU, где архитектура, учитывающая особенности оборудования, используется в полной мере.
YOLOv9
- Автономные системы:Самоуправляемые транспортные средства и робототехника, требующие высокой точности для безопасной навигации в сложных средах.
- Медицинская визуализация: Приложения, такие как detectирование опухолей, где пропуск небольшой особенности (ложноотрицательный результат) неприемлем.
- Универсальное CV: Разработчикам, которым нужна надежная и простая в использовании модель с отличной документацией и поддержкой сообщества для решения разнообразных задач.
Заключение
Несмотря на то, что YOLOv6-3.0 остается мощным инструментом для специализированных промышленных приложений, в которых приоритет отдается необработанной пропускной способности на конкретном оборудовании, YOLOv9 выделяется как превосходный выбор для большинства современных проектов компьютерного зрения.
Инновационная архитектура PGI и GELAN в YOLOv9 обеспечивает лучший баланс точности и эффективности, часто превосходя YOLOv6 по метрикам производительности на параметр. Кроме того, интеграция с экосистемой Ultralytics гарантирует, что разработчики получат выгоду от оптимизированного рабочего процесса, активного обслуживания и набора инструментов, которые ускоряют путь от данных до развертывания. Для тех, кто ищет перспективную, универсальную и высокопроизводительную модель, YOLOv9 — рекомендуемый путь развития.
Изучите другие модели
Если вы изучаете самые современные варианты, обратите внимание на эти другие мощные модели в библиотеке Ultralytics:
- YOLO11: Последняя эволюция в серии YOLO, предлагающая передовую производительность для обнаружения, сегментации и оценки позы.
- YOLOv8: Весьма популярная и универсальная модель, известная своим балансом скорости и точности при выполнении различных задач.
- RT-DETR: Детектор на основе трансформера, который превосходно справляется с точностью без необходимости использования Non-Maximum Suppression (NMS).