YOLOv8 против YOLOX#
Ландшафт компьютерного зрения претерпел значительные изменения благодаря непрерывной эволюции архитектур обнаружения объектов в реальном времени. Двумя заметными вехами на этом пути являются Ultralytics YOLOv8 и YOLOX. Хотя обе модели используют парадигму проектирования без якорей (anchor-free) для оптимизации предсказаний ограничивающих прямоугольников, они представляют разные эпохи и философии в исследованиях глубинного обучения и разработке развертываемых экосистем.
Это всестороннее техническое сравнение исследует их архитектуры, методологии обучения и показатели производительности в реальных условиях, чтобы помочь разработчикам и исследователям выбрать оптимальное решение для своих приложений в области компьютерного зрения.
История моделей#
Понимание происхождения и целей проектирования каждой среды дает важный контекст для их архитектурных различий и зрелости экосистемы.
Ultralytics YOLOv8#
Разработанная Гленном Джохером (Glenn Jocher), Аюшем Чаурасией (Ayush Chaurasia) и Цзин Цю (Jing Qiu) в компании Ultralytics и выпущенная 10 января 2023 года, YOLOv8 стала значительным шагом вперед в экосистеме Ultralytics. Опираясь на огромный успех YOLOv5, YOLOv8 представила высокоусовершенствованную современную архитектуру, способную изначально решать широкий спектр задач, включая обнаружение объектов, сегментацию экземпляров, классификацию изображений и оценку позы.
Ее главное преимущество заключается в хорошо поддерживаемой экосистеме Ultralytics, которая обеспечивает бесшовный опыт работы по принципу «от новичка до эксперта» с единым Python API, подробной документацией и встроенными интеграциями с MLOps-инструментами, такими как Weights & Biases и Comet.
Исследуй YOLOv8 на платформе Ultralytics
YOLOX#
Представленная Чжэн Ге (Zheng Ge), Сунтоа Лю (Songtao Liu), Фэн Ваном (Feng Wang), Цзэмином Ли (Zeming Li) и Цзянь Сунем (Jian Sun) из Megvii 18 июля 2021 года, YOLOX была нацелена на сокращение разрыва между академическими исследованиями и промышленными приложениями. Подробно описанная в их статье на Arxiv, YOLOX произвела фурор, переведя семейство YOLO на архитектуру без якорей и интегрировав разделенную голову (decoupled head), что повысило стабильность обучения и сходимость.
Несмотря на высокую популярность в 2021 году, репозиторий YOLOX на GitHub остается кодовой базой, ориентированной преимущественно на исследования. В ней отсутствуют широкая универсальность задач и отлаженные конвейеры развертывания, имеющиеся в современных фреймворках, что требует больше ручной настройки для развертывания в продакшене.
Архитектурные инновации#
Обе модели используют подход без анкоров, устраняя необходимость в сложном кластеризации anchor box для конкретных наборов данных перед обучением. Это уменьшает количество эвристических параметров настройки и упрощает «голову» обнаружения.
Разделенные головы и извлечение признаков#
YOLOX стала пионером в интеграции разделенной головы в серию YOLO. Традиционно задачи классификации и регрессии выполнялись в одной унифицированной голове, что часто приводило к конфликтующим градиентам во время обучения. Разделив ветви классификации и локализации, YOLOX добилась более быстрой сходимости.
YOLOv8 переняла и значительно усовершенствовала эту концепцию. Она использует современный модуль C2f (Cross-Stage Partial Bottleneck с двумя свертками) в своем бэкбоне, заменяя старый модуль C3. Это улучшает поток градиентов и представление признаков без значительного увеличения вычислительных затрат. Кроме того, YOLOv8 реализует продвинутую голову обнаружения без анкоров с использованием Task-Aligned Assigner, динамически подбирая положительные образцы на основе комбинации оценок классификации и Intersection over Union (IoU), что приводит к превосходной точности.
Модели Ultralytics YOLO спроектированы с учетом исключительной эффективности памяти. По сравнению с архитектурами на базе Transformer или неоптимизированными исследовательскими кодовыми базами, YOLOv8 требует значительно меньше памяти CUDA во время обучения, что позволяет тебе использовать большие размеры пакетов (batch sizes) на обычном потребительском оборудовании.
Сравнение производительности#
При оценке моделей для реального развертывания баланс между точностью (mAP), задержкой инференса и сложностью модели имеет первостепенное значение. В таблице ниже приведены метрики производительности на наборе данных COCO.
| Модель | размер (пиксели) | mAPval 50-95 | Скорость CPU ONNX (мс) | Скорость T4 TensorRT10 (мс) | параметры (М) | FLOPs (Б) |
|---|---|---|---|---|---|---|
| YOLOv8n | 640 | 37.3 | 80.4 | 1.47 | 3.2 | 8.7 |
| YOLOv8s | 640 | 44.9 | 128.4 | 2.66 | 11.2 | 28.6 |
| YOLOv8m | 640 | 50.2 | 234.7 | 5.86 | 25.9 | 78.9 |
| YOLOv8l | 640 | 52.9 | 375.2 | 9.06 | 43.7 | 165.2 |
| YOLOv8x | 640 | 53.9 | 479.1 | 14.37 | 68.2 | 257.8 |
| 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 |
Как видно, модели YOLOv8 стабильно превосходят свои аналоги YOLOX при сопоставимом количестве параметров. Например, YOLOv8m достигает mAP в 50,2% по сравнению с 46,9% у YOLOXm, демонстрируя существенный скачок в точности при сохранении конкурентоспособной скорости инференса на GPU с использованием TensorRT.
Преимущества обучения и экосистемы#
Одно из самых явных различий между этими двумя решениями — это опыт разработчика. Обучение YOLOX часто требует сложной настройки окружения, внесения правок в скрипты вручную и глубоких знаний внутренней работы PyTorch для отладки утечек памяти или проблем с экспортом.
Напротив, экосистема Ultralytics абстрагирует эту сложность, предоставляя интуитивно понятный Python API и интерфейс командной строки (CLI).
Оптимизированный Python API#
Для обучения современной модели YOLOv8 на собственном наборе данных тебе потребуется всего несколько строк кода:
from ultralytics import YOLO
# Load a pre-trained YOLOv8 model for object detection
model = YOLO("yolov8n.pt")
# Train the model on the COCO8 example dataset
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Easily validate the model
metrics = model.val()
# Export seamlessly to ONNX for production
model.export(format="onnx")Этот API стандартизирует рабочие процессы для задач обнаружения, сегментации и ориентированных ограничивающих прямоугольников (OBB), значительно сокращая время выхода продукта на рынок. Кроме того, встроенные функции экспорта позволяют беспрепятственно конвертировать модели в ONNX, OpenVINO и CoreML без написания пользовательских операторов C++.
Идеальные варианты использования#
Выбор между этими архитектурами зависит от ограничений твоего проекта, хотя YOLOv8 предоставляет гораздо более гибкую основу.
- Высокоскоростная периферийная аналитика (Edge Analytics): Для обработки в реальном времени на таких устройствах, как NVIDIA Jetson, YOLOv8 предлагает непревзойденный баланс скорости и точности, легко развертываясь с помощью встроенной интеграции TensorRT.
- Академические исследования: YOLOX остается ценным образовательным инструментом для исследователей, изучающих переход от методологий на основе анкоров к методологиям без анкоров в PyTorch.
- Сложные многозадачные приложения: Приложения, требующие одновременного отслеживания объектов и сегментации экземпляров, будут сильно выигрывать от использования YOLOv8, так как эти возможности встроены непосредственно в библиотеку Ultralytics.
Взгляд в будущее: альтернативные модели#
Хотя YOLOv8 является огромным шагом вперед по сравнению с YOLOX, сфера ИИ развивается невероятно быстро. Пользователям, начинающим новые проекты, мы настоятельно рекомендуем оценить Ultralytics YOLO26. Выпущенный в январе 2026 года, YOLO26 представляет собой новый золотой стандарт для визуального ИИ.
YOLO26 обладает революционным дизайном без NMS (End-to-End), полностью исключающим постобработку Non-Maximum Suppression для более простых конвейеров развертывания. В сочетании с новым оптимизатором MuSGD и удалением Distribution Focal Loss (DFL), YOLO26 обеспечивает увеличение скорости вывода на CPU до 43% по сравнению с YOLOv8. Также в ней представлены функции потерь ProgLoss + STAL, предлагающие значительные улучшения в распознавании мелких объектов, что критически важно для аэрофотосъемки и робототехники.
В качестве альтернативы пользователи также могут рассмотреть YOLO11 как еще одного сильного и хорошо поддерживаемого предшественника в экосистеме Ultralytics, обеспечивающего надежную производительность в различных задачах.
Заключение#
YOLOX успешно продемонстрировала мощь разделенных голов и дизайна без анкоров в семействе YOLO. Однако Ultralytics YOLOv8 взяла эти концепции, усовершенствовала архитектуру и обернула ее в готовую к производству экосистему, которая остается непревзойденной по простоте использования и универсальности задач. Выбирая модель Ultralytics, ты получаешь доступ к превосходной производительности, экономичному обучению и надежному набору инструментов для развертывания, которые делают переход от экспериментов к реальным результатам бесшовным.