
'Guardian' es una aplicación web de videovigilancia que monitorea automáticamente los CCTV militar.
Antecedentes de desarrollo
En los últimos años, algunas tropas enfatizaron el trabajo de alerta debido al fracaso
"La longevidad que falló en la operación puede ser perdonada, pero la longevidad que falló el límite no puede ser perdonado".
Como existe tal embajador, el trabajo límite es importante en la unidad militar.
Pero en algún lugar, hubo casos en los que entraron civiles porque estaban rotos, pero luego fueron identificados.
Basado en estos ejemplos, se enfatiza el trabajo límite.
Muchos CCTV son monitoreados simultáneamente por botellas de vigilancia
Si una vigilancia monitorea simultáneamente más de 10 CCTV y se enfoca en una pantalla, otras pantallas pueden ser abrumadoras.
Sonidos de alarma indiscriminados para una detección menor
El CCTV, que tiene una función de detección de movimiento, es vulnerable al temblor de las hojas y el repentino cambio de luz. Por esta razón, a los guardias no les importaba la carne, ya sea que hubiera un movimiento o no.
Meta de desarrollo
Identificación de CCTV con personas en CCTV, automatización de movimientos de movimiento
En el área establecida, el diario de la situación se escribe al identificar a una persona o vehículo, y si el objeto encontrado desaparece, rastree la ruta.
Investigación de la base de datos de situación pasada identificada
Los datos identificados y los videos de grabación automáticos se pueden ver en cualquier momento para ayudar a rastrear el accidente.
TTS Alarm Sound que los usuarios pueden reconocer
Cuando se produce la detección del movimiento, no es el sonido del sonar, sino cuando solo se detectan una persona y un vehículo, informará a la persona o la detección de vehículos con TTS.
Archivo ppt
Archivo pdf
| Presentación | Demostración |
|---|---|
| Google Drive | Google Drive |
Horno
Academia de código abierto de defensa 2020 Hackathon -Guardian Development Review
| Revista de transmisión y situación de RTSP |
|---|
![]() |
| Muestra los datos de transmisión RTSP compatibles con cámaras de red o DVR en la web. |
| Detección de personas y vehículos |
|---|
![]() |
| La detección de objetos basada en Yolo identifica personas y automóviles. |
| Después de detección, el seguimiento de la distancia y la grabación automática |
|---|
![]() |
| Si el objeto desaparece, rastree la ruta y muéstrela al usuario. |
| Cuando tienes una determinada detección |
| (Detección ~ Fin de detección de movimiento) Registre la rama y muéstrala al usuario. |
| Vista previa de video de grabación automática |
|---|
![]() |
| Este es un video de grabación automático detectado en el ejemplo anterior. |
| Estadísticas de series de tiempo diarias |
|---|
![]() |
| Registre los datos de día para informar la información detectada de 0 a 24:00. |
| Transmisión de datos de identificación pasada |
|---|
![]() |
| Si elige el tiempo en las estadísticas, puede ver el video de identificación que se detectó en ese momento. |
Razones para seleccionar tecnologías importantes
Golang : el proyecto de video vigilancia ha elegido un lenguaje GO con rendimiento, concurrencia y http porque procesa datos grandes de tiempo real.
OPENCV : Como proyecto con mucha visión por computadora, elegí la biblioteca de código abierto 'OpenCV'.
Darknet Yolov4-Tiny : el modelo Yolo en sí nació para detectar objetos en tiempo real.
Dado que el entorno de desarrollo es limitado en VM, elegí un pequeño modelo que se puede operar en un pequeño núcleo de CPU.
React : una caminata de marco frontal que es fácil de desarrollar aplicaciones web.
Backend
| golang | Eco | Opencvv | Mongodb |
|---|---|---|---|
| Mecanografiado | React.js | Marco de UI Antd | Socket.io | Video.js |
|---|---|---|---|---|
| Estibador |
|---|
| Darknet yolov4 |
|---|
Instalación de la biblioteca OpenCV para el uso de GOCV
> go get -u -d gocv.io/x/gocv
> cd $GOPATH /src/gocv.io/x/gocv
> make installInstalación del módulo frontal
> git clone https://github.com/osamhack2020/WEB_GUARDIAN_GUARDIAN.git
> cd frontend
> yarn installConstruir un entorno de CCTV virtual
> 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 -dEjecución de la base de datos
> cd infra/mongo
# 데이터베이스 패스워드 설정
> echo MONGO_PW={set_password} > .env
> docker-compose up -dCarrera frontal
> cd frontend
> yarn startBackend de carrera
> 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 :8081Acceso al navegador de Internet http: // localhost: 8080