YOLOv10 против RT-DETRv2: Техническое сравнение для обнаружения объектов
Выбор оптимальной архитектуры обнаружения объектов - важнейшее решение, требующее поиска компромисса между скоростью вывода, точностью и потребностями в вычислительных ресурсах. В этом подробном руководстве сравниваются YOLOv10передовое развитие семейства YOLO на основе CNN, известное своей эффективностью, и RT-DETRv2сложной модели на основе трансформаторов, предназначенной для решения высокоточных задач. Мы анализируем их архитектурные инновации, показатели производительности и идеальные сценарии развертывания, чтобы помочь вам сделать осознанный выбор для ваших проектов в области компьютерного зрения.
YOLOv10: эффективное обнаружение в режиме реального времени
YOLOv10 представляет собой значительный скачок в линейке YOLO , сфокусированный на устранении узких мест традиционных детекторов реального времени. Разработанная исследователями из Университета Цинхуа, она представляет парадигму обучения NMS, которая упрощает конвейер развертывания, устраняя необходимость в постобработке Non-Maximum Suppression.
- Авторы: Ao Wang, Hui Chen, Lihao Liu, и др.
- Организация:Университет Цинхуа
- Дата: 2024-05-23
- Arxiv:2405.14458
- GitHub:THU-MIG/yolov10
- Документы:ДокументацияYOLOv10
Архитектурные инновации
В YOLOv10 используется целостная конструкция, ориентированная на эффективность и точность. В ней используются последовательные двойные назначения во время обучения, чтобы обеспечить вывод NMS, что значительно снижает задержку. Архитектура также включает легкую классификационную головку и пространственно-канальную развязанную понижающую дискретизацию для минимизации вычислительной избыточности. Такая конструкция обеспечивает высокую скорость работы модели при сохранении конкурентоспособной точности, что делает ее особенно подходящей для пограничных вычислений в условиях нехватки ресурсов.
Вывод NMS
Отказ YOLOv10 от немаксимального подавления (NMS) снижает сложность этапов постобработки. Это приводит к снижению задержек в выводах и упрощает развертывание модели в сквозных конвейерах без использования собственных ядер CUDA для NMS.
Модель эффективно масштабируется в различных размерах, от нано-версии (n) для работы в условиях жестких ограничений до сверхбольшой (x) версии для более высоких требований к точности.
from ultralytics import YOLO
# Load a pre-trained YOLOv10n model
model = YOLO("yolov10n.pt")
# Run inference on an image
results = model.predict("path/to/image.jpg")
RT-DETRv2: Точность на основе трансформатора
RT-DETRv2(Real-Time Detection Transformer v2) опирается на успех оригинальной модели RT-DETR, продолжая совершенствовать применение трансформаторов зрения для обнаружения объектов в реальном времени. Разработанная компанией Baidu, эта модель использует механизмы самовнимания для захвата глобального контекста, часто превосходя аналоги на основе CNN в сложных сценах с окклюзиями.
- Авторы: Wenyu Lv, Yian Zhao, Qinyao Chang и др.
- Организация:Baidu
- Дата: 2024-07-24
- Arxiv:2407.17140
- GitHub:РепозиторийRT-DETRv2
- Документы:ДокументацияRT-DETR
Визуальные трансформаторы в детекции
В отличие от традиционных CNN, которые обрабатывают изображения с помощью локальных рецептивных полей, RT-DETRv2 использует основу Vision Transformer (ViT). Это позволяет модели самостоятельно обрабатывать участки изображения, эффективно понимая взаимосвязь между удаленными объектами в сцене. Хотя эта возможность глобального контекста повышает точность обнаружения, она обычно связана с большими вычислительными затратами по сравнению с оптимизированной архитектурой YOLOv10.
RT-DETRv2 разработан как адаптируемый, предлагая различные масштабы модели для удовлетворения различных потребностей в производительности, хотя он обычно требует больше памяти GPU для обучения и вывода, чем эквивалентные модели YOLO .
Анализ производительности
Приведенное ниже сравнение подчеркивает преимущества каждой архитектуры. YOLOv10 превосходит по скорости и эффективности, предлагая удивительно низкую задержку и количество параметров. Например, модель YOLOv10n работает со скоростью 1,56 мс на GPU T4, что делает ее идеальной для высокоскоростной обработки видео. RT-DETRv2хотя и работает медленнее, обеспечивает высокую точность, особенно в моделях больших размеров, но за счет значительно большего количества FLOP и использования памяти.
| Модель | размер (пиксели) | 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 |
| RTDETRv2-s | 640 | 48.1 | - | 5.03 | 20 | 60 |
| RTDETRv2-m | 640 | 51.9 | - | 7.51 | 36 | 100 |
| RTDETRv2-l | 640 | 53.4 | - | 9.76 | 42 | 136 |
| RTDETRv2-x | 640 | 54.3 | - | 15.03 | 76 | 259 |
Как видно из таблицы, YOLOv10x достигает превосходного показателя mAP в 54,4% по сравнению с RT-DETRv2 в 54,3%, при этом затрачивая на вывод на 23% меньше времени и обладая значительно меньшей площадью модели. Такая эффективность делает YOLOv10 более сбалансированным выбором для большинства приложений, где требуется учет аппаратных ресурсов.
Сильные и слабые стороны
YOLOv10
- Преимущества:
- Низкая задержка: Конструкция NMS позволяет делать выводы очень быстро, что очень важно для приложений, работающих в режиме реального времени.
- Эффективность использования ресурсов: Требует меньше параметров и FLOP, что делает его пригодным для развертывания на пограничных устройствах ИИ, таких как NVIDIA Jetson, или мобильных платформах.
- Интеграция с экосистемой: Полностью интегрирована в экосистему Ultralytics , что позволяет легко экспортировать данные в такие форматы, как ONNX, TensorRT и CoreML.
- Слабые стороны:
- Обнаружение мелких объектов: Чрезвычайно маленькие версии (например, YOLOv10n) могут уступать в точности точности сырой скорости по сравнению с более крупными моделями трансформаторов.
RT-DETRv2
- Преимущества:
- Глобальный контекст: Архитектура трансформеров отлично справляется с пониманием сложных сцен и взаимосвязей между объектами.
- NMS Native: Трансформеры естественным образом избегают NMS, упрощая конвейер постобработки, подобно YOLOv10.
- Слабые стороны:
- Высокая стоимость вычислений: Обучение и выводы требуют значительно больше памяти CUDA и вычислительной мощности.
- Низкая скорость: Механизм самовнушения, несмотря на свою точность, требует больших вычислительных затрат, что приводит к увеличению времени ожидания.
- Сложность развертывания: Модели трансформеров иногда сложнее оптимизировать для определенного встроенного оборудования по сравнению с CNN.
Идеальные варианты использования
Выбор между этими моделями во многом зависит от ваших конкретных операционных ограничений.
- Выбирайте YOLOv10 , если: Вам нужна производительность в реальном времени на граничных устройствах, например, в автономных дронах или мобильных приложениях. Благодаря небольшому объему памяти и высокой скорости он идеально подходит для таких сценариев, как мониторинг трафика или аналитика розничной торговли.
- Выбирайте RT-DETRv2 , если: Вы располагаете достаточными ресурсами GPU и работаете со сложными сценами, где максимальная точность является единственным приоритетом, например, в академических исследованиях высокого уровня или при анализе сложных изображений на стороне сервера.
Преимущество Ultralytics
Несмотря на то, что обе модели обладают привлекательными возможностями, использование Ultralytics YOLO моделей, включая YOLOv10 и самую современную модель YOLO11-дает явное преимущество в жизненном цикле разработки.
- Простота использования: Ultralytics предоставляет унифицированный Python API и CLI , которые стандартизируют обучение, проверку и развертывание. Это позволяет разработчикам переключаться между YOLOv8, YOLOv10, YOLO11 и RT-DETR с помощью одной строки кода.
- Эффективность обучения: Модели Ultralytics оптимизированы для эффективного обучения, часто сходятся быстрее и требуют меньше памяти, чем стандартные реализации. Это позволяет сократить расходы на облачные вычисления и ускорить выход на рынок.
- Универсальность: Помимо обнаружения, система Ultralytics поддерживает сегментацию, оценку позы и OBB, что позволяет расширять возможности проекта без смены инструментов.
- Хорошо поддерживаемая экосистема: Благодаря частым обновлениям, обширным руководствам и процветающему сообществу пользователи получают преимущества от постоянных улучшений и поддержки.
Запуск различных моделей
С помощью API Ultralytics можно легко переключаться между архитектурами:
from ultralytics import RTDETR, YOLO
# Train YOLOv10
model_yolo = YOLO("yolov10n.pt")
model_yolo.train(data="coco8.yaml", epochs=100)
# Train RT-DETR
model_rtdetr = RTDETR("rtdetr-l.pt")
model_rtdetr.train(data="coco8.yaml", epochs=100)
Заключение
Оба YOLOv10 и RT-DETRv2 представляют собой передовую технологию обнаружения объектов. RT-DETRv2 является надежным выбором для задач, ориентированных на исследования, где вычислительные затраты вторичны по отношению к точности. Однако для подавляющего большинства реальных задач, YOLOv10 предлагает превосходный баланс. Сочетание высокой скорости, низкой задержки и эффективности использования ресурсов делает его практическим победителем для инженеров, создающих масштабируемые приложения.
Кроме того, изучение новейших YOLO11 позволяет разработчикам получить доступ к еще большим улучшениям в точности и скорости, и все это в рамках удобной экосистемы Ultralytics . Независимо от того, развертываете ли вы облако или периферию, платформа Ultralytics обеспечивает вас инструментами для эффективного создания решений компьютерного зрения мирового класса.
Изучите другие модели
Если вы заинтересованы в дальнейших сравнениях, ознакомьтесь с ними: