Link to this sectionСегментация экземпляров и отслеживание с помощью Ultralytics YOLO26 🚀#
Link to this sectionЧто такое сегментация экземпляров?#
Сегментация экземпляров — это задача компьютерного зрения, которая включает идентификацию и оконтуривание отдельных объектов на изображении на уровне пикселей. В отличие от семантической сегментации, которая классифицирует пиксели только по категориям, сегментация экземпляров уникально помечает и точно очерчивает каждый объект, что критически важно для приложений, требующих детального пространственного понимания, таких как медицинская визуализация, автономное вождение и промышленная автоматизация.
Ultralytics YOLO26 предоставляет мощные возможности сегментации экземпляров, которые обеспечивают точное обнаружение границ объектов, сохраняя при этом скорость и эффективность, которыми славятся модели YOLO.
В пакете Ultralytics доступны два типа отслеживания сегментации экземпляров:
-
Сегментация экземпляров с объектами класса: каждому классу объектов присваивается уникальный цвет для четкого визуального разделения.
-
Сегментация экземпляров с отслеживанием объектов: каждый трек представлен отдельным цветом, что облегчает идентификацию и отслеживание объектов на кадрах видео.
Watch: Instance Segmentation with Object Tracking using Ultralytics YOLO26
Link to this sectionОбразцы#
| Сегментация экземпляров | Сегментация экземпляров + отслеживание объектов |
|---|---|
![]() | |
| Сегментация экземпляров Ultralytics 😍 | Сегментация экземпляров Ultralytics с отслеживанием объектов 🔥 |
Link to this sectionСегментируй и отслеживай с помощью 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]"Link to this sectionАргументы InstanceSegmentation#
Вот таблица с аргументами InstanceSegmentation:
| Аргумент | Тип | По умолчанию | Описание |
|---|---|---|---|
model | str | None | Путь к файлу модели Ultralytics YOLO. |
Ты также можешь воспользоваться аргументами track в решении InstanceSegmentation:
| Аргумент | Тип | По умолчанию | Описание |
|---|---|---|---|
tracker | str | 'botsort.yaml' | Указывает алгоритм отслеживания, который нужно использовать. Встроенные опции: botsort.yaml, bytetrack.yaml, ocsort.yaml, deepocsort.yaml, fasttrack.yaml, tracktrack.yaml. |
conf | float | 0.1 | Устанавливает порог уверенности для обнаружений; более низкие значения позволяют отслеживать больше объектов, но могут включать ложные срабатывания. |
iou | float | 0.7 | Устанавливает порог Intersection over Union (IoU) для фильтрации перекрывающихся обнаружений. |
classes | list | None | Фильтрует результаты по индексу класса. Например, classes=[0, 2, 3] отслеживает только указанные классы. |
verbose | bool | True | Контролирует отображение результатов отслеживания, предоставляя визуальный вывод отслеживаемых объектов. |
device | str | None | Указывает устройство для вывода (например, cpu, cuda:0 или 0). Позволяет выбирать между CPU, конкретным GPU или другими вычислительными устройствами для выполнения модели. |
Кроме того, доступны следующие аргументы визуализации:
| Аргумент | Тип | По умолчанию | Описание |
|---|---|---|---|
show | bool | False | Если True, отображает аннотированные изображения или видео в окне. Полезно для немедленной визуальной обратной связи во время разработки или тестирования. |
line_width | int or None | None | Указывает ширину линии ограничивающих рамок. Если None, ширина линии автоматически подстраивается под размер изображения. Обеспечивает визуальную настройку для ясности. |
show_conf | bool | True | Отображает показатель уверенности для каждого обнаружения рядом с меткой. Дает представление об уверенности модели в каждом обнаружении. |
show_labels | bool | True | Отображает метки для каждого обнаружения в визуальном выводе. Обеспечивает быстрое понимание того, какие объекты были обнаружены. |
show_boxes | bool | True | Рисует ограничивающие рамки вокруг обнаруженных объектов. Необходимо для визуальной идентификации и определения местоположения объектов на изображениях или кадрах видео. |
Link to this sectionПрименение сегментации экземпляров#
Сегментация экземпляров с помощью YOLO26 имеет множество практических применений в различных отраслях:
Link to this sectionУтилизация и переработка отходов#
YOLO26 можно использовать на предприятиях по переработке отходов для идентификации и сортировки различных типов материалов. Модель может с высокой точностью сегментировать пластиковые отходы, картон, металл и другие вторсырья, позволяя автоматизированным системам сортировки работать более эффективно. Это особенно ценно, учитывая, что перерабатывается лишь около 10% из 7 миллиардов тонн пластиковых отходов, ежегодно производимых в мире.
Link to this sectionАвтономные транспортные средства#
В беспилотных автомобилях сегментация экземпляров помогает идентифицировать и отслеживать пешеходов, транспортные средства, дорожные знаки и другие объекты дорожной инфраструктуры на уровне пикселей. Такое точное понимание окружающей обстановки крайне важно для навигации и принятия решений безопасности. Высокая производительность YOLO26 в реальном времени делает её идеальной для этих критически важных приложений.
Link to this sectionМедицинская визуализация#
Сегментация экземпляров позволяет идентифицировать и очерчивать опухоли, органы или клеточные структуры на медицинских сканах. Способность YOLO26 точно определять границы объектов делает её полезной для медицинской диагностики и планирования лечения.
Link to this sectionМониторинг строительных площадок#
На строительных площадках сегментация экземпляров может отслеживать тяжелую технику, рабочих и материалы. Это помогает обеспечить безопасность за счет контроля положения оборудования и фиксации случаев проникновения рабочих в опасные зоны, одновременно оптимизируя рабочий процесс и распределение ресурсов.
Link to this sectionFAQ#
Link to this sectionКак выполнить сегментацию экземпляров с помощью Ultralytics 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.
Link to this sectionВ чем разница между сегментацией экземпляров и отслеживанием объектов в Ultralytics YOLO26?#
Сегментация экземпляров идентифицирует и очерчивает отдельные объекты на изображении, присваивая каждому объекту уникальную метку и маску. Отслеживание объектов дополняет это, назначая постоянные идентификаторы объектам на разных кадрах видео, что облегчает их непрерывное отслеживание во времени. При объединении, как в реализации YOLO26, ты получаешь мощные возможности для анализа движения и поведения объектов в видео, сохраняя при этом точные данные о границах.
Link to this sectionПочему стоит использовать Ultralytics YOLO26 для сегментации экземпляров и отслеживания вместо других моделей, таких как Mask R-CNN или Faster R-CNN?#
Ultralytics YOLO26 обеспечивает производительность в реальном времени, превосходную точность и простоту использования по сравнению с моделями вроде Mask R-CNN или Faster R-CNN. YOLO26 обрабатывает изображения за один проход (одностадийное обнаружение), что делает её значительно быстрее при сохранении высокой точности. Она также обеспечивает бесшовную интеграцию с Ultralytics Platform, позволяя эффективно управлять моделями, наборами данных и конвейерами обучения. Для приложений, требующих одновременно скорости и точности, YOLO26 обеспечивает оптимальный баланс.
Link to this sectionПредоставляет ли Ultralytics наборы данных, подходящие для обучения моделей YOLO26 для сегментации экземпляров и отслеживания?#
Да, Ultralytics предлагает несколько наборов данных, подходящих для обучения моделей YOLO26 для сегментации экземпляров, включая COCO-Seg, COCO8-Seg (меньший поднабор для быстрого тестирования), Package-Seg и Crack-Seg. Эти наборы данных содержат аннотации на уровне пикселей, необходимые для задач сегментации экземпляров. Для более специализированных приложений ты также можешь создавать собственные наборы данных в формате Ultralytics. Полную информацию о наборах данных и инструкции по их использованию можно найти в документации по наборам данных Ultralytics.
