I. Introduction
국내 이동전화 가입회선은 2018년 기준 약 6, 507만 회선에 달하고 있으며, 이 중 스마트폰 회선은 약 4, 983만 개로 조사되었다[1]. 같은 해 행정안전부에서 발표한 주민등록 총 인구수가 약 5, 179만 6천 명임을 고려할 때, 이미 약 2년 전부터 1인 1스마트폰 시대가 개막되었음을 알 수 있다. 2020년 8월, 만 18세 이상 1000명을 대상으로 스마트폰 사용률을 조사한 결과에 따르면 전체의 93.4%가 스마트폰 사용자인 것으로 파악되었다. 이처럼 국내 인구의 대다수가 스마트폰을 사용하면서 스마트폰에 내장된 각종 센서 역시 중요한 역할을 하고 있다. 스마트폰의 기종에 따라 내장된 센서의 종류는 조금씩 차이가 있지만, 스마트폰은 기본적으로 자이로스코프 센서, 가속도 센서, 중력 센서, 조도 센서, 근접 센서, GPS 센서, 지자기 센서, 압력 센서, 온도 센서 등을 포함하고 있다. 이들 센서 중에서 가속도 센서와 자이로스코프 센서는 스마트폰이 이동하거나 회전하면 이에 대응하는 센서 데이터를 제공하는데, 이 데이터를 이용하여 스마트폰의 방향이나 사용자의 모션을 인식할 수 있다[2]. 즉, 사용자는 스마트폰으로 각종 센서 정보를 수집할 수 있을 뿐만 아니라, 수집한 센서 정보를 이용하여 사용자의 행동 양상을 파악할 수도 있다[3].
최근에는 간단한 동작 인식을 바탕으로 스마트폰 사용의 불편함을 보완한 기능이 탑재된 제품이 출시되고 있다. 삼성전자의 경우, Galaxy Note 20에서 화면 캡처 후 쓰기, 뒤로 가기, 최근 사용 애플리케이션 실행하기 등을 노트 펜 모션을 인식하여 터치 없이 해당 기능을 실행할 수 있다[4]. 갤럭시 웨어러블 기기에서는 전화 받기 기능 등이모션 인식으로 지원되고, 특히 갤럭시 워치3에는 낙상 감지 기능이 추가되었다[5]. 애플의 아이폰의 경우, 스마트폰을 들어서 켜지게 하거나 머리의 움직임을 인식해 특정 기능을 활성화하는 것이 가능하다[6]. 이러한 움직임 인식 기능 구현의 궁극적 목표는 이용자에 편의성을 제공하는 것이며, 지금까지의 사례를 비추어 스마트폰의 센서 활용은 점점 확대될 것으로 예상된다. 근래의 스마트폰은 대부분 정전식 방법을 사용하여 터치스크린을 구현하므로 기기의 스크린이나 사용자의 손에 물이 묻을 수 있는 다양한 상황에서 인식에 어려움이 따른다. 최근에는 스마트폰에 방수기능을 포함시키는 경우가 많은데, 정전식 터치스크린 방식을 이용하는 스마트폰은 물이 묻으면 터치스크린이 올바르게 동작하지 않으므로 방수 기능의 역할이 기기의 고장 방지에 그치게 된다. 그러나 터치스크린을 대신하여 스마트폰에 입력신호를 줄 수 있는 방법이 있다면 방수기능이 필요한 상황에서 보다 적극적으로 스마트폰 이용이 가능하다. 본 논문에서는 스마트폰이 물에 젖는 경우를 비롯하여 터치스크린 사용이 어려운 상황에서 사용자의 움직임을 입력으로 사용함으로써 사용자에 편의를 제공할 수 있도록 스마트폰 내장 센서를 이용하는 방법을 연구하였다. 센서 측정값의 특징을 바탕으로 스마트폰의 움직임 인식에 관한 규칙기반 시스템을 직접 설계한 후 앱으로 구현하여 이러한 문제를 해결할 수 있는 한 가지 대안을 제시하고자 하였으며, 구체적으로 규칙기반 시스템을 이용하여 알파벳 ‘I’, ‘S’, ‘Z’를 인지하도록 선형가속도 및 자이로스코프 센서를 활용하는 방법을 제안한다.
본 논문의 구성은 다음과 같다. 2장에서는 사용자 움직임 인식과 관련된 연구를 살펴보고 3장에서는 실험 대상이 되는 움직임을 정의하여 각각의 움직임에 대해 수집한 센서의 데이터를 분석한다. 4장에서는 각 움직임을 분류하는 규칙 기반 시스템을 설명하며, 5장에서 실험결과를 제시하고, 6장에서 결론을 맺는다.
II. Related works
스마트폰에 내장된 센서를 이용하여 특정 동작이나 상태를 인식하는 연구는 지금까지도 이어지고 있으며, 사용자의 행동 양식을 예측하는 애플리케이션이 이미 개발되어 활용되고 있다[7]. 스마트폰 센서를 이용한 연구는 연구대상의 범주에 따라 크게 2가지로 나뉜다. 한 가지는 어떤 목적에 사용 가능한 신호를 생성할 수 있는지에 관한 연구이며, 다른 한 가지는 스마트폰 이용자의 상태를 구별할 수 있는지에 관한 연구이다. 전자의 연구는 특수한 신호를 생성하기 위해 스마트폰 사용자의 어떤 의도적인 행위가 필요하지만, 후자의 연구는 의도된 행위와 관계없이 스마트폰 사용자의 현재 상태를 파악하고자 하는 목적으로 의도적 행위가 필요하지 않다는 차이가 있다.
특수한 신호의 생성을 목적으로 한 연구의 예로는 조현주 등이 실시한 테니스 동작과 관련한 시뮬레이션을 들 수 있다[8]. 이 실험에서는 가속도 센서 3축의 값을 이용하여 포핸드 스트로크, 백핸드 스트로크, 서비스 3가지 테니스 운동 자세에 대한 신호를 생성하였으며 컴퓨터 시뮬레이션을 통해 성능을 평가하였다. Xian Wang 등의 실험에서는 가속도 센서와 자이로스코프 센서 2가지를 사용하였으며 스마트폰의 회전방향과 회전이 발생하기 전후의 상태를 조합하여 총 6가지의 경우를 만들고 패턴 인식을 통해 신호를 구분하였다[9]. 비교적 최근의 연구에서는 조금 더 복잡한 형태의 신호를 구분하기 위한 실험이 진행되었다. Chunyu Xie 등은 스마트폰을 손에 들고 몇 가지의 알파벳과 아라비아 숫자를 허공에 그렸을 때, 이를 인식할 수 있는지 확인하였고[10], 이용철 등의 연구와 Tsung-Ming Tai 등의 연구에서는 간단한 제스처를 연속으로 취했을 때 나타나는 신호를 분석하여 제스처를 구분할 수 있는지 실험하였으며[11,12], Yubo Shao 등의 연구에 이르러서는 스마트폰에 내장된 모션 센서와 스피커, 마이크로폰을 이용하여 허공에 사인을 그렸을 때, 이를 인식할 수 있도록 하는 수준에 도달하였다[13].
스마트폰 이용자의 상태를 확인하기 위한 연구는 운동상태의 범주에 따른 차이가 크지 않다. 구체적으로 구분하면 다소의 차이가 있으나 많은 연구가 걷기, 뛰기, 서 있기, 계단 오르내리기, 앉기, 눕기 등의 운동 상태에 관한 연구이다[14-23]. 각 연구에 따른 차이는 센서 데이터를 전처리하는 방법과 데이터를 분류하는 방법에 더 집중되어 있다. Joa˜o Prudeˆncio 등은 데이터 전처리를 위해 auto-regressive model을 사용하였으며[14], Alvina Anjum 등은 운동 상태 추적을 위해 수집된 센서 데이터에서 센서 축의 변화를 고려하기 위해 자기상관함수를 이용하였다[15]. Muhammad Shoaib 등은 활동상태 인식에서의 방향 비의존성에 대한 연구에서 영감을 얻음으로써 센서의 3축 값에 크기 값을 추가한 4개 요소를 분류 요소로 사용하였으며[16], Akram Bayat 등은 센서 데이터에 저 역 필터를 적용하여 신호를 고주파수와 저주파수로 분리함으로써 신호를 효과적으로 분류하는 방법을 사용하였다[17]. 뿐만 아니라, 다양한 센서를 통해 얻은 데이터를 활용하여 사용자가 정확한 자세로 운동 중인지 확인할 수 있는 모션 인식 소프트웨어를 개발한 권승현 등의 연구[2] 나 정적 동작과 동적 동작을 구분하고 가속도 센서 회전성분 등의 노이즈 영향 최소화를 위해 고속 푸리에 변환 (Fast Fourier Transform)을 적용하여 하나의 값으로 나타내는 방법을 사용한 양혜경 등의 연구[24]도 있다.
스마트폰 내장 센서의 정밀도가 높아지고 종류가 다양해짐에 따라 센서로부터 얻은 데이터를 활용하기 위한 시도 중 하나로 사용자의 특정 동작을 인식하는 연구는 꾸준히 증가하고 있고, 연구가 진행되면서 신호 분류 성능에 대한 평가 방법도 다양해지고 있으나 머신 러닝과 관련된 평가 방법이 대체적으로 많이 사용된다. 그러나 이와는 반대로 기술이 발전하면서 다양한 센서가 개발되었음에도 불구하고 아직까지 스마트폰 내장 센서를 이용한 움직임 인식 연구에서는 가속도 센서와 자이로스코프 센서가 모션 관련 데이터 수집에 적극 활용되고 있다. 앞서 소개한 연구 중 특수한 신호를 생성하기 위한 기존의 연구들은 움직임이 너무 크거나 한손에 스마트폰을 쥐고는 취하기 어려운 동작을 실험 대상으로 삼았다는 점, 복잡한 머신러닝 기법을 적용하거나 별도의 연산 시스템을 이용하여 움직임을 분류하는 방식이라는 점, 움직임에 따라 신호 분류의 정확성이 차이나는 점, 스마트폰이 물에 젖은 상태에서 적용하기 힘든 점 등의 한계가 있었다. 본 논문에서는 사용자 편의 제공을 위한 목적에 기인하여 이전 연구의 문제점을 극복하고자, 한손으로도 움직임을 쉽게 취할 수 있을 것, 입력 신호를 대체하는 목적인만큼 정확도가 높을 것, 물에 젖은 상태에서도 사용가능할 것을 목표로 하였다.
III. Methods and Materials
1. Motion Specification
본 논문에서는 사용자가 스마트폰을 손에 쥐고 특정 움직임을 취했을 때, 스마트폰의 가속도 및 자이로스코프 센서로부터 얻을 수 있는 데이터를 바탕으로 사용자의 움직임이 무엇인지 인식하고자 한다. x, y, z 3축의 값을 이용한 규칙기반 시스템을 설계하기 위해서 3축을 독립적으로 확인할 수 있는 움직임을 실험 대상으로 고려하였으며, 향후 실험 참여자가 움직임을 쉽게 이해할 수 있도록 알파벳 대문자 중 일부로 결정하였다. 실험 대상으로 선정한 알파벳 문자의 조건은 다음과 같다.
• 한 획으로 쓸 수 있다.
• 다른 알파벳과 확연하게 구분 가능하다.
먼저, 한 획 쓰기가 가능한 알파벳을 선택함으로써 움직임의 시작과 끝을 명확하게 구분할 수 있도록 하였으며, 시간상에서 연속적으로 얻은 데이터 전체를 이용하고자 하였다. 26개의 알파벳 문자 중 첫 번째 조건을 만족하는 알파벳은 ‘B’, ‘C’, ‘D’, ‘I’, ‘J’, ‘L’, ‘M’, ‘N’, ‘O’, ‘P’, ‘R’, ‘S’, ‘U’, ‘V’, ‘W’, ‘Z’가 있다. 이 중에서 ‘B’, ‘C’, ‘D’, ‘P’, ‘R’ 등의 문자는 쓰여진 문자 자체를 시각적으로 확인하는 경우에는 그 모양이 유사하지 않음을 알 수 있으나 스마트폰을 손에 쥔 상태에서 움직임으로 문자를 표현하는 경우에는 센서의 데이터 변화가 ‘O’와 유사할 것으로 예상되어 제외하였다.
마찬가지로 ‘J’는 ‘I’와 유사성을 보이고 ‘L’과 ‘U’ 그리고 ‘N’은 ‘V’와 유사성이 있으며, ‘M’은 ‘W’와 유사하여 제외하였다. 실험 대상으로 선택하기 위한 두 가지 조건을 만족하는 문자는 ‘I’, ‘O’, ‘S’, ‘V’, ‘W’, ‘Z’로 6가지가 남았으며 이 중에서 ‘I’, ‘O’, ‘S’, ‘Z’의 4가지 문자를 초기실험 대상으로 선정하였으나 데이터 취득 과정에서 ‘O’를 시계방향으로 그리는 경우에는 센서 값의 변화가 ‘Z’와 유사하게 나타나며 ‘O’를 시계 반대방향으로 그리는 경우에는 센서 값의 변화가 ‘S’와 유사하게 나타났다. ‘O’, ‘Z’, ‘S’ 각 문자를 움직임으로 표현할 때 나타나는 센서 값은 Fig. 1과 같이 확인할 수 있으며, ‘O’를 제외하고 ‘I’, ‘S’, ‘Z’ 3가지 문자를 최종 실험 대상으로 선정하였다.
Fig. 1. Similarity of sensor values from ‘O’, ‘Z’, ‘S’
2. Analysis of Data Obtained from Sensors
2.1 Data Acquisition
실험에서는 안드로이드 버전 11의 삼성전자 보급형 스마트폰 제품인 Galaxy A31을 사용하였다. 먼저, 알파벳 ‘I’, ‘S’, ‘Z’를 표현할 때 나타나는 센서 값을 추출하기 위한 실험을 진행하였다. 각각의 문자를 표현하기 위한 움직임을 취할 때 실시간으로 변화하는 가속도 센서와 자이로스코프 센서의 값을 최대한 실제와 유사하게 얻을 수 있도록 각 센서 3축의 값을 10ms 단위로 획득하였다. 선형가속도 센서를 이용하는 연구 중에서 사용자의 움직임과 직접적으로 관련이 있는 데이터만을 얻고자 중력 가속도를 배제하기 위한 다양한 시도가 있으나 스마트폰의 위치와 각도에 따라 센서 3축의 기준점이 바뀐다는 점, 센서의 민감도가 높아 정확한 중력 가속도 제거가 어렵다는 점 등을 고려하여 본 논문에서는 이 문제를 쉽게 해결할 수 있는 문자 표현 방법을 채택하였다. 알파벳 ‘I’, ‘S’, ‘Z’를 표현할 때 스마트폰은 Fig. 2 (a), (b)에서 볼 수 있듯이 손바닥 위에 반듯하게 놓인 상태로 실험을 진행하였다. ‘I’는 스마트폰의 x, y축이 변화가 없도록 지면과 평행을 유지하면서 z축 방향으로 움직이도록 하였으며, ‘S’, ‘Z’는 y축에 변화를 주지 않고 지면과 평행을 유지할 수 있게 x축, z축 방향으로 움직이도록 하였다. 이 같은 방법으로 센서 측정값에서 중력 가속도에 대한 복잡한 보정 과정을 생략하기 위해 정해진 방법에 따라 문자를 표현하는 실험을 진행하였다. 앞서 선정한 3가지 문자에 대해 다음의 (1) - (3) 동작을 20회씩 반복하여 실험 데이터를 얻었다.
(1) Fig. 2와 같이 스마트폰을 손에 쥔 상태에서 각 알파벳 문자를 표현하는 움직임을 취한다.
(2) 가속도와 각속도 값을 10ms로 출력한다.
(3) 출력된 데이터를 바탕으로 그래프를 그려 분석한다.
Fig. 2. The way to hold a smartphone and target motions
2.2 Analysis of Sensor Data
Fig. 3은 ‘I’, ‘S’, ‘Z’ 각 움직임에 대한 가속도 값을 나타낸 것이다. Fig. 3(a)에서 ‘I’는 z축에 작용하는 중력 가속도를 제외하면 특별한 경향은 보이지 않고 Fig. 3(b)에서 ‘S’는 x축의 가속도 값 변화가 뚜렷하게 나타난다. ‘Z’ 의 가속도 값을 나타낸 Fig. 3(c)에서는 ‘S’와 반대 방향으로 x축 값이 뚜렷한 변화가 나타난 것을 알 수 있다.
Fig. 3. Acceleration of motions ‘I’, ‘S’, and ‘Z’
Fig. 4는 ‘I’, ‘S’, ‘Z’ 각 움직임에 대한 각속도 값을 나타낸 것이다. Fig. 4(a)에서 ‘I’는 x, y축 각속도 값의 변화가 있으나 어떤 의미가 있는 것으로는 보이지 않는다. ‘S’ 를 그린 Fig. 4(b)에서는 z축의 각속도 값 변화가 뚜렷하며 ‘Z’를 그린 Fig. 4(c)에서는 Fig. 3의 가속도 값 변화처럼 z축의 변화가 ‘S’와 반대로 나타남을 확인할 수 있다.
Fig. 4. Angular velocity of motions ‘I’, ‘S’, and ‘Z’
Fig. 3과 4에서 ‘I’, ‘S’, ‘Z’ 세 가지 문자를 표현하는 경우, ‘I’를 표현할 때는 가속도 및 자이로스코프 센서 측정값의 변화가 어떤 경향성을 가지고 있다고 판단할 수 있는 특징이 보이지 않았고 ‘S’와 ‘Z’를 표현하는 경우, 가속도 센서와 자이로스코프 센서 측정값이 각각 x축, z축에서 특정한 경향성을 확인할 수 있는 수준으로 변화가 확연하게 드러났다. 따라서 본 논문에서는 3가지 문자를 인식하는데 가속도 및 자이로스코프 센서의 y축 데이터는 불필요하다고 판단하여 활용하지 않고 x축, z축 데이터를 이용하여 알파벳 ‘I’, ‘S’, ‘Z’를 구분하는 규칙기반 시스템을 설계하였다.
Fig. 3의 모든 그래프에서 z축 값의 오프셋이 크게 나타나는 것은 문자를 표현할 때 스마트폰을 파지하는 방식에 따른 것으로, 중력가속도가 z축으로 가장 크게 작용하고 있고 측정된 데이터에서 중력 가속도를 제거하지 않았기 때문이다. 이 연구의 최종 목표는 규칙 기반 시스템을 설계하고 움직임을 구분하는 것이므로 서로 다른 움직임을 구분할 수 있다면 중력 가속도를 제거하는 것이 반드시 필요하지는 않다. ‘I’를 나타내는 움직임에서는 가속도 측정값의 변화가 크지 않고 ‘S’와 ‘Z’를 나타내는 움직임에서는 가속도 측정값의 변화가 크면서 서로 반대 방향의 벡터로 나타나는 차이가있으므로 이를 활용하여 3가지 문자를 구분할 수 있다.
Fig. 4의 각속도 측정값의 경우에도 가속도 측정값과 같이 데이터의 차이를 이용해 3가지 문자를 충분히 구별해낼 수 있을 만큼 서로 다른 경향성을 가지고 있음을 확인할 수 있다. 규칙기반 시스템을 구현하기 위해서는 3가지 문자를 표현하는 움직임을 정량적인 지표로 표현하고 경계선이 어디인지를 명확하게 파악할 수 있어야 하므로 전처리를 통한 데이터 가공이 필요하다. 데이터 분석과 전처리에 앞서 지금까지는 y축 데이터가 어떤 이유로 불필요한지를 보여주기 위해서 y축의 원시 데이터를 함께 표현하였으나 미리 언급한 바와 같이 이 연구에서는 y축의 데이터를 사용하지 않으므로 앞으로의 실험과 분석에서는 가속도 및 자이로스코프 센서의 x축과 z축 데이터만을 다룬다.
데이터 전처리는 2단계로 나뉜다. 첫 번째는 센서를 통해 측정한 데이터의 길이를 동일하게 조정하는 것이다. 센서를 통해 움직임을 측정하는 시간은 실험자별로 다르며, 동일한 실험자조차도 완전하게 동일한 시간 동안에만 움직임을 반복하는 것은 불가능하다. 20개의 샘플을 통해 확인한 데이터 샘플의 길이는 Table 1과 같다.
Table 1. The length of samples
문자 ‘I’, ‘S’, ‘Z’에 대한 샘플의 길이를 고려했을 때 가급적 데이터의 손실이 발생하지 않게 하는 것이 중요하다고 판단되어 데이터의 길이는 120으로 결정하였다. 데이터는 시계열 데이터이므로 길이 1은 10ms에 측정된 센서값 1개를 의미한다. 데이터의 길이를 조정하는 구체적인 방법은 다음과 같다. 먼저, 데이터의 길이를 측정하여 길이가 120보다 큰 경우 데이터의 왼쪽, 오른쪽 끝에서 번갈아 가면서 데이터를 1개씩 삭제한다. 길이가 120보다 작은 경우 데이터의 왼쪽, 오른쪽 끝에서 번갈아가면서 ‘0’의 값을 추가한다. 이와 같은 방식으로 데이터의 길이를 조정하면 데이터 전처리의 첫 번째 단계는 끝난다.
두 번째 단계는 길이 120의 데이터에 이동평균을 적용하는 것이다. 센서는 민감하기 때문에 측정값이 안정적으로 출력되는 것이 아니라 일정 수준의 잡음을 포함하고 있으므로 규칙기반 시스템을 안정적으로 동작시키기 위해서는 그래프를 매끄럽게 다듬어줄 필요가 있다. 이 실험에서는 이동평균의 단위를 4로 설정하여 이동평균 단계를 거친 데이터는 최종적으로 116의 데이터 길이를 가지도록 하였다. 전처리 과정을 Fig. 5에 나타냈다.
Fig. 5. Preprocessing of raw data
Fig. 5의 (a)와 (c)를 비교해보면 그래프가 상당히 매끄럽게 다듬어진 것을 확인할 수 있다. 문자별 20개의 데이터, 전체 60개의 데이터는 전처리 과정을 거친 후 분석에 활용되었다. 가속도 센서로 측정한 데이터에서 알파벳 ‘I’ 를 표현할 때는 다른 두 문자와 다르게 측정값의 변동 폭이 매우 작다. 이에 근거하여 x축 데이터의 측정값 분포범위를 이용하여 알파벳 ‘I’가 다른 두 문자를 표현할 때 나타나는 데이터와 구분이 가능한 수준의 차이를 가지고있는지 확인한 결과를 Fig. 6에 나타냈다. 20개의 샘플 데이터 전체에서 ‘I’의 x축 가속도 값을 측정한 결과, 최대치와 최소치의 차이는 2.5m/sec2미만의 값만을 가지는 것으로 나타났다.
Fig. 6. Acceleration difference comparing
‘S’의 x축 데이터 최대값과 최소값의 차이는 대체로 7m/sec2 이상으로 나타났으며, 특별히 낮은 값을 가지는 경우에도 6.9m/sec2을 초과하였다. ‘Z’의 경우에는 오히려 ‘S’보다도 더 큰 차이를 보이며 최대값과 최소값의 차이가 7.8m/sec2을 초과하는 값만 나타났다. 이러한 특징을 규칙기반 시스템을 구현할 때 활용하였다.
Table 2는 각 동작 별 20회의 x, z축 센서 데이터에 대한 평균을 나타낸 표이다. x축, z축 데이터를 비교해보면 각 문자별로 어떤 데이터를 활용하는 것이 유리한지 판단할 수 있다. ‘S’와 ‘Z’는 가속도 센서 데이터에서 x축 데이터 값의 변화가 크게 나타나고 움직이는 방향에 따라 값이 변화하는 방향이 서로 반대이므로 Fig. 7과 같이 나타난다. 같은 방식으로 각속도 데이터에서도 샘플 데이터의 특징을 잘 분석하여 임계값을 설정하면 가속도 센서 값이 어느 방향, 어떤 순서로 변화하는지에 따라 표현하려고 한 문자를 구분할 수 있다.
Table 2. Sensor value for three motions
Fig. 7. X-axis of acceleration of motion 'S' and 'Z'
데이터를 분석한 결과 가속도 센서의 측정값과 자이로스코프 센서의 측정값을 이용하여 두 가지 규칙기반 시스템을 구현할 수 있을 것으로 확인되었다.
IV. Proposed Rule-based Systems
1. Rule-based System Using Accelerometer
첫 번째 규칙기반 시스템에서는 가속도 센서의 측정값을 전처리한 후 x축의 최대값과 최소값의 차이를 비교하여 평균이 3m/sec2미만인 경우는 ‘I’로 판별한다. 만약 ‘I’에 해당하지 않는다면 x축 센서의 측정값을 이용하여 다음의 규칙 중 어느 것에 해당하는지를 판별한다.
Fig. 8은 ‘S’와 ‘Z’를 표현할 때 가속도 센서 x축의 측정값을 적분하여 나타낸 그래프이다. 각 그래프에서 ± 0.1m/sec를 임계값으로 설정한 다음 0.1m/sec 미만 값에서 0.1m/sec 초과 값으로 변하는 경우를 상승 트리거, -0.1m/sec 초과 값에서 -0.1m/sec 미만 값으로 변하는 경우를 하강 트리거로 규정한다. 고정된 데이터 길이에서 상승 및 하강 트리거가 발생하는 순서에 따라서 ‘S’와 ‘Z’를 판별할 수 있다. 이를 도식화하면 Fig. 9와 같이 나타낼 수 있다.
Fig. 8. X-axis of linear velocity of motion ‘S’ and ‘Z’
Fig. 9. Flowchart of a rule based system using accelerometer (Amax, x = maximum acceleration of x-axis, Amin, x = minimum acceleration of x-axis, Ax = acceleration of x-axis, Trig() = trigger checking function)
2. Rule-based System Using Ensemble
두 번째 규칙기반 시스템에서는 가속도 센서와 자이로스코프 센서 두 가지의 측정값을 모두 이용한다. 첫 번째 규칙 기반 시스템에서 가속도 센서 측정값을 이용하여 알파벳 문자를 인식한 알고리즘을 그대로 사용하며, 거기에 자이로스코프 센서 측정값을 이용하는 알고리즘을 추가하여 시스템을 완성한다. Fig. 10은 ‘I’를 표현한 모든 샘플의 각속도 측정값 중 z축에 대한 데이터이다. 20개 샘플에 대한 모든 각속도가 ±20rad/sec 내 범위에서 발생한다. 이와 다르게 ‘S’와 ‘Z’는 z축의 각속도가 ±30rad/sec보다 크게 변화하므로 이 신호를 문자 ‘I’를 구분하는 데 사용할 수 있다.
Fig. 10. Z-axis of angular velocities of motion 'I'
‘I’가 아닌 것으로 판단된 경우에도 자이로스코프 센서 z축의 각속도 측정값을 이용한다. Fig. 11에서 보이는 바와 같이 ‘S’와 ‘Z’는 각속도 측정값에서도 서로 반대의 경향을 보인다. 가속도 센서를 이용하여 두 문자를 구분했던 것과 유사한 방식으로 자이로스코프 센서를 이용할 때도 특정 각속도를 임계값으로 삼고 상승 트리거, 하강 트리거로 구분한다.
Fig. 11. Z-axis of angular velocity of motion 'S' and 'Z'
±30rad/sec를 임계값으로 설정하고 30 rad/sec 미만 값에서 30rad/sec를 초과하는 값으로 변하는 경우를 상승 트리거, -30rad/sec초과 값에서 -30rad/sec미만 값으로 변하는 경우를 하강 트리거로 규정한다. 상승 트리거와 하강 트리거의 발생 순서에 따라 ‘S’와 ‘Z’를 구분할 수 있으며 가속도 센서를 이용한 규칙기반 시스템에 자이로스코프 센서 측정값을 이용하는 알고리즘을 통합한 앙상블 규칙기반 시스템을 도식화하면 Fig. 12와 같다.
Fig. 12. Flowchart of system using gyroscope (Vmax, z = maximum angular velocity of z-axis, Vmin, z = minimum angular velocity of z-axis, Vz = angular velocity of z-axis, Trig() = trigger checking function)
‘I’, ‘S’, ‘Z’ 3가지 문자 표현에 대한 움직임을 인식하고자 하는 이유는 이 신호가 발생되었을 때 스마트폰이 어떤 동작을 하도록 만들기 위함이므로 두 가지 규칙기반 시스템을 조합한 앙상블 시스템의 동작 알고리즘은 각 알고리즘이 동작하는 조건에 대해서 둘 중 하나의 조건만 만족하더라도 조건을 만족한 것으로 판단하도록 설계하였다.
V. Experiment and Result
앞에서 설계한 두 가지 규칙기반 시스템을 기반으로 다수의 실험자 데이터를 이용하여 실제 ‘I’, ‘S’, ‘Z’ 문자를 표현하는 움직임을 어느 정도로 인식하는지 확인하였다.
가속도 센서를 이용하는 첫 번째 규칙기반 시스템의 규칙 작성자와 작성자가 아닌 다른 실험자 3명이 이 분류 시스템을 바탕으로 만든 Fig. 13의 앱을 이용하여 ‘I’, ’S’, ’Z’모션을 각각 20회씩 인식시켜보았다. Table 3에 규칙을 디자인한 사람과 이외의 사람에 대한 결과를 정리하였으며 90% 이상의 인식률을 확인할 수 있었다.
Fig. 13. Implemented Rule-based System Application
Table 3. System performance using accelerometer
두 번째 앙상블 규칙기반 시스템으로 구현된 Fig. 13의 앱을 사용하여 규칙 작성자와 작성자가 아닌 실험자 3명에 대해 동일한 실험을 진행하였다. Table 4에 그 결과를 정리하였다. 상대적으로 단순한 모션인 ‘I’뿐만 아니라, 상대적으로 복잡한 모션인 ‘S’와 ‘Z’의 경우에도 전체적으로 정확도가 높아진 것을 확인할 수 있었다.
Table 4. System performance using ensemble
위의 두 실험을 바탕으로 각 문자 표현을 인식하는 규칙 기반 시스템에서 서로 다른 알고리즘의 융합을 통해서 우수한 성능을 얻을 수 있음을 확인하였다. 이에 따라, 본 논문에서 보여준 수준의 성능이라면 현실적으로는 약간의 보완을 거쳐 기능적 사용성이 충분하다고 판단된다.
VI. Conclusions
본 논문에서는 스마트폰에 내장된 가속도 센서와 자이로스코프 센서 데이터를 활용하여 한 획 쓰기가 가능한 ‘I’, ‘S’, ‘Z’ 세 가지 문자를 인식하는 규칙기반 시스템을 연구하였다. 먼저 해당 문자를 표현하는 방법을 정의하고, 각 움직임에 대한 가속도 및 각속도 데이터를 분석하여 특징을 도출하였다. 도출된 특징을 적용한 규칙기반 시스템을 제안하고 안드로이드 앱으로 구현하여 규칙 작성자 및 실험참여자를 대상으로 인식 성능을 검증하고자 하였다. 세 가지 문자에 대해서 앱의 정상 동작 여부와 두 가지 규칙기반 시스템의 높은 성능을 실험으로 검증하였으며, 스마트폰의 특정 기능을 움직임에 연결할 수 있는 가능성을 확인하였다.
현재는 한 획 쓰기가 가능한 세 가지 알파벳 ‘I’, ’S’, ’Z’의 움직임을 분류하는 방법을 연구하였으며, 간단한 규칙 기반 시스템을 구성하였다. 향후에는 이번 연구에 사용된 문자와 비슷한 특징을 나타내는 다른 문자들을 다양한 데이터 분석 기법을 적용하여 구분할 수 있는 방법을 찾고 많은 사람들의 움직임에 대한 정보를 활용하여 규칙을 보완하거나 머신러닝을 활용한 패턴 분석 등의 평가 방법을 적용할 수도 있으며 낙상 사고와 같은 비정상 행동에 대응할 수 있도록 기능을 확장할 수 있을 것으로 판단된다.
References
- Gallup, Research of usage and brand of smartphones, smart watches, wireless earphone from 2012 to 2020, https://www.gallup.co.kr/gallupdb/reportContent.asp?seqNo=1134
- Seung-Hyun Kwon, Yue-Soon Choi, Soon-Ja Lim, and Suck-Tae Joung, "An implementation of user exercise motion recognition system using smartphone", Journal of the Korea Academy Industrial Cooperation Society, vol. 17, no. 10 pp. 396-402, 2016 https://doi.org/10.5762/KAIS.2016.17.10.396
- Yoo-jin Hong, Jo-ah Lee, Soo-young Hong, and Sang-kyu Lee, "Design and implementation of safe-walking mobile application using smartphone sensing data", https://www.dbpia.co.kr/journal/articleDetail?nodeId=NODE06602872
- Samsung, "What is S pen air actions?", https://www.samsung.com/global/galaxy/what-is/air-actions/
- Samsung, "Galaxy watch3 45mm(Bluetooth)",https://www.samsung.com/sec/wearables/galaxy-watch3-r840/SM-R840NZKAKOO/
- Apple, "Use raise to wake on your iPhone", https://support.apple.com/ko-kr/HT208081
- Jong-Hwan Kim and Incheol Kim, "Design and implementation of a two-phase activity recognition system using smartphone's accelerometers" Journal of the Korea Information Processing Society, vol. 3, no. 2, pp. 87-92, Feb. 2014
- Hyunju Cho, Sangchul Kim, Jinsuk Baek, and Paul S. Fisher, Motion recognition with smart phone embedded 3-axis accelerometer sensor, 2012 IEEE International Conference on Systems, Man, and Cybernetics, pp. 919-924, Seoul, Korea, October 2012
- Xian Wang, Paula Tarrio, Eduardo Metola, Ana M. Bernardos, and Jose R Casar, Gesture recognition using mobile phone's inertial sensors, Distributed Computing and Artificial Intelligence, pp. 173-184, Salamanca, Spain, March 2012.
- Chunyu Xie, Shangzhen Luan, Hainan Wang, and Baochang Zhang, Gesture recognition benchmark based on mobile phone, Chinese Conference on Biometric Recognition, pp. 432-440, Chengdu, China, October 2016.
- Yong Cheol Lee, and Chil Woo Lee, "Motion Recognition of SmartPhone using Sensor Data," Journal of Korea Multimedia Society, vol. 17, no. 12, pp. 1437-1445, December 2014. https://doi.org/10.9717/kmms.2014.17.12.1437
- Tsung-Ming Tai, Yun-Jie Jhang, Zhen-Wei Liao, Kai-Chung Teng, and Wen-Jyi Hwang, "Sensor-based continuous hand gesture recognition by long short-term memory," IEEE sensors letters, vol. 2, no. 3, pp. 1-4, September 2018.
- Yubo Shao, Tinghan Yang, He Wang, and Jianzhu Ma, "AirSign: Smartphone Authentication by Signing in the Air," Sensors, vol. 21, no. 1, 104, December 2020. https://doi.org/10.3390/s21010104
- Joao Prudencio, Ana Aguiar, and Daniel Lucani, Physical activity recognition from smartphone embedded sensors, Iberian Conference on Pattern Recognition and Image Analysis, pp. 863-872, Madeira, Portugal, June 2013.
- Alvina Anjum, and Muhammad U. Ilyas, Activity recognition using smartphone sensors, 2013 IEEE 10th consumer communications and networking conference, pp. 914-919, Nevada, USA, January 2013.
- Muhammad Shoaib, Stephan Bosch, Ozlem Durmaz Incel, Hans Scholten, and Paul J. M. Havinga, "Fusion of smartphone motion sensors for physical activity recognition," Sensors, vol. 14, no. 6, pp. 10146-10176, 2014. https://doi.org/10.3390/s140610146
- Akram Bayat, Marc Pomplun, and Duc A. Tran, "A study on human activity recognition using accelerometer data from smartphones," Procedia Computer Science, vol. 34, pp. 450-457, 2014. https://doi.org/10.1016/j.procs.2014.07.009
- Xingfeng Wang, and Heecheol Kim, "Detecting User Activities with the Accelerometer on Android Smartphones," Journal of Multimedia Information System, vol. 2, no. 2, pp. 233-240, 2015. https://doi.org/10.9717/JMIS.2015.2.2.233
- Charissa Ann Ronao, Sung-Bae Cho, "Human activity recognition with smartphone sensors using deep learning neural networks," Expert systems with applications, vol. 59, pp. 235-244, 2016. https://doi.org/10.1016/j.eswa.2016.04.032
- Amari Vaughn, Paul Biocco, Yang Liu, Mohd Anwar, Activity detection and analysis using smartphone sensors, 2018 IEEE International Conference on Information Reuse and Integration, pp. 102-107, Salt Lake City, USA, July 2018.
- Robert-Andrei Voicu, Ciprian Dobre, Lidia Bajenaru, and Radu-Ioan Ciobanu, "Human physical activity recognition using smartphone sensors," Sensors, vol. 19, no. 3, 458, 2019. https://doi.org/10.3390/s19030458
- Abdulrahman Alruban, Hind Alobaidi, Nathan Clarke, Fudong Li, Physical activity recognition by utilising smartphone sensor signals, 8th International Conference on Pattern Recognition Applications and Methods, pp. 342-351, Prague, Czech republic, February 2019.
- Nadeem Ahmed, Jahir Ibna Rafiq, and Md Rashedul Islam, "Enhanced human activity recognition based on smartphone sensor data using hybrid feature selection model," Sensors, vol. 20, no. 1, 317, 2020. https://doi.org/10.3390/s20010317
- H.K. Yang and H.S. Yong,"Real-time physical activity recognition using tri-axis accelerometer of smart phone", Journal of Korea Multimedia Society, vol. 17, no. 4, pp. 506-513, 2014. https://doi.org/10.9717/kmms.2014.17.4.506