X3D H-Anim을 위한 손과 발의 뼈대 모델링


1. 서론
3D 기술이 발전함에 따라, 3D 게임, 3D 영화, 3D 교육, 3D 광고 등과 같은 다양한 3D 응용 서비스들이 지속적으로 출현하고 있다[1]. 이러한 서비스에서 3D 가상 환경과 사용자간 상호작용의 증진, 서비스의 역동성을 부여하여 위해 사람에 대한 3D 모델링과 애니메이션을 제공하고 있다[2,3,4]. 특히 가상공간에서의 사람의 표현은 캐릭터(character)라는 3D 객체로 표현된다. 따라서 사람의 움직임을 실감나게 표현하기 위해서는 캐릭터를 좀 더 정확하게 모델링한 후, 이 모델을 기반으로 사람의 모션 캡쳐 정보를 취하고, 이 모션으로부터 제스처를 인식하는 시스템들이 만들어 지고 있다[2,3]. 일반적으로 사람에 대한 모델링은 <그림 1>과 같이 뼈대(skeleton)와 스킨(skin)으로 나뉘어 진행된다. 뼈대는 사람의 주요 관절(articulation point, joint)을 표현한다. 예를 들어, <그림 1>의 가장 오른쪽에 위치한 실제 사람에 마커(marker)를 주요 관절로 인식한 후 인접한 관절을 연결하는 에지를 뼈로 고려하여 구성하면 사람의 뼈대 모델이 형성된다. <그림 1>의 왼쪽에서 세 번째 그림이 사람의 주요 관절을 표시하고 있으며, 인접한 점들을 연결하면 사람의 뼈대를 표현할 수 있다. 이러한 뼈대 모델에 원하는 스킨을 입혀 다양한 캐릭터를 만든다. 예를 들어, <그림 1>의 왼쪽부터 2개의 그림이 같은 뼈대에 서로 다른 스킨을 입힌 결과를 보여준다.
<그림 1> 사람의 움직임을 표현하기 위한 뼈와 스킨 모델링 예[5]
따라서 대부분 컴퓨터 그래픽스 분야에서는 사람의 애니메이션을 수행하기 위해서 먼저 뼈대를 만들어 그 뼈대에 대한 애니메이션을 수행하고 최종적으로 스킨을 입혀 전체 사람 모델에 대한 애니메이션을 수행한다. 또한 사람의 제스처 분석 및 모션 분석을 위해 뼈대 움직임의 분석이 매우 중요하다[3]. 따라서 사람 표현, 동작 분석 및 애니메이션을 행하기 위해 우선적으로 뼈대에 대한 모델링을 수행하여야 한다. 사람의 모션을 뼈대 기반으로 받아 저장할 수 있는 다양한 파일형식[6,7]이 있으며, 대표적인 파일 형식으로는 Biovision에서 만든 BVA와 BVH(Biovision hierarchical data)[8], Kinect 장비로부터 얻어진 사람 뼈대 모델[9], BVH 파일하고 유사한 ASK(Alias Skeleton), Acclaim 사의 Vicon Motion 캡쳐 시스템에서 사용하는 ASF(Acclaim Skeleton File)와 AMC(Acclaim Motion Capture Data), NIHBM(The National Institutes of Health in Bethesda, Maryland)에서 만든 C3D 파일, 국제 표준화 기구인 ISO/IEC JTC1/SC24에서 X3D[10] 기반으로 작성된 사람 몸체를 표현하는 표준 형식인 H-Anim [11,12]등이 있다. 이들 파일의 주요 특징은 원하는 유형의 뼈대를 정의할 수 있는 정보와 이들 뼈대의 움직임을 표현하는 정보로 구성이 되어 있다는 것이고, 얻어진 정보를 통해 사람의 자연스러운 움직임을 표현할 수 있도록 하고 있다. 본 논문에서는 사람을 정의하는 기존 뼈의 구조에 대해 살펴보고, 이러한 구조하에서 손과 발의 뼈를 표현하는 모델과 이 모델에서 발생하는 문제점과 이를 해결하기 위한 손과 발의 뼈 구조를 제안한다. 본 논문의 2절에서는 손과 발 뼈의 모델링에 관련된 기존 연구 결과에 대해 논하고, 3절에서는 본 논문에서 제안한 손과 발 뼈대의 모델링에 대해 설명한다. 마지막으로 결론 및 향후 연구에 대해 5절에서 논한다.

2. 손과 발 모델링을 위한 관련 연구
먼저 사람 손과 발 뼈 모델링의 기존 연구를 살펴보기 전에 사람 몸체에 대한 뼈대 모델링에 관해 살펴보자. 사람 몸체의 뼈대 정의를 위해 널리 사용되는 방법으로는 Biovision사가 제시한 BVH[8]가 있으며, 이 형식은 사람 몸체의 뼈대를 표현하는 HIERARCHY와 사람의 움직임을 표현하는 MOTION 부분으로 구성된다. HIERARCHY 부분은 <그림 2>의 왼쪽 그림과 같이 사람 뼈대를 트리 구조로 표현하고 있으며, 힙(hip)을 이 트리의 뿌리(root)로 표현하였고, 힙에 연결된 부위를 뿌리의 자식으로 표현한다. 트리 구조의 각 노드는 사람 몸체의 해당 연결점(joint)을 나타낸다. 연결점간 얼마나 떨어져 있는지는 OFFSET 정보로, 사람 몸체의 움직임은 전이(translation), 회전(rotation), 크기조정(scale)의 변화를 나타내는 CHANNELS 정보로 표현한다(그림 2의 오른쪽 그림 참조). 또한 시간에 따른 사람의 움직임은 MOTION 부분에 명시되며, 그 정보는 HIERARCHY에 명시된 채널에 대한 움직임 정보이다. <그림 2>에서 루트 힙의 자식 노드는 Chest, Lefthip, Righthip으로 구성되며, Chest의 자식노드는 Neck, LeftCollar, RightCollar로 구성된다.

<그림 2> BVH의 파일 구조[8]
앞에서 언급한 바와 같이 사람의 뼈대와 움직임을 표현하는 다양한 형식이 있어 ISO/IEC JTC1 SC24 국제 표준화 기구에서 2005년 ISO/IEC 19774:2005 Information technology ? Computer graphics and image processing ? Humanoid animation (H-Anim)[11]이라는 이름으로 표준을 제정하였다. 이 표준에서는 사람의 뼈대를 크게 Skull, Body Skeleton, Hand Skeleton, Foot Skeleton로 <그림 3>과 같이 정의하였다. H-Anim 1.1 구조도 BVH 구조와 같이 계층적 구조로 이루어져 있으며, 이 파일 구조에서는 Skull, Hand, Foot 부위에 대한 뼈대의 표현이 상대적으로 좀 더 세밀하게 되어 있음을 알 수 있다. 최근 들어 컴퓨터와 사람과의 편리한 상호작용을 위해 제스처 사용자 인터페이스에 대한 연구[2,3]가 진행되고 있으며, 가장 중요하게 고려하고 있는 제스처 유형으로 손의 움직임 정보이다. 많은 연구자들에 의해 손의 움직임을 보다 정확하게 모델링하고 추척하기 위한 연구가 진행되고 있으며, 손과 발의 모델링에 관한 대표적인 연구 결과로는 ISO/IEC JTC1/SC24에서 표준화로 제정한 H-Anim 1.1[11], Sens3D의 Hand Skeleton 모델[13], Talmann에 의해 제시된 손 뼈대 모델[14] 등이다. <그림 3>에서 보는 바와 같이 H-Anim 1.1에서 손의 뼈대 모델은 손목(wrist)에서 엄지, 인지, 중지, 약지, 소지로 바로 가는 연결점을 만들었고, 엄지손가락은 3개의 연결점(metacarpal, proximal, distal), 나머지 다른 손가락은 4개의 연결점(metacarpal, proximal, middle, distal)으로 구성하였다. 발에 뼈대 모델은 발목(ankle)에서 일직선으로 세 개의 연결점(subtalar, midtarsal, metatarsal)로 구성하였다.

