Korean Institute of Information Technology

Home

The Journal of Korean Institute of Information Technology - Vol. 21 , No. 12

[ Article ]
The Journal of Korean Institute of Information Technology - Vol. 21, No. 12, pp. 171-177
Abbreviation: Journal of KIIT
ISSN: 1598-8619 (Print) 2093-7571 (Online)
Print publication date 31 Dec 2023
Received 24 Aug 2023 Revised 25 Sep 2023 Accepted 28 Sep 2023
DOI: https://doi.org/10.14801/jkiit.2023.21.12.171

인체 키포인트의 신뢰 점수에 기반한 자세의 유사도 분석 기법
김정원*
*신라대학교 컴퓨터공학부 정교수

A Posture Similarity Analysis Scheme based on the Confidence Score of Human Body Keypoints
Jeongwon Kim*
Correspondence to : Jeongwon Kim Dept. of Computer Engineering, Silla University, 140 Baegyang-daero(Blvd), 700beon-gil(Rd.), Sasang-Gu, Busan, Korea Tel.: +82-51-999-5749, Email: jwkim@silla.ac.kr

Funding Information ▼

초록

최근 가상현실, 증강현실, 그리고 HCI(Human Compute Interface) 분야에서 카메라를 통해 인체의 키포인트를 실시간으로 추출하여 운동 자세 교정, 운동 종류 분석, 그리고 가상의 동작 생성 등 다양하게 활용하고 있다. 이는 기준 동작과 수행 동작의 유사도를 통해 수행 동작의 정확성을 제공하므로 스포츠, 무용, 그리고 헬스 케어 분야에 새로운 응용들이 출시되고 있다. 기존 유사도 측정에는 코사인 유사도, 가중치 기반의 매칭 기법, DTW(Dynamic Time Warping) 등이 제안된 바 있다. 본 연구에서는 구글의 TensorFlow Pose Estimation 등 다양한 딥러닝 프레임워크에서 추출된 키포인트들을 기반으로 신뢰도 점수에 기반한 새로운 유사도 분석 기법을 제안한다. AI Hub 및 다양한 이미지 셋에서 제공하는 인체 자세 이미지에 제안 기법을 적용한 결과 기존 기법 대비 우수한 성능을 확인하였다.

Abstract

Recently, in the field of virtual reality, augmented reality, and HCI(Human Compute Interface), key points of the human body are extracted in real time through a camera and used in various ways such as correcting exercise posture, analyzing exercise types, and generating virtual motions. Since this provides a score for the performed motion through the similarity between the reference motion and the performed motion, new applications are being released in the fields of sports, dance, and health care. Cosine similarity, weight-based matching techniques, and DTW(Dynamic Time Warping) have been proposed for similarity measurement. In this study, we propose a new similarity analysis method based on confidence scores on key points extracted from various deep learning frameworks such as Google TensorFlow Pose Estimation. As a result of applying the proposed technique to the human body posture image data set provided by AI Hub as well as various image sets, superior performance was confirmed compared to existing methods.


Keywords: human body postures, key points, deep learning, similarity, HCI

Ⅰ. 서 론

최근 코로나로 인한 사회적 거리두기에 기인한 홈 트레이닝의 증가로 운동장소가 헬스장 및 피트니스 센터에서 각 가정으로 확대되고 있어 비대면 트레이닝이 증가하고 있다. 이에 따라 모바일 폰이나 웹 카메라를 통해 자세 교정 기술이 개발되고 있는데 요구 기술 중 동작 인식은 카메라를 통해 캡처된 인체의 동작을 분석하여 가공하고 분류하므로 핵심기술이다.

한편 기존의 키넥트와 같은 3차원 깊이 카메라를 통하여 물체를 3차원으로 인식하는 기술은 동적 객체를 기반으로 인체의 골격화를 수행하였는데 이는 인체와 유사한 객체도 골격화가 되고 손이나 발에 부착된 물건까지도 골격에 포함되는 등 정확한 자세 추정이 불가능하였다. 그러나 최근 구글의 TensorFlow Pose Estimation 같은 딥러닝 기술의 발전으로 카메라를 통해 인체의 키포인트를 정확하게 추출하는 머신러닝 기술이 개발되어 인체 자세 추정의 신뢰도가 높아지고 있으며 모바일 장치에 적용되는 등 경량화도 가능해지고 있다[1].

