Überprüft am 13.09.2024 ✅ (Dieses Projekt wird auf der Lightning AI -Plattform entwickelt und auf einer L40 -GPU ausgeführt)
Überwachungsvideo-Zusammenfassung ist ein KI-gesteuerter System, das Überwachungsvideos verarbeitet, Schlüsselrahmen extrahiert und detaillierte Annotationen generiert. Angetrieben von einem fein abgestimmten Florence-2-Vision-Sprach-Modell (VLM), das speziell auf dem SPHAR-Datensatz trainiert wurde, werden bemerkenswerte Ereignisse, Aktionen und Objekte im Video-Filmmaterial hervorgehoben und protokolliert sie für eine einfache Überprüfung und weitere Analyse.
Das fein abgestimmte Modell findet sich unter: KnDRVitja/Florence-SPHAR-FINETUNE-2.
Siehe das Werkzeug in Aktion unten!
AI-betriebene Videoübersicht
Extrahieren Sie automatisch Frames aus Überwachungsvideos und generieren Annotationen, die Aktionen, Interaktionen, Objekte und ungewöhnliche Ereignisse erfassen. Die Annotationen werden in einer SQLite -Datenbank zum einfachen Abrufen gespeichert.
Echtzeit-Frame-Verarbeitung
Durch die Verwendung von asynchronem Threading verarbeitet das System Videorahmen effizient und ermöglicht eine Echtzeitanalyse und minimiert gleichzeitig die Leistungs Engpässe. Es protokolliert jede Sekunde und sorgt für einfache Debuggen und Überprüfung.
Feinabstimmung Florence-2 VLM für den Sphar-Datensatz
Der Zusammenfassungsprozess wird von einem fein abgestimmten Florence-2-VLM betrieben, der speziell auf dem Sphar-Datensatz trainiert wurde. Dieses Modell ist optimiert, um überwachende Ereignisse mit höherer Genauigkeit zu erkennen und zu beschreiben.
Gradio-betriebene interaktive Schnittstelle
Interagieren Sie mit den Überwachungsprotokollen über eine Gradio-basierte Weboberfläche. Sie können Zeitbereiche angeben, und das System wird die kommentierten Protokolle abrufen, zusammenfassen und analysieren und über den ausgewählten Zeitraum detaillierte Einblicke in das Videomaterial mit der OpenAI -API liefern. Diese Funktionalität kann erweitert werden, um erweiterte Modelle wie Gemini zu nutzen, um eine effizientere Handhabung längerer Kontextvideos zu ermöglichen und eine umfassendere Videoübersicht über erweiterte Zeitrahmen zu liefern.
Rahmenextraktion :
Rahmen werden in regelmäßigen Abständen aus Überwachungsvideodateien mit OpenCV extrahiert.
AI-betriebene Annotation :
Jeder Frame wird vom fein abgestimmten Florence-2-Vision-Sprachen-Modell analysiert, wodurch aufschlussreiche Annotationen über die Szene erzeugt werden.
Datenspeicherung :
Anmerkungen und ihre zugehörigen Frame -Daten werden in einer SQLite -Datenbank gespeichert, die für die zukünftige Analyse bereit sind.
Gradio -Schnittstelle : Mit dem System können Benutzer mühelos Überwachungsprotokolle abfragen, indem sie einen bestimmten Zeitbereich und maßgeschneiderte Eingabeaufforderungen bereitstellen. Es ruft das relevante Videomaterial ab, fasst und analysiert und bietet präzise Erkenntnisse
git clone https://github.com/Ravi-Teja-konda/Surveillance_Video_Summarizer.git cd Surveillance_Video_Summarizerpip install -r requirements.txtModell und Prozessor
Das System nutzt das Florence-2-Vision-Sprache-Modell, das für den Sphar-Datensatz fein abgestimmt ist. Das fein abgestimmte Modell findet sich bei KnDRVitja/Florence-SPHAR-FINETUNE-2.
Stellen Sie sicher, dass Ihr OpenAI -API -Schlüssel nach Bedarf in einer .env -Datei gespeichert wird.
Datenbankpfad
Führen Sie zunächst die Rahmenextraktion aus:
python surveillance_video_summarizer.pyInteragieren Sie als Nächstes mit der Gradio -Schnittstelle für die Protokollanalyse:
python surveillance_log_analyzer_with_gradio.pyVon hier aus können Sie die Gradio -Schnittstelle verwenden, um bestimmte Perioden von Videomaterial abfragen und anhand Ihrer Eingabe kommentierte Zusammenfassungen abrufen. Sie können das System nach bestimmten Aktionen, bemerkenswerten Ereignissen oder allgemeinen Aktivitätszusammenfassungen abfragen. Geben Sie den Zeitbereich und Ihre Abfrageaufforderung an, und das System gibt die entsprechenden Protokolle zurück
Wir planen, die Fähigkeit des Modells zu verbessern, komplexere Ereignisse wie Verkehrsverstöße, verdächtiges Verhalten und andere nuancierte Überwachungsszenarien durch Training von Florence-2 mit mehr Daten zu erkennen
In Zukunft wird vorhaben, Echtzeit-Video-Streams für die sofortige Rahmenextraktion und -analyse zu unterstützen, wenn das Video erfasst wird.
Beiträge sind willkommen! Fühlen Sie sich frei, eine Pull -Anfrage einzureichen.
Wenn Sie dieses Projekt nützlich finden, sollten Sie es in GitHub in Betracht ziehen, um anderen zu helfen, es zu entdecken!
Inspiriert von Fortschritten in Sichtsprachmodellen wie Florence-2.
Dieses Projekt ist unter der Apache -Lizenz 2.0 lizenziert.