KR102459677B1 - 알고리즘 학습 방법 및 장치 - Google Patents

알고리즘 학습 방법 및 장치 Download PDF

Info

Publication number
KR102459677B1
KR102459677B1 KR1020150154910A KR20150154910A KR102459677B1 KR 102459677 B1 KR102459677 B1 KR 102459677B1 KR 1020150154910 A KR1020150154910 A KR 1020150154910A KR 20150154910 A KR20150154910 A KR 20150154910A KR 102459677 B1 KR102459677 B1 KR 102459677B1
Authority
KR
South Korea
Prior art keywords
algorithm
virtual
sensing data
data
learning
Prior art date
Application number
KR1020150154910A
Other languages
English (en)
Other versions
KR20170052870A (ko
Inventor
안성환
심영보
형승용
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020150154910A priority Critical patent/KR102459677B1/ko
Priority to US15/054,763 priority patent/US10535015B2/en
Priority to CN201610357176.1A priority patent/CN106681487B/zh
Priority to EP16190878.5A priority patent/EP3166033A1/en
Publication of KR20170052870A publication Critical patent/KR20170052870A/ko
Application granted granted Critical
Publication of KR102459677B1 publication Critical patent/KR102459677B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B19/00Teaching not covered by other main groups of this subclass
    • G09B19/0053Computers, e.g. programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61HPHYSICAL THERAPY APPARATUS, e.g. DEVICES FOR LOCATING OR STIMULATING REFLEX POINTS IN THE BODY; ARTIFICIAL RESPIRATION; MASSAGE; BATHING DEVICES FOR SPECIAL THERAPEUTIC OR HYGIENIC PURPOSES OR SPECIFIC PARTS OF THE BODY
    • A61H1/00Apparatus for passive exercising; Vibrating apparatus ; Chiropractic devices, e.g. body impacting devices, external devices for briefly extending or aligning unbroken bones
    • A61H1/02Stretching or bending or torsioning apparatus for exercising
    • A61H1/0237Stretching or bending or torsioning apparatus for exercising for the lower limbs
    • A61H1/0255Both knee and hip of a patient, e.g. in supine or sitting position, the feet being moved in a plane substantially parallel to the body-symmetrical-plane
    • A61H1/0262Walking movement; Appliances for aiding disabled persons to walk
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61HPHYSICAL THERAPY APPARATUS, e.g. DEVICES FOR LOCATING OR STIMULATING REFLEX POINTS IN THE BODY; ARTIFICIAL RESPIRATION; MASSAGE; BATHING DEVICES FOR SPECIAL THERAPEUTIC OR HYGIENIC PURPOSES OR SPECIFIC PARTS OF THE BODY
    • A61H3/00Appliances for aiding patients or disabled persons to walk about
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/015Input arrangements based on nervous system activity detection, e.g. brain waves [EEG] detection, electromyograms [EMG] detection, electrodermal response detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B19/00Teaching not covered by other main groups of this subclass
    • G09B19/0069Engineering, e.g. mechanical, electrical design
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H50/00ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics
    • G16H50/20ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics for computer-aided diagnosis, e.g. based on medical expert systems
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H50/00ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics
    • G16H50/50ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics for simulation or modelling of medical disorders
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61HPHYSICAL THERAPY APPARATUS, e.g. DEVICES FOR LOCATING OR STIMULATING REFLEX POINTS IN THE BODY; ARTIFICIAL RESPIRATION; MASSAGE; BATHING DEVICES FOR SPECIAL THERAPEUTIC OR HYGIENIC PURPOSES OR SPECIFIC PARTS OF THE BODY
    • A61H2201/00Characteristics of apparatus not provided for in the preceding codes
    • A61H2201/50Control means thereof
    • A61H2201/5058Sensors or detectors

Abstract

보행 보조 장치를 착용한 사용자의 보행 상태를 인식하는 알고리즘을 학습시키는 방법 및 장치가 제공된다. 알고리즘 학습 장치 및 방법은 동역학 시뮬레이션(dynamic simulation)을 통해 가상 인체 모델의 보행과 연관된 가상 센싱 데이터(virtual sensing data)를 생성하고, 가상 센싱 데이터를 이용하여 알고리즘을 학습시킬 수 있다.

Description

알고리즘 학습 방법 및 장치{METHOD AND APPARATUS FOR LEARNING ALGORITHM}
아래의 실시예들은 알고리즘을 학습시키는 방법 및 장치에 관한 것으로 보다 상세하게는 사용자의 보행 상태를 인식하는 알고리즘을 학습시키는 방법에 관한 것이다.
최근 고령화 사회가 심화되면서 관절에 문제가 있어서 이에 대한 고통과 불편을 호소하는 사람들이 증가하고 있고, 관절이 불편한 노인이나 환자들이 보행을 원활하게 할 수 있는 보행 보조 장치에 대한 관심이 높아지고 있다. 또한, 군사용 등의 목적으로 인체의 근력을 강화시키기 위한 보행 보조 장치들이 개발되고 있다.
보행 보조 장치는 보조력을 다리에 제공하여 보행을 보조할 수 있다. 보행 보조 장치는 사용자의 보행 상태를 인식하여, 인식된 보행 상태에 대응하는 보조력을 사용자에게 제공할 수 있다. 보행 보조 장치는 보행 상태를 정확히 인식해야만 보행 상태에 적절한 보조력을 제공할 수 있으므로, 보행 상태의 인식률을 높일 수 있는 다양한 방법이 연구되고 있다.
일 측면에 따른, 사용자의 보행 상태를 인식하는 알고리즘을 학습시키는 장치에 의해 수행되는 알고리즘 학습 방법은, 동역학 시뮬레이션(dynamic simulation)을 통해 가상 인체 모델의 보행과 연관된 가상 센싱 데이터(virtual sensing data)를 생성하는 단계, 및 상기 가상 센싱 데이터를 이용하여 사용자의 보행 상태(walking state)를 인식하는 알고리즘을 학습시키는 단계를 포함한다.
상기 가상 센싱 데이터를 생성하는 단계는, 가상 인체의 신체 특성에 기반하여 상기 가상 인체 모델을 생성하는 단계, 상기 가상 인체 모델 및 보행 환경 정보에 기반하여 보행 모델을 생성하는 단계, 및 상기 보행 모델에 기반하여 상기 동역학 시뮬레이션을 구동함으로써 상기 가상 센싱 데이터를 생성하는 단계를 포함할 수 있다.
상기 가상 센싱 데이터를 생성하는 단계는, 가상 센서(virtual sensor)를 상기 가상 인체 모델과 연관시키는 단계를 더 포함하고, 상기 가상 센싱 데이터는 상기 가상 센서에 의해 생성될 수 있다.
상기 가상 센싱 데이터는 상기 가상 인체 모델의 관절 각도, 보행 속도 데이터, 보행 가속도 데이터, 지면 반발력(ground reaction force) 및 근전도(elecromyographic; EMG) 신호 중 적어도 하나를 포함할 수 있다.
상기 알고리즘은 딥 뉴럴 네트워크(Deep Neural Network; DNN)일 수 있다.
상기 DNN은 딥 콘볼루션 뉴럴 네트워크(Deep Convolution Neural Network; DCNN) 또는 딥 빌리프 네트워크(Deep Belief Network; DBN) 중 어느 하나일 수 있다.
상기 알고리즘을 학습시키는 단계는, 상기 가상 센싱 데이터에 기반하여 상기 알고리즘을 이용하여 미리 설정된 보행 상태들 각각에 대한 확률 값을 계산하는 단계, 동역학 시뮬레이션 데이터의 레이블(label) 및 상기 확률 값에 기반하여 오류 값을 계산하는 단계, 및 상기 오류 값이 감소하도록 상기 알고리즘의 적어도 하나의 파라미터를 조정하는 단계를 포함할 수 있다.
상기 알고리즘을 학습시키는 단계는, 상기 오류 값이 미리 설정된 값 이하가 될 때까지 반복적으로(iteratively) 수행되는 단계일 수 있다.
상기 확률 값을 계산하는 단계는, 상기 가상 센싱 데이터를 이용하여 입력 벡터를 생성하는 단계, 상기 입력 벡터로부터 특징 요소를 추출하는 단계, 상기 입력 벡터를 다운 샘플링하는 단계, 및 상기 특징 요소 및 다운 샘플링된 입력 벡터를 이용하여 상기 미리 설정된 보행 상태들 각각에 대한 확률을 계산하는 단계를 포함할 수 있다.
상기 알고리즘을 학습시키는 단계는, 상기 가상 센싱 데이터를 상기 알고리즘을 이용하여 인코드(encode)함으로써 압축 정보(compressed information)를 생성하는 단계, 상기 압축 정보를 디코드(decode)하여 디코드 정보(decoded information)를 생성하는 단계, 상기 가상 센싱 데이터 및 상기 디코드 정보 간의 오류 값을 계산하는 단계 및 상기 오류 값에 기반하여 상기 알고리즘의 적어도 하나의 파라미터를 조정하는 단계를 포함할 수 있다.
상기 오류 값을 계산하는 단계는, 상기 가상 센싱 데이터 및 상기 디코드 정보 간의 크로스 엔트로피(cross entropy) 또는 유클리디언 거리(Euclidean distance) 중 어느 하나를 계산하는 단계일 수 있다.
상기 알고리즘 학습 방법은 실제 센싱 데이터(real sensing data)를 이용하여 상기 알고리즘을 조정하는 단계를 더 포함할 수 있다.
상기 알고리즘을 조정하는 단계는, 외부 단말로부터 상기 실제 센싱 데이터를 수신하는 단계, 및 상기 실제 센싱 데이터를 이용하여 상기 알고리즘을 조정하는 단계를 포함할 수 있다.
상기 알고리즘 학습 방법은, 상기 조정된 알고리즘을 상기 외부 단말로 전송하는 단계를 더 포함할 수 있다.
상기 외부 단말은 웨어러블 장치(wearable device)일 수 있다.
상기 외부 단말은 보행 보조 장치(walking assistance device)일 수 있다.
상기 알고리즘을 조정하는 단계는, 센서를 이용하여 사람의 보행에 관한 실제 센싱 데이터를 생성하는 단계, 및 상기 실제 센싱 데이터를 이용하여 상기 알고리즘을 조정하는 단계를 포함할 수 있다.
상기 실제 센싱 데이터는 상기 사람의 관절 각도, 보행 속도 데이터, 보행 가속도 데이터, 지면 반발력 및 EMG 신호 중 적어도 하나를 포함할 수 있다.
다른 일 측면에 따른, 알고리즘 학습 장치는 동역학 시뮬레이션(dynamic simulation)을 통해 가상 인체 모델의 보행과 연관된 가상 센싱 데이터(virtual sensing data)를 생성하고, 상기 가상 센싱 데이터를 이용하여 사용자의 보행 상태(walking state)을 인식하는 알고리즘을 학습시키는 프로세서 및 상기 알고리즘을 저장하는 메모리를 포함할 수 있다.
또 다른 일 측면에 따른, 알고리즘 조정 방법은 가상 센싱 데이터(virtual sensing data)를 통해 학습된 알고리즘을 획득하는 단계, 센서를 통해 사람의 보행에 관한 실제 센싱 데이터(real sensing data)를 생성하는 단계, 및 상기 실제 센싱 데이터를 이용하여 상기 알고리즘을 조정하는 단계를 포함하고, 상기 가상 센싱 데이터는, 동역학 시뮬레이션(dynamic simulation)을 통해 가상 인체 모델의 보행과 연관되어 생성되고, 상기 알고리즘은, 상기 가상 센싱 데이터를 이용하여 사용자의 보행 상태(walking state)를 인식하도록 학습된 것일 수 있다.
상기 알고리즘은 딥 뉴럴 네트워크(Deep Neural Network; DNN)일 수 있다.
상기 DNN은 딥 콘볼루션 뉴럴 네트워크(Deep Convolution Neural Network; DCNN) 또는 딥 빌리프 네트워크(Deep Belief Network; DBN)일 수 있다.
상기 실제 센싱 데이터를 생성하는 단계는, 상기 사용자가 착용한 단말의 상기 센서가 상기 실제 센싱 데이터를 생성하는 단계일 수 있다.
상기 단말은 웨어러블 장치(wearable device)일 수 있다.
상기 단말은 보행 보조 장치(walking assistance device)일 수 있다.
상기 실제 센싱 데이터는 상기 사람의 관절 각도, 보행 속도 데이터, 보행 가속도 데이터, 지면 반발력 데이터 및 EMG 신호 중 적어도 하나를 포함할 수 있다.
또 다른 일 측면에 따른, 알고리즘 조정 장치는 가상 센싱 데이터(virtual sensing data)를 통해 학습된 알고리즘을 저장하는 메모리, 사람의 보행에 관한 실제 센싱 데이터(real sensing data)를 생성하는 센서, 및 상기 실제 센싱 데이터를 이용하여 상기 알고리즘을 조정하는 프로세서를 포함하고, 상기 가상 센싱 데이터는, 동역학 시뮬레이션(dynamic simulation)을 통해 가상 인체 모델의 보행과 연관되어 생성되고, 상기 알고리즘은, 상기 가상 센싱 데이터를 이용하여 사용자의 보행 상태(walking state)를 인식하도록 학습된 것일 수 있다.
도 1 및 2는 일 예에 따른 보행 보조 장치를 도시한다.
도 3은 일 실시예에 따른 알고리즘 학습 장치의 구성도를 도시한다.
도 4는 일 실시예에 따른 알고리즘 학습 방법의 흐름도이다.
도 5는 일 예에 따른 가상 센싱 데이터를 생성하는 방법의 흐름도이다.
도 6은 일 예에 따른 가상 센싱 데이터를 이용하여 알고리즘을 학습시키는 방법의 흐름도이다.
도 7은 일 예에 따른 보행 상태들에 대한 확률을 계산하는 방법의 흐름도이다.
도 8은 다른 일 예에 따른 가상 센싱 데이터를 이용하여 알고리즘을 학습시키는 방법의 흐름도이다.
도 9는 일 예에 따른 실제 센싱 데이터를 이용하여 알고리즘을 조정하는 방법의 흐름도이다.
도 10은 다른 일 예에 따른 실제 센싱 데이터를 이용하여 알고리즘을 조정하는 방법의 흐름도이다.
도 11은 일 실시예에 따른 알고리즘 조정 장치의 구성도이다.
도 12는 일 실시예에 따른 알고리즘 조정 방법의 흐름도이다.
도 13은 일 예에 따른 실제 센싱 데이터를 이용하여 알고리즘을 조정하는 방법의 흐름도이다.
이하에서, 첨부된 도면을 참조하여 실시예들을 상세하게 설명한다. 그러나, 특허출원의 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
아래 설명하는 실시예들에는 다양한 변경이 가해질 수 있다. 아래 설명하는 실시예들은 실시 형태에 대해 한정하려는 것이 아니며, 이들에 대한 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
실시예에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 실시예를 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
<보행 보조 장치의 개요>
도 1 및 2는 일 예에 따른 보행 보조 장치를 도시한다.
도 1을 참조하면, 보행 보조 장치(100)는 사용자의 보행을 보조한다. 보행 보조 장치(100)는 웨어러블 장치(wearable device)일 수 있다. 도 1은 힙 타입(hip-type)의 보행 보조 장치를 도시하고 있으나, 보행 보조 장치의 타입은 힙 타입에 제한되는 것은 아니며, 하지 일부를 지원하는 형태, 무릎까지 지원하는 형태, 발목까지 지원하는 형태 및 하지 전체를 지원하는 형태 중 어느 하나일 수 있다.
도 1의 실시예에 따르면, 보행 보조 장치(100)는 구동부(110), 센서부(120), 관성 (Inertial Measurement Unit; IMU) 센서(130) 및 제어부(140)를 포함한다.
구동부(110)는 구동력을 출력하여 사용자의 고관절(hip joint)의 움직임을 보조한다. 구동부(110)는 사용자의 오른쪽 힙 및/또는 왼쪽 힙 부분에 위치할 수 있다. 구동부(110)는 회전 토크를 발생시킬 수 있는 모터를 포함할 수 있다.
센서부(120)는 보행 시 사용자의 고관절의 각도를 측정할 수 있다. 센서부(120)에서 센싱되는 고관절의 각도에 대한 정보는 오른쪽 고관절의 각도, 왼쪽 고관절의 각도, 양쪽 고관절 각도들 간의 차이 및 고관절 운동 방향을 포함할 수 있다. 예를 들어, 센서부(120)는 구동부(110) 내에 위치할 수 있다.
일 측면에 따르면, 센서부(120)는 포텐셔미터를 포함할 수 있다. 포텐셔미터는 사용자의 보행 동작에 따른 R축, L축 관절 각도 및 R축, L축 관절 각속도를 센싱할 수 있다.
관성 센서(130)는 보행 시 가속도 정보와 자세 정보를 측정할 수 있다. 예를 들어, 관성 센서(130)는 사용자의 보행 동작에 따른 X축, Y축, Z축 가속도 및 X축, Y축, Z축 각속도를 각각 센싱할 수 있다.
보행 보조 장치(100)는 관성 센서(130)에서 측정된 가속도 정보에 기반하여 사용자의 발이 착지하는 지점을 검출할 수 있다. 압력 센서(도시되지 않음)는 사용자의 발바닥에 위치하여 사용자의 발의 착지 시점을 검출할 수 있다. 힘 센서(force sensor)는 사용자의 발바닥에 위치하여 지면 반발력(ground reaction force)을 측정할 수 있다.
보행 보조 장치(100)는 앞서 설명한 센서부(120) 및 관성 센서(130) 이외에, 보행 동작에 따른 사용자의 운동량 또는 생체 신호 등의 변화를 센싱할 수 있는 다른 센서(예를 들어, 근전도 센서(ElectroMyoGram sensor; EMG sensor))를 포함할 수 있다.
제어부(140)는 통신 장치를 포함할 수 있으며, 통신 장치를 이용하여 외부의 서버(150)와 통신할 수 있다. 제어부(140)는 서버(150)와 데이터를 교환할 수 있다. 예를 들어, 제어부(140)는 인터넷을 통해 서버(150)와 데이터를 교환할 수 있다.
제어부(140)는 구동부(110)가 사용자의 보행을 돕기 위한 보조력을 출력하도록, 구동부(110)를 제어할 수 있다. 제어부(140)는 토크가 발생하도록 구동부(110)를 제어하는 제어 신호를 출력할 수 있다. 구동부(110)는 제어부(140)가 출력한 제어 신호에 기반하여, 토크를 발생시킬 수 있다.
제어부(140)는 구동부(110)가 발생시키는 토크를 계산하기 위해 알고리즘을 이용할 수 있다. 예를 들어, 알고리즘은 딥 뉴럴 네트워크(Deep Neural Network; DNN)일 수 있다. DNN은 딥 콘볼루션 뉴럴 네트워크(Deep Convolution Neural Network; DCNN) 또는 딥 빌리프 네트워크(Deep Belief Network; DBN) 중 어느 하나일 수 있다.
제어부(140)는 알고리즘을 이용하여 보행 보조 장치(100)를 착용한 사용자의 보행 상태를 인식할 수 있다. 예를 들어, 보행 상태는 사용자의 활동의 종류, 보행 관련 질병의 종류 및 보행 환경을 포함할 수 있다. 사용자의 활동의 종류는 정상 걷기, 저속 걷기 및 달리기를 포함할 수 있다. 보행 관련 질병의 종류는 뇌졸중 및 파킨슨 병을 포함할 수 있다. 보행 환경은 평지, 계단 및 지면 경사의 방향을 포함할 수 있다.
알고리즘이 보행 상태에 관한 기초 데이터를 이용하여 복수의 보행 상태들 중 특정한 보행 상태를 정확히 인식하기 위해서는, 상기의 기초 데이터들이 입력되면 상기의 특정한 보행 상태를 나타내는 것이라고 인식 또는 판단할 수 있어야 한다. 이러한 인식률을 높이기 위해 알고리즘은 기초 데이터를 이용하여 훈련(training) 또는 학습(learning)될 수 있다. 이러한 알고리즘의 학습은 딥 러닝(deep learning)일 수 있다.
<알고리즘 학습 장치>
도 3은 일 실시예에 따른 알고리즘 학습 장치의 구성도를 도시한다.
일 측면에 따르면, 알고리즘 학습 장치(300)는 보행 보조 장치(100)에 포함될 수 있다. 예를 들어, 알고리즘 학습 장치(300)는 제어부(140)를 포함할 수 있다. 다른 일 측면에 따르면, 알고리즘 학습 장치(300)는 서버(150)에 포함될 수 있다. 알고리즘 학습 장치(300)가 서버(150)에 포함되는 경우, 학습된 알고리즘이 보행 보조 장치(100)의 메모리에 저장되고, 제어부(140)가 저장된 알고리즘을 로드하는 것으로 이해될 수 있다.
알고리즘 학습 장치(300)는 통신부(310), 프로세서(320) 및 메모리(330)를 포함한다.
통신부(310)는 보행 보조 장치(100)의 장치들 또는 서버(150)의 장치들과 데이터 또는 정보를 교환할 수 있다.
프로세서(320)는 통신부(310)가 수신한 데이터 및 메모리(330)에 저장된 데이터를 처리할 수 있다. 예를 들어, 프로세서(320)는 제어부(140)를 포함할 수 있다.
메모리(330)는 통신부(310)가 수신한 데이터 및 프로세서(320)가 처리한 데이터를 저장할 수 있다.
도 4는 일 실시예에 따른 알고리즘 학습 방법의 흐름도이다.
단계(410)에서, 프로세서(320)는 동역학 시뮬레이션(dynamic simulation)을 통해 가상 인체 모델의 보행과 연관된 가상 센싱 데이터(virtual sensing data)를 생성한다. 가상 센싱 데이터는 알고리즘의 학습을 위한 기초 데이터로 이용될 수 있다. 가상 센싱 데이터가 생성됨으로써, 알고리즘의 학습을 위해 필요한 데이터를 획득하는 비용 및 리소스를 줄일 수 있다.
단계(420)에서, 프로세서(320)는 가상 센싱 데이터를 이용하여 알고리즘을 학습시킨다. 알고리즘의 학습은 알고리즘에 포함되는 적어도 하나의 파라미터의 값을 조정하는 것일 수 있다. 알고리즘이 학습됨으로써 사용자의 보행 상태를 인식하는 인식률이 향상될 수 있다. 가상 센싱 데이터를 이용하여 알고리즘을 학습시키는 것은 사전-훈련(pre-training)일 수 있다. 프로세서(320)는 딥 러닝(deep learning) 방법에 기반하여 알고리즘을 학습시킬 수 있다.
일 측면에 따르면, 단계(430)가 서버(150)에 의해 수행되는 경우 프로세서(320)가 단계(430)를 수행하는 것으로 이해될 수 있다. 다른 일 측면에 따르면, 단계(430)가 보행 보조 장치(100)에 의해 수행되는 것으로 이해될 수 있다. 아래의 단계(430)에 대한 설명은 프로세서(320)에 의해 수행되는 것으로 설명되나, 이에 한정되는 것은 아니다.
단계(430)에서, 프로세서(320)는 실제 센싱 데이터(real sensing data)를 이용하여 알고리즘을 조정할 수 있다. 실제 센싱 데이터는 보행 보조 장치(100)의 센서부(120) 및 IMU(130)에 의해 측정된 데이터일 수 있다. 실제 센싱 데이터를 이용하여 알고리즘을 조정함으로써 알고리즘의 인식률을 향상시킬 수 있다. 실제 센싱 데이터를 이용하여 알고리즘을 조정하는 것은 세부 조정(fine-tuning)일 수 있다. 실제 센싱 데이터를 이용하여 알고리즘을 조정하는 것은 보행 보조 장치(100)의 개인화(personalization)일 수 있다.
도 5는 일 예에 따른 가상 센싱 데이터를 생성하는 방법의 흐름도이다.
단계(410)는 아래의 단계들(505 내지 530)을 포함할 수 있다.
단계(505)에서, 프로세서(320)는 사용자로부터 수신한 가상 인체의 신체 특성에 기반하여 가상 인체 모델을 생성할 수 있다. 신체 특성은 가상 인체의 키, 몸무게 및 성별 등을 포함할 수 있다. 사용자는 신체 특성을 각각 다르게 설정하여 생성되는 가상 인체 모델을 다양화할 수 있다. 예를 들어, 신체 특성에 따라 어린이, 성인 및 노인의 가상 인체 모델이 생성될 수 있다.
단계(510)에서, 프로세서(320)는 가상 인체 모델 및 보행 환경 정보에 기반하여 보행 모델을 생성할 수 있다. 보행 환경 정보는 가상 인체 모델이 보행하는 지면에 관한 정보, 보행 속도 및 질병의 종류 등을 포함할 수 있다. 생성된 가상 인체 모델이 동일한 경우에도 보행 환경을 다르게 설정하는 경우 다양한 보행 모델이 생성될 수 있다.
단계(520)에서, 프로세서(320)는 가상 센서를 가상 인체 모델과 연관시킬 수 있다. 가상 센서가 가상 인체 모델과 연관되는 위치 및 가상 센서의 형식(type)은 사용자로부터 지정될 수 있다.
가상 센서는 가상 인체 모델로부터 측정할 수 있는 운동학(kinesiology) 정보, 기구학(kinematics) 정보, 지면 반발력 및 EMG를 측정할 수 있다. 예를 들어, 가상 센서는 가상 인체의 신체 부위의 가속도, 속도, 관절 각도, 관절 각 속도, 지면 반발력 및 EMG 등을 측정할 수 있다.
단계(530)에서, 프로세서(320)는 보행 모델에 기반하여 동역학 시뮬레이션을 구동함으로써 가상 센싱 데이터를 생성할 수 있다. 예를 들어, 프로세서(320)는 물리 엔진을 이용하여 동역학 시뮬레이션을 구동할 수 있다. 가상 센싱 데이터는 가상 센서에 의해 생성되고, 가상 인체 모델의 관절 각도, 보행 속도 데이터, 보행 가속도 데이터, 지면 반발력 데이터 및 EMG 신호 중 적어도 하나를 포함할 수 있다.
가상 센싱 데이터는 가상 센서를 이용하여 직접적으로 측정되는 1차 데이터 및 1차 데이터를 이용하여 계산된 2차 데이터를 포함할 수 있다. 예를 들어, 2차 데이터는 사용자의 보폭(stride length), 보속(stride rate) 및 분속수(cadence)를 포함할 수 있다. 프로세서(320)는 1차 데이터를 가공하여 2차 데이터를 계산할 수 있다.
가상 인체 모델 및 보행 환경이 입력 조건에 따라 다양하게 설정될 수 있으므로, 보행 모델에 기반하여 생성되는 가상 센싱 데이터는 보행 모델에 따라 상이할 수 있다. 동역학 시뮬레이션을 통해 알고리즘의 학습을 위한 데이터가 대규모로 용이하게 획득될 수 있다.
도 6은 일 예에 따른 가상 센싱 데이터를 이용하여 알고리즘을 학습시키는 방법의 흐름도이다.
단계(420)는 아래의 단계들(610 내지 640)을 포함할 수 있다. 단계들(610 내지 640)은 지도 학습(supervised learning) 방법일 수 있다.
단계(610)에서, 프로세서(320)는 가상 센싱 데이터에 기반하여 알고리즘을 이용하여 미리 설정된 보행 상태들에 대한 확률 값을 계산할 수 있다. 단계(610)가 처음 수행되는 경우 알고리즘의 각각의 파라미터는 초기(default) 값으로 설정되어 있을 수 있다. 미리 설정된 보행 상태들은 센싱된 데이터를 이용하여 인식될 수 있는 클래스(class)들을 의미한다. 미리 설정된 보행 상태들은 사용자의 활동의 종류, 보행 관련 질병의 종류 및 보행 환경을 포함할 수 있다.
예를 들어, 미리 설정된 보행 상태들이 평지, 내리막, 오르막 및 계단인 경우, 프로세서(320)는 가상 센싱 데이터를 이용하여 가상 센싱 데이터가 나타내는 보행 상태가 평지, 내리막, 오르막 및 계단일 확률을 각각 계산할 수 있다.
단계(620)에서, 프로세서(320)는 동역학 시뮬레이션 데이터의 레이블(label) 및 확률 값에 기반하여 오류 값을 계산할 수 있다. 동역학 시뮬레이션 데이터의 레이블은 가상 인체의 신체 특성 및 보행 환경 정보일 수 있다. 예를 들어, 레이블이 평지인 경우, 평지일 확률 0.3, 내리막일 확률 0.2, 오르막일 확률 0.3 및 계단일 확률 0.2가 계산된 경우, 오류 값은 0.7일 수 있다.
단계(630)에서, 프로세서(320)는 계산된 오류 값에 대응하여 알고리즘의 적어도 하나의 파라미터를 조정할 수 있다. 예를 들어, 프로세서(320)는 그레디언트 디센트(gradient descent) 방법을 이용하여 파라미터를 조정할 수 있다. 파라미터의 조정은 알고리즘의 역 전파(back-propagation)일 수 있다. 역 전파에 대한 자세한 설명은 뉴럴 네트워크(Neural Network)의 학습에 관한 기술분야에서 자명하므로 생략하도록 한다.
단계(640)에서, 프로세서(320)는 오류 값 및 임계 값을 비교할 수 있다. 임계 값은 미리 설정될 수 있다. 오류 값이 임계 값 이하인 경우, 알고리즘의 학습은 종료될 수 있다. 오류 값이 임계 값을 초과하는 경우, 단계들(610 내지 630)이 재 수행될 수 있다. 즉, 단계(420)는 오류 값이 임계 값 이하가 될 때까지 반복적으로(iteratively) 수행될 수 있다.
도 7은 일 예에 따른 보행 상태들에 대한 확률을 계산하는 방법의 흐름도이다.
단계(610)는 아래의 단계들(710 내지 740)을 포함할 수 있다.
단계(710)에서, 프로세서(320)는 가상 센싱 데이터를 이용하여 입력 벡터를 생성할 수 있다. 프로세서(320)는 가상 센싱 데이터에 센서 잡음을 부가할 수 있다. 예를 들어, 센서 잡음은 백색 가우시안 잡음(White Gaussian Noise) 일 수 있다. 센서 잡음이 부가된 가상 센싱 데이터는 모사 센싱 데이터(fake sensing data)일 수 있다. 프로세서(320)는 일정 시간의 가상 센싱 데이터를 이용하여 하나의 입력 벡터를 생성할 수 있다. 입력 벡터는 가상 센서의 채널 별로 생성될 수 있으며, 복수의 채널들을 포함하도록 생성될 수도 있다. 예를 들어, 입력 벡터는 보행 속도, 관절 각도 및 관절 각 속도를 포함할 수 있다. 다른 예로, 입력 벡터는 관절 각 속도의 x축 값, y축 값 및 z축 값을 포함할 수 있다.
알고리즘이 뉴럴 네트워크인 경우, 단계(710)는 데이터 레이어(data layer)에 대응할 수 있다. 프로세서(320)는 가상 센싱 데이터가 저장된 데이터베이스 또는 데이터베이스 파일로부터 데이터 및 레이블을 추출할 수 있다.
단계(720)에서, 프로세서(320)는 입력 벡터로부터 특징 요소를 추출할 수 있다. 프로세서(320)는 입력 벡터 및 커널(kernel) 벡터를 콘볼루션(convolution) 연산하여 특징 요소를 추출할 수 있다. 커널 벡터는 미리 설정된 크기의 필터일 수 있다. 특징 요소는 아래의 [수학식 1]을 이용하여 추출될 수 있다.
Figure 112015107660370-pat00001
x는 입력 벡터이고, k는 커널 벡터이고, b는 바이어스(bias) 벡터이고, y는 특징 요소이다. f는 비-선형 맵핑(non-linear mapping) 함수이고, 일 예에 따르면, 하이퍼볼릭탄젠트(hyperbolic tangent) 함수일 수 있다.
알고리즘이 뉴럴 네트워크인 경우, 단계(720)는 콘볼루션 레이어(convolution layer)에 대응할 수 있다. 콘볼루션 레이어는 하나 이상일 수 있다. 예를 들어, 콘볼루션 레이어가 하나인 경우, 입력 벡터는 하나일 수 있고, 생성되는 특징 요소도 하나일 수 있다. 다른 예로, 콘볼루션 레이어가 복수인 경우, 입력 벡터가 복수일 수 있고, 생성되는 특징 요소도 복수일 수 있다. 복수의 콘볼루션 레이어들은 병렬적으로 수행될 수 있다. 콘볼루션 레이어가 복수인 경우 복수의 채널들로 이해될 수 있으며, 각각의 콘볼루션 레이어에 의해 각 채널의 가상 센서 데이터가 처리될 수 있다. 채널 별로 가상 센서 데이터가 처리되는 경우 특성이 다른 데이터들이 독립적으로 학습될 수 있다.
단계(730)에서, 프로세서(320)는 입력 벡터를 다운 샘플링할 수 있다. 예를 들어, 프로세서(320)는 아래의 [수학식 2]를 이용하여 입력 벡터의 미리 설정된 개수의 샘플들 중 최대 값을 가지는 샘플을 선택할 수 있다.
Figure 112015107660370-pat00002
r x s는 입력 벡터의 미리 설정된 개수의 샘플들의 개수이고, 일정 영역을 나타낼 수 있다. max(x)는 일정 영역의 샘플들 중 가장 큰 샘플을 선택하는 함수이다. y는 일정 영역 내에서 최대 값을 가지는 샘플을 나타낸다.
다른 예로, 프로세서(320)는 아래의 [수학식 3]을 이용하여 입력 벡터의 미리 설정된 개수의 샘플들 중 평균 값을 가지는 샘플을 선택할 수 있다.
Figure 112015107660370-pat00003
x는 입력 벡터이고, mean(x)은 일정 영역의 샘플들 중 평균 값을 가지는 샘플을 선택하는 함수이다. y는 일정 영역 내에서 평균 값을 가지는 샘플을 나타낸다.
알고리즘이 뉴럴 네트워크인 경우, 단계(730)는 풀링 레이어(pooling layer)에 대응할 수 있다. 풀링 레이어는 하나 이상일 수 있다. 예를 들어, 콘볼루션 레이어가 하나인 경우, 풀링 레이어도 하나일 수 있다. 다른 예로, 콘볼루션 레이어가 복수인 경우, 풀링 레이어도 복수일 수 있다. 복수의 풀링 레이어들은 병렬적으로 처리될 수 있다.
일 측면에 따르면, 단계(720) 및 단계(730)는 서로 번갈아 가며 복수 회 수행될 수 있다.
단계(740)에서, 프로세서(320)는 특징 요소 및 다운 샘플링된 입력 벡터를 이용하여 미리 설정된 보행 상태들 각각에 대한 확률을 계산할 수 있다.
프로세서(320)는 아래의 [수학식 4]를 이용하여 출력 벡터를 계산할 수 있다.
Figure 112015107660370-pat00004
x는 입력 벡터이고, W는 가중 매트릭스(weight matrix) 벡터이고, b1은 바이어스(bias) 벡터이다. g(x)는 액티베이션(activation) 함수이고, 예를 들어, 아래의 [수학식 5]일 수 있다.
Figure 112015107660370-pat00005
알고리즘이 뉴럴 네트워크인 경우, 출력 벡터가 계산되는 과정은 완전-연결된 뉴럴 네트워크 레이어(fully-connected neural network layer)에 대응할 수 있다. 완전-연결된 뉴럴 네트워크 레이어는 히든 레이어(hidden layer)일 수 있다. 히든 레이어는 하나 이상의 풀링 레이어들과 완전히 연결될 수 있다. 채널 별로 가상 센서 데이터가 처리되는 경우 독립적으로 학습된 특성들이 히든 레이어에서 통합될 수 있다.
프로세서(320)는 출력 벡터를 이용하여 미리 설정된 보행 상태들 각각에 대한 확률 값을 계산할 수 있다. 미리 설정된 보행 상태들 각각에 대한 확률 값은 아래의 [수학식 6]을 이용하여 계산될 수 있다.
Figure 112015107660370-pat00006
보행 상태들의 종류는 다양할 수 있으므로, 유사한 종류 별로 분류되어 구분될 수 있다. 예를 들어, 보행 상태들은 보행 속도에 관한 클래스, 질병과 관한 클래스, 지면의 상태에 관한 클래스로 나뉠 수 있다. 프로세서(320)는 각각의 클래스에 대해 미리 설정된 보행 상태들 각각에 대한 확률 값을 계산할 수 있다. [수학식 6]에서 a는 특정한 클래스를 나타낼 수 있다. a1 내지 an는 a에 포함되는 보행 상태들이다. exp(ai)는 ai의 기대 값이고, O(a)는 클래스(a)에 대한 보행 상태들 각각에 대한 확률 값이다. 예를 들어, a가 지면의 상태에 관한 클래스이고, a1이 평지, a2이 내리막, a3이 오르막 및 a4이 계단인 경우, O(a)는 [0.5, 0.2, 0.2, 0.1]로 계산될 수 있다. 상기의 경우 a1이 확률이 가장 높기 때문에, 지면의 상태(a)는 평지(a1)로 인식될 수 있다.
알고리즘이 뉴럴 네트워크인 경우, 보행 상태들 각각에 대한 확률 값을 계산하는 과정은 소프트맥스 레이어(softmax layer)에 대응할 수 있다.
도 8은 다른 일 예에 따른 가상 센싱 데이터를 이용하여 알고리즘을 학습시키는 방법의 흐름도이다.
단계(420)는 아래의 단계들(810 내지 850)을 포함할 수 있다. 단계들(810 내지 850)은 비-지도 학습(unsupervised learning) 방법일 수 있다. 비-지도 학습 방법은 가상 센싱 데이터의 레이블이 없는 경우에 이용될 수 있다.
단계(810)에서, 프로세서(320)는 가상 센싱 데이터를 알고리즘을 이용하여 인코드(encode)함으로써 압축 정보(compressed information)를 생성할 수 있다. 압축 정보는 단계(740)의 출력 벡터에 대응할 수 있다. 가상 센싱 데이터를 인코드하는 방법에 대한 설명은 단계들(710 내지 740)에 대한 설명으로 대체될 수 있다.
단계(820)에서, 프로세서(320)는 압축 정보를 디코드(decode)함으로써 디코드 정보를 생성할 수 있다. 프로세서(320)는 인코드의 역-순서로 압축 정보를 디코드할 수 있다. 예를 들어, 압축 정보는 완전-연결된 뉴럴 네트워크 레이어, 풀링 레이어 및 콘볼루션 레이어의 순서로 디코딩될 수 있다.
단계(830)에서, 프로세서(320)는 가상 센싱 데이터 및 디코드 정보 간의 오류 값을 계산할 수 있다. 예를 들어, 프로세서(320)는 가상 센싱 데이터 및 디코드 정보 간의 크로스 엔트로피(cross entropy)를 계산함으로써 오류 값을 계산할 수 있다. 크로스 엔트로피는 아래의 [수학식 7]을 이용하여 계산될 수 있다.
Figure 112015107660370-pat00007
a는 특정한 클래스이고, n은 특정한 클래스의 포함된 보행 상태들의 개수이고, pi는 가상 센싱 데이터의 값이고, qi는 디코드 정보의 값이다.
다른 예로, 프로세서(320)는 가상 센싱 데이터 및 디코드 정보 간의 유클리디언 거리(Euclidean distance)를 계산함으로써 오류 값을 계산할 수 있다.
단계(840)에서, 프로세서(320)는 계산된 오류 값에 대응하여 알고리즘의 적어도 하나의 파라미터를 조정할 수 있다. 파라미터의 조정은 알고리즘의 역 전파일 수 있다.
단계(850)에서, 프로세서(320)는 오류 값 및 임계 값을 비교할 수 있다. 임계 값은 미리 설정될 수 있다. 오류 값이 임계 값 이하인 경우, 알고리즘의 학습은 종료될 수 있다. 오류 값이 임계 값을 초과하는 경우, 단계들(810 내지 840)이 재 수행될 수 있다. 즉, 단계(420)는 오류 값이 임계 값 이하가 될 때까지 반복적으로 수행될 수 있다.
도 9는 일 예에 따른 실제 센싱 데이터를 이용하여 알고리즘을 조정하는 방법의 흐름도이다.
알고리즘 조정 방법이 서버(150)에 의해 수행되는 경우, 단계(430)는 아래의 단계들(910 내지 920)을 포함하고, 알고리즘 조정 방법은 단계(930)을 더 포함할 수 있다.
단계(910)에서, 통신부(310)는 외부 단말로부터 실제 센싱 데이터를 수신할 수 있다. 예를 들어, 외부 단말은 보행 보조 장치(100) 또는 웨어러블 장치일 수 있다. 예를 들어, 통신부(310)는 인터넷을 이용하여 외부 단말로부터 실제 센싱 데이터를 수신할 수 있다.
단계(920)에서, 프로세서(320)는 실제 센싱 데이터를 이용하여 알고리즘을 조정할 수 있다. 실제 센싱 데이터를 이용하여 알고리즘을 조정하는 방법에 대한 설명은 가상 센싱 데이터를 이용하여 알고리즘을 조정하는 방법에 대한 설명으로 대체될 수 있으므로 생략하도록 한다.
단계(930)에서, 통신부(310)는 조정된 알고리즘을 외부 단말로 전송할 수 있다. 외부 단말은 조정된 알고리즘을 이용하여 보행 상태를 인식할 수 있다.
도 10은 다른 일 예에 따른 실제 센싱 데이터를 이용하여 알고리즘을 조정하는 방법의 흐름도이다.
일 측면에 따르면, 단계들(410 내지 430)은 동일한 장치에 의해 수행될 수 있다. 상기의 경우 단계(430)는 아래의 단계들(1010 및 1020)을 포함할 수 있다.
단계(1010)에서, 프로세서(320)는 센서를 이용하여 실제 센싱 데이터를 생성할 수 있다. 실제 센싱 데이터는 실제 센서(real sensor)를 이용하여 직접적으로 측정되는 1차 데이터 및 1차 데이터를 이용하여 계산된 2차 데이터를 포함할 수 있다. 예를 들어, 2차 데이터는 사용자의 보폭, 보속 및 분속수를 포함할 수 있다.
단계(1020)에서, 프로세서(320)는 실제 센싱 데이터를 이용하여 알고리즘을 조정할 수 있다.
도 11은 일 실시예에 따른 알고리즘 조정 장치의 구성도이다.
일 측면에 따르면, 보행 보조 장치(100)는 알고리즘 조정 장치(1100)를 포함할 수 있다. 알고리즘 조정 장치(1100)는 실제 센싱 데이터를 이용하여 알고리즘을 조정할 수 있다. 알고리즘 조정 장치(1100)는 통신부(1110), 프로세서(1120), 메모리(1130) 및 센서(1140)을 포함할 수 있다.
통신부(1110)는 보행 보조 장치(100)의 다른 장치들 또는 서버(150)와 데이터 또는 정보를 교환할 수 있다.
프로세서(1120)는 하드웨어 프로세서일 수 있다. 프로세서(1120)는 통신부(1110)가 수신한 데이터 및 메모리(1130)에 저장된 데이터를 처리할 수 있다. 예를 들어, 프로세서(1120)는 제어부(140)를 포함할 수 있다.
메모리(1130)는 통신부(1110)가 수신한 데이터 및 프로세서(1120)가 처리한 데이터를 저장할 수 있다.
센서(1140)는 사용자의 보행에 관한 정보들을 측정할 수 있다. 센서(1140)는 센서부(120) 및 IMU(130)를 포함할 수 있다. 센서(1140)는 보행의 속도 및 가속도, 관절 각도, 관절 각 속도, 지면 반발력 및 EMG를 측정할 수 있다.
도 12는 일 실시예에 따른 알고리즘 조정 방법의 흐름도이다.
단계(1210)에서, 프로세서(1120)는 가상 센싱 데이터를 통해 학습된 알고리즘을 획득할 수 있다. 상기의 가상 센싱 데이터는 동역학 시뮬레이션을 통해 가상 인체 모델의 보행과 연관되어 생성된 것일 수 있고, 알고리즘은 가상 센싱 데이터를 이용하여 사용자의 보행 상태를 인식하도록 학습된 것일 수 있다.
예를 들어, 프로세서(1120)는 통신부(1110)를 통해 서버(150)로부터 수신한 학습된 알고리즘을 수신할 수 있다. 다른 예로, 프로세서(1120)는 메모리(1130)에 저장된 알고리즘을 로드할 수 있다. 또 다른 예로, 알고리즘이 칩(chip)의 형태로 구현되는 경우 프로세서(1120)는 상기의 칩을 이용하여 알고리즘을 획득할 수 있다.
단계(1220)에서, 센서(1140)는 실제 센싱 데이터를 생성할 수 있다. 실제 센싱 데이터는 보행 보조 장치(100)의 센서부(120) 및 IMU(130)의 각 센서에 의해 측정된 데이터일 수 있다. 예를 들어, 실제 센싱 데이터는 보행 보조 장치(100)를 착용한 사람의 관절 각도, 보행 속도 데이터, 보행 가속도 데이터, 지면 반발력 데이터 및 EMG 신호 중 적어도 하나를 포함할 수 있다. 실제 센싱 데이터의 종류는 가상 센싱 데이터의 종류와 서로 대응할 수 있다.
단계(1230)에서, 프로세서(1120)는 실제 센싱 데이터를 이용하여 알고리즘을 조정할 수 있다.
도 13은 일 예에 따른 실제 센싱 데이터를 이용하여 알고리즘을 조정하는 방법의 흐름도이다.
단계(1230)는 아래의 단계들(1310 내지 1380)을 포함할 수 있다.
단계(1310)에서, 프로세서(1120)는 실제 센싱 데이터를 이용하여 입력 벡터를 생성할 수 있다. 입력 벡터를 생성하는 방법에 대한 설명은 가상 센싱 데이터를 이용하여 입력 벡터를 생성하는 방법(단계(710))에 대한 설명이 유사하게 적용될 수 있다.
단계(1320)에서, 프로세서(1120)는 입력 벡터로부터 특징 요소를 추출할 수 있다. 특징 요소를 추출하는 방법에 대한 설명은 단계(720)에 대한 설명이 유사하게 적용될 수 있다.
단계(1330)에서, 프로세서(1120)는 입력 벡터를 다운 샘플링할 수 있다. 입력 벡터를 다운 샘플링하는 방법에 대한 설명은 단계(730)에 대한 설명이 유사하게 적용될 수 있다.
단계(1340)에서, 프로세서(1120)는 실제 센싱 데이터 및 가상 센싱 데이터가 서로 대응할 수 있도록 조정할 수 있다. 가상 센싱 데이터는 동역학 시뮬레이션을 통해 생성된 데이터이므로 생성되는 종류가 실제 센싱 데이터의 종류에 비해 더 많을 수 있으며, 가상 센싱 데이터의 형식이 실제 센싱 데이터의 형식과 상이할 수 있으므로 실제 센싱 데이터 및 가상 센싱 데이터가 서로 대응할 수 있도록 조정될 수 있다.
단계(1350)에서, 프로세서(1120)는 특징 요소 및 다운 샘플링된 입력 벡터를 이용하여 미리 설정된 보행 상태들 각각에 대한 확률을 계산할 수 있다. 미리 설정된 보행 상태들 각각에 대한 확률을 계산하는 방법에 대한 설명은 단계(740)에 대한 설명이 유사하게 적용될 수 있다.
단계(1360)에서, 프로세서(1120)는 계산된 확률 값에 기반하여 오류 값을 계산할 수 있다. 예를 들어, 프로세서(1120)는 지도 학습 방법을 이용하여 오류 값을 계산할 수 있다. 다른 예로, 프로세서(1120)는 비-지도 학습 방법 방법을 이용하여 오류 값을 계산할 수 있다.
단계(1370)에서, 프로세서(1120)는 계산된 오류 값이 감소하도록 알고리즘의 적어도 하나의 파라미터를 조정할 수 있다. 파라미터의 조정은 알고리즘의 역 전파일 수 있다. 알고리즘의 파라미터를 조정하는 방법에 대한 설명은 단계(630)에 대한 설명이 유사하게 적용될 수 있다.
단계(1380)에서, 프로세서(1120)는 오류 값 및 임계 값을 비교할 수 있다. 알고리즘의 조정을 위한 임계 값은 알고리즘의 학습에 이용된 임계 값과 상이할 수 있다. 예를 들어, 알고리즘의 조정을 위한 임계 값은 알고리즘의 학습에 이용된 임계 값 보다 더 클 수 있다. 오류 값이 임계 값 이하인 경우, 알고리즘의 학습은 종료될 수 있다. 오류 값이 임계 값을 초과하는 경우, 단계들(1310 내지 1370)이 재 수행될 수 있다. 즉, 단계(1230)는 오류 값이 임계 값 이하가 될 때까지 반복적으로 수행될 수 있다.
<알고리즘 학습 장치의 활용>
위에서 설명한 방법으로 알고리즘 학습 장치를 구현할 수 있다. 이러한 알고리즘 학습 장치는 아래 설명하는 다양한 방식으로 활용될 수 있다. 아래의 설명은 예시적인 것일 뿐, 이에 한정되지 않는다.
(1) 서버-클라이언트 기반의 알고리즘 학습 장치 모델(분산 모델)
분산 모델은 서버(150)에 의해 알고리즘이 학습 및 조정되는 모델이다. 분산 모델의 서버(150)는 알고리즘 학습 장치(300) 및 알고리즘 조정 장치(1100)를 모두 포함할 수 있다. 서버(150)는 알고리즘 학습 장치(300)를 통해 가상 센싱 데이터를 생성하고, 가상 센싱 데이터를 이용하여 알고리즘을 학습시킬 수 있다(단계 410 및 420). 서버(150)는 알고리즘 조정 장치(1100)를 통해 클라이언트 단말로부터 실제 센싱 데이터를 수신하고, 실제 센싱 데이터를 이용하여 알고리즘을 조정할 수 있다(단계 910 및 920).
알고리즘 학습 장치(300) 및 알고리즘 조정 장치(1100)가 개별적인 장치인 것으로 설명되었으나, 분산 모델의 경우 알고리즘 학습 장치(300)는 알고리즘 조정 장치(1100)를 포함할 수 있다. 예를 들어, 프로세서(320)는 프로세서(1120)의 동작들을 모두 수행할 수 있다.
(2) 알고리즘 학습 장치가 단말에 포함되는 모델(통합 모델)
통합 모델은 클라이언트 단말에 의해 알고리즘이 학습 및 조정되는 모델이다. 예를 들어, 클라이언트 단말은 보행 보조 장치(100)에 포함될 수 있다. 클라이언트 단말은 알고리즘 학습 장치(300)를 통해 가상 센싱 데이터를 생성하고, 가상 센싱 데이터를 이용하여 알고리즘을 학습시킬 수 있다(단계 410 및 420). 클라이언트 단말은 알고리즘 조정 장치(1100)를 통해 실제 센싱 데이터를 생성하고, 실제 센싱 데이터를 이용하여 알고리즘을 조정할 수 있다(단계 1010 및 1020).
알고리즘 학습 장치(300) 및 알고리즘 조정 장치(1100)가 개별적인 장치인 것으로 설명되었으나, 통합 모델의 경우 알고리즘 학습 장치(300)는 알고리즘 조정 장치(1100)를 포함할 수 있다. 예를 들어, 프로세서(320)는 프로세서(1120)의 동작들을 모두 수행할 수 있다.
(3) 분산-통합을 결합한 하이브리드 모델
하이브리드(hybrid) 모델은 서버(150)에 의해 알고리즘이 학습되고, 클라이언트 단말에 의해 알고리즘이 조정되는 모델이다. 하이브리드 모델의 경우, 알고리즘 학습 장치(300)는 서버(150)에 포함되고, 알고리즘 조정 장치(1100)는 클라이언트 단말에 포함되는 각각의 장치인 것으로 이해될 수 있다.
예를 들어, 서버(150)는 알고리즘 학습 장치(300)를 통해 가상 센싱 데이터를 생성하고, 가상 센싱 데이터를 이용하여 알고리즘을 학습시킬 수 있다(단계 410 및 420). 클라이언트 단말은 알고리즘 조정 장치(1100)를 통해 실제 센싱 데이터를 생성하고, 실제 센싱 데이터를 이용하여 알고리즘을 조정할 수 있다(단계 1010 및 1020). 알고리즘 조정 장치(1100)가 조정하는 초기의 알고리즘은 알고리즘 학습 장치(300)에 의해 학습된 알고리즘이다. 초기의 알고리즘은 데이터 또는 칩의 형태로 클라이언트 단말에 저장 또는 구현될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 청구범위의 범위에 속한다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
 이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
100: 보행 보조 장치
150: 서버
300: 알고리즘 학습 장치
1100: 알고리즘 조정 장치

Claims (28)

  1. 사용자의 보행 상태를 인식하는 알고리즘을 학습시키는 장치에 의해 수행되는,
    동역학 시뮬레이션(dynamic simulation)을 통해 가상 인체 모델의 보행과 연관된 가상 센싱 데이터(virtual sensing data)를 생성하는 단계; 및
    상기 가상 센싱 데이터를 이용하여 사용자의 보행 상태(walking state)를 인식하는 알고리즘을 학습시키는 단계
    를 포함하는,
    알고리즘 학습 방법.
  2. 제1항에 있어서,
    상기 가상 센싱 데이터를 생성하는 단계는,
    가상 인체의 신체 특성에 기반하여 상기 가상 인체 모델을 생성하는 단계;
    상기 가상 인체 모델 및 보행 환경 정보에 기반하여 보행 모델을 생성하는 단계; 및
    상기 보행 모델에 기반하여 상기 동역학 시뮬레이션을 구동함으로써 상기 가상 센싱 데이터를 생성하는 단계;
    를 포함하는,
    알고리즘 학습 방법.
  3. 제2항에 있어서,
    상기 가상 센싱 데이터를 생성하는 단계는,
    가상 센서(virtual sensor)를 상기 가상 인체 모델과 연관시키는 단계
    를 더 포함하고,
    상기 가상 센싱 데이터는 상기 가상 센서에 의해 생성되는,
    알고리즘 학습 방법.
  4. 제1항에 있어서,
    상기 가상 센싱 데이터는 상기 가상 인체 모델의 관절 각도, 보행 속도 데이터, 보행 가속도 데이터, 지면 반발력(ground reaction force) 및 근전도(elecromyographic; EMG) 신호 중 적어도 하나를 포함하는,
    알고리즘 학습 방법.
  5. ◈청구항 5은(는) 설정등록료 납부시 포기되었습니다.◈
    제1항에 있어서,
    상기 알고리즘은 딥 뉴럴 네트워크(Deep Neural Network; DNN)인,
    알고리즘 학습 방법.
  6. ◈청구항 6은(는) 설정등록료 납부시 포기되었습니다.◈
    제5항에 있어서,
    상기 DNN은 딥 콘볼루션 뉴럴 네트워크(Deep Convolution Neural Network; DCNN) 또는 딥 빌리프 네트워크(Deep Belief Network; DBN) 중 어느 하나인,
    알고리즘 학습 방법.
  7. 제1항에 있어서,
    상기 알고리즘을 학습시키는 단계는,
    상기 가상 센싱 데이터에 기반하여 상기 알고리즘을 이용하여 미리 설정된 보행 상태들 각각에 대한 확률 값을 계산하는 단계;
    동역학 시뮬레이션 데이터의 레이블(label) 및 상기 확률 값에 기반하여 오류 값을 계산하는 단계; 및
    상기 오류 값이 감소하도록 상기 알고리즘의 적어도 하나의 파라미터를 조정하는 단계
    를 포함하는,
    알고리즘 학습 방법.
  8. 제7항에 있어서,
    상기 알고리즘을 학습시키는 단계는,
    상기 오류 값이 미리 설정된 값 이하가 될 때까지 반복적으로(iteratively) 수행되는 단계인,
    알고리즘 학습 방법.
  9. 제7항에 있어서,
    상기 확률 값을 계산하는 단계는,
    상기 가상 센싱 데이터를 이용하여 입력 벡터를 생성하는 단계;
    상기 입력 벡터로부터 특징 요소를 추출하는 단계;
    상기 입력 벡터를 다운 샘플링하는 단계; 및
    상기 특징 요소 및 다운 샘플링된 입력 벡터를 이용하여 상기 미리 설정된 보행 상태들 각각에 대한 확률을 계산하는 단계
    를 포함하는,
    알고리즘 학습 방법.
  10. 제1항에 있어서,
    상기 알고리즘을 학습시키는 단계는,
    상기 가상 센싱 데이터를 상기 알고리즘을 이용하여 인코드(encode)함으로써 압축 정보(compressed information)를 생성하는 단계;
    상기 압축 정보를 디코드(decode)하여 디코드 정보(decoded information)를 생성하는 단계;
    상기 가상 센싱 데이터 및 상기 디코드 정보 간의 오류 값을 계산하는 단계; 및
    상기 오류 값에 기반하여 상기 알고리즘의 적어도 하나의 파라미터를 조정하는 단계
    를 포함하는,
    알고리즘 학습 방법.
  11. 제10항에 있어서,
    상기 오류 값을 계산하는 단계는,
    상기 가상 센싱 데이터 및 상기 디코드 정보 간의 크로스 엔트로피(cross entropy) 또는 유클리디언 거리(Euclidean distance) 중 어느 하나를 계산하는 단계인,
    알고리즘 학습 방법.
  12. 제1항에 있어서,
    실제 센싱 데이터(real sensing data)를 이용하여 상기 알고리즘을 조정하는 단계
    를 더 포함하는,
    알고리즘 학습 방법.
  13. 제12항에 있어서,
    상기 알고리즘을 조정하는 단계는,
    외부 단말로부터 상기 실제 센싱 데이터를 수신하는 단계; 및
    상기 실제 센싱 데이터를 이용하여 상기 알고리즘을 조정하는 단계
    를 포함하고,
    상기 알고리즘 학습 방법은,
    상기 조정된 알고리즘을 상기 외부 단말로 전송하는 단계
    를 더 포함하는,
    알고리즘 학습 방법.
  14. ◈청구항 14은(는) 설정등록료 납부시 포기되었습니다.◈
    제13항에 있어서,
    상기 외부 단말은 웨어러블 장치(wearable device)인,
    알고리즘 학습 방법.
  15. ◈청구항 15은(는) 설정등록료 납부시 포기되었습니다.◈
    제13항에 있어서,
    상기 외부 단말은 보행 보조 장치(walking assistance device)인,
    알고리즘 학습 방법.
  16. 제12항에 있어서,
    상기 알고리즘을 조정하는 단계는,
    센서를 이용하여 사람의 보행에 관한 실제 센싱 데이터를 생성하는 단계; 및
    상기 실제 센싱 데이터를 이용하여 상기 알고리즘을 조정하는 단계
    를 포함하는,
    알고리즘 학습 방법.
  17. 제16항에 있어서,
    상기 실제 센싱 데이터는 상기 사람의 관절 각도, 보행 속도 데이터, 보행 가속도 데이터, 지면 반발력 및 EMG 신호 중 적어도 하나를 포함하는,
    알고리즘 학습 방법.
  18. 제1항 내지 제17항 중 어느 한 항의 방법을 수행하는 프로그램을 수록한 컴퓨터 판독 가능 기록 매체.
  19. 동역학 시뮬레이션(dynamic simulation)을 통해 가상 인체 모델의 보행과 연관된 가상 센싱 데이터(virtual sensing data)를 생성하고, 상기 가상 센싱 데이터를 이용하여 사용자의 보행 상태(walking state)을 인식하는 알고리즘을 학습시키는 프로세서; 및
    상기 알고리즘을 저장하는 메모리
    를 포함하는,
    알고리즘 학습 장치.
  20. 가상 센싱 데이터(virtual sensing data)를 통해 학습된 알고리즘을 획득하는 단계;
    센서를 통해 사람의 보행에 관한 실제 센싱 데이터(real sensing data)를 생성하는 단계; 및
    상기 실제 센싱 데이터를 이용하여 상기 알고리즘을 조정하는 단계
    를 포함하고,
    상기 가상 센싱 데이터는, 동역학 시뮬레이션(dynamic simulation)을 통해 가상 인체 모델의 보행과 연관되어 생성되고,
    상기 알고리즘은, 상기 가상 센싱 데이터를 이용하여 사용자의 보행 상태(walking state)를 인식하도록 학습된 것인,
    알고리즘 조정 방법.
  21. ◈청구항 21은(는) 설정등록료 납부시 포기되었습니다.◈
    제20항에 있어서,
    상기 알고리즘은 딥 뉴럴 네트워크(Deep Neural Network; DNN)인,
    알고리즘 조정 방법.
  22. ◈청구항 22은(는) 설정등록료 납부시 포기되었습니다.◈
    제21항에 있어서,
    상기 DNN은 딥 콘볼루션 뉴럴 네트워크(Deep Convolution Neural Network; DCNN) 또는 딥 빌리프 네트워크(Deep Belief Network; DBN)인,
    알고리즘 조정 방법.
  23. 제20항에 있어서,
    상기 실제 센싱 데이터를 생성하는 단계는,
    상기 사용자가 착용한 단말의 상기 센서가 상기 실제 센싱 데이터를 생성하는 단계인,
    알고리즘 조정 방법.
  24. ◈청구항 24은(는) 설정등록료 납부시 포기되었습니다.◈
    제23항에 있어서,
    상기 단말은 웨어러블 장치(wearable device)인,
    알고리즘 조정 방법.
  25. ◈청구항 25은(는) 설정등록료 납부시 포기되었습니다.◈
    제23항에 있어서,
    상기 단말은 보행 보조 장치(walking assistance device)인,
    알고리즘 조정 방법.
  26. 제20항에 있어서,
    상기 실제 센싱 데이터는 상기 사람의 관절 각도, 보행 속도 데이터, 보행 가속도 데이터, 지면 반발력 및 EMG 신호 중 적어도 하나를 포함하는,
    알고리즘 조정 방법.
  27. 제20항 내지 제26항 중 어느 한 항의 방법을 수행하는 프로그램을 수록한 컴퓨터 판독 가능 기록 매체.
  28. 가상 센싱 데이터(virtual sensing data)를 통해 학습된 알고리즘을 저장하는 메모리;
    사람의 보행에 관한 실제 센싱 데이터(real sensing data)를 생성하는 센서; 및
    상기 실제 센싱 데이터를 이용하여 상기 알고리즘을 조정하는 프로세서
    를 포함하고
    상기 가상 센싱 데이터는, 동역학 시뮬레이션(dynamic simulation)을 통해 가상 인체 모델의 보행과 연관되어 생성되고,
    상기 알고리즘은, 상기 가상 센싱 데이터를 이용하여 사용자의 보행 상태(walking state)를 인식하도록 학습된 것인,
    알고리즘 조정 장치.
KR1020150154910A 2015-11-05 2015-11-05 알고리즘 학습 방법 및 장치 KR102459677B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020150154910A KR102459677B1 (ko) 2015-11-05 2015-11-05 알고리즘 학습 방법 및 장치
US15/054,763 US10535015B2 (en) 2015-11-05 2016-02-26 Walking assistance apparatus and method of controlling same
CN201610357176.1A CN106681487B (zh) 2015-11-05 2016-05-26 步行辅助设备和控制步行辅助设备的方法
EP16190878.5A EP3166033A1 (en) 2015-11-05 2016-09-27 Walking assistance apparatus and method of controlling same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150154910A KR102459677B1 (ko) 2015-11-05 2015-11-05 알고리즘 학습 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20170052870A KR20170052870A (ko) 2017-05-15
KR102459677B1 true KR102459677B1 (ko) 2022-10-28

Family

ID=57018010

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150154910A KR102459677B1 (ko) 2015-11-05 2015-11-05 알고리즘 학습 방법 및 장치

Country Status (4)

Country Link
US (1) US10535015B2 (ko)
EP (1) EP3166033A1 (ko)
KR (1) KR102459677B1 (ko)
CN (1) CN106681487B (ko)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9740944B2 (en) * 2015-12-18 2017-08-22 Ford Global Technologies, Llc Virtual sensor data generation for wheel stop detection
EP3504652B1 (en) * 2016-08-25 2024-02-28 Novo Nordisk A/S Starter kit for basal insulin titration
US11216766B2 (en) * 2017-01-09 2022-01-04 Kabushiki Kaisha Toshiba System and method for generalized skill assessment using activity data
EP3610410A1 (en) * 2017-04-14 2020-02-19 Koninklijke Philips N.V. Person identification systems and methods
CN107292250A (zh) * 2017-05-31 2017-10-24 西安科技大学 一种基于深度神经网络的步态识别方法
KR102550887B1 (ko) * 2017-09-20 2023-07-06 삼성전자주식회사 개인화된 보행 정책을 갱신하는 방법 및 장치
KR102483382B1 (ko) * 2017-11-15 2022-12-30 삼성전자주식회사 보행 보조 방법 및 장치
CN108875523B (zh) * 2017-12-28 2021-02-26 北京旷视科技有限公司 人体关节点检测方法、装置、系统和存储介质
US11328210B2 (en) * 2017-12-29 2022-05-10 Micron Technology, Inc. Self-learning in distributed architecture for enhancing artificial neural network
CN108014001B (zh) * 2018-01-02 2020-03-17 北京理工大学 一种柔性助行外骨骼
US10522038B2 (en) 2018-04-19 2019-12-31 Micron Technology, Inc. Systems and methods for automatically warning nearby vehicles of potential hazards
CN108958482B (zh) * 2018-06-28 2021-09-28 福州大学 一种基于卷积神经网络的相似性动作识别装置及方法
JP7110884B2 (ja) * 2018-10-01 2022-08-02 オムロン株式会社 学習装置、制御装置、学習方法、及び学習プログラム
CN109508088A (zh) * 2018-10-23 2019-03-22 诺百爱(杭州)科技有限责任公司 一种基于肌电信号手语识别翻译臂环及手语识别方法
KR102284021B1 (ko) 2018-11-28 2021-07-30 단국대학교 산학협력단 보행 압력 데이터 및 머신러닝을 이용하는 보행 패턴 분류 시스템 및 방법
CN109614899B (zh) * 2018-11-29 2022-07-01 重庆邮电大学 一种基于李群特征和卷积神经网络的人体动作识别方法
CN111259700B (zh) * 2018-12-03 2024-04-09 北京京东尚科信息技术有限公司 用于生成步态识别模型的方法和装置
KR20200085083A (ko) * 2019-01-04 2020-07-14 삼성전자주식회사 보행 보조 장치의 제어 방법 및 장치
US11373466B2 (en) 2019-01-31 2022-06-28 Micron Technology, Inc. Data recorders of autonomous vehicles
US11410475B2 (en) 2019-01-31 2022-08-09 Micron Technology, Inc. Autonomous vehicle data recorders
WO2020231049A1 (en) 2019-05-16 2020-11-19 Samsung Electronics Co., Ltd. Neural network model apparatus and compressing method of neural network model
US20220233916A1 (en) * 2019-06-12 2022-07-28 Nippon Telegraph And Telephone Corporation Living body guidance apparatus, living body guidance method and living body guidance program
JP7326927B2 (ja) * 2019-06-27 2023-08-16 トヨタ自動車株式会社 学習装置、リハビリ支援システム、方法、プログラム、及び学習済みモデル
JP7326926B2 (ja) * 2019-06-27 2023-08-16 トヨタ自動車株式会社 学習装置、リハビリ支援システム、方法、プログラム、及び学習済みモデル
US11636334B2 (en) 2019-08-20 2023-04-25 Micron Technology, Inc. Machine learning with feature obfuscation
US11392796B2 (en) 2019-08-20 2022-07-19 Micron Technology, Inc. Feature dictionary for bandwidth enhancement
US20210056391A1 (en) * 2019-08-20 2021-02-25 Mind Machine Learning, Inc. Systems and Methods for Simulating Sense Data and Creating Perceptions
US11755884B2 (en) 2019-08-20 2023-09-12 Micron Technology, Inc. Distributed machine learning with privacy protection
CN110704135B (zh) * 2019-09-26 2020-12-08 北京智能工场科技有限公司 一种基于虚拟环境的竞赛数据处理系统和方法
KR102352537B1 (ko) * 2020-02-18 2022-01-17 고려대학교 산학협력단 보행 보조 시스템
KR102544549B1 (ko) * 2021-01-28 2023-06-20 한국과학기술원 인체를 보조하는 웨어러블 장치를 설계하기 위한 시뮬레이션 방법 및 이를 수행하는 장치들

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014161390A (ja) 2013-02-21 2014-09-08 Honda Motor Co Ltd 歩行状態推定装置および歩行状態推定方法

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08221599A (ja) 1995-02-15 1996-08-30 Matsushita Electric Ind Co Ltd 3次元の動き生成および解析方法
GB9525047D0 (en) * 1995-12-07 1996-02-07 Philips Electronics Nv Virtual body control device
JP3355113B2 (ja) 1997-09-02 2002-12-09 株式会社モノリス 人体の動きのシミュレーション方法およびその方法を用いたアニメーション生成方法
US7016529B2 (en) * 2002-03-15 2006-03-21 Microsoft Corporation System and method facilitating pattern recognition
JP3960536B2 (ja) 2002-08-12 2007-08-15 株式会社国際電気通信基礎技術研究所 モーションキャプチャのためにパラメトリックな動力学モデルを人間の行為者のサイズに自動的に適応させるための、コンピュータで実現される方法およびコンピュータで実行可能なプログラム
JP5028751B2 (ja) * 2005-06-09 2012-09-19 ソニー株式会社 行動認識装置
US20080221487A1 (en) 2007-03-07 2008-09-11 Motek Bv Method for real time interactive visualization of muscle forces and joint torques in the human body
US8284070B2 (en) 2007-05-14 2012-10-09 The Ohio State University Assessment device
CN102481194A (zh) * 2009-01-30 2012-05-30 麻省理工学院 具有主缩肌-拮抗肌激励的动力人造膝
KR101098834B1 (ko) 2009-12-02 2011-12-26 한국전자통신연구원 동역학 기반 동작 생성 장치 및 방법
JP5588724B2 (ja) 2010-04-23 2014-09-10 本田技研工業株式会社 歩行運動補助装置
CN101917150B (zh) * 2010-06-24 2012-06-20 江苏大学 永磁同步电机模糊神经网络广义逆鲁棒控制器及构造方法
US20120119904A1 (en) * 2010-10-19 2012-05-17 Orthocare Innovations Llc Fall risk assessment device and method
US9922256B2 (en) * 2011-06-30 2018-03-20 Yale University Subject sensing in an environment
WO2013049658A1 (en) * 2011-09-28 2013-04-04 Northeastern University Lower extremity exoskeleton for gait retraining
KR101323019B1 (ko) * 2011-11-25 2013-10-29 신대섭 보행 보조 로봇을 이용한 재활 치료장치
US9572520B2 (en) 2011-12-21 2017-02-21 Shinshu University Movement assistance device, and synchrony based control method for movement assistance device
MX2014011131A (es) * 2012-03-22 2015-06-02 Ekso Bionics Inc Interconexion maquina-persona para aparatos ortopedicos de extremidad inferior.
US9221177B2 (en) * 2012-04-18 2015-12-29 Massachusetts Institute Of Technology Neuromuscular model-based sensing and control paradigm for a robotic leg
CN103049741A (zh) * 2012-12-21 2013-04-17 中国科学院合肥物质科学研究院 基于足地作用力的步态特征提取方法及步态识别系统
CN103093234B (zh) * 2012-12-21 2016-01-06 中国科学院合肥物质科学研究院 基于步行时地面反作用力的身份识别方法
KR102018706B1 (ko) 2013-03-15 2019-09-05 에스알아이 인터내셔널 엑소수트 시스템
US10843332B2 (en) * 2013-05-31 2020-11-24 President And Fellow Of Harvard College Soft exosuit for assistance with human motion
CN105848565B (zh) * 2013-10-14 2021-10-26 耐克创新有限合伙公司 由运动移动属性计算步伐和能量消耗
US9445769B2 (en) 2013-12-06 2016-09-20 President And Fellows Of Harvard College Method and apparatus for detecting disease regression through network-based gait analysis
US9443063B2 (en) 2013-12-06 2016-09-13 President And Fellows Of Harvard College Method and apparatus for using gait analysis to determine a health quality measure
US9710964B2 (en) 2014-01-23 2017-07-18 Max-Planck-Gesellschaft Zur Foerderung Der Wissenschaften E.V. Method for providing a three dimensional body model
US9589203B2 (en) * 2014-03-24 2017-03-07 Tata Consultancy Services Limited Action based activity determination system and method
WO2015164456A2 (en) * 2014-04-22 2015-10-29 The Trustees Of Columbia University In The City Of New York Gait analysis devices, methods, and systems
WO2016065534A1 (zh) * 2014-10-28 2016-05-06 中国科学院自动化研究所 一种基于深度学习的歩态识别方法
US10007332B2 (en) * 2015-09-28 2018-06-26 Interblock D.D. Electronic gaming machine in communicative control with avatar display from motion-capture system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014161390A (ja) 2013-02-21 2014-09-08 Honda Motor Co Ltd 歩行状態推定装置および歩行状態推定方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
공개특허공보 제10-2013-0058576호(2013.6.4. 공개) 1부.*
미국 특허출원공개공보 US2013/0226048호(2013.8.29.) 1부.*

Also Published As

Publication number Publication date
EP3166033A1 (en) 2017-05-10
KR20170052870A (ko) 2017-05-15
CN106681487B (zh) 2021-05-04
US20170132527A1 (en) 2017-05-11
US10535015B2 (en) 2020-01-14
CN106681487A (zh) 2017-05-17

Similar Documents

Publication Publication Date Title
KR102459677B1 (ko) 알고리즘 학습 방법 및 장치
KR102292683B1 (ko) 보행 환경 인식 방법 및 장치
US11865709B2 (en) Assisting torque setting method and apparatus
Alharthi et al. Deep learning for monitoring of human gait: A review
Kang et al. Real-time gait phase estimation for robotic hip exoskeleton control during multimodal locomotion
Bajpai et al. Movenet: A deep neural network for joint profile prediction across variable walking speeds and slopes
US20150012111A1 (en) Methods for closed-loop neural-machine interface systems for the control of wearable exoskeletons and prosthetic devices
Li et al. An adaptive and on-line IMU-based locomotion activity classification method using a triplet Markov model
De Rossi et al. Gait segmentation using bipedal foot pressure patterns
KR20160062933A (ko) 보조력 설정 방법 및 장치
Zheng et al. On the design of a wearable multi-sensor system for recognizing motion modes and sit-to-stand transition
Prado et al. Prediction of gait cycle percentage using instrumented shoes with artificial neural networks
Peng et al. Human walking pattern recognition based on KPCA and SVM with ground reflex pressure signal
Choi et al. Unsupervised gait phase estimation with domain-adversarial neural network and adaptive window
Liu et al. A fully connected deep learning approach to upper limb gesture recognition in a secure FES rehabilitation environment
Zhen et al. Hybrid deep-learning framework based on Gaussian fusion of multiple spatiotemporal networks for walking gait phase recognition
Hollinger et al. The influence of gait phase on predicting lower-limb joint angles
KR102280291B1 (ko) 검출정보별 신경망 분석을 실시하여 파킨슨 환자 및 족관절염 환자를 식별하는 장치 및 방법
Tiwari et al. A shoe-mounted infrared sensor-based instrumentation for locomotion identification using machine learning methods
KR102302719B1 (ko) 검출정보별 신경망 분석을 실시하여 보행 종류를 분류하는 장치 및 방법
KR102194313B1 (ko) 검출정보별 신경망 분석을 실시하여 개인을 식별하는 장치 및 방법
Srivastava et al. Hierarchical human activity recognition using GMM
Na et al. Deep domain adaptation, pseudo-labeling, and shallow network for accurate and fast gait prediction of unlabeled datasets
Karg et al. A Two-fold PCA-Approach for Inter-Individual Recognition of Emotions in Natural Walking.
Gutiérrez et al. Human stability assessment and fall detection based on dynamic descriptors

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant