[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

KR20160111008A - 비제약형 slam을 위한 센서-기반 카메라 모션 검출 - Google Patents

비제약형 slam을 위한 센서-기반 카메라 모션 검출 Download PDF

Info

Publication number
KR20160111008A
KR20160111008A KR1020167024806A KR20167024806A KR20160111008A KR 20160111008 A KR20160111008 A KR 20160111008A KR 1020167024806 A KR1020167024806 A KR 1020167024806A KR 20167024806 A KR20167024806 A KR 20167024806A KR 20160111008 A KR20160111008 A KR 20160111008A
Authority
KR
South Korea
Prior art keywords
motion
angle
rotational motion
vision
sensor
Prior art date
Legal status (The legal status 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 status listed.)
Ceased
Application number
KR1020167024806A
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 KR20160111008A publication Critical patent/KR20160111008A/ko
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • H04N5/23238
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/698Control of cameras or camera modules for achieving an enlarged field of view, e.g. panoramic image capture
    • G06K9/00624
    • G06K9/52
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/0012
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/04Context-preserving transformations, e.g. by using an importance map
    • G06T7/004
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/42Global feature extraction by analysis of the whole pattern, e.g. using frequency domain transformations or autocorrelation
    • H04N13/0282
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/282Image signal generators for generating image signals corresponding to three or more geometrical viewpoints, e.g. multi-view systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/222Studio circuitry; Studio devices; Studio equipment
    • H04N5/262Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
    • H04N5/2628Alteration of picture size, shape, position or orientation, e.g. zooming, rotation, rolling, perspective, translation
    • 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/30Subject of image; Context of image processing
    • G06T2207/30244Camera pose

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Signal Processing (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Computer Graphics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Image Analysis (AREA)
  • Processing Or Creating Images (AREA)
  • Length Measuring Devices By Optical Means (AREA)

Abstract

카메라가 파노라마 SLAM(simultaneous localization and mapping)을 수행하고 있는 동안, 적어도 하나의 모션 센서를 사용하여 카메라의 움직임에서 병진 모션을 검출하고 그리고 유한 피쳐들의 추적을 위해 3차원 맵을 초기화하는 것에 기초하는 단안 시각적 SLAM을 위한 기술들이 제시된다. 모션 센서들은, 모바일 디바이스들에 내장되는 관성(자이로스코프, 가속도계), 자기(나침반), 비전(카메라) 또는 임의의 다른 센서들을 포함하는 하나 또는 그 초과의 센서들을 포함할 수 있다.

Description

비제약형 SLAM을 위한 센서-기반 카메라 모션 검출{SENSOR-BASED CAMERA MOTION DETECTION FOR UNCONSTRAINED SLAM}
관련 액션들에 대한 상호-참조
[0001] 본 출원은 특허 협력 조약 출원이며, "SENSOR-BASED CAMERA MOTION DETECTION FOR UNCONSTRAINED SLAM"이라는 명칭으로 2014년 3월 14일자로 출원된 미국 가출원 제 61/953,122호 및 "SENSOR-BASED CAMERA MOTION DETECTION FOR UNCONSTRAINED SLAM"이라는 명칭으로 2015년 3월 12일자로 출원된 정규 출원 제 14/645,675호의 우선권 및 이들에 대한 이득을 주장하고, 이들 출원들은 그 전체가 인용에 의해 그리고 모든 목적들을 위해 본원에 포함된다. 본 출원은 또한, "MONOCULAR VISUAL SLAM WITH GENERAL AND PANORAMA CAMERA MOVEMENTS"이라는 명칭으로 2014년 1월 9일자로 출원된 미국 출원 제 14/151,766호의 그 전체를 인용에 의해 포함한다.
[0002] 본원에 개시되는 요지는 일반적으로 로케이션(location) 검출에 관한 것으로, 구체적으로는, SLAM(Simultaneous Localization and Mapping)에 관한 것이다.
[0003] VSLAM(Visual Simultaneous Localization and Mapping) 시스템들은, 카메라가 이동함에 따라서, 디바이스에 커플링되는 단일 카메라의 입력을 프로세싱하고 그리고 환경의 맵(모델로 또한 알려져 있음)을 연속적으로 구축할 수 있다. 시각적 SLAM(Visual SLAM) 시스템들은 맵에 관한 디바이스의 포지션 및 배향(포즈(pose))을 동시에 추적한다. 시각적 SLAM 시스템은, 디바이스를 추적하고 그리고 디바이스의 움직임에 기초하여 맵을 구축하기 위해 상이한 모드들에서 동작할 수 있다. 예를 들어, 병진 모션(translational motion)을 포함하는 일반적인 모션을 디바이스가 경험하는 동안에는, 디바이스는 일반 모션 모드로 전환(transition)하여 일반 모션에 대한 맵을 구축할 수 있다. 유사하게, 디바이스가 단지 회전(rotate)하고 있고 그리고 일 장소에서 다른 장소로 이동하지 않는 경우, 디바이스는 회전-한정(rotation-only) 모드로 스위칭하여 회전-한정 맵을 구축할 수 있다.
[0004] 본 개시내용의 특정 양상들은, 회전-한정 모드로부터 일반 모션 모드로 강건하게(robustly) 스위칭하기 위한 기술들을 논의한다.
[0005] 본원에 개시되는 요지는 일반적으로 카메라 모션 검출에 관한 것으로, 구체적으로는, SLAM(Simultaneous Localization and Mapping)에 관한 것이다.
[0006] 본 개시내용의 양상들은, 일반 카메라 모션과 회전-한정 카메라 모션, 및 대응하는 파노라마(panoramic)/3D 추적 및 맵핑 모드들 간의 전환들을 강건하게 검출하기 위한 기술들을 제공한다. 부정확한 전환들은, 잘못(erroneously) 측정된 피쳐(feature)들로 3D 및 파노라마 맵들 둘 모두에 오류를 일으켜서 추적 실패를 유발할 수 있다. 모델 선택 알고리즘과 같은 기존의 비전-한정(vision-only) 방법들과 대조적으로, 본 개시내용의 양상들은, 관성(자이로스코프, 가속도계), 자기(나침반), 및 비전(카메라) 센서들을 포함하는 하나 또는 그 초과의 센서들을 사용할 수 있다.
[0007] 본 개시내용의 특정한 양상들은, 3DOF 회전 모션 모델을 사용하여 카메라가 파노라마 맵으로부터 추적되는 동안, 회전-한정 모드로부터 일반 모션 모드로의 전환들을 검출한다. 회전-한정 모드에 있는 동안, 시각적 파노라마 맵 추적기(tracker)는, 자신의 회전 모션 추정들에서의 부가적인 가상 회전으로서 병진 모션을 인코딩한다. 병행하여, 모션 센서들로부터의 회전이 측정된다. 병진 모션을 결정하는데 사용될 수 있는 비전 및 모션 센서 회전 추정들 사이의 차이를 컴퓨팅함으로써 시차 각(parallax angle)이 도출된다. 시차 각 및 그 결과로서 병진 모션을 신뢰가능하게 결정하는 것은, 풀(full) 6DOF에서의 카메라의 연속적인 추적을 허용하는 새로운 3D 맵의 초기화(initialization)를 트리거링(trigger)하는 것을 허용한다.
[0008] 본 개시내용의 양상들은, 디바이스에 대한 비전-기반 회전 모션 각을 결정하는 것 ― 비전-기반 회전 모션 각은 복수의 키프레임들 상에서 이미지 프로세싱을 수행함으로써 결정됨 ―, 복수의 키프레임들 간의 디바이스에 대한 센서-기반 회전 모션 각을 결정하는 것 ― 센서-기반 회전 모션 각은, 디바이스에 커플링되는 하나 또는 그 초과의 모션 센서들을 사용하여 결정됨 ―, 디바이스에 대한 시차 각을 결정하는 것 ― 시차 각은, 비전-기반 회전 모션 각과 센서-기반 회전 모션 각을 비교함으로써 결정됨 ―, 시차 각을 임계 값에 대해 비교하는 것, 및 시차 각이 임계 값을 초과한다는 것에 기초하여 병진 모션을 검출하는 것을 포함하는, 파노라마 SLAM(Simultaneous Localization and Mapping) 모드에서 디바이스를 추적하면서 병진 모션을 검출하기 위한 예시적인 방법, 장치, 비-일시적인 컴퓨터-판독가능 매체, 및 수단을 설명한다. 특정 양상들에서, 모션 센서들은, 자이로스코프들, 가속도계들, 자력계들, 카메라들, 또는 모션을 검출하기 위한 임의의 다른 적절한 센서들을 포함할 수 있다.
[0009] 특정 양상들에서, 비-일시적인 컴퓨터-판독가능 저장 매체는, 본원에 설명되는 바와 같은 SLAM(simultaneous localization and mapping)의 양상들을 수행하도록 프로세서에 의해 실행가능한 명령들을 포함할 수 있다. 또한, 파노라마 SLAM(Simultaneous Localization and Mapping) 모드에서 디바이스를 추적하면서 병진 모션을 검출하기 위한 디바이스 또는 장치는, 맵들 및 다른 데이터 구조들을 저장하기 위한 메모리, 물리적 씬(scene)에 관한 정보를 획득하기 위해 디바이스/장치에 커플링되는 하나 또는 그 초과의 카메라들, 및 메모리에 커플링되고 그리고 본원에 설명되는 개시내용의 양상들을 수행하도록 구성되는 하나 또는 그 초과의 프로세서들을 포함할 수 있다.
[00010] 본 개시내용의 양상들은 추가로, 적어도 복수의 키프레임들 간의 시차 각을 사용하여 병진 모션을 결정하는 것을 포함한다. 본 개시내용의 특정 양상들은 또한, 적어도 병진 모션을 사용하여 디바이스로부터의 하나 또는 그 초과의 피쳐들에 대한 거리를 삼각측량(triangulate)함으로써, 디바이스에 관한 하나 또는 그 초과의 피쳐들에 대한 깊이 정보를 결정하는 것을 포함할 수 있다. 또한, 본 개시내용의 특정 양상들은 추가로, 적어도 병진 모션을 검출하는 것에 기초하여, 일반 모션 모드에서 디바이스를 추적하기 위해 3차원(3D) 맵을 초기화하는 것을 포함한다. 특정 양상들은, 병진 모션을 검출하는 것에 기초하여 6DOF(six degrees of freedom) SLAM 맵핑으로 스위칭하는 것을 포함할 수 있다. 본 개시내용의 특정 양상들은, 적어도 병진 모션을 검출하는 것에 기초하여, 2개의 키프레임들을 사용하는 3D 맵의 스테레오(stereo) 초기화를 사용하여 디바이스를 추적하기 위해 3차원(3D) 맵을 초기화하는 것을 포함한다. 본 개시내용의 특정 양상들에서, 제 1 시간에서 포착(acquire)되는 기준 키프레임과 제 2 시간에서 포착되는 현재 키프레임 사이의 모션에 대해 비전-기반 회전 모션 각 및 센서-기반 회전 모션 각이 검출된다.
[00011] 전술한 것은, 후속하는 상세한 설명이 더 완전하게 이해될 수도 있게 하기 위해, 예들의 특성들 및 기술적 이점들을 다소 광범위하게 약술하였다. 부가적인 특성들 및 이점들은 아래에서 설명될 것이다. 개시된 개념 및 특정한 예들은 본 개시내용의 동일한 목적들을 수행하기 위해 다른 구조들을 변형 또는 설계하기 위한 기반으로서 용이하게 이용될 수 있다. 그러한 등가 구성들은 첨부된 청구항들의 사상 및 범위로부터 벗어나지 않는다. 연관된 이점들과 함께, 본원에 개시된 개념들의 구성 및 동작 방법 둘 모두에 대해 본원에 개시된 개념들의 특징인 것으로 믿어지는 특성들은, 첨부된 도면들과 관련하여 고려될 경우 다음의 설명으로부터 더 양호하게 이해될 것이다. 도면들 각각은 단지 예시 및 설명의 목적을 위해 제공되며, 청구항들의 제한들의 정의로서 제공되지 않는다.
[00012] 본 개시내용의 양상들은 예로서 예시된다. 도면들을 참조하여 다음의 설명이 제공되고, 도면들에서 동일한 참조 번호들은 전체에 걸쳐 동일한 엘리먼트들을 지칭하는데 사용된다. 하나 또는 그 초과의 기술들의 다양한 세부사항들이 본원에 설명되지만, 다른 기술들이 또한 가능하다. 몇몇 예시들에서, 잘 알려진 구조들 및 디바이스들은 다양한 기술들을 설명하는 것을 용이하게 하기 위해 블록도 형태로 도시된다.
[00013] 본 개시내용에 의해 제공된 예들의 속성 및 이점들의 추가적인 이해는 명세서 및 도면들의 나머지 부분들을 참조하여 인지될 수 있고, 도면들에서 동일한 참조 번호들은 몇몇의 도면들 전반에 걸쳐 유사한 컴포넌트들을 지칭하는데 사용된다. 몇몇 예시들에서, 서브-라벨은 다수의 유사한 컴포넌트들 중 하나를 표기하기 위한 참조 번호와 연관된다. 존재하는 서브-라벨에 대한 지정 없이 참조 번호에 대해 참조가 이루어지는 경우, 참조 번호는 모든 그러한 유사한 컴포넌트들을 지칭한다.
[00014] 도 1은 본 개시내용의 특정 양상들에 따른 시스템의 블록도이다.
[00015] 도 2는 본 개시내용의 특정 양상들에 따른, 예시적인 SLAM 시스템에 대한 맵들을 생성하기 위한 흐름도를 예시한다.
[00016] 도 3은 본 개시내용의 특정 양상들에 따른, 시간 t에서의, 유한(finite) 3D 피쳐들을 포함하는 글로벌 SLAM(Global SLAM) 맵 표현을 예시한다.
[00017] 도 4는 본 개시내용의 특정 양상들에 따른, 시간 t+1에서의, 유한 3D 피쳐들 및 무한(infinite) 3D 피쳐들을 포함하는 글로벌 SLAM 맵 표현을 예시한다.
[00018] 도 5는 본 개시내용의 특정 양상들에 따른, 시간 t+2에서의, 유한 3D 피쳐들 및 무한 3D 피쳐들을 포함하는 글로벌 SLAM 맵 표현을 예시한다.
[00019] 도 6은 본 개시내용의 특정 양상들에 따른, 시간 t+3에서의, 유한 3D 피쳐들 및 무한 3D 피쳐들을 포함하는 글로벌 SLAM 맵 표현을 예시한다.
[00020] 도 7은 본 개시내용의 특정 양상들에 따른, 시간 t+4에서의, 유한 3D 피쳐들 및 무한 3D 피쳐들을 포함하는 글로벌 SLAM 맵 표현을 예시한다.
[00021] 도 8은 본 개시내용의 특정 양상들에 따른, 시간 t+5에서의, 유한 3D 피쳐들 및 무한 3D 피쳐들을 포함하는 글로벌 SLAM 맵 표현을 예시한다.
[00022] 도 9는 본 개시내용의 특정 양상들에 따른, 예시적인 병진 SLAM 모듈의 양상들을 예시하는 블록도이다.
[00023] 도 10은 본 개시내용의 하나 또는 그 초과의 양상들에 따른 방법을 수행하기 위한 흐름도를 예시한다.
[00024] 수 개의 예시적인 실시예들이 본원의 일부를 형성하는 첨부된 도면들에 관하여 이제 설명될 것이다. 본 개시내용의 하나 또는 그 초과의 양상들이 구현될 수 있는 특정한 실시예들이 아래에 설명되지만, 본 개시내용의 범위 또는 첨부된 청구항들의 사상으로부터 벗어나지 않으면서, 다른 실시예들이 사용될 수 있고 그리고 다양한 변형들이 이루어질 수도 있다.
[00025] 수 개의 예시적인 실시예들이 본원의 일부를 형성하는 첨부된 도면들에 관하여 이제 설명될 것이다. 본 개시내용의 하나 또는 그 초과의 양상들이 구현될 수 있는 특정한 실시예들이 아래에 설명되지만, 본 개시내용의 범위 또는 첨부된 청구항들의 사상으로부터 벗어나지 않으면서, 다른 실시예들이 사용될 수 있고 그리고 다양한 변형들이 이루어질 수도 있다.
[00026] 단어 "예시적인" 또는 "예"는, "예, 예시, 또는 예증으로서 기능하는 것"을 의미하도록 본원에서 사용된다. "예시적인" 것으로서 또는 "예"로서 본원에 설명된 임의의 양상 또는 실시예는, 다른 양상들 또는 실시예들에 비해 반드시 바람직하거나 유리한 것으로서 해석되지는 않아야 한다.
[00027] 본 개시내용의 양상들은, 시각적 SLAM(VSLAM) 및 에어본 C-VSLAM(Airborne Cooperative Visual Simultaneous Localization and Mapping)과 같은 SLAM(Simultaneous Localization and Mapping) 시스템들에 관한 것이지만 이에 제한되지 않는다. SLAM 시스템들은, 카메라가 이동함에 따라서, 단일 카메라의 입력을 프로세싱하고 그리고 환경의 맵(모델로 또한 알려져 있음)을 연속적으로 구축할 수 있다. 환경의 맵은, 환경의 특정 양상들, 이를테면 3차원(3D) 피쳐들을 표현할 수 있다. 시각적 SLAM 시스템들은 맵에 관한 카메라의 포지션 및 배향(포즈)을 동시에 추적하도록 구성될 수 있다. 특정한 최적화된 SLAM 시스템들은, 추적을 맵핑으로부터 디커플링(decouple)시키고 그리고 이들 태스크들을 비동기식으로 구동할 수 있다. 특정 구현들에서, 추적 및 맵핑 기능들은, 멀티-코어 프로세서들 상에서 병렬로 실행될 수 있는 별개의 프로세싱 스레드들을 사용하여 수행될 수 있다. 키프레임-기반 SLAM 시스템들은, 착신(incoming) 카메라 이미지 스트림 또는 비디오 피드(feed)로부터 프레임들을 불연속적으로(discretely) 선택하고, 그들 프레임들을 (예컨대, 맵을 확장하기 위해) 맵핑 및 추적에 대해 사용한다. 그러한 불연속적으로 선택된 카메라 이미지 프레임들은 키프레임들로서 지칭될 수 있다.
[00028] 6DOF(six degrees of freedom)에 대한 SLAM 시스템들은, 일반 카메라 모션(병진 및 선택적으로 회전을 포함하는 모션)을 가정하고, 3D 피쳐 맵들을 생성하기 위해 모션으로부터의 구조(structure-from-motion) 기술들을 적용한다. 모션으로부터의 구조 기술들은, 2-차원 키프레임들로부터 환경에 관한 3D 정보를 추출하는 것을 포함할 수 있다. 다수의 카메라 관점(viewpoint)들의 관측들로부터의 3D 맵 피쳐들의 강건한 삼각측량은, 병진 또는 일반 카메라 모션에 의해 유도되는 충분한 시차를 요구한다. 시차 각은, 2개의 관점들 간의 디바이스의 병진 모션에 의해 유도되는 2개의 관점들 사이의 각이다. 본원에 설명되는 바와 같이, 6DOF 모션 및 일반 모션은, 본 개시내용의 범위를 벗어남이 없이 상호교환가능하게 사용될 수 있다.
[00029] 대조적으로, 파노라마 SLAM 시스템들은, 회전-한정 카메라 모션을 가정하고 그리고 3DOF(three degrees of freedom)에서 카메라를 추적한다. 어떠한 시차도 관측되지 않기 때문에, 피처 포인트들이 삼각측량되지 않고, 결과로서, 깊이 정보가 없는 피쳐들 또는 레이(ray)들로서만 설명될 수 있다. 본원에 설명되는 바와 같이, 그러한 레이 포인트 피쳐들은 무한 피쳐들로 지칭되고, 깊이 정보를 포함하는 6DOF SLAM으로부터의 3D 포인트 피쳐들은 유한 피쳐들로 호칭된다. 본원에 설명되는 바와 같이, 파노라마 SLAM은 3DOF SLAM으로서 지칭될 수 있고, 파노라마 회전은 3DOF 회전으로서 지칭될 수 있으며, 본 개시내용의 범위를 벗어남이 없이 상호교환가능하게 사용될 수 있다.
[00030] 비제약형 SLAM(USLAM; Unconstrained SLAM) 시스템들은 일반 및 회전-한정 카메라 모션 둘 모두를 핸들링(handle)한다. 현재 카메라 모션에 의존하여, 이들 SLAM 시스템들은 모션-기초-구조 또는 파노라마 추적 및 맵핑 기술들 중 어느 하나를 적용하며, 일 세트의 3D 및 파노라마 맵들이 초래된다. 일반 카메라 모션은, 풀 6DOF에서 카메라를 추적하는 것을 허용하는 유한 깊이를 갖는 피쳐들로 이루어지는 3D 맵들로 맵핑된다. 대조적으로, 회전-한정 카메라 모션은, 오직 3DOF 회전으로써 카메라를 추적하는 것을 허용하는 무한 깊이를 갖는 피쳐들로 이루어지는 파노라마 맵들로 맵핑된다. USLAM은 하이브리드 SLAM(HSLAM; Hybrid SLAM)으로서 또한 지칭될 수 있으며, 이들 용어들은 본 개시내용의 범위를 벗어남이 없이 본 명세서 전체에 걸쳐 상호교환가능하게 사용될 수 있다.
[00031] USLAM 맵핑 및 추적은, 사용자에 의해 수행되는 카메라 모션에 의존하여, 사용자가 일반 모션과 순수-회전(pure-rotation) 모션 사이에서 끊김없이(seamlessly) 스위칭하게 한다. 일 실시예에서, USLAM 맵핑은, 3차원(3D) 맵의 새로운 부분들을 추정하기 위해 6DOF 및 파노라마 키프레임들을 이용한다. 6DOF와 파노라마 정보를 결합시키는 그러한 맵은, 글로벌 SLAM 맵으로서 지칭될 수 있다. 따라서, 글로벌 SLAM 맵은, 하나 또는 그 초과의 일반 모션 맵들 및 파노라마 맵들의 컨테이너(container)로서 설명될 수 있다. 글로벌 SLAM 맵은 또한, 하이브리드 맵으로 지칭될 수 있고, 이는 본 개시내용의 범위로부터 벗어남이 없이 글로벌 SLAM 맵과 상호교환가능하게 사용될 수 있다.
[00032] USLAM 시스템들은 통상적으로, 가능할 때마다 일반 모션 맵들과 파노라마 맵들을 공통 좌표 시스템(공통 스케일을 포함함)을 갖는 더 큰 맵들로 병합시키는 것을 목적으로 한다. 예를 들어, USLAM 시스템은, 맵 쌍(pair) 간의 충분한 오버랩(overlap)으로 일반 모션 맵들 및 파노라마 맵들을 병합시킬 수 있다. 일반적으로, 글로벌 SLAM 맵은 통상적으로, 연결되지 않은 수 개의 맵들을 포함할 수 있으며, 개별적인 3D/파노라마 맵들 간의 공간적 변환들이 알려지지 않는다는 것(또는 오직 부분적으로 알려짐)을 의미한다.
[00033] 본 개시내용의 특정 양상들에 따르면, 파노라마 SLAM 모드에서 동작하고 있는 디바이스는 병진 모션을 경험할 수 있다. 특정 예시들에서, 병진 모션은, 디바이스의 사용자에 의한 의도하지 않은 모션(이를테면, 패닝(panning))의 결과일 수 있다. 종래에, 그러한 병진 모션은 파노라마 SLAM에서 피쳐들을 추적하는 것의 에러 및 손실을 초래했다.
[00034] 본 개시내용의 양상들은, 병진 모션을 강건하게 검출하고 회전-한정 모션 모드와 일반 모션 모드, 및 대응하는 파노라마(panoramic)/3D 추적 및 맵핑 모드들 사이에서 전환하기 위한 기술들을 설명한다. 부정확한 전환들은, 잘못 측정된 피쳐들로 3D 및 파노라마 맵들 둘 모두에 오류를 일으켜서 추적 실패를 유발할 수 있다. 모델 선택 알고리즘과 같은 기존의 비전-한정 방법들과 대조적으로, 본 개시내용의 양상들은, 관성(자이로스코프, 가속도계), 자기(나침반), 비전(카메라) 또는 임의의 다른 센서들을 포함하는 하나 또는 그 초과의 센서들을 사용한다.
[00035] 아래에 더 상세히 설명되는 바와 같이, 특정 양상들에서, USLAM 시스템은, 씬의 맵핑된 파트로부터 벗어나는 회전들을 핸들링하도록 구성된다(6DOF로부터 파노라마 맵핑으로의 전환으로 또한 알려져 있음). 이들 회전들이 검출되고, 무한 피쳐들을 포함하는 파노라마 맵들을 구축하기 위해 사용되는 특수 "파노라마"(3DOF로 또한 알려져 있음) 키프레임들이 선택된다. 파노라마 맵들은 3D 맵의 일부로서 등록된다. 몇몇 예시들에서, 파노라마 키프레임들은, 카메라가 씬의 맵핑된 파트로부터 벗어나게 회전하는 경우, 마지막 일반 모션 키프레임을 파노라마 맵들을 구축하기 위한 베이스(base)로서 사용한다.
[00036] USLAM 시스템은 파노라마 맵으로부터 다른 3D 맵으로의 전환을 지원한다. 씬의 맵핑된 파트로부터 벗어나는 카메라 병진은, 비전 및 모션 센서 포즈들을 비교함으로써 검출되고, (다른 3D 맵들과 상반되는) 새로운 3D 맵의 초기화가 후속되며, 이는 글로벌 SLAM 맵에 부가된다.
[00037] 특히, 3DOF 회전 모션 모델을 사용하여 카메라가 파노라마 맵으로부터 추적되는 동안, 회전-한정으로부터 일반 모션으로의 전환들을 검출하기 위한 기술들이 설명된다. 2개의 카메라 관점들 사이에서 검출되는 병진 모션의 검출은, 이미지 프로세싱 기술들 및 센서들을 사용하여 포착되는 회전 각을 비교함으로써 수행될 수 있다. 이미지 프로세싱을 사용하여 검출되는 회전 각(비전-기반 회전 모션 각으로 또한 지칭됨)은, 병진 모션으로 인해 도입되는 가상 각 컴포넌트를 포함할 수 있다. 반면에, 센서들로부터의 회전 각(센서-기반 회전 모션 각으로 또한 지칭됨)은, 2개의 카메라 뷰(view)들 간의 디바이스의 실제(또는 거의 실제) 회전을 표현한다. 병진 모션에 의해 도입되는 2개의 관점들 사이의 각인 시차 각은, 비전-기반 회전 모션 각과 센서-기반 회전 모션 각을 비교함으로써 계산될 수 있다. 시차 및 커버리지 경험칙(heuristic)들을 사용하여 키프레임들이 선택될 수 있다. 시차 각은 병진 모션 및 씬 깊이의 베이스라인(baseline)에 의존하며, 따라서, 병진 모션을 결정하는데 사용될 수 있다. 2개의 뷰들 사이의 결정된 병진 모션은, 2개의 뷰들에서 공통적으로 관측되는 피쳐들을 삼각측량하기 위해 사용되며, 그에 따라, 피쳐들의 깊이가 결정된다. 2개의 카메라 뷰들은 6DOF 키프레임들로서 선택되고, 삼각측량된 유한 피쳐들과 함께 새로운 3D 맵에 부가된다. 차례로, 새로운 3D 맵은 글로벌 SLAM 맵에 부가된다. 따라서, 시차 각을 신뢰가능하게 결정하는 것은, 풀 6DOF에서 카메라를 연속적으로 추적하는 것을 허용하는 새로운 3D 맵의 강건한 초기화를 허용한다.
[00038] 본원에 설명되는 기술들은, 파노라마 SLAM 모드에서 동작하는 동안 검출되는 병진 모션을 사용하여 글로벌 SLAM 맵을 부가적인 6DOF 맵들로 파퓰레이팅(populate)하는 것을 가능하게 하며, 글로벌 SLAM 맵의 품질을 향상시킨다. 또한, 기술들은, 병진 모션을 적절히 검출하고 그리고 계속해서 6 DOF SLAM을 사용하여 추적함으로써, 파노라마 SLAM 모드에서의 병진 모션으로 인한 피쳐들의 추적에 대한 손실을 방지할 수 있다.
[00039] 도 1은 본 개시내용의 양상들이 실시될 수 있는 시스템을 예시하는 블록도이다. 시스템은, 하나 또는 그 초과의 범용 프로세서들(161), 이미지 프로세싱 모듈(171), 추적 모듈(181), 맵핑 모듈(180)(6DOF SLAM 모듈(173), 3DOF SLAM 모듈(175), 및 맵핑 모드 스위칭 모듈(179)을 포함함), 및 메모리(164)를 포함할 수 있는 디바이스(100)일 수 있다. 디바이스(100)는 또한, 소프트웨어 인터페이스들, 하드웨어 인터페이스들, 또는 이들의 몇몇 결합을 통해 직접적으로 또는 간접적으로 중 어느 하나로 추적 모듈(181), 이미지 프로세싱 모듈(171), 및 맵핑 모듈(180)(6DOF SLAM 모듈(173), 3DOF SLAM 모듈(175), 및 맵핑 모드 스위칭 모듈(179))을 커플링시키는 하나 또는 그 초과의 버스들(177) 또는 신호 라인들을 포함할 수 있다. 모듈들(170, 171, 173, 175, 179, 180 및 181)은 명확화를 위해 프로세서(161) 및/또는 하드웨어(162)와 별개로 예시되지만, 소프트웨어(165) 및 펌웨어(163)의 명령들에 기초하여 프로세서(161) 및/또는 하드웨어(162)로 결합 및/또는 구현(또는, 프로세서(161) 및/또는 하드웨어(162) 상에서 실행)될 수 있다. 제어 유닛(160)은, 아래에 설명되는 바와 같이 USLAM을 수행하기 위한 방법들을 구현하도록 구성될 수 있다. 예를 들어, 제어 유닛(160)은, 도 2-10에서 설명되는 모바일 디바이스(100)의 기능들을 구현하도록 구성될 수 있다. 특정 실시예들에서, 소프트웨어(165) 또는 펌웨어(163) 명령들은 비-일시적인 컴퓨터 판독가능 매체 상에 저장될 수 있다.
[00040] 디바이스(100)는, 모바일 디바이스, 무선 디바이스, 셀 폰, 증강 현실 디바이스(AR), 개인 휴대 정보 단말, 웨어러블 디바이스(예컨대, 안경, 손목시계, 헤드 웨어, 헤드 장착형 디바이스(HMD; head mounted device), 또는 유사한 신체 부착 디바이스), 모바일 컴퓨터, 태블릿, 개인용 컴퓨터, 랩탑 컴퓨터, 데이터 프로세싱 디바이스/시스템, 또는 프로세싱 능력들을 갖는 임의의 타입의 디바이스일 수 있다.
[00041] 일 실시예에서, 디바이스(100)는 모바일/휴대용 플랫폼이다. 디바이스(100)는, 카메라(114)와 같은 이미지를 캡쳐하기 위한 수단을 포함할 수 있고, 가속도계들, 자이로스코프들, 전자 나침반, 또는 다른 유사한 모션 감지 엘리먼트들과 같은 모션 센서들(111)을 또한 포함할 수 있다. 그러한 모션 센서들(111)은, 모바일 디바이스(100)와 연관된 센서-기반 회전 모션 각 및 그 결과로서 병진 모션을 결정하기 위해 사용될 수 있다.
[00042] 디바이스(100)는 또한, 전방 또는 후방 카메라(예컨대, 카메라(114)) 상에서 이미지들을 캡쳐할 수 있다. 디바이스(100)는, 디스플레이(112)를 통해서와 같이, 증강 현실 이미지를 디스플레이하기 위한 수단을 포함하는 사용자 인터페이스(150)를 더 포함할 수 있다. 사용자 인터페이스(150)는 또한, 사용자가 디바이스(100)에 정보를 입력할 수 있는 가상의 또는 물리적 키보드, 키패드(152), 또는 다른 입력 디바이스를 포함할 수 있다. 원한다면, 터치 스크린/센서를 갖는 디스플레이(112)에 가상 키패드를 통합시키는 것은 키보드 또는 키패드(152)를 제거할 수 있다. 사용자 인터페이스(150)는 또한, 예를 들어, 디바이스(100)가 셀룰러 텔레폰과 같은 모바일 플랫폼이면, 마이크로폰(154) 및 스피커(156)를 포함할 수 있다. 디바이스(100)는, 위성 포지션 시스템 수신기, 전력 디바이스(예컨대, 배터리)와 같은 본 개시내용에 관련되지 않은 다른 엘리먼트들뿐만 아니라 휴대용 및 비-휴대용 전자 디바이스들과 통상적으로 연관되는 다른 컴포넌트들을 포함할 수 있다.
[00043] 디바이스(100)는, 모바일 또는 무선 디바이스로서 기능할 수 있고, 그리고 임의의 적합한 무선 통신 기술에 기초하거나 또는 그렇지 않으면 이를 지원하는 무선 네트워크를 통해서 하나 또는 그 초과의 무선 통신 링크들을 경유하여 통신할 수 있다. 예를 들어, 몇몇 양상들에서, 디바이스(100)는 클라이언트 또는 서버일 수 있고, 무선 네트워크와 연관될 수 있다. 몇몇 양상들에서, 네트워크는 인체 영역 네트워크 또는 개인 영역 네트워크(예컨대, 초-광대역 네트워크)를 포함할 수 있다. 몇몇 양상들에서, 네트워크는 로컬 영역 네트워크 또는 광역 네트워크를 포함할 수 있다. 무선 디바이스는, 예를 들어, 3G, LTE, Advanced LTE, 4G, CDMA, TDMA, OFDM, OFDMA, WiMAX, 및 Wi-Fi와 같은 다양한 무선 통신 기술들, 프로토콜들, 또는 표준들 중 하나 또는 그 초과를 지원하거나 또는 그렇지 않으면 사용할 수 있다. 유사하게, 무선 디바이스는 다양한 대응하는 변조 또는 멀티플렉싱 방식들 중 하나 또는 그 초과를 지원하거나 또는 그렇지 않으면 사용할 수 있다. 모바일 무선 디바이스는 다른 모바일 디바이스들, 셀 폰들, 다른 유선 및 무선 컴퓨터들, 인터넷 웹 사이트들 등과 무선으로 통신할 수 있다.
[00044] 위에 설명된 바와 같이, 디바이스(100)는 휴대용 전자 디바이스(예컨대, 스마트 폰, 전용 증강 현실(AR) 디바이스, 게임 디바이스, 또는 AR 프로세싱 및 디스플레이 능력들을 갖춘 다른 디바이스)일 수 있다. 본원에 설명된 AR 시스템을 구현하는 디바이스는 다양한 환경들(예컨대, 쇼핑 몰들, 거리들, 사무실들, 집들, 또는 사용자가 그들의 디바이스를 이용할 수 있는 어느 곳이든)에서 사용될 수 있다. 사용자들은 광범위하게 다양한 상황들에서 그들의 디바이스(100)의 다수의 피쳐들과 인터페이싱할 수 있다. AR 컨텍스트(context)에서, 사용자는 그들의 디바이스의 디스플레이를 통해 현실 세계의 표현을 뷰잉하기 위해 그들의 디바이스를 사용할 수 있다. 사용자는, 현실 세계 이미지들/비디오를 수신하기 위해 그들의 디바이스의 카메라를 사용함으로써 그들의 AR 가능 디바이스와 상호작용할 수 있고, 그리고 부가적인 또는 대안적인 정보를 디바이스 상에서 디스플레이된 현실 세계 이미지들/비디오 상으로 겹치게 하는(superimpose) 방식으로 이미지들을 프로세싱할 수 있다. 사용자가 그들의 디바이스 상에서의 AR 구현을 뷰잉함에 따라서, 현실 세계 오브젝트들 또는 씬들은 디바이스 디스플레이 상에서 실시간으로 교체되거나 또는 변경될 수 있다. 가상 오브젝트들(예컨대, 텍스트, 이미지들, 비디오)은 디바이스 디스플레이 상에서 도시된 씬의 표현으로 삽입될 수 있다.
[00045] 본 개시내용의 양상들에 따르면, USLAM 시스템(170)은, 비-일시적인 컴퓨터 판독가능 매체로부터 리트리브(retrieve)되는 명령들을 사용하여 실행될 수 있다. 일 구현에서, 명령들은 소프트웨어(165)로서 메모리(164)에 저장된다. 명령들은 하나 또는 그 초과의 프로세서들(161)을 사용하여 실행될 수 있다.
[00046] 특정 실시예들에서, USLAM 시스템(170)의 컴포넌트들은, (1) 맵핑 모듈(180), (2) 추적 모듈(181), 및 (3) 맵핑 모듈(180) 및 추적 모듈(181)에 의해 공유되는 글로벌 SLAM 맵 데이터 구조를 포함할 수 있다. 게다가, USLAM 시스템(170)은 이미지 프로세싱 모듈(171)을 포함할 수 있다.
[00047] 일 실시예에서, USLAM 시스템(170)은, 유한 및 무한 피쳐들을 갖는 맵들의 데이터베이스로서 구현될 수 있는 글로벌 SLAM 맵을 유지한다. 글로벌 SLAM 맵(166)의 부분들은 메모리(165)에서 버퍼링(buffer)될 수 있다. 맵 데이터베이스는 다수의 3D 맵들을 포함할 수 있다. 특정 구현들에서, 임의의 주어진 시점에서, 3D 맵들 중 오직 하나만이 액티브(active)일 수 있다.
[00048] 추적 모듈(181)은, 프레임-레이트(frame-rate)로 카메라로부터의 비디오 스트림을 프로세싱하고, 액티브 3D 맵에 관하여 일반 및 회전-한정 카메라 모션 둘 모두를 추적한다. 단일화된(unified) 포즈 추정기는, 유한 및 무한 3D 맵 피쳐들 둘 모두의 측정치들을 결합하여, 6DOF 또는 3DOF 포즈 중 어느 하나를 자동적으로 컴퓨팅한다. 6DOF 포즈들은, 3D 맵에 관한 카메라 이미지의 3DOF 회전(배향으로 또한 알려져 있음) 및 3DOF 포지션(병진으로 또한 알려져 있음)을 결정한다. 3DOF 포즈들은 단지 3D 맵에 관한 3DOF 회전만을 결정한다. 특정 구현들에서, 추적 모듈(181)은 또한, 맵핑 모듈(180)로 전달되는 키프레임들을 선택한다. 컴퓨팅된 포즈의 DOF 카운트(count)에 대응하게, 이들 키프레임들은 6DOF 키프레임들 또는 3DOF 키프레임들 중 어느 하나로서 지칭될 수 있다.
[00049] 맵핑 모듈(180)은, 추적 모듈(181)에 의해 선택되는 6DOF 및 파노라마 키프레임들에 기초하여 글로벌 SLAM 맵을 확장 및 정교화(refine)할 수 있다. 키프레임들은 시차 및 커버리지 경험칙들을 사용하여 선택될 수 있다. 시차는, 공통으로 뷰잉되는 씬 지오메트리(geometry)(유한 3D 맵 피쳐들로 또한 알려져 있음) 상에서의 2개의 카메라 프레임들의 뷰잉 방향들 사이(예컨대, 현재 프레임과 기존 키프레임 사이)의 각이다. 커버리지는 유한 피쳐 프로젝션(projection)들로 커버되는 프레임 영역 비(ratio)이다.
[00050] 맵핑 모듈(180)은, 6DOF SLAM 모듈(173), 파노라마 SLAM 모듈(175), 및 맵핑 모드 스위칭 모듈(179)을 포함할 수 있다. 6DOF SLAM 모듈(173) 및 파노라마 SLAM 모듈(175) 둘 모두는 메모리(164)에 저장된 글로벌 SLAM 맵(166)에 액세스할 수 있고 그리고 글로벌 SLAM 맵(166)을 업데이트할 수 있다.
[00051] 몇몇 실시예들에서, 6DOF SLAM 모듈(173)은 캡쳐된 이미지들로부터 유한 피쳐들을 갖는 키프레임들을 생성할 수 있다. 6DOF SLAM 모듈(173)은, 글로벌 SLAM 맵과 이미 연관된 이전 키프레임들로부터의 임계 병진을 캡쳐된 이미지가 충족한다는 것을 결정할 시에 키프레임을 생성할 수 있다. 위에 논의된 바와 같이, 6DOF SLAM 모듈(173)은, 2개 또는 그 초과의 키프레임들(예컨대, 키프레임 쌍, 또는 일 쌍의 키프레임들을 초과하는 키프레임들)로부터 삼각측량되는 3D 피처 포인트들을 포함할 수 있는 맵들을 생성할 수 있고, 맵을 글로벌 SLAM 맵(165)에 삽입할 수 있다.
[00052] 특정한 다른 실시예들에서, 파노라마 SLAM 모듈(175)은 무한 피쳐들을 갖는 파노라마 맵을 생성한다. 특정한 다른 실시예들에서, 파노라마 SLAM 모듈(175)은 또한, 다수의 캡쳐된 이미지들을 회전-한정 카메라 모션을 이용하여 취해진 이미지들의 결합형 집합(cohesive collection)으로 함께 스티칭(stitche)할 수 있다. 3DOF SLAM(예컨대, 파노라마 SLAM 모듈(175)에 의해 회전 추적)을 사용하는 USLAM 시스템(170)은, 6DOF SLAM의 6DOF(즉, 6DOF SLAM 모듈(173)에 의해 계산된 것)와 비교할 경우 3 회전자유도(three rotational degrees of freedom)(3DOF)를 계산할 수 있다. 파노라마 SLAM 모듈(175)은, 상대적인 회전들을 사용하여 회전 키프레임들을 서로 관련시킬 수 있다. USLAM 시스템(170)은, 최소 임계 시차 또는 병진이 충족하지 않는 경우, 피쳐 포인트 삼각측량을 우회(bypass) 또는 스킵(skip)할 수 있다. 예를 들어, 이전 키프레임들 이후로 카메라의 포지션이 변경되지 않았고 오직 순수 회전만이 발생하는 경우에, 최소 임계 시차 또는 병진이 충족되지 않을 것이기 때문이다.
[00053] 본 개시내용의 특정 양상들은, 파노라마 SLAM 모드에서 동작하는 동안 카메라의 움직임에서의 병진 모션을 검출하는 것에 기초하는 단안(monocular) VSLAM을 위한 기술들을 설명한다. 병진 모션은 모션 센서들(111)로부터의 회전 모션을 사용하여 계산될 수 있다. 모션 센서들(111)은, 가속도계, 자이로스코프 등과 같은 관성 센서들, 및 자력계 등과 같은 자기 센서들을 포함할 수 있다. 더욱이, 모션 센서들은 또한, 모션을 결정하기 위한 카메라 센서들 및 연관된 하드웨어 및/또는 소프트웨어 로직을 포함할 수 있다. 파노라마 SLAM을 수행하는 동안 병진 모션을 검출하는 것에 기초하여, 6DOF 키프레임들 및 유한 맵 피쳐들로 이루어지는 새로운 3D 맵이 초기화될 수 있으며, 6DOF SLAM으로의 스위치 및 새로운 3D 맵에 관한 카메라의 연속적인 추적이 초래된다.
[00054] 특정 실시예들에 따르면, 병진 모션의 검출은, 맵핑 모드 스위칭 모듈(179)에 의해 수행된다. 2개의 카메라 뷰들 사이에서의 병진 모션의 검출은, 이미지 프로세싱 기술들 및 센서들을 사용하여 포착되는 회전 각을 비교함으로써 수행될 수 있다. 이미지 프로세싱을 사용하여 검출되는 회전 각(비전-기반 회전 모션 각으로 또한 지칭됨)은, 병진 모션으로 인해 도입되는 가상 각 컴포넌트를 포함할 수 있다. 반면에, 센서들로부터의 회전 각(센서-기반 회전 모션 각으로 또한 지칭됨)은, 2개의 카메라 뷰들 사이에서의 디바이스의 실제 회전을 표현한다. 병진 모션에 의해 도입되는 2개의 관점들 사이의 각인 시차 각은, 비전-기반 회전 모션 각과 센서-기반 회전 모션 각을 비교함으로써 계산될 수 있다. 후속하여, 시차 각을 사용하여 병진 모션이 계산될 수 있다. 특정 양상들에서, 특정 임계치를 초과하는 병진 모션(시차 각에 의해 표시됨)은, 파노라마 SLAM 맵핑으로부터 6DOF SLAM 맵핑으로 스위칭하기 위한 표시자로서 사용될 수 있다.
[00055] 파노라마 SLAM 맵핑으로부터 6DOF SLAM 맵핑으로의 스위칭(여기서, 병진 모션이 이용가능함)은, 그렇지 않았으면 그들과 연관된 그러한 깊이 정보를 갖지 않았을 포인트 피쳐들에 대해 깊이를 포함시킴으로써, 글로벌 SLAM 맵을 강화시키는 것을 허용한다.
[00056] 도 2는 본 개시내용의 특정 양상들에 따른, 비제약형 SLAM 시스템(170)에 대한 흐름도를 예시한다. 도 2에서, (202 및 204)로 라벨링된 블록들은 3D 맵들을 표현한다. 각각의 3D 맵은, 다수의 파노라마 및 일반 모션 맵들을 포함하는 컨테이너로서 취급될 수 있다. 시스템 시동에서, (a) 적어도 2개의 키프레임들을 사용하는 스테레오 초기화(사용자는 병진/일반 카메라 모션을 수행함), (b) 알려진 추적 타겟에 대한 검출, 또는 임의의 적절한 방법과 같은 하나 또는 그 초과의 초기화 방법들을 사용하여 제 1 3D 맵이 초기화된다(블록 206).
[00057] 후속하여, 사용자에 의해 수행되는 카메라 모션에 의존하여 상이한 맵핑 모드들이 실행될 수 있다. 전반적으로, 일반 카메라 모션의 페이즈(phase)들 동안에는 6DOF SLAM 모듈(173)에 의해 6DOF 맵핑(210)이 실행되고, 순수-회전 카메라 모션의 페이즈들 동안에는 파노라마 SLAM 모듈(175)에 의해 3 DOF 맵핑(112)이 실행된다. 대응하게, 맵핑 엔진은,
a. (비전 기반 방법들을 사용하여) 순수-회전 모션이 검출되는 경우에는 6DOF 맵핑(210)으로부터 3DOF 맵핑(212)으로 전환할 수 있고; 그리고
b. (비전 기반 방법들을 사용하여) 일반 모션이 검출되고 그리고 카메라가 알려진 맵 영역들(이미 3D로 맵핑된 씬의 부분들)을 향하여 이동하는 경우에는 3DOF 맵핑(212)으로부터 6DOF 맵핑(210)으로 전환할 수 있다.
[00058] 특정 예시들에서, (비전 및 모션 센서들을 사용하여) 일반 모션이 검출되고 그리고 카메라가 알려지지 않은 맵 영역들(3D로 맵핑되지 않은 씬의 부분들)을 향하여 이동하는 경우에는, 맵핑 모듈(180)은 3DOF 맵핑(212)으로부터 3D 맵 초기화(208)로 전환한다. 3DOF 맵핑(212)으로부터 3D 맵 초기화(208)로의 전환은 아래에 더 상세히 설명된다.
[00059] 블록들(206, 210, 및 212)에 관해 앞서 설명된 절차와 유사하게, 알려지지 않은 맵 영역에 대해, 3D 맵 초기화(208) 및 (6DOF 및 3DOF) 맵핑이 수행될 수 있다. 새로운 3D 맵(204)이 초기화되고, 맵핑 모듈(180)은, 일반 모션에 대해 6DOF 맵핑(214)을 그리고 순수-회전 모션에 대해 3DOF 맵핑(216)을 수행하고 그리고 전환들이 알려진 맵 영역들 내에 있기만 하면 그 2개 맵핑 사이에서 전환할 수 있다.
[00060] 도 3은, 시간 t에서의, 유한 3D 피쳐들(306)을 포함하는 글로벌 SLAM 맵 표현을 예시한다. 유한 피쳐들은, 6DOF SLAM 모듈(173)에 의해, 검출 및 3D 맵의 일부로서 저장될 수 있다. 블록들(302 및 304)은, 시간에 걸친 카메라의 상이한 포지션들 및 배향들과 연관된 키프레임들을 표현한다. 점선 블록(302)은, 시간 t-1에서 과거에 발생한 키프레임을 표현하는 반면, 실선 블록(304)은 시간 t에서의 현재 프레임을 표현한다. 도 3은, 카메라 포즈가 6DOF 맵핑 내로 완전히 제약되는 동안 일반 카메라 모션에 대한 6DOF 맵핑을 예시한다. 6DOF 키프레임들은, 씬의 새로운 부분을 이미징(imaging)하면서 그들이 기존 키프레임들에 대한 충분한 시차를 생성하는 경우 선택된다. 충분한 시차는 6DOF 맵핑(110)에 대한 강건한 피쳐 삼각측량에 대해 바람직하다. 일 실시예에서, 6DOF 키프레임을 3D 맵 내에 삽입하는 경우, 새로운 유한 맵 피쳐들이 부가된다.
[00061] 도 4는 본 개시내용의 특정 양상들에 따른, 시간 t+1에서의, 유한 3D 피쳐들(306) 및 무한 피쳐들(410)을 포함하는 글로벌 SLAM 맵 표현의 부분을 예시한다.
[00062] 블록들(302, 304, 및 408)은, 시간에 걸친 카메라의 상이한 포지션들 및 배향들과 연관된 키프레임들을 표현한다. 점선 블록들(302 및 304)은, 시간 t-1 및 t에서 과거에 발생한 키프레임들을 표현하는 반면, 실선 블록(408)은 시간 t+1에서의 현재 프레임을 표현한다. 시스템이 순수 회전 카메라 모션을 검출하는 경우, 새로운 파노라마 맵을 구성하고 카메라 모션의 회전 중심을 정의하는 기준 파노라마 키프레임(408)이 선택된다. 기준 파노라마 키프레임(408)은 6DOF 포즈를 가지며, 따라서, 3D 맵에 관해 완전히 로컬라이징(localize)된다는 것을 유의한다. 순수 회전 카메라 모션은, 추적된 6DOF 포즈들의 이력(history)에 기초하여 검출된다. 예를 들어, 현재 프레임들이 6DOF 프레임 이력에 포함된 프레임들에 관해 충분한 각 차이 및 낮은 시차를 나타내면, 순수-회전이 가정될 수 있다. 특정 구현들에서, 기준 파노라마 키프레임을 삽입하는 것의 일부로서, 하나 또는 그 초과의 새로운 무한 맵 피쳐들이 맵에 삽입될 수 있다.
[00063] 도 5는 본 개시내용의 특정 양상들에 따른, 시간 t+2에서의, 유한 3D 피쳐들(306) 및 무한 피쳐들(410)을 포함하는 글로벌 SLAM 맵 표현의 부분을 예시한다. 블록들(302, 304, 408, 및 512)은, 시간에 걸친 카메라의 상이한 포지션들 및 배향들과 연관된 키프레임들을 표현한다. 점선 블록들(302, 304, 및 408)은, 시간 t-1, t, 및 t+1에서 과거에 발생한 키프레임들을 표현하는 반면, 실선 블록은 시간 t+2에서의 현재 프레임(512)을 표현한다.
[00065] 연속적 순수-회전 카메라 모션을 수행하는 동안, 파노라마 모듈(175)은, 낮은 커버리지 및 충분한 회전에 기초하여 종속 파노라마 키프레임들(512)을 계속해서 선택한다. 낮은 커버리지는, 맵핑되지 않은 씬 영역들을 카메라가 계속해서 탐험(explore)한다는 것을 표시한다. 회전은, 현재 파노라마 맵의 현재 프레임과 키프레임 포즈들의 뷰잉 방향들 간의 차이 각(difference angle)으로서 컴퓨팅될 수 있다. 이들 키프레임들은, 이들 키프레임들이 기준 파노라마 키프레임으로부터 자신의 3D 포지션을 채택하므로, 종속 키프레임들로서 지칭된다. 특정 구현들에서, 파노라마 키프레임을 삽입하는 것의 일부로서, 하나 또는 그 초과의 새로운 무한 맵 피쳐들이 3D 맵에 삽입될 수 있다.
[00066] 도 6은 본 개시내용의 특정 양상들에 따른, 시간 t+3에서의, 유한 3D 피쳐들(306) 및 무한 피쳐들(410)을 포함하는 글로벌 SLAM 맵 표현의 부분을 예시한다. 점선 블록들(302, 304) 및 다른 넘버링되지 않은 블록들은 시간 t-1, t, t+1, 및 t+2에서 과거에 발생한 키프레임들을 표현하는 반면, 실선 블록은 시간 t+3에서의 현재 프레임(614)을 표현한다. 도 6에 도시된 바와 같이, 카메라가 파노라마 중심을 벗어나게 이동하고 그리고 풀 6DOF 포즈가 추정될 수 있도록 다시 이미 알려진 3D 맵 영역들을 향하여 이동하면, 시스템은, (도 2를 참조하여 설명된 바와 같이) 이미 개시된 3D 맵(202)에 대한 3DOF 맵핑(212)으로부터 6DOF 맵핑(210)으로 스위칭한다.
[00067] 도 7은 본 개시내용의 특정 양상들에 따른, 시간 t+4에서의, 유한 3D 피쳐들(306) 및 무한 피쳐들(410)을 포함하는 글로벌 SLAM 맵 표현의 부분을 예시한다. 점선 블록들(302, 304, 및 716)은, 시간 t-1, t, t+1, t+2, 및 t+3에서 과거에 발생한 키프레임들을 표현하는 반면, 실선 블록(718)은 시간 t+4에서의 현재 프레임을 표현한다. 카메라 디바이스가 파노라마 중심으로부터 벗어나 알려지지 않은 씬 영역들을 향하여 병진하는 경우, 2개의 키프레임들이 충분한 시차를 제공한다는 것이 발견되자마자 새로운 3D 맵이 초기화된(블록 208).
[00068] 특정 실시예들에서, 디바이스의 카메라 병진은, 기준 키프레임(716)(예컨대, 파노라마 맵의 기준 키프레임) 및 현재 프레임(718) 간의 모션에 대해 비전 및 관성/자기 센서들로부터 독립적으로 그리고 동시에 추정되는 2개의 3DOF 회전들을 비교함으로써 결정된다. 비전 회전(3DOF 포즈로 또한 알려져 있음)은, 파노라마 맵의 무한 피쳐들로부터 추정된다. 파노라마 맵 추적이 병진을 측정하는 것을 허용하지 않으므로, 결과적인 회전 추정은 가상 회전을 포함한다. 모션 센서들로부터 추정되는 센서 3DOF 회전은, 키프레임들(716 및 718) 간의 디바이스의 실제(또는 거의-실제) 회전을 표현한다. 센서-기반 회전 모션 각은, 커스텀 센서 융합 프레임워크(custom sensor fusion framework)를 사용하여 컴퓨팅될 수 있거나 또는 현대 모바일 OS 플랫폼들에 의해 제공되는 API 호(call)들을 사용하여 리트리브될 수 있다.
[00069] 본 개시내용의 양상들에 따르면, 하나 또는 그 초과의 센서들로부터 병진이 직접적으로 추정되지는 않지만, 대신, 회전 모션이 결정되어 이후에 병진 모션을 추정하는데 사용된다. 하나 또는 그 초과의 센서들로부터 직접적으로 도출되는 병진 모션에 의존하지 않음으로써, 본 개시내용의 양상들은 가속도계 드리프트(drift)에 관한 잘-알려진 문제점들을 회피한다. 다시 말해서, 관성/자기 센서들로부터 3DOF 회전을 추정하는 것은, 풀 6DOF 포즈를 추정하는 것보다 더 강건하다.
[00070] 카메라 병진을 결정하기 위해, 맵핑 모드 스위칭 모듈(179)은, 기준 키프레임(716)과 현재 프레임(718) 사이의 회전에 대한 비전 및 센서 3DOF 회전 추정들 간의 차이를 검출할 수 있다. 실험(experiment)들을 사용하여 결정되는 경우, 결과적인 차이 회전 각은, 비전 회전의 추정에 대해 사용되는 이미지 피쳐들의 평균 시차 각에 대략적으로 대응한다. 그 결과, 맵핑 모드 스위칭 모듈(179)은, 3DOF 파노라마식으로부터 6DOF 일반 맵핑 및 추적으로의 전환을 트리거링하기 위한 간편하고 구성가능한 임계 시차 각 오프셋(offset)을 결정할 수 있다. 임계치는, 후속하는 맵 초기화 단계에서 강건한 피쳐 삼각측량을 보장할 수 있다.
[00071] 도 8에서, 시간 t+5에서, 블록(208)에 관해 이전에 설명된 바와 같이, 새로운 3D 맵이 초기화될 수 있다. 일단 전환이 트리거링되었으면, 6DOF에서 카메라 디바이스의 연속적인 추적을 허용하는 새로운 3D 맵이 상이한 뷰들로부터 생성된다. 새로운 3D 맵은, 2D 관측들로부터의 유한 3D 피쳐들을 삼각측량함으로써 일 쌍의 키프레임들(예컨대, 회전 비교를 위해 사용되는 기준 프레임 및 현재 프레임)로부터 초기화된다. 이러한 태스크(task)를 위해, 임의의 스테레오 초기화 방법(예컨대, 5-포인트 알고리즘과 결합된 넓은-베이스라인(wide-baseline) 매칭)이 사용될 수 있다. "새로운" 3D 맵(갈지자형)(720) 및 "예전(old)" 3D 맵(갈지자형)(306)은 별개일 수 있다는 것이 유의되어야 한다. 2개의 맵들 간의 공간적 변환은 단지 부분적으로 알려져 있을 수 있는데, 예컨대, 2개의 3D 맵들 각각의 별개의 스케일을 가질 수 있다. 새로운 3D 맵(720)은 글로벌 SLAM 맵에 부가되고, "액티브"로 셋팅된다. 블록(822)에 의해 표시된 바와 같은 부가적인 일반 모션은, 유한 3D 피쳐들로 새로운 3D 맵(720)을 추가적으로 정교화하는데 사용될 수 있다.
[00072] 도 9는 본 개시내용의 특정 양상들에 따른, 예시적인 병진 SLAM 모듈의 양상들을 예시하는 블록도이다. 맵핑 모드 스위칭 모듈(179)은, 비전-기반 회전 모션 결정기 모듈(902), 센서-기반 회전 각 결정기 모듈(904), 시차 각 결정기 모듈(906), 병진 모션 결정기 모듈(908), SLAM 스위칭 모듈(910), 및 깊이 결정 모듈(912)을 포함할 수 있다. 맵핑 모드 스위칭 모듈(179)의 컴포넌트들은, 이미지 프로세싱 모듈(171), 모션 센서 모듈(111), 3DOF SLAM 모듈(175), 및 6DOF SLAM 모듈(173)에 커플링될 수 있다. 도 9에 설명되는 모듈들은, 도 1에 설명된 컴포넌트들, 이를테면, (소프트웨어(165) 및 펌웨어(163) 내의 명령들에 기초하여) 프로세서(161) 및/또는 하드웨어(162)를 사용하여 구현되고 그리고/또는 그와 결합될 수 있다. 특정 실시예들에서, 소프트웨어(165) 또는 펌웨어(163) 명령들은 비-일시적인 컴퓨터 판독가능 매체 상에 저장될 수 있다.
[00073] 특정 구현들에서, 회전-한정 모드에서 동작하는 동안, 이미지 프로세싱 모듈(171)은 추가적인 프로세싱을 위해 수 개의 이미지들 또는 키프레임들을 카메라(114)로부터 포착할 수 있다. 도 1의 추적 모듈(181)은, 키프레임들을 사용하여 파노라마 맵에 대하여 디바이스를 추적할 수 있다. 게다가, 맵핑 모듈(180)은, 부가적인 무한 피쳐들을 검출하고 이들 피쳐들을 3D 맵에 삽입할 수 있다.
[00074] 비전-기반 회전 모션 결정기(902)는, 이미지 프로세싱 모듈(171)로부터 키프레임들을 수신하고 그리고 이미지 프로세싱 기술들을 사용하여 2개의 키프레임들 사이에서 디바이스에 의해 경험되는 회전에 대한 비전-기반 회전 모션 각을 결정할 수 있다. 디바이스에 의해 경험되는 병진 모션으로 인한 부가적인 회전 각 컴포넌트(가상 각으로서 지칭됨)는, 비전-기반 회전 모션 각의 일부로서 인코딩될 수 있다. 본질적으로, 파노라마 모드에 있는 동안, SLAM 시스템은 오직 회전-모션만을 예상하고 그리고 오직 회전 모션만이 디바이스에 의해 경험되고 있다는 것을 가정하여 비전-기반 회전 모션 각을 계산한다. 따라서, 임의의 병진 모션은 비전-기반 회전 모션의 일부로서 잘못 인코딩된다. 특정 예시들에서, 병진 모션은, 파노라마 SLAM 모드에서 사용자가 행한 의도하지 않은 패닝에 기인할 수 있다.
[00075] 병행하여, 센서-기반 회전 모션 결정기(904)는, 비전-기반 회전 모션 각이 계산되는 동일한 기간에 대한 센서-기반 회전 모션 각을 결정할 수 있다. 예를 들어, 비전-기반 회전 모션 각이 일 키프레임 쌍(기준 키프레임 및 현재 키프레임을 포함함)에 대해 계산되면, 기준 키프레임 및 현재 키프레임들이 포착되었던 시간에 대한 센서 판독들을 사용하여 센서-기반 회전 모션 각이 또한 계산된다. 센서-기반 회전 모션 각은, 키프레임들 간의 디바이스에 대한 실제(또는 실제에 근접한) 회전 각을 표현한다.
[00076] 시차 각 결정기 모듈(906)은, 센서-기반 회전 모션 각과 비전-기반 회전 모션 각을 비교함으로써 시차 각을 결정한다. 병진 모션에 의해 도입되는 2개의 관점들 사이의 각인 시차 각은 또한, 베이스라인과 씬 깊이 사이의 차이를 표현한다. 특정 실시예들에서, 시차 각은 임계 각에 대해 비교된다. 시차 각이 임계치 미만이거나 또는 동일하면, 시차 각은 잡음으로서 무시될 수 있다.
[00077] 시차 각이 임계치를 초과하면, 병진 모션 결정기 모듈(908)의 일부로서 병진 모션이 결정된다. 병진 모션 결정기 모듈(908)은, 시차 각을 사용하여 병진 모션을 결정한다. 일단 병진 모션이 결정되면, 깊이 결정기 모듈(912)은, 병진 모션을 사용하여 디바이스로부터의 하나 또는 그 초과의 피쳐들에 대한 거리를 삼각측량함으로써, 디바이스에 관한 하나 또는 그 초과의 피쳐들에 대한 깊이를 결정할 수 있다. SLAM 스위칭 모듈(910)은, 맵핑 모듈(180)을 파노라마 SLAM 모듈(175)로부터 6DOF SLAM 모듈(173)로 스위칭할 수 있다. 특정 예시들에서, 카메라가 액티브 3D 맵 영역 외부의 새로운 영역으로 이동하는 경우, 6DOF SLAM(173)으로 스위칭하기 이전에 새로운 3D 맵이 또한 초기화될 수 있다.
[00078] 도 10은 본 개시내용의 하나 또는 그 초과의 양상들에 따른 방법을 수행하기 위한 흐름도를 예시한다. 하나 또는 그 초과의 양상들에 따르면, 도 10에 예시된 흐름도(1000)에서 설명되는 방법들 및/또는 방법 단계들 중 임의의 방법 및/또는 방법 단계 및/또는 그 전부는, 디바이스(100)에 의해서 그리고/또는 디바이스(100)에서 구현될 수 있으며, 디바이스(100)의 컴포넌트들은, 예를 들어, 도 1에 더 상세히 설명된다. 일 실시예에서, 도 10에 관하여 아래에 설명되는 방법 단계들 중 하나 또는 그 초과는, 모바일 디바이스의 프로세서, 이를테면 프로세서(161) 또는 다른 프로세서에 의해 구현된다. 부가적으로 또는 대안적으로, 본원에 설명되는 방법들 및/또는 방법 단계들 중 임의의 방법 및/또는 ㅏㅂㅇ법 단계 및/또는 그 전부는, 컴퓨터-판독가능 매체, 이를테면 메모리(164) 또는 다른 컴퓨터 판독가능 매체 상에 저장되는 컴퓨터-판독가능 명령들과 같은 컴퓨터-판독가능 명령들로 구현될 수 있다.
[00079] 블록(1002)에서, 디바이스의 컴포넌트들은, 복수의 키프레임들 사이의 디바이스에 대한 비전-기반 회전 모션 각을 결정하며, 여기서, 비전-기반 회전 모션 각은 복수의 키프레임들 상에서 이미지 프로세싱을 수행함으로써 결정된다.
[00080] 블록(1004)에서, 디바이스의 컴포넌트들은, 복수의 키프레임들 사이의 디바이스에 대한 센서-기반 회전 모션 각을 결정하며, 여기서, 센서-기반 회전 모션 각은 디바이스에 커플링되는 하나 또는 그 초과의 모션 센서들을 사용하여 결정된다. 하나 또는 그 초과의 센서들은, 디바이스에 내장되는 관성(자이로스코프, 가속도계), 자기(나침반), 및/또는 비전(카메라) 센서들을 포함할 수 있다.
[00081] 블록(1006)에서, 디바이스의 컴포넌트들은, 디바이스에 대한 시차 각을 결정하며, 여기서, 시차 각은 비전-기반 회전 모션 각을 센서-기반 회전 모션 각과 비교함으로써 결정된다. 특정 양상들에서, 제 1 시간에서 포착되는 기준 키프레임과 제 2 시간에서 포착되는 현재 키프레임 사이의 모션에 대해 비전-기반 회전 모션 각 및 센서-기반 회전 모션 각이 검출된다.
[00082] 블록(1008)에서, 디바이스의 컴포넌트들은 시차 각을 임계 값에 대해 비교한다. 임계 값은 구성가능할 수 있다.
[00083] 블록(1010)에서, 디바이스의 컴포넌트들은, 시차 각이 임계 값을 초과하면, 병진 모션을 검출한다. 특정 구현들에서, 시차 각이 임계 값과 동일하거나 또는 그 미만이면, 시차 각에서의 변화는 무시가능한 것으로 결정될 수 있다.
[00084] 블록(1012)에서, 디바이스의 컴포넌트들은, 시차 각을 사용하여 병진 모션을 결정한다. 게다가, 일단 시차 각이 결정되면, 디바이스의 양상들은, 적어도 병진 모션을 사용하여 디바이스로부터의 하나 또는 그 초과의 피쳐들에 대한 거리를 삼각측량함으로써, 디바이스에 관한 하나 또는 그 초과의 피쳐들을 결정할 수 있다.
[00085] 디바이스의 컴포넌트들은 추가로, 적어도 병진 모션을 검출하는 것에 기초하여, 일반 모션 모드에서 디바이스를 추적하기 위해 3차원(3D) 맵을 초기화하는 것을 포함할 수 있다. 디바이스의 컴포넌트들은 또한, 6DOF(six degrees of freedom) SLAM 맵핑으로 스위칭할 수 있다. 일 양상에서, 디바이스를 추적하기 위해 3차원(3D) 맵을 초기화하는 것은, 적어도 병진 모션을 검출하는 것에 기초하는, 2개의 키프레임들을 사용하는 3D 맵의 스테레오 초기화를 포함할 수 있다.
[00086] 도 10에 예시되는 특정 단계들은, 본 개시내용의 양상들에 따른, 동작 모드들 간을 스위칭하는 특정한 방법을 제공한다는 것이 인식되어야 한다. 따라서, 대안적인 실시예들에서는, 다른 시퀀스들의 단계들이 또한 수행될 수 있다. 예를 들어, 대안적인 구현들은, 위에 기술된 단계들을 상이한 순서로 수행할 수 있다. 예시하자면, 사용자는, 제 3 동작 모드로부터 제 1 동작 모드로, 또는 그들 간의 임의의 결합으로 변경하는 것을 선택할 수 있다. 더욱이, 도 10에 예시된 개별적인 단계들은, 개별적인 단계에 적절한 바와 같은 다양한 시퀀스들로 수행될 수 있는 다수의 서브-단계들을 포함할 수 있다. 또한, 부가적인 단계들이 특정한 애플리케이션들에 의존하여 부가되거나 또는 제거될 수 있다. 당업자는, 프로세스에 대한 많은 변경들, 변형들, 및 대안들을 인지 및 인식할 것이다.

Claims (27)

  1. 파노라마(panoramic) SLAM(Simultaneous Localization and Mapping) 모드에서 디바이스를 추적하면서 병진 모션(translational motion)을 검출하기 위한 방법으로서,
    상기 디바이스에 대한 비전-기반 회전 모션 각(vision-based rotational motion angle)을 결정하는 단계 ― 상기 비전-기반 회전 모션 각은, 복수의 키프레임(keyframe)들 상에서 이미지 프로세싱을 수행함으로써 결정됨 ―;
    상기 복수의 키프레임들 간의 상기 디바이스에 대한 센서-기반(sensor-based) 회전 모션 각을 결정하는 단계 ― 상기 센서-기반 회전 모션 각은, 상기 디바이스에 커플링되는 하나 또는 그 초과의 모션 센서들을 사용하여 결정됨 ―;
    상기 디바이스에 대한 시차(parallax) 각을 결정하는 단계 ― 상기 시차 각은, 상기 비전-기반 회전 모션 각과 상기 센서-기반 회전 모션 각을 비교함으로써 결정됨 ―;
    상기 시차 각을 임계 값에 대해 비교하는 단계; 및
    상기 시차 각이 상기 임계 값을 초과하는 것에 기초하여 상기 병진 모션을 검출하는 단계를 포함하는, 파노라마 SLAM 모드에서 디바이스를 추적하면서 병진 모션을 검출하기 위한 방법.
  2. 제 1 항에 있어서,
    적어도 상기 복수의 키프레임들 간의 상기 시차 각을 사용하여 상기 병진 모션을 결정하는 단계를 더 포함하는, 파노라마 SLAM 모드에서 디바이스를 추적하면서 병진 모션을 검출하기 위한 방법.
  3. 제 2 항에 있어서,
    적어도 상기 병진 모션을 사용하여 상기 디바이스로부터의 하나 또는 그 초과의 피쳐(feature)들에 대한 거리를 삼각측량(triangulate)함으로써, 상기 디바이스에 관한 상기 하나 또는 그 초과의 피쳐들에 대한 깊이 정보를 결정하는 단계를 더 포함하는, 파노라마 SLAM 모드에서 디바이스를 추적하면서 병진 모션을 검출하기 위한 방법.
  4. 제 1 항에 있어서,
    적어도 상기 병진 모션을 검출하는 것에 기초하여, 일반 모션 모드에서 상기 디바이스를 추적하기 위해 3차원(3D) 맵을 초기화(initialize)하는 단계를 더 포함하는, 파노라마 SLAM 모드에서 디바이스를 추적하면서 병진 모션을 검출하기 위한 방법.
  5. 제 1 항에 있어서,
    상기 병진 모션을 검출하는 것에 기초하여, 6DOF(six degrees of freedom) SLAM 맵핑으로 스위칭하는 단계를 더 포함하는, 파노라마 SLAM 모드에서 디바이스를 추적하면서 병진 모션을 검출하기 위한 방법.
  6. 제 1 항에 있어서,
    적어도 상기 병진 모션을 검출하는 것에 기초하여, 2개의 키프레임들을 사용하는 3차원(3D) 맵의 스테레오(stereo) 초기화를 사용하여, 상기 디바이스를 추적하기 위해 3D 맵을 초기화하는 단계를 더 포함하는, 파노라마 SLAM 모드에서 디바이스를 추적하면서 병진 모션을 검출하기 위한 방법.
  7. 제 1 항에 있어서,
    상기 비전-기반 회전 모션 각 및 상기 센서-기반 회전 모션 각은, 제 1 시간에서 포착(acquire)되는 기준 키프레임과 제 2 시간에서 포착되는 현재 키프레임 간의 모션에 대해 검출되는, 파노라마 SLAM 모드에서 디바이스를 추적하면서 병진 모션을 검출하기 위한 방법.
  8. 제 1 항에 있어서,
    상기 모션 센서들은, 자이로스코프, 가속도계, 또는 자력계 중 하나 또는 그 초과를 포함하는, 파노라마 SLAM 모드에서 디바이스를 추적하면서 병진 모션을 검출하기 위한 방법.
  9. 파노라마 SLAM(Simultaneous Localization and Mapping) 모드에서 디바이스를 추적하면서 병진 모션을 검출하기 위한 디바이스로서,
    메모리;
    물리적 씬(scene)에 관한 정보를 획득하기 위한, 상기 디바이스에 커플링되는 카메라; 및
    상기 메모리에 커플링되는 프로세서를 포함하며,
    상기 프로세세서는,
    상기 디바이스에 대한 비전-기반 회전 모션 각을 결정하고 ― 상기 비전-기반 회전 모션 각은, 복수의 키프레임들 상에서 이미지 프로세싱을 수행함으로써 결정됨 ―;
    상기 복수의 키프레임들 간의 상기 디바이스에 대한 센서-기반 회전 모션 각을 결정하고 ― 상기 센서-기반 회전 모션 각은, 상기 디바이스에 커플링되는 하나 또는 그 초과의 모션 센서들을 사용하여 결정됨 ―;
    상기 디바이스에 대한 시차 각을 결정하고 ― 상기 시차 각은, 상기 비전-기반 회전 모션 각과 상기 센서-기반 회전 모션 각을 비교함으로써 결정됨 ―;
    상기 시차 각을 임계 값에 대해 비교하고; 그리고
    상기 시차 각이 상기 임계 값을 초과하는 것에 기초하여 상기 병진 모션을 검출
    하도록 구성되는, 파노라마 SLAM 모드에서 디바이스를 추적하면서 병진 모션을 검출하기 위한 장치.
  10. 제 11 항에 있어서,
    적어도 상기 복수의 키프레임들 간의 상기 시차 각을 사용하여 상기 병진 모션을 결정하도록 구성되는 상기 프로세서를 더 포함하는, 파노라마 SLAM 모드에서 디바이스를 추적하면서 병진 모션을 검출하기 위한 장치.
  11. 제 10 항에 있어서,
    적어도 상기 병진 모션을 사용하여 상기 디바이스로부터의 하나 또는 그 초과의 피쳐들에 대한 거리를 삼각측량함으로써, 상기 디바이스에 관한 상기 하나 또는 그 초과의 피쳐들에 대한 깊이 정보를 결정하도록 구성되는 상기 프로세서를 더 포함하는, 파노라마 SLAM 모드에서 디바이스를 추적하면서 병진 모션을 검출하기 위한 장치.
  12. 제 9 항에 있어서,
    적어도 상기 병진 모션을 검출하는 것에 기초하여, 일반 모션 모드에서 상기 디바이스를 추적하기 위해 3차원(3D) 맵을 초기화하는 상기 프로세서를 더 포함하는, 파노라마 SLAM 모드에서 디바이스를 추적하면서 병진 모션을 검출하기 위한 장치.
  13. 제 9 항에 있어서,
    6DOF(six degrees of freedom) SLAM 맵핑으로 스위칭하는 상기 프로세서를 더 포함하는, 파노라마 SLAM 모드에서 디바이스를 추적하면서 병진 모션을 검출하기 위한 장치.
  14. 제 9 항에 있어서,
    적어도 상기 병진 모션을 검출하는 것에 기초하여, 2개의 키프레임들을 사용하는 3차원(3D) 맵의 스테레오 초기화를 사용하여, 상기 디바이스를 추적하기 위해 3D 맵을 초기화하는 프로세서를 더 포함하는, 파노라마 SLAM 모드에서 디바이스를 추적하면서 병진 모션을 검출하기 위한 장치.
  15. 제 9 항에 있어서,
    적어도 상기 병진 모션을 검출하는 것에 기초하여, 알려진 추적 타겟을 사용함으로써 상기 디바이스를 추적하기 위해, 3차원(3D) 맵을 초기화하는 상기 프로세서를 더 포함하는, 파노라마 SLAM 모드에서 디바이스를 추적하면서 병진 모션을 검출하기 위한 장치.
  16. 제 9 항에 있어서,
    상기 비전-기반 회전 모션 각 및 상기 센서-기반 회전 모션 각은, 제 1 시간에서 포착되는 기준 키프레임과 제 2 시간에서 포착되는 현재 키프레임 간의 모션에 대해 검출되는, 파노라마 SLAM 모드에서 디바이스를 추적하면서 병진 모션을 검출하기 위한 장치.
  17. 제 9 항에 있어서,
    상기 모션 센서들은, 자이로스코프, 가속도계, 또는 자력계 중 하나 또는 그 초과를 포함하는, 파노라마 SLAM 모드에서 디바이스를 추적하면서 병진 모션을 검출하기 위한 장치.
  18. 비-일시적인 컴퓨터-판독가능 저장 매체로서,
    상기 비-일시적인 컴퓨터 판독가능 매체는 SLAM(simultaneous localization and mapping)을 수행하도록 프로세서에 의해 실행가능한 명령들을 포함하며,
    상기 명령들은,
    디바이스에 대한 비전-기반 회전 모션 각을 결정하기 위한 명령들 ― 상기 비전-기반 회전 모션 각은, 복수의 키프레임들 상에서 이미지 프로세싱을 수행함으로써 결정됨 ―;
    상기 복수의 키프레임들 간의 상기 디바이스에 대한 센서-기반 회전 모션 각을 결정하기 위한 명령들 ― 상기 센서-기반 회전 모션 각은, 상기 디바이스에 커플링되는 하나 또는 그 초과의 모션 센서들을 사용하여 결정됨 ―;
    상기 디바이스에 대한 시차 각을 결정하기 위한 명령들 ― 상기 시차 각은, 상기 비전-기반 회전 모션 각과 상기 센서-기반 회전 모션 각을 비교함으로써 결정됨 ―;
    상기 시차 각을 임계 값에 대해 비교하기 위한 명령들; 및
    상기 시차 각이 상기 임계 값을 초과하는 것에 기초하여 병진 모션을 검출하기 위한 명령들
    을 포함하는, 비-일시적인 컴퓨터-판독가능 저장 매체.
  19. 제 18 항에 있어서,
    적어도 상기 복수의 키프레임들 간의 상기 시차 각을 사용하여 상기 병진 모션을 결정하는 것을 더 포함하는, 비-일시적인 컴퓨터-판독가능 저장 매체.
  20. 제 19 항에 있어서,
    적어도 상기 병진 모션을 사용하여 상기 디바이스로부터의 하나 또는 그 초과의 피쳐들에 대한 거리를 삼각측량함으로써, 상기 디바이스에 관한 상기 하나 또는 그 초과의 피쳐들에 대한 깊이 정보를 결정하도록 구성되는 프로세서를 더 포함하는, 비-일시적인 컴퓨터-판독가능 저장 매체.
  21. 제 18 항에 있어서,
    상기 비전-기반 회전 모션 각 및 상기 센서-기반 회전 모션 각은, 제 1 시간에서 포착되는 기준 키프레임과 제 2 시간에서 포착되는 현재 키프레임 간의 모션에 대해 검출되는, 비-일시적인 컴퓨터-판독가능 저장 매체.
  22. 제 18 항에 있어서,
    상기 모션 센서들은, 자이로스코프, 가속도계, 또는 자력계 중 하나 또는 그 초과를 포함하는, 비-일시적인 컴퓨터-판독가능 저장 매체.
  23. 장치로서,
    디바이스에 대한 비전-기반 회전 모션 각을 결정하기 위한 수단 ― 상기 비전-기반 회전 모션 각은, 복수의 키프레임들 상에서 이미지 프로세싱을 수행함으로써 결정됨 ―;
    상기 복수의 키프레임들 간의 상기 디바이스에 대한 센서-기반 회전 모션 각을 결정하기 위한 수단 ― 상기 센서-기반 회전 모션 각은, 상기 디바이스에 커플링되는 하나 또는 그 초과의 모션 센서들을 사용하여 결정됨 ―;
    상기 디바이스에 대한 시차 각을 결정하기 위한 수단 ― 상기 시차 각은, 상기 비전-기반 회전 모션 각과 상기 센서-기반 회전 모션 각을 비교함으로써 결정됨 ―;
    상기 시차 각을 임계 값에 대해 비교하기 위한 수단; 및
    상기 시차 각이 상기 임계 값을 초과하는 것에 기초하여 병진 모션을 검출하기 위한 수단을 포함하는, 장치.
  24. 제 23 항에 있어서,
    적어도 상기 복수의 키프레임들 간의 상기 시차 각을 사용하여 상기 병진 모션을 결정하기 위한 수단을 더 포함하는, 장치.
  25. 제 23 항에 있어서,
    적어도 상기 병진 모션을 사용하여 상기 디바이스로부터의 하나 또는 그 초과의 피쳐들에 대한 거리를 삼각측량함으로써, 상기 디바이스에 관한 상기 하나 또는 그 초과의 피쳐들에 대한 깊이 정보를 결정하는 것을 더 포함하는, 장치.
  26. 제 23 항에 있어서,
    상기 비전-기반 회전 모션 각 및 상기 센서-기반 회전 모션 각은, 제 1 시간에서 포착되는 기준 키프레임과 제 2 시간에서 포착되는 현재 키프레임 간의 모션에 대해 검출되는, 장치.
  27. 제 23 항에 있어서,
    상기 모션 센서들은, 자이로스코프, 가속도계, 또는 자력계 중 하나 또는 그 초과를 포함하는, 장치.
KR1020167024806A 2014-03-14 2015-03-13 비제약형 slam을 위한 센서-기반 카메라 모션 검출 Ceased KR20160111008A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201461953122P 2014-03-14 2014-03-14
US61/953,122 2014-03-14
US14/645,675 2015-03-12
US14/645,675 US9390344B2 (en) 2014-01-09 2015-03-12 Sensor-based camera motion detection for unconstrained slam
PCT/US2015/020320 WO2015138822A1 (en) 2014-03-14 2015-03-13 Sensor-based camera motion detection for unconstrained slam

Publications (1)

Publication Number Publication Date
KR20160111008A true KR20160111008A (ko) 2016-09-23

Family

ID=54069199

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167024806A Ceased KR20160111008A (ko) 2014-03-14 2015-03-13 비제약형 slam을 위한 센서-기반 카메라 모션 검출

Country Status (6)

Country Link
US (1) US9390344B2 (ko)
EP (1) EP3117400B1 (ko)
JP (1) JP6228320B2 (ko)
KR (1) KR20160111008A (ko)
CN (1) CN106062821B (ko)
WO (1) WO2015138822A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180113060A (ko) * 2017-04-05 2018-10-15 충북대학교 산학협력단 그래프 slam을 위한 키프레임 추출방법 및 이를 이용한 slam 장치
KR20190034130A (ko) * 2017-09-22 2019-04-01 에스케이텔레콤 주식회사 지도 생성 장치 및 방법

Families Citing this family (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9674507B2 (en) 2013-04-30 2017-06-06 Qualcomm Incorporated Monocular visual SLAM with general and panorama camera movements
US10262462B2 (en) 2014-04-18 2019-04-16 Magic Leap, Inc. Systems and methods for augmented and virtual reality
US9964409B1 (en) * 2014-05-27 2018-05-08 Apple Inc. Localized map generation
JP6775969B2 (ja) * 2016-02-29 2020-10-28 キヤノン株式会社 情報処理装置、情報処理方法、及びプログラム
US10593116B2 (en) 2016-10-24 2020-03-17 Snap Inc. Augmented reality object manipulation
US10242503B2 (en) 2017-01-09 2019-03-26 Snap Inc. Surface aware lens
EP3571665B1 (en) 2017-01-23 2023-06-07 Oxford University Innovation Limited Determining the location of a mobile device
JP7121017B2 (ja) 2017-01-23 2022-08-17 オックスフォード ユニヴァーシティ イノヴェーション リミテッド モバイル装置の位置特定方法
KR102647351B1 (ko) 2017-01-26 2024-03-13 삼성전자주식회사 3차원의 포인트 클라우드를 이용한 모델링 방법 및 모델링 장치
SE546370C2 (en) * 2017-02-27 2024-10-15 Katam Tech Ab Improved forest surveying
US10097757B1 (en) * 2017-03-24 2018-10-09 Fotonation Limited Method for determining bias in an inertial measurement unit of an image acquisition device
US10990829B2 (en) 2017-04-28 2021-04-27 Micro Focus Llc Stitching maps generated using simultaneous localization and mapping
US10373362B2 (en) 2017-07-06 2019-08-06 Humaneyes Technologies Ltd. Systems and methods for adaptive stitching of digital images
US11449208B2 (en) * 2017-07-06 2022-09-20 Varian Medical Systems International Ag Interactive and intuitive method to shape 3D dose distribution during optimization of IMRT plans
US11257248B2 (en) 2017-08-01 2022-02-22 Sony Corporation Information processing device, information processing method, recording medium, and image capturing apparatus for self-position-posture estimation
US11175148B2 (en) * 2017-09-28 2021-11-16 Baidu Usa Llc Systems and methods to accommodate state transitions in mapping
CN107767425A (zh) * 2017-10-31 2018-03-06 南京维睛视空信息科技有限公司 一种基于单目vio的移动端AR方法
MX2020009804A (es) 2018-03-28 2020-10-14 Ericsson Telefon Ab L M Presentador visual montado en la cabeza y metodo para reducir enfermedad de movimiento inducida visualmente en un presentador visual remoto conectado.
CN108563723A (zh) * 2018-03-30 2018-09-21 中国地质大学(武汉) 基于MapGIS的南海可燃冰地质模型三维可视化系统
US10812711B2 (en) * 2018-05-18 2020-10-20 Samsung Electronics Co., Ltd. Semantic mapping for low-power augmented reality using dynamic vision sensor
EP3599544A1 (en) * 2018-07-25 2020-01-29 Nokia Technologies Oy An apparatus, method, computer program for enabling access to mediated reality content by a remote user
CN108846867A (zh) * 2018-08-29 2018-11-20 安徽云能天智能科技有限责任公司 一种基于多目全景惯导的slam系统
US11030813B2 (en) 2018-08-30 2021-06-08 Snap Inc. Video clip object tracking
CN109345588B (zh) * 2018-09-20 2021-10-15 浙江工业大学 一种基于Tag的六自由度姿态估计方法
CN111091602B (zh) * 2018-10-24 2023-03-28 舜宇光学(浙江)研究院有限公司 Slam后端优化方法、优化装置和电子设备
US10885657B2 (en) 2018-10-31 2021-01-05 Disney Enterprises, Inc. Configuration for indicating image capture device position
US11176737B2 (en) 2018-11-27 2021-11-16 Snap Inc. Textured mesh building
US10902634B2 (en) * 2018-12-04 2021-01-26 Here Global B.V. Method and apparatus for providing feature triangulation
KR20210103525A (ko) 2018-12-20 2021-08-23 스냅 인코포레이티드 가상 표면 수정
US10991117B2 (en) * 2018-12-23 2021-04-27 Samsung Electronics Co., Ltd. Performing a loop closure detection
CN111371982B (zh) * 2018-12-25 2021-11-30 北京初速度科技有限公司 一种数据同步方法及处理器、车载终端
US10984575B2 (en) 2019-02-06 2021-04-20 Snap Inc. Body pose estimation
CN110163968B (zh) * 2019-05-28 2020-08-25 山东大学 Rgbd相机大型三维场景构建方法及系统
US11189098B2 (en) 2019-06-28 2021-11-30 Snap Inc. 3D object camera customization system
KR102570009B1 (ko) * 2019-07-31 2023-08-23 삼성전자주식회사 Ar 객체 생성 방법 및 전자 장치
CN110610520B (zh) * 2019-08-29 2022-03-29 中德(珠海)人工智能研究院有限公司 一种基于双球幕相机的视觉定位方法及系统
US11232646B2 (en) 2019-09-06 2022-01-25 Snap Inc. Context-based virtual object rendering
CN110617814A (zh) * 2019-09-26 2019-12-27 中国科学院电子学研究所 单目视觉和惯性传感器融合的远距离测距系统及方法
CN110617813B (zh) * 2019-09-26 2021-06-08 中国科学院电子学研究所 单目视觉信息和imu信息相融合的尺度估计系统及方法
TWI730482B (zh) * 2019-10-31 2021-06-11 大陸商南京深視光點科技有限公司 平面動態偵測系統及偵測方法
US11263817B1 (en) 2019-12-19 2022-03-01 Snap Inc. 3D captions with face tracking
US11227442B1 (en) 2019-12-19 2022-01-18 Snap Inc. 3D captions with semantic graphical elements
CN111862148B (zh) * 2020-06-05 2024-02-09 中国人民解放军军事科学院国防科技创新研究院 实现视觉跟踪的方法、装置、电子设备及介质
KR20230057372A (ko) * 2020-08-27 2023-04-28 삼성전자주식회사 증강 현실 미디어 오브젝트들에 대한 앵커 기반 렌더링을 수행하는 방법 및 장치
US11615592B2 (en) 2020-10-27 2023-03-28 Snap Inc. Side-by-side character animation from realtime 3D body motion capture
US11660022B2 (en) 2020-10-27 2023-05-30 Snap Inc. Adaptive skeletal joint smoothing
US11734894B2 (en) 2020-11-18 2023-08-22 Snap Inc. Real-time motion transfer for prosthetic limbs
US11748931B2 (en) 2020-11-18 2023-09-05 Snap Inc. Body animation sharing and remixing
US11450051B2 (en) 2020-11-18 2022-09-20 Snap Inc. Personalized avatar real-time motion capture
CN113628279B (zh) * 2021-07-29 2023-10-31 成都易瞳科技有限公司 一种全景视觉slam建图方法
US12198398B2 (en) 2021-12-21 2025-01-14 Snap Inc. Real-time motion and appearance transfer
US12223672B2 (en) 2021-12-21 2025-02-11 Snap Inc. Real-time garment exchange
US11880947B2 (en) 2021-12-21 2024-01-23 Snap Inc. Real-time upper-body garment exchange
CN115311339A (zh) * 2022-06-30 2022-11-08 广州极飞科技股份有限公司 相机拍摄位姿的恢复方法、装置、设备及存储介质
CN115423930B (zh) * 2022-07-28 2023-09-26 荣耀终端有限公司 一种图像采集方法及电子设备
JP2024017734A (ja) * 2022-07-28 2024-02-08 株式会社東芝 推定装置、推定方法及びプログラム
CN115620154B (zh) * 2022-12-19 2023-03-07 江苏星湖科技有限公司 一种全景地图叠加替换方法、系统

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000097637A (ja) * 1998-09-24 2000-04-07 Olympus Optical Co Ltd 姿勢位置検出装置
JP2000115639A (ja) * 1998-10-06 2000-04-21 Ricoh Co Ltd 画像入力装置及びその方法
EP2237227A1 (en) 2009-04-01 2010-10-06 Nederlandse Organisatie voor toegepast -natuurwetenschappelijk onderzoek TNO Video sequence processing method and system
US9635251B2 (en) * 2010-05-21 2017-04-25 Qualcomm Incorporated Visual tracking using panoramas on mobile devices
JP5577931B2 (ja) * 2010-08-06 2014-08-27 ソニー株式会社 画像処理装置、画像処理方法およびプログラム
EP2619742B1 (en) * 2010-09-24 2018-02-28 iRobot Corporation Systems and methods for vslam optimization
EP2698668B1 (en) * 2011-04-12 2016-03-09 Fujifilm Corporation Imaging device
US20120300020A1 (en) * 2011-05-27 2012-11-29 Qualcomm Incorporated Real-time self-localization from panoramic images
US9674507B2 (en) 2013-04-30 2017-06-06 Qualcomm Incorporated Monocular visual SLAM with general and panorama camera movements
CN103500452A (zh) * 2013-10-12 2014-01-08 杭州师范大学 基于空间关系和图像分析的景区景物移动增强现实方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180113060A (ko) * 2017-04-05 2018-10-15 충북대학교 산학협력단 그래프 slam을 위한 키프레임 추출방법 및 이를 이용한 slam 장치
KR20190034130A (ko) * 2017-09-22 2019-04-01 에스케이텔레콤 주식회사 지도 생성 장치 및 방법

Also Published As

Publication number Publication date
JP2017518547A (ja) 2017-07-06
US20150262029A1 (en) 2015-09-17
EP3117400B1 (en) 2018-08-29
US9390344B2 (en) 2016-07-12
JP6228320B2 (ja) 2017-11-08
CN106062821A (zh) 2016-10-26
EP3117400A1 (en) 2017-01-18
CN106062821B (zh) 2018-01-05
WO2015138822A1 (en) 2015-09-17

Similar Documents

Publication Publication Date Title
EP3117400B1 (en) Sensor-based camera motion detection for unconstrained slam
US11481982B2 (en) In situ creation of planar natural feature targets
US9674507B2 (en) Monocular visual SLAM with general and panorama camera movements
JP6258953B2 (ja) 単眼視覚slamのための高速初期化
US10852847B2 (en) Controller tracking for multiple degrees of freedom
CN108283018B (zh) 电子设备和用于电子设备的姿态识别的方法
US10890600B2 (en) Real-time visual-inertial motion tracking fault detection
EP2992507A1 (en) Methods for facilitating computer vision application initialization
US20200211275A1 (en) Information processing device, information processing method, and recording medium

Legal Events

Date Code Title Description
A201 Request for examination
PA0105 International application

Patent event date: 20160907

Patent event code: PA01051R01D

Comment text: International Patent Application

PA0201 Request for examination
A302 Request for accelerated examination
PA0302 Request for accelerated examination

Patent event date: 20160908

Patent event code: PA03022R01D

Comment text: Request for Accelerated Examination

PG1501 Laying open of application
E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20170104

Patent event code: PE09021S01D

E601 Decision to refuse application
PE0601 Decision on rejection of patent

Patent event date: 20170421

Comment text: Decision to Refuse Application

Patent event code: PE06012S01D

Patent event date: 20170104

Comment text: Notification of reason for refusal

Patent event code: PE06011S01I