KR20210128269A - 증강 현실(ar) 디바이스 및 증강 현실 디바이스에서 포즈를 예측하는 방법 - Google Patents

증강 현실(ar) 디바이스 및 증강 현실 디바이스에서 포즈를 예측하는 방법 Download PDF

Info

Publication number
KR20210128269A
KR20210128269A KR1020200046268A KR20200046268A KR20210128269A KR 20210128269 A KR20210128269 A KR 20210128269A KR 1020200046268 A KR1020200046268 A KR 1020200046268A KR 20200046268 A KR20200046268 A KR 20200046268A KR 20210128269 A KR20210128269 A KR 20210128269A
Authority
KR
South Korea
Prior art keywords
pose
imu
neural network
deep neural
poses
Prior art date
Application number
KR1020200046268A
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 KR1020200046268A priority Critical patent/KR20210128269A/ko
Priority to US17/037,102 priority patent/US11334747B2/en
Priority to CN202011088589.7A priority patent/CN113534948A/zh
Priority to EP20208271.5A priority patent/EP3896655B1/en
Publication of KR20210128269A publication Critical patent/KR20210128269A/ko
Priority to US17/722,848 priority patent/US11587360B2/en
Priority to US18/090,985 priority patent/US20230133574A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/223Analysis of motion using block-matching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • 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/165Navigation; 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 combined with non-inertial navigation instruments
    • G01C21/1656Navigation; 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 combined with non-inertial navigation instruments with passive imaging devices, e.g. cameras
    • 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
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/049Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • 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/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30244Camera pose

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Multimedia (AREA)
  • Computer Hardware Design (AREA)
  • Computer Graphics (AREA)
  • Social Psychology (AREA)
  • Psychiatry (AREA)
  • Automation & Control Theory (AREA)
  • Image Analysis (AREA)
  • Studio Devices (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

증강 현실(AR) 디바이스 및 증강 현실(AR) 디바이스에서 포즈를 예측하는 방법은, IMU 레이트(IMU rate)로 AR 디바이스의 움직임에 대응하는 IMU 값들을 획득하고, VI-SLAM(Visual-Inertial Simultaneous Localization And Mapping) 모듈에서 IMU 값들 및 AR 디바이스 주변의 이미지들에 기초하여 AR 디바이스의 중간 6D (6 degrees of freedom) 포즈들을 추정하고, 딥 뉴럴 네트워크(DNN)를 이용하여 학습(learning)을 수행함으로써, AR 디바이스의 상대적 6D 포즈들(relative 6D poses)을 예측하는 포즈 예측 모델을 생성한다.

Description

증강 현실(AR) 디바이스 및 증강 현실 디바이스에서 포즈를 예측하는 방법 {Augmented Reality (AR) device and method for predicting pose thereof}
증강 현실(AR) 디바이스 및 증강 현실 디바이스에서 포즈를 예측하는 방법에 관한다.
최근 기술의 발전에 따라, 인체에 착용 가능한 다양한 형태의 웨어러블 디바이스들이 개발되고 있다. 그 중 글래스 타입 웨어러블 디바이스는 사용자의 머리에 착용되고, 디바이스 상의 디스플레이를 통해 가상 오브젝트에 대한 시각적 정보를 제공함으로써 사용자에게 증강 현실 서비스를 제공할 수 있다.
증강 현실(augmented reality: AR)과 같은 디스플레이 기술들은 디바이스 상에서 출력된 이미지가 실제인 것처럼 사용자에게 느껴져야 한다. 사용자는 이러한 기술들을 통해 현실에서는 경험할 수 없는, 다양한 경험을 체험할 수 있다. 이때, AR 디바이스를 통해 사용자에게 제공되는 이미지는 실시간성이 중요하다. 특히, 사용자의 포즈, 즉 사용자가 착용하고 있는 웨어러블 디바이스의 포즈와 밀접한 관계가 있는 출력 이미지를 위하여 정확한 포즈 검출이 필요하다. 출력 이미지의 실시간성이 낮은 경우, 사용자는 검출된 포즈와 출력 이미지와의 차이에서 발생하는 오차에 의해 불편함을 느낄 수 있다. 따라서, 컴퓨터 비전 또는 SLAM(simultaneous localization and mapping) 등의 다양한 디지털 프로세싱 기술들을 이용하여 정확하게 포즈 예측을 할 수 있는 방안들이 요구된다.
증강 현실(AR) 디바이스 및 증강 현실 디바이스에서 포즈를 예측하는 방법을 제공하는데 있다. 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 이하의 실시예들로부터 또 다른 기술적 과제들이 유추될 수 있다.
일 측면에 따르면, 증강 현실(AR) 디바이스에서 포즈를 예측하는 방법은, IMU(Inertial Measurement Unit) 센서를 이용하여, 제 1 주파수의 IMU 레이트(IMU rate)로 상기 AR 디바이스의 움직임에 대응하는 IMU 값들을 획득하는 단계; VI-SLAM(Visual-Inertial Simultaneous Localization And Mapping) 모듈에서, 상기 획득된 IMU 값들 및 상기 AR 디바이스에 구비된 카메라에 의해 제 2 주파수의 프레임 레이트(frame rate)로 획득된 상기 AR 디바이스 주변의 이미지들의 입력들에 기초하여, 상기 AR 디바이스의 중간 6D (6 degrees of freedom) 포즈들을 추정하는 단계; 및 프로세서에서, 딥 뉴럴 네트워크(DNN)를 이용하여 상기 획득된 IMU 값들 및 상기 중간 6D 포즈들의 입력들에 기초한 학습(learning)을 수행함으로써, 상기 AR 디바이스의 상대적 6D 포즈들(relative 6D poses)을 예측하는 포즈 예측 모델을 생성하는 단계를 포함한다.
다른 측면에 따르면, 컴퓨터로 읽을 수 있는 비일시적인(non-transitory) 기록매체는 상술한 방법을 실행하는 명령어들을 포함하는 하나 이상의 프로그램이 기록된 기록매체를 포함할 수 있다.
또 다른 측면에 따르면, 증강 현실(AR) 디바이스는, 제 1 주파수의 IMU 레이트(IMU rate)로 상기 AR 디바이스의 움직임에 대응하는 IMU 값들을 획득하는 IMU(Inertial Measurement Unit) 센서; 상기 획득된 IMU 값들 및 상기 AR 디바이스에 구비된 카메라에 의해 제 2 주파수의 프레임 레이트(frame rate)로 획득된 상기 AR 디바이스 주변의 이미지들의 입력들에 기초하여, 상기 AR 디바이스의 중간 6D (6 degrees of freedom) 포즈들을 추정하는 VI-SLAM(Visual-Inertial Simultaneous Localization And Mapping) 모듈; 및 딥 뉴럴 네트워크(DNN)를 이용하여 상기 획득된 IMU 값들 및 상기 중간 6D 포즈들의 입력들에 기초한 학습(learning)을 수행함으로써, 상기 AR 디바이스의 상대적 6D 포즈들(relative 6D poses)을 예측하는 포즈 예측 모델을 생성하는 프로세서를 포함한다.
또 다른 측면에 따르면, 프로세서에서 포즈를 예측하는 방법은, IMU(Inertial Measurement Unit) 센서로부터, 제 1 주파수의 IMU 레이트(IMU rate)로 AR 디바이스의 움직임에 대응하는 IMU 값들을 획득하는 단계; VI-SLAM(Visual-Inertial Simultaneous Localization And Mapping) 모듈로부터, 상기 획득된 IMU 값들 및 상기 AR 디바이스에 구비된 카메라에 의해 제 2 주파수의 프레임 레이트(frame rate)로 획득된 주변의 이미지들의 입력들에 기초하여 추정된, 상기 AR 디바이스의 중간 6D (6 degrees of freedom) 포즈들을 획득하는 단계; 및 딥 뉴럴 네트워크(DNN)를 이용하여 상기 획득된 IMU 값들 및 상기 중간 6D 포즈들의 입력들에 기초한 학습(learning)을 수행함으로써, 상기 AR 디바이스의 상대적 6D 포즈들(relative 6D poses)을 예측하는 포즈 예측 모델을 생성하는 단계를 포함한다.
도 1은 일 실시예에 따른 증강 현실(AR) 디바이스를 설명하기 위한 도면이다.
도 2는 일 실시예에 따른 증강 현실(AR) 디바이스 내에 구비된 전자 하드웨어의 블록도이다.
도 3은 일 실시예에 따라 IMU 센서에서 IMU 값들을 획득하는 시점들을 설명하기 위한 타이밍 다이어그램이다.
도 4는 일 실시예에 따라 카메라에서 이미지들을 획득하는 시점들을 설명하기 위한 타이밍 다이어그램이다.
도 5a는 일 실시예에 따라 VI-SLAM 모듈에서 중간 6D 포즈를 추정하는 시점들을 설명하기 위한 타이밍 다이어그램이다.
도 5b는 다른 실시예에 따라 VI-SLAM 모듈에서 중간 6D 포즈를 추정하는 시점들을 설명하기 위한 타이밍 다이어그램이다.
도 6은 일 실시예에 따라 포즈 예측 모델을 생성하는 방법을 설명하기 위한 도면이다.
도 7a은 일 실시예에 따라 포즈 예측 모델에서 슬라이딩 윈도우 방식으로 포즈 예측을 수행하는 방법을 설명하기 위한 도면이다.
도 7b는 다른 실시예에 따라 포즈 예측 모델에서 슬라이딩 윈도우 방식으로 포즈 예측을 수행하는 방법을 설명하기 위한 도면이다.
도 8은 일 실시예에 따라 LSTM을 이용하는 RNN으로 구현된 딥 뉴럴 네트워크 기반의 포즈 예측 모델을 설명하기 위한 도면이다.
도 9 및 10은 일 실시예에 따라 프로세서에서 포즈 예측을 수행하는 것을 설명하기 위한 도면들이다.
도 11a 및 11b는 일 실시예들에 따라 학습이 완료된 딥 뉴럴 네트워크(DNN) 기반의 포즈 예측 모델에서 포즈 예측의 추론을 수행하는 것을 설명하기 위한 도면들이다.
도 12는 일 실시예에 따른 증강 현실(AR) 디바이스에서 포즈를 예측하는 방법의 흐름도이다.
실시예에서 사용되는 용어는 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 명세서에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 명세서의 전반에 걸친 내용을 토대로 정의되어야 한다.
실시예에서 사용되는 "제 1" 또는 "제 2" 등과 같이 서수를 포함하는 용어는 다양한 구성 요소들을 설명하는데 사용할 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만 사용된다.
실시예에서 사용되는 용어는 실시예를 한정하려는 의도로 사용되는 것이 아니다. 단수의 표현은 문맥상 명백하게 단수를 뜻하지 않는 한, 복수의 의미를 포함한다. 또한, 실시예에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성 요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것을 의미한다.
실시예와 관련하여 기재된, 특히 특허청구범위에서 사용된 "상기" 및 이와 유사한 지시어는 단수 및 복수 모두를 지시하는 것일 수 있다. 또한, 실시예에 따른 방법을 설명하는 단계들의 순서를 명백하게 지정하는 기재가 없다면, 기재된 단계들은 적당한 순서로 행해질 수 있다. 기재된 단계들의 기재 순서에 따라 실시예가 한정되는 것은 아니다.
실시예에서 설명된 기능적인 블록 구성들 및 다양한 처리 단계들의 일부 또는 전부는, 특정 기능들을 실행하는 다양한 개수의 하드웨어 및/또는 소프트웨어 구성들로 구현될 수 있다. 예를 들어, 실시예와 관련된 기능 블록들은 하나 이상의 마이크로프로세서들에 의해 구현되거나, 소정의 기능을 위한 회로 구성들에 의해 구현될 수 있다. 또한, 기능 블록들은 다양한 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 나아가서, 기능 블록들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 실시예는 전자적인 환경 설정, 신호 처리, 및/또는 데이터 처리 등을 위하여 종래 기술을 채용할 수 있다.
한편, 도면들에 도시된 구성 요소들 간의 연결 선 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것일 뿐이다. 실제 장치에서는 대체 가능하거나 추가된 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들에 의해 구성 요소들 간의 연결이 나타내어질 수 있다.
아래에서는 첨부한 도면을 참고하여 실시예에 대하여 상세히 설명한다. 그러나 실시예는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 예에 한정되지 않는다.
도 1은 일 실시예에 따른 증강 현실(AR) 디바이스를 설명하기 위한 도면이다.
도 1을 참고하면, AR(augmented reality) 디바이스(10)는 사용자에 의해 착용될 수 있는 웨어러블 전자 디바이스에 해당할 수 있다. 예를 들어, AR 디바이스(10)는 글래스 타입의 웨어러블 디바이스일 수 있으나, 이에 제한되지 않고 사용자의 다른 신체 부위에 착용될 수 있는 다른 타입의 웨어러블 디바이스(예를 들어, 증강 현실 헬멧(AR Helmet) 등)일 수도 있다.
AR 디바이스(10)는 AR 디바이스(10) 상의 디스플레이를 통해 사용자 주위의 현실 세계(real world) 정보와 디지털 또는 가상 오브젝트 정보를 융합한 증강 현실(AR) 서비스를 제공할 수 있다. 예를 들어, AR 디바이스(10)를 통해 사용자의 눈에 증강 현실(AR) 오브젝트(또는 장면)이 디스플레이되는 경우, AR 디바이스(10)의 현재 포즈에서 보여지는 현실 세계의 장면 상에 증강 현실(AR) 오브젝트가 함께 제공되어 디스플레이될 수 있다. 사용자는 AR 디바이스(10)를 통해 증강 현실(AR) 오브젝트를 볼 수 있지만, 증강 현실(AR) 오브젝트는 현실 세계에는 존재하지 않는 것이다.
현실 세계란 관찰자 또는 사용자가 AR 디바이스(10)를 통해 볼 수 있는 실제 장면(real scene)으로서, 현실 객체(real world object)를 포함할 수 있다. 이와 비교하여, 증강 현실(AR) 오브젝트(또는 장면)는 그래픽스 프로세싱에 의해 생성되는 이미지로서, 정적 이미지 또는 동적 이미지에 해당할 수 있다. 예를 들어, 증강 현실(AR) 오브젝트(또는 장면)는 실제 장면 상에 오버레이(overlay)되어, 실제 장면 속의 실제 객체에 대한 정보나 AR 디바이스(10)의 동작에 대한 정보나 제어 메뉴 등을 제공하는 이미지일 수 있다.
AR 디바이스(10)는 도 1에 도시된 바와 같이 헤드-마운트(head-mounted) 웨어러블 디바이스에 해당될 수 있고, 이에 따라 사용자의 머리가 움직일 때 함께 움직일 수 있다. 그러므로, AR 디바이스(10)의 포즈는 사용자 머리의 움직임에 의존하여 계속적으로 변경될 수 있기 때문에, AR 디바이스(10)의 포즈는 사용자 머리의 포즈의 변화를 고려하여 계속적으로 업데이트될 필요가 있다. 예를 들어, AR 디바이스(10)를 착용하고 있는 사용자가 길을 걷고 있는 경우, AR 디바이스(10)를 통해 보여지는 실세계 장면은 계속적으로 변경되므로, AR 디바이스(10)에 의해 제공되는 증강 현실(AR) 오브젝트(또는 증강 현실(AR) 장면)도 현재 포즈를 고려하여 재-렌더링되어 증강 현실(AR) 오브젝트(또는 증강 현실(AR) 장면)가 실세계 장면 상에 점유되어 있다는 심리스한 지각(seamless perspective)을 사용자에게 제공할 필요가 있다.
AR 디바이스(10)의 어느 일부의 내부 공간에는, IMU(Inertial Measurement Unit) 센서, SLAM(Simultaneous Localization And Mapping) 모듈, 가속도계, 컴퍼스 등과 같은 다양한 종류의 센싱 모듈들, 카메라와 같은 이미지 캡처 모듈, 마이크로폰, GPS 모듈, 통신 인터페이스, 프로세싱 유닛, 배터리 등의 다양한 하드웨어 구성요소들을 포함하는 전자 하드웨어(electric HW)(100)가 구비될 수 있다. 한편, AR 디바이스(10)에는 증강 현실(AR) 오브젝트를 디스플레이하기 위한 광학 엔진, 광학 부품 등이 추가적으로 구비될 수 있다. 도 1에서는 설명의 편의상, AR 디바이스(10)의 일 측면의 프레임 내부에 전자 하드웨어(100)가 구비되어 있는 것으로 도시되어 있으나, 이에 제한되지 않고 AR 디바이스(10)에서 전자 하드웨어(100)가 구비된 위치는 이에 제한되지 않고 AR 디바이스(10) 상에서 다양한 위치들에 구비될 수 있고 각 하드웨어 구성요소들을 동일한 공간 또는 서로 다른 공간들에 마련될 수 있다.
도 2는 일 실시예에 따른 증강 현실(AR) 디바이스 내에 구비된 전자 하드웨어의 블록도이다.
도 2를 참고하면, 전자 하드웨어(100)는 IMU 센서(110), 카메라(120), VI-SLAM(Visual-Inertial Simultaneous Localization And Mapping) 모듈(130), 프로세서(140) 및 메모리(150)를 포함한다. 도 2에 도시된 전자 하드웨어(100)에는 설명의 편의를 위하여 포즈 예측을 수행하는 실시예와 관련된 하드웨어 구성요소들 위주로 도시되어 있다. 하지만, 비록 도 2에 도시되어 있지 않다 할지라도, 전자 하드웨어(100)에는 앞서 설명된 바와 같이, 마이크로폰, GPS 모듈, 통신 인터페이스, 광학 엔진 등과 같은 다른 하드웨어 구성요소들이나 또는 그 외의 다른 범용적인 구성요소들이 더 포함될 수 있다.
IMU 센서(110)는 AR 디바이스(10)의 속도와 방향, 중력, 가속도를 측정하는 센서이다. IMU 센서(110)는 자이로스코프(gyroscope), 가속도계, 지자계를 이용하여 3차원 공간에서의 AR 디바이스(10)의 자유로운 움직임을 측정함으로써, 진행방향, 횡방향, 높이방향의 가속도와 롤링(roll), 피칭(pitch), 요(yaw) 각속도를 측정할 수 있다. IMU 센서(110)로부터 획득된 가속도와 각속도를 적분하여 AR 디바이스(10)의 속도, 상대 위치 또는 자세각의 계산 등이 가능할 수 있다.
IMU 센서(110)는 제 1 주파수의 IMU 레이트(IMU rate)로 AR 디바이스(도 1의 10)의 움직임에 대응하는 IMU 값들을 획득한다. 즉, IMU 센서(110)로부터 IMU 값들의 시간적 시퀀스(temporal sequence)가 획득될 수 있다.
도 3은 일 실시예에 따라 IMU 센서에서 IMU 값들을 획득하는 시점들을 설명하기 위한 타이밍 다이어그램이다. 도 3을 참고하면, IMU 센서(110)는 제 1 주파수(예를 들어, 500 MHZ)의 IMU 레이트로 진행방향(X축), 횡방향(Y축), 높이방향(Z축)의 가속도와 롤링(Roll), 피칭(Pitch), 요(Yaw) 각속도를 측정하고, 측정된 IMU 값들을 출력할 수 있다. 도 3의 타이밍 다이어그램(300)에서 세로 막대들 각각은 IMU 값이 획득된 시점을 나타낸다. 예를 들어, 시점 i에서 획득된 IMU 값은 IMUi, ..., 시점 L에서 획득된 IMU 값은 IMUL, 시점 L+1에서 획득된 IMU 값은 IMUL+1, 시점 L+2에서 획득된 IMU 값은 IMUL+2로 표현될 수 있다(i, L은 자연수).
다시 도 2를 참고하면, 카메라(120)는 AR 디바이스(10)의 전방(주변)의 현실 장면을 촬영하는 이미지 캡처 디바이스이다. 카메라(120)는 제 2 주파수의 프레임 레이트(frame rate)로 AR 디바이스(10)의 주변의 이미지들을 획득한다. 즉, 카메라(120)로부터 AR 디바이스(10)의 주변의 현실 장면에 대한 이미지들의 시간적 시퀀스(temporal sequence)가 획득될 수 있다.
도 4는 일 실시예에 따라 카메라에서 이미지들을 획득하는 시점들을 설명하기 위한 타이밍 다이어그램이다. 도 4를 참고하면, 카메라(120)는 제 2 주파수(예를 들어, 30 fps)의 프레임 레이트로 AR 디바이스(10)의 주변의 이미지들을 획득한다. 여기서, 카메라(120)로부터 이미지들이 획득되는 제 2 주파수는 IMU 센서(110)로부터 IMU 값들이 획득되는 제 1 주파수보다 낮다. 즉, 제 1 주파수의 IMU 레이트는 상대적으로 높은 주파수(high frequency)이고, 제 2 주파수의 프레임 레이트는 상대적으로 낮은 주파수(low frequency)이다. 도 4의 타이밍 다이어그램(400)에서 세로 막대들 각각은 이미지가 획득된 시점을 나타낸다. 예를 들어, 시점 0에서 획득된 이미지는 I0, ..., 시점 n에서 획득된 이미지는 In, ..., 시점 N-1에서 획득된 이미지는 IN-1, 시점 N에서 획득된 이미지는 IN으로 표현될 수 있다(n, N은 자연수)
다시 도 2를 참고하면, VI-SLAM 모듈(130)은 시각 데이터와 관성 데이터를 융합하여(즉, 시각-관성 융합(visual-inertial fusion)), 맵과의 상대적인 카메라의 위치를 추정(localizing)하기 위한 연산을 수행하는 하드웨어이다.
IMU 센서(110)로부터 획득된 IMU 레이트의 IMU 값들만으로 포즈를 추정할 경우, 획득된 IMU 값들의 노이즈와 느리게 변하는 바이어스(slowly varying bias)로 인해, 정확하지 않을 수 있다. 또한, 카메라(120)로부터 획득된 이미지들만으로 SLAM 프로세싱을 수행하여 포즈를 추정할 경우에는, 고속의 포즈 연산이 어렵다는 문제가 있을 수 있다. 따라서, VI-SLAM 모듈(130)은 IMU 센서(110)로부터 획득된 IMU 값들과 카메라(120)로부터 획득된 이미지들을 이용하여 에러 값들을 보상하는 VI-SLAM 방식으로 시각-관성 융합에 기반한 포즈 추정을 수행함으로써 SLAM 프로세싱의 정확도를 향상시킬 수 있다.
한편, 예를 들어, 평평한 영역들(예를 들어, 벽)에 의한 오클루전(occlusion), 열악한 조명, 모션 블러(blur)/포커스 문제, 고속의 카메라 모션, 또는 손 흔들림 등의 다양한 요인들로 인해 양호한 카메라 포즈가 계산되지 못할 수 있다. 하지만, 본 실시예는 시각-관성 융합에 기반한 딥 뉴럴 네트워크(DNN)에 의한 카메라 포즈들의 학습(learning)을 수행함으로써, 적절한 카메라 이미지가 획득되지 못하게 되는 상황에서도 AR 디바이스(10)의 포즈 예측의 정확도를 높일 수 있다.
VI-SLAM 모듈(130)은 카메라(120)에 의해 제 2 주파수의 프레임 레이트로 획득된 이미지들(이미지 시퀀스)과 IMU 센서(110)로부터 획득된 IMU 값들(IMU 시퀀스)의 입력들에 기초하여, AR 디바이스(10)의 중간 6D 포즈들(intermediate 6 degrees of freedom poses)을 추정할 수 있다. 여기서, "중간" 6D 포즈의 의미는 최종 6D 포즈(즉, 상대적 6D 포즈)를 예측하기 전 중간 계산 결과에 따른 포즈임을 나타낸다.
일 실시예로서, VI-SLAM 모듈(130)은 제 2 주파수의 프레임 레이트로 이미지들이 획득될 때마다 중간 6D 포즈들의 추정을 수행할 수 있고, 이때 중간 6D 포즈들의 추정은 제 2 주파수의 프레임 레이트로 수행될 수 있다. 즉, 이때의 중간 6D 포즈들은 IMU 값들 및 제 2 주파수의 프레임 레이트로 획득된 이미지들을 융합하는 SLAM 기법을 수행함으로써 추정된 프레임 레이트의 제 1 타입의 포즈 데이터일 수 있다.
나아가서, 다른 실시예로서, 제 2 주파수의 프레임 레이트로 이미지들이 획득되는 시점들 사이에서, VI-SLAM 모듈(130)은 프레임 레이트로 이미지들이 획득되는 시점들 사이에서의 IMU 값들로부터 프리-인테그레이션(pre-integration) 방식을 통해 각 축의 가속도의 적분 값, 각속도의 적분 값을 계산함으로써, 제 1 주파수의 IMU 레이트로 중간 6D 포즈들의 추정을 수행할 수도 있다. 즉, 이때의 중간 6D 포즈들은 앞서 설명된 SLAM 기법을 수행함으로써 추정된 프레임 레이트의 이미지 기반 포즈 데이터 및 IMU 값들로부터 프리-인테그레이션(pre-integration) 방식에 의해 계산된 적분 값들에 대응하는 포즈 데이터를 포함하는 IMU 레이트의 제 2 타입의 포즈 데이터일 수 있다.
도 5a는 일 실시예에 따라 VI-SLAM 모듈에서 중간 6D 포즈를 추정하는 시점들을 설명하기 위한 타이밍 다이어그램이다. 도 5a를 참고하면, VI-SLAM 모듈(130)은 IMU 레이트로 획득된 IMU 값들(520) 및 프레임 레이트로 획득된 이미지들을 입력으로 수신하여, 프레임 레이트로 중간 6D 포즈들(510)을 추정한다.
구체적으로, VI-SLAM 모듈(130)은 시점 0에서 획득된 이미지 I0과 시점 A'0 내지 시점 A0 사이에 획득된 IMU 값들로 계산 시간 ΔTRK 동안 계산을 수행함으로써, 중간 6D 포즈 P0를 획득한다. 중간 6D 포즈 P0는 시점 A0에서 계산이 완료되었으나, 실제로는 시점 A'0에서의 포즈에 해당하는 것으로 간주될 수 있다. 마찬가지의 방식으로, VI-SLAM 모듈(130)은 중간 6D 포즈 Pn, 중간 6D 포즈 PN-1, 중간 6D 포즈 PN은 각각을 계산 시간 ΔTRK 동안 계산하여 획득하고, 획득된 중간 6D 포즈 Pn, 중간 6D 포즈 PN-1 및 중간 6D 포즈 PN는 각각 시점 A'n에서의 포즈, 시점 A'N-1에서의 포즈 및 시점 A'N에서의 포즈에 해당하는 것으로 간주될 수 있다. 이하에서 설명될 것이지만, VI-SLAM 모듈에 의해 중간 6D 포즈에 대한 추정이 완료될 때마다, 추정된 중간 6D 포즈는 이미지가 촬영된 실제 시점(예를 들어, 시점 A'0, ..., 시점 A'n, 시점 A'N-1, 시점 A'N, ...)에서의 그라운드 트루스(ground truth, GT) 포즈로 갱신하여 학습시 사용될 수 있다.
도 5b는 다른 실시예에 따라 VI-SLAM 모듈에서 중간 6D 포즈를 추정하는 시점들을 설명하기 위한 타이밍 다이어그램이다. 도 5b를 참고하면, 도 5a와 달리, VI-SLAM 모듈(130)은 IMU 레이트로 중간 6D 포즈들(515)을 추정한다.
구체적으로, VI-SLAM 모듈(130)은 IMU 레이트로 획득된 IMU 값들(520)에 대하여 2번 적분을 수행함으로써 각 축의 가속도의 적분 값, 각속도의 적분 값을 획득한다. 이와 같은 적분 값들은, IMU 값들(520) 단독으로부터 추정된 6D 포즈에 해당할 수 있다. 즉, VI-SLAM 모듈(130)은 IMU 값들(520)에 대한 프리-인테그레이션(pre-integration)을 수행하여, 프레임 레이트로 획득되는 중간 6D 포즈들(P0, Pn, PN-1, PN, ...) 사이 시점들에서, IMU 적분에 기초하여 IMU 레이트로 획득되는 중간 6D 포즈들(..., P'n_1, P'n_2, P'n_3, ..., P'N_1, P'N_2, P'N_3, ...)을 예측한다. 이와 같이, 카메라 이미지 기반 중간 6D 포즈들(P0, Pn, PN-1, PN, ...) 외에 IMU 적분 기반 중간 6D 포즈들(..., P'n_1, P'n_2, P'n_3, ..., P'N_1, P'N_2, P'N_3, ...)을 추정함으로써, 오클루전(occlusion), 블러 등의 문제로 인해 카메라 이미지를 원활하게 활용할 수 없는 경우라 할지라도, VI-SLAM 모듈(130)은 지속적으로 중간 6D 포즈들(515)의 추정 결과를 출력할 수 있다.
다시 도 2를 참고하면, 프로세서(140)는 운영체제 또는 응용 프로그램을 구동하여 AR 디바이스(10)의 전반적인 동작을 제어할 수 있고, 포즈 예측, 증강 현실(AR) 이미지 생성 등을 포함한 각종 데이터 처리 및 연산을 수행하는 하드웨어이다. 프로세서(140)는, 예를 들어, 중앙 처리 장치(Central Processing Unit), 마이크로 프로세서(microprocessor), 그래픽 프로세서(Graphic Processing Unit), ASICs(Application Specific Integrated Circuits), DSPs(Digital Signal Processors), DSPDs(Digital Signal Processing Devices), PLDs(Programmable Logic Devices), FPGAs(Field Programmable Gate Arrays), AP(application processor), NPU(neural processing unit), 또는 TPU(tensor processing unit) 등으로 구성될 수 있으나, 이에 한정되는 것은 아니다.
프로세서(140)는 딥 뉴럴 네트워크(DNN)를 이용하여 획득된 IMU 값들 및 중간 6D 포즈들의 입력들에 기초한 학습(learning)을 수행함으로써, AR 디바이스(10)의 상대적 6D 포즈들(relative 6D poses)을 예측하는 포즈 예측 모델을 생성한다. 여기서, "상대적" 6D 포즈의 용어는 직전에 예측된 6D 포즈(원래 포즈)와 현재 예측된 6D 포즈(변환된 포즈) 간의 포즈 차이를 의미할 수 있고, 상대적 6D 포즈는 중간 6D 포즈로부터 계산되어 최종적으로 획득된 최종 포즈를 의미할 수 있다.
포즈 예측 모델은 일 실시예에 따라 IMU 레이트의 IMU 입력들 및 프레임 레이트의 중간 6D 포즈 입력들을 포함하는 멀티-레이트(multi-rate) 입력들로 딥 뉴럴 네트워크의 학습을 수행할 수 있다. 다시 말하면, IMU 레이트는 프레임 레이트보다 높은 주파수이므로, 포즈 예측 모델은 서로 다른 주파수의 입력들로 포즈 예측을 위한 학습 및 포즈 예측을 위한 추론을 수행할 수 있다.
또한, 포즈 예측 모델은 다른 실시예에 따라 IMU 레이트의 IMU 입력들과, IMU 레이트의 IMU 적분 기반 중간 6D 포즈 입력들 및 프레임 레이트의 이미지 기반 중간 6D 포즈 입력들을 포함하는 중간 6D 포즈 입력들의 멀티-레이트(multi-rate) 입력들로 딥 뉴럴 네트워크의 학습을 수행할 수 있다.
한편, 포즈 예측 모델에 입력되는 IMU 입력들 및 중간 6D 포즈 입력들은 시간적 데이터 시퀀스(temporal data sequence)에 해당하므로, 딥 뉴럴 네트워크는 LSTM (Long Short Term Memory) 또는 GRU (Gated Recurrent Unit)를 이용한 RNN(Recurrent Neural Network)으로 구현될 수 있다. 포즈 예측 모델은 앞서 도 5a에서 설명된 GT 포즈의 갱신에 기초하여 자가 지도(self-supervised) 방식으로 딥 뉴럴 네트워크의 학습을 수행하는 모델일 수 있다.
프로세서(140)는 포즈 예측 모델의 학습된 딥 뉴럴 네트워크에 AR 디바이스(10)의 움직임에 따른 새로 획득된 IMU 값들 및 새로 추정된 중간 6D 포즈들이 입력되는 경우, 포즈 예측 모델의 학습된 딥 뉴럴 네트워크에 의한 처리를 통해 실시간으로 상대적 6D 포즈들을 예측한 추론 결과를 출력할 수 있다.
프로세서(140)는 AR 디바이스(10)가 일정 기간 사용되지 않는 상태(예를 들어, 충전 중인 상태)일 때, AR 디바이스(10)의 사용 중에 획득된 IMU 값들 및 카메라 이미지들, 또는 VI-SLAM 모듈(130)에 의해 계산된 6D 포즈들 등을 이용하여 딥 뉴럴 네트워크의 학습을 수행할 수 있다. 사용자가 다시 AR 디바이스(10)를 착용하여 사용하는 경우, 프로세서(140)는 딥 뉴럴 네트워크의 학습을 종료하고 AR 디바이스(10)의 포즈 예측을 위하여 딥 뉴럴 네트워크의 추론을 수행할 수 있다.
메모리(150)는 휘발성 메모리나 비휘발성 메모리와 같은 내장 메모리를 포함할 수 있다. 메모리(150)는 프로세서(140)의 제어에 의해 AR 디바이스(10)를 구동하고 제어하기 위한 다양한 데이터, 프로그램 또는 어플리케이션과, 입력/출력되는 신호 또는 증강 현실(AR) 데이터를 저장할 수 있다. 또한, 메모리(150)는 딥 뉴럴 네트워크(DNN)와 관련된 데이터도 저장할 수 있다. 메모리(150)는 RAM(Random Access Memory), ROM (Read Only Memory), HDD(Hard Disk Drive), SSD(Solid State Drive), CF(compact flash), SD(secure digital), Micro-SD(micro secure digital), Mini-SD(mini secure digital), xD(extreme digital), Memory Stick 등의 메모리 디바이스에 해당할 수 있고, 메모리(150)의 종류는 여기에 제한되지 않고 다양할 수 있다.
도 6은 일 실시예에 따라 포즈 예측 모델을 생성하는 방법을 설명하기 위한 도면이다.
도 6을 참고하면, 프로세서(140)는 IMU 센서(도 2의 110)로부터 획득된 IMU 값들(520) 및 VI-SLAM 모듈(도 2의 130)에 의해 추정된 중간 6D 포즈들(510)을 입력들로 수신한다.
구체적으로, 프로세서(140)는 딥 뉴럴 네트워크(DNN)에 슬라이딩 방식으로 이동하는 윈도우의 입력들로 포즈 예측을 위한 학습을 수행할 수 있다. 여기서, 슬라이딩 방식으로 이동하는 윈도우는 k개의(k는 자연수) IMU 값들 및 m개의(m은 자연수) 중간 6D 포즈들을 포함할 수 있다. 예를 들어, WINDOW 1(610)은 IMUi부터 IMUL까지의 IMU 값들과 Pn부터 PN까지의 중간 6D 포즈들을 포함하는 것으로 설정될 수 있다. 즉, 딥 뉴럴 네트워크(DNN)는 IMU 레이트의 IMU 입력들 및 프레임 레이트의 중간 6D 포즈 입력들을 포함하는 멀티-레이트(multi-rate) 입력들로 학습을 수행한다.
프로세서(140)는 딥 뉴럴 네트워크(DNN)에 입력된 WINDOW 1(610)에 대한 프로세싱을 통해 AR 디바이스(10)의 상대적 6D 포즈 O1을 출력할 수 있다.
도 7a은 일 실시예에 따라 포즈 예측 모델에서 슬라이딩 윈도우 방식으로 포즈 예측을 수행하는 방법을 설명하기 위한 도면이다.
도 7a을 참고하면, WINDOW 1(610)에 대한 프로세싱을 통해 WINDOW 1(610)에 대한 프로세싱을 통해 상대적 6D 포즈 O1이 예측되면, 윈도우는 IMU 레이트에 기초하여 슬라이딩될 수 있다. 즉, 윈도우는 시간 축 상에서 하나의 IMU 값 획득 시점 단위로 슬라이딩될 수 있다.
프로세서(140)는 딥 뉴럴 네트워크(DNN)를 이용하여 슬라이딩된 WINDOW S-1(620)에 대한 프로세싱을 통해 AR 디바이스(10)의 상대적 6D 포즈 OS-1를 출력하고, 딥 뉴럴 네트워크(DNN)를 이용하여 슬라이딩된 WINDOW S(630)에 대한 프로세싱을 통해 AR 디바이스(10)의 상대적 6D 포즈 OS를 출력할 수 있다. 즉, 딥 뉴럴 네트워크(DNN) 기반의 포즈 예측 모델은 멀티-레이트(IMU 레이트 및 프레임 레이트)의 입력들을 수신하나, IMU 레이트로 각 윈도우에 대응하는 상대적 6D 포즈를 출력할 수 있다.
한편, 딥 뉴럴 네트워크(DNN) 기반의 포즈 예측 모델은, 상대적 6D 포즈를 예측하는 학습을 수행할 때, GT 포즈(710)의 갱신에 기초하여 자가 지도(self-supervised) 학습 방식(또는 비지도(unsupervised) 학습 방식)으로 학습을 수행할 수 있다. 예를 들어, 딥 뉴럴 네트워크(DNN)의 학습시 어느 윈도우의 출력의 타이밍과 일치하는 타이밍에서의 중간 6D 포즈는, 해당 윈도우 출력을 위한 GT 포즈(710)로 사용될 수 있다.
GT 포즈(710)는 VI-SLAM 모듈(도 2의 130)에 의해 중간 6D 포즈에 대한 추정이 완료될 때마다, 추정된 중간 6D 포즈를 이미지가 촬영된 실제 시점에서의 GT 포즈(P0(GT), ..., Pn(GT), ..., PM-1(GT), PN(GT), ...)로 갱신하여 설정된 것이다.
딥 뉴럴 네트워크(DNN)는 갱신된 GT 포즈를 이용하여 손실 함수(Loss function)를 최소화함으로써 BPTT(back propagation through time)를 수행하고, 이를 통해 딥 뉴럴 네트워크(DNN)의 웨이트 파라미터들이 적절한 값들로 갱신됨으로써 딥 뉴럴 네트워크(DNN) 기반의 포즈 예측 모델의 포즈 예측 정확도가 향상될 수 있다.
도 7b는 다른 실시예에 따라 포즈 예측 모델에서 슬라이딩 윈도우 방식으로 포즈 예측을 수행하는 방법을 설명하기 위한 도면이다.
도 7b를 참고하면, 도 7a와 달리, 프로세서(140)는 딥 뉴럴 네트워크(DNN)의 멀티-레이트 입력들로서, IMU 값들(520)과, IMU 레이트의 IMU 적분 기반 중간 6D 포즈 입력들(..., P'n_1, P'n_2, P'n_3, ..., P'N_1, P'N_2, P'N_3, ...) 및 프레임 레이트의 이미지 기반 중간 6D 포즈 입력들(P0, Pn, PN-1, PN, ...) 을 포함하는 중간 6D 포즈 입력들(515)을 수신한다. 따라서, GT 포즈(720)의 갱신은 도 7a에서의 GT 포즈(710)의 갱신보다 짧은 시간 간격으로 수행될 수 있고, 이를 통해 오클루전(occlusion), 블러 등의 문제로 인해 카메라 이미지를 원활하게 활용할 수 없는 타이밍에서도, 딥 뉴럴 네트워크(DNN)는 상대적 6D 포즈들의 예측 결과를 비교적 정확하게 출력할 수 있다.
도 8은 일 실시예에 따라 LSTM을 이용하는 RNN으로 구현된 딥 뉴럴 네트워크 기반의 포즈 예측 모델을 설명하기 위한 도면이다.
AR 디바이스(도 1의 10)에서 포즈 예측을 위해 이용되는 입력들은 시간적 데이터 시퀀스(temporal data sequence)에 해당하므로, 포즈 예측 모델은 RNN(recurrent neural network)으로 구현되는 것이 바람직할 수 있다. 다만, 그렇다 할지라도, 포즈 예측 모델이 반드시 RNN 기반 뉴럴 네트워크로 제한되는 것은 아니고 다른 타입의 뉴럴 네트워크가 채용될 수 있다.
RNN은 과거의 정보를 이용하여 현재의 정보를 예측하는데 효율적인 뉴럴 네트워크의 일종이다. 하지만, RNN은 장기 의존성(Long-Term Dependency)의 문제 등이 발생될 수 있고, 이를 해결하기 위하여 LSTM 방식의 RNN이 등장하였다. LSTM은 셀 스테이트(cell state)와 히든 레이어(hidden layer)가 별도로 존재한다. LSTM의 셀 스테이트(cell state)에서는 정보 기억을 담당하여 중요하지 않은 정보는 삭제하고(forget gate), 히든 레이어는 중요한 정보만을 셀에 업데이트(input gate)함으로써, RNN의 장기 의존성 문제를 해결한 방식이다.
도 8을 참고하면, 펼쳐진 멀티-레이트 LSTM(unrolled multi-rate LSTM)이 도시되어 있다. LSTM에는 제 1 주파수(예를 들어, 500 Hz)의 IMU 레이트로 IMU 값들이 입력되고, 제 2 주파수(예를 들어, 30 fps)의 프레임 레이트로 중간 6D 포즈들이 입력된다. 이와 같이 LSTM은 멀티-레이트 입력들로 포즈 예측의 학습을 수행하므로, 낮은 주파수(제 2 주파수)의 레이트의 입력(중간 6D 포즈)이 저장되는 LSTM은 점선으로 표시된 바와 같이, 학습 중간에 비활성화 상태들(inactivated states)로 변경될 수 있다. LSTM에 저장된 과거의 IMU 값들 및 중간 6D 포즈들의 입력은, 다른 시간 타이밍에서의 상대적 6D 포즈의 예측에 관련될 수 있도록, 다른 LSTM의 셀들로 전달될 수 있다.
한편, LSTM 방식의 RNN으로 포즈 예측을 위한 학습을 수행하는 포즈 예측 모델에서, 갱신된 GT 포즈(P0, ..., PN, ...) 이용하여 BPTT(back propagation through time)를 수행함으로써, 손실 함수(Loss function)를 최소화하여, LSTM 기반 포즈 예측 모델의 포즈 예측 정확도가 향상될 수 있다.
도 8에서는 비록 도시되지 않았으나, 본 실시예에 따른 딥 뉴럴 네트워크 기반의 포즈 예측 모델은 LSTM 대신에, GRU(Gated Recurrent Unit)를 이용한 RNN으로도 구현될 수 있고, GRU의 방식은 앞서 LSTM에서 설명한 바와 유사하게 동작될 수 있음을 당업자라면 이해할 수 있다.
도 9 및 10은 일 실시예에 따라 프로세서에서 포즈 예측을 수행하는 것을 설명하기 위한 도면들이다.
먼저 도 9를 참고하면, IMU 센서(110)는 IMU 레이트로 획득된 IMU 값들을 포함하는 IMU 시퀀스 ①의 시간적 데이터(temporal data)를 VI-SLAM 모듈(130)로 전달하고, 카메라(120)도 프레임 레이트로 획득된 이미지들을 포함하는 이미지 시퀀스 ①의 시간적 데이터를 VI-SLAM 모듈(130)로 전달한다. 한편, IMU 센서(110)는 포즈 예측을 위하여 IMU 시퀀스 ①를 프로세서(140)에도 전달한다.
VI-SLAM 모듈(130)은 IMU 시퀀스 ①과 이미지 시퀀스 ①에 기초하여 중간 6D 포즈 ①을 추정하고, 추정된 중간 6D 포즈 ①을 프로세서(140)로 전달한다. 이때, VI-SLAM 모듈(130)은 추정된 중간 6D 포즈 ①을 이미지가 촬영된 실제 시점(advance ΔTRK)에서의 GT 포즈 ①로 갱신하여 설정하고, 갱신된 GT 포즈 ①로 프로세서(140)로 전달한다.
프로세서(140)는 딥 뉴럴 네트워크(DNN) 기반의 포즈 예측 모델을 이용하여 IMU 시퀀스 ①와 중간 6D 포즈 ①에 대한 출력을 계산하고, 그 결과 상대적 포즈 ①을 출력한다.
다음으로, 도 10을 참고하면, VI-SLAM 모듈(130)은 IMU 센서(110)로부터 획득된 IMU 시퀀스 ②와 카메라(120)로부터 획득된 이미지 시퀀스 ②에 기초하여 중간 6D 포즈 ②를 추정하고, 추정된 중간 6D 포즈 ②를 프로세서(140)로 전달한다. 프로세서(140)는 딥 뉴럴 네트워크(DNN) 기반의 포즈 예측 모델을 이용하여 IMU 시퀀스 ②와 중간 6D 포즈 ②에 대한 출력을 계산하고, 그 결과 상대적 포즈 ②를 출력한다.
프로세서(140)는 상대적 포즈 ②가 예측된 경우, 갱신된 GT 포즈 ① 및 갱신된 GT 포즈 ②에 기초하여 딥 뉴럴 네트워크(DNN)의 역전파(backpropagation)(예를 들어, BPTT)를 통해 웨이트 파라미터들을 갱신할 수 있다. 비록 도시되지 않았으나, 프로세서(140)는 이후의 상대적 포즈들을 예측하기 위해, 반복적으로 앞서 설명된 프로세스들을 수행할 수 있다.
한편, 도 9 및 10에서 ① 및 ②의 기호는 서로 다른 시점들의 데이터가 포함되어 있음을 나타내기 위한 것이다.
도 11a 및 11b는 일 실시예들에 따라 학습이 완료된 딥 뉴럴 네트워크(DNN) 기반의 포즈 예측 모델에서 포즈 예측의 추론을 수행하는 것을 설명하기 위한 도면들이다.
도 11a 및 11b를 참고하면, 딥 뉴럴 네트워크(DNN)에 입력된 IMU 값들 및 중간 6D 포즈들에 기초하여 포즈 예측을 위한 학습이 수행되고, 갱신된 GT 포즈들에 의한 딥 뉴럴 네트워크(DNN)의 파라미터들의 갱신이 수행된 경우, 딥 뉴럴 네트워크(DNN)의 학습이 완료되어 포즈 예측 모델이 생성될 수 있다. 학습된 딥 뉴럴 네트워크(DNN) 기반으로 생성된 포즈 예측 모델에 AR 디바이스(도 1의 10)의 움직임에 따라 새로 획득된 IMU 값들 및 새로 추정된 중간 6D 포즈들이 입력되는 경우, 프로세서(도 2의 140)는 포즈 예측 모델의 학습된 딥 뉴럴 네트워크에 의한 처리를 통해 실시간으로 상대적 6D 포즈들을 예측한 추론 결과를 출력할 수 있다.
예를 들어, 앞서 설명된 바와 같이, 학습된 딥 뉴럴 네트워크에는 슬라이딩 윈도우 방식으로 IMU 값들 및 중간 6D 포즈들이 입력될 수 있다. 프로세서(140)는 WINDOW 1(1110)이 입력된 경우, 계산 시간 ΔR동안 WINDOW 1(1110) 내 입력들을 처리하여 상대적 6D 포즈의 예측 결과의 추론을 수행하고, WINDOW 1(1110)에 대응하는 추론 결과(즉, 예측된 상대적 6D 포즈)를 출력한다. 마찬가지로, 프로세서(140)는 슬라이딩된 WINDOW 2(1120)이 입력된 경우 및 슬라이딩된 WINDOW 3(1130)이 입력된 경우에 대해서도 추론을 수행하여, 추론 결과들(즉, 예측된 상대적 6D 포즈들)을 출력한다.
한편, 딥 뉴럴 네트워크(DNN)는 입력된 IMU 값들 및 중간 6D 포즈들에 기초하여 포즈 예측을 위한 학습을 완료하였으므로, 프로세서(140)는 딥 뉴럴 네트워크(DNN)의 학습 결과에 기초하여 현재의 미래의 AR 디바이스(10)의 6D 포즈를 추론하는 것뿐만 아니라 미래의 AR 디바이스(10)의 6D 포즈에 대한 예측 결과를 출력할 수도 있다.
도 12는 일 실시예에 따른 증강 현실(AR) 디바이스에서 포즈를 예측하는 방법의 흐름도이다. 도 12를 참고하면, AR 디바이스(도 1의 10)에서의 포즈 예측 방법은 앞서 설명된 도면들에서의 실시예들에 관련되므로, 이하 생략된 내용이라 할지라도, 앞서 도면들에서 설명된 내용들은 도 12의 방법에도 적용될 수 있다.
1201 단계에서, 프로세서(140)는 IMU 센서(110)로부터, 제 1 주파수의 IMU 레이트로 AR 디바이스(10)의 움직임에 대응하는 IMU 값들을 획득한다.
1202 단계에서, 프로세서(140)는 VI-SLAM 모듈(130)로부터, IMU 값들 및 카메라(120)에 의해 제 2 주파수의 프레임 레이트로 획득된 AR 디바이스(10) 주변의 이미지들의 입력들에 기초하여 추정된, AR 디바이스(10)의 중간 6D 포즈들을 획득한다.
1203 단계에서, 프로세서(140)는 딥 뉴럴 네트워크(DNN)를 이용하여 IMU 값들 및 중간 6D 포즈들의 입력들에 기초한 학습을 수행함으로써, AR 디바이스(10)의 상대적 6D 포즈들을 예측하는 포즈 예측 모델을 생성한다.
한편, 상술한 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성 가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다. 또한, 상술한 실시예들에서 사용된 데이터의 구조는 컴퓨터로 읽을 수 있는 기록매체에 여러 수단을 통하여 기록될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드 디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등)와 같은 저장매체를 포함한다.
본 실시예와 관련된 기술 분야에서 통상의 지식을 가진 자는 상기된 기재의 본질적인 특성에서 벗어나지 않는 범위에서 실시예가 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예는 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 권리 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 실시예에 포함된 것으로 해석되어야 할 것이다.

