YOLOv8 против YOLOv7: всестороннее техническое сравнение
Эволюция моделей обнаружения объектов происходила стремительно, и семейство YOLO (You Only Look Once) лидирует по производительности в режиме реального времени. Выбирая между YOLOv8 и YOLOv7 предполагает понимание не только их сырых показателей, но и архитектурной философии, опыта разработчиков и поддержки экосистемы, которая их окружает. В то время как YOLOv7 установил впечатляющие стандарты после своего выхода, Ultralytics YOLOv8 представил смену парадигмы в удобстве и универсальности.
В этом руководстве представлен подробный технический анализ, который поможет разработчикам и исследователям выбрать подходящий инструмент для своих проектов в области компьютерного зрения.
Анализ производительности
При сравнении производительности важно обратить внимание на компромисс между скоростью вывода и точностью обнаружения (mAP). YOLOv8 в целом предлагает лучший баланс, обеспечивая более высокую точность при схожих размерах модели и более высокую скорость вывода на современном оборудовании.
В следующей таблице показаны различия в производительности на наборе данныхCOCO .
| Модель | размер (пиксели) | mAPval 50-95 | Скорость CPU ONNX (мс) | Скорость T4 TensorRT10 (мс) | параметры (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
| YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
Основные выводы
- Эффективность: Сайт YOLOv8n (nano) достигает поразительной скорости (1,47 мс на GPU), что делает его идеальным для краевых приложений искусственного интеллекта, где задержка имеет решающее значение.
- Точность:YOLOv8x превосходит YOLOv7x по точности (53,9% против 53,1% mAP), сохраняя при этом конкурентоспособное количество параметров.
- Оптимизация: Модели YOLOv8 демонстрируют лучшую эффективность использования параметров, обеспечивая более высокую производительность на FLOP, что приводит к снижению энергопотребления во время вычислений.
Ultralytics YOLOv8: современный стандарт
Выпущено компанией Ultralytics в начале 2023 года, YOLOv8 был разработан для того, чтобы быть самым современным (SOTA) не только по производительности, но и по гибкости и простоте использования. Он объединяет множество задач компьютерного зрения в единый, оптимизированный фреймворк.
- Авторы: Гленн Джокер, Аюш Чаурасия и Цзин Цю
- Организация:Ultralytics
- Дата: 10.01.2023
- GitHub:ultralytics
- Документация:Документация поYOLOv8
Архитектура и инновации
В YOLOv8 появился механизм безъякорного обнаружения, который упрощает процесс обучения, устраняя необходимость в ручном расчете якорных ящиков. Это уменьшает количество предсказаний ящиков и ускоряет процесс подавления не-максимума (NMS).
В архитектуре используется модуль C2f (Cross-Stage Partial Bottleneck с двумя свертками), который более эффективно, чем предыдущие итерации, объединяет высокоуровневые характеристики с контекстной информацией. Это приводит к более насыщенному градиентному потоку и улучшению сходимости обучения. Кроме того, в YOLOv8 используется разделенная голова, которая обрабатывает задачи объектности, классификации и регрессии независимо друг от друга для повышения точности.
Сильные стороны
- Интеграция с экосистемой: Полная интеграция с экосистемой Ultralytics , позволяющая легко обучать, проверять и развертывать модели с помощью простого Python API или CLI.
- Универсальность: Встроенная поддержка обнаружения объектов, сегментации объектов, оценки позы, классификации изображений и ориентированных граничных боксов (OBB).
- Опыт разработчика: Установка проста как
pip install ultralyticsс обширной документацией и активной поддержкой сообщества на GitHub и Discord.
YOLOv7: эталон эффективности
YOLOv7 произвел значительный фурор после своего выхода, представив архитектурные оптимизации, сфокусированные на "bag-of-freebies"-методах для повышения точности без увеличения стоимости выводов.
- Авторы: Чен-Яо Ванг, Алексей Бочковский и Хонг-Юань Марк Ляо
- Организация:Институт информационных наук, Academia Sinica
- Дата: 06.07.2022
- Arxiv:YOLOv7: Обучаемый мешок бесплатных вещей устанавливает новый уровень развития
- GitHub:WongKinYiu/yolov7
Архитектура и подход
В YOLOv7 используется расширенная эффективная сеть агрегирования слоев (E-ELAN), которая управляет кратчайшим и длинным градиентными путями, позволяя сети эффективно изучать больше признаков. В ней уделяется большое внимание масштабированию модели (одновременному изменению глубины и ширины) и применяются методы повторной параметризации для слияния слоев во время вывода, что ускоряет работу модели без потери точности обучения.
Сильные стороны и ограничения
YOLOv7 - это мощная модель, обеспечивающая превосходное соотношение скорости и точности, особенно на GPU . Благодаря подходу "bag-of-freebies" модель остается легкой во время развертывания. Однако, по сравнению с YOLOv8, она не имеет унифицированной поддержки многозадачности из коробки и требует более сложных процедур настройки, включающих клонирование репозиториев и управление зависимостями вручную. В первую очередь он специализируется на обнаружении объектов, а для других задач часто требуются отдельные ветки или реализации.
Углубленное техническое сравнение
Удобство использования и экосистема
Одно из самых заметных отличий заключается в простоте использования. Ultralytics YOLOv8 упакован как стандартная библиотека Python . Это означает, что разработчики могут интегрировать его в существующие конвейеры с минимальным количеством кода. В отличие от этого, YOLOv7 обычно работает как отдельная кодовая база, которую необходимо клонировать и модифицировать.
Опыт разработчиков
YOLOv8 позволяет обучить модель всего за три строки кода на Python . Такой оптимизированный пользовательский опыт значительно сокращает время вывода решений ИИ на рынок.
from ultralytics import YOLO
# Load a model
model = YOLO("yolov8n.pt") # load a pretrained model
# Train the model
results = model.train(data="coco8.yaml", epochs=100)
Универсальность задач
Современные проекты в области компьютерного зрения часто требуют не только ограничительных рамок.
- YOLOv8: Настоящая многозадачная модель. Вы можете переключаться с обнаружения на сегментация или оценка позы просто изменив файл веса модели (например,
yolov8n-seg.pt). - YOLOv7: В первую очередь ориентирован на обнаружение. Хотя расширения существуют, они не так тесно интегрированы или поддерживаются в рамках единой унифицированной структуры.
Эффективность тренировок и память
YOLOv8 оптимизирует требования к памяти во время обучения. В нем реализованы интеллектуальные стратегии дополнения данных, которые отключаются к концу обучения для повышения точности. Кроме того, фреймворк Ultralytics поддерживает различные форматы наборов данных и позволяет автоматически загружать стандартные наборы данных, что значительно повышает эффективность обучения.
Модели на основе трансформаторов часто требуют огромных объемов памяти CUDA и медленно обучаются. Для сравнения, и YOLOv7 , и YOLOv8 основаны на CNN и эффективны, но современные архитектурные решения YOLOv8(например, блок C2f) часто приводят к более быстрой сходимости и лучшей эффективности использования памяти на оборудовании потребительского класса.
Реальные примеры использования
Розничная торговля и управление запасами
Для аналитики розничной торговли скорость имеет первостепенное значение. YOLOv8n может работать на пограничных устройствах, таких как камеры или модули NVIDIA Jetson, чтобы track товарные запасы в режиме реального времени. Высокая скорость вывода данных обеспечивает точный подсчет движущихся товаров без задержек.
Автономные системы и робототехника
Робототехника требует точного пространственного восприятия. Возможности сегментации YOLOv8 позволяют роботам различать точную форму препятствий, а не просто ограничивающие рамки. Такая универсальность повышает безопасность навигации. Несмотря на возможности YOLOv7 , реализация сегментации требует больших усилий и разрозненных кодовых баз.
Сельское хозяйство
В точном сельском хозяйстве модели detect болезни культур или следят за их ростом. Благодаря хорошо развитой экосистеме Ultralytics исследователи имеют доступ к предварительно обученным весам и учебным пособиям сообщества специально для этих нишевых наборов данных, что снижает барьер для входа.
Заключение
Хотя YOLOv7 остается уважаемой и мощной архитектурой в истории компьютерного зрения, Ultralytics YOLOv8 представляет собой лучший выбор для современной разработки. Сочетание современной производительности, непревзойденной универсальности и экосистемы, ориентированной на разработчиков, делает ее лучшим решением как для академических исследований, так и для корпоративного развертывания.
Для тех, кто стремится к абсолютной эффективности и архитектурной изысканности, Ultralytics также выпустила YOLO11которая еще больше расширяет границы. Тем не менее, при прямом сравнении с поколением v7 YOLOv8 является победителем по прочности, надежности и простоте использования.
Дополнительная литература
Изучите другие сравнения моделей, чтобы углубить свое понимание ландшафта YOLO :
- YOLO11 против YOLOv8 - сравнение последних итераций.
- YOLOv5 против YOLOv8 - Узнайте, как изменилась архитектура по сравнению с v5.
- YOLOv10 против YOLOv8 - анализ различных архитектурных подходов.
- ГлоссарийUltralytics - понимание ключевых терминов, таких как mAP и IoU.