YOLOv8 против YOLOX: всестороннее техническое сравнение
В быстро развивающейся области компьютерного зрения выбор правильной модели обнаружения объектов имеет решающее значение для успеха проекта. В этом сравнении рассматриваются технические нюансы между Ultralytics YOLOv8 и YOLOX, двумя известными безъякорными архитектурами. Мы анализируем их структурные различия, показатели производительности и пригодность для реальных приложений, чтобы помочь разработчикам принять обоснованное решение.
Ultralytics YOLOv8: современный стандарт
YOLOv8 , представленный компанией Ultralytics в 2023 году, представляет собой значительный скачок вперед в серии YOLO . Он был разработан, чтобы объединить высокую производительность с доступным пользовательским интерфейсом, поддерживая широкий спектр задач компьютерного зрения, выходящих за рамки простого обнаружения.
- Авторы: Гленн Джокер, Аюш Чаурасия и Цзин Цю
- Организация:Ultralytics
- Дата: 10.01.2023
- GitHub:https://github.com/ultralytics/ultralytics
- Документы:https://docs.ultralytics.com/models/yolov8/
Ключевая архитектура и особенности
В YOLOv8 используется механизм безъякорного обнаружения, который упрощает процесс обучения, избавляя от необходимости вручную рассчитывать якорные поля. В его архитектуре используется модуль C2f, который заменил модуль C3, использовавшийся в предыдущих версиях, для улучшения градиентного потока и извлечения признаков.
Отличительной особенностью YOLOv8 является его многозадачность. В отличие от многих конкурентов, ограничивающихся ограничивающими рамками, YOLOv8 поддерживает встроенную поддержку:
- Обнаружение объектов
- Сегментация экземпляров
- Классификация изображений
- Оценка позы
- Ориентированная граница (Oriented Bounding Box, OBB)
Использование и экосистема
Одним из самых сильных преимуществ YOLOv8 является его интеграция в экосистему Ultralytics . Разработчики могут получить доступ к модели через упрощенный Python API или мощный интерфейс командной строки (CLI).
from ultralytics import YOLO
# Load a pretrained YOLOv8 model
model = YOLO("yolov8n.pt")
# Run inference on an image
results = model("path/to/image.jpg")
# View results
for result in results:
result.show()
Интегрированные рабочие процессы
YOLOv8 легко интегрируется с Ultralytics HUB, позволяя командам визуализировать наборы данных, обучать модели в облаке и развертывать их на пограничных устройствах без написания сложного шаблонного кода.
YOLOX: пионер без якоря
Выпущенный в 2021 году компанией Megvii, YOLOX стал одним из первых высокопроизводительных детекторов, в котором удалось успешно отсоединить предсказательную головку и удалить якоря, что повлияло на последующие разработки в этой области.
- Авторы: Чжэн Ге, Сунтао Лю, Фэн Ван, Цзэмин Ли и Цзянь Сунь
- Организация:Megvii
- Дата: 18.07.2021
- Arxiv:https://arxiv.org/abs/2107.08430
- GitHub:https://github.com/Megvii-BaseDetection/YOLOX
- Документы:https://yolox.readthedocs.io/en/latest/
Ключевая архитектура и особенности
В YOLOX реализована раздельная структура головы, разделяющая задачи классификации и регрессии на разные ветви. Такой подход помогает модели быстрее сходиться и повышает точность. Кроме того, YOLOX использует SimOTA (Simplified Optimal Transport Assignment) для назначения меток - динамическую стратегию, которая рассматривает процесс обучения как оптимальную транспортную задачу.
Несмотря на то, что YOLOX является инновационной разработкой, она ориентирована в основном на стандартное обнаружение объектов и не поддерживает такие сложные задачи, как сегментация или оценка положения, без существенной доработки.
Сравнительный анализ производительности
При оценке этих моделей для производства первостепенное значение имеет компромисс между скоростью и точностью. В таблице ниже показано, что YOLOv8 постоянно превосходит YOLOX при сопоставимых размерах моделей на наборе данныхCOCO .
Показатели точности и скорости
YOLOv8 демонстрирует превосходную среднюю точность (mAP), особенно в больших вариантах. Например, YOLOv8x достигает mAP 53,9, превосходя YOLOX-x с 51,1. Кроме того, Ultralytics предоставляет прозрачные бенчмарки CPU выводов с использованием ONNXчто подчеркивает оптимизацию YOLOv8 для сред без GPU .
| Модель | размер (пиксели) | mAPval 50-95 | Скорость CPU ONNX (мс) | Скорость T4 TensorRT10 (мс) | параметры (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
Архитектура и эффективность
Хотя модели YOLOX (S/M/L) имеют немного меньше параметров в некоторых конфигурациях, YOLOv8 предлагает лучший баланс производительности. Эффективность YOLOv8 проявляется в ее способности обеспечивать более высокую точность на один параметр. Кроме того, YOLOv8 оптимизирован для повышения эффективности обучения, часто сходится быстрее и требует меньше памяти, чем старые архитектуры. Это очень важно при обучении на пользовательских наборах данных, когда вычислительные ресурсы могут быть ограничены.
Почему стоит выбрать Ultralytics YOLOv8?
Для подавляющего большинства разработчиков и исследователей YOLOv8 является предпочтительным выбором благодаря своей современной архитектуре, надежной поддержке и простоте использования.
1. Простота использования и документация
Ultralytics уделяет первостепенное внимание работе с разработчиками. Обширная документация охватывает все, начиная с установки и заканчивая расширенной настройкой гиперпараметров. В отличие от этого, старые репозитории, такие как YOLOX, часто требуют более ручной настройки и имеют более крутые кривые обучения.
2. Хорошо поддерживаемая экосистема
YOLOv8 выгодно отличается активным сообществом и частыми обновлениями. Проблемы быстро решаются на GitHub, а модель интегрируется с такими инструментами MLOps, как MLflow, TensorBoard и Weights & Biases. Такой уровень поддержки обеспечивает долгосрочную жизнеспособность для коммерческих проектов.
3. Гибкость развертывания
Развертывание моделей в производство упрощается с помощью YOLOv8. Он поддерживает экспорт в один клик в такие форматы, как TensorRT, OpenVINO, CoreML и TFLite. Это делает его идеальным для работы на различном оборудовании, от облачных серверов до устройств Raspberry Pi.
Применение в реальном мире
Производственные предприятия, использующие компьютерное зрение для контроля качества, могут использовать многозадачные возможности YOLOv8. Одна модель может detect дефектные детали (обнаружение) и определять точные границы дефекта (сегментация), повышая точность автоматизированных систем сортировки.
Заключение
Обе архитектуры внесли значительный вклад в область компьютерного зрения. YOLOX помогла популяризировать безъякорное обнаружение и остается уважаемым базовым уровнем в академических исследованиях. Однако, Ultralytics YOLOv8 представляет собой эволюцию этих концепций в готовый к производству фреймворк.
Благодаря превосходным показателямmAP , более широкой поддержке задач и непревзойденной экосистеме YOLOv8 является окончательным решением для современных приложений искусственного интеллекта. Создаете ли вы автономные транспортные средства, интеллектуальные системы безопасности или сельскохозяйственные мониторы, YOLOv8 предоставляет инструменты и производительность, необходимые для достижения успеха.
Изучите другие модели
Область обнаружения объектов развивается быстро. Чтобы убедиться, что вы используете лучший инструмент для ваших конкретных нужд, изучите другие сравнения и новые модели:
- YOLOv8 vs. YOLOv5
- YOLOv8 против YOLOv7
- YOLOv8 vs. RT-DETR
- YOLOv8 против YOLOv10
- Откройте для себя последние новинки YOLO11которая еще больше повышает эффективность и точность.