
'Guardian' ist eine Videoüberwachungsanwendung, die die militärischen Videoüberwachung automatisch überwacht.
Entwicklungshintergrund
In den letzten Jahren betonten einige Truppen die Alarmarbeit aufgrund des Scheiterns
"Die Langlebigkeit, die in der Operation gescheitert ist, kann vergeben werden, aber die Langlebigkeit, die die Grenze nicht gescheitert hat, kann nicht vergeben werden."
Da es einen solchen Botschafter gibt, ist die Grenzarbeit in der Militäreinheit wichtig.
Aber irgendwo gab es Fälle, in denen Zivilisten hereinkamen, weil sie gebrochen wurden, aber später identifiziert wurden.
Basierend auf diesen Beispielen wird die Grenzarbeit betont.
Viele CCTVs werden gleichzeitig durch Überwachungsflaschen überwacht
Wenn eine Überwachung gleichzeitig mehr als 10 CCTVs überwacht und sich auf einen Bildschirm konzentriert, können andere Bildschirme überwältigend sein.
Wahllose Alarmgeräusche zur geringfügigen Erkennung
Die CCTV, die eine Bewegungserkennungsfunktion aufweist, ist anfällig für das Schütteln der Blätter und die plötzliche Lichtänderung. Aus diesem Grund kümmerten sich die Wachen nicht um das Rindfleisch, unabhängig davon, ob es eine Bewegung gab oder nicht.
Entwicklungsziel
CCTV -Identifizierung mit Menschen in CCTV, Automatisierung von Bewegungsbewegungen
Im Set -Bereich wird das Situation Journal bei der Identifizierung einer Person oder eines Fahrzeugs geschrieben und wenn das gefundene Objekt verschwindet, verfolgen Sie die Route.
Identifizierte Datenbankanfrage der vergangenen Situation
Identifizierte Daten und automatische Aufzeichnungsvideos können jederzeit angezeigt werden, um den Unfall zu verfolgen.
TTS Alarm Sound, den Benutzer erkennen können
Wenn die Bewegungserkennung auftritt, handelt es sich nicht um das Geräusch des Klingelns, sondern wenn nur eine Person und ein Fahrzeug erkannt werden, wird die Person oder die Fahrzeugerkennung mit TTS informiert.
PPT -Datei
PDF -Datei
| Präsentation | Demonstration |
|---|---|
| Google Drive | Google Drive |
Ofen
2020 Defense Open Source Academy Hackathon -Guardian Development Review
| RTSP -Streaming- und Situation Journal |
|---|
![]() |
| Es zeigt die RTSP -Stream -Daten, die von Netzwerkkameras oder DVRs im Web unterstützt werden. |
| Erkennung von Menschen und Fahrzeugen |
|---|
![]() |
| In Yolo -Basis -Objekterkennung identifiziert Menschen und Autos. |
| Nach der Erkennungsentfernungsverfolgung und automatischen Aufnahme |
|---|
![]() |
| Wenn das Objekt verschwindet, verfolgen Sie den Pfad und zeigen Sie ihn dem Benutzer an. |
| Wenn Sie eine bestimmte Erkennung haben |
| (Erkennung ~ Bewegungserkennung Ende) Zeichnen Sie den Zweig auf und zeigen Sie ihn dem Benutzer an. |
| Automatische Aufzeichnungsvideovorschau |
|---|
![]() |
| Dies ist ein automatisches Aufzeichnungsvideo, das im obigen Beispiel erkannt wurde. |
| Tägliche Zeitreihenstatistik |
|---|
![]() |
| Nehmen Sie tagsüber Daten auf, um die erkannten Informationen von 0 bis 24:00 Uhr zu informieren. |
| Vergangene Identifikationsdaten -Streaming |
|---|
![]() |
| Wenn Sie die Zeit in Statistiken auswählen, können Sie das zu diesem Zeitpunkt erkannte Identifikationsvideo sehen. |
Gründe für die Auswahl der wichtigsten Technologien
Golang : Videoüberwachungsprojekt hat eine Go -Sprache mit Leistung, Parallelität und HTTP gewählt, da es große reale Zeitdaten verarbeitet.
OpenCV : Als Projekt mit viel Computervision habe ich die Open -Source -Library für OpenCV -Bibliothek gewählt.
Darknet Yolov4-Tiny : Das Yolo-Modell selbst wurde geboren, um Echtzeitobjekte zu erkennen.
Da die Entwicklungsumgebung in VM begrenzt ist, habe ich ein winziges Modell ausgewählt, das im kleinen CPU -Kern betrieben werden kann.
React : Ein Front -End -Frame -Walk, der einfach zu entwickeln ist, um Webanwendungen zu entwickeln.
Backend
| Golang | Echo | Opencv | MongoDb |
|---|---|---|---|
| Typoskript | React.js | AntD UI -Framework | Socket.io | Video.js |
|---|---|---|---|---|
| Docker |
|---|
| Darknet Yolov4 |
|---|
OpenCV -Bibliotheksinstallation zur Verwendung von GOCV
> go get -u -d gocv.io/x/gocv
> cd $GOPATH /src/gocv.io/x/gocv
> make installVorder -End -Modulinstallation
> git clone https://github.com/osamhack2020/WEB_GUARDIAN_GUARDIAN.git
> cd frontend
> yarn installBauen Sie eine virtuelle CCTV -Umgebung auf
> 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 -dDatenbankausführung
> cd infra/mongo
# 데이터베이스 패스워드 설정
> echo MONGO_PW={set_password} > .env
> docker-compose up -dFrontendlauf
> cd frontend
> yarn startBackend laufen
> 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 :8081Backend Run (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 :8081Internetbrowserzugriff http: // localhost: 8080