DOI QR코드

DOI QR Code

An Implementation of Real-time Motion Restoration System based on Inverse Kinematics

역운동학을 이용한 실시간 동작 복원 시스템 구현

  • Lee, R.H. (Sogang Advanced Game Education, Sogang University) ;
  • Lee, C.W. (School of Electronic and Computer Engineering, Chonnam National University)
  • Received : 2014.02.26
  • Accepted : 2014.05.22
  • Published : 2014.06.30

Abstract

This paper presents a real-time motion restoration system for people who need remedial exercise of musculoskeletal based on Inverse Kinematics. A new approach is suggested to recognize a gesture based on restored human motion which is calculated the 3D positions of intermediate joints using 3D positions of body features estimated from images. For generating the 3D candidate positions of intermediate joints which cannot be extracted from images, we apply an Inverse Kinematics theory to compute the target position of intermediate joints. And we can reduce the number of candidate positions by applying the various physical constraints of body. Finally, we can generate the more accurate final position using the Kalman filter for a motion tracking and the relationship between the previous frame information and the candidate positions. The system provide motion information which are rotation angle and height in real-time, therefore the rehabilitation exercises can be performed based on the information and figured out proper exercise for individual status.

Keywords

1. 서 론

현대 사회의 급격한 발전으로 전반적인 국민생활 수준은 향상되었으나 일상생활을 편리하게 해주는 다양한 장치의 발달로 인해 현대인들에게는 운동 부족으로 인한 근력과 체력이 약해지고 있다. 또한 인구의 노령화로 인해 고 연령층의 증가 그리고 각종 사고로 인하여 발생되는 근골격계 질환의 발생률이 높아지고 있으며 이러한 질환의 경우 지속적인 재활 운동 치료가 매우 중요하다. 따라서 근골격계 질환의 발생을 낮출 수 있도록 각 관절의 기능 저하를 예방하고 정상적인 활동이 가능하도록 도와주는 운동 요법이 필요하다. 기존의 운동 및 재활 치료는 치료사와 기계적 장치의 도움을 받아 수행해야 하며, 최근에는 가상현실, 증강현실과 같이 디지털 미디어를 통해 상호작용이 가능한 다양한 치료 방법들이 시도되고 있다. 기계적 장치의 도움을 받는 운동 방법은 고가의 장비와 다른 사람의 도움이 필요하다는 단점을 가지고 있다[1,2]. 가상현실 기반의 운동 기법은 안전한 환경에서 대상자 스스로 흥미롭게 진행할 수 있는 장점을 가지고 있으나 현실과 분리된 영상에서의 훈련으로 인해 실제 환경에서 동작을 수행하는데 이질감을 느낄 수 있어 훈련에 대한 몰입도가 떨어질 수 있다. 증강현실 기반의 운동 기법은 실세계에 3차원 가상물체를 겹쳐서 가시화함으로써 실제 객체의 정보를 가시적으로 제공하여 운동을 하는 방법이다. 그러나 가상현실과 증강현실을 이용한 치료의 경우 고연령층이 활용하는 데에는 사용 및 조작 상에 문제를 가지고 있다[3,4]. 최근에는 스마트 홈 가전 시스템이 화두가 되고 있으며 현재 시판되고 있는 스마트 TV에는 카메라를 이용하여 손짓으로 채널을 이동하고 손을 흔들어 마우스 커서를 조작하며, 주먹을 줬다펴면 클릭이 되는 모션(손동작)에 의한 기능 조작뿐 만 아니라 얼굴 인식 등의 기능을 지원하고 있다[5]. 또한 닌텐도 Wii 리모트, Wii Fit 그리고 MS사의 키넥트는 사람의 제스처를 입력으로 활용하여 사용하는 사용자와 상호작용이 가능하게 함으로서 다양한 콘텐츠를 보다 더 흥미롭게 즐길 수 있다[6,7]. 예를 들어, 닌텐도 Wii 리모컨을 활용한 복싱, 볼링, 골프, 테니스, 야구 그리고 Wii Fit 피트니스, 그리고 Kinect를 활용한 볼링, 축구, 복싱, 탁구, 육상, 비치발리볼 등과 같은 다양한 스포츠를 집에서 즐길 수 있게 되었다.

