Malhumorado
(Ya no mantenido)
Una aplicación web que utiliza una instantánea tomada del usuario para detectar la emoción y usar esto, generar una lista de reproducción de música adecuada. Este proyecto fue creado para el mes de código ACM, codificación real realizada en aproximadamente 3 semanas.
Lea el artículo detallado sobre la construcción de Moodify aquí: https://medium.com/@ajay.ns08/acm-month-of-code-2k17-building-moodify-d5d9e0c52ca7
Implementación
La cámara, el reproductor de música, los scripts para el reconocimiento de emociones y la base de datos fueron conectados y envueltos en una aplicación web usando frasco, utilizando rutas para usar el backend como una API mientras el frontend maneja al usuario.
Al ser una configuración experimental integrada en un período de tiempo tan corto, la interfaz de usuario y el flujo requerirían múltiples correcciones antes de la implementación.
Instalación
Debe tener lo siguiente preinstalado:
- Opencvv
- Mongodb
- Los archivos de datos de predictor de DLIB se colocarán en datos/
- Los archivos de datos de Haar Cascades se colocarán en datos/
- Python 2
- archivos/mp3 y archivos/img almacenar los datos musicales y la art
Preferiblemente configure un env de vista virtual y luego solo necesitará instalar paquetes:
pip install -r requirements.txt
Asegúrese de que MongoDB se ejecute para alojar la base de datos. También ejecute un servidor HTTP simple para servir los archivos/ carpeta en Localhost: 8000
cd files
python -m SimpleHTTPServer
Iniciar el programa
Abra la aplicación web desde el navegador en Localhost: 5000
Tecnologías
Interfaz
- AngularJS: JavaScript Framework para programar el reproductor de música.
- Materializar: marco CSS para desollar la aplicación basada en el diseño de material de Google.
- WebCamjs: Biblioteca JavaScript para captura de imágenes
- Angular SoundManager 2: Agrega la funcionalidad del reproductor de música para AngularJS usando SoundManager 2 API
Backend
- Flask: un microframework para Python para la construcción de aplicaciones web
- OPENCV: Visión de computadora de código abierto, utilizada aquí para reconocimiento facial, análisis e identificación de emociones.
- Algunas bibliotecas de aprendizaje automático utilizadas junto con OpenCV como DLIB, Numpy, Scikit
Componentes individuales
- Ng-MusicPlayer: el componente del reproductor de música basado en Angularjs y se materializa.
- PyemotionRecognition: el script utilizado para detectar el estado de ánimo de una imagen utilizando las bibliotecas OpenCV y el aprendizaje automático.
- PymusicMood: para la clasificación automática de la música en estados de ánimo basados en parámetros extraídos de la API de Spotify.
- CAM-APP, PY-FLASK-WA: Código inicial para configurar el servidor CAM y Flask