DOI QR코드

DOI QR Code

Real-Time Physical Activity Recognition Using Tri-axis Accelerometer of Smart Phone

스마트 폰의 3축 가속도 센서를 이용한 실시간 물리적 동작 인식 기법

  • Yang, Hye Kyung (Dept. of Computer Science & Engineering, Ewha Womans University) ;
  • Yong, H.S. (Dept. of Computer Science & Engineering, Ewha Womans University)
  • Received : 2013.07.19
  • Accepted : 2014.03.27
  • Published : 2014.04.30

Abstract

In recent years, research on user's activity recognition using a smart phone has attracted a lot of attentions. A smart phone has various sensors, such as camera, GPS, accelerometer, audio, etc. In addition, smart phones are carried by many people throughout the day. Therefore, we can collect log data from smart phone sensors. The log data can be used to analyze user activities. This paper proposes an approach to inferring a user's physical activities based on the tri-axis accelerometer of smart phone. We propose recognition method for four activity which is physical activity; sitting, standing, walking, running. We have to convert accelerometer raw data so that we can extract features to categorize activities. This paper introduces a recognition method that is able to high detection accuracy for physical activity modes. Using the method, we developed an application system to recognize the user's physical activity mode in real-time. As a result, we obtained accuracy of over 80%.

Keywords

1. 서 론

오늘날 스마트폰의 발달로 인해 다양한 센서를 이용한 연구들이 많아지고 있다. 스마트폰에는 GPS, 가속도센서, 카메라센서 등과 같은 다양한 센서를 탑재하고 있다[1]. 또한 스마트폰은 사용자가 항상 휴대하므로 사용자에 관한 다양한 정보를 지속적으로 받을 수 있다는 장점을 가지고 있다. 그렇기 때문에, 기존의 동작패턴 인식에 관한 연구를 보면 필요한 센서를 부착하였지만[2,3] 비용뿐 아니라 일반 사용자가 사용하기란 어려움이 있다. 그리하여 최근에는 스마트폰 센서를 이용한 동작 인식 연구들이 많아지는 추세이지만 실시간으로 사용자의 동작을 인식하는 연구는 부족하다. 스마트폰을 이용하여 실시간으로 사용자의 동작을 인식하게 된다면 사용자의 하루 운동정보를 기록하는 등 다양한 어플리케이션 개발이 가능할 것이다.

본 논문에서는 스마트폰에 내장되어있는 3축 가속도센서를 이용하여 실시간 물리적 동작 인식 기법에 대해 연구하였다. 실시간으로 생성되는 가속도 데이터를 이용하여 동작 인식이 가능하도록 변환하는 방법과 동작을 분류할 수 있는 기준을 세웠다. 본 논문의 구성은 다음과 같다. 본 논문의 2장에서는 가속도센서를 이용한 관련 연구에 대해 소개하고, 3장에서는 인식하고자 하는 물리적 동작에 대한 설명과 인식 기법에 대해 설명한다. 4장에서는 기법을 토대로 구현한 시스템을 이용하여 실시간 정확도 측정을 하였다. 마지막으로 5장에서는 결론 및 향후 연구를 제시하였다.

 

2. 관련연구

가속도센서를 이용한 동작 인식은 스마트폰이 출시되기 전부터 연구되었던 분야이다. 기존 연구에서는 가속도센서를 허리, 발목, 신발 등 사용자의 신체부위에 부착하여 데이터를 획득하고 사용자의 움직임을 분석하였다. 김윤정 등은 가속도센서를 직접 착용하여 사람의 보행 시 발생하는 가속도 데이터를 획득하여 실시간 걸음수를 검출하는 알고리즘을 개발하였다[4]. 이 논문에서는 느리게 걷기, 걷기, 빠르게 걷기, 천천히 뛰기, 뛰기, 빠르게 뛰기 등 다양한 걸음 속력에 대해 실험을 진행하였다. 하지만 걸음 동작에만 초점을 맞춘 연구이며, 실시간 검출을 위해 별도의 디바이스 개발이 필요하였다. 그리고 Lee 등은 3축 가속도센서를 이용하여 앉기, 서기, 눕기, 걷기, 뛰기를 Fuzzy 알고리즘을 사용하여 동작 인식하는 연구를 하였다[5]. 이 연구에서는 모든 동작에서 99.5%의 굉장히 높은 인식률을 보였다. 하지만 이 연구 또한 스마트폰이 아닌 직접 제작한 가속도 디바이스를 이용하여 실시간으로 데이터를 받을 뿐 실시간 동작 인식 연구는 아니었다.