이와 같이 집에서 편리하게 즐길 수 있는 스포츠 콘텐츠를 응용하여 본 논문에서는 스마트 홈 가전시스템과 결합 가능한 운동 동작 복원 시스템을 제안한다. 본 시스템은 역운동학을 이용하여 실시간 모션캡처 및 분석이 가능하다. 사용자는 반복적인 동작을 수행하며 시스템은 사용자의 동작을 실시간으로 추적하여 각 동작의 운동 범위 및 자세에 대한 정보와 자신의 동작을 화면에 가시화한다. 관절별로 제공되는 정보를 참고하여 동작자는 실시간으로 자신의 자세를 확인할 수 있다. 예를 들어 사용자가 스트레칭이나 걷기 동작 등과 같은 개개인에 적합한 생활 운동을 이용하여 각 관절별 운동 범위를 파악하며 올바른 자세로 운동을 할 수 있다. 일상생활 동작을 응용한 반복적인 운동을 통해 운동 기능의 회복을 도울 수 있도록 필요한 장비를 최소화하고 좀 더 간편하게 설치하여 사용할 수 있도록 하는데 초점을 맞추었다. 본 논문의 구성은 다음과 같다. II절에서는 본 논문에서 제안한 동작 복원 시스템 구성에 대해 기술하며, Ⅲ절에서는 본 시스템의 구현 기술에 대해 설명한다. IV절에서는 국민체조 동작을 이용하여 본 시스템을 실험한 결과를 보이고, 마지막으로 V절에서는 결론과 향후 연구 방향을 제시한다.

 

2. 시스템 개요

본 논문에서는 사용자가 생활 동작을 이용하여 근골격계의 재활 운동 및 운동 자세 교정이 가능하도록 하기 위한 실시간 동작 복원 시스템을 제안한다. 제안된 시스템은 Fig. 1에 보이는 바와 같이 2차원 처리 모듈, 3차원 처리 모듈, 자세 분석 모듈, 렌더링의 네부분으로 구성되어진다.

Fig. 1.The configuration of the Motion Restoration System.

2차원 처리 모듈은 두 대의 카메라로부터 사람의 움직임 영상을 입력받고, 입력 받은 영상을 분석하여 신체의 중심점 root와 신체의 끝점 end-effectors(머리, 양손, 양발)의 2차원 위치를 검출하고 신체부위를 구분한다. 3차원 처리 모듈에서는 다중 영상에서의 2차원 좌표를 정합하여 3차원 위치로 복원하고, 각 신체 부위를 구분하고 추적한다. 복원된 6개(root, end-effectors)의 위치 데이터를 역운동학(Inverse Kinematics) 알고리즘에 적용하여 각 중간관절(고관절, 팔꿈치, 무릎, 목 등)의 3차원 위치를 추정함으로서 20개 관절의 3차원 동작 데이터를 생성하게 된다. 자세 분석 모듈에서는 생성된 3차원 동작 데이터를 이용하여 다리를 들어 올린 높이와 팔과 다리 관절의 회전 각도를 계산하여 실시간으로 화면에 피드백을 제공한다. 제공된 정보는 현재 동작에 대한 근사치로서 동작자는 제공되는 정보를 이용하여 현재 자신의 자세를 확인할 수 있다.

 

3. 동작 복원 시스템 구현 기술

3.1 신체 특징점 추출 및 3차원 위치 정보 생성

2차원 영상 취득 및 특징 추출 단계에서는 동작자의 좌, 우 전방에 위치한 2대의 컬러 CCD 카메라를 이용하여 동시에 동작자에 대한 영상을 취득한다. 배경 영상과 사용자 초기 자세 영상의 차 영상을 이용하여 동작자의 관절 길이를 구하며, 취득한 영상을 컬러 영역별로 분할하여 동작자의 몸통과 인체 끝부분의 색 범위와 영역 속성을 추출한다. 그리고 연속 입력되는 영상에 대해 색 범위 안에 있는 후보 화소들을 선별한 후, 고속 run-length 레이블링을 통해 그룹화 하여 영역의 크기, 영역의 최소 외접 사각형에 대한 화소 수 비율, 페리미터(perimeter) 특징을 추출하여 동작자의 몸의 중심이 되는 root와 머리, 손, 발과 같은 end-effector를 검출한다. Fig. 2는 특징점 추출 과정을 나타내며 (a)는 동작자의 초기자세, (b)는 end-effector들의 영역 검출 결과, (c)는 동작자에 적용된 최종 결과 영상이다.

