Узнайте, как сегментация экземпляров позволяет обнаруживать объекты на уровне пикселей. Узнайте, как использовать Ultralytics для высокоскоростного создания масок в режиме реального времени и многого другого.
Сегментация экземпляров — это сложная техника в компьютерном зрении (CV), которая идентифицирует и определяет границы каждого отдельного объекта, представляющего интерес, на уровне пикселей в изображении. В то время как стандартное обнаружение объектов локализует элементы с помощью прямоугольных ограничивающих рамок, сегментация экземпляров углубляет анализ, создавая точную маску для каждого обнаруженного объекта. Эта возможность позволяет моделям искусственного интеллекта (ИИ) различать отдельные объекты одного и того же класса, например, разделять двух перекрывающихся людей, что обеспечивает более полное и детальное понимание визуальной сцены по сравнению с более простыми методами классификации.
Чтобы полностью понять полезность сегментации экземпляров, полезно отличать ее от других связанных задач обработки изображений . Каждый метод предлагает разный уровень детализации в зависимости от требований приложения.
Современные модели сегментации экземпляров обычно опираются на передовые архитектуры глубокого обучения (DL), в частности на сверточные нейронные сети (CNN). Эти сети извлекают признаки из изображения, чтобы предсказать как класс объекта, так и его пространственный контур. Исторически сложилось так, что стандартом были двухэтапные архитектуры, такие как Mask R-CNN, которые сначала предлагали области интереса, а затем уточняли их в маски.
Однако недавние достижения привели к появлению одноступенчатых детекторов, таких как YOLO26, которые выполняют обнаружение и сегментацию одновременно. Этот «сквозной» подход значительно улучшает скорость вывода в реальном времени, что позволяет применять высокоточную сегментацию к потокам видео в реальном времени на потребительском оборудовании.
Точные границы, обеспечиваемые сегментацией экземпляров, имеют решающее значение для отраслей, в которых понимание точной формы и положения объекта необходимо для принятия решений.
Разработчики могут легко реализовать сегментацию экземпляров с помощью ultralytics библиотеки. Следующий
пример демонстрирует, как загрузить предварительно обученный YOLO26 модель
и сгенерировать маски сегментации для изображения.
from ultralytics import YOLO
# Load a pre-trained YOLO26 instance segmentation model
# The 'n' suffix denotes the nano version, optimized for speed
model = YOLO("yolo26n-seg.pt")
# Run inference on an image
# This predicts classes, bounding boxes, and masks
results = model("https://ultralytics.com/images/bus.jpg")
# Visualize the results
# Displays the image with overlaid segmentation masks
results[0].show()
Несмотря на свою мощность, сегментация экземпляров требует больших вычислительных ресурсов по сравнению с простым обнаружением ограничивающих прямоугольников. Создание масок с идеальной точностью до пикселя требует значительных GPU и точной анотации данных. Анотация данных для этих задач включает в себя рисование плотных многоугольников вокруг каждого объекта, что может быть очень трудоемким.
Для оптимизации этого процесса команды часто используют такие инструменты, как Ultralytics , которая предлагает функции управления наборами данных, автоматической аннотации и обучения в облаке. Это позволяет разработчикам точно настраивать модели на основе пользовательских данных, таких как конкретные промышленные детали или биологические образцы, и эффективно развертывать их на периферийных устройствах искусственного интеллекта с использованием оптимизированных форматов, таких как ONNX или TensorRT.