YOLOv6-3.0 и YOLOv7#
Развитие обнаружения объектов в реальном времени сопровождалось быстрым совершенствованием архитектурной эффективности и методик обучения. На эту область повлияли две заметные модели — YOLOv6-3.0 и YOLOv7. Обе системы предложили новые методы баланса скорости инференса и точности обнаружения для развертывания на самых разных устройствах: от мощных серверных GPU до периферийных устройств.
В этом техническом сравнении рассматриваются архитектуры, показатели производительности и подходящие сценарии применения моделей. Также показано, как платформа Ultralytics и новейшая модель YOLO26 развивают эти идеи, упрощая работу разработчиков.
YOLOv6-3.0: оптимизация промышленной пропускной способности#
Разработанная отделом Vision AI компании Meituan, YOLOv6-3.0 была создана специально для промышленных задач с высокой пропускной способностью. Модель ориентирована на максимальную производительность на аппаратных ускорителях и подходит для сред, где возможно пакетное выполнение на выделенных GPU.
- Авторы: Чуйи Ли, Лулу Ли, Ифэй Гэн, Хунлян Цзян, Мэн Чэн, Бо Чжан, Зайдань Кэ, Сяомин Сюй и Сянсян Чу
- Организация: Meituan
- Дата: 2023-01-13
- arXiv: 2301.05586
- GitHub: meituan/YOLOv6
Архитектурные инновации#
YOLOv6-3.0 использует backbone EfficientRep — оптимизированную для аппаратного обеспечения архитектуру, разработанную для эффективного доступа к памяти GPU. Для улучшения объединения признаков разных масштабов в neck модели используется модуль двунаправленной конкатенации (BiC). Благодаря этому сеть эффективнее улавливает сложные пространственные иерархии, чем предыдущие версии.
Кроме того, YOLOv6-3.0 применяет стратегию обучения с помощью якорей (AAT). Этот подход сочетает богатые градиентные сигналы якорного обучения с преимуществами развертывания безъякорного инференса, помогая модели сходиться стабильнее без потери скорости постобработки.
YOLOv6-3.0 отлично работает на серверных GPU, например NVIDIA T4, но сильная зависимость от специфической структурной перепараметризации иногда приводит к неоптимальной задержке на граничных устройствах, работающих исключительно на CPU, по сравнению с более новыми архитектурами.
YOLOv7: первопроходец среди моделей с бесплатными улучшениями#
Выпущенная исследователями из Academia Sinica, YOLOv7 пошла другим путем, сосредоточившись на анализе путей градиента и оптимизациях во время обучения, которые не увеличивают вычислительную нагрузку при инференсе. Авторы называют эту концепцию «набором обучаемых бесплатных преимуществ».
- Авторы: Chien-Yao Wang, Alexey Bochkovskiy и Hong-Yuan Mark Liao
- Организация: Институт информатики, Academia Sinica, Тайвань
- Дата: 2022-07-06
- arXiv: 2207.02696
- GitHub: WongKinYiu/yolov7
Архитектурные инновации#
В основе YOLOv7 лежит расширенная сеть эффективного агрегирования слоев (E-ELAN). E-ELAN оптимизирует путь градиента, позволяя разным слоям обучаться на более разнообразных признаках без изменения исходной топологии сети. В результате получается выразительная модель, способная достигать высокого значения средней точности (mAP).
В YOLOv7 также широко применяется перепараметризация модели: при инференсе сверточные слои объединяются с пакетной нормализацией. Это сокращает количество параметров и ускоряет прямой проход при развертывании с помощью таких фреймворков, как NVIDIA TensorRT или ONNX.
Сравнение производительности#
Результаты оценки этих моделей на наборе данных MS COCO показывают компромисс между легковесными вариантами YOLOv6 и более крупными моделями YOLOv7, ориентированными на точность.
| Модель | размер (пиксели) | mAPval 50-95 | Скорость CPU ONNX (мс) | Скорость T4 TensorRT10 (мс) | параметры (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
| YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
Данные показывают, что YOLOv6-3.0n обеспечивает самый быстрый инференс и подходит для видеоаналитики с высокой частотой кадров. Напротив, YOLOv7x показывает наивысший mAP и лидирует в задачах, где точность обнаружения важнее чистой частоты кадров.
Сценарии использования и рекомендации#
Выбор между YOLOv6 и YOLOv7 зависит от требований твоего проекта, ограничений развертывания и предпочтительной экосистемы.
Когда стоит выбрать YOLOv6#
YOLOv6 — хороший выбор для:
- Развертывание с учетом промышленного оборудования: сценарии, в которых аппаратно-ориентированный дизайн и эффективная репараметризация модели обеспечивают оптимальную производительность на конкретном целевом оборудовании.
- Быстрая одноэтапная детекция: приложения, где приоритетом является максимальная скорость инференса на GPU для обработки видео в реальном времени в контролируемых условиях.
- Интеграция с экосистемой Meituan: команды, уже работающие с технологическим стеком и инфраструктурой развертывания Meituan.
Когда выбирать YOLOv7#
YOLOv7 рекомендуем для таких задач:
- Академические бенчмарки: воспроизведение результатов передового уровня 2022 года или изучение влияния E-ELAN и методов обучаемого набора бесплатных преимуществ.
- Исследования перепараметризации: изучение запланированных перепараметризованных сверток и стратегий комплексного масштабирования моделей.
- Существующие пользовательские конвейеры: проекты с глубоко адаптированными конвейерами на основе конкретной архитектуры YOLOv7, которые сложно переработать.
Когда выбирать Ultralytics (YOLO26)#
Для большинства новых проектов Ultralytics YOLO26 предлагает оптимальное сочетание производительности и удобства разработки:
- Развертывание на периферийных устройствах без NMS: Приложения, которым необходим стабильный инференс с низкой задержкой без усложнения постобработки подавлением немаксимумов.
- Среды только с CPU: устройства без выделенного ускорителя GPU, на которых YOLO26n работает на CPU до 43% быстрее YOLO11n.
- Обнаружение мелких объектов: сложные сценарии, например съемка с дронов или анализ данных датчиков IoT, где ProgLoss и STAL повышают точность распознавания крошечных объектов.
Преимущества Ultralytics: шаг в будущее#
Хотя YOLOv6-3.0 и YOLOv7 стали важными этапами развития, интеграция разрозненных репозиториев в производственные конвейеры часто создает сложности с развертыванием моделей и настройкой гиперпараметров. Экосистема Ultralytics решает эти проблемы благодаря унифицированному и удобному интерфейсу.
Почему стоит выбрать Ultralytics?#
- Простота использования: API Python от Ultralytics позволяет загружать, обучать и экспортировать модели всего несколькими строками кода. Чтобы перейти со старой модели на новейшую архитектуру, достаточно изменить одну строку.
- Поддерживаемая экосистема: Ultralytics регулярно выпускает обновления, активно помогает сообществу и предоставляет подробную документацию.
- Универсальность: в отличие от ранних моделей, ориентированных в основном на ограничивающие рамки, модели Ultralytics изначально поддерживают обучение для нескольких задач, включая сегментацию экземпляров, классификацию изображений, оценку позы и ориентированные ограничивающие рамки (OBB).
- Требования к памяти: во время обучения модели Ultralytics YOLO потребляют меньше памяти, чем архитектуры на основе Transformer, такие как RT-DETR. Благодаря этому исследователи могут эффективно обучать модели на обычном пользовательском оборудовании.
Переход на YOLO26#
Разработчикам, которым нужны лучшие на сегодня показатели, для обнаружения объектов рекомендуем перейти на YOLO26 (выпущена в январе 2026 года). Модель представляет необязательную сквозную архитектуру без NMS (nms=False), которая пропускает этап постобработки с подавлением немаксимумов (NMS) и уменьшает разброс задержки на периферийных устройствах.
Ключевые нововведения YOLO26:
- Оптимизатор MuSGD: гибрид SGD и Muon, вдохновленный методами обучения больших языковых моделей (LLM), обеспечивает стабильную динамику обучения и более быструю сходимость.
- Отказ от DFL: отказ от функции потерь распределенного фокуса упрощает совместимость при экспорте YOLO26 и повышает производительность на устройствах с низким энергопотреблением.
- ProgLoss + STAL: прогрессивная функция потерь и стратегия назначения меток с учетом малых объектов улучшают распознавание небольших объектов.
- Скорость на CPU: YOLO26n обеспечивает инференс на CPU до 43% быстрее, чем YOLO11n, поэтому YOLO26 хорошо подходит для встраиваемых систем, таких как Raspberry Pi, и развертывания с использованием Apple CoreML.
В экосистеме есть и другие эффективные модели — YOLO11 и YOLOv8; обе хорошо подходят для существующих аппаратных интеграций.
Создавая приложения компьютерного зрения на платформе Ultralytics, ты можешь внедрять более новые модели Ultralytics, не переписывая загрузчики наборов данных и скрипты развертывания.
Пример кода: упрощенное обучение#
Следующий фрагмент показывает, как обучить современную модель YOLO26 с помощью API Ultralytics. Тот же процесс подходит для YOLO11 и YOLOv8 и избавляет от шаблонного кода, который обычно требуется в старых репозиториях.
from ultralytics import YOLO
# Загрузи компактную модель YOLO26 для быстрого обучения
model = YOLO("yolo26n.pt")
# Обучи модель на датасете COCO8
# API самостоятельно загружает набор данных, выполняет аугментацию и настраивает гиперпараметры
results = model.train(
data="coco8.yaml",
epochs=100,
imgsz=640,
device="cuda:0", # Автоматически использует ускорение GPU в PyTorch
)
# Выполни сквозной инференс без NMS на тестовом изображении
predictions = model.predict("https://ultralytics.com/images/bus.jpg", nms=False)
# Экспортируй модель в ONNX для кроссплатформенного развертывания
model.export(format="onnx")Заключение#
YOLOv6-3.0 и YOLOv7 успешно решили разные аспекты задачи обнаружения в реальном времени. YOLOv6-3.0 хорошо подходит для специализированных промышленных сред с GPU, а YOLOv7 обеспечивает высокую точность благодаря тщательной оптимизации пути градиента.
Однако для современных приложений, которым нужны универсальность, простое развертывание и передовая производительность, рекомендуем Ultralytics YOLO26. Необязательная голова без NMS, оптимизатор MuSGD и интеграция с платформой Ultralytics помогают быстрее развертывать масштабируемые решения ИИ для компьютерного зрения.