Fig. 2.The result of feature extraction. (a) Initial pose, (b) the result of region growing for end-effectors, and (c) the result of making models.

3차원 좌표는 좌측과 우측 카메라의 정합 결과로서 얻어진 두 개의 사영행렬(perspective projection matrix)을 구할 경우, 두 입력 영상에 맺힌 특징(머리, 양손, 양발)의 좌표로부터 복원 할 수 있다. 그러나 동작이 이루어지는 동안 특징들은 움직임이 자유롭고 겹침이 빈번하게 발생하기 때문에, 양쪽 영상에 각각 맺힌 특징들이 서로 올바르게 짝지어지기 위해서는 이 특징들의 움직임을 추적하여야 하며, 이 움직임 추적을 위해 칼만 필터 알고리즘을 사용한다. 본 연구의 특성상 입력 영상은 2차원 데이터이고, 실제 내부 연산은 3차원 데이터로 이루어지기 때문에, 2차원과 3차원 칼만 필터 알고리즘을 동시에 사용한다. 초기자세로부터 얻어진 머리와 양손, 양발에 대한 3차원 좌표로부터, t+1 시간에서의 이 특징들의 예측값을 구한다. 3차원 예측값을 사영행렬을 통해 2차원 평면으로 역투영하여, 좌, 우 영상내의 각 특징들의 2차원 예측값을 얻는다. 그리고 t+1 시간에 입력된 영상으로부터 2차원 특징의 정보를 찾고, 찾아진 특징과 예측값을 비교해 2차원 영상에서의 새로운 위치를 구한다. 이 값을 3차원으로 투영할 경우, 각 특징들의 3차원 위치정보를 생성할 수 있다.

3.2 NURBS를 이용한 노이즈 Filtering

동작자의 신체에 마커를 부착하고 적외선 카메라로부터 동작자의 동작을 캡처하는 모션캡처 시스템에서는 카메라로부터 캡처되는 데이터 내에 스켈레톤이 유실되거나 꼬이는 현상이 발생되며 이것을 바르게 펴주거나 고쳐주는 작업으로 모션 편집 과정을 거치게 된다[8]. 일반적인 모션 편집 과정은 사람이 직접 수작업으로 동작 데이터를 수정하게 된다. 이렇듯 영상으로부터 검출된 3차원 위치정보는 자기 신체에 의해 신체 특징점이 가려져서 데이터가 유실되거나 주위 환경에 의해 노이즈가 포함될 가능성을 내포하고 있다. 영상으로부터 획득된 신체 특징점의 중심점을 계산하여 3차원 위치정보로 활용하는데 영상에서의 몇 픽셀 차이가 실제 3차원 좌표로 변환될 때에는 상당한 거리의 차이가 발생된다. 만약, 거리차를 가지고 있는 데이터나 노이즈가 포함되어 있는 데이터를 3차원 공간상의 캐릭터에 적용하게 되면 캐릭터 동작은 지속적인 흔들림과 함께 거친 동작(jerky motion)을 생성하게 된다. 따라서 본 논문에서는 영상으로부터 검출되어진 신체 특징점인 root와 end-effector들의 3차원 위치정보에 NURBS(Non-Uniform Rational B-spline)를 이용한 Filtering 과정을 거침으로써 노이즈를 최대한 제거한 부드러운 동작 데이터를 생성한다.

NURBS 곡선은 일반적인 B-spline 곡선을 포함하는 더 일반적인 형태이다. B-spline 곡선에서는 곡선의 모양을 변화시키기 위해서 각각의 제어점의 좌표를 조절하지만, NURBS 곡선에서는 동차형 요소(homogeneous factor)까지 포함하여 네 개의 자유도를 가지고 있다. 또한 B-spline 곡선은 원, 타원, 포물선, 쌍곡선 등 원추 곡선을 근사하게 밖에 나타내지 못하지만, NURBS 곡선은 이들 곡선을 정확하게 나타낼 수 있다. NURBS 곡선 이론에서는 제어점Pi(xi,yi,zi)에 가중 동차형 요소를 사용하여 식(1)의 형태로 표시하고, 가중치 wi는 특정 제어점의 중요도에 이용되며 이 가중 좌표들을 단순한 B-spline 표현식으로 표현하면 식(2)와 같다. w는 식(3)에 보이는 바와 같이 가중치 집합으로부터 파생된 스칼라 Bspline 다항식이다[9].

