EfficientDet против RTDETRv2#
Выбор оптимальной архитектуры для проектов по computer vision требует работы со множеством нейронных сетей. Это руководство исследует детальное техническое сравнение двух различных подходов: EfficientDet, высокомасштабируемого семейства сверточных нейронных сетей (CNN), и RTDETRv2, современной модели трансформера реального времени. Мы оцениваем их структурные различия, методы обучения и пригодность для развертывания в различных аппаратных средах.
Понимая компромиссы между устаревшей эффективностью и возможностями современных трансформеров, ты сможешь принимать обоснованные решения. Кроме того, мы рассмотрим, как современные альтернативы вроде нового Ultralytics YOLO26 стирают границы, предлагая непревзойденную скорость, точность и простоту использования.
Понимание EfficientDet#
EfficientDet произвела революцию в object detection, внедрив принципиальный подход к масштабированию моделей.
- Авторы: Минсин Тан, Руомин Пан и Куок В. Ле
- Организация: Google
- Дата: 20 ноября 2019 г.
- Arxiv: https://arxiv.org/abs/1911.09070
- GitHub: Google AutoML Repository
- Docs: EfficientDet Documentation
Архитектура и основные концепции#
В основе EfficientDet лежит EfficientNet в качестве бэкбона и двунаправленная пирамидальная сеть признаков (BiFPN). BiFPN обеспечивает простую и быструю интеграцию признаков различных масштабов путем применения обучаемых весов для определения важности различных входных данных. Это сочетается с методом составного масштабирования, который равномерно и одновременно масштабирует разрешение, глубину и ширину для всей сети: бэкбона, сети признаков и сетей предсказания рамок/классов.
Преимущества и ограничения#
Главная сила EfficientDet заключается в эффективности использования параметров. На момент выхода модели, такие как EfficientDet-D0, достигали более высокой точности при меньшем количестве параметров и операций FLOP по сравнению с предыдущими версиями YOLO. Это сделало их очень привлекательными для сред с жесткими ограничениями по вычислительным ресурсам.
Однако EfficientDet полагается на стандартное подавление немаксимумов (NMS) при постобработке для фильтрации перекрывающихся рамок, что может стать «узким местом» и вызывать задержки в конвейерах реального времени. Кроме того, хотя процесс обучения хорошо документирован, донастройка EfficientDet может быть более сложной по сравнению с высокооптимизированными решениями для разработчиков, доступными в современных инструментах.
Хотя EfficientDet проложила путь для масштабируемых сетей, развертывание этих моделей на современных NPU часто требует сложной ручной оптимизации. Для упрощения развертывания новые Ultralytics models предлагают функционал экспорта в 1 клик.
Знакомство с RTDETRv2#
RTDETRv2 представляет собой эволюцию архитектур на основе трансформеров, меняя парадигму от традиционных CNN, использующих анкоры.
- Авторы: Wenyu Lv, Yian Zhao, Qinyao Chang, Kui Huang, Guanzhong Wang и Yi Liu
- Организация: Baidu
- Дата: 24.07.2024
- Arxiv: https://arxiv.org/abs/2407.17140
- GitHub: Репозиторий RT-DETR
- Документация: Документация RTDETRv2
Достижения в трансформерах#
RTDETRv2 опирается на базовую модель Real-Time Detection Transformer (RT-DETR). Она использует механизмы глобального внимания, позволяя модели понимать сложный контекст сцены без локализованных ограничений стандартных сверток. Самое значительное архитектурное преимущество — это встроенный дизайн без NMS. Предсказывая объекты напрямую из входного изображения, модель упрощает конвейер вывода, избавляя от эвристической настройки, требуемой постпроцессингом NMS.
Сильные и слабые стороны#
RTDETRv2 превосходно справляется в условиях высокой плотности, где перекрывающиеся объекты ставят в тупик традиционные CNN. Она демонстрирует высокую точность на сложных эталонных datasets like COCO.
Несмотря на точность, модели-трансформеры закономерно требуют значительного объема памяти. Эффективность обучения заметно ниже: для сходимости требуется значительно больше эпох и больший объем памяти CUDA по сравнению с CNN. Это делает RTDETRv2 менее подходящим вариантом для разработчиков с ограниченным облачным бюджетом или тех, кому нужно быстрое прототипирование.
Обучение моделей-трансформеров, таких как RTDETRv2, обычно требует мощных GPU. Если ты сталкиваешься с ошибками нехватки памяти (OOM), рассмотри использование моделей с меньшими требованиями к памяти во время обучения, например серии Ultralytics YOLO.
Сравнение эталонных показателей производительности#
Понимание базовых performance metrics жизненно важно для выбора модели. В следующей таблице представлено сравнение EfficientDet и RTDETRv2 в различных размерах.
| Модель | размер (пиксели) | mAPval 50-95 | Скорость CPU ONNX (мс) | Скорость T4 TensorRT10 (мс) | параметры (М) | FLOPs (Б) |
|---|---|---|---|---|---|---|
| EfficientDet-d0 | 640 | 34.6 | 10.2 | 3.92 | 3.9 | 2.54 |
| EfficientDet-d1 | 640 | 40.5 | 13.5 | 7.31 | 6.6 | 6.1 |
| EfficientDet-d2 | 640 | 43.0 | 17.7 | 10.92 | 8.1 | 11.0 |
| EfficientDet-d3 | 640 | 47.5 | 28.0 | 19.59 | 12.0 | 24.9 |
| EfficientDet-d4 | 640 | 49.7 | 42.8 | 33.55 | 20.7 | 55.2 |
| EfficientDet-d5 | 640 | 51.5 | 72.5 | 67.86 | 33.7 | 130.0 |
| EfficientDet-d6 | 640 | 52.6 | 92.8 | 89.29 | 51.9 | 226.0 |
| EfficientDet-d7 | 640 | 53.7 | 122.0 | 128.07 | 51.9 | 325.0 |
| 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 |
Сценарии использования и рекомендации#
Выбор между EfficientDet и RT-DETR зависит от твоих конкретных проектных требований, ограничений развертывания и предпочтений в экосистеме.
Когда стоит выбрать EfficientDet#
EfficientDet — отличный выбор, если:
- Конвейеры Google Cloud и TPU: Системы с глубокой интеграцией в Google Cloud Vision API или инфраструктуру TPU, где EfficientDet имеет встроенную оптимизацию.
- Исследования составного масштабирования: Академическое тестирование, сфокусированное на изучении эффектов сбалансированного масштабирования глубины, ширины и разрешения сети.
- Мобильное развертывание через TFLite: Проекты, которым специально требуется экспорт TensorFlow Lite для Android или встраиваемых устройств Linux.
Когда выбирать RT-DETR#
RT-DETR рекомендуется для:
- Исследований детектирования на основе Transformer: проектов, изучающих механизмы внимания и архитектуры трансформеров для end-to-end детектирования объектов без NMS.
- Сценариев с высокой точностью и гибкой задержкой: приложений, где точность детектирования является главным приоритетом, а немного большая задержка вывода допустима.
- Детектирования крупных объектов: сцен преимущественно со средними и крупными объектами, где глобальный механизм внимания трансформеров дает естественное преимущество.
Когда выбирать Ultralytics (YOLO26)#
Для большинства новых проектов Ultralytics YOLO26 предлагает наилучшее сочетание производительности и удобства для разработчика:
- Развертывания на периферии без NMS: приложений, требующих стабильного вывода с низкой задержкой без сложности постобработки подавления немаксимумов.
- Среды только с CPU: устройств без выделенного GPU-ускорения, где до 43% более быстрый вывод на CPU у YOLO26 дает решающее преимущество.
- Обнаружение малых объектов: Сложные сценарии, такие как aerial drone imagery или анализ с помощью IoT-сенсоров, где ProgLoss и STAL значительно повышают точность для крошечных объектов.
Преимущество Ultralytics: представляем YOLO26#
Хотя EfficientDet и RTDETRv2 закрепили свои позиции в истории computer vision, современные производственные среды требуют идеального баланса скорости, точности и исключительного опыта разработчика. Недавно выпущенный Ultralytics YOLO26 объединяет лучшие аспекты этих непохожих архитектур.
YOLO26 выделяется тем, что объединяет оптимизированную экосистему, которой славится Ultralytics, с прорывной внутренней механикой.
Почему стоит выбрать YOLO26 вместо конкурентов?#
- Сквозной дизайн без NMS: Вдохновляясь трансформерами, такими как RTDETRv2, YOLO26 является изначально сквозной моделью. Она исключает постобработку NMS, гарантируя более быстрое и простое развертывание без огромного избытка параметров, присущего чистым трансформерам.
- Оптимизатор MuSGD: Вдохновленный инновациями в обучении больших языковых моделей (таких как Kimi K2 от Moonshot AI), YOLO26 использует гибрид SGD и Muon. Это обеспечивает беспрецедентную стабильность обучения и значительно более быструю сходимость по сравнению с длительными циклами, необходимыми для RTDETRv2.
- Optimized for Edge: Благодаря ускорению вывода на CPU до 43%, YOLO26 создана для edge AI. Она легко превосходит тяжелые модели-трансформеры на ограниченном железе, таком как мобильные телефоны и умные камеры.
- DFL Removal: Удаление Distribution Focal Loss упрощает граф модели, облегчая бесшовный экспорт в TensorRT и ONNX.
- ProgLoss + STAL: Эти продвинутые функции потерь дают заметные улучшения в распознавании мелких объектов, решая распространенную проблему в аэрофотосъемке и робототехнике.
- Versatility: В отличие от RTDETRv2, которая фокусируется главным образом на детекции, YOLO26 нативно поддерживает instance segmentation, pose estimation, image classification и oriented bounding boxes (OBB) с улучшениями под конкретные задачи, такими как RLE для поз и специализированная потеря угла для OBB.
Используя Ultralytics Platform, ты можешь управлять своими датасетами, обучать модели вроде YOLO26 или YOLO11 в облаке и легко развертывать их через гибкие API.
Простота кода с Ultralytics#
Поддерживаемый в актуальном состоянии Ultralytics Python API делает обучение моделей и инференс элементарными задачами. Разработчики могут легко бенчмаркить модели или запускать скрипты обучения с минимальным количеством шаблонного кода.
from ultralytics import YOLO
# Load the state-of-the-art YOLO26 model
model = YOLO("yolo26n.pt")
# Train the model on your custom dataset
results = model.train(data="coco8.yaml", epochs=50, imgsz=640)
# Run inference on a test image
predictions = model.predict("image.jpg")Для тех, кто управляет устаревшей инфраструктурой, получившая признание Ultralytics YOLOv8 остается стабильным и мощным выбором, демонстрируя долгосрочную надежность экосистемы Ultralytics. Независимо от того, запускаешь ли ты сложные алгоритмы real-time tracking или простую детекцию дефектов, обновление до YOLO26 гарантирует защиту твоей системы от устаревания, высокую точность и эффективное использование памяти.