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

До сих пор обнаружение объектов на изображениях с помощью моделей компьютерного зрения сталкивалось с серьезной проблемой – задержкой в несколько секунд из-за времени обработки. Эта задержка препятствовала практическому внедрению в таких областях, как автономное вождение. Однако выпуск модели компьютерного зрения YOLOv8 от Ultralytics разрушил эту задержку. Новая модель может обнаруживать объекты в реальном времени с беспрецедентной точностью и скоростью, что делает ее популярной в области компьютерного зрения.
Эта статья исследует YOLOv8, его возможности и то, как вы можете настроить и создать свои собственные модели с помощью открытого репозитория Github.
YOLOv8: объяснение
YOLO (You Only Live Once) – популярная модель компьютерного зрения, способная обнаруживать и сегментировать объекты на изображениях. Модель прошла через несколько обновлений в прошлом, и YOLOv8 отмечает 8-ю версию.
Как оно стоит, YOLOv8 построено на возможностях предыдущих версий, вводя новые мощные функции и улучшения. Это позволяет обнаруживать объекты в реальном времени в изображениях и видеоданных с повышенной точностью и точностью.
От v1 до v8: краткая история
Yolov1: Выпущенная в 2015 году, первая версия YOLO была представлена как одностадийная модель обнаружения объектов. Функции включали чтение всей картинки для предсказания каждого ограничивающего прямоугольника в одном оценке.
Yolov2: Следующая версия, выпущенная в 2016 году, показала лучшие результаты на бенчмарках, таких как PASCAL VOC и COCO, и работает на высоких скоростях (67-40 FPS). Она также могла точно обнаруживать более 9000 категорий объектов, даже с ограниченными данными для обнаружения.
Yolov3: Выпущенная в 2018 году, Yolov3 представила новые функции, такие как более эффективная сеть-основание, несколько якорей и пространственная пирамидальная выборка для многочисленной экстракции функций.
Yolov4: С выпуском Yolov4 в 2020 году была введена новая техника aumentации данных Mosaic, которая предложила улучшенные возможности обучения.
Yolov5: Выпущенная в 2021 году, Yolov5 добавила мощные новые функции, включая оптимизацию гиперпараметров и интегрированную отслеживание экспериментов.
Yolov6: С выпуском Yolov6 в 2022 году модель была открыта для содействия развитию сообщества. Были введены новые функции, такие как новая стратегия само-растворения и стратегия Anchor-Aided Training (AAT).
Yolov7: Выпущенная в том же году, 2022, Yolov7 улучшила существующую модель по скорости и точности и была самой быстрой моделью обнаружения объектов на момент выпуска.
Что делает YOLOv8 выдающимся?

Беспрецедентная точность и высокая скорость YOLOv8 делают эту модель компьютерного зрения выдающейся среди предыдущих версий. Это значительное достижение, поскольку объекты теперь могут быть обнаружены в реальном времени без задержек, в отличие от предыдущих версий.
Но кроме этого, YOLOv8 поставляется с мощными возможностями, которые включают:
- Настраиваемая архитектура: YOLOv8 предлагает гибкую архитектуру, которую разработчики могут настроить в соответствии со своими конкретными требованиями.
- Адаптивное обучение: новые адаптивные возможности обучения YOLOv8, такие как балансировка функции потерь во время обучения и техники, улучшают скорость обучения. Возьмите, например, Adam, который способствует лучшей точности, более быстрому сходимости и общему лучшему результату модели.
- Продвинутый анализ изображений: благодаря новым возможностям семантической сегментации и предсказания классов модель может обнаруживать действия, цвет, текстуру и даже отношения между объектами, помимо своей основной функции обнаружения объектов.
- Аугментация данных: новые техники аугментации данных помогают решить проблемы, связанные с вариациями изображений, такими как низкое разрешение, осложнения и т. д., в реальных ситуациях обнаружения объектов, когда условия не идеальны.
- Поддержка основы: YOLOv8 предлагает поддержку нескольких основ, включая CSPDarknet (стандартную основу), EfficientNet (легковесную основу) и ResNet (классическую основу), которые пользователи могут выбрать.
Пользователи даже могут настроить основу, заменив CSPDarknet53 на любую другую архитектуру CNN, совместимую с входными и выходными размерами YOLOv8.
Обучение и настройка YOLOv8
Модель YOLOv8 может быть либо настроена для соответствия определенным случаям, либо обучена полностью с нуля для создания специализированной модели. Более подробную информацию об процедурах обучения можно найти в официальной документации.
Давайте исследуем, как вы можете выполнить обе эти операции.
Настройка YOLOv8 с помощью пользовательской базы данных
Операция настройки загружает предварительно существующую модель и использует ее веса по умолчанию в качестве начальной точки для обучения. Интуитивно говоря, модель помнит все свои предыдущие знания, и операция настройки добавляет новую информацию, корректируя веса.
Модель YOLOv8 может быть настроена с помощью вашего кода на Python или через командную строку интерфейса (CLI).
1. Настройка модели YOLOv8 с помощью Python
Начните с импорта пакета Ultralytics в ваш код. Затем загрузите пользовательскую модель, которую вы хотите обучить, используя следующий код:
Сначала установите библиотеку Ultralytics из официального распространения.
| # Установите пакет ultralytics из PyPI pip install ultralytics |
Далее выполните следующий код в файле Python:
| from ultralytics import 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:
| from ultralytics import YOLO
# Загрузите модель # Обучите модель |
Обратите внимание, что на этот раз мы загрузили файл `.yaml` вместо файла `.pt`. Файл YAML содержит информацию об архитектуре модели, и не загружаются веса. Команда обучения начнет обучение этой модели с нуля.
Чтобы обучить пользовательскую архитектуру, вам необходимо определить пользовательскую структуру в файле `.yaml`, подобном `yolov8n.yaml` выше. Затем загрузите этот файл и обучите модель, используя тот же код, что и выше.
Чтобы узнать больше об обнаружении объектов с помощью ИИ и оставаться в курсе последних тенденций ИИ, посетите unite.ai.