root와 end-effector들의 각 프레임별 3차원 위치 정보를 제어점 Pi(xi,yi,zi)라 할 때 NURBS 곡선의 방정식은 식 (4)와 같이 정의된다.

Bi,d(u)는 제어점 Pi를 위한 d번째 결합함수를 나타내며, d는 B-spline의 차원으로 2부터 제어점 (n+1)의 수 범위내의 정수 값에서 선택이 가능하며 본 논문에서는 d=3을 사용하였다. wi는 특정 제어점의 중요도에 대한 가중치를 나타내며, ui는 비주기적 knot 값을 나타내며 식(5)와 같다.

3.3 중간관절의 3차원 위치 계산

관절체의 특징인 계층 구조 내에서 end-effector의 위치가 주어지면 나머지 관절들을 연결고리처럼 다루게 함으로써 각 관절의 제어가 가능하다. 본 논문에서는 영상에서 추정된 root와 end-effector들의 3차원 위치정보를 기준으로 영상에서 추정되지 않는 나머지 관절들의 3차원 후보 위치들을 계산하기 위해 역운동학 알고리즘을 활용한다. 또한 각 중간관절들의 후보 위치들 중에 동작자의 움직임과 가장 유사한 위치를 결정하기 위해 추가적으로 신체의 제약조건과 칼만 필터 알고리즘에 의해 예측된 관절의 움직임 방향 그리고 이전 프레임과의 상관관계를 고려하여 최종 위치를 결정한다.

역운동학은 Robotics와 고차원의 애니메이션 분야에서 정확한 위치에 도달하는데 필요한 관절의 각도를 결정하기 위해 많이 사용된다. 이 방식을 이용한 애니메이션은 사람이나 로봇과 같이 복잡한 계층구조의 다관절로 이루어진 오브젝트를 애니메이션하는데 사용되며 원하는 동작을 현재 오브젝트의 위치와 오브젝트가 이동하고자 하는 공간상의 위치 파라미터를 이용해 중간관절의 회전각도 계산이 가능함으로서 3차원 캐릭터의 관절 제어를 가능하게 하는 기법이다.

본 논문에서 사용되는 인체 모델은 Fig. 3과 같이 20개의 관절과 각 관절을 연결하는 실린더들로 구성되어 있으며 각 관절들은 root(Lower Torso)를 중심으로 계층구조를 이루고 있다. 그리고 동작자는 양팔을 옆으로 벌린 T자세를 초기 자세로 취한다. 초기 자세로부터 각 관절의 길이는 인체 해부학적인 관절비율을 적용하여 각각 계산된다. 인체의 중심이 되는 root에는 전역 좌표 시스템이 적용되며, 나머지 관절들은 계층구조로 연결되어 있으므로 root로부터 계산되는 지역 좌표계로 정의된다. 또한 각 관절들은 운동학적인 제약조건을 가지며 각 관절의 회전각은 일정 범위내로 제한된다. 모든 관절은 이동값과 회전값 그리고 관절 길이 정보를 포함한다.

Fig. 3.The model hierarchy.

D.Tolani[10]는 실시간으로 사람 팔의 회전값을 계산하기 위해 역운동학 알고리즘을 활용하였다. 본 논문에서는 영상으로부터 root(LowerTorso)와 Endeffectors(Head, LHand, RHand, LFoot, RFoot)의 3차원 위치 정보만을 추적하며, 이 정보를 기준으로 나머지 관절들의 3차원 위치 정보는 역운동학 알고리즘을 이용하여 계산된다. 역운동학 알고리즘을 이용한 계산은 D.Tolani[10]가 제시한 방법에 기반을 두고 중간관절의 회전값을 계산하며 추가적으로 중간관절의 후보 위치들을 계산한다. 예를 들어, 팔꿈치의 경우 어깨와 손목이 고정된 상태에서도 일정 각도의 회전이 가능하기 때문에 후보 위치가 많이 존재하며, 무릎의 경우도 유사하다. 역운동학 알고리즘을 기반으로 중간관절의 위치를 계산하기 위해, 영상으로부터 복원된 root와 end-effector(Hi, i : frame 번호)의 3차원 위치정보와 각 관절을 연결하는 세그먼트 길이 정보(ln, n=1...3)를 이용하여 end-effector의 축과 활동반경에 따라 중간관절의 위치는 계산된다.

