Journal Search Engine
Search Advanced Search Adode Reader(link)
Download PDF Export Citaion korean bibliography PMC previewer
ISSN : 1598-4540(Print)
ISSN : 2287-8211(Online)
Journal of Korea Game Society Vol.13 No.2 pp.29-38
DOI : https://doi.org/10.7583/JKGS.2013.13.2.29

스마트폰 가속도 센서를 이용한 테니스 스윙 인식 방법 

김상철, 차충용
한국외국어대학교 컴퓨터공학과

초록

최근 키보드나 마우스 조작이 아닌 사용자의 모션을 인식하여 플레이를 진행하는 체감형 게임에 대한 관심이 증대하고 있다. 일반적으로 이런 게임을 위해서는 사용자 모션을 감지하는 모션 콘트롤러가 필요하다. 본 논문에서는 사용자가 스마트폰을 손에 쥔 채 5가지 타입의 테니스 스윙을 할 때 발생하는 가속도 센서 값의 특징을 분석하고, DWT(Discrete Wavelet Transform) 기반의 테니스 모션 인식 방법을 제안한다. 우리의 방법은 스마트폰이 모션 콘트롤러 역할을 할 수 있게 함으로써, 사용자는 별도의 모션 콘트롤러를 구입할 필요 없이 손쉽게 체감형 테니스 게임을 즐길 수는 장점이 있다. 제안된 방법을 기반으로 테니스 게임 프로토타입을 개발하여 실험한 결과, 제안된 방법은 테니스 게임 진행에 충분히 높은 인식률을 보여 컴퓨터 게임에서 유용함을 확인하였다.

A Method for Tennis Swing Recognition Using Accelerator Sensors on a Smartphone

Sangchul Kim, Zhong Yong Che
Dept. of Computer Science and Engineering, Hankuk University of Foreign Studies
Received: Feb. 28, 2013 Accepted: Mar. 29, 2013

Abstract

Recently there has been an increasing interest on tangible games in which humanmotions are recognized rather than the handling of keyboards and mouses. Such gamesrequire a motion controller for recognizing the motions of users. In this paper, weanalyze the characteristics of values of accelerator sensors which are generated by auser who perform a tennis swing while holding a smartphone with his/her hand, andpropose a method for motion recognition based on DWT(Discrete Wavelet Transform).The proposed method enables a smartphone to serve as a motion controller, so that auser can enjoy a tangible tennis game without eliminates a need for buying the device.We developed a tennis game prototype using the proposed method. To our experiment,our method showed a high recognition rate and the usefulness in the game.

03 김상철, 차충용.pdf652.5KB

