cctv_analysis's People
cctv_analysis's Issues
Refactorizar init de OpenCV
Poner los pesos de YOLO en un server aparte y bajarlos al comienzo de la app si es necesasrio
agregar el archivo a gitignore
Pensar features para facilidad de uso a largo plazo
Automatically create models folder automatically in install.py
Lidiar con nombres de archivos repetidos subidos.
Automatizar la descarga al importar model.<algo>
En el init.py de model, corroborar que están los archivos de los modelos con los pesos y si no están bajarlos. Si están no hacer nada.
Agregar archivo de configuración YAML
Por ahora que indique:
- Donde se guardan los videos cuando se suben
- Modelo de detección por defecto
Organizar el proyecto
3 carpetas:
- Modelo de detección
- Servidor Web
- App web de prueba
Separar archivos de configuración en internos/del usuario
Hacer refactoring de los modelos
- separar carga/ejecución
model = models.load("nombre")
...
results = model.evaluate(video)
- ordenar la carga de cfgs
- quitar archivos extra tipo train/train_bottleneck
- pasar debug a un script
Poder hacer un request http adjuntando un video para llamar a la app (sin navegador)
Tener un client_example.py de prueba que utilice un request.
Agregar soporte para un modelo de detección de OpenCV
Hacer un análisis inicial de rendimiento
Probar en varias resoluciones cuantos FPS procesa cada modelo de OpenCV
Modelo/Resolución Tiny-Yolo Yolo ...
128x128
256x256
...
Editar el README para dejar solo los pasos necesarios para levantar el server
quitar lo viejo de como usar el modelo de YOLO
Configurar el setup.py para poder instalar a través de pip
[bug] [server/app.py] can't execute import "from model.openCv.OpenCv import OpenCV"
2021-04-06 14:55:19.024776: W tensorflow/stream_executor/platform/default/dso_loader.cc:60] Could not load dynamic library 'libcudart.so.11.0'; dlerror: libcudart.so.11.0: cannot open shared object file: No such file or directory
2021-04-06 14:55:19.024810: I tensorflow/stream_executor/cuda/cudart_stub.cc:29] Ignore above cudart dlerror if you do not have a GPU set up on your machine.
Traceback (most recent call last):
File "server/app.py", line 8, in <module>
from model.openCv.OpenCv import OpenCV
ModuleNotFoundError: No module named 'model.openCv'
```
usar paths relativos en .gitignore
Hay un /home/...
Actualizar readme.md con las instrucciones simplificadas de uso
Luego de automatizar descarga y hacer el setup.py
Poner todo el código relevante en una carpeta llamada cctv_analysis
Carpetas:
- model
- models
- server
Archivos:
- client_request.py
- install.py
- run_server.py
Afuera queda run_client.py y client_request.py (pasarlos a una carpeta "examples")
Agregar instrucciones de uso
- Como levantar el server
- Como hacer un request a la API
API asincrónica
- El cliente levanta un servidor para recibir los resultados en URL_RESPUESTA
- El cliente hace un pedido de procesamiento asincrónico con una URL_RESPUESTA.
- El servidor recibe el pedido, y el procesamiento pasa a un thread de background con un Process. Se retorna un UUID para identificar el pedido y ahí termina el request.
- El servidor terminar de procesar el video. Hace un request de tipo GET a URL_RESPUESTA, con el resultado del procesamiento y el UUID para identificar el mismo.
- El cliente procesa los resultados según sea necesario.
Eliminar pasos de configuración del proyecto
Automatizar la descarga de los modelos, posiblemente guardando ya los modelos convertidos a formato Keras
Si es necesario guardar archivos grandes (>100mb) vemos de armar un drive o equivalente para subirlo
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.