YOLO Vision 2026:

Сегментация экземпляров и отслеживание с помощью Ultralytics YOLO26 🚀#

Что такое сегментация экземпляров?#

Instance segmentation — это задача компьютерного зрения, которая заключается в обнаружении и обводке отдельных объектов на изображении на уровне пикселей. В отличие от semantic segmentation, которая лишь классифицирует пиксели по категориям, инстанс-сегментация уникально размечает и точно очерчивает каждый экземпляр объекта, что критически важно для приложений, требующих детального пространственного понимания, таких как медицинская визуализация, беспилотирование и промышленная автоматизация.

Ultralytics YOLO26 предоставляет мощные возможности инстанс-сегментации, которые позволяют точно определять границы объектов, сохраняя при этом скорость и эффективность, которыми славятся модели YOLO.

В пакете Ultralytics доступны два типа отслеживания сегментации экземпляров:

  • Сегментация экземпляров с объектами класса: каждому классу объектов присваивается уникальный цвет для четкого визуального разделения.

  • Сегментация экземпляров с отслеживанием объектов: каждый трек представлен отдельным цветом, что облегчает идентификацию и отслеживание объектов на кадрах видео.



Watch: Instance Segmentation with Object Tracking using Ultralytics YOLO26

Образцы#

Сегментация экземпляровСегментация экземпляров + отслеживание объектов
Ultralytics Instance SegmentationUltralytics Instance Segmentation with Object Tracking
Сегментация экземпляров Ultralytics 😍Сегментация экземпляров Ultralytics с отслеживанием объектов 🔥

Сегментируй и отслеживай с помощью YOLO26#

Решение InstanceSegmentation запускает модель сегментации YOLO26 для каждого кадра, рисует маски для каждого объекта и окрашивает каждый экземпляр отдельно, чтобы ты мог отслеживать отдельные объекты на видео. Загрузи модель -seg, а затем запусти её на своём источнике с помощью Python API или CLI.

Сегментация экземпляров с использованием Ultralytics YOLO
# 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:

АргументТипПо умолчаниюОписание
modelstrNoneПуть к файлу модели Ultralytics YOLO.
line_widthint2Толщина линий для рамок, ключевых точек и подсчетов, отрисовываемых решением.
verboseboolTrueВключает покадровый лог решения, содержащий форму входных данных, количество классов и скорость обработки. Сам вызов трекинга всегда выполняется молча.

Ты также можешь использовать аргументы track в рамках решения InstanceSegmentation:

АргументТипПо умолчаниюОписание
trackerstr'botsort.yaml'Задает алгоритм трекинга, который нужно использовать. Встроенные опции: botsort.yaml, bytetrack.yaml, ocsort.yaml, deepocsort.yaml, fasttrack.yaml, tracktrack.yaml.
conffloat0.25Устанавливает порог уверенности для обнаружений; более низкие значения позволяют отслеживать больше объектов, но могут включать ложные срабатывания.
ioufloat0.7Устанавливает порог Intersection over Union (IoU) для фильтрации пересекающихся детекций.
classeslistNoneФильтрует результаты по индексу класса. Например, classes=[0, 2, 3] отслеживает только указанные классы.
devicestrNoneЗадает устройство для инференса (например, cpu, cuda:0 или 0). Позволяет пользователям выбирать между CPU, конкретным GPU или другими вычислительными устройствами для выполнения модели.

Кроме того, доступны следующие аргументы визуализации:

АргументТипПо умолчаниюОписание
showboolFalseЕсли True, отображает аннотированные изображения или видео в окне. Полезно для немедленной визуальной обратной связи во время разработки или тестирования.
show_confboolTrueОтображает показатель уверенности для каждого обнаружения рядом с меткой. Дает представление об уверенности модели в каждом обнаружении.
show_labelsboolTrueОтображает метки для каждого обнаружения в визуальном выводе. Обеспечивает быстрое понимание того, какие объекты были обнаружены.
show_boxesboolTrueРисует ограничивающие рамки вокруг обнаруженных объектов. Необходимо для визуальной идентификации и определения местоположения объектов на изображениях или кадрах видео.

Применение сегментации экземпляров#

Сегментация экземпляров с помощью YOLO26 имеет множество практических применений в различных отраслях:

Утилизация и переработка отходов#

YOLO26 можно использовать на waste management facilities для идентификации и сортировки различных типов материалов. Модель способна с высокой точностью сегментировать пластиковые отходы, картон, металл и другие материалы, пригодные для переработки, что позволяет автоматизированным системам сортировки обрабатывать мусор более эффективно. Это особенно ценно, учитывая, что перерабатывается лишь около 10% из 7 миллиардов тонн производимых в мире пластиковых отходов.

Автономные транспортные средства#

В self-driving cars инстанс-сегментация помогает идентифицировать и отслеживать пешеходов, транспортные средства, дорожные знаки и другие элементы дороги на уровне пикселей. Такое точное понимание окружающей среды имеет решающее значение для навигации и принятия решений по безопасности. Производительность YOLO26 в реальном времени делает её идеальной для таких чувствительных ко времени приложений.

Медицинская визуализация#

Инстанс-сегментация позволяет выявлять и очерчивать опухоли, органы или клеточные структуры на медицинских снимках. Способность YOLO26 точно определять границы объектов делает её ценной для medical diagnostics и планирования лечения.

Мониторинг строительных площадок#

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

FAQ#

  • Чтобы выполнить сегментацию экземпляров с помощью 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 guide.

  • Сегментация экземпляров идентифицирует и очерчивает отдельные объекты на изображении, присваивая каждому объекту уникальную метку и маску. Отслеживание объектов дополняет это, назначая постоянные идентификаторы объектам на разных кадрах видео, что облегчает их непрерывное отслеживание во времени. При объединении, как в реализации YOLO26, ты получаешь мощные возможности для анализа движения и поведения объектов в видео, сохраняя при этом точные данные о границах.

  • Ultralytics YOLO26 предлагает производительность в реальном времени, превосходную accuracy и простоту использования по сравнению с другими моделями, такими как Mask R-CNN или Faster R-CNN. YOLO26 обрабатывает изображения за один проход (одноэтапное обнаружение), что делает её значительно быстрее при сохранении высокой точности. Она также обеспечивает полную интеграцию с Ultralytics Platform, позволяя пользователям эффективно управлять моделями, наборами данных и конвейерами обучения. Для приложений, требующих как скорости, так и точности, YOLO26 обеспечивает оптимальный баланс.

  • Да, Ultralytics предлагает несколько наборов данных, подходящих для обучения моделей YOLO26 для инстанс-сегментации, включая COCO-Seg, COCO8-Seg (меньшая подвыборка для быстрого тестирования), Package-Seg и Crack-Seg. Эти наборы данных поставляются с разметкой на уровне пикселей, необходимой для задач инстанс-сегментации. Для более специализированных приложений ты также можешь создавать собственные наборы данных в формате Ultralytics. Полную информацию о наборах данных и инструкции по их использованию можно найти в Ultralytics Datasets documentation.

Комментарии