제가 주로 활동하는 피니셔클럽에 올리기 시작했는데,

여기다가도 같이 올립니다...

글 겁나 기니까 정말 할거 없고 심심하면 보셔요

피니셔클럽에서 보시는게 좀 더 편하긴 합니당





안녕하세요, 진수우입니다!


한~~~~~~참 전부터 심박 센서 리뷰를 준비중이라 해놓고서는

현생이 바쁘다보니 내용을 정리해서 업로드하지를 못하고 있었네요ㅠㅠ


컨텐츠화해서 영상으로 만들어서 화려한 유튜브 데뷔를 해볼까!? 도 생각해봤지만

시간 여유가 잘 나질 않고 잘 만들 자신도 없어서....

재밌을지는 모르겠지만 읽는 분들께 조금이라도 유익한 정보가 되길 바라며

그냥 가볍게 가볍게 게시글 형태로 쓰기로 했습니다ㅎㅎㅎㅎ

기대해주세요! 하기도 부끄럽고... 그냥 정말정말 심심할때 봐주세요+




얼마 전부터 러닝, 마라톤 인구가 부쩍 늘어났음을 느끼고 있어요.


지난 10월 MBC '나 혼자 산다'에서 기안84가 마라톤을 준비하고 완주하는 모습을 보고

감명받아 러닝을 시작하는 분들이 많이 계신 것도 있지만,


개인적으로는 사실 그보다 훨씬 전, 11월에 열리는 2023 jtbc 마라톤 접수가 5월 9일 오픈했을 때

반나절도 채 되지 않아 풀코스 15,000명 신청이 마감되는 것을 봤을 때

인기가 장난이 아님을 새삼 느꼈습니다ㅎㅎㅎ


이런 열기는 러닝 의류나 러닝화 등 관련 장비들에 대한 관심으로 이어지는데,

각잡고 러닝을 시작하는 분들의 장비에서 스마트워치가 빠질 수 없죠!


같은 동작의 무한 반복인 만큼 자칫 지루해질 수 있는 러닝인데,

스마트워치는 내가 러닝을 할 때 여러 가지 관련 데이터를 보여주고, 기록하고, 개선되는 뿌듯함을 느끼며

스스로 플레이하는 나만의 RPG 게임이 되도록, 더 재밌게 러닝을 지속할 수 있는 재미와 동기를 제공하기에

저 개인적으로도 각잡고 러닝을 좀 해보려고 생각하는 사람들에게 스마트워치를 적극 추천하고 있습니다+




이렇게 스마트워치를 착용하고 러닝을 하면서 얻게 되는 여러 가지 데이터 중에

가장 중요한 데이터를 하나 꼽으라면, 아마 10명 중 9명은 심박수를 꼽지 않을까요?

내 몸 엔진의 RPM, 내가 얼마나 '빡시게' 달리고 있는지를 보여주는 기준이 되는 수치이기에

러닝의 강도를 조절할 때 항상 참고하게 되는 데이터이고


꼭 운동할 때가 아니어도,

안정 시 심박수를 통해 현재 나의 컨디션까지 가늠해 볼 수 있는 만큼 그 활용도와 중요성이 상당히 상당합니다!


그만큼 스마트워치에 있어 심박수의 측정은 핵심 기능이라고 할 수 있겠는데요,

끊임없이 휘둘러지는 팔에 붙어서 심박수를 읽어내는 게 그냥 보기도 쉽지는 않겠죠..?

스마트워치가 측정하는 심박수의 정확도는 아무래도 항상 정확하지는 못합니다.


하지만,

분명 콧노래 흥얼거리며 조깅 페이스로 여유롭게 뛰었는데

나중에 기록을 보니 평균심박이 170bpm이 찍혀있고

또 그 기록 때문에 추정 VO2Max가 확 깎여버린다면, 심장 잃은 듯 현타가 확 오죠


이런 일을 직접 경험하거나 전해 들으면 '정확한 심박 측정이 가능한 스마트워치'를 찾게 되는 것이 당연합니다.

직접 하나하나 차고 뛰면서 찾아볼 수는 없으니 자료를 찾게 되죠!

하지만 의외로 심박센서 리뷰는 많이 찾기 어렵거나, 그냥 '쓰기 괜찮다' 정도만 나오는 것이 대부분입니다.




저도 관련 리뷰를 찾아보다가 어떤 해외 유튜버의 심박센서 비교 리뷰를 보게 됐는데,

나름의 방식으로 정확도를 수치화해서 보여주고 있었습니다.


근데 가만히 보니 뭔가 이상합니다.


