Изучите визуальные подсказки для управления моделями ИИ с помощью точек и прямоугольников. Узнайте, как Ultralytics YOLO SAM точную сегментацию и более быструю аннотацию данных.
Визуальное подсказывание — это новая техника в области компьютерного зрения, при которой пользователи предоставляют пространственные или визуальные подсказки, такие как точки, ограничительные рамки или каракули, чтобы направить внимание модели ИИ на определенные объекты или области изображения. В отличие от традиционного подсказывающего инжиниринга, который основывается в основном на текстовых описаниях, визуальное подсказывание позволяет более точно и интуитивно взаимодействовать с системами искусственного интеллекта (ИИ). Этот метод использует возможности современных базовых моделей для выполнения таких задач, как сегментация и обнаружение, без необходимости в обширной переподготовке или больших наборах данных с метками. Эффективно «указывая» на то, что имеет значение, пользователи могут мгновенно адаптировать модели общего назначения к новым задачам, преодолевая разрыв между человеческим намерением и восприятием машины.
По сути, визуальные подсказки работают путем введения пространственной информации непосредственно в конвейер обработки модели. Когда пользователь нажимает на объект или рисует прямоугольник, эти входные данные преобразуются в вложения на основе координат, которые нейронная сеть интегрирует с характеристиками изображения. Этот процесс имеет центральное значение для интерактивных архитектур, таких как Segment Anything Model (SAM), где модель предсказывает маски на основе геометрических подсказок.
Гибкость визуальных подсказок позволяет использовать различные типы взаимодействия:
Недавнее исследование, представленное на CVPR 2024, подчеркивает, как визуальные подсказки значительно сокращают время, необходимое для аннотирования данных, поскольку аннотаторы-люди могут исправлять прогнозы модели в режиме реального времени простыми щелчками мыши, а не вручную прослеживая многоугольники.
Хотя обе техники направлены на управление поведением модели, важно различать визуальные подсказки и текстовые методы. Генерация изображений на основе текста или обнаружение без обучения основывается на обработке естественного языка (NLP) для интерпретации семантических описаний (например, «найди красную машину»). Однако язык может быть неоднозначным или недостаточным для описания точных пространственных положений или абстрактных форм.
Визуальные подсказки устраняют эту неоднозначность, закрепляя инструкцию в самом пиксельном пространстве. Например, при анализе медицинских изображений для радиолога гораздо точнее щелкнуть мышью по подозрительному узелку, чем пытаться описать его точные координаты и неправильную форму с помощью текста. Часто наиболее эффективные рабочие процессы сочетают в себе оба подхода — использование текста для семантической фильтрации и визуальных подсказок для пространственной точности — концепцию, известную как мультимодальное обучение.
Адаптивность визуальных подсказок привела к их быстрому внедрению в различных отраслях:
Ultralytics поддерживает визуальные подсказки рабочих процессов, в частности, через такие модели, как FastSAM SAM. Эти модели позволяют разработчикам программно передавать координаты точек или прямоугольников для извлечения масок сегментации.
Следующий пример демонстрирует, как использовать ultralytics пакет для применения точечного запроса к
изображению, дающего модели указание segment , расположенный в определенных координатах.
from ultralytics import SAM
# Load the Segment Anything Model (SAM)
model = SAM("sam2.1_b.pt")
# Apply a visual point prompt to the image
# The 'points' argument accepts [x, y] coordinates
# labels: 1 indicates a foreground point (include), 0 indicates background
results = model("https://ultralytics.com/images/bus.jpg", points=[[300, 350]], labels=[1])
# Display the segmented result
results[0].show()
Визуальная подсказка представляет собой сдвиг в сторону «подсказываемого» компьютерного зрения, где модели больше не являются статичными «черными ящиками», а представляют собой интерактивные инструменты. Эта возможность необходима для активных циклов обучения, в которых модели быстро совершенствуются за счет учета отзывов пользователей.
Для разработчиков, желающих интегрировать эти возможности в производство, Ultralytics предлагает инструменты для управления наборами данных и развертывания моделей, способных обрабатывать динамические входные данные. По мере продвижения исследований мы ожидаем еще более тесной интеграции между визуальными подсказками и большими языковыми моделями (LLM), что позволит системам обрабатывать визуальные входные данные с той же легкостью, с которой они в настоящее время обрабатывают текст.