Skip to content
Cette page n'est pas encore disponible dans votre langue. La version anglaise est affichée.

Supporto AI Visivo

Assistenza alimentata da AI per l'annotazione di immagini e video usando modelli di visione.

Supporto AI Visivo

Novità della v2.1.0

Potato fornisce assistenza alimentata da AI per i compiti di annotazione di immagini e video usando vari modelli di visione tra cui YOLO per il rilevamento oggetti e modelli vision-language (VLLM) come GPT-4o, Claude e modelli di visione Ollama.

Panoramica

Il supporto AI visivo abilita:

  • Rilevamento Oggetti: Rileva e localizza automaticamente gli oggetti nelle immagini usando YOLO o VLLM
  • Pre-Annotazione: Rileva automaticamente tutti gli oggetti per la revisione umana
  • Classificazione: Classifica le immagini o le regioni all'interno delle immagini
  • Suggerimenti: Ottieni indicazioni senza rivelare le posizioni esatte
  • Rilevamento Scene: Identifica segmenti temporali nei video
  • Rilevamento Fotogrammi Chiave: Trova momenti significativi nei video
  • Tracciamento Oggetti: Traccia gli oggetti attraverso i fotogrammi del video

Endpoint Supportati

Endpoint YOLO

Migliore per il rilevamento oggetti veloce e accurato usando l'inferenza locale.

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

Modelli supportati:

  • YOLOv8 (varianti n/s/m/l/x)
  • YOLO-World (rilevamento open-vocabulary)
  • Modelli personalizzati addestrati

Endpoint Ollama Vision

Per l'inferenza di modelli vision-language locale.

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

Modelli supportati:

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

Endpoint OpenAI Vision

Per l'analisi visiva cloud usando GPT-4o.

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

Endpoint Anthropic Vision

Per Claude con capacità di visione.

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

Capacità degli Endpoint

Ogni endpoint ha diversi punti di forza:

EndpointGen. TestoVisioneOutput BboxParole ChiaveMotivazione
ollama_visionNoNo
openai_visionNoNo
anthropic_visionNoNo
yoloNoNoNo

Best practice:

  • Per il rilevamento oggetti preciso, usa l'endpoint yolo
  • Per la classificazione delle immagini con spiegazioni, usa un VLLM come ollama_vision con Qwen-VL o LLaVA
  • Per i flussi di lavoro combinati, configura sia un endpoint testuale che uno visivo

Annotazione di Immagini con AI

Configura l'annotazione di immagini assistita da AI con funzionalità di rilevamento, pre-annotazione, classificazione e suggerimenti:

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      # Pulsante "Detect" - trova oggetti
        pre_annotate: true   # Pulsante "Auto" - rileva tutto
        classification: false # Pulsante "Classify" - classifica regione
        hint: true           # Pulsante "Hint" - ottieni indicazioni
 
ai_support:
  enabled: true
  endpoint_type: "yolo"
  ai_config:
    model: "yolov8m.pt"
    confidence_threshold: 0.5

Annotazione di Video con AI

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     # Rileva i confini delle scene
        keyframe_detection: false
        tracking: false
        pre_annotate: true        # Segmenta automaticamente l'intero video
        hint: true
 
ai_support:
  enabled: true
  endpoint_type: "ollama_vision"
  ai_config:
    model: "llava:latest"
    max_frames: 10  # Fotogrammi da campionare per l'analisi video

Endpoint Visivi e Testuali Separati

Puoi configurare un endpoint separato per i compiti visivi, usando il modello migliore per ogni tipo di contenuto:

yaml
ai_support:
  enabled: true
  endpoint_type: "openai"  # Per le annotazioni testuali
  ai_config:
    api_key: "${OPENAI_API_KEY}"
    model: "gpt-4o-mini"
 
  # Endpoint visivo separato
  visual_endpoint_type: "yolo"
  visual_ai_config:
    model: "yolov8m.pt"
    confidence_threshold: 0.5

O usando un modello vision-language insieme a un modello testuale:

yaml
ai_support:
  enabled: true
  endpoint_type: "ollama"  # Endpoint principale per il testo
  visual_endpoint_type: "ollama_vision"  # Endpoint visivo per le immagini
  ai_config:
    model: "llama3.2"
    include:
      all: true
  visual_ai_config:
    model: "qwen2.5-vl:7b"

Funzionalità AI

Rilevamento

Trova gli oggetti corrispondenti alle etichette configurate e disegna bounding box di suggerimento. I suggerimenti appaiono come overlay tratteggiati che possono essere accettati o rifiutati.

Pre-Annotazione (Auto)

Rileva automaticamente tutti gli oggetti nell'immagine/video e crea suggerimenti per la revisione umana. Utile per accelerare l'annotazione di dataset di grandi dimensioni.

Classificazione

Classifica una regione selezionata o l'intera immagine. Restituisce un'etichetta suggerita con punteggio di confidenza e ragionamento.

Suggerimenti

Fornisce indicazioni senza rivelare le risposte esatte. Buono per addestrare gli annotatori o quando si vuole il giudizio umano con l'assistenza AI.

Rilevamento Scene (Video)

Analizza i fotogrammi del video per identificare i confini delle scene e suggerisce segmenti temporali con etichette.

Rilevamento Fotogrammi Chiave (Video)

Identifica i momenti significativi in un video che farebbero buoni punti di annotazione.

Tracciamento Oggetti (Video)

Suggerisce le posizioni degli oggetti attraverso i fotogrammi per un'annotazione di tracciamento coerente.

Utilizzo dei Suggerimenti AI

  1. Fai clic sul pulsante di assistenza AI (Detect, Auto, Hint, ecc.)
  2. Attendi che i suggerimenti appaiano come overlay tratteggiati
  3. Accetta un suggerimento: Doppio clic sull'overlay del suggerimento
  4. Rifiuta un suggerimento: Clic destro sull'overlay del suggerimento
  5. Accetta tutto: Fai clic su "Accept All" nella barra degli strumenti
  6. Cancella tutto: Fai clic su "Clear" per rimuovere tutti i suggerimenti

Formato di Risposta dell'API di Rilevamento

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

Per i suggerimenti:

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

Per i segmenti video:

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

Requisiti

Per l'endpoint YOLO

bash
pip install ultralytics opencv-python

Per Ollama Vision

  1. Installa Ollama da ollama.ai
  2. Scarica un modello di visione: ollama pull llava
  3. Avvia il server Ollama (gira su http://localhost:11434 per impostazione predefinita)

Per OpenAI/Anthropic Vision

  • Imposta la chiave API nell'ambiente o nella configurazione
  • Assicurati di avere accesso ai modelli con capacità di visione

Risoluzione dei Problemi

"No visual AI endpoint configured"

Assicurati di aver:

  1. Impostato ai_support.enabled: true
  2. Impostato un endpoint_type valido che supporta la visione (yolo, ollama_vision, openai_vision, anthropic_vision)
  3. Installato le dipendenze richieste per l'endpoint scelto

YOLO Non Rileva gli Oggetti Previsti

  • Prova ad abbassare confidence_threshold
  • Assicurati che le tue etichette corrispondano ai nomi delle classi YOLO (o usa YOLO-World per vocabolari personalizzati)
  • Controlla che il file del modello esista e sia valido

Errori di Ollama Vision

  • Verifica che Ollama sia in esecuzione: curl http://localhost:11434/api/tags
  • Assicurati di aver scaricato un modello di visione: ollama list
  • Controlla che il modello supporti la visione (llava, bakllava, llama3.2-vision, ecc.)

Ulteriori Letture

Per i dettagli di implementazione, consulta la documentazione sorgente.