위에 소개한 논문 이외에도 가속도센서와 다양한 센서를 결합한 동작 인식 연구들도 많아지고 있다. Blum외 2명은 카메라와 녹음기, 그리고 2개의 가속도센서를 이용하여 사용자의 행동을 분석하여 자동으로 관심도가 높은 상황에서 멀티미디어를 저장하는 멀티미디어 다이어리 연구를 하였다[6]. Reddy 등은 GPS와 가속도센서를 이용하여 걷기, 뛰기, 자전거타기, 자동차와 같은 엔진이 달린 운송수단을 인식 하였다[7]. Stenneth 등은 모바일 디바이스에 내장된 GPS와 GIS를 이용하여 어떤 운송수단을 이용하는지 판별하는 연구를 하였다[8]. 이처럼 다중센서를 이용하여 동작 인식을 할 경우 단일 센서 보다는 높은 인식률을 보이는 장점이 있다. 하지만 카메라센서와 GPS를 이용할 경우 학습데이터를 모으는데 많은 시간이 든다는 단점이 있다. 또한 앞선 연구들은 가속도센서를 직접 제작하거나, 동작 인식을 위한 별도의 장비가 필요했기 때문에 비용이 많이 든다. 따라서 스마트폰을 이용한다면 비용을 줄일 수 있다는 점으로 스마트폰에 내장된 센서를 이용한 연구들이 각광받고 있다. 특히 스마트폰의 3축가속도센서를 이용한 동작 인식 연구가 많이 진행되고 있다. 그 중에서도 Lwapisz 등은 걷기, 조깅, 계단 오르기, 계단 내려가기, 앉기, 서기로 총 6가지의 동작을 구별하는 연구를 하였다[9]. Dernbach 등은 스마트폰의 센서 데이터를 추출하여 단순 동작과 복잡한 동작을 분류하는 연구를 하였다[10]. 하지만 두 연구는 데이터마이닝 소프트웨어인 WEKA[11]를 이용하여 동작 인식에 적합한 모델 성능을 비교하는 연구로 스마트폰의 가속도 데이터만 추출할 뿐 실시간으로 동작을 인식하지 못하였다. 따라서 본 논문에서는 스마트폰의 3축 가속도센서를 이용하여 실시간으로 사용자의 동작 인식을 높일 수 있는 기법에 대해 소개한다.

 

3. 물리적 동작 인식 기법

본 논문은 물리적 동작을 인간의 행동 중 가장 기본적이고 기초가 되는 동작으로 정의한다[12]. 물리적 동작은 정적과 동적 동작 두 가지로 나눌 수 있다. 정적 동작은 ‘앉기’와 ‘서기’와 같은 다소 움직임이 적은 동작을 말한다. ‘걷기’와 ‘뛰기’와 같은 움직임이 빈번한 동작은 동적 동작으로 나누었다[1]. 다음 Table 1은 인식하고자 하는 물리적 동작이다. 본 논문은 이러한 4가지의 물리적 동작을 인식하는 기법을 제안한다. 다음 Fig. 1은 물리적 동작인식의 전체적인 순서이다. Fig. 1과 같은 과정을 통해 하나의 물리적 데이터를 얻을 수 있다.

Table 1.Type of physical activities

Fig. 1.The overview of the physical activity recognition system.

3.1 대표성분 변환

스마트폰에 내장되어 있는 3축 가속도센서 데이터 로그를 추출하여, 데이터의 특징을 살펴보았다. Fig. 2는 스마트폰의 3축 가속도센서에서 추출한 실제 데이터 신호이다.

Fig. 2.Raw data chart of X, Y, Z-axis accelerometer.

