Link to this sectionYOLOv9 против YOLOv7#
Эволюция обнаружения объектов в реальном времени обусловлена постоянным стремлением найти баланс между вычислительной эффективностью и высокой точностью. Две знаковые архитектуры на этом пути — YOLOv9 и YOLOv7, обе разработаны исследователями из Института информационных наук Academia Sinica на Тайване. В то время как YOLOv7 представила революционные обучаемые «наборы бесплатных улучшений» (bag-of-freebies), более новая YOLOv9 напрямую решает проблему информационных «бутылочных горлышек» в глубоком обучении.
Это всестороннее техническое сравнение рассматривает архитектурные различия, метрики производительности и идеальные сценарии развертывания для обеих моделей, помогая инженерам по машинному обучению и исследователям выбрать подходящий инструмент для своих конвейеров компьютерного зрения.
Link to this sectionСравнение производительности и метрик#
При сравнении этих моделей критическими факторами являются «сырая» производительность и эффективность. В следующей таблице подробно описаны средняя точность (mAP) и вычислительные требования для стандартных бенчмарков на наборе данных COCO.
| Модель | размер (пиксели) | mAPval 50-95 | Скорость CPU ONNX (мс) | Скорость T4 TensorRT10 (мс) | параметры (М) | FLOPs (Б) |
|---|---|---|---|---|---|---|
| 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 |
| 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), используя при этом значительно меньше параметров (25.3 млн против 71.3 млн) и FLOPs. Это демонстрирует улучшения баланса производительности в современных архитектурах.
Link to this sectionYOLOv9: Решение проблемы информационного узкого места#
Представленная в начале 2024 года, YOLOv9 кардинально изменила то, как глубокие нейронные сети сохраняют данные на протяжении всех своих слоев.
- Авторы: Chien-Yao Wang и Hong-Yuan Mark Liao
- Организация: Institute of Information Science, Academia Sinica
- Дата: 21 февраля 2024 г.
- Ресурсы: Статья на Arxiv | Репозиторий на GitHub
Link to this sectionАрхитектурные инновации#
YOLOv9 представляет Generalized Efficient Layer Aggregation Network (GELAN) и Programmable Gradient Information (PGI). GELAN объединяет сильные стороны CSPNet и ELAN для оптимизации эффективности параметров и вычислительных затрат, обеспечивая высокую точность при меньшем количестве параметров. PGI — это вспомогательная система контроля, предназначенная для предотвращения потери данных в глубоких сетях, генерирующая надежные градиенты для обновления весов в процессе обучения.
Link to this sectionПреимущества и ограничения#
Главная сила YOLOv9 — в ее способности извлекать тонкие признаки без огромных вычислительных затрат, что делает ее невероятно эффективной для задач, требующих высокой точности передачи признаков, например, в медицинском анализе изображений. Однако сложная структура PGI во время обучения может сделать нестандартные архитектурные изменения более трудными для новичков по сравнению с более унифицированными фреймворками.
Link to this sectionYOLOv7: Пионер «наборов бесплатных улучшений»#
Выпущенная в 2022 году, YOLOv7 установила новую планку того, что возможно реализовать на потребительском оборудовании, представив структурные инновации, которые значительно увеличили скорость вывода в реальном времени.
- Авторы: Chien-Yao Wang, Alexey Bochkovskiy и Hong-Yuan Mark Liao
- Организация: Institute of Information Science, Academia Sinica
- Дата: 6 июля 2022 г.
- Ресурсы: Статья на Arxiv | Репозиторий на GitHub
Link to this sectionАрхитектурные инновации#
Ключевой вклад YOLOv7 — Extended Efficient Layer Aggregation Network (E-ELAN). Эта архитектура позволяет модели постоянно изучать более разнообразные признаки. Кроме того, YOLOv7 использует «обучаемые наборы бесплатных улучшений» (trainable bag-of-freebies) — такие методы, как планируемые перепараметризованные свертки и динамическое назначение меток. Эти методы повышают точность модели во время обучения, не увеличивая затраты на вывод во время развертывания.
Link to this sectionПреимущества и ограничения#
YOLOv7 высоко оптимизирована для обработки на периферийных устройствах в реальном времени и остается стандартом для устаревших систем и более старых сред CUDA. Ее основное ограничение сегодня — больший размер параметров по сравнению с более новыми моделями. Как показано в таблице производительности, достижение топовой точности требует использования «тяжелой» модели YOLOv7x, которая потребляет значительно больше видеопамяти GPU, чем эквивалентные современные архитектуры.
Link to this sectionПреимущество Ultralytics: Упрощенное развертывание#
Хотя оригинальные исследовательские репозитории для YOLOv9 и YOLOv7 предоставляют отличную академическую базу, развертывание этих моделей в производственных средах может быть сложным. Интеграция их через пакет ultralytics предлагает непревзойденную простоту использования.
Используя интегрированную платформу Ultralytics, разработчики получают преимущества от хорошо поддерживаемой экосистемы, включающей интуитивно понятный Python API, активную поддержку сообщества и надежное отслеживание экспериментов.
Link to this sectionБудущее с YOLO26#
Если ты начинаешь новый проект в области компьютерного зрения, мы настоятельно рекомендуем изучить недавно выпущенную YOLO26 вместо YOLOv9 и YOLOv7. Выпущенная как новый современный стандарт, YOLO26 приносит новаторские достижения:
- Комплексный дизайн без NMS: Исключает постобработку Non-Maximum Suppression, что значительно снижает сложность развертывания и задержки.
- До 43% быстрее вывод на CPU: Оптимизирована для сред периферийных вычислений, гарантируя, что твое приложение работает плавно даже без выделенных GPU.
- Оптимизатор MuSGD: Гибридный оптимизатор, вдохновленный обучением LLM, обеспечивающий высокостабильную сходимость и сокращающий время обучения.
- Удаление DFL: Упрощен экспорт модели за счет удаления Distribution Focal Loss, что повышает совместимость с мобильными устройствами с низким энергопотреблением.
- ProgLoss + STAL: Радикально улучшает производительность при обнаружении мелких объектов, делая модель лучшим выбором для аэрофотосъемки и видеонаблюдения.
Другие популярные альтернативы в экосистеме включают Ultralytics YOLOv8 и YOLO11, которые предлагают огромную универсальность в таких задачах, как сегментация экземпляров и оценка позы.
Link to this sectionПример реализации#
Обучение и экспорт любой из этих архитектур невероятно просты благодаря единому API. Код ниже демонстрирует оптимизированную эффективность обучения, характерную для инструментов Ultralytics.
from ultralytics import YOLO
# Initialize YOLOv9 or the recommended YOLO26 model
model = YOLO("yolov9c.pt") # Swap with "yolo26n.pt" for faster edge performance
# Train on a custom dataset with built-in data augmentation
results = model.train(data="coco8.yaml", epochs=100, imgsz=640, batch=16, device=0)
# Export the trained model to ONNX format for deployment
model.export(format="onnx")При обучении на потребительском оборудовании важна эффективность памяти. Реализации YOLOv9 и YOLO26 в Ultralytics сильно оптимизированы для снижения скачков VRAM, в отличие от моделей на основе трансформеров (таких как RT-DETR), которые часто страдают от серьезного раздувания памяти во время обучения.
Link to this sectionРеальные применения и идеальные сценарии использования#
Выбор между этими архитектурами часто сводится к конкретным ограничениям твоей производственной среды.
Когда использовать YOLOv9: YOLOv9 превосходит другие модели в средах, где необходимо сохранение мельчайших деталей. Надежное извлечение признаков делает ее идеальной для розничной аналитики для подсчета плотно упакованных товаров на полках или для сельскохозяйственных приложений, где критически важно выявление болезней сельскохозяйственных культур на ранней стадии на маленьких листьях.
Когда использовать YOLOv7: YOLOv7 остается сильным кандидатом для устаревших конвейеров развертывания. Если ты интегрируешь модель в старые аппаратные системы (например, определенные поколения Google Coral Edge TPU), простую архитектуру CNN YOLOv7 может быть легче скомпилировать, чем более сложные градиентные ветви новых моделей.
Когда использовать YOLO26 (рекомендуется): Для любого современного развертывания — от автономных дронов до управления дорожным движением в «умных городах» — YOLO26 является лучшим выбором. Ее архитектура без NMS гарантирует детерминированное время вывода, что критически важно для безопасной робототехники, а ее высокая точность повсеместно превосходит как YOLOv9, так и YOLOv7.