Korean Institute of Information Technology

Home

The Journal of Korean Institute of Information Technology - Vol. 19 , No. 8

[ Article ]
The Journal of Korean Institute of Information Technology - Vol. 19, No. 8, pp. 27-39
Abbreviation: Journal of KIIT
ISSN: 1598-8619 (Print) 2093-7571 (Online)
Print publication date 31 Aug 2021
Received 27 Jul 2021 Revised 18 Aug 2021 Accepted 21 Aug 2021
DOI: https://doi.org/10.14801/jkiit.2021.19.8.27

LSTM을 사용한 보행주기 식별
최지우* ; 유형진* ; 최상일** ; 강태원**
*강릉원주대학교 컴퓨터공학과 학부생
**강릉원주대학교 컴퓨터공학과 교수(교신저자)
**강릉원주대학교 컴퓨터공학과 교수

Identification of Gait Cycle using LSTM
Jiwoo Choi* ; Hyungjin Yoo* ; Sangil Choi** ; Taewon Kang**
Correspondence to : Sangil Choi Dept. of Computer Science & Engineering, Gangneung-Wonju National University. Korea, Tel.: +82-33-760-8670, Email: schoi@gwnu.ac.kr

Funding Information ▼

초록

보행주기에는 양쪽 발의 뒷굽 닿기(HS)와 발가락 떼기(TO)가 반복적으로 포함되어있다. 보행주기 식별은 해당 주기 내에 존재하는 양쪽 발의 HS와 TO를 찾는 작업이다. 본 논문에서는 대표적인 순환 신경망 모델인 LSTM을 사용하여 보행주기를 식별하는 방법에 관해 연구한다. 남녀 각각 25명씩 50명의 연구 참가자들을 대상으로 각각 20번씩 보행 실험을 수행하면서 연구 참여자들의 손목에 부착된 관성 센서(가속도 및 각속도)로부터 학습 데이터를 수집했다. LSTM 모델을 통해 학습을 진행한 후 평균 정밀도와 재현율을 구한 결과, 정밀도는 95.98%, 재현율은 93.18%로 나타났다. 이를 통해 관성 센서로부터 획득한 데이터를 제안한 LSTM 모델로 학습시켜 보행주기를 식별하는 것이 효과적인 방법임을 확인할 수 있다.

Abstract

In the gait cycle, heel strike (HS) and toe off (TO) of both feet are repeatedly included, and identification of the gait cycle is to find these activities within the cycle. In this paper, we study a method to identify the gait cycle using LSTM, a representative recurrent neural network model. Learning data were collected by performing a gait experiment 20 times each on 50 study participants, 25 males and females each. When performing the experiment, they wear an inertial sensor(acceleration and angular velocity) on their left wrist for collecting gait data. As a result of obtaining the average precision and recall after learning through the LSTM model, the precision was 95.98% and the recall rate was 93.18%. Through this, it can be confirmed that it is an effective method to identify the gait cycle by learning the data obtained from the inertial sensor with the proposed LSTM model.


Keywords: gait analysis, gait cycle, recurrent neural network, LSTM

Ⅰ. 서 론

인간의 걸음걸이를 분석하여 유용한 정보를 추출하려는 다양한 연구가 진행 중이다. 65세 이상의 노인에게 있어 심혈관 및 근골격계 질환, 치매, 알츠하이머 등과 같은 질환이 있을 경우 보행에 영향을 미칠 가능성이 있다는 연구 결과가 존재한다[1]-[4]. 다시 말해서, 노인의 걸음걸이를 분석하면 이러한 질병과의 상관관계를 파악할 수 있다. 보행 분석은 의료분야뿐만 아니라 범죄 수사에서도 사용되고 있다. 법보행 분석이라는 과학 수사 기법은 인간의 걸음걸이에 나타난 개인적 보행 특성을 분석하여 동일인 여부를 판단하는 기술이다. 이 기법을 실제 수사에 적용하여 범인을 검거한 사례도 존재한다. 또한, 지문 혹은 홍채와 같은 개인의 생체 데이터를 이용하여 적법한 사용자인지를 판별하는 수단으로 사용되고 있는데 인간의 걸음걸이가 개인을 구별하는 새로운 사용자 인증 시스템의 수단으로 사용될 가능성 또한 존재한다. 이렇듯 보행 분석은 개인의 건강상태 점검, CCTV 영상 분석을 통한 범인 색출, 보안 시스템의 새로운 인증 수단 등의 다양한 응용 분야에서 사용되고 있으며 앞으로 새로운 분야에 적용될 가능성이 높은 분야임에 틀림없다.

보행 분석을 위한 다양한 방법이 존재한다. 앞에서 언급한 법보행 분석에서는 CCTV 영상을 분석하여 개인마다 가지고 있는 특유의 보행 특징을 찾는다. 범인들이 CCTV 카메라를 의식하여 자신의 얼굴을 노출시키지 않으려고 하거나 CCTV 영상의 질이 좋지 않아 범인을 특정하지 못하는 한계를 극복할 수 있다. 또한, 특수 적외선 카메라와 보행자의 보행과 연관된 신체 부위에 부착된 다수의 센서를 통해 보행 패턴을 분석하는 방법도 있다. 보행자의 실루엣 영상을 기반으로 보행 패턴을 분석하는 방법으로써 보폭, 보행속도, 관절 각도 등을 수치화하여 보행자의 개인적인 보행 패턴을 찾을 수 있다. 의료분야에서 환자의 보행에 이상이 있는지를 판별하는 방법으로 “Timed Up & Go(TUG)” 테스트가 있다. 이 방법에서는 환자는 검사자의 지시에 따라 정해진 행동 요령을 준수하며 테스트에 임해야 한다. 먼저 환자는 의자에 앉아 있는 상태에서 검사자의 명령에 따라 의자에서 일어나 자신의 평소 보행 속도에 맞춰 일정한 거리를 걸어간 후 다시 제자리로 돌아와 의자에 앉음으로써 테스트는 종료된다. 검사자는 테스트를 시작하여 마칠 때까지의 시간을 측정함으로써 환자의 보행 상태를 파악한다. 최근에는 소형 전자기기 및 센서 기술의 발달로 인해 가속도 및 각속도 센서를 사용한 보행 분석 방법이 활발히 연구 중이다. 이러한 관성 센서를 보행자의 몸에 부착하여 보행 데이터를 수집한다. 이렇게 수집된 데이터를 분석하여 보행자가 지닌 보행 패턴을 찾아낸다. CCTV 혹은 적외선 카메라를 사용한 보행 분석 방법은 특수한 실험 환경 혹은 고가의 영상처리 및 분석 장치가 필요하다. TUG 테스트의 경우 보행을 분석함에 있어 검사자의 주관적인 견해가 개입될 가능성이 존재한다. 이러한 단점을 보완하기 위해 최근의 보행 분석 연구에서는 관성 센서를 이용한 보행 분석을 주로 사용하는 추세이다.

