https://github.com/bosl95/automatic-attendance-using-face-detection
Real-time auto attendance
https://github.com/bosl95/automatic-attendance-using-face-detection
face-detection machine-learning opencv oracle-database python
Last synced: about 2 months ago
JSON representation
Real-time auto attendance
- Host: GitHub
- URL: https://github.com/bosl95/automatic-attendance-using-face-detection
- Owner: bosl95
- Created: 2020-07-02T01:12:13.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2020-10-21T06:39:35.000Z (over 5 years ago)
- Last Synced: 2025-04-14T10:19:39.905Z (about 1 year ago)
- Topics: face-detection, machine-learning, opencv, oracle-database, python
- Language: Python
- Homepage:
- Size: 31.4 MB
- Stars: 0
- Watchers: 1
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
## Automatic attendance Using Face Detection
#### 캠에 얼굴을 갖다대면 자동으로 사람 얼굴을 구분하고, 출결을 관리해주는 프로그램.
### 1) 얼굴 인식을 위한 학습 모델 구현하기.
- RecordForTrainingData() : training data를 위해 얼굴을 촬영
이때 촬영된 사람의 이름을 한 폴더를 만들어 dataset 폴더에 저장한다.
- face_recog_train() : Dataset을 이용해 학습 모델 만들기.
- haarcascade를 통해서 사진속 얼굴의 bounding box 추출 ⇒ samples 배열 저장
- Dataset 폴더별로 각 얼굴 데이터를 labeling ⇒ ids 배열 저장
- samples 배열 & ids 배열을 이용해 Training ⇒ trainder.yml에 저장.
### 2) haarcascade와 학습 모델을 이용하여 얼굴 탐지 및 구별
- face_detect() : 만들어진 학습 모델을 이용해 얼굴 인식 및 구분
- 예측된 값의 Loss값이 40 이하 & 15번 이상 확인 될 경우 출석 처리
- attend_chk() : 출석처리가 완료되면 "PASS"를 화면에 출력
이미 출석되어있는 경우 "already attend" 를 화면에 출력
- flag_switch() : 얼굴인식이 되어 출석 완료된 경우를 사용자에게 2초가량 표시할 수 있도록 해주는 thread 함수 생성.
- upload() : Oracle Database에 접근하여 ATTEND 테이블에 얼굴이 인식된 학생의 이름과 오늘 날짜를 추가하는 함수.
### 3) 출석 확인 프로그램
- UI 구성
1) 이름과 휴대폰번호를 통해 접속(상단의 창)
2) 접속한 학생의 오늘 출결 여부 확인(왼쪽 하단)
3) 전체 출석 정보 보기 ( 오른쪽 하단)