AI: Server

Über

Agent DVR integriert sich vollständig mit KI-Servern wie DeepStack AI, CodeProject AI, PlateRecognizer.com, Claude, Gemini, OpenAI (ChatGPT) und lokalen LLMs wie Ollama, vLLM und LM Studio, um intelligente Alarmfilterung, Objekterkennung, Szenenerkennung und intelligente Ereigniskontrolle hinzuzufügen.

Zusätzlich zu DeepStack und CodeProject AI können Sie auch andere KI-Server verwenden, die die gleiche API unterstützen:

Objekterkennung & Computer Vision
Cloud KI-Dienste
Lokale KI-Server (LLMs)
Hinweis: Cloud-KI-Dienste erfordern API-Schlüssel und können Nutzungskosten verursachen. Lokale KI-Server laufen auf Ihrer eigenen Hardware und halten Daten privat, benötigen jedoch mehr Systemressourcen.

Hinzufügen von KI-Modellen

Um Ihre eigenen Modell-Dateien in Agent DVR hinzuzufügen, gehen Sie zu Servereinstellungen > KI-Einstellungen und klicken Sie auf Konfigurieren unter KI-Modelle. Agent wird mit zwei vorgefertigten Modellen geliefert, die für Agent DVR optimiert wurden.

Bevor Sie ein Modell konfigurieren, müssen Sie es in den Modelle-Ordner von Agent DVR hinzufügen. Dieser befindet sich normalerweise unter Agent/Media/Models/ONNX (der Pfad kann je nach Betriebssystem variieren). Der vollständige Pfad wird auf der Seite Modell hinzufügen angezeigt, falls Sie unsicher sind. Agent verwendet .onnx Modelle. Sie können andere KI-Modellformate mit Python-Tools in ONNX konvertieren.

Sobald Sie das Modell erstellt und kopiert haben, ist das Hinzufügen zu Agent einfach - klicken Sie, um ein Modell hinzuzufügen:

  • Name: Geben Sie Ihrem Modell einen Namen - das kann alles sein, was Sie möchten.
  • Modell-Datei: Wählen Sie den Modell-Dateinamen aus, den Sie in den Ordner kopiert haben.
  • Labels: Geben Sie eine Liste von Labels (oder "Klassen") ein, nach denen Ihr Modell in CSV-Format sucht, ohne Anführungszeichen (Leerzeichen werden automatisch entfernt).
  • Layout: Wählen Sie, ob Ihr Modell NCHW oder NHWC ist. Die meisten Modelle sind NCHW, wenn Sie sich nicht sicher sind.
  • Kanäle-Reihenfolge: Wählen Sie, ob Ihr Modell Bilder in RGB oder BGR haben möchte. Die meisten Modelle verwenden RGB. Wenn Ihr Modell ein Einzelkanal-Modell (Graustufen) ist, wird dies ignoriert.
  • Normalisieren: Wählen Sie, wie die Daten normalisiert werden sollen, bevor sie in Ihrem Modell verwendet werden. Die meisten Modelle verwenden eine Normalisierung von 0-1 (teilen Sie die Pixelwerte durch 255).
  • Bild polstern: Dies steuert, ob das Bild auf die Eingabedimensionen gestreckt oder mit schwarzen Balken gepolstert werden soll. In der Regel ist es besser, Bilder zur Genauigkeit zu polstern.
  • Hat NMS: Aktivieren Sie dies, wenn Ihr Modell bereits intern eine Nicht-Maximale Unterdrückung (Non-Maximum Suppression) durchführt. Andernfalls führt Agent NMS selbst durch. NMS steuert, wie Ergebnisrechtecke gefiltert werden.
  • Standard NMS: Legen Sie den Überlappungsbegrenzer für NMS fest (Standard ist 45% Überlappung).

Sobald Sie Ihr Modell hinzugefügt haben, steht es zur Verwendung im Objekterkennung-Tab Ihres Geräts zur Verfügung. Wenn Sie Probleme haben, können Sie zur Modellkonfiguration zurückkehren und Änderungen vornehmen. Agent unterstützt auch das Neuladen der Modell-Datei, sodass Sie sie während des Betriebs mit einer neuen Version überschreiben können.

Einrichten von KI-Servern

AI Server Liste