머신러닝을 이용한 동작의 유사도 분석은 자세 교정이나 자세 인식에서 중요한 요소 기술이다. 기존의 자세 유사도 분석에는 키포인트를 대상으로 코사인 유사도, 코사인 거리, 가중치 기반 매칭, 그리고 DTW(Dynamic Time Warping) 등이 적용되어 상당한 성능을 나타낸 바 있다.

상기에 적용된 키포인트는 COCO 모델의 경우 17개, 구글 MediaPipe의 경우 33개의 키포인트가 제공되는데 기존 기법들이 17개 키포인트를 대상으로 하지만 본 연구에서는 33개를 대상으로 자세의 유사도를 분석하는 알고리즘을 제안한다. 또한 키포인트의 신뢰 점수(Confidence score), 즉 가중치 기반의 유사도를 통해 인체 자세의 유사도 분석의 신뢰성을 향상시키고자 한다.

본 논문의 구성은 다음과 같다. 2장은 관련연구를 통해 본 연구의 차별성을 논하고 3장에서는 제안하는 유사도 분석 알고리즘을 자세하게 기술한다. 4장에서는 인체 자세 이미지 데이터셋에서 실시한 성능 평가에 대해 논한다. 마지막으로 5장에서는 결론과 향후 연구를 제시한다.


Ⅱ. 관련 연구

인체 자세의 유사도 분석에는 크게 키포인트를 추출하는 딥러닝 기반의 프레임워크와 동작을 인식하고 유사도를 측정하는 알고리즘이 사용된다.

먼저 키포인트를 추출하는 대표적인 프레임워크는 MS COCO로서 객체 탐지뿐만 아니라 세그멘테이션, 키포인트 탐지 등을 위한 데이터셋을 제공하고 17개의 키포인트로 구성된다. 구글의 경우 PoseNet, OpenPose를 시작으로 MoveNet, MediaPipe BlazePose 등을 제공하는데 BlazePose의 경우 COCO 키포인트에 얼굴, 손, 발 등을 추가한 33개의 키포인트를 제공한다.

동작인식 기술에서는 동작을 분류할 때 kNN(k-Nearest Neighbor), CNN(Convolutional Neural Network)[2], LSTM(Long-Short Term Memory)[3], GRU(Gated Recurrent Units)[4], RNN(Recurrent Neural Network)[5], 그리고 DTW 알고리즘을 주로 사용한다. 특히 CNN의 경우 분류 모델로서 높은 성능으로 인해 MediaPipe BlazePose 등에서 정확도와 빠른 연산 속도를 제공하고 있고 DTW의 경우 동작 분류뿐만 아니라 자세의 유사도 알고리즘에도 적용할 수 있다.

상기의 동작 분류의 경우 동작의 대분류에 적용되지만 본 연구의 동작 유사도는 소분류에 해당하는데 전신의 동작 비교에 관한 연구는 다소 부족한 편이다. 예를 들어 쓰러진 동작 감지, 손 모양 추정, 그리고 제스쳐 인식 등 일부 동작을 매칭하는 연구들이 있으며[6]-[8] 동작 데이터를 동작의 궤도 형식으로 정의하여 궤도 간의 거리를 측정하는 프레셰 거리의 경우 동작 유사도를 정량화한 바 있다[9].

동작의 유사도를 분석하는 데는 키포인트 간의 코사인 유사도, 코사인 거리, 가중치 기반 매칭, 그리고 DTW 등이 적용된 바 있다. 이러한 기존 연구 대비 본 연구의 차별성은 자세 유사도의 정밀성을 위해 BlazePose가 제공하는 33 키포인트를 대상으로 하는 점, 대분류의 동작 분류가 아니라 소분류의 동작에 대한 유사도 분석 알고리즘인 점, 그리고 키포인트가 제공하는 신뢰 점수에 기반하여 가중치를 적용한 점이다.


