Skip to content

Soporte de IA Visual

Asistencia impulsada por IA para anotación de imágenes y video usando modelos de visión.

Soporte de IA Visual

Nuevo en v2.1.0

Potato proporciona asistencia impulsada por IA para tareas de anotación de imágenes y video utilizando varios modelos de visión, incluyendo YOLO para detección de objetos y modelos de lenguaje-visión (VLLMs) como GPT-4o, Claude y modelos de visión de Ollama.

Descripción General

El soporte de IA visual permite:

  • Detección de Objetos: Detectar y localizar automáticamente objetos en imágenes usando YOLO o VLLMs
  • Pre-anotación: Auto-detectar todos los objetos para revisión humana
  • Clasificación: Clasificar imágenes o regiones dentro de imágenes
  • Pistas: Obtener orientación sin revelar ubicaciones exactas
  • Detección de Escenas: Identificar segmentos temporales en videos
  • Detección de Fotogramas Clave: Encontrar momentos significativos en videos
  • Seguimiento de Objetos: Rastrear objetos a través de fotogramas de video

Endpoints Soportados

Endpoint YOLO

Ideal para detección de objetos rápida y precisa usando inferencia local.

yaml
ai_support:
  enabled: true
  endpoint_type: "yolo"
  ai_config:
    model: "yolov8m.pt"  # or yolov8n, yolov8l, yolov8x, yolo-world
    confidence_threshold: 0.5
    iou_threshold: 0.45

Modelos soportados:

  • YOLOv8 (variantes n/s/m/l/x)
  • YOLO-World (detección de vocabulario abierto)
  • Modelos entrenados personalizados

Endpoint Ollama Vision

Para inferencia local de modelos de lenguaje-visión.

yaml
ai_support:
  enabled: true
  endpoint_type: "ollama_vision"
  ai_config:
    model: "llava:latest"  # or llava-llama3, bakllava, llama3.2-vision, qwen2.5-vl
    base_url: "http://localhost:11434"
    max_tokens: 500
    temperature: 0.1

Modelos soportados:

  • LLaVA (7B, 13B, 34B)
  • LLaVA-LLaMA3
  • BakLLaVA
  • Llama 3.2 Vision (11B, 90B)
  • Qwen2.5-VL
  • Moondream

Endpoint OpenAI Vision

Para análisis visual basado en la nube usando GPT-4o.

yaml
ai_support:
  enabled: true
  endpoint_type: "openai_vision"
  ai_config:
    api_key: "${OPENAI_API_KEY}"
    model: "gpt-4o"  # or gpt-4o-mini
    max_tokens: 1000
    detail: "auto"  # low, high, or auto

Endpoint Anthropic Vision

Para Claude con capacidades de visión.

yaml
ai_support:
  enabled: true
  endpoint_type: "anthropic_vision"
  ai_config:
    api_key: "${ANTHROPIC_API_KEY}"
    model: "claude-sonnet-4-20250514"
    max_tokens: 1024

Capacidades de los Endpoints

Cada endpoint tiene diferentes fortalezas:

EndpointGeneración de TextoVisiónSalida BboxPalabra ClaveRazonamiento
ollama_visionNoNo
openai_visionNoNo
anthropic_visionNoNo
yoloNoNoNo

Mejores prácticas:

  • Para detección precisa de objetos, usa el endpoint yolo
  • Para clasificación de imágenes con explicaciones, usa un VLLM como ollama_vision con Qwen-VL o LLaVA
  • Para flujos de trabajo combinados, configura tanto un endpoint de texto como un endpoint visual

Anotación de Imágenes con IA

Configura la anotación de imágenes asistida por IA con funciones de detección, pre-anotación, clasificación y pistas:

yaml
annotation_schemes:
  - annotation_type: image_annotation
    name: object_detection
    description: "Detect and label objects in the image"
    tools:
      - bbox
      - polygon
    labels:
      - name: "person"
        color: "#FF6B6B"
      - name: "car"
        color: "#4ECDC4"
      - name: "dog"
        color: "#45B7D1"
 
    ai_support:
      enabled: true
      features:
        detection: true      # "Detect" button - find objects
        pre_annotate: true   # "Auto" button - detect all
        classification: false # "Classify" button - classify region
        hint: true           # "Hint" button - get guidance
 
ai_support:
  enabled: true
  endpoint_type: "yolo"
  ai_config:
    model: "yolov8m.pt"
    confidence_threshold: 0.5

Anotación de Video con IA

yaml
annotation_schemes:
  - annotation_type: video_annotation
    name: scene_segmentation
    description: "Segment video into scenes"
    mode: segment
    labels:
      - name: "intro"
        color: "#4ECDC4"
      - name: "action"
        color: "#FF6B6B"
      - name: "outro"
        color: "#45B7D1"
 
    ai_support:
      enabled: true
      features:
        scene_detection: true     # Detect scene boundaries
        keyframe_detection: false
        tracking: false
        pre_annotate: true        # Auto-segment entire video
        hint: true
 