Um AI-Server einzurichten, klicken Sie auf das Symbol oben links in der Hauptbenutzeroberfläche von Agent DVR. Klicken Sie dann auf Einstellungen unter Konfiguration, wählen Sie AI-Einstellungen aus dem Dropdown-Menü und klicken Sie auf Konfigurieren unter AI-Server.

Agent DVR integriert sich mit CodeProject.AI für verschiedene AI-Funktionen, einschließlich Objekterkennung, Gesichtserkennung, ALPR (Automatische Kennzeichenerkennung) und Superauflösung (verbessern). PlateRecognizer.com wird ebenfalls als ALPR-Anbieter unterstützt. CodeProject.AI ist Open Source, kostenlos und mit den meisten Plattformen kompatibel.

Um zu beginnen, installieren Sie einen AI-Server für Ihre Plattform und verbinden Sie Agent DVR damit, indem Sie auf die Schaltfläche Konfigurieren und dann auf Hinzufügen klicken.

Sie können so viele AI-Server zu Agent DVR hinzufügen, wie Sie benötigen. Kameras in Agent DVR können so konfiguriert werden, dass sie für jede Funktion unterschiedliche AI-Server verwenden, oder Sie können einen AI-Server für alle Aufgaben verwenden.

Warnung: Die AI-Verarbeitung kann ressourcenintensiv sein. Stellen Sie sicher, dass Ihr Computer über ausreichende Leistung verfügt, um sie auszuführen.
Konfigurieren Ihres Servers
  • Name: Benennen Sie Ihren Server, z.B. Cat Catcher.
  • AI-Server-URL: Geben Sie die URL Ihres AI-Servers ein, z.B. http://localhost:32168/
  • API-Schlüssel: Geben Sie Ihren Schlüssel ein, falls eingerichtet (optional).
  • Timeout: Die Zeitüberschreitung in Sekunden für Serveranfragen.
  • Wiederholungsdelay: Die Zeit in Sekunden, bevor eine fehlgeschlagene Anfrage an diesen Server erneut versucht wird.

Klicken Sie auf OK, um Ihre Einstellungen zu speichern.

Unter Verwendung von OpenAI

Um OpenAI ("Chat GPT") einzurichten, um Fragen zu dem zu beantworten, was in Ihrem Videofeed passiert, navigieren Sie zu Servereinstellungen - KI-Server und wählen Sie unter "Fragen an KI" "Open AI" aus.

  • URL: Geben Sie die URL für den Dienst ein. Standardmäßig ist es "https://api.openai.com/v1/chat/completions".
  • OpenAI API-Schlüssel: Nach der Registrierung bei OpenAI gehen Sie zur API-Schlüssel-Seite und generieren einen neuen geheimen Schlüssel. Kopieren Sie diesen Schlüssel und fügen Sie ihn in das angegebene Feld ein.
  • Modell: Geben Sie das zu verwendende Modell an. Standardmäßig ist es gpt-4o. OpenAI kann dies später entfernen oder ändern.
  • Maximale Token: Dies legt die maximale Token-Nutzung pro Anfrage fest. Wenn Probleme auftreten, überprüfen Sie die Protokolle unter /logs.html, da dies mit der Token-Nutzung zusammenhängen könnte.

Nachdem OpenAI konfiguriert ist, verweisen Sie auf Fragen an KI für Anweisungen zur Verwendung bei der Beantwortung allgemeiner Fragen zu dem, was in Ihrem Kameravideo passiert.

Mit Claude verwenden.

Um Claude AI einzurichten, um Fragen zu beantworten, was in Ihrem Videofeed passiert, navigieren Sie zu Servereinstellungen - KI-Server und wählen Sie unter "KI fragen" "Claude" aus.

  • URL: Geben Sie die URL des Dienstes ein. Standardmäßig ist es "https://api.anthropic.com/v1/messages".
  • Claude API-Schlüssel: Nach der Anmeldung bei Claude besuchen Sie die API-Schlüssel-Seite und erstellen Sie einen neuen geheimen Schlüssel. Kopieren und fügen Sie diesen Schlüssel in das Feld ein.
  • Version: Geben Sie die zu verwendende Version an. Standardmäßig ist es 2023-06-01. Dies kann von Anthropic zu einem bestimmten Zeitpunkt entfernt oder geändert werden.
  • Modell: Geben Sie das zu verwendende Modell an. Standardmäßig ist es zum Zeitpunkt des Schreibens claude-3-sonnet-20240229.
  • Maximale Tokens: Dies steuert die maximale Token-Ausgabe pro Anfrage. Überprüfen Sie die Protokolle unter /logs.html, wenn Sie Probleme haben, da es mit der Token-Ausgabe zusammenhängen könnte.

