This programm allows you to monitor multiple video streams, detect persons with a neural net and controll multiple devices based on the result.
Go to file
Patrice 88c5a4803a docs 2019-07-18 14:46:16 +02:00
.vscode added mock interface 2019-06-06 18:46:25 +02:00
FrontEnd Auto Refresh & List Selection 2019-06-27 20:45:10 +02:00
__pycache__ added mock interface 2019-06-06 18:46:25 +02:00
client . 2019-06-27 19:55:59 +02:00
server docs 2019-07-18 14:46:16 +02:00
.gitignore added docs 2019-06-27 17:00:17 +02:00
README.md docs 2019-07-18 14:46:16 +02:00
arch.png added docs 2019-06-27 17:00:17 +02:00

README.md

IoI Interaktion ohne Interaktion

(Demo)

Dieses Projekt enthält alle Komponenten eines Systems zu überwachung und Analyse mehrerer Videostreams und der Steuerung von Geräten auf Basis der Analyse.

Struktur:

Pfad Beschreibung
./FrontEnd/ Enthält den Front-End Client. Geschrieben in C#.
./client/ Ein simpler Flask (Python) Endpoint der als Demo Endpoint dient
./server/ Enthält alle Dateien für Das Backend
./server/cams.json Entält Informationen über die genutzen Videostreams, kann als Teil der Datenbank verstanden werden
./server/clients.json Entält Informationen über die möglichen Endpoints, kann als Teil der Datenbank verstanden werden
./server/Dockerfile Enthält die Deployment Beschreibung. Kann als Prod. Env genutzt werden. Nutzt in diesem Fall aber nur die CPU
./server/model.pb Enthält das genutzte vortrainierte Neuronale Netz
./server/motion_detector_old.py Ein erster Prototyp eines rein OpenCV basierten Ansatzes
./server/requirments.txt Enthält die pip Abhängigkeiten, wird von Dockerfile genutzt
./server/detector.py Stellt die detection API die vom Server genutzt wird. Hier wird das NN ausgeführt
./server/app.py Ein Flask Server. Nutzt detector.py um Personen in Videos zu erkennen. Bietet mehrere Routen, mehr hierzu weiter unten.

Routes

/client/ 				returns client list as json
/client/<num>/info		returns client information as json
/cam/					returns camera list as json
/cam/<num>/stream       returns a unedited mjpeg stream
/cam/<num>/processed    returns a mjpeg stream with persons highlighted
        /info 			returns camera infromation

Architektur

Architektur Übersicht

Es wurden nur die Komponenten mit einer soliden Umrandung umgesetzt.