관성 센서를 이용한 대부분의 보행 분석 연구에서는 수집된 보행 데이터에서 보행주기를 추출하는 작업이 가장 먼저 수행된다. 보행주기는 한쪽 발의 뒷굽 닿기(HS: Heel Strike)에서부터 같은 발의 다음 번 뒷굽 닿기까지로 정의된다. 하나의 보행주기 안에는 양쪽 발의 뒷굽 닿기와 발가락 떼기(TO: Toe Off)가 반복적으로 일어난다. 즉, 개개인의 보행 패턴 및 특징을 파악하기 위해서는 보행주기를 식별해야 하고 이를 위해서는 보행 데이터로부터 보행자의 뒷굽 닿기와 발가락 떼기 시점을 찾아야 한다.

본 연구에서는 딥러닝 모델을 사용하여 보행주기 식별을 위한 핵심 정보인 HS와 TO를 추출하는 방법에 대해 논한다. 이를 위해 선행되어야 하는 작업이 HS와 TO가 발생한 시점을 정확하게 파악하는 것이다. 기존의 보행 분석 연구에서는 일반적으로 하나 이상의 관성 센서를 사용하여 보행주기를 식별하려는 노력을 기울였다. 하지만, 본 연구에서는 하나의 관성 센서만을 사용하여 양쪽 발의 HS와 TO 시점을 찾아내어 보행자의 보행주기를 식별하는 것이 목표이다. 이를 위해 보행자의 보행 데이터를 인공지능의 신경망 모델을 사용하여 학습시킨 후 학습된 모델이 어느 정도의 정확성을 가지고 HS와 TO를 찾아내는지 알아보는데 본 연구의 목적이 있다.

논문의 구성은 다음과 같다. 2장은 관련 연구로 관성 센서를 사용한 최신의 보행 분석 연구 동향을 살펴본다. 3장에서는 실험 참가자들을 대상으로 어떻게 보행 데이터를 수집했는지에 대해 자세히 기술하고 데이터 수집에 사용된 센서에 대해 설명한다. 4장에서는 수집된 보행 데이터의 전처리 방법에 대해 기술한다. 딥러닝 모델에 데이터를 학습시키기전 원시 데이터에 적용된 선형보간법과 Low Pass 필터링기법에 대해 설명한다. 5장에서는 신경망 모델을 사용하여 HS와 TO를 찾는 과정에 대해 설명하고 딥러닝의 학습 결과 분석에 대해 논한다. 마지막으로 6장에서는 결론에 대해 기술하고 향후 연구에 대하여 언급하고 논문을 마무리 한다.


Ⅱ. 관련 연구

기존의 보행 분석 연구를 살펴봤을 때 기계학습을 사용한 연구와 그렇지 않은 연구 이렇게 2가지로 분류할 수 있다. 이번 절에선 관성 센서를 사용한 연구 중 기계학습을 적용하지 않은 보행 분석 방법과 기계학습을 적용한 보행 분석 연구로 분류하여 각 연구의 동향을 살펴보고자 한다.

2.1 기계학습을 적용하지 않은 보행 분석

기계학습을 적용하지 않은 보행 분석과 관련된 연구를 살펴보면 대부분의 경우 주로 의료분야에 관련된 연구가 대부분이다. 의료분야의 연구에선 특정 질환을 앓는 환자에 대해 보행 균형, 속도, 자세, 보폭과 같은 보행 특징을 추출했으며[5]-[12], 이 특징을 통해 질환의 정도를 판별하는 알고리즘을 개발했다[6][10]. 개발 알고리즘의 성능은 UPDRS(파킨슨병 평가지수)와 같이 의료진이 제시한 평가지표를 기준으로 질환에 따라 평가했다. 의료분야이외에도 일반적으로 보행 패턴을 찾기 위해 HS와 TO의 시점을 찾는 연구도 존재한다[13]. 이렇게 질환을 판별하거나 각 참가자의 보행 패턴을 추출하는 의료분야의 연구들은 많지만, 사용자 인증과 같은 보안 분야에 관련된 연구는 비교적 많지 않다.

2.2 기계학습을 적용한 보행 분석

기계학습을 적용한 보행 분석 연구 대부분이 특정 질환 판별부터 사용자 인증까지 다양한 목적을 두고 연구되었다. 특히 기존의 보행 분석 방법에서 관심을 기울였던 분야에서 벗어나 생체 데이터를 이용한 사용자 인증을 위해 기계학습을 통한 보행 패턴 판별 및 인식에 대한 연구가 주목을 받고 있다. 기계학습을 사용한 연구는 모델의 성능을 높은 수준으로 끌어올리기 위해 다양한 모델과 학습 데이터 구성, 평가지표 등에 대한 정보를 제시한다. 눈에 띄는 내용으로 모델의 선택, 모델에 학습시킬 feature(특성), 평가지표 세 가지가 있었다. 첫 번째로 모델 선택에 대해 말하자면, 시계열 데이터인 관성 센서값의 맥락을 학습하기 위해 RNN(Recurrent Neural Network)을 기본으로 한 모델을 선택한 연구를 확인할 수 있다[14]-[23].

