Извлечение результатов из Ultralytics YOLOv8
Узнай, как извлекать ограничивающие рамки, маски, ключевые точки и вероятности классов из объектов Ultralytics YOLOv8 Results и использовать их в собственном коде Python.
Nuvola Ladi3 мин. чтения
Ultralytics YOLOv8 — широко используемая модель компьютерного зрения для таких задач, как обнаружение объектов, сегментация и отслеживание. Независимо от того, опытный ты разработчик или только начинаешь изучать искусственный интеллект (AI), понимание того, как эффективно извлекать результаты из YOLOv8, может значительно улучшить твои проекты. В этой статье блога описаны практические шаги по извлечению и использованию результатов модели YOLOv8.
Настройка Ultralytics YOLOv8#
Прежде чем переходить к извлечению результатов, важно подготовить модель Ultralytics YOLOv8 к работе. Если ты только начинаешь, посмотри наши предыдущие видео, где мы разбираем основы настройки и использования моделей YOLO для различных задач компьютерного зрения. Чтобы начать извлекать результаты, убедись, что модель правильно настроена:
- Инициализация модели: Инициализируй модель Ultralytics YOLOv8 соответствующим образом и выбери конфигурацию модели, подходящую для твоих задач: от обнаружения объектов до более сложных задач, например оценки позы.
- Запуск инференса: передай данные модели для выполнения инференса. В результате будет создан список объектов Results, по одному на каждое изображение или кадр. Через эти объекты можно получить доступ ко всем данным обнаружения.
Разбираемся в объекте результатов#
Каждый объект Results в Ultralytics YOLOv8 содержит все данные обнаружения, необходимые для дальнейшей работы над проектом, в том числе:
- Ограничивающие рамки: используй
result.boxes, чтобы получить координаты обнаруженных объектов. - Маски и ключевые точки: получай маски сегментации и ключевые точки для оценки позы с помощью
result.masksиresult.keypointsсоответственно. - Вероятности классов:
result.probsхранит вероятности классов, полученные моделями классификации, аresult.boxes.confсодержит оценку уверенности для каждого обнаруженного объекта, что полезно для фильтрации результатов обнаружения.
Извлечение данных для собственного использования#
Чтобы использовать эти результаты в своих приложениях, выполни следующие шаги:
- Преобразование данных для обработки: если ты запускаешь модель на GPU, преобразуй выходные данные в формат CPU с помощью
.cpu(), чтобы продолжить их обработку. - Получение координат ограничивающих рамок: извлекай координаты ограничивающих рамок непосредственно из объекта результатов и работай с ними. В том числе можно получить нормализованные координаты или отдельные атрибуты, например ширину и высоту.
- Работа с классификациями: извлекай наиболее вероятные классификации, чтобы эффективно использовать идентификаторы классов и оценки достоверности.
Практическое применение в коде#
Переходя от теории к практике, Николай Нильсен показывает, как реализовать эти концепции в собственном скрипте Python с помощью Visual Studio Code. Скрипт включает:
- Создание класса обнаружения: инициализируй и настрой модель Ultralytics YOLOv8 в структуре класса, подготовив её к обработке входных данных в реальном времени.
- Извлечение результатов: запускай обнаружение и извлекай ограничивающие рамки, маски и классификации непосредственно из объекта результатов.
- Использование результатов: преобразуй результаты в удобные форматы, например JSON или CSV, либо используй их напрямую для отрисовки ограничивающих рамок на изображениях или видеопотоках.
Визуализация и не только#
Хотя извлечение исходных данных крайне важно, визуализация обнаруженных объектов позволяет сразу оценить работу модели:
- Отрисовка прямоугольников: используй данные ограничивающих рамок, чтобы обвести обнаруженные объекты на изображениях или видеозаписях.
- Построение графиков напрямую: используй встроенный метод
result.plot(), чтобы визуализировать обнаруженные объекты без дополнительного кода.
Расширь свой набор инструментов ИИ с помощью Ultralytics YOLOv8#
Умение извлекать результаты Ultralytics YOLOv8 не только расширяет возможности проекта, но и помогает глубже разобраться в системах обнаружения объектов.
Следуя этим шагам, ты сможешь адаптировать результаты обнаружения Ultralytics YOLOv8 под свои задачи — будь то разработка продвинутых приложений на базе AI или комплексный анализ данных.
Следи за новыми руководствами по Ultralytics YOLOv8 и другим технологиям AI. Присоединяйся к нашему сообществу, чтобы быть в курсе последних новостей, и заглядывай в нашу документацию, чтобы узнать больше!
Автор
Комментарии
Задай вопрос, поделись результатами или помоги кому-нибудь.