해당 유튜버의 결과 정리를 봤을 때, 다른 브랜드끼리 정확도 차이는 그런가보다 할 수 있겠는데

같은 가민끼리 보여주는 정확도 차이가 꽤 클 뿐더러

심지어 4세대/5세대 센서간 하극상도 일어나고, 기종 등급간 하극상이 만연했습니다.


보면서 머리속에 물음표만 점점 생기게 되었는데,

지금 이 유튜버의 리뷰가 스마트워치 유저들, 혹은 예비 유저들 사이에서 상당히 신뢰도 높은 정보로 인식되고 있어

거의 반박불가 레퍼런스로 통하고 있더라고요...


궁금한 건 직접 해봐야 하는 성격인지라 그냥 보고 있을 수는 없었습니다.

적어도 제가 직접 테스트해보고, 진짜로 결과가 그 '레퍼런스'와 일치하는지 확인이라도 해 보고 싶어졌습니다.

설령 제 생각이나 방법론이 틀렸다고 하더라도, 보다 다양한 관점의 접근이 필요하다는 걸 환기시키는 차원에서라도

직접 심박센서 벤치마크 리뷰를 해보기로 마음먹었습니다.




서론이 길었죠...?

원래는 유튜브 컨텐츠로 할라고 멘트 준비한건데 글로 쓰니까 그냥 길기만 하네요ㅠㅠ...


이번 글(0-1)의 내용은 다음 순서로 구성되어 있습니다.


1. 광학 심박 센서란?


2. 광학 심박 측정이 어려운 이유


3. 광학 심박 센서 측정 메커니즘




광학 심박 센서란?



혹시 스마트폰으로도 심박수 측정이 가능하다는 걸 아시나요?




스마트폰 앱스토어에서 심박수 측정 앱을 받아서 실행한 다음에

켜져있는 플래시와 카메라 렌즈를 손가락 하나로 같이 살포시 덮으면 심박수가 측정됩니다!

한번 해 보면 광학 심박 센서의 원리를 알 수 있습니다.

심장이 뛸 때마다 혈관이 미세하게 확장/수축되는데, 그 때마다 카메라에 비치는 손가락 색이 미세하게 변하고

앱은 색이 미세하게 변하는 주기를 파악해서 심박수로 표시해 주는 것이죠.


스마트워치의 광학 심박 센서도 크게 다르지 않습니다.

손목에 빛을 쪼이고 반사되어 되돌아오는 빛의 양의 변화를 읽어서 심박수를 파악하는 것이죠.

이 방식의 센서를 PPG(Photoplethysmogram) 방식 센서라고도 합니다.


사용하는 빛은 주로 적외선이나 녹색 빛을 사용하는데,

적외선은 녹색 가시광선보다 깊은 곳에 있는 혈관 측정에 사용할 수 있어

가만히 있을 때 정확도가 더 좋지만, 그 만큼 움직임에 취약해서

운동 중 측정에는 거의 녹색 가시광선을 사용합니다.


녹색을 사용하는 이유는 빨간 색인 피가 가장 흡수를 잘 하는 색이기 때문에,

혈류가 늘었을 때와 그렇지 않을 때 빛의 흡수되는 양 차이를 가장 잘 관측할 수 있기 때문입니다.


이러한 광학 심박 측정(PPG) 방식은 저렴하고, 접촉 면적을 많이 필요로 하지 않고,

비침습적(몸에 바늘 등을 꽂을 필요 없음)이기 때문에 스마트워치에 최적이라고 할 수 있죠!



광학 심박 측정이 어려운 이유



장점이 많은 광학 심박 측정이지만 당연히 단점이 있겠죠? 그게 바로 '낮은 정확도' 입니다.


스마트워치를 차고 가만히 있는 경우에는 측정이 어렵지 않기에 거의 정확한 값을 보여줍니다.

하지만 우리는 가만히 있으려고 스마트워치를 사는 게 아니죠!

우리 손목에 붙은 스마트워치는 정신없이 흔들리는 속에서도 손목에 붙어서 심박수를 읽어내야 합니다.


광학 심박 센서는 피부색, 피부 두께, 팔 문신, 털, 땀, 온도 등의 영향도 받는다고 알려져 있지만

결국에는 '움직임'이 가장 큰 방해 요소입니다.


심박 측정을 방해하는 '움직임'은 크게 세 가지로 볼 수 있겠습니다.



1) 기기 자체 측정 위치의 움직임

시계를 밀착하여 착용하지 않은 경우, 팔을 휘두를 때의 관성이나 땀으로 인한 마찰력 저하로 인해

측정 위치 자체가 이동하는 경우가 있을 수 있습니다. 센서 측정 방식 자체가 빛의 변화를 중요하게 보는 만큼

