À propos
Agent DVR s'intègre complètement avec des serveurs IA comme DeepStack AI, CodeProject AI, PlateRecognizer.com, Claude, Gemini, OpenAI (ChatGPT) et des LLM locaux comme Ollama, vLLM et LM Studio pour ajouter un filtrage intelligent des alertes, la reconnaissance d'objets, la reconnaissance de scènes et le contrôle intelligent des événements.
En plus de DeepStack et CodeProject AI, vous pouvez également utiliser d'autres serveurs IA qui supportent la même API :
Reconnaissance d'objets et vision par ordinateur
- https://codeproject.github.io/ - Serveur de traitement IA basé GPU/CPU multiplateforme
- https://docs.platerecognizer.com/ - Serveur de reconnaissance de plaques d'immatriculation (API basée sur le web)
- https://github.com/runningman84/docker-coral-rest-server - Modèles Tensorflow-lite sur un RPi (ou Linux/Mac) avec accélération depuis la clé USB Coral
- https://github.com/robmarkcole/coral-pi-rest-server/ - Modèles Tensorflow-lite sur un accélérateur USB Coral via une application Flask
- https://xnorpx.github.io/blue-onyx/ - Service de détection d'objets Blue Onyx
Services IA cloud
- https://platform.openai.com/ - API OpenAI (ChatGPT, GPT-4 Vision) pour l'analyse d'images et le chat
- https://console.anthropic.com/ - API Anthropic Claude pour le raisonnement avancé et la compréhension d'images
- https://ai.google.dev/ - API Google Gemini pour des capacités d'IA multimodales
- https://docs.anthropic.com/ - Documentation de l'API Claude
- https://platform.openai.com/docs/ - Documentation de l'API OpenAI
- https://ai.google.dev/gemini-api/docs - Documentation de l'API Gemini
Serveurs IA locaux (LLM)
- https://ollama.com/ - Ollama : exécuter des modèles de langage volumineux localement
- https://docs.vllm.ai/ - vLLM : inférence LLM et service à haut débit
- https://lmstudio.ai/ - LM Studio : application de bureau facile à utiliser pour les LLM locaux
- https://github.com/ollama/ollama - Dépôt GitHub Ollama
- https://github.com/vllm-project/vllm - Dépôt GitHub vLLM
Ajout de modèles IA
Les modèles IA personnalisés vous permettent d'étendre la détection d'objets d'Agent DVR au-delà des options intégrées, par exemple pour reconnaître la faune, les véhicules de livraison ou tout ce qu'un modèle entraîné peut détecter. Pour ajouter vos propres fichiers de modèle dans Agent DVR, accédez à Paramètres du serveur > Paramètres IA et cliquez sur Reconnaissance d'objets sous Modèles IA. Agent est fourni avec deux modèles prédéfinis qui ont été optimisés en termes de performance pour Agent DVR.
Avant de configurer un modèle, vous devrez l'ajouter au dossier Modèles d'Agent DVR (voir création de modèles IA). Il se trouve généralement à Agent/Media/Models/ONNX (le chemin peut varier selon le système d'exploitation). Le chemin complet s'affiche sur la page Ajouter un modèle si vous n'êtes pas certain. Agent utilise des modèles .onnx. Vous pouvez convertir d'autres formats de modèles IA en ONNX à l'aide d'outils Python.
Une fois que vous avez créé et copié le modèle, l'ajouter à Agent est facile - cliquez pour ajouter un modèle :
- Nom : Donnez un nom à votre modèle - ce peut être n'importe quoi.
- Description : Une description optionnelle de ce que fait le modèle.
- Fichier de modèle : Sélectionnez le nom du fichier de modèle que vous avez copié dans le dossier.
- Libellés : Entrez une liste de libellés (ou « classes ») que votre modèle recherche au format CSV sans guillemets (les espaces sont automatiquement supprimés).
- Disposition : Sélectionnez si votre modèle est NCHW ou NHWC. La plupart des modèles sont NCHW si vous n'êtes pas certain.
- Ordre des canaux : Sélectionnez si votre modèle souhaite des images en RGB ou BGR. La plupart des modèles utilisent RGB. Si votre modèle est à canal unique (niveaux de gris), cela sera ignoré.
- Normaliser : Sélectionnez comment les données doivent être normalisées avant d'être utilisées dans votre modèle. La plupart des modèles utilisent la mise à l'échelle (0-1), qui divise les valeurs de pixels par 255.
- Ajouter des bandes noires à l'image : Ceci contrôle si l'image doit être étirée aux dimensions d'entrée ou remplie avec des bandes noires. Généralement, il est préférable d'ajouter des bandes noires aux images pour la précision.
- Possède NMS : Cochez cette case si votre modèle effectue déjà la suppression non maximale en interne. Sinon, Agent effectuera lui-même la suppression. La suppression contrôle comment les rectangles de résultat sont filtrés.
- NMS par défaut : Définissez le limiteur de chevauchement pour NMS (la valeur par défaut est 45 % de chevauchement).
Une fois que vous avez ajouté votre modèle, il sera disponible pour utilisation dans l'onglet Reconnaissance d'objets de votre périphérique. Si vous rencontrez des problèmes, vous pouvez revenir à la configuration du modèle et apporter des modifications. Agent prend également en charge le rechargement du fichier de modèle, vous pouvez donc le remplacer par une nouvelle version pendant qu'il s'exécute.
Configuration des Serveurs IA
Pour configurer les Serveurs IA, cliquez sur l' icône en haut à droite de l'interface principale d'Agent DVR. Ensuite, cliquez sur Paramètres sous Configuration, sélectionnez Paramètres IA dans le menu déroulant, et cliquez sur Serveurs IA.
Agent DVR s'intègre avec CodeProject.AI pour diverses fonctionnalités IA, notamment la reconnaissance d'objets, la reconnaissance faciale, l'ALPR (reconnaissance automatique des plaques d'immatriculation) et la super résolution (amélioration). PlateRecognizer.com est également pris en charge en tant que fournisseur ALPR. CodeProject.AI est open source, gratuit et compatible avec la plupart des plateformes.
Pour commencer, installez un serveur IA pour votre plateforme et connectez Agent DVR à celui-ci en cliquant sur Serveurs IA puis sur Ajouter.
Vous pouvez ajouter autant de serveurs IA à Agent DVR que nécessaire. Les caméras dans Agent DVR peuvent être configurées pour utiliser différents serveurs IA pour chaque fonction, ou vous pouvez utiliser un serveur IA pour toutes les tâches.
Configuration de votre serveur
- Nom : Nommez votre serveur, par exemple, Cat Catcher.
- URL du serveur IA : Entrez l'URL de votre serveur IA, par exemple, http://localhost:32168/
- Clé API : Entrez votre clé si elle est configurée (facultatif).
- Délai d'expiration : Le délai d'expiration en secondes pour les demandes du serveur.
- Délai de réessai : Le temps en secondes avant de réessayer une demande échouée à ce serveur.
Cliquez sur OK pour enregistrer vos paramètres.
Utilisation d'OpenAI
Pour configurer OpenAI ("ChatGPT") afin qu'il réponde aux questions sur ce qui se passe dans votre flux vidéo, accédez à Paramètres du serveur - Paramètres IA et sélectionnez "OpenAI" sous Interroger l'IA.
- URL : Entrez l'URL du service. La valeur par défaut est « https://api.openai.com/v1/responses ».
- Clé API OpenAI : Après vous être inscrit auprès d'OpenAI, accédez à la page des clés API et générez une nouvelle clé secrète. Copiez et collez cette clé dans le champ spécifié.
- Modèle : Spécifiez le modèle à utiliser. La valeur par défaut est gpt-5.4-mini. OpenAI peut supprimer ou modifier ceci ultérieurement.
- Tokens max : Cela définit l'utilisation maximale de jetons par demande. Si vous rencontrez des problèmes, consultez les journaux à /logs.html car cela pourrait être lié à l'utilisation des jetons.
Une fois OpenAI configuré, consultez Interroger l'IA pour obtenir des instructions sur son utilisation pour répondre à des questions générales sur ce qui se passe dans votre flux de caméra.
Utilisation de Claude
Pour configurer Claude IA afin de répondre aux questions sur ce qui se passe dans votre flux vidéo, accédez aux Paramètres du serveur - Paramètres IA et sélectionnez « Claude » sous Interroger l'IA.
- URL : Entrez l'URL du service. Par défaut, c'est « https://api.anthropic.com/v1/messages ».
- Clé API Claude : Après vous être inscrit auprès de Claude, visitez la page des clés API et créez une nouvelle clé secrète. Copiez et collez cette clé dans le champ.
- Version : Spécifiez la version de l'API à utiliser. Par défaut, c'est 2023-06-01. Cela peut être supprimé ou modifié à un moment donné par Anthropic.
- Modèle : Spécifiez le modèle à utiliser. Par défaut au moment de l'écriture, c'est claude-sonnet-4-6 (Claude Sonnet 4.6).
- Tokens max : Cela contrôle la dépense maximale de jetons par requête. Vérifiez les journaux sur /logs.html si vous rencontrez des problèmes, car cela peut être lié à la dépense de jetons.
Une fois Claude configuré, consultez Interroger l'IA pour savoir comment l'utiliser afin de reconnaître des scénarios généraux dans votre flux de caméra.
Utilisation de Gemini
Pour configurer Gemini afin qu'il réponde à des questions sur ce qui se passe dans votre flux vidéo, accédez à Paramètres du serveur - Paramètres IA et sélectionnez « Gemini » sous Interroger l'IA.
- URL : Entrez l'URL du service. La valeur par défaut est « https://generativelanguage.googleapis.com ».
- Clé API Gemini : Après vous être inscrit à Gemini, consultez la page Clés API et créez une nouvelle clé secrète. Copiez et collez cette clé dans le champ.
- Version : Spécifiez la version de l'API à utiliser. La valeur par défaut est v1beta. Celle-ci pourrait être supprimée ou modifiée à un moment donné par Google.
- Modèle : Spécifiez le modèle à utiliser. La valeur par défaut au moment de l'écriture est gemini-2.5-flash. Une fois que vous avez entré une clé API, Agent affichera les modèles de vision disponibles pour votre compte.
- Tokens max : Cela contrôle la dépense maximale de jetons par requête. Vérifiez les journaux sur /logs.html si vous rencontrez des problèmes, car cela peut être lié à la dépense de jetons.
Une fois Gemini configuré, consultez Interroger l'IA pour savoir comment l'utiliser afin de reconnaître des scénarios généraux dans votre flux de caméra.
Utilisation d'autres serveurs LLM
Vous pouvez utiliser vos propres serveurs LLM locaux (comme vLLM, Ollama et LM Studio) pour décrire les images qu'Agent DVR capture de vos caméras lors d'événements d'alerte et répondre à des questions sur ce qui se passe dans vos flux vidéo. Consultez Décrire et Interroger l'IA.
Pour configurer un serveur IA local, allez à Paramètres du serveur - Paramètres IA et cliquez sur le bouton Configurer à côté du LLM que vous souhaitez utiliser (Ollama, vLLM ou LM Studio).
- URL : Spécifiez le point de terminaison où votre serveur LLM s'exécute. Les URL par défaut sont :
- Ollama :
http://localhost:11434/api/chat - vLLM :
http://localhost:8000/v1/chat/completions - LM Studio :
http://localhost:1234/v1/chat/completions
- Ollama :
- Clé API : Si votre serveur LLM nécessite une authentification, entrez la clé API ici. La plupart des serveurs locaux ne l'exigent pas sauf s'ils sont spécifiquement configurés.
- Modèle : Sélectionnez le modèle capable de vision à utiliser pour l'analyse d'images. Vous devez avoir déjà téléchargé et chargé ce modèle dans votre serveur LLM. Agent suggère quelques options populaires, notamment :
- Modèles Qwen VL (haute performance)
- Gemma 4 (bonne gamme de tailles)
- Llama 3.2 Vision (Meta)
- Mistral Small 3.1
- moondream (très petit, adapté au matériel bas de gamme, Ollama uniquement)
- Température : Contrôle la créativité par rapport à la précision dans les réponses (0,0-1,0). Des valeurs plus basses (0,3-0,4) produisent des descriptions plus factuelles et cohérentes. Des valeurs plus élevées (0,6-0,8) génèrent des réponses plus variées et créatives. Recommandé : 0,4 pour l'analyse de caméras de surveillance.
- Tokens max : Nombre maximal de mots/tokens dans la réponse de l'IA. Des valeurs plus élevées permettent des descriptions plus détaillées mais prennent plus de temps à générer. Recommandé : 300-500 pour l'analyse d'images détaillée, 150-250 pour les descriptions brèves.
- top_p : Contrôle la diversité des réponses en limitant la sélection du vocabulaire (0,0-1,0). Des valeurs plus basses utilisent des mots plus courants, des valeurs plus élevées permettent un vocabulaire plus varié. Recommandé : 0,9 pour un bon équilibre entre précision et langage naturel.
- top_k : Limite le modèle à choisir parmi les K mots suivants les plus probables. Des valeurs plus basses (20-40) produisent des réponses plus ciblées, des valeurs plus élevées (80-100) permettent plus de variété. Recommandé : 50 pour des descriptions d'images fiables.
Utilisation de PlateRecognizer.com
Pour configurer LPR (ANPR ou reconnaissance de plaque d'immatriculation) dans Agent DVR, allez dans Paramètres du serveur - Paramètres IA et entrez les détails sous Plate Recognizer. Inscrivez-vous pour un essai gratuit sur Plate Recognizer. Aucune carte de crédit requise.
- URL : Entrez l'URL du service. Par défaut « https://api.platerecognizer.com/v1/plate-reader/ », ou utilisez votre propre serveur si vous hébergez votre propre instance.
- Jeton : Après votre inscription à Plate Recognizer, visitez la page Compte et copiez le Jeton API.
- Régions : Laissez vide pour les paramètres par défaut ou entrez une liste CSV de régions.
- Configuration : Entrez des valeurs de configuration supplémentaires à partir de la documentation si nécessaire.
Utilisation de DoubleTake
DoubleTake est une plateforme open source qui fournit une API unifiée pour traiter la reconnaissance faciale en utilisant :
- CompreFace
- Amazon Rekognition
- DeepStack
- CodeProject.AI Server
- Facebox
Vous devrez installer et configurer DoubleTake avec vos options de reconnaissance faciale préférées.
Une fois DoubleTake configuré, ouvrez Agent DVR et accédez à Paramètres du serveur - Paramètres IA et Cliquez sur le bouton Configurer à côté de DoubleTake.
Entrez l'URL de votre serveur doubletake (par ex. http://localhost:3000/) et votre mot de passe s'il est défini.
Cliquez sur OK, ensuite modifiez une caméra et accédez à Reconnaissance faciale. Définissez l'option Serveur IA sur DoubleTake et configurez la reconnaissance faciale selon les besoins.
Gestion des modules IA
Dans la liste des serveurs IA (référencée ci-dessus), vous disposez d'options pour configurer, tester, modifier et supprimer les serveurs IA. Cliquez sur le bouton Configurer pour afficher les modules disponibles ou installés sur le serveur sélectionné.
Agent DVR récupère la liste actuelle des modules de votre serveur et offre une interface utilisateur pour installer, désinstaller, configurer et tester chaque module. Le support est fourni pour tous les modules CodeProject.AI par défaut, bien qu'Agent DVR n'utilise qu'un sous-ensemble de ceux-ci.
Pour utiliser ALPR (Reconnaissance automatique de plaques d'immatriculation), Super résolution ou Reconnaissance faciale dans Agent DVR, vous devrez installer le module respectif de cette page. Généralement, les paramètres par défaut suffisent pour ces modules, mais vous pouvez les configurer en cliquant sur l'icône sous chaque module.