Fig. 4는 팔의 움직임에 대한 예를 보인 것으로, 두 관절 Si(Shoulder)과 Hi(Hand)가 중간관절 Ei(Elbow)에 의해 연결되어 있을 경우, 상위 세그먼트 길이를 l1, 하위 세그먼트 길이를 l2, 상위관절의 기준점에서 하위관절의 끝점까지의 거리를 l3로 정의한다. 만약, 거리 l3가 상위 관절과 하위 관절의 세그먼트 길이를 합한 l1+l2보다 크다면 중간관절은 가능한 범위 내에서 반듯이 펴고 있는 상태가 된다. 이와 반대로 l3이 너무 작다면 중간관절은 허용되는 범위내에서 최대한 구부리고 있는 상태가 된다. 중간관절의 3차원 위치를 추정하기 위해서는 두 단계 과정을 거치게 된다. 첫 번째 단계는 원점(0, 0, 0)을 Si의 위치와 일치시키고, 중간관절의 위치 데이터를 생성하기 위해 Y축과 벡터 가 이루는 회전각 θ1와 관절 SiEiHi가 이루는 삼각형에서 관절 SiEi과 SiHi가 이루는 회전각 θ2를 계산한다. 회전각 θ1은 벡터의 내적을 이용하여 계산할 수 있으며, 회전각 θ2는 세그먼트 길이와 end-effector의 위치 정보에 의해 식(6)과 같이 구해진다.

Fig. 4.The movement of the elbow.

두 번째 단계는 계산된 회전각도와 평면의 법선벡터를 이용하여 중간관절의 3차원 위치를 추정한다. 손목이 고정되어 있다고 가정하면, 팔꿈치는 Fig. 4에 보이는 것처럼 원형의 호 위에 위치 가능한 경우의 수가 무수히 많이 존재한다. 그러므로 가장 적합한 팔꿈치의 위치를 결정하기 위한 작업을 수행해야 한다. Tolani는 Korein에 의해 체계화 된 관절 한계와 정확한 팔꿈치 움직임 호(arc)의 모든 집합의 교차점을 가지고 관절의 한계로서 야기된 팔꿈치 움직임의 제한을 유도하므로 체계화된 방법을 바탕으로 하여 대수학적인 방법으로 관절의 회전 각도를 생성했다[10,11].

본 논문에서 제안하는 방법도 Tolani에 의해 제안된 방식에 기반을 두고 수행된다. Fig. 4에서 각도 Φ는 팔꿈치의 평면상에 놓인 원형의 호를 따라 움직인다. 먼저, 어깨(Si)에서 손(Hi)까지의 축에 평행한 원의 법선벡터(normal vector) 를 정의한다. 원의 중심 Ci와 이것의 반지름 R은 단순한 삼각법에 의해서 계산할 수 있다.

더하여, 두개의 단위벡터 과 가 필요하다. 과 는 원을 포함하는 평면을 위한 지역 좌표계의 형태이다. 벡터 은 관절 SiEiHi가 이루는 삼각형에 수직인 벡터로서 벡터 과 의 외적을 이용하여 계산하며, 벡터 는 벡터 과 에 수직인 벡터로서 벡터 과 의 외적을 이용하여 계산한다. 생성된 단위 벡터들을 이용하여 팔꿈치 위치는 식(10)에 의해 계산되어진다. 팔꿈치 관절의 한계가 되는 Φ의 값을 변화시킴으로서 팔꿈치가 위치 가능한 경우의 수를 한정 시킬 수 있다.