Fig. 2를 보았을 때, 육안으로 구별이 가능하지만 실제 가속도 데이터는 미세한 움직임에도 노이즈가 발생하기 때문에 정확하게 동작을 분류하기란 어려움이 있다. 또한 스마트폰에 내장되어있는 3축 가속도센서는 회전성분[7]이 포함되어 있다. 회전성분이란, 스마트 폰의 위치가 바뀌면 가속도 데이터 X, Y, Z축의 좌표 값이 바뀌어서 나타나게 되는 현상을 말한다. 따라서 회전성분의 영향을 받지 않고 노이즈를 줄이는 방법이 필요하다[13]. 본 논문에서 이러한 회전성분의 영향을 피하기 위해 가속도 데이터를 하나의 값(CVA)으로 변환시킨다. 하나의 값(CVA)으로 구하는 방법은 다음 (1)과 같은 식을 사용한다.

*x,y,z : 3축 가속도의 출력 값

다음 Fig. 3은 위 식을 이용하여 실제 가속도 데이터를 대표성분으로 변환시킨 물리적 동작의 신호 결과이다. Fig. 3을 보면 대표성분만을 이용하여 각 동작을 인식하기란 어려움이 있다. 특히 ‘앉기’와 ‘서기’와 같은 경우, ‘서기’가 ‘앉기’보다 약간의 움직임이 있다는 것을 알 수 있지만 동작을 정확하게 분류하기란 어려움이 있다. ‘걷기’와 ‘뛰기’ 또한 육안으로 구별할 수 있지만 분류 기준으로 세우기 어려움이 있다. 그렇기 때문에 각 동작을 인식하기 위해서 FFT(Fast Fourier Transform: 고속 푸리에 변환)을 이용하여 주파수 분석을 해야 한다[14].

Fig. 3.CVA chart for physical activities.

3.2 고속 푸리에 변환

본 논문에서 각 동작을 인식하기 위해 FFT(Fast Fourier Transform: 고속 푸리에 변환)를 이용하여 주파수 분석을 해야 한다. FFT를 이용하면 빈도(Frequency)와 진폭(Amplitude) 등을 추출하여 각 동작의 특징을 찾을 수 있다. FFT를 수행 전 먼저 가속도 데이터를 0.1초 단위로 받아 대표성분으로 변환시켜준다. 그러면 30초 동안 대표성분으로 변환된 300개의 값들이 생성 되는데, 이를 FFT변환을 위해 2n개의 데이터 샘플링을 해주어야 한다. 따라서 본 연구에서는 데이터 샘플링 사이즈를 256개로 설정하였다. FFT를 이용한 결과, ‘앉기’의 진폭은 주로 9.81로 나타났으며, ‘서기’의 진폭은 9∼10정도로 나타났다. ‘걷기’와 같은 경우는 10∼13, ‘뛰기’의 진폭은 13이상으로 나타났다. 다음 Table 2는 FFT특징만을 이용하여 실험 데이터를 물리적 동작으로 인식한 결과이다.

Table 2.Physical activity recognition using the FFT

‘앉기’이외에는 인식률이 대체적으로 50%정도로 낮게 나타났다. 특히 ‘걷기’와 같은 경우는 ‘서기’동작으로 인식하는 경우가 많이 나타나는 것을 볼 수 있다. 이는 천천히 걷거나 할 때, ‘서기’로 인식되기 때문이다. 또한 ‘서기’의 인식결과에서 ‘앉기’로 인식되는 것을 볼 수 있다. 이는 FFT로 얻은 진폭만으로 두 동작을 분류하기에 어려움이 있기 때문이다.

3.3 1차 동작 분류

앞의 실험 결과를 보면 FFT만을 이용하여 물리적 동작을 분류하기란 어려움이 있었다. 특히 ‘걷기’ 동작에서 ‘서기’ 동작으로 인식하는 경우가 나타났다. 이처럼 정적 동작이 동적 동작으로 인식되는 오류를 줄이기 위해 가속도의 움직인 속도(Speed)를 구하여 정적과 동적 동작의 임계값을 설정하여 이를 이용하여 1차적으로 동작을 분류해준다. 다음 (2)식은 가속도의 움직인 속도를 구하는 식이다.

*Lx,Ly,Lz : 지난 가속도 센서 데이터

*Gap Of Time : 최근 측정된 시간- 마지막으로 측정된 시간

