Перейти к содержанию

YOLOv7 YOLOv9: эволюция обнаружения объектов в реальном времени

Область компьютерного зрения переживает бурную эволюцию, и семейство YOLO You Only Look Once) неизменно лидирует в области обнаружения объектов в реальном времени. Двумя важными вехами в этой линейке являются YOLOv7, выпущенная в июле 2022 года, и YOLOv9, выпущенная в феврале 2024 года. Хотя обе архитектуры были разработаны исследователями Института информационных наук Академии Синика, они представляют собой разные поколения оптимизации глубокого обучения.

В этом руководстве представлено техническое сравнение этих двух мощных моделей с анализом их архитектурных инноваций, показателей производительности и идеальных вариантов использования в Ultralytics .

Архитектурные инновации

Основное различие между этими моделями заключается в том, как они управляют распространением признаков и потоком градиента через глубокие сети.

YOLOv7: Набор бесплатных улучшений

Авторы: Чень-Яо Ван, Алексей Бочковский и Хонг-Юань Марк Ляо, YOLOv7 представил E-ELAN (Extended Efficient Layer Aggregation Network). Эта архитектура позволяет сети обучаться более разнообразным особенностям путем контроля самых коротких и самых длинных градиентных путей.

YOLOv7 своим «Bag-of-Freebies» — набором методов обучения, которые повышают точность без увеличения затрат на вывод. К ним относятся методы перепараметризации и вспомогательный контроль головы, которые помогают модели лучше учиться во время обучения, но объединяются или удаляются при экспорте модели для более быстрого развертывания.

Узнайте больше о YOLOv7

YOLOv9: Программируемая градиентная информация

YOLOv9, разработанная Чень-Яо Ваном и Хонг-Юанем Марком Ляо, решает проблему «информационного бутылочного горлышка», присущую глубоким сетям. По мере прохождения данных через последовательные слои входная информация часто теряется. YOLOv9 две революционные концепции, подробно описанные в их статье в Arxiv:

  1. GELAN (Generalized Efficient Layer Aggregation Network): архитектура, сочетающая в себе преимущества CSPNet и ELAN для максимальной эффективности параметров.
  2. PGI (Programmable Gradient Information): вспомогательная система контроля, которая генерирует надежные градиенты для обновления весов сети, обеспечивая сохранение важной информации на всех уровнях сети.

Узнайте больше о YOLOv9

Анализ производительности

При выборе между архитектурами разработчики должны найти баланс между средней точностью (mAP), скоростью вывода и вычислительными затратами (FLOP). В таблице ниже показаны различия в производительности на COCO .

Модельразмер
(пиксели)
mAPval
50-95
Скорость
CPU ONNX
(мс)
Скорость
T4 TensorRT10
(мс)
параметры
(M)
FLOPs
(B)
YOLOv7l64051.4-6.8436.9104.7
YOLOv7x64053.1-11.5771.3189.9
YOLOv9t64038.3-2.32.07.7
YOLOv9s64046.8-3.547.126.4
YOLOv9m64051.4-6.4320.076.3
YOLOv9c64053.0-7.1625.3102.1
YOLOv9e64055.6-16.7757.3189.0

Основные выводы

  • Эффективность: YOLOv9m достигает той же точности (51,4% mAP), что и YOLOv7l, но с почти на 45% меньшим количеством параметров (20,0 млн против 36,9 млн) и значительно более низким количеством FLOP.
  • Скорость: для приложений реального времени, где важна каждая миллисекунда, YOLOv9t предлагает невероятную скорость (2,3 мс на T4 TensorRT), подходящую для периферийных устройств.
  • Точность:YOLOv9e расширяет границы точности обнаружения, достигая 55,6% mAP, что делает его превосходным для задач, требующих высокой точности.

Преимущество экосистемы Ultralytics

Независимо от того, выберете ли вы YOLOv7 YOLOv9, их использование через Python Ultralytics Python обеспечивает единый и оптимизированный опыт.

Простота использования и обучения

Ultralytics сложные циклы обучения, присутствующие в исходных PyTorch . Разработчики могут переключаться между архитектурами, изменяя один строковый аргумент, что упрощает настройку гиперпараметров и экспериментирование.

