Advanced
A new study on hand gesture recognition algorithm using leap motion system
A new study on hand gesture recognition algorithm using leap motion system
Journal of Korea Multimedia Society. 2014. Nov, 17(11): 1263-1269
Copyright © 2014, Korea Multimedia Society
  • Received : June 16, 2014
  • Accepted : September 30, 2014
  • Published : November 30, 2014
Download
PDF
e-PUB
PubReader
PPT
Export by style
Share
Article
Author
Metrics
Cited by
TagCloud
About the Authors
재현 남
Dept. of Computer Science and Engineering, SunMoon Univ.
승훈 양
Dept. of Computer Science and Engineering, SunMoon Univ.
웅 허
Dept. of Computer Science and Engineering, SunMoon Univ.
병규 김
Dept. of Computer Science and Engineering, SunMoon Univ.
bg.kim@mpcl.sunmoon.ac.kr

Abstract
As rapid development of new hardware control interface technology, new concepts have been being proposed and emerged. In this paper, a new approach based on leap motion system is proposed. While we employ a position information from sensor, the hand gesture recognition is suggested with the pre-defined patterns. To do this, we design a recognition algorithm with hand gesture and finger patterns. We apply the proposed scheme to 3-dimensional avatar controling and editing software tool for making animation in the cyber space as a representative application. This proposed algorithm can be used to control computer systems in medical treatment, game, education and other various areas.
Keywords
1. 서 론
그래픽 사용자 인터페이스가 개발되고 마우스가 광범위하게 사용되기 시작한 후 10여 년 동안 컴퓨팅 상호작용의 패러다임은 대체로 변함이 없었으며 키보드와 스크린 상의 포인터만 있으면 어떤 식으로든 제어가 가능하였다. 기존 컨트롤러부터 벗어나 새로운 인터페이스로 향하게 하는 변화의 조짐이 만들어지면서 새로운 하드웨어 인터페이스 설계자들이 잇따라 등장함에 따라 기대감을 높이고 있다 [1] . 인간은 일상생활에서 제스처 표정과 같은 비언어적인 수단을 이용하여 수많은 정보를 전달한다. 자연스럽고 지적인 인터페이스를 구축하기 위해서는 동작 (gesture)과 같은 비언어 적인 통신 수단에 대한 연구가 매우 중요하다 [2] . 기존의 컨트롤러가 아닌 적외선센서를 이용하여 프로젝터에 적용시킨 새로운 인터페이스가 연구가 수행되었으며 [3] , 여러 하드웨어제품 개발로 이를 활용한 인식기법 연구가 되고 있다 [4 - 6] .
마이크로소프트사의 키넥트는 RGB(Red-Green-Blue)인식 카메라와 적외선 카메라 적외선 프로젝터를 사용하여 사용자의 20개의 관절 X, Y, Z축의 정보를 알려주는 제품이다 [4] . MYO(Gesture Control Armband)는 착용자의 근육 안에 흐르는 전기 신호를 인식하여 손을 흔들거나 손가락을 움직이고 팔을 돌리는 등의 움직임 정보를 알려주는 제품이다 [5] . Leap Motion은 키넥트처럼 깊이를 구분하는 적외선 카메라를 사용하여 사용자의 각각의 손바닥과 손가락의 X, Y, Z축 정보를 알려주는 제품이다 [6] .
모션 컨트롤러 하드웨어의 발전과 함께 다양한 제어 기술들이 제안되고 있다. Jeon et al.은 키넥트의 깊이 센서를 이용한 핸드마우스를 개발하였다 [7] . 키넥트를 통해 손을 인식하여 이동한 거리를 계산하여 마우스의 위치를 이동 시키고 손가락의 모양을 인식하여 다양한 클릭 이벤트를 구현하였다.
Lee et al.은 키넥트를 활용한 요가 학습 콘텐츠를 개발하였다 [8] . 키넥트의 모션 인식은 손 제스처 인터페이스 구축과 3D 모델 애니메이션을 가능하게 하여 요가 학습의 흥미를 유발시키고 튜터 영상과 구분동작에 의한 학습 그리고 기준 동작과 사용자 동작의 1대1 매칭 시스템으로 사용자가 정확한 동작을 학습할 수 있도록 돕는다.
키넥트로 손과 손가락의 움직임을 인식하여 3D가상 공간에서 이동하고 물체를 선택하는 시스템이 개발되었으며 [9] , 손의 제스처를 인식하여 로봇을 제어하는 응용 프로그램이 제안되었다 [10] .
움직임 획득에 대한 관심이 많아지면서 많은 제품들이 출시를 앞두고 있고 모션 컨트롤러의 공간 지각적인 기능을 이용한 제어 콘텐츠 제공 등 다양한 분야에서 기대 효과가 클 것으로 보고 있다.
본 논문에서는 Leap Motion 시스템이 사용자의 손과 손가락의 구분 없이 X, Y, Z축에 대한 위치 정보만 제공되기 때문에 양 손을 구분하고 각각의 손가락을 구분해야 하는 경우 오른손과 왼손을 인식하는 방법과 각각의 손가락을 인식하는 알고리즘을 제안하고 기존의 인터페이스를 대체하여 더 효율적으로 사용이 가능한 분야들을 제공한다.
2. Leap Motion 시스템
Leap Motion 시스템의 모습은 Fig. 1 과같다. 깊이를 구분하기 위한 적외선 카메라를 이용하여 3차원 스캔이 가능하며 사용자의 손바닥과 손가락의 정보를 Leap Motion에서 제공하는 개발지원SW를 이용하여 가공이 가능하다. Fig. 2 와 같이 디바이스를 중심으로 +15° 부터 구형으로 최대 초당 290 프레임 인식한다. Fig. 3 은 0.5m 반경으로 된 반구 영역에서 0.01mm × 0.01mm를 인식하는 정밀함을 보여준다.
PPT Slide
Lager Image
Leap motion system.
PPT Slide
Lager Image
Recognition coverage of leap motion system.
PPT Slide
Lager Image
Recognition accuracy of leap motion system.
3. Leap Motion 시스템 기반의 제어 알고리즘
Leap Motion은 손과 손가락을 인식 하지만 그 손이 왼손인지 오른손인지 어떤 손가락인지 구별 하지않고 개발지원SW에서도 손을 구별하는 기능은 제공 되지 않고 있다. Leap Motion 시스템(2절)에서 설명을 했듯이 좋은 성능을 가지고 있기 때문에 손과 손가락을 구별 할 수 있게 된다면 더 많은 분야에 Leap Motion을 적용 시킬 수 있을 것이다.
Fig. 4 과 같이 Leap Motion 장치 가운데를 기준으로 X, Y, Z축에 대한 위치 정보를 받아들이면 오른손 왼손인지와 각각의 손가락에 대한 구분 없이 위치정보만 있기 때문에 양 손을 구분하고 각각의 손가락을 구분해야 하는 경우 대한 과정과 방법을 정해야 할 필요성이 있다. 본 연구는 개발지원SW를 통해 가공되지 않은 Raw Data를 양 손을 인식하는 과정(3.1절)과 개별의 손가락을 인식하는 과정(3.2절)을 통해 제어 알고리즘을 제안한다.
PPT Slide
Lager Image
The reference coordinate for position information of leap motion system.
- 3.1 양손 인식
Fig. 5 는 Leap Motion 시스템으로부터 얻은 데이터를 이용하여 양손을 인식하는 흐름도이다. Leap Motion에서 얻은 데이터에서 손이 2개 인지 확인하고 X축을 기준으로 좌표를 비교 작은 값이 왼손이 되고 큰 값은 오른손이 된다.
PPT Slide
Lager Image
The flow of recognition with two-hands.
PPT Slide
Lager Image
The local coordinate of each hand.
그러나 X축의 좌표 값만으로 비교를 하게 되면 손의 위치가 바뀌었을 경우 왼손과 오른손을 구별할 수 없게 된다. 보통의 사람은 생리적으로 엄지와 검지가 손의 반대 방향을 향한다. 정상적으로 손이 위치해 상태에서는 엄지와 검지의 Z축 선을 연장한 양손의 값이 X축을 기준으로 교차해 지나갔을 때 X좌표의 작은 값이 오른손 큰 값이 왼손이 되고 손의 위치가 바뀌었을 때는 X좌표의 작은 값이 오른손 큰값이 왼손이 된다.
- 3.2 손가락 인식
Fig. 7 은 Leap Motion으로부터 얻은 데이터를 양손으로 인식한 뒤 하나의 손에서 부터 각각의 손가락을 인식하는 흐름도이다. 먼저 양 손 인식 과정을 거쳐진 하나의 손을 왼손이라고 가정하면 손가락의 개수가 5개 인지 확인한다. 손가락의 좌표 정보 중 Z축의 좌표 값이 가장 작은 손가락을 중지손가락으로 인지한다.
PPT Slide
Lager Image
The flow of finger pattern recognition (case of left-hand).
다음으로 5개의 손가락 중 X축의 가장 큰 좌표값을 엄지손가락으로 인지하고 5개의 손가락 중 X축의 좌표 값이 가장 작은 손가락을 새끼손가락으로 인지한다. 남은 2개의 손가락에서 X축을 비교하여 작은 값을 갖는 손가락을 약지손가락으로 인지하고 X축 좌표 값이 큰 쪽의 손가락을 검지손가락으로 인지한다.
오른손의 경우 Z축 좌표 값이 가장 작은 손가락을 중지손가락 X축 좌표 값이 가장 큰 손가락을 새끼손가락 X축 좌표 값이 가장 작은 손가락을 엄지손가락 남은 2개의 손가락들 중 X축을 비교해 작은 값을 갖는 손가락을 검지손가락으로 하고 큰 값을 갖는 손가락을 약지손가락으로 인식하도록 개발하였다.
- 4. 손동작 인식 기반 응용 소프트웨어
- 4.1 모션 제어시스템 흐름도
개발된 응용 소프트웨어는 LEAM(Leap motion Editor and Media)이며 왼손과 오른손을 3D 아바타에 매핑하여 왼쪽과 오른쪽을 제어 할 수 있고 제어하는 동안의 움직임을 녹화하고 녹화된 3D 아바타의 움직임을 편집 할 수 있는 소프트웨어이다.
Fig. 8 는 개발된 응용 시스템 흐름도를 보여준다. 본 시스템은 두 가지의 전처리 과정을 통해 모션 및 3D 아바타를 제어한다. 첫 번째로 Leap Motion으로 부터 사용자의 손과 손가락에 X, Y, Z축 위치 정보를 얻어와 클라이언트에서 오른손 왼손으로 인식한다. (3.1절) 두 번째로 손가락을 인식하는 과정(3.2절)을 통해 3D 아바타를 제어 하여 녹화 및 편집하고 동영상으로 출력할 수 있다.
PPT Slide
Lager Image
The flow of the developed application system.
- 4.2 모션 소프트웨어 구성
개발된 시스템 구성은 Fig. 9 와 같으며 .Net Framework 4.0과 XNA Game Studio 4.0, Leap Motion SDK 0.8.0을 기반으로 사용자의 움직임을 통해 3D아바타를 제어 편집하고 재생하는 Motion Control Engine과 추가적으로 오디오를 제어 편집하고 재생할 수 있는 Audio Control Engine으로 구성되었으며 개발 환경은 Table 1 과 같다.
PPT Slide
Lager Image
The software structure of the developed system.
Development environment
PPT Slide
Lager Image
Development environment
5. 실험 결과
- 5.1 양 손 인식 실험 결과
Fig. 10 은 Leap Motion을 사용해 얻은 데이터로 양 손을 인식하는 실험의 사진이다. Leap Motion은 X, Y, Z축의 위치 정보뿐만 아니라 Pitch, Roll, Yaw값도 얻어 올 수 있다. 손의 움직임을 손모양의 3D객체에 매핑하여 손의 움직임에 따라 3D 객체도 같이 움직이는 것을 확인 할 수 있다.
PPT Slide
Lager Image
Result for recognizing two-hands at same time: (a) skewed pattern and (b) backward pattern.
- 5.2 손가락 인식 실험 결과
Fig. 11 은 Leap Motion을 사용해 얻은 데이터로 양 손을 구별하고 개별의 손가락을 구별하는 실험의 사진이다. 사용자의 양 손을 인식해 구별한 다음 개별의 손가락을 구별하여 다양한 시스템제어에 활용이 가능하다.
PPT Slide
Lager Image
Results for recognition of finger patterns.
Table 2 Fig. 5 Fig. 7 의 제안 알고리즘에 대한 인식률 결과이다. A, B, C, D 는 실험을 한 사람이고 왼손과 오른손 구별은 정확도가 매우 높았고 손가락의 경우 사람의 개인차에 따라 인식률이 떨어지는 사람도 있다. 전체적으로 손과 손가락 모두 높은 인식률을 보였다.
Recognition Rate
PPT Slide
Lager Image
Recognition Rate
- 5.3 응용 소프트웨어 제어
Fig. 12 와 같이 각 손가락 패턴 및 손 모양에 따라 제어 기능을 설계하였다. Fig. 13 은 양 손 구별과 각각의 손가락을 구별하는 과정을 거쳐 3D 아바타를 제어하는 사진이다. 3D 아바타를 제어하기 위해 이러한 패턴 인식을 통하여 손가락의 움직임으로 제어를 할 수 있다. 세밀한 움직임을 위해 손가락이 4개인 경우와 5개인 경우로 제어 기능을 나누었다. 손가락이 5개일 경우 3D 아바타의 상체를 제어하고 손가락이 4개이면 하체를 제어할 수 있다. 양 손의 특정 모션과 기울기에 따라 3D 아바타를 회전 걷기 앉기 등과 같이 특정 행동을 제어할 수 있다. 제어를 한 손과 손가락의 정보가 1초당 30프레임으로 XML(eXtensible Markup Language)파일에 저장 하는 녹화 기능으로 시간별 움직임에 대한 정보를 삭제 부분추가등과 같은 기본적인 편집이 가능하다.
PPT Slide
Lager Image
The designed hand gestures and finger patterns for controling 3D avatar.
PPT Slide
Lager Image
Results for controling and editing of 3D avatar: (a) standing, (b) walk to left side, and (c) jump.
6. 결 론
본 논문에서는 Leap Motion 시스템을 사용하여 얻은 데이터를 통해 양 손을 구분하고 각각의 손가락을 구분해야 하는 경우 오른손과 왼손을 구별하는 방법과 각각의 손가락을 구별하는 방법을 제안하였다. 제안된 방법으로 단순히 손과 손가락의 정보만 쓰는 것이 아니라 손과 손가락이 특정 위치나 특정한 동작을 취했을 때 등과 같은 정보들을 이용할 수 있기 때문에 많은 것을 표현할 수 있다. 아직 Leap Motion의 하드웨어와 개발지원SW에서 지원을 하고 있지 않고 연구가 많이 진행되지 않아 부족한 부분이 많지만 시간이 지날수록 손과 손가락 구별에 대한 알고리즘이 필요 하게 될 것이고 알고리즘은 발전 할 것이고 손과 손가락을 구별 알고리즘이 오차없이 정확 하게 된다면 Leap Motion의 기능을 다양한 분야에 활용 할 수 있게 될 것이다.
BIO
남 재 현
2013년 선문대학교 컴퓨터공학과 학사
2014년∼현재 선문대학교 컴퓨터공학과 석사
관심분야 : 영상신호처리
양 승 훈
2012년 선문대학교 컴퓨터공학과 학사
2013년∼현재 선문대학교 컴퓨터공학과 석사
관심분야 : 영상신호처리
허 웅
2013년 선문대학교 컴퓨터공학과 학사
2014년∼현재 선문대학교 컴퓨터공학과 석사
관심분야 : 영상신호처리
김 병 규
1996년 부산대학교 전기공학과 학사
1998년 한국과학기술원 전기및 전자공학과 석사
2004년 한국과학기술원 전기및 전자공학과 박사
2004년∼2008년 한국전자통신연구원 선임연구원
2009년∼현재 선문대학교 컴퓨터공학과 부교수
관심분야 : 비디오 신호처리, 비디오 압축이론, 영상신호 처리 및 지능 시스템, 임베디드 멀티미디어 기술
References
Park JH 2013 “Replace the Touch Screen to Aim the New Interface Technologies,” National IT Industry Promotion Agency Weekly Technology Trends 1587
Kim H.S. , Jung H.K. , Kim B.G. 2011 “A Study on Smart Touch Projector System Technology using Infrared Imaging Sensor,” Korea Information P rocessing Society 18B (3) 109 - 116
Lee KS. , Oh SH. , Jeon KH. , Kang SS. , Ryu DH. , Kim BG. 2012 "A Study on Smart Touch Projector System Technology Using Infrared (IR) Imaging Sensor" Journal of Korea Multimedia Society 15 (7) 870 - 878    DOI : 10.9717/kmms.2012.15.7.870
Kinect for WindowsVideo Motion Capture for Virtual Characters http://www.microsoft.com/en-us/kinectforwindows/
MYO Video Motion Capture for Virtual Characters https://getmyo.com/
LeapMotion https://www.leapmotion.com/
Jeon I.B. , Nam B.H. 2012 “Implementation of Hand Mouse based on Depth Sensor of the Kinect” The Korean Instiute of Electrical Engineers KIEE 2012 (7) 1674 - 1675
Lee J.W. , Oh K.S. “Yoga Learning Content by using Kinect,” Proceeding of HCI2012 2012 221 - 223
Shiratuddin M.F , Won K.W “Non-Contact Multi-Hand Gestures Interaction Techniques for Architectural Design in a Virtual Environment,” International Conference on Information Technology and Multimedia 2011 1 - 6
Malima A “A Fast Algorithm for Visionbased Hand Gesture Recognition for Robot Control” 2006 IEEE 14th Signal P rocessing and Communications Applications 2006 1 - 4