사용한 모델의 대표적인 종류로는 LSTM과 GRU(Gated Recurrent Unit)가 있으며 두 개의 모델 모두 시계열 데이터 처리와 단순 RNN에서 발생하는 장기적 의존성 문제 해결을 목적으로 사용되었다. RNN의 개선된 모델 중 하나인 위의 두 모델은 내부 메모리를 사용하여 시계열 데이터를 기억하거나 사용할 수 있기에 관성 센서의 처리에 적합하다. 사용자 인증을 목적으로 한 연구에서 LSTM 모델이 다른 모델보다 비교적 좋은 성능을 보였다[19].

다른 분류 모델로써 CNN(Convolutional Neural Network)모델 또는 SVM (Support Vector Machine), RF(Random Forest) 등을 사용하였다[24]-[28]. 두 번째로 학습 feature의 경우 이전의 모델에 맞게끔 표준화한 관성 센서의 값 또는 추가로 생성한 복합 가속도를 feature로 설정하기도 했다. 이렇게 앞서 구성한 모델의 결과가 출력되면 마지막으로 평가지표에 따라 모델의 성능을 평가한다. 기계학습을 이용한 많은 보행 분석 연구가 회귀 모델에 대한 평가지표와 분류 모델의 평가지표를 사용하였다. 회귀 모델의 평가지표로는 크게 MAE(Mean Absolute Error), MSE(Mean Squared Error), RMSE(Root Mean Squared Error)가 있었으며, 분류모델의 평가지표로는 정밀도와 재현율, F1-score 등을 사용하였다. 본 연구에서도 모델을 평가할 때 위의 지표를 참고해 성능을 분석하였다.


Ⅲ. 데이터 수집
3.1 보행 데이터 수집

총 50명의 연구 참여자들을 대상으로 데이터를 수집하였다. 연구 참여자는 20세에서 29세 사이의 신체 건강한 20대 남녀 각각 25명이며 모든 참여자들은 데이터 수집에 앞서 실험진행과정과 유의사항에 대한 설명을 듣고 개인정보(가속도, 각속도, 압력 값) 수집에 대해 동의하는 절차를 진행했다. 보행 데이터 수집은 기관생명관리위원회의 심의를 거쳐 이 실험에 대한 승인(GWNUIRB-2020-33)을 취득한 후 진행하였다.

보행 시 발생하는 환경적 요인을 최대한 배제하기 위해 보행 실험은 모든 연구 참여자에 대해 동일한 장소에서 이루어졌다. 모든 참여자들은 33m의 직선 거리를 총 10회 왕복하였고 최대한 자연스러운 자신만의 보행속도에 맞춰서 걷도록 요청받았다.

3.2 보행 데이터 수집 장치

본 연구의 목적은 보행주기내의 HS와 TO를 정확하게 판별하는 것이다. 딥러닝 모델이 HS와 TO를 정확하게 판별했는지를 알아보기 위해서는 판단 기준이 필요하다. 그림 1에 제시된 압력 데이터 수집 장비를 이용하여 발뒤꿈치와 앞꿈치에 가해지는 압력을 측정하였다. HS는 발뒤꿈치가 바닥에 닿을 때의 상태를, TO는 발앞꿈치가 바닥으로부터 떨어졌을 때의 상태를 의미한다. 보행주기 내에는 양쪽 발의 HS와 TO가 반복적으로 나타난다(그림 2 참조). 정확하게 발이 땅에 닿고 떨어지는 순간을 포착하는 것은 불가능하기 때문에 본 연구에서는 그림 1과 같이 신발 밑창에 압력 센서를 부착하여 이 센서로부터 최대값이 측정되었을 때를 HS와 TO의 순간으로 정의하였다. 실험 참여자의 왼쪽과 오른쪽 신발 각각에 압력 센서를 부착하여 HS와 TO의 순간을 측정한 후 딥러닝 모델의 정확도 판단 기준으로 삼았다. 압력 데이터 수집 장비에 사용된 압력 센서는 Interlink Electronics FSRTM 400 시리즈의 표준 센서인 402 센서를 사용하였다.


Fig. 1. 
A foot pressure collection device


Fig. 2. 
HS and TO within one gait cycle[29]

이전 절에서 언급한 바와 같이 본 연구에서는 보행 데이터 수집을 위하여 가속도와 각속도 센서를 사용하였다. 보행 시 가속도와 각속도 값을 얻기 위하여 Shimmer 사의 Shimmer3 IMU 장비를 사용하였다(그림 3 참조).


Fig. 3. 
A Shimmer3 IMU unit

가속도 및 각속도 센서의 자세한 제원은 표 12에 각각 나타냈다. 그림 4는 실험 참가자의 왼쪽 손목에 Shimmer3 IMU 장비를 장착한 모습과 가속도 및 각속도 센서의 3축 방향을 표현하였다. Shimmer3 센서를 보행자의 왼쪽 손목에 착용하여 보행 데이터를 수집하였다.

Table 1. 
Configuration of an accelerometer
Item Content
Low noise accelerometer Kionix KXTC9-2050
Range ±2g
Sensitivity 66 mVg(±20 20mV)
Typical operating current 240μA
Noise density 125μg/Hz

Table 2. 
Configuration of a gyroscope
Item Content
Gyroscope Invensense MPU9250
Range ±250;±500;±1000;±2000; dps
Sensitivity 131LSB/dps at ±250 dps
Numeric resolution 16-bit
RMS noise 0.1 dps


Fig. 4. 
Wearing a sensor and the direction of 3-axis

실험 참가자의 신발과 왼쪽 손목에 부착된 데이터 수집 장치로부터 수집된 데이터는 각 수집 장치 내부의 SD 카드에 실시간으로 저장된다. 데이터 측정이 완료되면 데이터 분석을 위해 SD 카드로부터 PC로 데이터를 이동한 후 실험 참가자별로 ID를 부여하여 관리하였다. 또한, 압력 데이터 수집 장비와 Shimmer3로부터 수집된 데이터를 동기화하기 위하여 각 장치의 데이터 샘플링 주기는 모두 20ms(50Hz)로 통일하였다.


IV. 데이터 전처리
4.1 누락 구간 복원

