• 대한전기학회
Mobile QR Code QR CODE : The Transactions of the Korean Institute of Electrical Engineers
  • COPE
  • kcse
  • 한국과학기술단체총연합회
  • 한국학술지인용색인
  • Scopus
  • crossref
  • orcid

  1. (Dept. of Computer Science and Engineering, Konkuk University, Korea)
  2. (Dept. of Smart ICT Convergence Engineering, Konkuk University, Korea)



3D Human Skeleton Keypoint Detection, Color Image, Depth Image, Alpha Pose, Point Cloud

1. 서 론

인간의 골격 키포인트 탐지는 컴퓨터가 이미지나 비디오를 이용하여 인간의 행동을 이해하기 위해 중요한 역할을 한다(1). 컴퓨팅 기술이 발전함에 따라 컴퓨터와 인간 사이 의사소통에 대한 많은 관심과 2019년 발생한 신종 코로나 바이러스로 전 세계 국민의 활동이 제한됨에 따른 홈 트레이닝에 대한 관심에 의하여 컴퓨터가 인간의 행동을 이해할 수 있는 골격 키포인트 탐지에 대한 연구가 활발히 진행되고 있다(2,3,4).

2012년 알렉스넷(alexnet)의 등장 이후 이미지 분류 문제에서 심층 신경망을 이용하여 기존 알고리즘과 비교 하여 매우 높은 정확도를 달성했다(5,6,7). 이러한 성공으로 인하여 키포인트 탐지 분야에 심층 신경망을 적용하려는 노력을 가져왔다. 그 결과 심층 신경망을 이용하여 2D 휴먼 골격 키포인트를 탐지할 수 있게 되었다(8,9). 하지만 인간의 행동을 이해하는데 2D 휴먼 골격 키포인트 보다 3D 휴먼 골격 키포인트가 정확하기 때문에 3차원 공간으로 재구성하는 작업이 필요했고, 3D 휴먼 골격 키포인트 탐지에 대한 연구가 활발히 진행되고 있다(10).

MS Azure Kinect에서 제공해주는 3D 휴먼 골격 키포인트는 측면이나, 어려운 자세를 취했을 때 정확도가 떨어지는 단점이 있으며, 모션 캡쳐 장비를 이용한 3D 휴먼 골격 키포인트 추출 방식은 정확도는 향상되나 고가의 장비 및 시설이 필요하다는 단점이 있다.

본 논문에서는 이러한 단점들을 극복하기 위하여 Azure Kinect를 이용하여 취득한 RGB 이미지와 Depth 이미지를 기반으로 한 3D 휴먼 골격 키포인트 탐지 기법을 제시한다. 첫 번째로 RGB 이미지를 분석하여 2D 휴먼 골격 키포인트를 추출한다. 이 과정에서 2D 키포인트 탐지기인 알파포즈를 이용한다(11). 두 번째로 탐지된 2D 휴먼 골격 키포인트와 Depth 이미지를 이용하여 각 키포인트의 depth value를 획득한다. 위 방식으로 3D 휴먼 골격 키포인트를 탐지하면 3D 휴먼 골격 키포인트가 신체 표면에 위치하게 되는 문제가 발생한다. 이러한 문제를 해결하기 위해 일련의 작업을 통해 각 키포인트의 depth value를 새롭게 생성한다.

본 논문의 구성은 다음과 같다. 2장에서 3D 휴먼 골격 키포인트 탐지에 필요한 배경지식 및 관련 연구에 대하여 서술한다. 제 3장에서 실시간 3D 휴먼 골격 키포인트 탐지 시스템 구현에 대해 서술한다. 제 4장에서 Ground Truth 및 키포인트 탐지 시스템 구현에 대한 실험 결과 및 분석에 대해 기술한다. 마지막 5장에서 결론 및 향후 과제를 제시한다.

2. 배경지식 및 관련 연구

2.1 Microsoft Azure Kinect DK

Azure Kinect DK는 컴퓨터 비전 및 음성 인식 테스크를 진행하기 위해 마이크로소프트에서 개발한 고급 센서가 부착된 development kit이다. 본래 Kinect는 Xbox의 게임용 인터페이스로 활용되었으나, PC와 연동 가능한 드라이버가 제공되어 컴퓨터 비전, 제스처 인식, 음성 인식 등 여러 분야에서 활용 가능하도록 발전되었다.

Azure Kinect를 사용하기 위한 최소 사양은 Intel Core i3 7세대 이상, 메모리 4GB이상, USB 3.0포트가 필요하고, 운영체제는 Windows10 64bit 이상 또는 Ubuntu18.04 64비트 이상 버전에서 작동한다.

2.2 2D Human Skeleton Keypoint Estimation