from ultralytics import YOLO

# Load a pre-trained YOLOv9 model (or substitute with "yolov7.pt")
model = YOLO("yolov9c.pt")

# Train on the COCO8 dataset with efficient memory management
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Validate performance
metrics = model.val()

Управление памятью и ресурсами

Существенным преимуществом Ultralytics является оптимизированное использование памяти. В отличие от многих моделей на основе Transformer (таких как варианты DETR) или более старых двухэтапных детекторов,YOLO Ultralytics YOLO разработаны таким образом, чтобы минимизировать всплески CUDA . Это позволяет исследователям использовать более крупные пакеты данных на потребительских графических процессорах, что делает доступ к обучению высокопроизводительных моделей более демократичным.

Интегрированное управление наборами данных

Ultralytics автоматически Ultralytics загрузку и форматирование наборов данных. Вы можете сразу приступить к обучению с помощью стандартных наборов данных, таких как COCO8 или Objects365, не создавая сложных программ для загрузки данных.

Приложения в реальном мире

Когда выбирать YOLOv7

YOLOv7 надежным выбором для систем, в которых ключевую роль играет совместимость с устаревшими версиями.

  • Установленные конвейеры: проектам, уже интегрированным с конвейерами экспорта C++ 2022 года, может быть проще остаться на YOLOv7.
  • Общее обнаружение: для стандартной видеоаналитики, где абсолютное минимальное количество параметров не является основным ограничением, YOLOv7 демонстрирует отличные результаты.

Когда выбирать YOLOv9

YOLOv9 обычно YOLOv9 для новых развертываний из-за его превосходной эффективности параметров.

  • Edge Computing: Благодаря своей легковесности GELAN делает YOLOv9 для встроенных систем и мобильных приложений, где объем памяти и вычислительные мощности ограничены.
  • Медицинская визуализация: архитектура PGI помогает сохранять мелкозернистую информацию, которая имеет решающее значение при обнаружении небольших аномалий на медицинских сканах.
  • Воздушное наблюдение: Улучшенная функция сохранения деталей помогает обнаруживать небольшие объекты, такие как транспортные средства или домашний скот, на снимках, сделанных с высоты с помощью дронов.

Следующее поколение: YOLO26

Хотя YOLOv7 YOLOv9 отличными моделями, область искусственного интеллекта движется в направлении еще большей простоты и скорости. Представляем YOLO26, последнюю версию от Ultralytics в январе 2026 года.

YOLO26 представляет собой сдвиг парадигмы благодаря своей конструкции End-to-End NMS. Устранив Non-Maximum Suppression (NMS), YOLO26 устраняет основное препятствие в процессе вывода, упрощая развертывание до TensorRT и ONNX.

  • Оптимизатор MuSGD: Вдохновленный инновациями в области обучения LLM (такими как Kimi K2 от Moonshot AI), YOLO26 использует оптимизатор MuSGD для более быстрой конвергенции и большей стабильности.
  • Оптимизация по краям: благодаря удалению Distribution Focal Loss (DFL) и оптимизированным функциям потерь, таким как ProgLoss + STAL, YOLO26 работает на 43 % быстрее на процессорах, что делает его лучшим выбором для пограничного искусственного интеллекта.
  • Универсальность: в отличие от более ранних моделей, которые могли быть ориентированы на конкретные задачи обнаружения, YOLO26 изначально поддерживает оценку позы, сегментацию и ориентированные ограничительные рамки (OBB).

Узнайте больше о YOLO26

Заключение

YOLOv7 YOLOv9 значительный вклад в развитие компьютерного зрения. YOLOv7 высокую планку скорости и точности в 2022 году, а YOLOv9 в 2024 году YOLOv9 новые архитектурные изменения для улучшения градиентного потока и эффективности параметров.

Сегодня разработчики обычно отдают предпочтение YOLOv9 из-за его эффективности или передовой YOLO26 из-за его архитектуры NMS и CPU . Благодаря поддержке надежной Ultralytics переключение между этими моделями для поиска идеального варианта для ваших конкретных задач — будь то мониторинг «умного города» или сельскохозяйственная робототехника— стало проще, чем когда-либо.


Комментарии