보행 데이터 수집을 위해 압력 데이터 수집 장비와 Shimmer3 센서의 샘플링 주기는 20ms로 설정하였지만, 수집된 데이터를 살펴본 결과 정확하게 20ms마다 데이터가 샘플링되지 않았다. 다시 말해서, 설정한 샘플링 주기에 맞게 데이터 측정이 일어나지 않은 경우가 존재하였다. 이 문제를 해결하기 위해서 수집된 데이터를 대상으로 선형보간법(식 (1) 참조)을 적용하였다.

y=y0+x-x0y1-y0x1-x0(1) 
  • y : 구하고자 하는 값
  • x : 구하고자 하는 값
  • x0 : x의 이전 시간
  • x1 : x의 다음 시간
  • y0 : x0의 시간
4.2 잡음 제거

기기 내부에서 발생하는 잡음과 움직이는 과정에서 생기는 환경 요인에 의한 잡음 때문에 실험을 통해 수집된 데이터를 그대로 사용할 수 없다. 본 연구에서는 파이썬 SciPy 라이브러리의 butterworth에서 제공하는 low pass filter를 사용해서 잡음을 제거한다. Order와 Cutoff 두 가지 값을 조정함으로써 원시 데이터의 잡음을 적절하게 제거하는 효과를 얻었다.

그림 5는 필터링이 적용되기전의 원시 가속도 데이터를, 그림 6은 필터링이 적용된 가속도 데이터를 각각 나타낸다. 그림 6에서 동그라미로 표시된 부분은 압력 데이터 수집 장비로부터 얻은 TO의 위치를 가속도 데이터에 표시한 것이다. 그림 6의 필터링된 데이터에서 TO를 찾는 것이 원시 데이터로부터 TO를 찾는 것보다 훨씬 수월함을 알 수 있다.


Fig. 5. 
Acceleration data before low pass filtering


Fig. 6. 
Acceleration data after low pass filtering

각속도 데이터에 대해서도 동일하게 필터링을 적용하였고 압력 데이터 수집 장비로부터 획득한 HS를 필터링된 각속도 데이터에 적용한 결과 그림 6과 동일한 결과를 얻을 수 있었다.


V. LSTM을 통한 학습 및 결과 분석

보행 데이터는 시계열 데이터이므로 시계열 데이터에 가장 적합한 순환신경망 모델인 LSTM(Long Short-Term Memory)을 사용한다. 모든 딥러닝 학습은 vsCode IDE 환경에서 진행되었으며 신경망을 구성하기 쉽고, 관련 정보와 문서들이 비교적 많은 Keras 라이브러리를 사용했다.

5.1 학습 데이터 구성

학습 데이터는 필터링 과정을 거친 왼쪽 손목의 가속도와 각속도 값으로 구성되며, 이렇게 처리된 값을 통틀어 관성 데이터라고 명한다. 기계학습의 여러 경우에 원시데이터를 바로 사용해서 모델을 학습하는 경우 모델의 정확도를 높이기 어렵다. 본 연구에서도 원시데이터인 관성 데이터로부터 보행주기를 잘 식별할 수 있는 특징을 추출하여 LSTM의 학습 데이터를 구성한다.

특징은 손목 궤적과 발걸음의 관계를 분석하여 추출한다. 그림 7에 손목의 궤적과 손목의 위치를 P1, S1, S2, P2로 표기했으며, 각 위치를 움직임의 크기를 기준으로 Stable과 Pre_Swing, Swing 세 단계로 구분했다. P1과 P2는 궤적의 각 끝에 위치하여 움직임이 작으므로 Stable 단계로 구분했다. S1은 Swing 단계 이전에 작은 움직임을 보이므로 Pre_Swing 단계로, 가장 큰 움직임을 보이는 S2는 Swing 단계로 구분했다. 그리고 압력 데이터 수집 장비로부터 얻은 HS와 TO의 시점을 빨간색 원으로 표시했다.


Fig. 7. 
Subject’s wrist trajectory(p1, s1, s2, p2)

각 단계의 손목 움직임과 발의 위치를 확인해보면 HS는 Pre_Swing 단계에서, TO는 Stable 단계에서 가장 잘 관찰된다. 하지만 Pre_Swing과 Stable 단계의 움직임의 크기는 Swing 단계에 비해서 굉장히 작아 모델이 판별하기 어려울 수 있다. 따라서 모델이 판별하기 쉽도록 움직임의 크기를 반전시켰다. 반전한 손목 움직임의 크기는 Stable, Pre_Swing, Swing 순이다. 움직임의 크기는 벡터공식을 통해 구할 수 있고, 역수를 취함으로써 HS와 TO의 시점을 잘 드러낼 수 있다. 위와 같은 과정을 수식으로 표기하면 식 (2)와 같다.

Macc=1Xacc2+Yacc2+Zacc2 Mgyro=1Xgyro2+Ygyro2+Zgyro2(2) 
  • Macc : 가속도의 운동량
  • Mgyro: 각속도의 운동량
  • Macc, Yacc, Zacc : 각 축에 대한 가속도
  • Xgyro, Ygyro, Zgyro: 각 축에 대한 각속도

LSTM 모델의 학습 데이터는 위의 공식으로 합성한 2개의 feature와 클래스 정보가 함께 입력된다(표 3 참조). 클래스는 압력 데이터 수집 장비로부터 판별한 HS와 TO의 양성클래스 4개와 HS, TO도 아닌 NONE 음성 클래스 한 개로 구분된다.

Table 3. 
Configuration of training data
Name Description
Macc Momentum of accelerometer
Mgyro Momentum of gyroscope
classes HSL | TOL: class of left HS or TO, HSR | TOR: class of right HS or TO, NONE: class that is not both HS and TO

5.2 데이터의 윈도우 처리

보행은 연속적인 동작이기 때문에 관성 데이터 값은 이전 값에 영향을 받는다. 따라서 특정 시점을 기준으로 이전의 일정 시점까지의 데이터를 집합으로 묶어 처리하는 것이 효과적이다. 앞으로 위와 같은 과정을 윈도우 처리라고 명하며 이러한 과정을 거친 데이터 샘플은 2차원 리스트(시간과 feature)로 구성된다(식 (3) 참조).

