d라이브러리









#TMI 김 기자의 슬기로운 홈트 생활

요즘 집에서 운동하는 홈트레이닝(이하 홈트)으로 건강을 관리하는 사람들이 많습니다. 일한다는 핑계로 앉아서 먹기만 하고, 코로나19 핑계로 운동도 안 하다가 결국 10kg 가까이 쪄버린 저 역시 홈트에 관심이 많아요. 그런데 자세가 중요한 근력 운동을 혼자 영상만 보고 따라하면 동작이 바른지 알 수 없잖아요. 그래서 AI 트레이너와 함께 운동하는 AI 홈트를 해보기로 했습니다. 그런데 AI 홈트는 제 자세가 맞는지 어떻게 아는 거죠?  

 

 

 

 

홈트 TMI ①  인바디는 어떻게 내 몸의 지방 비율을 알지?

 

인바디는 우리 몸의 70% 이상이 물로 이뤄져 있어 전기가 잘 통한다는 성질을 이용한 기구예요. 발판과 손잡이에 있는 쇠를 통해 몸에 약한 전류를 흘려보내고 전압을 측정한 뒤, 저항은 전압을 전류로 나눈 값이라는 ‘옴의 법칙’을 이용해 체성분을 구하는 거죠. 지방은 근육보다 수분이 적어 전류가 흐르기 힘들어요. 그래서 몸속에 지방이 많다면 저항값이 높게 측정되죠.


 그렇다면 정확한 수치는 어떻게 구하는 걸까요? 먼저 몸을 하나의 원통 모양이라고 가정합니다. 그리고 전기가 통하는 물질의 단면적은 작을수록, 길이는 길수록 저항이 크다는 원리를 식으로 표현한 ‘비저항 공식’을 이용해 체수분량을 구해요. 그리고 체수분량이 제지방량의 약 73%라는 생리학적 이론에 따라 제지방량을 구하죠. 제지방량은 지방을 제외한 무게라는 뜻으로 체중에서 제지방량을 빼면 ‘체지방량’을 구할 수 있어요.


최근엔 인바디의 기술이 발전해서 몸 전체의 체지방량뿐 아니라 왼팔, 오른 다리, 복부 등의 부위별 체지방량도 구할 수 있어요. 앞서 몸 전체의 체지방량을 구할 땐 몸을 하나의 원통이라고 봤다면, 부위별 체지방량을 구할 땐 몸을 양팔, 양다리, 몸통 이렇게 5개의 원통으로 나눠서 살펴요. 


만약 왼쪽 팔의 저항을 알고 싶다면 오른쪽 그림처럼 왼손 전극에서 왼발 전극으로 전류를 흘려보낸 다음 왼손 전극과 오른손 전극 사이의 전압을 측정해요. 그러면 전압 측정 범위 내에서 전류가 흐른 부위(점선)인 왼팔의 저항만 측정되는 것이죠. 제 결과표를 보니 모든 부위에서 체지방률이 평균보다 높았어요(눈물).

 

 

 

 

 

홈트 TMI ② 내 몸의 부위는 어떻게 찾는 거지?

 

카메라로 촬영한 이미지에서 사람을 인지하고, 신체의 각 부분을 알아내는 기술에는 딥러닝의 일종인 ‘합성곱 신경망’을 사용해요. 합성곱 신경망은 인간이 이미지를 보고 인식하는 과정을 모방한 인공신경망의 한 종류예요. 사람은 사진 속 강아지의 귀, 꼬리, 털 등의 특징을 보고 강아지라고 판단하잖아요. 합성곱 신경망 역시 전체 이미지를 작은 부분으로 나누고 각 부분의 특징을 통해 어떤 사진인지 판단해요. 


 합성곱 신경망이 어떻게 제 팔꿈치를 찾는지 그 원리를 설명해볼게요. 가장 먼저 몸의 경계를 파악해요. 이때 특징을 강조해서 보여주는 정사각형 모양의 돋보기가 사진을 영역별로 훑으면서 몸의 경계 부분을 강조해서 보여주죠. 몸의 경계를 찾은 뒤엔 신체 중에서 구부릴 수 있는 곳을 찾아요. 이때는 구부릴 수 있는 곳을 강조하는 돋보기로 사진을 훑어서 찾아냅니다. 이런 방법으로 팔꿈치의 특징을 계속해서 찾다 보면 정확한 팔꿈치의 위치를 찾을 수 있답니다.


 원리를 알았으니 수학적으로 살펴볼게요. 컴퓨터는 사진을 ‘픽셀’이라고 부르는 작은 정사각형의 조합으로 인식해요. 각 픽셀은 밝기에 따라 0부터 255 사이의 값으로 표현되죠. 앞서 돋보기라 표현한 것 역시 ‘필터’라 불리는 정사각형 모양의 픽셀 모음이에요. 필터는 이미지 위를 움직이며 칸에 맞게 포갠 뒤, 필터와 사진의 픽셀에 적힌 수끼리 ‘합성곱 연산’을 해요. 합성곱 연산은 포개진 숫자끼리 곱한 뒤 모두 더하는 거예요. 만약 필터에 적힌 수가 a´, b´, c´, d´고 포개진 픽셀에 적힌 수가 a, b, c, d라면 합성곱 연산을 한 값은 a×a´+b×b´+c×c´+d×d´가 되죠. 이 값이 일정 값보다 크면 찾고자 하는 특징이라고 판단하는 겁니다.

 

 

 

 