Ⅲ. 신뢰도 점수 기반 유사도 측정 기법
3.1 MediaPipe

구글은 2021년 새로운 실시간 자세 추정 모델인 MediaPipe와 MoveNet 모델을 출시했는데 특히 MediaPipe의 BlazePose는 단일 인체의 인식에 최적화된 머신러닝 모델이다.

BlazePose는 그림 1과 같이 Stack Hourglass[10]의 아이디어를 확장하고 인코더-디코더 네트워크 아키텍처를 사용하여 모든 관절의 히트맵을 예측한 다음 관절의 좌표로 직접 회귀하는 인코더를 사용하였다.


Fig. 1. 
MediaPipe: Inference pipeline

이를 통해 추론 중에 히트맵 분기를 삭제하여 휴대전화에서 실행할 수 있을 만큼 가볍고 포즈, 얼굴 및 손에 대해 최대 543개의 키포인트를 제공하는 여러 버전의 30 프레임의 추론 속도를 제공하므로 본 논문의 적용 응용 중 하나인 비대면 홈 트레이닝 애플리케이션에서 크로스 플랫폼 배포에 이상적이고 그림 2와 같이 33개 키포인트의 적용은 동작 유사도의 정밀성을 향상시킬 수 있을 것으로 기대된다.


Fig. 2. 
33 keypoints topology of MediaPipe

3.2 유사도 분석 알고리즘

그림 3은 본 연구에서 유사도 분석을 위해 적용한 알고리즘의 순서도로 먼저 단계 ①에서는 BlazePose 라이브러리에서 자세 추정을 통해 그림 2의 33개 키포인트, 즉 {x, y, z, score, name} 객체 배열을 생성한다. 또한 데이터 세트의 모든 이미지는 너비/높이가 다를 수 있고 각 사람이 이미지의 다른 하위 집합(왼쪽 상단, 오른쪽 하단, 중앙 등) 내에 나타날 수 있으므로 아래 두 가지 추가 단계를 수행하여 데이터를 일관되게 비교할 수 있게 한다.


Fig. 3 
Flowchart of pose similarity analysis

단계 ②에서는 자세 비교 알고리즘의 원활한 계산을 위해 먼저 추정된 키포인트를 벡터 형식으로 변환할 필요가 있는데 아래와 같은 3개의 벡터를 생성한다. 벡터 keypoints는 33개 좌표를 일렬로 정렬한 것이며 벡터 translate는 키포인트에 적용할 변환 값을 저장하며 벡터 scores는 각 키포인트의 스코어와 모든 스코어들의 합을 저장하는데 이는 BazePose에서 키포인트를 추정한 신뢰도 점수를 의미한다.

keypoints¯=x1,y1,z1,,x33,y33,z33translate¯=translateX, translateY,scalerscores¯=score1,score2,...,score33,k=133scorek

단계 ③에서는 각 사람의 경계 상자 좌표를 사용하여 각 이미지(해당 키포인트 좌표)를 일관된 크기로 자르고 크기를 조정한다. 이전 단계의 벡터 translate에서 스케일러(multiply, replace, add)에 따라 x, y, z 방향에 변환식을 적용하여 응용의 목적에 부합하게 키포인트를 변환한다.

단계 ④에서는 L2 정규화를 적용하는데 자세 키포인트를 벡터형식으로 변환 후 키포인트 좌표를 L2 정규화 벡터 배열로 정규화한다. 이는 벡터가 단위 벡터가 되도록 크기를 조정하는 것으로 L2 정규화 벡터의 각 요소를 제곱하고 합하면 결과는 1이 된다.

단계 ⑤에서는 이전 단계의 결과인 자세의 단위 벡터를 대상으로 실제 유사도를 측정하는 단계로서 아래에서 제안 기법을 소개한다.

3.3 Confidence distance

