Giter VIP home page Giter VIP logo

graduationproject's Introduction

인천대학교 2023 캡스톤디자인 Golden_Time팀 (은상)


위협 행동 실시간 감지 시스템


Built With

  • Raspberry Pi iOS Swift Xcode Firebase

  • AWS Ubuntu Python Flask OpenCV Jupyter Notebook

Contributors

정종원 이재혁 신상우
프로필_ㅈㅈㅇ 프로필_ㅇㅈㅎ 프로필_ㅅㅅㅇ
yapiyapo jaehyuk sangwoo

Architecture

아키텍처 drawio (1)

Features

서버

  • 서버는 AWS EC2 g4dn인스턴스(GPU포함)에서 Ubuntu 18.04 환경에서 실행.

  • Flask 웹 프레임워크와 OpenCV 라이브러리를 사용하여 라이브 비디오 피드가 있는 실시간 객체 감지 애플리케이션을 만드는 Python 스크립트입니다. 스크립트는 소켓을 사용하여 클라이언트 연결을 수신하고 바이트 스트림 형식으로 비디오 프레임을 수신합니다. 그런 다음 OpenCV를 사용하여 바이트 스트림을 디코딩하고 사전 훈련된 YOLOv4 딥 러닝 모델을 사용하여 비디오 프레임에서 객체 감지를 수행합니다. 감지된 개체는 경계 상자와 클래스 레이블로 강조 표시됩니다.

  • 비디오 프레임은 애플리케이션의 성능을 향상시키는 데 도움이 되는 멀티스레딩을 사용하여 처리됩니다. VideoStreamingThread 클래스는 비디오 프레임을 입력으로 사용하고 YOLOv4 모델을 사용하여 객체 감지를 수행하고 처리된 프레임을 반환하는 스레드를 정의합니다. 생성 기능은 비디오 스트리밍 스레드를 실행하고 클라이언트에서 비디오 프레임을 수신합니다. 그런 다음 처리된 프레임을 멀티파트 HTTP 응답의 형태로 클라이언트에 다시 보냅니다.

  • 이 스크립트는 cv2.dnn.readNet, cv2.dnn.blobFromImage, cv2.dnn.NMSBoxes, cv2.rectangle 및 cv2.putText를 비롯한 여러 OpenCV 함수를 사용하여 개체 감지를 수행하고 감지된 개체 주위에 경계 상자를 그립니다. 객체 감지에 사용되는 YOLOv4 모델은 사전 훈련된 가중치 파일및 구성 파일에서 로드됩니다. 감지된 개체의 클래스 레이블은 텍스트 파일에서 로드됩니다.

  • 라즈베리 파이 카메라(CCTV)화면 실시간 스트리밍
  • 위협 발생시 알림
  • 긴급 신고 기능
  • 폭력 영상 재확인 가능

모델

  • Real-Time Object Detection System 중 하나인 YOLOv4-tiny 사용
  • Dataset은 AI-HUB 이상행동 CCTV Data 이용
  • class는 Punch, Kick, Falldown으로 구성
  • 특정 시간동안 class 내에 있는 행동들이 특정 횟수 이상 감지될 때 위험한 상황으로 판단
  • 정확도는 mAP 기준 86.21%

(back to top)

graduationproject's People

Contributors

jjwon2149 avatar newp1 avatar coscle avatar

Stargazers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.