1. 서 론

 컴퓨터 게임은 멀티미디어 콘텐츠의 핵심으로서, 지금까지 PC, 스마트폰, 콘솔 등의 다양한 플랫홈에서 동작하는 게임들이 개발되어 서비스되고 있다. 최근 모션 인식 기술의 발달과 사용자의 다양한 요구에 따라 모션 인식 기반의 게임에 대한 연구가 활발하다. 모션 인식 기반의 게임에서는 키보드 조작이나 스크린 터치뿐만이 아니라 사용자의 다양한 몸동작을 인식하여 게임 진행을 위한 입력으로 이용하고 있다. 이런 게임은 사용자가 스포츠 동작이나 헬스 자세 등을 실제 취함으로써 높은 사실감을 느낄 뿐만이 아니라 몸 움직임에 따른 운동 효과까지 얻을 수 있다[1,2].

 지금까지 다수의 모션 인식 게임이 국내외적으로 개발되었다. 대표적인 예로서 Xii의 헬스 게임[3]과 Xbox의 다양한 스포츠 게임[4]를 들 수 있다. 대부분의 이런 게임들은 사용자 모션을 인식하기 위한 특별한 설비나 장치가 필요하다. 예를 들면, Xii의 경우에는 모션 센서가 내장된 모션 콘트롤러, Xbox의 경우에는 카메라가 장착된 Kinect라는 장치가 필요하다. 즉 게임을 즐기기 위해서 사용자는 특별한 장치를 구입하여야 한다.

 본 논문에서는 테니스 컴퓨터 게임에서 사용자가 스마트폰을 이용하여 테니스 스윙을 하였을 때, 사용자의 모션을 인식하는 방법을 제안한다. 테니스 컴퓨터 게임에서 스마트폰은 테니스 라켓의 역할을 하는 것이다. 본 방법은 주변에서 쉽게 접근할 수 있는 장치인 스마트폰을 이용함으로, 모션컨트롤러 등과 같은 별도의 모션 입력 장치를 구입하지 않는 장점을 제공한다.

 테니스 스윙은 여러 타입으로 구성되는데, 이 중 실제 게임에서 가장 많이 사용하는 것으로서 포핸드 스트로크(forehand stroke), 백핸드 스트로크(backhand stroke), 서비스(service), 포핸드 발리(forehand volley), 백핸드 발리(backhand volley)를 들 수 있다. 우리가 분석해 본 바, 사용자가 스마트폰을 테니스 라켓으로 사용하여 테니스 스윙을 취하였을 때, 스마트폰의 가속도 센서의 신호 열은 일정한 패턴을 가진다, 따라서 가속도 센서의 신호열이 주어지면 어떤 테니스 스윙인 지에 대한 인식이 가능하다. 본 논문에서는 주어진 신호 열이 가진 패턴의 특징을 분석하고 스윙 타입을 인식하는 방법을 기술한다.

 가속도 센서만으로는 테니스 스윙의 모션 벡터를 구할 수 없어, 스윙 궤적 및 라켓의 방향을 인식하지 못한다. 최근 스마트폰에 도입되기 시작한 자이로 센서를 함께 이용하면 이론적으로는 모션벡터를 구할 수 있겠지만, 우리의 분석에 따르면, 테니스 스윙같이 복잡하고 빠른 모션에 대해서 내장된 자이로 센서는 적절하게 반응하지 못하였다.

 가속도 센서를 이용해서 운동 동작이나 일상적 동작을 분석한 연구는 다수 발표되었다[5,6,7,8,9,10]. 그 이유는 가속도 센서가 작고 가격이 저렴하면서도 운동 모션의 특성을 잘 반영할 수 있는 신호 데이터를 생성하기 때문이라고 본다. [5]에서는 가속도 센서를 이용해서 골프 스윙의 운동 프로세스를 파악하였다. [6]에서는 일본 합기도의 칼 휘두르는 동작의 특징을 추출하는데 가속도 센서를 활용하였다. [7]에서는 테니스 선수의 서비스 동작의 숙련도를 몸에 부착한 가속도 센서를 이용해서 측정하였다. [8]은 팔에 부착한 가속도센서를 이용해서 테니스 스윙의 종류를 인식하는 연구이다. [9]에서는 가속도 센서를 몸에 부착하여 걷는 동작의 세부 절차를 분석하였다.

 대부분의 운동 모션 분석에 사용된 가속도 센서는 특수 제작된 장비에 내장된 것으로서, 스마트폰의 가속도 센서를 이용해서 테니스 스윙을 인식하는 연구는 거의 발표되고 있지 않았다. 본 논문은 기존연구 [2]에 기반을 두고 있다.

2. 스마트폰의 3축 가속도 센서

 대부분의 스마트폰에는 3축 가속도 센서가 내장되어 있어 지금까지 다양한 응용에서 활용되고 있다. 대표적인 용도로서 기기의 기울기 감지에 활용하여 사진 촬영 시 흔들림을 보정하거나, 방위 센서값의 계산 과정에서 기울기가 미치는 영향을 제거하는 하거나, 걸을 때 발생하는 진동으로 감지되는 센서 값 변화를 이용하여 만보계 기능으로 활용하는 것 등을 들 수 있다.

 [Fig. 1]은 스마트폰이 지원하는 전형적인 지역좌표계이다. 스마트폰을 세운 상태에서, x축은 좌우, y축은 아래위, z축은 앞뒤 방향으로 정렬된다. 스마트폰 기종에 따라 각 축의 음 및 양 방향은 [Fig. 1]과 반대일 수도 있다. 스마트폰에 내장된 3축 가속도 센서는 지역좌표계의 각 축 방향으로 감지되는 가속도를 측정한다. 따라서 3축 가속도 센서의 값은 <ax, ay, az>와 같이 3개 요소를 가진 벡터 형태이다. 스마트폰이 어떤 축 방향으로 움직이면, 해당 축의 가속도 센서 값은 양수 또는 음수가 된다. 이때 양수는 스마트폰이 축의 양 방향으로 가속이 되거나 또는 음 방향으로 감속이 됨을 나타낸다. 예를 들어, 스마트 폰을 책상위에 바로 올려놓은 상태를 가정하자. 스마트폰을 왼쪽으로 가속시키면 움직이면 ax는 양수가 되지만, 감속을 시키면 음수로 바뀌게 된다.

