Vérifié le 13.09.2024 ✅ (Ce projet est développé testé sur la plate-forme AI Lightning, fonctionnant sur un GPU L40)
Le résumé vidéo de surveillance est un système basé sur l'IA qui traite les vidéos de surveillance, extrait les cadres clés et génère des annotations détaillées. Propulsé par un modèle de langue de vision (VLM) de Florence 2 affinés spécifiquement formé sur l'ensemble de données SPHAR, il met en évidence des événements, des actions et des objets notables dans des séquences vidéo et les enregistre pour une revue facile et une analyse plus approfondie.
Le modèle à réglage fin peut être trouvé à: Kndrvitja / Florence-Sphar-Finetune-2.
Voir l'outil en action ci-dessous!
Résumé vidéo propulsé par l'IA
Extraire automatiquement les trames des vidéos de surveillance et générer des annotations qui capturent les actions, les interactions, les objets et les événements inhabituels. Les annotations sont stockées dans une base de données SQLite pour une récupération facile.
Traitement de cadre en temps réel
En utilisant le filetage asynchrone, le système traite efficacement les cadres vidéo, permettant une analyse en temps réel tout en minimisant les goulots d'étranglement des performances. Il se connecte à chaque seconde, assurant un débogage et une vérification faciles.
Florence-2 Florence 2 pour l'ensemble de données SPHAR
Le processus de résumé est alimenté par un VLM Florence-2 affiné, spécifiquement formé sur l'ensemble de données SPHAR. Ce modèle est optimisé pour détecter et décrire des événements spécifiques à la surveillance avec une précision plus élevée.
Interface interactive alimentée par gradio
Interagissez avec les journaux de surveillance via une interface Web basée sur Gradio. Vous pouvez spécifier des plages de temps et le système récupérera, résumera et analysera les journaux annotés, fournissant des informations détaillées sur les séquences vidéo sur la période sélectionnée à l'aide de l'API OpenAI. Cette fonctionnalité peut être étendue pour tirer parti des modèles avancés comme les Gémeaux, permettant une gestion plus efficace de vidéos de contexte plus long et offrant une résumé vidéo plus complète sur des délais prolongés.
Extraction du cadre :
Les cadres sont extraits à intervalles réguliers des fichiers vidéo de surveillance à l'aide d'OpenCV.
Annotation alimentée par AI :
Chaque trame est analysée par le modèle de langue de vision Florence-2 affinée, générant des annotations perspicaces sur la scène.
Stockage de données :
Les annotations et leurs données de trame associées sont stockées dans une base de données SQLite, prête pour une analyse future.
Interface Gradio : Le système permet aux utilisateurs de demander sans effort les journaux de surveillance en fournissant une plage de temps spécifique et des invites sur mesure. Il récupère, résume et analyse les séquences vidéo pertinentes, offrant des informations concises
git clone https://github.com/Ravi-Teja-konda/Surveillance_Video_Summarizer.git cd Surveillance_Video_Summarizerpip install -r requirements.txtModèle et processeur
Le système utilise le modèle de langue de vision Florence-2 ajusté pour l'ensemble de données SPHAR. Le modèle à réglage fin peut être trouvé à Kndrvitja / Florence-Sphar-Finetune-2.
Assurez-vous que votre clé API OpenAI est stockée dans un fichier .env au besoin.
Chemin de base de données
Tout d'abord, exécutez l'extraction du cadre:
python surveillance_video_summarizer.pyEnsuite, interagissez avec l'interface Gradio pour l'analyse des journaux:
python surveillance_log_analyzer_with_gradio.pyDe là, vous pouvez utiliser l'interface Gradio pour interroger des périodes spécifiques de séquences vidéo et récupérer des résumés annotés en fonction de votre entrée. Vous pouvez interroger le système pour des actions spécifiques, des événements notables ou des résumés d'activités générales. Fournissez la plage de temps et votre invite de requête, et le système renvoie les journaux pertinents
Nous prévoyons d'améliorer la capacité du modèle à détecter des événements plus complexes tels que les violations de la circulation, les comportements suspects et d'autres scénarios de surveillance nuancés en formant Florence-2 avec plus de données
À l'avenir, prévoit de prendre en charge les flux vidéo en temps réel pour l'extraction et l'analyse des cadres immédiats à mesure que la vidéo est capturée.
Les contributions sont les bienvenues! N'hésitez pas à soumettre une demande de traction.
Si vous trouvez ce projet utile, envisagez de le jouer sur GitHub pour aider les autres à le découvrir!
Inspiré par les progrès des modèles de vision comme Florence-2.
Ce projet est concédé sous licence Apache 2.0.