YOLOv7 и YOLOv6-3.0#
Область компьютерного зрения постоянно развивается: новые модели обнаружения объектов непрерывно расширяют границы скорости и точности. Двумя значимыми этапами этого развития стали YOLOv7 и YOLOv6-3.0. Обе модели представили уникальные архитектурные инновации, разработанные для максимальной пропускной способности и точности в реальных приложениях. На этой странице приведён подробный технический анализ обеих архитектур, включая сравнение их производительности, методик обучения и оптимальных вариантов применения, чтобы ты мог принять обоснованное решение для своего следующего проекта в области искусственного интеллекта.
YOLOv7: пионер «бесплатных улучшений»#
Выпущенная в середине 2022 года, YOLOv7 представила несколько инновационных стратегий оптимизации архитектуры сети без увеличения затрат на инференс. Основное внимание уделялось обучаемым «бесплатным преимуществам» для повышения точности при сохранении производительности в реальном времени.
- Авторы: Chien-Yao Wang, Alexey Bochkovskiy и Hong-Yuan Mark Liao
- Организация: Институт информационных наук, Academia Sinica, Тайвань
- Дата: 2022-07-06
- Arxiv: 2207.02696
- GitHub: WongKinYiu/yolov7
- Документация: Документация Ultralytics YOLOv7
Основные особенности архитектуры#
YOLOv7 характеризуется своей расширенной сетью агрегации признаков (Extended Efficient Layer Aggregation Network, E-ELAN). Эта архитектура позволяет модели изучать более разнообразные признаки, управляя самыми короткими и самыми длинными путями градиентов. Кроме того, YOLOv7 использует методы структурной репараметризации при инференсе для объединения сверточных слоев, эффективно сокращая количество параметров и время вычислений без ущерба для изученных представлений.
Модель также использует уникальную стратегию обучения со вспомогательной головой. Применяя «основную голову» для получения финальных предсказаний и «вспомогательную голову» для управления обучением промежуточных слоёв, YOLOv7 обеспечивает лучшую сходимость и более глубокое извлечение признаков, что особенно полезно при решении сложных задач обнаружения объектов.
YOLOv6-3.0: производительность промышленного уровня#
Разработанная отделом Meituan Vision AI, YOLOv6-3.0 была специально создана как «детектор объектов следующего поколения для промышленных приложений». Выпущенная в начале 2023 года, она ориентирована на максимальное использование аппаратных ресурсов, особенно на GPU NVIDIA.
- Авторы: Chuyi Li, Lulu Li, Yifei Geng и др.
- Организация: Meituan
- Дата: 2023-01-13
- Arxiv: 2301.05586
- GitHub: meituan/YOLOv6
- Документация: Документация Ultralytics YOLOv6
Основные особенности архитектуры#
YOLOv6-3.0 использует основу EfficientRep, высоко оптимизированную для параллельной обработки на GPU. Это делает модель исключительно эффективной при пакетной обработке в больших масштабах. В версии 3.0 в шейю была добавлена двунаправленная конкатенация (BiC) для улучшения объединения признаков разных масштабов, что повышает способность модели обнаруживать объекты различного размера.
Кроме того, YOLOv6-3.0 использует стратегию обучения с поддержкой якорей (AAT). Этот инновационный подход объединяет преимущества обучения на основе якорей с безъякорным инференсом, позволяя модели использовать стабильность якорей на этапе обучения, сохраняя при этом скорость и простоту безъякорной архитектуры при развёртывании.
Сравнение производительности#
При оценке моделей для использования в продакшене критически важно сбалансировать точность (mAP), скорость инференса и вычислительные затраты (FLOPs). Ниже приведено подробное сравнение стандартных вариантов обеих моделей.
| Модель | размер (пиксели) | 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 |
| 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 |
YOLOv6-3.0 особенно хорошо подходит для GPU-сред с высокой пропускной способностью (например, TensorRT), тогда как YOLOv7 обеспечивает надёжный баланс для систем, где приоритетом является сохранение признаков.
Преимущества Ultralytics#
Хотя отдельные репозитории YOLOv7 и YOLOv6-3.0 обладают широкими возможностями, их использование в экосистеме Ultralytics преобразует опыт разработчика. Пакет ultralytics для Python объединяет эти разнообразные архитектуры в рамках одного интуитивно понятного фреймворка.
- Простота использования: сложные скрипты настройки остались в прошлом. API Ultralytics позволяет загружать, обучать и развёртывать YOLOv7 или YOLOv6 с минимальным количеством шаблонного кода. Ты можешь легко переключаться между архитектурами, просто изменив файл весов модели.
- Экосистема с активной поддержкой: Ultralytics предоставляет надёжную среду с частыми обновлениями, обеспечивая нативную совместимость с последними дистрибутивами PyTorch и версиями CUDA.
- Эффективность обучения: конвейеры обучения глубоко оптимизированы для эффективного использования ресурсов GPU. Кроме того, модели Ultralytics YOLO обычно требуют меньше памяти во время обучения по сравнению с тяжёлыми моделями на основе Transformer (например, RT-DETR), что позволяет использовать большие размеры пакетов на потребительском оборудовании.
- Универсальность: помимо стандартного обнаружения ограничивающих рамок, фреймворк Ultralytics обеспечивает бесшовную поддержку сложных задач, таких как оценка позы и сегментация экземпляров, в совместимых семействах моделей — функция, которой часто нет в отдельных исследовательских репозиториях.
Пример кода: обучение и вывод#
Интегрировать эти модели в свой конвейер на Python очень просто. Убедись, что твой датасет правильно отформатирован (например, в стандартном формате COCO), и выполни следующую команду:
from ultralytics import YOLO
# Load a pretrained YOLOv7 model (or 'yolov6n.pt' for YOLOv6)
model = YOLO("yolov7.pt")
# Train the model with built-in hyperparameter management
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference on an image URL or local path
predictions = model("https://ultralytics.com/images/bus.jpg")
# Visualize the detection results
predictions[0].show()Идеальные сценарии использования#
Когда выбирать YOLOv7#
YOLOv7 превосходно подходит для сценариев, требующих высокой точности и извлечения плотных признаков.
- Сложные системы видеонаблюдения: способность сохранять мелкие детали делает модель подходящей для мониторинга переполненных сцен или обнаружения небольших аномалий в инфраструктуре умного города.
- Академическое сравнение: часто используется в исследованиях как сильная базовая модель благодаря всеобъемлющей философии «бесплатных преимуществ».
Когда выбирать YOLOv6-3.0#
YOLOv6-3.0 — рабочая лошадка для конвейеров с большими объёмами данных и ускорением на GPU.
- Промышленная автоматизация: идеально подходит для производственных линий и обнаружения производственных дефектов, где GPU серверного класса одновременно обрабатывают несколько видеопотоков.
- Аналитика с высокой пропускной способностью: отлично подходит для обработки архивов офлайн-видео, где главной целью является максимальное количество кадров в секунду.
Будущее: YOLO26#
Хотя YOLOv7 и YOLOv6-3.0 обладают широкими возможностями, стремительное развитие искусственного интеллекта требует ещё большей эффективности. Выпущенная в январе 2026 года, Ultralytics YOLO26 представляет собой скачок в развитии компьютерного зрения, системно устраняя ограничения старых архитектур.
Если ты начинаешь новый проект, настоятельно рекомендуется выбрать YOLO26 вместо предыдущих поколений. Модель представляет несколько революционных возможностей:
- Сквозная архитектура без NMS: развивая основы, заложенные в YOLOv10, YOLO26 изначально устраняет подавление немаксимумов (NMS). Это снижает затраты на постобработку, упрощает развёртывание в мобильных приложениях и обеспечивает высокодетерминированный инференс с низкой задержкой.
- Оптимизатор MuSGD: вдохновлённый передовыми методами обучения LLM (например, используемыми в Kimi K2 от Moonshot AI), YOLO26 использует гибридный оптимизатор, объединяющий SGD и Muon. Это обеспечивает более стабильную динамику обучения и значительно более быструю сходимость.
- До 43% более быстрый инференс на CPU: за счёт стратегического удаления распределённых фокальных потерь (DFL) YOLO26 значительно ускоряет работу на CPU. Это делает модель бесспорным лидером для периферийных сред, таких как Raspberry Pi и удалённые IoT-сенсоры.
- ProgLoss + STAL: продвинутые функции потерь, специально разработанные для улучшения распознавания небольших объектов — традиционно слабого места одностадийных детекторов.
Объединяя эти инновации с мощной платформой Ultralytics, YOLO26 обеспечивает непревзойдённые производительность, универсальность и простоту развёртывания для современного инженера по машинному обучению.