칼만 필터는 시간의 흐름에 대해 역학적 모델과 관측 모델에 잡음이 존재하는 물리적인 시스템의 상태를 예측하고 제어하는데 적합하다[12]. 계산된 중간관절에 칼만 필터 알고리즘을 적용할 경우, 각 영역의 위치와 속도값을 가진 필터링 결과를 활용하여 움직임을 추적할 수 있다[13]. 본 논문에서의 중간관절은 일정한 속도의 움직임을 가진다고 가정한다. 이 가정을 기반으로 각 관절을 위한 상태벡터 s를 명시한다.

이동 영역을 위한 위치 p=[px,py,pz]T와 속도 v=[vx,vy,vz]T일때 상태벡터 st에 대해서 영역의 시간변화에 대한 행동을 표현하는 움직이는 관절은 다음과 같이 정의된다.

- priori(연역적) state vector

- posteriori(경험적) state vector

- F : 상태전이 행렬

- I3 : 3x3 identity matrix

- O3 : 일정한 속도를 가정한 3×3 zero matrix

측정 모델은 관찰된 측정과 상태벡터 사이의 관계를 설명하며 H는 측정 행렬이다.

잔류 측정(measurement residual)은 동적인 모델에 의해 예측된 측정과 특징들의 측정된 위치 사이의 차이로 정의한다. 칼만 필터에서, 잔류 측정은 보정항을 생성하기 위한 칼만 게인 행렬(Kalman gain matrix)에 의해 가중된다. 그리고 업데이트된 상태를 형식화하기 위한 예측 상태가 더해진다.

Kalman gain Kt는 아래와 같이 계산된다.

P-는 연역적 추정 에러의 공분산 행렬이고, R은 측정 노이즈의 공분산 행렬이다. 각 관절들에 대하여 칼만 필터 알고리즘을 사용한다면, 상태벡터와 각 특징들의 움직이는 방향을 알고 있기 때문에 경험적 상태 벡터 st+에 의해 특징의 움직임을 추적할 수 있다.

본 논문에서는 보다 정확한 중간관절의 위치 계산을 위해 추가적으로 신체 제약조건을 만족하는 몇 개의 관절 후보 위치들과 칼만 필터 알고리즘에 의해 예측된 관절의 위치 그리고 각 관절의 이전 프레임과의 상관관계를 고려하여 중간관절의 위치를 결정한다. 이전 프레임과의 상관관계를 고려하므로 서 동작이 갑자기 튀는 현상을 최소화 할 수 있다.

첫 번째, 역운동학에 의해 계산된 중간관절의 후보 위치들 중에서 가장 정확한 위치를 선택하기 위해 신체에 대한 제약조건을 추가적으로 이용한다. 인체의 해부학적인 관절의 회전각도에 대한 제한과 더불어 각 신체 부위에 대해 각각 경계상자(Bounding Box)를 생성하여 후보 위치들이 3D 모델의 상체를 포함하는 경계상자 내에 있는지의 여부를 판단한다. 상체의 경계상자 내부에 존재하는 위치는 후보 위치에서 제외된다.

Fig. 5(a)는 상체 경계상자 내에 포함된 후보 위치를 보여주고 있으며, (b)는 경계상자 외부에 위치한 후보들을 이용하여 계산된 중간관절 위치를 적용한 결과이다.

Fig. 5.Collision Detection. (a) included in the bounding box of the upper body, (b) the result of applying the final position.

마지막으로, 식(16)과 같이 계산된 중간관절들의 현재 프레임 후보 위치들과 이전 프레임 위치와의 거리 d1을 계산하고 칼만 필터 알고리즘 예측값과 후보 위치들과 거리 d2를 계산하여 d1+d2가 가장 짧은 후보 위치가 중간관절의 최종 위치로 결정된다. Ei(n)은 계산된 현재 프레임 후보 위치들이며, Ei-1는 이전 프레임의 위치, Kt는 칼만 필터 알고리즘에 의해 계산된 추정 위치이다. 이와 같이 계산되어 복원된 20개 관절들의 위치정보를 가상 캐릭터에 적용하면 Fig. 5(b)와 같이 동작자의 동작과 유사한 동작을 표현할 수 있다.

 

4. 실험 결과