samplei=MacciMgyroiMacci-wMgyroi-w(3) 
  • i : 관성센서 값의 작업시점
  • w : 위도우 크기
  • samplei : i 시점에서 작업된 샘플

윈도우 처리에서 고려할 변수들이 있는데, 이들을 변경하며 최적의 정확도를 보일 수 있도록 모든 실험 참가자에 대해 임의로 설정할 수 있도록 했다. 각 변수의 설명은 표 4에 제시하였다.

Table 4. 
Variables related to window processing
Variable Description
window_size
(= timesteps)
The size of time remembered for preprocessing timeseries data
step_size The size of space between each samples remembered
num_of_feature The number of features specified in Section 5.1.

5.3 기계학습을 위한 모델 구성

본 연구에서는 순환 신경망 모델인 LSTM을 사용하여 학습을 진행했다. LSTM 모델의 구성과 각 신경망 층을 설계할 때의 고려사항을 표 5에 제시하였다.

Table 5. 
Configuration of LSTM model
Layer (type) Output shape Param #
lstm (LSTM) (None, None, 128) 69120
lstm_1 (LSTM) (None, 128) 131584
dropout (Dropout) (None, 128) 0
dense (Dense) (None, 5) 645
dense_1 (Dense) (None, 5) 30

- Layer 1(LSTM): HS와 TO를 판별하기 위해 연속적인 값을 가진 가속도 및 각속도 값이 입력이다. 이러한 연속적인 데이터들을 처리하기 위해 시계열 데이터 판별에 적합한 LSTM 모델을 사용했다. LSTM 모델은 딥러닝 모델 중 순환 신경망 모델의 일종으로 과거의 데이터를 기억하여 현재의 데이터를 판별하는 데 활용된다. 입력의 개수는 window_size*num_of_feature (표 4 참조)로 설정하였다.

- Layer 2(Stacked LSTM): 신경망을 구성하면서 모델 성능의 향상을 위한 방법으로 은닉층의 노드 개수를 증가시키는 방법이 있지만, 보통 층의 깊이를 더하는 방법이 보다 효율을 높일 수 있다. 따라서 기본 LSTM 모델을 확장한 Stacked LSTM 모델을 사용하여 좀 더 고수준의 시계열 데이터를 학습시켰다.

- Layer 3(Drop out): 이전 층의 노드에서 나가는 activation을 특정 확률로 제거하여 과적합을 방지하였다.

- Layer 4(relu): 성능을 조금 더 높이기 위해 relu 활성화 함수를 사용한 은닉층으로 학습하게 하였다.

- Layer 5(softmax): 모든 클래스의 값은 표 3에 제시된 다섯 개의 클래스로 나뉜다. 이 경우 다중클래스 분류 문제에 해당하므로 출력층의 활성화 함수로 softmax를 사용했다. softmax 함수의 결과는 0에서 1 사이의 확률값으로 나오기 때문에 학습 시 클래스를 원-핫 인코딩(one-hot encoding)처리하였다.

5.4 출력 결과 처리

정확도를 분석하기 전에 모델 출력에 대해 후처리를 진행한다. 출력은 표 3의 클래스를 판별한 확률값으로 구성되고, 확률값 중 가장 높은 클래스를 출력한 결과는 그림 8과 같다. 그림 8에서 predict는 모델이 판별한 클래스의 값이고, r_value는 압력 데이터 수집 장비로부터 측정한 클래스의 값이다. 이상적인 판별 결과로는 그림에 표시한 원 내부에 predict가 위치해야 하지만 그림의 predict가 전부 NONE 클래스에 위치한 것을 확인할 수 있다. 이는 예측된 결과가 전부 NONE 클래스로 판별되고 HS와 TO를 판별하지 못했다는 것을 의미한다.


Fig. 8. 
Result of unbalanced label class

이처럼 특정 클래스만 판별되는 문제는 학습 데이터가 “불균형 클래스” 문제에 해당할 경우 발생한다. “불균형 클래스”란 입력데이터 중 양성 데이터(HS, TO)와 음성 데이터(NONE)의 개수를 비교했을 때 양성데이터의 값이 상당히 부족한 문제를 의미한다. 그림 8에서 학습 데이터 구성을 보면 클래스 NONE의 데이터가 다른 클래스의 데이터보다 지나치게 많은 것을 알 수 있다. 이와 같은 불균형 클래스 문제를 회피하기 위해 가장 높은 확률의 클래스를 선택했으며, NONE 클래스를 제외한 나머지 4개의 확률만을 고려하여 확인한 결과는 그림 9와 같다.


Fig. 9. 
Result without unbalanced label class

그림 9에서 판별구간(p_scope)을 보면 predict가 한 시점이 아니라 지속적으로 판별되는 것을 확인할 수 있다. 연구에서 판별하고자 하는 HS와 TO는 한 시점이라고 정의했으므로 정확도 분석을 위해 판별구간을 한 시점으로 축소하는 작업을 수행했다.

판별구간 내에서도 가장 높은 확률을 보인 특정 시점을 선택했고, 나머지를 NONE 클래스로 처리했다. 축소 작업을 완료한 결과는 그림 10에 제시했다. 그림 10에서 match처럼 정확하게 한 시점으로 판별한 결과도 있었지만, 대부분이 appr의 경우처럼 r_value에 근사하게 판별되었다.


Fig. 10. 
Result of the highest probability within classified range

5.5 성능 평가 및 분석

불균형한 클래스를 가지는 분류모델에서는 모든 데이터를 대상(None 클래스까지 포함)으로 하는 정확도로만 평가할 경우, 신뢰도를 보장하지 못하기 때문에 정확도를 대신하여 식 (4)에 제시된 공식에 의거 정밀도(precision)와 재현율(recall)을 확인했다.

precision= num of case sin whic hr-value in tolerancenum of predictrecall=num of case sin which predict in tolerancenum of r-value(4) 
  • precision : 정밀도
  • recall : 재현율
  • num of case in which r_value in : 허용범위에 있는 r value의 수
  • num of case in which r_predict in tolerance : 허용범위에 있는 predict의 수
  • num of predict : predict의 수
  • num of r_value : r_value의 수