[Fig. 1] The local coordinate system of a smartphone

스마트폰의 센서 값을 해석해서 사용자의 모션을 인식하는데 어려움을 주는 요인 중 하나는 중력가속도이다. 중력가속도는 스마트폰에 항상 영향을 주게 되기 때문에 스마트폰이 정지 상태에도 가속도 센서는 이 값을 감지하게 된다. 예를 들면, 스마트폰을 책상위에 바로 올려놓고 움직이지 않는 상태에서도, az는 9.8(m/sec2)로 나타낸다. 이 상태에서 스마트폰을 특정 축을 중심으로 회전시켜 어떤 축이 중력가속도와 이루는 각도가 90이 아니게 되면, 가속도 센서는 해당 축 방향으로의 중력가속도를 감지하게 된다. [Fig. 2]는 스마트폰이 정지한 상태로서 x축은 중력가속도 수직이지만, y축과 z축은 그렇지 않은 경우이다. 이 경우 ax=0이지만, ay=gsinθ이고 az=gcosθ이다. 여기서 g는 중력가속도, θ는 g와 z축이 이루는 각도이다. 그림에서 알다시피, 스마트폰이 정지된 상태에서는 가속도 센서의 값을 이용해서 스마트폰이 지면과 기울어진 각도를 계산할 수 있다. 스마트폰의 기울기를 게임 진행을 위한 입력으로 사용하는 레이싱 게임과 같이 게임에서는 가속도 센서의 값으로부터 스마트폰의 기울기를 추출하고 있다.

[Fig. 2] A smartphone at a stationary state (x-axis is perpendicular to the gravity)

 스마트 폰이 움직일 때에 가속도 센서의 값은 중력가속도와 움직임에 따른 가속도의 합이 된다. [Fig. 3]은 [Fig. 2]와 같이 스마트폰이 정지 상태로부터 z축을 따라 가속도 mz로 움직이는 경우이다. 이 경우, 가속도 센서의 z축 값 az는 mz + gcosθ이 된다. 따라서 가속도 센서의 값에는 중력가속도 성분이 포함되어 있어, 가속도 센서 값만으로 스마트폰의 움직임 속도를 계산하는데 한계가 있다.

[Fig. 3] A smartphone moving along z-axis

3. 테니스 스윙 인식

3.1 모션 신호의 특징

 테니스 스윙이 [Fig. 4]와 같이 3가지 단계로 진행되는 것으로 본다. 준비 단계에서는 스마트폰의 뒷면을 손으로 감싸면서 쥔 채 팔을 약간 하늘방향으로 드는 자세를 취한다. 이때 스마트폰의 앞면(또는 뒷면)은 지면과 거의 수직을 이룬다. 이 자세는 실제 테니스에서 공이 자신의 코드 영역으로 넘어올 때까지 기다리면서 취하는 자세에 해당된다. 모션 단계에서는 포핸드 스트로크 등과 같은 실제 스윙을 하고, 마무리 단계에서는 스윙 후 한 동안 마지막 자세를 유지한다. 우리는 준비단계와 마무리 단계가 적어도 0.5초 이상 동안 진행되는 것으로 가정한다.