2D 휴먼 골격 키포인트 탐지는 이미지나 비디오와 같은 영상에서 인간의 관절 위치에 대한 키포인트를 추정하는 것이다. 기존 2D 휴먼 골격 키포인트 탐지에 대한 연구에서 카메라 위치, 다른 물체에 의해 가려짐, 빛의 세기에 따라 2D 휴먼 골격 키포인트가 탐지되지 않는 한계가 있었다. 이러한 한계를 극복하기 위해 많은 노력을 시도했고, 심층신경망을 이용하여 성능 향상을 이루었다[12, 13, 14, 15, 16]. 2D 휴먼 골격 키포인트 탐지가 정확해짐에 따라 홈 트레이닝에서의 운동 자세 교정, CCTV를 통한 이상행동 감지등 다양한 분야에서 활발한 연구가 진행되고 있다. 2D 휴먼 골격 키포인트 탐지에 대한 대표적인 프레임 워크는 part based Framework와 two step Framework가 있다.

Parts based framework는 인간의 관절과 관절 사이의 연결 관계를 이용하여 키포인트를 탐지하는 방식으로 bottom-up approach라고도 불린다. (14)는 신체의 관절 위치를 나타내는 Heat Map과 관절 사이의 연결 관계를 학습하는 Part Affinity Field를 활용하여 키포인트를 탐지하는 방식이다. Parts based framework를 활용하여 키포인트를 탐지하는 것이 좋은 성능을 보인다는 사실은 입증되었다. 하지만 신체 관절을 탐지하는 것은 영상에서 작은 영역만 고려하기 때문에 모든 신체 관절의 관계를 고려해야 하는 키포인트 추정에 적합하지 않을 수 있다.

Two Step Frameworks는 2단계에 걸쳐 키포인트를 탐지하는 프레임워크이다. 1단계는 영상에서 인간이 존재한다면 사람이 위치하는 영역을 추출하는 단계이다. 2단계는 1단계에서 추출된 인간의 영역을 키포인트 탐지 네트워크에 입력하여 인간의 키포인트를 탐지하는 단계이다. Two Step Framework의 대표적인 모델은 (11,15,16)이 있다.

(11)은 two-step framework의 단점으로 지적되는 1단계 탐지기의 정확도에 영향을 받는 문제와 인간이 위치하는 영역을 중복 탐지하는 문제를 해결하여 성능을 향상시켰다. (15)는 k-poselet을 사용하여 인간을 탐지한 후, 인간의 키포인트를 탐지했다. (16)은 영상에서 인간의 위치를 탐지하기 위해 Faster R-CNN모델을 사용했고, 탐지된 영역에 대해 deepcut을 키포인트 탐지기로 사용하여 2단계 프레임워크를 제안했다. 본 논문에서는 알파포즈를 이용하여 2D 휴먼 골격 키포인트를 탐지한다.

2.3 3D Human Skeleton Keypoint Estimation

2D 휴먼 골격 키포인트 탐지는 키포인트의 (X, Y)좌표를 탐지하는 반면 3D 휴먼 골격 키포인트 탐지는 3D 공간에서 키포인트의 (X, Y, Z)좌표를 탐지한다. 3D 휴먼 골격 키포인트를 탐지하는 것은 2D 휴먼 골격 키포인트보다 더 정확한 인간의 자세를 알 수 있다. 예를 들어 카메라를 이용하여 사용자의 체형을 측정하고자 할 떄, 2D 휴먼 골격 키포인트를 이용하는 것보다 3D 휴먼 골격 키포인트를 이용하는 것이 더 정확한 결과를 나타낼 수 있다. 또한, 인간의 행동을 인식하거나, CCTV 감시 분야에서도 좋은 성능을 발휘할 수 있다.

(17)은 비디오를 이용하여 3D 휴먼 골격 키포인트를 탐지했다. 이 연구는 한장의 이미지를 이용하여 키포인트를 탐지하는 것이 아니라 비디오를 이용하여 연속된 프레임마다 2D 키포인트를 추정한 후 연결된 수 있는 키포인트 간 길이를 뼈의 길이로 정의하여 3D 키포인트를 추정하였다.

(18)은 한 장의 Depth 이미지를 이용하여 인간의 관절에 대한 3D 위치 정보를 추정하는 방법을 제시했다. 위 연구에서 관절의 깊이를 추정하기 위해 각 신체 관절에 대해 레이블링 정보를 포함하는 Depth 이미지를 이용하였고, 신체 관절 위치에서 Weighted Gaussian Filter를 이용하여 신체의 3D 위치정보를 추정했다.

3. 3D 휴먼 골격 키포인트 탐지 시스템

