AI Personal Learning
und praktische Anleitung
CyberKnife-Zeichenspiegel

Vision Agent: Eine visuelle Intelligenz zur Lösung mehrerer Aufgaben der visuellen Zielerfassung

Allgemeine Einführung

Vision Agent ist ein Open-Source-Projekt, das von LandingAI (dem Team von Enda Wu) entwickelt und auf GitHub gehostet wird. Es soll Nutzern helfen, schnell Code zur Lösung von Computer-Vision-Aufgaben zu erzeugen. Es verwendet ein fortschrittliches Agenten-Framework und ein multimodales Modell, um effizienten KI-Code mit einfachen Anweisungen für eine Vielzahl von Szenarien wie Bilderkennung, Videoverfolgung und Objektzählung zu erzeugen. Das Tool unterstützt nicht nur das Rapid Prototyping, sondern lässt sich auch nahtlos in Produktionsumgebungen einsetzen und ist in der Fertigung, Medizintechnik, Landwirtschaft usw. weit verbreitet. Vision Agent ist für die Automatisierung komplexer Bildverarbeitungsaufgaben konzipiert, und Entwickler können durch die einfache Bereitstellung einer Aufgabenbeschreibung lauffähigen Code erhalten, was die Schwelle für die Entwicklung von Bildverarbeitungs-KI erheblich senkt. Derzeit hat es mehr als 3.000 Sternchen erhalten, und die Community ist sehr aktiv und wird ständig aktualisiert.

Vision Agent: Eine visuelle Intelligenz zur Lösung mehrerer Aufgaben der visuellen Zielerfassung-1


 

Beispiele für die Anwendung sind zu finden in Agentische Objekterkennung: ein Werkzeug zur visuellen Objekterkennung ohne Annotation und Training

Agentische Objekterkennung: Fortschrittliches Zielerkennungswerkzeug ohne Anmerkungen und Training-1

 

Funktionsliste

  • Automatische CodegenerierungGenerierung von visuellem KI-Code für ein Bild oder Video auf der Grundlage einer vom Benutzer eingegebenen Aufgabenbeschreibung.
  • Erkennung und Zählung von ObjektenUnterstützung für die Erkennung bestimmter Objekte in einem Bild oder Video und deren Zählung, z. B. Kopfzählung.
  • Analyse von VideobildernExtrahieren von Einzelbildern aus Videos und Verfolgen oder Segmentieren von Objekten.
  • Werkzeuge zur VisualisierungBietet Bild-/Video-Visualisierung von Bounding-Box-Überlagerungen und geteilten Masken.
  • Unterstützung mehrerer ModelleIntegration einer Vielzahl von Open-Source-Visualisierungsmodellen, zwischen denen die Benutzer je nach Bedarf wechseln können.
  • Benutzerdefinierte WerkzeugerweiterungenErmöglicht es den Benutzern, neue Werkzeuge oder Modelle hinzuzufügen, um spezifische Aufgabenanforderungen zu erfüllen.
  • Unterstützung bei der BereitstellungGenerierung von Code zur Unterstützung von Rapid Prototyping und Bereitstellung in Produktionsumgebungen.

 

Hilfe verwenden

Installation und Verwendung

Vision Agent ist eine Python-basierte Bibliothek. Benutzer müssen den Quellcode über GitHub beziehen und ihn in ihrer lokalen Umgebung installieren. Hier ist die detaillierte Installations- und Nutzungsprozedur:

Einbauverfahren

  1. Vorbereitung der Umwelt
    • Stellen Sie sicher, dass Sie Python 3.8 oder höher auf Ihrem Computer installiert haben.
    • Installieren Sie Git, um Repositories von GitHub zu klonen.
    • Optional: Eine virtuelle Umgebung wird empfohlen (z. B. venv vielleicht conda), um Abhängigkeiten zu isolieren.
  2. Klon-Lager
    Öffnen Sie ein Terminal und führen Sie den folgenden Befehl aus, um den Quellcode des Vision Agent zu erhalten:

    git clone https://github.com/landing-ai/vision-agent.git
    cd vision-agent
  1. Installation von Abhängigkeiten
    Installieren Sie im Repository-Verzeichnis die erforderlichen Abhängigkeiten:

    pip install -r requirements.txt
    

    Wenn Sie ein bestimmtes Modell verwenden müssen (z. B. Anthropisch oder OpenAI), ist eine zusätzliche Konfiguration des API-Schlüssels erforderlich, siehe unten.

  2. Überprüfen der Installation
    Führen Sie den folgenden Befehl aus, um zu prüfen, ob die Installation erfolgreich war:

    python -c "import vision_agent; print(vision_agent.__version__)"
    

    Wenn die Versionsnummer zurückgegeben wird (z. B. 0.2), ist die Installation abgeschlossen.

Verwendung der Hauptfunktionen

Die Hauptfunktion des Vision Agent besteht darin, Code zu generieren und Bildverarbeitungsaufgaben anhand von Eingabeaufforderungen auszuführen. Nachfolgend finden Sie eine detaillierte Schritt-für-Schritt-Anleitung für die Hauptfunktionen:

