Verificado el 13.09.2024 ✅ (este proyecto se desarrolla probado en la plataforma Lightning AI, que se ejecuta en una GPU L40)
Vigilance Video Summarizer es un sistema impulsado por la IA que procesa videos de vigilancia, extrae marcos clave y genera anotaciones detalladas. Impulsado por un modelo de lenguaje de visión Florence-2 (VLM) de Florence-2 (VLM) capacitado específicamente en el conjunto de datos de Sphar, destaca eventos, acciones y objetos notables dentro de las imágenes de video y los registra para una fácil revisión y un análisis posterior.
El modelo ajustado se puede encontrar en: Kndrvitja/Florence-Sphar-Finetune-2.
¡Vea la herramienta en acción a continuación!
Resumen de video con IA
Extraiga automáticamente los marcos de los videos de vigilancia y genere anotaciones que capturan acciones, interacciones, objetos y eventos inusuales. Las anotaciones se almacenan en una base de datos SQLite para una fácil recuperación.
Procesamiento de cuadros en tiempo real
Al utilizar el roscado asincrónico, el sistema procesa los marcos de video de manera eficiente, lo que permite el análisis en tiempo real al tiempo que minimiza los cuellos de botella de rendimiento. Registra cada segundo, asegurando una fácil depuración y verificación.
Florence-2 VLM sintonizado para el conjunto de datos de Sphar
El proceso de resumen está impulsado por un VLM Florence-2 ajustado, específicamente entrenado en el conjunto de datos de Sphar. Este modelo está optimizado para detectar y describir eventos específicos de vigilancia con mayor precisión.
Interfaz interactiva con motor de gradio
Interactuar con los registros de vigilancia a través de una interfaz web basada en Gradio. Puede especificar rangos de tiempo, y el sistema recuperará, resumirá y analizará los registros anotados, proporcionando información detallada sobre las imágenes de video durante el período seleccionado utilizando la API de OpenAI. Esta funcionalidad se puede extender para aprovechar modelos avanzados como Gemini, lo que permite un manejo más eficiente de videos de contexto más largos y entregando un resumen de video más completo sobre los plazos extendidos.
Extracción de marco :
Los marcos se extraen a intervalos regulares de los archivos de video de vigilancia utilizando OpenCV.
Anotación con AI :
Cada cuadro es analizado por el modelo de lenguaje de visión Florence-2 ajustado, generando anotaciones perspicaces sobre la escena.
Almacenamiento de datos :
Las anotaciones y sus datos de cuadro asociados se almacenan en una base de datos SQLite, listas para un análisis futuro.
Interfaz Gradio : el sistema permite a los usuarios consultar sin esfuerzo registros de vigilancia al proporcionar un rango de tiempo específico y indicaciones personalizadas. Recupera, resume y analiza las imágenes de video relevantes, que ofrece ideas concisas
git clone https://github.com/Ravi-Teja-konda/Surveillance_Video_Summarizer.git cd Surveillance_Video_Summarizerpip install -r requirements.txtModelo y procesador
El sistema utiliza el modelo de lenguaje de visión Florence-2 ajustado para el conjunto de datos de Sphar. El modelo ajustado se puede encontrar en Kndrvitja/Florence-Sphar-Finetune-2.
Asegúrese de tener su clave API OpenAI almacenada en un archivo .env según sea necesario.
Ruta de la base de datos
En primer lugar, ejecute la extracción de cuadro:
python surveillance_video_summarizer.pyA continuación, interactúe con la interfaz de Gradio para el análisis de registro:
python surveillance_log_analyzer_with_gradio.pyDesde aquí, puede usar la interfaz de Gradio para consultar períodos específicos de video y recuperar resúmenes anotados en función de su entrada. Puede consultar el sistema para acciones específicas, eventos notables o resúmenes de actividad general. Proporcionar el rango de tiempo y su solicitud de consulta, y el sistema devolverá los registros relevantes
Planeamos mejorar la capacidad del modelo para detectar eventos más complejos, como violaciones de tráfico, comportamiento sospechoso y otros escenarios de vigilancia matizados mediante la capacitación de Florence-2 con más datos.
En el futuro, planeará apoyar transmisiones de video en tiempo real para la extracción y análisis de cuadros inmediatos a medida que se captura el video.
¡Las contribuciones son bienvenidas! No dude en enviar una solicitud de extracción.
Si encuentra útil este proyecto, ¡considere protagonizarlo en Github para ayudar a otros a descubrirlo!
Inspirado en avances en modelos en idioma de visión como Florence-2.
Este proyecto tiene licencia bajo la licencia Apache 2.0.