ai_support:
  enabled: true
  endpoint_type: "ollama_vision"
  ai_config:
    model: "llava:latest"
    max_frames: 10  # Frames to sample for video analysis

Endpoints Visuales y de Texto Separados

Puedes configurar un endpoint separado para tareas visuales, usando el mejor modelo para cada tipo de contenido:

yaml
ai_support:
  enabled: true
  endpoint_type: "openai"  # For text annotations
  ai_config:
    api_key: "${OPENAI_API_KEY}"
    model: "gpt-4o-mini"
 
  # Separate visual endpoint
  visual_endpoint_type: "yolo"
  visual_ai_config:
    model: "yolov8m.pt"
    confidence_threshold: 0.5

O usando un modelo de lenguaje-visión junto a un modelo de texto:

yaml
ai_support:
  enabled: true
  endpoint_type: "ollama"  # Main endpoint for text
  visual_endpoint_type: "ollama_vision"  # Visual endpoint for images
  ai_config:
    model: "llama3.2"
    include:
      all: true
  visual_ai_config:
    model: "qwen2.5-vl:7b"

Funciones de IA

Detección

Encuentra objetos que coinciden con las etiquetas configuradas y dibuja cuadros delimitadores sugeridos. Las sugerencias aparecen como superposiciones punteadas que pueden aceptarse o rechazarse.

Pre-anotación (Auto)

Detecta automáticamente todos los objetos en la imagen/video y crea sugerencias para revisión humana. Útil para acelerar la anotación de conjuntos de datos grandes.

Clasificación

Clasifica una región seleccionada o la imagen completa. Devuelve una etiqueta sugerida con puntuación de confianza y razonamiento.

Pistas

Proporciona orientación sin revelar respuestas exactas. Bueno para entrenar anotadores o cuando se desea juicio humano con asistencia de IA.

Detección de Escenas (Video)

Analiza fotogramas de video para identificar límites de escena y sugiere segmentos temporales con etiquetas.

Detección de Fotogramas Clave (Video)

Identifica momentos significativos en un video que serían buenos puntos de anotación.

Seguimiento de Objetos (Video)

Sugiere posiciones de objetos a través de fotogramas para una anotación de seguimiento consistente.

Uso de Sugerencias de IA

  1. Haz clic en el botón de asistencia de IA (Detect, Auto, Hint, etc.)
  2. Espera a que las sugerencias aparezcan como superposiciones punteadas
  3. Aceptar una sugerencia: Doble clic en la superposición de sugerencia
  4. Rechazar una sugerencia: Clic derecho en la superposición de sugerencia
  5. Aceptar todas: Haz clic en "Accept All" en la barra de herramientas
  6. Limpiar todas: Haz clic en "Clear" para eliminar todas las sugerencias

Formato de Respuesta de la API de Detección

json
{
  "detections": [
    {
      "label": "person",
      "bbox": {"x": 0.1, "y": 0.2, "width": 0.3, "height": 0.5},
      "confidence": 0.95
    }
  ]
}

Para pistas:

json
{
  "hint": "Look for objects in the lower right corner",
  "suggestive_choice": "Focus on overlapping regions"
}

Para segmentos de video:

json
{
  "segments": [
    {
      "start_time": 0.0,
      "end_time": 5.5,
      "suggested_label": "intro",
      "confidence": 0.85
    }
  ]
}

Requisitos

Para el endpoint YOLO

bash
pip install ultralytics opencv-python

Para Ollama Vision

  1. Instala Ollama desde ollama.ai
  2. Descarga un modelo de visión: ollama pull llava
  3. Inicia el servidor de Ollama (se ejecuta en http://localhost:11434 por defecto)

Para OpenAI/Anthropic Vision

  • Configura la clave de API en el entorno o configuración
  • Asegúrate de tener acceso a modelos con capacidad de visión

Solución de Problemas

"No visual AI endpoint configured"

Asegúrate de haber:

  1. Establecido ai_support.enabled: true
  2. Establecido un endpoint_type válido que soporte visión (yolo, ollama_vision, openai_vision, anthropic_vision)
  3. Instalado las dependencias requeridas para el endpoint elegido

YOLO no detecta los objetos esperados

  • Intenta reducir confidence_threshold
  • Asegúrate de que tus etiquetas coincidan con los nombres de clase de YOLO (o usa YOLO-World para vocabularios personalizados)
  • Verifica que el archivo del modelo exista y sea válido

Errores de Ollama Vision

  • Verifica que Ollama esté ejecutándose: curl http://localhost:11434/api/tags
  • Asegúrate de haber descargado un modelo de visión: ollama list
  • Verifica que el modelo soporte visión (llava, bakllava, llama3.2-vision, etc.)

Lectura Adicional

  • AI Support - Asistencia de IA basada en texto (pistas, palabras clave, razonamientos)
  • Image Annotation - Herramientas y configuración de anotación de imágenes
  • Instance Display - Configurar la visualización de contenido

Para detalles de implementación, consulta la documentación fuente.