top of page

소개 (About)

LIVFIT은 사용자의 운동 동작을 보다 정확하게 측정하고 피드백할 수 있는 웹 기반 피트니스 플랫폼을 목표로 시작된 프로젝트입니다. 특히, Google의 Mediapipe 기술을 활용하여 운동 자세를 인식·분석하고, 단순한 기록을 넘어 정확한 동작 수행 여부를 실시간으로 판단할 수 있도록 설계되었습니다.

 

핵심 기능(Key feature)

  • 운동 측정 기록 – Mediapipe로 운동 자세·횟수 자동 측정

  • 거북목 측정 기록 – 목 각도 분석을 통한 자세 교정 피드백

  • 시간별·세트별 기록 – 운동 데이터를 세트/시간 단위로 저장·조회

  • 소셜 로그인(OAuth + JWT) – Google 등 외부 계정 연동 로그인

  • 마이페이지 그래프 시각화 – 일·주·월 단위 성과를 그래프 제공

  • 매일 운동 챌린지 – 일일 목표 달성 여부 확인 및 리워드 제공DB 기반 사용자별 누적 이력 관리

  • 반응형 디자인 – PC·모바일 환경 최적화 UI 제공

  • 데이터 보안 – JWT 인증 + 사용자 데이터 암호화 저장

사용 기술(Technology)

image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png

문제해결(Problem Solving)

문제 1). 포즈인식 정확도

Mediapipe의 Pose 모델은 일반적인 동작 인식에는 적합하지만, 특정 운동(예: 플랭크, 런지 등)에서는 관절 포인트 인식 정확도가 떨어져 잘못된 자세 판별이 발생하였습니다.

​해결책

운동 종목별로 필요한 관절 각도와 포즈 기준값(Threshold Angle) 을 개별적으로 정의하고, 자세마다 다른 계산 로직을 적용했습니다. 예를 들어, 스쿼트는 무릎-엉덩이 각도를 기준으로, 플랭크는 어깨-골반-발목의 직선 정렬 여부를 기준으로 판별했습니다. 또한 여러 프레임을 평균화하는 알고리즘을 적용하여 순간적인 오탐(false positive)을 줄였습니다.

문제 2). 운영자 편의성 부족 문제

노트북(16:9), 모바일(18:9), 저가형 카메라(4:3) 등 입력 비율과 해상도가 달라 Mediapipe 좌표 스케일이 흔들리고, 동일 동작임에도 각도 계산 정확도가 달라지는 문제가 발생하였습니다.

​해결책

영상 입력 단계에서 모든 좌표를 0~1 범위로 정규화하고, 패딩·미러링·회전 보정을 포함한 좌표 변환 파이프라인을 적용하여 기기 환경에 관계없이 일관된 포즈 분석이 가능하도록 구현하였습니다.

bottom of page