YOLOX и YOLOv7#
Эволюция обнаружения объектов в реальном времени обусловлена постоянными архитектурными прорывами. Двумя важными вехами на этом пути стали YOLOX и YOLOv7. Выпущенные с разницей менее года, обе модели предложили новые подходы к стандартной парадигме обнаружения объектов, значительно улучшив соотношение скорости и точности.
На этой странице представлен подробный технический анализ YOLOX и YOLOv7: сравниваются их архитектуры, показатели производительности и оптимальные сценарии использования, чтобы помочь разработчикам выбрать подходящий инструмент для развертывания систем компьютерного зрения.
YOLOX: первопроходец в обнаружении без якорей#
Представленная исследователями из Megvii в июле 2021 года, YOLOX стала важным шагом вперед благодаря отказу от традиционных архитектур на основе якорей. Сблизив академические исследования и промышленное применение, YOLOX упростила головку обнаружения и повысила общую производительность.
Ключевые сведения о модели:
- Авторы: Zheng Ge, Songtao Liu, Feng Wang, Zeming Li и Jian Sun
- Организация: Megvii
- Дата: 2021-07-18
- Научная статья: arXiv:2107.08430
- Исходный код: YOLOX от Megvii на GitHub
- Документация: Документация YOLOX на GitHub
Архитектурные инновации#
YOLOX представила подход без якорей, который существенно сократил количество проектных параметров и объем эвристической настройки, необходимых для пользовательских наборов данных. В ней использована раздельная головка, отделяющая задачи классификации и регрессии, что повысило скорость сходимости и точность. Кроме того, YOLOX применяет передовые стратегии аугментации данных, такие как MixUp и Mosaic, для повышения устойчивости модели.
Отказ от якорных блоков позволяет YOLOX сократить вычислительные затраты на расчет пересечения над объединением (IoU) между предсказаниями и эталонными данными во время обучения, что снижает требования к памяти CUDA и ускоряет обучение.
YOLOv7: обучаемый набор бесплатных улучшений#
Выпущенная в июле 2022 года исследователями из Института информационных наук Академии Синика на Тайване, YOLOv7 еще дальше расширила возможности обнаружения объектов в реальном времени. Она представила концепцию «обучаемого набора бесплатных улучшений», установив на момент выпуска новые лучшие результаты на наборе данных MS COCO.
Ключевые сведения о модели:
- Авторы: Chien-Yao Wang, Alexey Bochkovskiy и Hong-Yuan Mark Liao
- Организация: Институт информационных наук Academia Sinica, Тайвань
- Дата: 2022-07-06
- Научная статья: arXiv:2207.02696
- Исходный код: YOLOv7 от WongKinYiu на GitHub
- Документация: Документация Ultralytics по YOLOv7
Архитектурные инновации#
Архитектура YOLOv7 построена вокруг расширенной сети агрегации эффективных слоев (E-ELAN), которая позволяет модели непрерывно изучать более разнообразные признаки без ухудшения пути распространения градиента. Кроме того, YOLOv7 использует методы репараметризации модели, позволяющие упростить сложные многоветвевые сети, применяемые при обучении, до более быстрых сетей с одним путем во время инференса.
Сравнение производительности#
При оценке этих моделей для реальных приложений важно понимать их производительность на разных масштабах. В таблице ниже сравниваются стандартные метрики для YOLOX и YOLOv7 разных размеров.
| Модель | размер (пиксели) | mAPval 50-95 | Скорость CPU ONNX (мс) | Скорость T4 TensorRT10 (мс) | параметры (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOXnano | 416 | 25.8 | - | - | 0.91 | 1.08 |
| YOLOXtiny | 416 | 32.8 | - | - | 5.06 | 6.45 |
| YOLOXs | 640 | 40.5 | - | 2.56 | 9.0 | 26.8 |
| YOLOXm | 640 | 46.9 | - | 5.43 | 25.3 | 73.8 |
| YOLOXl | 640 | 49.7 | - | 9.04 | 54.2 | 155.6 |
| YOLOXx | 640 | 51.1 | - | 16.1 | 99.1 | 281.9 |
| YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
| YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
Анализ#
- Точность: YOLOv7 обычно достигает более высокого mAP по сравнению с эквивалентными моделями YOLOX. Например, YOLOv7x достигает 53.1 mAP, тогда как YOLOXx — 51.1.
- Скорость: хотя обе модели хорошо оптимизированы для выполнения на GPU с использованием TensorRT, архитектура E-ELAN в YOLOv7 обеспечивает немного более высокую пропускную способность для высокопроизводительных приложений, тогда как YOLOX сохраняет отличную задержку на небольших периферийных устройствах.
- Универсальность: YOLOv7 расширила возможности за пределами ограничивающих рамок, нативно предоставляя веса для сегментации экземпляров и оценки позы, что делает ее более универсальной по сравнению с базовым репозиторием YOLOX.
Практические применения#
Выбор между этими моделями часто зависит от конкретной среды развертывания.
Периферийные вычисления и IoT#
Для ограниченных периферийных устройств, таких как Raspberry Pi, или старых мобильных процессоров особенно привлекательны YOLOX-Nano и YOLOX-Tiny. Небольшое количество параметров и архитектура без якорей упрощают их развертывание в средах с низким энергопотреблением для таких задач, как базовое отслеживание движения или работа умного дверного звонка.
Аналитика видео высокой точности#
Для обработки потоков высокого разрешения при обнаружении промышленных дефектов или мониторинге плотного трафика превосходит YOLOv7. Ее надежная агрегация признаков позволяет сохранять высокую точность даже при частичном перекрытии объектов или значительных различиях в их масштабе.
Варианты применения и рекомендации#
Выбор между YOLOX и YOLOv7 зависит от конкретных требований проекта, ограничений развертывания и предпочтений в экосистеме.
Когда стоит выбрать YOLOX#
YOLOX — хороший выбор для:
- Исследования обнаружения без якорей: Академические исследования, в которых чистая безъякорная архитектура YOLOX используется как базовая модель для экспериментов с новыми головками обнаружения или функциями потерь.
- Сверхлёгкие периферийные устройства: Развертывание на микроконтроллерах или устаревшем мобильном оборудовании, где критически важен чрезвычайно малый размер варианта YOLOX-Nano (0.91M параметров).
- Исследования назначения меток SimOTA: Исследовательские проекты, изучающие стратегии назначения меток на основе оптимального транспорта и их влияние на сходимость обучения.
Когда выбирать YOLOv7#
YOLOv7 рекомендуется для:
- Академического тестирования: воспроизведения передовых результатов 2022 года или изучения влияния E-ELAN и методов обучаемого набора бесплатных улучшений.
- Исследований перепараметризации: изучения запланированных перепараметризованных свёрток и стратегий составного масштабирования моделей.
- Существующих пользовательских конвейеров: проектов со значительно изменёнными конвейерами, построенными вокруг специфической архитектуры YOLOv7, которые сложно переработать.
Когда выбирать Ultralytics (YOLO26)#
Для большинства новых проектов Ultralytics YOLO26 предлагает лучшее сочетание производительности и удобства для разработчиков:
- Развертывания на периферийных устройствах без NMS: приложений, требующих стабильного вывода с низкой задержкой без сложной постобработки с подавлением немаксимумов.
- Сред без GPU: устройств без выделенного ускорения GPU, где до 43% более быстрый вывод YOLO26 на CPU дает решающее преимущество.
- Обнаружения мелких объектов: сложных сценариев, таких как аэрофотосъемка с дронов или анализ данных IoT-сенсоров, где ProgLoss и STAL значительно повышают точность обнаружения крошечных объектов.
Преимущества Ultralytics#
Хотя YOLOX и YOLOv7 являются мощными исследовательскими реализациями, переход от исследовательского репозитория к масштабируемой производственной среде может быть сложным. Именно здесь особенно эффективна платформа Ultralytics.
Модели Ultralytics предоставляют унифицированный Python API, превращая обучение, валидацию и развертывание моделей в простые стандартизированные задачи. Тебе не придется сталкиваться с проблемами управления сложными сторонними зависимостями или пользовательскими операторами C++, которые часто встречаются в старых архитектурах.
Кроме того, модели Ultralytics YOLO требуют значительно меньше памяти CUDA во время обучения по сравнению с детекторами на основе Transformer, такими как RT-DETR. Это позволяет использовать большие размеры пакетов, стабилизируя обучение и ускоряя сходимость на пользовательских наборах данных.
Ultralytics изначально поддерживает экспорт моделей в такие отраслевые стандартные форматы, как ONNX, OpenVINO и CoreML, с помощью простого логического флага, значительно упрощая процесс развертывания модели.
Пример кода: обучение с Ultralytics#
Экосистема Ultralytics позволяет легко загружать модели, обучать их и выполнять инференс с использованием YOLOv7 или более новых архитектур всего в нескольких строках кода.
from ultralytics import YOLO
# Load a pre-trained YOLOv7 model
model = YOLO("yolov7.pt")
# Train the model on a custom dataset (e.g., COCO8)
# The API handles data loading, augmentation, and memory management automatically
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference on a test image
predictions = model("path/to/image.jpg")
predictions[0].show()Будущее: Ultralytics YOLO26#
Хотя YOLOv7 и YOLOX стали важными историческими этапами, передовые технологии развиваются стремительно. Выпущенная в январе 2026 года, Ultralytics YOLO26 представляет революционные парадигмы, превосходящие предыдущие модели.
- Сквозная архитектура без NMS: YOLO26 нативно устраняет постобработку подавления немаксимумов (NMS). Это значительно сокращает узкие места, связанные с задержкой, и гарантирует детерминированное время выполнения на различных конфигурациях оборудования.
- До 43% более быстрый инференс на CPU: благодаря удалению Distribution Focal Loss (DFL) и оптимизации глубины сети YOLO26 специально адаптирована для периферийных устройств без выделенного GPU.
- Оптимизатор MuSGD: вдохновленный передовыми методами обучения LLM, оптимизатор MuSGD (гибрид SGD и Muon) обеспечивает исключительную стабильность обучения и более быструю сходимость.
- Улучшенное обнаружение малых объектов: интеграция функций потерь ProgLoss + STAL значительно повышает качество распознавания небольших удаленных объектов, что особенно важно для картографирования с дронов и охранного наблюдения.
- Нативная поддержка задач: YOLO26 обеспечивает полноценную нативную поддержку ориентированных ограничивающих рамок (OBB), сегментации экземпляров и оценки позы в рамках одного оптимизированного API.
Для любого современного разработчика, начинающего сегодня новый проект в области компьютерного зрения, оценка Ultralytics YOLO26 на платформе — рекомендуемый путь к достижению наилучшего баланса скорости, точности и простоты развертывания. Если ты переходишь с предыдущих поколений, таких как YOLO11 или YOLOv8, достаточно изменить строку модели, чтобы сразу получить доступ к превосходным возможностям.