Nachdem Claude konfiguriert ist, sehen Sie unter KI fragen, wie Sie sie verwenden können, um allgemeine Szenarien in Ihrem Kameravideo zu erkennen.

Unter Verwendung von Gemini

Um Gemini einzurichten, um Fragen zu dem zu beantworten, was in Ihrem Videofeed passiert, navigieren Sie zu Servereinstellungen - KI-Server und wählen Sie unter "KI fragen" "Gemini" aus.

  • URL: Geben Sie die URL des Dienstes ein. Standardmäßig ist es "https://generativelanguage.googleapis.com".
  • Gemini-API-Schlüssel: Nach der Anmeldung bei Gemini besuchen Sie die API-Schlüssel-Seite und erstellen einen neuen geheimen Schlüssel. Kopieren und fügen Sie diesen Schlüssel in das Feld ein.
  • Version: Geben Sie die zu verwendende Version an. Standardmäßig ist es v1beta. Dies kann von Google irgendwann entfernt oder geändert werden.
  • Modell: Geben Sie das zu verwendende Modell an. Standardmäßig ist es zum Zeitpunkt des Schreibens gemini-1.5-flash.
  • Maximale Token: Dies steuert den maximalen Token-Verbrauch pro Anfrage. Überprüfen Sie die Protokolle unter /logs.html, wenn Sie Probleme haben, da dies mit dem Token-Verbrauch zusammenhängen könnte.

Nachdem Gemini konfiguriert ist, sehen Sie unter KI fragen, wie Sie es verwenden können, um allgemeine Szenarien in Ihrem Kameravideo zu erkennen.

Verwendung anderer LLM-Server

Ab v6.5.3.0+ können Sie Ihre eigenen lokalen LLM-Server (wie vLLM, Ollama und LM Studio) verwenden, um die Bilder, die Agent DVR von Ihren Kameras in Alarmereignissen erfasst, zu beschreiben und Fragen zu dem, was in Ihren Video-Streams passiert, zu beantworten. Siehe AI Describe und Ask AI.

Um einen lokalen AI-Server zu konfigurieren, gehen Sie zu den Servereinstellungen - AI-Server und klicken Sie auf die Schaltfläche Konfigurieren neben dem LLM, den Sie verwenden möchten (Ollama, vLLM oder LM Studio).

  • URL: Geben Sie den Endpunkt an, an dem Ihr LLM-Server läuft. Standard-URLs sind:
    • Ollama:
      http://localhost:11434/api/chat
    • vLLM:
      http://localhost:8000/v1/chat/completions
    • LM Studio:
      http://localhost:1234/v1/chat/completions
  • API-Schlüssel: Wenn Ihr LLM-Server eine Authentifizierung erfordert, geben Sie hier den API-Schlüssel ein. Die meisten lokalen Server benötigen dies nicht, es sei denn, sie sind speziell konfiguriert.
  • Modell: Wählen Sie das vision-fähige Modell für die Bildanalyse aus. Sie müssen dieses Modell bereits in Ihrem LLM-Server heruntergeladen und geladen haben. Beliebte Optionen sind:
    • LLaVA-Modelle (Allzweck-Vision)
    • Qwen2-VL (hohe Leistung)
    • Llama 3.2 Vision (Metas neuestes)
  • Temperatur: Steuert Kreativität vs. Genauigkeit in den Antworten (0.0-1.0). Niedrigere Werte (0.3-0.4) erzeugen sachlichere, konsistentere Beschreibungen. Höhere Werte (0.6-0.8) generieren vielfältigere, kreativere Antworten. Empfohlen: 0.4 für die Analyse von Sicherheitskameras.
  • Max Tokens: Maximale Anzahl von Wörtern/Tokens in der Antwort der KI. Höhere Werte ermöglichen detailliertere Beschreibungen, benötigen jedoch länger zur Generierung. Empfohlen: 300-500 für detaillierte Bildanalysen, 150-250 für kurze Beschreibungen.
  • top_p: Steuert die Vielfalt der Antworten, indem die Wortauswahl eingeschränkt wird (0.0-1.0). Niedrigere Werte verwenden gebräuchlichere Wörter, höhere Werte erlauben vielfältigeres Vokabular. Empfohlen: 0.9 für ein gutes Gleichgewicht zwischen Genauigkeit und natürlicher Sprache.
  • top_k: Beschränkt das Modell darauf, aus den top K wahrscheinlichsten nächsten Wörtern auszuwählen. Niedrigere Werte (20-40) erzeugen fokussiertere Antworten, höhere Werte (80-100) erlauben mehr Vielfalt. Empfohlen: 50 für zuverlässige Bildbeschreibungen.