주로 정적 동작에서는 가속도의 움직임이 적기 때문에 속도는 0에서 20사이에서 나타났으며, 동적 동작은 정적 동작에 비해 움직임이 많으므로 20이상의 값에서 나타났다. 이를 토대로 임계값을 설정하여 정적 동작과 동적 동작을 분류할 수 있다. 다음 Table 3은 실험 데이터를 임계값을 이용하여 분류한 결과이다.

Table 3.1st stage activity classification results

3.4 2차 동작 분류

앞서 정적 동작이 동적 동작으로 인식되는 오류를 줄이기 위하여 1차적으로 정적 동작과 동적 동작을 분류하였다. 그 후 4 가지 물리적 동작을 분류해 주는 2차 동작 분류 처리를 해주는 작업이 필요하다. 1차 동작 분류를 통해 얻은 정적 동작과 동적 동작을 각기 다른 방식으로 처리를 해주어야 한다. 특히 정적동작 같은 경우 ‘앉기’와 ‘서기’동작은 FFT를 이용하여 구별하기란 어려움이 있다. 따라서 이를 정확히 나누어 주기 위해서 다시 실제 가속도센서를 이용해야 한다. 아래 Fig. 4를 보면 실제 가속도센서를 사용자의 앞주머니에 넣고 ‘앉기’와 ‘서기’동작을 했을 때 얻은 X, Y, Z의 실제 데이터 신호이다.

Fig. 4.Raw accelerometer data chart of static activity.

‘앉기’의 신호를 보면 Y값의 신호는 주로 5이하에서 나타났으며, ‘서기’와 같은 경우 Y값이 5이상으로 나타나는 것을 볼 수 있다. 따라서 가속도의 실제 Y값 신호를 이용하여 ‘앉기’와 ‘서기’ 동작을 분류한다. 다음 Table 4는 가속도의 실제 Y값을 이용하여 ‘앉기’와 ‘서기’를 분류한 결과이다. ‘앉기’와 ‘서기’ 모두 100%의 인식률을 보였다.

Table 4.2nd stage activity classification results using the test data for static activities

Table 5는 동적 동작을 10분의 실험 데이터를 가지고 분류한 결과이다. 동적 동작으로 분류된 동작은 기존의 FFT를 이용하여 동작을 분류하였다. 보통 ‘걷기’와 같은 경우 10∼13사이 진폭 값으로 나타났으며, ‘뛰기’와 같은 경우는 13이상의 진폭 값을 갖는다. ‘걷기’는 100%인식률을 보인 반면, ‘뛰기’와 같은 경우는 80%의 인식률을 보였다.

Table 5.2nd stage activity classification results using the test data for dynamic activities

 

4. 시스템 구현 및 실험

본 논문에서는 실험 데이터가 아닌 실시간으로 동작을 인식률을 파악하기 위해 Android 기반의 간단한 어플리케이션을 구현하여 실험하였다. 아래 Fig. 5는 동작 인식 기법 구조를 토대로 제작한 어플리케이션 실행화면이다. 이 어플리케이션은 실시간으로 동작을 인식하여 현재 동작의 상태를 보여주는 부분과, 실행되는 동안에 사용자가 현재까지 어떤 동작을 인식하였는지 동작의 횟수를 확인할 수 있도록 하였다.

Fig. 5.User interface showing recognition results.

4.1 실험 방법

본 실험의 정확도를 높이기 위해 실험자의 앞주머니에 어플리케이션이 설치된 삼성 GalaxyS3를 넣고 실험하였다. 5명의 실험자에게 각 동작마다 5분씩 총 25분 동안 실험을 하였다. 각 실험자의 신체조건은 160cm 2명, 165cm 1명, 171cm 1명과 180cm 1명으로 실험에 참여하였다.

4.2 실험 결과

다음 Table 6은 데이터 샘플링을 256개로 설정 후 실시간 동작 인식 실험한 결과이다. 데이터 샘플링을 256개로 설정했기 때문에 30초 동안 한 가지 물리적 동작의 인식 결과를 얻을 수 있었다. 즉, 각 동작마다 25분 동안 50개의 동작 인식 결과를 얻을 수 있었다.

Table 6.Real-time physical activity recognition results