[Fig. 4] The three steps of the swing

 본 논문에서는 대표적인 테니스 스윙 타입인 포핸드 스트로크, 백핸드 스트로크, 포핸드 발리, 백핸드 발리 및 서비스의 모션 신호를 분석한다. 각축의 가속도 센서로부터 획득한 모션 신호는 이산신호 형태를 가진다. 우리의 분석에 따르면 이들 모션 신호는 해당 스윙 타입의 진행 과정을 그대로 나타내고 있다.

 [Fig. 5]는 포핸드 스트로크 시 각 축 가속도 센서로부터 획득한 모션 신호를 보여준다. 본 절에서 ax, ay와 az는 각각 x축, y축 및 z축의 가속도 센서 값을 나타낸다. 그림에서 보다시피 모션 신호의 시작 부분과 끝 부분에서는 센서 값의 변화가 거의 없는데, 이들은 각각 준비 단계와 마무리 단계를 나타낸다. 모션 단계에서의 각 축의 센서 값을 분석해 보면, 스윙이 진행되면서 스마트폰의 위치와 방향이 어떻게 변해가는 지를 판단할 수 있다. 예를 들어 z축의 센서 값을 살펴보자. 먼저 사용자는 테니스공을 타격하기 전에 몸을 반대로 회전시키는 백스윙(backswing)을 한다. P_A 지점은 백스윙의 끝을 나타내는데, 이때 스마트폰을 든 손은 몸 뒤로 위치하면서 조금 아래로 향하게 된다. P_B 지점은 백스윙 후 몸통을 회전하면서 테니스공을 타격함으로써 가속도가 증가함을 나타내고 있다. P_C 지점은 타격 후 스마트폰이 갑자기 정지하기 때문에 가속도가 급격히 감소함을 나타낸다. x축이나 y축의 가속도 센서 값의 변화는 z축과 비슷한 방법으로 해석이 가능하다.

[Fig. 5] A forehand stroke

 [Fig. 6]은 포핸드 발리 시의 모션 신호를 보여준다. x축의 가속도 센서 값이 다른 축의 센서에 비해 스윙의 특징을 보다 분명하게 표현하고 있다. 모션 단계가 시작되면 스마트폰을 앞으로 내밀면서 약간 들기 때문에 x축의 가속도 센서가 가속을 감지하여 P_A 지점이 발생한다. 그 후 손을 아래로 내리면서 테니스공을 타격하기 때문에 x축 음의 방향으로 가속도가 증가하게 된다. 즉, x축의 가속도 센서 값은 감소하기에 P_B 지점이 발생한다. 테니스공 타격 후 스마트폰을 갑자기 정지하기 때문에 x축의 가속도 센서는 P_C 지점과 같은 피크를 생성한다.

[Fig. 6] A forehand volley

 [Fig. 7]은 서비스 시의 모션 신호를 보여주고 있다. 서비스는 스마트폰의 앞면을 지면을 향하게 하면서 손위로 드는 모션과 스마트폰을 아래로 내리는 타격으로 구성된다. P_A 지점은 전자로 인해, P_B 지점은 후자로 인해, P_C 지점은 타격 후 스마트폰을 정지하기에 발생한다.

[Fig. 7] A service

 백핸드 스트로크 및 백핸드 발리의 모션 신호도 앞에서 언급한 방식과 유사하게 분석이 가능하게, 본 논문에서는 생략한다.

3.2 모션 인식 방법

3.2.1 전처리

 테니스 스윙의 인식과 학습은 여러 단계로 진행되는데, 먼저 [Fig. 8]과 같이 모션 신호를 전처리하는 작업을 수행한다. 본 장에서 각 테니스 스윙의 모션 신호 S는 Sx, Sy와 Sz라는 3개의 세부신호로 구성된다. Si는 축i의 (i = x, y, z) 가속도 센서로부터 획득한 모션 신호, Si(t)는 시점 t에서의 센서 값을 나타낸다.

