
«Guardian» est une application Web de surveillance vidéo qui surveille automatiquement les vidéosurveillance militaire.
Contexte de développement
Ces dernières années, certaines troupes ont mis l'accent sur les travaux d'alerte en raison de l'échec
"La longévité qui a échoué dans l'opération peut être pardonnée, mais la longévité qui a échoué à la frontière ne peut être pardonnée."
Comme il y a un tel ambassadeur, les travaux de limite sont importants dans l'unité militaire.
Mais quelque part, il y avait des cas où les civils sont arrivés parce qu'ils ont été brisés, mais ils ont ensuite été identifiés.
Sur la base de ces exemples, le travail de limite est souligné.
De nombreux vidéosurveillance sont surveillés simultanément par des bouteilles de surveillance
Si une surveillance surveille simultanément plus de 10 vidéosurveillance et se concentre sur un écran, d'autres écrans peuvent être écrasants.
Sounds d'alarme aveugles pour une détection mineure
La vidéosurveillance, qui a une fonction de détection de mouvement, est vulnérable aux tremblements des feuilles et au changement soudain de la lumière. Pour cette raison, les gardes ne se souciaient pas du bœuf, qu'il y ait un mouvement ou non.
Objectif de développement
Identification de vidéosurveillance avec les personnes en vidéosurveillance, automatisation des mouvements de mouvement
Dans la zone définie, le journal de situation est écrit lors de l'identification d'une personne ou d'un véhicule, et si l'objet trouvé disparaît, suivez l'itinéraire.
Enquête sur la base de données de la situation précédente identifiée
Les données identifiées et les vidéos d'enregistrement automatique peuvent être visualisées à tout moment pour aider à suivre l'accident.
SON ALARME TTS que les utilisateurs peuvent reconnaître
Lorsque la détection des mouvements se produit, ce n'est pas le son de la sonnerie, mais lorsqu'une personne et un véhicule sont détectés, cela informera la détection de la personne ou du véhicule avec TTS.
Fichier ppt
Fichier pdf
| Présentation | Démonstration |
|---|---|
| Google Drive | Google Drive |
Four
2020 Défense Open Source Academy Hackathon-Guardian Development Review
| Journal de streaming et de situation RTSP |
|---|
![]() |
| Il montre les données RTSP Stream prises en charge par des caméras réseau ou des DVR sur le Web. |
| Détection des personnes et des véhicules |
|---|
![]() |
| La détection d'objets basée sur Yolo identifie les personnes et les voitures. |
| Après le suivi de la distance de détection et l'enregistrement automatique |
|---|
![]() |
| Si l'objet disparaît, suivez le chemin et montrez-le à l'utilisateur. |
| Lorsque vous avez une certaine détection |
| (Détection ~ Détection de mouvement End) Enregistrez la branche et affichez-la à l'utilisateur. |
| Aperçu vidéo d'enregistrement automatique |
|---|
![]() |
| Il s'agit d'une vidéo d'enregistrement automatique détectée dans l'exemple ci-dessus. |
| Statistiques quotidiennes de séries chronologiques |
|---|
![]() |
| Enregistrez les données le jour pour éclairer les informations détectées de 0 à 24h00. |
| Streaming de données d'identification passée |
|---|
![]() |
| Si vous choisissez l'heure des statistiques, vous pouvez voir la vidéo d'identification qui a été détectée à ce moment-là. |
Raisons de sélectionner les grandes technologies
Golang : le projet de surveillance vidéo a choisi un langage GO avec les performances, la concurrence et le HTTP car il traite de grandes données réelles.
OpenCV : En tant que projet avec beaucoup de vision par ordinateur, j'ai choisi la bibliothèque open source «OpenCV».
DarkNet Yolov4-Tiny : Le modèle YOLO lui-même est né pour détecter les objets en temps réel.
Étant donné que l'environnement de développement est limité dans la machine virtuelle, j'ai choisi un minuscule modèle qui peut être utilisé dans un petit noyau de CPU.
React : une marche à cadre frontal facile à développer des applications Web.
Backend
| golang | Écho | Opencv | Mongodb |
|---|---|---|---|
| Manuscrit | React.js | Cadre d'interface utilisateur Antd | Socket.io | Vidéo.js |
|---|---|---|---|---|
| Docker |
|---|
| Darknet yolov4 |
|---|
Installation de la bibliothèque OpenCV pour l'utilisation de GOCV
> go get -u -d gocv.io/x/gocv
> cd $GOPATH /src/gocv.io/x/gocv
> make installInstallation du module avant
> git clone https://github.com/osamhack2020/WEB_GUARDIAN_GUARDIAN.git
> cd frontend
> yarn installCréer un environnement de vidéosurveillance virtuel
> git clone https://github.com/gron1gh1/docker-rtsp-video-streaming.git
> cd docker-rtsp-video-streaming
> vi .env
# Modify .env file
> HOST_PORT={Port to be actually serviced}
> VIDEO_FILE ={Video File to be actually streamed}
> docker-compose up -dExécution de la base de données
> cd infra/mongo
# 데이터베이스 패스워드 설정
> echo MONGO_PW={set_password} > .env
> docker-compose up -dFrontal
> cd frontend
> yarn startBackend de course
> cd backend
# 데이터베이스 패스워드 설정
> echo {set_password} > MONGO_PW
> go run cv_core.go cv_motion_liner.go cv_util.go http.go cv_motion.go cv_yolo.go mongo.go :8081Run backend (docker)
# OpenCV 라이브러리를 설치하지 않았을 때 쓰는 방법입니다.
# 데이터베이스 패스워드 설정
> cd WEB_GUARDIAN_GUARDIAN
> docker -v $PWD /backend:/ gocv/opencv ' go run cv_core.go cv_motion_liner.go cv_util.go http.go cv_motion.go cv_yolo.go mongo.go :8081 '
> echo {set_password} > MONGO_PW
> go run cv_core.go cv_motion_liner.go cv_util.go http.go cv_motion.go cv_yolo.go mongo.go :8081Accès du navigateur Internet http: // localhost: 8080