본 논문에서 제안한 동작 복원 시스템의 성능을 측정하기 위해 스트레칭이나 걷기 동작과 같이 개개인에 적합한 생활 운동을 이용하여 사용자의 반복적인 동작을 추적하여 화면에 자신의 동작과 운동 범위를 실시간으로 제공함으로서 자세 분석을 통해 동작 상태를 확인할 수 있다. 본 시스템은 Intel Core2 Duo CPU 3GHz 성능을 가진 하나의 서버와 두개의 클라이언트 부분으로 구성되어 있으며 각 장비는 네트워크로 연결되어 있다. 시스템은 초당 평균 30프레임의 처리 시간을 가지며, 이 속도는 서버와 2대의 클라이언트가 모두 동기화 되어 동작할 때의 측정 결과이다.

시스템 성능을 확인하기 위해 Fig. 6과 같은 국민 체조 동작을 예시로 이용하였다. 국민체조의 동작은 간단하고 쉬우면서 남녀노소 누구나 따라할 수 있으며, 목·어깨 등을 움직이는 동작이 많아 평소 운동이 부족한 상체 관절 부위의 경직된 근육을 효과적으로 푸는 효과가 있다[14]. Fig. 7은 매 프레임별 복원된 20개 관절의 3차원 정보를 가시화한 것으로 각 정보는 실제 동작과 유사한 근사치이다. 화면 오른쪽 탭은 매 프레임에 대해 20개 관절의 3차원 회전정보(BaseRot, FrameRot)이며, 시스템 내부적으로는 3차원 위치정보도 복원되어 저장되어 있다. 좌측 하단의 대화상자는 가장 많은 움직임을 가지고 있는 팔과 다리의 운동 동작에 대한 정보를 나타낸다. 본 시스템에서는 20개 관절의 3차원 정보가 복원되어 있어 모든 관절의 움직임에 대한 분석이 가능하나 실험에 활용한 동작들이 팔과 다리 운동에 집중되어 4개 관절(어깨, 팔꿈치, 고관절, 무릎)의 회전정보와 발 높이 정보만 가시화 하였다.

Fig 6.Example of national Physical Exercise.

Fig 7.The beginning screen of system.

Fig. 8(a)에 보이듯이 각 동작에 대해 매 프레임별 어깨(SR), 팔꿈치(ER), 고관절(HR), 무릎(KR) 관절에 대한 구부림 정도를 나타내는 회전각과 (b)에 표시된 정보는 발이 들어 올려지는 높이(Fheight)를 의미한다. (c)에 보이듯이 매 프레임별 동작에 대해 본 시스템에서 확인 가능한 정보는 회전(Rotation)과 높이(Height)로 구분된다. 각 동작에 대해 어깨(RUp-Arm, LUpArm), 팔꿈치(RLowArm, LLowArm), 고관절(RThigh, LThigh), 무릎(RLowLeg, LLowLeg) 관절에 대한 구부림 정도를 나타내는 회전각과 발이 올려지는 높이(RFoot, LFoot)이다. 동작자는 제공된 정보를 확인하여 현재 자신의 운동 자세에 대한 파악이 가능하다.

Fig. 8.Frame-by-frame motion information. (a) Rotation angle, (b) Height, and (c) Result

Fig. 9는 국민체조를 이용한 생활운동의 예시를 나타낸 결과로서 매 프레임별 동작에 대해 회전(Rotation)과 높이(Height) 정보로 구분하여 제공된다. 각 동작에 대해 어깨, 팔꿈치, 고관절, 무릎 관절에 대한 구부림 정도를 나타내는 회전각과 발이 올려지는 높이를 가시화함으로써 정보를 즉각적으로 인식하여 사용자가 자신의 자세나 운동 상태, 동작 범위 등을 유지하거나 교정할 수 있어 운동 효과를 높일 수 있다.

Fig. 9.Experimental results.

 

5. 결 론