[Fig. 8] The overall process

 전처리의 첫번째 단계에서는 각 t에 대해서 다음의 스무딩(smoothing) 함수를 이용하여 신호의 잡음을 제거한다.

 는 잡음 제거 전 신호이고,  는 잡음 제거 후 신호이다. 변수 k는 실험적으로 결정된다.

 잡음 제거 후에는 전체 신호에서 실제 움직임이 발생하는 구간을 추출하는 것이다. 준비 단계와 마무리 단계에는 스마트폰의 움직임이 거의 없기 때문에, 가속도 센서의 신호가 거의 수평으로 진행된다. 준비 단계의 끝 시점(또는 모션 단계의 시시점)인 는 다음 3 단계로 구한다.

 모-단계 1에서 는 준비 단계에서의 평균신호 값을 나타낸다. Ns는 준비단계가 진행되는 시간대에 해당되는 신호 값의 개수를 나타낸다. 모-단계 2는 신호 값이 과 크게 달라지는 시점인 tth을 구하는 것이다.  tth 주변에 모션 구간의 시점이 있을 것이다. 준비 단계에서도 일반적으로 조금의 움직임이 있기 때문에 신호는 수평이 아닌 아래위로 조금씩 변하게 된다. 따라서 은 모션 구간의 시작을 확신할 정도의 큰 변화가 있는 시점을 파악하기 위해서 도입되었다. 모-단계 3에서는 tth보다 작으면서 신호 값이 와 달라지기 시작하는 마지막 시점을 구하는데, 이 시점이 가 된다.

 마무리 단계의 시작 시점(또는 모션 단계의 끝시점)을 라고 할 때,  는  와 유사하게 구할 수 있다.

 같은 타입의 테니스 스윙이라도 측정할 때마다 가속도 센서 값이 크기나 길이 면에서 조금씩 차이가 나기 때문에 정규화가 필요하다. 전처리의 마지막 단계인 정규화는 다음 두 단계로 진행된다. 여기서 는  에서 사이의 구간만을 추출한 신호를, L = - + 1을 나타낸다.

 정-단계 1에서는 를 진폭이 1인 신호인 로 바꾸게 된다. max(●)와 min(●)은 신호의 최댓값과 최솟값을 각각 나타낸다. 정-단계 2에서는 를 길이가 N인 신호인  로 변경하게 된다. N은 실험적으로 결정되는데 우리의 경우 256이면 충분하였다.

3.2.2 학습 및 인식

 테니스 스윙 인식은 주어진 모션 신호로부터 이 신호가 속한 스윙 타입을 알아내는 것이다. 이를 위해서 먼저 각 스윙 타입을 대표하는 특징 벡터의 학습이 필요하다. 이 학습은 [Fig. 9]와 같이 전처리, 특징 벡터 추출 및 평균 벡터 계산의 3단계로 구성된다.

[Fig. 9] The learning process

 전처리 과정이 끝나고 얻어지는 센서 신호에 대해서, DWT(Discrete Wavelet Transform)을 이용해서 특징 벡터를 추출한다. DWT는 전 주파수 구간에서 시간-주파수 지역화라는 특징으로 인해, 많은 패턴 인식에서 활용되고 있다[10]. DWT는 연속적인 레벨로 진행되는데, 각 레벨에서는 로우패스 필터링과 하이패스 필터링을 통하여 각각 주파수 도메인의 실수 값들을 얻게 되는데, 이들을 DWT 계수들이라고 한다.

 어떤 테니스 스윙의 모션 신호로부터 특징 벡터를 구하는 방법은 다음과 같다. 전처리가 끝난 각 축의 모션 신호에 대해서, 다우비시-8(Daubechies-8) 웨이블릿을 모 웨이블릿으로 사용하여 5-레벨의 DWT 계수들을 구한다. 이들 계수를 Vi (i = x, y, z)라고 하면, 해당 특징 벡터는 Vx , Vy와 Vz을 차례로 연결시켜 만든 벡터이다. 따라서 각 축의 센서에 대해서 계수 8개가 존재하기 때문에 특징 벡터는 총 24개의 값으로 구성된다. 다우비시 웨이블릿을 선택한 이유는 이것이 고립 단어의 음성 인식에서 자주 사용되고, 우리의 테니스 스윙 인식과 고립 단어의 음성 인식이 방법적 측면에서 유사하다고 판단하였기 때문이다. 참고로, DWT 기반의 대부분 고립 단어 인식에서는 단어들의 음성 신호로부터 구한 DWT 계수를 비교함으로써 인식을 수행된다.

 각 테니스 스윙 타입의 특징 벡터를 학습하기 위해서는 해당 스윙 타입에 속하는 모션 신호들이 준비되어야 한다. 해당 동작 타입의 특징 벡터는 이들 학습용 특징 벡터들의 평균으로 정의한다.

 주어진 모션 신호 S에 대한 모션 인식은 전처리, 특징 벡터 생성 및 인식이라는 단계로 진행된다. 전처리 및 특징 벡터 생성은 [Fig. 9]에서와 동일하다. 인식 단계에서는 주어진 모션 신호 S가속한 스윙 타입 M을 다음 식으로 구한다.

 여기서, VS는 S의 특징 벡터, MS는 스윙 타입의 집합, Vm은 스윙 타입 m의 특징 벡터, DIST(●,●)는 두 벡터간의 유클리디언 거리를 나타낸다. 즉, M은 VS와 최소 거리를 지닌 스윙타입의 특징 벡터로부터 구할 수 있다.