1. visuellen AI-Code generieren
  • Verfahren::
    1. Importieren Sie das Vision Agent-Modul:
      from vision_agent.agent import VisionAgentCoderV2
      agent = VisionAgentCoderV2(verbose=True)
      
    2. Bereiten Sie die Aufgabenbeschreibung und die Mediendateien vor. Zählen Sie zum Beispiel die Anzahl der Personen auf einem Bild:
      code_context = agent.generate_code([
      {"role": "user", "content": "Count the number of people in this image", "media": ["people.png"]}
      ])
      
    3. Speichern Sie den generierten Code:
      with open("count_people.py", "w") as f:
      f.write(code_context.code)
      
  • Funktionelle BeschreibungNach Eingabe eines Bildpfades und einer Aufgabenbeschreibung generiert der Vision Agent automatisch Python-Code, der die Logik für die Objekterkennung und -zählung enthält. Der generierte Code stützt sich auf integrierte Tools wie countgd_object_detection.
2. die Erkennung und Visualisierung von Objekten
  • Verfahren::
    1. Laden Sie das Bild und führen Sie die Erkennung durch:
      import vision_agent.tools as T
      image = T.load_image("people.png")
      dets = T.countgd_object_detection("person", image)
      
    2. Überlagern Sie den Begrenzungsrahmen und speichern Sie das Ergebnis:
      viz = T.overlay_bounding_boxes(image, dets)
      T.save_image(viz, "people_detected.png")
      
    3. Visualisierung der Ergebnisse (optional):
      import matplotlib.pyplot as plt
      plt.imshow(viz)
      plt.show()
      
  • Funktionelle BeschreibungDiese Funktion erkennt ein bestimmtes Objekt (z. B. "Person") in einem Bild und zeichnet einen Begrenzungsrahmen auf das Bild, der sich für Qualitätsprüfungen, Überwachung und andere Szenarien eignet.
3. die Analyse und Verfolgung von Videobildern
  • Verfahren::
    1. Extrahieren Sie Videobilder:
      frames_and_ts = T.extract_frames_and_timestamps("people.mp4")
      frames = [f["frame"] for f in frames_and_ts]
      
    2. Führen Sie eine Objektverfolgung durch:
      tracks = T.countgd_sam2_video_tracking("person", frames)
      
    3. Speichern Sie das Visualisierungsvideo:
      viz = T.overlay_segmentation_masks(frames, tracks)
      T.save_video(viz, "people_tracked.mp4")
      
  • Funktionelle Beschreibung: extrahiert Einzelbilder aus dem Video, erkennt und verfolgt Objekte und erzeugt schließlich eine Visualisierung des Videos mit einer Segmentierungsmaske, die für die dynamische Szenenanalyse geeignet ist.
4. andere Modelle zu konfigurieren
  • Verfahren::
    1. Ändern Sie die Konfigurationsdatei, um andere Modelle zu verwenden (z. B. Anthropic):
      cp vision_agent/configs/anthropic_config.py vision_agent/configs/config.py
      
    2. Legen Sie den API-Schlüssel fest:
      Fügen Sie den Schlüssel in die Umgebungsvariable ein:

      export ANTHROPIC_API_KEY="your_key_here"
      
    3. Führen Sie die Codegenerierungsaufgabe erneut aus.
  • Funktionelle BeschreibungVision Agent unterstützt standardmäßig mehrere Modelle, und die Benutzer können je nach Bedarf zwischen ihnen wechseln, um die Effektivität ihrer Aufgaben zu erhöhen.

Beispiel für einen Arbeitsvorgang: Berechnung des Füllungsgrads der Kaffeebohnen

Angenommen, Sie haben ein Bild eines Glases mit Kaffeebohnen und möchten den Füllungsgrad berechnen:

  1. Schreiben Sie eine Aufgabenbeschreibung und führen Sie sie aus:
    agent = VisionAgentCoderV2()
    code_context = agent.generate_code([
    {"role": "user", "content": "What percentage of the jar is filled with coffee beans?", "media": ["jar.jpg"]}
    ])
    
  2. Führen Sie den generierten Code aus:
    Der generierte Code kann sein:

    from vision_agent.tools import load_image, florence2_sam2_image
    image = load_image("jar.jpg")
    jar_segments = florence2_sam2_image("jar", image)
    beans_segments = florence2_sam2_image("coffee beans", image)
    jar_area = sum(segment["mask"].sum() for segment in jar_segments)
    beans_area = sum(segment["mask"].sum() for segment in beans_segments)
    percentage = (beans_area / jar_area) * 100 if jar_area else 0
    print(f"Filled percentage: {percentage:.2f}%")
    
  3. Führen Sie den Code aus, um das Ergebnis zu erhalten.

caveat

  • Vergewissern Sie sich, dass das eingegebene Bild oder Video im richtigen Format vorliegt (z. B. PNG, MP4).
  • Wenn Sie Probleme mit den Abhängigkeiten haben, versuchen Sie, die pip install --upgrade vision-agent.
  • Community-Support: Wenn Sie Hilfe benötigen, treten Sie der Discord-Community von LandingAI bei und lassen Sie sich beraten.
Darf nicht ohne Genehmigung vervielfältigt werden:Leiter des AI-Austauschkreises " Vision Agent: Eine visuelle Intelligenz zur Lösung mehrerer Aufgaben der visuellen Zielerfassung
de_DEDeutsch