YOLOv7 и YOLOv8#
Стремительное развитие компьютерного зрения привело к появлению множества мощных инструментов для разработчиков и исследователей. При выборе подходящей архитектуры для конвейера обнаружения объектов важно сравнивать проверенные модели. В этом техническом руководстве подробно рассматриваются архитектуры, метрики производительности и оптимальные варианты применения двух чрезвычайно влиятельных моделей: YOLOv7 и Ultralytics YOLOv8.
Введение в архитектуры#
Обе модели демонстрируют значительный прирост производительности, но подходят к оптимизации глубоких нейронных сетей с разных структурных позиций.
YOLOv7: пионер «бесплатных улучшений»#
Представленная в середине 2022 года, YOLOv7 была в значительной степени сосредоточена на оптимизации архитектурных градиентных путей и концепции «обучаемого набора бесплатных улучшений», чтобы расширить возможности обнаружения в реальном времени на высокопроизводительном оборудовании.
- Авторы: Chien-Yao Wang, Alexey Bochkovskiy и Hong-Yuan Mark Liao
- Организация: Институт информационных наук, Academia Sinica, Тайвань
- Дата: 2022-07-06
- Arxiv: 2207.02696
- GitHub: WongKinYiu/yolov7
- Документация: Документация Ultralytics YOLOv7
Основные особенности архитектуры: YOLOv7 в основном использует голову обнаружения на основе якорей (при этом в ней экспериментировали с безъякорными ветвями) и представляет Extended Efficient Layer Aggregation Networks (E-ELAN). Эта архитектура улучшает способность сети к обучению, не разрушая исходный градиентный путь. Она исключительно хорошо работает на серверных GPU, что делает её особенно подходящей для ресурсоёмкой видеоаналитики.
Преимущества и недостатки: YOLOv7 обеспечивает отличную задержку на специализированном оборудовании, однако её экосистема сильно фрагментирована. Для обучения требуются сложные аргументы командной строки, ручное клонирование репозитория и строгое управление зависимостями в PyTorch. Кроме того, требования к памяти во время обучения могут быть чрезмерными для пользовательского оборудования.
Ultralytics YOLOv8: универсальный стандарт#
Выпущенная в начале 2023 года, YOLOv8 полностью переосмыслила опыт разработчика, сосредоточившись не только на точности уровня лучших современных решений, но и на создании унифицированного фреймворка, готового к использованию в производстве.
- Авторы: Glenn Jocher, Ayush Chaurasia и Jing Qiu
- Организация: Ultralytics
- Дата: 2023-01-10
- GitHub: ultralytics/ultralytics
- Платформа: Ultralytics YOLOv8
Основные особенности архитектуры: В YOLOv8 появилась встроенная безъякорная голова обнаружения, устраняющая необходимость вручную настраивать якорные блоки на основе набора данных MS COCO или пользовательских распределений данных. В ней используется модуль C2f для улучшения прохождения градиента, а также раздельная структура головы, отделяющая задачи определения объектности, классификации и регрессии. Это значительно ускоряет сходимость и повышает точность.
Преимущества и недостатки: YOLOv8 отличается исключительной эффективностью использования памяти. Во время обучения ей требуется значительно меньше памяти CUDA по сравнению с YOLOv7 и более тяжёлыми моделями на базе Transformer, что позволяет разработчикам использовать больший размер пакета. Её главное преимущество — универсальность: встроенная поддержка сегментации экземпляров, классификации изображений, оценки позы и ориентированных ограничивающих рамок (OBB). Единственный незначительный недостаток заключается в том, что для узкоспециализированных устаревших конвейеров, созданных исключительно для тензоров YOLOv7, может потребоваться небольшой период рефакторинга.
Ultralytics YOLOv8 опирается на хорошо поддерживаемую экосистему. Благодаря интуитивно понятному API Python, активной разработке и надёжной поддержке сообщества переход от локального тестирования модели к глобальному развёртыванию занимает лишь малую долю времени по сравнению с автономными репозиториями.
Подробное сравнение производительности#
В следующей таблице представлены метрики производительности для основных размеров моделей. Обрати внимание на выраженный баланс производительности, которого достигает YOLOv8, уделяя особое внимание быстрому выводу на периферийных устройствах и одновременно сохраняя точность мирового уровня.
| Модель | размер (пиксели) | mAPval 50-95 | Скорость CPU ONNX (мс) | Скорость T4 TensorRT10 (мс) | параметры (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
| YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
| YOLOv8n | 640 | 37.3 | 80.4 | 1.47 | 3.2 | 8.7 |
| YOLOv8s | 640 | 44.9 | 128.4 | 2.66 | 11.2 | 28.6 |
| YOLOv8m | 640 | 50.2 | 234.7 | 5.86 | 25.9 | 78.9 |
| YOLOv8l | 640 | 52.9 | 375.2 | 9.06 | 43.7 | 165.2 |
| YOLOv8x | 640 | 53.9 | 479.1 | 14.37 | 68.2 | 257.8 |
Примечание: YOLOv8x достигает наибольшего значения mAP в этой группе, тогда как YOLOv8n лидирует по эффективности использования параметров и скорости вывода, что делает её безоговорочным чемпионом для развёртывания компьютерного зрения на периферийных AI-устройствах.
Простота использования и эффективность обучения#
Когда речь заходит о простоте использования, Ultralytics YOLOv8 находится в собственной лиге. Более старые архитектуры, такие как YOLOv7, требуют клонировать определённые репозитории и запускать подробные скрипты командной строки для настройки наборов данных и путей.
Напротив, пакет ultralytics для YOLOv8 обеспечивает значительно более простой опыт разработки. Эффективность обучения повышается благодаря автоматической загрузке данных, готовым предварительно обученным весам и удобным возможностям экспорта в такие форматы, как ONNX и TensorRT.
Вот как легко можно загрузить модель, обучить её и выполнить вывод с помощью API Python Ultralytics:
from ultralytics import YOLO
# Load a pretrained YOLOv8 nano model
model = YOLO("yolov8n.pt")
# Train the model efficiently on the COCO8 dataset
results = model.train(data="coco8.yaml", epochs=50, imgsz=640)
# Run fast inference on a test image
predictions = model("https://ultralytics.com/images/bus.jpg")
# Display the predictions
predictions[0].show()YOLOv8 нативно интегрируется с популярными MLOps-инструментами, такими как Weights & Biases и ClearML, позволяя тебе отслеживать настройку гиперпараметров и метрики обучения в режиме реального времени.
Идеальные сценарии использования#
Выбор между этими архитектурами часто зависит от конкретных ограничений среды развёртывания.
Когда выбирать YOLOv7#
- Устаревшее тестирование: подходит исследователям, которым нужен фиксированный базовый уровень для сравнения с архитектурными стандартами 2022 года.
- Существующая мощная инфраструктура: среды, в которые значительные вложения сделаны в GPU NVIDIA V100 или A100 и где конкретные конфигурации тензоров YOLOv7 глубоко встроены в устаревший конвейер C++.
Когда стоит выбрать YOLOv8#
- Кросс-платформенное производство: идеально подходит командам, которым необходимо беспрепятственно развёртывать решения в облачных GPU, на мобильных устройствах и в браузерах.
- Требования к нескольким задачам: если твоему проекту нужно выйти за пределы ограничивающих рамок и использовать содержательные маски сегментации экземпляров или ключевые точки позы.
- Периферийные устройства с ограниченными ресурсами: YOLOv8 Nano (
yolov8n) обеспечивает впечатляющее соотношение точности и скорости для робототехники, дронов и датчиков IoT.
Взгляд в будущее: смена поколения с переходом к YOLO26#
Хотя YOLOv8 остаётся очень надёжным выбором, область компьютерного зрения развивается стремительно. Для разработчиков, которые начинают полностью новые высокопроизводительные проекты, Ultralytics недавно представила следующее поколение AI-моделей. Настоятельно рекомендуется изучить как тщательно доработанную YOLO11, так и недавно выпущенную YOLO26.
Выпущенная в январе 2026 года, YOLO26 расширяет границы возможного на периферийных устройствах:
- Сквозная архитектура без NMS: YOLO26 изначально работает сквозным образом, полностью устраняя постобработку Non-Maximum Suppression (NMS). Это обеспечивает значительно более быстрые и простые конвейеры развёртывания без узких мест по задержке, характерных для традиционных моделей с плотным предсказанием.
- Удаление DFL: благодаря удалению Distribution Focal Loss YOLO26 обеспечивает гораздо более простые варианты развёртывания модели и лучшую совместимость с периферийными устройствами.
- До 43% более быстрый вывод на CPU: модель тщательно оптимизирована для сред с ограниченными ресурсами, таких как Raspberry Pi и встраиваемые системы, и превосходит все предыдущие поколения по пропускной способности CPU.
- Оптимизатор MuSGD: вдохновлённый методами обучения Large Language Model (LLM), YOLO26 объединяет SGD и Muon в гибридный подход. Это обеспечивает беспрецедентную стабильность обучения и молниеносную сходимость.
- ProgLoss + STAL: эти продвинутые функции потерь заметно улучшают распознавание небольших объектов, что особенно важно для аэрофотосъёмки, автоматизированного сельского хозяйства и робототехники.
Независимо от того, масштабируешь ли ты видеоаналитику до огромных кластеров с YOLOv8 или переносишь вывод на крошечные периферийные устройства с передовой YOLO26, платформа Ultralytics предоставляет инструменты для удобного управления всем жизненным циклом AI.