Visual Prompting
Explora el prompting visual para guiar modelos de IA con puntos y cajas. Aprende cómo Ultralytics YOLO y SAM permiten una segmentación precisa y una anotación de datos más rápida.
El visual prompting es una técnica emergente en visión artificial en la que los usuarios proporcionan pistas espaciales o visuales—como puntos, BBox o garabatos—para guiar el enfoque de un modelo de IA hacia objetos o regiones específicas dentro de una imagen. A diferencia de la ingeniería de prompts tradicional, que se basa principalmente en descripciones de texto, el visual prompting permite una interacción más precisa e intuitiva con los sistemas de Inteligencia Artificial (IA). Este método aprovecha las capacidades de los modelos de cimientos modernos para realizar tareas como segmentación y detección sin requerir un reentrenamiento exhaustivo ni grandes conjuntos de datos etiquetados. Al "apuntar" eficazmente a lo que importa, puedes adaptar modelos de propósito general a nuevas tareas de forma instantánea, acortando la brecha entre la intención humana y la percepción de la máquina.
Mecanismos del prompting visual#
En esencia, el visual prompting funciona inyectando información espacial directamente en la canalización de procesamiento del modelo. Cuando haces clic en un objeto o dibujas una caja, estas entradas se convierten en incrustaciones basadas en coordenadas que la red neuronal integra con las características de la imagen. Este proceso es fundamental para arquitecturas interactivas como el Segment Anything Model (SAM), donde el modelo predice máscaras basadas en prompts geométricos.
La flexibilidad del prompting visual permite varios tipos de interacción:
- Prompts de puntos: Un usuario hace clic en un píxel específico para indicar el objeto de interés. Luego, el modelo expande esta selección a los límites completos del objeto.
- Prompts de cajas: Dibujar un BBox proporciona una localización aproximada, indicando al modelo que segmente o clasifique todo lo contenido dentro de esa área.
- Prompts de garabatos: Las líneas a mano alzada dibujadas sobre un objeto pueden ayudar a desambiguar escenas complejas donde los objetos se superponen o tienen texturas similares.
Investigaciones recientes presentadas en CVPR 2024 destacan cómo el visual prompting reduce significativamente el tiempo requerido para la anotación de datos, ya que los anotadores humanos pueden corregir las predicciones del modelo en tiempo real con simples clics en lugar de trazar polígonos manualmente.
Prompting visual frente a prompting de texto#
Aunque ambas técnicas tienen como objetivo guiar el comportamiento del modelo, es importante distinguir el visual prompting de los métodos basados en texto. La generación de texto a imagen o la detección zero-shot se basan en el procesamiento del lenguaje natural (PLN) para interpretar descripciones semánticas (por ejemplo, "encuentra el coche rojo"). Sin embargo, el lenguaje puede ser ambiguo o insuficiente para describir ubicaciones espaciales precisas o formas abstractas.
El visual prompting resuelve esta ambigüedad fundamentando la instrucción en el espacio de píxeles en sí. Por ejemplo, en el análisis de imágenes médicas, es mucho más preciso que un radiólogo haga clic en un nódulo sospechoso que intentar describir sus coordenadas exactas y su forma irregular mediante texto. A menudo, los flujos de trabajo más potentes combinan ambos enfoques —utilizando texto para el filtrado semántico y prompts visuales para la precisión espacial—, un concepto conocido como aprendizaje multimodal.
Aplicaciones en el mundo real#
La adaptabilidad del prompting visual ha llevado a su rápida adopción en diversas industrias:
- Diagnósticos médicos interactivos: Los médicos utilizan herramientas de visual prompting para aislar tumores u órganos en exploraciones de resonancia magnética. Al hacer clic simplemente en una región de interés, pueden generar instantáneamente mediciones volumétricas en 3D, lo que ayuda a una detección de tumores precisa y a la planificación quirúrgica.
- Edición de fotos inteligente: En software de consumo como Adobe Photoshop o aplicaciones móviles, el visual prompting alimenta herramientas de "selección mágica". Puedes tocar a una persona u objeto para eliminar el fondo o aplicar filtros específicos, utilizando tecnologías de segmentación de instancias subyacentes sin necesidad de habilidades de enmascaramiento manual.
- Manipulación robótica: En la IA en Robótica, se puede dar instrucciones a los robots para que recojan elementos específicos a través de una interfaz visual. Un operador hace clic en un objeto en la transmisión de la cámara del robot, proporcionando un prompt visual que el robot traduce en coordenadas de agarre, facilitando la automatización human-in-the-loop en almacenes.
Implementación con Ultralytics#
El ecosistema Ultralytics admite flujos de trabajo de prompting visual, particularmente a través de modelos como FastSAM y SAM. Estos modelos permiten a los desarrolladores pasar coordenadas de puntos o cuadros mediante programación para recuperar máscaras de segmentación.
El siguiente ejemplo demuestra cómo usar el paquete ultralytics para aplicar un prompt de punto a una imagen, indicando al modelo que segmente el objeto ubicado en coordenadas específicas.
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()Avanzando en la agilidad del modelo#
El visual prompting representa un cambio hacia la visión artificial "con prompts", donde los modelos ya no son "cajas negras" estáticas, sino herramientas interactivas. Esta capacidad es esencial para los bucles de aprendizaje activo, donde los modelos mejoran rápidamente al incorporar los comentarios de los usuarios.
Para los desarrolladores que buscan integrar estas capacidades en producción, el Ultralytics Platform ofrece herramientas para gestionar conjuntos de datos y desplegar modelos que pueden manejar entradas dinámicas. A medida que avanza la investigación, esperamos ver una integración aún más estrecha entre los prompts visuales y los modelos de lenguaje grande (LLM), lo que permitirá sistemas que puedan razonar sobre entradas visuales con la misma fluidez con la que actualmente manejan el texto.






