Vision을 활용한 실시간 학습 관리 웹어플리케이션, StudyBuddy의 AI입니다!
StudyBuddy는 가상의 캐릭터 노티가 학습 자세를 관찰하고 피드백을 제공하며, 학습 결과를 시각화하여 목표 달성을 돕는 학습 플랫폼입니다.
이제, 혼자 공부하지 말고, StudyBuddy와 함께하세요!
StudyBuddy의 AI는 학습자의 자세를 실시간으로 분석하여 학습 효율을 높이고 올바른 자세를 유지하도록 도움을 제공합니다.
- YOLOv8 모델을 사용하여 얼굴, 사람, 휴대폰 등 학습 환경을 분석합니다.
- 검출 클래스:
- 얼굴:
sleeping face,awake face - 사람:
sleeping person,awake person - 휴대폰:
phone
- 얼굴:
- 모델 성능:
- Precision: 0.97696, Recall: 0.93202
- mAP50: 0.97415, mAP50-95: 0.85769
![]() |
![]() |
![]() |
- MediaPipe를 활용하여 학습 자세를 분석합니다.
- 기능:
- 어깨 기울기를 바탕으로 올바른 자세와 잘못된 자세를 판별합니다.
- Hand Pose Detection으로 휴대폰 사용 여부를 감지합니다.
- 기준:
- 어깨 기울기 < 0.3일 경우 올바른 자세로 간주합니다.
- 손 위치와 휴대폰 Bounding Box 간의 거리로 휴대폰 사용을 판별합니다.
| estimation 결과 | 올바른 자세 | 올바르지 않은 자세 | |
![]() |
![]() |
![]() |
![]() |
- Dlib를 활용하여 눈동자의 움직임과 깜빡임 빈도를 분석합니다.
- 기능:
- 눈 깜빡임을 통해 졸음 상태를 판별합니다.
- 동공 움직임 분석으로 집중도를 측정합니다.
| 얼굴 랜드마크 |
![]() |
- 구축:
- 10개의 장소, 3명의 학습자, 3가지의 각도, 다양한 자세를 반영한 990장의 데이터를 수집했습니다.
- 각도는 정면, 좌측면, 우측면입니다.
- 자세는 휴대폰을 하는 자세, 누을 감고 있는 상태에서의 각기 다른 자세, 일반적으로 공부하는 자세입니다.
- 라벨링:
- 얼굴, 사람, 휴대폰 검출을 위한 클래스별로 데이터를 분리했습니다.
| 데이터셋 정리 | Pseudo labeling | Labeling |
![]() |
![]() |
![]() |
- 잘못된 자세: 어깨 기울기 0.3 이상
- 수면 상태:
sleeping Face또는Sleeping Person클래스 검출 - 휴대폰 사용: 손 위치와 휴대폰 Bounding Box 간 거리로 판별
conda create -n env_name python=3.6
conda update -n base -c defaults conda // you may need this
conda install conda-forge::dlib
conda install conda-forge/label/cf201901::dlib
conda install conda-forge/label/cf202003::dlib
pip install opencv-python
pip install scipy
pip install ultralytics
![]() |
| 배주현 |
| qowngus33 |












