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» — набором методов обучения, которые повышают точность без увеличения затрат на вывод. К ним относятся методы перепараметризации и вспомогательный контроль головы, которые помогают модели лучше учиться во время обучения, но объединяются или удаляются при экспорте модели для более быстрого развертывания.
YOLOv9: Программируемая градиентная информация
YOLOv9, разработанная Чень-Яо Ваном и Хонг-Юанем Марком Ляо, решает проблему «информационного бутылочного горлышка», присущую глубоким сетям. По мере прохождения данных через последовательные слои входная информация часто теряется. YOLOv9 две революционные концепции, подробно описанные в их статье в Arxiv:
- GELAN (Generalized Efficient Layer Aggregation Network): архитектура, сочетающая в себе преимущества CSPNet и ELAN для максимальной эффективности параметров.
- PGI (Programmable Gradient Information): вспомогательная система контроля, которая генерирует надежные градиенты для обновления весов сети, обеспечивая сохранение важной информации на всех уровнях сети.
Анализ производительности
При выборе между архитектурами разработчики должны найти баланс между средней точностью (mAP), скоростью вывода и вычислительными затратами (FLOP). В таблице ниже показаны различия в производительности на COCO .
| Модель | размер (пиксели) | mAPval 50-95 | Скорость CPU ONNX (мс) | Скорость T4 TensorRT10 (мс) | параметры (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
| YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
| 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 |
Основные выводы
- Эффективность: 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).
Заключение
YOLOv7 YOLOv9 значительный вклад в развитие компьютерного зрения. YOLOv7 высокую планку скорости и точности в 2022 году, а YOLOv9 в 2024 году YOLOv9 новые архитектурные изменения для улучшения градиентного потока и эффективности параметров.
Сегодня разработчики обычно отдают предпочтение YOLOv9 из-за его эффективности или передовой YOLO26 из-за его архитектуры NMS и CPU . Благодаря поддержке надежной Ultralytics переключение между этими моделями для поиска идеального варианта для ваших конкретных задач — будь то мониторинг «умного города» или сельскохозяйственная робототехника— стало проще, чем когда-либо.