Giter Club home page Giter Club logo

ssccounter's Introduction

📃 SSCCounter README

image

Hits

숭실대학교 컴퓨터 동아리 (SoongSil ComputingClub)
개발기간: 2022.06~
Version: 0.2.0

배포 주소

웹페이지 : http://ssccounter.sscc.run/
프론트 서버 : http://ssccounter.sscc.run/uploadfile/
Json 요청 : http://ssccounter.sscc.run/ssccounter.json/

팀원 구성

백승우 원영진 이종인
@SWtheWhite @AI-WonYJ @bell-person-ii
SSCC 36th SSCC 40th SSCC 39th
PM & WEB HardWare & WEB WEB

프로젝트 소개

SSCCounter은 동아리방 인원수 카운터 머신입니다. 기존에 많은 사람들이 동아리방에 몇명이나 있는지 문의하는 글이 자주 올라왔었는데, 하루에도 2~3번 씩 올라오는 문의 글로 인해, 중요한 공지 글을 확인하기 힘들었다. 이를 해결하기 위해 동아리방 사용 인원수를 알려주는 머신이 있으면 좋겠다는 요청에 진행된 '2022 여름방학 Smart동방 프로젝트' 중 'nCnt' 개발 프로젝트에서 시작되었습니다. 현재는 Smart동방 프로젝트가 종료됨에 따라 'SSCCounter'라는 이름으로 변경되었으며, 매일 평균 30명 이상이 서비스를 이용하는 동아리 핵심 프로젝트로 진행되고 있습니다.

SSCCounter uses 'YOLOv3 Object Detection Neural Network'.

You can easily check the number of people using the club room by analyzing the images processed by YOLOv3. Thanks to real-time analysis of the club room images, you can instantly verify the number of people without any delays.

SSCCounter's website will give you a check-friendly environment.

Our website supports the following component.

  1. Last refresh time.
  2. Last headcount time
  3. Images that can be checked at a glance according to the number of people.

시작 가이드

Requirements

For building and running the application you need:

Installation

$ git clone https://github.com/SoongSilComputingClub/SSCCounter.git
$ cd SSCCounter
$ apt-get update
$ apt-get -y install libgl1-mesa-glx wget
$ pip install -r requirements.txt

$ cd WebServer/yolo_data
$ wget https://pjreddie.com/media/files/yolov3.weights

CamDevice

$ cd CamDevice
$ python3 main.py

WebServer

$ cd WebServer
$ uvicorn main:app --reload --port=3000 --host=0.0.0.0

Stacks 🐈

Environment

Windows 11 Ubuntu Raspberry Pi Visual Studio Code Git Github

Object Detection Neural Network

YOLO

Development

Python FastAPI HTML CSS

Communication

Discord Notion Zoom


화면 구성 📺

메인 페이지 Json 페이지

주요 기능 📦

⭐️ 동아리 인원수를 숫자와 이미지로 확인 가능

  • 숫자뿐만 아니라 이미지 또한 인원수에 따라 변하게 하여 한눈에 확인 가능

⭐️ 동아리 홍보 페이지 연계

  • 아이콘을 클릭하면 동아리 홍보 페이지나, 소셜 네트워크 페이지로 연결

⭐️ 새로고침 버튼

  • 간편하게 버튼 하나로 동아리방 인원수를 새로고침

릴리즈 버젼

Version 0.1.0

  • Device: capture image
  • Analysis: get people count from image
  • WebServer: show people count

Version 0.2.0

  • Refactor: e.v.e.r.y.(Divide and Unite)
  • Add: Dockerfile
  • Add: Requirements.txt
  • Feat: Github Action
  • Update: README.md
  • Fix: 307error
  • Fix: upload port

도입 예정 기능 및 성능 개선 📝

0. log 기능 추가

  • logging 기능 추가

1. Database 추가

  • log 기록을 위한 Database 추가

2. 인터페이스 개선

  • UX/UI를 더욱 눈에 띄도록 메인 페이지를 개선

3. API 활용 계획 수립

  • URL 접속이 아닌, APP을 통해 확인할 수 있는 APP 서비스 출시
  • PUSH 알림 등으로 더욱 간편하게 확인

4. 로그인 기능 추가

  • 동아리 외부인이 접속할 수 없도록 로그인 기능 추가

5. 동아리방 환경 정보 제공 기능 추가

  • 온도 및 습도 정보와 공기 오염도를 확인할 수 있는 기능 추가

6. AI 인원수 예측 기능 추가

  • 요일과 날씨, 학교 행사 정보 등을 이용해 동아리방 인원수를 예측

7. YOLO 모델 업그레이드

  • YOLOv3 -> YOLOv4, 5, ... 8 중 상위 모델로 업그레이드

아키텍쳐

디렉토리 구조

.
├── README.md
├── Dockerfile
├── LICENSE
├── requirements.txt
├── CamDevice
│   ├── main.py
│   └── utils
│       ├── image_creater
│       │   ├── cv2.py
│       │   └── pi.py
│       └── image_sender.py
└── WebServer
    ├── main.py
    ├── static
    │   ├── css
    │   │   ├── contribute.css
    │   │   ├── contribute2
    │   │   ├── main(Ver_2).css
    │   │   ├── main.css
    │   │   └── new.css
    │   └── images
    │       ├── 0 people.png
    │       ├── 1 people.png
    │       ├── 2 people.png
    │       ├── 3 people.png
    │       ├── 3analysis.jpg
    │       ├── 4 people.png
    │       ├── 5 people.png
    │       ├── 6 people.png
    │       ├── Kakao_lion.png
    │       ├── SSCC_logo.png
    │       ├── SSCC_logo_rev.png
    │       ├── analysis.jpg
    │       ├── analysis_outdoor.jpg
    │       ├── discord.png
    │       ├── facebook.png
    │       ├── humidity.png
    │       ├── instagram.png
    │       ├── kakao.png
    │       ├── logo.png
    │       ├── notion.png
    │       ├── people.png
    │       ├── photo_out.jpg
    │       └── temperature.png
    ├── temp
    │   ├── analysis.jpg
    │   └── photo.jpg
    ├── templates
    │   ├── Contribute.html
    │   ├── docs.html
    │   ├── image.html
    │   ├── index(Ver_8).html
    │   ├── manager.html
    │   ├── new.html
    │   └── test.html
    ├── utils
    │   └── count
    │       ├── yolo.py
    │       └── yolo_test.py
    └── yolo_data
        ├── yolov3.cfg
        ├── yolov3.weights
        └── yolov3.md

ssccounter's People

Contributors

swthewhite avatar ai-wonyj avatar

Forkers

bell-person-ii

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.