YOLOX против YOLOv10: техническое сравнение
Область обнаружения объектов стремительно развивается, что обусловлено необходимостью создания моделей, обеспечивающих высокую точность и скорость вывода данных в режиме реального времени. YOLOX и YOLOv10 представляют собой две важные вехи на этом пути. YOLOX, выпущенный в 2021 году, возродил семейство YOLO , внедрив архитектуру без якорей, а YOLOv10, выпущенный в 2024 году, устанавливает новый стандарт, устраняя необходимость в немаксимальном подавленииNMS), что значительно сокращает время ожидания вывода.
В этом комплексном анализе рассматриваются архитектурные новшества, показатели производительности и идеальные сценарии использования обеих моделей, что поможет разработчикам и исследователям выбрать лучший инструмент для своих приложений компьютерного зрения.
YOLOX: пионер без якоря
YOLOX был представлен компанией Megvii в 2021 году, ознаменовав собой отход от конструкций на основе якорей, которые доминировали в предыдущих версиях YOLO . Благодаря использованию безъякорного механизма и интеграции передовых технологий, таких как отсоединенные головки и SimOTA, YOLOX достиг конкурентоспособной производительности и преодолел разрыв между исследовательскими рамками и промышленными приложениями.
Технические подробности:
Авторы: Zheng Ge, Songtao Liu, Feng Wang, Zeming Li, and Jian Sun
Organization:Megvii
Date: 2021-07-18
Arxiv:https://arxiv.org/abs/2107.08430
GitHub:https://github.com/Megvii-BaseDetection/YOLOX
Docs:https://yolox.readthedocs.io/en/latest/
Архитектура и ключевые особенности
YOLOX отличается от своих предшественников, таких как YOLOv4 и YOLOv5 реализовав несколько ключевых архитектурных изменений, направленных на улучшение обобщения и упрощение конвейера обучения.
- Механизм без якорей: Удаляя предопределенные якорные блоки, YOLOX устраняет необходимость в ручной настройке якорей, делая модель более устойчивой к различным формам объектов и уменьшая количество параметров проектирования.
- Отсоединенная головка: в отличие от объединенных головок, которые совместно используют функции для классификации и локализации, в YOLOX используется отсоединенная головка. Такое разделение позволяет каждой задаче оптимизировать свои параметры независимо, что приводит к ускорению сходимости и повышению общей точности.
- Назначение этикеток SimOTA: Компания YOLOX представила SimOTA (Simplified Optimal Transport Assignment) - динамическую стратегию присвоения меток, которая рассматривает проблему присвоения как оптимальную транспортную задачу. Этот метод эффективно адаптируется к различным масштабам объектов и повышает стабильность обучения.
- Сильные дополнения: Обучающий конвейер включает в себя дополнения данных MixUp и Mosaic, которые сыграли решающую роль в достижении самых современных результатов на момент его выпуска.
Сильные и слабые стороны
Преимущества:
- Высокая точность: YOLOX демонстрирует высокие показатели mAP в наборе данныхCOCO , особенно в его более крупных вариантах, таких как YOLOX-x.
- Упрощенная конструкция: Безъякорный подход уменьшает эвристические гиперпараметры, упрощая конфигурацию модели.
- Поддержка наследия: Эта модель, уже ставшая традиционной, прошла широкое тестирование в различных академических и промышленных условиях.
Слабые стороны:
- Более высокая задержка: По сравнению с современными детекторами, YOLOX полагается на постобработку NMS , которая может стать узким местом для приложений со сверхнизкой задержкой.
- Стоимость вычислений: для достижения аналогичной точности, как правило, требуется большее количество FLOP и параметров, чем у более новых моделей.
- Интеграция: Несмотря на открытый исходный код, ему не хватает бесшовной интеграции в экосистеме Ultralytics , что потенциально требует больше усилий для развертывания конвейеров.
YOLOv10: сквозное обнаружение в режиме реального времени
Выпущенный в мае 2024 года исследователями из Университета Цинхуа, YOLOv10 представляет собой смену парадигмы в области обнаружения объектов в реальном времени. Благодаря отсутствию необходимости в немаксимальном подавленииNMS) и оптимизации компонентов модели для повышения эффективности, YOLOv10 достигает превосходной скорости и точности при значительно меньших вычислительных затратах.
Технические детали:
Авторы: Ao Wang, Hui Chen, Lihao Liu, et al.
Organization: Университет Цинхуа
Дата: 2024-05-23
Arxiv:https://arxiv.org/abs/2405.14458
GitHub:https://github.com/THU-MIG/yolov10
Docsultralytics
Архитектура и инновации
YOLOv10 фокусируется на целостном проектировании моделей с учетом эффективности и точности, затрагивая как архитектуру, так и конвейер постобработки.
- ОбучениеNMS: Самой новаторской особенностью является использование последовательных двойных назначений. Эта стратегия позволяет обучать модель с помощью богатых сигналов супервизора, обеспечивая при этом сопоставление один к одному во время вывода. Это устраняет необходимость в NMS, которая часто является узким местом при развертывании.
- Целостный дизайн модели: В YOLOv10 используются облегченные классификационные головки, понижающая дискретизация с развязкой по пространственным каналам и ранговый дизайн блоков. Эти оптимизации позволяют сократить избыточность вычислений и уменьшить расход памяти без ущерба для производительности.
- Свертка с большим ядром: Архитектура выборочно использует свертки с большим ядром по глубине для расширения рецептивного поля, что улучшает обнаружение мелких объектов.
Сильные стороны и преимущества
Преимущества:
- Современная эффективность: YOLOv10 предлагает непревзойденный компромисс между скоростью и точностью. Конструкция NMS значительно снижает время задержки при передаче данных из конца в конец.
- Эффективность параметров: По сравнению с предыдущими поколениями он достигает более высокой точности при меньшем количестве параметров, что делает его идеальным для устройств Edge AI, таких как Raspberry Pi.
- Интеграция сUltralytics : Участие в экосистеме Ultralytics обеспечивает простоту использования, хорошую документацию и поддержку различных форматов экспорта, таких как ONNX и TensorRT.
Анализ производительности
В следующей таблице приведено сравнение производительности YOLOX и YOLOv10 на эталонном наборе данныхCOCO . Показатели свидетельствуют о значительном повышении эффективности новой модели.
| Модель | размер (пиксели) | 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 |
| YOLOv10n | 640 | 39.5 | - | 1.56 | 2.3 | 6.7 |
| YOLOv10s | 640 | 46.7 | - | 2.66 | 7.2 | 21.6 |
| YOLOv10m | 640 | 51.3 | - | 5.48 | 15.4 | 59.1 |
| YOLOv10b | 640 | 52.7 | - | 6.54 | 24.4 | 92.0 |
| YOLOv10l | 640 | 53.3 | - | 8.33 | 29.5 | 120.3 |
| YOLOv10x | 640 | 54.4 | - | 12.2 | 56.9 | 160.4 |
Анализ: Полученные данные наглядно демонстрируют превосходство YOLOv10 в эффективности. Например, YOLOv10 достигает значительно более высокого показателя mAP ( 46,7 % ) по сравнению с YOLOX-s (40,5 %), используя при этом меньшее количество параметров (7,2 М против 9,0 М). Примечательно, что YOLOv10 превосходит YOLOX-x по точности (54,4 % против 51,1 %), при этом работает значительно быстрее (12,2 мс против 16,1 мс) и требует почти вдвое меньше параметров (56,9М против 99,1М). Такая эффективность делает YOLOv10 гораздо лучшим выбором для систем реального времени.
Эффективность Инсайт
Отказ от постобработки NMS в YOLOv10 означает более стабильное и предсказуемое время вывода, что является критически важным фактором для таких критически важных приложений, как автономные транспортные средства и промышленная робототехника.
Методологии обучения и экосистема
В то время как в YOLOX были представлены передовые методы аугментации, которые теперь стали стандартом, YOLOv10 пользуется преимуществами зрелой и удобной системы обучения Ultralytics
- Простота использования: Модели Ultralytics славятся своим упрощенным API наPython . Для обучения модели YOLOv10 требуется всего несколько строк кода, в то время как использование YOLOX часто связано с более сложными конфигурационными файлами и управлением зависимостями.
- Развитая экосистема: YOLOv10 полностью интегрирован во фреймворк Ultralytics . Это дает пользователям доступ к таким функциям, как автоматическая настройка гиперпараметров, удобное управление набором данных через Ultralytics Explorer и разнообразные варианты развертывания.
- Эффективность использования памяти: Благодаря оптимизациям Ultralytics такие модели, как YOLOv10 , потребляют меньше памяти CUDA во время обучения по сравнению со старыми архитектурами или моделями с тяжелыми трансформаторами, что позволяет использовать большие объемы партий на потребительских GPU.
Пример кода: Использование YOLOv10
Следующий пример демонстрирует, как легко разработчики могут загрузить предварительно обученную модель YOLOv10 и провести анализ изображения с помощью библиотеки Ultralytics .
from ultralytics import YOLO
# Load a pre-trained YOLOv10n model
model = YOLO("yolov10n.pt")
# Run inference on a local image
results = model("path/to/image.jpg")
# Display the results
results[0].show()
Идеальные варианты использования
Обе модели имеют свое место, но современная архитектура YOLOv10 позволяет использовать ее в более широком спектре современных приложений.
- Краевой искусственный интеллект и IoT: Низкое количество параметров и высокая скорость YOLOv10 делают его идеальным для развертывания на устройствах с ограниченным количеством вычислений, таких как NVIDIA Jetson или умные камеры.
- Высокоскоростное производство: При промышленном контроле, когда конвейерные ленты движутся быстро, вывод YOLOv10 NMS обеспечивает обнаружение объектов в ногу с производственными линиями без узких мест.
- Наблюдение и безопасность: Для анализа нескольких видеопотоков одновременно вычислительная эффективность YOLOv10 позволяет увеличить плотность потоков на один сервер по сравнению с YOLOX.
- Исследовательские базы: YOLOX остается ценной базой для исследователей, изучающих эволюцию безъякорных детекторов и оптимальных методов назначения транспорта.
Заключение
В то время как YOLOX сыграл ключевую роль в популяризации безъякорного обнаружения, YOLOv10 является лучшим выбором для современных разработок. Его инновационная архитектура NMS в сочетании с обширной экосистемой Ultralytics обеспечивает мощное решение, которое является одновременно более быстрым и точным.
Разработчикам, стремящимся к оптимальному соотношению производительности, простоты использования и долгосрочной поддержки, настоятельно рекомендуется YOLOv10 . Кроме того, для тех, кому требуется еще большая универсальность в таких задачах, как оценка позы или сегментация экземпляров, рекомендуется надежная версия YOLO11 служит отличной альтернативой в рамках той же дружественной структуры.
Выбирая модели Ultralytics , вы гарантируете, что ваши проекты будут построены на фундаменте передовых исследований, активной поддержки сообщества и надежности, готовой к производству.