
'Guardian' é um aplicativo da Web de vigilância por vídeo que monitora automaticamente os CCTVs militares.
Antecedentes de desenvolvimento
Nos últimos anos, algumas tropas enfatizaram o trabalho de alerta devido à falha
"A longevidade que falhou na operação pode ser perdoada, mas a longevidade que falhou que o limite não pode ser perdoado".
Como existe um embaixador, o trabalho de fronteira é importante na unidade militar.
Mas em algum lugar, houve casos em que os civis entraram porque foram quebrados, mas mais tarde foram identificados.
Com base nesses exemplos, o trabalho de fronteira é enfatizado.
Muitos CCTVs são monitorados simultaneamente por garrafas de vigilância
Se uma vigilância estiver monitorando simultaneamente mais de 10 CCTVs e se concentrar em uma tela, outras telas podem ser esmagadoras.
Sons de alarme indiscriminados para detecção menor
O CCTV, que tem uma função de detecção de movimento, é vulnerável ao tremor das folhas e à súbita mudança de luz. Por esse motivo, os guardas não se importaram com a carne, se havia um movimento ou não.
Objetivo de desenvolvimento
Identificação de CCTV com pessoas no CCTV, Automação de movimentos de movimento
Na área definida, o Jornal da Situação é escrito ao identificar uma pessoa ou veículo e, se o objeto encontrado desaparecer, rastreie a rota.
Identificou o Inquérito de banco de dados de situação passada
Dados identificados e vídeos de gravação automática podem ser visualizados a qualquer momento para ajudar a rastrear o acidente.
Som de alarme TTS que os usuários podem reconhecer
Quando a detecção do movimento ocorre, não é o som do toque, mas quando apenas uma pessoa e um veículo são detectados, ele informará a detecção de pessoa ou veículo com TTS.
Arquivo ppt
Arquivo pdf
| Apresentação | Demonstração |
|---|---|
| Google Drive | Google Drive |
Forno
2020 Defense Open Source Academy Hackathon -Revisão do Desenvolvimento Guardiano
| RTSP Streaming and Situation Journal |
|---|
![]() |
| Ele mostra os dados do fluxo RTSP suportados por câmeras de rede ou DVRs na web. |
| Detecção de pessoas e veículos |
|---|
![]() |
| A detecção de objetos baseada em YOLO identifica pessoas e carros. |
| Após o rastreamento da distância de detecção e gravação automática |
|---|
![]() |
| Se o objeto desaparecer, rastreie o caminho e mostre -o ao usuário. |
| Quando você tem uma certa detecção |
| (Detecção ~ End Detecção de Movimento) Registre a filial e mostre -a ao usuário. |
| Visualização de vídeo de gravação automática |
|---|
![]() |
| Este é um vídeo de gravação automático detectado no exemplo acima. |
| Estatísticas de séries temporais diárias |
|---|
![]() |
| Registre os dados durante o dia para informar as informações detectadas de 0 a 24:00. |
| Transmissão de dados de identificação passada |
|---|
![]() |
| Se você escolher o tempo nas estatísticas, poderá ver o vídeo de identificação que foi detectado naquele momento. |
Razões para selecionar as principais tecnologias
GOLANG : O projeto de vigilância por vídeo escolheu um idioma GO com desempenho, simultaneidade e http porque processa grandes dados de tempo real.
OpenCV : Como um projeto com muita visão computacional, escolhi a biblioteca 'OpenCV' de código aberto.
DarkNet Yolov4 Tiny : O modelo YOLO nasceu para detectar objetos em tempo real.
Como o ambiente de desenvolvimento é limitado na VM, escolhi um modelo minúsculo que pode ser operado no pequeno núcleo da CPU.
REACT : Uma caminhada de quadro frontal que é fácil de desenvolver aplicativos da Web.
Back -end
| Golang | Eco | OpenEncv | MongoDB |
|---|---|---|---|
| TypeScript | React.js | Framework da interface do usuário ANTD | Socket.io | Video.js |
|---|---|---|---|---|
| Docker |
|---|
| Darknet Yolov4 |
|---|
Instalação da biblioteca OpenCV para uso do GOCV
> go get -u -d gocv.io/x/gocv
> cd $GOPATH /src/gocv.io/x/gocv
> make installInstalação do módulo front -end
> git clone https://github.com/osamhack2020/WEB_GUARDIAN_GUARDIAN.git
> cd frontend
> yarn installConstrua um ambiente virtual de CCTV
> 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 -dExecução do banco de dados
> cd infra/mongo
# 데이터베이스 패스워드 설정
> echo MONGO_PW={set_password} > .env
> docker-compose up -dFront End Run
> cd frontend
> yarn startExecute back -end
> 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 :8081Corrida de back -end (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 :8081Acesso ao navegador da Internet http: // localhost: 8080