[3일차] 셀프 모니터링 프로젝트 by DL

MinGyu Park·2022년 2월 17일
0

One Week One Project

목록 보기
2/3

구현

  • PyTorch로 간단한 Classifier 제작
    Dense layer 로 프로토타입 제작
  • 데이터 셋을 라벨당 10,000 장 수집하고, 기존의 2가지 라벨 (study / stop)에 1가지 라벨(Talk)을 추가해서 학습
  • CE Loss 사용

문제점

분류기의 성능이 좋지 않음

  • 분류기의 Input : mediapipe의 약 2000개의 feature(좌표)들
    • Sol A : 꼭 필요한 좌표들을 선정하여 데이터 스케일 조절 (얼굴 윤곽선 등)
    • Sol B : Conv1D, LSTM, ConvLSTM1D 등 다양한 layer 사용
    • Sol C : 학습을 충분히 시키기 (시간, epoch 늘리기)

프로젝트 기획 방향 변경

상반신 사진 + 마스크를 쓴 얼굴 -> 효과적으로 모니터링을 할 수 있을까?

성능이 안나오는 이유는 기획 단계에서 실패한 것일 수 있겠다....

변경 기준

  1. 실현 가능할 것

    1주일 1 프로젝트를 위해서 예제 코드를 쉽게 구할 수 있는 프로젝트 선정. 프로토 타입을 만들고 피드백을 통해 lean하게 발전시키자.

    1주일 단위로 프로젝트를 평가하고, 1주일을 더 투자할 지 결정하자.

  2. 실용적일 것 (적어도 나에게라도)

    만들었다는 성취감으로 만족하지 말고, 실제로 사용할 수 있는 생산적인 프로그램을 만들자.

변경 전 : 웹캠으로 실시간 모니터링 (관절과 얼굴 좌표를 기준으로 상황 분류(label))
변경 후 : 눈 깜빡임을 인식하는 모델 만들기

  • BPM (Blink Per Minute, 분당 깜빡이는 속도)를 측정
  • 시간에 따른 변화량 측정
  • 대량의 데이터를 수집
    A. 집중할 때의 BPM
    B. 평소의 BPM

활용 예시

  • 예시 1 : 나는 13시에서 15시 사이에 집중력이 떨어지는 경향이 있구나.
    필요 집중도에 따른 업무 재배치
  • 예시 2 : 실시간 졸음 탐지 -> 경고음
    휴식 / 기상 알람
profile
Auto Encoder, Computer Vision

0개의 댓글