YOLOv5 YOLOv8: эволюция технологии обнаружения Ultralytics от Ultralytics
Область компьютерного зрения быстро развивается, в значительной степени благодаря постоянным инновациям в семействе детекторов объектов YOLO You Only Look Once). Двумя наиболее влиятельными версиями в этой линейке являются YOLOv5 и YOLOv8, обе разработанные компанией Ultralytics. В то время как YOLOv5 отраслевой стандарт простоты использования и гибкости после своего выпуска в 2020 году, YOLOv8 выпущенная в 2023 году) представила архитектурные прорывы, которые переопределили современные стандарты производительности.
В этом руководстве представлено подробное техническое сравнение, которое поможет разработчикам, исследователям и инженерам выбрать подходящую модель для конкретных задач, а также освещаются новейшие достижения в этой области, такие как YOLO26.
Ultralytics YOLOv5: Промышленный стандарт
Выпущенный в июне 2020 года, YOLOv5 стал поворотным моментом в демократизации ИИ. В отличие от своих предшественников, которые были написаны преимущественно на языке C (Darknet), YOLOv5 первым нативным PyTorch , что сделало его исключительно доступным для сообщества Python .
Ключевые особенности и архитектура
YOLOv5 своим балансом скорости, точности и удобного дизайна. Его архитектура получила несколько ключевых улучшений по сравнению с YOLOv4:
- CSPDarknet Backbone: использует межэтапные частичные соединения для улучшения градиентного потока и уменьшения параметров.
- Автоматическое обучение анкорных блоков: перед началом обучения автоматически определяет оптимальные размеры анкорных блоков для набора пользовательских данных.
- Мозаичное увеличение данных: метод обучения, который объединяет четыре изображения в одно, улучшая способность модели detect объекты и повышая обобщаемость контекста.
Технические характеристики:
- Авторы: Гленн Джокер
- Организация:Ultralytics
- Дата: 2020-06-26
- GitHub:ultralytics/yolov5
Ultralytics YOLOv8: определение современного уровня развития
Запущенный в январе 2023 года, YOLOv8 представил собой значительный скачок вперед в технологии компьютерного зрения. Он отошел от основанного на анкерах обнаружения, использовавшегося в YOLOv5 дизайну без анкеров, упростив процесс обучения и улучшив обобщение для различных форм объектов.
Архитектурные инновации
YOLOv8 ряд современных технологий, которые повысили как скорость, так и точность:
- Обнаружение без анкеров: устраняет необходимость в ручной настройке анкерных рамок, напрямую прогнозируя центры объектов. Это сокращает количество прогнозов рамок и ускоряет немаксимальное подавление (NMS).
- Модуль C2f: заменяет модуль C3 из YOLOv5, обеспечивая более насыщенный градиентный поток и регулируя количество каналов для лучшего извлечения признаков.
- Разделенная головка: разделяет задачи объектности, классификации и регрессии на разные ветви, позволяя каждой из них сходиться более эффективно.
- Универсальность задач: разработан с нуля для поддержки не только обнаружения, но и сегментации экземпляров, оценки позы, классификации и OBB (ориентированная ограничивающая рамка).
Технические характеристики:
- Авторы: Гленн Джокер, Аюш Чаурасия и Цзин Цю
- Организация:Ultralytics
- Дата: 2023-01-10
- GitHub:ultralytics/ultralytics
Сравнение производительности
При сравнении этих двух мощных моделей становится ясно, что YOLOv8 превосходит YOLOv5 как YOLOv5 точности (mAP), так и YOLOv5 задержке на сопоставимом оборудовании. Однако YOLOv5 высокопроизводительной моделью, которая чрезвычайно эффективна для устаревших систем.
В таблице ниже представлены результаты по COCO . Жирным шрифтом выделены лучшие результаты в каждой категории.
| Модель | размер (пиксели) | mAPval 50-95 | Скорость CPU ONNX (мс) | Скорость T4 TensorRT10 (мс) | параметры (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| 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 |
Анализ
YOLOv8n Nano) достигает значительно более высокого mAP 37,3) по сравнению с YOLOv5n (28,0) при лишь незначительном увеличении количества параметров. Это повышение эффективности делает YOLOv8 лучшим YOLOv8 для современных периферийных приложений, где важен каждый процент точности.
Обучение и экосистема
Обе модели получают огромную выгоду от Ultralytics , в которой приоритетом является простота использования.
Упрощенный рабочий процесс обучения
Переход от YOLOv5 YOLOv8 привел к появлению унифицированного CLI Python , которые поддерживают все задачи. В то время как YOLOv5 на специальные скрипты (например, train.py, detect.py), YOLOv8 последующие модели, такие как YOLO26 используйте модульную структуру пакетов.
YOLOv5 :
python train.py --img 640 --batch 16 --epochs 50 --data coco128.yaml --weights yolov5s.pt
YOLOv8 :
yolo train model=yolov8n.pt data=coco8.yaml epochs=100 imgsz=640
Преимущества Ultralytics
Обе модели легко интегрируются с Ultralytics . Это позволяет пользователям визуализировать процессы обучения, управлять наборами данных и одним щелчком мыши экспортировать модели в такие форматы, как ONNX, TensorRTи CoreML написания сложных скриптов преобразования.
Сценарии использования и рекомендации
Выбор между этими двумя моделями зависит от ваших конкретных ограничений, хотя для новых проектов обычно рекомендуются более новые модели.
Идеальные сценарии использования для YOLOv5
- Устаревшие системы: проекты, уже глубоко интегрированные с YOLOv5 , где затраты на миграцию высоки.
- Поддержка конкретного оборудования: Некоторые старые ускорители искусственного интеллекта могут иметь высокооптимизированные ядра, специально настроенные для конкретных структур слоев YOLOv5.
- Простота: в чисто образовательных целях явная структура YOLOv5 , основанная на скриптах, может быть проще для начинающих, которые могут анализировать его построчно.
Идеальные сценарии для YOLOv8
- Высокие требования к точности: приложения, такие как медицинская визуализация или контроль качества, где критически важно обнаружение мелких деталей.
- Многозадачное обучение: проекты, требующие сегментации или оценки позы наряду с обнаружением.
- Гарантия будущего: разработчики, начинающие новые проекты, должны выбирать YOLOv8 или более новую версию), чтобы обеспечить долгосрочную поддержку и совместимость с новейшими инструментами развертывания.
Будущее: Ultralytics YOLO26
Хотя YOLOv5 YOLOv8 отличными решениями, эта область продолжает развиваться. Разработчикам, стремящимся к абсолютному пику производительности в 2026 году, мы настоятельно рекомендуем Ultralytics .
Почему стоит выбрать YOLO26? YOLO26 основан на наследии v5 и v8, но в него внесены революционные изменения, повышающие скорость и эффективность:
- Полная NMS: благодаря устранению необходимости в использовании алгоритма Non-Maximum Suppression (NMS), YOLO26 упрощает логику развертывания и сокращает задержку вывода, концепция, впервые представленная в YOLOv10.
- MuSGD Optimizer: гибридный оптимизатор, обеспечивающий стабильность обучения LLM для моделей зрения и более быструю конвергенцию.
- Улучшено для Edge: благодаря удалению DFL и специальным CPU , YOLO26 работает на ЦП на 43 % быстрее по сравнению с предыдущими поколениями.
- Превосходная детекция мелких объектов: новые функции ProgLoss и STAL значительно улучшают производительность при обнаружении мелких целей, что крайне важно для изображений с дронов и приложений IoT.
Заключение
Как YOLOv5 YOLOv8 монументальные достижения в истории компьютерного зрения. YOLOv5 остается надежным, не требующим большого объема памяти инструментом для многих существующих приложений, который ценится за стабильность и низкое потребление ресурсов при обучении. YOLOv8, однако, предлагает превосходную универсальность, более высокую точность и более современную архитектуру, соответствующую текущим тенденциям в области исследований.
Для тех, кто требует передовые технологии и смотрит в будущее YOLO26 или YOLO11 предоставит еще больше преимуществ в скорости и точности. В конечном итоге, надежная Ultralytics гарантирует, что независимо от выбранной модели у вас будут инструменты, документация и поддержка сообщества, необходимые для достижения успеха.
Пример кода: Запуск инференции
Оцените простоту Ultralytics . Этот код работает с моделями YOLOv8, YOLO11 и YOLO26.
from ultralytics import YOLO
# Load a pretrained model (choose yolov8n.pt or yolo26n.pt)
model = YOLO("yolov8n.pt")
# Run inference on an image from the web
results = model("https://ultralytics.com/images/bus.jpg")
# Process results list
for result in results:
boxes = result.boxes # Boxes object for bbox outputs
masks = result.masks # Masks object for segmentation masks
keypoints = result.keypoints # Keypoints object for pose outputs
probs = result.probs # Probs object for classification outputs
result.show() # display to screen
result.save(filename="result.jpg") # save to disk
Для получения более подробной информации об интеграции этих моделей в ваш рабочий процесс посетите наш краткий руководство по началу работы.