정밀도와 재현율의 상세한 설명과 허용범위는 그림 11과 함께 제시한다. 그림 11에서 허용범위는 화살표로 표기했으며, 정밀도와 재현율에 따라 허용범위의 중심(정밀도: predict, 재현율: r_value)을 달리했다. 식 (4)의 계산에서 사용범위 내에 대상(정밀도: r_value, 재현율: predict)이 있는 경우의 수를 분자로 설정했고, 분모로 각 양성클래스(정밀도: predict, 재현율: r_value)의 개수를 분모로 설정했다. 사용한 허용범위는 연구 참여자의 평균 보행주기 시간을 계산하여 최대 1초간격으로 설정했으며 정밀도와 재현율을 구한 결과는 표 6과 같다.


Fig. 11. 
Evaluation method for precision and recall

Table 6. 
Result of precision and recall
name Tol(s) Precision(%) Recall(%)
HSL ±0.3 79.48 27.83
±0.4 88.58 74.11
±0.5 92.57 92.88
TOL ±0.3 79.37 38.15
±0.4 93.67 69.73
±0.5 98.54 85.52
HSR ±0.3 81.67 74.46
±0.4 89.88 87.23
±0.5 95.84 95.74
TOR ±0.3 72.91 88.73
±0.4 88.31 95.77
±0.5 96.97 98.59
Mean ±0.3 78.36 57.29
±0.4 90.11 81.71
±0.5 95.98 93.18

표 6에 허용범위(Tol)에 따라 각 클래스의 정밀도와 재현율을 표기했으며, 모든 클래스의 평균 정밀도와 재현율을 Mean에 나타냈다.

허용범위를 평균 보행주기 시간인 1초로 설정했을 떄 평균 정밀도는 95.98%, 평균 재현율은 93.18%의 판별 성능을 보였으며, 한 보행주기 내에서 HS와 TO를 양호하게 판별했다고 판단할 수 있다. 하지만 허용범위를 한 걸음 단위(0.587s=1.174/2, 근삿값=0.6s)로 설정했을 때, 평균 정밀도는 78.36%, 평균 재현율은 57.29%의 낮은 판별 성능을 보였고, 오차범위를 낮출수록 “정밀도, 재현율 불균형”(오차율과 재현율의 균형이 맞지 않는 문제) 문제가 뚜렷해졌다. 이 경우 모델이 잘못된 판별지표(관성 데이터에서 어느 시점을 HS와 TO로 판별할지에 대한 지표)를 가져 예측값이 다른 시점에 밀집되는 문제가 있다고 판단된다(그림 12 참고).


Fig. 12. 
Evaluation Indicators by density

그림 12의 r_value는 판별모델에서 예측하고자 하는 클래스의 정확한 시점이다. p_value는 모델이 예측한 클래스의 시점으로, r_value 시점과의 오차에 따라 위치한다. p_value가 r_value와 가까울수록 오차율이 낮고, 멀수록 오차율이 크다는 것을 의미한다.

그리고 판별지표(Indicators)는 모델이 어느 시점을 지표로 설정하고 판별했는지 나타낸다. p_value의 분포를 참고하여 밀집도가 높은 곳이 판별지표로 설정된다. 일반적으로 판별지표가 r_value와 가깝고 크기가 작을수록 좋은 성능을 보인다. case 1의 경우 판별지표가 r_value에 가깝고 적당한 크기를 가지므로 이상적인 판별기준을 가졌다고 할 수 있다. 반면 case 2의 경우 판별지표의 크기가 커서 정확한 r_value의 위치를 찾지 못하고, case 3의 경우 크기는 적당하지만 r_value로부터 멀리 떨어져 있어 다른 값을 판별하게 된다. 연구의 모델 또한 case 2 혹은 3과 같이 모델의 잘못된 판별지표로 다른 시점을 판별했을 수 있으므로 구성한 모델이 적합한 판별기준을 가지는지 예측 클래스들의 분포도를 참고하여 확인했다(그림 13 참조).


Fig. 13. 
Distribution plot based on error range and density

그림 13의 Y축은 예측 클래스(모델이 판별한 클래스)의 밀집도이며, X축은 예측 클래스와 실측 클래스(압력 데이터 수집 장비가 판별한 클래스)의 시점 오차율(단위: ms)을 나타낸다. 분포도의 그래프는 서로 다른 길이의 막대들로 구성되며, 각 막대는 해당하는 오차율을 가진 예측 클래스들이 해당 높이만큼 밀집되어 있다는 것을 의미한다. 분포도의 색상은 양성클래스 4개에 의해 구분된다. 점선으로 표시된 r_value는 실측 클래스의 시점이다. 막대들이 r_value에 가까이 위치하고 높이가 클 경우, 오차율이 낮은 예측 클래스들이 많이 밀집되어 있다고 볼 수 있다. 판별지표(Indicators)는 예측 클래스의 밀집도에 따라 어느 시점을 지표로 판별했는지 의미한다.

판별지표의 너비가 작고 r_value에 가까워질수록 좋은 판별 성능을 보인다. 그림에서 판별지표의 너비는 적당하지만, X축을 기준으로 r_value보다 왼쪽 방향으로 조금 치우친 것을 확인할 수 있다. 이는 모델이 HS, TO의 시점을 실측 클래스의 시점보다 일찍 판별했다는 것을 의미하고, 표 6의 “정밀도, 재현율의 불균형” 문제는 위와 같이 모델의 이른 판별지표로 인해 발생했다고 판단할 수 있다. 이렇게 표 6에서 발생한 “정밀도, 재현율 불균형” 문제로 의해 모델의 판별기능이 적합하게 수행하는지 확인하게 되었고, 예측 클래스의 분포와 모델의 판별지표를 통해 판별기능을 평가하였다. 결과적으로 조금 이른 판별지표를 가졌지만, 기본적으로 HS와 TO의 시점을 판별하는 기능을 수행했고, 낮은 허용범위에선 부족한 성능을 보였지만, 목표한 보행주기(허용범위=1.0s) 내에선 양호한 성능(정밀도=95.98%, 평균 재현율=93.18%)을 보였음을 알 수 있다.