Claims (21)

  1. 증강 현실(AR) 디바이스에서 포즈를 예측하는 방법에 있어서,
    IMU(Inertial Measurement Unit) 센서를 이용하여, 제 1 주파수의 IMU 레이트(IMU rate)로 상기 AR 디바이스의 움직임에 대응하는 IMU 값들을 획득하는 단계;
    VI-SLAM(Visual-Inertial Simultaneous Localization And Mapping) 모듈에서, 상기 획득된 IMU 값들 및 상기 AR 디바이스에 구비된 카메라에 의해 제 2 주파수의 프레임 레이트(frame rate)로 획득된 상기 AR 디바이스 주변의 이미지들의 입력들에 기초하여, 상기 AR 디바이스의 중간 6D (6 degrees of freedom) 포즈들을 추정하는 단계; 및
    프로세서에서, 딥 뉴럴 네트워크(DNN)를 이용하여 상기 획득된 IMU 값들 및 상기 중간 6D 포즈들의 입력들에 기초한 학습(learning)을 수행함으로써, 상기 AR 디바이스의 상대적 6D 포즈들(relative 6D poses)을 예측하는 포즈 예측 모델을 생성하는 단계를 포함하는,
    방법.
  2. 제 1 항에 있어서,
    상기 중간 6D 포즈들은
    상기 획득된 IMU 값들 및 상기 제 2 주파수의 프레임 레이트로 획득된 상기 이미지들을 융합하는 SLAM 기법을 수행함으로써 추정된 상기 프레임 레이트의 제 1 타입의 포즈 데이터이거나, 또는
    상기 SLAM 기법을 수행함으로써 추정된 상기 프레임 레이트의 이미지 기반 포즈 데이터 및 상기 획득된 IMU 값들로부터 프리-인테그레이션(pre-integration) 방식에 의해 계산된 적분 값들에 대응하는 포즈 데이터를 포함하는 상기 IMU 레이트의 제 2 타입의 포즈 데이터인,
    방법.
  3. 제 1 항에 있어서,
    상기 포즈 예측 모델은
    슬라이딩 방식으로 이동하는 윈도우 내 k개의(k는 자연수) IMU 값들 및 m개의(m은 자연수) 중간 6D 포즈들의 입력들에 기초한 상기 딥 뉴럴 네트워크의 상기 학습을 수행함으로써, 각 윈도우에 대응하는 상대적 6D 포즈를 출력하는,
    방법.
  4. 제 1 항에 있어서,
    상기 윈도우는
    상기 IMU 레이트에 기초하여 슬라이딩되어 상기 딥 뉴럴 네트워크로 입력되고,
    상기 포즈 예측 모델은
    상기 IMU 레이트로 상기 각 윈도우에 대응하는 상기 상대적 6D 포즈를 출력하는,
    방법.
  5. 제 1 항에 있어서,
    상기 VI-SLAM 모듈에 의해 중간 6D 포즈에 대한 상기 추정이 완료될 때마다, 상기 추정된 중간 6D 포즈를 이미지가 촬영된 실제 시점에서의 그라운드 트루스(ground truth, GT) 포즈로 갱신하여 설정하는 단계를 더 포함하는,
    방법.
  6. 제 5 항에 있어서,
    상기 포즈 예측 모델은
    상기 GT 포즈의 갱신에 기초하여 자가 지도(self-supervised) 방식으로 상기 딥 뉴럴 네트워크의 상기 학습을 수행하는,
    방법.
  7. 제 1 항에 있어서,
    상기 포즈 예측 모델은
    상기 IMU 레이트의 IMU 입력들 및 상기 프레임 레이트의 중간 6D 포즈 입력들을 포함하는 멀티-레이트(multi-rate) 입력들로 상기 딥 뉴럴 네트워크의 상기 학습을 수행하고,
    상기 제 1 주파수는 상기 제 2 주파수보다 큰 것인,
    방법.
  8. 제 1 항에 있어서,
    상기 딥 뉴럴 네트워크는
    LSTM (Long Short Term Memory) 또는 GRU (Gated Recurrent Unit)를 이용한 RNN(Recurrent Neural Network)인,
    방법.
  9. 제 8 항에 있어서,
    상기 딥 뉴럴 네트워크는
    갱신된 GT 포즈를 이용하여 손실 함수(Loss function)를 최소화함으로써 BPTT(back propagation through time)를 수행하는,
    방법.
  10. 제 1 항에 있어서,
    상기 포즈 예측 모델의 상기 학습된 딥 뉴럴 네트워크에 상기 AR 디바이스의 움직임에 따른 새로 획득된 IMU 값들 및 새로 추정된 중간 6D 포즈들이 입력되는 경우, 상기 포즈 예측 모델의 상기 학습된 딥 뉴럴 네트워크에 의한 처리를 통해 실시간으로 상대적 6D 포즈들을 예측한 추론 결과를 출력하는 단계를 더 포함하는,
    방법.
  11. 제 1 항 내지 제 10 항 중에 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 비일시적인(non-transitory) 기록매체.
  12. 증강 현실(AR) 디바이스에 있어서,
    제 1 주파수의 IMU 레이트(IMU rate)로 상기 AR 디바이스의 움직임에 대응하는 IMU 값들을 획득하는 IMU(Inertial Measurement Unit) 센서;
    상기 획득된 IMU 값들 및 상기 AR 디바이스에 구비된 카메라에 의해 제 2 주파수의 프레임 레이트(frame rate)로 획득된 상기 AR 디바이스 주변의 이미지들의 입력들에 기초하여, 상기 AR 디바이스의 중간 6D (6 degrees of freedom) 포즈들을 추정하는 VI-SLAM(Visual-Inertial Simultaneous Localization And Mapping) 모듈; 및
    딥 뉴럴 네트워크(DNN)를 이용하여 상기 획득된 IMU 값들 및 상기 중간 6D 포즈들의 입력들에 기초한 학습(learning)을 수행함으로써, 상기 AR 디바이스의 상대적 6D 포즈들(relative 6D poses)을 예측하는 포즈 예측 모델을 생성하는 프로세서를 포함하는,
    AR 디바이스.
  13. 제 12 항에 있어서,
    상기 포즈 예측 모델은
    슬라이딩 방식으로 이동하는 윈도우 내 k개의(k는 자연수) IMU 값들 및 m개의(m은 자연수) 중간 6D 포즈들의 입력들에 기초한 상기 딥 뉴럴 네트워크의 상기 학습을 수행함으로써, 각 윈도우에 대응하는 상대적 6D 포즈를 출력하는,
    AR 디바이스.
  14. 제 12 항에 있어서,
    상기 윈도우는
    상기 IMU 레이트에 기초하여 슬라이딩되어 상기 딥 뉴럴 네트워크로 입력되고,
    상기 포즈 예측 모델은
    상기 IMU 레이트로 상기 각 윈도우에 대응하는 상기 상대적 6D 포즈를 출력하는,
    AR 디바이스.
  15. 제 12 항에 있어서,
    상기 프로세서는
    상기 VI-SLAM 모듈에 의해 중간 6D 포즈에 대한 상기 추정이 완료될 때마다, 상기 추정된 중간 6D 포즈를 이미지가 촬영된 실제 시점에서의 그라운드 트루스(ground truth, GT) 포즈로 갱신하여 설정하는,
    AR 디바이스.
  16. 제 15 항에 있어서,
    상기 포즈 예측 모델은
    상기 GT 포즈의 갱신에 기초하여 자가 지도(self-supervised) 방식으로 상기 딥 뉴럴 네트워크의 상기 학습을 수행하는,
    AR 디바이스.
  17. 제 12 항에 있어서,
    상기 포즈 예측 모델은
    상기 IMU 레이트의 IMU 입력들 및 상기 프레임 레이트의 중간 6D 포즈 입력들을 포함하는 멀티-레이트(multi-rate) 입력들로 상기 딥 뉴럴 네트워크의 상기 학습을 수행하고,
    상기 제 1 주파수는 상기 제 2 주파수보다 큰 것인,
    AR 디바이스.
  18. 제 12 항에 있어서,
    상기 딥 뉴럴 네트워크는
    LSTM (Long Short Term Memory) 또는 GRU (Gated Recurrent Unit)를 이용한 RNN(Recurrent Neural Network)인,
    AR 디바이스.
  19. 제 18 항에 있어서,
    상기 딥 뉴럴 네트워크는
    갱신된 GT 포즈를 이용하여 손실 함수(Loss function)를 최소화함으로써 BPTT(back propagation through time)를 수행하는,
    AR 디바이스.
  20. 제 12 항에 있어서,
    상기 프로세서는
    상기 포즈 예측 모델의 상기 학습된 딥 뉴럴 네트워크에 상기 AR 디바이스의 움직임에 따른 새로 획득된 IMU 값들 및 새로 추정된 중간 6D 포즈들이 입력되는 경우, 상기 포즈 예측 모델의 상기 학습된 딥 뉴럴 네트워크에 의한 처리를 통해 실시간으로 상대적 6D 포즈들을 예측한 추론 결과를 출력하는,
    AR 디바이스.
  21. 프로세서에서 포즈를 예측하는 방법에 있어서,
    IMU(Inertial Measurement Unit) 센서로부터, 제 1 주파수의 IMU 레이트(IMU rate)로 AR 디바이스의 움직임에 대응하는 IMU 값들을 획득하는 단계;
    VI-SLAM(Visual-Inertial Simultaneous Localization And Mapping) 모듈로부터, 상기 획득된 IMU 값들 및 상기 AR 디바이스에 구비된 카메라에 의해 제 2 주파수의 프레임 레이트(frame rate)로 획득된 주변의 이미지들의 입력들에 기초하여 추정된, 상기 AR 디바이스의 중간 6D (6 degrees of freedom) 포즈들을 획득하는 단계; 및
    딥 뉴럴 네트워크(DNN)를 이용하여 상기 획득된 IMU 값들 및 상기 중간 6D 포즈들의 입력들에 기초한 학습(learning)을 수행함으로써, 상기 AR 디바이스의 상대적 6D 포즈들(relative 6D poses)을 예측하는 포즈 예측 모델을 생성하는 단계를 포함하는,
    방법.