<그림 3> H-Anim 1.1 인체 구조[11]
최근에 손의 움직임 정보를 입력받을 수 있는 Sens3D 장비[13]가 출현하였다. 이 장비에서는 손이 움직였을 때, <그림 4>와 같은 손의 주요 연결점에 대한 3차원 위치 정보를 실시간에 얻는다. <그림 4>에서 보는 바와 같이 손목을 기점으로 손바닥을 한 점으로 나타내었고, 손바닥으로부터 다섯 개의 손가락으로 연결되는 연결점을 만들었다. 엄지손가락은 두 개의 연결점(BASE, JT1) 그리고 나머지 손가락은 3개의 연결점(BASE, JT1, JT2)으로 구성하였다. Thalmann 등[14은 손바닥과 손가락의 정확한 애니메이션을 위해 사이클(cycle)이 존재하는 <그림 5>와 같은 손 뼈대 모델을 제시하였다. 그들은 이 모델을 기반으로 손으로 다른 객체를 잡는 애니메이션을 시뮬레이션하였고, 자연스러운 손의 움직임을 표현하였다.

<그림 4> Sens3D 장비에서 사용하는 손의 뼈대 모델[13]
<그림 5> Thalmann 등에 의해 제시된 손의 뼈대 모델[14]
3. H-Anim을 위한 손과 발의 뼈대 모델링
본 장에서는 손과 발의 뼈대 구조를 기반으로 H-Anim에서 사용할 수 있는 뼈대 모델을 제시하고자 한다. 먼저 해부학적 분야에서 손과 발의 뼈대를 모델링하기 위한 규칙을 소개한다. 우선적으로 해부학에서 손가락과 발가락의 번호를 엄지에서부터 소지까지 각각 1, 2, 3, 4, 5로 부여한다. 다음으로 손가락 마디는 phalanx로 명명하고, 몸쪽 근위는 proximal, 몸에서 가장 먼쪽인 원위는 distal로 명명한다. 마디마다 관절은 carpal_interphalangeal joint로 명명한다. 손목은 carpal로 발목은 tarsal이라 명명하고, 발허리는 metatarsal, 손허리는 metacarpal로 명명한다[15,16]. 마지막으로 애니메이션과 의학적인 측면에서 손과 발의 움직임을 자연스럽게 표현하기 위해 뼈대의 구조는 트리 유형을 가져야 한다. 이러한 규칙을 기반으로 손 뼈의 구조를 살펴보면 <그림 6> (a)[15]와 같으며, 파란색으로 채워진 원은 H-Anim와 유사하게 손 뼈대 구조의 연결점을 나타내고 있다. 본 연구에서는 애니메이션과 의학적 측면에서 뼈의 구조를 좀 더 구체적으로 표현하기 위해 손목과 손바닥 사이에 존재하는 골격에 대해 빨간색 빗금친 원으로 표시된 3개의 연결점(손배마름 관절, 손배알머리 관절, 세모갈고리 관절)을 추가하였다. <그림 6>(b)는 손 뼈대의 관절점 부위의 영문이름, 한글이름과 약어를 보여주고 있다.

<그림 6> 손 뼈대의 연결점과 이름
<그림 6>에서 표시된 손 뼈대의 관절점과 약어를 기반으로 만든 트리구조의 손 뼈대구조는 <그림 7>과 같다. <그림 7>은 손 뼈대의 트리 유형의 계층적 구조를 표현하고 있다. 우선적으로 <그림 7>의 왼쪽 그림에서 보는 바와 같이 엄지를 1번, 인지를 2번, 중지를 3번, 약지를 4번, 소지를 5번으로 부여하였다. 손목(wrist)을 나타내는 관절점을 RC(radiocarpal joint)라 나타내고, RC는 세 부위인 MC1(midcarpal joint),MC2(midcarpal joint),MC3(midcarpal joint)와 연결하였다. MC12는 엄지와 인지의 CMC와 연결하였고, MC3을 중지의 CMC, MC45를 약지와 소지의 CMC와 연결하였다. 그리고 그 외 모든 손가락의 각 마디는 뼈 마디간을 고려하여 연결하였다. 상세 연결 내용은 <그림 7>의 왼쪽 그림에 잘 설명되어 있다. <그림 7>의 오른쪽 그림은 손 뼈대의 관절점 전체 이름을 사용하여 트리 형태의 계층적 구조로 나타낸다.
<그림 7> 손 뼈대 구조의 계층적 표현
다음으로 발 뼈대를 모델링하기 위해 발 뼈의 구조를 살펴보면. <그림 8> (a)[16]와 같으며, 발의 구조도 손의 구조와 매우 유사함을 알 수 있다. 그러나 H-Anim 1.1에서 제시하고 있는 발 뼈대의 구조는 매우 단순화된 구조로 발 뼈대의 구조를 잘 표현하고 있지 못함을 알 수 있다. 본 논문에서는 <그림 8> (a)와 같은 발의 뼈 구조에 대해 파란색과 빨간색으로 표시된 점들을 관절점으로 나타내었고, 그들 관절점간을 연결하는 구성되는 트리구조를 만들었다. 제안한 발 뼈대 모델은 트리구조로 표현되며, 발목관절(TC:Talocrural joint)를 이 트리의 뿌리(root)로 표현하며, 발목관절은 목말발꿈치발배관절(TCN:Talocalcaneonavicular joint)와 발꿈치입방관절(CC:Calcaneuscuboid joint)과 연결하였다. 목말발꿈치발배관절은 세 개의 쐐기발배관절(CN: Cuneonavicular joint)과 연결되어 있고, 발꿈치입방관절은 횡단발목관절(TT: Transversetarsal joint)과 연결되어 있다. 쐐기발배관절은 엄지, 검지, 중지 발가락의 발목발허리관절(TMT: Tarsometatarsal joint)와 연결되어 있으며,횡단발목관절은 약지와 소지 발가락의 발목발허리관절과 연결되어 있다. 그 이후의 연결은 <그림 8> (a)에서와 같이 각 해당 발가락의 연속된 관절점으로 나타난다. <그림 8>에 표시된 발 뼈대의 관절점과 약어를 기반으로 만든 트리구조의 발 뼈대구조는 <그림 9>와 같다. <그림 9>의 왼쪽 그림에서 보는 바와 같이 엄지 발가락을 1번, 인지 발가락을 2번, 중지 발가락을 3번, 약지 발가락을 4번, 소지 발가락을 5번으로 부여하였다. 발목(talocrural)을 뿌리로 두고 이 뿌리와 TCN과 CC를 연결하였고, TCN과 엄지, 인지와 중지의 쐐기발배관절인 CN1, CN2, CN3를 연결하였고, CC와 TT를 연결하였다. TT는 약지와 소지의 발목발허리 관절인 TMT4와 TMT5를 연결하였다. CN1, CN2, CN3은 대응하는 발가락의 발목발허리 관절인 TMT1, TMT2, TMT3와 각각 연결하였다. 그리고 이 이후는 해당하는 발가락의 관절점들간을 연결하였다. 그 결과가 <그림 9>의 왼쪽 그림에 잘 나타나있다. <그림 9>의 오른쪽 그림은 발 뼈대의 관절점 전체 이름을 사용하여 트리 형태의 계층적 구조를 나타내고 있다.

<그림 8> 발 뼈대의 연결점과 이름
<그림 9> 발 뼈대 구조의 계층적 표현
지금까지의 논의에서 언급한 바와 같이 손과 발의 뼈대를 표현하는 트리 구조는 각각 <그림 7>과 <그림 9>와 같다. 이 트리 구조를 이용하여 손과 발의 크기 정보를 표현하기 위해서는 BVH 구조에서와 같이 이 트리 구조의 각 노드에 OFFSET 정보를 추가할 수 있고, 움직임을 표현하기 위해서는 전이, 회전, 크기조정을 나타내는 CHANNELS 정보를 추가할 수 있다. 특히 손과 발의 움직임을 시간에 따라 애니메이션하기 위해서는 시간의 변화에 따라 변하는 명시된 CHANNELS 값을 기술할 수 있다.

4. 결론
본 논문에서는 손과 발의 의학 정보의 표현과 자연스러운 애니메이션을 위해 요구되는 손과 발의 뼈의 구조를 제안하였다. 특히 ISO/IEC JTC1 SC24에서 제안한 H-Anim 1.1에서 표현된 손과 발의 뼈대 구조의 문제점을 제시하였고, 해부학적인 관점에서 이들 뼈대 구조를 보다 잘 표현할 수 있는 구조를 제시하였다. 향후 연구과제로는 본 논문에서 제시된 뼈대 구조와 계층적 자료 표현을 기반으로 카메라를 통해 현실세계에서 움직이는 손과 발의 움직임을 입력받아 이들 움직임 정보를 실시간에 제안한 뼈대 구조로 저장하는 소프트웨어를 연구개발하고자 한다.

Acknowledgement
본 연구는 산업통산자원부 기술표준원의 지원을 받는 국가표준기수력향상사업의 연구결과로 수행되었습니다.

참고문헌
[1] Ashish Shingade and Archana Ghotkar, “Animation of 3D Human Model Using Markerless Motion Capture Applied To Sports”, International Journal of Computer Graphics & Animation (IJCGA) Vol.4, No.1, January 2014
[2] 김종오 등, “제스처 인터페이스 기반의 상호작용 3D 화상교육 시스템 개발”, 2014 HCI 학술대회, 2014
[3] Mihye Kim, Ji-Seong Jeong, Chan Park, Rae-Hyun Jang, Kwan-Hee Yoo, “A Situated Experiential Learning System Based on a Real-Time 3D Virtual Studio”, 364-371, PKAW 2012
[4] Jehee Lee, Jinxiang Chai, Paul Reitsma, Jessica Hodgins, and Nancy Pollard, “Interactive Control of Avatars Animated with Human Motion Data”, ACM Transactions on Graphics (SIGGRAPH 2002), Vol. 21, No. 3, 491-500, July 2002.
[5] Wikipedia, Computer Animation, http://en.wikipedia.org/wiki/Computer _animation, 2014
[6] Wikipedia, List of Motion and Gesture File Formats, http://en.wikipedia/wiki/List_of_motion_and_gesture_file_formats, March, 2014
[7] M. Meredith and S. Maddock, “Motion Capture File Formats Explained, University of Sheffield, 2011
[8] Biovision Hierarchy http://www.cs.cityu.edu.hk/~howard/Teaching/ CS4185-5185-2007-SemA/Group12/BVH.html
[9] Xiaolong Tong; Pin Xu; Xing Yan, “Research on Skeleton Animation Motion Data Based on Kinect,” Computational Intelligence and Design (ISCID), 2012 Fifth International Symposium on , vol.2, no., pp.347,350, 28-29 Oct. 2012
[10] ISO/IEC JTC1/SC24, ISO/IEC 19775, Information technology ? Computer graphics and image processing ? X3D(Extensible 3D), 2004
[11] ISO/IEC JTC1/SC24, ISO/IEC 15774:2005, Information technology ? Computer graphics and image processing ? Humanoid Animation (H-Anim), 2005
[12] Jan Miler, “Finger Alphabet by Computer Animation”, Central European Seminar on Computer Graphics 2002, 2002, pp.1-9.
[13] Senz3D Document http://asia.creative.com/p/web-cameras/creative -senz3d, Nov.7, 2013
[14] N. M. Thalmann, et.al, “Hand Animation, Object Grasping, and Foot Animation”, Computer Science Workbench 1990, pp. 45-54.
[15] Medical Hand Model, www.alibaba.com/showroom/hand-model- anatomical.html, Nov. 7, 2013
[16] Medical Foot Model, www.alibaba.com/showroom/foot-model- anatomical.html, Nov. 7, 2013