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 Matz 68d8ddfa76
Merge pull request #1 from Askill/dependabot/nuget/FrontEnd/Newtonsoft.Json-13.0.1
Bump Newtonsoft.Json from 12.0.2 to 13.0.1 in /FrontEnd
2022-06-23 10:59:21 +02:00
.vscode added mock interface 2019-06-06 18:46:25 +02:00
FrontEnd Bump Newtonsoft.Json from 12.0.2 to 13.0.1 in /FrontEnd 2022-06-22 21:05:15 +00: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 Update README.md 2020-10-19 22:01:12 +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 mit einem Neuronalen Netz 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.