‘앉기’동작의 경우는 정확히 50개의 결과가 모두 ‘앉기’동작으로 측정되어 100%의 인식률을 보였다. ‘서기’동작은 84%의 인식률을 보였다. 여기서 8개 정도가 ‘걷기’동작으로 인식되었는데, 이는 실험자의 다리가 실험시간동안 움직임이 있었기 때문에 이러한 결과가 나타났다. 또한 ‘걷기’동작의 경우 86%의 인식률을 보였으며, ‘뛰기’동작은 80%의 인식률을 보였다. 이것은 걷거나 뛸 때 사람이 항상 일정한 속도와 보폭을 유지하기란 어려움이 있기 때문에 인식률이 떨어지는 것을 볼 수 있다.

 

5. 결 론

본 논문에서는 스마트폰에 내장되어 있는 3축 가속도센서를 이용하여 실시간 물리적 동작 인식 기법을 제안하였다. 정확한 인식을 위해 가속도데이터를 하나의 대표성분으로 변환하는 작업을 해주었다. 변환한 대표성분으로 샘플링 작업을 해준 후 FFT수행을 거쳐 주파수 특성을 추출하였다. 하지만 이 방법만으로 물리적 동작을 정확히 분류하는데 어려움이 있기 때문에 속도(Speed)를 계산하여 정적과 동적 동작으로 분류해주는 1차 분류 작업을 해주었다. 1차 분류 후, 정적과 동적 동작은 각기 다른 방식으로 2차 분류작업을 해주어야 했다. 정적으로 분류된 동작은 가속도 데이터의 실제 데이터 Y축을 이용하여 분류해주는 작업을 해주었고, 동적 동작은 주파수의 특성을 이용하여 분류해주었다. 이 과정을 거쳐 하나의 물리적 데이터를 얻을 수 있었다. 제안한 방법을 토대로 실제 사용자의 동작을 인식할 수 있는지 확인하고자 간단한 Android어플리케이션을 개발하여 정확도를 측정하였다. 실험결과는 모든 동작에서 80%이상의 인식률을 보였다. 하지만 동작 인식 측정시간이 다소 오래 걸린다는 점이 있다. 이러한 점을 보완한다면 더 나은 결과를 보여줄 것이다. 향후 연구로 동작 인식 측정시간을 단축시키는 방안과 인식률을 높일 수 있는 방안에 대해 연구해야 할 것이다.

References

  1. H.K. Yang and H.S. Yong, "Physical Activity Recognition using Accelerometer of Smart phone," Proceeding of Korea Computer Congress 2012, Vol. 39, No. 2(D), pp. 7-9, 2012.
  2. E.M. Tapia, S.S. Intille, and K. Larson, "Activity Recognition in the Home using Simple and Ubiquitous Sensors," Proceeding of PERVASIVE 2004, Vol. 3001, pp. 158-175, 2004.
  3. L. Bao and S.S. intille, "Activity Recognition from User-annotated Acceleration Data," Proceeding of the Second International Conference on PERVASIVE 2004, Vol. 3001, pp. 1-17, 2004.
  4. Y.K. Kim, S.M. Kim, H.S. L, and W.D. Cho, "Real-Time Step Count Detection Algorithm using a Tri-Axial Accelerometer," Journal of Korean Society for Internet Infomation, Vol. 12, No. 3, pp. 17-26, 2011.
  5. M.H. Lee, J.K. Kim, I.H. Lee, S.H. Jee, and S.K. Yoo, "Physical Activity Recognition using a Single Tri-Axis Accelerometer," Proceeding of the World Congress on Engineering and Computer Science 2009 USA, Vol. I, pp. 20-23, 2009.
  6. M, Blum, A. Pentland, and G. Troster, "In-Sense: Interest-based Life Logging," IEEE MultiMedia, Vol. 13, pp. 40-48, 2006.
  7. S. Reddy, M. Mun, J. Burke, D. Estrin, and M. Hansen, "Using Mobile Phones to Determine Transportation Modes," ACM Transactions on Sensor Networks, Vol. 6, No. 2, Article 13, 2010.
  8. L. Stenneth, O. Wolfson, P.S. Yu, and B. Xu, "Transportation Mode Detection using Mobile Phones and GIS Information," Proceeding of the 19th ACM SIGSPATIAL International Conference on Advances in Geographic Information Systems, pp. 54-63, 2011.
  9. J.R. Kwapisz, G.M. Weiss, and S.A. Moore, "Activity Recognition using Cell Phone Accelerometers," ACM SIGKDD Explorations Newsletter, Vol. 12, Issue 2, pp. 74-82, 2010.
  10. S. Dernbach, B. Das, N.C. Krishnan, B.L. Thomas, and D.J. Cook, "Simple and Complex Activity Recognition through Smart Phones," Proceeding of the 8th International Conference on Intelligent Environments, pp. 214-221, 2012.
  11. Data Mining Software Weka, http://www.cs.wikato.ac.nz/ml/weka/, 2012
  12. J.I Choi and H.S. Yong, "Activity Data Modeling and Visualization Method for Human Life Activity Recognition," Journal of Korea Multimedia Society, Vol. 15, No 8. pp. 1059-1066, 2012. https://doi.org/10.9717/kmms.2012.15.8.1059
  13. Y.Y. Nam, Y.J. Choi, and W.D. Cho, "Human Activity Recognition using an Image Sensor and a 3-axis Accelerometer Sensor," Journal of Korean Society for Internet Infromation, Vol. 11, No. 1, pp. 129-141, 2010.
  14. S. Wang, C. Chen, and J. Ma, "Accelerometer Based Transportaion Mode Recognition on Mobile Phones," Proceeding of the Asia-pacific Conference on Wearable Computing Systems, pp. 44-46, 2010.