본 장에서는 실시간 3D 휴먼 골격 키포인트 탐지를 위해 다음과 같은 3D 휴먼 골격 키포인트 탐지 시스템을 제안한다. Azure Kinect에 내장된 RGB 카메라와 Depth 카메라를 이용하여 영상을 획득한다. 2D Human Keypoint Estimator는 RGB 이미지를 이용하여 각 2D 휴먼 골격 키포인트의 좌표를 탐지한다. 그런 다음 탐지된 2D 휴먼 골격 키포인트 좌표를 Depth 이미지에 투영하여 Depth Value를 추출한 후 일련의 작업을 통해 새로운 Depth Value를 생성한다. 이후 2D 휴먼 골격 키포인트 좌표와 Depth Value를 융합하여 3D 휴먼 골격 키포인트를 생성한다.

3.1 3D 휴먼 골격 키포인트 탐지 시스템

3D 휴먼 골격 키포인트 탐지 시스템의 구조도는 그림1과 같다. 구조도는 Azure Kinect, Pipeline, 2D Human Keypoint Estimator, 3D Human Keypoint Estimator로 구성되어 있다. 각 구성 요소들의 역할을 간략하게 설명한 후 다음 문단에서 자세한 내용을 서술한다. 각 구성 요소는 다음과 같은 역할을 한다. Azure Kinect는 RGB 카메라와 Depth 카메라를 이용하여 RGB 이미지와 Depth 이미지를 수집하는 역할을 한다. Pipeline은 2D Human Keypoint Estimator가 구현된 Python과 Azure Kinect의 사용 언어인 cpp사이에 커뮤니케이션할 수 있는 인터페이스 역할을 한다. 2D Human Keypoint Estimator는 2D 휴먼 골격 키포인트를 탐지하는 역할을 한다. 3D Human Keypoint Estimator는 3D 휴먼 골격 키포인트를 탐지하는 역할을 한다.

그림. 1. 3D 휴먼 골격 키포인트 탐지 시스템 구조도

Fig. 1. 3D human skeleton keypoint Detection System Structure)

../../Resources/kiee/KIEE.2021.70.9.1354/fig1.png

Azure Kinect는 RGB 카메라와 Depth 카메라를 이용하여 영상을 획득한다. 여기서 획득한 RGB 영상은 2D Human Keypoint Estimator로 전달되고 Depth 이미지는 3D Human Keypoint Estimator로 전달된다.

2D Human Keypoint Estimator는 전달받은 RGB 영상을 이용하여 2D 휴먼 골격 키포인트를 탐지한다. 여기서 파이프라인을 통해 데이터 통신을 하는 이유로 RGB 영상 데이터는 직렬화되어 있다. 이러한 이유로 Azure Kinect로부터 전달받은 RGB 영상 데이터를 (Height x Width x Channel) 형태로 재구성한다. RGB 영상을 사전 학습된 2D 휴먼 골격 키포인트 탐지기인 알파 포즈에 입력으로 사용하여 2D 휴먼 골격 키포인트를 탐지한다. 2D 휴먼 골격 키포인트 탐지 결과는 그림2과 같다. 여기서 탐지된 키포인트들의 좌표는 3D Human Keypoint Estimator에 전달된다.

3D Human Keypoint Estimator는 전달받은 2D 휴먼 골격 키포인트 좌표와 Depth 이미지를 이용하여 3D 휴먼 골격 키포인트를 탐지한다. 먼저, Depth 이미지에 포인트 클라우드를 적용하여 그림3과 같은 3D 공간을 생성한다. 전달받은 2D 휴먼 골격 키포인트 좌표를 Depth 이미지에 투영하여 각 키포인트의 depth value를 획득하고, 이를 각 키포인트의 Z값으로 사용한다. 그런 다음 2D 키포인트 좌표를 앞에서 생성한 3D 공간 좌표계로 변환하여 3D 공간에서의 (X, Y)를 획득한다. 앞에서 획득한 각 키포인트의 3D 공간에서 (X, Y)와 Z값을 융합하여 3D 키포인트 (X, Y, Z)를 생성한다. 이러한 방식으로 3D 휴먼 골격 키포인트를 탐지한다. 결과는 그림4와 같다. 그림4를 살펴보면 인간의 측면 모습을 이용하여 키포인트를 탐지했을 때, 모든 키포인트의 Z값이 사람의 표면에 위치하는 것을 확인할 수 있다. 이러한 문제를 해결하기 위해 기존에 존재하는 depth value를 이용하여 새로운 depth value를 생성하는 작업이 필요하다.

그림. 2. 2D 휴먼 골격 키포인트 탐지

Fig. 2. 2D human skeleton keypoint detection

../../Resources/kiee/KIEE.2021.70.9.1354/fig2.png

그림. 3. Depth 이미지를 이용한 포인트 클라우드

Fig. 3. Point cloud using depth image

../../Resources/kiee/KIEE.2021.70.9.1354/fig3.png

그림. 4. 2D 휴먼 골격 키포인트와 depth 이미지를 이용하여 탐지한 3D 휴먼 골격 키포인트

Fig. 4. 3D human skeleton keypoint detection using 2D human skeleton keypoint and depth image

../../Resources/kiee/KIEE.2021.70.9.1354/fig4.png

