EfficientDet против YOLOv7: эволюция обнаружения объектов в реальном времени
Ландшафт компьютерного зрения сформировался под влиянием постоянного стремления к балансу между точностью и вычислительной эффективностью. Две различные философии в этой эволюции представлены EfficientDet, семейством моделей, ориентированных на масштабируемую эффективность, и YOLOv7, в котором приоритетом является скорость вывода в реальном времени за счет оптимизации архитектуры.
В этом сравнении рассматриваются технические характеристики, архитектурные различия и показатели производительности этих двух влиятельных моделей, а также объясняется, почему современные решения, такие как YOLO26, стали новым стандартом для разработчиков.
EfficientDet: Масштабируемая эффективность
Выпущенный в конце 2019 года, EfficientDet был разработан для устранения неэффективности предыдущих детекторов, в которых масштабирование часто выполнялось вручную или неравномерно. Он представил систематический метод одновременного масштабирования разрешения, глубины и ширины.
Технический обзор
- Авторы: Мингксинг Тан, Руоминг Панг и Куок В. Ле
- Организация:Google Research
- Дата: 2019-11-20
- Ссылки:Статья на ArXiv | Репозиторий GitHub
Архитектура и ключевые особенности
EfficientDet использует магистраль EfficientNet в сочетании с взвешенной двунаправленной пирамидальной сетью (BiFPN). BiFPN позволяет легко и быстро объединять многомасштабные характеристики, корректируя дисбаланс, при котором различные входные характеристики вносят неравный вклад в выходные данные.
В модели используется составное масштабирование, которое применяет простой коэффициент для масштабирования базовой сети, BiFPN, сети классов/боксов и разрешения. Хотя этот подход обеспечивает высокую точность для заданного количества параметров (FLOP), сложные взаимосвязи в слоях BiFPN могут привести к более высокой задержке вывода на аппаратном обеспечении, которое не оптимизировано специально для таких нерегулярных моделей доступа к памяти.
YOLOv7: Мощность "Bag-of-Freebies"
Запущенный в июле 2022 года, YOLOv7 значительным прорывом в семействе YOLO You Only Look Once). В отличие от EfficientDet, ориентированного на эффективность параметров, YOLOv7 на скорости вывода, расширив границы возможностей обнаружения объектов в реальном времени на стандартном GPU .
Технический обзор
- Авторы: Чен-Яо Ванг, Алексей Бочковский и Хонг-Юань Марк Ляо
- Организация: Институт информатики, Academia Sinica, Тайвань
- Дата: 2022-07-06
- Ссылки:Статья на ArXiv | Репозиторий GitHub
Архитектура и ключевые особенности
YOLOv7 расширенную сеть эффективной агрегации слоев (E-ELAN). Эта архитектура контролирует самые короткие и самые длинные пути градиента, позволяя сети обучаться более разнообразным особенностям без разрушения исходного пути градиента.
Основной концепцией YOLOv7 «обучаемый набор бесплатных инструментов» — методы оптимизации, которые повышают точность во время обучения без увеличения затрат на вывод. Сюда входят такие методы, как перепараметризация модели, при которой сложная структура обучения упрощается до оптимизированного набора сверток для развертывания. Это гарантирует, что процесс обучения будет надежным, а конечная развернутая модель — исключительно быстрой.
Сравнение производительности
В следующей таблице сравниваются характеристики различных YOLOv7 EfficientDet и YOLOv7 . Хотя модели EfficientDet (d0-d7) демонстрируют хорошую эффективность параметров, их задержка на стандартном оборудовании значительно выше, чем YOLOv7 , которые оптимизированы для высокоскоростной GPU .
| Модель | размер (пиксели) | mAPval 50-95 | Скорость CPU ONNX (мс) | Скорость T4 TensorRT10 (мс) | параметры (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
| YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
Анализ метрик
Данные подчеркивают важное различие: задержка против FLOP. Хотя EfficientDet-d7 достигает высокого показателя mAP в 53,7%, он делает это с задержкой более 128 мс на GPU T4. В отличие от этого, YOLOv7x достигает сопоставимого показателя mAP в 53,1%, но работает всего за 11,57 мс, что более чем в 10 раз быстрее. Для реальных приложений, таких как автономные транспортные средства или видеоаналитика, это преимущество в скорости часто является решающим фактором.
Задержка имеет значение
Хотя FLOP (операции с плавающей запятой) являются хорошим теоретическим показателем сложности, они не всегда линейно коррелируют со скоростью вывода. Архитектуры, такие как BiFPN, могут иметь высокую стоимость доступа к памяти, что замедляет фактическое время выполнения, в то время как простые структуры CNN YOLO высоко оптимизированы для GPU .
Преимущество Ultralytics: Экосистема и удобство использования
Выбор модели часто зависит не только от сырых показателей, но и от экосистемы программного обеспечения. Именно в этом плане переход на Ultralytics дает существенные преимущества по сравнению со старыми хранилищами.
Оптимизированный пользовательский опыт
EfficientDet опирается на старые TensorFlow , которые может быть сложно интегрировать в современный PyTorch . В отличие от этого, Ultralytics унифицированный Python , который рассматривает обучение, валидацию и развертывание моделей как простые, стандартизированные задачи.
Эффективность обучения и память
Одним из основных преимуществYOLO Ultralytics YOLO являются их требования к памяти. Благодаря оптимизированным загрузчикам данных и эффективной архитектуре, YOLO обычно потребляют меньше CUDA во время обучения по сравнению со сложными многоветвленными сетями. Это позволяет разработчикам использовать более крупные размеры пакетов, что стабилизирует обучение и ускоряет сходимость.
from ultralytics import YOLO
# Load a model (YOLOv7 or newer)
model = YOLO("yolov7.pt")
# Train the model with a single command
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
Универсальность, превосходящая возможности обнаружения
Хотя EfficientDet в первую очередь является детектором объектов, Ultralytics поддерживает более широкий спектр задач, включая сегментацию экземпляров, оценку позы и ориентированные ограничительные рамки (OBB). Такая универсальность означает, что команды могут использовать одну платформу для решения различных задач в области компьютерного зрения.
Новый стандарт: YOLO26
Хотя YOLOv7 вершину технологий 2022 года, эта область развивается очень быстро. Для новых проектов мы рекомендуем YOLO26, выпущенный в январе 2026 года. Он основан на сильных сторонах предыдущих поколений и одновременно вводит фундаментальные изменения в архитектуре.
- Сквозной дизайн NMS: в отличие от YOLOv7 EfficientDet, которые требуют постобработки с помощью Non-Maximum Suppression (NMS), YOLO26 изначально является сквозным. Это устраняет узкие места, связанные с задержками, и упрощает логику развертывания, что является прорывом, впервые реализованным в YOLOv10.
- MuSGD Optimizer: вдохновленный Kimi K2 от Moonshot AI, этот оптимизатор сочетает в себе стабильность SGD скорость Muon, привнося инновации в области обучения LLM в задачи визуального восприятия.
- Улучшенная производительность на периферийных устройствах: благодаря устранению потери фокуса распределения (DFL) и специальным оптимизациям YOLO26 работает на 43 % быстрее на CPU, что делает его намного превосходящим EfficientDet для периферийных устройств, таких как Raspberry Pi или мобильные телефоны.
- ProgLoss + STAL: новые функции потерь значительно улучшают распознавание мелких объектов, устраняя распространенный недостаток ранних одноэтапных детекторов.
Приложения в реальном мире
Когда следует выбирать EfficientDet
EfficientDet остается актуальным для устаревших систем, глубоко интегрированных вTensorFlow , или для конкретных академических исследований в области масштабирования соединений. Его меньшие варианты (d0-d2) также полезны в тех случаях, когда основным ограничением является дисковое хранилище (размер веса модели в МБ), а не скорость выполнения.
Когда выбирать YOLOv7
YOLOv7 отличный выбор для существующих производственных конвейеров, которым требуется:
- Видеоаналитика: обработка потоков с высокой частотой кадров для обеспечения безопасности или анализа розничной торговли.
- Робототехника:интеграция компьютерного зрения в робототехнику, где низкая задержка имеет решающее значение для навигации.
- Общее обнаружение: сценарии, требующие зрелой, широко поддерживаемой архитектуры.
Когда переходить на YOLO26
YOLO26 — идеальный выбор практически для всех новых развертываний, предлагающий:
- Edge Computing: превосходная CPU для IoT и мобильных приложений.
- Сложные задачи: встроенная поддержка сегментации, позы и OBB.
- Упрощенные операции: конструкция NMS устраняет серьезную проблему при постобработке и экспорте, гарантируя, что то, что вы видите во время обучения, точно соответствует тому, что вы получаете при развертывании.
Исследователям и разработчикам, стремящимся оставаться на передовом крае, переход на Ultralytics с YOLO26 гарантирует доступ к новейшим достижениям в области стабильности обучения, эффективности моделей и универсальности развертывания.