YOLOv7 и YOLOv6-3.0#
Компьютерное зрение постоянно развивается, а новые модели обнаружения объектов расширяют границы скорости и точности. YOLOv7 и YOLOv6-3.0 стали важными этапами этого развития. Обе модели предложили уникальные архитектурные инновации, призванные повысить пропускную способность и точность в реальных приложениях. На этой странице подробно анализируются обе архитектуры, сравниваются их производительность, методики обучения и оптимальные сценарии использования, чтобы ты мог принять обоснованное решение для своего следующего проекта в области искусственного интеллекта.
YOLOv7: первопроходец среди моделей с бесплатными улучшениями#
Выпущенная в середине 2022 года YOLOv7 предложила несколько инновационных стратегий оптимизации архитектуры сети без увеличения стоимости инференса. Основное внимание уделялось обучаемому «набору бесплатных улучшений», позволяющему повысить точность и сохранить производительность в реальном времени.
- Авторы: Chien-Yao Wang, Alexey Bochkovskiy и Hong-Yuan Mark Liao
- Организация: Институт информатики, Академия Синика, Тайвань
- Дата: 2022-07-06
- Arxiv: 2207.02696
- GitHub: WongKinYiu/yolov7
- Документация: Документация Ultralytics YOLOv7
Основные особенности архитектуры#
YOLOv7 отличается сетью расширенной эффективной агрегации слоёв (E-ELAN). Благодаря контролю самых коротких и самых длинных градиентных путей эта архитектура помогает модели обучаться более разнообразным признакам. Кроме того, во время инференса YOLOv7 применяет структурную репараметризацию для объединения свёрточных слоёв, эффективно сокращая число параметров и время вычислений без потери выученных представлений.
В модели также используется уникальная стратегия обучения с вспомогательной головой. «Ведущая голова» отвечает за итоговые предсказания, а «вспомогательная голова» помогает обучать промежуточные слои. Благодаря этому YOLOv7 лучше сходится и извлекает более содержательные признаки, что особенно полезно для сложных задач обнаружения объектов.
YOLOv6-3.0: промышленная пропускная способность#
YOLOv6-3.0 разработал отдел компьютерного зрения и ИИ Meituan специально как «детектор объектов нового поколения для промышленного применения». Модель вышла в начале 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 меняет опыт разработчиков. Пакет Python ultralytics объединяет разнообразные архитектуры в одном интуитивно понятном фреймворке.
- Простота использования: сложные сценарии настройки остались в прошлом. API Ultralytics позволяет создавать, обучать и развёртывать модели YOLOv6 на основе конфигураций YAML или современные модели, такие как YOLO26, написав минимум шаблонного кода. YOLOv7 не поддерживается напрямую: сначала нужно экспортировать контрольные точки исходной YOLOv7 в ONNX или TensorRT. Чтобы переключиться между архитектурами, достаточно просто изменить файл модели.
- Хорошо поддерживаемая экосистема: Ultralytics предоставляет надёжную среду с частыми обновлениями, обеспечивая встроенную совместимость с последними версиями PyTorch и CUDA.
- Эффективность обучения: конвейеры обучения тщательно оптимизированы для эффективного использования ресурсов GPU. Кроме того, моделям Ultralytics YOLO обычно требуется меньше памяти во время обучения, чем тяжёлым моделям на основе Transformer, например RT-DETR, поэтому на потребительском оборудовании можно использовать более крупные размеры пакета.
- Универсальность: помимо стандартного обнаружения объектов с помощью ограничивающих рамок, фреймворк Ultralytics поддерживает такие сложные задачи, как оценка позы и сегментация экземпляров, для совместимых семейств моделей. Такой возможности часто нет в отдельных исследовательских репозиториях.
Пример кода: обучение и инференс#
Интегрировать эти модели в конвейер Python просто. Убедись, что набор данных правильно отформатирован, например соответствует стандарту COCO, и выполни следующие команды:
from ultralytics import YOLO
# Создание модели YOLOv6n на основе её конфигурации YAML (предварительно обученные веса YOLOv6 не предоставляются)
model = YOLO("yolov6n.yaml")
# Обучение модели со встроенным управлением гиперпараметрами
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Запуск инференса на изображении по URL или локальному пути
predictions = model("https://ultralytics.com/images/bus.jpg")
# Визуализация результатов обнаружения
predictions[0].show()Оптимальные сценарии применения#
Когда выбирать YOLOv7#
YOLOv7 отлично подходит для сценариев, где необходимы высокая точность и извлечение признаков с высокой плотностью.
- Сложные системы наблюдения: способность сохранять мелкие детали делает YOLOv7 подходящей для мониторинга людных мест и обнаружения небольших аномалий в инфраструктуре умных городов.
- Академическое тестирование: благодаря всеобъемлющей концепции «набора бесплатных улучшений» модель часто используют в исследованиях как надёжный базовый вариант.
Когда выбирать YOLOv6-3.0#
YOLOv6-3.0 — рабочая лошадка для конвейеров с большим объёмом данных и ускорением на GPU.
- Промышленная автоматизация: идеально подходит для производственных линий и обнаружения дефектов на производстве, где GPU серверного класса одновременно обрабатывают несколько видеопотоков.
- Аналитика с высокой пропускной способностью: отлично подходит для обработки архивов офлайн-видео, когда главная цель — максимальное количество кадров в секунду.
Будущее: YOLO26#
YOLOv7 и YOLOv6-3.0 обладают широкими возможностями, но быстрый темп развития искусственного интеллекта требует ещё большей эффективности. Выпущенная в январе 2026 года Ultralytics YOLO26 знаменует скачок поколений в компьютерном зрении и систематически устраняет ограничения старых архитектур.
Если ты начинаешь новый проект, настоятельно рекомендуем YOLO26 вместо моделей предыдущих поколений. В ней реализовано несколько революционных функций:
- Сквозная архитектура без NMS: развивая идеи YOLOv10, YOLO26 с опциональной головой один-к-одному (
nms=False) обходится без подавления немаксимумов (NMS). Это сокращает затраты на постобработку, упрощает развёртывание в мобильных приложениях и обеспечивает высокодетерминированный инференс с низкой задержкой. - Оптимизатор MuSGD: вдохновлённая передовыми методами обучения LLM, например теми, что использовались для Kimi K2 от Moonshot AI, YOLO26 применяет гибридный оптимизатор, объединяющий SGD и Muon. Это обеспечивает более стабильную динамику обучения и значительно ускоряет сходимость.
- Инференс на CPU до 43% быстрее: благодаря целенаправленному отказу от Distribution Focal Loss (DFL) YOLO26 обеспечивает значительное ускорение на CPU. Это делает модель бесспорным лидером для периферийных устройств, например Raspberry Pi, и удалённых датчиков IoT.
- ProgLoss + STAL: функции потерь, специально разработанные для улучшения распознавания мелких объектов — давней слабой стороны одностадийных детекторов.
Сочетая эти инновации с мощной платформой Ultralytics, YOLO26 обеспечивает непревзойдённые производительность, универсальность и простоту развёртывания для современных специалистов по машинному обучению.