3.2 새로운 Depth Value 생성

새로운 Depth Value를 생성하기 위해 Azure Kinect에서 제공하는 Body Tracking SDK를 이용한다. Body Tracking SDK는 32개의 키포인트를 탐지한다. 본 논문에서는 그림5에서 표현된 것과 같이 Body Tracking SDK가 제공하는 32개 키포인트 중 2D Human Keypoint Estimator가 전달해주는 키포인트에 해당하는 17개의 키포인트를 사용한다.

그림. 5. Body Tracking SDK에서 탐지하는 3D 휴먼 골격 키포인트

Fig. 5. 3D human skeleton keypoint detected by Body Tracking SDK

../../Resources/kiee/KIEE.2021.70.9.1354/fig5.png

(1)
\begin{align*} Z_{keyp\oint}(x,\: y)= \\ Z_{sdk'keyp\oint}(x',\: y')+(Z_{(x,\: y)}- Z_{(x',\: y')}) \end{align*}

새로운 Depth Value를 생성하는 식은 식(1)과 같다. 이 식은 기존에 존재하는 3가지 Depth Value($Z_{sdk'keyp\oint}(x',\: y')$, $Z_{(x,\: y)}$, $Z_{(x',\: y')}$)를 융합하여 새로운 Depth Value를 생성하는 식이다. 이는 2D Human Keypoint Estimator가 탐지한 2D 휴먼 골격 키포인트에 해당하는 신체 표면과 Body Tracking SDK가 탐지하는 3D 휴먼 골격 키포인트의 신체 표면을 비교하여 해당 휴먼 골격 키포인트의 정확한 Depth Value를 생성하는 것을 의미한다. 여기서 $Z_{(x,\: y)}$는 2D Human Keypoint Estimator에 의하여 탐지된 2D 휴먼 골격 키포인트를 Depth 이미지에 투영하여 획득한 Depth Value로, 해당 (x, y) 좌표에 위치하는 신체 표면의 Depth Value를 의미한다. $Z_{sdk'keyp\oint}(x',\: y')$는 Body Tracking SDK를 이용하여 탐지한 3D 휴먼 골격 키포인트의 Depth Value이다. 마지막으로 $Z_{(x',\: y')}$는 Body Tracking SDK를 이용하여 탐지한 3D 휴먼 골격 키포인트의 (x’, y’) 좌표를 Depth 이미지에 투영하여 획득한 Depth Value로, 이는 Body Tracking SDK를 이용하여 탐지한 휴먼 골격 키포인트에 해당하는 신체 표면의 Depth Value를 의미한다. $Z_{(x',\: y')}$를 시각화하여 표현하면 그림6의 녹색 점과 같다. $(Z_{(x,\: y)}- Z_{(x',\: y')})$연산은 2D Human Keypoint Estimator에서 탐지한 2D 휴먼 골격 키포인트에 해당하는 Depth Value와 Body Tracking SDK에서 탐지한 휴먼 골격 키포인트의 신체 표면에 해당하는 Depth Value의 차이를 구하는 연산이다. 그림7은 앞에서 비교한 두 휴먼 골격 키포인트를 시각화한 그림이다. 이렇게 생성된 Depth Value를 Body Tracking SDK를 이용하여 탐지한 3D 휴먼 골격 키포인트의 Z값과 더해서 새로운 Depth Value를 생성한다. 이와 같은 방법으로 새로운 Depth Value를 생성하여 2D Human Keypoint Estimator가 탐지한 2D 휴먼 골격 키포인트와 융합하였을 때 생성된 3D 키포인트는 그림8과 같다.

그림. 6. Body Tracking SDK를 이용하여 탐지한 키포인트를 인체 표면에 맺히도록 한 키포인트

Fig. 6. Keypoint that project keypoint detected using the Body Tracking SDK onto the human surface

../../Resources/kiee/KIEE.2021.70.9.1354/fig6.png

그림. 7. 2D 휴먼 골격 키포인트를 Depth 이미지에 투영하여 탐지한 3D 휴먼 골격 키포인트

Fig. 7. 3D human skeleton keypoint detected by projecting 2D human skeleton keypoint to depth image

../../Resources/kiee/KIEE.2021.70.9.1354/fig7.png

그림. 8. 제안하는 3D 휴먼 골격 키포인트 탐지 결과

Fig. 8. Proposed 3D human skeleton keypoint detection result

../../Resources/kiee/KIEE.2021.70.9.1354/fig8.png

4. 실험 및 평가

본 장에서 3D 휴먼 골격 키포인트 탐지에 대한 실험을 서술한다. 4.1절에서는 본 논문에서 제안하는 3D 휴먼 골격 키포인트 탐지 시스템의 성능 평가를 위해 Ground Truth를 제작하는 방법에 대해 서술한다. 4.2절에서 MJPE를 평가지표로 사용하여 Ground Truth를 본 논문에서 제안하는 3D 휴먼 골격 키포인트 탐지 시스템과 Azure Kinect의 3D 키포인트 탐지기를 몇 가지 동작에 대해 비교한다.

4.1 Ground Truth

본 논문에서 제안하는 3D 휴먼 골격 키포인트 탐지 시스템의 성능 평가를 위해 3대의 카메라를 이용하여 키포인트를 탐지한 후 좌표계 변환을 이용하여 Ground Truth를 제작하는 방법에 대해 서술한다.

3대의 카메라를 이용하여 키포인트를 탐지하는 이유는 Depth 이미지를 이용하여 생성한 3D 공간에서 Ground Truth가 존재하지 않기 때문이다. 이러한 이유로 3가지 방향에서 촬영한 영상을 이용하여 3D 휴먼 골격 키포인트를 탐지한 후 좌표계를 통일한 후 보정하여 최대한 정확하게 Ground Truth를 생성한다. Ground Truth를 생성하기 위해 그림8과 같이 삼각형의 무게중심을 이용한다.

그림. 9. 삼각형의 무게중심과 카메라 사이의 거리

Fig. 9. The distance between the centroid of the triangle and the camera

../../Resources/kiee/KIEE.2021.70.9.1354/fig9.png

Ground Truth를 생성하기 위해 그림9와 같이 3대의 카메라를 삼각형의 꼭짓점에 배치하여 촬영하였다. Azure Kinect는 삼각대를 이용하여 설치했고, 높이는 0.95m로 설정했다. 3대의 Azure Kinect 카메라 좌표계의 Z축이 원점을 향하도록 설정했다. 이렇게 설정하기 위해 각 Azure Kinect가 촬영하는 영상의 중앙에 위치하는 픽셀에는 항상 원점이 촬영되도록 설정하였다. 예를 들어 영상의 (256, 256) 픽셀에는 항상 원점이 촬영되도록 설정한다.

그림. 10. 실험환경 카메라 배치도

Fig. 10. Camera layout in the experiment environment

../../Resources/kiee/KIEE.2021.70.9.1354/fig10.png

Azure Kinect를 촬영 환경에 따라 배치한 후 인간의 운동 동작을 촬영한다. 각 카메라가 촬영한 운동 동작 영상에 대해 Body Tracking SDK를 이용하여 3D 휴먼 골격 키포인트를 추출한다. 각 카메라에서 추출된 키포인트의 좌표계를 통일시키기 위해 정면에 위치하는 카메라(카메라 0번)의 3D 좌표계로 변환한다. 이를 위해 카메라 1은 Z축 방향으로 원점까지 평행이동 후 240도 회전한다. 그리고 카메라 0번 방향으로 평행이동한다. 카메라 2도 마찬가지로 Z축 방향으로 원점까지 평행이동 후 120도 회전한다. 그리고 카메라 0번 방향으로 평행이동한다. 이러한 방법으로 3개의 키포인트를 수집했다. 수집된 3개의 키포인트 평균값을 이용하여 보정하여 Ground Truth를 제작하였다.

4.2 실험 환경

본 논문에서 제안하는 3D 휴먼 골격 키포인트 탐지 시스템의 실험은 운영체제 Windows 10, CPU Intel Core i9-10900K, GPU RTX-2060, RAM 64GB 환경에서 실험을 진행했고, Azure Kinect Sensor SDK는 1.4.0 버전을 사용하였고, Azure Kinect Body Tracking SDK는 1.0.1 버전을 사용했다.

4.3 실험 결과 및 분석

실험은 운동동작에 대해 본 논문에서 제안하는 3D 휴먼 골격 키포인트 탐지 시스템과 Body Tracking SDK를 이용하여 탐지한 3D 휴먼 골격 키포인트를 MJPE(Mean Joint Position Error)를 이용하여 비교한다. MJPE는 식(2)와 같다. 식(2)는 3D 휴먼 골격 키포인트 탐지기가 탐지한 키포인트의 추정 좌표와 Ground Truth의 키포인트 좌표 사이에 유클리디안 거리를 측정한 후 평균을 측정하는 지표이다. 여기서 MJPE가 작을수록 결과가 좋다는 것을 뜻한다.

(2)
\begin{align*} MJPE =\\ \dfrac{1}{frames}\dfrac{1}{j\oint s}\sum_{f}^{frames}\sum_{j}^{j\oint s}\sqrt{\begin{aligned}(x_{(f,\: j)}- x_{(f,\: j)}^{gt})^{2}+\\ (y_{(f,\: j)}- y_{(f,\: j)}^{gt})^{2}+\\ (z_{(f,\: j)}- z_{(f,\: j)}^{gt})^{2}\end{aligned}} \end{align*}

그림10는 10가지 운동 동작에 대해 본 논문에서 제안하는 3D 휴먼 골격 키포인트 탐지기를 이용하여 탐지한 그림이다.

그림. 11. 10가지 운동 동작에 대해 3D 휴먼 골격 키포인트 탐지

Fig. 11. 3D human skeleton keypoint detection for 10 exercises

../../Resources/kiee/KIEE.2021.70.9.1354/fig11.png

성능평가를 위해 10가지 운동 동작에 대해 본 논문에서 제안하는 3D 휴먼 골격 키포인트 탐지 시스템이 탐지하는 3D 휴먼 골격 키포인트와 Body Tracking SDK를 이용하여 탐지하는 3D 휴먼 골격 키포인트에 대하여 MJPE를 평가지표로 사용하여 Ground Truth와 비교하는 실험을 진행했다. 실험의 결과는 표1과 같다. 표1를 살펴보면 본 논문에서 제안하는 3D 휴먼 골격 키포인트 탐지 시스템이 Body Tracking SDK보다 대략 20mm정도 정확한 결과를 도출한 것을 확인할 수 있다.

실시간 처리 가능 여부를 확인하기 위해 한 프레임에 대하여 처리시간을 확인하였다. 그 결과 한 프레임을 처리하는데 걸리는 시간은 대략 0.048~0.054초가 소요되는 것을 확인하였고, 이는 18~20FPS(Frame Per Second)를 처리하는 것을 의미한다.

표2는 본 논문에서 제안하는 3D 휴먼 골격 키포인트 탐지기와 기존 3D 휴먼 골격 키포인트 탐지기의 성능을 비교한 것이다. MJPE 평가 지표를 살펴보면 XNect와 비교하여 본 논문에서 제안하는 3D 휴먼 골격 키포인트 탐지기가 약 6mm정도 정확한 것을 확인할 수 있다. 하지만 1초 동안 처리할 수 있는 프레임 수에서는 XNect가 더 좋은 성능을 발휘하였다. 본 논문에서 제안하는 3D 휴먼 골격 키포인트 탐지기가 더 느린 이유는 2D 휴먼 골격 키포인트 탐지기인 알파포즈가 1초당 22개의 프레임을 처리하기 때문이다. 이러한 이유로 프레임 처리 속도가 느린 문제를 극복하기 위해 본 논문에서 제안하는 3D 휴먼 골격 키포인트 탐지기의 구성 요소 중 2D Human Keypoint Estimator의 일반성이 뛰어난 장점을 이용하여 차후 개발될 알파 포즈보다 성능이 좋은 2D 휴먼 골격 키포인트 탐지기를 이용하면 극복할 수 있는 문제로 보인다.

표 1. 운동별 MJPE 평가지표를 이용한 3D 키포인트 탐지 실험 결과

Table 1. Result of a 3D Keypoint Detection Experiment with MJPE Evaluation Indicator

운동명

Proposal Keypoint Detection

Azuer Kinect Keypoint Detection

Bent Over T Raise

95.07

108.91

Forward Lunge

128.83

186.58

Hand Flank

114.87

174.45

Half Knee Stretch

72.95

118.67

Leg Cradle

87.00

119.62

Neck Rotation

64.27

78.70

One Arm Military Press

86.42

97.38

Push Up

124.75

178.59

Standing T

72.84

98.24

Squat Hold

80.94

101.76

평균

92.79

126.29

본 논문에서 제안하는 3D 휴먼 골격 키포인트 탐지기와 Body Tracking SDK에서 제공하는 3D 휴먼 골격 키포인트 탐지기가 제공하는 3D 휴먼 골격 키포인트를 MJPE(Mean Joint Position Error)평가지표를 이용하여 Ground Truth와 비교한 실험결과이다.

표 2. 기존 3D 휴먼 골격 키포인트 탐지기와 성능비교

Table 2. Performance comparison with existing 3D human skeleton keypoint detectors

Method

MJPE

FPS

Mehta et al. 2017(19)

119.2

30

Nibali et al. 2019(20)

132.8

-

Dabral et al. 2018(21)

116.3

12

Kanazawa et al. 2018(22)

124.2

20

Mehta et al.2018(23)

125.1

-

XNect, 2020(24)

98.4

30

Ours

92.79

20

기존에 존재하는 6가지 3D 휴먼 골격 키포인트 탐지기와 본논문에서 제안하는 3D 휴먼 골격 키포인트 탐지기의 정확도를 MJPE(Mean Joint Position Error) 평가지표를 이용하여 비교하였고, 프레임 처리속도를 확인하기 위해 FPS(Frame Per Seconds)를 이용하여 비교한 실험결과이다. 여기서 MJPE는 정답 키포인트와 추정 키포인트 사이의 거리를 mm단위로 나타낸 것으로 작을수록 추정 키포인트가 정답 키포인트에 가까운 것을 뜻한다. FPS는 1초당 처리할 수 있는 프레임으로 값이 클수록 처리할 수 있는 프레임이 많다는 것을 뜻한다.

5. 결론 및 향후 과제

기존에 연구되는 3D 휴먼 골격 키포인트 탐지 시스템은 모션 캡처 장비를 활용하여 3D 키포인트 탐지를 위한 데이터 세트 제작한다. 앞서 제작한 데이터 세트를 이용하여 3D 휴먼 골격 키포인트를 탐지할 수 있는 심층 신경망을 학습시켜 3D 휴먼 골격 키포인트를 탐지했다. 하지만 본 논문에서는 RGB 이미지와 Depth 이미지를 이용하여 실시간 3D 휴먼 골격 키포인트 탐지 시스템을 제안했다. 이 과정에서 사전학습된 2D 휴먼 골격 키포인트 탐지기인 알파포즈를 이용하여 2D 휴먼 골격 키포인트를 탐지한다. 그런 다음 탐지된 2D 휴먼 골격 키포인트와 Depth 이미지를 활용하여 depth value를 탐지하였다. 이러한 방법으로 3D 휴먼 골격 키포인트를 탐지하였을 때 인간의 표면만 탐지하는 한계가 있었다. 이러한 한계를 극복하기 위해 Body Tracking SDK를 이용하여 새로운 depth value를 만들었다.

알파포즈를 이용하여 2D 키포인트를 탐지한 후 3D 휴먼 골격 키포인트를 탐지한 결과 Body Tracking SDK를 사용했을 때보다 높은 정확도를 도출하였고, 초당 18~20프레임을 처리했다. 또한, 파이프라인을 통해 2D 휴먼 골격 키포인트 탐지기와 3D 휴먼 골격 키포인트 탐지기를 연결하였으므로, 본 논문에서 사용한 알파포즈보다 더 나은 2D 휴먼 골격 키포인트 탐지기를 사용하면 더 나은 결과를 도출 할 수 있을 가능성을 보였다. 하지만 Depth value의 한계를 극복하기 위해 Body Tracking SDK에 의존하는 문제에 대한 해결책은 제시하지 못했다.

따라서 향후 과제로 3D 휴먼 골격 키포인트 탐지를 위해 Body Tracking SDK에 의존하지 않는 방법에 대해 연구할 필요가 있다. 이를 위해 Depth 이미지를 이용하여 생성한 3D 공간에서 각 키포인트에 대한 정답 좌표를 만들고, RGB 이미지와 Depth 이미지를 동시에 학습할 수 있는 Multi-Input 심층신경망을 만들면 Body Tracking SDK에 의존하지 않으면서 3D 휴먼 골격 키포인트를 탐지할 수 있을 것이다.

Acknowledgements

본 연구는 2020년도 정부(과학기술정보통신부)의 재원으로 정보통신기획평가원의 지원을 받아 수행된 연구 (No.20200021720012002, 인공지능을 이용한 맞춤형 홈트레이닝 플랫폼)로서, 관계부처에 감사드립니다.

References

1 
WANG Xiaoyang, JI Qiang, 2014, A hierarchical context model for event recognition in surveillance video, IEEE Conference on Computer Vision and Pattern Recognition, Vol. 1, pp. 2561-2568Google Search
2 
ARTACHO Bruno, SAVAKIS Andreas, 2020, Unipose: Unified human pose estimation in single images and videos, IEEE/CVF Conference on Computer Vision and Pattern Recognition, Vol. 1, pp. 7035-7044Google Search
3 
NEWELL Alejandro, YANG Kaiyu, DENG Jia, 2016, Stacked hourglass networks for human pose estimation, European conference on computer vision, Vol. 1, pp. 483-499DOI
4 
MARTINEZ Julieta, 2017, A simple yet effective baseline for 3d human pose estimation, IEEE International Conference on Computer Vision, Vol. 1, pp. 2640-2649Google Search
5 
Alex KRIZHEVSKY, Ilya SUTSKEVER, Geoffrey HINTON, 2012, Imagenet classification with deep convolutional neural networks, Advances in neural information processing systems, pp. 1097-1105DOI
6 
Christian SZEGEDY, 2015, Going deeper with convolutions, IEEE conference on computer vision and pattern recognition. vol. 1, Vol. 1, pp. 1-9Google Search
7 
Kaiming HE, 2016, Deep residual learning for image recognition, IEEE conference on computer vision and pattern recognition, Vol. 1, pp. 770-778Google Search
8 
Jonathan J TOMPSON, 2014, Joint training of a convolutional network and a graphical model for human pose estimation, neural information processing systems, pp. 1799-1807Google Search
9 
Toshev, A. Szegedy, 2014, Deeppose: Human pose estimation via deep neural networks, IEEE Conference on Computer Vision and Pattern Recognition, Vol. 1, pp. 1653-1660Google Search
10 
Hanbyul Joo, Natalia Neverova, Andrea Vedaldi, 2020, Exemplar Fine-Tuning for 3D Human Model Fitting Towards In-the-Wild 3D Human Pose Estimation, IEEE Conference on Computer Vision and Pattern RecognitionGoogle Search
11 
Hao-Shu Fang, Shuqin Xie, Yu-Wing Tai, 2016, RMPE: Regional Multi-Person Pose Estimation, IEEE Conference on Computer Vision and Pattern Recognition, Vol. 1, pp. 2353-2362Google Search
12 
X. Chen, A. L. Yuille, 2015, Parsing occluded people by flexible compositions, IEEE Conference on Computer Vision and Pattern Recognition, Vol. 1, pp. 3945-3954Google Search
13 
PISHCHULIN Leonid, 2016, Deepcut: Joint subset partition and labeling for multi person pose estimation, IEEE conference on computer vision and pattern recognition, Vol. 1, pp. 4929-4937Google Search
14 
Cao Zhe, Hidalgo Gines, Simon Tomas, Wei Shih-En, Sheikh Yaser, 2017, OpenPose: Realtime Multi-Person 2D Pose Estimation Using Part Affinity Fields, IEEE conference on computer vision and pattern recognition, Vol. 1, pp. 1302-1310Google Search
15 
X. Chen, A. L. Yuille, 2015, Parsing occluded people by flexible compositions, IEEE Conference on Computer Vision and Pattern Recognition, Vol. 1, pp. 3945-3954Google Search
16 
Eldar INSAFUTDINOV, 2016, Deepercut: A deeper, stronger, and faster multi-person pose estimation model, European Conference on Computer Vision, pp. 34-50DOI
17 
Dario PAVLLO, 2019, 3d human pose estimation in video with temporal convolutions and semi-supervised training, IEEE/ CVF Conference on Computer Vision and Pattern Recognition, Vol. 1, pp. 7753-7762Google Search
18 
Jamie SHOTTON, 2019, Real-time human pose recognition in parts from single depth images, Vol. 1, pp. 7745-7754DOI
19 
Mehta, 2017, VNect: Real-time 3D Human Pose Estimation with a Single RGB Camera, ACM Transactions on Graphics, Vol. 36, No. 4, pp. 1-14DOI
20 
Aiden Nibali, Zhen He, 2019, 3d human pose estimation with 2d marginal heatmaps, IEEE Winter Conference on Applications of Computer Vision, Vol. 1, pp. 1477-1485DOI
21 
Rishabh Dabral, Nitesh B Gundavarapu, 2019, Multi-person 3d human pose estimation from monocular images, International Conference on 3D Vision, Vol. 1, pp. 405-414DOI
22 
A. Kanazawa, M. J. Black, D. W. Jacobs, J. Malik, 2018, End-to-End Recovery of Human Shape and Pose, IEEE/CVF Conference on Computer Vision and Pattern Recognition, Vol. 1, pp. 7122-7131Google Search
23 
D. Mehta, O. Sotnychenko, F. Mueller, 2018, Single-Shot Multi-person 3D Pose Estimation from Monocular RGB, International Conference on 3D Vision, Vol. 1, pp. 120-130DOI
24 
D. Mehta, O. Sotnychenko, F. Mueller, 2020, XNect: Real-time Multi-Person 3D Motion Capture with a Single RGB Camera, ACM Transactions on Graphics, Vol. 39, No. 4, pp. 1-17DOI

저자소개

Keunseok Jeong
../../Resources/kiee/KIEE.2021.70.9.1354/au1.png

He received B.S degree in industrial engineering from Kangwon National University.

He received M.S degree in Computer and Science Engineering from Konkuk University.

His research interests are computer vision, artificial intelligence.

Byeongjun Park
../../Resources/kiee/KIEE.2021.70.9.1354/au2.png

He received his B.S. degree in Computer Science from Dankook University of Technology in 2018.

He is currently pursuing the M.S. degree at Konkuk University of smart ICT fusion Engineering.

He is interested in multi-media, computer vision and video encoding.

윤경로(Kyoungro Yoon)
../../Resources/kiee/KIEE.2021.70.9.1354/au3.png

- Feb. 1987: B.S. in Electronics and Computer Eng., Yonsei University.

- Dec. 1989: M.S.E. in Electrical Engineering/ Systems, University of Michigan, Ann Arbor.

- May 1999 : Ph.D., in Computer and Information Science, Syracuse University.

- June 1999~Aug., 2003: Group Leader, LG Electronics Institute of Technology.

- Sept. 2003~Present: Professor, Dept. of Smart ICT Convergence Eng., Konkuk University.

- Oct。2017~Present: Chair, ISO/IEC JTC1 SC29 Korea Mirror Committee.

- July 2019~Present: Chair, Digital Virtualization Forum.

- Sept. 2019~Present: Chair, IEEE 2888 Working Group.

- Research Interests : Smart media system, Multimedia retrieval, Image processing, Multimedia information and metadata processing.