Visual Prompting
Изучи визуальное промптирование для управления моделями ИИ с помощью точек и рамок. Узнай, как Ultralytics YOLO и SAM обеспечивают точную сегментацию и более быструю разметку данных.
Визуальное промптирование — это развивающаяся техника в области компьютерного зрения, при которой пользователи задают пространственные или визуальные подсказки — например, точки, ограничивающие рамки или наброски, — чтобы направить внимание модели ИИ на определённые объекты или области изображения. В отличие от традиционной инженерии промптов, которая в основном опирается на текстовые описания, визуальное промптирование обеспечивает более точное и интуитивное взаимодействие с системами искусственного интеллекта (AI). Этот метод использует возможности современных базовых моделей для выполнения таких задач, как сегментация и обнаружение, без необходимости длительного дообучения или больших размеченных наборов данных. Эффективно «указывая» на нужные объекты, пользователи могут мгновенно адаптировать модели общего назначения к новым задачам, сокращая разрыв между намерениями человека и восприятием машины.
Механизмы визуального промптирования#
В основе визуального промптирования лежит непосредственная передача пространственной информации в конвейер обработки модели. Когда пользователь нажимает на объект или рисует рамку, эти входные данные преобразуются во встраивания на основе координат, которые нейронная сеть объединяет с признаками изображения. Этот процесс лежит в основе интерактивных архитектур, таких как модель «Сегментируй всё» (SAM), где модель предсказывает маски на основе геометрических подсказок.
Гибкость визуального промптирования позволяет использовать различные типы взаимодействия:
- Точечные подсказки: Пользователь нажимает на определённый пиксель, чтобы указать интересующий объект. Затем модель расширяет этот выбор до всех границ объекта.
- Подсказки в виде рамки: Рисование ограничивающей рамки задаёт приблизительное местоположение и сообщает модели, что нужно сегментировать или классифицировать всё, что находится внутри этой области.
- Подсказки в виде наброска: Линии, нарисованные от руки поверх объекта, помогают устранить неоднозначность в сложных сценах, где объекты перекрываются или имеют схожую текстуру.
Недавнее исследование, представленное на конференции CVPR 2024, показывает, что визуальное промптирование значительно сокращает время, необходимое для разметки данных, поскольку специалисты по разметке могут в реальном времени исправлять предсказания модели простыми нажатиями, вместо того чтобы вручную обводить полигоны.
Визуальное промптирование и текстовое промптирование#
Хотя обе техники направлены на управление поведением модели, важно отличать визуальное промптирование от текстовых методов. Генерация изображений по тексту или обнаружение в режиме zero-shot опираются на обработку естественного языка (NLP) для интерпретации семантических описаний, например «найди красную машину». Однако язык может быть неоднозначным или недостаточно точным для описания конкретных пространственных расположений или абстрактных форм.
Визуальное промптирование устраняет эту неоднозначность, привязывая инструкцию непосредственно к пространству пикселей. Например, при анализе медицинских изображений рентгенологу гораздо точнее нажать на подозрительный узел, чем пытаться описать его точные координаты и неправильную форму с помощью текста. Часто наиболее эффективные рабочие процессы объединяют оба подхода: текст используется для семантической фильтрации, а визуальные подсказки — для пространственной точности; эта концепция известна как мультимодальное обучение.
Практические применения#
Адаптивность визуального промптирования привела к его быстрому распространению в различных отраслях:
- Интерактивная медицинская диагностика: Врачи используют инструменты визуального промптирования для выделения опухолей или органов на МРТ-снимках. Простым нажатием на интересующую область они могут мгновенно получить объёмные измерения в 3D, что помогает выполнять точное обнаружение опухолей и планировать хирургическое вмешательство.
- Интеллектуальное редактирование фотографий: В пользовательских программах, таких как Adobe Photoshop, и мобильных приложениях визуальное промптирование поддерживает инструменты «волшебного выделения». Пользователи могут нажать на человека или объект, чтобы удалить фон или применить точечные фильтры, используя базовые технологии сегментации экземпляров без необходимости вручную создавать маски.
- Роботизированные манипуляции: В области ИИ в робототехнике роботам можно задавать команды на захват определённых предметов через визуальный интерфейс. Оператор нажимает на объект в видеопотоке с камеры робота, задавая визуальную подсказку, которую робот преобразует в координаты захвата, что облегчает автоматизацию с участием человека в контуре на складах.
Реализация с Ultralytics#
Экосистема Ultralytics поддерживает рабочие процессы визуального промптирования, в частности с помощью таких моделей, как FastSAM и SAM. Эти модели позволяют разработчикам программно передавать координаты точек или рамок для получения масок сегментации.
В следующем примере показано, как использовать пакет ultralytics, чтобы применить к изображению точечную подсказку и указать модели сегментировать объект, расположенный по определённым координатам.
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 предлагает инструменты для управления наборами данных и развёртывания моделей, способных обрабатывать динамические входные данные. По мере развития исследований мы ожидаем ещё более тесной интеграции визуальных подсказок с большими языковыми моделями (LLMs), что позволит создавать системы, способные рассуждать о визуальных входных данных с такой же беглостью, с какой они сейчас работают с текстом.