측정 위치가 수시로 변화면 심박수 측정이 어려울 수 밖에 없죠.

만약 메탈 시계줄로 헐렁하게 시계를 차고 있다면,

운동 중 심박이 정확하게 측정되는 것은 기대하지 않는 편이 낫습니다.



2) 관성이나 옷의 간섭으로 인한 기기의 기울어짐

측정 위치가 움직이지 않았어도, 관성으로 인해 시계의 센서 부분이 손목에 붙어있는 힘이 수시로 변한다면

그 또한 측정을 방해하는 큰 요소입니다.

심장 박동과 관계 없이 손가락 끝을 꾹 누르면 하얘지고, 떼면 다시 붉어지죠?

스마트워치가 심박을 측정하는 손목도 마찬가지입니다.

압력이 수시로 변하면 혈류도 수시로 변하게 되기 때문에 측정이 어렵습니다.

종종 옷이나 장갑 끝이 기기를 계속 건드리는 경우도 있는데, 이 경우도 측정을 어렵게 만드는 요소 중 하나입니다.


손목이 많이 꺾이는 경우에도 피부가 접히면서 시계를 밀기도 하는데,

이는 라이딩(특히 MTB) 시 심박 정확도에 영향을 줄 수 있습니다.



3) 팔의 근육 운동으로 인한 혈류 변화

팔의 근육, 특히 전완근을 사용하는 경우에도 혈류가 크게 변하기 때문에, 측정이 어려워집니다.



위의 세 가지 외에 부수적으로 '주위 밝기의 변화'가 오차를 만들 수도 있습니다.

실내 트레드밀을 뛸 때 특정 방향에서 강한 빛이 들어온다거나

시계를 움직일 정도의 옷 간섭이 아닐지라도,

해가 떠있을 때 팔 움직임에 따라 옷이 반복적으로 시계를 가려 큰 밝기 변화를 반복적으로 일으킨다면

밝기 변화를 통한 혈류 측정에 어려움을 겪게 됩니다.



이런 측정 어려움으로부터 최대한 방해받지 않는 방법은


1) 시계를 손목뼈가 튀어나온 부분에서 살짝 멀게 착용


2) 혈액 순환에 방해받지 않는 선에서 시계를 가능한 한 타이트하게 착용


3) 팔에 불필요한 힘이 들어가지 않게 하고, 불필요한 움직임 최소화


4) 가능한 한 옷이나 장갑 등 악세사리 간섭이 없도록 착용


* 또한 몸이 추위를 느끼는 경우 피부 근처 혈관들이 수축된 상태이기 때문에 측정이 어려워집니다.

워밍업을 통해 어느 정도 체온을 올린 다음 측정하면 보다 나은 결과를 얻을 수 있습니다.



광학 심박 측정 메커니즘


가민의 특허 설명을 기반으로 정리해보았습니다. (애플워치나 다른 회사 기종은 다를 수도 있습니다)

거창하게 메커니즘이라고 적었지만, 요약해보면 단순합니다. 안요약하면 복잡합니다.


혈류와 움직임 둘 다를 측정하고, 혈류에서 주기적으로 반복되는 패턴 주기 후보들을 찾은 다음

움직임 패턴 주기를 찾아서 후보에서 빼고 남은 결과를 심박수로 사용합니다.



좀 더 설명하자면,



1) 피부에 빛을 쏘고, 센서에서 들어오는 빛의 양을 측정합니다.

1초에 수십~수백번(예를 들어 애플워치는 최대 500번까지) 측정하여 그래프를 만듭니다.

(대체로 해당 그래프를 두번 미분한 값을 가공해서 사용한다고 합니다)


2) 얻은 그래프를 FFT등 변환을 사용하여 주파수 분석을 합니다.

FFT를 사용하면 어느 주파수(진동수, 여기서는 심박수 후보) 대역의 성분이 많이 나타나는지를 볼 수 있습니다.

특정 주파수 성분이 많으면 아래 오른쪽 그림처럼 피크가 나타나는데,

하나만 있으면 좋겠지만 움직임 등으로 인해 여러 개가 나타나고, 절반의 값이 피크로 나타나기도 합니다.

(예를 들어 심박수 140에 해당하는 진동수가 있다면, 70에서도 피크가 나타날 수 있습니다)




출처: Determination of the HRV using FFT. The variability of the heart rate... | Download Scientific Diagram (researchgate.net)




3) 모션(관성, 가속도)센서로부터 가속도 변화를 측정합니다.

팔치기 등 움직임에 패턴이 있었다면 각 움직임도 나름의 주파수(진동수)가 있을 것입니다.


