YOLOv6-3.0 vs EfficientDet: Баланс между скоростью и точностью в detect object
В быстро развивающемся мире компьютерного зрения выбор правильной архитектуры для обнаружения объектов имеет решающее значение для успеха вашего проекта. В этом сравнении рассматриваются YOLOv6-3.0 и EfficientDet – две известные модели, которые подходят к задаче визуального распознавания с разных сторон. В то время как EfficientDet фокусируется на эффективности параметров и масштабируемости, YOLOv6-3.0 разработан специально для промышленных приложений, где задержка вывода и скорость в реальном времени являются обязательными условиями.
Метрики производительности и технический анализ
Принципиальное различие между этими двумя архитектурами заключается в их философии проектирования. EfficientDet опирается на сложный механизм слияния признаков, известный как BiFPN, который повышает accuracy, но часто за счет вычислительной скорости на GPU. И наоборот, YOLOv6-3.0 использует аппаратно-ориентированный дизайн, используя репараметризацию для оптимизации операций во время inference, что приводит к значительно более высокому FPS (кадров в секунду).
В таблице ниже показан этот компромисс. В то время как EfficientDet-d7 достигает высокого mAP, его задержка значительна. В отличие от этого, YOLOv6-3.0l предлагает сопоставимую точность со значительно сокращенным временем инференса, что делает его гораздо более подходящим для сценариев инференса в реальном времени.
| Модель | размер (пиксели) | mAPval 50-95 | Скорость CPU ONNX (мс) | Скорость T4 TensorRT10 (мс) | параметры (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv6-3.0n | 640 | 37.5 | - | 1.17 | 4.7 | 11.4 |
| YOLOv6-3.0s | 640 | 45.0 | - | 2.66 | 18.5 | 45.3 |
| YOLOv6-3.0m | 640 | 50.0 | - | 5.28 | 34.9 | 85.8 |
| YOLOv6-3.0l | 640 | 52.8 | - | 8.95 | 59.6 | 150.7 |
| 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 |
Оптимизация производительности
Для промышленных развертываний объединение YOLOv6-3.0 с TensorRT может дать значительное увеличение скорости. Архитектурная простота YOLOv6 позволяет ей очень эффективно отображаться в инструкции оборудования GPU по сравнению со сложными сетями пирамиды признаков, которые встречаются в более старых моделях.
YOLOv6-3.0: создан для промышленности
YOLOv6-3.0 — это одноэтапный детектор объектов, разработанный для устранения разрыва между академическими исследованиями и промышленными требованиями. Он отдает приоритет скорости, не жертвуя точностью, необходимой для таких задач, как quality inspection.
Авторы: Чуйи Ли, Лулу Ли, Ифэй Генг, Хунлян Цзян, Мэн Чэн, Бо Чжан, Зайдан Ке, Сяомин Сюй и Сянсян Чу
Организация:Meituan
Дата: 2023-01-13
Arxiv:YOLOv6 v3.0: A Full-Scale Reloading
GitHub:meituan/YOLOv6
Документация:Документация YOLOv6
Архитектура и сильные стороны
Основой YOLOv6-3.0 является эффективный backbone и дизайн "RepOpt". Благодаря использованию репараметризации модель разделяет многокомпонентные структуры времени обучения и однокомпонентные структуры времени инференса. В результате получается модель, которую легко обучать с богатыми градиентами, но чрезвычайно быстро выполнять.
- Самодистилляция: Стратегия обучения использует самодистилляцию, где предсказание самой модели действует как мягкая метка для направления обучения, повышая точность без дополнительных данных.
- Поддержка квантования: Он разработан с учетом квантования моделей, минимизируя падение точности при преобразовании в INT8 для развертывания на периферии.
- Промышленная направленность: Идеально подходит для использования ИИ в производстве и робототехнике, где важна задержка в миллисекунды.
EfficientDet: Масштабируемая точность
EfficientDet произвел революцию в этой области, представив концепцию составного масштабирования для detectирования объектов. Он оптимизирует глубину, ширину и разрешение сети одновременно для достижения отличной производительности на параметр.
Авторы: Мингксинг Тан, Руоминг Панг и Куок В. Ле
Организация:Google
Дата: 2019-11-20
Arxiv:EfficientDet: Scalable and Efficient Object Detection
GitHub:google/automl/efficientdet
Архитектура и сильные стороны
EfficientDet использует EfficientNet в качестве основы и представляет собой двунаправленную сеть Feature Pyramid Network (BiFPN). Эта сложная структура neck позволяет легко и быстро выполнять многомасштабное слияние признаков.
- BiFPN: В отличие от традиционных FPN, BiFPN позволяет информации перемещаться как сверху вниз, так и снизу вверх, применяя веса к различным входным признакам, чтобы подчеркнуть их важность.
- Compound Scaling: Простой коэффициент $\phi$ позволяет пользователям масштабировать модель вверх (от d0 до d7) в зависимости от доступных ресурсов, обеспечивая предсказуемую кривую точности и вычислительных затрат.
- Эффективность параметров: Меньшие варианты (d0-d2) чрезвычайно легкие с точки зрения размера диска и FLOPs, что делает их полезными для сред с ограниченным объемом памяти.
Архитектурная сложность
Хотя BiFPN очень эффективен для обеспечения точности, его нерегулярные шаблоны доступа к памяти могут замедлить его работу на GPU по сравнению с плотными, регулярными сверточными блоками, используемыми в архитектурах YOLO. Вот почему EfficientDet часто демонстрирует более высокую задержку при выводе, несмотря на меньшее количество параметров.
Узнайте больше об EfficientDet
Реальные примеры использования
Выбор между этими моделями часто зависит от конкретных ограничений среды развертывания.
Идеальные сценарии для YOLOv6-3.0
- Высокоскоростное производство: Detect дефектов на быстро движущихся конвейерных лентах, где для track каждого элемента требуется высокая частота кадров.
- Автономная навигация: Позволяет робототехнике перемещаться в динамических средах, обрабатывая видеопотоки в режиме реального времени.
- Периферийные вычисления: Развертывание на таких устройствах, как NVIDIA Jetson, где ресурсы GPU должны быть максимально увеличены для пропускной способности.
Идеальные сценарии для EfficientDet
- Медицинский анализ: анализ статических изображений с высоким разрешением, таких как detectирование опухолей на рентгеновских снимках, где время обработки менее критично, чем точность.
- Дистанционное зондирование: Обработка спутниковых снимков в автономном режиме для выявления изменений окружающей среды или развития городов.
- IoT с низким объемом памяти: Устройства с крайне ограниченным объемом памяти, которым требуется небольшой размер файла модели (например, EfficientDet-d0).
Преимущество Ultralytics: Почему стоит выбрать YOLO11?
Хотя YOLOv6-3.0 и EfficientDet являются способными моделями, Ultralytics YOLO11 представляет собой передовую технологию компьютерного зрения. YOLO11 совершенствует лучшие атрибуты предыдущих поколений YOLO и интегрирует их в бесшовную и удобную для пользователя экосистему.
Основные преимущества YOLO11
- Простота использования: Ultralytics уделяет первостепенное внимание опыту разработчиков. С помощью Pythonic API вы можете обучать, проверять и развертывать модели всего в несколько строк кода, в отличие от сложных файлов конфигурации, часто требуемых для EfficientDet.
- Универсальность: В отличие от YOLOv6 и EfficientDet, которые в основном являются моделями object detection, YOLO11 изначально поддерживает несколько задач, включая instance segmentation, pose estimation, oriented bounding boxes (OBB) и classification.
- Баланс производительности: YOLO11 достигает современного компромисса между скоростью и точностью. Он стабильно превосходит старые архитектуры на наборе данных COCO, сохраняя при этом низкую задержку.
- Хорошо поддерживаемая экосистема: Модели Ultralytics поддерживаются активным сообществом и частыми обновлениями. Вы получаете доступ к обширной документации, учебным пособиям и простой интеграции с такими инструментами, как Ultralytics HUB для облачного обучения и управления наборами данных.
- Эффективность обучения: YOLO11 разработан для эффективного использования ресурсов во время обучения, часто сходится быстрее и требует меньше памяти GPU, чем сложные модели на основе трансформеров или более старые архитектуры.
from ultralytics import YOLO
# Load the YOLO11 model (recommended over older versions)
model = YOLO("yolo11n.pt")
# Perform inference on an image
results = model("https://ultralytics.com/images/bus.jpg")
# Display results
results[0].show()
Изучите другие модели
Если вы оцениваете варианты для вашего пайплайна компьютерного зрения, рассмотрите возможность изучения других моделей в каталоге Ultralytics. YOLOv8 предлагает надежную производительность для широкого спектра задач, в то время как RT-DETR на основе трансформеров предоставляет альтернативу для сценариев, требующих осведомленности о глобальном контексте. Для мобильных приложений стоит также изучить YOLOv10. Сравнение их с EfficientDet может помочь точно настроить ваш выбор в соответствии с вашими конкретными требованиями к оборудованию и точности.