YOLOv10 EfficientDet: эволюция эффективности обнаружения объектов
Ландшафт компьютерного зрения определяется стремлением к балансу, а именно компромиссом между скоростью вывода и точностью обнаружения. В этом сравнении рассматриваются два важных этапа в истории: YOLOv10, академический прорыв Университета Цинхуа, который представил обнаружение NMS, и EfficientDet, новаторская архитектура Google, которая продвигала масштабируемую эффективность.
В то время как EfficientDet установил в 2019 году новые стандарты благодаря своему методу сложного масштабирования, YOLOv10 2024) представляет собой сдвиг парадигмы в сторону полного устранения узких мест в постобработке. В данном руководстве анализируются их архитектуры, показатели производительности и пригодность для современных приложений искусственного интеллекта на периферии.
YOLOv10: Детектор End-to-End реального времени
Выпущенная в мае 2024 года, YOLOv10 давнюю проблему неэффективности YOLO : зависимость от немаксимального подавления (NMS). Благодаря устранению этого этапа постобработки YOLOv10 сокращает задержку и упрощает процессы развертывания.
YOLOv10 :
- Авторы: Ao Wang, Hui Chen, Lihao Liu, и др.
- Организация:Университет Цинхуа
- Дата: 2024-05-23
- Arxiv:Обнаружение объектов в реальном времени
- GitHub:THU-MIG/yolov10
Ключевые архитектурные инновации
Отличительной особенностью YOLOv10 последовательная стратегия двойного назначения. Во время обучения модель использует головку «один ко многим» для получения богатых контрольных сигналов и головку «один к одному» для обучения оптимальным уникальным прогнозам. Это позволяет модели прогнозировать точные ограничительные рамки без необходимости NMS фильтрации дубликатов во время вывода.
Кроме того, YOLOv10 целостную конструкцию, обеспечивающую эффективность и точность, оптимизирующую компоненты основной части и шейки для уменьшения избыточности вычислений. В результате модель не только работает быстрее, но и более эффективна с точки зрения параметров, чем ее предшественники.
EfficientDet: масштабируемость и надежность
Разработанная Google в конце 2019 года, EfficientDet была создана для расширения границ эффективности с помощью другой философии: составного масштабирования. Она систематически масштабирует разрешение, глубину и ширину сети для достижения лучшей производительности в широком диапазоне ограничений ресурсов.
Подробности EfficientDet:
- Авторы: Мингксинг Тан, Руоминг Панг и Куок В. Ле
- Организация:Google Research
- Дата: 2019-11-20
- Arxiv:EfficientDet: Масштабируемое и эффективное обнаружение объектов
- GitHub:google/automl
Преимущества BiFPN
EfficientDet использует магистраль EfficientNet в сочетании с взвешенной двунаправленной пирамидальной сетью (BiFPN). В отличие от стандартных FPN, которые суммируют характеристики без разбора, BiFPN присваивает веса входным характеристикам, позволяя сети учиться важности различных входных масштабов. Несмотря на высокую точность, эта архитектура включает в себя сложные межмасштабные соединения, которые могут быть вычислительно затратными на аппаратном обеспечении, не оптимизированном для нерегулярных моделей доступа к памяти.
Сравнение технических характеристик
В следующей таблице представлено прямое сравнение показателей. Обратите внимание на значительную разницу в скорости вывода, особенно в связи с тем, что YOLOv10 от устранения NMS .
| Модель | размер (пиксели) | mAPval 50-95 | Скорость CPU ONNX (мс) | Скорость T4 TensorRT10 (мс) | параметры (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| 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 |
Критический анализ
- Задержка против точности: YOLOv10x достигает превосходного показателя mAP средней средней точности) в 54,4% с TensorRT всего 12,2 мс. В отличие от этого, EfficientDet-d7 достигает сопоставимого показателя mAP в 53,7% mAP требует примерно 128 мс, что более чем в 10 раз медленнее. Это подчеркивает поколенческий скачок в оптимизации в реальном времени.
- Развертывание на периферии: Конструкция YOLOv10 NMS кардинально YOLOv10 к развертыванию моделей. NMS часто сложно ускорить на NPU (нейронных процессорах) или встроенных чипах. Его удаление позволяет всей модели работать как единый граф, что значительно улучшает совместимость с такими инструментами, как OpenVINO и TensorRT.
- Эффективность обучения: EfficientDet опирается на TensorFlow и сложные стратегии поиска AutoML.YOLO Ultralytics YOLO , включая YOLOv10 более новую YOLO26, построены на PyTorch оснащены оптимизированными конвейерами обучения, которые автоматически обрабатывают гиперпараметры, что приводит к более быстрой конвергенции и снижению требований к памяти.
Преимущество экосистемы Ultralytics
Выбор модели редко зависит только от архитектуры; он зависит от рабочего процесса. Ultralytics обеспечивают беспроблемную работу для разработчиков.
- Простота использования: с помощью Ultralytics Python вы можете загружать, обучать и развертывать модели с помощью трех строк кода. Реализации EfficientDet часто требуют сложного управления зависимостями и устаревших TensorFlow .
- Универсальность: хотя EfficientDet в первую очередь является детектором объектов, Ultralytics поддерживает полный набор задач, включая сегментацию экземпляров, оценку позы и обнаружение OBB (ориентированной ограничивающей рамки).
- Хорошо поддерживаемая экосистема: Ultralytics частые обновления, обеспечивая совместимость с новейшим оборудованием и программными библиотеками. Интеграция с Ultralytics позволяет легко управлять наборами данных и проводить обучение в облаке.
Оптимизированное обучение
Ultralytics автоматически Ultralytics сложные расширения данных и планирует скорость обучения. Вам не нужно вручную настраивать анкеры или веса потерь, чтобы получить передовые результаты.
Пример кода: Обучение с Ultralytics
Следующий код демонстрирует, насколько просто обучить модель с помощью Ultralytics . Это работает одинаково для YOLOv10, YOLO11 и рекомендуемого YOLO26.
from ultralytics import YOLO
# Load the latest recommended model (YOLO26)
model = YOLO("yolo26n.pt")
# Train on a custom dataset
# Ultralytics automatically handles device selection (CPU/GPU)
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Validate performance
metrics = model.val()
print(f"mAP50-95: {metrics.box.map}")
Почему мы рекомендуем YOLO26
В то время как YOLOv10 концепцию NMS, Ultralytics усовершенствовал и довел ее до совершенства. Выпущенный в январе 2026 года, YOLO26 является современным передовым решением для периферийных систем искусственного интеллекта и производственных систем.
YOLO26 использует сквозную конструкцию NMS, впервые примененную в YOLOv10 усовершенствованную за счет нескольких важных нововведений:
- Оптимизатор MuSGD: Вдохновленный обучением LLM (в частности, Kimi K2 от Moonshot AI), YOLO26 использует гибрид SGD оптимизатора Muon. Это приводит к значительно более стабильной динамике обучения и более быстрой конвергенции по сравнению с предыдущими поколениями.
- Удаление DFL: благодаря удалению Distribution Focal Loss (DFL) YOLO26 упрощает структуру выходного слоя. Это делает экспорт в такие форматы, как CoreML ONNX чистым, обеспечивая лучшую совместимость с периферийными устройствами с низким энергопотреблением.
- Производительность: YOLO26 обеспечивает на 43 % более быстрое CPU по сравнению с предыдущими версиями, что делает его идеальным выбором для устройств без специальных графических процессоров, таких как стандартные ноутбуки или устройства Raspberry Pi.
- Специфические преимущества: включает в себя специализированные функции потерь, такие как ProgLoss и STAL, которые обеспечивают заметное улучшение в распознавании мелких объектов — распространенную слабость ранних детекторов.
Рекомендации по вариантам использования
Когда выбирать Ultralytics (рекомендуется)
- Приложения реального времени: автономные транспортные средства, мониторинг дорожного движения и спортивная аналитика, где критически важна низкая задержка.
- Развертывание на периферии: работа на мобильных телефонах, дронах или устройствах IoT, где CPU и время работы от батареи ограничены.
- Требования к многозадачности: когда ваш проект требует сегментации, оценки положения или обнаружения повернутых объектов (OBB) в дополнение к стандартным ограничительным рамкам.
Когда стоит рассмотреть EfficientDet
- Исследования прошлых лет: если вы воспроизводите научные статьи 2019–2020 годов, в которых конкретно сравниваются архитектуры EfficientDet.
- Ограничения аппаратного обеспечения (специфические): в редких случаях, когда устаревшие аппаратные ускорители строго оптимизированы для структур BiFPN и не могут адаптироваться к современным блокам rep-vgg или transformer.
Заключение
EfficientDet стал важной вехой в повышении эффективности масштабирования, но в этой области произошли дальнейшие изменения. YOLOv10 доказал, что обнаружение NMS возможно, а YOLO26 усовершенствовал его для производства. Для разработчиков, которые ищут оптимальный баланс между скоростью, точностью и простотой использования, Ultralytics — это лучший выбор. Его оптимизированная архитектура в сочетании с мощной экосистемой Ultralytics позволяет быстрее, чем когда-либо, пройти путь от концепции до внедрения.
Для получения дополнительной информации об архитектурах моделей ознакомьтесь с нашими сравнениями YOLOv8 YOLOv10 или изучите Ultralytics , чтобы начать обучение уже сегодня.