Weltried의 프로젝트 주제는 웨어러블 벨트를 이용하여 앉은 자세 시각화와 이를 통한 자세 교정 피드백 어플리케이션 개발입니다. 이를 위해 어플리케이션을 설계하고 개발하는 클라이언트 파트와, 계정 생성 및 AI모델 연동을 위한 서버 파트, 3축 가속도 데이터를 이용하여 현재 자세의 방향을 정의하는 AI 파트로 부서를 나누었습니다.
AI파트는 자세 데이터를 이용하여 모델을 학습하고, 이를 통해 실시간으로 현재 자세를 예측하기 위해 다음과 같이 세부 일정을 정하였습니다.
- 자세 데이터 수집을 위한 실험 설계
- 수집 데이터 가공, 전처리 및 데이터 분석
- 모델 설계
이번 글에서는 앉은자세 측정 모델을 개발하기 위한 데이터 수집 과정에 대해 소개합니다.
실험 설계
WELT사의 웨어러블 벨트는 자체적으로 0.2초마다 3축 가속도 데이터를 전송할 수 있습니다. 따라서 기존 기능을 이용하여 자세를 예측하기 위해 이용할 데이터는 3축 가속도 데이터로 정하였습니다. 3축 가속도 센서는 x, y, z 3방향에 가해지는 가속도 값을 계산합니다. 따라서 허리를 특정 방향으로 기울일 경우 벨트에 있는 가속도 센서의 위치가 변하게 되고 특정 3축 가속도 값을 띄게 됩니다. 이를 이용하여 자세를 예측할 수 있습니다.
각도 | 조인 정도 | 1세트 |
5~15도 | 꽉 조임(-1칸) | 150(30초) |
평범 | 150 | |
여유 있게(+1칸) | 150 | |
15~25도 | 꽉 조임(-1칸) | 150 |
평범 | 150 | |
여유 있게(+1칸) | 150 |
실험 진행 방식. 해당 표의 내용을 9방향으로 모두 실행하여 총 8100개의 데이터 수집
분류할 자세는 총 9가지로 전방, 후방, 좌측, 우측, 대각선 4방향, 중앙으로 총 9가지 방향으로 정하였습니다. 실험은 6명의 모든 팀원이 참여하였습니다. 실험자 한 명은 총 9가지 방향, 허리를 기울인 정도(많이, 적게), 벨트의 조인 정도(꽉 조임, 평범, 여유있게)를 각각 30초씩 진행하였습니다. 따라서 한 명당 총 9 * 2 * 3 * 150 = 8100 개의 데이터를 생성하였으며 6명이므로 6 * 8100 = 48600개의 데이터를 생성하였습니다.
데이터 생성시 유의한 점
데이터 생성시의 문제점이라고 생각할 수 있는 부분은, 체형, 벨트를 조이는 정도 등이 사람마다 다를 수 있고 이로 인해 실험 데이터와 실제 데이터의 괴리가 생길 수 있다는 점입니다. 이를 해결하기 위한 방법으로 실험자 개개인이 9방위만 돌아가며 수집하는 것이 아니라, 벨트를 꽉 조이기도 하고, 느슨하게 조이기도 하며 허리를 굽히는 각도도 조금만 굽히기도 하고, 크게 굽히기도 하는 등 다양한 조건에서의 데이터를 수집할 수 있도록 하였습니다. 머신 러닝 모델의 특성상 다양한 조건의 데이터를 학습에 이용할 수만 있다면 해당 조건에서 나타나는 차이에도 잘 대처할 수 있다는 장점이 있습니다. 따라서 이렇게 다양한 조건의 학습 데이터를 준비하여 모델이 다른 조건이 주어진 상황에서도 잘 작동할 수 있도록 하였습니다.
첫 번째 열은 x축 가속도, 두 번째 열은 y축 가속도, 세 번째 열은 z축 가속도를 나타냅니다. 다음과 같은 형식으로 실험 데이터를 준비를 마쳤습니다.
'Project > 산학협력프로젝트_WELT' 카테고리의 다른 글
모델 설계(MLP, KNN, LightGBM) (0) | 2022.07.11 |
---|---|
데이터 분석 (0) | 2022.07.11 |
데이터 전처리 (0) | 2022.07.11 |
1. 산학협력프로젝트_with_WELT Intro (0) | 2022.05.09 |