본 논문에서는 사용자가 스트레칭이나 걷기 동작 등과 같이 개개인에 적합한 생활 운동을 동작을 시행하면 입력된 동작 영상으로부터 자신의 동작을 복원하는 시스템을 제안한다. 제안한 방법은 두 대의 카메라를 이용하여 2차원 영상을 획득하여 2차원 위치를 검출하고 신체 부위를 구분하였다. 다중 영상에서의 2차원 좌표를 정합하여 3차원 위치로 복원하고, 각 신체 부위를 구분하고 추적하여 형성된 6개(root, 양손, 양발, 머리의 end-effector)의 위치 데이터를 역운동학과 칼만 필터 알고리즘에 적용하여 각 중간관절의 3차원 위치를 추정함으로서 20개 관절의 3차원 동작 데이터를 생성하였다. 복원된 각 관절의 3차원 정보를 분석하여 실시간으로 동작자의 운동 자세 정보를 제공함으로서 실시간 자세 확인이 가능한 시스템을 구현하였다. 본 논문에서 제안한 시스템은 국민 체조 동작을 이용한 실험 결과를 제시함으로써 재활 운동뿐만 아니라 고 연령층의 생활 운동 시스템으로 활용이 가능함을 보였다. 향후에는 각 동작별 올바른 동작 데이터를 DB화하여 이 데이터를 기준으로 사용자의 동작과 비교를 통해 각 동작별 그리고 신체 부위별 정확도를 제공함으로써 피 실험자가 자신의 동작에 대한 판단이 가능하도록 보완할 계획이다. 또한 3차원 공간상에 계단과 같이 시각적으로 동작자에게 성취감을 줄 수 있는 객체를 배치하여 목표를 설정하고 현재 어디까지 도달하였는지 비교치를 제공함으로서 보다 흥미롭게 운동 효과를 높일 수 있는 시스템으로 발전시킬 계획이다.

References

  1. S.H. Lee and K.H. Shin, "Hybrid Position/ Force Control of a 3-D Rehabilitation Robot System for Upper Extremities," The Korean Society for Precision Engineering, Vol. 28, No. 5, pp. 599-605, 2011.
  2. T.S. Kim, J.H. Jang, H.Y. Jang, C.S. Han, J.S. Han, and J.Y. Ahn, "A Study on Ergonomic Design of a Multi-joint Rehabilitation System," Proceeding of the Korean Society for Precision Engineering, pp. 553-554, 2006.
  3. M. Lim, H. Jung, and K. Lee, "Game-type Recognition Rehabilitation System based on Augmented Reality through Object Understanding," The Institute of Internet, Broadcasting and Communication, Vol. 11, No. 3, pp. 93-98, 2011.
  4. S.J. Lee, K.H. Park, Y.S. Lee, H.W. Kwak, G.W. Moon, and J.H. Choi, et al., "An Implementation of Table-top based Augmented Reality System for Motor Rehabilitation of the Paretic Hand," Journal of Korea Multimedia Society, Vol. 16, No. 2, pp. 254-268, 2013. https://doi.org/10.9717/kmms.2013.16.2.254
  5. Y.H. Jung, C.H. An, and J.W, Hong, "Smart TV Technology Trends", The Korean Society of Broadcast, Vol. 16, No. 1, pp. 65-75, 2011.
  6. Nintendo will. http://www.nintendo.com/wii/, (accessed Mar., 10, 2012)
  7. Kinect for Xbox 360. http://www.xbox.com/en-US/kinect, (accessed Mar., 10, 2012)
  8. Motion Capture. http://en.wikipedia.org/wiki/Motion_capture, (accessed Mar., 22, 2012)
  9. Edward Angel, Interactive Computer Graphics, Addison-Wesley, Boston, Massachusetts, 2008.
  10. D. Tolani and N.I. Badler, "Real-time Inverse Kinematics of the Human Arm," Presence, Vol. 5, No. 4, pp. 393-401, 1996. https://doi.org/10.1162/pres.1996.5.4.393
  11. D. Tolani, A. Goswami, and N.I. Badler, "Real-time Kinematics Techniques for Anthropomorphic Limbs," Graphical Models, Vol. 62, No. 5, pp. 353-388, 2000. https://doi.org/10.1006/gmod.2000.0528
  12. Greg Welch and Gray Bishop, "An Introduction to the Kalman Filter ", TR 95-041, Course Notes, ACM SIGGRAPH 2001.
  13. Y.H. Seo, C.W. Lee, and J.S. Choi, "Improved Numerical Inverse Kinematics for Human Pose Estimation," Optical Engineering, Vol. 50, No. 3, pp. 037001-1-037001-14, 2011. https://doi.org/10.1117/1.3549255
  14. Korea Council of Sport for All. http://www.sportal.or.kr/, (accessed Dec., 3, 2013)