본 논문에서 제안하는 유사도 알고리즘은 CD(Confidence Distance)로 명명하고 소개한다. 먼저 L2 정규화된 두 개의 키포인트 벡터를 각각 P, Q라고 정의하고 P는 홈 트레이닝에서 시범자, 즉 트레이너의 자세이고 Q는 참가자의 자세 벡터이다. 일반적으로 두 벡터의 유사도(Cosine similarity)를 통해 코사인 거리와 유클리드 거리를 구할 수 있다. 코사인 유사도는 식 (1)에 의해, 코사인 거리는 식 (2)로 정의할 수 있다. 벡터 간 각도가 작을수록 코사인 유사도는 1에 수렴하고 동작 차이가 클수록 –1에 수렴한다. 따라서 유클리드 거리 즉 코사인 거리는 0에서 2의 범위를 가지게 되는데 두 동작의 유사도가 높을수록 0에 수렴하고 유사도가 낮을수록 2에 가까워진다.

cosineSimilarityP,Q=PQPQ(1) 
cosine distanceP,Q=2(1-cosineSimilarityP,Q(2) 

상기의 코사인 유사도나 코사인 거리는 상당히 만족할 성능을 보이지만 자세 추정의 경우 BlazePose를 비롯한 많은 자세 추정 모델은 확률 모델을 사용한다. 즉 100%의 정확도로 관절의 위치를 정확하게 추정하는 것은 거의 없으며 인체의 각종 정보에 기반하여 관절의 위치를 추정하는 것이다.

예를 들어 어깨 한쪽을 앞으로 내밀 때 나머지 어깨는 가리게 될 가능성이 있으므로 각 어깨의 위치에 대한 확률값을 유사도 계산에 적용해야 신뢰도가 높아지는데 BlazePose의 경우 점수로 이 값을 표현한다. 이 점수를 무시하면 데이터에 대한 귀중한 의미를 놓치고 실제로 확신하지 못하는 데이터에 너무 많은 가중치와 중요성을 부여할 수 있다. 이것은 이상하고 임의적으로 보이는 결과로 이어질 수 있는 노이즈를 생성할 수 있다.

구체적으로는 신뢰도 점수가 낮은 관절이 신뢰도가 높은 관절보다 거리 메트릭에 미치는 영향이 적도록 관절 데이터에 가중치를 부여하는 것이 본 연구의 목적인데 구글의 George Papandreou와 Tyler Zhu는 아래 식 (3)에서 시범자의 신뢰도 점수에 기반한 가중치 기반의 유사도 모델을 제안하였으나 두 벡터의 거리 계산에서 단순 차분(||Fxyk-Gxyk||)을 적용하여 노이즈가 포함될 수 있고 17개 키포인트만 포함하여 인체 전체를 포함하지 못하는 점이 있다.

DF,G=1k=117Fck×k=117FckFxyk-Gxyk(3) 

따라서, 본 논문은 식 (3)의 모델을 개선하여 두 벡터, 즉 시범자와 참여자의 벡터 간 거리를 코사인 유사도를 적용하여 식 (3)의 노이즈를 최대한 줄이고 신뢰도 점수를 차등 적용한 기법을 제안한다. 차등 적용은 시범자의 점수(CDP), 참여자의 점수(CDQ), 둘 중 최대 신뢰도를 가진 키포인트의 점수(CDmax), 그리고 평균값을 적용한 모델(CDavg)로서 아래 식 (4), (5), (6), (7)로 표현되며 이중 최고의 성능을 보인 모델을 성능평가를 통해 제시한다.

CDpP,Q=1k=133Pck×k=133PckPkQkPkQk(4) 
CDqP,Q=1k=133Qck×k=133QckPkQkPkQk(5) 
CDmaxP,Q=1k=133maxPck,Qck×k=133maxPck,QckPkQkPkQk(6) 
CDavgP,Q=1k=133Pck+Qck2×k=133Pck+Qck2×PkQkPkQk(7) 

상기 수식에서 Pck, Qck는 시범자, 참여자의 k 번째 키포인트의 신뢰도 점수로서 두 벡터 간의 코사인 유사도에 신뢰도 점수를 곱하여 높은 신뢰도 점수를 가진 키포인트가 거리 계산에 더 반영된다. 따라서 상기 식 (4)~(7)의 값이 클수록 거리가 가깝고 유사도가 높음을 의미한다.

한편 제안하는 기법에서 CDP, CDQ의 경우 시범자, 참여자의 키포인트 신뢰도 점수를 일방적으로 적용하여 낮은 신뢰도 값이 계산에 적용되는 경우가 발생할 수 있으며 CDmax의 경우 둘 중 신뢰도가 높은 키포인트를 적용하므로 유사도 계산의 정확성이 향상될 것으로 보이며 CDavg는 두 키포인트 값을 평균하므로 낮은 신뢰도 값을 보정하는 효과가 있는 것으로 분석된다.


Ⅳ. 실 험

본 논문에서는 제안하는 기법의 성능을 검증하기 위해 표 1과 같은 실험 환경에서 동작의 유사도를 측정하였는데 주요 파라미터로는 MediaPipe의 BlazePose 모델을 자바스크립트로 구현한 BlazePose TFJS 엔진을 사용하여 크롬에서 웹 애플리케이션을 구현하였다.

Table 1. 
Experimental parameters
parameters description
estimation engine BlazePose TFJS
keypoints number 33
OS Windows 10
programming language Javascript, HTML5
GPU NVIDIS GeForce GTX1070
image set AI-Hub, Pexel Yoga Images
web browser chrome

먼저 그림 4에서와 같이 동일 자세에 대한 제안기법 및 비교 대상 기법의 유사도를 측정하였는데 그림 4의 상단의 결과에서 보듯이 동일 이미지는 cosineSimilarity, confidenceDistance 의 경우 1, weightedMatching, cosineDistance는 0이 나왔다. 따라서 cosineSimilarity와 confidenceDistance는 1에 가까울수록 weightedMatching, cosineDistance는 0에 가까울수록 유사한 자세이다.


Fig. 4. 
Implementation example(identical pose)

본 연구는 자세를 분류하는 것이 목적이 아니라 자세의 유사도 측정 알고리즘을 제안하는 것이므로 기준 이미지의 자세 대비 비교 대상 이미지 자세의 분산 정도, 즉 기준 알고리즘의 유사도 측정값 대비 비교 대상 알고리즘들의 분산을 구하여 제안기법의 신뢰성을 판단하고자 한다. 그림 5는 이미지 셋 내 모든 이미지의 자세를 대상으로 유사도를 측정한 구현 화면을 캡쳐한 것으로 기준 이미지 1,000개를 비교 이미지 1,000개를 대상으로 유사도 검사를 실행한 결과이다.


Fig. 5. 
Implementation example(image set)

그림 6은 기존 기법의 유사도 결과로서 cosineSimilarity 를 기준으로 했을 때 weightedMatching이 가장 근접한 유사도를 보이고 있고 consineDistance는 수식의 영향으로 다소 차이를 보이고 있다. 그림 7은 cosineSimilarity를 기준으로 제안 기법들의 유사도 결과로서 제안한 4가지 기법들 모두 기준 유사도에 근접한 결과를 보였다. 이것은 각 키포인트의 신뢰도 점수를 반영한 결과로서 weightedMatching과 cosineDistance 대비 신뢰도가 높아졌음을 의미한다.


Fig. 6. 
Similarity results of the existing schemes


Fig. 7. 
Similarity results of the proposed schemes

표 2는 각 기법들의 분산을 정리한 것으로 weightedMatching, cosineDistance는 제안 기법들 대비 약 2배의 값을 보이고 있어 신뢰도 측면에서 제안 기법이 우수함을 의미한다. 또한 제안 기법들 중 CDmax 의 값이 가장 낮은데 이는 명확한 키포인트의 신뢰도 점수를 가장 많이 반영한 결과로 분석된다.

Table 2. 
Variance values of the proposed schemes
algorithms variance values
weightedMatching 0.00575
cosineDistance 0.00529
CDp 0.00266
CDq 0.00267
CDmax 0.00169
CDavg 0.00253


Ⅴ. 결론 및 향후 과제

본 논문에서는 구글 MediaPipe의 BlazePose를 이용하여 인체 자세의 키포인트를 추출하여 인체 자세의 유사도를 측정하는 기법을 제안하고 요가 이미지 셋을 대상으로 웹 애플리케이션에서 실험을 진행하였다. 제안 기법은 33개 키포인트를 적용하여 알고리즘의 정밀성을 확보하고 추출된 키포인트의 신뢰도 점수를 거리 계산에 적용하여 유사도 측정의 신뢰성을 향상시켜 기존 기법 대비 우수한 성능을 보였음을 확인하였다.

한편, 본 논문의 구현은 인체 자세의 유사도 측정의 핵심 기능을 구현한 점에서 의의가 있으나 비대면 홈트레이닝 등에 적용하기 위해서는 정적 이미지가 아닌 실시간 영상이나 비디오를 대상으로 유사도를 정량화시킬 필요가 있다. 따라서 연속되는 전신 동작 추정, 반복적인 동작 주기의 측정, 그리고 동작 지연시간에 관한 연구가 이루어진다면 응용성과 신뢰성을 높일 수 있을 것으로 기대된다.


Acknowledgments

본 과제(결과물)는 교육부와 한국연구재단의 재원으로 지원을 받아 수행된 3단계 산학연협력 선도대학 육성사업(LINC 3.0)의 연구결과입니다


References
1. J. J. Kim, S. M. Park, and B. W. On, "A Pooled RNN-based Deep Learning Model based on Data Augmentation for Clickbait Detection", Journal of Korean Institute of Information Technology, Vol. 21, No. 4, pp. 45-56, Apr. 2023.
2. Z. Cao, G. Hidalgo, T. Simon, S. E. Wei, and Y. Sheikh, "OpenPose: Realtime Multi-Person 2D Pose Estimation Using Part Affinity Fields", IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 43, No. 1, pp. 172-186, Jan. 2021.
3. J. W. Park, "Egocentric activity recognition based on shot-movements aggregation using LSTM and fusion", Korea Advanced Institute of Science and Technology, pp. 1-24, Feb. 2018.
4. K. W. Kim, "AI-based activity recognition from early-stage motion", University of Korea, Feb. 2020.
5. M. K. Kim and E. Y. Cha, "Using skeleton vector information and RNN learning behavior recognition algorithm", Journal of Broadcast Engineering, Vol. 23, No. 5, Sep. 2018.
6. G. S. Moon, Y. C. Ju, and K. M. Lee, "V2v-posenet: Voxel-to-voxel prediction network for accurate 3d hand and human pose estimation from a single depth map", Proc. of the IEEE conference on computer vision and pattern Recognition (CVPR), Salt Lake City, UT, USA, pp. 5079-5088, Jun. 2018.
7. Z. C, Cao and L. Zhang, "Key pose recognition toward sports scene using deeplylearned model", Journal of Visual Communication and Image Representation Vol. 63, Aug. 2019.
8. L. Chen, J. Fu, Y. Wu, H. Li, and B. Zheng, "Hand gesture recognition using compact CNN via surface electromyography signals", Sensors, Vol. 20, No. 3 pp. 672-679, Jan. 2020.
9. Q. Sen, Y. Wang, and J. Li, "Real-time human gesture grading based on OpenPose", 10th International Congress on Image and Signal Processing, Shanghai, China, pp. 1-6, Oct. 2017.
10. A. Newell, K. Yang, and J. Deng, "Stacked Hourglass Networks for Human Pose Estimation", European Conference Computer Vision, Amsterdam, Netherlands, pp. 483-499, Oct. 2016.

저자소개
김 정 원 (Jeongwon Kim)

1995년 2월 : 부산대학교 전자계산학과(이학사)

1997년 2월 : 부산대학교 전자계산학과(이학석사)

2000년 8월 : 부산대학교 전자계산학과(이학박사)

2000년 9월 ~ 2002년 2월 : 기술보증기금 전문직 차장

2002년 3월 ~ 현재 : 신라대학교 컴퓨터공학부 교수

관심분야 : 임베디드시스템, 빅데이터, 사물인터넷, 모바일 컴퓨팅