VI. 결론 및 향후 과제

인간의 보행은 양쪽 발의 반복적인 활동으로 이루어진다. 보행 분석 연구에서는 이러한 반복 활동을 보행주기라고 하며 보행주기내에서 개인, 성별, 나이 등에 따른 보행 특성을 찾으려는 노력을 기울이고 있다. 보행 데이터로부터 보행 특성을 찾기 위해서는 먼저 주어진 데이터에 존재하는 보행주기를 식별해야한다. 기존의 보행 분석 연구에서는 하나 이상의 관성 센서를 사용하여 연구를 진행했다. 이는 자연스러운 보행을 방해하는 요소로 작용할 수 있고 보행자에게 불편을 초래하는 원인이 될 수 있다. 따라서 본 연구에서는 하나의 센서만을 사용하여 보행주기를 식별하는 데 초점을 맞췄다. 더 나아가 기존의 연구에서는 보행주기를 판별하기 위하여 발목, 종아리, 허리 등에 센서를 부착하여 보행주기를 판별하려고 시도하였다. 이러한 시도는 실험 참가자들에게 자연스러운 보행을 유도하는 데 한계가 뒤따를 수 있다. 본 논문에서는 실험 참가자들의 가장 자연스러운 보행을 이끌어내기 위해 손목에 센서를 부착함으로써 자연스러운 보행을 유도하였다.

보행 주기 식별을 위해 20대 남녀 25명씩 총 50명의 연구 참여자들을 대상으로 각 사람당 보행 실험을 총 20번씩 수행하여 보행 데이터를 수집하였고 선형보간법과 필터링을 거쳐 데이터를 전처리하는 과정을 거쳤다. 전처리된 데이터를 순환 신경망 모델인 LSTM을 사용하여 학습을 진행시켰으며 모델을 학습시킨 결과 평균적으로 정밀도 95.95%, 재현율 93.18%의 성능으로 양쪽 발의 HS와 TO를 예측하였다. 결과적으로 하나의 센서만으로 보행주기를 식별하는 것이 가능함을 보였다.

향후 연구과제로는 LSTM 모델을 통해 식별된 보행주기 내의 보행 특성을 찾는 작업을 제안해본다. 관성 센서를 사용하여 식별된 보행주기 내에 내재된 보행 특성을 이용하여 질병의 발생 유무를 예측하거나 적법한 사용자인지를 판별하는 사용자 인증 시스템에 적용하는 것이 가능하리라 예상된다. 결과적으로 의료분야뿐만 아니라 범죄 및 보안 시스템 분야로까지 적용 범위가 확대될 수 있다.


Acknowledgments

이 논문은 2021년도 정부(과학기술정보통신부)의 재원으로 한국연구재단-현장맞춤형 이공계 인재양성 지원사업의 지원을 받아 수행된 연구임 (NRF-2017H1D8A1029391)

이 논문은 2020년도 정부(과학기술정보통신부)의 재원으로 한국연구재단 생애첫연구사업의 지원을 받아 수행된 연구임 (No. 2020R1G1A1013937)


