KR20240043378A - 합성 보행 데이터를 생성하는 방법 및 그 방법을 수행하는 전자 장치 - Google Patents

합성 보행 데이터를 생성하는 방법 및 그 방법을 수행하는 전자 장치 Download PDF

Info

Publication number
KR20240043378A
KR20240043378A KR1020220122381A KR20220122381A KR20240043378A KR 20240043378 A KR20240043378 A KR 20240043378A KR 1020220122381 A KR1020220122381 A KR 1020220122381A KR 20220122381 A KR20220122381 A KR 20220122381A KR 20240043378 A KR20240043378 A KR 20240043378A
Authority
KR
South Korea
Prior art keywords
data
synthetic
gait
walking
latent space
Prior art date
Application number
KR1020220122381A
Other languages
English (en)
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 KR1020220122381A priority Critical patent/KR20240043378A/ko
Priority to PCT/KR2023/012163 priority patent/WO2024071679A1/ko
Publication of KR20240043378A publication Critical patent/KR20240043378A/ko

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/0095Means or methods for testing manipulators
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/103Detecting, measuring or recording devices for testing the shape, pattern, colour, size or movement of the body or parts thereof, for diagnostic purposes
    • A61B5/11Measuring movement of the entire body or parts thereof, e.g. head or hand tremor, mobility of a limb
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/103Detecting, measuring or recording devices for testing the shape, pattern, colour, size or movement of the body or parts thereof, for diagnostic purposes
    • A61B5/11Measuring movement of the entire body or parts thereof, e.g. head or hand tremor, mobility of a limb
    • A61B5/112Gait analysis
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/103Detecting, measuring or recording devices for testing the shape, pattern, colour, size or movement of the body or parts thereof, for diagnostic purposes
    • A61B5/11Measuring movement of the entire body or parts thereof, e.g. head or hand tremor, mobility of a limb
    • A61B5/1121Determining geometric values, e.g. centre of rotation or angular range of movement
    • A61B5/1122Determining geometric values, e.g. centre of rotation or angular range of movement of movement trajectories
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/006Controls for manipulators by means of a wireless system for controlling one or several manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/0006Exoskeletons, i.e. resembling a human figure
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/1605Simulation of manipulator lay-out, design, modelling of manipulator
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor

Landscapes

  • Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Physics & Mathematics (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Dentistry (AREA)
  • Biophysics (AREA)
  • Pathology (AREA)
  • Biomedical Technology (AREA)
  • Heart & Thoracic Surgery (AREA)
  • Medical Informatics (AREA)
  • Physiology (AREA)
  • Surgery (AREA)
  • Animal Behavior & Ethology (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Public Health (AREA)
  • Veterinary Medicine (AREA)
  • Automation & Control Theory (AREA)
  • Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)
  • Geometry (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)

Abstract

일 실시 예에 따른, 전자 장치는 생성될 합성 보행 데이터의 보행 특징에 대한 타겟 값을 획득하고, 타겟 값에 기초하여 미리 생성된 잠재 공간 상에 배치된 복수의 좌표 데이터들 중 타겟 좌표 데이터를 결정하고, 타겟 좌표 데이터에 기초하여 합성 데이터 생성 모델을 이용하여 합성 보행 데이터를 생성할 수 있다.

Description

합성 보행 데이터를 생성하는 방법 및 그 방법을 수행하는 전자 장치{METHOD FOR GENERATING SYNTHETHIC GAIT DATA AND ELECTRONIC DEVICE PERFORMING THE METHOD}
본 출원은 로봇을 제어하는 데이터를 생성하는 기술에 관한 것이다.
고령화 사회로 진입하면서 노화로 인한 근력 약화 또는 관절 이상으로 보행에 불편과 고통을 호소하는 사람들이 증가하고 있고, 근력이 약화된 노인이나 근관절이 불편한 환자들이 보행을 원활하게 할 수 있는 보행 보조 장치에 대한 관심이 높아지고 있다.
일 실시 예에 따른, 전자 장치는 외부 장치와 데이터를 교환하는 통신 모듈, 및 전자 장치를 제어하는 적어도 하나의 프로세서를 포함하고, 프로세서는 생성될 합성 보행 데이터의 보행 특징에 대한 타겟 값을 획득하는 동작, 타겟 값에 기초하여 미리 생성된 잠재 공간(latent space) 상에 배치된 복수의 좌표 데이터들 중 타겟 좌표 데이터를 결정하는 동작, 및 타겟 좌표 데이터에 기초하여 미리 갱신된 합성 데이터 생성 모델을 이용하여 합성 보행 데이터를 생성하는 동작을 수행할 수 있다.
일 실시 예에 따른, 전자 장치에 의해 수행되는, 합성 보행 데이터 생성 방법은, 생성될 합성 보행 데이터의 보행 특징에 대한 타겟 값을 획득하는 동작, 타겟 값에 기초하여 미리 생성된 잠재 공간(latent space) 상에 배치된 복수의 데이터들 중 타겟 데이터를 결정하는 동작, 및 보행 특징 및 타겟 데이터에 기초하여 합성 보행 데이터를 생성하는 동작을 포함할 수 있다.
일 실시 예에 따른, 전자 장치는 외부 장치와 데이터를 교환하는 통신 모듈, 전자 장치를 제어하는 적어도 하나의 프로세서를 포함하고, 프로세서는 합성 보행 데이터의 보행 특징에 대한 타겟 값을 획득하는 동작, 획득된 타겟 값을 외부 전자 장치로 전송하는 동작, 외부 전자 장치로부터 합성 보행 데이터를 수신하는 동작, 및 합성 보행 데이터에 기초하여 사람의 하체의 움직임을 모사하도록 동작하는 지그 장치를 제어하는 동작을 수행할 수 있다.
도 1은 일 실시 예에 따른, 지그 장치를 제어하기 위한 시스템의 구성도이다.
도 2는 일 실시 예에 따른, 합성 보행 데이터를 생성하는 전자 장치의 구성도이다.
도 3은 일 실시 예에 따른, 잠재 공간 및 합성 데이터 생성 모델을 갱신하는 방법의 흐름도이다.
도 4a는 일 실시 예에 따른, 복수의 실제 보행 데이터들에 기초하여 생성되는 잠재 공간을 도시한다.
도 4b는 일 실시 예에 따른, 복수의 실제 보행 데이터들의 보행 특징의 실제 값들과 연관된 복수의 좌표 데이터들을 포함하는 잠재 공간을 도시한다.
도 5는 일 실시 예에 따른, 합성 보행 데이터를 생성하는 방법의 흐름도이다.
도 6은 일 실시 예에 따른, 합성 보행 데이터에 기초하여 지그 장치를 제어하는 방법의 흐름도이다.
도 7은 일 실시 예에 따른, 지그 장치를 제어하는 전자 장치의 구성도이다.
도 8은 일 실시 예에 다른, 지그 장치를 제어하는 방법의 흐름도이다.
이하, 본 기재의 다양한 실시 예가 첨부된 도면을 참조하여 기재된다. 그러나, 이는 본 기재를 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 기재의 실시 예의 다양한 변경(modification), 균등물(equivalent), 및/또는 대체물(alternative)을 포함하는 것으로 이해되어야 한다.
도 1은 일 실시 예에 따른, 지그 장치를 제어하기 위한 시스템의 구성도이다.
일 실시 예에 따르면, 사용자에게 착용되어 사용자의 움직임에 대응하여 사용자에게 보조력 또는 저항력을 제공하는 웨어러블 장치(150)의 동작을 테스트하기 위해 지그 장치(140)가 이용될 수 있다. 예를 들어, 힙 타입인 웨어러블 장치(150)를 테스트하기 위한 지그 장치(140)는 사람의 하체의 골격에 대응하는 구조를 가질 수 있다. 예를 들어, 지그 장치(140)는 사람의 허리에 대응하는 메인 프레임 및 사람의 대퇴부들에 대응하는 다리 프레임들을 포함할 수 있다.
일 실시 예에 따르면, 웨어러블 장치(150)가 장착된 지그 장치(140)는 지그 제어 장치(130)에 의해 제어될 수 있다. 예를 들어, 지그 제어 장치(130)는 사람의 보행 동작을 모사하도록 지그 장치(140)의 동작을 제어할 수 있다. 예를 들어, 지그 제어 장치(130)는 지그 장치(140)의 힙 관절에 대응하는 다리 프레임의 관절 각도가 시계열적으로 변화하도록 지그 장치(140)의 동작을 제어할 수 있다.
일 실시 예에 따르면, 지그 제어 장치(130)는 지그 장치(140)를 제어하기 위해 이용되는 보행 데이터는 보행 동작의 주기성을 나타내기 위해 사인파(sinusoidal wave)에 기반한 관절 각도의 변화 궤적을 나타낼 수 있다. 예를 들어, 사인파에 기반한 보행 데이터는 보행 주기에 대한 보행 특징 및 진폭에 대한 보행 특징을 조절할 수 있다.
일 실시 예에 따르면, 사인파에 기반한 보행 데이터는 센서를 통해 획득된 실제의 보행 데이터의 형태를 정확하게 반영하지 못할 수 있다. 실제의 보행 데이터를 이용하는 경우, 실제 사람의 보행의 움직임과 유사하도록 지그 장치(130)가 제어될 수 있으나, 다양한 실제의 보행 데이터들의 획득에 어려움이 있을 수 있다.
일 실시 예에 따르면, 합성 보행 데이터를 생성하는 시스템(100)은 보행 데이터베이스(database: DB)(110) 및 합성 보행 데이터 생성 장치(120)를 포함할 수 있다. 예를 들어, 합성 보행 데이터를 생성하는 시스템(100)은 지그 제어 장치(130) 및 지그 장치(140)를 더 포함할 수 있다.
일 실시 예에 따르면, 보행 DB(110)는 복수의 보행자들이 실제로 보행하는 동안 센서(예: 엔코더, 홀 센서 또는 IMU(inertial measurement unit))를 통해 획득된 복수의 실제 보행 데이터들을 저장한다. 예를 들어, 실제 보행 데이터는 시계열적인 왼쪽/오른쪽 힙 관절들의 관절 각도의 궤적을 나타내는 센서 데이터를 포함할 수 있다. 예를 들어, 실제 보행 데이터는 보행자의 보행 특징에 대한 정보를 포함할 수 있다. 예를 들어, 보행 특징은 보행자의 성별, 연령, 보유 질병 또는 보행 속도 중 적어도 하나를 포함할 수 있다. 보행 특징에 대한 정보는 메타데이터(metadata)일 수 있다.
일 실시 예에 따르면, 합성 보행 데이터 생성 모듈(121) 및 합성 보행 DB(125)를 포함할 수 있다.
일 실시 예에 따르면, 합성 보행 데이터 생성 모듈(121)은 보행 DB(110)의 복수의 실제 보행 데이터들을 이용하여 잠재 공간(latent space)(122)을 생성할 수 있다. 예를 들어, 잠재 공간은 2차원의 평면, 3차원의 공간 또는 N차원의 공간으로 표현될 수 있다. 잠재 공간의 차원들은 복수의 실제 보행 데이터들의 특징들을 압축한 차원들일 수 있다. 잠재 공간의 차원들은 복수의 실제 보행 데이터들의 특징들에 대한 차원들 보다 낮은 차원일 수 있다. 예를 들어, 학습의 대상이 되는 데이터들을 잠재 공간 상에 표시함으로써 잠재 공간을 생성하는 기계 학습 분야의 기술이 복수의 실제 보행 데이터들에 대한 잠재 공간을 생성하기 위해 적용될 수 있다.
일 실시 예에 따르면, 합성 보행 데이터 생성 모듈(121)은 복수의 실제 보행 데이터들을 이용하여 합성 데이터 생성 모델(123)을 생성할 수 있다. 예를 들어, 잠재 공간 상에 배치된 제1 실제 보행 데이터를 나타내는 제1 좌표 데이터의 값에 기초하여 합성 데이터 생성 모델(123)이 제1 실제 보행 데이터에 대응하는 보행 데이터를 생성하도록, 합성 데이터 생성 모델(123)이 생성(또는, 갱신, 훈련)될 수 있다.
잠재 공간(122) 및 합성 데이터 생성 모델(123)을 생성하는 방법에 대해 아래에서, 도 3 및 도 4를 참조하여 상세히 설명된다.
일 실시 예에 따르면, 합성 보행 데이터 생성 모듈(121)은 잠재 공간(122) 및 합성 데이터 생성 모델(123)을 이용하여 합성 보행 데이터를 생성할 수 있다. 생성된 합성 보행 데이터는 합성 보행 DB(125)에 저장될 수 있다. 아래에서, 합성 보행 데이터를 생성하는 방법에 대해 도 5를 참조하여 상세히 설명된다.
일 실시 예에 따르면, 지그 제어 장치(130)는 합성 보행 데이터 생성 장치(120)를 통해 획득한 합성 보행 데이터를 이용하여 지그 장치(140)를 제어할 수 있다. 지그 장치(140)는 합성 보행 데이터에 기초하여 사람의 보행 움직임을 모사하도록 동작할 수 있다.
도 2는 일 실시 예에 따른, 합성 보행 데이터를 생성하는 전자 장치의 구성도이다.
일 실시 예에 따른, 전자 장치(200)는 통신 모듈(210), 프로세서(220) 및 메모리(230)를 포함한다. 예를 들어, 전자 장치(200)는 도 1을 참조하여 전술된 합성 보행 데이터 생성 장치(120)일 수 있다.
통신 모듈(210)은 프로세서(220) 및 메모리(230)와 연결되어 데이터를 송수신한다. 통신 모듈(210)은 외부의 다른 장치와 연결되어 데이터를 송수신할 수 있다.
통신 모듈(210)은 전자 장치(200) 내의 회로망(circuitry)으로 구현될 수 있다. 예를 들어, 통신 모듈(210)은 내부 버스(internal bus) 및 외부 버스(external bus)를 포함할 수 있다. 예를 들어, 통신 모듈(210)은 전자 장치(200)와 외부의 장치를 연결하는 요소일 수 있다. 통신 모듈(210)은 인터페이스(interface)일 수 있다. 통신 모듈(210)은 외부의 장치로부터 데이터를 수신하여, 프로세서(220) 및 메모리(230)에 데이터를 전송할 수 있다.
프로세서(220)는 통신 모듈(210)이 수신한 데이터 및 메모리(230)에 저장된 데이터를 처리한다. "프로세서"는 목적하는 동작들(desired operations)을 실행시키기 위한 물리적인 구조를 갖는 회로를 가지는 하드웨어로 구현된 데이터 처리 장치일 수 있다. 예를 들어, 목적하는 동작들은 프로그램에 포함된 코드(code) 또는 인스트럭션들(instructions)을 포함할 수 있다. 예를 들어, 하드웨어로 구현된 데이터 처리 장치는 마이크로프로세서(microprocessor), 중앙 처리 장치(central processing unit), 프로세서 코어(processor core), 멀티-코어 프로세서(multi-core processor), 멀티프로세서(multiprocessor), ASIC(Application-Specific Integrated Circuit), FPGA(Field Programmable Gate Array)를 포함할 수 있다.
프로세서(220)는 메모리(예를 들어, 메모리(230))에 저장된 컴퓨터로 읽을 수 있는 코드(예를 들어, 소프트웨어) 및 프로세서(220)에 의해 유발된 인스트럭션들을 실행한다.
일 실시 예에 따르면, 메모리(230)는 통신 모듈(210)이 수신한 데이터 및 프로세서(220)가 처리한 데이터를 저장한다. 예를 들어, 메모리(230)는 프로그램(또는 어플리케이션, 소프트웨어)을 저장할 수 있다. 저장되는 프로그램은 합성 보행 데이터를 생성할 수 있도록 코딩되어 프로세서(220)에 의해 실행 가능한 신텍스(syntax)들의 집합일 수 있다.
일 실시 예에 따르면, 메모리(230)는 잠재 공간(예: 도 1의 잠재 공간(122))에 대한 정보 및 합성 데이터 생성 모델(예: 도 1의 합성 데이터 생성 모델(123))에 대한 정보를 포함할 수 있다.
일 실시 예에 따르면, 메모리(230)는 합성 보행 DB(예: 도 1의 합성 보행 DB(125))를 포함할 수 있다.
일 실시 예에 따르면, 메모리(230)는 하나 이상의 휘발성 메모리, 비휘발성 메모리 및 RAM(Random Access Memory), 플래시 메모리, 하드 디스크 드라이브 및 광학 디스크 드라이브를 포함할 수 있다.
도 3은 일 실시 예에 따른, 잠재 공간 및 합성 데이터 생성 모델을 갱신하는 방법의 흐름도이다.
잠재 공간 및 합성 데이터 생성 모델을 갱신하기 위해 아래의 동작들 310 내지 370이 수행될 수 있다. 동작들 310 내지 370은 전자 장치(예: 도 1의 합성 보행 데이터 생성 장치(120) 또는 도 2의 전자 장치(200))에 의해 수행될 수 있다.
동작 310에서, 전자 장치는 복수의 실제 보행 데이터들을 획득할 수 있다. 예를 들어, 전자 장치는 보행 DB(예: 도 1의 보행 DB(110))로부터 복수의 실제 보행 데이터들을 획득할 수 있다.
동작 320에서, 전자 장치는 잠재 공간 및 합성 데이터 생성 모델을 생성할 수 있다. 예를 들어, 전자 장치는 초기화된 잠재 공간 및 초기화된 합성 데이터 생성 모델을 생성할 수 있다. 예를 들어, 잠재 공간 및 합성 데이터 생성 모델은 헬름홀츠 기계(Hermann von Helmholtz machine)에 기초한 인공 신경망일 수 있다. 예를 들어, 인공 신경망은 생성 모델(generative model)일 수 있다. 전자 장치는 복수의 실제 보행 데이터들을 압축함으로써 잠재 공간을 생성할 수 있다.
일 실시 예에 따르면, 잠재 공간 상에 복수의 실제 보행 데이터들이 각각 배치될 수 있다. 예를 들어, 복수의 실제 보행 데이터들은 초기의 잠재 공간 상에 동일한 좌표에 배치될 수 있다. 예를 들어, 잠재 공간이 2차원 평면인 경우, 복수의 실제 보행 데이터들이 모두 (0, 0)에 배치될 수 있다.
일 실시 예에 따르면, 잠재 공간이 반복적으로 갱신됨에 따라 복수의 실제 보행 데이터들에 각각 대응하는 좌표 데이터가 변경될 수 있다. 예를 들어, 잠재 공간의 좌표 축으로 나타나는 특징에 대한 값들 간의 차이가 클수록 서로 멀리 위치되도록 복수의 실제 보행 데이터들에 대응하는 좌표 데이터들이 잠재 공간 상에 배치될 수 있다.
일 실시 예에 따르면, 복수의 실제 보행 데이터 중 제1 실제 보행 데이터에 대응하는 잠재 공간 상의 제1 좌표 데이터가 합성 데이터 생성 모델에 입력된 경우 제1 실제 보행 데이터에 대응하는 보행 데이터가 출력되도록 합성 데이터 생성 모델이 생성될 수 있다.
동작 330에서, 전자 장치는 잠재 공간에 기초하여 합성 데이터 생성 모델을 갱신할 수 있다.
일 실시 예에 따르면, 전자 장치는 잠재 공간 상의 제1 좌표 데이터를 이용하여 제1 실제 보행 데이터에 대응하는 제1 합성 보행 데이터가 생성되도록 합성 데이터 생성 모델을 갱신(또는, 훈련)할 수 있다. 예를 들어, 전자 장치는 잠재 공간 상의 제1 좌표 데이터에 대응하는 제1 실제 보행 데이터와 상기 제1 좌표 데이터를 합성 데이터 생성 모델에 입력함으로써 생성된 제1 합성 보행 데이터 간의 차이(error: E)에 기초하여 합성 데이터 생성 모델을 갱신할 수 있다. 예를 들어, 계산된 차이(E)가 최소화되도록 합성 데이터 생성 모델이 갱신될 수 있다.
동작 340에서, 전자 장치는 미리 설정된 종료 조건이 만족되었는지 여부를 결정할 수 있다. 예를 들어, 미리 설정된 종료 조건은 차이(E)가 미리 설정된 값 미만인지 여부일 수 있다. 미리 설정된 종료 조건이 만족되지 않은 경우 동작 350이 수행될 수 있다.
동작 350에서, 전자 장치는 잠재 공간을 갱신할 수 있다. 예를 들어, 계산된 차이(E)가 최소화되도록 잠재 공간이 갱신될 수 있다.
일 실시 예에 따르면, 전자 장치는 복수의 실제 보행 데이터들에 대응하는 잠재 공간 상의 복수의 데이터들의 적어도 일부의 좌표를 변경함으로써 잠재 공간을 갱신할 수 있다. 예를 들어, 전자 장치는 복수의 실제 보행 데이터들 중 제1 실제 보행 데이터에 대응하는 잠재 공간 상의 데이터의 좌표를 제1 좌표에서 제2 좌표로 이동시킴으로써 잠재 공간을 갱신할 수 있다. 잠재 공간을 갱신하는 방법에 대해 아래에서 도 4a 및 4b를 참조하여 상세히 설명된다.
일 실시 예에 따라, 도 3을 참조하여 동작들 330, 340 및 350의 수행 순서들이 도시되었으나, 동작들 330, 340 및 350의 수행 순서들은 실시예에 따라 달라질 수 있다. 예를 들어, 동작 320이 수행된 후 동작 340이 수행되고, 종료 조건이 만족되지 않은 경우 동작들 330 및 350 수행될 수 있다.
동작 360에서, 전자 장치는 잠재 공간 및 합성 데이터 생성 모델을 저장할 수 있다. 예를 들어, 미리 설정된 종료 조건이 만족된 경우 가장 최근에 갱신된 잠재 공간 및 가장 최근에 갱신된 합성 데이터 생성 모델이 최종적인 잠재 공간 및 최종적인 합성 데이터 생성 모델로 결정 및 저장될 수 있다.
동작 370에서, 전자 장치는 잠재 공간 상의 제1 좌표 데이터에 제1 실제 보행 데이터의 보행 특징의 실제 값을 연관(또는, 매핑)할 수 있다. 예를 들어, 제1 실제 보행 데이터의 보행 특징이 보행 속도이고, 실제 값이 3km/h인 경우, 제1 실제 보행 데이터에 대응하는 제1 좌표 데이터와 3km/h의 보행 속도가 연관될 수 있다.
도 4a는 일 실시 예에 따른, 복수의 실제 보행 데이터들에 기초하여 생성되는 잠재 공간을 도시한다.
일 실시 예에 따르면, 초기의 잠재 공간(410) 상에 복수의 실제 보행 데이터들(예: N개)에 대응하는 좌표 데이터들이 배치될 수 있다. 예를 들어, 복수의 실제 보행 데이터들에 대응하는 좌표 데이터들은 초기 좌표(예: (0, 0))에 배치될 수 있다.
일 실시 예에 따르면, 초기의 잠재 공간(410)이 복수회 갱신됨에 따라 최종적인 잠재 공간(420)(예: 도 1의 잠재 공간(122))이 생성될 수 있다. 예를 들어, 잠재 공간(420)의 갱신과 함께 갱신된 합성 데이터 생성 모델(예: 도 1의 합성 데이터 생성 모델(123))에 제1 실제 보행 데이터(인덱스 값: 1)에 대응하는 잠재 공간(420)의 좌표 데이터 (1, 0)를 입력하는 경우, 제1 실제 보행 데이터에 대응하는 제1 합성 보행 데이터가 생성되도록 잠재 공간(420)이 갱신될 수 있다.
갱신된 합성 데이터 생성 모델은 입력 x(t)(예: 잠재 공간(420)의 좌표 데이터 (1, 0))가 입력되는 경우, 출력 y(t)를 생성할 수 있다. 출력 y(t-1)는 합성 데이터 생성 모델의 입력 x(t)로서 되먹임될 수 있다. 제1 합성 보행 데이터는 합성 데이터 생성 모델의 출력들을 포함할 수 있다. 제1 합성 보행 데이터는 잠재 공간(420)의 좌표 데이터 (1, 0)에 대응하는 제1 실제 보행 데이터에 대응(예: 동일 또는 유사)할 수 있다.
도 4b는 일 실시 예에 따른, 복수의 실제 보행 데이터들의 보행 특징의 실제 값들과 연관된 복수의 좌표 데이터들을 포함하는 잠재 공간을 도시한다.
일 실시 예에 따르면, 전자 장치(예: 도 1의 합성 보행 데이터 생성 장치(120) 또는 도 2의 전자 장치(200))는 잠재 공간(420) 상의 복수의 좌표 데이터들 각각에 복수의 실제 보행 데이터들의 보행 특징의 실제 값들을 각각 연관(또는, 매핑)함으로써 잠재 공간(430)을 생성할 수 있다. 예를 들어, 보행 특징은 보행자의 성별, 연령, 보유 질병 또는 보행 속도 중 적어도 하나를 포함할 수 있다.
일 실시 예에 따르면, 연관되는 타겟 보행 특징의 값에 따라 좌표 데이터들이 시각적으로 서로 구분이 되도록 각각의 좌표 데이터에 형상(예: 색깔)이 부여될 수 있다. 예를 들어, 잠재 공간(430) 상에 보행 속도의 값에 따라 형상이 구분되어 나타나도록 좌표 데이터들이 도시되었다. 도시된 일 실시 예에 따르면, 보행 속도가 낮을수록 잠재 공간(430) 상에서 좌측 하단에 좌표 데이터들이 분포되고, 보행 속도가 높을수록 잠재 공간(430) 상에서 우측 상단에 좌표 데이터들이 분포될 수 있다. 타겟 보행 특징에 따라, 잠재 공간(430) 상에 시각적으로 좌표 데이터들을 서로 구분시키는 방식이 달라질 수 있다.
일 실시 예에 따르면, 특정한 보행 특징의 값을 갖는 가상 보행자에 대한 합성 보행 데이터가 생성될 수 있다. 예를 들어, 타겟 보행 특징에 대한 타겟 값과 동일 또는 유사한 값과 연관(또는, 매핑)된 잠재 공간(430) 상의 후보 좌표 데이터들의 후보 좌표들은 타겟 값과 관련된 압축 정보를 포함하고 있을 수 있다.
일 실시 예에 따르면, 후보 좌표 또는 후보 좌표와 지리적으로 가까운 좌표를 합성 데이터 생성 모델에 입력함으로써 타겟 보행 특징을 갖는 가상 보행자에 대한 합성 보행 데이터가 생성될 수 있다. 아래에서 도 5를 참조하여 합성 보행 데이터를 생성하는 방법이 상세히 설명된다.
도 5는 일 실시 예에 따른, 합성 보행 데이터를 생성하는 방법의 흐름도이다.
합성 보행 데이터를 생성하기 위해 아래의 동작들 510 내지 530이 수행될 수 있다. 동작들 510 내지 530은 전자 장치(예: 도 1의 합성 보행 데이터 생성 장치(120) 또는 도 2의 전자 장치(200))에 의해 수행될 수 있다.
일 실시 예에 따르면, 동작 510은 도 3을 참조하여 전술된 동작 360 또는 동작 370이 수행된 후에 수행될 수 있다.
동작 510에서, 전자 장치는 생성될 합성 보행 데이터의 보행 특징에 대한 타겟 값을 획득할 수 있다. 예를 들어, 보행 특징은 생성될 합성 보행 데이터와 연관되는 가상 보행자의 성별, 연령, 보유 질병 또는 보행 속도 중 적어도 하나를 포함할 수 있다. 예를 들어, 보행 특징이 복수인 경우, 복수의 보행 특징들 각각에 대한 타겟 값이 획득될 수 있다. 예를 들어, 보행 속도로서 5km/h를 타겟 값으로 수신할 수 있다.
일 실시 예에 따르면, 전자 장치는 외부 전자 장치(예: 도 1의 지그 제어 장치(130))로부터 보행 특징에 대한 타겟 값을 수신할 수 있다. 전자 장치가 외부 전자 장치로부터 보행 특징을 수신하는 방법에 대해 아래에서 도 8의 동작 820을 참조하여 상세히 설명된다.
동작 520에서, 전자 장치는 타겟 값에 기초하여 잠재 공간(예: 도 1의 잠재 공간(122), 도 4b의 잠재 공간(420) 또는 잠재 공간(430)) 상에 배치된 복수의 좌표 데이터들 중 타겟 좌표 데이터를 결정할 수 있다. 예를 들어, 전자 장치는 복수의 좌표 데이터들 중 타겟 값과 동일한 값과 연관된 좌표 데이터를 타겟 좌표 데이터로 결정할 수 있다. 예를 들어, 전자 장치는 복수의 좌표 데이터들 중 타겟 값을 포함하는 타겟 범위 내의 값들과 연관된 좌표 데이터를 타겟 좌표 데이터로 결정할 수 있다. 예를 들어, 타겟 값이 5km/h인 경우, 타겟 범위는 4.5 km/h 내지 5km/h일 수 있다.
동작 530에서, 전자 장치는 타겟 좌표 데이터에 기초하여 합성 데이터 모델(예: 도 1의 합성 데이터 생성 모델(123))을 이용하여 합성 보행 데이터를 생성할 수 있다.
일 실시 예에 따르면, 전자 장치는 타겟 좌표 데이터의 타겟 좌표를 합성 데이터 모델에 입력함으로써 합성 보행 데이터를 생성할 수 있다.
일 실시 예에 따르면, 전자 장치는 타겟 좌표 데이터의 타겟 좌표에 기초하여 입력 좌표를 결정할 수 있다. 예를 들어, 타겟 좌표와 미리 설정된 거리 내의 임의의 좌표가 입력 좌표로 결정될 수 있다. 상기의 거리는 타겟 좌표 데이터와 연관된 보행 특징의 값과 가상 보행자에 대한 보행 특징의 타겟 값 간의 차이에 기초하여 설정될 수 있다. 잠재 공간 상에서 근접한 좌표들은 보행 특징에 대해 서로 유사한 값들을 나타낼 수 있으므로, 근접한 좌표들은 동일하지 않더라도 유사한 보행 특징 값들을 가질 수 있다. 전자 장치는 입력 좌표를 합성 데이터 모델에 입력함으로써 합성 보행 데이터를 생성할 수 있다.
일 실시 예에 따르면, 생성된 합성 보행 데이터는 타겟 값과 연관되는 가상 보행자가 보행하는 경우 획득되는 시계열적인 관절 각도의 궤적에 대응할 수 있다. 예를 들어, 관절 각도는 가상 보행자의 힙 관절의 각도 또는 무릎 관절의 각도일 수 있다.
일 실시 예에 따르면, 생성된 합성 보행 데이터는 합성 보행 DB(예: 도 1의 합성 보행 DB(125) 또는 도 2의 메모리(230))에 저장될 수 있다.
일 실시 예에 따르면, 동작들 510 및 520 의 수행 대신에, 전자 장치는 전자 장치의 사용자로부터 직접적으로 잠재 공간 상의 입력 좌표를 수신하는 동작을 수행할 수 있다. 예를 들어, 사용자는, 타겟 보행 특징의 값에 따라 좌표 데이터들이 시각적으로 서로 구분이 되도록 각각의 좌표 데이터에 형상이 부여된 잠재 공간(예: 도 4b의 잠재 공간(430))에 기초하여 원하는 보행 특징의 타겟 값을 가질 것으로 예상되는 입력 좌표를 선택할 수 있다.
상기의 동작이 수행된 후, 동작 530이 수행될 수 있다. 예를 들어, 동작 530에서 전자 장치는 입력 좌표를 합성 데이터 모델에 입력함으로써 합성 보행 데이터를 생성할 수 있다.
도 6은 일 실시 예에 따른, 합성 보행 데이터에 기초하여 지그 장치를 제어하는 방법의 흐름도이다.
일 실시 예에 따르면, 아래의 동작 610은 도 5를 참조하여 전술된 동작 530이 수행된 후에 수행될 수 있다. 동작 610은 전자 장치(예: 도 1의 합성 보행 데이터 생성 장치(120) 또는 도 2의 전자 장치(200))에 의해 수행될 수 있다.
동작 610에서, 전자 장치는 합성 보행 데이터에 기초하여 지그 장치(예: 도 1의 지그 장치(140))를 제어할 수 있다.
일 실시 예에 따르면, 전자 장치는 도 1을 참조하여 전술된 지그 제어 장치(130)를 포함할 수 있다. 예를 들어, 전자 장치는 합성 보행 데이터에 기초하여 지그 장치의 움직임이 사람의 하체의 움직임을 모사하도록 지그 장치를 제어할 수 있다.
일 실시 예에 따르면, 지그 장치에는 웨어러블 장치(예: 도 1의 웨어러블 장치(150)가 착용되어 있을 수 있다. 합성 보행 데이터에 기초하여 제어되는 지그 장치의 움직임은 검사자(tester)가 원하는 보행 특징의 값을 갖는 가상 보행자의 움직임에 대응하므로, 사용자의 보행 움직임에 따른 웨어러블 장치의 기능이 테스트될 수 있다.
도 7은 일 실시 예에 따른, 지그 장치를 제어하는 전자 장치의 구성도이다.
일 실시 예에 따른, 전자 장치(700)는 통신 모듈(710), 프로세서(720) 및 메모리(730)를 포함한다. 예를 들어, 전자 장치(700)는 도 1을 참조하여 전술된 지그 제어 장치(130))일 수 있다.
통신 모듈(710)은 프로세서(720) 및 메모리(730)와 연결되어 데이터를 송수신한다. 통신 모듈(710)은 외부의 다른 장치와 연결되어 데이터를 송수신할 수 있다.
통신 모듈(710)은 전자 장치(700) 내의 회로망으로 구현될 수 있다. 예를 들어, 통신 모듈(710)은 내부 버스 및 외부 버스를 포함할 수 있다. 예를 들어, 통신 모듈(710)은 전자 장치(700)와 외부의 장치를 연결하는 요소일 수 있다. 통신 모듈(710)은 인터페이스일 수 있다. 통신 모듈(710)은 외부의 장치로부터 데이터를 수신하여, 프로세서(720) 및 메모리(730)에 데이터를 전송할 수 있다.
프로세서(720)는 통신 모듈(710)이 수신한 데이터 및 메모리(730)에 저장된 데이터를 처리한다.
프로세서(720)는 메모리(예를 들어, 메모리(730))에 저장된 컴퓨터로 읽을 수 있는 코드(예를 들어, 소프트웨어) 및 프로세서(720)에 의해 유발된 인스트럭션들을 실행한다.
일 실시 예에 따르면, 메모리(730)는 통신 모듈(710)이 수신한 데이터 및 프로세서(720)가 처리한 데이터를 저장한다. 예를 들어, 메모리(730)는 프로그램(또는 어플리케이션, 소프트웨어)을 저장할 수 있다. 저장되는 프로그램은 합성 보행 데이터에 기초하여 지그 장치(예: 도 1의 지그 장치(140))를 제어할 수 있도록 코딩되어 프로세서(720)에 의해 실행 가능한 신텍스들의 집합일 수 있다.
일 실시 예에 따르면, 메모리(730)는 하나 이상의 휘발성 메모리, 비휘발성 메모리 및 RAM, 플래시 메모리, 하드 디스크 드라이브 및 광학 디스크 드라이브를 포함할 수 있다.
도 8은 일 실시 예에 다른, 지그 장치를 제어하는 방법의 흐름도이다.
일 실시 예에 따르면, 지그 장치(예: 도 1의 지그 장치(140))를 제어하 위해 아래의 동작들 810 내지 840이 수행될 수 있다. 동작들 810 내지 840은 전자 장치(예: 도 1의 지그 제어 장치(130) 또는 도 7의 전자 장치(700))에 의해 수행될 수 있다.
동작 810에서, 전자 장치는 합성 보행 데이터의 보행 특징에 대한 타겟 값을 획득할 수 있다. 예를 들어, 전자 장치는 검사자로부터 가상 보행자의 보행 특징에 대한 타겟 값을 수신할 수 있다. 예를 들어, 검사자는 전자 장치의 사용자 인터페이스를 통해 타겟 값을 전자 장치로 입력할 수 있다.
동작 820에서, 전자 장치는 보행 특징에 대한 타겟 값을 외부 전자 장치로 전송할 수 있다. 예를 들어, 외부 전자 장치는 도 1의 합성 보행 데이터 생성 장치(120) 또는 도 2의 전자 장치(200)일 수 있다.
동작 830에서, 전자 장치는 외부 전자 장치로부터 합성 보행 데이터를 수신할 수 있다.
일 실시 예에 따르면, 외부 전자 장치는 외부 전자 장치의 합성 보행 DB(예: 도 1의 합성 보행 DB(125) 또는 도 2의 메모리(230))에 타겟 값을 만족하는 합성 보행 데이터 또는 실제 보행 데이터가 존재하는 경우 해당 보행 데이터를 전자 장치로 전송할 수 있다.
일 실시 예에 따르면, 외부 전자 장치는 외부 전자 장치의 합성 보행 DB(예: 도 1의 합성 보행 DB(125) 또는 도 2의 메모리(230))에 타겟 값을 만족하는 합성 보행 데이터 또는 실제 보행 데이터가 존재하지 않는 경우, 타겟 값에 기초하여 합성 보행 데이터를 생성할 수 있다. 타겟 값에 기초하여 합성 보행 데이터를 생성하는 방법에 대해서는 상기에서 도 5를 참조하여 상세히 설명되었다. 외부 전자 장치는 생성된 합성 보행 데이터를 전자 장치로 전송할 수 있다.
동작 840에서, 전자 장치는 합성 보행 데이터에 기초하여 지그 장치를 제어할 수 있다. 예를 들어, 전자 장치는 합성 보행 데이터에 기초하여 지그 장치의 움직임이 사람의 하체의 움직임을 모사하도록 지그 장치를 제어할 수 있다.
일 실시 예에 따르면, 지그 장치에는 웨어러블 장치(예: 도 1의 웨어러블 장치(150)가 착용되어 있을 수 있다. 합성 보행 데이터에 기초하여 제어되는 지그 장치의 움직임은 검사자가 원하는 보행 특징의 값을 갖는 가상 보행자의 움직임에 대응하므로, 사용자의 보행 움직임에 따른 웨어러블 장치의 기능이 테스트될 수 있다.
일 실시 예에 따른, 전자 장치(120; 200)는 외부 장치와 데이터를 교환하는 통신 모듈(210)을 포함할 수 있다. 일 실시 예에 따른, 전자 장치(120; 200)는 전자 장치를 제어하는 적어도 하나의 프로세서(220)를 포함할 수 있다. 일 실시 예에 따른, 프로세서는 생성될 합성 보행 데이터의 보행 특징에 대한 타겟 값을 획득하는 동작(510)을 수행할 수 있다. 일 실시 예에 따른, 프로세서는 타겟 값에 기초하여 미리 생성된 잠재 공간(latent space) 상에 배치된 복수의 좌표 데이터들 중 타겟 좌표 데이터를 결정하는 동작(520)을 수행할 수 있다. 일 실시 예에 따른, 프로세서는 타겟 좌표 데이터에 기초하여 미리 갱신된 합성 데이터 생성 모델을 이용하여 합성 보행 데이터를 생성하는 동작(530)을 수행할 수 있다.
일 실시 예에 따른, 프로세서(220)는 복수의 실제 보행 데이터들을 획득하는 동작(310)을 수행할 수 있다. 일 실시 예에 따른, 프로세서(220)는 복수의 실제 보행 데이터들을 압축함으로써 상기 잠재 공간을 생성하는 동작(320)을 수행할 수 있다. 일 실시 예에 따르면, 상기 복수의 실제 보행 데이터 중 제1 실제 보행 데이터에 대응하는 제1 좌표 데이터가 잠재 공간 상의 제1 좌표에 배치될 수 있다.
일 실시 예에 따른, 잠재 공간은 2차원 또는 3차원의 공간으로 나타날 수 있다.
일 실시 예에 따른, 프로세서(220)는 제1 좌표 데이터에 제1 실제 보행 데이터의 보행 특징의 실제 값을 연관시키는 동작(370)을 수행할 수 있다.
일 실시 예에 따른, 상기 타겟 값에 기초하여 미리 생성된 잠재 공간 상에 배치된 복수의 좌표 데이터들 중 타겟 좌표 데이터를 결정하는 동작(520)은, 상기 복수의 좌표 데이터들 각각에 연관된 상기 보행 특징에 대한 실제 값 및 상기 획득한 타겟 값에 기초하여 상기 복수의 좌표 데이터들 중 상기 타겟 좌표 데이터를 결정하는 동작을 포함할 수 있다.
일 실시 예에 따른, 프로세서(200)는 잠재 공간 상의 제1 좌표 데이터를 이용하여 제1 실제 보행 데이터에 대응하는 제1 합성 보행 데이터가 생성되도록 합성 데이터 생성 모델을 갱신하는 동작(330)을 수행할 수 있다.
일 실시 예에 따른, 보행 특징은 합성 보행 데이터와 연관되는 가상 보행자의 성별, 연령, 보유 질병 또는 보행 속도 중 적어도 하나를 포함할 수 있다.
일 실시 예에 따른, 합성 보행 데이터는 타겟 값과 연관되는 가상 보행자가 보행하는 경우 획득되는 시계열적인 관절 각도의 궤적에 대응할 수 있다.
일 실시 예에 따른, 관절 각도는 가상 보행자의 힙 관절의 각도 또는 무릎 관절의 각도 중 어느 하나일 수 있다.
일 실시 예에 따른, 프로세서(220)는 합성 보행 데이터에 기초하여 사람의 하체의 움직임을 모사하도록 동작하는 지그 장치를 제어하는 동작(610)을 수행할 수 있다.
일 실시 예에 따른, 전자 장치(120; 200)에 의해 수행되는, 합성 보행 데이터 생성 방법은, 생성될 합성 보행 데이터의 보행 특징에 대한 타겟 값을 획득하는 동작(510)을 포함할 수 있다. 일 실시 예에 따른, 합성 보행 데이터 생성 방법은 타겟 값에 기초하여 미리 생성된 잠재 공간(latent space) 상에 배치된 복수의 데이터들 중 타겟 데이터를 결정하는 동작(520)을 포함할 수 있다. 일 실시 예에 따른, 합성 보행 데이터 생성 방법은 보행 특징 및 타겟 데이터에 기초하여 합성 보행 데이터를 생성하는 동작(530)을 포함할 수 있다.
일 실시 예에 따른, 합성 보행 데이터 생성 방법은 복수의 실제 보행 데이터들을 획득하는 동작(310)을 포함할 수 있다. 일 실시 예에 따른, 합성 보행 데이터 생성 방법은 복수의 실제 보행 데이터들을 압축함으로써 잠재 공간을 생성하는 동작(320)을 포함할 수 있다. 일 실시 예에 따르면, 복수의 실제 보행 데이터 중 제1 실제 보행 데이터에 대응하는 제1 좌표 데이터가 상기 잠재 공간 상의 제1 좌표에 배치될 수 있다.
일 실시 예에 따른, 잠재 공간은 2차원 또는 3차원의 공간으로 나타날 수 있다.
일 실시 예에 따른, 합성 보행 데이터 생성 방법은 제1 좌표 데이터에 제1 실제 보행 데이터의 보행 특징의 실제 값을 연관시키는 동작(370)을 포함할 수 있다.
일 실시 예에 따른, 동작(520)은 복수의 좌표 데이터들 각각에 연관된 보행 특징에 대한 실제 값 및 획득한 타겟 값에 기초하여 복수의 좌표 데이터들 중 타겟 좌표 데이터를 결정하는 동작을 포함할 수 있다.
일 실시 예에 따른, 합성 보행 데이터 생성 방법은 잠재 공간 상의 제1 좌표 데이터를 이용하여 제1 실제 보행 데이터에 대응하는 제1 합성 보행 데이터가 생성되도록 합성 데이터 생성 모델을 갱신하는 동작(330)을 포함할 수 있다.
일 실시 예에 따른, 전자 장치(130; 700)는 외부 장치와 데이터를 교환하는 통신 모듈(710)을 포함할 수 있다. 일 실시 예에 따른, 전자 장치(130; 700)는 전자 장치를 제어하는 적어도 하나의 프로세서(720)를 포함할 수 있다. 일 실시 예에 따른, 프로세서(720)는 합성 보행 데이터의 보행 특징에 대한 타겟 값을 획득하는 동작(810)을 수행할 수 있다. 일 실시 예에 따른, 프로세서(720)는 획득된 타겟 값을 외부 전자 장치로 전송하는 동작(820)을 수행할 수 있다. 일 실시 예에 따른, 프로세서(720)는 외부 전자 장치로부터 합성 보행 데이터를 수신하는 동작(830)을 수행할 수 있다. 일 실시 예에 따른, 프로세서(720)는 합성 보행 데이터에 기초하여 사람의 하체의 움직임을 모사하도록 동작하는 지그 장치를 제어하는 동작(840)을 수행할 수 있다.
일 실시 예에 따른, 보행 특징은 합성 보행 데이터와 연관되는 가상 보행자의 성별, 연령, 보유 질병 또는 보행 속도 중 적어도 하나를 포함할 수 있다.
일 실시 예에 따른, 합성 보행 데이터는 타겟 값과 연관되는 가상 보행자가 보행하는 경우 획득되는 시계열적인 관절 각도의 궤적에 대응할 수 있다.
일 실시 예에 따른, 관절 각도는 가상 보행자의 힙 관절의 각도 또는 무릎 관절의 각도 중 어느 하나일 수 있다.
이상에서 설명된 실시 예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시 예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 범용 컴퓨터 또는 특수 목적 컴퓨터를 사용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 컨트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시 예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있으며 매체에 기록되는 프로그램 명령은 실시 예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
위에서 설명한 하드웨어 장치는 실시 예의 동작을 수행하기 위해 하나 또는 복수의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시 예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 이를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시 예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (20)

  1. 전자 장치(120; 200)에 있어서,
    외부 장치와 데이터를 교환하는 통신 모듈(210); 및
    상기 전자 장치를 제어하는 적어도 하나의 프로세서(220)
    를 포함하고,
    상기 프로세서는,
    생성될 합성 보행 데이터의 보행 특징에 대한 타겟 값을 획득하는 동작(510);
    상기 타겟 값에 기초하여 미리 생성된 잠재 공간(latent space) 상에 배치된 복수의 좌표 데이터들 중 타겟 좌표 데이터를 결정하는 동작(520); 및
    상기 타겟 좌표 데이터에 기초하여 미리 갱신된 합성 데이터 생성 모델을 이용하여 상기 합성 보행 데이터를 생성하는 동작(530)
    을 수행하는,
    전자 장치.
  2. 제1항에 있어서,
    상기 프로세서는,
    복수의 실제 보행 데이터들을 획득하는 동작(310); 및
    복수의 실제 보행 데이터들을 압축함으로써 상기 잠재 공간을 생성하는 동작(320)
    을 더 수행하고,
    상기 복수의 실제 보행 데이터 중 제1 실제 보행 데이터에 대응하는 제1 좌표 데이터가 상기 잠재 공간 상의 제1 좌표에 배치되는,
    전자 장치.
  3. 제2항에 있어서,
    상기 잠재 공간은 2차원 또는 3차원의 공간으로 나타나는,
    전자 장치.
  4. 제2항에 있어서,
    상기 프로세서는,
    상기 제1 좌표 데이터에 상기 제1 실제 보행 데이터의 상기 보행 특징의 실제 값을 연관시키는 동작(370)
    을 더 수행하는,
    전자 장치.
  5. 제1항에 있어서,
    상기 타겟 값에 기초하여 미리 생성된 잠재 공간 상에 배치된 복수의 좌표 데이터들 중 타겟 좌표 데이터를 결정하는 동작(520)은,
    상기 복수의 좌표 데이터들 각각에 연관된 상기 보행 특징에 대한 실제 값 및 상기 획득한 타겟 값에 기초하여 상기 복수의 좌표 데이터들 중 상기 타겟 좌표 데이터를 결정하는 동작
    을 포함하는,
    전자 장치.
  6. 제2항에 있어서,
    상기 프로세서는,
    상기 잠재 공간 상의 상기 제1 좌표 데이터를 이용하여 상기 제1 실제 보행 데이터에 대응하는 제1 합성 보행 데이터가 생성되도록 상기 합성 데이터 생성 모델을 갱신하는 동작(330)
    을 더 수행하는,
    전자 장치.
  7. 제1항에 있어서,
    상기 보행 특징은 상기 합성 보행 데이터와 연관되는 가상 보행자의 성별, 연령, 보유 질병 또는 보행 속도 중 적어도 하나를 포함하는,
    전자 장치.
  8. 제1항에 있어서,
    상기 합성 보행 데이터는 상기 타겟 값과 연관되는 가상 보행자가 보행하는 경우 획득되는 시계열적인 관절 각도의 궤적에 대응하는,
    전자 장치.
  9. 제8항에 있어서,
    상기 관절 각도는 상기 가상 보행자의 힙 관절의 각도 또는 무릎 관절의 각도 중 어느 하나인,
    전자 장치.
  10. 제1항에 있어서,
    상기 프로세서는,
    상기 합성 보행 데이터에 기초하여 사람의 하체의 움직임을 모사하도록 동작하는 지그 장치를 제어하는 동작(610)
    을 더 수행하는,
    전자 장치.
  11. 전자 장치(120; 200)에 의해 수행되는, 합성 보행 데이터 생성 방법은,
    생성될 합성 보행 데이터의 보행 특징에 대한 타겟 값을 획득하는 동작(510);
    상기 타겟 값에 기초하여 미리 생성된 잠재 공간(latent space) 상에 배치된 복수의 데이터들 중 타겟 데이터를 결정하는 동작(520); 및
    상기 보행 특징 및 상기 타겟 데이터에 기초하여 상기 합성 보행 데이터를 생성하는 동작(530)
    을 포함하는,
    합성 보행 데이터 생성 방법.
  12. 제11항에 있어서,
    복수의 실제 보행 데이터들을 획득하는 동작(310); 및
    복수의 실제 보행 데이터들을 압축함으로써 상기 잠재 공간을 생성하는 동작(320)
    을 더 포함하고,
    상기 복수의 실제 보행 데이터 중 제1 실제 보행 데이터에 대응하는 제1 좌표 데이터가 상기 잠재 공간 상의 제1 좌표에 배치되는,
    합성 보행 데이터 생성 방법.
  13. 제12항에 있어서,
    상기 잠재 공간은 2차원 또는 3차원의 공간으로 나타나는,
    합성 보행 데이터 생성 방법.
  14. 제12항에 있어서,
    상기 제1 좌표 데이터에 상기 제1 실제 보행 데이터의 상기 보행 특징의 실제 값을 연관시키는 동작(370)
    을 더 포함하는,
    합성 보행 데이터 생성 방법.
  15. 제11항에 있어서,
    상기 타겟 값에 기초하여 미리 생성된 잠재 공간 상에 배치된 복수의 좌표 데이터들 중 타겟 좌표 데이터를 결정하는 동작(520)은,
    상기 복수의 좌표 데이터들 각각에 연관된 상기 보행 특징에 대한 실제 값 및 상기 획득한 타겟 값에 기초하여 상기 복수의 좌표 데이터들 중 상기 타겟 좌표 데이터를 결정하는 동작
    을 포함하는,
    합성 보행 데이터 생성 방법.
  16. 제12항에 있어서,
    상기 잠재 공간 상의 상기 제1 좌표 데이터를 이용하여 상기 제1 실제 보행 데이터에 대응하는 제1 합성 보행 데이터가 생성되도록 상기 합성 데이터 생성 모델을 갱신하는 동작(330)
    을 더 포함하는,
    합성 보행 데이터 생성 방법.
  17. 전자 장치(130; 700)에 있어서,
    외부 장치와 데이터를 교환하는 통신 모듈(710); 및
    상기 전자 장치를 제어하는 적어도 하나의 프로세서(720)
    를 포함하고,
    상기 프로세서는,
    합성 보행 데이터의 보행 특징에 대한 타겟 값을 획득하는 동작(810);
    획득된 상기 타겟 값을 외부 전자 장치로 전송하는 동작(820);
    상기 외부 전자 장치로부터 상기 합성 보행 데이터를 수신하는 동작(830); 및
    상기 합성 보행 데이터에 기초하여 사람의 하체의 움직임을 모사하도록 동작하는 지그 장치를 제어하는 동작(840)
    을 수행하는,
    전자 장치.
  18. 제17항에 있어서,
    상기 보행 특징은 상기 합성 보행 데이터와 연관되는 가상 보행자의 성별, 연령, 보유 질병 또는 보행 속도 중 적어도 하나를 포함하는,
    전자 장치.
  19. 제17항에 있어서,
    상기 합성 보행 데이터는 상기 타겟 값과 연관되는 가상 보행자가 보행하는 경우 획득되는 시계열적인 관절 각도의 궤적에 대응하는,
    전자 장치.
  20. 제19항에 있어서,
    상기 관절 각도는 상기 가상 보행자의 힙 관절의 각도 또는 무릎 관절의 각도 중 어느 하나인,
    전자 장치.
KR1020220122381A 2022-09-27 2022-09-27 합성 보행 데이터를 생성하는 방법 및 그 방법을 수행하는 전자 장치 KR20240043378A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020220122381A KR20240043378A (ko) 2022-09-27 2022-09-27 합성 보행 데이터를 생성하는 방법 및 그 방법을 수행하는 전자 장치
PCT/KR2023/012163 WO2024071679A1 (ko) 2022-09-27 2023-08-17 합성 보행 데이터를 생성하는 방법 및 그 방법을 수행하는 전자 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220122381A KR20240043378A (ko) 2022-09-27 2022-09-27 합성 보행 데이터를 생성하는 방법 및 그 방법을 수행하는 전자 장치

Publications (1)

Publication Number Publication Date
KR20240043378A true KR20240043378A (ko) 2024-04-03

Family

ID=90478390

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220122381A KR20240043378A (ko) 2022-09-27 2022-09-27 합성 보행 데이터를 생성하는 방법 및 그 방법을 수행하는 전자 장치

Country Status (2)

Country Link
KR (1) KR20240043378A (ko)
WO (1) WO2024071679A1 (ko)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6295337B2 (ja) * 2014-09-10 2018-03-14 パナソニック株式会社 歩容データ管理システム、歩容データ管理方法、及び、歩行支援装置
KR102288886B1 (ko) * 2015-07-14 2021-08-12 현대자동차주식회사 착용식 로봇의 구동 제어 방법 및 시스템
KR102288425B1 (ko) * 2019-11-15 2021-08-10 한국로봇융합연구원 웨어러블 슈트 제어방법
KR20210103876A (ko) * 2020-02-14 2021-08-24 한양대학교 에리카산학협력단 웨어러블 로봇 제어를 위한 머신러닝 기반의 보행 패턴 생성 알고리즘
KR20220126561A (ko) * 2021-03-09 2022-09-16 삼성전자주식회사 사용자의 동작을 보조하기 위한 전자 장치 및 시스템

Also Published As

Publication number Publication date
WO2024071679A1 (ko) 2024-04-04

Similar Documents

Publication Publication Date Title
US20220335851A1 (en) Identification and analysis of movement using sensor devices
US6310619B1 (en) Virtual reality, tissue-specific body model having user-variable tissue-specific attributes and a system and method for implementing the same
CN105411593A (zh) 用于识别步态任务的方法和设备
CN108305246A (zh) 基于医学图像预测血流特征的装置及系统
US11331006B2 (en) System and method for human motion detection and tracking
WO2003099119A1 (fr) Procede de calcul de mecanique corporelle, modele de mecanique corporelle, donnees de modele et procede de production d'un modele corporel
Sánchez et al. Embedding digitized fibre fields in finite element models of muscles
Wu et al. Leveraging vision and kinematics data to improve realism of biomechanic soft tissue simulation for robotic surgery
Zinkovsky et al. Mathematical modelling and computer simulation of biomechanical systems
Wang et al. Arbitrary spatial trajectory reconstruction based on a single inertial sensor
Tang et al. Development of software for human muscle force estimation
KR20240043378A (ko) 합성 보행 데이터를 생성하는 방법 및 그 방법을 수행하는 전자 장치
CN110135303B (zh) 一种舞蹈类非遗传承与交互学习的方法
JP3860076B2 (ja) 身体モデル生成方法、身体モデル生成プログラム及びそれを記録した記録媒体、身体モデルデータを記録した記録媒体
JP2024508782A (ja) マーカレス運動解析を改善するための方法
CN114638744A (zh) 人体姿态迁移方法及装置
Reyes Human motion: analysis of similarity and dissimilarity using orthogonal changes of direction on given trajectories
Kim et al. Soft-tissue simulation for cranio-maxillofacial surgery: clinical needs and technical aspects
Bernardino et al. Bio-measurements estimation and support in knee recovery through machine learning
JP2019197278A (ja) 画像処理装置、画像処理装置の制御方法およびプログラム
EP4053793A1 (en) System and method for human motion detection and tracking
Hall Jr Human Organ Real-time Localization using HTC Vive Tracking System and Machine Learning Models
Michalczuk et al. The overview of automatically supported gait analysis methods for medical diagnoses and rehabilitation
Conte Alcaraz Intelligent signal processing for digital healthcare monitoring
KR20230165492A (ko) 사용자의 운동 자세 평가 방법