홈트 TMI ③ 내 자세가 잘못됐다는 걸 어떻게 알까?

 

합성곱 신경망을 거친 뒤엔 아래 사진처럼 각 부위에 12개의 점이 표시돼요. 이 점들을 우리 몸과 비슷하게 연결하면 각 부위를 나타내는 선분이 생기죠. 트레이너의 신체에도 이런 과정을 적용한 뒤 트레이너의 선분과 내 신체의 선분이 이루는 각도를 비교하면 자세가 얼마나 정확한지 알 수 있어요. 


예를 들어 제 왼쪽 골반과 왼쪽 무릎을 연결한 선분(V2)과 트레이너의 왼쪽 골반과 왼쪽 무릎을 연결한 선분(V1)을 시작점이 같도록 연결해 각도를 비교하는 거죠. 두 선분이 이루는 각도가 작을수록 동작이 유사하고, 각도가 클수록 유사하지 않아요. 이때 얼마나 유사한지 수치로 표현하기 위해 각도를 코사인값으로 나타냅니다.

 


 두 선분이 이루는 각이 0°이면 코사인값은 1이고 90°이면 코사인값은 0이며, 각도가 0°에서 90°로 커질수록 값이 0에 가까워져요. 따라서 동작이 딱 맞아 떨어질수록 1에 가까운 값이 나오죠. 그런데 한 부위만 비교해서는 전체적인 자세의 유사도를 측정할 수 없어요. 그래서 여러 부위에서 코사인값을 구한 뒤 평균을 구해서 트레이너와 내 자세가 얼마나 유사한지 알려줍니다.


 이런 방법으로 비교하고자 하는 대상이 얼마나 유사한지를 구하는 것을 ‘코사인 유사도’라 불러요. 코사인 유사도는 선분의 길이는 고려하지 않고 각도만으로 유사도를 구해요. 만약 코사인 유사도가 선분의 길이도 고려한다면 스쿼트를 할 때 무릎의 각도가 아무리 정확해도 길이가 다르다는 이유로 유사하지 않다는 결과가 나오겠죠? 그래서 신체의 각도가 중요한 운동이나 자세 교정 분야에서 코사인 유사도를 주로 사용한답니다. 


 그렇다면 코사인 유사도를 사용해 구한 자세 유사도는 얼마나 정확할까요? 김건희 서울대학교 컴퓨터공학부 교수는 “합성곱 신경망으로 사람의 신체를 정확하게 인식하기만 한다면 코사인 유사도로 구한 자세 유사도는 꽤 정확할 것”이라고 말했어요. 하지만 사진은 촬영 각도에 따라 왜곡될 수 있기 때문에 AI 홈트 개발사마다 이를 보완한 여러 방법으로 자세 유사도를 구합니다.

 

 

이 기사의 내용이 궁금하신가요?

기사 전문을 보시려면500(500원)이 필요합니다.

2020년 09월 수학동아 정보

  • 김미래 기자 기자
  • 도움

    이광준(카카오VX AI개발팀 연구원), 김건희(서울대학교 컴퓨터공학부 교수), 허마리(인바디 홍보팀 팀장)
  • 디자인

    오진희

🎓️ 진로 추천

  • 컴퓨터공학
  • 체육
  • 의공학
이 기사를 읽은 분이 본
다른 인기기사는?