YOLOv10 против YOLOX: техническое сравнение
Выбор оптимальной модели обнаружения объектов необходим для балансировки точности, скорости и вычислительных требований в проектах компьютерного зрения. На этой странице представлено подробное техническое сравнение между YOLOv10 и YOLOX, двумя значительными моделями в области обнаружения объектов. Мы проанализируем их архитектуры, показатели производительности и идеальные варианты использования, чтобы помочь вам выбрать наиболее подходящий вариант для ваших нужд, выделив преимущества YOLOv10 в экосистеме Ultralytics.
YOLOv10: Передовой детектор реального времени с комплексной обработкой
Ultralytics YOLOv10, разработанная исследователями из Университета Цинхуа, представляет собой значительный шаг вперед в обнаружении объектов в реальном времени, поскольку основное внимание уделяется сквозной эффективности. Представленная в мае 2024 года, она устраняет узкие места постобработки и оптимизирует архитектуру для обеспечения превосходной скорости и производительности, что делает ее современным выбором для разработчиков.
Технические детали:
- Авторы: Ao Wang, Hui Chen, Lihao Liu, и др.
- Организация: Университет Цинхуа
- Дата: 2024-05-23
- Arxiv: https://arxiv.org/abs/2405.14458
- GitHub: https://github.com/THU-MIG/yolov10
- Документация: https://docs.ultralytics.com/models/yolov10/
Архитектура и ключевые особенности
YOLOv10 представляет несколько ключевых инноваций для повышения эффективности и производительности:
- Обучение без NMS: Ключевым нововведением является использование согласованных двойных назначений для устранения необходимости в Non-Maximum Suppression (NMS) во время вывода. Это значительно снижает задержку при выводе и упрощает конвейер развертывания, обеспечивая сквозное обнаружение объектов.
- Комплексный подход к эффективности и точности: Архитектура модели была всесторонне оптимизирована для снижения вычислительной избыточности и расширения возможностей. Это включает в себя облегченную классификационную голову и пространственно-канальную разделенную дискретизацию, которая более эффективно сохраняет информацию, снижая при этом вычислительные затраты.
- Превосходный баланс производительности: YOLOv10 достигает отличного компромисса между скоростью и точностью. Он обеспечивает высокие показатели mAP, сохраняя при этом чрезвычайно низкую задержку, что делает его подходящим для широкого спектра сценариев развертывания в реальном мире.
- Интеграция в экосистему Ultralytics: Как часть экосистемы Ultralytics, YOLOv10 выигрывает от оптимизированного пользовательского опыта. Это включает в себя простой Python API, обширную документацию, эффективные процессы обучения с легкодоступными предварительно обученными весами и более низкие требования к памяти по сравнению со многими альтернативами.
Сильные и слабые стороны
Преимущества:
- Исключительная скорость и эффективность: Оптимизирована для работы в реальном времени с низкой задержкой, что делает ее одним из самых быстрых доступных детекторов.
- Вывод без NMS: Упрощает развертывание и ускоряет постобработку, что является критическим преимуществом для производственных систем.
- Передовая производительность: Достигает отличных показателей mAP для различных масштабов моделей (n, s, m, b, l, x), часто превосходя другие модели с меньшим количеством параметров.
- Простота использования: Легко интегрируется в фреймворк Ultralytics, предлагая удобный пользовательский опыт от обучения до развертывания.
- Эффективность обучения: Процесс обучения очень эффективен, поддерживается хорошо поддерживаемым кодом, предварительно обученными весами и активной поддержкой сообщества.
Слабые стороны:
- Относительно новая модель: Будучи более новой моделью, количество примеров, созданных сообществом, и интеграций со сторонними разработчиками все еще растет по сравнению с более старыми, устоявшимися моделями.
Случаи использования
YOLOv10 идеально подходит для требовательных приложений реального времени, где критически важны как скорость, так и точность:
- Edge AI: Идеально подходит для развертывания на устройствах с ограниченными ресурсами, таких как Raspberry Pi и NVIDIA Jetson.
- Системы реального времени: Отлично подходят для автономных транспортных средств, робототехники, высокоскоростной видеоаналитики и видеонаблюдения.
- Высокопроизводительная обработка: Идеально подходит для промышленного контроля и других приложений, требующих быстрого анализа больших потоков данных.
YOLOX: высокопроизводительный детектор без привязки к якорям
YOLOX — это модель детекции объектов без привязки к anchor box, разработанная компанией Megvii в 2021 году. Она была представлена как альтернативный подход в семействе YOLO, направленный на упрощение конвейера детекции при одновременном достижении высокой производительности и устранении разрыва между исследованиями и промышленными приложениями.
Технические детали:
- Авторы: Чжэн Ге, Сунтао Лю, Фэн Ван, Цзэмин Ли и Цзянь Сунь
- Организация: 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 реализует несколько значительных архитектурных изменений по сравнению с более ранними моделями YOLO:
- Anchor-Free Design: Отказ от предопределенных anchor boxes упрощает конвейер обнаружения YOLOX и уменьшает количество гиперпараметров, что может улучшить обобщение.
- Разделенная Head: Она использует отдельные heads для задач классификации и локализации. Такое разделение может улучшить скорость сходимости и точность по сравнению с объединенными heads, используемыми в некоторых более ранних моделях.
- Продвинутые стратегии обучения: YOLOX включает в себя передовые методы, такие как SimOTA (Simplified Optimal Transport Assignment) для динамического назначения меток и мощные методы аугментации данных, такие как MixUp.
Сильные и слабые стороны
Преимущества:
- Высокая точность: Достигает высоких показателей mAP, особенно с его более крупными вариантами, такими как YOLOX-x.
- Простота Anchor-Free (Anchor-Free Simplicity): Уменьшает сложность, связанную с конфигурацией и настройкой якорных прямоугольников.
- Устоявшаяся модель: Будучи доступной с 2021 года, она имеет прочную базу ресурсов сообщества и примеров развертывания.
Слабые стороны:
- Более медленный инференс: Будучи эффективным для своего времени, он может быть медленнее и требовать больше вычислительных ресурсов, чем высокооптимизированные современные модели, такие как YOLOv10, особенно при сравнении моделей с аналогичной точностью.
- Внешняя экосистема: Она изначально не интегрирована в экосистему Ultralytics, что может потребовать больше усилий для развертывания, обучения и интеграции с такими инструментами, как Ultralytics HUB.
- Универсальность задач: YOLOX в основном ориентирован на обнаружение объектов и не имеет встроенной поддержки для других задач компьютерного зрения, таких как сегментация или оценка позы, которые есть в более новых, универсальных моделях от Ultralytics.
Случаи использования
YOLOX — это отличный выбор для:
- Обнаружение объектов общего назначения: Приложения, требующие хорошего баланса между точностью и скоростью, такие как системы безопасности.
- Исследования: Служит надежной отправной точкой для изучения и разработки новых методов обнаружения без привязки к anchor boxes.
- Промышленные приложения: Такие задачи, как контроль качества, где высокая точность является основным требованием.
Анализ производительности: YOLOv10 против YOLOX
В следующей таблице представлено подробное сравнение показателей производительности для различных размеров моделей YOLOv10 и YOLOX, протестированных на наборе данных COCO.
Модель | размер (пиксели) |
mAPval 50-95 |
Скорость CPU ONNX (мс) |
Скорость T4 TensorRT10 (мс) |
параметры (M) |
FLOPs (B) |
---|---|---|---|---|---|---|
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 |
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 |
Из данных очевидно, что YOLOv10 стабильно превосходит YOLOX почти по всем метрикам.
- Точность и эффективность: Модели YOLOv10 достигают более высоких показателей mAP при значительно меньшем количестве параметров и FLOPs. Например, YOLOv10-m достигает 51,3 mAP, имея всего 15,4M параметров, превосходя YOLOX-l (49,7 mAP с 54,2M параметрами) и даже соответствуя YOLOX-x (51,1 mAP с 99,1M параметрами), будучи при этом гораздо более эффективным.
- Скорость инференса: YOLOv10 демонстрирует превосходную скорость. YOLOv10-x на 32% быстрее, чем YOLOX-x, на NVIDIA T4 GPU, и при этом более точен. Это преимущество в эффективности имеет решающее значение для приложений реального времени.
- Размер модели: Параметрическая эффективность YOLOv10 замечательна. Самая большая модель YOLOv10x имеет почти вдвое меньше параметров, чем YOLOX-x, что упрощает ее развертывание в системах с ограничениями по памяти.
Заключение и рекомендации
Несмотря на то, что YOLOX является эффективным и исторически значимым детектором без привязки к якорям, YOLOv10 — явный победитель для новых проектов, особенно для тех, которые требуют высокой производительности и эффективности. Его инновационная конструкция без NMS и целостная архитектурная оптимизация обеспечивают современный баланс скорости и точности, который YOLOX не может обеспечить.
Для разработчиков и исследователей YOLOv10 предлагает убедительные преимущества:
- Превосходная производительность: Лучшая точность с более высокой скоростью и меньшими вычислительными затратами.
- Упрощенное развертывание: Подход без NMS устраняет распространенное узкое место постобработки.
- Надежная экосистема: Интеграция с экосистемой Ultralytics обеспечивает доступ к обширной документации, активной поддержке и оптимизированному рабочему процессу от обучения до производства.
Пользователям, заинтересованным в изучении других современных моделей, Ultralytics предлагает ряд вариантов, включая универсальную YOLOv8, эффективную YOLOv9 и новейшую YOLO11. Вы можете найти дополнительные сравнения, такие как YOLOv10 vs. YOLOv8, чтобы помочь выбрать лучшую модель для ваших конкретных нужд.