KR1020200046268A 2020-04-16 2020-04-16 증강 현실(ar) 디바이스 및 증강 현실 디바이스에서 포즈를 예측하는 방법 KR20210128269A (ko)

Priority Applications (6)

Application Number Priority Date Filing Date Title
KR1020200046268A KR20210128269A (ko) 2020-04-16 2020-04-16 증강 현실(ar) 디바이스 및 증강 현실 디바이스에서 포즈를 예측하는 방법
US17/037,102 US11334747B2 (en) 2020-04-16 2020-09-29 Augmented reality (AR) device and method of predicting pose therein
CN202011088589.7A CN113534948A (zh) 2020-04-16 2020-10-13 增强现实ar装置和预测其中的姿势的方法
EP20208271.5A EP3896655B1 (en) 2020-04-16 2020-11-18 Augmented reality (ar) device and method of predicting pose therein
US17/722,848 US11587360B2 (en) 2020-04-16 2022-04-18 Augmented reality (AR) device and method of predicting pose therein
US18/090,985 US20230133574A1 (en) 2020-04-16 2022-12-29 Augmented reality (ar) device and method of predicting pose therein

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200046268A KR20210128269A (ko) 2020-04-16 2020-04-16 증강 현실(ar) 디바이스 및 증강 현실 디바이스에서 포즈를 예측하는 방법