Cited by

  1. Motion Recognition of Smartphone using Sensor Data vol.17, pp.12, 2014, https://doi.org/10.9717/kmms.2014.17.12.1437
  2. Design and Implementation of a Smartphone Application for Loss Prevention with Precautionary Functions vol.17, pp.9, 2014, https://doi.org/10.9717/kmms.2014.17.9.1098
  3. Fall Direction Detection using the Components of Acceleration Vector and Orientation Sensor on the Smartphone Environment vol.18, pp.4, 2015, https://doi.org/10.9717/kmms.2015.18.4.565
  4. Reliability of static balance abilities measure using a smartphone's acceleration sensor vol.17, pp.6, 2016, https://doi.org/10.5762/KAIS.2016.17.6.233
  5. Validity Study of Dynamic Balance Abilities Measure using a Smartphone vol.11, pp.2, 2016, https://doi.org/10.13066/kspm.2016.11.2.77
  6. Logical Activity Recognition Model for Smart Home Environment vol.20, pp.9, 2015, https://doi.org/10.9708/jksci.2015.20.9.067
  7. Conceptual Group Activity Recognition Method in the Classroom Environment vol.21, pp.5, 2015, https://doi.org/10.5626/KTCP.2015.21.5.351
  8. Development of dangerous-situation aware mechanism based on data-fusion vol.20, pp.1, 2019, https://doi.org/10.9728/dcs.2019.20.1.145
  9. 모션헤드셋의 동작분류기를 위한 사용자 머리동작 분석 vol.2, pp.2, 2016, https://doi.org/10.20465/kiots.2016.2.2.001
  10. 일회성 작업 처리를 위한 통함 스마트폰 앱 vol.20, pp.3, 2014, https://doi.org/10.9717/kmms.2017.20.3.562
  11. 동작에 따른 피부변화 분석을 통한 동작센서 부착의 최적위치 탐색: 조정 동작을 중심으로 vol.20, pp.1, 2014, https://doi.org/10.14695/kjsos.2017.20.1.17
  12. Enhancement of Fall-Detection Rate using Frequency Spectrum Pattern Matching vol.18, pp.3, 2014, https://doi.org/10.7472/jksii.2017.18.3.11
  13. Safety Helmet Wearing Management System for Construction Workers Using Three-Axis Accelerometer Sensor vol.8, pp.12, 2014, https://doi.org/10.3390/app8122400
  14. Study on the Reliability of Smartphone-Based Measurements of Leg Segment and Joint Angles During Gait vol.36, pp.3, 2019, https://doi.org/10.7736/kspe.2019.36.3.293
  15. Positional Tracking System Using Smartphone Sensor Information vol.6, pp.4, 2014, https://doi.org/10.33851/jmis.2019.6.4.265
  16. Implementation of Rule-based Smartphone Motion Detection Systems vol.26, pp.7, 2014, https://doi.org/10.9708/jksci.2021.26.07.045