Título del proyecto: Detección y análisis de gritos humanos para controlar la tasa de criminalidad mediante aprendizaje automático y aprendizaje profundo
La delincuencia es el mayor problema social de nuestra sociedad que se propaga día a día. Se cometen miles de delitos todos los días, y todavía muchos están ocurriendo en este momento también en todo el mundo. Un delito se da en muchos rostros, puede darse en cualquier rostro como robos, asesinatos, violaciones, asaltos agravados y simples, homicidios, etc. En muchos casos se observa la ausencia de policías en los lugares del crimen, puede ser porque no tienen una dirección adecuada o, a veces, nadie les informaba. Por lo tanto, hemos tratado de abordar el problema con la ayuda de nuestro proyecto en el que el enfoque sería la detección del delito a tiempo y ayudar a los oficiales de la estación de policía más cercana a llegar a tiempo al lugar del delito mediante el intercambio de ubicación a través de un mensaje de alerta en forma. de SMS (Servicio de Mensajería Corta).
Introducción
Como sugiere el título, el proyecto será una aplicación de escritorio que tiene una función para trabajar en segundo plano y mediante el uso de conceptos de aprendizaje automático y aprendizaje profundo , detectará y analizará los gritos humanos en un entorno en tiempo real y si esta aplicación encuentra algo serio a su alrededor, automáticamente enviará un mensaje de alerta a la estación de policía más cercana con la ubicación de su usuario. No solo esto, la aplicación será capaz de detectar un sonido humano claro a partir del ruido de fondo.
Objetivo: El objetivo de este proyecto es utilizar las tecnologías avanzadas de tal manera que puedan usarse para ayudar a alguien a salvar su vida y controlar la tasa de criminalidad.
Herramienta y Tecnologías Utilizadas :
- Todo el back-end del proyecto se desarrolla utilizando el lenguaje python.
- El marco Kivy se utiliza en este proyecto para diseñar la interfaz de la aplicación que es adecuada tanto para escritorio como para aplicaciones de Android.
- SVM (Support Vector Machine) de Machine Learning se utiliza para la detección y clasificación de gritos.
- El modelo de perceptrones multicapa de aprendizaje profundo se utiliza para la confirmación de los gritos detectados.
Conjunto de habilidades requerido:
- El conocimiento básico y avanzado de Python es obligatorio
- Se requiere conocimiento básico del marco Kivy
- Se requieren conocimientos básicos de SVM (Support Vector Machine) en el aprendizaje automático
- Se requiere conocimiento de redes neuronales en el aprendizaje automático
- Debe estar familiarizado con bibliotecas como pandas, NumPy, scikit-learn, TensorFlow y librosa.
Implementación
Veamos la implementación de este proyecto en diferentes pasos que se describen a continuación:
Paso 1: diseño de la interfaz de usuario
Primero, se desarrolla la UI o la interfaz de usuario del proyecto. Desarrollaremos la interfaz de usuario usando el marco Kivy (Python), que el usuario usará para interactuar. Veamos la interfaz de usuario de este proyecto.
Paso 2: preparar un conjunto de datos para la detección de gritos humanos
Todo el conjunto de datos de este proyecto se divide en dos clases, una es una clase positiva que incluye alrededor de 2000 gritos humanos para entrenar al modelo y otra es una clase negativa que incluye alrededor de 3000 sonidos negativos que no se consideran gritos.
Nota: El conjunto de datos para este proyecto se recopila de diferentes sitios web como https://www.freesoundeffects.com/ .
Paso 3: Extracción de MFCC
El siguiente paso es la extracción de MFCC del conjunto de datos utilizando la biblioteca de Librosa y guardar los MFCC extraídos en un archivo CSV en su computadora.
Nota: MFCC significa Coeficientes cepstrales de frecuencia de Mel, es una función que se usa ampliamente en el reconocimiento automático de voz y hablantes.
Paso 4: Entrenamiento del modelo SVM y su guardado
A continuación, entrenaremos el modelo SVM (Support Vector Machine) sobre los MFCC que habíamos creado en el paso anterior y cuando se complete todo el entrenamiento, lo guardaremos usando la biblioteca TensorFlow. A continuación se muestra un diagrama para la detección de ruido, habla, gritos y gritos utilizando el clasificador SVM.
Paso 5: Entrenamiento del modelo MPN y su guardado
Ahora, entrenaremos MPN (modelo de perceptrones multicapa) sobre los sonidos presentes en el conjunto de datos para obtener una buena precisión del modelo y cuando se complete todo el entrenamiento, guárdelo nuevamente usando la biblioteca TensorFlow como lo hicimos anteriormente. El diagrama de trabajo de MPN se muestra a continuación.
Paso 6: Enfoque para generar un mensaje de alerta
Ahora, después de entrenar y guardar con éxito ambos modelos, ahora iremos con la prueba de estos dos modelos y de acuerdo con la respuesta proporcionada por ambos modelos, decidiremos el nivel de riesgo y de acuerdo con el nivel de riesgo, generaremos mensajes de alerta. .
En este proyecto, se generarán dos tipos de mensajes de alerta, que son mensajes de alerta de alto riesgo y mensajes de alerta de riesgo medio según las condiciones del entorno.
- Mensaje de alerta de alto riesgo: el sistema generará un mensaje de alerta de alto riesgo en el caso de que ambos modelos detecten el grito humano en los alrededores.
- Mensaje de alerta de riesgo medio: el sistema generará automáticamente un mensaje de alerta de riesgo medio en el caso de que uno de los dos modelos detecte el grito humano en los alrededores.
Paso 7: Enviar SMS a la Estación de Policía más cercana
Sin embargo, el proyecto está actualmente en desarrollo, por lo que solo brindamos la idea de cómo se puede desarrollar esta función. Para el desarrollo de esta característica, podemos tomar la ayuda de bases de datos y podemos enviar SMS a ese número en el momento de cualquier emergencia detectada por el proyecto.
diagrama de trabajo
Se le proporciona un diagrama de trabajo de este proyecto, que explica el funcionamiento interno de ambos modelos y se utilizará para implementar el proyecto.
Producción:
Aplicación de proyectos en la vida real
Este proyecto se propone para la seguridad de la sociedad. Este proyecto tiene como objetivo ayudar a reducir la tasa de criminalidad y también tiene como objetivo ayudar mucho a la policía en su trabajo. Además, el éxito de este proyecto también alentará a los desarrolladores a construir algo más útil para la seguridad de la sociedad.
Aceptación del proyecto
El artículo de investigación se publicó en la 5ª Conferencia Internacional sobre Sistemas y Control Inventivos [ICISC 2021] sobre el tema de la detección de gritos humanos a través del aprendizaje supervisado en tres etapas y el aprendizaje profundo .
Miembros del equipo
Enlace Github: https://github.com/themockingjester/Human_Scream_Detection_using_ml_and_deep_learning
Publicación traducida automáticamente
Artículo escrito por riyamathur y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA