KR20210130227A - 센서 데이터를 예측하여 추적되는 객체들의 포즈들을 모델링 - Google Patents

센서 데이터를 예측하여 추적되는 객체들의 포즈들을 모델링 Download PDF

Info

Publication number
KR20210130227A
KR20210130227A KR1020217031419A KR20217031419A KR20210130227A KR 20210130227 A KR20210130227 A KR 20210130227A KR 1020217031419 A KR1020217031419 A KR 1020217031419A KR 20217031419 A KR20217031419 A KR 20217031419A KR 20210130227 A KR20210130227 A KR 20210130227A
Authority
KR
South Korea
Prior art keywords
sensor data
calibration
sensor
area
pose
Prior art date
Application number
KR1020217031419A
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 페이스북, 인크.
Publication of KR20210130227A publication Critical patent/KR20210130227A/ko

Links

Images

Classifications

    • 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/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0346Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C19/00Gyroscopes; Turn-sensitive devices using vibrating masses; Turn-sensitive devices without moving masses; Measuring angular rate using gyroscopic effects
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01PMEASURING LINEAR OR ANGULAR SPEED, ACCELERATION, DECELERATION, OR SHOCK; INDICATING PRESENCE, ABSENCE, OR DIRECTION, OF MOVEMENT
    • G01P15/00Measuring acceleration; Measuring deceleration; Measuring shock, i.e. sudden change of acceleration
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/017Head mounted
    • 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/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Optics & Photonics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Navigation (AREA)

Abstract

플랫폼 시스템은 추적되는 객체의 상태 및 배향을 설명하는 센서 데이터를 수신하고 플랫폼 시스템과의 사용자 상호작용들을 결정하기 위해 추적되는 객체의 포즈를 모델링한다. 포화 이벤트 또는 연결 손실로 인한 부정확한 센서 데이터가 사용자 경험에 영향을 미치지 않는 것을 보장하기 위해, 플랫폼 시스템은 센서 데이터가 포화 한계 이상이거나 수신되지 않는 것에 기반하여 센서 데이터 스트림들에서 보정을 위한 영역들을 식별한다. 플랫폼 시스템은 보정을 위한 영역들에 인접한 포인트들에 대응하는 피트를 적용하고 적용된 피트를 사용하여 예측된 센서 데이터를 결정함으로써 식별된 보정 영역에 대한 센서 데이터를 예측한다. 예측된 센서 데이터는 추적되는 객체에 대한 모델링된 포즈를 보정하는 데 사용된다.

Description

센서 데이터를 예측하여 추적되는 객체들의 포즈들을 모델링
본 출원은 2019년 3월 4일 출원된 미국 출원 번호 16/291,228호에 대해 우선권을 주장하고, 이 출원의 내용들은 모든 목적들을 위해 그 전체가 참조로 본원에 포함된다.
본 개시내용은 일반적으로 추적되는 객체들에 대한 포즈들을 모델링하는 것에 관한 것이고, 보다 구체적으로 센서 데이터를 예측함으로써 추적되는 객체들에 대한 포즈들을 모델링하는 것에 관한 것이다.
제어기들 및 헤드셋들과 같은 객체들은 사용자들이 사용자에 의해 수행되는 모션들, 선택들, 및 다른 액션들을 식별하기 위해 객체의 상태 및 배향을 사용함으로써 플랫폼 시스템들과 상호작용하게 한다. 자이로스코프들, 자력계들, 가속도계들과 같은 센서들은 객체에 부착되어 객체의 동작 동안 데이터를 수집하는 데 사용된다. 플랫폼 시스템은 센서들에 의해 수신된 데이터를 사용하여 객체의 움직임들을 추적하고 객체의 포즈를 모델링하여 플랫폼 시스템과의 사용자 상호작용들을 거의 실시간으로 결정한다. 가상 현실과 같은 플랫폼 시스템 애플리케이션들에서, 추적되는 객체의 포즈를 정확하고 빠르게 모델링하고 사용자가 나타내는 액션들 및 상호작용들을 실행하는 것은 시스템에 의한 현실적인 사용자 경험에 필수적이다.
센서 데이터가 손실되거나 부정확할 때 문제가 발생한다. 일 예에서, 센서 데이터 패킷들이 플랫폼 시스템에 의해 수신되지 않은 경우(예를 들어, 센서 데이터 패킷들이 물리적 장애물에 의해 차단되거나, 추적되는 객체와 플랫폼 시스템 사이의 연결이 일시적으로 이용가능하지 않는 경우 등) 부정확한 센서 데이터가 야기될 수 있다. 다른 예에서, 센서 포화로 인해 부정확한 센서 데이터가 야기될 수 있다. 센서 포화는 실제 측정치가 정확하게 기록할 수 있는 센서 용량을 초과할 때 발생한다. 센서 포화 이벤트 동안, 실제 측정치가 포화 값을 초과하더라도 데이터는 임계치 포화 한계에 있는 것으로 표현될 수 있다. 부정확한 센서 데이터는 잘못된 포즈가 플랫폼 시스템에 의해 표현되게 하고, 이는 시스템에서 지연 또는 부정확하게 모델링된 액션들을 유발하고 플랫폼 시스템에 대한 사용자 경험에 부정적인 영향을 미친다.
플랫폼 시스템은 센서 데이터 스트림으로부터 보정을 위한 센서 데이터의 영역을 식별하고 식별된 영역을 둘러싸는 센서 데이터를 사용하여 해당 영역 내의 센서 데이터를 예측한다. 플랫폼 시스템은 플랫폼 시스템과 페어링(pair)된 추적되는 객체 객체의 움직임 및 포지셔닝을 설명하는 데이터를 포함하는 센서 데이터 스트림을 수신하고 거의 실시간으로 센서 데이터 스트림에 기반하여 추적되는 객체의 포즈를 모델링한다. 추적되는 객체의 동작 동안, 플랫폼 시스템은 부정확할 가능성이 있고 센서 주변에서 측정될 실제 환경을 반영하지 못할 수 있는 센서 데이터 스트림의 영역을 식별한다. 예를 들어, 영역은 연관된 센서에 대한 포화 한계를 초과하는 시간 양 동안 센서 데이터에 기반하여 결정된다. 다른 예에서, 영역은 일정 시간 양 동안 센서 데이터의 부족에 기반하여 결정된다.
플랫폼 시스템은 보정을 위한 영역에 인접한 센서 데이터를 식별하고, 인접 센서 데이터에 기반하여 영역에 대한 입구 기울기 및 출구 기울기를 결정한다. 일 실시예에서, 플랫폼 시스템은 입구 및 출구 기울기들을 결정하기 위해 보정을 위한 영역의 각각의 측면에 인접한 2 개의 포인트들을 사용한다. 플랫폼 시스템은 결정된 입구 및 출구 기울기들에 대응하는 피트(fit)를 적용한다. 예를 들어, 플랫폼 시스템은 보정을 위한 영역에 다항식 피트를 적용한다. 플랫폼 시스템은 적용된 피트를 사용하여 보정을 위한 영역에 대한 예측된 센서 데이터를 결정하고 예측된 센서 데이터에 기반하여 추적되는 객체의 모델링된 포즈를 수정한다.
보정을 위한 영역에 대한 예측된 센서 데이터에 기반하여 추적되는 객체의 모델링된 포즈를 수정함으로써, 플랫폼 시스템은 거의 실시간으로 추적되는 객체의 포지션 및 움직임에 대한 부정확한 센서 데이터의 영향을 감소시킨다.
상술한 문제들은 이하의 청구항들 중 적어도 하나에 따른 본 발명에 의해 해결된다.
본 발명의 일부 구현들에 따르면, 방법이 제공되고, 이러한 방법은 추적되는 객체의 움직임 및 위치 데이터와 연관된 센서 데이터 스트림을 수신하는 단계; 상기 센서 데이터 스트림에 기반하여 상기 추적되는 객체의 포즈를 모델링하는 단계; 상기 센서 데이터 스트림에서 보정을 위한 영역을 식별하는 단계; 상기 보정을 위한 영역에 대해, 상기 보정을 위한 영역에 인접한 판독치들에 기반하여 센서 데이터를 예측하는 단계; 및 상기 예측된 센서 데이터에 기반하여 상기 추적되는 객체의 상기 모델링된 포즈를 수정하는 단계를 포함한다.
본 발명의 하나의 가능한 구현에 따르면, 보정을 위한 영역을 식별하는 단계는: 상기 센서 데이터 스트림과 연관된 센서에 대한 포화 한계를 식별하는 단계; 및 상기 센서 데이터가 상기 포화 한계 이상인 상기 센서 데이터 스트림의 영역을 식별하는 단계를 더 포함한다.
본 발명의 하나의 가능한 구현에 따르면, 보정을 위한 영역을 식별하는 단계는 어떠한 센서 데이터도 수신되지 않는 상기 센서 데이터 스트림의 영역을 식별하는 단계를 더 포함한다.
본 발명의 하나의 가능한 구현에 따르면, 상기 보정을 위한 영역에 인접한 상기 판독치들에 기반하여 센서 데이터를 예측하는 단계는: 상기 보정을 위한 영역에 인접한 상기 센서 판독치들의 기울기를 결정하는 단계; 및 상기 결정된 기울기에 대응하는 피트를 적용하는 단계를 더 포함한다.
본 발명의 하나의 가능한 구현에 따르면, 상기 기울기는 상기 보정을 위한 영역에 인접한 2 개의 센서 판독치들에 기반하여 결정된다.
본 발명의 하나의 가능한 구현에 따르면, 상기 결정된 기울기에 대응하는 피트를 적용하는 단계는 센서 유형에 적어도 부분적으로 기반한다.
본 발명의 하나의 가능한 구현에 따르면, 상기 센서 유형은 자이로스코프이고, 상기 결정된 기울기에 대응하는 피트를 적용하는 단계는 2차 이상의 다항식 피트를 적용하는 단계를 더 포함한다.
본 발명의 하나의 가능한 구현에 따르면, 상기 센서 유형은 가속도계이고, 적용하는 단계는 구분적 선형 피트를 적용하는 단계를 더 포함한다.
본 발명의 하나의 가능한 구현에 따르면, 상기 예측된 센서 데이터에 기반하여 상기 추적되는 객체의 상기 모델링된 포즈를 수정하는 단계는 시간 경과에 따라 상기 추적되는 객체의 상기 모델링된 포즈에 일련의 수정들을 적용하는 단계를 더 포함한다.
본 발명의 일부 구현들에 따르면, 동작들을 수행하기 위해 프로세서에 의해 실행가능한 컴퓨터 프로그램 명령들을 저장하는 비일시적 컴퓨터-판독가능 저장 매체는: 추적되는 객체의 움직임 및 위치 데이터와 연관된 센서 데이터 스트림을 수신하는 동작; 상기 센서 데이터 스트림에 기반한 상기 추적되는 객체의 포즈를 모델링하는 동작; 상기 센서 데이터 스트림에서 보정을 위한 영역을 식별하는 동작; 상기 보정을 위한 영역에 대해, 상기 보정을 위한 영역에 인접한 판독치들에 기반하여 센서 데이터를 예측하는 동작; 및 상기 예측된 센서 데이터에 기반하여 상기 추적되는 객체의 상기 포즈를 수정하는 동작을 포함한다.
본 발명의 하나의 가능한 구현에 따르면, 보정을 위한 영역을 식별하는 동작은: 상기 센서 데이터 스트림과 연관된 센서에 대한 포화 한계를 식별하는 동작; 및 상기 센서 데이터가 상기 포화 한계 이상인 상기 센서 데이터 스트림의 영역을 식별하는 동작을 더 포함한다.
본 발명의 하나의 가능한 구현에 따르면, 보정을 위한 영역을 식별하는 동작은 어떠한 센서 데이터도 수신되지 않는 상기 센서 데이터 스트림의 영역을 식별하는 동작을 더 포함한다.
본 발명의 하나의 가능한 구현에 따르면, 상기 보정을 위한 영역에 인접한 상기 판독치들에 기반하여 센서 데이터의 피트를 예측하는 동작은: 상기 보정을 위한 영역에 인접한 상기 센서 판독치들의 기울기를 결정하는 동작; 및 상기 결정된 기울기에 대응하는 피트를 적용하는 동작을 더 포함한다.
본 발명의 하나의 가능한 구현에 따르면, 상기 기울기는 상기 보정을 위한 영역에 인접한 2 개의 센서 판독치들에 기반하여 결정된다.
본 발명의 하나의 가능한 구현에 따르면, 상기 결정된 기울기에 대응하는 피적용하는 동작은 센서 유형에 적어도 부분적으로 기반한다.
본 발명의 하나의 가능한 구현에 따르면, 상기 센서 유형은 자이로스코프이고, 상기 결정된 기울기에 대응하는 피트를 적용하는 동작은 2차 이상의 다항식 피트를 적용하는 동작을 더 포함한다.
본 발명의 하나의 가능한 구현에 따르면, 상기 센서 유형은 가속도계이고, 적용하는 동작은 구분적 선형 피트를 적용하는 동작을 더 포함한다.
본 발명의 하나의 가능한 구현에 따르면, 상기 예측된 센서 데이터에 기반하여 상기 추적되는 객체의 상기 포즈를 수정하는 동작은 시간 경과에 따라 상기 추적되는 객체의 상기 포즈에 일련의 수정들을 적용하는 동작을 더 포함한다.상기 결정된 기울기에 대응하는 피트를트를상기 결정된 기울기에 대응하는 피트를
도 1은 일 실시예에 따라 동작하는 포즈 결정 시스템을 포함하는 플랫폼 시스템에서 시스템 환경의 블록도이다.
도 2는 일 실시예에 따른 포즈 결정 시스템의 아키텍처의 블록도이다.
도 3a 내지 도 3c는 일 실시예에 따른 포화 이벤트로 인한 보정을 위한 영역을 포함하는 센서 데이터 스트림을 예시하는 예들이고 센서 데이터 스트림은 보정된 센서 데이터를 포함한다.
도 4a 내지 도 4b는 일 실시예에 따른 데이터 패킷 손실로 인한 보정을 위한 영역을 포함하는 센서 데이터 스트림을 예시하는 예들이고 센서 데이터 스트림은 보정된 센서 데이터를 포함한다.
도 5는 일 실시예에 따른 추적되는 객체의 포즈를 수정하는 데 사용하기 위한 센서 데이터를 보정하는 방법의 흐름도이다.
도면들은 단지 예시 목적들을 위한 다양한 실시예들을 묘사한다. 통상의 기술자는 본원에 예시된 구조들 및 방법들의 대안적인 실시예들이 본원에 설명된 원리들로부터 벗어나지 않고 이용될 수 있다는 것을 이하 상세한 설명으로부터 쉽게 인식할 것이다.
시스템 아키텍처
도 1은 플랫폼 시스템(130)을 위한 시스템 환경(100)의 블록도이다. 도 1에 의해 도시된 시스템 환경(100)은 사용자(105)가 플랫폼 시스템(130) 및 하나 이상의 장애물들(120)과 상호작용하기 위해 제어기(110) 및 헤드셋(115)을 동작시키는 것을 포함한다. 일 실시예에서, 플랫폼 시스템(130)은 가상 현실 시스템이다. 대안적인 구성들에서, 상이한 및/또는 추가 구성요소들은 시스템 환경(100)에 포함될 수 있다. 예를 들어, 시스템 환경(100)은 다수의 사용자들, 제어기들, 헤드셋들을 포함할 수 있다.
사용자들(105)은 하나 이상의 제어기들(110), 헤드셋들(115), 또는 다른 구성요소들을 사용하여 플랫폼 시스템(130)과 상호작용한다. 제어기들(110) 및 헤드셋들(115)은 정보를 교환하기 위해 무선 또는 유선 통신을 통해 플랫폼 시스템(130)과 통신한다. 예를 들어, 플랫폼 시스템(130)은 게임들, 가상 현실, 통신 프로그램들, 인터넷 브라우징 등과 같이 사용자(105)가 액세스할 수 있는 플랫폼 시스템의 애플리케이션들을 설명하는 정보를 송신한다. 제어기들(110) 및 헤드셋들(115)을 통해 송신된 사용자 입력에 기반하여, 사용자(105)는 플랫폼 시스템의 콘텐츠에 액세스하고 상호작용한다.
일부 실시예들에서, 제어기들(110)은 주어진 시점에서 제어기의 상태, 움직임 또는 포지션을 설명하는 하나 이상의 센서들을 포함하는 핸드헬드 디바이스들이다. 예를 들어, 제어기들(110)은 자이로스코프들, 가속도계들 및 자력계들과 같은 센서들을 포함한다. 센서들은 시스템에 대한 입력으로 사용하기 위해 플랫폼 시스템(130)에 송신되는 데이터를 수집한다. 예를 들어, 센서들은 사용자(105)에 의해 이루어진 제스처들, 플랫폼 시스템(130)에 관련한 사용자 및 제어기들(110)의 움직임 및 포지션 등을 반영하는 회전 및 가속도와 같은 정보를 검출한다. 제어기 센서들은 종종 센서에 의해 수집된 데이터의 정확도에 영향을 줄 수 있는 포화 한계들과 연관된다. 예를 들어, 센서들은 판독치들이 더 이상 정확하지 않은 제조업체 또는 실험 포화 한계를 갖는다. 포화 한계를 초과하는 실제 움직임들 또는 이벤트들은 부정확하거나 정확하지 않은 데이터가 제어기들(110)의 센서들에 의해 수집되어 플랫폼 시스템(130)으로 송신되게 할 수 있다.
일 실시예에서, 헤드셋들(115)은 무선 연결을 통해 제어기들(110) 및 플랫폼 시스템(130)에 링크된다. 다른 실시예에서, 헤드셋들(115)은 플랫폼 시스템(130)을 포함하고 무선 연결을 통해 제어기들(110)에 링크된다. 헤드셋들(115)은 플랫폼 시스템(130)에 대한 입력으로서 작용하는 데이터를 수집하는 추가 센서들을 포함한다. 예를 들어, 헤드셋들(115)의 센서는 사용자(105)의 머리 움직임, 사용자의 시선 방향, 환경에 관련한 사용자의 움직임 및 포지션, 제어기들(110) 및 환경에 관련한 헤드셋(115)의 포지션 및 배향 등과 같은 정보를 검출하고 송신한다.
시스템 환경(100)은 플랫폼 시스템(130), 헤드셋(115), 및 제어기(110) 사이의 무선 통신들에 영향을 미칠 수 있는 하나 이상의 장애물들(120)을 추가로 포함할 수 있다. 예를 들어, 시스템 환경(100)은 제어기(110) 또는 헤드셋(115)에 의해 송신된 데이터 스트림들의 플랫폼 시스템(130)에 의한 수신을 방해하거나 지연시키는 사용자의 신체, 벽들, 외부 무선 신호들, 또는 다른 큰 객체들을 포함한다.
플랫폼 시스템(130)은 제어기들(110) 및 헤드셋(115)으로부터 수신된 데이터 스트림들을 사용하여 제어기들, 헤드셋들 및 사용자들(105)에 관한 상태 및 배향 정보를 식별하는 포즈 결정 시스템(135)을 포함한다. 예를 들어, 포즈 결정 시스템(135)은 제어기(110)로부터의 자이로스코프 데이터, 가속도계 데이터, 및 자력계 데이터를 사용하여 거의 실시간으로 제어기에 대한 포즈를 모델링한다. 다른 예들에서, 플랫폼 시스템(130)에 연결되고 헤드셋들(115)과 같은 센서들을 포함하는 다른 강성 객체들은 포즈 결정 시스템(135)에 의해 추적된다. 추적되는 객체에 대한 모델링된 포즈는 플랫폼 시스템(130)을 사용하여 사용자에 의해 이루어진 액션들 및 상호작용들을 식별하는 데 사용된다. 센서들에 대한 포화 이벤트들 또는 데이터 손실로 인한 부정확한 데이터가 추적되는 객체들에 대해 부정확하게 모델링된 포즈를 초래할 수 있기 때문에, 포즈 결정 시스템(135)은 부정확한 것으로 식별된 센서 데이터에 대한 센서 데이터를 예측한다. 예측된 센서 데이터는 추적되는 객체들의 모델링된 포즈를 수정하는 데 사용된다. 예측된 센서 데이터 및 수정된 모델링된 포즈들의 사용은 플랫폼 시스템(130)이 부정확한 데이터를 갖는 센서 데이터 스트림에서 식별된 영역들을 보정함으로써 추적되는 객체들의 상태가 실제 포지션들, 움직임들 및 상태들로 정확하게 렌더링하는 것을 보장한다.
도 2는 포즈 결정 시스템(135)의 아키텍처의 블록도이다. 도 2에 도시된 포즈 결정 시스템(135)은 데이터 수신 모듈(200), 센서 데이터 저장소(205), 센서 교정 모듈(210), 포즈 모델링 모듈(215), 센서 데이터 보정 모듈(220), 및 포즈 보정 모듈(225)을 포함한다. 다른 실시예들에서, 포즈 결정 시스템(135)은 다양한 애플리케이션들을 위한 추가의, 더 적은 수의, 또는 상이한 구성요소들을 포함할 수 있다.
데이터 수신 모듈(200)은 플랫폼 시스템(130)에 페어링된 추적되는 객체에 대해 하나 이상의 센서들로부터 실시간 또는 거의 실시간으로 센서 데이터를 수신한다. 데이터 수신 모듈(200)은 수신된 센서 데이터를 센서 교정 모듈(210)로 송신한다. 일 실시예에서, 데이터 수신 모듈(200)에 의해 수신된 센서 데이터는 객체 유형, 센서 유형, 또는 센서 식별기를 식별하는 메타데이터와 연관되어, 센서 데이터는 추적되는 객체에 대한 센서 유형 또는 식별기 의해 식별되는 센서 데이터 스트림으로 그룹화된다. 예를 들어, 데이터 수신 모듈(200)은 자이로스코프 데이터 스트림, 가속도계 데이터 스트림 및 자력계 데이터 스트림을 수신한다. 일부 실시예들에서, 데이터 수신 모듈(200)은 시스템 환경(100)의 다른 구성요소들과 연관된 하나 이상의 센서들로부터 추가 센서 데이터를 수신한다. 예를 들어, 추적되는 객체가 제어기(110)인 경우, 데이터 수신 모듈(200)은 헤드셋(115)과 연관된 센서들로부터 추가 센서 데이터를 수신한다.
센서 교정 모듈(210)은 하나 이상의 교정 파라미터들을 수신된 센서 데이터에 적용한다. 일 실시예에서, 교정 파라미터들은 수신된 센서 데이터를 포즈 모델링 모듈(215) 및 포즈 결정 시스템(135)의 다른 모듈들에 의해 사용가능한 형태로 변환하는데 사용된다. 다른 실시예에서, 교정 파라미터들은 시간 경과에 따른 오류 또는 추적되는 객체의 동작 동안 발생하는 이벤트들로 인한 오류에 대해 수신된 센서 데이터를 조정하는 데 사용된다. 예를 들어, 센서 교정 모듈(210)은 추적되는 객체의 동작 동안 데이터 수신 모듈(200)로부터 수신된 센서 데이터에 교정 파라미터들을 적용한다. 다른 예에서, 센서 교정 모듈(210)은 정적 이벤트로 인해 포즈 모델링 모듈(215)로부터 잔여 센서 데이터를 수신하는 것에 응답하여 상수(c)만큼 수신된 센서 데이터를 조정한다. 정적 이벤트는, 추적되는 객체의 움직임을 설명하는 예상 센서 데이터가 0 이도록, 추적되는 객체가 환경에 관련하여 정지 상태일 때 발생한다. 잔여 센서 데이터는 정적 이벤트 동안 발생하는 0이 아닌 센서 데이터이다. 센서 교정 모듈(210)은 잔여 센서 데이터를 오류로 식별하고 인입 데이터 스트림으로부터 잔여 센서 데이터를 빼기 위해 상수(c)를 결정한다. 센서 교정 모듈(210)은 교정된 센서 데이터를 센서 데이터 저장소(210)로 송신한다.
센서 데이터 저장소(210)는 데이터 수신 모듈(200)에 의해 수신된 하나 이상의 센서 데이터 스트림들을 저장 및 유지한다. 데이터 수신 모듈(200)에 의해 수신된 센서 데이터는 센서 유형 또는 센서 식별기와 연관되어 저장되고 센서 교정 모듈(205)에 의해 교정된다. 센서 데이터는 인입 데이터 스트림들에 기반하여 실시간 또는 거의 실시간으로 업데이트된다. 일 실시예에서, 센서 데이터 저장소(210)는 이력 센서 데이터의 적어도 서브세트를 유지한다. 예를 들어, 센서 데이터 저장소(210)는 플랫폼 시스템(130)과 추적되는 객체 사이의 활성 세션 지속기간 동안 이력 센서 데이터를 유지한다. 다른 예에서, 센서 데이터 저장소(210)는 특정 시간 양(예를 들어, 마지막 5분, 마지막 시간, 마지막 날) 동안 이력 센서 데이터를 유지한다.
포즈 모델링 모듈(215)은 추적되는 객체로부터 수신된 센서 데이터 스트림들에 기반하여 거의 실시간으로 추적되는 객체들의 포즈들을 모델링한다. 추적되는 객체 및 플랫폼 시스템(130)의 동작 동안, 포즈 모델링 모듈(215)은 센서 데이터 저장소(205)에 저장된 센서 데이터 스트림들에 액세스하고(또는 센서 데이터 스트림들을 센서 교정 모듈(200)로부터 직접 수신함) 센서 데이터 스트림들을 사용하여 주어진 시간에 추적되는 객체에 대한 포즈를 결정한다. 일 실시예에서, 포즈 모델링 모듈(215)은 (예를 들어, 연결 시작 시; 추적되는 객체가 플랫폼 시스템(130) 또는 환경 내의 다른 객체에 의해 식별될 때; 등) 추적되는 객체의 초기 포즈를 식별하고, 인입 센서 데이터에 기반하여, 추적되는 객체를 사용하여 사용자(105)에 의해 이루어진 추적되는 움직임들에 기반하여 포즈에 대한 업데이트들을 결정한다. 예를 들어, 포즈 모델링 모듈(215)은 추적되는 객체가 시간(t = to)에서 환경에 관련하여 포지션(x, y, z)에 있다고 결정한다. 자이로스코프, 가속도계, 자력계, 또는 다른 센서 데이터에 기반하여, 포즈 모델링 모듈(215)은 추적되는 객체가 제 2 시간(t = t1)에서 제2 포지션(x+c1, y+c2, z+c3)에 있다고 결정한다. 일부 실시예들에서, 포즈 모델링 모듈(215)은 센서 데이터 스트림들에 기반하여 속도, 각속도, 가속도, 배향, 방향 및 각도 등과 같은 추적되는 객체에 관한 다른 포즈 정보를 추가로 식별한다. 포즈 모델링 모듈(215)은 모델링된 포즈를 플랫폼 시스템(130)에 의해 사용하기 위해 포즈 보정 모듈(225)로 송신한다.
센서 데이터 보정 모듈(220)은 보정을 위한 센서 데이터 스트림의 영역들을 식별하고 거의 실시간으로 보정을 위한 영역에 대한 센서 데이터를 예측한다. 센서 데이터 보정 모듈(220)은 센서 데이터 저장소(210)에 저장된 센서 데이터에 엑세스한다. 보정을 위한 영역은 일정 시간 양 동안의 센서 데이터가 사용자(105)에 의한 실제 액션들의 부정확한 표현일 가능성이 있는 것으로 식별될 때 식별된다. 예를 들어, 센서 데이터 보정 모듈(220)은 센서 데이터가 센서 또는 센서 유형과 연관된 포화 한계 이상인 것에 기반하여 보정을 위한 영역을 식별한다. 다른 예에서, 센서 데이터 보정 모듈(220)은 센서 데이터가 일정 시간 양 동안 수신되지 않은 것에 기반하여 보정을 위한 영역을 식별한다.
일 실시예에서, 센서 데이터 보정 모듈(220)은 식별된 영역에 인접한 센서 데이터에 기반하여 보정을 위한 영역에 대한 센서 데이터를 예측한다. 센서 데이터 보정 모듈(220)은 보정을 위한 영역에 인접한 데이터 포인트들의 하나 이상의 세트들(예를 들어, 영역의 시작에 인접한 데이터 포인트들의 세트 및 영역의 끝에 인접한 데이터 포인트들의 세트)를 식별한다. 데이터 포인트들의 세트들을 사용하여, 센서 데이터 수정 모듈(220)은 실제 액션들이 불연속성들을 포함하는 센서 데이터 스트림들을 초래할 가능성이 없다는 가정에 기반하여 보정을 위한 영역 내의 예측된 센서 데이터를 생성한다. 예를 들어, 센서 데이터 보정 모듈(220)은 보정을 위한 영역의 시작 부분에 인접한 2 개의 포인트들과 보정을 위한 영역 끝 부분에 인접한 2 개의 포인트들을 식별한다. 식별된 2 개의 포인트들의 세트들은 센서 데이터 보정 모듈(220)에 의해 입구 기울기 및 출구 기울기를 각각 결정하는 데 사용된다. 다른 예들에서, 센서 데이터 보정 모듈(220)은 상이한 수의 인접 포인트들을 사용하거나 인접 포인트들을 사용하여 상이하거나 추가적인 수학적 기능들을 수행할 수 있다.
센서 데이터 보정 모듈(220)은 피트가 입구 및 출구 기울기에 대응하도록 보정을 위한 영역에 피트를 적용한다. 일 실시예에서, 적용된 피트는 센서 데이터 스트림과 연관된 센서 유형에 기반하여 결정된다. 예를 들어, 센서 데이터 보정 모듈(220)은 센서 데이터 스트림이 자이로스코프 센서 유형에 의해 수집되었음을 식별하고 보정을 위한 영역에 2차 이상의 다항식 피트를 적용한다. 다른 예에서, 센서 데이터 보정 모듈(220)은 센서 데이터 스트림이 가속도계에 의해 수집되었음을 식별하고 보정을 위한 영역에 구분적 선형 피트를 적용한다. 다른 예들에서, 다른 센서 유형들 및 피트들이 센서 데이터 보정 모듈(220)에 의해 사용될 수 있다. 일 실시예에서, 각각의 센서 유형에 대한 실험 데이터에 기반하여 센서 유형들에 대한 피트들이 결정된다. 예를 들어, 센서 유형에 의해 캡처되고 실제 움직임들을 정확하게 반영하는 것으로 알려진 센서 데이터의 하나 이상의 세트들에 기반하여, 센서 데이터 보정 모듈(220)은 주어진 피트가 센서 데이터의 경향들을 보다 정확하게 반영한다고 결정한다. 이어서 식별된 피트는 센서 유형과 연관된 센서 데이터를 보정하기 위해 적용된다.
센서 데이터 보정 모듈(220)은 적용된 피트를 일련의 예측된 센서 데이터 포인트들을 생성하기 위해 사용한다. 일 실시예에서, 예측된 센서 포인트들의 수 및 빈도는 인접한 센서 데이터 빈도 및 보정을 위한 영역의 시간의 지속기간에 기반하여 결정된다. 예를 들어, 보정을 위한 영역이 t = tstart에서 시작하여 t = tstart + c
Figure pct00001
dt에서 끝나는 것으로 결정되면, 여기서 dt는 센서의 샘플링 주기이고, 인접 포인트들은 t = tstart - 2
Figure pct00002
dt, tstart - dt... tstart + (c + 1)
Figure pct00003
dt, tstart + (c + 2)
Figure pct00004
dt와 연관되고, 센서 데이터 보정 모듈(220)은 t = tstart + dt, tstart + 2
Figure pct00005
dt... tstart + (c - 2)
Figure pct00006
dt, tstart + (c - 1)
Figure pct00007
dt에 대한 센서 데이터를 생성한다. 센서 데이터 보정 모듈(220)은 추적되는 객체에 대한 모델링된 포즈를 수정하는 데 사용되도록 예측된 센서 데이터 포인트들을 포즈 모델링 모듈(215)에 송신한다. 일 실시예에서, 센서 데이터 보정 모듈(220)은 추적되는 객체의 센서들을 재교정하는데 사용하기 위해 예측된 센서 데이터 포인트들을 센서 교정 모듈(205)에 추가로 송신한다.
센서 데이터 스트림의 영역에 대한 보정이 있을 때, 포즈 모델링 모듈(215)은 센서 데이터 보정 모듈(220)로부터 수신된 예측된 센서 데이터에 기반하여 모델링된 포즈들에 대한 수정들을 결정한다. 포즈 모델링 모듈(215)이 센서 데이터 스트림들을 추적되는 객체들에 의해 수집된 데이터 포인트들로서 수신하기 때문에, 예측된 센서 데이터 포인트들은 정상 동작 동안(예를 들어, 어떠한 수정들도 이루어지지 않을 때) 및 보정들을 설명할 때 둘 모두에 사용되는 표준 모델에 대한 입력으로 사용된다. 포즈 모델링 모듈(215)은 예측된 센서 데이터를 수신하고 예측된 센서 데이터에 기반하여 모델링된 포즈를 수정하여 사용자(105)의 실제 액션들을 보다 정확하게 반영한다. 수정은 포즈 보정 모듈(225)로 송신된다.
포즈 보정 모듈(225)은 포즈 모델링 모듈(215)로부터 모델링된 포즈를 수신하고 플랫폼 시스템의 프로그램들 또는 애플리케이션들에 사용하기 위해 모델링된 포즈를 플랫폼 시스템(130)으로 송신한다. 일 실시예에서, 포즈 보정 모듈(225)이 모델링된 포즈에 대한 수정을 수신하는 것에 응답하여(예를 들어, 부정확한 센서 데이터가 식별되고 보정됨으로 인해), 포즈 보정 모듈은 현재 시간에 모델링된 포즈와 함께 수정을 적용하고 송신한다. 다른 실시예에서, 포즈 보정 모듈(225)이 모델링된 포즈에 대한 수정을 수신하는 것에 응답하여, 포즈 보정 모듈은 시간의 경과에 따라 일련의 수정들을 적용하여, 일정 시간 양 동안 각각의 모델링된 포즈는 수신된 수정이 전체적으로 적용될 때까지 전체 수정의 일부를 적용한다. 점진적인 수정은, 이전의 부정확한 센서 정보로 인한 오류를 여전히 보정하면서, 추적되는 객체의 포즈가 크거나 갑작스러운 업데이트를 경험함으로 인해 사용자(105)가 임의의 점프들 또는 지연들을 경험하지 않도록 보장한다.
센서 데이터를 예측하여 추적되는 객체들의 포즈들 모델링
도 3a 내지 도 3c는 일 실시예에 따른 포화 이벤트로 인한 보정을 위한 영역을 포함하는 센서 데이터 스트림을 예시하는 예들이고 센서 데이터 스트림은 보정된 센서 데이터를 포함한다.
도 3a는 포화 이벤트로 인한 보정을 위한 영역을 포함하는 센서 데이터 스트림을 예시한다. 플랫폼 시스템(130)은 추적되는 객체의 센서로부터 센서 데이터(310)를 수신한다. 예시적인 그래프(300)에서, 센서는 초당 도 단위로 추적되는 객체의 각속도를 측정하는 자이로스코프이다. 다른 예들에서, 상이한 센서들 또는 측정치들은 센서 데이터 스트림과 연관될 수 있다. 센서는 포화 한계(305)와 연관된다. 도 1과 관련하여 설명된 바와 같이, 포화 한계(305)는 센서 데이터 포인트들이 신뢰할 수 없는 값 이상을 설명한다. 예를 들어, 제조업체가 초당 5도의 오차로 초당 최대 2000 도까지 정확하다고 설명하는 자이로스코프의 경우, 포화 한계(305)는 초당 1995 도로 설정된다. 다른 예들에서, 포화 한계(305)는 상이하게 결정되거나 상이한 정확도 판독치에 기반하여 결정된다.
플랫폼 시스템(130)은 센서 데이터(310)가 포화 한계(305) 이상인 것에 기반하여 보정을 위한 영역(315)을 식별한다. 일 실시예에서, 플랫폼 시스템(130)은 제 1 데이터 포인트가 포화 한계(305) 이상인 것에 응답하여 보정을 위한 영역(315)을 식별하고 보정을 위한 영역(315)의 끝이 식별되기 전에 보정 프로세스를 시작한다. 다른 실시예에서, 플랫폼 시스템(130)은 포화 이벤트가 시작된 후 제 1 데이터 포인트가 포화 한계(305) 미만인 것을 식별하는 것에 응답하여 보정을 위한 영역(315)을 식별하고 보정을 위한 영역이 완전히 식별된 후 보정 프로세스를 시작한다.
도 3b는 인접한 센서 데이터에 대한 계산된 기울기를 포함하는 센서 데이터 스트림으로부터 보정을 위한 영역을 예시한다. 보정을 위한 영역(315)이 센서 데이터 스트림(310)으로부터 식별되는 것에 응답하여, 플랫폼 시스템(130)은 보정을 위한 영역의 시작에 인접한 포인트들의 세트(330) 및 보정의 영역의 끝에 인접한 포인트들의 세트(340)를 식별한다. 포인트들의 세트들(330, 340)은 센서의 포화 한계(305) 미만의 데이터를 나타낸다. 도 3b에 도시된 예에서, 포인트들의 세트들(330, 340)은 각각 보정을 위한 영역의 시작 및 끝에 인접한 2 개의 포인트들을 포함한다. 다른 예들에서, 추가적인 포인트들이 포인트들의 세트들(330, 340)에 포함될 수 있다.
플랫폼 시스템(130)은 보정을 위한 영역의 시작에 인접한 포인트들의 세트(330)에 기반한 입구 기울기(335) 및 보정을 위한 영역의 끝에 인접한 포인트들의 세트(340)에 기반한 출구 기울기(345)에 대응하는 보정을 위한 영역(315)에 피트를 적용한다. 예를 들어, 플랫폼 시스템(130)은 포인트들의 인접한 세트들(330, 340)을 4 개의 알려지지 않은 변수들을 갖는 3차 함수에 피팅함으로써 보정을 위한 영역(315)에 대한 센서 데이터를 예측하기 위해 3차 보간을 사용한다. 다른 예에서, 플랫폼 시스템(130)은 포인트들의 인접한 세트들(330, 340)을 3 개의 알려지지 않은 변수들을 갖는 2차 함수에 피팅함으로써 보정을 위한 영역(315)에 대한 센서 데이터를 예측하기 위해 2차 보간을 사용한다. 플랫폼 시스템(130)은 추적되는 객체의 움직임 및 배향이 포인트들의 세트(330, 340) 사이에 불연속들을 갖지 않는다(예를 들어, 추적되는 객체의 각속도에서 어떠한 갭들 또는 점프들도 경험되지 않음)는 가정하에 동작한다. 따라서, 입구 기울기(335) 및 출구 기울기(345)는 센서 데이터를 예측하는 데 사용되는 피트에 대응하여야 한다.
도 3c는 인접한 센서 데이터에 기반하여 보정된 센서 데이터를 포함하는 센서 데이터 스트림을 예시한다. 도 3b에 관하여 설명된 바와 같이 결정된 입구 기울기(335) 및 출구 기울기(345)에 기반하여, 플랫폼 시스템(130)은 보정을 위한 영역(315)에 대한 예측된 센서 데이터를 설명하는 피트(355)를 생성한다. 도 3c의 예에서, 적용된 피트(355)는 입구 기울기(335) 및 출구 기울기(345)의 최소 제곱 오류를 최소화하기 위해 플랫폼 시스템(130)에 의해 결정된 2차 이상의 다항식이다. 도 2와 관련하여 논의된 바와 같은 다른 예들에서, 센서 유형 및 다른 요인들에 기반하여 다른 피트들이 적용될 수 있다. 플랫폼 시스템(130)은 보정을 위한 영역(315)에 대해 적용된 피트(355)에 대응하는 센서 데이터를 예측한다. 예측된 센서 데이터는 부정확한 센서 데이터에 의해 야기된 오류들을 처리하도록 모델링된 포즈를 수정하기 위해 플랫폼 시스템(130)에 의해 사용된다.
도 4a 내지 도 4b는 일 실시예에 따른, 데이터 패킷 손실로 인한 보정을 위한 영역을 포함하는 센서 데이터 스트림을 예시하는 예들이고 센서 데이터 스트림은 보정된 센서 데이터를 포함한다.
도 4a는 데이터 패킷들의 손실로 인한 보정을 위한 영역을 포함하는 센서 데이터 스트림을 예시한다. 플랫폼 시스템(130)은 추적되는 객체의 센서로부터 센서 데이터(410)를 수신한다. 예시적인 그래프(400)에서, 센서는 시간 제곱당 거리에서 추적된 추적되는 객체의 가속도를 측정하는 가속도계이다. 다른 예들에서, 상이한 센서들 또는 측정치들은 센서 데이터 스트림과 연관될 수 있다. 센서는 포화 한계(405)와 연관된다. 플랫폼 시스템(130)에 의해 수신된 센서 데이터 스트림(410)은 센서 데이터(410)가 일정 시간 양 동안 수신되지 않았지만 영역 전후에 포화 한계(405) 미만인 것에 기반한 보정을 위한 영역(415)을 포함한다. 보정을 위한 영역(415)은 데이터 패킷 손실로 인한 것으로 식별된다. 도 1과 관련하여 설명된 바와 같이, 데이터 패킷 손실은 추적되는 객체 상의 센서들에 의해 수집된 데이터가 플랫폼 시스템(130)으로 전송될 수 없을 때 발생한다. 예를 들어, 데이터 패킷 손실은 추적되는 객체로부터의 데이터 스트림이 물리적 장애물(예를 들어, 벽)에 의해 차단되거나 추적되는 객체와 플랫폼 시스템(130) 사이의 무선 연결이 손실될 때 발생한다.
도 4b는 인접 센서 데이터에 기반하여 보정된 센서 데이터를 포함하는 센서 데이터 스트림을 예시한다. 도 3과 관련하여 설명된 바와 같이, 플랫폼 시스템(130)은 보정을 위한 영역(415)에 인접한 포인트들의 세트들을 사용하여 입구 기울기 및 출구 기울기를 계산한다. 플랫폼 시스템(130)은 입구 기울기 및 출구 기울기를 사용하여 보정을 위한 영역(415)에서 예측된 센서 데이터에 대한 피트를 적용한다. 도 4b의 예에서, 플랫폼 시스템(130)은 제 1 선형 피트(455)가 입구 기울기에 대응하여 적용되고 제 2 선형 피트(460)가 출구 기울기에 대응하여 적용되도록 구분적 선형 함수를 적용한다. 도 2와 관련하여 논의된 바와 같은 다른 예들에서, 센서 유형 및 다른 요인들에 기반하여 다른 피트들이 적용될 수 있다. 플랫폼 시스템(130)은 보정을 위한 영역(415)에 대해 적용된 피트들(455, 460)에 대응하는 센서 데이터를 예측한다. 예측된 센서 데이터는 부정확한 센서 데이터에 의해 야기된 오류들을 처리하도록 모델링된 포즈를 수정하기 위해 플랫폼 시스템(130)에 의해 사용된다.
도 5는 일 실시예에 따른 추적되는 객체에 대한 포즈를 수정하는 데 사용하기 위한 센서 데이터를 보정하는 방법의 흐름도이다. 다양한 실시예들에서, 방법은 상이한 및/또는 추가 단계들을 포함할 수 있고, 단계들은 도 5와 관련하여 설명된 것들과 상이한 순서들로 수행될 수 있다.
플랫폼 시스템(130)은 플랫폼 시스템에 페어링된 추적되는 객체와 연관된 센서로부터 센서 데이터 스트림을 수신(505)한다. 예를 들어, 센서 데이터 스트림은 추적되는 객체에 부착된 자이로스코프, 가속도계 또는 자력계로부터 비롯된다. 플랫폼 시스템(130)은 센서 데이터 스트림에 기반하여 추적되는 객체의 포즈를 모델링(510)한다. 플랫폼 시스템(130)은 보정을 위한 센서 데이터 스트림의 영역을 식별(515)한다. 일 예에서, 보정을 위한 영역은 센서 데이터가 센서에 대한 임계 포화 한계 이상인 영역이다. 다른 예에서, 보정을 위한 영역은 플랫폼 시스템(130)에 의해 어떠한 센서 데이터도 수신되지 않는 영역이다. 플랫폼 시스템(130)은 영역에 인접한 센서 판독치들에 기반하여 수정을 위해 영역의 센서 데이터를 예측(520)한다. 예를 들어, 플랫폼 시스템은 판독치에 인접한 센서 판독치들의 기울기들에 대응하는 센서 데이터 스트림에 피트를 적용하고, 피트에 기반하여, 하나 이상의 보정된 센서 데이터 포인트들을 예측한다. 플랫폼 시스템(130)은 예측된 센서 데이터에 기반하여 추적되는 객체의 포즈를 수정(525)한다.
결론
본 실시예들의 전술한 설명은 예시의 목적으로 제시되었고; 포괄적이거나 본 특허 권리들을 개시된 정확한 형태들로 제한하도록 의도되지 않는다. 통상의 기술자들은 많은 수정들 및 변형들이 위의 개시내용을 고려하여 가능하다는 것을 인식할 수 있다.
본 설명의 일부 부분들은 정보에 대한 동작들의 심볼 표현들 및 알고리즘들의 측면에서 실시예들을 설명한다. 이러한 알고리즘 설명들 및 표현들은 일반적으로 데이터 프로세싱 기술들의 통상의 기술자들이 다른 통상의 기술자들에게 이 작업의 본질을 효과적으로 전달하는 데 사용된다. 이러한 동작들은 기능적으로, 계산적으로 또는 논리적으로 설명되지만 컴퓨터 프로그램들 또는 등가의 전기 회로들, 마이크로코드 등에 의해 구현되는 것으로 이해된다. 또한, 일반성을 손실하지 않고 이러한 동작들의 배열들을 모듈들로 지칭하는 것이 때때로 편리한 것으로 입증되었다. 설명된 동작들 및 이의 연관된 모듈들은 소프트웨어, 펌웨어, 하드웨어, 또는 이들의 임의의 조합들로 구현될 수 있다.
본원에 설명된 단계들, 동작들, 또는 프로세스들 중 임의의 것이 단독으로 또는 다른 디바이스들과 결합하여, 하나 이상의 하드웨어 또는 소프트웨어 모듈들로 수행 또는 구현될 수 있다. 일 실시예들에서, 소프트웨어 모듈은 설명된 임의의 또는 모든 단계들, 동작들, 또는 프로세스들을 수행하기 위해 컴퓨터 프로세서에 의해 실행될 수 있는 컴퓨터 프로그램 코드를 포함하는 컴퓨터-판독가능 매체를 포함하는 컴퓨터 프로그램 제품으로 구현된다.
실시예들은 또한 본원의 동작들을 수행하기 위한 장치에 관한 것일 수 있다. 이 장치는 특히 요구된 목적들을 위해 구성될 수 있고/있거나, 컴퓨터에 저장된 컴퓨터 프로그램에 의해 선택적으로 활성화 또는 재구성되는 범용 컴퓨팅 디바이스를 포함할 수 있다. 그러한 컴퓨터 프로그램은 비-일시적, 유형의 컴퓨터 판독가능 저장 매체, 또는 컴퓨터 시스템 버스에 커플링될 수 있는 전자 명령들을 저장하기에 적합한 임의의 유형의 매체들에 저장될 수 있다. 또한, 본 명세서에 언급된 임의의 컴퓨팅 시스템들은 단일 프로세서를 포함할 수 있거나 컴퓨팅 성능을 증가시키기 위해 다수의 프로세서 설계들을 이용하는 아키텍처들일 수 있다.
실시예들은 또한 본원에 설명된 컴퓨팅 프로세스에 의해 생성되는 제품과 관련될 수 있다. 이러한 제품은 컴퓨팅 프로세스로부터 발생하는 정보를 포함할 수 있고, 여기서 정보는 비-일시적 유형의 컴퓨터 판독가능 저장 매체에 저장되고 컴퓨터 프로그램 제품 또는 본원에 설명된 다른 데이터 조합의 임의의 실시예를 포함할 수 있다.
마지막으로, 본 명세서에 사용된 언어는 주로 가독성 및 교육 목적들로 선택되었고, 본 권리들을 설명하거나 제한하기 위해 선택되지 않았을 수 있다. 그러므로, 본 권리들의 범위가 이 상세한 설명에 의해 제한되는 것이 아니라, 여기에 기반한 애플리케이션에서 발표되는 임의의 청구항들에 의해 제한되는 것이 의도된다. 따라서, 실시예들의 개시내용은 이하의 청구항들에 설명된 본 특허 권리들의 범위를 제한하는 것이 아니라 예시하도록 의도된다.

Claims (15)

  1. 방법에 있어서,
    추적되는 객체의 움직임 및 위치 데이터와 연관된 센서 데이터 스트림을 수신하는 단계; 상기 센서 데이터 스트림에 기반하여 상기 추적되는 객체의 포즈를 모델링하는 단계; 상기 센서 데이터 스트림에서 보정을 위한 영역을 식별하는 단계; 상기 보정을 위한 영역에 대해, 상기 보정을 위한 영역에 인접한 판독치들에 기반하여 센서 데이터를 예측하는 단계; 및 상기 예측된 센서 데이터에 기반하여 상기 추적되는 객체의 상기 모델링된 포즈를 수정하는 단계를 포함하는, 방법.
  2. 제 1 항에 있어서, 상기 보정을 위한 영역을 식별하는 단계는 상기 센서 데이터 스트림과 연관된 센서에 대한 포화 한계를 식별하는 단계; 및 상기 센서 데이터가 상기 포화 한계 이상인 상기 센서 데이터 스트림의 영역을 식별하는 단계를 더 포함하는, 방법.
  3. 제 1 항에 있어서, 상기 보정을 위한 영역을 식별하는 단계는 어떠한 센서 데이터도 수신되지 않는 상기 센서 데이터 스트림의 영역을 식별하는 단계를 더 포함하는, 방법.
  4. 제 1 항에 있어서, 상기 보정을 위한 영역에 인접한 상기 판독치들에 기반하여 센서 데이터를 예측하는 단계는 상기 보정을 위한 영역에 인접한 상기 센서 판독치들의 기울기를 결정하는 단계; 및 상기 결정된 기울기에 대응하는 피트(fit)를 적용하는 단계를 더 포함하는, 방법.
  5. 제 4 항에 있어서, 상기 기울기는 상기 보정을 위한 영역에 인접한 2 개의 센서 판독치들에 기반하여 결정되는, 방법.
  6. 제 4 항에 있어서, 상기 결정된 기울기에 대응하는 피트를 적용하는 단계는 센서 유형에 적어도 부분적으로 기반하는, 방법.
  7. 제 6 항에 있어서, 상기 센서 유형은 자이로스코프이고, 상기 결정된 기울기에 대응하는 피트를 적용하는 단계는 2차 이상의 다항식 피트를 적용하는 단계를 더 포함하는, 방법.
  8. 제 6 항에 있어서, 상기 센서 유형은 가속도계이고, 상기 결정된 기울기에 대응하는 피트를 적용하는 단계는 구분적 선형 피트(piecewise linear fit)를 적용하는 단계를 더 포함하는, 방법.
  9. 동작들을 수행하기 위해 프로세서에 의해 실행가능한 컴퓨터 프로그램 명령들을 저장하는 비일시적 컴퓨터-판독가능 저장 매체에 있어서, 상기 동작들은:
    추적되는 객체의 움직임 및 위치 데이터와 연관된 센서 데이터 스트림을 수신하는 동작; 상기 센서 데이터 스트림에 기반하여 상기 추적되는 객체의 포즈를 모델링하는 동작; 상기 센서 데이터 스트림에서 보정을 위한 영역을 식별하는 동작; 상기 보정을 위한 영역에 대해, 상기 보정을 위한 영역에 인접한 판독치들에 기반하여 센서 데이터를 예측하는 동작; 및 상기 예측된 센서 데이터에 기반하여 상기 추적되는 객체의 상기 모델링된 포즈를 수정하는 동작을 포함하는, 비일시적 컴퓨터-판독가능 저장 매체.
  10. 제 9 항에 있어서, 상기 보정을 위한 영역을 식별하는 동작은 상기 센서 데이터 스트림과 연관된 센서에 대한 포화 한계를 식별하는 동작; 및 상기 센서 데이터가 상기 포화 한계 이상인 상기 센서 데이터 스트림의 영역을 식별하는 동작을 더 포함하는, 비일시적 컴퓨터-판독가능 저장 매체.
  11. 제 9 항에 있어서, 상기 보정을 위한 영역을 식별하는 동작은 어떠한 센서 데이터도 수신되지 않는 상기 센서 데이터 스트림의 영역을 식별하는 동작을 더 포함하는, 비일시적 컴퓨터-판독가능 저장 매체.
  12. 제 9 항에 있어서, 상기 보정을 위한 영역에 인접한 상기 판독치들에 기반하여 센서 데이터의 피트를 예측하는 동작은 상기 보정을 위한 영역에 인접한 상기 센서 판독치들의 기울기를 결정하는 동작; 및 상기 결정된 기울기에 대응하는 피트를 적용하는 동작을 더 포함하는, 비일시적 컴퓨터-판독가능 저장 매체.
  13. 제 12 항에 있어서, 상기 기울기는 상기 보정을 위한 영역에 인접한 2 개의 센서 판독치들에 기반하여 결정되는, 비일시적 컴퓨터-판독가능 저장 매체.
  14. 제 12 항에 있어서, 상기 결정된 기울기에 대응하는 피트를 적용하는 동작은 센서 유형에 적어도 부분적으로 기반하는, 비일시적 컴퓨터-판독가능 저장 매체.
  15. 제 9 항에 있어서, 상기 예측된 센서 데이터에 기반하여 상기 추적되는 객체의 상기 모델링된 포즈를 수정하는 동작은 시간 경과에 따라 상기 추적되는 객체의 상기 모델링된 포즈에 일련의 수정들을 적용하는 동작을 포함하는, 비일시적 컴퓨터-판독가능 저장 매체.
KR1020217031419A 2019-03-04 2020-02-10 센서 데이터를 예측하여 추적되는 객체들의 포즈들을 모델링 KR20210130227A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/291,228 US11624757B2 (en) 2019-03-04 2019-03-04 Modeling poses of tracked objects by predicting sensor data
US16/291,228 2019-03-04
PCT/US2020/017420 WO2020180460A1 (en) 2019-03-04 2020-02-10 Modeling poses of tracked objects by predicting sensor data

Publications (1)

Publication Number Publication Date
KR20210130227A true KR20210130227A (ko) 2021-10-29

Family

ID=69954099

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217031419A KR20210130227A (ko) 2019-03-04 2020-02-10 센서 데이터를 예측하여 추적되는 객체들의 포즈들을 모델링

Country Status (6)

Country Link
US (2) US11624757B2 (ko)
EP (1) EP3935477A1 (ko)
JP (1) JP2022522581A (ko)
KR (1) KR20210130227A (ko)
CN (1) CN113498505A (ko)
WO (1) WO2020180460A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11238028B2 (en) * 2019-04-12 2022-02-01 Aclima Inc. Signal processing for multi-sensor groups
US11307186B2 (en) 2019-05-10 2022-04-19 Aclima Inc. Integration and active flow control for environmental sensors
CN115088596B (zh) * 2022-07-05 2023-05-12 江苏经贸职业技术学院 一种基于物联网的农田灌溉系统及其控制方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
USRE48056E1 (en) * 1991-12-23 2020-06-16 Blanding Hovenweep, Llc Ergonomic man-machine interface incorporating adaptive pattern recognition based control system
US8364136B2 (en) 1999-02-01 2013-01-29 Steven M Hoffberg Mobile system, a method of operating mobile system and a non-transitory computer readable medium for a programmable control of a mobile system
TW200900123A (en) 2007-06-18 2009-01-01 Ailive Inc Self-contained inertial navigation system for interactive control using movable controllers
US9410809B2 (en) * 2011-12-16 2016-08-09 Microsoft Technology Licensing, Llc Applying a correct factor derivative method for determining an orientation of a portable electronic device based on sense gravitation component linear accelerate filter data obtained
US9201989B2 (en) * 2013-01-25 2015-12-01 Globalfoundries Inc. Interpolation techniques used for time alignment of multiple simulation models
US10433773B1 (en) * 2013-03-15 2019-10-08 Abbott Diabetes Care Inc. Noise rejection methods and apparatus for sparsely sampled analyte sensor data
US9600925B2 (en) * 2014-01-06 2017-03-21 Oculus Vr, Llc Calibration of multiple rigid bodies in a virtual reality system
US10043319B2 (en) * 2014-11-16 2018-08-07 Eonite Perception Inc. Optimizing head mounted displays for augmented reality
US10191561B2 (en) * 2015-06-15 2019-01-29 Facebook Technologies, Llc Tracking controllers of a virtual reality system
CN105192982B (zh) * 2015-09-07 2018-03-23 北京小鸟看看科技有限公司 可调节式虚拟现实头盔的图像矫正方法和系统
US10073531B2 (en) 2015-10-07 2018-09-11 Google Llc Electronic device pose identification based on imagery and non-image sensor data
US10248201B2 (en) * 2016-05-06 2019-04-02 The Board Of Trustees Of The Leland Stanford Junior University Wolverine: a wearable haptic interface for grasping in virtual reality
GB2545137B (en) * 2016-06-27 2021-06-23 Sensyne Health Group Ltd Method and apparatus for sensing and for improving sensor accuracy
CN108733206B (zh) * 2017-04-25 2020-10-30 广东虚拟现实科技有限公司 一种坐标对齐方法、系统和虚拟现实系统
US10949980B2 (en) * 2018-10-30 2021-03-16 Alt Llc System and method for reverse optical tracking of a moving object

Also Published As

Publication number Publication date
US20230213549A1 (en) 2023-07-06
CN113498505A (zh) 2021-10-12
US11624757B2 (en) 2023-04-11
WO2020180460A1 (en) 2020-09-10
US20200284820A1 (en) 2020-09-10
JP2022522581A (ja) 2022-04-20
EP3935477A1 (en) 2022-01-12

Similar Documents

Publication Publication Date Title
US20230213549A1 (en) Virtual Reality System with Modeling Poses of Tracked Objects by Predicting Sensor Data
KR102440358B1 (ko) 관성 기반 항법 장치 및 상대사전적분에 따른 관성 기반 항법 방법
JP3947531B2 (ja) 加速度誤差の補正方法及び装置、並びにそれを利用した慣性航法システム
WO2020253260A1 (zh) 时间同步处理方法、电子设备及存储介质
US20200286245A1 (en) Posture estimation method, posture estimation apparatus and computer readable storage medium
KR101380997B1 (ko) 공간 인식을 통한 벡터 기반 제스처를 보정하는 방법 및 그 장치
US20170371425A1 (en) Handheld device and positioning method thereof
US20220215925A1 (en) Calibration of orientations of a gyroscope of a motion tracking system
WO2020017266A1 (ja) シミュレーション装置、シミュレーションプログラムおよびシミュレーション方法
EP3732549B1 (en) Method for predicting a motion of an object and method for generating a virtual reality view
CN109143214B (zh) 一种采用激光扫描的目标定位方法及装置
KR100643400B1 (ko) 입력 장치의 자세 측정 방법 및 그 장치
US10556336B1 (en) Determining robot inertial properties
KR101363092B1 (ko) 로봇시스템의 rils 구현 방법 및 시스템
JP6384194B2 (ja) 情報処理装置、情報処理方法及び情報処理プログラム
US20210124413A1 (en) Position error measurement in an extended reality mobile display device
KR101140379B1 (ko) 리 대수 및 칼만 필터를 이용한 자세 추정 방법 및 장치
JP7336223B2 (ja) 自己位置推定方法
CN111854792B (zh) 一种双足机器人的偏移预警方法、装置及双足机器人
TWI680382B (zh) 電子裝置及其姿態校正方法
KR20210000095A (ko) 자세 추정 방법 및 장치
JP2017532642A (ja) 摂動因子存在下で入力の値を推定する方法及び装置
CN113075713A (zh) 一种车辆相对位姿测量方法、系统、设备及存储介质
CN111078489B (zh) 电子装置及其姿态校正方法
JP6972675B2 (ja) 姿勢評価装置、姿勢算出装置、姿勢計測システム、姿勢評価方法及びプログラム

Legal Events

Date Code Title Description
A201 Request for examination