Publications (1)

Publication Number Publication Date
KR20210128269A true KR20210128269A (ko) 2021-10-26

Family

ID=73475936

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200046268A KR20210128269A (ko) 2020-04-16 2020-04-16 증강 현실(ar) 디바이스 및 증강 현실 디바이스에서 포즈를 예측하는 방법

Country Status (4)

Country Link
US (3) US11334747B2 (ko)
EP (1) EP3896655B1 (ko)
KR (1) KR20210128269A (ko)
CN (1) CN113534948A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230143459A (ko) 2022-04-05 2023-10-12 성균관대학교산학협력단 인공신경망 모델 학습 방법 및 장치, 인공신경망 모델을 이용한 운동 협응도 유추 방법 및 장치

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210128269A (ko) * 2020-04-16 2021-10-26 삼성전자주식회사 증강 현실(ar) 디바이스 및 증강 현실 디바이스에서 포즈를 예측하는 방법
CN114543797B (zh) * 2022-02-18 2024-06-07 北京市商汤科技开发有限公司 位姿预测方法和装置、设备、介质
WO2024063589A1 (en) * 2022-09-23 2024-03-28 Samsung Electronics Co., Ltd. System and method for intelligent user localization in metaverse
US20240169677A1 (en) * 2022-11-21 2024-05-23 Qualcomm Incorporated Future pose predictor for a controller
WO2024108394A1 (zh) * 2022-11-22 2024-05-30 北京小米移动软件有限公司 姿态获取方法和装置、虚拟现实设备、可读存储介质
CN117889853B (zh) * 2024-03-15 2024-06-04 歌尔股份有限公司 Slam定位方法、终端设备及可读存储介质

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2017317599B2 (en) 2016-08-22 2021-12-23 Magic Leap, Inc. Augmented reality display device with deep learning sensors
US10282861B2 (en) 2016-12-12 2019-05-07 Here Global B.V. Pose error estimation and localization using static features
KR102309297B1 (ko) 2017-03-31 2021-10-06 엘지전자 주식회사 단말기 및 그 제어 방법
JP7250709B2 (ja) 2017-06-28 2023-04-03 マジック リープ, インコーポレイテッド 畳み込み画像変換を使用して同時位置特定およびマッピングを実施する方法およびシステム
US11740321B2 (en) 2017-11-30 2023-08-29 Apple Inc. Visual inertial odometry health fitting
CN110622213B (zh) 2018-02-09 2022-11-15 百度时代网络技术(北京)有限公司 利用3d语义地图进行深度定位和分段的***和方法
US10636190B2 (en) 2018-05-31 2020-04-28 Robert Bosch Gmbh Methods and systems for exploiting per-pixel motion conflicts to extract primary and secondary motions in augmented reality systems
JP7482040B2 (ja) * 2018-06-14 2024-05-13 マジック リープ, インコーポレイテッド 拡張現実深層ジェスチャネットワーク
US11126179B2 (en) * 2019-02-21 2021-09-21 Zoox, Inc. Motion prediction based on appearance
US10786729B1 (en) * 2019-03-08 2020-09-29 Sony Interactive Entertainment Inc. Thermopile array fusion tracking
US11010921B2 (en) * 2019-05-16 2021-05-18 Qualcomm Incorporated Distributed pose estimation
US11178379B2 (en) * 2019-08-07 2021-11-16 Magic Leap, Inc. Determining a predicted head pose time
KR20210128269A (ko) * 2020-04-16 2021-10-26 삼성전자주식회사 증강 현실(ar) 디바이스 및 증강 현실 디바이스에서 포즈를 예측하는 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230143459A (ko) 2022-04-05 2023-10-12 성균관대학교산학협력단 인공신경망 모델 학습 방법 및 장치, 인공신경망 모델을 이용한 운동 협응도 유추 방법 및 장치

