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






