EfficientDet против YOLOv9: эволюция эффективности обнаружения объектов
В стремительно развивающемся мире компьютерного зрения выбор правильной архитектуры модели имеет решающее значение для обеспечения баланса между производительностью, скоростью и вычислительными ресурсами. В этом руководстве приводится всестороннее техническое сравнение между EfficientDet, знаковыми моделями, разработанными Google Research, и YOLOv9передовым детектором, интегрированным в экосистемуUltralytics . Мы проанализируем их архитектурные инновации, сравним показатели производительности и определим, какая модель лучше всего подходит для современных приложений обнаружения объектов в реальном времени.
EfficientDet: Новаторство в области масштабируемой эффективности
EfficientDet, выпущенная в конце 2019 года, представила систематический подход к масштабированию моделей, который повлиял на последующие годы исследований. Разработанный командой Google Research, он был нацелен на оптимизацию эффективности без ущерба для точности.
Технические детали:
- Авторы: Мингксинг Тан, Руоминг Панг, Куок В. Ле
- Организация:Google Research
- Дата: 20.11.2019
- Arxiv:EfficientDet: Масштабируемое и эффективное обнаружение объектов
- GitHub:google
Архитектура и ключевые особенности
EfficientDet построен на базе EfficientNet и представляет двунаправленную сеть пирамид признаков (BiFPN). В отличие от традиционных FPN, BiFPN позволяет легко и быстро объединять разномасштабные признаки за счет введения обучаемых весов для изучения важности различных входных признаков. В модели используется метод комбинированного масштабирования, который равномерно масштабирует разрешение, глубину и ширину для всех опорных сетей, сетей признаков и сетей предсказания классов/боксов одновременно.
Сильные и слабые стороны
EfficientDet стал революционным благодаря своей способности достигать высокой точности при меньшем количестве параметров, чем его современники, такие как YOLOv3. Его главная сила заключается в масштабируемости; семейство моделей (от D0 до D7) позволяет пользователям выбирать конкретный компромисс между ресурсами.
Однако по современным стандартам EfficientDet страдает от низкой скорости вывода, особенно на GPU . Его сложные слои слияния признаков, несмотря на свою точность, не так удобны для аппаратного обеспечения, как более новые архитектуры. Кроме того, оригинальная реализация не имеет удобного инструментария, который есть в современных фреймворках, что делает обучение и развертывание более трудоемким.
Случаи использования
EfficientDet остается актуальным для:
- Академическое исследование: Понимание принципов комбинированного масштабирования и слияния признаков.
- Унаследованные системы: Поддержание существующих конвейеров, созданных в экосистеме TensorFlow .
- СредыCPU: Эффективность параметров позволяет обеспечить приемлемую производительность для приложений с низким числом кадров в секунду.
Узнайте больше об EfficientDet
YOLOv9: новое определение производительности в реальном времени
Представлен в начале 2024 года, YOLOv9 представляет собой скачок вперед в серии YOLO , устраняя "узкие места" глубокого обучения информации для достижения максимальной эффективности. Она полностью поддерживается в пакетеUltralytics python , обеспечивая беспрепятственный опыт для разработчиков.
Технические детали:
- Авторы: Чен-Яо Ванг, Хонг-Юань Марк Ляо
- Организация:Институт информационных наук, Академия Синика, Тайвань
- Дата: 21.02.2024
- Arxiv:YOLOv9: обучение тому, что вы хотите узнать, с помощью программируемой градиентной информации
- GitHub:WongKinYiu/yolov9
- Документация:ДокументацияUltralytics YOLOv9
Архитектура и ключевые особенности
В YOLOv9 представлены две новаторские концепции: Программируемая градиентная информация (PGI) и обобщенная эффективная сеть агрегирования слоев (GELAN).
- PGI решает проблему потери информации, которая возникает при прохождении данных через глубокие слои нейронной сети, обеспечивая надежность градиентов, используемых для обновления весов модели.
- GELAN - это облегченная архитектура, в которой приоритет отдается эффективности вычислений. Это позволяет модели достигать более высокой точности при меньшем количестве параметров и вычислительных затрат (FLOPs) по сравнению с методами, основанными на свертке по глубине.
Сильные стороны и преимущества
- Превосходный компромисс между скоростью и точностью: как показывают бенчмарки, YOLOv9 значительно превосходит EfficientDet по задержке вывода при сохранении или превышении точности.
- ЭкосистемаUltralytics : Интеграция с Ultralytics означает доступ к простому API на Python , инструментамCLI и удобный экспорт в такие форматы, как ONNX, TensorRT и CoreML.
- Эффективность обучения: Модели YOLOv9 обычно требуют меньше памяти при обучении и сходятся быстрее, чем модели на старых архитектурах, благодаря оптимизированному конвейеру обучения Ultralytics .
- Универсальность: Помимо стандартного обнаружения, архитектура поддерживает сложные задачи, открывая путь к расширенной сегментации и многозадачному обучению.
Знаете ли вы?
Архитектура GELAN в YOLOv9 спроектирована таким образом, чтобы быть аппаратно-агностичной, то есть эффективно работать на широком спектре устройств вывода, от граничных TPU до high-end NVIDIA GPU, не требуя специальных аппаратных оптимизаций, как некоторые модели на основе трансформаторов.
Анализ производительности
Приведенное ниже сравнение подчеркивает значительное повышение скорости и эффективности выводов, которые YOLOv9 обеспечивает по сравнению с семейством EfficientDet.
| Модель | размер (пиксели) | 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 |
| YOLOv9t | 640 | 38.3 | - | 2.3 | 2.0 | 7.7 |
| YOLOv9s | 640 | 46.8 | - | 3.54 | 7.1 | 26.4 |
| YOLOv9m | 640 | 51.4 | - | 6.43 | 20.0 | 76.3 |
| YOLOv9c | 640 | 53.0 | - | 7.16 | 25.3 | 102.1 |
| YOLOv9e | 640 | 55.6 | - | 16.77 | 57.3 | 189.0 |
Важнейшие сведения об эталонных показателях
- Значительное преимущество в скорости: Модель YOLOv9c достигает конкурентоспособного значения 53,0 mAP со скоростью вывода всего 7,16 мс на GPU T4. Для сравнения, сопоставимая модель EfficientDet-d6 (52,6 mAP) ползет 89,29 мс. Таким образом, YOLOv9 работает более чем в 12 раз быстрее при аналогичной точности, что является критическим фактором для приложений реального времени, таких как автономные транспортные средства или мониторинг дорожного движения.
- Эффективность параметров: На нижнем конце спектра YOLOv9t предлагает 38,3 mAP всего с 2,0 миллионами параметров, превосходя базовый уровень EfficientDet-d0 по точности, используя при этом почти половину параметров и работая значительно быстрее.
- Высокая точность: Для задач, требующих максимальной точности, YOLOv9e преодолевает границу в 55,6 mAP, превосходя самую большую модель EfficientDet-d7, сохраняя при этом задержку (16,77 мс), которая все еще подходит для обработки видео, в отличие от запредельных 128 мс у D7.
Интеграция и простота использования
Одно из самых значительных различий между этими двумя моделями - экосистема, окружающая их. В то время как EfficientDet опирается на старые репозитории TensorFlow , YOLOv9 является первоклассным гражданином в библиотеке Ultralytics .
Преимущество Ultralytics
Использование YOLOv9 с Ultralytics обеспечивает хорошо поддерживаемую экосистему, которая упрощает весь жизненный цикл машинного обучения. От аннотирования наборов данных до развертывания на пограничных устройствах - весь рабочий процесс упорядочен.
- Простой API: Вы можете обучать, проверять и развертывать модели с помощью всего нескольких строк кода на Python .
- Широкая совместимость: Экспортируйте свои модели в ONNX, TensorRT, OpenVINO и CoreML с помощью режима экспорта.
- Поддержка сообщества: Обширная документация и активное сообщество гарантируют, что решения распространенных проблем будут легко доступны.
Приведем практический пример того, как легко проводить выводы с помощью YOLOv9 , используя Ultralytics Python API:
from ultralytics import YOLO
# Load a pre-trained YOLOv9 compact model
model = YOLO("yolov9c.pt")
# Run inference on an image
results = model("path/to/image.jpg")
# Process results
for result in results:
result.show() # Display predictions
result.save() # Save image to disk
Универсальность в применении
Хотя EfficientDet является исключительно детектором объектов, архитектурные принципы, лежащие в основе YOLOv9 и фреймворка Ultralytics , поддерживают более широкий спектр задач технического зрения. Пользователи могут легко переключаться между обнаружением объектов, сегментацией объектов и оценкой позы в рамках одной и той же кодовой базы, что позволяет сократить технический долг для сложных проектов.
Заключение
Если сравнивать EfficientDet и YOLOv9, то выбор для современной разработки компьютерного зрения очевиден. В то время как EfficientDet сыграл историческую роль в определении эффективности масштабирования моделей, YOLOv9 превосходит его практически по всем показателям, актуальным для современных разработчиков.
YOLOv9 предлагает превосходную точность по каждому параметру, на порядки более высокую скорость вывода и надежную экосистему, удобную для разработчиков. Вне зависимости от того, развертываете ли вы решение на ограниченных пограничных устройствах или обрабатываете высокопроизводительные видеопотоки в облаке, YOLOv9 обеспечивает необходимый для успеха баланс производительности.
Для тех, кто начинает новые проекты, мы настоятельно рекомендуем использовать YOLOv9 или последнюю версию YOLO11 чтобы ваше приложение получило преимущества от последних достижений в области эффективности глубокого обучения.
Изучите другие модели
Если вы хотите изучить другие варианты семейства Ultralytics , рассмотрите эти модели:
- YOLO11: новейшая разработка в серии YOLO , обеспечивающая самую высокую производительность в задачах обнаружения, сегментации и классификации.
- YOLOv10: сквозной детектор в реальном времени, который устраняет необходимость в подавлении без максимумаNMS).
- RT-DETR: детектор на основе трансформатора, отличающийся высокой точностью и являющийся современной альтернативой архитектурам на основе CNN.