YOLOv5 против YOLOv6-3.0#
Ландшафт компьютерного зрения постоянно развивается, и новые архитектуры расширяют границы скорости и точности. При выборе модели для твоего следующего проекта в области ИИ компьютерного зрения разработчики часто сравнивают устоявшиеся, универсальные фреймворки с узкоспециализированными промышленными детекторами. Этот глубокий анализ исследует технические нюансы между Ultralytics YOLOv5 и YOLOv6-3.0 от Meituan, помогая тебе выбрать лучший инструмент для твоих задач развертывания.
Введение в модели#
Ultralytics YOLOv5: универсальный стандарт#
Выпущенный в 2020 году, Ultralytics YOLOv5 быстро стал золотым стандартом для доступного высокопроизводительного обнаружения объектов. Он славится невероятной простотой использования, надежными конвейерами обучения и широкими возможностями интеграции при развертывании.
- Автор: Гленн Джочер
- Организация: Ultralytics
- Дата: 2020-06-26
- GitHub: ultralytics/yolov5
YOLOv5 создан с нуля для обеспечения бесшовного опыта разработчика в экосистеме PyTorch. Он предлагает выгодный баланс производительности, достигая отличной средней точности (mAP) при сохранении высокой скорости инференса, подходящей для различных сценариев развертывания в реальном мире — от периферийных устройств до облачных серверов.
YOLOv6-3.0: промышленная пропускная способность#
Разработанный отделом Vision AI в Meituan, YOLOv6-3.0 специально адаптирован для промышленных приложений, отдавая приоритет максимальной пропускной способности на специализированных аппаратных ускорителях.
- Авторы: Chuyi Li, Lulu Li, Yifei Geng и др.
- Организация: Meituan
- Дата: 2023-01-13
- Arxiv: 2301.05586
- GitHub: meituan/YOLOv6
YOLOv6 нацелен на максимизацию скорости обработки на GPU, таких как NVIDIA T4. Он использует пользовательские методы квантования и специализированные бэкбоны для достижения своей производительности, что делает его сильным кандидатом для обработки на бэкенд-серверах, где активно используется пакетный инференс.
Архитектурные различия#
Понимание архитектурных решений, лежащих в основе этих моделей, имеет решающее значение для определения их идеальных вариантов использования.
Архитектура YOLOv5#
YOLOv5 использует высокооптимизированную архитектуру CSPDarknet в сочетании с шеей (neck) Path Aggregation Network (PANet). Эта структура тщательно настроена для обеспечения минимальных требований к памяти во время обучения и вывода. В отличие от больших моделей на базе Transformer, требующих огромного количества памяти CUDA и длительного времени обучения, YOLOv5 эффективно работает на стандартном потребительском оборудовании.
Модели Ultralytics специально спроектированы для эффективности обучения. Ты часто можешь обучить модель YOLOv5 на одном GPU среднего уровня, что делает ее очень доступной как для исследователей, так и для стартапов.
Кроме того, YOLOv5 — это не просто детектор объектов. Его архитектура органично расширяется на другие задачи, предлагая надежную поддержку из коробки для сегментации изображений и классификации изображений.
Архитектура YOLOv6-3.0#
YOLOv6-3.0 отличается архитектурой EfficientRep, которая разработана для удобства работы с оборудованием, особенно при выполнении на GPU. Он использует модуль Bi-directional Concatenation (BiC) в своей шее для улучшения объединения признаков.
Во время обучения YOLOv6 использует стратегию Anchor-Aided Training (AAT) для стабилизации сходимости, хотя при выводе он остается детектором без анкоров (anchor-free). Хотя эта архитектура превосходна в задачах с ускорением на GPU, ее иногда сложнее адаптировать для разнообразных периферийных устройств по сравнению с высокопортативным фреймворком YOLOv5.
Анализ производительности#
При оценке этих моделей сырые показатели скорости и точности имеют жизненно важное значение. Ниже представлена сравнительная таблица, подчеркивающая производительность моделей различных размеров на датасете COCO.
| Модель | размер (пиксели) | mAPval 50-95 | Скорость CPU ONNX (мс) | Скорость T4 TensorRT10 (мс) | параметры (М) | FLOPs (Б) |
|---|---|---|---|---|---|---|
| YOLOv5n | 640 | 28.0 | 73.6 | 1.12 | 2.6 | 7.7 |
| YOLOv5s | 640 | 37.4 | 120.7 | 1.92 | 9.1 | 24.0 |
| YOLOv5m | 640 | 45.4 | 233.9 | 4.03 | 25.1 | 64.2 |
| YOLOv5l | 640 | 49.0 | 408.4 | 6.61 | 53.2 | 135.0 |
| YOLOv5x | 640 | 50.7 | 763.2 | 11.89 | 97.2 | 246.4 |
| 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 |
В то время как YOLOv6-3.0 достигает более высоких показателей mAP в своих более крупных вариантах, YOLOv5 сохраняет невероятно легкий вес. Например, YOLOv5n требует значительно меньше параметров и FLOP, чем его аналог YOLOv6, что делает его оптимальным для мобильных или ограниченных CPU развертываний.
Экосистема и простота использования#
Истинным определяющим фактором для многих инженерных команд является экосистема, окружающая модель.
YOLOv6 — это впечатляющий исследовательский репозиторий, но для развертывания в различных форматах требуется значительный объем шаблонного кода. В отличие от него, Ultralytics предлагает поддерживаемую экосистему, характеризующуюся оптимизированным пользовательским опытом. Через унифицированный Python API и интуитивную платформу Ultralytics Platform разработчики получают доступ к бесшовному управлению датасетами, обучению в один клик и прямому экспорту в такие форматы, как ONNX и TensorRT.
Пример кода: унифицированный API Ultralytics#
Пакет pip Ultralytics ultralytics позволяет тебе загружать, обучать и развертывать модели всего в несколько строк кода.
from ultralytics import YOLO
# Load a pretrained YOLOv5 small model
model = YOLO("yolov5s.pt")
# Train the model effortlessly on the COCO8 dataset
results = model.train(data="coco8.yaml", epochs=50, imgsz=640)
# Run fast inference on an image
predictions = model("https://ultralytics.com/images/bus.jpg")
# Export to ONNX for edge deployment
model.export(format="onnx")Сценарии использования и рекомендации#
Выбор между YOLOv5 и YOLOv6 зависит от твоих конкретных требований к проекту, ограничений развертывания и предпочтений в экосистеме.
Когда стоит выбрать YOLOv5#
YOLOv5 — отличный выбор для:
- Проверенных производственных систем: существующих развертываний, где ценятся долгая история стабильности YOLOv5, обширная документация и огромная поддержка сообщества.
- Обучения с ограниченными ресурсами: сред с ограниченными ресурсами GPU, где эффективный конвейер обучения YOLOv5 и более низкие требования к памяти являются преимуществом.
- Широкая поддержка форматов экспорта: Проекты, требующие развертывания во многих форматах, включая ONNX, TensorRT, CoreML и TFLite.
Когда выбирать YOLOv6#
YOLOv6 рекомендуется для:
- Промышленного внедрения с учетом оборудования: сценарии, где аппаратная ориентированность модели и эффективная репараметризация обеспечивают оптимизированную производительность на конкретном целевом оборудовании.
- Быстрого одноэтапного обнаружения: приложения, где приоритетом является чистая скорость вывода на GPU для обработки видео в реальном времени в контролируемых условиях.
- Интеграция с экосистемой Meituan: Команды, уже работающие в стеке технологий и инфраструктуре развертывания Meituan's.
Когда выбирать Ultralytics (YOLO26)#
Для большинства новых проектов Ultralytics YOLO26 предлагает наилучшее сочетание производительности и удобства для разработчика:
- Развертывания на периферии без NMS: приложений, требующих стабильного вывода с низкой задержкой без сложности постобработки подавления немаксимумов.
- Среды только с CPU: устройств без выделенного GPU-ускорения, где до 43% более быстрый вывод на CPU у YOLO26 дает решающее преимущество.
- Обнаружение малых объектов: Сложные сценарии, такие как aerial drone imagery или анализ с помощью IoT-сенсоров, где ProgLoss и STAL значительно повышают точность для крошечных объектов.
Двигаемся дальше: преимущество YOLO26#
В то время как YOLOv5 остается надежной «рабочей лошадкой», а YOLOv6-3.0 предлагает высокую производительность на промышленных GPU, современные технологии шагнули вперед. Разработчикам, начинающим новые проекты сегодня, рекомендуется выбирать Ultralytics YOLO26.
Выпущенный в январе 2026 года YOLO26 представляет собой колоссальный шаг вперед. Он унаследовал непревзойденную универсальность экосистемы Ultralytics, при этом внедряя прорывные архитектурные улучшения:
- Дизайн End-to-End без NMS: YOLO26 исключает постпроцессинг с помощью Non-Maximum Suppression, что значительно снижает дисперсию задержки и упрощает логику развертывания.
- Ускорение вывода на CPU до 43%: Благодаря удалению DFL и оптимизированной «голове» модели, она значительно превосходит предыдущие поколения на периферийных устройствах и устройствах с низким энергопотреблением.
- Оптимизатор MuSGD: Используя инновации в обучении LLM, новый оптимизатор MuSGD обеспечивает очень стабильное обучение и удивительно быструю сходимость.
- Продвинутая универсальность: YOLO26 легко справляется с ориентированными ограничивающими рамками (OBB), оценкой позы и сегментацией со специализированными функциями потерь для задач, такими как ProgLoss и STAL, для беспрецедентного распознавания мелких объектов.
Если ты изучаешь другие варианты в экосистеме Ultralytics, ты также можешь рассмотреть универсальный YOLO11 или инновационный YOLO-World для задач детектирования с открытым словарем.
Заключение#
И YOLOv5, и YOLOv6-3.0 оказали значительное влияние на область компьютерного зрения. YOLOv6-3.0 обеспечивает отличную пропускную способность для мощного серверного оборудования, что делает его подходящим для специализированной офлайн-аналитики. Однако YOLOv5 остается лучшим выбором для разработчиков, которым нужна надежная, простая в использовании и высокоуниверсальная модель, поддерживаемая платформой мирового класса.
Для достижения идеального баланса точности нового поколения, нативного развертывания без NMS и лучшего в индустрии опыта разработчика обновление до YOLO26 через платформу Ultralytics Platform является окончательным выбором для современных решений компьютерного зрения на базе ИИ.