회고

[웹 개발] 포즈인식 기반 비대면 실기수업 플랫폼

코로나19로 인해 거의 모든 수업이 비대면으로 이뤄지고 있는 지금, 실기수업 위주의 학과들에서는 제대로된 수업을 할 수 없어 많은 불만이 쏟아져나오고 있는 상황입니다. 저희는 체육수업에 초점을 맞추고, 이런 문제를 포즈인식 기술을 활용하여 해결해보고자 하였습니다. 교수의 수업 영상, 학생의 실습 영상을 비교하여 채점 결과를 제공하는 것이 주요 기능입니다. 그 외에도 웹캠을 활용한 녹화, 영상 업로드, 과제 피드백 등의 기능을 제공합니다.

💗 주요내용

  • Alphapose를 backbone으로 포즈 인식을 위한 알고리즘 개발 
  • 두 포즈의 정확도 측정 지표 개발
  • 수업에 활용할 수 있는 웹 서비스 개발(FE/BE) → 제가 맡은 부분입니다!
    • 학생용 기능: 수업 동영상 확인, 웹캡을 활용한 동영상 녹화 및 업로드, 영상 채점 결과 및 교수평가 확인
    • 교수용 기능: 수업 동영상 업로드, 학생들의 과제 현황 및 점수 확인, 각 학생들의 포즈에 평가 등록

팀은 기획2, 디자인, 개발2로 진행하였고, 포즈인식 관련 알고리즘 개발은 태호님께서 맡아주셨습니다!

데모

학생시점 데모
교수시점 데모
솔직챌린지 최종 발표영상

진행기간

2020.06 ~ 2020.10

전체코드

폴더를 분리해서 repo가 두개로 올라갔네요..ㅎㅎ

프론트: https://github.com/youjeongsue/SJC-react

백: https://github.com/youjeongsue/SJC-django

 

youjeongsue/SJC-django

솔직 챌린지 프로젝트. Contribute to youjeongsue/SJC-django development by creating an account on GitHub.

github.com

서비스 흐름도

그림이 어딨더라,,

회고

기획, 디자인, 개발까지..

이번 프로젝트를 하면서 기획, 디자인, AI 개발자 모두와 협업을 해야했습니다. 이런 프로젝트는 처음이라 원활하고 명확한 소통을 하려고 노력했던 것 같습니다.

 

구체적으로는 User Story, API 명세서 등을 만들어서 사용했었습니다. User Story 같은 경우에는 저희 팀에 맞춰서 형식을 만들고 기능 정의/일정 관리 등을 한번에 할 수 있도록 했습니다. 사용해보니 기능 단위로 일정을 관리하기도 쉽고, 역할이나 진행 상황, 이슈 같은 부분도 다 때려넣어서 한눈에 파악하기가 좋았던 것 같습니다

 

API 명세서 같은 경우는 포즈인식 모델과 웹 서버가 데이터를 주고받는 형식을 명확히 하기 위해 사용했었습니다. 거창한 건 아니었지만 문서로 작성해두니 오해가 생길 일도 없고, API 설계가 좀 더 쉬워진 느낌이었습니다.

 

문서를 잘 만드는 것도 개발자의 실력 중 하나라고 하는데, 이 프로젝트를 하면서 공감을 많이 했습니다. 블로그를 더 꾸준히 하면서 글 쓰는 능력을 길러야겠다는 생각이 들었습니다 ㅎㅎ

솔직 챌린지

최종 시민투표 화면! 클릭하면 이동합니다

챌린지 1차 통과하고 최종발표를 준비하면서 피드백을 받을 수 있는 기회가 생겼습니다. 직접 개발한 프로젝트를 기술적으로 피드백을 받을 기회가 없었는데 이런 기회가 생겨서 매우 좋았습니다!! 피드백은 기술부분과 솔루션부분으로 나뉘어 진행되었습니다.

 

기술 피드백에서는 ~ 이런 부분을 받았는데, 이전에는 생각도 해보지 못한 부분이라 머리를 한대 맞은 것 같은 기분이었습니다. 예전 프로젝트들에서는 '기능이 잘 작동하게 하는 것'만을 목표로 개발해왔었기 때문입니다. 사실 그동안은 실제로 서비스할 프로젝트들은 아니었기 때문에  실제 서비스화 되었을 때 생길 수 있는 문제들도 고려해야 한다는 것은 생각치도 못했습니다..

 

목표가 실제로 서비스화시키는 것은 아니었기 때문에 이러한 부분은 당장의 개선보다는, 알아두고 공부해보라고 하시고 넘어갔습니당

 

높은 정확도와 맞바꾼 실시간 기능