Hinweis: Sie müssen Ihren gewählten LLM-Server separat installieren und konfigurieren. Stellen Sie sicher, dass Sie ein vision-fähiges Modell heruntergeladen haben, bevor Sie Agent DVR konfigurieren. Für die besten Ergebnisse mit Sicherheitskameras verwenden Sie Modelle mit mindestens 7B Parametern und stellen Sie sicher, dass Ihr System über ausreichend VRAM verfügt (5GB+ empfohlen).

Verwenden Sie PlateRecognizer.com

Um LPR (ANPR oder Nummernschilderkennung) in Agent DVR zu konfigurieren, gehen Sie zu Servereinstellungen - AI-Einstellungen und geben Sie die Details unter Plate Recognizer ein. Melden Sie sich für eine kostenlose Testversion unter Plate Recognizer an. Keine Kreditkarte erforderlich.
  • URL: Geben Sie die URL des Dienstes ein. Standardmäßig ist "https://api.platerecognizer.com/v1/plate-reader/" oder verwenden Sie Ihren eigenen Server, wenn Sie eine eigene Instanz hosten.
  • Token: Nach der Anmeldung bei Plate Recognizer besuchen Sie die Kontoseite und kopieren Sie den API-Token.
  • Regionen: Lassen Sie dieses Feld leer für die Standardeinstellung oder geben Sie eine CSV-Liste von Regionen ein.
  • Konfiguration: Geben Sie bei Bedarf zusätzliche Konfigurationswerte aus der Dokumentation ein.

Verwendung von DoubleTake

DoubleTake ist eine Open-Source-Plattform, die eine einheitliche API für die Verarbeitung von Gesichtserkennung bereitstellt, die Folgendes verwendet:

  • CompreFace
  • Amazon Rekognition
  • DeepStack
  • CodeProject.AI Server
  • Facebox

Sie müssen DoubleTake mit Ihren bevorzugten Optionen zur Gesichtserkennung installieren und konfigurieren.

Sobald DoubleTake eingerichtet ist, öffnen Sie Agent DVR und gehen Sie zu Servereinstellungen - AI-Server und klicken Sie auf die Schaltfläche Konfigurieren neben DoubleTake.

Geben Sie die URL zu Ihrem DoubleTake-Server ein (z. B. http://localhost:3000/) und Ihr Passwort, falls eingerichtet.

Klicken Sie auf OK, bearbeiten Sie eine Kamera und gehen Sie zu Gesichtserkennung. Setzen Sie die AI-Server-Option auf DoubleTake und konfigurieren Sie die Gesichtserkennung nach Bedarf.

Verwalten von KI-Modulen

KI-Module

In der KI-Serverliste (oben referenziert) haben Sie die Möglichkeit, KI-Server zu konfigurieren, zu testen, zu bearbeiten und zu entfernen. Klicken Sie auf die Konfigurieren-Schaltfläche , um die verfügbaren oder auf dem ausgewählten Server installierten Module anzuzeigen.

Agent DVR ruft die aktuelle Modulliste von Ihrem Server ab und bietet eine Benutzeroberfläche zur Installation, Deinstallation, Konfiguration und Prüfung jedes Moduls an. Es wird Unterstützung für alle Standard-CodeProject.UI-Module bereitgestellt, obwohl Agent DVR nur eine Teilmenge davon verwendet.

Es wird empfohlen, nur eine der Objekterkennungsmoduloptionen zu installieren. Überprüfen Sie die Beschreibung jeder, um die beste Passform für Ihr System zu ermitteln.

Um ALPR (Automatische Kennzeichenerkennung), Super Resolution oder Gesichtserkennung in Agent DVR zu nutzen, müssen Sie das jeweilige Modul von dieser Seite installieren. In der Regel sind die Standardeinstellungen für diese Module ausreichend, aber Sie können sie konfigurieren, indem Sie auf das Symbol unter jedem Modul klicken.