관심사

[짧은지식] 스마트워치 걸음수 측정 원리를 알아보자

허니시대 2020. 11. 20. 23:44
반응형

1. 개요

애플워치5와 갤럭시워치46mm, 그리고 샤오미워치(어메이즈핏gts) 세 스마트워치를 착용해 본 결과, 체감상 동일한 거리임에도 걸음수 및 칼로리 차이가 크게 나타나서 각 워치의 걸음수 측정 기술에 대해 궁금해졌다. 아무래도 걸음수를 측정하는 프로세스가 각 회사별로 차이가 있는 듯하다.
걸음수가 계산되는 원리에 대해 알아보니, 각각의 웨어러블 기기에서 발생하는 걸음수의 차이는 각 제조사별 걸음수 측정 및 보정에 대한 알고리즘이 다른 것에 기인하며, 각 제조사의 정확한 알고리즘은 알 수 없었지만 전반적인 원리에 대해서는 이해 할 수 있었다.

2. 원리

우선 만보계는 기계식 만보계와 디지털 만보계로 나뉜다. 물론 스마트워치에 사용되는 만보계는 디지털 만보계이다.

a) 기계식 만보계는 사람이 뛸 때 만보계 내부의 무거운 추가 수직방향으로 흔들리며 접점에 닿을 때에 카운트가 된다. 중력과 관성을 이용한 장치이다. 

b) 디지털 만보계는 3축 가속도 센서 및 자이로 센서를 활용하여 체계적인 움직임을 측정한다. 3축은 X, Y, Z 축 방향의 가속도를 측정할 수 있다는 것이며, 움직이는 물체에 센서가 견고하게 장착되어 있는 경우에 각 축 값의 비율을 통해 기울어진 각도를 알 수 있다. 자이로 센서 역시 정확한 걸음수 측정을 위해 사용된다. 자이로 센서는 각속도를 측정하는데, 각속도란 시간당 회전하는 각도를 뜻한다. 기울어진 각도와 각속도를 활용하여 사용자의 움직임을 측정 할 수 있다.
대체로 정지상태에서는 가속도 센서의 측정값이 정확하며 움직이는 상태에서는 자이로 센서의 측정값이 정확하다.
이에 각 회사별로 각 센서 값에 알고리즘을 적용하여 걸음수를 계산한다. 두 센서를 적절히 사용하여 각각의 단점을 상호 보완하게 된다. 미리 입력된 사용자의 키와 몸무게 정보를 통해 팔의 가동 범위 등을 특정하며, 위 가속도 센서와 자이로 센서를 통해 사용자의 이동거리 및 소모된 칼로리를 계산한다.

걷기를 하는 경우에는 x축(전진 방향)의 가속도가 크게 발생한다. 걸음을 앞으로 디디면서 가속도가 커지고, 다음 발을 딛기 위해 이전에 내디딘 발을 정지할 때에 가속도가 가장 작으며, 다음 발을 내딛기 위해 몸을 앞으로 끌어당길 때 가속도 값이 크게 나타난다.

달리기를 할 때에는 걸을때보다 z축의 가속도가 크게 발생한다. 뛰게 되면 수직 방향으로 힘이 크게 작용하기 때문이다. z 축으로의 가속도는 두 다리가 평행한 순간 정점을 나타내며, 지면에 발이 닿게 되었을 때 가장 적다.

대체로 3개의 축 중에서 가장 큰 변화를 가지는 한 축을 결정하고, 그 축의 신호를 추출하여 (Max+Min)/2를 하여 평균치를 계산하며 이를 토대로 패턴을 뽑아내고 평균적인 패턴에서 크게 벗어난 outlier를 필터링한다.

outlier를 필터링하는 알고리즘 역시 정확도에 큰 영향을 미치게 된다. 인사를 할 때에 손을 흔든다전지 차를 타고 이동할 때의 진동 등이 모두 걸음수로 인식되면 해당 방식으로 산출된 걸음 수 데이터를 신뢰할 수 없다.
필터링을 위한 알고리즘으로는 두 가지를 들 수 있다. 첫째로 사람들의 평균적인 움직임의 범위 내 데이터만을 취하는 것이고 둘째로 걸음걸이를 반복되는 하나의 패턴으로 보고 해당 패턴 조건이 충족할 때에 카운팅에 포함하는 것이다. 예를 들어 가속도 센서가 연속적으로 10번 움직여야만 10이 카운팅이 되고, 그 외의 데이터는 무시하는 것이다. 

물론 팔의 움직임으로 걸음수를 추측하는 방식에는 한계가 있으므로, 최근에는 손목과 맞닿는 부위에 있는 심박 센서를 부수적으로 활용하기도 한다. 심장의 움직임에 따라 혈액의 흐름이 달라지며, 이러한 혈액의 변화를 빛의 반사를 통해 알아낼 수 있다. 맥박이나 호흡 등의 생체 신호를 측정하는 센서와 함께 기존 가속도 센서가 사용된다면 더욱 정확한 데이터를 추출할 수 있을 것이다. 

위 사진의 웨어러블 기기에서 초록색 불빛이 나오는 것을 볼 수 있다. 이 빛이 반사되는 정도를 측정하여 칼로리 소모를 정확하게 계산한다. 특히 초록색 불은  이 심박센서는 수면 상태 모니터링, 스트레스 측정에도 활용된다.

삼성 헬스의 경우 걸음수 기능을 활용하기 위해 아래 접근 권한을 요구한다.

위치: 운동 또는 걷기 중 사용자의 위치 정보 수집
인체 감지 센서: HR, SpO2, Stress 기능에서 심박센서 사용
신체 활동: 걸음 수 및 운동 인식

 

3. 기타 사항

걸음수 이외에도 이동거리와 속도, 칼로리 소모량은 사용자의 키나 몸무게 등의 정보를 입력받아 별도로 계산하여 산출한다.
a) 이동거리: 이동거리는 보폭과 강한 양의 상관관계를 가진다. 대체로 키가 큰 사람은 큰 보폭을 가지며 키가 작은 사람은 작은 보폭을 가진다. 단위 시간당 걸음 수와 키를 독립변수로 하는 함수를 사용하여 이동거리를 계산할 수 있다.
b) 속도: 산출된 이동거리를 시간으로 나누어 평균 이동속도를 계산 할 수 있다.
c) 칼로리 소모량: 가속도 센서 등을 활용하여 걸음수를 구하고, 이를 입력받은 나이, 키, 체중, 성별 등의 여러 factor를 활용하여 칼로리 소모량을 계산한다. 계산에 사용되는 알고리즘 역시 각 제품 제조사마다 다르기 때문에 그 값에 차이가 발생한다. 미국의사협회 학술지인 JAMA 2016에 실린 한 연구에 따르면 대부분의 기기가 계산한 칼로리와 실제 소비한 칼로리의 상관관계가 0.8 이상으로 나타났다. 칼로리 소모의 절댓값은 부정확할 수 있으나 칼로리 소비에 대한 추세는 잘 나타낸다고 볼 수 있기 때문에 사용목적에 따라서 유의미한 데이터가 될 수 있다.

728x90
반응형