Link to this sectionEfficientDet против YOLOv10: Анализ эволюции моделей обнаружения объектов#
В быстро развивающейся области computer vision выбор правильной архитектуры для обнаружения объектов имеет решающее значение для баланса между точностью, задержкой и вычислительной эффективностью. В этом комплексном техническом руководстве сравниваются две крайне влиятельные модели: EfficientDet от Google и YOLOv10 от Университета Цинхуа. Хотя обе модели представляют собой значительные шаги вперед в обнаружении объектов, они подходят к проектированию архитектуры и model optimization с совершенно разных сторон.
Мы изучим их ключевые архитектуры, рассмотрим результаты производительности на standard datasets like COCO и обсудим, как они интегрируются в современные конвейеры машинного обучения, особо подчеркивая преимущества комплексной Ultralytics ecosystem.
Link to this sectionEfficientDet: Пионер составного масштабирования#
Представленный в конце 2019 года, EfficientDet установил новый стандарт для масштабируемого и высокоточного обнаружения объектов, внедрив принципиальный подход к масштабированию параметров сети.
Link to this sectionКлючевые инновации и архитектура#
- Авторы: Минсин Тан, Руомин Пан и Куок В. Ле
- Организация: Google Brain
- Дата: 2019-11-20
- Arxiv: https://arxiv.org/abs/1911.09070
- GitHub: EfficientDet Repository
EfficientDet построен на основе EfficientNet, используя инновационную двунаправленную пирамидальную сеть признаков (BiFPN). В отличие от традиционных Feature Pyramid Networks (FPN), которые суммируют признаки, не различая их важность, BiFPN использует обучаемые веса для объединения признаков разных масштабов. Это позволяет сети эффективно определять, какие признаки с разным разрешением вносят наибольший вклад в финальное предсказание. Кроме того, EfficientDet использует метод составного масштабирования, который одновременно равномерно масштабирует разрешение, глубину и ширину для основной сети, сети признаков и сетей предсказания bbox/класса.
Хотя EfficientDet остается надежным выбором для устаревших систем, глубоко интегрированных со старыми конвейерами TensorFlow, он требует значительных memory requirements во время обучения и опирается на старую экосистему, которая может быть громоздкой по сравнению с современными динамическими фреймворками.
Link to this sectionYOLOv10: Инновация без NMS#
Выпущенная в середине 2024 года, YOLOv10 фундаментально изменила парадигму обнаружения объектов в реальном времени, устранив необходимость в подавлении немаксимумов (NMS) при постобработке, что значительно снизило inference latency.
Link to this sectionКлючевые инновации и архитектура#
- Авторы: Ао Ван, Хуэй Чен, Лихао Лю и др.
- Организация: Tsinghua University
- Дата: 2024-05-23
- Arxiv: https://arxiv.org/abs/2405.14458
- GitHub: YOLOv10 Repository
YOLOv10 представляет последовательную стратегию двойного присвоения для обучения без NMS. Используя как «один-ко-многим», так и «один-к-одному» присвоение меток во время обучения, сеть учится создавать уникальные соответствующие ограничивающие рамки без необходимости использования NMS для фильтрации дубликатов. Этот целостный дизайн модели, основанный на эффективности и точности, сокращает вычислительную избыточность, делая её отличным кандидатом для edge computing и приложений потокового видео с низкой задержкой. Она легко интегрируется в экосистему Ultralytics, предоставляя разработчикам доступ к чрезвычайно простому Python API.
Устраняя шаг NMS, YOLOv10 гарантирует стабильную скорость вывода независимо от количества объектов, обнаруженных в сцене, исключая скачки задержки, часто встречающиеся в перегруженных computer vision applications.
Link to this sectionСравнение производительности: Точность, скорость и эффективность#
При развертывании моделей в реальных сценариях разработчики должны сопоставлять mean Average Precision (mAP) с количеством параметров и вычислительными операциями (FLOPs). В таблице ниже подробно описаны эти показатели для масштабируемых вариантов обеих моделей.
| Модель | размер (пиксели) | 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 |
| 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 |
Примечание: Вариант YOLOv10n требует значительно меньше параметров (2.3M) и достигает гораздо более высокой скорости TensorRT (1.56ms) по сравнению с ранними итерациями EfficientDet, что делает его гораздо более подходящим для real-time inference в производстве.
Link to this sectionПочему стоит выбрать Ultralytics для развертывания моделей?#
Хотя обе модели имеют историческую и структурную значимость, их интеграция в современные конвейеры может быть сложной задачей. Именно здесь сияет Ultralytics Platform. Предоставляя единую экосистему, Ultralytics упрощает весь жизненный цикл — от data annotation до развертывания.
- Простота использования: Пакет Ultralytics для Python предлагает единый интерфейс для model training, validation и экспорта, заменяя сотни строк шаблонного кода лаконичными командами.
- Экосистема и универсальность: В то время как EfficientDet узко специализируется на обнаружении, модели Ultralytics YOLO естественным образом расширяются до Instance Segmentation, Pose Estimation, Oriented Bounding Boxes (OBB) и классификации.
- Эффективность обучения: Используя передовые методы, такие как авто-пакетирование и распределенное обучение, модели Ultralytics обучаются быстрее и потребляют значительно меньше памяти CUDA, чем тяжелые архитектуры Transformer или старые многоветвевые архитектуры TF.
Link to this sectionПример кода: Обучение YOLOv10#
Развертывание YOLOv10 с помощью Ultralytics невероятно просто. Следующий фрагмент кода демонстрирует, как инициализировать, обучить и оценить сеть YOLOv10 полностью в рамках Python API.
from ultralytics import YOLO
# Load a pre-trained YOLOv10 model (nano variant for edge speed)
model = YOLO("yolov10n.pt")
# Train the model on the COCO8 dataset
results = model.train(data="coco8.yaml", epochs=50, imgsz=640, batch=16)
# Evaluate the model on the validation set
metrics = model.val()
# Export the model to ONNX for production deployment
model.export(format="onnx")Link to this sectionСценарии использования и рекомендации#
Выбор между EfficientDet и YOLOv10 зависит от специфических требований твоего проекта, ограничений развертывания и предпочтений в экосистеме.
Link to this sectionКогда стоит выбрать EfficientDet#
EfficientDet — отличный выбор, если:
- Конвейеры Google Cloud и TPU: Системы с глубокой интеграцией в Google Cloud Vision API или инфраструктуру TPU, где EfficientDet имеет встроенную оптимизацию.
- Исследования составного масштабирования: Академическое тестирование, сфокусированное на изучении эффектов сбалансированного масштабирования глубины, ширины и разрешения сети.
- Развертывание на мобильных устройствах через TFLite: Проекты, требующие экспорта в TensorFlow Lite специально для Android или встраиваемых систем на базе Linux.
Link to this sectionКогда стоит выбрать YOLOv10#
YOLOv10 рекомендуется для:
- Детекции в реальном времени без NMS: Приложения, которым полезна сквозная (end-to-end) детекция без использования Non-Maximum Suppression, что снижает сложность развертывания.
- Сбалансированного соотношения скорости и точности: Проекты, требующие оптимального баланса между скоростью вывода и точностью детекции для различных масштабов моделей.
- Приложений с постоянной задержкой: Сценарии развертывания, где критически важна предсказуемость времени вывода, например, в робототехнике или автономных системах.
Link to this sectionКогда выбирать Ultralytics (YOLO26)#
Для большинства новых проектов Ultralytics YOLO26 предлагает наилучшее сочетание производительности и опыта разработчика:
- Развертывания на периферии без NMS: приложений, требующих стабильного вывода с низкой задержкой без сложности постобработки подавления немаксимумов.
- Среды только с CPU: устройств без выделенного GPU-ускорения, где до 43% более быстрый вывод на CPU у YOLO26 дает решающее преимущество.
- Детектирования мелких объектов: сложных сценариев, таких как аэросъемка с дронов или анализ датчиков IoT, где ProgLoss и STAL значительно повышают точность на крошечных объектах.
Link to this sectionБудущее уже здесь: встречай Ultralytics YOLO26#
Хотя YOLOv10 представила революционный дизайн без NMS, технологии шагнули вперед. Ultralytics YOLO26, выпущенная в январе 2026 года, представляет собой передовое решение для компьютерного зрения. Она объединяет лучшие аспекты предыдущих архитектур, таких как многозадачность YOLO11 и стабильность RT-DETR, в единую, высокооптимизированную мощную систему.
Если ты начинаешь новый проект, мы настоятельно рекомендуем использовать YOLO26. Она предлагает непревзойденную гибкость и простоту использования через Ultralytics Platform.
Ключевые прорывы в YOLO26:
- Сквозной дизайн без NMS: Опираясь на фундамент YOLOv10, модель YOLO26 является нативно сквозной, упрощая логику развертывания до абсолютного минимума.
- До 43% более быстрый вывод на CPU: Благодаря удалению Distribution Focal Loss (DFL) YOLO26 значительно снижает вычислительные затраты, становясь неоспоримым лидером для устройств Edge AI.
- Оптимизатор MuSGD: YOLO26 заимствует инновации из обучения больших языковых моделей (LLM). Объединяя стабильность SGD со скоростью Muon, она сходится быстрее и надежнее, чем любая предшествующая модель.
- ProgLoss + STAL: Улучшенные формулировки функции потерь эффективно решают давние проблемы с обнаружением мелких объектов — область, в которой EfficientDet традиционно испытывала трудности.
Link to this sectionЗаключение: подбор моделей под конкретные задачи#
Выбор между этими сетями в конечном итоге зависит от ограничений твоего развертывания:
- EfficientDet остается темой для академических исследований в области составного масштабирования и подходит исследователям, поддерживающим существующие системы TensorFlow, где размер весов модели (на диске) важнее, чем скорость выполнения.
- YOLOv10 феноменальна для приложений, требующих сверхнизкой задержки, таких как высокоскоростное отслеживание нескольких объектов и мониторинг дорожного движения, благодаря своей новаторской архитектуре без NMS.
- YOLO26, однако, является лучшим выбором для современных проектов в области компьютерного зрения, предлагая идеальный баланс производительности по точности, минимальные требования к памяти и многозадачность, поддерживаемую надежной экосистемой Ultralytics.