Skip to content
Esta página aún no está disponible en su idioma. Se muestra la versión en inglés.

Visuelle AI-Unterstützung

KI-gestützte Unterstützung für Bild- und Videoannotation mit Vision-Modellen.

Visuelle AI-Unterstützung

Neu in v2.1.0

Potato bietet KI-gestützte Unterstützung für Bild- und Videoannotationsaufgaben mithilfe verschiedener Vision-Modelle, einschließlich YOLO für Objekterkennung und vision-language models (VLLMs) wie GPT-4o, Claude und Ollama-Vision-Modelle.

Übersicht

Die visuelle AI-Unterstützung ermöglicht:

  • Objekterkennung: Objekte in Bildern mit YOLO oder VLLMs automatisch erkennen und lokalisieren
  • Vorausfüllen von Annotationen: Alle Objekte automatisch zur menschlichen Überprüfung erkennen
  • Klassifikation: Bilder oder Regionen innerhalb von Bildern klassifizieren
  • Hinweise: Anleitung geben, ohne genaue Positionen zu offenbaren
  • Szenenerkennung: Zeitliche Segmente in Videos identifizieren
  • Keyframe-Erkennung: Bedeutsame Momente in Videos finden
  • Objektverfolgung: Objekte über Videoframes hinweg verfolgen

Unterstützte Endpunkte

YOLO-Endpunkt

Am besten für schnelle, genaue Objekterkennung mit lokaler Inferenz.

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

Unterstützte Modelle:

  • YOLOv8 (n/s/m/l/x Varianten)
  • YOLO-World (Open-Vocabulary-Erkennung)
  • Benutzerdefiniert trainierte Modelle

Ollama-Vision-Endpunkt

Für lokale vision-language model-Inferenz.

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

Unterstützte Modelle:

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

OpenAI-Vision-Endpunkt

Für cloudbasierte visuelle Analyse mit 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

Anthropic-Vision-Endpunkt

Für Claude mit Vision-Fähigkeiten.

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

Endpunkt-Fähigkeiten

Jeder Endpunkt hat unterschiedliche Stärken:

EndpunktTextgenerierungVisionBbox-AusgabeSchlüsselwortBegründung
ollama_visionJaJaNeinNeinJa
openai_visionJaJaNeinNeinJa
anthropic_visionJaJaNeinNeinJa
yoloNeinJaJaNeinNein

Bewährte Vorgehensweisen:

  • Für präzise Objekterkennung den yolo-Endpunkt verwenden
  • Für Bildklassifikation mit Erklärungen ein VLLM wie ollama_vision mit Qwen-VL oder LLaVA verwenden
  • Für kombinierte Workflows sowohl einen Text- als auch einen Visual-Endpunkt konfigurieren

Bildannotation mit AI

KI-gestützte Bildannotation mit Erkennungs-, Vorausfüll-, Klassifikations- und Hinweisfunktionen konfigurieren:

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

Videoannotation mit 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     # 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

Separate visuelle und Text-Endpunkte

Sie können einen separaten Endpunkt für visuelle Aufgaben konfigurieren und dabei das beste Modell für jeden Inhaltstyp verwenden:

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

Oder ein vision-language model neben einem Textmodell verwenden:

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"

AI-Funktionen

Erkennung

Findet Objekte, die den konfigurierten Labels entsprechen, und zeichnet Vorschlagsbounding-Boxen. Vorschläge erscheinen als gestrichelte Overlays, die akzeptiert oder abgelehnt werden können.

Vorausfüllen (Auto)

Erkennt automatisch alle Objekte im Bild/Video und erstellt Vorschläge zur menschlichen Überprüfung. Nützlich zur Beschleunigung der Annotation großer Datensätze.

Klassifikation

Klassifiziert eine ausgewählte Region oder das gesamte Bild. Gibt ein vorgeschlagenes Label mit Konfidenzwert und Begründung zurück.

Hinweise

Gibt Anleitung, ohne genaue Antworten zu offenbaren. Gut für das Training von Annotatoren oder wenn menschliches Urteilsvermögen mit KI-Unterstützung gewünscht wird.

Szenenerkennung (Video)

Analysiert Videoframes, um Szenengrenzen zu identifizieren, und schlägt zeitliche Segmente mit Labels vor.

Keyframe-Erkennung (Video)

Identifiziert bedeutsame Momente in einem Video, die gute Annotationspunkte ergeben würden.

Objektverfolgung (Video)

Schlägt Objektpositionen über Frames hinweg für eine konsistente Tracking-Annotation vor.

AI-Vorschläge verwenden

  1. Auf die AI-Unterstützungsschaltfläche klicken (Erkennen, Auto, Hinweis usw.)
  2. Warten, bis Vorschläge als gestrichelte Overlays erscheinen
  3. Vorschlag akzeptieren: Doppelklick auf das Vorschlagsoverlay
  4. Vorschlag ablehnen: Rechtsklick auf das Vorschlagsoverlay
  5. Alle akzeptieren: "Alle akzeptieren" in der Symbolleiste klicken
  6. Alle löschen: "Löschen" klicken, um alle Vorschläge zu entfernen

Erkennungs-API-Antwortformat

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

Für Hinweise:

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

Für Videosegmente:

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

Anforderungen

Für YOLO-Endpunkt

bash
pip install ultralytics opencv-python

Für Ollama Vision

  1. Ollama von ollama.ai installieren
  2. Ein Vision-Modell herunterladen: ollama pull llava
  3. Ollama-Server starten (läuft standardmäßig auf http://localhost:11434)

Für OpenAI/Anthropic Vision

  • API-Key in der Umgebung oder Konfiguration setzen
  • Sicherstellen, dass Zugang zu vision-fähigen Modellen vorhanden ist

Fehlerbehebung

"No visual AI endpoint configured"

Sicherstellen, dass:

  1. ai_support.enabled: true gesetzt ist
  2. Ein gültiger endpoint_type mit Vision-Unterstützung gesetzt ist (yolo, ollama_vision, openai_vision, anthropic_vision)
  3. Erforderliche Abhängigkeiten für den gewählten Endpunkt installiert sind

YOLO erkennt erwartete Objekte nicht

  • confidence_threshold senken
  • Sicherstellen, dass Ihre Labels den YOLO-Klassenbezeichnungen entsprechen (oder YOLO-World für benutzerdefinierte Vokabulare verwenden)
  • Prüfen, ob die Modelldatei existiert und gültig ist

Ollama-Vision-Fehler

  • Prüfen, ob Ollama läuft: curl http://localhost:11434/api/tags
  • Sicherstellen, dass ein Vision-Modell heruntergeladen wurde: ollama list
  • Prüfen, ob das Modell Vision unterstützt (llava, bakllava, llama3.2-vision usw.)

Weiterführende Informationen

Implementierungsdetails finden Sie in der Quelldokumentation.