
«Guardian» - это веб -приложение для видеонаблюдения, которое автоматически контролирует военные видеонаблюдения.
Фон развития
В последние годы некоторые войска подчеркнули на предупреждающую работу из -за неудачи
«Долголетие, которое потерпело неудачу в операции, может быть прощена, но долговечность, которая не удалась, граница не может быть прощена».
Поскольку есть такой посл, граничная работа важна в военной подразделении.
Но где -то были случаи, когда вошли гражданские лица, потому что они были сломаны, но позже они были опознаны.
Основываясь на этих примерах, граничная работа подчеркивается.
Многие видеонаблюдения одновременно контролируются бутылками наблюдения
Если одно наблюдение одновременно контролирует более 10 видеонаблюдения и фокусируется на одном экране, другие экраны могут быть ошеломляющими.
Бессмысленные звуки тревоги для незначительного обнаружения
CCTV, который имеет функцию обнаружения движения, уязвим для встряхивания листьев и внезапного изменения света. По этой причине охранники не заботились о говядине, было ли движение или нет.
Цель развития
Идентификация видеонаблюдения с людьми в виде видеонаблюдения, автоматизация движений движения
В установленной области журнал «Ситуация» написан при определении человека или транспортного средства, и, если найденный объект исчезает, отслеживайте маршрут.
Идентифицированный запрос базы данных о ситуации прошлой
Идентифицированные данные и автоматические видеозаписи могут быть просмотрены в любое время, чтобы помочь отслеживать аварию.
TTS тревожный звук, который пользователи могут распознать
Когда происходит обнаружение движения, это не звук звонка, а когда обнаружены только человек и транспортное средство, он сообщит об обнаружении человека или транспортных средств с помощью TTS.
PPT -файл
PDF -файл
| Презентация | Демонстрация |
|---|---|
| Google Drive | Google Drive |
Печь
2020 Оборона Академии с открытым исходным кодом Hackathon -Guardian Development Review
| RTSP -потоковая и ситуация журнал RTSP |
|---|
![]() |
| Он показывает данные потока RTSP, поддерживаемые сетевыми камерами или DVR в Интернете. |
| Обнаружение людей и транспортных средств |
|---|
![]() |
| Обнаружение объектов на основе YOLO идентифицирует людей и автомобили. |
| После отслеживания расстояний и автоматической записи |
|---|
![]() |
| Если объект исчезает, отслеживайте путь и покажите его пользователю. |
| Когда у вас есть определенное обнаружение |
| (Обнаружение ~ Конец обнаружения движения) Запишите ветвь и покажите ее пользователю. |
| Просмотр видео автоматической записи видео |
|---|
![]() |
| Это автоматическое видео записи, обнаруженное в примере выше. |
| Статистика ежедневных временных рядов |
|---|
![]() |
| Запишите данные за день, чтобы сообщить обнаруженную информацию от 0 до 24:00. |
| Прошлая идентификационная потоковая передача данных |
|---|
![]() |
| Если вы выберете время в статистике, вы можете увидеть идентификационное видео, которое было обнаружено в то время. |
Причины выбора крупных технологий
GOLANG : Проект видеонаблюдения в видео выбрал язык GO с производительностью, параллелизмом и HTTP, потому что он обрабатывает большие реальные данные.
OpenCV : как проект с большим количеством компьютерного зрения, я выбрал библиотеку OpenCV с открытым исходным кодом.
Darknet Yolov4-Bliny : сама модель YOLO родилась для обнаружения объектов в реальном времени.
Поскольку среда разработки ограничена в виртуальной машине, я выбрал крошечную модель, которая может работать в небольшом ядре ЦП.
React : Прогулка переднего фронта, которое легко разработать веб -приложения.
Бэкэнд
| Голанг | Эхо | OpenCV | Mongodb |
|---|---|---|---|
| Машинопись | React.js | Antd UI Pramework | Сокет.io | Video.js |
|---|---|---|---|---|
| Докер |
|---|
| Darknet Yolov4 |
|---|
Установка библиотеки OpenCV для использования GOCV
> go get -u -d gocv.io/x/gocv
> cd $GOPATH /src/gocv.io/x/gocv
> make installУстановка модуля переднего конца
> git clone https://github.com/osamhack2020/WEB_GUARDIAN_GUARDIAN.git
> cd frontend
> yarn installСоздайте виртуальную среду видеонаблюдения
> 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 -dВыполнение базы данных
> cd infra/mongo
# 데이터베이스 패스워드 설정
> echo MONGO_PW={set_password} > .env
> docker-compose up -dФронт -Энд
> cd frontend
> yarn startБежать бэкэнд
> 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 :8081Бэкэнд забег (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 :8081Доступ к интернет -браузеру http: // localhost: 8080