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






