KR20210011097A - 검출정보별 신경망 분석을 실시하여 보행 종류를 분류하는 장치 및 방법 - Google Patents
검출정보별 신경망 분석을 실시하여 보행 종류를 분류하는 장치 및 방법 Download PDFInfo
- Publication number
- KR20210011097A KR20210011097A KR1020190088029A KR20190088029A KR20210011097A KR 20210011097 A KR20210011097 A KR 20210011097A KR 1020190088029 A KR1020190088029 A KR 1020190088029A KR 20190088029 A KR20190088029 A KR 20190088029A KR 20210011097 A KR20210011097 A KR 20210011097A
- Authority
- KR
- South Korea
- Prior art keywords
- type
- walking
- classifying
- deep learning
- information
- Prior art date
Links
Images
Classifications
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B5/00—Measuring for diagnostic purposes; Identification of persons
- A61B5/103—Detecting, measuring or recording devices for testing the shape, pattern, colour, size or movement of the body or parts thereof, for diagnostic purposes
- A61B5/11—Measuring movement of the entire body or parts thereof, e.g. head or hand tremor, mobility of a limb
- A61B5/112—Gait analysis
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B5/00—Measuring for diagnostic purposes; Identification of persons
- A61B5/72—Signal processing specially adapted for physiological signals or for diagnostic purposes
- A61B5/7235—Details of waveform analysis
- A61B5/7264—Classification of physiological signals or data, e.g. using neural networks, statistical classifiers, expert systems or fuzzy systems
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B5/00—Measuring for diagnostic purposes; Identification of persons
- A61B5/72—Signal processing specially adapted for physiological signals or for diagnostic purposes
- A61B5/7271—Specific aspects of physiological measurement analysis
- A61B5/7275—Determining trends in physiological measurement data; Predicting development of a medical condition based on physiological measurements, e.g. determining a risk factor
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B2562/00—Details of sensors; Constructional details of sensor housings or probes; Accessories for sensors
- A61B2562/02—Details of sensors specially adapted for in-vivo measurements
- A61B2562/0219—Inertial sensors, e.g. accelerometers, gyroscopes, tilt switches
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B2562/00—Details of sensors; Constructional details of sensor housings or probes; Accessories for sensors
- A61B2562/02—Details of sensors specially adapted for in-vivo measurements
- A61B2562/0247—Pressure sensors
Landscapes
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Public Health (AREA)
- Surgery (AREA)
- Veterinary Medicine (AREA)
- Physiology (AREA)
- Artificial Intelligence (AREA)
- Biophysics (AREA)
- Pathology (AREA)
- Biomedical Technology (AREA)
- Heart & Thoracic Surgery (AREA)
- Medical Informatics (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Animal Behavior & Ethology (AREA)
- Psychiatry (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Signal Processing (AREA)
- Evolutionary Computation (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Dentistry (AREA)
- Oral & Maxillofacial Surgery (AREA)
- Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)
Abstract
본 발명은 다양한 종류의 센서가 내장된 스마트 인솔을 이용하여 보행 정보를 수집하고, 센서 종류별로 신경망 분석을 실시하며, 분석된 정보를 이용하여 보행의 종류를 분류하는 기술로서, 압력센서, 가속도센서, 자이로센서 중 둘 이상을 포함하는 인솔로부터 사용자의 보행에 관한 정보를 수신하는 정보 수집부, 정보 수집부에서 수신된 보행에 관한 정보 중 센서의 종류별로 딥러닝 연산을 실시하여 상기 보행의 종류를 분류하는 분류부를 포함한다.
Description
본 발명은 검출정보별 신경망 분석을 실시하여 보행 종류를 분류하는 장치 및 방법에 관한 것으로서, 보다 상세하게는 다양한 종류의 센서가 내장된 스마트 인솔을 이용하여 보행 정보를 수집하고, 센서 종류별로 신경망 분석을 실시하며, 분석된 정보를 이용하여 보행의 종류를 분류하는 기술이다.
보행은 일상생활의 여러 행동들 가운데 가장 많은 비중을 차지하는 행동의 하나로서, 보행의 패턴에 문제가 발생 할 경우 관절의 변형 등의 근골격계 질환 뿐만 아니라 지능 장애, 치매, 우울증 등의 정신적 질환까지 유발하는 등 신체 건강 전반에 걸쳐 중요한 요소이다. 이에 보행에 관한 연구들이 많이 수행되어 왔으며, 특히 보행의 종류를 분류하는 방법은 의료 진단 분야를 비롯하여 다양한 종류의 헬스 케어 분야에서도 많은 관심을 받고 있다.
그동안 보행의 패턴을 측정하여 데이터를 바탕으로 자동으로 보행의 종류를 분류하기 위한 다양한 방법들이 제안되어 왔다. 논문 A practical gait analysis system using gyroscopes는 자이로스코프 센서와 압력센서를 이용해서 직선과 곡선보행을 구분하는 방법을 제안하였다. 논문 Assessment of walking features from foot inertial sensing은 압력센서와 IMU센서를 이용해서 트레드밀(treadmill)위에서 발목관절이 움직이는 각도를 계산하고 일정 역치값(threshold)을 기준으로 4가지 보행주기(stance, heel-off, swing, heel-strike)를 찾는 방법을 제안하였다. 그러나 이 방법은 보행주기를 발목관절의 움직이는 각도 변화량을 기준으로 판단한다. 이 방법은 각도 변화량 판단의 기준이 되는 임계값을 사용자가 임의로 설정하기 때문에 특정한 제한 조건을 설정한 상태에서만 보행주기를 구분할 수 있는 제약이 있다. 논문 Activity classification using realistic data from wearable sensors는 8군데의 신체 부위에 여러 종류의 센서(가속도, 자이로스코프, 습도측정기 등)들을 부착한 후 집, 버스, 레스토랑, 도서관에서 할 수 있는 행동 데이터를 수집하고, 의사결정나무(decision tree)와 인공신경망(artificial neural network)을 사용하여 보행의 종류 및 행동을 인식하는 방법을 제안하였다. 그러나 데이터를 수집하기 위해 너무 많은 센서를 몸에 부착하는 데에 따른 불편함과 데이터를 분류하기 위해 정의한 모델의 복잡도가 높은 단점이 있다.
논문 Statistical analysis of parkinson disease gait classification using artificial neural network은 인공신경망을 이용하여 정상인과 파킨슨병(Parkinson) 환자의 보행 패턴을 구분하는 방법을 제안하였다. 그러나, 실험자 피부에 37개의 반사마커를 부착한 후 6개의 적외선 카메라를 사용하여 데이터를 수집하기 때문에 사용 환경에 제약이 있다.
논문 Human activity recognition from accelerometer data using convolutional neural network는 스마트폰에 내장된 센서를 이용하여 취득한 가속도 3축(x,y,z 축) 데이터를 세 가지 보행패턴(걷기, 뛰기, 서있기)으로 분류하는 컨볼루션 1D 신경망 네트워크를 제안하였다. 그러나 이 방법은 스마트폰을 손에 들거나 주머니에 넣고 측정하기 때문에 보행 중 손의 움직임, 또는 주머니의 출렁거림에 의한 움직임도 데이터에 반영되어 정확한 보행 패턴의 측정이 어려울 뿐만 아니라 데이터의 전처리 과정에서 입력 데이터를 어떻게 정의하는지에 따라 분류 성능의 변동이 생기는 한계가 있다.
한편, 최근 센서 모듈이 소형화 되고 저전력 센서 기술들이 발전하면서 스마트 워치, 스포츠 밴드, 스마트 인솔 등 다양한 웨어러블 디바이스들이 개발되고 있다. 웨어러블 센서의 사용은 데이터를 수집하기 위한 환경적 제약이 적기 때문에 일상생활에서 비교적 쉽게 데이터를 수집할 수 있으며, 옵티컬플로우나 히트맵(heat map) 같은 비디오 데이터에 비해서 용량이 작기 때문에 데이터를 저장 및 처리 부담이 적은 장점이 있다.
이에 본 발명은 상기와 같은 종래의 제반 문제점을 해소하기 위해 제안된 것으로, 본 발명의 목적은 다양한 종류의 센서가 내장된 스마트 인솔을 이용하여 보행 정보를 수집하고, 센서 종류별로 신경망 분석을 실시하며, 분석된 정보를 이용하여 보행의 종류를 분류하는 장치 및 방법을 제공하기 위한 것이다.
상기와 같은 목적을 달성하기 위하여 본 발명의 기술적 사상에 의한 검출정보별 신경망 분석을 실시하여 보행 종류를 분류하는 장치는, 압력센서, 가속도센서, 자이로센서 중 둘 이상을 포함하는 인솔로부터 사용자의 보행에 관한 정보를 수신하는 정보 수집부, 상기 정보 수집부에서 수신된 보행에 관한 정보 중 센서의 종류별로 딥러닝 연산을 실시하여 상기 보행의 종류를 분류하는 분류부를 포함하는 것을 특징으로 한다.
또한, 상기 분류부는, 상기 정보 수집부에서 수신된 센서의 종류별로 딥러닝 연산을 실시하는 특징 추출부, 상기 특징 추출부에서 연산된 정보를 연결하여 보행의 종류를 분류할 수 있는 완전연결 네트워크에 입력하는 것으로 보행의 종류를 판단하는 보행분류부를 포함하는 것을 특징으로 할 수 있다.
또한, 상기 추출부의 딥러닝은 센서의 종류에 대응하여 복수개로 구성되고, 각 딥러닝은 한 종류의 센서 정보로 기 학습되어, 보행에 관한 정보가 수신되었을 때 상기 딥러닝별로 특징맵(feature map)을 출력하는 것을 특징으로 할 수 있다.
또한, 상기 딥러닝은 DCNN(Deep Convolutional Neural Network)인 것을 특징으로 할 수 있다.
또한, 상기 딥러닝의 학습은 역전파(Back-propagation) 학습 알고리즘을 이용한 것을 특징으로 할 수 있다.
또한, 상기 딥러닝은 그레디언트 손실(vanishing gradient) 현상을 방지하기 위해 활성화 함수로서 ReLU(Rectifier Linear Unit)를 이용하는 것을 특징으로 할 수 있다.
또한, 상기 딥러닝은 내부 공분산 이동(Internal Covariance Shift) 현상을 방지하고 학습 안정성을 높이기 위해 배치 활성화 함수 적용 이후 배치 정규화를 수행하는 것을 특징으로 할 수 있다.
또한, 상기 딥러닝은 복수의 컨볼루션 레이어를 포함하고, 각 레이어는 대응되는 특징 수준(feature level)의 필터를 포함하는 것을 특징으로 할 수 있다.
또한, 상기 딥러닝에서 출력되는 특징맵은 텐저(Tensor) 형태인 것을 특징으로 할 수 있다.
또한, 상기 보행분류부는 상기 특징 추출부의 각 딥러닝에서 출력된 특징맵을 연결하여 하나의 특징 벡터를 구성하고, 상기 특징 벡터를 완전연결 레이어(fully connected layer)에 입력하는 것을 특징으로 할 수 있다.
또한, 상기 완전연결 레이어는 복수의 연산 레이어 및 하나의 출력 레이어를 포함하고, 상기 연산 레이어는 출력 레이어로 값을 전달하기 전에, 과적합(over-fitting) 문제를 방지하고 일반화(regularization) 성능을 향상시키기 위해 학습 시 레이어안에 있는 노드(node)를 드롭아웃(dropout) 비율만큼 무작위로 골라서 삭제한 후 남겨진 노드만을 가지고 학습을 하는 드롭아웃 방법을 이용하는 것을 특징으로 할 수 있다.
또한, 상기 출력 레이어는 분류하고자 하는 클래스의 수 만큼의 노드로 구성되고, 각 노드는 연산 레이어의 노드들의 가중치 합을 소프트맥스(softmax) 함수에 적용하여 보행 종류에 관한 최종 출력값을 연산하는 것을 특징으로 할 수 있다.
또한, 상기 정보 수집부가 수신한 보행에 관한 정보에서 단위 걸음의 구간을 정의하여 각 단위 걸음에 대한 데이터를 분할하고, 분할된 데이터의 길이가 모두 같도록 정규화(normalize)하는 전처리부를 더 포함하는 것을 특징으로 할 수 있다.
또한, 상기 전처리부는 센서의 종류별 단위 걸음에 대한 검출 값을 배열로 나타내고, 사전 순서 연산자(lexicographic ordering operator)를 이용하여 각 배열을 일렬의 정보로 변환하는 것을 특징으로 할 수 있다.
한편, 상기와 같은 목적을 달성하기 위하여 본 발명의 기술적 사상에 의한 검출정보별 신경망 분석을 실시하여 보행 종류를 분류하는 방법은, 정보수집부가 압력센서, 가속도센서, 자이로센서 중 둘 이상을 포함하는 인솔로부터 사용자의 보행에 관한 정보를 수신하는 단계; 전처리부가 상기 보행에 관한 정보에서 단위 걸음의 구간을 정의하여 각 단위 걸음에 대한 데이터를 분할하고, 분할된 데이터의 길이가 모두 같도록 정규화(normalize)하는 단계; 분류부가 정규화된 보행에 관한 정보 중 센서의 종류별로 딥러닝 연산을 실시하여 상기 보행의 종류를 분류하는 단계를 포함하는 것을 특징으로 한다.
또한, 상기 분류부가 정규화된 보행에 관한 정보 중 센서의 종류별로 딥러닝 연산을 실시하여 상기 보행의 종류를 분류하는 단계는, 상기 정규화된 보행에 관한 정보에 포함된 센서의 종류별로 딥러닝 연산을 실시하여 특징맵(feature map)을 출력하는 단계; 상기 특징맵을 하나로 연결한 후 보행의 종류를 분류할 수 있는 완전연결 네트워크에 입력하고, 상기 완전연결 네트워크에서 출력된 값을 이용하여 보행의 종류를 판단하는 단계를 포함하는 것을 특징으로 할 수 있다.
또한, 상기 딥러닝은 DCNN(Deep Convolutional Neural Network)인 것을 특징으로 할 수 있다.
또한, 상기 딥러닝의 학습은 역전파(Back-propagation) 학습 알고리즘을 이용한 것을 특징으로 할 수 있다.
또한, 상기 딥러닝은 그레디언트 손실(vanishing gradient) 현상을 방지하기 위해 활성화 함수로서 ReLU(Rectifier Linear Unit)를 이용하는 것을 특징으로 할 수 있다.
또한, 상기 딥러닝은 내부 공분산 이동(Internal Covariance Shift) 현상을 방지하고 학습 안정성을 높이기 위해 배치 활성화 함수 적용 이후 배치 정규화를 수행하는 것을 특징으로 할 수 있다.
또한, 상기 딥러닝은 복수의 컨볼루션 레이어를 포함하고, 각 레이어는 대응되는 특징 수준(feature level)의 필터를 포함하는 것을 특징으로 할 수 있다.
또한, 상기 딥러닝에서 출력되는 특징맵은 텐저(Tensor) 형태인 것을 특징으로 할 수 있다.
또한, 상기 완전연결 네트워크는 복수의 연산 레이어 및 하나의 출력 레이어를 포함하고, 상기 연산 레이어는 출력 레이어로 값을 전달하기 전에, 과적합(over-fitting) 문제를 방지하고 일반화(regularization) 성능을 향상시키기 위해 학습 시 레이어 안에 있는 노드(node)를 드롭아웃(dropout) 비율만큼 무작위로 골라서 삭제한 후 남겨진 노드만을 가지고 학습을 하는 드롭아웃 방법을 이용하는 것을 특징으로 할 수 있다.
또한, 상기 출력 레이어는 분류하고자 하는 클래스의 수 만큼의 노드로 구성되고, 각 노드는 연산 레이어의 노드들의 가중치 합을 소프트맥스(softmax) 함수에 적용하여 보행 종류에 관한 최종 출력값을 연산하는 것을 특징으로 할 수 있다.
본 발명에 의한 검출정보별 신경망 분석을 실시하여 보행 종류를 분류하는 장치 및 방법에 따르면,
첫째, 본 발명은 한 걸음의 동작만으로도 보행 종류의 분류 성능이 종래보다 현저히 높은 효과가 있다.
둘째, 본 발명은 판별 분석 기반의 특징 추출 방법을 이용함에 따라 대량의 데이터 확보가 필요한 심층학습 네트워크보다 적은 학습양으로 높은 분류율을 나타낼 수 있다.
셋째, 본 발명은 분석 기반의 특징 추출 방법을 이용함에 따라 종래의 심층학습 네트워크보다 현저히 적은 컴퓨팅 성능(computing power)으로도 보행 종류의 분류 연산을 신속히 수행할 수 있는 효과가 있다.
넷째, 보행 종류를 분류하는 분류부에 사용자 식별, 질병 진단과 관련된 기능을 학습시키면 보안 분야 및 의료 분야에서도 유용하게 이용할 수 있는 가능성이 있다.
도 1은 스마트 인솔 FootLogger의 조립도.
도 2는 본 발명의 실시예에 따른 검출정보별 신경망 분석을 실시하여 보행 종류를 분류하는 장치의 구성도.
도 3은 본 발명의 실시예가 보행 주기를 스탠스 단계와 스윙 단계로 구분한 것을 나타낸 도면.
도 4는 FootLogger 인솔을 이용하여 검출된 센서 값을 배열로 나타낸 예시 도면.
도 5는 이 실시예의 전처리부가 노이즈를 제거하는 과정을 나타낸 도면.
도 6은 이 실시예의 전처리부가 센서 값을 배열로 나타낸 후 일렬로 정규화하는 과정을 나타낸 도면.
도 7은 이 실시예의 보행 종류 분류를 위한 전체 구조 및 과정을 나타낸 도면.
도 8은 센서별로 2차원 형태로 배열된 데이터가 개별 딥러닝(컨볼루션 레이어)에 입력되어 연산되고, 각 딥러닝에서 특징맵이 추출되는 과정을 나타내는 도면.
도 9는 본 발명의 실시예에 따른 검출정보별 신경망 분석을 실시하여 보행 종류를 분류하는 방법의 순서도.
도 10은 1걸음(k=1) 내지 5걸음(k=5)에 대한 single-modal DCNN의 분류율을 나타낸 그래프. (a)는 무작위로 선택된 1000개의 학습 데이터 샘플과, 1000개의 테스트 샘플을 이용한 분류율; (b)는 7-fold 교차 검증을 실시한 경우의 분류율.
도 11은 1걸음(k=1) 내지 5걸음(k=5)에 대한 multi-modal DCNN의 분류율을 나타낸 그래프. (a)는 무작위로 선택된 1000개의 학습 데이터 샘플과, 1000개의 테스트 샘플을 이용한 분류율; (b)는 7-fold 교차 검증을 실시한 경우의 분류율.
도 12는 single-modal DCNN 및 multi-modal DCNN의 특징 벡터를 입력으로 이용하여 보행의 종류를 판단하는 완전연결 네트워크의 구조를 나타낸 도면.
도 2는 본 발명의 실시예에 따른 검출정보별 신경망 분석을 실시하여 보행 종류를 분류하는 장치의 구성도.
도 3은 본 발명의 실시예가 보행 주기를 스탠스 단계와 스윙 단계로 구분한 것을 나타낸 도면.
도 4는 FootLogger 인솔을 이용하여 검출된 센서 값을 배열로 나타낸 예시 도면.
도 5는 이 실시예의 전처리부가 노이즈를 제거하는 과정을 나타낸 도면.
도 6은 이 실시예의 전처리부가 센서 값을 배열로 나타낸 후 일렬로 정규화하는 과정을 나타낸 도면.
도 7은 이 실시예의 보행 종류 분류를 위한 전체 구조 및 과정을 나타낸 도면.
도 8은 센서별로 2차원 형태로 배열된 데이터가 개별 딥러닝(컨볼루션 레이어)에 입력되어 연산되고, 각 딥러닝에서 특징맵이 추출되는 과정을 나타내는 도면.
도 9는 본 발명의 실시예에 따른 검출정보별 신경망 분석을 실시하여 보행 종류를 분류하는 방법의 순서도.
도 10은 1걸음(k=1) 내지 5걸음(k=5)에 대한 single-modal DCNN의 분류율을 나타낸 그래프. (a)는 무작위로 선택된 1000개의 학습 데이터 샘플과, 1000개의 테스트 샘플을 이용한 분류율; (b)는 7-fold 교차 검증을 실시한 경우의 분류율.
도 11은 1걸음(k=1) 내지 5걸음(k=5)에 대한 multi-modal DCNN의 분류율을 나타낸 그래프. (a)는 무작위로 선택된 1000개의 학습 데이터 샘플과, 1000개의 테스트 샘플을 이용한 분류율; (b)는 7-fold 교차 검증을 실시한 경우의 분류율.
도 12는 single-modal DCNN 및 multi-modal DCNN의 특징 벡터를 입력으로 이용하여 보행의 종류를 판단하는 완전연결 네트워크의 구조를 나타낸 도면.
첨부한 도면을 참조하여 본 발명의 실시예들에 의한 검출정보별 신경망 분석을 실시하여 보행 종류를 분류하는 장치 및 방법에 대하여 상세히 설명한다. 본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는바, 특정 실시예들을 도면에 예시하고 본문에 상세하게 설명하고자 한다. 그러나 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
또한, 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
본 발명의 실시예에 따른 검출정보별 신경망 분석을 실시하여 보행 종류를 분류하는 장치 및 방법은 스마트 인솔(1)에 장착된 여러 종류의 센서 데이터를 이용하여 보행의 종류를 분류하는 방법을 제안한다. 데이터 수집을 위해 상용 스마트 인솔(1)인 FootLogger의 압력 센서, 가속도 센서 및 자이로 센서를 이용하였으며, 측정한 데이터를 바탕으로 심층 컨볼루션 신경망(deep convolutional neural network, DCNN)을 이용하여 7 종류의 보행을 분류한다. 이 실시예는 크게 연속적인 보행을 검출한 정보를 단위 걸음으로 분할하고 데이터를 정규화하는 전처리 단계와, 심층 컨볼루션 신경망을 이용하여 특징을 추출하고 보행의 종류를 판단하는 분류 단계로 구성된다.
전처리 단계는 보행 주기 중 swing phase의 특성을 바탕으로 센싱 과정에서 발생한 노이즈를 제거함으로써 데이터의 걸음 단위 분할의 정확도를 높인다. 분류 단계는 스마트 인솔(1)에 장착된 센서의 종류별로 심층 컨볼루션 신경망을 이용하여 보행 특징맵을 만들고, 각각의 특징맵들을 결합하여 보행 종류를 최종적으로 판단할 수 있는 완전연결 네트워크를 구성한다.
20대 내지 30대 성인 14명을 대상으로 7 종류의 보행을 실측하는 실험을 통해 본 발명의 우수한 분류 성능을 확인하였다.
본 발명의 실시예에 따른 검출정보별 신경망 분석을 실시하여 보행 종류를 분류하는 장치를 도면을 참조하여 구체적으로 설명한다.
도 1을 참조하면, 이 실시예가 이용하는 인솔(1)은 쓰리엘랩스(3L-Labs)에서 제작한 FootLogger라는 스마트 인솔이다. FootLogger는 8개의 압력 센서로 구성된 압력 센서 어레이(sensor array)와, 3축 가속도 센서 어레이, 3축 자이로 센서 어레이를 내장하고, 양 쪽 인솔(1)에 각각 장착된 센서들은 100Hz의 샘플링율로 데이터를 측정한다. 압력 센서의 경우, 압력의 세기에 따라 0, 1, 2의 값을 출력하는데, 0은 압력이 없는 상태, 즉 swing phase(지면에서 발이 떨어진 상태)이고, 1과 2는 stance phase(발이 지면을 딛고 있는 상태)에서의 압력의 세기를 의미한다. 실험에서는 인솔(1)에서 검출된 정보를 블루투스 통신을 이용하여 안드로이드 스마트폰으로 전달하고, 스마트폰 애플리케이션을 이용하여 이 실시예의 보행 종류를 분류하는 장치로 전송하였다.
도 2를 참조하면, 본 발명의 실시예에 따른 검출정보별 신경망 분석을 실시하여 보행 종류를 분류하는 장치는 압력센서, 가속도센서, 자이로센서 중 둘 이상을 포함하는 인솔(1)로부터 사용자의 보행에 관한 정보를 수신하는 정보 수집부(10)와, 정보 수집부(10)에서 수신된 보행에 관한 정보 중 센서의 종류별로 딥러닝 연산을 실시하여 상기 보행의 종류를 분류하는 분류부(40)를 포함한다.
또한, 정보 수집부(10)가 수신한 보행에 관한 정보에서 단위 걸음의 구간을 정의하여 각 단위 걸음에 대한 데이터를 분할하고, 분할된 데이터의 길이가 모두 같도록 정규화(normalize)하는 전처리부(20)를 더 포함한다.
보행 종류를 분류하는 장치는 단일의 서버 또는 네트워크로 연결된 복수의 서버에 각각의 기능부의 기능을 수행하는 응용프로그램이 설치 및 실행되는 것으로 실시될 수 있다.
도 3을 참조하면, 보행주기란 한쪽 발이 지면에 닿는 순간부터 지면에서 떨어졌다가 다시 지면에 닿기까지의 동작을 의미한다. 보행주기는 총 7단계(heel strike, foot flat, mid stance, heel off, toe off, mid swing, late swing)로 구성된다. Heel strike 단계는 보행 주기의 시작을 나타내는 단계로 일측 발의 뒤꿈치가 지면에 닿게 되는 단계이고, foot flat 단계는 일측 발의 발바닥이 지면에 닿는 단계이다. Mid stance 단계는 일측 발의 다리가 지면과 수직이 되며 멈춰있는 상태이고 이때 타측의 다리가 앞으로 움직인다. Heel off 단계는 일측 발 뒤꿈치가 바닥에서 들리기 시작하는 시점을 의미하고, toe off 단계는 일측 발의 앞쪽 발가락이 바닥에서 떨어지는 동시에 타측 발의 발바닥이 지면에 닿아 있는 단계이다. Mid swing 단계는 일측 발이 땅에서 떨어진 상태로 앞쪽으로 나아가는 단계이고, late swing 단계는 다음 보행 주기가 시작하기 바로 전 단계를 의미한다.
이 실시예의 전처리부(20)는 일측 발을 기준으로, 발이 지면에 닿아 있는 heel strike, foot flat, mid stance, heel off, toe off 단계를 스탠스 단계(stance phase)라 정의하며, 발이 지면에서 떨어져 있는 mid swing, late swing 단계를 스윙 단계(swing phase)라 정의한다.
전처리부(20)의 걸음단위 설정부(22)는 보행 시간 동안 연속적으로 측정된 데이터를 단위 걸음 구간들로 분할하기 위해 보행 주기의 스탠스 단계와 스윙 단계를 기준으로 단위 걸음의 구간을 분할한다.
도 4는 FootLogger 인솔(1)을 이용하여 측정한 보행 데이터의 예이다. 압력 센서 어레이의 데이터 중 어레이의 모든 압력 센서의 값이 연속적으로 0이 되는 스윙 단계와 일부 압력 센서의 값이 1 또는 2로 측정되는 스탠스 단계로 구분되는 것이 관찰되며, 보행 시 왼발과 오른발에서 스윙 단계가 번갈아 가며 나타나는 것을 통해 보행 싸이클(cycle)을 확인할 수 있다. 이 실시예는 왼발을 기준으로 스윙 단계의 시작점에서 스탠스 단계의 종료점까지를 한 걸음으로 정의하였다.
전처리부(20)의 정보 배열부(23)는 단위 걸음 데이터 샘플을 압력 센서 어레이, 가속도 센서 어레이, 자이로 센서 어레이에 대해 각각 2차원 행렬 형태로 저장한다. 행렬의 열(column)은 센서의 인덱스이고, 행(row)은 측정된 시점(time point)을 의미한다. 한 쪽 발당 8개의 센서로 구성된 압력 센서 어레이의 경우 총 16열이고, 가속도 센서 어레이와 자이로 센서 어레이의 경우 6열로 구성되었다.
보행 주기의 스윙 단계는 발이 지면에서 떨어져 있는 상태이므로 8개의 모든 압력 센서의 값이 0이 나오는 것이 이상적이다. 그러나 실제 FootLogger 인솔(1)을 이용한 데이터 측정하였을 때 인솔(1)에 포함된 센서 간 전위차이, 발열 등의 여러 요인으로 인해 스윙 단계임에도 간혹 일부 센서에서 0이 아닌 값이 측정되었다. 예를 들어, 실제 실험에서는 스윙 단계에서 3번째 압력 센서의 값이 간혹 1로 측정되었다. 이 실시예는 단위 걸음을 스윙 단계를 기준으로 분할하기 때문에, 이러한 노이즈는 한 번의 스윙 단계가 두 번 발생된 것으로 보이는 오검출을 초래하여 이 실시예의 보행 종류 분류 성능을 악화시킬 수 있었다.
도 5는 전처리부(20)의 노이즈 제거부(24)가 스윙 단계에서 발생하는 노이즈를 제거하는 과정을 보여 준다. 먼저, 왼쪽 발 측 인솔(1)의 8개 압력 센서의 모든 값의 합이 0이 되는 시점을 스윙 단계의 시작점으로 정의하고(도 5의 SP Flag=True), 다음 스윙 단계의 시작점은 8개의 압력센서 중에서 2개 이상의 센서에서 0이 아닌 값이 측정되는 시점으로 정의한다(스윙 단계가 시작되기 전까지 SP Flag=False). 만약, 스윙 단계가 시작점에서 스탠스 단계의 시작점 사이에 센서 어레이의 합이 0이 아닌 1이 나오는 경우 해당 압력 센서 값을 노이즈로 판단하고 해당 값을 0으로 정정한다.
같은 사람이라도 데이터 측정하는 동안이나 데이터를 측정을 시도할 때마다 보행의 속도가 달라질 수 있다. 보행의 종류와 상관없는 측정 시점에 따른 보행 속도의 변이는 보행의 종류를 구분하기 위한 보행 특성을 추출하는데 방해가 된다.
도 6은 단위 걸음에 대한 원본 데이터와 정규화된 데이터를 나타낸다. 전처리부(20)의 정규화부(26)는 측정 상황에 덜 민감한 특징의 추출을 위해 모든 스윙 단계에서 스탠스 단계까지의 단위 걸음들을 가장 짧은 단위 걸음의 시간(t)을 기준으로 리사이징(resizing)함으로써 모든 걸음에 대한 길이가 동일하도록 정규화(normalization)한다. 이 실시예의 실험은 t를 63으로 설정하였다. 정규화부(26)는 압력 센서 어레이, 가속도 센서 어레이, 자이로 센서 어레이의 정규화된 단위 걸음에 대한 측정값을 각각 63×16, 63×6, 63×6의 배열로 변환 한 후, 사전 순서 연산자(lexicographic ordering operator)를 이용하여 1008×1, 378×1, 378×1의 일렬로 된 벡터(x)로 저장한다.
Footlogger 인솔(1)을 사용하여 검출한 보행 정보는 0.01초 간격으로 센서 값을 검출되는 시계열 데이터이다. 보행은 연속 동작으로 이루어지기 때문에, 시계열 데이터의 각 시점(time point)에서의 센서 측정값들 간의 상관관계는 비교적 크다. 따라서, 이 실시예의 분류부(40)는 데이터의 상관관계를 활용할 수 있는 DCNN(Deep Convolutional Neural Network)을 이용하여 여러 종류의 센서 측정값을 기반으로 보행의 종류를 분류하는 딥러닝 네트워크를 설계하였다.
일반적으로 컨볼루션 기반 인공신경망은 특징 추출기(feature extractor)와 완전 연결 레이어(fully connected layer)로 구성된다. 특징 추출기는 필터 레이어(filter layer), 비선형 활성화 함수 레이어(non-linearity activation function layer), 그리고 특징추출 레이어(feature pooling layer)의 3단계로 이루어진다.
이 실시예의 분류부(40)는 정보 수집부(10)에서 수신된 센서의 정보별로 딥러닝 연산을 실시하는 특징 추출부(42)와, 특징 추출부(42)에서 연산된 정보를 연결하여 보행의 종류를 분류할 수 있는 완전연결 네트워크에 입력하는 것으로 보행의 종류를 판단하는 보행분류부(44)를 포함한다.
도 7은 이 실시예의 보행 종류 분류를 위한 전체 구조를 나타낸다. 또한, 도 8은 센서의 종류별로 개별 딥러닝이 구성되고, 각 딥러닝에서 특징맵이 추출되는 과정을 나타낸다. 특징 추출부(42)는 먼저 센서의 정보별로 개별 딥러닝 네트워크를 구성하고, 각 딥러닝이 독립적으로 학습하여 개별 센서 어레이에 대한 특징맵(feature map)을 추출한다. 즉, 추출부의 딥러닝은 센서의 종류에 대응하여 복수개로 구성되고, 각 딥러닝은 한 종류의 센서 정보로 기 학습되어, 보행에 관한 정보가 수신되었을 때 딥러닝별로 특징맵(feature map)을 출력한다.
DCNN은 전처리부(20)에서 정규화된 2차원 배열 형태의 정보를 입력으로 받고, 컨볼루션 레이어(layer)에서 각종 필터들과의 컨볼루션 연산(convolution operation)을 실시한다. 이 실시예는 각 센서 어레이별로 검출된 데이터를 전처리 과정을 통해 t×W크기로 정규화하여 DCNN의 입력으로 사용하였다. W는 센서 어레이의 센서 개수이다. 이 실시예는 t를 63으로 설정하였다. 또한, 이 실시예는 Footlogger 인솔(1)에 대응하여 압력 센서 어레이, 가속도 센서 어레이, 자이로 센서 어레이에 대해 W를 각각 16, 3, 3으로 설정하였다.
이 실시예의 실험에서는 보행 종류를 구별하기 위한 보행 특징을 추출하는 데 몇 걸음이 필요한지를 확인하기 위해, DCNN의 입력으로 이용되는 데이터 샘플을 1걸음부터 걸음 수를 늘려가며 분류 실험을 하였다. k걸음을 한 개의 보행샘플로 정의한 경우, DCNN의 입력 데이터는 가 된다.
이 실시예의 특징 추출부(42)의 딥러닝은 3 종류의 센서에 대응하여 3개의 컨볼루션 레이어를 포함한다. 각 컨볼루션 레이어는 대응되는 특징 수준(feature level)의 필터들을 포함한다. 각 컨볼루션 레이어의 연산에는 사용할 필터의 개수(f)와 필터의 크기(), 스트라이드(s)의 세 가지 하이퍼파라미터(hyper-parameter)가 필요하다.
첫 번째 컨볼루션 레이어는 총 32종류의 필터를 이용하였고, 필터의 크기는 로 설정하였다. 필터링 스트라이드(stride)는 DCNN의 입력 데이터에 포함된 걸음 수(k)에 따라 각각 다르게 설정하였다(s=1은 k=1,2; s=2는 k=3,4,5).
두 번째와 세 번째 컨볼루션 레이어는 각각 64종류, 128종류의 필터를 사용하였다. 필터의 크기는 이전 레이어에서의 출력 신호의 크기에 따라 다르게 설정되었다. 두 번째 컨볼루션 레이어는 1(필터폭)×20(필터높이)×64(필터개수), 세 번째 컨볼루션 레이어는 1×20×128로 설정되었다.
도 8은 2차원 형태의 입력데이터에 대해 각 컨볼루션 레이어(딥러닝)가 어떻게 연산이 실시하는지 나타낸다. 입력데이터 위에 빨간색, 노란색, 초록색은 첫 번째 레이어에서 서로 다른 32개의 커널 중 일부 커널을 의미한다. DCNN 기반의 커널과 입력데이터간 컨볼루션 연산을 하면 하나의 스칼라(Scalar)값이 출력되고, 한 입력데이터에 대해 서로 다른 커널들의 컨볼루션 연산이 끝나면 최 하단과 같이 텐저(Tensor) 형태의 특징맵이 출력된다.
DCNN은 역전파(Back-propagation) 학습 알고리즘을 이용하여 학습되었다. 학습 과정에서, 그레디언트 손실(vanishing gradient) 현상이 발생할 수 있는데 이를 방지하기 위해 활성화 함수로서 ReLU(Rectifier Linear Unit)를 이용하였다. 그레디언트 손실은 에러를 역전파할 때 신경망의 레이어 수가 많아지면 입력의 미분값이 0에 가까운 값을 가지게 되어 그레디언트의 전달이 안되는 현상이다.
또한, 이 실시예의 딥러닝은 내부 공분산 이동(Internal Covariance Shift) 현상을 방지하고 학습 안정성을 높이기 위해 배치 활성화 함수 적용 이후 배치 정규화를 수행하였다. 내부 공분산 이동은 신경망의 각 레이어에서 사용되는 비선형 활성화 함수로 인해 입력데이터의 분포(Distribution)가 계속 달라지는 현상이다. 배치의 크기(batch size)는 32로 설정하였다.
각 센서 어레이별로 독립적으로 학습된 DCNN은 센서의 종류별로 특징맵을 출력한다.
보행분류부(44)는 각각의 특징맵을 직렬로 연결하여(concatenation) 하나의 특징 벡터를 구성하고, 특징 벡터를 완전연결 레이어(fully connected layer)에 입력한다. 완전연결 레이어는 출력 레이어를 제외하고 2개의 연산 레이어를 포함한다. 연산 레이어는 출력 레이어로 값을 전달하기 전에, 과적합(over-fitting) 문제를 방지하고 일반화(regularization) 성능을 향상시키기 위해 학습 시 레이어안에 있는 노드(node)를 드롭아웃 비율만큼 무작위로 골라서 삭제한 후 남겨진 노드만을 가지고 학습을 하는 드롭아웃(dropout) 방법을 이용한다. 이 실시예는 드롭아웃의 비율을 0.5 내지 0.7까지 변환해가며 실험 하였다.
출력 레이어는 분류하고자 하는 클래스의 수 만큼의 노드로 구성된다. 각 노드는 연산 레이어의 노드들의 가중치 합을 소프트맥스(softmax) 함수에 적용하여 보행 종류를 판단할 수 있는 최종 출력값을 연산한다.
이어서, 본 발명의 실시예에 따른 검출정보별 신경망 분석을 실시하여 보행 종류를 분류하는 방법을 설명한다.
도 10을 참조하면, 본 발명의 실시예에 따른 검출정보별 신경망 분석을 실시하여 보행 종류를 분류하는 방법은 정보수집부가 압력센서, 가속도센서, 자이로센서 중 둘 이상을 포함하는 인솔(1)로부터 사용자의 보행에 관한 정보를 수신하는 단계(S120)를 포함한다.
또한, 전처리부(20)가 보행에 관한 정보에서 단위 걸음의 구간을 정의하여 각 단위 걸음에 대한 데이터를 분할하고, 분할된 데이터의 길이가 모두 같도록 정규화(normalize)하는 단계(S140)를 포함한다.
또한, 분류부(40)가 정규화된 보행에 관한 정보 중 센서의 종류별로 딥러닝 연산을 실시하여 보행의 종류를 분류하는 단계(S160)를 포함한다.
특히, S160 단계는, 정규화된 보행에 관한 정보에 포함된 센서의 종류별로 딥러닝 연산을 실시하여 특징맵(feature map)을 출력하는 단계(S162)와, 특징맵을 하나로 연결한 후 보행의 종류를 분류할 수 있는 완전연결 네트워크에 입력하고, 완전연결 네트워크에서 출력된 값을 이용하여 보행의 종류를 판단하는 단계(S166)를 포함한다.
이때, 이 실시예의 딥러닝은 DCNN(Deep Convolutional Neural Network)인 것을 특징으로 한다.
또한, 딥러닝의 학습은 역전파(Back-propagation) 학습 알고리즘을 이용한 것을 특징으로 한다.
이 실시예의 딥러닝은 그레디언트 손실(vanishing gradient) 현상을 방지하기 위해 활성화 함수로서 ReLU(Rectifier Linear Unit)를 이용하였다.
또한, 딥러닝은 내부 공분산 이동(Internal Covariance Shift) 현상을 방지하고 학습 안정성을 높이기 위해 배치 활성화 함수 적용 이후 배치 정규화를 수행한다.
또한, 딥러닝은 복수의 컨볼루션 레이어를 포함하고, 각 레이어는 대응되는 특징 수준(feature level)의 필터를 포함한다.
딥러닝에서 출력되는 특징맵은 텐저(Tensor) 형태이다.
완전연결 네트워크는 복수의 연산 레이어 및 하나의 출력 레이어를 포함한다. 연산 레이어는 출력 레이어로 값을 전달하기 전에, 과적합(over-fitting) 문제를 방지하고 일반화(regularization) 성능을 향상시키기 위해 학습 시 레이어 안에 있는 노드(node)를 드롭아웃(dropout) 비율만큼 무작위로 골라서 삭제한 후 남겨진 노드만을 가지고 학습을 하는 드롭아웃 방법을 이용한다.
출력 레이어는 분류하고자 하는 클래스의 수 만큼의 노드로 구성되고, 각 노드는 연산 레이어의 노드들의 가중치 합을 소프트맥스(softmax) 함수에 적용하여 보행 종류에 관한 최종 출력값을 연산한다.
실험.
데이터 수집을 위해 20대 내지 30대 성인 14명을 대상으로 걷기, 언덕 오르기, 언덕 내려가기, 계단 오르기, 계단 내려가기, 달리기, 경보로 총 7종류의 보행에 대한 데이터를 검출하였다. 걷기, 달리기, 경보는 3분간 데이터를 측정하였으며, 언덕 오르기와 내려가기, 계단 오르기와 내려가기에 대해서는 시간에 관계없이 시작점에서 도착지점까지의 데이터를 측정하였다. 각 사람의 보행 측정값은 전처리부(20)의 전처리 과정을 거쳐 단위 걸음별로 분할되고 정규화되어 저장되었다. 실험에 사용된 데이터에 대한 정보는 표 1에 요약되어 있다.
보행형태 | 걸음 수 | 측정 시간 및 기준 |
걷기 | 2,295 | 3분 |
오르기 | 1,577 | 시작점->도착점 |
내려가기 | 1,586 | 시작점->도착점 |
오르기 | 747 | 시작점->도착점 |
내려가기 | 971 | 시작점->도착점 |
달리기 | 3,642 | 3분 |
빠른 걸음 | 2,714 | 3분 |
학습과 테스트에 필요한 데이터를 전체 데이터에서 각각 1000개씩 무작위로 선택하여 구성하였고, 통계적 신뢰도를 높이기 위해서 위와 같은 작업을 20회 반복하여 평균 분류율을 계산하였다(도 9 (a) 및 도 10 (a)).
또한, 추가적인 K-fold 교차 검증 실험을 수행하였다(도 9 (b) 및 도 10 (b)). K-fold 교차 검증에서, 총 샘플을 K개의 동일한 크기의 서브세트(subsets)로 무작위로 분할하였다. K개의 서브세트 중 하나의 서브세트는 나머지 K-1 서브세트가 학습 집합으로 사용되는 동안 모델을 검증하기 위한 시험 집합으로 이용되었다.
이어서 교차 검증 과정을 K회 반복 하였다. 각 서브세트는 테스트 집합으로 정확히 한 번만 사용되었다. K는 일반적으로 클래스 수로 설정되었으므로 실험에서 7배 교차 유효성 검사를 수행하였다. 또한, 통계적 신뢰도를 높이기 위해 위의 절차를 10회 반복하고 평균 분류 비율을 계산했다.
보행 종류를 분류할 수 있는 정보를 얻기 위해 필요한 단계 수를 결정하기 위해 한 단계 (k = 1)에서 다섯 단계 (k = 5)까지의 단계로 구성된 보행 표본을 사용하여 분류 속도를 조사하였다. 훈련 데이터 샘플은 제로 평균(zero mean) 및 단위 분산을 갖도록 정규화되었고, 테스트 데이터 샘플은 학습 데이터 샘플의 평균 및 분산을 사용하여 정규화되었다. 표 2는 각 k에 대한 7배 교차 검증 실험에서 k의 값과 훈련 데이터 샘플 및 테스트 샘플의 수에 따른 보행 데이터 샘플의 총 수를 나타낸다.
k | 총 보행 수 | 훈련 샘플의 수 | 시험 샘플의 수 |
1 | 13,531 | 11,598 | 1,933 |
2 | 6,742 | 5,778 | 964 |
3 | 4,476 | 3,836 | 640 |
4 | 3,347 | 2,868 | 479 |
5 | 2,671 | 2,289 | 382 |
분류 실험은 윈도우 환경에서 Matlab 2018a를 이용하였으며, DCNN 관련 라이브러리는 Keras 2.1.5를 이용하였다. 학습 과정에서, 출력값과 정답 라벨값의 차이를 계산하기 위한 손실함수로는 Categorical Cross Entropy를 사용하였다. 네트워크의 가중치를 최적화하기 위한 방법으로 아담 옵티마이저(adaptive momentum optimizer)를 사용하였고, 아답 옵티마이저의 학습율(learning rate)은 0.0001로 설정하였다.
도 12를 참조하면, 분류 성능은 한 종류의 센서 어레이 데이터의 특징맵을 사용한 Mono-modal DCNN과, Multi-modal DCNN으로서 두 종류 이상의 센서 어레이의 특징맵을 함께 사용하는 Bi-modal DCNN과 세 종류의 센서 어레이를 모두 함께 사용하는 Tri-modal DCNN에 대한 분류율로 평가하였으며 NLDA를 이용한 판별 분석 방법(DA-NLDA)과 비교 실험을 수행하였다.
먼저 센서의 종류별로 분류 성능을 확인하기 위해 압력 센서 어레이, 가속도 센서 어레이, 자이로 센서 어레이 각각에 대해 독립적으로 학습된 Mono-modal DCNN을 이용하여 보행 종류를 분류한 결과는 표 3과 같다. 보행 종류의 분류를 위한 보행 특징을 추출하는데 몇 걸음 정도가 필요한지를 확인하기 위해, 한 걸음에 대한 보행 측정값으로 구성한 보행 샘플(k=1)에서부터 다섯 걸음의 측정값을 포함한 보행 샘플(l=5)까지의 인식률을 측정하였다.
k | #1 | #2 | #3 | #4 | #5 | |
Mono-Modal DCNN | 압력 | 84.32 | 84.90 | 85.52 | 88.28 | 88.87 |
가속도 | 88.17 | 87.39 | 90.55 | 90.99 | 90.38 | |
자이로 | 88.16 | 90.36 | 91.74 | 91.84 | 93.03 | |
DA-NLDA | 압력 | 26.10 | 77.32 | 81.68 | 83.35 | 84.41 |
본 발명의 실시예가 모든 경우에 대해 DA-NLDA보다 최소 4.46%(5걸음이 포함된 압력 센서 보행 샘플)에서 최대 58.22%(한 걸음이 포함된 압력 센서 보행 샘플) 더 높은 분류 성능을 보여 주었다. 세 종류의 센서 어레이들의 특징맵 중에서는 자이로 센서의 성능이 다른 센서들보다 다소 높게 나온 것으로 볼 때, 보행 시 발의 움직임 방향에 의해 만들어지는 보행 패턴이 보행의 종류를 구분하는데 유용한 것으로 판단된다.
특히, 한 걸음으로 구성된 보행 샘플의 경우, DA-NLDA은 분류 성능이 26.10% 내지 43.32%에 불과하여 보행 종류 분류에 유용한 특징들을 제대로 추출하지 못하였다. 그러나, 본 발명의 실시예는 한 걸음이 포함된 보행 샘플만으로도 센서의 종류에 따라 84.82% 내지 88.18%의 높은 분류율을 보였다.
도 10 및 도 11은 모든 k에 대해 학습 샘플과 테스트 샘플을 1000개씩 사용한 결과이다. 결과를 참조하면, 보행 샘플에 포함된 걸음 수가 많을수록 분류율이 증가하다가 4 내지 5 걸음수가 될 때 분류율의 증가 폭이 둔화(압력 센서, 가속도 센서)되거나 오히려 감소하는 것(자이로 센서)을 볼 수 있었다. 이는 샘플을 구성하는 걸음수가 많을수록 보행 분류를 위한 양질의 특징을 추출하는 데에 유용한 정보가 많아지지만, 4걸음 이상이 포함된 보행 샘플부터는 걸음 수 증가에 대한 추가적인 정보 획득 효과가 사라진다고 볼 수 있다.
k=1일 때 가장 높은 분류율이 나타났는데, 이는 k=1일 때의 학습 데이터가 가장 많기 때문이다. 이것은 비록 짧은 시간 동안 측정한 데이터일지라도 데이터 샘플의 양이 충분하면 더 좋은 특징을 추출할 수 있음을 의미한다.
k | #1 | #2 | #3 | #4 | #5 | ||
Bi-Modal | Ours | 압력+가속도 | 89.96 | 90.86 | 90.82 | 91.57 | 93.09 |
압력+자이로 | 90.24 | 91.19 | 90.81 | 92.68 | 92.39 | ||
가속도+자이로 | 90.03 | 90.84 | 91.56 | 90.88 | 91.68 | ||
Tri-Modal | Ours | 압력+가속도+자이로 | 90.22 | 92.68 | 92.66 | 92.98 | 93.53 |
표 4는 여러 종류의 센서의 특징맵을 함께 사용한 multi-modal DCNN의 실험 결과이다. Multi-modal(bi-modal 및 tri-modal) DCNN 실험은 두 종류 이상 센서들의 특징맵을 결합하여 새로운 특징맵을 만들고 보행 종류를 분류한다. 표 3의 mono-modal DCNN의 결과와 비교해 볼 때, 전반적으로 multi-modal DCNN의 분류 성능이 더 우수한 것을 볼 있으며, 두 종류의 센서를 이용했을 때보다 세 종류의 센서를 이용했을 때 더 높은 분류 성능을 보였다.
한편, Multi-modal DCNN의 경우에도 mono-modal DCNN 실험에서와 같이 보행 샘플에 포함된 걸음 수가 많을수록 분류율이 증가하였다. 또한, bi-modal DCNN과 tri-modal DCNN에서 모두 2걸음 이상 포함된 보행 샘플부터 분류 성능이 포화되는 것을 볼 수 있는데, 이는 서로 다른 종류의 센서들의 특성들이 상호 보완되면서 시너지 효과를 가져오는 것으로 판단된다.
이상에서 본 발명의 바람직한 실시예를 설명하였으나, 본 발명은 다양한 변화와 변경 및 균등물을 사용할 수 있다. 본 발명은 상기 실시예를 적절히 변형하여 동일하게 응용할 수 있음이 명확하다. 따라서 상기 기재 내용은 다음 특허청구범위의 한계에 의해 정해지는 본 발명의 범위를 한정하는 것이 아니다.
1 : 스마트 인솔
10 : 정보 수집부
20 : 전처리부
22 : 걸음단위 설정부
23 : 정보 배열부
24 : 노이즈 제거부
26 : 정규화부
40 : 분류부
42 : 특징 추출부
44 : 보행분류부
10 : 정보 수집부
20 : 전처리부
22 : 걸음단위 설정부
23 : 정보 배열부
24 : 노이즈 제거부
26 : 정규화부
40 : 분류부
42 : 특징 추출부
44 : 보행분류부
Claims (24)
- 압력센서, 가속도센서, 자이로센서 중 둘 이상을 포함하는 인솔로부터 사용자의 보행에 관한 정보를 수신하는 정보 수집부;
상기 정보 수집부에서 수신된 보행에 관한 정보 중 센서의 종류별로 딥러닝 연산을 실시하여 상기 보행의 종류를 분류하는 분류부를 포함하는 것을 특징으로 하는 검출정보별 신경망 분석을 실시하여 보행 종류를 분류하는 장치. - 제1항에 있어서, 상기 분류부는,
상기 정보 수집부에서 수신된 센서의 종류별로 딥러닝 연산을 실시하는 특징 추출부;
상기 특징 추출부에서 연산된 정보를 연결하여 보행의 종류를 분류할 수 있는 완전연결 네트워크에 입력하는 것으로 보행의 종류를 판단하는 보행분류부를 포함하는 것을 특징으로 하는 검출정보별 신경망 분석을 실시하여 보행 종류를 분류하는 장치. - 제2항에 있어서,
상기 추출부의 딥러닝은 센서의 종류에 대응하여 복수개로 구성되고, 각 딥러닝은 한 종류의 센서 정보로 기 학습되어, 보행에 관한 정보가 수신되었을 때 상기 딥러닝별로 특징맵(feature map)을 출력하는 것을 특징으로 하는 검출정보별 신경망 분석을 실시하여 보행 종류를 분류하는 장치. - 제3항에 있어서,
상기 딥러닝은 DCNN(Deep Convolutional Neural Network)인 것을 특징으로 하는 검출정보별 신경망 분석을 실시하여 보행 종류를 분류하는 장치. - 제4항에 있어서,
상기 딥러닝의 학습은 역전파(Back-propagation) 학습 알고리즘을 이용한 것을 특징으로 하는 검출정보별 신경망 분석을 실시하여 보행 종류를 분류하는 장치. - 제5항에 있어서,
상기 딥러닝은 그레디언트 손실(vanishing gradient) 현상을 방지하기 위해 활성화 함수로서 ReLU(Rectifier Linear Unit)를 이용하는 것을 특징으로 하는 검출정보별 신경망 분석을 실시하여 보행 종류를 분류하는 장치. - 제6항에 있어서,
상기 딥러닝은 내부 공분산 이동(Internal Covariance Shift) 현상을 방지하고 학습 안정성을 높이기 위해 배치 활성화 함수 적용 이후 배치 정규화를 수행하는 것을 특징으로 하는 검출정보별 신경망 분석을 실시하여 보행 종류를 분류하는 장치. - 제3항에 있어서,
상기 딥러닝은 복수의 컨볼루션 레이어를 포함하고, 각 레이어는 대응되는 특징 수준(feature level)의 필터를 포함하는 것을 특징으로 하는 검출정보별 신경망 분석을 실시하여 보행 종류를 분류하는 장치. - 제3항에 있어서,
상기 딥러닝에서 출력되는 특징맵은 텐저(Tensor) 형태인 것을 특징으로 하는 검출정보별 신경망 분석을 실시하여 보행 종류를 분류하는 장치. - 제3항에 있어서,
상기 보행분류부는 상기 특징 추출부의 각 딥러닝에서 출력된 특징맵을 연결하여 하나의 특징 벡터를 구성하고, 상기 특징 벡터를 완전연결 레이어(fully connected layer)에 입력하는 것을 특징으로 하는 검출정보별 신경망 분석을 실시하여 보행 종류를 분류하는 장치. - 제10항에 있어서,
상기 완전연결 레이어는 복수의 연산 레이어 및 하나의 출력 레이어를 포함하고,
상기 연산 레이어는 출력 레이어로 값을 전달하기 전에, 과적합(over-fitting) 문제를 방지하고 일반화(regularization) 성능을 향상시키기 위해 학습 시 레이어 안에 있는 노드(node)를 드롭아웃(dropout) 비율만큼 무작위로 골라서 삭제한 후 남겨진 노드만을 가지고 학습을 하는 드롭아웃 방법을 이용하는 것을 특징으로 하는 검출정보별 신경망 분석을 실시하여 보행 종류를 분류하는 장치. - 제11항에 있어서,
상기 출력 레이어는 분류하고자 하는 클래스의 수 만큼의 노드로 구성되고, 각 노드는 연산 레이어의 노드들의 가중치 합을 소프트맥스(softmax) 함수에 적용하여 보행 종류에 관한 최종 출력값을 연산하는 것을 특징으로 하는 검출정보별 신경망 분석을 실시하여 보행 종류를 분류하는 장치. - 제2항에 있어서,
상기 정보 수집부가 수신한 보행에 관한 정보에서 단위 걸음의 구간을 정의하여 각 단위 걸음에 대한 데이터를 분할하고, 분할된 데이터의 길이가 모두 같도록 정규화(normalize)하는 전처리부를 더 포함하는 것을 특징으로 하는 검출정보별 신경망 분석을 실시하여 보행 종류를 분류하는 장치. - 제13항에 있어서,
상기 전처리부는 센서의 종류별 단위 걸음에 대한 검출 값을 배열로 나타내고, 사전 순서 연산자(lexicographic ordering operator)를 이용하여 각 배열을 일렬의 정보로 변환하는 것을 특징으로 하는 검출정보별 신경망 분석을 실시하여 보행 종류를 분류하는 장치. - 정보수집부가 압력센서, 가속도센서, 자이로센서 중 둘 이상을 포함하는 인솔로부터 사용자의 보행에 관한 정보를 수신하는 단계;
전처리부가 상기 보행에 관한 정보에서 단위 걸음의 구간을 정의하여 각 단위 걸음에 대한 데이터를 분할하고, 분할된 데이터의 길이가 모두 같도록 정규화(normalize)하는 단계;
분류부가 정규화된 보행에 관한 정보 중 센서의 종류별로 딥러닝 연산을 실시하여 상기 보행의 종류를 분류하는 단계를 포함하는 것을 특징으로 하는 검출정보별 신경망 분석을 실시하여 보행 종류를 분류하는 방법. - 제15항에 있어서, 상기 분류부가 정규화된 보행에 관한 정보 중 센서의 종류별로 딥러닝 연산을 실시하여 상기 보행의 종류를 분류하는 단계는,
상기 정규화된 보행에 관한 정보에 포함된 센서의 종류별로 딥러닝 연산을 실시하여 특징맵(feature map)을 출력하는 단계;
상기 특징맵을 하나로 연결한 후 보행의 종류를 분류할 수 있는 완전연결 네트워크에 입력하고, 상기 완전연결 네트워크에서 출력된 값을 이용하여 보행의 종류를 판단하는 단계를 포함하는 것을 특징으로 하는 검출정보별 신경망 분석을 실시하여 보행 종류를 분류하는 방법. - 제16항에 있어서,
상기 딥러닝은 DCNN(Deep Convolutional Neural Network)인 것을 특징으로 하는 검출정보별 신경망 분석을 실시하여 보행 종류를 분류하는 방법. - 제17항에 있어서,
상기 딥러닝의 학습은 역전파(Back-propagation) 학습 알고리즘을 이용한 것을 특징으로 하는 검출정보별 신경망 분석을 실시하여 보행 종류를 분류하는 방법. - 제17항에 있어서,
상기 딥러닝은 그레디언트 손실(vanishing gradient) 현상을 방지하기 위해 활성화 함수로서 ReLU(Rectifier Linear Unit)를 이용하는 것을 특징으로 하는 검출정보별 신경망 분석을 실시하여 보행 종류를 분류하는 방법. - 제19항에 있어서,
상기 딥러닝은 내부 공분산 이동(Internal Covariance Shift) 현상을 방지하고 학습 안정성을 높이기 위해 배치 활성화 함수 적용 이후 배치 정규화를 수행하는 것을 특징으로 하는 검출정보별 신경망 분석을 실시하여 보행 종류를 분류하는 방법. - 제16항에 있어서,
상기 딥러닝은 복수의 컨볼루션 레이어를 포함하고, 각 레이어는 대응되는 특징 수준(feature level)의 필터를 포함하는 것을 특징으로 하는 검출정보별 신경망 분석을 실시하여 보행 종류를 분류하는 방법. - 제16항에 있어서,
상기 딥러닝에서 출력되는 특징맵은 텐저(Tensor) 형태인 것을 특징으로 하는 검출정보별 신경망 분석을 실시하여 보행 종류를 분류하는 방법. - 제16항에 있어서,
상기 완전연결 네트워크는 복수의 연산 레이어 및 하나의 출력 레이어를 포함하고,
상기 연산 레이어는 출력 레이어로 값을 전달하기 전에, 과적합(over-fitting) 문제를 방지하고 일반화(regularization) 성능을 향상시키기 위해 학습 시 레이어 안에 있는 노드(node)를 드롭아웃(dropout) 비율만큼 무작위로 골라서 삭제한 후 남겨진 노드만을 가지고 학습을 하는 드롭아웃 방법을 이용하는 것을 특징으로 하는 검출정보별 신경망 분석을 실시하여 보행 종류를 분류하는 방법. - 제23항에 있어서,
상기 출력 레이어는 분류하고자 하는 클래스의 수 만큼의 노드로 구성되고, 각 노드는 연산 레이어의 노드들의 가중치 합을 소프트맥스(softmax) 함수에 적용하여 보행 종류에 관한 최종 출력값을 연산하는 것을 특징으로 하는 검출정보별 신경망 분석을 실시하여 보행 종류를 분류하는 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190088029A KR102302719B1 (ko) | 2019-07-22 | 2019-07-22 | 검출정보별 신경망 분석을 실시하여 보행 종류를 분류하는 장치 및 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190088029A KR102302719B1 (ko) | 2019-07-22 | 2019-07-22 | 검출정보별 신경망 분석을 실시하여 보행 종류를 분류하는 장치 및 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20210011097A true KR20210011097A (ko) | 2021-02-01 |
KR102302719B1 KR102302719B1 (ko) | 2021-09-27 |
Family
ID=74571423
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020190088029A KR102302719B1 (ko) | 2019-07-22 | 2019-07-22 | 검출정보별 신경망 분석을 실시하여 보행 종류를 분류하는 장치 및 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102302719B1 (ko) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20230018556A (ko) * | 2021-07-30 | 2023-02-07 | 순천향대학교 산학협력단 | 무릎관절 각도 추정장치 및 그 추정방법 |
WO2024162733A1 (ko) * | 2023-02-03 | 2024-08-08 | 순천향대학교 산학협력단 | 족저압 데이터를 이용한 보폭 추정 방법 및 시스템 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20230156865A (ko) | 2022-05-06 | 2023-11-15 | 중앙대학교 산학협력단 | 도메인 적응기법과 유연 시간윈도우를 이용한 보행상태 예측시스템 및 방법 |
KR20240109140A (ko) | 2023-01-03 | 2024-07-10 | 서강대학교산학협력단 | 근전도 신호를 이용한 보행 환경 전환 검출 시스템 및 그 방법 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101583369B1 (ko) | 2015-04-27 | 2016-01-21 | (주)엠더블유스토리 | 걸음 인지 시스템 및 그 방법, 그리고 이 방법을 처리하는 프로그램이 기록된 저장 매체 |
KR20170098640A (ko) * | 2016-02-22 | 2017-08-30 | 엘지전자 주식회사 | 인솔 및 이동 단말기 |
KR101856053B1 (ko) * | 2017-02-22 | 2018-05-10 | (주)스윙뱅크 | 위험상황에 대처하기 위한 신발 패드 및 이를 이용한 위험 상황 판단 방법 |
KR20190048351A (ko) * | 2017-10-31 | 2019-05-09 | 권혁준 | 운동량 체크를 위한 스마트 헬스케어 시스템 |
-
2019
- 2019-07-22 KR KR1020190088029A patent/KR102302719B1/ko active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101583369B1 (ko) | 2015-04-27 | 2016-01-21 | (주)엠더블유스토리 | 걸음 인지 시스템 및 그 방법, 그리고 이 방법을 처리하는 프로그램이 기록된 저장 매체 |
KR20170098640A (ko) * | 2016-02-22 | 2017-08-30 | 엘지전자 주식회사 | 인솔 및 이동 단말기 |
KR101856053B1 (ko) * | 2017-02-22 | 2018-05-10 | (주)스윙뱅크 | 위험상황에 대처하기 위한 신발 패드 및 이를 이용한 위험 상황 판단 방법 |
KR20190048351A (ko) * | 2017-10-31 | 2019-05-09 | 권혁준 | 운동량 체크를 위한 스마트 헬스케어 시스템 |
Non-Patent Citations (1)
Title |
---|
이성신 외 2명, "스마트 깔창의 센서를 이용한 보행 타입 분류 방법", 한국 통신 학회, 1378~1381 페이지, 2018. 08.* * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20230018556A (ko) * | 2021-07-30 | 2023-02-07 | 순천향대학교 산학협력단 | 무릎관절 각도 추정장치 및 그 추정방법 |
WO2024162733A1 (ko) * | 2023-02-03 | 2024-08-08 | 순천향대학교 산학협력단 | 족저압 데이터를 이용한 보폭 추정 방법 및 시스템 |
Also Published As
Publication number | Publication date |
---|---|
KR102302719B1 (ko) | 2021-09-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102302719B1 (ko) | 검출정보별 신경망 분석을 실시하여 보행 종류를 분류하는 장치 및 방법 | |
Alharthi et al. | Deep learning for monitoring of human gait: A review | |
US10503967B2 (en) | Fast behavior and abnormality detection | |
CN105411593B (zh) | 用于识别步态任务的方法和设备 | |
EP4197438A1 (en) | Method and system for analyzing human gait | |
Wang et al. | Recognizing human daily activities from accelerometer signal | |
KR102280291B1 (ko) | 검출정보별 신경망 분석을 실시하여 파킨슨 환자 및 족관절염 환자를 식별하는 장치 및 방법 | |
CN110334573B (zh) | 一种基于密集连接卷积神经网络的人体运动状态判别方法 | |
Uddin et al. | Random forests based recognition of human activities and postural transitions on smartphone | |
Kawsar et al. | A novel activity detection system using plantar pressure sensors and smartphone | |
WO2014118767A1 (en) | Classifying types of locomotion | |
Chinimilli et al. | Human activity recognition using inertial measurement units and smart shoes | |
Jalloul et al. | Activity recognition using complex network analysis | |
CN111345783B (zh) | 基于惯性传感器的前庭功能紊乱检测系统 | |
KR102194313B1 (ko) | 검출정보별 신경망 분석을 실시하여 개인을 식별하는 장치 및 방법 | |
Prado et al. | Prediction of gait cycle percentage using instrumented shoes with artificial neural networks | |
Wang et al. | Recognition of the Gait Phase Based on New Deep Learning Algorithm Using Multisensor Information Fusion. | |
CN112115923A (zh) | 一种基于直接特征提取的多通道时序步态分析算法 | |
Alharthi et al. | Deep learning for ground reaction force data analysis: Application to wide-area floor sensing | |
Smith et al. | Automatic Classification of Locomotion in Sport: A Case Study from Elite Netball. | |
KR102175191B1 (ko) | 스마트 인솔의 압력 센서를 이용한 보행 패턴 분류를 위한 장치 및 방법 | |
CN114881079A (zh) | 面向穿戴式传感器的人体运动意图异常检测方法及系统 | |
Ghobadi et al. | A robust automatic gait monitoring approach using a single IMU for home-based applications | |
Santhiranayagam et al. | Automatic detection of different walking conditions using inertial sensor data | |
KR102302234B1 (ko) | 검출정보별 판별 분석을 실시하여 개인을 식별하는 장치 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
AMND | Amendment | ||
X701 | Decision to grant (after re-examination) |