Also Published As

Publication number Publication date
US20210326584A1 (en) 2021-10-21
EP3896655A1 (en) 2021-10-20
US20230133574A1 (en) 2023-05-04
CN113534948A (zh) 2021-10-22
US11334747B2 (en) 2022-05-17
EP3896655B1 (en) 2023-07-26
US11587360B2 (en) 2023-02-21
US20220237949A1 (en) 2022-07-28

Similar Documents

Publication Publication Date Title
KR20210128269A (ko) 증강 현실(ar) 디바이스 및 증강 현실 디바이스에서 포즈를 예측하는 방법
JP6844542B2 (ja) 情報処理装置、情報処理方法及びプログラム
CN112400150B (zh) 基于预测扫视着陆点的动态图形渲染
US10628675B2 (en) Skeleton detection and tracking via client-server communication
US10324522B2 (en) Methods and systems of a motion-capture body suit with wearable body-position sensors
US20200171386A1 (en) Reality vs virtual reality racing
JP2020505665A (ja) 骨格ベース効果表現及び背景置換
RU2708027C1 (ru) Способ передачи движения субъекта из видео на анимированного персонажа
US11902677B2 (en) Patch tracking image sensor
KR20160046495A (ko) 외부 물체의 움직임과 연관된 이벤트에 응답하여 화면을 디스플레이하는 장치 및 방법
US11302049B2 (en) Preventing transition shocks during transitions between realities
JP2015166816A (ja) 表示装置,表示制御プログラム及び表示制御方法
WO2020110659A1 (ja) 情報処理装置、情報処理方法、およびプログラム
JP2022537817A (ja) 動的オクルージョンのための高速の手のメッシュ化
Kowalski et al. Holoface: Augmenting human-to-human interactions on hololens
WO2022004422A1 (ja) 情報処理装置、情報処理方法、及び記録媒体
JP2021527888A (ja) 軸外カメラを使用して眼追跡を実施するための方法およびシステム
US20230064242A1 (en) Electronic device for predicting pose and operating method thereof
KR20200134401A (ko) 모바일 디바이스와 연동하는 스마트 안경 작동 방법
US20240185532A1 (en) Augmented reality enabled glasses for sports
JP2020046988A (ja) 情報処理システム、情報処理方法及び情報処理プログラム
US20230376109A1 (en) Image processing apparatus, image processing method, and storage device
US20230206533A1 (en) Emotive avatar animation with combined user pose data
CN118363450A (zh) 动作捕捉方法、装置、设备、介质及程序产品
JP2023082675A (ja) 視線を推定する装置及び方法