Link to this sectionYOLOv10 против DAMO-YOLO#
При создании современных конвейеров компьютерного зрения выбор правильной архитектуры детектирования объектов в реальном времени имеет решающее значение. В этом всестороннем техническом анализе мы исследуем архитектуры, показатели производительности и идеальные сценарии использования для YOLOv10 и DAMO-YOLO. Обе модели представляют собой значительный скачок в возможностях обнаружения объектов, но они используют разные архитектурные подходы для достижения своих целей.
Независимо от того, требует ли твой проект развертывания на ограниченном оборудовании граничного ИИ или максимальной точности на облачных GPU, понимание нюансов этих архитектур поможет тебе принять обоснованное решение.
Link to this sectionЗнакомство с YOLOv10#
Представленная исследователями из Университета Цинхуа, YOLOv10 произвела революцию в семействе YOLO, внедрив нативный подход "от конца к концу" (end-to-end), что эффективно устранило необходимость в подавлении немаксимумов (NMS) при постобработке.
Детали YOLOv10:
- Авторы: Ао Ван, Хуэй Чен, Лихао Лю и др.
- Организация: Tsinghua University
- Дата: 2024-05-23
- Arxiv: https://arxiv.org/abs/2405.14458
- GitHub: https://github.com/THU-MIG/yolov10
- Документация: https://docs.ultralytics.com/models/yolov10/
Link to this sectionКлючевые архитектурные особенности#
Основной инновацией YOLOv10 является стратегия Consistent Dual Assignments для обучения без NMS. Традиционные детекторы объектов сильно зависят от NMS для фильтрации перекрывающихся ограничивающих рамок, что вносит непредсказуемую задержку — существенное узкое место для приложений реального времени, таких как автономные транспортные средства и высокоскоростная робототехника. Предсказывая одну оптимальную ограничивающую рамку для каждого объекта напрямую, YOLOv10 достигает предсказуемого вывода со сверхнизкой задержкой.
Кроме того, в модели используется дизайн Holistic Efficiency-Accuracy Driven Design. Архитектура оптимизирует различные компоненты, включая облегченную классификационную голову и пространственно-канальную несвязанную дискретизацию, что значительно снижает вычислительную избыточность. Это приводит к архитектуре, которая может похвастаться меньшим количеством параметров и меньшим числом FLOP при сохранении конкурентоспособной средней точности (mAP).
Link to this sectionПример использования#
YOLOv10 глубоко интегрирована в экосистему Ultralytics, что делает её невероятно простой в использовании через пакет Python от Ultralytics.
from ultralytics import YOLO
# Load a pre-trained YOLOv10 nano model
model = YOLO("yolov10n.pt")
# Train the model on the COCO8 dataset
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference on a test image
results = model("https://ultralytics.com/images/bus.jpg")
# Export the model to TensorRT format
model.export(format="engine", quantize=16)Link to this sectionЗнакомство с DAMO-YOLO#
Разработанная Alibaba Group, DAMO-YOLO фокусируется на поиске высокоэффективных сетевых структур с помощью автоматизированного нейроархитектурного поиска (NAS), стремясь раздвинуть границы Парето скорости и точности.
Подробности DAMO-YOLO:
- Авторы: Xianzhe Xu, Yiqi Jiang, Weihua Chen, Yilun Huang, Yuan Zhang и Xiuyu Sun
- Организация: Alibaba Group
- Дата: 2022-11-23
- Arxiv: https://arxiv.org/abs/2211.15444v2
- GitHub: https://github.com/tinyvision/DAMO-YOLO
Link to this sectionКлючевые архитектурные особенности#
DAMO-YOLO представляет несколько новых технологий, адаптированных для промышленных приложений. Основой модели является её MAE-NAS Backbone, созданный с помощью многоцелевого эволюционного поиска. Этот автоматизированный процесс обнаруживает структуры бэкенда, которые строго придерживаются заранее определенных вычислительных бюджетов, достигая тонкого баланса между точностью и задержкой вывода.
Кроме того, архитектура использует шею Efficient RepGFPN. Эта сеть признаков пирамидальной структуры предназначена для улучшения слияния признаков по разным масштабам, что критически важно для сложных задач, таких как анализ аэрофотоснимков, где размеры объектов сильно различаются. В дополнение к этому, DAMO-YOLO внедряет ZeroHead, минималистичную голову детекции, которая радикально снижает сложность конечных слоев предсказания, экономя ценное вычислительное время при выводе.
Link to this sectionСравнение производительности#
При оценке архитектур детектирования объектов поиск правильного баланса между скоростью вывода, эффективностью параметров и точностью детектирования имеет первостепенное значение. В таблице ниже сравнивается производительность YOLOv10 и DAMO-YOLO по их соответствующим размерам моделей.
| Модель | размер (пиксели) | mAPval 50-95 | Скорость CPU ONNX (мс) | Скорость T4 TensorRT10 (мс) | параметры (М) | FLOPs (Б) |
|---|---|---|---|---|---|---|
| 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 |
| DAMO-YOLOt | 640 | 42.0 | - | 2.32 | 8.5 | 18.1 |
| DAMO-YOLOs | 640 | 46.0 | - | 3.45 | 16.3 | 37.8 |
| DAMO-YOLOm | 640 | 49.2 | - | 5.09 | 28.2 | 61.8 |
| DAMO-YOLOl | 640 | 50.8 | - | 7.18 | 42.1 | 97.3 |
Как видно из бенчмарков, YOLOv10 неизменно обеспечивает исключительные профили задержки на TensorRT, особенно в своем нано-варианте, требуя значительно меньше параметров и FLOP, чем сопоставимые модели DAMO-YOLO. Хотя DAMO-YOLO предлагает хороший mAP в своем tiny-варианте, эффективность параметров и задержка вывода семейства YOLOv10 обеспечивают явное преимущество для сред с ограниченными ресурсами для развертывания.
Link to this sectionСценарии использования и рекомендации#
Выбор между YOLOv10 и DAMO-YOLO зависит от твоих конкретных требований к проекту, ограничений развертывания и предпочтений в экосистеме.
Link to this sectionКогда стоит выбрать YOLOv10#
YOLOv10 — отличный выбор для:
- Детекции в реальном времени без NMS: Приложения, которым полезна сквозная (end-to-end) детекция без использования Non-Maximum Suppression, что снижает сложность развертывания.
- Сбалансированного соотношения скорости и точности: Проекты, требующие оптимального баланса между скоростью вывода и точностью детекции для различных масштабов моделей.
- Приложений с постоянной задержкой: Сценарии развертывания, где критически важна предсказуемость времени вывода, например, в робототехнике или автономных системах.
Link to this sectionКогда выбирать DAMO-YOLO#
DAMO-YOLO рекомендуется для:
- Высокопроизводительной видеоаналитики: обработки видеопотоков с высоким FPS на фиксированной инфраструктуре NVIDIA GPU, где пропускная способность при batch-1 является основной метрикой.
- Промышленных производственных линий: сценариев с жесткими ограничениями по задержке GPU на специализированном оборудовании, таких как проверка качества в реальном времени на сборочных линиях.
- Исследований Neural Architecture Search: изучения влияния автоматизированного поиска архитектуры (MAE-NAS) и эффективных репараметризованных бэкендов на производительность детекции.
Link to this sectionКогда выбирать Ultralytics (YOLO26)#
Для большинства новых проектов Ultralytics YOLO26 предлагает наилучшее сочетание производительности и опыта разработчика:
- Развертывания на периферии без NMS: приложений, требующих стабильного вывода с низкой задержкой без сложности постобработки подавления немаксимумов.
- Среды только с CPU: устройств без выделенного GPU-ускорения, где до 43% более быстрый вывод на CPU у YOLO26 дает решающее преимущество.
- Детектирования мелких объектов: сложных сценариев, таких как аэросъемка с дронов или анализ датчиков IoT, где ProgLoss и STAL значительно повышают точность на крошечных объектах.
Link to this sectionПреимущество Ultralytics#
Хотя обе модели технически впечатляют, выбор архитектуры для производства подразумевает взгляд за пределы простых метрик. Создание продуктов с моделями, нативно поддерживаемыми экосистемой Ultralytics, предоставляет непревзойденные преимущества как для разработчиков, так и для исследователей.
Link to this sectionПростота использования и хорошо поддерживаемая экосистема#
В отличие от автономных академических репозиториев, которые часто забрасываются, Ultralytics предлагает надежную, активно поддерживаемую экосистему. Настройка сложных сред для моделей, сильно зависящих от конвейеров NAS, может быть пугающей. Напротив, Ultralytics предоставляет стандартизированный, интуитивно понятный Python API и мощный CLI, подкрепленные обширной документацией. Это радикально сокращает время вывода на рынок для кастомных решений в области зрения.
Link to this sectionЭффективность обучения и требования к памяти#
Обучение больших моделей может быстро стать вычислительно затратным. Архитектуры Ultralytics YOLO исторически известны низким потреблением памяти CUDA во время обучения и вывода. Эта эффективность позволяет разработчикам обучать модели на потребительском оборудовании или экономически эффективных облачных инстансах, не сталкиваясь с ошибками нехватки памяти, которые часто встречаются при работе с моделями на основе Transformer, такими как RT-DETR.
Ultralytics нативно интегрируется с лучшими инструментами MLOps. Ты можешь легко отслеживать прогресс обучения модели, используя интеграции с Weights & Biases, Comet или ClearML без какого-либо дополнительного шаблонного кода.
Link to this sectionУниверсальность в задачах#
Значительным ограничением многих специализированных моделей детектирования является их узкая направленность. Внутри экосистемы Ultralytics ты не ограничен только детектированием объектов. Инструменты бесшовно расширяются на множество задач компьютерного зрения, включая сегментацию экземпляров, классификацию изображений, оценку позы и детектирование ориентированных ограничивающих рамок (OBB).
Link to this sectionВзгляд в будущее: Эволюция YOLO26#
Хотя YOLOv10 стала пионером вывода без NMS, а DAMO-YOLO продемонстрировала мощь NAS, область компьютерного зрения движется быстро. Для разработчиков, ищущих конечное современное решение, мы рекомендуем ознакомиться с Ultralytics YOLO26.
Выпущенная как окончательный преемник YOLO11, YOLO26 основывается на базе без NMS, заложенной YOLOv10, но идет значительно дальше.
Ключевые улучшения в YOLO26 включают:
- До 43% более быстрый вывод на CPU: специально оптимизировано для граничных вычислений и маломощных устройств.
- Удаление DFL: Distribution Focal Loss была удалена, что обеспечивает более простой экспорт и расширенную совместимость с различными целями развертывания.
- Оптимизатор MuSGD: гибрид SGD и Muon, привносящий передовую стабильность обучения LLM и более быструю сходимость напрямую в компьютерное зрение.
- ProgLoss + STAL: Кардинально улучшенные функции потерь, предлагающие заметные улучшения в распознавании мелких объектов, что крайне важно для таких вариантов использования, как сельское хозяйство и дистанционное зондирование.
Используя недавно обновленную платформу Ultralytics, разработчики могут бесшовно аннотировать, обучать и развертывать модели следующего поколения, такие как YOLO26, всего за несколько кликов, гарантируя, что твой конвейер компьютерного зрения будет как передовым, так и готовым к будущему.