
'Guardian' เป็นเว็บแอปพลิเคชั่นการเฝ้าระวังวิดีโอที่ตรวจสอบกล้องวงจรปิดทหารโดยอัตโนมัติ
ภูมิหลังการพัฒนา
ในช่วงไม่กี่ปีที่ผ่านมากองทหารบางคนเน้นงานแจ้งเตือนเนื่องจากความล้มเหลว
"อายุยืนที่ล้มเหลวในการผ่าตัดสามารถได้รับการอภัย แต่อายุยืนที่ล้มเหลวขอบเขตไม่สามารถให้อภัยได้"
เนื่องจากมีเอกอัครราชทูตเช่นนี้งานเขตแดนจึงมีความสำคัญในหน่วยทหาร
แต่ที่ไหนสักแห่งมีหลายกรณีที่พลเรือนเข้ามาเพราะพวกเขาถูกทำลาย แต่พวกเขาถูกระบุในภายหลัง
จากตัวอย่างเหล่านี้จะเน้นงานขอบเขต
กล้องวงจรปิดจำนวนมากถูกตรวจสอบพร้อมกันโดยขวดเฝ้าระวัง
หากการเฝ้าระวังครั้งหนึ่งกำลังตรวจสอบมากกว่า 10 วงจรปิดและมุ่งเน้นไปที่หน้าจอเดียวหน้าจออื่น ๆ อาจท่วมท้น
เสียงเตือนภัยตามฉันไม่ได้ตรวจจับเล็กน้อยสำหรับการตรวจจับเล็กน้อย
กล้องวงจรปิดซึ่งมีฟังก์ชั่นการตรวจจับการเคลื่อนไหวมีความเสี่ยงต่อการสั่นของใบและการเปลี่ยนแปลงของแสงอย่างฉับพลัน ด้วยเหตุนี้ผู้คุมจึงไม่สนใจเนื้อวัวไม่ว่าจะมีการเคลื่อนไหวหรือไม่ก็ตาม
เป้าหมายการพัฒนา
การระบุกล้องวงจรปิดกับคนในกล้องวงจรปิดระบบอัตโนมัติของการเคลื่อนไหวการเคลื่อนไหว
ในพื้นที่ที่กำหนดวารสารสถานการณ์จะถูกเขียนขึ้นเมื่อระบุบุคคลหรือยานพาหนะและหากวัตถุที่พบหายไปให้ติดตามเส้นทาง
ระบุการสอบถามฐานข้อมูลสถานการณ์ที่ผ่านมา
ข้อมูลที่ระบุและวิดีโอบันทึกอัตโนมัติสามารถดูได้ตลอดเวลาเพื่อช่วยติดตามอุบัติเหตุ
เสียงเตือน TTS ที่ผู้ใช้สามารถรับรู้ได้
เมื่อการตรวจจับการเคลื่อนไหวเกิดขึ้นมันไม่ได้เป็นเสียงของเสียงเรียกเข้า แต่เมื่อตรวจพบบุคคลและยานพาหนะเท่านั้นมันจะแจ้งให้บุคคลหรือการตรวจจับยานพาหนะด้วย TTS
ไฟล์ ppt
ไฟล์ PDF
| การนำเสนอ | สาธิต |
|---|---|
| Google Drive | Google Drive |
เตาอบ
2020 Defense Open Source Academy Hackathon -Guardian Development Review
| RTSP สตรีมมิ่งและวารสารสถานการณ์ |
|---|
![]() |
| มันแสดงข้อมูลสตรีม RTSP ที่รองรับโดยกล้องเครือข่ายหรือ DVRs บนเว็บ |
| ผู้คนและการตรวจจับยานพาหนะ |
|---|
![]() |
| การตรวจจับวัตถุที่ใช้ YOLO ระบุผู้คนและรถยนต์ |
| หลังจากการตรวจจับระยะทางและการบันทึกอัตโนมัติ |
|---|
![]() |
| หากวัตถุหายไปให้ติดตามเส้นทางและแสดงต่อผู้ใช้ |
| เมื่อคุณมีการตรวจจับบางอย่าง |
| (การตรวจจับการตรวจจับการตรวจจับการเคลื่อนไหว) บันทึกสาขาและแสดงให้ผู้ใช้ |
| ตัวอย่างวิดีโอบันทึกอัตโนมัติ |
|---|
![]() |
| นี่คือวิดีโอการบันทึกอัตโนมัติที่ตรวจพบในตัวอย่างด้านบน |
| สถิติอนุกรมเวลาประจำวัน |
|---|
![]() |
| บันทึกข้อมูลตามวันเพื่อแจ้งข้อมูลที่ตรวจพบตั้งแต่ 0 ถึง 24:00 น. |
| การสตรีมข้อมูลการระบุตัวตนที่ผ่านมา |
|---|
![]() |
| หากคุณเลือกเวลาในสถิติคุณสามารถดูวิดีโอการระบุที่ตรวจพบในเวลานั้น |
เหตุผลในการเลือกเทคโนโลยีที่สำคัญ
Golang : โครงการเฝ้าระวังวิดีโอได้เลือกภาษา GO ด้วยประสิทธิภาพการทำงานพร้อมกันและ HTTP เนื่องจากประมวลผลข้อมูลจริงเวลานาน
OpenCV : ในฐานะโครงการที่มีวิสัยทัศน์คอมพิวเตอร์จำนวนมากฉันเลือกไลบรารีโอเพนซอร์ส 'OpenCV'
Darknet YOLOV4-TINY : โมเดล YOLO นั้นเกิดมาเพื่อตรวจจับวัตถุแบบเรียลไทม์
เนื่องจากสภาพแวดล้อมการพัฒนามี จำกัด ใน VM ฉันจึงเลือกรุ่นเล็ก ๆ ที่สามารถใช้งานได้ในแกนซีพียูขนาดเล็ก
React : การเดินเฟรมส่วนหน้าซึ่งง่ายต่อการพัฒนาเว็บแอปพลิเคชัน
แบ็กเอนด์
| กอลัน | ก้อง | opencv | MongoDB |
|---|---|---|---|
| ตัวพิมพ์ใหญ่ | react.js | antd ui framework | ซ็อกเก็ต | 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 :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 :8081อินเทอร์เน็ตเบราว์เซอร์เข้าถึง http: // localhost: 8080