Зелёная проверка
Ссылка копируется в буфер обмена

Бег Ultralytics Модели обнаружения и сегментации объектов в нескольких строках кода

Пошаговое руководство о том, как запустить модели обнаружения и сегментации объектов Ultralytics в несколько строк кода.

Добро пожаловать в очередной блогпост, в котором мы погрузимся в изучение возможностей Ultralytics' YOLOv5 и YOLOv8 моделей, когда речь идет об обнаружении и сегментации объектов . Мы рассмотрим, как интегрировать эти простые в использовании модели в твои проекты с помощью всего нескольких строк кода. Будь ты новичком или опытным разработчиком, ты увидишь, как Ultralytics поддерживает различные модели и архитектуры, включая различные версии YOLO и модели на основе трансформаторов. 

В своем видео Николай Нильсен проводит нас через процесс настройки и использования различных моделей в рамках фреймворка Ultralytics . Давай разложим все по шагам и посмотрим, как ты можешь начать работать с этими невероятными инструментами.

Начало работы с моделями Ultralytics

Ultralytics предлагает комплексный фреймворк, поддерживающий множество моделей обнаружения и сегментации объектов. Сюда входят популярные модели YOLO , начиная с YOLOv3 и заканчивая новейшей YOLOv8, а также модели YOLO-NAS и SAM . Эти модели предназначены для решения различных задач, таких как обнаружение, сегментация и оценка позы в режиме реального времени.

Для начала посети страницу документацииUltralytics . Здесь ты найдешь подробную информацию о каждой модели, включая их ключевые особенности, архитектуру и то, как использовать их в своих скриптах Python .

Настройка твоего окружения

Для начала убедись, что у тебя установлен Ultralytics . Это можно сделать, выполнив следующие действия:

bash

Скопируй код


pip install ultralytics

Как только это будет сделано, ты сможешь начать использовать эти модели в своих проектах. Давай начнем с модели YOLOv8 в качестве примера.

Ключевые особенности YOLOv8

YOLOv8 имеет несколько улучшений по сравнению с предшественниками. Он разработан, чтобы быть более быстрым и точным, что делает его идеальным для приложений, работающих в режиме реального времени. Некоторые ключевые особенности включают в себя: 

  • Повышенная скорость и точность
  • Предварительно обученные веса для нескольких задач
  • Поддержка обнаружения, сегментации и классификации объектов
  • Улучшенная архитектура модели для большей производительности

Запускай YOLOv8 в Python

Вот как ты можешь начать работать с YOLOv8 всего за несколько строк кода:

Скопируй код


# Copy code
import ultralytics
model = ultralytics.YOLO('yolov8')
results = model.predict('path/to/your/image.jpg')
results.show()

Вот и все! Ты только что запустил модель YOLOv8 на изображении. Именно эта простота делает модели Ultralytics такими мощными и удобными.

Обнаружение веб-камеры в реальном времени

Хочешь увидеть YOLOv8 в действии в режиме прямой трансляции с веб-камеры? Вот как ты можешь это сделать:

python

Скопируй код


# Copy code
import ultralytics
model = ultralytics.YOLO('yolov8')
# Open a live webcam feed
cap = cv2.VideoCapture(0)
while True:
	ret, frame = cap.read()
	if not ret:
		break
	results = model.predict(frame)
	results.show()
	if cv2.waitKey(1) & 0xFF == ord('q'):
		break
cap.release()
cv2.destroyAllWindows()

Этот скрипт откроет твою веб-камеру и применит модель YOLOv8 для обнаружения объектов в режиме реального времени.

Рис. 1. Николай Нильсен рассказывает, как запускать модели обнаружения и сегментации объектов Ultralytics .

Изучение других моделей

Ultralytics не останавливается только на YOLOv8. Они также поддерживают различные другие модели, такие как YOLOv5, YOLO-NAS, и модели на основе трансформаторов для обнаружения в реальном времени. У каждой модели есть свои сильные стороны и варианты использования.

Модели трансформаторов и способы их запуска

Модель RT-DETR , разработанная Baidu и поддерживаемая Ultralytics, - это современный сквозной детектор объектов, который обеспечивает производительность в реальном времени и высокую точность. Она использует основу на базе conv и эффективный гибридный кодировщик для скорости работы в реальном времени, превосходя CUDA с TensorRT, и поддерживает гибкую настройку скорости вывода.

Вот как ты можешь запустить модель RT-DETR :

Скопируй код


from Ultralytics import YOLO
# Load a pretrained YOLOv8n model
model = YOLO("rtdetr-l.pt")

# Run inference on 'bus.jpg' with arguments
model.predict("bus.jpg", save=True, imgsz=320, conf=0.5)

"Сегментные" модели чего угодно

Ultralytics также предлагает модели для задач сегментации, такие как MobileSAM и FastSAM. Эти модели предназначены для сегментации всего, что есть на изображении, обеспечивая детальное изучение сцены.

Бег FastSAM

FastSAM оптимизирован для сегментации в реальном времени, и вот как ты можешь его запустить:

Скопируй код


import ultralytics
model = ultralytics.SAM("FastSAM-s.pt")
results = model.predict('path/to/your/image.jpg')
results.show()

Эта модель отлично подходит для приложений, где требуется быстрая и точная сегментация.

Производительность и сравнения

Одна из замечательных особенностей фреймворка Ultralytics - возможность сравнивать разные модели бок о бок. Ты можешь легко определить, какая модель лучше всего подходит для твоего конкретного приложения, посмотрев на такие показатели производительности, как скорость вывода и средняя точность (mAP).

Основные выводы

Ultralytics позволяет невероятно легко запускать модели обнаружения и сегментации объектов, используя всего несколько строк кода. Работаешь ли ты над приложениями в реальном времени или нуждаешься в высокоточных моделях, на Ultralytics есть решение для тебя. Обязательно посмотри полный туториал Николая Нильсена на YouTube-канале Ultralytics для получения более подробной информации и примеров.

Следи за дальнейшими туториалами и обновлениями отсообщества Ultralytics !

Логотип FacebookЛоготип ТвиттераЛоготип LinkedInСимвол копирования-ссылки

Читайте больше в этой категории

Давай вместе построим будущее
искусственного интеллекта!

Начни свое путешествие с будущим машинного обучения