Что такое YOLOv8? Что нового в YOLOv8 Модели, доступные в YOLOv8 Как использовать YOLOv8? YOLOv8 vs YOLOv5 Заключение YOLOv8 - это новейшее семейство моделей обнаружения объектов на базе YOLO от Ultralytics, обеспечивающих самые современные характеристики. По сравнению с предыдущими версиями YOLO, модель YOLOv8 работает быстрее и точнее, обеспечивая при этом единую структуру для обучения моделей для выполнения Обнаружение объектов, Сегментация экземпляров, Классификации изображений. На момент написания этой статьи в репозиторий Ultralytics YOLOv8 еще предстоит добавить множество функций. Это включает в себя полный набор функций экспорта для обученных моделей. Кроме того, Ultralytics выпустит статью на Arxiv, в которой сравнивается YOLOv8 с другими современными моделями. Ultralytics выпустили совершенно новый репозиторий для моделей YOLO. Он построен как единая платформа для обучения моделям обнаружения объектов, сегментации экземпляров и классификации изображений. Вот некоторые ключевые особенности новой версии: Удобный для пользователя API (командная строка + Python). Быстрее и точнее. Поддерживает Обнаружение объектов, Сегментация экземпляров, Классификация изображений. Расширяемый для всех предыдущих версий. Новая Backbone сеть. Новая Anchor-Free head. Новая функция потерь. YOLOv8 также обладает высокой эффективностью и гибкостью, поддерживает множество форматов экспорта, и модель может работать на CPU и GPU. В каждой категории моделей YOLOv8 есть пять моделей для обнаружения, сегментации и классификации. YOLOv8 Nano - самый быстрый и маленький, в то время как YOLOv8 Extra Large (YOLOv8x) - самый точный, но самый медленный среди них. YOLOv8 поставляется в комплекте со следующими предварительно подготовленными моделями: Контрольные точки обнаружения объектов обучены на основе набора данных COCO detection с разрешением изображения 640. Контрольные точки сегментации экземпляра, обученные на наборе данных сегментации COCO с разрешением изображения 640. Модели классификации изображений предварительно обучены на базе данных ImageNet с разрешением изображения 224. Давайте посмотрим на результат, используя модели обнаружения и сегментации экземпляров YOLOv8x. Для использования всего потенциала YOLOv8 требуется установка требований из репозитория, а также ultralyticsпакета. Чтобы установить требования, нам нужно сначала клонировать репозиторий. Затем установите требуемые библиотеки. В последней версии Ultralytics YOLOv8 предоставляет как полный интерфейс командной строки (CLI) API, так и Python SDK для выполнения обучения, проверки и вывода. Чтобы использовать yoloCLI, нам необходимо установить ultralyticsпакет. После установки необходимых пакетов мы можем получить доступ к командной строке YOLOv8 с помощью yoloкоманды. Ниже приведен пример выполнения вывода обнаружения объекта с использованием yolo командной строки. taskФлаг может принимать три аргумента: detect, classify, и segment. Аналогично, режим может быть любым из train, val, или predict. Мы также можем передать режим as exportпри экспорте обученной модели. Мы также можем создать простой файл Python, импортировать модуль YOLO и выполнить задачу по нашему выбору. Например, приведенный выше код сначала обучит модель YOLOv8 Nano на основе набора данных COCO128, оценит ее в наборе проверки и выполнит прогнозирование на образце изображения. Давайте воспользуемся yoloCLI и выполним вывод, используя модели обнаружения объектов, сегментации экземпляров и классификации изображений. Следующая команда запускает обнаружение видео с использованием модели YOLOv8 Nano. Вывод выполняется со скоростью почти 105 кадров в секунду на графическом процессоре ноутбука GTX 1060. И мы получаем следующий результат. Клип 1. Вывод обнаружения с использованием наномодели YOLOv8. Модель YOLOv8 Nano на нескольких кадрах путает кошек с собаками. Давайте запустим обнаружение на том же видео, используя модель YOLOv8 Extra Large, и проверим результаты. Сверхбольшая модель работает в среднем со скоростью 17 кадров в секунду на графическом процессоре GTX 1060. Клип 2. Вывод обнаружения с использованием сверхбольшой модели YOLOv8. Хотя на этот раз ошибочных классификаций немного меньше, тем не менее модель ошибочно определяет скамейку в нескольких кадрах. Выполнить вывод с использованием модели сегментации экземпляра YOLOv8 так же просто. Нам просто нужно изменить taskи modelимя в приведенной выше команде. Поскольку сегментация экземпляров сочетается с обнаружением объектов, на этот раз средний FPS составил около 13. Клип 3. Вывод сегментации с использованием сверхбольшой модели YOLOv8. Карты сегментации на выходе выглядят довольно чистыми. Даже когда кошка прячется под блоком на последних нескольких кадрах, модель способна обнаружить и сегментировать ее. Наконец, поскольку YOLOv8 уже предоставляет предварительно подготовленные модели классификации, давайте запустим классификационный вывод на том же видео, используя yolov8x-clsмодель. Это самая большая модель классификации, которую предоставляет репозиторий. Клип 4. Вывод классификации с использованием сверхбольшой модели YOLOv8. По умолчанию видео снабжено комментариями к 5 лучшим классам, которые предсказывает модель. Без какой-либо последующей обработки аннотации напрямую соответствуют именам классов ImageNet. В следующих таблицах показано всестороннее сравнение между YOLOv8 и YOLOv5. Понятно, что последние модели YOLOv8 намного лучше по сравнению с YOLOv5, за исключением одной из классификационных моделей. В этой статье мы рассмотрели последнюю версию моделей YOLO, то есть YOLOv8. Мы рассмотрели новые модели, их производительность, а также интерфейс командной строки, который поставляется вместе с пакетом. Наряду с этим, мы также сделали выводы на основе видеозаписей.  Computer Vision