4. 구현 및 실험

 본 논문에서 제안한 테니스 스윙의 인식 알고리즘을 ActionScript 언어로 구현하여 그 정확성을 테스트하였다. 각 테니스 스윙 타입별로 30개의 모션 신호를 확보하고, 그 중 15개는 학습용으로 나머지는 인식용으로 사용하였다. 먼저 스윙 타입별로 특징 벡터를 학습시킨 후, 75(75 = 15 * 5)개 모션 신호에 대해서 이들의 스윙 타입을 인식하여 보았다. 이들 모션 인식의 정확도는 다음 표와 같다. 사용자의 모션이 앞에서 기술한 기본 패턴이나 템포가 다르면 정확도는 떨어질 수 있다.

[Table 1] Experiment Result

 포핸드 스트로크나 백핸드 스트로크는 동작을 취할 때마다 조심씩 스윙 과정이나 정지 자세가 다를 수 있다. 즉, 공을 치기 전에 백스윙의 정도, 모션 단계에서의 스마트폰의 방향, 몸통을 회전하는 정도, 마무리 단계에서의 스마트폰의 방향에 따라서 모션 신호가 다소 다를 수 있다. 반면에 포핸드 발리, 백핸드 발리 및 서비스는 모션이 상대적으로 단순하여, 같은 스윙 타입에 속하는 모션 신호들 간에는 상대적으로 차이가 적다. 따라서 다른 스윙 타입들에 비해 포핸드 스트로크와 백핸드 스트로크의 인식 정확도가 떨어지게 된다고 본다.

 테니스 게임에서는 사용자의 코트 내에서의 위치나 게임 진행 상태에 따라 사용자가 취하는 스윙 타입이 제한될 수 있다. 즉, 매 게임의 시작 부분에는 사용자는 서비스를 넣게 된다. 사용자의 위치가 코드의 엔드라인 부근에서는 포핸드 스트로크나 백핸드 스트로크를 하게 된다. 반면에 사용자가 네트 부근에 있을 때는 발리 모션을 취하게 된다. 이런 이유에서 우리는 주어진 모션 신호가 포핸드 스트로크인지 백핸드 스트로크인지를 인식하는 실험을 별도로 실시하였다. 이 경우 모션 인식의 정확도는 크게 개선되었다.

 우리는 본 본문에서 제안한 테니스 스윙 인식방법을 이용하여, 간단한 1인용 테니스 게임을 구현하고 유용성을 분석하였다. 테니스 게임 소프트웨어는 2개의 서브시스템으로 나누어진다. 하나는 사용자의 모션 신호를 캡처하는 스마트폰 앱이고, 다른 하나는 테니스 게임을 진행하는 PC용 응용이다. 스마트폰 앱에서 캡처된 모션 신호가 실시간으로 PC측에 전달되어, 사용자의 스윙에 따라 게임이 진행된다. 스마트폰 앱은 Android용으로, PC측 응용은 Flash AS(ActionScript)로 구현하였다.

 3.2GHz 속도의 Pentium 듀얼 CPU와 2.0G 메모리를 가진 컴퓨터에서 우리의 테니스 게임을 실험한 결과, 제안된 모션 인식 알고리즘은 테니스게임을 진행하는데 전혀 지장을 주질 않을 정도의 속도로 수행되었다.

 실제 가속도 센서 값으로 만으로는 스마트폰의 정확한 방향을 알 수 없기에 모르기 때문에, 사용자가 공을 어떤 방향과 스피드로 테니스공을 타격해서 상대방 코트 영역으로 넘긴지를 알 수 없다. 따라서 우리의 테니스 게임에서는 테니스공이 상대방 진영으로부터 사용자 진영으로 넘어오면, 사용자 캐릭터의 바로 앞에 사각형 모양의 스트라이크존을 설정하였다. 사용자가 해당 존 내에서 적절한 스윙을 하게 되면, 정확한 리턴이 이루어졌다고 본다. 만약 테니스공이 해당 존을 통과하기 전이나 후에 타격이 이루어지면, 테니스공이 적절하지 않게 리턴되어 코트 밖으로 나가거나 헛스윙한 것으로 처리하게 된다. 모션인식 오류가 발생할 수도 있지만, 이런 경우가 드물며 또한 사용자는 스윙타이밍이나 스윙 과정의 이상을 먼저 의심하기에, 게임 플레이에서의 흥미를 크게 잃지는 않았다.

 이상의 실험결과를 종합하면, 본 논문에서 제안된 모션 인식 방법을 이용하면 스마트폰이 체감형 테니스 게임에서 모션 콘트롤러로서의 역할을 충분히 수행함을 알 수 있다.