References
1. J.-H. Park, "Characteristics of Gait in the Elderly: Normal vs. Abnormal", Journal of the Korean Neurological Association, Vol. 35, No. 4, pp. 1-4, 2017.
2. D. K. Lee, "Gait Disorders", Korean Journal of Clinical Geriatrics, Vol. 12, No. 4, pp. 141-148, 2011.
3. G. S. Heo, S. H. Yang, S. R. Lee, J. G. Lee, and C.-Y. Lee, "A Study on Particular Abnormal Gait Using Accelerometer and Gyro Sensor", Journal of the Korean Society for Precision Engineering, Vol. 29 No. 11, pp. 1199-1206, 2012.
4. R. M. Ardle, S. D. Din, B. Galna, A. Thomas, and L. Rochester, "Differentiating dementia disease subtypes with gait analysis: feasibility of wearable sensors?", Gait & Posture, Vol. 76, pp. 372-376, Feb. 2020.
5. M. Zago, C. Sforza, I. Pacifici, V. Cimolin, F. Camerota, C. Celletti, C. Condoluci, M. F. D. Pandis, and M. Galli, "Gait evaluation using inertial measurement units in subjects with Parkinson’s disease", Journal of Electromyography and Kinesiology, Vol. 42, pp. 44-48, Oct. Jun, 2018.
6. D. Lukšys, D. Jatužis, G. Jonaitis, and J. Griškevičius, "Application of continuous relative phase analysis for differentiation of gait in neurodegenerative disease", Biomedical Signal Processing and Control, Vol. 67, May 2021.
7. S. B. Richmond, C. W. Swanson, D. S. Peterson, and B. W. Fling, "A temporal analysis of bilateral gait coordination in people with multiple sclerosis", Multiple Sclerosis and Related Disorders, Vol. 45, Oct. 2020.
8. R. Desai, N. E. Fritz, L. Muratori, J. M. Hausdorff, M. Busse, and L. Quinn, "Evaluation of gait initiation using inertial sensors in Huntington’s Disease: insights into anticipatory postural adjustments and cognitive interference", Gait & Posture, Vol. 87, pp. 117-122, Jun. 2021.
9. A. Tanigawa, S. Morino, T. Aoyama, and M. Takahashi, "Gait analysis of pregnant patients with lumbopelvic pain using inertial sensor", Gait & Posture, Vol. 65, pp. 176-181, Sep. 2018.
10. M. M. Koop, S. J. Ozinga, A. B. Rosenfeldt, and J. L. Alberts, "Quantifying turning behavior and gait in Parkinson’s disease using mobile technology", IBRO Reports, Vol. 5, pp. 10-16, Dec. 2018.
11. W. Pitt and L. Chou, "Reliability and practical clinical application of an accelerometer-based dual-task gait balance control assessment", Gait & Posture, Vol. 71, pp. 279-283, Jun. 2019.
12. E. Gazit, A. S. Buchman, R. Dawe, T. A. Curran, A. Mirelman, N. Giladi, and J. M. Hausdorff, "What happens before the first step? A New Approach to Quantifying Gait Initiation Using a Wearable Sensor", Gait & Posture, Vol. 76, pp. 128-135, Feb. 2020.
13. S. Mo and D. H. K. Chow, "Accuracy of three methods in gait event detection during overground running", Gait & Posture, Vol. 59, pp. 93-98, Jan. 2018.
14. H. X. Tan, N. N. Aung, J. Tian, M. C. H. Chua, and Y. O. Yang, "Time series classification using a modified LSTM approach from accelerometer-based data: A comparative study for gait cycle detection", Gait & Posture, Vol. 74, pp. 128-134, Oct. 2019.
15. C. F. Martindale, V. Christlein, P. Klumpp, and B. M. Eskofier, "Wearables-based multi-task gait and activity segmentation using recurrent neural networks", Neurocomputing, Vol. 432, pp. 250-261, Apr. 2021.
16. G. Giorgi, A. Saracino, and F. Martinelli, "Using recurrent neural networks for continuous authentication through gait analysis", Pattern Recognition Letters, Vol. 147, pp. 157-163, Jul. 2021.
17. P. Robberechts, R. Derie, P. V. d. Berghe, J. Gerlo, D. D. Clercq, V. Segers, and J. Davis, "Predicting gait events from tibial acceleration in rearfoot running: A structured machine learning approach", Gait & Posture, Vol. 84, pp. 87-92, Feb. 2021.
18. E. J. C. Nacpil, S. Nacy, and G. Youssef, "Feasibility assessment of transfer functions describing biomechanics of the human lower limb during the gait cycle", Biomedical Signal Processing and Control, Vol. 69, Aug. 2021.
19. Y. Watanabe and M.. Kimura, "Gait identification and authentication using LSTM based on 3-axis accelerations of smartphone", Procedia Computer Science, Vol. 176, pp. 3873-3880, Sep. 2020.
20. A. Tiwari, A. Pai, and D. Joshi, "A shoe-mounted infrared sensor-based instrumentation for locomotion identification using machine learning methods", Measurement, Vol. 168, Jan. 2021.
21. A. d. J. P. Salgueiro, Y. Shichkina, A. G. García, and L. G. Rodríguez, "Parkinson’s Disease Classification and Medication Adherence Monitoring Using Smartphone-based Gait Assessment and Deep Reinforcement Learning Algorithm", Procedia Computer Science, Vol. 186, pp. 546-554, Apr. 2021.
22. W. Kim, H. Seo, and D. Seo, "Nine-Axis IMU-based Extended inertial odometry neural network", Expert Systems with Applications, Vol. 178, Sep. 2021.
23. Y. Qian, K. Yang, Y. Zhu, W. Wang, and C. Wan, "Combining deep learning and model-based method using Bayesian Inference for walking speed estimation", Biomedical Signal Processing and Control, Vol. 62, Sep. 2020.
24. J. Zhao and E. Obonyo, "Convolutional long short-term memory model for recognizing construction workers’ postures from wearable inertial measurement units", Advanced Engineering Informatics, Vol. 46, Oct. 2020.
25. N. Ghosh and I. Banerjee, "IoT-based freezing of gait detection using grey relational analysis", Internet of Things, Vol. 13, Mar. 2021.
26. N. U. Ahamed, K. T. Krajewski, C. C. Johnson, A. J. Sterczala, J. P. Greeves, S. L. Wardle, T. J. O’Leary, Q. Mi, S. D. Flanagan, B. C. Nindl, and C. Connaboy, "Using Machine Learning and Wearable Inertial Sensor Data for the Classification of Fractal Gait Patterns in Women and Men During Load Carriage", Procedia Computer Science, Vol. 185, pp. 282-291, May 2021.
27. A. Kececi, A. Yildirak, K. Ozyazici, G. Ayluctarhan, O. Agbulut, and I. Zincir, "Implementation of machine learning algorithms for gait recognition", Engineering Science and Technology, an International Journal, Vol. 23, No. 4, pp. 931-937, Aug. 2020.
28. S. S. Bidabadi, I. Murray, G. Y. F. Lee, S. Morris, and T. Tan, "Classification of foot drop gait characteristic due to lumbar radiculopathy using machine learning algorithms", Gait & Posture, Vol. 71, pp. 234-240, Jun. 2019.
29. W. Pirker and R. Katzenschlager, "Gait disorders in adults and the elderly : A clinical guide", Wien Klin Wochenschr, Vo1. 126, No. 3, Sep. 2016.

저자소개
최 지 우 (Jiwoo Choi)

2019년 ~ 현재 : 강릉원주대학교 컴퓨터공학과 학부생

관심분야 : 인공지능

유 형 진 (Hyungjin Yoo)

2016년 ~ 현재 : 강릉원주대학교 컴퓨터공학과 학부생

관심분야 : 데이터베이스

최 상 일 (Sangil Choi)

2000년 : 강릉대학교 컴퓨터공학과(학사)

2008년 : 아이오와주립대학교 컴퓨터과학과(석사)

2015년 : 네브래스카주립대학교 컴퓨터공학과(박사)

2015년 ~ 2016년 : 스와질랜드기독대학교 컴퓨터공학과 교수

2016년 ~ 2019년 : 아주대학교 소프트웨어학과 강의전담교수

2019년 ~ 현재 : 강릉원주대학교 컴퓨터공학과 교수

관심분야 : 사물인터넷, 머신러닝 및 딥러닝, 보행분석

강 태 원 (Taewon Kang)

1985년 : 연세대학교 수학과(이학사)

1988년 : 고려대학교 전산과학과(이학사)

1991년 : 고려대학교 수학과(이학석사)

1996년 : 고려대학교 컴퓨터학과(이학박사)

1997년 ~ 현재 : 강릉원주대학교 컴퓨터공학과 교수

관심분야 : 복잡계, 인공생명, 인공지능, 소프트컴퓨팅