Искусственный интеллект
Распаковка Yolov8: вирусный шедевр компьютерного зрения от Ultralytics

До сих пор обнаружение объектов на изображениях с помощью модели компьютерного зрения Столкнулись с серьёзным препятствием в виде задержки в несколько секунд, вызванной временем обработки. Эта задержка затрудняла практическое внедрение в таких областях, как автономное вождение. Однако модель компьютерного зрения YOLOv8, выпущенная компанией Ultralytics, преодолела эту задержку. Новая модель способна обнаруживать объекты в режиме реального времени с непревзойдённой точностью и скоростью, что сделало её популярной в сфере компьютерного зрения.
В этой статье рассматривается YOLOv8, его возможности, а также способы тонкой настройки и создания собственных моделей с помощью репозитория Github с открытым исходным кодом.
Йолов8 объяснил
YOLO («Живешь только один раз») — популярная модель компьютерного зрения, способная обнаружение и сегментация объектов на изображениях. Модель прошла через несколько обновления в прошлом, где YOLOv8 обозначает 8-ю версию.
В нынешнем виде YOLOv8 опирается на возможности предыдущих версий, вводя новые мощные функции и улучшения. Это позволяет обнаруживать объекты в изображении и видеоданных в режиме реального времени с повышенной точностью и точностью.
От версии 1 до версии 8: краткая история
Йолов1: Выпущенная в 2015 году первая версия YOLO была представлена как одноэтапная модель обнаружения объектов. В число функций входило то, что модель считывала все изображение, чтобы предсказать каждую ограничивающую рамку за одну оценку.
Йолов2: Следующая версия, выпущенная в 2016 году, показала максимальную производительность в таких тестах, как PASCAL VOC и COCO, и работала на высоких скоростях (67-40 FPS). Он также может точно обнаруживать более 9000 категорий объектов, даже при ограниченных конкретных данных обнаружения.
Йолов3: Запущенный в 2018 году, Yolov3 представил новые функции, такие как более эффективная магистральная сеть, несколько привязок и объединение пространственных пирамид для многомасштабного извлечения признаков.
Йолов4: С выпуском Yolov4 в 2020 году была представлена новая технология дополнения данных Mosaic, которая предлагала улучшенные возможности обучения.
Йолов5: Выпущенный в 2021 году, Yolov5 добавил новые мощные функции, включая оптимизацию гиперпараметров и интегрированное отслеживание экспериментов.
Йолов6: С выпуском Yolov6 в 2022 году исходный код модели был открыт для содействия развитию сообщества. Были представлены новые функции, такие как новая стратегия самоочистки и стратегия якорного обучения (AAT).
Йолов7: Выпущенный в том же 2022 году, Yolov7 улучшил существующую модель по скорости и точности и был самой быстрой моделью обнаружения объектов на момент выпуска.
Что делает YOLOv8 выдающимся?

