Сравнение моделей: YOLOv7 против YOLOv8 для обнаружения объектов
В быстро развивающейся области компьютерного зрения семейство моделей "You Only Look Once"YOLO) неизменно устанавливает стандарты для обнаружения объектов в реальном времени. Двумя важными вехами в этом ряду являются YOLOv7 и Ultralytics YOLOv8. Несмотря на то, что обе модели раздвинули границы точности и скорости при выпуске, они представляют собой разные философии проектирования и зрелости экосистемы.
В этом руководстве приводится подробное техническое сравнение, которое поможет разработчикам и исследователям выбрать инструмент, соответствующий их конкретным потребностям - от академических исследований до развертывания на производстве.
Сравнение показателей производительности
В следующей таблице представлено прямое сравнение показателей производительности между ключевыми моделями YOLOv7 и YOLOv8 . 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 |
YOLOv7: Эволюция "сумки бесплатных вещей"
Выпущенная в июле 2022 года, YOLOv7 была разработана в основном авторами YOLOv4 и YOLOR. В ней появилось несколько архитектурных новшеств, направленных на оптимизацию процесса обучения без увеличения стоимости выводов - концепция, получившая название "обучаемый мешок бесплатных вещей".
- Авторы: Чен-Яо Ванг, Алексей Бочковский и Хонг-Юань Марк Ляо
- Организация: Institute of Information Science, Academia Sinica, Taiwan
- Дата: 06.07.2022
- Ссылки:Arxiv Paper | GitHub Repository
Основные архитектурные особенности
В YOLOv7 появилась расширенная эффективная сеть агрегирования уровней (E-ELAN). Эта архитектура управляет кратчайшими и длинными градиентными путями, что позволяет сети изучать более разнообразные характеристики. Кроме того, в ней используются методы масштабирования модели, которые изменяют глубину и ширину архитектуры одновременно, обеспечивая оптимальную производительность при различных размерах.
Несмотря на впечатляющие бенчмарки на старте, YOLOv7 в первую очередь ориентирован на обнаружение объектов, а поддержка других задач менее интегрирована по сравнению с более новыми фреймворками.
Ultralytics YOLOv8: унифицированный фреймворк и современная архитектура
Выпущенная в начале 2023 года компанией Ultralytics, YOLOv8 представляла собой кардинальную переработку архитектуры YOLO . Она была разработана не просто как модель, а как единый фреймворк, способный беспрепятственно выполнять обнаружение, сегментацию объектов, оценку позы и классификацию.
- Авторы: Гленн Джокер, Аюш Чаурасия и Цзин Цю
- Организация: Ultralytics
- Дата: 10.01.2023
- Ссылки:Ultralytics Docs | GitHub Repository
Архитектурные инновации
YOLOv8 перешла от обнаружения на основе якорей, использовавшегося в предыдущих версиях (включая YOLOv7), к механизму обнаружения без якорей. Этот переход упрощает процесс обучения, устраняя необходимость вычисления якорных блоков, что делает модель более устойчивой к изменениям формы и размера объектов.
Магистраль была модернизирована для использования модулей C2f (Cross-Stage Partial Bottleneck с двумя свертками), которые заменяют модули C3 из YOLOv5. Это изменение улучшает градиентный поток и позволяет модели оставаться легкой, но при этом получать более богатую информацию о признаках.
Подробное техническое сравнение
Якорь с привязкой и без привязки
Одно из самых заметных отличий - головка обнаружения. YOLOv7 полагается на якорные коробки - заранее определенные фигуры, которые модель пытается сопоставить с объектами. Несмотря на эффективность, это требует настройки гиперпараметров для пользовательских наборов данных.
В отличие от этого, YOLOv8 использует безъякорный подход, предсказывая центр объекта напрямую. Это уменьшает количество предсказаний в ящиках, ускоряет работу системы немаксимального подавленияNMS) и облегчает обучение модели на различных данных без ручной настройки якорей.
Эффективность обучения и использование памяти
Модели Ultralytics известны своей инженерной эффективностью. В YOLOv8 используется интеллектуальная стратегия дополнения данных, которая отключает дополнения Mosaic в последние эпохи обучения. Эта техника стабилизирует потери при обучении и повышает точность.
Эффективность памяти
Значительное преимущество Ultralytics YOLOv8 по сравнению со сложными архитектурами типа трансформаторов (например, RT-DETR) является меньшая потребность в памяти CUDA . Это позволяет пользователям обучать большие объемы партий на графических процессорах потребительского класса, демократизируя доступ к обучению самых современных моделей.
Экосистема и простота использования
В то время как YOLOv7 является мощным хранилищем исследований, Ultralytics YOLOv8 предлагает усовершенствованный продукт. Экосистема Ultralytics обеспечивает:
- Оптимизированный API: Единый интерфейс Python для всех задач.
- Развертывание: Экспорт в такие форматы, как ONNX, TensorRT, CoreML и TFLite , одним щелчком мыши через режим экспорта.
- Поддержка сообщества: Активное сообщество Discord и частые обновления, обеспечивающие совместимость с последними версиями PyTorch .
Сравнение кодов
Разрыв в удобстве использования очевиден при сравнении кода, необходимого для выполнения выводов. Ultralytics уделяет первостепенное внимание подходу с низким содержанием кода, позволяя разработчикам интегрировать искусственное зрение в приложения с минимальными накладными расходами.
Запуск YOLOv8 с помощью Python
from ultralytics import YOLO
# Load a pre-trained YOLOv8 model
model = YOLO("yolov8n.pt")
# Run inference on an image
results = model("https://ultralytics.com/images/bus.jpg")
# Display the results
for result in results:
result.show()
Реализация CLI
YOLOv8 также может быть запущен непосредственно из командной строки, что упрощает интеграцию трубопроводов и быстрое тестирование.
# Detect objects in an image using the nano model
yolo predict model=yolov8n.pt source='https://ultralytics.com/images/zidane.jpg' imgsz=640
Идеальные варианты использования
Когда использовать YOLOv7
YOLOv7 остается оптимальным выбором для исследователей, проводящих бенчмаркинг по стандартам 2022/2023 или поддерживающих старые системы, созданные специально для архитектуры в стиле Darknet. Его подход "мешок бесплатных вещей" предлагает интересные идеи для тех, кто изучает стратегии оптимизации нейронных сетей.
Когда использовать YOLOv8
YOLOv8 - это рекомендуемый выбор для подавляющего большинства новых проектов, включая:
- Приложения реального времени: Модель YOLOv8n (nano) обеспечивает невероятную скорость (около 80 мс на CPU), что делает ее идеальной для мобильных приложений и встраиваемых систем.
- Многозадачные конвейеры: Проекты, требующие оценки положения или сегментации наряду с обнаружением, могут использовать один API.
- Коммерческое развертывание: Надежная экспортная совместимость обеспечивает эффективное развертывание моделей, обученных в PyTorch , в производственных средах с использованием TensorRT или OpenVINO.
Заключение
В то время как YOLOv7 внес значительный вклад в область компьютерного зрения, оптимизировав обучаемые параметры, Ultralytics YOLOv8 представляет собой современный стандарт для практической разработки ИИ.
Превосходный баланс скорости и точности YOLOv8 в сочетании с безъякорной конструкцией и обширной экосистемой поддержки Ultralytics делает его более доступным для новичков и более мощным для экспертов. Для разработчиков, желающих создавать масштабируемые, поддерживаемые и высокопроизводительные приложения для технического зрения, YOLOv8его преемники, такие как YOLO11-предлагают наиболее убедительный путь вперед.
Дополнительная литература
Для тех, кто заинтересован в изучении последних достижений в области обнаружения объектов, предлагаем ознакомиться с этими смежными моделями:
- YOLO11: последняя итерация от Ultralytics, в которой усовершенствована архитектура для еще большей эффективности.
- YOLOv6: еще одна безъякорная модель, ориентированная на промышленное применение.
- YOLOv9: фокусируется на программируемой градиентной информации (PGI) для обучения глубоких сетей.