5. 결 론

 최근 모션 인식 기술의 발달과 사용자의 다양한 요구에 따라 체감형 게임에 대한 관심이 증대하고 있다[11,12]. 특히, 스포츠나 헬스 관련 컴퓨터 게임에서는 키보드나 마우스 조작이 아닌 사용자의 모션을 인식하여 플레이를 진행하는 체감형 게임이 발표되고 있다. 본 논문에서는 사용자가 스마트폰을 손에 쥔 채 테니스 스윙을 할 때 발생하는 가속도 센서를 이용하여 테니스 스윙 타입을 인식하는 방법을 제안하였다. 제안된 방법의 핵심은 가속도 센서의 시계열 값을 DWT 계수로 변환하고, 이를 스윙의 특징 벡터로 삼는 것이다. 실험결과 우리의 방법은 높은 인식률을 보였다. 우리의 방법은 사용자가 별도의 모션 콘트롤러를 구입할 필요 없이 주변에서 항상 볼 수 있는 스마트폰을 이용하여 체감형 테니스 게임을 즐길 수는 장점을 제공한다.

ACKNOWLEDGMENT

 This work was supported by Hankuk University of Foreign Studies Research Fund of 2012.

Reference

1.Y. Kurihara, et al., "Estimation of Walking Exercise Intensity Using 3-D Acceleration Sensor," IEEE Transactions on Systems, Man, and Cybernetics, Vol. 42, No. 4, pp.495-500, 2012.
2.Hyunju Cho, et al., "Motion Recognition with Smart Phone Embedded 3-Axis Accelerometer Sensor," Proc. of IEEE International Conference on Systems, Man, and Cybernetics (SMC), pp.919 - 924, 2012.
3.http://www.nintendo.com/wii (last retrieved on April 2012).
4.http://www.xbox.com/en-US/ (last retrieved on April 2012).
5.Y. Ohgi, T.Baba, Uncock Timing in Driver Swing Motion, The Impact of Technology on Sport, ASTA, pp.349-354, 2005.
6.D. James, T. Gibson, W. Uroda, Dynamics of a swing: A study of classical Japanese swordsmanship using accelerometers, The Impact of Technology on Sport, ASTA, pp.355-60, 2005.
7.Amin Ahmadi, et al., "Investigating the translational and rotational motion of the swing using accelerometers for athlete skill assessment," Proc. of IEEE Sensors, pp.980-983, 2006.
8.Damien Connaghan, et al., "Multi-Sensor Classification of Tennis Strokes," Proc. of IEEE Sensors, pp.28-31, 2011.
9.Antoon Th. M. Willemsen, Fedde Bloemhof, Herman B. K. Boom, "Automatic Stance-Swing Phase Detection from Accelerometer Data for Personal Nerve Stimulation," IEEE Trans. on Biomedical Engineering, Vol. 37, No. 12, pp.1201-1208, 1990.
10.Elif Derya Ubeyil., "Combined Neural Network Model Employing Wavelet Coefficients for ECG Signals Classification," Digital Signal Processing, Vol 19, pp.297-308, 2009.
11.Guan-Feng He, Jin-Woong Park, Sun-Kyung Kang, Sung-Tae Jung, "Development of Gesture Recognition-Based 3D Serious Games", Journal of Korea Game Society, Vol. 11, No. 6, pp.103-114, 2011.
12.Yu-Jean Choung, Kyung-Kyu Kang, Dong-Ho Kim, "Example Based Motion Generation and its Applications with Efficient Control for Arbitrary Morphologies", Journal of Korea Game Society, Vol. 9, No. 1, pp.127-134, 2009.