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

Добро пожаловать в ещё одну статью блога, где мы подробно рассмотрим возможности моделей Ultralytics' YOLOv5 и YOLOv8 для обнаружения объектов и сегментации. Мы разберём, как интегрировать эти простые в использовании модели в свои проекты всего несколькими строками кода. Независимо от того, новичок ты или опытный разработчик, ты увидишь, как Ultralytics поддерживает различные модели и архитектуры, включая разные версии YOLO и модели на основе Transformer.
В своём видео Nicolai Nielsen пошагово показывает процесс настройки и использования различных моделей в рамках Ultralytics. Давай разберём всё по шагам и посмотрим, как начать работу с этими впечатляющими инструментами.
Начало работы с моделями Ultralytics#
Ultralytics предлагает комплексный фреймворк, поддерживающий несколько моделей обнаружения объектов и сегментации. В их число входят популярные модели YOLO — от YOLOv3 до последней версии YOLOv8, а также модели YOLO-NAS и SAM. Эти модели предназначены для решения различных задач, таких как обнаружение в реальном времени (обнаружение), сегментация и оценка позы.
Для начала посети страницу документации Ultralytics. Здесь ты найдёшь подробную информацию о каждой модели, включая её ключевые особенности, архитектуру и способы использования в скриптах Python.
Настройка окружения#
Сначала убедись, что Ultralytics установлен. Для этого выполни:
pip install ultralyticsПосле этого ты сможешь начать использовать эти модели в своих проектах. Для начала рассмотрим модель Ultralytics YOLOv8 в качестве примера.
Ключевые особенности Ultralytics YOLOv8#
Ultralytics YOLOv8 обладает рядом улучшений по сравнению с предыдущими версиями. Модель разработана для большей скорости и точности, что делает её идеальной для приложений реального времени. Среди ключевых особенностей:
- Повышение скорости и точности
- Предварительно обученные веса для решения множества задач
- Поддержка обнаружения объектов, сегментации и классификации
- Улучшенная архитектура модели для повышения производительности
Запуск Ultralytics YOLOv8 в Python#
Вот как можно начать работу с Ultralytics YOLOv8 всего в несколько строк кода:
from ultralytics import YOLO
# Load a pretrained YOLOv8 model
model = YOLO("yolov8n.pt")
# Run inference on an image
results = model("path/to/image.jpg")Вот и всё! Ты только что запустил модель YOLOv8 на изображении. Именно эта простота делает модели Ultralytics такими мощными и удобными для пользователей.
Обнаружение объектов с веб-камеры в реальном времени#
Хочешь увидеть Ultralytics YOLOv8 в действии на видеопотоке с веб-камеры? Вот как это сделать:
from ultralytics import YOLO
# Load a pretrained YOLOv8 model
model = YOLO("yolov8n.pt")
# Run inference on the webcam feed (source=0) and display the results
results = model.predict(source=0, show=True)Этот скрипт откроет веб-камеру и применит модель Ultralytics YOLOv8 для обнаружения объектов в реальном времени.

Рис. 1. Nicolai Nielsen рассказывает о запуске моделей Ultralytics для обнаружения и сегментации объектов.
Изучение других моделей#
Ultralytics не ограничивается YOLOv8. Также поддерживаются другие модели, такие как YOLOv5, YOLO-NAS и модели на основе Transformer для обнаружения объектов в реальном времени. У каждой модели есть свои сильные стороны и сценарии использования.
Модели Transformer и способы их запуска#
Модель RT-DETR, разработанная Baidu и поддерживаемая Ultralytics, — это современный сквозной детектор объектов, обеспечивающий производительность в реальном времени и высокую точность. Она использует backbone на основе свёрточных слоёв и эффективный гибридный энкодер, обеспечивающий высокую скорость в реальном времени, превосходно работает с CUDA и TensorRT и поддерживает гибкую настройку скорости инференса.
Вот как можно запустить модель RT-DETR:
from ultralytics import RTDETR
# Load a COCO-pretrained RT-DETR-l model
model = RTDETR("rtdetr-l.pt")
# Run inference on an image
results = model("path/to/image.jpg")Модели Segment Anything#
Ultralytics также предлагает модели для задач сегментации, такие как MobileSAM и FastSAM. Эти модели предназначены для сегментации всех объектов на изображении и предоставляют подробную информацию о сцене.
Запуск FastSAM#
FastSAM оптимизирована для сегментации в реальном времени. Вот как её запустить:
from ultralytics import FastSAM
# Create a FastSAM model
model = FastSAM("FastSAM-s.pt") # or FastSAM-x.pt
# Run inference on an image
results = model("path/to/image.jpg", device="cpu", retina_masks=True, imgsz=1024, conf=0.4, iou=0.9)Эта модель идеально подходит для приложений, требующих быстрой и точной сегментации.
Производительность и сравнение#
Одна из важных особенностей фреймворка Ultralytics — возможность сравнивать разные модели бок о бок. Ты можешь легко определить, какая модель лучше всего подходит для твоего конкретного приложения, изучив такие показатели производительности, как скорость инференса и средняя точность (mAP).
Основные выводы#
Ultralytics позволяет невероятно легко запускать модели для обнаружения и сегментации объектов всего в несколько строк кода. Работаешь ли ты над приложениями реального времени или нуждаешься в высокоточных моделях — у Ultralytics есть решение для тебя. Обязательно посмотри полный учебник Nicolai Nielsen на YouTube-канале Ultralytics, чтобы получить более подробную информацию и примеры.
Следи за новыми учебными материалами и обновлениями от сообщества Ultralytics!









