Skip to content

[2022-1학기 DSL 모델링 프로젝트 CNN] Image Detection과 CNN을 활용한 비대면 수업 자동 출석체크 시스템

Notifications You must be signed in to change notification settings

Jeonhyeryung/Attendance-check-model

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Attendance-check-model


install

# Image objectation을 위한 yolov5
git clone https://github.com/ultralytics/yolov5  # clone
cd yolov5
pip install -r requirements.txt  # install


# Image classification을 위한 CNN 모델
https://drive.google.com/file/d/1-EUAMx7jI1h6dKuh-DaJircK2cCOGfjU/view?usp=sharing

requirement

Python>=3.7.0 environment, including PyTorch>=1.7., 화면 캡처가 가능한 Local 환경


사용방법

1. git clone https://github.com/ultralytics/yolov5
2. yolov5/model 폴더에 CNN 모델 가중치 저장(~.h5)
3. yolov5 폴더에 yolov5s.pt 저장(yolov5 small 모델 가중치)
4. mv FinalModel.py ./yolov5
5. python FinalModel.py

Image Detection과 CNN을 활용한 비대면 수업 자동 출석체크 시스템

image

Overview

최종 출석체크 시스템은 크게 두 파트로 구성됩니다.

  • Part1) Face Detection - 줌 화면에서 얼굴 영역을 인식하고, CNN모델이 인식하기 쉽도록 얼굴 이미지를 정규화합니다
  • Part2) Face Classification - 누구의 얼굴인지 분류합니다.

image

Data Preprocessing

Kaggle의 Face Mask Detection 데이터셋과 직접 크롤링한 데이터 총 1,000여장에 데이터 증강을 적용하여 최종 6,527장의 데이터셋을 확보했습니다. 이때, 이목구비의 위치를 바꿔 정확도를 떨어트릴 것이라는 가설을 바탕으로 vflip과 rotation 기법은 제외하고, hflip과 grayscale 기법만을 적용하여 학습을 진행했습니다.

image

image

Face Detection by Yolov5

객체의 class와 위치(Bounding Box)를 빠르게 찾는 Yolov5의 pre-trained model을 가져와 줌 화면 속 다양한 얼굴들-마스크를 쓴 얼굴, 측면만 나온 얼굴 등-을 인식할 수 있게 학습시켰습니다.

image

image

Results

image

Face Image Normalization by FaceLankmark

Yolov5로 인식한 얼굴을 CNN모델이 보다 더 잘 얼굴로 인식할 수 있게, FaceLandmark를 통해 얼굴의 이목구비 위치를 동일하게 정렬했습니다.

image

image

Results

image

Face Classification by 4 layer CNN

출석여부를 판단하기 위해 Yolov5로 인식한 얼굴이 누구의 얼굴인지 분류할 수 있는 4층 CNN 모델을 만들었습니다.

Train Dataset

CNN모델을 학습하기 위해선 실제 수강생들의 얼굴 이미지 데이터셋이 수집되어야 합니다. 해당 프로젝트에서는 팀원 6명의 다양한 얼굴 이미지를 확보하기 위해 동영상을 촬영한 뒤 프레임 단위로 이미지를 추출했습니다.

image

Training model

  • Convolutional Layer 4층, 활성함수는 ReLU, Optimizer는 Adam, Dropout 적용

image

Results

10 epoch 훈련한 뒤, Test set에 대한 예측 정확도입니다.

image

image

Final Output

최종 출석체크 시스템의 로직은 다음과 같습니다.

image

Conclusion

image

About

[2022-1학기 DSL 모델링 프로젝트 CNN] Image Detection과 CNN을 활용한 비대면 수업 자동 출석체크 시스템

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Jupyter Notebook 99.6%
  • Python 0.4%