Link to this sectionEfficientDet против RTDETRv2: подробное сравнение архитектур для обнаружения объектов#
Выбор оптимальной архитектуры для проектов в области компьютерного зрения требует ориентации в разнообразном ландшафте нейронных сетей. В этом руководстве представлено детальное техническое сравнение двух принципиально разных подходов: EfficientDet, высокомасштабируемого семейства сверточных нейронных сетей (CNN), и RTDETRv2, современной модели на основе трансформеров для работы в реальном времени. Мы оцениваем их структурные различия, методы обучения и пригодность для развертывания в различных аппаратных средах.
Понимая компромиссы между эффективностью устаревших моделей и возможностями современных трансформеров, ты сможешь принимать взвешенные решения. Более того, мы рассмотрим, как современные альтернативы, такие как новый Ultralytics YOLO26, заполняют этот пробел, предлагая непревзойденную скорость, точность и простоту использования.
Link to this sectionПонимание EfficientDet#
EfficientDet произвела революцию в обнаружении объектов, внедрив принципиальный подход к масштабированию моделей.
- Авторы: Минсин Тан, Руомин Пан и Куок В. Ле
- Организация: Google
- Дата: 20 ноября 2019 г.
- Arxiv: https://arxiv.org/abs/1911.09070
- GitHub: Репозиторий Google AutoML
- Документация: Документация EfficientDet
Link to this sectionАрхитектура и основные концепции#
В основе EfficientDet лежит EfficientNet в качестве бэкбона и двунаправленная пирамидальная сеть признаков (BiFPN). BiFPN обеспечивает простую и быструю интеграцию признаков различных масштабов путем применения обучаемых весов для определения важности различных входных данных. Это сочетается с методом составного масштабирования, который равномерно и одновременно масштабирует разрешение, глубину и ширину для всей сети: бэкбона, сети признаков и сетей предсказания рамок/классов.
Link to this sectionПреимущества и ограничения#
Главная сила EfficientDet заключается в эффективности использования параметров. На момент выхода модели, такие как EfficientDet-D0, достигали более высокой точности при меньшем количестве параметров и операций FLOP по сравнению с предыдущими версиями YOLO. Это сделало их очень привлекательными для сред с жесткими ограничениями по вычислительным ресурсам.
Однако EfficientDet полагается на стандартное подавление немаксимумов (NMS) при постобработке для фильтрации перекрывающихся рамок, что может стать «узким местом» и вызывать задержки в конвейерах реального времени. Кроме того, хотя процесс обучения хорошо документирован, донастройка EfficientDet может быть более сложной по сравнению с высокооптимизированными решениями для разработчиков, доступными в современных инструментах.
Хотя EfficientDet проложила путь для масштабируемых сетей, развертывание этих моделей на современных NPU зачастую требует значительной ручной оптимизации. Для упрощенного развертывания новые модели Ultralytics предлагают функцию экспорта в один клик.
Link to this sectionЗнакомство с 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
Link to this sectionДостижения в трансформерах#
RTDETRv2 основывается на базе RT-DETR (Real-Time Detection Transformer). Модель использует механизмы глобального внимания, позволяющие понимать контекст сложных сцен без локализованных ограничений стандартных сверток. Самым значительным архитектурным преимуществом является дизайн, изначально не требующий NMS. Предсказывая объекты напрямую из входного изображения, модель упрощает конвейер вывода, избегая эвристической настройки, необходимой при постобработке NMS.
Link to this sectionСильные и слабые стороны#
RTDETRv2 превосходно работает в средах с высокой плотностью, где перекрывающиеся объекты сбивают с толку традиционные CNN. Модель обладает высокой точностью на сложных эталонных датасетах, таких как COCO.
Несмотря на свою точность, трансформерные модели естественным образом требуют значительных объемов памяти. Эффективность их обучения заметно ниже; для сходимости требуется значительно больше эпох и больше ресурсов памяти CUDA по сравнению с CNN. Это делает RTDETRv2 менее подходящим выбором для разработчиков с ограниченным бюджетом на облачные ресурсы или для тех, кому требуется быстрое прототипирование.
Для обучения таких трансформерных моделей, как RTDETRv2, обычно требуются высокопроизводительные GPU. Если ты столкнешься с ошибками нехватки памяти (OOM), рассмотри возможность использования моделей с меньшими требованиями к памяти во время обучения, например, из серии Ultralytics YOLO.
Link to this sectionСравнение эталонных показателей производительности#
Понимание исходных метрик производительности жизненно важно для выбора модели. В следующей таблице представлено сравнение 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 |
Link to this sectionСценарии использования и рекомендации#
Выбор между EfficientDet и RT-DETR зависит от твоих конкретных проектных требований, ограничений развертывания и предпочтений в экосистеме.
Link to this sectionКогда стоит выбрать EfficientDet#
EfficientDet — отличный выбор, если:
- Конвейеры Google Cloud и TPU: Системы с глубокой интеграцией в Google Cloud Vision API или инфраструктуру TPU, где EfficientDet имеет встроенную оптимизацию.
- Исследования составного масштабирования: Академическое тестирование, сфокусированное на изучении эффектов сбалансированного масштабирования глубины, ширины и разрешения сети.
- Развертывание на мобильных устройствах через TFLite: Проекты, требующие экспорта в TensorFlow Lite специально для Android или встраиваемых систем на базе Linux.
Link to this sectionКогда выбирать RT-DETR#
RT-DETR рекомендуется для:
- Исследований детектирования на основе Transformer: проектов, изучающих механизмы внимания и архитектуры трансформеров для end-to-end детектирования объектов без NMS.
- Сценариев с высокой точностью и гибкой задержкой: приложений, где точность детектирования является главным приоритетом, а немного большая задержка вывода допустима.
- Детектирования крупных объектов: сцен преимущественно со средними и крупными объектами, где глобальный механизм внимания трансформеров дает естественное преимущество.
Link to this sectionКогда выбирать Ultralytics (YOLO26)#
Для большинства новых проектов Ultralytics YOLO26 предлагает наилучшее сочетание производительности и опыта разработчика:
- Развертывания на периферии без NMS: приложений, требующих стабильного вывода с низкой задержкой без сложности постобработки подавления немаксимумов.
- Среды только с CPU: устройств без выделенного GPU-ускорения, где до 43% более быстрый вывод на CPU у YOLO26 дает решающее преимущество.
- Детектирования мелких объектов: сложных сценариев, таких как аэросъемка с дронов или анализ датчиков IoT, где ProgLoss и STAL значительно повышают точность на крошечных объектах.
Link to this sectionПреимущество Ultralytics: представляем YOLO26#
Хотя EfficientDet и RTDETRv2 заняли свое место в истории компьютерного зрения, современные производственные среды требуют идеального баланса скорости, точности и исключительного удобства для разработчиков. Недавно выпущенная Ultralytics YOLO26 синтезирует лучшие аспекты этих разрозненных архитектур.
YOLO26 выделяется тем, что объединяет оптимизированную экосистему, которой славится Ultralytics, с революционной внутренней механикой.
Link to this sectionПочему стоит выбрать YOLO26 вместо конкурентов?#
- Сквозной дизайн без NMS: Вдохновляясь трансформерами, такими как RTDETRv2, YOLO26 является изначально сквозной моделью. Она исключает постобработку NMS, гарантируя более быстрое и простое развертывание без огромного избытка параметров, присущего чистым трансформерам.
- Оптимизатор MuSGD: Вдохновленный инновациями в обучении больших языковых моделей (таких как Kimi K2 от Moonshot AI), YOLO26 использует гибрид SGD и Muon. Это обеспечивает беспрецедентную стабильность обучения и значительно более быструю сходимость по сравнению с длительными циклами, необходимыми для RTDETRv2.
- Оптимизация для Edge: Благодаря увеличению скорости вывода на CPU до 43%, YOLO26 создана для периферийного ИИ. Она легко превосходит тяжелые трансформерные модели на ограниченном оборудовании, таком как мобильные телефоны и умные камеры.
- Удаление DFL: Исключение функции Distribution Focal Loss упрощает граф модели, облегчая бесшовный экспорт в TensorRT и ONNX.
- ProgLoss + STAL: Эти продвинутые функции потерь дают заметные улучшения в распознавании мелких объектов, решая распространенную проблему в аэрофотосъемке и робототехнике.
- Универсальность: В отличие от RTDETRv2, которая фокусируется в основном на детекции, YOLO26 изначально поддерживает сегментацию экземпляров, оценку позы, классификацию изображений и ориентированные ограничивающие рамки (OBB) с улучшениями, специфичными для задач, такими как RLE для позы и специализированная функция потери угла для OBB.
Используя платформу Ultralytics, ты можешь управлять своими датасетами, обучать модели, такие как YOLO26 или YOLO11, в облаке и развертывать их через гибкие API.
Link to this sectionПростота кода с Ultralytics#
Хорошо поддерживаемый Python API Ultralytics делает обучение моделей и вывод элементарными задачами. Разработчики могут легко проводить бенчмаркинг моделей или запускать скрипты обучения с минимальным количеством шаблонного кода.
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. Занимаешься ли ты сложными алгоритмами отслеживания в реальном времени или простым обнаружением дефектов, переход на YOLO26 гарантирует, что твоя система будет готова к будущему, высокоточна и экономична по памяти.