Proyecto para la asignatura de Aplicaciones Industriales y comerciales del MUVA
En este repositorio se irá desarrollando la aplicación de detección de posibles clientes de una tienda y la detección de las personas que finalmente acaban pasando a la tienda, desarrollandolo con una solución aplicando vision por computador.
- Nombre de la aplicación
- Equipo de Desarrollo
- Profesores
- Documentación de Requisitos
- Presupuesto
- Interfaz(MOCK-UP)
- Documento de diseño
- Documento del sistema
- Ejecución de la aplicación
- Despliegue
- Testing
- Métricas sobre el sistema
- Presentación al cliente
AfluenceCounter
Name | GitHub | |
---|---|---|
Israel Peñalver Sánchez | [email protected] | IsraelSonseca |
David Valladares Vigara | [email protected] | dvalladaresv |
Ales Darío Cevallos Juárez | [email protected] | AlexCeval |
Name | GitHub | |
---|---|---|
José Francisco Vélez Serrano | [email protected] | jfvelezserrano |
- El proyecto se ha desarrollado utilizando la versión de python 3.8. Es necesario tener instalado pip para descargase las librerías necesarias. Se recomienda la creación de un entorno virtual para evitar problemas de dependencias, por ejemplo utilizando virtualenv.
- Es necesario instalarse las siguientes librerías.
pip install opencv-contrib-python==4.5.1.48
pip install numpy==1.20.2
pip install wget==3.2
- Se recomienda utilizar la herramienta de control de versiones git para clonarse el repositorio.
git clone https://github.com/dvalladaresv/AIVA_2021_Deteccion_de_actividad_grupo_F.git
-
Si no desea instalarse git, puede descargarse el repositorio como un fichero comprimido .zip.
-
Para facilitar la instalación de todas las dependencias se proporciona un fichero requirements.txt que se encuentra dentro del directorio AffluenceCounter/. Para lanzarlo dirigirse a este directorio y lanzar:
pip install -r ./AffluenceCounter/requirements.txt
- Es necesario descargase los pesos de la red Yolo en el directorio ./AffluenceCounter/assests/model. Para ello ejecutar los siguientes comandos:
cd ./AffluenceCounter/assets/model/
wget https://pjreddie.com/media/files/yolov3.weights
- Estando en la raíz del proyecto, dirigirse al directorio ./AffluenceCounter/app/
cd ./AffluenceCounter/app/
-
La aplicación puede ser ejecutada mediante dos formas:
- Por línea de comandos
python affluence_counter.py --video_path=<path_video> #Example python affluence_counter.py --video_path=../../videos/1_EnterExitCrossingPaths1front.mpg
- Mediante una aplicación web, lanzando el servidor y abriendo el navegador en http://localhost:5000
python AfluenceCounterApp.py
-
Se ha desarrollado una imagen Docker con el objeto de facilitar el despliegue de la aplicación. Es necesario tener instalado docker en la máquina donde se desea realizar el despliegue.
-
Pasos a seguir para el despliegue:
- Descargarse la imagen docker dvalladaresvv/aiva-affluence-counter que se encuentra alojada en DockerHub. Para ello ejecutar:
docker pull dvalladaresvv/aiva-affluence-counter:latest
- Lanzar un contenedor con la imagen docker:
docker run --name AffluenceCounter -d -p 5000:5000 dvalladaresvv/aiva-affluence-counter
- Puede visualizar que el contenedor está ejecutándose, utilizando el comando:
docker ps
- Abrir un navegador y dirigirse a http://localhost:5000 y la aplicación estará disponible.
- Las pruebas unitarias se encuentran dentro de ./AffluenceCounter/test. El lanzamiento de un test se puede realizar por línea de comandos ejecutando:
python <test>.py
- Un ejemplo de lanzamiento sería:
python test_detector.py
Metricas obtenidas utilizando la aplicación Sonarqube