KR20190085974A - 하나 이상의 관성 센서들로부터 방위 정보를 정정하기 위한 장치 및 방법 - Google Patents

하나 이상의 관성 센서들로부터 방위 정보를 정정하기 위한 장치 및 방법 Download PDF

Info

Publication number
KR20190085974A
KR20190085974A KR1020197017200A KR20197017200A KR20190085974A KR 20190085974 A KR20190085974 A KR 20190085974A KR 1020197017200 A KR1020197017200 A KR 1020197017200A KR 20197017200 A KR20197017200 A KR 20197017200A KR 20190085974 A KR20190085974 A KR 20190085974A
Authority
KR
South Korea
Prior art keywords
movement
sensor data
data
orientation
actual
Prior art date
Application number
KR1020197017200A
Other languages
English (en)
Other versions
KR102207195B1 (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 프라운호퍼-게젤샤프트 츄어 푀르더룽 데어 안게반텐 포르슝에.파우.
Publication of KR20190085974A publication Critical patent/KR20190085974A/ko
Application granted granted Critical
Publication of KR102207195B1 publication Critical patent/KR102207195B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • G06K9/00496
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/20Scenes; Scene-specific elements in augmented reality scenes
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C25/00Manufacturing, calibrating, cleaning, or repairing instruments or devices referred to in the other groups of this subclass
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/10Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
    • G01C21/12Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning
    • G01C21/16Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation
    • G01C21/183Compensation of inertial measurements, e.g. for temperature effects
    • G01C21/188Compensation of inertial measurements, e.g. for temperature effects for accumulated errors, e.g. by coupling inertial systems with absolute positioning systems
    • G06K9/00671
    • G06K9/627
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/10Machine learning using kernel methods, e.g. support vector machines [SVM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2218/00Aspects of pattern recognition specially adapted for signal processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20172Image enhancement details
    • G06T2207/20182Noise reduction or smoothing in the temporal domain; Spatio-temporal filtering

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Medical Informatics (AREA)
  • Mathematical Physics (AREA)
  • Automation & Control Theory (AREA)
  • Multimedia (AREA)
  • Manufacturing & Machinery (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)
  • User Interface Of Digital Computer (AREA)
  • Measurement Of Length, Angles, Or The Like Using Electric Or Magnetic Means (AREA)
  • Navigation (AREA)

Abstract

본 개시는 대상물에 장착된 하나 이상의 관성 센서들로부터의 관성 센서 데이터에 기반하여 방위 정보를 정정하기 위한 개념에 관한 것이다. 제안된 개념은 대상물의 현재의 절대 위치를 나타내는 위치 데이터를 수신하고, 위치 데이터에 기반하여 대상물의 이동의 방향을 결정하고, 결정된 방위 정보에 기반하여 대상물의 방위 정보를 정정하는 것을 포함한다.

Description

하나 이상의 관성 센서들로부터 방위 정보를 정정하기 위한 장치 및 방법
본 개시는 일반적으로 상대 운동 센서들을 통해 획득된 부정확한 위치 및/또는 방위 정보의 조절에 관한 것이다. 본 개시는 예를 들어, 가상 현실(Virtual Reality: VR) 분야에 유용할 수 있다.
가상 현실(VR)은 테마 파크, 박물관, 건축, 교육, 및 시뮬레이션을 포함하는 다양한 응용들에서 혁신을 주도한다. 이들 모두는 다중-사용자 상호작용 및 예를 들어, 25m×25m보다 더 넓은 대규모의 면적들로부터 이익을 얻는다. 오늘날의 최첨단 VR 시스템들은 주로 카메라-기반 모션 트랙킹(tracking)을 이용한다. 그러나, 폐색(occlusion)을 방지하기 위해 더 많은 사용자들이 더 많은 카메라들을 필요로 하기 때문에, 카메라 해상도와 환경 사이즈에 따라 트랙킹 정확도가 감소한다. 이러한 시스템들의 비용은 사용자의 수와 트랙킹 면적의 크기에 따라 기하급수적으로 커진다. 대신에, 룸(room)-규모의 트랙킹은 수백 달러로 이용할 수 있다.
개념적으로, 완전한 포즈(pose)(위치와 방위) 대신에 사용자/대상물 마다 단일의 위치만을 트랙킹하는 소위, 무-포즈(No-Pose: NP) 트랙킹 시스템은 훨씬 더 낮은 총비용으로 더 넓은 트랙킹 면적과 더 많은 사용자들을 대상으로 한다. NP 트랙킹 시스템은 예를 들어, 무선 주파수(RF) 트랙킹 시스템에 기반할 수 있다. 그러나, 그들의 적용 가능성을 여전히 한정하는 많은 기술적인 장애들이 있다. 가장 중요한 것은, 카메라-기반 모션 캡쳐 시스템(모든 포즈를 제공하는)과 대조적으로, NP 트랙킹 시스템은 트랙킹 정확도가 불충분하기 때문에 포즈의 추론과 결합할 수 없는 대상물당 단일의 위치만을 제공한다. 그래서, 예를 들어, 사용자의 몸에 대한 머리의 방위와 같은 물체의 방위는 별도로 추정되어야 한다.
통용되는 저가의 헤드-마운트 디스플레이(HMD) 유니트에는 대상물의 방위(예, 머리 방위)를 추정하는데 사용될 수 있는 가속도계, 자이로스코프, 자력계와 같은 국부적인 관성 측정 유니트(Inertial Measurement Units: IMU)가 설비되어 있다. 또한, 이러한 온-클라이언트(on-client) 프로세싱은 포즈 추정 카메라-기반 시스템의 심각한 문제인, 지연 속도(latency)를 줄일 수 있다. VR 시스템에서 지연 속도를 줄이면 몰입(immersion)을 현저히 개선할 수 있다.
그러나, 실제로 IMU-기반의 방위 추정은 많은 이유들로 인해 전혀 정확하지 않다. 첫째, 자력계들은 많은 실내 및 자기(magnetic) 환경들에서 신뢰할 수 없기 때문에, 그들은 종종 잘못된 절대 방위를 제공한다. 둘째, 상대적인 IMU 데이터에 기반의 데드 레커닝(dead reckoning)은 드리프트(drift) 및 잘못된 방위 추정(잠시 후)으로 이어진다. 내비게이션에서, 데드 레커닝 또는 데드-레커닝은, 이전에 결정된 위치를 이용하여 자신의 현재 위치를 계산하고 경과된 시간에 대해 알려져 있거나 추정된 속도와 항로에 기반하여 그 위치로 전진하는 과정으로서 알려져 있다. 셋째, HMD의 저가 센서들은 신뢰할 수 없는 모션 방위 추정들을 제공하기 때문에, 최첨단 방위 필터들은 실패한다. 넷째, 센서 노이즈 외에, 예를 들어, 머리 회전과 같은 회전들은 대상물이 이동하고 방향전환하는 동안 가속도의 선형 및 중력 성분을 확실하게 추정할 수 없게 만든다. 그러나, 선형 가속도 성분들은 이동 방향, 변위 및/또는 위치를 추정하는데 필요하다.
잘못된 방위 추정은 현실 세계와 VR 디스플레이의 엄청난 불일치의 결과를 낳을 수 있다. 도 1a 내지 도 1e의 상부 줄(upper row)은 이동 방향으로 자신의 머리를 향하게 한 상태에서 똑바로 걸어가는 사용자의 뷰(view)를 도시한다. 이러한 이동은, 사용자의 가상의 뷰를 도시하는 도 1a 내지 도 1e의 중간 줄(드리프트 없음)의 기둥들(101,102)의 중간을 통해 안내되어야 한다. 그러나, 도 1a 내지 도 1e의 바닥 줄에서 머리 방위의 45˚ 옵셋을 도시하는 드리프트 상황에서, 이미지를 만들기 위해 잘못된 머리 방위(
Figure pct00001
)가 사용되기 때문에, 동일한 이동은 우측으로부터 좌측까지의 변위로 이어진다. 사용자에게 이동의 방향은 VR 뷰에 맞지 않는다. 이것은 멀미를 야기할 수 있다.
도 2는 실제 대상물(R)과 가상 대상물(V) 및 실제 뷰 방향(
Figure pct00002
)과 가상 뷰 방향(
Figure pct00003
) 사이의 관계를 도시한다. 실제 이동 방향(
Figure pct00004
)은 실제 대상물(R)을 향해 앞쪽으로 똑바로 걸어가는 사용자를 나타낸다. 한편, 사용자는 가상 대상물(V)이 우측으로 지나가는 것을 경험한다. 실제 대상물(R)이 배치된 실제 세계의 관점에서, 가상 대상물(V)과 실제 세계 대상물(R)은 드리프트 값만큼 그들이 회전되었기 때문에, 서로 더 이상 일치하지 않는다. 드리프트가 증가하면 모션 멀미도 증가하는 것이 발견되었다. 따라서, 센서 기반 방위 또는 뷰 방향(
Figure pct00005
)을 실제 방위 또는 뷰 방향(
Figure pct00006
)과 더 잘 정렬시킬 필요가 있다.
본 개시의 아이디어는 사용자 또는 대상물이 예를 들어, 걷고 그리고 자신의 머리를 회전하는 것과 같이, 자연스럽게 이동하는 동안 장기적으로 안정된 대상물의 방위를 얻기 위해 위치 트랙킹과 상대적인 IMU 데이터를 결합시키는 것이다.
본 개시의 일 측면에 따르면, 대상물에 장착된 하나 이상의 관성 센서들로부터의 관성 센서 데이터에 기반하는 방위 정보를 정정(correct)하기 위한 방법이 제공된다. 원칙적으로, 대상물은 거기에 장착된 하나 이상의 IMU들을 가진 이동가능하거나 이동하는 임의의 종류의 생물 또는 무생물일 수 있다. 일부의 실시예들에서, 대상물은 예를 들어, 사람의 머리 또는 HMD일 수 있다. 일부 실시예들에서, 센서 데이터는 다-차원 가속도 데이터 및/또는 다-차원 회전 속도 데이터를 포함할 수 있다. 본 개시의 방법은 대상물의 현재 절대 위치를 나타내는 위치 데이터를 수신하는 단계를 포함한다. 일부 실시예들에서, 위치 데이터는 NP 트랙킹 시스템으로부터 유래하는 대상물의 단일의 절대 위치를 나타낼 수 있다. 또한, 본 개시의 방법은 위치 데이터에 기반하여 대상물의 이동의 방향을 결정하는 단계 및 결정된 이동의 방향에 기반하여 대상물의 방위 정보를 정정하는 단계를 포함한다.
VR과 관련된 응용들의 실시예에서, 대상물의 방위 정보는, 관성 센서 데이터에 기반하고, 센서의 부정확성 때문에 그 실제 방위와 상이할 수 있는, 대상물의 가상 방위로서 간주될 수 있다.
일부 실시예들에서, 대상물의 방위 정보는 대상물(예, 사용자의 머리)의 요(jaw) 축 주위의 회전 방위를 나타낼 수 있다. 다양한 대상물들은 3차원에서 자유롭게 회전한다. 3차원 회전은, 수평으로 뻗어 있는 축을 기준으로 위 또는 아래의 피치 회전, 수직으로 뻗어 있는 축을 기준으로 좌측 또는 우측의 요(yaw) 회전, 및 피치 축에 직교하는 수평축을 기준으로 롤 회전을 포함한다. 대안적으로, 축들은 측방, 수직, 및 종단으로서 지정될 수 있다. 이러한 축들은 대상물과 함께 이동하고 대상물을 따라 땅에 대해 회전한다. 요(yaw) 회전은 이동 방향의 좌측 또는 우측으로 가리키는 방향을 변화시키는 강체의 요축 주위의 이동이다. 대상물의 요 레이트(yaw rate) 또는 요 속도는 이러한 회전의 각속도이다. 그것은 보통 초당 각도 또는 초당 라디안(radian)으로 측정된다.
일부 실시예들에서, 이동의 방향은 이어지는 시간 순간들에 상응하는 위치 데이터에 기반하여 결정될 수 있다. 위치 데이터는 대상물의 2-차원 또는 3-차원 위치(x,y,z)를 나타낼 수 있고, 위치 트랙킹 시스템에 의해 제공될 수 있다. 제1 시간 순간의 제1 다-차원 위치와 이어지는 제2 시간 순간의 제2 다-차원 위치에 기반하여, 제1 위치로부터 제2 위치까지 향하는 현재의 또는 즉각적인 다-차원 모션 벡터를 추론할 수 있다.
일부 실시예들에서, 대상물의 방위 정보의 정정은, 센서 데이터에 기반하여, 대상물의 실제 방위와 대상물의 이동 방향(실제) 사이의 관계의 추정을 포함한다. 만약, 추정된 관계가 대상물의 실제 방위(예, 사용자의 머리 방위)가 대상물의 실제 이동 방향에 상응하는 것을 나타내면, 대상물의 방위 정보는 결정된 실제 이동 방향에 기반하여 정정될 수 있다.
일부 실시예들에서, 사람과 같은 생물의 대상물은 대부분 그들의 조망(viewing) 방향을 향해 걷는다고 가정하면, 대상물의 방위 정보의 정정은 대상물의 방위 정보를 대상물의 이동 방향에 일치시키는 것을 포함할 수 있다. 예를 들어, 하나 이상의 IMU들에 의해 제공된 부정확한 방위 추정은 대상물의 측정된 이동 방향(실제)과 정렬될 수 있다.
일부 실시예들에서, 본 개시의 방법은 스무싱(smoothing) 필터를 이용하여 스무스한(smoothed) 센서 데이터를 생성하기 위해 센서 데이터를 전처리(preprocessing)하는 단계를 선택적으로 더 포함할 수 있다. 그러한 스무싱 필터의 예는, 데이터를 스무스하게 할 목적으로 즉, 신호를 크게 왜곡시키지 않으면서 신호-대-잡음비를 증가시키기 위해, 일련의 디지털 데이터 포인트들에 적용될 수 있는 디지털 필터인, 사비쯔키-골레이(Savitzky-Golay) 필터일 수 있다. 이것은, 콘볼루션(convolution)으로 알려진 프로세스에서, 최소 제곱 선형회귀(Linear Least Squares)법에 의한 저차 다항식(low-degree polynomial)을 이용하여 연속된 하위 세트의 인접하는 데이터 포인트들을 피팅(fitting)함으로서, 달성될 수 있다.
일부 실시예들에서, 본 개시의 방법은 저역 통과 필터 및/또는 고역 통과 필터를 이용하여 센서 데이터(스무스한)를 필터링하는 단계를 선택적으로 더 포함할 수 있다. 일부 응용들에서, 이것은 예를 들어, 중력과 관련된 각속도 신호 성분들과 같이, 원하지 않는 센서 신호 성분들을 피하거나 줄이는데 유용할 수 있다.
일부 실시예들에서, 대상물의 실제 방위와 대상물의 이동(실제) 방향 사이의 관계를 추정하는 단계는, 필터링된 센서 데이터를 압축하는 단계를 더 포함한다. 신호 처리에서, 데이터 압축은 원래의 표시보다 더 적은 비트들을 사용하여 정보의 엔코딩을 포함한다. 압축은 손실(lossy)이거나 무손실(lossless)일 수 있다. 무손실 압축은 통계적 중복(redundancy)의 식별 및 제거에 의해 비트들을 감소시킨다. 무손실 압축에서는 그 어떤 정보도 손실되지 않는다. 손실 압축은 불필요하거나 덜 중요한 정보를 제거하여 비트들을 감소시킨다. 데이터 사이즈의 축소 과정은 데이터 압축으로서 명명된다.
일부 실시예들에서, 센서 데이터의 압축은 센서 데이터 특성 벡터들을 생성하기 위해 센서 데이터로부터 하나 이상의 통계적 및/또는 체험적 특성들을 추출하는 단계를 포함할 수 있다. 그러한 특성들은 시간 도메인 특성들(예, 평균, 표준 편차, 피크들) 또는 주파수 도메인 특성들(예, FFT, 에너지, 엔트로피), 체험적 특성들(예, 신호 규모 면적/벡터, 축 상관), 시간-주파수-도메인 특성들(예, 웨이브릿(wavelet)), 도메인-특이성 특성들(예, 보행(gait) 검출)과 같은 도메인 특이성 특성들을 포함할 수 있다.
비록 통계적 및/또는 체험적 특성들의 다양성은 원칙적으로 가능하지만, 센서 데이터의 압축은 평균값, 표준 편차를 포함할 수 있고, 일부 실시예들에서, 센서 데이터의 주성분 분석(Principal Component Analysis: PCA)을 포함할 수 있다. 이와 같이, 수 많은 센서 데이터 샘플들은 통계적 및/또는 체험적 특성들을 나타내는 오직 하나의 샘플 또는 몇 개의 샘플들로 감소될 수 있다. PCA는 가능성 있는 상관된 변수들의 일련의 관찰들을 주성분들로 명명되는 선형적으로 비상관된 일련의 변수들의 값들로 변환하기 위해 직교 변환을 이용하는 통계적 과정이다. 주성분들의 수는 원래의 변수들의 수보다 적거나 같다. 이러한 변환은, 제1 주성분이 가장 가능성이 큰 분산을 가지고(즉, 가능한 한 많은 데이터 내의 변동성을 처리하는), 계속되는 각각의 성분이 선행하는 성분들에 직교하는 제약 하에서 차례차례로가능성이 가장 높은 분산을 가지는 그러한 방식으로 정의된다. 결과적인 벡터들은 비상관된 직교 기준 세트이다.
일부 실시예들에서, 대상물의 실제 방위와 대상물의 실제 이동 방향 사이의 관계의 추정은 압축된 센서 데이터에 기반하여 관계를 분류하는 단계 및 분류 결과에 대한 통계적 신뢰도을 생성하는 단계를 더 포함할 수 있다. 머신 러닝(machine learning)과 통계에서, 분류는 그 카테고리의 멤버쉽이 알려져 있는 관찰들(또는 사례들)을 포함하는 데이터의 트레이닝 세트에 기반하여 새로운 관찰이 어느 카테고리의 세트에 속하는지 식별하는 문제로서 언급된다. 실시예 카테고리들은 "전방으로 이동하는 동안 머리 우측", "전방으로 이동하는 동안 머리 좌측", 또는 "전방으로 이동하는 동안 머리 똑바로"와 같이, 대상물의 실제 방위와 대상물의 실제 이동 방향 사이의 관계를 나타낼 수 있다. 머신 러닝의 전문 용어들에서, 분류는 지도 학습(supervised learning) 즉, 정확하게 식별된 관찰들의 트레이닝 세트가 이용될 수 있는 러닝(learning)의 사례로서 간주된다. 종종, 개별 관찰들은 설명 변수(explanatory variable)들 또는 특성들로 다양하게 알려진, 정량화할 수 있는 일련의 성질들로 분석된다.
대상물의 실제 방위와 대상물의 실제 이동 방향 사이의 관계의 분류는 예를 들어, 서포트 벡터 머신(Support Vector Machine: SVM)과 같은 다양한 분류 알고리즘에 의해 수행될 수 있다. 머신 러닝에서, SVM들은 분류 및 회귀 분석을 위해 사용된 데이터를 분석하는 연관된 학습 알고리즘들을 가진 지도 학습 모델들이다. 주어진 일련의 트레이닝 실시예들에서, 2개의 카테고리들의 어느 하나에 속하는 것으로 각각 마킹된, SVM 트레이닝 알고리즘은 새로운 실시예들을 하나의 카테고리 또는 다른 카테고리로 할당하는 모델을 구축하고, 비-확률적 이진(binary) 선형 분류기(classier)를 만든다. SVM 모델은 공간 내의 점들로서 예들의 표시이고, 별개의 카테고리들의 예들이 가능한 한 넓은 명백한 틈새에 의해 구별되도록 맵핑된다. 그러면, 새로운 예들은 동일한 공간 속으로 맵핑되고 그들이 속하는 틈새의 사이드에 기반하는 카테고리에 속하도록 예측된다. 선형 분류의 수행에 부가하여, SVM은 그들의 입력들을 고-차원 특성 공간들로 절대적으로 맴핑하는 소위, 커널 기법(kernel trick)을 사용하여 비-선형 분류를 효과적으로 수행할 수 있다. 데이터가 색인되지 않으면, 지도 학습이 가능하지 않고, 그룹들에 대한 데이터의 자연적 클러스터링의 탐색을 시도한 후, 새로운 데이터를 이와 같이 형성된 그룹들로 맵핑하는 비지도(unsupervised) 학습법이 필요하다. SVM들에 대한 개량을 제공하는 클러스터링 알고리즘은 서포트 벡터 클러스터링으로 명명되고, 데이터가 색인되지 않거나 일부 데이터만 분류 패스(pass)를 위한 전처리로서 색인된 경우 산업적 응용들에 종종 이용된다.
일부 실시예들에서, 분류의 통계적 신뢰도는 대상물의 미리결정된 물리적 성질들 또는 제약들에 기반하여 더 확인될 수 있다. 예를 들어, 사람은 자신이 이동하는 방향을 종종 응시한다. 또한, 사람은 특정의 짧은 시간 기간들 내에서, 자신의 머리를 좌측으로부터 우측으로, 또는 그 반대로 돌릴 수 없다. 예를 들어, 만약 2개의 차후의 추정 또는 예측 기간들이 100ms 내지 250ms 이내이면, 모두의 예측들은 머리 방위에 대하여 모순된 결과들을 낳게 되고, 그들의 각각의 신뢰도 수준이 떨어질 수 있다.
일부 실시예들에서, 대상물의 방위 정보의 에러는 점진적으로 또는 반복적으로 정정될 수 있다. 다시 말해서, 에러는 시간이 경과함에 따라 VR에게 적용될 수 있는 더 작은 부분들로 구분될 수 있다. VR 응용들에서, 이것은 소위, 멀미를 감소시키거나 심지어 방지할 수 있다. 일부 실시예들에서, 구형 선형 보간법(spherical linear interpolation: SLERP)은 에러를 정정하기 위해 사용될 수 있다.
일부 실시예들에서, 방법은 라이브(live) 모드뿐만 아니라 트레이닝 모드를 포함할 수 있다. 트레이닝 모드 동안 지도 학습 모델(예, SVM)은 대상물의 미리정의된 실제 방위와 미리정의된 실제 이동 방향 사이의 미리정의된 관계에 상응하는 트레이닝 센서 데이터에 기반하여 대상물의 실제 방위와 대상물의 실제 이동 방향 사이의 관계를 분류하기 위해 훈련될 수 있다.
본 개시의 다른 측면에 따르면, 대상물에 장착된 하나 이상의 관성 센서들로부터의 관성 센서 데이터에 기반하여 방위 정보를 정정하기 위한 장치가 제공된다. 상기 장치는, 작동 중일 때, 본 개시에 따른 방법들을 수행할 수 있다. 그것은 대상물의 현재 절대 위치를 나타내는 위치 데이터를 수신하도록 구성된 입력 및 위치 데이터에 기반하여 대상물의 이동 방향을 결정하고 결정된 이동 방향에 기반하여 대상물의 방위 정보를 정정하도록 구성된 프로세싱 회로를 구비한다.
따라서, 일부 실시예들은 사용자가 자연스럽게 이동하는(예, 걸으면서 자신의 머리를 회전시키는) 동안 대상물(예, 머리)의 장-시간의 안정된 방위를 달성하기 위해 위치 트랙킹을 상대적인 IMU 데이터에 결합하는 것을 제안한다. 사람들은 대부분 자신이 바라보는 방향을 향해 걷는다는 가정 하에, 일부 실시예들은 센서 신호들로부터 특성들을 추출하고, 실제 이동 방향(예, 신체의)과 실제 대상물(예, 머리) 방위 사이의 관계를 분류하고, 이것을 절대 트랙킹 정보에 결합시키는 것을 제안한다. 그러면, 이것은 옵셋들을 사용자의 가상 뷰에 적응시키는데 이용될 수 있는 절대적인 머리 방위를 산출한다. 사람들이 동일한 방향으로 주시하고 걷는 경향이 있다는 사실은 전방 이동과 뷰 방향의 높은 가능성을 구성함으로써 분류 에러를 감소시키는데 더 이용될 수 있다.
장치들 및/또는 방법들의 일부 실시예들은 첨부된 도면들과 관련하여 아래에서 예시적인 방식으로만 설명될 것이다.
도 1a 내지 도 1e는 실제 뷰(상부)와 가상 세계(중간부 및 바닥부)의 시각화를 각각 도시한다.
도 2는 방위 드리프트(drift)에 기반하여 주어진 이미지의 관련된 가상 측방 이동을 초래하는 직선의 실제 전방 이동을 도시한다.
도 3a 내지 도 3d는 미지의 실제 머리 방위(
Figure pct00007
)와 가상의 머리 방위(
Figure pct00008
) 사이의 옵셋(θ) 및 조망 방향(
Figure pct00009
)과 이동 방향(
Figure pct00010
) 사이의 옵셋(ω)을 포함하는 머리 방위 드리프트의 예를 각각 도시한다.
도 4는 본 개시의 실시예에 따른 방위 정보를 정정하기 위한 방법의 플로우챠트를 도시한다.
도 5는 본 개시의 실시예에 따른 방위 정보를 정정하기 위한 장치의 블록도를 도시한다.
도 6a 및 도 6b는 미가공 신호 및 필터링된(저역 통과(LP) 및 고역 통과(HP)) 가속도 신호를 도시한다.
도 7a 내지 도 7h는 각각 선형 가속도들, IIR(LP, HP) 필터링된 및 미가공 자이로스코프 데이터를 도시한다.0
도 8은 센서 신호 전처리의 블록도를 도시한다.
도 9는 히스토리-기반 신뢰도 최적화 공정의 실시예를 도시한다.
도 10은 특성 추출과 분류를 포함하는 센서 신호 처리의 블록도를 도시한다.
도 11은 센서 신호 포스트프로세서(postprocessor)0의 블록도를 도시한다.
도 12는 완전한 센서 신호 프로세싱 체인의 블록도를 도시한다.
다양한 실시예들은 첨부된 도면들을 참조하여 더 상세하게 설명될 것이다. 도면들에서, 라인들, 레이어들 및/또는 구역들의 두께는 명확성을 위해 과장될 수도 있음을 유의해야 한다.
따라서, 다른 실시예들은 다양한 변화들과 대안적인 형태들을 포함할 수 있는 한편, 일부 특정의 실시예들은 도면들에 도시되고 아래에서 더 상세히 설명될 것이다. 그러나, 이러한 상세한 설명은 다른 실시예들을 설명된 특정의 형태들로 한정하는 것은 아니다. 다른 실시예들은 본 개시의 범위에 속하는 모든 변경들, 균등물, 및 대안들을 커버할 수 있다. 동일한 참조부호들은 도면 전체를 통틀어 다른 것과 비교하여 동일하거나 변형된 형태로 구현될 수 있는 한편 동일하거나 유사한 기능을 제공하는 동일하거나 유사한 요소들을 나타낸다.
하나의 구성요소가 다른 구성요소에 "연결된" 또는 "결합된"으로서 명명되면, 구성요소들은 하나 이상의 중간 구성요소들을 통해 직접적으로 연결되거나 결합될 수 있는 것으로 이해된다. 만약, 2개의 구성요소들인 A와 B가 "또는"을 이용하여 조합되면, 이것은 모든 가능한 조합들 즉, 오로지 A, 오로지 B 뿐만 아니라 A와 B의 조합을 개시하는 것으로 이해된다. 동일한 조합들을 위한 대안적인 용어는 "A와 B의 적어도 하나"이다. 이것은 2개의 구성요소들보다 더 많은 조합들에도 동일하게 적용된다.
특정의 실시예들을 설명할 목적으로 본 명세서에서 사용된 용어는 다른 실시예들을 한정하는 의도는 아니다. 특정의 실시예들에서, 단수 형태가 사용되거나 단일 구성요소를 사용할 때 그것은 명시적으로 또는 묵시적으로 의무적인 것은 아니고, 다른 실시예들은 동일한 기능을 구현하기 위해 복수의 구성요소들을 사용할 수도 있다. 유사하게, 어떤 기능이 다수의 구성요소들을 사용하여 구현되고 있다고 설명될 때, 다른 실시예들은 단일 구성요소 또는 공정을 이용하여 동일한 기능을 구현할 수도 있다. "포함하는", "구비하는", 포함한다" 또는 "구비한다"와 같은 용어들이 사용될 때, 언급된 특성들, 정수들, 단계들, 작동들, 공정들, 행위들, 요소들 및/또는 성분들의 존재를 명시하지만, 하나 이상의 다른 특성들, 정수들, 단계들, 작동들, 공정들, 행위들, 요소들 및/또는 성분들 및/또는 임의 그룹의 존재 또는 부가를 배제하는 것은 아니라는 사실을 더 이해할 것이다.
달리 정의되지 않으면, 모든 용어들(기술적 및 과학적 용어들을 포함)은 본 명세서에서 그 실시예가 속하는 업계에서 보통의 의미로 사용된다.
비록 본 개시의 원칙들은 이하, VR의 맥락에서 주로 예시될 것이지만, 본 개시로부터 혜택을 얻는 당업자는 이러한 원칙들은 이동가능한 생물 또는 무생물의 대상물의 방위 정보를 제공하기 위해 센서 데이터가 사용될 수 있는 많은 다른 기술 분야들에 직접적으로 적용될 수 있음을 이해할 것이다. IMU들의 경우, 상대적인 센서 데이터는 시간이 경과함에 따라 에러가 불가피하게 누적됨으로써, 자주 정정될 필요가 있다. 본 개시는 IMU 센서 데이터를 위치들 또는 위치 트랙킹 데이터와 조합하여 그러한 정정을 위한 개념을 제안하는 것이다.
절대 센서들(예, 자력계)은 실제로 확실하게 작동하지 않기 때문에, 상대 이동 추정 센서들만 활용될 수 있다. VR 응용들에 사용되는 HMD들은, 예를 들어, 센서 드리프트때문에 장-시간의 잘못된 머리 방위를 불가피하게 초래한다.
도 3a 내지 도 3d는 사용자(300)를 위에서 바라본 도면을 사용하여 상이한 드리프트 시나리오들을 각각 설명한다. 사용자(300)는 HMD(310)를 휴대한다. 도 3a는 드리프트가 거의 없는 상황(ψ'
Figure pct00011
0˚)이다. 사용자의 실제 머리 방위(
Figure pct00012
)는 그의 가상 머리 방위(
Figure pct00013
)에 매우 가깝다. 따라서, 실제 머리 방위가 정확하게 VR 이미지를 주기 위해 사용되기 때문에 이동이 자연스럽게 느껴진다. 도 3b에서, 일부 드리프트는 누적되고
Figure pct00014
Figure pct00015
은 대략 ψ'
Figure pct00016
45˚만큼 상이하다. 사용자(300)가
Figure pct00017
의 방향으로 이동하면, 사용자는 이러한 옵셋을 주어진 카메라 이미지가
Figure pct00018
를 향해 부자연스럽게/잘못 이동하는 것으로 인식한다. 사용자(300)는 앞을 향해
Figure pct00019
방향으로 2 단계로 이동한다.
Figure pct00020
은 사용자의 실제 뷰 방향이고,
Figure pct00021
는 드리프트-영향을 받은 뷰 방향이다. VR 디스플레이가 똑바로 전방을 제시할 때 사용자(300)는 기둥(304)을 향해 걷을려고 시도한다. 그러나, 사용자의 머리/몸은
Figure pct00022
방향으로 향한다. 도 3c는 사용자는 그리드의 바닥에 있고, 기둥들은 그리드의 상단에 있는 상태에서 이러한 상황의 확대 표현을 도시한다. 멀미(motion sickness)를 유발하는 것은 사용자가 기둥(303)에 도달하기 위해 실제로(
Figure pct00023
방향으로) 똑바로 앞으로 이동할 때이고, VR 뷰는 측방 이동을 보여준다(도 1의 바닥 줄 참조). 도 3d의 제3 단계에서, VR 디스플레이가 드리프트를 당할 때 사용자는
Figure pct00024
방향에서 똑바로 앞으로 기둥(304)을 본다. 드리프트(ψ')가 작으면 사용자는 그 어떤 불편도 인지하지 않을 것이다. 드리프트(ψ')가 크면, 상대 간격들의 왜곡이 VR 내에서 사용자가 보는 각각의 대상물에 영향을 미치기 때문에, 사용자는 표적으로 접근하는 동안 마치 자신이 측방으로 당겨지는 것처럼 느낀다. 문제는 머리 방위가 알려지지 않을 때 따라서, VR 시스템이
Figure pct00025
Figure pct00026
에 가깝게 정렬할 수 없을 때,
Figure pct00027
따라서, ψ'가 VR 시스템에 알려지지 않는다는 것이다. 그러므로, 수용가능한 몰입의 수준을 달성하기 위하여,
Figure pct00028
의 조절(연속적인)과 장-시간의 안정된 머리 방위가 필요하다.
도 4는, 대상물에 장착된 가속도계들 및/또는 자이로스코프들과 같은 하나 이상의 관성 센서로부터의 관성 센서 데이터에 기반하는 방위 정보(부정확한)를 정정하기 위한 방법(400)의 플로우챠트를 도시한다. 대상물의 예는 사용자(300) 자신 또는 사용자의 머리에 장착된 HMD(310)일 수 있다. 본 개시로부터 혜택을 얻는 당업자는 예를 들어, 동물들 또는 차량들과 같은 다른 대상물들 역시 가능하다는 것을 이해할 것이다.
방법(400)은 대상물(310)의 현재 절대 위치를 나타내는 위치 데이터를 수신하는 단계(410)를 포함한다. 이러한 목적을 위해, 대상물(310)은 예를 들어, 집적된 GPS 센서를 통해 NP 위치 데이터를 생성 또는 야기할 수 있다. 또 다른 선택은 무선(RF) NP 트랙킹 시스템을 사용할 수 있다. 이 경우 대상물(310)은 대상물에 부착되고 다수의 안테나들로 RF 신호를 방출하는 능동 또는 수동 RF 위치 태그(tag)를 통해 트랙킹될 수 있다. 그러면, 대상물의 위치는 상이한 안테나들로 전파되는 RF 신호들의 상이한 전파 시간(time-of-flight)들에 기반하여 결정될 수 있다. 대상물의 실제 이동 방향(
Figure pct00029
)은 위치 데이터에 기반하여 결정될 수 있다(단계 420). 대상물의 방위 정보(
Figure pct00030
)는 결정된 실제 이동 방향(
Figure pct00031
)에 기반하여 정정될 수 있다(단계 420).
도 5는 방법(400)을 수행하기 위한 상응하는 장치(500)의 개략적 블록도를 도시한다.
장치(500)는 대상물(310)의 현재 절대 위치를 나타내는 위치 데이터를 수신하도록 구성된 입력(510)을 구비한다. 장치(500)는 하나 이상의 관성 센서들로부터의 관성 센서 데이터를 수신하도록 구성된 입력(520)을 더 구비할 수 있다. 방위 정보(
Figure pct00032
)는 관성 센서 데이터로부터 파생될 수 있다. 장치(500)의 프로세싱 회로(530)는 위치 데이터에 기반하여 대상물(310)의 실제 이동 방향(
Figure pct00033
)을 결정하고 결정된 이동 방향(
Figure pct00034
)에 기반하여 대상물의 방위 정보(
Figure pct00035
)를 정정하도록 구성된다. 정정된 방위 정보는 출력(540)을 통해 제공될 수 있다.
장치(500)가 다양한 방식들로 구현될 수 있음을 본 개시로부터 혜택을 보는 당업자는 이해할 것이다. 예를 들어, 범용 프로세서, 디지털 신호 처리기(Digital Signal Processor: SDP), 필드 프로그램가능 게이트 어레이(Field Programmable Gate Array: FPGA), 또는 주문형 반도체(Application Specific Integrated Circuit: ASIC)와 같이, 상응하게 프로그램된 프로그램가능 하드웨어 디바이스일 수 있다. 하나의 실시예에서, 장치(500)는 VR 응용들을 위한 HMD(310) 또는 HMD를 제어하는 다른 디바이스(원격)에 통합될 수 있다. 일부 실시예들에서, HMD는 스마트폰 또는 휴대용 디바이스를 포함할 수 있다.
위치(절대) 데이터를 생성하기 위해 절대 위치 트랙킹이 사용되기 때문에, 솔루션은 위치 데이터 또는 위치 트랙킹 정보를 상대 운동 센서들과 결합하는 것이다. 사람들이 전방 이동에서 전방을 바라보는 것으로 가정하면(f/0, 0˚에서 전방), 사용자의 위치들, [p0...pt]은 시간 단계들 동안 기록될 수 있다. 위치 궤적 벡터,
Figure pct00036
= pt - po
Figure pct00037
Figure pct00038
은 기록된 위치들로부터 추출될 수 있다. 따라서, 실제 이동 방향(
Figure pct00039
)을 결정하는 단계(420)는 이어지는 시간 순간들에 상응하는 위치 데이터에 기반하여
Figure pct00040
을 결정하는 단계를 포함할 수 있다. 옵셋을
Figure pct00041
로 추론하기 위해
Figure pct00042
을 사용할 수 있다(도 3b 참조). 2개의 치수들(x,y)이 주어지면, 예비적인 실제 방위(
Figure pct00043
)를 다음과 같이 추론할 수 있다.
Figure pct00044
마지막으로, 좌표 시스템의 정확한 사분면 Qi(φ∈{Q1=90˚,Q2=180˚, Q3=270˚,Q4=360˚})을 위해 좌표 시스템을 정정하기 위해 정정 팩터(φ)를 부가할 수 있다. 따라서,
Figure pct00045
만약 사용자의 머리 방위가 그의 이동 방향과 동일하면 즉,
Figure pct00046
이면, 이러한 기본적 구현은 정확한 옵셋들을 추정할 수 있다. 그러나, 사실상, 이것은 항상 그러한 것은 아니고 잘못된 방위가 추정될 수 있다(도 3c 참조). 만약, 사용자가 ω=20˚(f/20)만큼 우측을 바라보는 반면, 표준화법이 f/0을 가정하면, 이 방법은 사용자가 우측을 바라본 ω=20˚의 경우 실패할 수 있다. HMD(310)가 이동 방향 즉,
Figure pct00047
을 향하도록 지시하는지 알기 위해, 사용자에게 전방으로 바라보고 이동하라고 조언할 수 있다. 그러나, 이것 역시 몰입이 결여되기 때문에 최적이 아닐 것이다. 더군다나, 누적된 드리프트에 관한 아무런 단서가 없기 때문에(만약 그것이 몰입을 위한 임계 상태이면), 사용자에게 규칙적 기반을 넘어서게 강제할 필요가 있다.
따라서, 일부 실시예들은 추정을 촉발시키기 위해 IMU 센서 데이터를 연속적으로 분석하고 f/0 운동을 자동적으로 감지하는 것을 제안한다. 그러나, 본 개시로부터 혜택을 얻는 당업자는 머리 방위에 기반하여 IMU를 정정하기 위해 임의의 다른 미리정의된 머리/몸 관계가 사용될 수 있고 훈련될 수 있음을 이해할 것이다. 게다가, 자동 운동 감지는 몰입을 높은 수준으로 유지하기 위해 최대로 용인된 지향성 드리프트에 신경을 쓸 수 있다. 그러므로, 일부 실시예들은 드리프트를 영구적으로 모니터링하여 그것을 최대한 작게 유지한다.
일부 구현예들에서, 센서 데이터는 3-차원 가속도 데이터와 3-차원 회전 속도 데이터를 포함한다. 오늘날의 일부 저가의 가속도계들은 200Hz에서 최대 ±16g의 중력 및 선형 가속도(accraw=acclin+accgrav)를 트랙킹한다. 도 6a는 f/-45를 위한 미가공 가속도 신호의 예를 도시한다. X는 사용자의 위쪽을 가리키고, Y는 사용자의 좌측을 가리키고, Z는 사용자의 등(back)을 가리킨다. 미가공 가속도 신호가 선형 가속도뿐만 아니라 중력을 포함하기 때문에, acclin를 얻기 위해 신호들이 분해될 수 있다. 노이즈에 부가하여, 커브들은 가속도 신호 내에서 중력 성분을 가진다. 이것은 사용자가 걷고 있을 때(하나의 보행 사이클 즉, 2개 단계들이 도시됨), 사용자의 머리가 위와 아래로 이동하는 점선 커브 내에서 가장 잘 보여진다. 그러나, 오로지 선형 가속도만이 공간 내의 실제 운동을 나타내기 때문에, 중력 성분을 제거해야 한다.
도 6b는 필터링 후의 선형 가속도를 도시한다. 일부 구현예들은, 사전초기화(preinitialization) 정정 후 신속하고 확실하기 때문에, 버터워스(Butterworth) 디자인을 가진 저역통과 및 고역통과 무한 임펄스 응답(Infinite Impulse Response: IIR) 필터를 사용할 수 있다. 본 개시로부터 혜택을 보는 당업자는 예를 들어, 신호 특성들 및/또는 센서 신호로부터 추출되어야 할 특성들에 의존하여, 유한 임펄스 응답(Finite Impulse Response: FIR) 필터와 같은 다른 필터 디자인 역시 실현 가능하다는 것을 이해할 것이다. 저역통과 필터의 예는 극도로 빠른 머리 움직임을 보상할 수 있고, 5Hz의 전력 반값(half-power) 주파수를 가진 노이즈를 제거할 수 있는 반면, 고역통과 필터의 예는 40Hz의 차단(cutoff) 주파수를 가진 장기적인(long-term) 드리프트를 보상할 수 있다. IIR 필터를 위한 샘플(n)에서 출력 신호(y[n])는 다음과 같다.
Figure pct00048
여기서, x는 미가공 가속도일 수 있고, a는 Mlow=3과 Mhigh=1의 필터의 차수를 가진 피드백(feedback) 필터에 대한 필터 계수이고, b는 Nlow=3과 Nhigh=1의 필터의 차수를 가진 피드-포워드(feew-forward) 필터에 대한 필터 계수이다. 그러므로, 각각의 필터(저역통과, 고역통과)는 자신의 버터워스 필터 디자인(a,b)을 가질 수 있다. 언이븐(uneven)(예, N=1)의 경우,
Figure pct00049
및 bi=1이 유지된다. 도 7a는 멈춰 있는 동안(s/0) IIR-필터링된 가속도를 도시하고, 도 7b 내지 도 7d는 예를 들어, 왼발 및 오른발 걸음과 같이, 상이한 이동 형태들과 일 걸음걸이 사이클을 위한 IIR-필터링된 가속도를 도시한다.
특성 추출들의 예는 선형 가속도 데이터와 스무스한 자이로스코프 데이터를 융합할 수 있다. 따라서, 방법(400)은 스무스해진 센서 데이터를 생성하기 위해 스무싱 필터를 이용하여 센서 데이터(미가공)를 필터링하는 단계를 선택적으로 더 포함할 수 있다. 신호 특성들을 유지하면서 미가공 입력 데이터의 스무싱(smoothing)은 예를 들어, F=25의 프레임 사이즈와 N=3의 다항식 차수를 가진, 사비쯔키-골레이(Savitzky-Golay) 필터에 의해 달성될 수 있다.
Figure pct00050
Figure pct00051
Figure pct00052
, n은 포인트들(j)의 갯수이다.
트레이닝 페이스(training phase)에서, 입력 데이터는 일정한 샘플 갯수의 윈도우들 내에서 슬라이스될 수 있다. 데이터는 최소/최대 임계 가속도 피크들과 그들 사이의 시간에 의해 가속도 데이터 내의 모션들을 감지할 수 있는 모션 상태 모듈에 의해 분석될 수 있다. 제로-크로싱(zero-crossing)의 갯수와 그들의 방향을 명시함으로써, 현재 윈도우에 대한 부가적인 정보(foot∈[l,r]을 가진 스텝)가 추론될 수 있다. 라이브-페이스(live-phase) 데이터는 슬라이딩-윈도우들 내에서 처리될 수 있다. 통상적으로 사용되는 50%의 오버랩(overlap)들과 대조적으로, 슬라이딩 윈도우 접근법이 사용될 수 있다(이것은 자동 모션 감지에 유용할 수 있음). 슬라이딩 윈도우의 길이는 새로운 데이터 프레임을 생성하기 위해 물리적 제약들에 따른 다수의 미래 샘플들(ωwait)에 의해 가용 CPU 시간 및 필요한 응답 시간에 맞출 수 있다. 그러나, 윈도우 길이는 활성 센서 데이터를 완전히 캡쳐하도록 충분히 길어야 한다. 인간은 최소 1.5 걸음/초(실제로 1.4m/s 속도로 걷는 동안, 사용자들은 VR에서 더 천천히 걷는 경향이 있음: 0.75m/s-느림, 1.0m/s-정상; 1.25m/s-빠름)를 수행하기 때문에, 1,000ms의 최소 길이는 높은 신뢰도을 낳는데 사용될 수 있다.
전술한 실시예에서, 미가공 관성 센서 데이터의 프리프로세싱(preprocessing)은 도 8에 요약되어 있다.
미가공 센서 데이터(예, 가속도 데이터 및/또는 스무스한 자이로스코프 데이터)는 엄청난 특성 손실없이 스무싱 필터(810)(예, 사비쯔키-골레이 필터)에 의해 스무스하게 될 수 있다. 원하지 않은 신호 성분들(예, 중력)을 분리하기 위하여, 센서 데이터(스무스한)는 LP 및/또는 HP 필터링된다(820). 필터링은 가속도 데이터와 자이로스크포 데이터 모두에 관련될 수 있거나 그들의 어느 하나에만 관련될 수 있다. 그러면, 프리프로세싱된 센서 데이터는 데이터 압축을 위해 사용될 수 있다. 데이터 압축의 일 예는 센서 데이터 특성 벡터들을 추출하기 위해 센서 데이터로부터 하나 이상의 통계적 및/또는 체험적 특성들을 추출하는 것이다. 성능을 절약하는 한편 매우 좋은 확실한 결과들을 제공하기 위해 통계적 및/또는 체험적 특성들의 최소 갯수의 사용이 제안된다. 기본적으로, 특성들은 그 사이의 분산을 최대화하고 미리정의된 이동 클래스들 내의 분산을 최소화하기 위해 선택될 수 있다. 아래의 [표 1]은 흔히 사용되는 일부 특성들을 도입하고 필요한 자유도와 특성들의 갯수를 도시한다.
IMU 분류를 위해 자주 사용되는 특성들
특성 설명 축[z,y,z] 개수
평균 평균값 x,y,z 3
MAD 중간 절대값 x,y,z 3
최소 벡터의 최소값 x,y,z 3
최대 벡터의 최대값 x,y,z 3
stD 표준변차 및 분산 x,y,z 3
PCA 주성분 분석 x,y,z 3
DCT 이산 코사인 변환 x,y,z 3
SMA 신호 규모 영역 x,y,z 3
엔트로피 신호 엔트로피 x,y,z 3
ARcoeff 자기 회귀 계수 x,y,z 3
에너지 제곱 평균 합 x,y,z 3
상관 신호 축들의 상관계수 {x,y},
{x,z},
{y,z},
1
왜곡(skewness) 주파수 신호 왜곡 x,y,z 3
첨도(Kurtosis) 주파수 신호 첨도 x,y,z 3
각도 2축들 사이의 각도 θ(x,y),
θ(x,z),
θ(y,z)
1
VeloDir 각가속도의 벡터 방향 vx,vy,vz 3
Freqmin 최소 주파수 성분 x,y,z 1
Freqmax 최대 주파수 성분 x,y,z 1
Freqmean 평균 주파수 성분 x,y,z 1
하나의 예는 데이터를 위해 18개의 특성들을 사용한다: 3축 가속도계 및 자이로스코프는 평균, StD 및 PCA 특성들에 의해 각각 표시됨. 따라서, 일부 실시예들에서, 센서 데이터의 압축은 평균값, 표준 편차의 추출을 포함할 수 있고, 센서 데이터의 주성분 분석(PCA)을 포함할 수 있다.
평균: 각각의 축의 특성값 평균(
Figure pct00053
), 여기서, N은 샘플들의 갯수이고, X는 입력 데이터임.
StD: 분산(φ2)에 기반한 표준 편차(
Figure pct00054
), 평균(μ), 여기서, N은 샘플의 갯수이고, X는 신호 데이터임.
PCA: PCA에 의해 제공되는 스코어 값들은 특이값 분해(singular value decomposition: SVD)에 기반하여 얻어질 수 있다. n×p 차원의 임의의 행렬 X(그들의 평균들에 대해 측정된 p 변수들에 대한 n 관찰의 행렬)가 주어지면, 이러한 행렬은 X-ULA'로 쓸 수 있고, 여기서, U는 (n×r) 단위 행렬이고 A'는 단위 행렬의 부가물인 (p×r)이다. U'U=Ir 및 A'A=Ir이 되도록 정규 칼럼(orthonormal column)들을 가진 각각의 행렬은, 임의의 행렬 X의 랭크(r)를 가진 (r×r) 대각선 행렬(L=∑, 대각선 상에서 특이값을 가짐)이다. 엘리먼트(uik)는 u의 (i,k)번째 요소이고, ajk는 A의 (j,k)번째 요소이다. 여기서, k는 대각선 행렬 L의 (k)번째 요소이다.
Figure pct00055
Figure pct00056
는 k번째 스코어들(
Figure pct00057
)을 유지하는 벡터를 나타내고, i=1,2,...,n이고, k=1,2,...,r이다. SVM 분류기의 관점에서, 결정된 PC 스코어들(zik)은 최적 피팅 초평면(best fitting hyperplane)으로부터의 관찰들(n)의 직교 거리를 나타낸다.
일부 실시예들에서, 방법은, 압축된 센서 데이터 또는 센서 데이터 특성 벡터들에 기반하여 대상물의 실제 방위(
Figure pct00058
)와 대상물의 실제 이동 방향(
Figure pct00059
) 사이의 관계를 분류하는 단계를 포함한다. 선택적으로, 신뢰도 수준은 분류 결과에 대해 생성될 수 있다. 이동 형태들을 분류하기 위해, 예를 들어, 결정 트리(Decision Trees: DT), 큐빅 K-최근린(cubic K-Nearest Neighbor: K-NN), 및 큐빅 서포트 벡터 머신(cubic Support Vector Machine: SVM)과 같은 다양한 분류기들은 대안적으로 또는 조합하여 사용될 수 있다. 다시 말해서, 대상물의 실제 방위(
Figure pct00060
)와 대상물의 실제 이동 방향(
Figure pct00061
) 사이의 관계의 분류는 하나 이상의 분류 알고리즘들을 사용하여 수행될 수 있다.
1) 디시전 트리(Decision Tree): 여기서, 분류 및 회귀 트리(Classication And Regression Tree: CART)는 100의 최대 슬릿들(복합 트리)과 1의 리프(leaf)의 최소수를 가진 합리적인 결과들을 얻기 위해 사용될 수 있다. 스플릿(split) 기준으로서 더 적은 CPU-집중적(intensive) 지니(Gini) 다양성 지수(IG)가 사용될 수 있다:
Figure pct00062
,
Figure pct00063
를 가진 노드(t∈SC-1) 및 노드(t)에 도달하는 클래스(i)를 가진 모든 클래스들(C)의 관측된 부분들(p(i|t))에 종속된다. 부가적으로, 대용(surrogate) 결정 스플릿들 없이 CART를 사용하여 분류 과정에서 임의의 데이터도 놓치지 않으면 성능을 절약할 수 있다. 지니 불순도 기준(IG)에서 각각의 리프를 위한 부모들의 수가 10보다 더 클 때까지 가지치기를 할 수 있다. 2개 모두가 동일한 부모 노드(P)로부터 유래하고 부모 노드(RP)와 관련된 리스크보다 더 크거가 동일한 리스크 값들의 합(Ri)을 산출하는 리프들(자식 노드들(C))의 통합에 남겨둘 수 있다:
Figure pct00064
.
2) K-근린(Nearest Neighbor): 일부 구현예들은 거리(distance) 파라미터(k=3)와 거리 함수
Figure pct00065
를 가진 큐빅 K-근린 분류기를 이용할 수 있다. 예를 들어, 인스턴스(x), 라벨(y), 거리 웨이트(ωi), 및 차원수(m)를 유지하는 큐빅 민코우스키(Minkowski) 거리 미터법이 선택될 수 있다.
Figure pct00066
여기서, x,y∈X=Rm이다. 적어도 2개의 클래스들이 k 근린들 사이에서 가장 가까운 점들의 동일한 수를 가질 때 발생하는 타이(tie)들은 그들의 가장 작은 지수값들에 기반하여 깨어질 수 있다. 덜 정확한 수정되지 않은 K-디멘션 트리 대신에, CPU-집중적이지만 충분히 정확하고 완전한 검색 알고리즘(brute force)이 사용될 수 있다. 거리 웨이트(ωi)들은 인스턴스들(x)과 라벨들(y)의 역제곱(ωi=(((x-y)T
Figure pct00067
)이다. 이웃들의 차원수(m=10)는 합리적인 결과들을 제공할 수 있다. 예측변수들이 상이한 스케일들을 폭 넓게 가지는 상황들을 개선하기 위해 데이터를 다시 설계하는 데이터 표준 접근법이 이용될 수 있다. 이것은 평균 및 표준 편차에 의해 각각의 예측변수 데이터를 센터링하고 스케일링함으로써 달성될 수 있다.
3) 서포트 벡터 머신: 다른 예시적 구현예는, 공간 맵핑 함수(φ(X))와 차수(d)를 가진 입력 센서 데이터 특성 벡터들, X(xq,xi)에 적용되는 동차 다항식 커널(homogeneous polynomial kernel),
Figure pct00068
Figure pct00069
을 가진 큐빅 SVM을 사용한다. 트레이닝 공간(Rn) 내의 트레이닝 벡터들(t)(여기서, xi∈Rn이고, i=1,...,t임)이 클래스들로 나눠지는 것으로 정의하고 yi∈{1,-1}이 유지되는 라벨 벡터 y∈Rt를 정의한다. SVM은 다음과 같은 최적화 문제를 풀 수 있다.
(i)
Figure pct00070
(ii) ξi≥0과 i=1,...,t, 여기서, φ(xi)는 xi를 더 높은-차수의 공간으로 맵핑하고, C는 조직화 파라미터(박스 제약 수준)이고, ξi는 여유 변수(slack variable)이다.
Figure pct00071
,
이러한 최적화의 해답은 웨이트 변수(αi)를 가진
Figure pct00072
를 만족하는 초평면에 최적의 법선 벡터(w)를 제공한다. 최종적으로, 특성 벡터(xq)를 위한 결정 함수(f(xq))는 다음과 같이 유지된다.
Figure pct00073
SVM 분류기의 일 예는 C=1인 한편 커넬(kernel) 스케일 γ=4를 가진 비-선형 특성을 분리할 수 있도록 큐빅(d=3) 커넬 함수
Figure pct00074
를 이용할 수 있다. 하이퍼파라미터(hyperparameter)들은 트레이닝 데이터(70%)에 기반하여 10-폴드(fold) 교차 검증(cross validation)에 의해 얻어질 수 있다. 교차 검증은 정확한 개관(overview)을 낳는 모든 테스팅 폴드들(10 분할)에 걸쳐 평균 에러를 결정한다. 다중 클래스 SVM 또는 일-대-전체(one-vs-all) SVM 타입은 다중 클래스 분류을 제공하기 위해 사용될 수 있다.
전술한 실시예의 예측변수들 또는 분류기들(DT, k-NN 및 SVM)의 각각은 클래스 라벨(label) 및 그 확률 또는 신뢰도을 추정할 수 있다. 일부 실시예들에서, 클래스 라벨들은 대상물의 운동의 최대 주파수 성분보다 더 높은 속도 또는 주파수를 이용하여 추정될 수 있다. 예를 들어, 사람이 자신의 머리를 좌측으로부터 우측으로 돌리는데 걸리는 시간 동안, 각각 관련된 확률/신뢰도(ζ)을 가진 많은 추정들이 예측될 수 있다. 선택적으로, 신뢰도(ζ)는 훈련된 분류기들에 의해 제공되고, 시간이 경과함에 따라 그들을 결부시킴으로써 및/또는 인간-중심 모션 거동을 고려함으로써 더 개선될 수 있다. 다시 말해서, 추정된 클래스 라벨 출력의 현재 신뢰도는 이전 클래스 라벨 출력들 또는 클래스 라벨 가설들의 이전 클래스 라벨을 고려함으로써 및/또는 대상물의 하나 이상의 미리결정된 물리적 성질들 또는 제약들 특히, 인간 모션의 제약들(예, 머리 돌리는 속도)을 고려함으로써 검증될 수 있다. 예를 들어, 현재의 가장 개연성 있는 클래스 라벨 추정의 현재 신뢰도는 이전 클래스 라벨 출력들의 하나 이상의 이전 신뢰도들 또는 그 평균값과 비교될 수 있다. 더 복잡한 시나리오에서, 예를 들어, 많은 상이한 클래스 라벨들이 있을 때, 예를 들어, 은닉 마르코프 모델(Hidden Markov Model: HMM)들과 같은 더 복잡한 모델들이 채택될 수 있다. 따라서, 이전의 실제 클래스 라벨 출력의 신뢰도들뿐만 아니라 다수의 상이한 클래스 라벨들에 상응하는 이전 클래스 라벨 가설들의 신뢰도가 고려될 수 있다.
일부 실시예들에서, 고려하고자 하는 역사적인 신뢰도들(ζH)의 양(s)을 미리 정의할 수 있다. 그래서, 분류기는 시간들(ti∈[tn-s,...,tn])의 이전(역사적) 신뢰도들(ζH)과 비교될 수 있는 시간의 신뢰도들(ζt)을 예측할 수있다. 시작(starting) 확률(P(ζH,ti=0))은 제1 신뢰도 관찰에 제공될 수 있다. 모든 신뢰도는 그 선조들의 확률(P(ζH,tn-s))에 의존하기 때문에, 현재 신뢰도의 확률은 n-s의 과거 신뢰도에 대해 결정될 수 있다. 그러므로, 현재 신뢰도의 신뢰성을 현저히 개선할 수 있고, 단일 이상점(single outlier)들을 식별할 수 있다. 현재 신뢰도의 확률(P(ζH,tn))과 현재 신뢰도(ζ(n))는 모든 n에 기반하고, 역사적 신뢰도들은 s>0이다.
Figure pct00075
ti=0에서 초기 역사적 확률은, P(ζH,ti)=1.0이다.
Figure pct00076
도 9는 실측 자료(ground truth)(T)(아랫 부분)와 비교할 때 확률(p)에 기반하는 거짓(flase) 예측들(PE)(윗 부분)을 예시적 최적화 공정(PO)이 보상하는 방식을 도시한다. 머신 러닝에서, "실측 자료"라는 용어는 지도 학습 기법들 위한 트레이닝 세트의 분류의 정확도를 의미한다. 인간-중심 모션과 비교하여, 만약 tn-s에서 신뢰할 수 있는 f/-45를 예측했다면, 인간들은 2개의 예측들(dt
Figure pct00077
ωwaitㆍ5ms) 안에서는 그들의 머리를 회전할 수 없기 때문에, tn에서 f/+45의 예측은 거짓이다.
전술한 프로세싱 행위들의 요약적 개관은 도 10에 도시된다. 프리프로세스된 센서 데이터의 프로세싱(도 8 참조)은 다음과 같은 2개의 페이스(phase)들로 구분될 수 있다.
(i) 트레이닝 페이스
(ii) 라이브(Live) 페이스
두 가지 모두의 경우에서, 특성 벡터들은 입력 데이터(참조부호 1010 참조)로부터 추출된다. 트레이닝 페이스(1020) 동안 스무스한 센서 데이터는 분류기(예, SVM)(1030)로 제공될 수 있다. 스무스한 센서 데이터는 그들의 특성 공간 속으로 입력 데이터를 리프트시키기 위해 특성 추출 알고리즘(1010)에 의해 분석될 수 있다. 추출된 특성들은 분류기(1030)를 훈련 또는 최적화하는 입력들로서 사용될 수 있다. 라이브 페이스 동안, 훈련된 분류기(1030)는 그 신뢰도와 함께 모션 클래스 또는 라벨을 예측할 수 있다. 예를 들어, 분류기(1030)는 f/0 운동에 상응하는 입력 신호를 얻고 90%의 신뢰도를 가진 라벨 f/0을 예측한다. 분류기는 입력 데이터를 얼마나 잘 분류할 수 있는지 판단하기 위해 소위, 크로스-폴드 검증(cross-fold validation) 원칙을 이용할 수 있다. 인간은 대부분 그들이 이동하는 방향으로 바라보기 때문에, 시간이 경과함에 따라 인간 운동의 확률적 가정(probabilistic assumption)을 이용하면 결과는 더 개선될 수 있다. 또한, 인간은 2개의 예측들(예, [5,...,20]ms) 안에서 그들의 머리 방위를 좌측으로부터 우측으로(또는 반대로) 변화시킬 수 없다. 따라서, 시간이 경과함에 따른 확률적 의존도들 및/또는 예측된 신뢰도들의 히스토리는 예측된 신뢰도의 현재 확률을 예측하고 필요한 경우 라벨을 정정하기 위해 사용될 수 있다(참조부호 1040 참조).
뷰 적응(view adaptation) (포스트-)절차의 실시예가 도 11에 도시된다. 대상물의 실제 방위와 대상물의 실제 운동 방향 사이의 관계의 분류가 예측된 후, 대상물(예, 사용자의 머리 또는 HMD)이 이동 방향에 대해 어떻게 향하는지 알게 된다. 만약, 머리가 이동 방향과 비슷하게 향하는 것을 알면, 대상물의 가상 방위를 대상물의 실제 이동 방향에 일치시킴으로써 센서 기반 가상 뷰를 정정할 수 있다. 간단한 정정(straightforward correction)은 소위, 멀미를 유발시킬 수 있기 때문에, 보다 성숙한 해결책이 제안된다. 만약, 그들이 특정의 비-몰입 임계값을 초과할 경우 에러들을 정정하고 더 작은 몰입적인 부분들로 에러들을 슬라이스시키고 시간이 경과함에 따라 그리고 현재의 회전을 따라 이러한 몰입적인 부분들을 반복적으로 적용하는 것이 제안되었다.
일부 실시예들은 6-자유도(DOF) 센서들을 이용하여 머리 방위를 예측하고 상보적인 필터를 구현한다. 또한, 이러한 필터는 정적(static) 및 온도-의존적 편향(bias)들뿐만 아니라 부가적인, 영(zero)-평균 가우스 노이즈를 차지한다. 현재의 자이로스코프 기반 각 가속도를 ωx,y,zx,y,z+b+n으로 정의한다. 여기서, b는 정적 및 온도 의존적 편향이고, n은 영-평균 가우스 노이즈이다. 필터 계수(α) 및 현재 가속도 데이터(αx,y,z)에 종속되어 라디안을 각도도 변환(180/π)함으로써, 롤(roll) 방위(φ)와 피치(pitch) 방위(θ)를 아래와 같이 결정할 수 있다.
Figure pct00078
Figure pct00079
롤 방위(φ)와 피치 방위(θ)는 장-시간의 기간 동안 안정한 것으로 예측된다. 요(yaw) 방위는 가속도계와 자이로스코프의 융합(자력계 무시)에 의해 결정될 수 있다. 대상물의 방위(요(yaw)) 정보의 에러는 점차적이고 반복적으로 정정될 수 있다. 예를 들어, 결정된 머리 방위 에러(ψerr)를 사용자의 현재 뷰 방위(ψcur)로 선형적으로 보간하는, 구형 선형 보간(spherical linear interpolation: SLERP) 메커니즘이 적용될 수 있다. 보간은 현재의 회전의 사인(sgn)이 sgn(ψcur)=sgn(ψerr)인 동안 옵셋(ωimmㆍψerr)의 작은 몰입 부분을 적용함으로써 현재의 드리프트(ψcur)를 사용자들의 뷰로 근사화한다. 반복당 ωimm(초당 각도의 수)을 조절함으로써 몰입이 최적화될 수 있다. 요(ψin)를 이용한 초기의 머리 방위에 기반하는 정정된 머리 방위는 다음과 같다.
Figure pct00080
완전한 예시적인 방위 정정 절차는 도 12에 요약되어 있다.
일부 구현예들은 ω의 다양한 범위를 분류하기 위해 지도(supervised) 머신 러닝의 이용을 제안한다. 모든 범위들 중에서, 만약 ω=0˚-모멘트 클래스가 가장 높은 가능성을 가지면,
Figure pct00081
=
Figure pct00082
-모멘트를 감지하였다. IMU(가속도계 및 자이로스코프)의 입력 데이터로부터, 선형 가속도 성분 즉, 모든 방향축에서 운동 에너지를 추출할 수 있고, ω의 특정의 범위를 특징짓고 대표하는 구체적인 특성들을 정의할 수 있다. 모든 ω-클래스들의 미리-기록되고 라벨링된 훈련 데이터를 위해 분류기를 훈련시키기 위해 이러한 특징들을 사용할 수 있다. 실행 시간에서, 라이브 센서 데이터 상에서 ω를 분류하기 위해 이러한 모델들을 사용할 수 있고, 따라서, 상응하는 분류기가 최고의 핏(fit)/가장높은 신뢰도를 산출하면, ω=0˚-모멘트를 탐지한다.
도 12는 예시적인 프로세싱 파이프라인의 기본적인 구조를 개괄한다. 첫째, 가속도계 및 자이로스코프 미가공 센서 신호들을 디지털 필터들을 이용하여 스무스하게 할 수 있다. 트레이닝 페이스에서, 분류기를 훈련시키기 위해 레이블된 훈련 샘플들 상의 ω의 알려진 범위들을 위한 특성들을 추출하기 위해 이러한 신호들을 사용할 수 있다. ω-모멘트의 결이 고운(fine-grained) 해상도는 분류와 그 신뢰도를 개선할 수 있다. 그러나, 만약 더 많은 클래스들을 사용하면 분류를 위한 실행 시간에서 더 많은 CPU 사이클들과 훈련을 위한 더 많은 데이터를 필요로 하기 때문에 이것은 트레이드-오프(trade-off)이다. 실행 시간에서, 훈련된 분류기는 미지(스무스한)의 신호들의 특성들을 처리하여 최적-피팅(fitting) ω-범위 클래스와 그 분류 신뢰도를 리턴한다. 분류 속도를 증가시키기 위하여, 분류기의 예측된 신뢰도들을 이용할 수 있고, 물리적 제약들(예, 1ms 안에 90˚로 머리를 돌리기 불가능한 것과 같은 인간-중심 운동 제약들)을 포함할 수 있고, 이전 신뢰도들을 유지할 수 있다. ω=0˚-모멘트들에서, 머리 방위 드리프트를 결정할 수 있고, 사용자들이 임의의 적응을 보지 않도록 몰입적인 방식에서 드리프를 감소시키기 위해 구형 선형 보간을 이용할 수 있다. 다시 말해서,
Figure pct00083
Figure pct00084
Figure pct00085
일 때를 결정하기 위하여, 절대 위치 데이터는
Figure pct00086
을 결정하기 위해 사용될 수 있다.
Figure pct00087
을 결정하기 위하여, 일부 예들은 몸의 이동 방향(
Figure pct00088
)에 대한 머리의 방위를 분류하는 것을 제안한다. 분류기(예, SVM)의 훈련 페이스에서, 알려진 운동 상태들에 상응하는 상대적인 센서 데이터(머리의 실제 방위와 사용자의 실제 이동 방향 사이의 관계)가 알려지고 훈련을 위해 사용된다. 이제, 훈련된 분류기는 미지의 센서 데이터를 분류할 수 있고 표기법(notation)과 신뢰도를 제공하게 된다. 그러므로, 적절한 표기법의 선택은
Figure pct00089
Figure pct00090
Figure pct00091
이 언제 인지를 알 수 있게 한다. 예를 들어, "머리/좌측", "머리/우측", "머리/똑바로"의 표기법들이 사용될 수 있고, 여기서, "머리/똑바로"는
Figure pct00092
Figure pct00093
Figure pct00094
에 상응한다. 분류를 최적화하기 위하여, 계산상의 복잡성을 감소시키고 분류를 최적화할 목적을 가진 특성 벡터들의 생성이 제안되었다. 전형적으로, 미가공 센서 테이터는 적절한 특성 추출을 이용하여 회피 또는 감소될 수 있는 통계적 중복들을 포함한다. 소위, 특성 스페이스 맵핑(feature space mapping)은 실제 세계로부터의 특성들을 새로운 차원으로 리프트시키는 것을 도울 수 있다. 맴핑 함수는 특성 벡터들이 잘 분리되고 분류될 수 있도록 선택될 수 있다. 이러한 선택은 높은 신뢰도와 낮은 성과 사이의 절충이다.
종래의 개념들은 장-시간의 안정된 머리 편향 예측이 결여되어 몰입을 감소시키는 반면, 본 개시의 일부 실시예들은 몰입적인 머리 방위 예측을 가능하게 하는 신호 프로세싱, 특성 추출, 분류 및 뷰 조화(harmonization)의 조합을 제안한다.
하나 이상의 전술한 상세한 실시예들과 도면들과 함께 언급되고 상술된 측면들과 특징들은, 다른 실시예들의 유사한 특징들을 대체시키기 위해 또는 그러한 특징들을 다른 실시예들에 부가적으로 도입하기 위해, 하나 이상의 다른 실시예들과 조합될 수 있다.
또한, 실시예들은 컴퓨터 프로그램이 컴퓨터 또는 프로세서 상에서 실행될 때, 하나 이상의 전술한 방법들을 수행하기 위한 프로그램 코드를 가진 컴퓨터 프로그램일 수 있고 또는 이와 관련될 수 있다. 전술한 다양한 방법들의 단계들, 작동들 또는 과정들은 프로그램된 컴퓨터들 또는 프로세서들에 의해 수행될 수 있다. 또한, 실시예들은, 머신, 프로세서 또는 컴퓨터 판독가능하고 명령들의 머신-실행가능한, 프로세서-실행가능한 또는 컴퓨터-실행가능한 프로그램들인, 디지털 데이터 저장 매체와 같은 프로그램 저장 디바이스들을 커버할 수 있다. 명령들은 전술한 방법들의 일부 또는 모든 행위들을 수행하거나 수행하게 한다. 프로그램 저장 디바이스들은 예를 들어, 디지털 메모리들, 자기 디스크와 자기 테이프와 같은 자기 저장 매체들, 하드 드라이브들, 또는 선택적으로 판독가능한 디지털 데이터 저장 매체를 포함할 수 있거나 이러한 것들일 수 있다. 또한, 추가적인 실시예들은 예를 들어, 스마트폰에 구현되어 전술한 방법들의 행위를 수행하도록 프로그램된 컴퓨터들, 프로세서들 또는 제어 유니트들 또는 전술한 방법들의 행위들을 수행하도록 프로그램된 (필드)프로그램가능한 로직 어레이((F)PLA)들 또는 (필드)프로그램가능한 게이트 어레이((F)PGA)들을 커버할 수 있다.
상세한 설명과 도면들은 본 개시의 원칙들을 단지 예시할 뿐이다. 나아가서, 본 명세서에 개시된 모든 실시예들은 본 발명이 속하는 분야를 더 넓히기 위해 발명자(들)이 기여한 본 개시의 원칙과 개념들의 이해를 위해 독자를 돕기 위한 가르치기 위한 목적만을 원칙적으로 의도하는 것이 명백하다. 본 명세서 내의 모든 설명은 본 개시의 원칙들, 측면들, 예들을 언급할 뿐만 아니라 그 특정의 실시예들은 그들의 균등물을 포섭하는 것을 의도한다.
특정의 기능을 수행하는 "수단"으로서 의미를 가진 기능적 블록은 특정의 기능을 수행하도록 구성된 회로를 나타낼 수 있다. 그러므로, "어떤 것을 위한 수단"은, 각각의 임무에 적합하거나 그러한 임무를 위해 구성된 디바이스 또는 회로와 같이, "어떤 것으로 구성되거나 그것에 적합한 수단"으로서 구현될 수 있다.
"수단", "센서 신호를 제공하기 위한 수단", "전송 신호를 생성하기 위한 수단" 등과 같은 임의의 기능적 블록들을 포함하는 도면들에 도시된 다양한 요소들의 기능들은, "신호 제공기", "신호 프로세싱 유니트", "프로세서", "컨트롤러" 등과 같은 전용 하드웨어뿐만 아니라 적절한 소프트웨어와 공동으로 소프트웨어를 실행할 수 있는 하드웨어의 형태로 구현될 수 있다. 프로세서에 의해 제공될 때, 기능들은 단일의 전용 프로세서에 의해, 단일의 공유된 프로세서에 의해, 또는 그 일부 또는 전부가 공유될 수 있는 다수의 개별 프로세서들에 의해 제공될 수 있다. 그러나, "프로세서" 또는 "컨트롤러"라는 용어는 소프트웨어를 배타적으로 실행할 수 있는 헤드웨어에만 결코 한정되지 않으며, 디지털 신호 프로세서(DSP) 하드웨어, 네트워크 프로세서, 주문형반도체(application specific integrated circuit:ASIC), 필드 프로그램가능 게이트 어레이(FPGA), 소프트웨어를 저장하기 위한 읽기 전용 메모리(ROM), 랜덤 엑세스 메모리(RAM), 및 비활성 스토리지를 포함할 수 있다. 다른 하드웨어, 종래의 및/또는 관습적인 하드웨어 역시 포함될 수 있다.
블록 다이어그램은 예를 들어, 본 개시의 원칙들을 구현하는 고-수준 회로도를 나타낼 수 있다. 유사하게, 플로우챠트, 플로우 다이어그램, 상태 천이 다이어그램, 의사(pseudo) 코드 등은 예를 들어, 컴퓨터 판독가능한 매체 내에서 실질적으로 제시되고 그러한 컴퓨터 또는 프로세서가 명백하게 보여지는지 여부와 무관하게 컴퓨터 또는 프로세서에 의해 그렇게 실행될 수 있는 다양한 프로세스들, 작동들 또는 단계들을 나타낼 수 있다. 상세한 설명 내에 또는 청구항들 내에 개시된 방법들은 이들 방법들의 각각의 행위들을 수행하기 위한 수단을 가진 디바이스에 의해 구현될 수 있다.
상세한 설명 또는 청구항들 내에서 개시된 다수의 행위들, 프로세스들, 작동들 또는 기능들의 개시는, 예를 들어, 기술적인 이유들로 달리 명백하게 또는 은연중에 언급되지 않는 한 특정의 순서로서 이해될 수 없음을 이해해야 한다. 그러므로, 다수의 행위들 또는 기능들의 개시는 그러한 행위들 또는 기능들이 기술적 이유들로 상호 교환할 수 없는 것이 아닌 한 특정의 순서로 이들을 제한되지 않을 것이다. 나아가서, 일부 실시예들에서, 단일의 행위, 기능, 프로세스, 작동 또는 단계는 다수의 하위-행위들, 하위-기능들, 하위-프로세스들, 하위-작동들, 또는 하위-단계들을 각각 포함할 수 있거나 그러한 것들로 분해될 수 있다. 그러한 하위 행위들은 명백히 배제되지 않는 한 이러한 단일 행위의 개시에 포함될 수 있고, 그러한 개시의 일부일 수 있다.
나아가서, 이어지는 청구항들은 상세한 설명에 통합되고, 각각의 청구항은 별개의 예로서 그 자신만으로 존재할 수 있다. 각각의 청구항이 별개의 예로서 독립하여 존속할 수 있는 반면, 종속 청구항이 하나 이상의 다른 청구항들과 특수하게 조합되는 청구항에서 언급될 수 있더라도, 다른 예들은 종속 청구항과 각각의 다른 종속항 또는 독립항의 기술적 주제와 조합될 수 있음을 유의해야 한다. 그러한 조합들은 특정의 조합이 의도되지 않았다고 언급되지 않는 한 본 명세서에 명백히 제안된다. 나아가서, 이것은 이러한 청구항이 독립항에 직접적으로 종속되지 않더라도 임의의 다른 독립항의 특징을 포함하는 것을 의도한다.
300...사용자
310...대상물
303,304...기둥
310...HMD
400...방법
500...장치
510...입력
520...입력
530...프로세싱 회로
540...출력

Claims (18)

  1. 대상물에 장착된 하나 이상의 관성(inertial) 센서들로부터의 관성 센서 데이터에 기반하는 방위 정보를 정정(correct)하기 위한 방법으로서,
    대상물의 현재의 절대 위치를 나타내는 위치 데이터를 수신하는 단계;
    상기 위치 데이터에 기반하여 대상물의 이동의 방향을 결정하는 단계; 및
    결정된 이동의 방향에 기반하여 대상물의 방위 정보를 정정하는 단계를 포함하고,
    대상물의 방위 정보를 정정하는 단계는,
    - 관성 센서 데이터에 기반하여, 대상물의 실제 방위와 대상물의 이동의 방향 사이의 관계를 추정하는 단계; 및
    - 만약 대상물의 실제 방위가 대상물의 이동의 방향과 상응하는 것을 추정된 관계가 나타내면, 결정된 이동의 방향에 기반하여 대상물의 방위 정보를 정정하는 단계를 포함하는, 방위 정보의 정정 방법.
  2. 청구항 1에서,
    대상물의 방위 정보를 정정하는 단계는, 대상물의 방위 정보를 대상물의 이동의 방향에 부합시키는 단계를 포함하는, 방위 정보의 정정 방법.
  3. 청구항 1에서,
    스무싱(smoothing) 필터를 이용하여 스무스한 센서 데이터를 생성하기 위해 상기 센서 데이터를 필터링하는 단계를 더 포함하는, 방위 정보의 정정 방법.
  4. 청구항 1에서,
    저역통과 필터 및/또는 고역통과 필터를 이용하여 상기 센서 데이터를 필터링하는 단계를 더 포함하는, 방위 정보의 정정 방법.
  5. 청구항 1에서,
    센서 데이터를 압축하는 단계를 더 포함하는, 방위 정보의 정정 방법.
  6. 청구항 5에서,
    상기 센서 데이터를 압축하는 단계는, 센서 데이터 특성 벡터들을 생성하기 위해 상기 센서 데이터로부터 하나 이상의 통계적 및/또는 체험적 특성들을 추출하는 단계를 포함하는, 방위 정보의 정정 방법.
  7. 청구항 5에서,
    센서 데이터를 압축하는 단계는, 평균값, 표준편차를 추출하는 단계를 포함하고, 상기 센서 데이터의 주요 성분 분석을 포함하는, 방위 정보의 정정 방법.
  8. 청구항 5에서,
    압축된 센서 데이터를 기반으로 대상물의 실제 방위와 대상물의 이동의 방향 사이의 관계를 분류하는 단계; 및
    분류 결과에 대한 신뢰도를 생성하는 단계를 더 포함하는, 방위 정보의 정정 방법.
  9. 청구항 8에서,
    이전(previous) 신뢰도들 및/또는 대상물의 미리결정된 물리적 성질 또는 제약들 특히, 인간 모션의 제약들에 기반하여 신뢰도를 확인하는 단계를 더 포함하는, 방위 정보의 정정 방법.
  10. 청구항 8에서,
    대상물의 실제 방위와 대상물의 이동의 방향 사이의 관계를 분류하는 단계는, 하나 이상의 분류 알고리즘들을 이용하여 수행되는, 방위 정보의 정정 방법.
  11. 청구항 10에서,
    하나 이상의 분류 알고리즘들은 서포트 벡터 머신(support vector machine)을 포함하는, 방위 정보의 정정 방법.
  12. 청구항 1에서,
    대상물의 방위 정보의 에러는 점차적으로 정정되는, 방위 정보의 정정 방법.
  13. 청구항 12에서,
    상기 에러는 구형 선형 보간(spherical linear interpolation)에 기반하여 정정되는, 방위 정보의 정정 방법.
  14. 청구항 1에서,
    대상물의 미리정의된 실제 방위와 미리정의된 이동의 방향 사이의 미리정의된 관계에 상응하는 훈련 센서 데이터에 기반하여 대상물의 실제 방위와 대상물의 이동의 방향 사이의 관계를 분류하기 위한 지도 학습(supervised learning) 모델을 훈련시키는 단계를 더 포함하는, 방위 정보의 정정 방법.
  15. 청구항 1에서,
    대상물의 방위 정보는 대상물의 요(jaw) 축 주위의 회전 방위를 나타내는, 방위 정보의 정정 방법.
  16. 청구항 1에서,
    실제 이동의 방향은 후속 시간 순간들에 상응하는 위치 데이터에 기반하여 결정되는, 방위 정보의 정정 방법.
  17. 청구항 1에서,
    센서 데이터는 3-차원 가속도 데이터와 3-차원 회전 속도 데이터를 포함하는, 방위 정보의 정정 방법.
  18. 대상물에 장착된 하나 이상의 관성 센서들로부터의 관성 센서 데이터에 기반하는 방위 정보를 정정하기 위한 장치로서,
    대상물의 현재의 절대 위치를 나타내는 위치 데이터를 수신하도록 구성된 입력; 및
    상기 위치 데이터에 기반하여 대상물의 이동의 방향을 결정하고 결정된 이동의 방향에 기반하여 대상물의 방위 정보를 정정하도록 구성된 프로세싱 회로를 구비하고,
    상기 프로세싱 회로는,
    - 관성 센서 데이터에 기반하여, 대상물의 실제 방위와 대상물의 이동의 방향 사이의 관계를 추정하도록 구성되고; 및
    - 만약 대상물의 실제 방위가 대상물의 이동의 방향에 상응하는 것을 추정된 관계가 나타내면, 결정된 이동의 방향에 기반하여 대상물의 방위 정보를 정정하도록 구성된, 방위 정보의 정정 장치.
KR1020197017200A 2017-01-13 2018-01-03 하나 이상의 관성 센서들로부터 방위 정보를 정정하기 위한 장치 및 방법 KR102207195B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
DE102017100622.2 2017-01-13
DE102017100622.2A DE102017100622A1 (de) 2017-01-13 2017-01-13 Vorrichtungen und Verfahren zum Korrigieren von Ausrichtungsinformationen von einem oder mehreren Trägheitssensoren
PCT/EP2018/050129 WO2018130446A1 (en) 2017-01-13 2018-01-03 Apparatuses and methods for correcting orientation information from one or more inertial sensors

Publications (2)

Publication Number Publication Date
KR20190085974A true KR20190085974A (ko) 2019-07-19
KR102207195B1 KR102207195B1 (ko) 2021-01-22

Family

ID=60953860

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197017200A KR102207195B1 (ko) 2017-01-13 2018-01-03 하나 이상의 관성 센서들로부터 방위 정보를 정정하기 위한 장치 및 방법

Country Status (8)

Country Link
US (1) US20190346280A1 (ko)
EP (1) EP3568801A1 (ko)
JP (1) JP6761551B2 (ko)
KR (1) KR102207195B1 (ko)
CN (1) CN110073365A (ko)
CA (1) CA3044140A1 (ko)
DE (1) DE102017100622A1 (ko)
WO (1) WO2018130446A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102290857B1 (ko) * 2020-03-30 2021-08-20 국민대학교산학협력단 채널상태정보를 이용한 인공지능 기반의 스마트 사용자 검출 방법 및 장치
KR20210106885A (ko) * 2021-01-14 2021-08-31 아주대학교산학협력단 인공지능 기반의 vr 환경에서의 전후진 움직임 탐지 장치 및 방법

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10883831B2 (en) * 2016-10-28 2021-01-05 Yost Labs Inc. Performance of inertial sensing systems using dynamic stability compensation
DE102017208365A1 (de) * 2017-05-18 2018-11-22 Robert Bosch Gmbh Verfahren zur Orientierungsschätzung eines tragbaren Gerätes
US11238297B1 (en) * 2018-09-27 2022-02-01 Apple Inc. Increasing robustness of computer vision systems to rotational variation in images
CN110837089B (zh) * 2019-11-12 2022-04-01 东软睿驰汽车技术(沈阳)有限公司 一种位移填补的方法和相关装置
US11911147B1 (en) 2020-01-04 2024-02-27 Bertec Corporation Body sway measurement system
US11531115B2 (en) * 2020-02-12 2022-12-20 Caterpillar Global Mining Llc System and method for detecting tracking problems
CN111947650A (zh) * 2020-07-14 2020-11-17 杭州瑞声海洋仪器有限公司 基于光学追踪与惯性追踪的融合定位系统及方法
CN112415558B (zh) * 2021-01-25 2021-04-16 腾讯科技(深圳)有限公司 行进轨迹的处理方法及相关设备
CN112802343B (zh) * 2021-02-10 2022-02-25 上海交通大学 面向虚拟算法验证的通用虚拟传感数据采集方法及系统
CN116744511B (zh) * 2023-05-22 2024-01-05 杭州行至云起科技有限公司 智能调光调色照明系统及其方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5495427A (en) 1992-07-10 1996-02-27 Northrop Grumman Corporation High speed high resolution ultrasonic position and orientation tracker using a single ultrasonic frequency
US5615132A (en) 1994-01-21 1997-03-25 Crossbow Technology, Inc. Method and apparatus for determining position and orientation of a moveable object using accelerometers
US6176837B1 (en) 1998-04-17 2001-01-23 Massachusetts Institute Of Technology Motion tracking system
US6474159B1 (en) * 2000-04-21 2002-11-05 Intersense, Inc. Motion-tracking
US20030120425A1 (en) 2001-12-26 2003-06-26 Kevin Stanley Self-correcting wireless inertial navigation system and method
US6720876B1 (en) 2002-02-14 2004-04-13 Interval Research Corporation Untethered position tracking system
CN102216941B (zh) * 2008-08-19 2015-08-12 数字标记公司 用于内容处理的方法和系统
US9024972B1 (en) * 2009-04-01 2015-05-05 Microsoft Technology Licensing, Llc Augmented reality computing with inertial sensors
US20120173195A1 (en) 2010-12-03 2012-07-05 Qualcomm Incorporated Inertial sensor aided heading and positioning for gnss vehicle navigation
CN105009027B (zh) * 2012-12-03 2018-09-04 纳维森斯有限公司 用于估计对象的运动的系统和方法
US20140266878A1 (en) 2013-03-15 2014-09-18 Thales Visionix, Inc. Object orientation tracker
US9367960B2 (en) * 2013-05-22 2016-06-14 Microsoft Technology Licensing, Llc Body-locked placement of augmented reality objects
US10317421B2 (en) * 2014-03-31 2019-06-11 Stmicroelectronics S.R.L Positioning apparatus comprising an inertial sensor and inertial sensor temperature compensation method
CN104834917A (zh) * 2015-05-20 2015-08-12 北京诺亦腾科技有限公司 一种混合运动捕捉系统及方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Marcio Mello 등, ‘Correcting Drift, Head and Body Misalignments between Virtual and Real Humans’, SBC Journal on 3D Interactive Systems. Vol 4. P55-65. 2013 1부.* *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102290857B1 (ko) * 2020-03-30 2021-08-20 국민대학교산학협력단 채널상태정보를 이용한 인공지능 기반의 스마트 사용자 검출 방법 및 장치
KR20210106885A (ko) * 2021-01-14 2021-08-31 아주대학교산학협력단 인공지능 기반의 vr 환경에서의 전후진 움직임 탐지 장치 및 방법

Also Published As

Publication number Publication date
JP2020505614A (ja) 2020-02-20
KR102207195B1 (ko) 2021-01-22
EP3568801A1 (en) 2019-11-20
CA3044140A1 (en) 2018-07-19
US20190346280A1 (en) 2019-11-14
WO2018130446A1 (en) 2018-07-19
CN110073365A (zh) 2019-07-30
DE102017100622A1 (de) 2018-07-19
JP6761551B2 (ja) 2020-09-23

Similar Documents

Publication Publication Date Title
KR102207195B1 (ko) 하나 이상의 관성 센서들로부터 방위 정보를 정정하기 위한 장치 및 방법
US9224043B2 (en) Map generation apparatus, map generation method, moving method for moving body, and robot apparatus
Censi et al. Low-latency event-based visual odometry
Field et al. Motion capture in robotics review
US11138742B2 (en) Event-based feature tracking
US9355334B1 (en) Efficient layer-based object recognition
JP7339314B2 (ja) 室内測位および追跡のための深層スマートフォンセンサ融合
Vital et al. Combining discriminative spatiotemporal features for daily life activity recognition using wearable motion sensing suit
Chen et al. Multi-scale bio-inspired place recognition
Correa et al. Active visual perception for mobile robot localization
Wang et al. A survey of visual SLAM in dynamic environment: the evolution from geometric to semantic approaches
Deinzer et al. A framework for actively selecting viewpoints in object recognition
Nishimura et al. ViewBirdiformer: Learning to recover ground-plane crowd trajectories and ego-motion from a single ego-centric view
Zaier et al. A Dual Perspective of Human Motion Analysis-3D Pose Estimation and 2D Trajectory Prediction
Gunawan et al. Geometric deep particle filter for motorcycle tracking: development of intelligent traffic system in Jakarta
Catal et al. Bio-inspired monocular drone SLAM
Lee et al. Real-time face tracking and recognition using the mobile robots
US12118817B2 (en) Pose data generation device, CG data generation system, pose data generation method, and non-transitory computer readable storage medium
Wagstaff Data-Driven Models for Robust Egomotion Estimation
Kwon et al. Human activity recognition using deep recurrent neural networks and complexity-based motion features
Farnoosh Unsupervised Learning of Low-Dimensional Dynamical Representations from Spatiotemporal Data
Baxter Toward robust active semantic SLAM via Max-Mixtures
Li A new efficient pose estimation and tracking method for personal devices: application to interaction in smart spaces
Gharani Visual-Inertial Sensor Fusion Models and Algorithms for Context-Aware Indoor Navigation
Zaier et al. Cross-Modal Attention for Accurate Pedestrian Trajectory Prediction

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