4) 2)에서 얻은 주파수 분석 결과로부터, 어떤 피크(심박수 후보)가 움직임으로 인해 만들어진 가짜인지를 찾아냅니다.


5) 1)의 그래프에서, 4)에서 얻은 주파수(진동수)들을 제거하는 필터를 적용합니다.


6) 그 외 추정되는 심박수 영역대를 벗어난 주파수(진동수)들을 제거하는 필터를 적용합니다.(Band-Pass)


7) 이 모든 과정을 마치고 나온 그래프 모양으로부터 심박수를 읽어냅니다.

위 과정들이 정상적으로 끝났다면 7)에서 보는 그래프 모양은 우리가 흔히 보는 심박 그래프에 가까울 것입니다.


참고로 가민에서는 연산을 줄이기 위해 3), 4)의 과정을 매번 수행하지는 않는다고 특허에 명시했습니다.



위 메커니즘을 잘 뜯어보면 몇 가지 힌트를 얻을 수 있습니다.


* 3), 4)의 과정을 계속 수행하진 않기 때문에

움직임 패턴(진동수)이 수시로 변하는 경우 한동안 심박수가 제대로 측정되지 않을 것이고

나아가서 해당 움직임 패턴을 한동안은 심박수라고 오인할 가능성이 생긴다.

-> 워치가 케이던스를 심박수로 오인하게 되는 가장 큰 이유


* 6)의 적용을 위해서는 추정 심박수의 상한/하한선이 필요한데,

이 상한/하한 값을 헛짚으면 한동안 심박수를 아예 놓쳐버릴 수 있다.

-> 급격하게 심박이 변화하거나, 이미 심박이 아주 높은 상태에서 워치를 착용했을 때 심박을 빨리 못 찾는 이유



* 모션(관성)센서를 통해 인식된 움직임들의 성분만 걸러내기 때문에,

모션센서가 잡기 어려운, 간섭으로 인한 작은 움직임에는 취약할 수 있다.


그러면 여기서 또 의문이 들 수 있겠죠?

3), 4)의 과정을 매번 하고

추정 심박수 상한/하한을 넓게 잡거나 없애면 더 정확해지는거 아냐?


물론 그렇겠죠!

하지만 여기서 간과하면 안 될 부분이 있는데,

스마트워치는 상당한 저전력 기기라는 것입니다.


모든 연산은 프로세서를 사용하고, 그 만큼의 전기를 먹습니다.

3), 4)의 과정 또한 프로세서를 사용할 것이고, 그 만큼의 전기를 먹을 것이고

결국 그 만큼 배터리 사용 가능 시간이 줄어들겠죠..!


그럼 굳이 상한/하한 정해서 필터링은 왜 하는데?

심박수 상한/하한을 정해서 필터링하는 과정인 6)은 엄연한 연산이고 전기를 먹는 동작이지만

7)에서의 심박수를 읽어내는 과정에서의 노력과 오차 발생 가능성을 줄여줍니다.

6)의 노력보다 7)에서 줄어드는 노력이 더 크면 이득이고, 실제로 그렇기 때문에 적용하는 걸로 추정됩니다.


이후 진행될 테스트들의 약한 스포일러지만,


가민 워치들은 3),4)의 과정을 매우 드물게 수행하고,

심박수 상한/하한도 굉장히 좁게 잡아 나가는 느낌이라면


애플워치는 심박수 측정이 어려워지면 3),4)의 과정을 더 자주 수행하고,

상한/하한도 넓게 잡아 나가는 느낌입니다.


당연히 애플워치가 정확도가 더 높을 것이고, 한편 그만큼 배터리 소모가 큽니다.


그 외에 아직 언급되지 않은 두 회사 기기의 심박 측정 차이가 남아있습니다ㅎㅎㅎㅎ




내용 대비 글 작성 시간이 상당히 들어가네요ㅋㅋㅋㅋㅋ ㅠㅠ


다음 편(0-2)에는

* 기존 심박센서 리뷰가 불편했던 이유

* 그래서 만든 나만의 리뷰 방법

이 두가지를 적을 것 같고,


그 다음으로 에픽스 Gen2 심박 벤치마크 리뷰를 올리도록 하겠습니다~


0-2는 시간이 되면 오늘 오후에 써보고, 에픽스 Gen2 리뷰는 멀지 않은 시일내에....올리겠습니다ㅎㅎㅎ

이후에 에픽스 프로와, 애플워치 SE를 올릴 예정입니다~



다음 글 링크: 

광학 심박 센서 테스트 - 0-2. '기존문헌'에 대한 고찰 - 러닝 마이너 갤러리 (dcinside.com)