YOLOv9 и YOLOv7#
Развитие обнаружения объектов в реальном времени определяется непрерывным стремлением совместить вычислительную эффективность с высокой точностью. Среди знаковых архитектур этого направления — YOLOv9 и YOLOv7, разработанные исследователями Института информационных наук Академии Синика на Тайване. YOLOv7 представила обучаемый подход bag-of-freebies, а более новая YOLOv9 напрямую решает проблему информационных бутылочных горлышек глубокого обучения.
В этом техническом сравнении рассматриваются архитектурные различия, показатели производительности и оптимальные сценарии развертывания обеих моделей, чтобы помочь инженерам машинного обучения и исследователям выбрать подходящий инструмент для своих конвейеров компьютерного зрения.
Сравнение производительности и метрик#
При сравнении этих моделей ключевое значение имеют фактическая производительность и эффективность. В таблице ниже приведены показатели средней точности (mAP) и требования к вычислительным ресурсам для стандартного теста на наборе данных COCO.
| Модель | размер (пиксели) | mAPval50-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.2 | 26.7 |
| YOLOv9m | 640 | 51.4 | - | 6.43 | 20.1 | 76.8 |
| YOLOv9c | 640 | 53.0 | - | 7.16 | 25.5 | 102.8 |
| YOLOv9e | 640 | 55.6 | - | 16.77 | 58.1 | 192.5 |
| YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
| YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
Обрати внимание: YOLOv9c обеспечивает почти такую же точность (53.0 mAP), как YOLOv7x (53.1 mAP), используя примерно на 64% меньше параметров (25.5M против 71.3M) и почти вдвое меньше FLOPs (102.8B против 189.9B). Это показывает, насколько современные архитектуры улучшили баланс точности и эффективности.
YOLOv9: решение проблемы информационного узкого места#
YOLOv9, представленная в начале 2024 года, изменила подход к сохранению информации в слоях глубоких нейронных сетей.
- Авторы: Chien-Yao Wang и Hong-Yuan Mark Liao
- Организация: Институт информатики Академии Синика
- Дата: 21 февраля 2024 года
- Материалы: Статья на arXiv | Репозиторий на GitHub
Архитектурные инновации#
В YOLOv9 представлены обобщенная эффективная сеть агрегации слоев (GELAN) и программируемая информация о градиентах (PGI). GELAN объединяет преимущества CSPNet и ELAN, оптимизируя эффективность использования параметров и вычислительные затраты, чтобы обеспечивать высокую точность при меньшем количестве параметров. PGI — это вспомогательная система обучения с учителем, разработанная для предотвращения потери данных в глубоких сетях и формирования надежных градиентов для обновления весов в процессе обучения.
Сильные стороны и ограничения#
Главное преимущество YOLOv9 — способность извлекать тонкие признаки без больших вычислительных затрат, что делает модель подходящей для задач, требующих высокой точности представления признаков, например анализа медицинских изображений. Однако сложная структура PGI на этапе обучения может затруднить начинающим внесение изменений в архитектуру по сравнению с более унифицированными фреймворками.
YOLOv7: первопроходец среди моделей с бесплатными улучшениями#
Выпущенная в 2022 году YOLOv7 установила новый стандарт обнаружения объектов в реальном времени, предложив архитектурные новшества, которые значительно повысили скорость инференса в реальном времени.
- Авторы: Chien-Yao Wang, Alexey Bochkovskiy и Hong-Yuan Mark Liao
- Организация: Институт информатики Академии Синика
- Дата: 6 июля 2022 года
- Материалы: Статья на arXiv | Репозиторий на GitHub
Архитектурные инновации#
Главный вклад YOLOv7 — расширенная эффективная сеть агрегации слоёв (E-ELAN). Эта архитектура позволяет модели постоянно обучаться извлечению более разнообразных признаков. Кроме того, YOLOv7 использует «обучаемые бесплатные улучшения» — например, заранее запланированные перепараметризованные свёртки и динамическое назначение меток. Эти методы повышают точность модели во время обучения, не увеличивая затраты на инференс при развёртывании.
Сильные стороны и ограничения#
YOLOv7 отлично оптимизирована для обработки в реальном времени на периферийных устройствах и остается распространенным решением в старых системах и устаревших средах CUDA. Сегодня ее основное ограничение — большее число параметров по сравнению с новыми моделями. Как видно из таблицы производительности, для достижения максимальной точности нужна более крупная YOLOv7x, которой требуется значительно больше памяти GPU, чем сопоставимым современным архитектурам.
Преимущества Ultralytics: упрощённое развёртывание#
Оригинальные исследовательские репозитории YOLOv9 и YOLOv7 — отличная академическая основа, но развертывание этих моделей в производственной среде может быть сложным. Развертывание становится намного проще при интеграции YOLOv9 через пакет ultralytics (YOLOv7 поддерживается только через экспортированные модели ONNX или TensorRT).
Используя платформу Ultralytics, разработчики получают преимущества хорошо поддерживаемой экосистемы: интуитивно понятный Python API, активное сообщество и надежное отслеживание экспериментов.
Готовность к будущему с YOLO26#
Если ты начинаешь новый проект в области компьютерного зрения, Ultralytics рекомендует выбрать YOLO26, выпущенную в январе 2026 года, вместо YOLOv9 и YOLOv7. В YOLO26 появились несколько усовершенствований:
- Сквозная архитектура без NMS: Опциональная голова один-к-одному (
nms=False) пропускает этап подавления немаксимумов (NMS), упрощая развертывание и снижая задержку. - Инференс на CPU до 43% быстрее: YOLO26n работает на CPU до 43% быстрее YOLO11n, поэтому приложения плавно работают в средах периферийных вычислений даже без выделенных GPU.
- Оптимизатор MuSGD: Гибрид SGD и Muon, вдохновленный обучением LLM, обеспечивает стабильную сходимость и сокращает время обучения.
- Удаление DFL: Упрощает экспорт модели за счёт удаления Distribution Focal Loss, повышая совместимость с маломощными мобильными устройствами.
- ProgLoss + STAL: Прогрессивная функция потерь и назначение меток с учетом малых объектов (STAL) повышают точность обнаружения мелких объектов, что полезно для аэрофотосъемки и видеонаблюдения.
Среди других популярных альтернатив в экосистеме — Ultralytics YOLOv8 и YOLO11. Обе модели поддерживают множество задач, например сегментацию экземпляров и оценку позы.
Пример реализации#
Как показывает приведенный ниже код, обучать и экспортировать YOLOv9 или YOLO26 с помощью единого API просто.
from ultralytics import YOLO
# Инициализация YOLOv9 или рекомендованной модели YOLO26
model = YOLO("yolov9c.pt") # Замени на «yolo26n.pt» для более высокой производительности на периферийных устройствах
# Обучи модель на собственном наборе данных со встроенной аугментацией данных
results = model.train(data="coco8.yaml", epochs=100, imgsz=640, batch=16, device=0)
# Экспортируй обученную модель в формат ONNX для развёртывания
model.export(format="onnx")При обучении на потребительском оборудовании крайне важно эффективно использовать память. Реализации YOLOv9 и YOLO26 в Ultralytics оптимизированы для сокращения использования VRAM, в отличие от моделей на основе Transformer (например, RT-DETR), которым во время обучения часто требуется гораздо больше памяти.
Применение в реальном мире и подходящие сценарии использования#
Выбор между этими архитектурами часто зависит от конкретных ограничений производственной среды.
Когда использовать YOLOv9: YOLOv9 отлично подходит для задач, в которых важно сохранять мелкие детали. Надежное извлечение признаков делает модель эффективным решением для аналитики розничной торговли, например для подсчета плотно расположенных товаров на полках, а также для сельского хозяйства, где важно выявлять ранние стадии заболеваний культур по небольшим листьям.
Когда использовать YOLOv7: YOLOv7 остаётся хорошим выбором для старых конвейеров развёртывания. Если ты интегрируешь модель в устаревшие аппаратные системы (например, в некоторые поколения Google Coral Edge TPU), простую архитектуру CNN в YOLOv7 может быть легче скомпилировать, чем более новые модели.
Когда использовать YOLO26 (рекомендуется): Для любого современного развертывания — от автономных дронов до управления дорожным движением в умном городе — YOLO26 станет более подходящим выбором. Архитектура без NMS обеспечивает предсказуемое время инференса, что важно для робототехники, где критична безопасность; кроме того, при сопоставимых размерах модель точнее и YOLOv9, и YOLOv7.
Комментарии
Задай вопрос, поделись результатами или помоги кому-нибудь.