Сегментация экземпляров и трекинг с использованием Ultralytics YOLO26#
Что такое сегментация экземпляров?#
Сегментация экземпляров — это задача компьютерного зрения, связанная с обнаружением и выделением отдельных объектов на изображении на уровне пикселей. В отличие от семантической сегментации, которая лишь классифицирует пиксели по категориям, сегментация экземпляров присваивает уникальные метки и точно очерчивает каждый экземпляр объекта, что делает её особенно важной для приложений, требующих детального пространственного анализа, например медицинской визуализации, автономного вождения и промышленной автоматизации.
Ultralytics YOLO26 предоставляет мощные возможности сегментации экземпляров, обеспечивая точное обнаружение границ объектов при сохранении скорости и эффективности, которыми известны модели YOLO.
В пакете Ultralytics доступны два типа отслеживания при сегментации экземпляров:
-
Сегментация экземпляров с объектами классов: каждому объекту класса присваивается уникальный цвет для чёткого визуального разделения.
-
Сегментация экземпляров с отслеживанием объектов: каждый трек обозначается отдельным цветом, что упрощает идентификацию и отслеживание объектов между кадрами видео.
Watch: Instance Segmentation with Object Tracking using Ultralytics YOLO26
Примеры#
| Сегментация экземпляров | Сегментация экземпляров + отслеживание объектов |
|---|---|
![]() | ![]() |
| Сегментация экземпляров Ultralytics 😍 | Сегментация экземпляров Ultralytics с отслеживанием объектов 🔥 |
Сегментация и отслеживание с YOLO26#
Решение InstanceSegmentation запускает модель сегментации YOLO26 для каждого кадра, рисует маски отдельных объектов и окрашивает каждый экземпляр отдельно, чтобы ты мог отслеживать отдельные объекты в видео. Загрузи модель -seg, а затем запусти её на своём источнике с помощью Python API или CLI.
# Instance segmentation using Ultralytics YOLO26
yolo solutions isegment show=True
# Pass a source video
yolo solutions isegment source="path/to/video.mp4"
# Monitor the specific classes
yolo solutions isegment classes="[0, 5]"Аргументы InstanceSegmentation#
Вот таблица с аргументами InstanceSegmentation:
| Аргумент | Тип | По умолчанию | Описание |
|---|---|---|---|
model | str | None | Путь к файлу модели Ultralytics YOLO. |
line_width | int | 2 | Толщина линий для рамок, ключевых точек и счётчиков, которые рисует решение. |
verbose | bool | True | Включает покадровый журнал решения с указанием формы входных данных, количества классов и скорости обработки. Сам вызов отслеживания всегда выполняется без вывода. |
Ты также можешь использовать аргументы track в решении InstanceSegmentation:
| Аргумент | Тип | По умолчанию | Описание |
|---|---|---|---|
tracker | str | 'botsort.yaml' | Определяет используемый алгоритм отслеживания. Встроенные варианты: botsort.yaml, bytetrack.yaml, ocsort.yaml, deepocsort.yaml, fasttrack.yaml, tracktrack.yaml. |
conf | float | 0.25 | Задаёт порог уверенности для детекций: более низкие значения позволяют отслеживать больше объектов, но могут включать ложноположительные результаты. |
iou | float | 0.7 | Задаёт порог пересечения над объединением (IoU) для фильтрации перекрывающихся детекций. |
classes | list | None | Фильтрует результаты по индексу класса. Например, classes=[0, 2, 3] отслеживает только указанные классы. |
device | str | None | Определяет устройство для инференса (например, cpu, cuda:0 или 0). Позволяет выбрать CPU, конкретный GPU или другое вычислительное устройство для выполнения модели. |
imgsz | int or tuple | 640 | Целевой размер изображения для вывода: целое число для квадрата или пара (height, width). Формы подстраиваются под шаг модели. |
max_det | int | 300 | Максимальное количество обнаружений, сохраняемых на кадр перед трекингом, ограничивает объекты, обрабатываемые решением в плотных сценах. |
quantize | int or str | None | Точность вывода: 16 (FP16) или 32/не задано (FP32) для моделей PyTorch и TorchScript; остальные форматы выполняют вычисления с точностью, выбранной их артефактом и средой выполнения. Заменяет устаревший флаг half. |
Кроме того, доступны следующие аргументы визуализации:
| Аргумент | Тип | По умолчанию | Описание |
|---|---|---|---|
show | bool | False | Если True, аннотированные изображения или видео отображаются в окне. Это полезно для получения визуальной обратной связи в процессе разработки или тестирования. |
show_conf | bool | True | Отображает показатель уверенности для каждой детекции рядом с её меткой. Показывает, насколько модель уверена в каждой детекции. |
show_labels | bool | True | Отображает метки каждой детекции в визуальном результате. Даёт непосредственное представление об обнаруженных объектах. |
show_boxes | bool | True | Рисует ограничивающие рамки вокруг обнаруженных объектов. Необходимо для визуальной идентификации и определения местоположения объектов на изображениях или кадрах видео. |
Применение сегментации экземпляров#
Сегментация экземпляров с YOLO26 находит множество применений в различных отраслях:
Управление отходами и переработка#
YOLO26 можно использовать на объектах по переработке отходов для обнаружения и сортировки различных типов материалов. Модель способна с высокой точностью сегментировать пластиковые отходы, картон, металл и другие виды вторсырья, позволяя автоматизированным системам сортировки эффективнее перерабатывать отходы. Это особенно важно с учётом того, что в мире перерабатывается лишь около 10% из 7 миллиардов тонн пластиковых отходов, производимых ежегодно.
Автономные транспортные средства#
В беспилотных автомобилях сегментация экземпляров помогает обнаруживать и отслеживать пешеходов, транспортные средства, дорожные знаки и другие элементы дороги на уровне пикселей. Такое точное понимание окружающей среды имеет решающее значение для навигации и принятия решений, связанных с безопасностью. Производительность YOLO26 в реальном времени делает её идеальной для таких чувствительных ко времени приложений.
Медицинская визуализация#
Сегментация экземпляров позволяет обнаруживать и очерчивать опухоли, органы или клеточные структуры на медицинских снимках. Способность YOLO26 точно определять границы объектов делает её ценной для медицинской диагностики и планирования лечения.
Мониторинг строительных площадок#
На строительных площадках сегментация экземпляров позволяет отслеживать тяжёлую технику, работников и материалы. Это помогает обеспечивать безопасность, контролируя положение оборудования и обнаруживая проникновение работников в опасные зоны, а также оптимизировать рабочие процессы и распределение ресурсов.
Часто задаваемые вопросы#
Чтобы выполнить сегментацию экземпляров с использованием Ultralytics YOLO26, инициализируй модель YOLO с версией YOLO26 для сегментации и обработай через неё кадры видео. Ниже приведён упрощённый пример кода:
import cv2 from ultralytics import solutions cap = cv2.VideoCapture("path/to/video.mp4") assert cap.isOpened(), "Error reading video file" # Video writer w, h, fps = (int(cap.get(x)) for x in (cv2.CAP_PROP_FRAME_WIDTH, cv2.CAP_PROP_FRAME_HEIGHT, cv2.CAP_PROP_FPS)) video_writer = cv2.VideoWriter("instance-segmentation.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h)) # Init InstanceSegmentation isegment = solutions.InstanceSegmentation( show=True, # display the output model="yolo26n-seg.pt", # model="yolo26n-seg.pt" for object segmentation using YOLO26. ) # Process video while cap.isOpened(): success, im0 = cap.read() if not success: print("Video frame is empty or processing is complete.") break results = isegment(im0) video_writer.write(results.plot_im) cap.release() video_writer.release() cv2.destroyAllWindows()Подробнее о сегментации экземпляров читай в руководстве по Ultralytics YOLO26.
Сегментация экземпляров обнаруживает и очерчивает отдельные объекты на изображении, присваивая каждому объекту уникальную метку и маску. Отслеживание объектов дополняет этот процесс, присваивая объектам постоянные идентификаторы между кадрами видео, что позволяет непрерывно отслеживать одни и те же объекты с течением времени. При объединении этих возможностей, как в реализации YOLO26, ты получаешь мощные инструменты для анализа движения и поведения объектов в видео с сохранением точной информации об их границах.
Ultralytics YOLO26 обеспечивает производительность в реальном времени, превосходную точность и простоту использования по сравнению с другими моделями, такими как Mask R-CNN или Faster R-CNN. YOLO26 обрабатывает изображения за один проход (одностадийное обнаружение), благодаря чему работает значительно быстрее, сохраняя высокую точность. Модель также обеспечивает бесшовную интеграцию с Ultralytics Platform, позволяя эффективно управлять моделями, наборами данных и конвейерами обучения. Для приложений, требующих одновременно скорости и точности, YOLO26 предлагает оптимальный баланс.
Да, Ultralytics предлагает несколько наборов данных, подходящих для обучения моделей YOLO26 сегментации экземпляров, включая COCO-Seg, COCO8-Seg (меньшее подмножество для быстрого тестирования), Package-Seg и Crack-Seg. Эти наборы данных содержат необходимые для задач сегментации экземпляров аннотации на уровне пикселей. Для более специализированных приложений ты также можешь создавать собственные наборы данных в формате Ultralytics. Полную информацию о наборах данных и инструкции по их использованию можно найти в документации Ultralytics по наборам данных.