Непревзойденная точность и высокая скорость YOLOv8 выделяют модель компьютерного зрения среди предыдущих версий. Это важное достижение, поскольку теперь объекты можно обнаруживать в режиме реального времени без задержек, в отличие от предыдущих версий.
Но помимо этого YOLOv8 обладает мощными возможностями, в том числе:
- Настраиваемая архитектура: YOLOv8 предлагает гибкую архитектуру, которую разработчики могут настроить в соответствии со своими конкретными требованиями.
- Адаптивное обучение: Новые возможности адаптивного обучения YOLOv8, такие как балансировка функции потерь во время обучения и техник, повышают скорость обучения. Возьмем, к примеру, Адама, который способствует повышению точности, ускорению сходимости и повышению общей производительности модели.
- Расширенный анализ изображений: Благодаря новым возможностям семантической сегментации и прогнозирования классов модель может обнаруживать действия, цвет, текстуру и даже отношения между объектами помимо своей основной функции обнаружения объектов.
- Увеличение данных: Новые методы увеличения данных помогают решать такие аспекты изменений изображения, как низкое разрешение, окклюзия и т. д., в реальных ситуациях обнаружения объектов, когда условия не идеальны.
- Поддержка магистральной сети: YOLOv8 предлагает поддержку нескольких магистралей, включая CSPDarknet (магистраль по умолчанию), EfficientNet (облегченную магистраль) и ResNet (классическая магистраль), из которых пользователи могут выбирать.
Пользователи могут даже настраивать магистральную сеть, заменив CSPDarknet53 любой другой архитектурой CNN, совместимой с входными и выходными измерениями YOLOv8.
Обучение и доводка YOLOv8
Модель YOLOv8 может быть либо точно настроена для определенных случаев использования, либо полностью обучена с нуля для создания специализированной модели. Более подробную информацию о процедурах обучения можно найти в официальная документация.
Давайте рассмотрим, как можно выполнить обе эти операции.
Точная настройка YOLOV8 с помощью пользовательского набора данных
Операция тонкой настройки загружает уже существующую модель и использует ее веса по умолчанию в качестве отправной точки для обучения. Интуитивно говоря, модель запоминает все свои предыдущие знания, а операция точной настройки добавляет новую информацию путем настройки весов.
Модель YOLOv8 можно настроить с помощью кода Python или через интерфейс командной строки (CLI).
1. Точная настройка модели YOLOv8 с помощью Python.
Начните с импорта пакета Ultralytics в свой код. Затем загрузите пользовательскую модель, которую вы хотите обучить, используя следующий код:
Сначала установите библиотеку Ultralytics из официального дистрибутива.
| # Установите пакет Ultralytics из PyPI pip install ультралитики |
Затем выполните следующий код в файле Python:
| от ультралитиков импортных YOLO
# Загрузите модель # Обучите модель на наборе данных MS COCO |
По умолчанию код будет обучать модель с использованием набора данных COCO за 100 эпох. Однако вы также можете настроить эти параметры, чтобы установить размер, эпоху и т. д. в файле YAML.
После обучения модели с использованием ваших настроек и пути к данным отслеживайте ход выполнения, тестируйте и настраивайте модель, а также продолжайте переобучение, пока не будут достигнуты желаемые результаты.
2. Точная настройка модели YOLOv8 с помощью CLI.
Чтобы обучить модель с помощью CLI, запустите в командной строке следующий скрипт:
| yolo train model=yolov8n.pt data=coco8.yaml epochs=100 imgsz=640 |
Команда CLI загружает предварительно обученную модель yolov8n.pt и обучает ее на наборе данных, определенном в файле coco8.yaml.
Создание собственной модели с помощью YOLOv8
По сути, существует два способа создания собственной модели с помощью платформы YOLO:
- Обучение с нуля: Этот подход позволяет вам использовать предопределенную архитектуру YOLOv8, но НЕ будет использовать предварительно обученные веса. Обучение будет происходить с нуля.
- Нестандартная архитектура: Вы настраиваете архитектуру YOLO по умолчанию и обучаете новую структуру с нуля.
Реализация обоих этих методов остается одинаковой. Чтобы обучить модель YOLO с нуля, запустите следующий код Python:
| от ультралитиков импортных YOLO
# Загрузите модель # Обучим модель |
Обратите внимание, что на этот раз мы загрузили файл «.yaml» вместо файла «.pt». Файл YAML содержит информацию об архитектуре модели, веса не загружаются. Учебная команда начнет обучение этой модели с нуля.
Чтобы обучить пользовательскую архитектуру, вы должны определить пользовательскую структуру в файле «.yaml», аналогичном приведенному выше «yolov8n.yaml». Затем вы загружаете этот файл и обучаете модель, используя тот же код, что и выше.
Чтобы узнать больше об обнаружении объектов с помощью ИИ и быть в курсе последних тенденций в области ИИ, посетите объединить.ай.













