KR102551149B1 - 포인트 클라우드 클러스터들의 공간적 관계들 - Google Patents
포인트 클라우드 클러스터들의 공간적 관계들 Download PDFInfo
- Publication number
- KR102551149B1 KR102551149B1 KR1020227029260A KR20227029260A KR102551149B1 KR 102551149 B1 KR102551149 B1 KR 102551149B1 KR 1020227029260 A KR1020227029260 A KR 1020227029260A KR 20227029260 A KR20227029260 A KR 20227029260A KR 102551149 B1 KR102551149 B1 KR 102551149B1
- Authority
- KR
- South Korea
- Prior art keywords
- cluster
- points
- spatial relationship
- relationship vector
- point cloud
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/55—Depth or shape recovery from multiple images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/55—Depth or shape recovery from multiple images
- G06T7/579—Depth or shape recovery from multiple images from motion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/55—Depth or shape recovery from multiple images
- G06T7/593—Depth or shape recovery from multiple images from stereo images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10004—Still image; Photographic image
- G06T2207/10012—Stereo images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20016—Hierarchical, coarse-to-fine, multiscale or multiresolution image processing; Pyramid transform
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- User Interface Of Digital Computer (AREA)
- Analysing Materials By The Use Of Radiation (AREA)
- Image Processing (AREA)
Abstract
일 구현예에서, 포인트 클라우드 클러스터들의 공간적 관계들을 결정하는 방법은 하나 이상의 프로세서들 및 비일시적 메모리를 포함하는 디바이스에서 수행된다. 본 방법은 복수의 포인트들을 포함하는 포인트 클라우드를 획득하는 단계를 포함하며, 여기서 복수의 포인트들은 포인트들의 제1 클러스터 및 포인트들의 제2 클러스터를 포함하고, 포인트들의 제1 클러스터의 특정 포인트는 3차원 공간에서의 특정 포인트의 좌표들의 세트 및 포인트들의 제1 클러스트의 클러스트 식별자를 포함하는 특성화 벡터와 연관된다. 본 방법은 포인트들의 제1 클러스터 및 포인트들의 제2 클러스터의 체적 배열(volumetric arrangement)에 기초하여 공간적 관계 벡터를 결정하는 단계 - 공간적 관계 벡터는 포인트들의 제1 클러스터와 포인트들의 제2 클러스터 사이의 공간적 관계를 특성화함 -, 및 공간적 관계 벡터를 특성화 벡터에 추가하는 단계를 포함한다.
Description
관련 출원에 대한 상호 참조
본 출원은 2020년 2월 27일자로 출원된 미국 가특허 출원 제62/982,331호에 대한 우선권을 주장하며, 이는 이로써 전체적으로 본 명세서에 참고로 포함된다.
기술분야
본 개시내용은 일반적으로 포인트 클라우드들에 관한 것으로, 특히 포인트 클라우드 클러스터들의 공간적 관계들을 결정하기 위한 시스템들, 방법들, 및 디바이스들에 관한 것이다.
포인트 클라우드는 3차원 공간에서의 포인트들의 세트를 포함한다. 다양한 구현예들에서, 포인트 클라우드 내의 각각의 포인트는 물리적 환경 내의 객체의 표면에 대응한다. 포인트 클라우드들은 다양한 컴퓨터 비전 및/또는 확장 현실(extended reality, XR) 애플리케이션들에서 물리적 환경을 표현하기 위해 사용될 수 있다.
본 명세서에 개시된 다양한 구현예들은 포인트 클라우드 클러스터들의 공간적 관계들을 결정하기 위한 디바이스들, 시스템들, 및 방법들을 포함한다. 다양한 구현예들에서, 방법은 하나 이상의 프로세서들 및 비일시적 메모리를 포함하는 디바이스에서 수행된다. 본 방법은 복수의 포인트들을 포함하는 포인트 클라우드를 획득하는 단계를 포함하며, 여기서 복수의 포인트들은 포인트들의 제1 클러스터 및 포인트들의 제2 클러스터를 포함하고, 포인트들의 제1 클러스터의 특정 포인트는 3차원 공간에서의 특정 포인트의 좌표들의 세트 및 포인트들의 제1 클러스트의 클러스트 식별자를 포함하는 특성화 벡터와 연관된다. 본 방법은 포인트들의 제1 클러스터 및 포인트들의 제2 클러스터의 체적 배열(volumetric arrangement)에 기초하여 공간적 관계 벡터를 결정하는 단계를 포함하며, 여기서 공간적 관계 벡터는 포인트들의 제1 클러스터와 포인트들의 제2 클러스터 사이의 공간적 관계를 특성화한다. 본 방법은 공간적 관계 벡터를 특성화 벡터에 추가하는 단계를 포함한다.
일부 구현예들에 따르면, 디바이스는 하나 이상의 프로세서들, 비일시적 메모리, 및 하나 이상의 프로그램들을 포함하고; 하나 이상의 프로그램들은, 비일시적 메모리에 저장되고, 하나 이상의 프로세서들에 의해 실행되도록 구성된다. 하나 이상의 프로그램들은 본 명세서에 설명된 방법들 중 임의의 방법을 수행하거나 수행을 야기하기 위한 명령어들을 포함한다. 일부 구현예들에 따르면, 비일시적 컴퓨터 판독가능 저장 매체는, 디바이스의 하나 이상의 프로세서들에 의해 실행될 때, 디바이스로 하여금, 본 명세서에 설명된 방법들 중 임의의 방법을 수행하게 하거나 그의 수행을 야기하는 명령어들을 내부에 저장한다. 일부 구현예들에 따르면, 디바이스는 하나 이상의 프로세서들, 비일시적 메모리, 및 본 명세서에 설명된 방법들 중 임의의 방법을 수행하거나 그의 수행을 야기하기 위한 수단을 포함한다.
본 개시내용이 당업자들에 의해 이해될 수 있도록, 더 상세한 설명이 일부 예시적인 구현예들의 양태들에 대한 참조에 의해 이루어질 수 있으며, 이들 중 일부는 첨부 도면들에 도시된다.
도 1은 물리적 환경을 측량하는 핸드헬드 전자 디바이스를 갖는 물리적 환경을 도시한다.
도 2a 및 도 2b는 상이한 관점들로부터 캡처된 물리적 환경의 2개의 이미지들을 디스플레이하는 도 1의 핸드헬드 전자 디바이스를 도시한다.
도 3a 및 도 3b는 포인트 클라우드의 표현과 오버레이된 2개의 이미지들을 디스플레이하는 도 1의 핸드헬드 전자 디바이스를 도시한다.
도 4a 및 도 4b는 복수의 클러스터들로 공간적으로 명확화된 포인트 클라우드의 표현과 오버레이된 2개의 이미지들을 디스플레이하는 도 1의 핸드헬드 전자 디바이스를 도시한다.
도 5는 일부 구현예들에 따른 포인트 클라우드 데이터 객체를 도시한다.
도 6은 일부 구현예들에 따른 포인트 클라우드 클러스터들의 공간적 관계들을 결정하는 방법의 흐름도 표현이다.
도 7은 일부 구현예들에 따른 포인트들의 제1 클러스터와 포인트들의 제2 클러스터 사이의 공간적 관계들을 도시한다.
도 8은 일부 구현예들에 따른 전자 디바이스의 블록도이다.
일반적인 실시에 따라, 도면에 도시된 다양한 특징부들은 축척대로 그려지지 않을 수 있다. 따라서, 다양한 특징부들의 치수들은 명료함을 위해 임의대로 확대 또는 축소될 수 있다. 부가적으로, 도면들 중 일부는 주어진 시스템, 방법 또는 디바이스의 컴포넌트들 모두를 도시하지는 않을 수 있다. 마지막으로, 동일한 도면 번호들은 명세서 및 도면들 전반에 걸쳐 동일한 특징부들을 나타내기 위해 사용될 수 있다.
도 1은 물리적 환경을 측량하는 핸드헬드 전자 디바이스를 갖는 물리적 환경을 도시한다.
도 2a 및 도 2b는 상이한 관점들로부터 캡처된 물리적 환경의 2개의 이미지들을 디스플레이하는 도 1의 핸드헬드 전자 디바이스를 도시한다.
도 3a 및 도 3b는 포인트 클라우드의 표현과 오버레이된 2개의 이미지들을 디스플레이하는 도 1의 핸드헬드 전자 디바이스를 도시한다.
도 4a 및 도 4b는 복수의 클러스터들로 공간적으로 명확화된 포인트 클라우드의 표현과 오버레이된 2개의 이미지들을 디스플레이하는 도 1의 핸드헬드 전자 디바이스를 도시한다.
도 5는 일부 구현예들에 따른 포인트 클라우드 데이터 객체를 도시한다.
도 6은 일부 구현예들에 따른 포인트 클라우드 클러스터들의 공간적 관계들을 결정하는 방법의 흐름도 표현이다.
도 7은 일부 구현예들에 따른 포인트들의 제1 클러스터와 포인트들의 제2 클러스터 사이의 공간적 관계들을 도시한다.
도 8은 일부 구현예들에 따른 전자 디바이스의 블록도이다.
일반적인 실시에 따라, 도면에 도시된 다양한 특징부들은 축척대로 그려지지 않을 수 있다. 따라서, 다양한 특징부들의 치수들은 명료함을 위해 임의대로 확대 또는 축소될 수 있다. 부가적으로, 도면들 중 일부는 주어진 시스템, 방법 또는 디바이스의 컴포넌트들 모두를 도시하지는 않을 수 있다. 마지막으로, 동일한 도면 번호들은 명세서 및 도면들 전반에 걸쳐 동일한 특징부들을 나타내기 위해 사용될 수 있다.
물리적 환경은 사람들이 전자 디바이스들의 도움 없이 감지하고/하거나 그와 상호작용할 수 있는 물리적 장소를 지칭한다. 물리적 환경은 물리적 표면 또는 물리적 객체와 같은 물리적 특징부들을 포함할 수 있다. 예를 들어, 물리적 환경은 물리적 나무들, 물리적 건물들, 및 물리적 사람들을 포함하는 물리적 공원에 대응한다. 사람들은, 예컨대 시각, 촉각, 청각, 미각, 및 후각을 통해, 물리적 환경을 직접 감지하고/하거나 그와 상호작용할 수 있다. 대조적으로, 확장 현실(extended reality, XR) 환경은 사람들이 전자 디바이스를 통해 감지하고/하거나 그와 상호작용하는 완전히 또는 부분적으로 시뮬레이션된 환경을 지칭한다. 예를 들어, XR 환경은 증강 현실(augmented reality, AR) 콘텐츠, 혼합 현실(mixed reality, MR) 콘텐츠, 가상 현실(virtual reality, VR) 콘텐츠 등을 포함할 수 있다. XR 시스템을 이용하면, 사람의 신체적 움직임들 또는 그 표현들의 서브세트가 추적되고, 이에 응답하여, XR 환경에서 시뮬레이션된 하나 이상의 가상 객체들의 하나 이상의 특성들이 적어도 하나의 물리 법칙에 따르는 방식으로 조정된다. 일례로서, XR 시스템은 XR 환경을 제시하는 전자 디바이스(예컨대, 모바일 폰, 태블릿, 랩톱, 머리 장착형 디바이스 등)의 이동을 검출할 수 있고, 이에 응답하여, 전자 디바이스에 의해 사람에게 제시되는 그래픽 콘텐츠 및 음장을 그러한 뷰들 및 소리들이 물리적 환경에서 변화하는 방법과 유사한 방식으로 조정할 수 있다. 일부 상황들에서(예컨대, 접근성 이유들로 인해), XR 시스템은 신체적 움직임들의 표현들(예컨대, 음성 커맨드들)에 응답하여 XR 환경 내의 그래픽 콘텐츠의 특성(들)을 조정할 수 있다.
사람이 다양한 XR 환경들을 감지하고/하거나 그와 상호작용할 수 있게 하는 많은 상이한 유형들의 전자 시스템들이 존재한다. 예들은 머리-장착가능 시스템들, 투사-기반 시스템들, 헤드-업(head-up) 디스플레이(HUD)들, 디스플레이 능력이 통합된 차량 앞유리들, 디스플레이 능력이 통합된 창문들, 사람의 눈들에 배치되도록 설계된 렌즈들로서 형성된 디스플레이들(예를 들어, 콘택트 렌즈들과 유사함), 헤드폰들/이어폰들, 스피커 어레이들, 입력 시스템들(예를 들어, 햅틱 피드백이 있거나 또는 없는 웨어러블 또는 핸드헬드 제어기들), 스마트폰들, 태블릿들, 및 데스크톱/랩톱 컴퓨터들을 포함한다. 머리-장착가능 시스템은 하나 이상의 스피커(들) 및 통합된 불투명 디스플레이를 가질 수 있다. 대안적으로, 머리-장착가능 시스템은 외부 불투명 디스플레이(예를 들어, 스마트폰)를 수용하도록 구성될 수 있다. 머리-장착가능 시스템은 물리적 환경의 이미지들 또는 비디오를 캡처하기 위한 하나 이상의 이미징 센서들, 및/또는 물리적 환경의 오디오를 캡처하기 위한 하나 이상의 마이크로폰들을 포함할 수 있다. 머리-장착가능 시스템은 불투명 디스플레이보다는, 투명 또는 반투명 디스플레이를 가질 수 있다. 투명 또는 반투명 디스플레이는 이미지들을 표현하는 광이 사람의 눈들로 지향되는 매체를 가질 수 있다. 디스플레이는 디지털 광 프로젝션, OLED들, LED들, uLED들, 실리콘 액정 표시장치, 레이저 스캐닝 광원들, 또는 이들 기술들의 임의의 조합을 이용할 수 있다. 매체는 광학 도파관, 홀로그램 매체, 광학 조합기, 광학 반사기, 또는 이들의 임의의 조합일 수 있다. 일부 구현예들에서, 투명 또는 반투명 디스플레이는 선택적으로 불투명해지도록 구성될 수 있다. 투사-기반 시스템들은 그래픽 이미지들을 사람의 망막 상에 투사하는 망막 투사 기술을 채용할 수 있다. 투사 시스템들은 또한 가상 객체들을 물리적 환경에, 예를 들어, 홀로그램으로서 또는 물리적 표면 상에 투사하도록 구성될 수 있다.
다양한 구현예들에서, 물리적 환경은 포인트 클라우드에 의해 표현된다. 포인트 클라우드는 복수의 포인트들을 포함하며, 복수의 포인트들 각각은 적어도 3차원 공간에서의 좌표들의 세트와 연관되고 물리적 환경 내의 객체의 표면에 대응한다. 다양한 구현예들에서, 복수의 포인트들 각각은 물리적 환경 내의 객체의 표면을 표현하는 다른 데이터, 예컨대 객체의 표면의 색상을 표현하는 RGB 데이터와 추가로 연관된다. 본 명세서에 설명된 바와 같이, 복수의 포인트들 중 적어도 하나는 그 포인트를 포함하는 클러스터와 포인트들의 하나 이상의 다른 클러스터들 사이의 공간적 관계를 특성화하는 공간적 관계 벡터와 추가로 연관된다.
도면들에 도시된 예시적인 구현예들의 완전한 이해를 제공하기 위해 다수의 세부사항들이 설명된다. 그러나, 도면들은 단지 본 개시내용의 일부 예시적인 양태들만을 도시할 뿐이며, 따라서 제한적인 것으로 고려되지 않는다. 당업자들은 다른 효과적인 양태들 및/또는 변형들이 본 명세서에 설명되는 특정 세부사항들 모두를 포함하지는 않음을 인식할 것이다. 또한, 잘 알려진 시스템들, 방법들, 컴포넌트들, 디바이스들, 및 회로들은 본 명세서에 설명되는 예시적인 구현예들의 더 적절한 양태들을 불명확하게 하지 않기 위해 철저히 상세하게 설명되지 않았다.
도 1은 물리적 환경(101)을 측량하는 핸드헬드 전자 디바이스(110)를 갖는 물리적 환경(101)을 도시한다. 물리적 환경(101)은 벽(103)에 걸린 그림(102), 바닥(106) 상의 테이블(105), 테이블(105) 상의 실린더(104)를 포함한다.
핸드헬드 전자 디바이스(110)는 벽의 표현(113)에 걸린 그림의 표현(112), 바닥의 표현(116) 상의 테이블의 표현(115), 및 테이블의 표현(115) 상의 실린더의 표현(114)을 포함하는 물리적 환경의 표현(111)을 디스플레이 상에 디스플레이한다. 다양한 구현예들에서, 물리적 환경의 표현(111)은 물리적 환경(101)을 향해 지향된 시야를 갖는 핸드헬드 전자 디바이스(110)의 장면 카메라로 캡처된 물리적 환경의 이미지에 기초하여 생성된다.
물리적 환경(101)의 실제 객체들의 표현에 더하여, 물리적 환경의 표현(111)은 테이블의 표현(115) 상에 디스플레이된 가상 객체(119)를 포함한다.
다양한 구현예들에서, 핸드헬드 전자 디바이스(110)는 단일 장면 카메라(또는 디스플레이와 같이 핸드헬드 전자 디바이스(110)의 반대편 상에 배치된 단일 후방-대면 카메라)를 포함한다. 다양한 구현예들에서, 핸드헬드 전자 디바이스(110)는 적어도 2개의 장면 카메라들(또는 디스플레이와 같이 핸드헬드 전자 디바이스(110)의 반대편 상에 배치된 적어도 2개의 후방-대면 카메라들)을 포함한다.
도 2a는 제1 관점으로부터 캡처된 물리적 환경(101)의 제1 이미지(211A)를 디스플레이하는 핸드헬드 전자 디바이스(110)를 도시한다. 도 2b는 제1 관점과 상이한 제2 관점으로부터 캡처된 물리적 환경(101)의 제2 이미지(211B)를 디스플레이하는 핸드헬드 전자 디바이스(110)를 도시한다.
다양한 구현예들에서, 제1 이미지(211A) 및 제2 이미지(211B)는 상이한 시간들에서 동일한 카메라에 의해 캡처된다(예를 들어, 핸드헬드 전자 디바이스(110)가 2개의 상이한 시간들 사이에서 이동될 때 2개의 상이한 시간들에서 동일한 단일 장면 카메라에 의해). 다양한 구현예들에서, 제1 이미지(211A) 및 제2 이미지(211B)는 동시에 상이한 카메라들에 의해(예를 들어, 2개의 장면 카메라들에 의해) 캡처된다.
제1 이미지(211A) 및 제2 이미지(211B)와 같은 복수의 상이한 관점들로부터 캡처된 물리적 환경(101)의 복수의 이미지들을 사용하여, 핸드헬드 전자 디바이스(110)는 물리적 환경(101)의 포인트 클라우드를 생성한다.
도 3a는 포인트 클라우드(310)의 표현과 오버레이된 제1 이미지(211A)를 디스플레이하는 핸드헬드 전자 디바이스(110)를 도시한다. 도 3b는 포인트 클라우드(310)의 표현들과 오버레이된 제2 이미지(211B)를 디스플레이하는 핸드헬드 전자 디바이스(110)를 도시한다.
포인트 클라우드는 복수의 포인트들을 포함하며, 여기서 복수의 포인트들 각각은 3차원 공간에서의 좌표들의 세트와 연관된다. 예를 들어, 다양한 구현예들에서, 각각의 포인트는 x-좌표, y-좌표 및 z-좌표와 연관된다. 다양한 구현예들에서, 포인트 클라우드 내의 각각의 포인트는 물리적 환경(101) 내의 객체의 표면과 같은, 물리적 환경(101) 내의 특징부에 대응한다.
핸드헬드 전자 디바이스(110)는 포인트 클라우드를 복수의 클러스터들로 공간적으로 명확화한다. 따라서, 클러스터들 각각은 포인트 클라우드(310)의 포인트들의 서브세트를 포함한다.
도 4a는 복수의 클러스터들(412 내지 416)로 공간적으로 명확화된 포인트 클라우드(310)의 표현과 오버레이된 제1 이미지(211A)를 디스플레이하는 핸드헬드 전자 디바이스(110)를 도시한다. 도 4b는 복수의 클러스트들(412 내지 416)로 공간적으로 명확화된 포인트 클라우드(310)의 표현과 오버레이된 제2 이미지(211B)를 디스플레이하는 핸드헬드 전자 디바이스(110)를 도시한다. 포인트 클라우드(310)의 표현은 제1 클러스터(412)(밝은 회색으로 도시됨), 제2 클러스터(413)(흑색으로 도시됨), 제3 클러스터(414)(짙은 회색으로 도시됨), 제4 클러스터(415)(백색으로 도시됨), 및 제5 클러스터(416)(중간 회색으로 도시됨)를 포함한다.
다양한 구현예들에서, 복수의 클러스터들 각각은 고유한 클러스터 식별자를 할당받는다. 예를 들어, 클러스터들은 숫자들, 문자들, 또는 다른 고유한 라벨들을 할당받을 수 있다.
핸드헬드 전자 디바이스(110)는 다양한 클러스터들 사이의 공간적 관계들을 결정한다. 예를 들어, 다양한 구현예들에서, 핸드헬드 전자 디바이스(110)는 제1 클러스터(412)와 제5 클러스터(416) 사이의 거리를 결정한다. 다른 예로서, 다양한 구현예들에서, 핸드헬드 전자 디바이스(110)는 제1 클러스터(412)와 제4 클러스터(415) 사이의 방위각(bearing angle)을 결정한다.
다양한 구현예들에서, 핸드헬드 전자 디바이스(110)는 특정 클러스터와 다른 클러스터들 사이의 공간적 관계들을 특정 클러스터의 각각의 포인트과 연관하여 공간적 관계 벡터로서 저장한다. 도 5는 일부 구현예들에 따른 포인트 클라우드 데이터 객체(500)를 도시한다. 포인트 클라우드 데이터 객체(500)는 복수의 데이터 요소들(도 5에서 행들로서 도시됨)을 포함하며, 여기서 각각의 데이터 요소는 포인트 클라우드의 특정 포인트와 연관된다. 특정 포인트에 대한 데이터 요소는 특정 포인트의 포인트 식별자를 포함하는 포인트 식별자 필드(510)를 포함한다. 예를 들어, 포인트 식별자는 고유 번호일 수 있다. 특정 포인트에 대한 데이터 요소는 특정 포인트의 3차원 공간에서의 좌표들의 세트를 포함하는 좌표 필드(520)를 포함한다. 특정 포인트에 대한 데이터 요소는 특정 포인트가 공간적으로 명확화되는 클러스터의 식별자를 포함하는 클러스터 식별자 필드(530)를 포함한다. 예를 들어, 클러스터 식별자는 문자 또는 숫자일 수 있다. 특정 포인트에 대한 데이터 요소는 특정 포인트가 공간적으로 명확화되는 클러스터에 대한 공간적 관계 벡터를 포함하는 공간적 관계 벡터 필드(540)를 포함한다.
공간적 관계들은 다른 방식들로 포인트 클라우드와 연관되어 저장될 수 있다. 예를 들어, 포인트 클라우드는 클러스터 객체들의 세트로서 저장될 수 있으며, 각각의 클러스터 객체는 특정 클러스터에 대한 클러스터 식별자, 특정 클러스터에 대한 공간적 관계 벡터, 및 특정 클러스터로 공간적으로 명확화된 복수의 포인트들에 대응하는 좌표들의 복수의 세트들을 포함한다.
핸드헬드 전자 디바이스(110)는 다양한 방식들로 공간적 관계 벡터들을 사용할 수 있다. 예를 들어, 다양한 구현예들에서, 핸드헬드 전자 디바이스(110)는 물리적 환경 내의 객체들이 공간적 관계 벡터들의 변화들에 기초하여 이동하고 있다고 결정할 수 있다. 다른 예로서, 다양한 구현예들에서, 핸드헬드 전자 디바이스(110)는 발광 객체가 다른 객체에 대해 특정 각도에 있다고 결정할 수 있고 특정 각도로부터 다른 객체 상으로 광을 투사할 수 있다. 다른 예로서, 핸드헬드 전자 디바이스(110)는 객체가 다른 객체와 접촉하고 있다고 결정할 수 있고 그 접촉에 기초하여 물리학을 시뮬레이션할 수 있다.
도 6은 일부 구현예들에 따른 포인트 클라우드 클러스터에 대한 공간적 관계 벡터를 결정하는 방법(600)의 흐름도 표현이다. 다양한 구현예들에서, 방법(600)은 하나 이상의 프로세서들 및 비일시적 메모리를 갖는 디바이스에 의해 수행된다. 일부 구현예들에서, 방법(600)은 하드웨어, 펌웨어, 소프트웨어, 또는 이들의 조합을 포함하는 프로세싱 로직에 의해 수행된다. 일부 구현예들에서, 방법(600)은 비일시적 컴퓨터 판독가능 매체(예를 들어, 메모리)에 저장된 명령어들(예를 들어, 코드)을 실행하는 프로세서에 의해 수행된다.
방법(600)은, 블록(610)에서, 디바이스가 복수의 포인트들을 포함하는 포인트 클라우드를 획득하는 것으로 시작하며, 여기서 복수의 포인트들은 포인트들의 제1 클러스터 및 포인트들의 제2 클러스터를 포함하고, 포인트들의 제1 클러스터의 특정 포인트는 특정 포인트의 3차원 공간에서의 좌표들의 세트 및 포인트들의 제1 클러스트의 클러스트 식별자를 포함하는 특성화 벡터와 연관된다.
다양한 구현예들에서, 포인트 클라우드를 획득하는 것은 복수의 상이한 관점들로부터 물리적 환경의 복수의 이미지들을 획득하는 것 및 물리적 환경의 복수의 이미지들에 기초하여 포인트 클라우드를 생성하는 것을 포함한다. 예를 들어, 다양한 구현예들에서, 디바이스는 물리적 환경의 2개 이상의 이미지들에서 동일한 특징부를 검출하고, 원근 변환 기하학(perspective transform geometry)을 사용하여, 3차원 공간에서의 좌표들의 세트를 결정한다. 다양한 구현예들에서, 복수의 이미지들은 상이한 시간들에서 동일한 카메라에 의해(예를 들어, 디바이스가 시간들 사이에서 이동될 때 상이한 시간들에서 디바이스의 동일한 단일 장면 카메라에 의해) 캡처된다. 다양한 구현예들에서, 복수의 이미지들은 동시에 상이한 카메라들에 의해(예를 들어, 디바이스의 다수의 장면 카메라들에 의해) 캡처된다.
다양한 구현예들에서, 포인트 클라우드를 획득하는 것은 물리적 환경의 이미지를 획득하는 것, 물리적 환경의 이미지의 깊이 맵을 획득하는 것, 물리적 환경의 이미지 및 깊이 맵에 기초하여 포인트 클라우드를 생성하는 것을 포함한다. 다양한 구현예들에서, 이미지는 디바이스의 장면 카메라에 의해 캡처되고, 깊이 맵은 디바이스의 깊이 센서에 의해 생성된다.
다양한 구현예들에서, 포인트 클라우드를 획득하는 것은 포인트 클라우드를 생성하기 위해 3D 스캐너를 사용하는 것을 포함한다.
다양한 구현예들에서, 각각의 포인트는 추가 데이터와 연관된다. 다양한 구현예들에서, 각각의 포인트는 색상과 연관된다. 다양한 구현예들에서, 각각의 포인트는 시간이 지남에 따라 포인트가 어떻게 색상이 변화하는지를 나타내는 색상-변동과 연관된다. 일례로서, 이러한 정보는 "그림" 또는 "텔레비전" 사이를 구별하는 데 유용할 수 있다. 다양한 구현예들에서, 각각의 포인트는 포인트의 3차원 공간에서의 좌표들이 물리적 환경 내의 객체의 대응하는 표면의 진정한 위치일 확률을 나타내는 신뢰도와 연관된다.
다양한 구현예들에서, 포인트 클라우드를 획득하는 것은 복수의 포인트들의 부분들을, 포인트들의 제1 클러스터 및 포인트들의 제2 클러스터를 포함하는 복수의 클러스터들로 공간적으로 명확화하는 것을 포함한다. 각각의 클러스터는 포인트 클라우드의 복수의 포인트들의 서브세트를 포함한다. 다양한 구현예들에서, 복수의 포인트들 중 특정 포인트들(예를 들어, 노이즈로 지정된 것들)은 복수의 클러스터들 중 어느 것에도 포함되지 않는다.
포인트 클라우드를 공간적으로 명확화하기 위해 다양한 포인트 클라우드 클러스터링 알고리즘들이 사용될 수 있다. 다양한 구현예들에서, 복수의 포인트들의 부분들을 복수의 클러스터들로 공간적으로 명확화하는 것은 평면 모델 세그먼트화(plane model segmentation)를 수행하는 것을 포함한다. 따라서, 복수의 클러스터들 중 소정 클러스터들은 동일한 평면에 놓이는 포인트 클라우드의 포인트들의 세트들에 대응한다. 다양한 구현예들에서, 복수의 포인트들의 부분들을 복수의 클러스터들로 공간적으로 명확화하는 것은 유클리드 클러스터 추출(Euclidean cluster extraction)을 수행하는 것을 포함한다.
방법(600)은, 블록(620)에서, 디바이스가 포인트들의 제1 클러스터 및 포인트들의 제2 클러스터의 체적 배열에 기초하여 공간적 관계 벡터를 결정하는 것으로 계속되며, 여기서 공간적 관계 벡터는 포인트들의 제1 클러스터와 포인트들의 제2 클러스터 사이의 공간적 관계를 특성화한다.
도 7은 일부 구현예들에 따른 포인트들의 제1 클러스터(710)(흑색으로 도시됨)와 포인트들의 제2 클러스터(720)(백색으로 도시됨) 사이의 공간적 관계들을 도시한다.
다양한 구현예들에서, 공간적 관계 벡터는 포인트들의 제1 클러스터와 포인트들의 제2 클러스터 사이의 거리를 포함한다. 다양한 구현예들에서, 거리는 포인트들의 제1 클러스터의 중심과 포인트들의 제2 클러스터의 중심 사이의 거리이다. 예를 들어, 도 7은 포인트들의 제1 클러스터의 중심(711)과 포인트들의 제2 클러스터의 중심(720) 사이의 거리(751)를 도시한다. 다양한 구현예들에서, 거리는 포인트들의 제1 클러스터와 포인트들의 제2 클러스터의 가장 가까운 포인트들 사이의 최소 거리이다. 예를 들어, 도 7은 포인트의 제1 클러스트(710)와 포인트들의 제2 클러스트(720)의 가장 가까운 포인트들 사이의 거리(752)를 도시한다. 다양한 구현예들에서, 공간적 관계 벡터는 포인트들의 제1 클러스터가 포인트들의 제2 클러스터와 접촉하는지 여부를 나타낸다.
다양한 구현예들에서, 공간적 관계 벡터는 포인트들의 제1 클러스터와 포인트들의 제2 클러스터 사이의 방위각을 포함한다. 다양한 구현예들에서, 방위각은 포인트들의 제1 클러스터의 중심으로부터 포인트들의 제2 클러스터의 중심까지의 방위(bearing)로서 결정된다. 예를 들어, 도 7은 포인트들의 제1 클러스터(710)의 중심(711)과 포인트들의 제2 클러스트(720)의 중심(721) 사이의 방위각(761)을 도시한다. 단일 방위각만이 도 7에 도시되어 있지만, 3차원에서, 방위각은 2개의 컴포넌트들을 가질 수 있다는 것이 이해되어야 한다. 다양한 구현예들에서, 공간적 관계 벡터는 포인트들의 제1 클러스터와 포인트들의 제2 클러스터 사이의 방위호(bearing arc)를 포함한다. 다양한 구현예들에서, 방위호는 방위각 및 포인트들의 제1 클러스터의 중심으로부터 볼 때 포인트들의 제2 클러스터에 의해 둘러싸이는 각도를 포함한다.
다양한 구현예들에서, 공간적 관계 벡터는 포인트들의 제2 클러스터에 대한 포인트들의 제1 클러스터의 상대적 배향을 포함한다. 포인트들의 제2 클러스터에 대한 포인트들의 제1 클러스터의 상대적 배향은 포인트들의 제2 클러스터가 포인트들의 제1 클러스터에 대해 얼마나 많이 회전되는지를 나타낸다. 예를 들어, 벽에 대응하는 포인트들의 클러스터는 바닥에 의해 생성된 포인트들의 클러스터에 대해 90도(또는 다른 벽에 의해 생성된 포인트들의 클러스터에 대해 다른 축을 중심으로 90도) 회전될 수 있다. 도 7은 포인트들의 제1 클러스터(710)의 수직 축을 중심으로 한 제1 배향(771) 및 포인트들의 제2 클러스트(772)의 수직 축을 중심으로 한 제2 배향(772)을 도시한다. 다양한 구현예들에서, 상대적 배향은 이러한 두 배향들 사이의 차이이다. 단일 배향만이 도 7에 도시되어 있지만, 3차원에서, 상대적 배향은 2개 또는 3개의 컴포넌트들을 가질 수 있다는 것이 이해되어야 한다.
다양한 구현예들에서, 공간적 관계 벡터는 포인트들의 제2 클러스터에 대한 포인트들의 제1 클러스터의 위치 또는 배향의 변화에 의해 변화되는 요소를 포함한다. 예를 들어, 다양한 구현예들에서, 요소는 거리, 방위 및 배향을 포함한다.
다양한 구현예들에서, 공간적 관계 벡터를 결정하는 것은 포인트들의 제1 클러스터를 둘러싸는 제1 경계 박스 및 포인트들의 제2 클러스터를 둘러싸는 제2 경계 박스를 결정하는 것을 포함한다. 예를 들어, 도 7은 포인트들의 제1 클러스터(710)를 둘러싸는 제1 경계 박스(712) 및 포인트들의 제2 클러스터(720)를 둘러싸는 제2 경계 박스(722)를 도시한다. 다양한 구현예들에서, 포인트들의 제1 클러스터의 중심은 제1 경계 박스의 중심으로서 결정되고, 포인트들의 제2 클러스터의 중심은 제2 경계 박스의 중심으로서 결정된다. 다양한 구현예들에서, 포인트들의 제1 클러스터와 포인트들의 제2 클러스터 사이의 거리는 제1 경계 박스의 중심과 제2 경계 박스의 중심 사이의 거리로서 결정된다. 다양한 구현예들에서, 포인트들의 제1 클러스터와 포인트들의 제2 클러스터 사이의 거리는 제1 경계 박스와 제2 경계 박스 사이의 최소 거리로서 결정된다.
다양한 구현예들에서, 포인트들의 제1 클러스터의 배향(771) 및 포인트들의 제2 클러스터의 배향(772)은 제1 경계 박스(712)의 배향 및 제2 경계 박스(722)의 배향으로서 결정된다.
다양한 구현예들에서, 경계 박스들의 면들은 모호성을 해결하기 위해 고유 식별자들을 제공받는다(예를 들어, 각각의 경계 박스의 면들은 1 내지 6으로 라벨링됨). 고유 식별자들은 포인트들의 색상 또는 포인트들의 분포에 기초할 수 있다. 따라서, 포인트들의 제2 클러스터가 90도 회전하는 경우, 상대적 배향은 변화한 것으로 결정된다.
다양한 구현예들에서, 방법(600)은 포인트들의 제2 클러스터의 부분들을 복수의 서브-클러스터들로 공간적으로 명확화하는 단계를 포함하며, 공간적 관계 벡터는 포인트들의 제1 클러스터와 복수의 서브-클러스터들 사이의 공간적 관계들을 나타내는 서브-벡터들을 포함한다. 예를 들어, 다양한 구현예들에서, 공간적 관계 벡터는 포인트들의 제1 클러스터와 제1 서브-클러스터 사이의 공간적 관계들을 나타내는 제1 서브-벡터 및 포인트들의 제1 클러스터와 제2 서브-클러스터 사이의 공간적 관계들을 나타내는 제2 서브-벡터를 포함한다.
따라서, 일례로서, 테이블에 대응하는 포인트들의 제1 클러스터와 플로어 램프에 대응하는 포인트들의 제2 클러스터 사이의 공간적 관계 벡터는, 램프의 위치가 변화하지 않더라도 램프의 램프갓이 기울어질 때 변화할 수 있다.
방법(600)은, 블록(630)에서, 디바이스가 공간적 관계 벡터를 특성화 벡터에 추가하는 것으로 계속된다. 예를 들어, 도 5에서, 포인트 클라우드 데이터 객체(500)는 공간적 관계 벡터 필드(540)를 갖는 데이터 요소들(예를 들어, 포인트 클라우드 내의 포인트들의 특성화 벡터들)을 포함한다.
다양한 구현예들에서, 2개 초과의 클러스터들이 존재할 때, 포인트들의 제1 클러스터에 대한 공간적 관계 벡터는 포인트들의 제1 클러스터와 포인트들의 각각의 다른 클러스터 사이의 공간적 관계들을 특성화한다. 예를 들어, 도 5에서, 다양한 구현예들에서, 클러스터 A 내의 포인트에 대한 공간적 관계 벡터는 클러스터 A와 클러스터 B 사이 및 클러스터 A와 클러스터 C 사이의 공간적 관계들을 특성화한다. 유사하게, 클러스터 B 내의 포인트에 대한 공간적 관계 벡터는 클러스터 B와 클러스터 A 사이 및 클러스터 B와 클러스터 C 사이의 공간적 관계들을 특성화한다.
다양한 구현예들에서, 2개 초과의 클러스터들이 있을 때, 각각의 클러스터의 공간적 관계 벡터는 해당 클러스터와 동일한 앵커 클러스터(anchor cluster) 사이의 공간적 관계를 특성화한다. 예를 들어, 도 5에서, 클러스터 C가 선택된 앵커 클러스터인 다양한 구현예들에서, 클러스터 A 내의 포인트에 대한 공간적 관계 벡터는 클러스터 A와 클러스터 C 사이의 공간적 관계들을 특성화하고, 클러스터 B 내의 포인트에 대한 공간적 관계 벡터는 클러스터 B와 클러스터 C 사이의 공간적 관계들을 특성화한다. 클러스터 A와 클러스터 B 사이의 공간적 관계들이 필요한 경우, 디바이스는 이러한 정보를 사용하여 그들을 기하학적으로 결정할 수 있다.
도 8은 일부 구현예들에 따른 전자 디바이스(800)의 블록도이다. 소정의 특정 특징부들이 도시되어 있지만, 당업자들은 본 개시내용으로부터, 다양한 다른 특징부들이 간결함을 위해 그리고 본 명세서에 개시된 구현예들의 더 적절한 양태들을 불명확하게 하지 않도록 하기 위해 도시되지 않았음을 이해할 것이다. 이를 위해, 비-제한적인 예로서, 일부 구현예들에서, 전자 디바이스(800)는 하나 이상의 프로세싱 유닛들(802)(예를 들어, 마이크로프로세서들, ASIC들, FPGA들, GPU들, CPU들, 프로세싱 코어들 등), 하나 이상의 입력/출력(I/O) 디바이스들 및 센서들(806), 하나 이상의 통신 인터페이스들(808)(예를 들어, USB, 파이어와이어, 썬더볼트, IEEE 802.3x, IEEE 802.11x, IEEE 802.16x, GSM, CDMA, TDMA, GPS, IR, 블루투스, 지그비, 및/또는 유사한 유형의 인터페이스), 하나 이상의 프로그래밍(예를 들어, I/O) 인터페이스들(810), 하나 이상의 XR 디스플레이들(812), 하나 이상의 선택적인 내부 또는 외부 대면 이미지 센서들(814), 메모리(820), 및 이들 및 다양한 다른 컴포넌트들을 상호연결시키기 위한 하나 이상의 통신 버스들(804)을 포함한다.
일부 구현예들에서, 하나 이상의 통신 버스들(804)은 시스템 컴포넌트들을 상호연결시키고 이들 사이의 통신들을 제어하는 회로부를 포함한다. 일부 구현예들에서, 하나 이상의 I/O 디바이스들 및 센서들(806)은 관성 측정 유닛(inertial measurement unit, IMU), 가속도계, 자이로스코프, 온도계, 하나 이상의 생리학적 센서들(예를 들어, 혈압 모니터, 심박수 모니터, 혈중 산소 센서, 혈당 센서 등), 하나 이상의 마이크로폰들, 하나 이상의 스피커들, 햅틱 엔진, 하나 이상의 깊이 센서들(예를 들어, 구조화된 광, 비행시간(time-of-flight) 등) 등 중 적어도 하나를 포함한다.
일부 구현예들에서, 하나 이상의 XR 디스플레이들(812)은 XR 콘텐츠를 사용자에게 제시하도록 구성된다. 일부 구현예들에서, 하나 이상의 XR 디스플레이들(812)은 홀로그래픽, 디지털 광 프로세싱(DLP), 액정 디스플레이(LCD), 실리콘 액정 표시장치(LCoS), 유기 발광 전계-효과 트랜지터리(OLET), 유기 발광 다이오드(OLED), 표면-전도 전자-방출기 디스플레이(SED), 전계-방출 디스플레이(FED), 양자점 발광 다이오드(QD-LED), 마이크로-전자기계 시스템(MEMS), 및/또는 유사한 디스플레이 유형들에 대응한다. 일부 구현예들에서, 하나 이상의 XR 디스플레이들(812)은 회절, 반사, 편광, 홀로그래픽 등의 도파관 디스플레이들에 대응한다. 예를 들어, 전자 디바이스(800)는 단일 XR 디스플레이를 포함한다. 다른 예에서, 전자 디바이스(800)는 사용자의 각각의 눈을 위한 XR 디스플레이를 포함한다. 일부 구현예들에서, 하나 이상의 XR 디스플레이들(812)은 AR, MR 및/또는 VR 콘텐츠를 제시할 수 있다.
다양한 구현예들에서, 하나 이상의 XR 디스플레이들(812)은 장면 카메라에 의해 캡처된 이미지로서 물리적 환경의 적어도 일부분을 디스플레이하는 비디오 패스스루 디스플레이들이다. 다양한 구현예들에서, 하나 이상의 XR 디스플레이들(812)은 적어도 부분적으로 투명하고 물리적 환경에 의해 방출되거나 그로부터 반사된 광을 통과시키는 광학 시스루 디스플레이들이다.
일부 구현예들에서, 하나 이상의 이미지 센서들(814)은 사용자의 눈들을 포함하는 사용자의 얼굴의 적어도 일부분에 대응하는 이미지 데이터를 획득하도록 구성된다(그리고 눈-추적 카메라로 지칭될 수 있음). 일부 구현예들에서, 하나 이상의 이미지 센서들(814)은 전자 디바이스(800)가 존재하지 않았다면 사용자에 의해 보여질 물리적 환경에 대응하는 이미지 데이터를 획득하기 위해 전방-대면하도록 구성된다(그리고 장면 카메라로 지칭될 수 있음). 하나 이상의 선택적인 이미지 센서들(814)은 하나 이상의 RGB 카메라들(예를 들어, 상보성 금속-산화물-반도체(CMOS) 이미지 센서 또는 CCD(charge-coupled device) 이미지 센서를 가짐), 하나 이상의 적외선(IR) 카메라들, 하나 이상의 이벤트-기반 카메라들 등을 포함할 수 있다.
메모리(820)는 DRAM, SRAM, DDR RAM, 또는 다른 랜덤-액세스 솔리드-스테이트 메모리 디바이스들과 같은 고속 랜덤-액세스 메모리를 포함한다. 일부 구현예들에서, 메모리(820)는 하나 이상의 자기 디스크 저장 디바이스들, 광학 디스크 저장 디바이스들, 플래시 메모리 디바이스들, 또는 다른 비휘발성 솔리드-스테이트 저장 디바이스들과 같은 비휘발성 메모리를 포함한다. 메모리(820)는 선택적으로, 하나 이상의 프로세싱 유닛들(802)로부터 원격으로 위치된 하나 이상의 저장 디바이스들을 포함한다. 메모리(820)는 비일시적 컴퓨터 판독가능 저장 매체를 포함한다. 일부 구현예들에서, 메모리(820) 또는 메모리(820)의 비일시적 컴퓨터 판독가능 저장 매체는 다음의 프로그램들, 모듈들 및 데이터 구조들, 또는 선택적인 운영 체제(830) 및 XR 제시 모듈(840)을 포함하는 그들의 서브세트를 저장한다.
운영 체제(830)는 다양한 기본 시스템 서비스들을 처리하고 하드웨어 의존 태스크들을 수행하기 위한 절차들을 포함한다. 일부 구현예들에서, XR 제시 모듈(840)은 하나 이상의 XR 디스플레이들(812)을 통해 XR 콘텐츠를 사용자에게 제시하도록 구성된다. 이를 위해, 다양한 구현예들에서, XR 제시 모듈(840)은 데이터 획득 유닛(842), 공간적 관계 유닛(844), XR 제시 유닛(846), 및 데이터 송신 유닛(848)을 포함한다.
일부 구현예들에서, 데이터 획득 유닛(842)은 데이터(예컨대, 제시 데이터, 상호작용 데이터, 센서 데이터, 위치 데이터 등)를 획득하도록 구성된다. 데이터는 하나 이상의 프로세싱 유닛들(802) 또는 다른 전자 디바이스로부터 획득될 수 있다. 예를 들어, 다양한 구현예들에서, 데이터 획득 유닛(842)은 물리적 환경의 포인트 클라우드를 획득한다. 이를 위해, 다양한 구현예들에서, 데이터 획득 유닛(842)은 그에 대한 명령어들 및/또는 로직, 및 그에 대한 휴리스틱 및 메타데이터를 포함한다.
일부 구현예들에서, 공간적 관계 유닛(844)은 포인트 클라우드를 복수의 클러스터들로 공간적으로 명확화하고 클러스트들 중 적어도 2개 사이의 공간적 관계를 결정하도록 구성된다. 이를 위해, 다양한 구현예들에서, 공간적 관계 유닛(844)은 그에 대한 명령어들 및/또는 로직, 및 그에 대한 휴리스틱 및 메타데이터를 포함한다.
일부 구현예들에서, XR 제시 유닛(846)은 하나 이상의 XR 디스플레이들(812)을 통해 XR 콘텐츠를 제시하도록 구성된다. 이를 위해, 다양한 구현예들에서, XR 제시 유닛(846)은 그에 대한 명령어들 및/또는 로직, 및 그에 대한 휴리스틱 및 메타데이터를 포함한다.
일부 구현예들에서, 데이터 송신 유닛(848)은 데이터(예컨대, 제시 데이터, 위치 데이터 등)를 하나 이상의 프로세싱 유닛들(802), 메모리(820), 또는 다른 전자 디바이스로 송신하도록 구성된다. 이를 위해, 다양한 구현예들에서, 데이터 송신 유닛(848)은 그에 대한 명령어들 및/또는 로직, 및 그에 대한 휴리스틱 및 메타데이터를 포함한다.
데이터 획득 유닛(842), 공간적 관계 유닛(844), XR 제시 유닛(846), 및 데이터 송신 유닛(848)이 단일 전자 디바이스(800) 상에 존재하는 것으로 도시되어 있지만, 다른 구현예들에서, 데이터 획득 유닛(842), 공간적 관계 유닛(844), XR 제시 유닛(846), 및 데이터 송신 유닛(848)의 임의의 조합이 별개의 컴퓨팅 디바이스들 내에 위치될 수 있다는 것을 이해해야 한다.
게다가, 도 8은 본 명세서에 설명된 구현예들의 구조적 개략도와는 대조적으로 특정 구현예들에 존재할 수 있는 다양한 특징부들의 기능 설명으로서 더 의도된다. 당업자들에 의해 인식되는 바와 같이, 별개로 도시된 아이템들은 조합될 수 있고 일부 아이템들은 분리될 수 있다. 예를 들어, 다양한 구현예들에서, 도 8에 별개로 도시된 일부 기능 모듈들은 단일 모듈로 구현될 수 있고, 단일 기능 블록들의 다양한 기능들은 하나 이상의 기능 블록들에 의해 구현될 수 있다. 모듈들의 실제 수량 및 특정 기능들의 분할 그리고 특징부들이 그들 사이에서 어떻게 할당되는지는 구현예들마다 다를 것이고, 일부 구현예들에서, 특정 구현예에 대해 선택된 하드웨어, 소프트웨어, 및/또는 펌웨어의 특정 조합에 부분적으로 의존한다.
첨부된 청구범위의 범주 내의 구현예들의 다양한 양태들이 위에서 설명되지만, 위에서 설명된 구현예들의 다양한 특징들이 광범위하게 다양한 형태들로 구현될 수 있고 위에서 설명된 임의의 특정 구조 및/또는 기능이 단지 예시적이라는 것이 명백할 것이다. 본 개시내용에 기초하여, 당업자는 본 명세서에 설명된 양태가 임의의 다른 양태들과 독립적으로 구현될 수 있고 이들 양태들 중 2개 이상이 다양한 방식들로 조합될 수 있음을 이해해야 한다. 예를 들어, 본 명세서에 기재된 임의의 수의 양태들을 사용하여 장치가 구현될 수 있고/있거나 방법이 실시될 수 있다. 부가적으로, 본 명세서에 기재된 양태들 중 하나 이상에 부가하여 또는 그 이외의 다른 구조 및/또는 기능을 사용하여 그러한 장치가 구현될 수 있고/있거나 그러한 방법이 실시될 수 있다.
용어들 "제1", "제2" 등이 다양한 요소들을 설명하기 위해 본 명세서에서 사용될 수 있지만, 이들 요소들은 이들 용어들에 의해 제한되어서는 안 된다는 것이 또한 이해될 것이다. 이러한 용어들은 하나의 요소를 다른 요소와 구별하는 데에만 사용된다. 예를 들어, 모든 "제1 노드"의 발생이 일관되게 재명명되고 모든 "제2 노드"의 발생이 일관되게 재명명되기만 한다면, 제1 노드는 제2 노드로 지칭될 수 있고, 유사하게, 제2 노드는 제1 노드로 지칭될 수 있으며, 이는 설명의 의미를 변경한다. 제1 노드 및 제2 노드는 둘 모두 노드들이지만, 그것들은 동일한 노드가 아니다.
본 명세서에서 사용되는 용어는 단지 특정 구현예들만을 설명하는 목적을 위한 것이고, 청구범위를 제한하도록 의도되지 않는다. 본 구현예들의 설명 및 첨부된 청구범위에 사용되는 바와 같이, 단수형들("a", "an" 및 "the")은 문맥상 명확하게 달리 나타나지 않으면 복수형들도 또한 포함하도록 의도된다. 또한, 본 명세서에서 사용되는 바와 같은 용어 "및/또는"은 열거되는 연관된 항목들 중 하나 이상의 항목들의 임의의 및 모든 가능한 조합들을 나타내고 그들을 포괄하는 것임이 이해될 것이다. 본 명세서에서 사용될 때 "포함한다(comprise)" 및/또는 "포함하는(comprising)"이라는 용어들은 진술되는 특징들, 정수들, 단계들, 동작들, 요소들, 및/또는 컴포넌트들의 존재를 특정하지만, 하나 이상의 다른 특징들, 정수들, 단계들, 동작들, 요소들, 컴포넌트들 및/또는 이들의 그룹들의 존재 또는 부가를 배제하지 않는다는 것이 추가로 이해될 것이다.
본 명세서에서 사용된 바와 같이, 용어 "~라면(if)"은 맥락에 의존하여, 언급된 선행 조건이 사실일 "때" 또는 그 조건이 사실일 "시에" 또는 그 조건이 사실이라고 "결정하는 것에 응답하여" 또는 그 조건이 사실이라는 "결정에 따라" 또는 그 조건이 사실이라는 것을 "검출하는 것에 응답하여"를 의미하는 것으로 해석될 수 있다. 유사하게, 어구 "[언급된 선행 조건이 사실이라고] 결정되는 경우" 또는 "[언급된 선행 조건이 사실]인 경우" 또는 "[언급된 선행 조건이 사실]일 때"는, 맥락에 의존하여, 언급된 선행 조건이 사실이라고 "결정할 시" 또는 그 조건이 사실이라고 "결정하는 것에 응답하여" 또는 그 조건이 사실이라는 "결정에 따라" 또는 그 조건이 사실임을 "검출할 시" 또는 그 조건이 사실임을 "검출하는 것에 응답하여"를 의미하는 것으로 해석될 수 있다.
Claims (20)
- 방법으로서,
프로세서 및 비일시적 메모리를 포함하는 전자 디바이스에서,
복수의 포인트들을 포함하는 포인트 클라우드를 획득하는 단계 - 상기 복수의 포인트들은 포인트들의 제1 클러스터 및 포인트들의 제2 클러스터를 포함하고, 상기 포인트들의 제1 클러스터의 특정 포인트는 상기 특정 포인트의 3차원 공간에서의 좌표들의 세트 및 상기 포인트들의 제1 클러스터의 클러스터 식별자와 연관됨 -;
상기 포인트들의 제1 클러스터 및 상기 포인트들의 제2 클러스터의 체적 배열(volumetric arrangement)에 기초하여 공간적 관계 벡터를 결정하는 단계 - 상기 공간적 관계 벡터는 상기 포인트들의 제1 클러스터와 상기 포인트들의 제2 클러스터 사이의 공간적 관계를 특성화하고, 상기 포인트들의 제2 클러스터에 대한 상기 포인트들의 제1 클러스터의 위치 또는 배향의 변화에 의해 변화되는 요소를 포함함 -; 및
상기 공간적 관계 벡터를 상기 포인트들의 제1 클러스터의 상기 클러스터 식별자와 연관시키는 단계를 포함하는, 방법. - 제1항에 있어서, 상기 포인트 클라우드를 획득하는 단계는,
복수의 상이한 관점들로부터 물리적 환경의 복수의 이미지들을 획득하는 단계; 및
상기 물리적 환경의 상기 복수의 이미지들에 기초하여 상기 포인트 클라우드를 생성하는 단계를 포함하는, 방법. - 제1항에 있어서, 상기 포인트 클라우드를 획득하는 단계는,
물리적 환경의 이미지를 획득하는 단계;
상기 물리적 환경의 상기 이미지의 깊이 맵을 획득하는 단계; 및
상기 물리적 환경의 상기 이미지 및 상기 깊이 맵에 기초하여 상기 포인트 클라우드를 생성하는 단계를 포함하는, 방법. - 제1항에 있어서, 상기 포인트 클라우드를 획득하는 단계는 상기 복수의 포인트들의 부분들을 상기 포인트들의 제1 클러스터 및 상기 포인트들의 제2 클러스터를 포함하는 복수의 클러스터들로 공간적으로 명확화하는 단계를 포함하는, 방법.
- 제4항에 있어서, 상기 복수의 포인트들의 부분들을 상기 복수의 클러스터들로 공간적으로 명확화하는 단계는 평면 모델 세그먼트화(plane model segmentation)를 수행하는 단계를 포함하는, 방법.
- 제4항에 있어서, 상기 복수의 포인트들의 부분들을 상기 복수의 클러스터들로 공간적으로 명확화하는 단계는 유클리드 클러스터 추출(Euclidean cluster extraction)을 수행하는 단계를 포함하는, 방법.
- 제1항에 있어서, 상기 공간적 관계 벡터는 상기 포인트들의 제1 클러스터와 상기 포인트들의 제2 클러스터 사이의 거리를 포함하는, 방법.
- 제1항에 있어서, 상기 공간적 관계 벡터는 상기 포인트들의 제1 클러스터와 상기 포인트들의 제2 클러스터 사이의 방위각(bearing angle) 또는 방위호(bearing arc)를 포함하는, 방법.
- 제1항에 있어서, 상기 공간적 관계 벡터는 상기 포인트들의 제2 클러스터에 대한 상기 포인트들의 제1 클러스터의 상대적 배향을 포함하는, 방법.
- 제1항에 있어서, 상기 포인트들의 제2 클러스터는 복수의 서브-클러스터들을 포함하며, 상기 공간적 관계 벡터는 상기 포인트들의 제1 클러스터와 상기 복수의 서브-클러스터들 사이의 공간적 관계들을 나타내는 서브-벡터들을 포함하는, 방법.
- 제1항에 있어서, 상기 공간적 관계 벡터를 결정하는 단계는 상기 포인트들의 제1 클러스터를 둘러싸는 제1 경계 박스 및 상기 포인트들의 제2 클러스터를 둘러싸는 제2 경계 박스를 결정하는 단계를 포함하는, 방법.
- 디바이스로서,
비일시적 메모리; 및
하나 이상의 프로세서들을 포함하며, 상기 하나 이상의 프로세서들은,
복수의 포인트들을 포함하는 포인트 클라우드를 획득하고 - 상기 복수의 포인트들은 포인트들의 제1 클러스터 및 포인트들의 제2 클러스터를 포함하고, 상기 포인트들의 제1 클러스터의 특정 포인트는 3차원 공간에서의 상기 특정 포인트의 좌표들의 세트 및 상기 포인트들의 제1 클러스터의 클러스터 식별자와 연관됨 -;
상기 포인트들의 제1 클러스터 및 상기 포인트들의 제2 클러스터의 체적 배열에 기초하여 공간적 관계 벡터를 결정하고 - 상기 공간적 관계 벡터는 상기 포인트들의 제1 클러스터와 상기 포인트들의 제2 클러스터 사이의 공간적 관계를 특성화하고, 상기 포인트들의 제2 클러스터에 대한 상기 포인트들의 제1 클러스터의 위치 또는 배향의 변화에 의해 변화되는 요소를 포함함 -;
상기 공간적 관계 벡터를 상기 포인트들의 제1 클러스터의 상기 클러스터 식별자와 연관시키는, 디바이스. - 제12항에 있어서, 상기 공간적 관계 벡터는 상기 포인트들의 제1 클러스터와 상기 포인트들의 제2 클러스터 사이의 거리를 포함하는, 디바이스.
- 제12항에 있어서, 상기 공간적 관계 벡터는 상기 포인트들의 제1 클러스터와 상기 포인트들의 제2 클러스터 사이의 방위각 또는 방위호를 포함하는, 디바이스.
- 제12항에 있어서, 상기 공간적 관계 벡터는 상기 포인트들의 제2 클러스터에 대한 상기 포인트들의 제1 클러스터의 상대적 배향을 포함하는, 디바이스.
- 제12항에 있어서, 상기 하나 이상의 프로세서들은 추가로, 상기 포인트들의 제2 클러스터의 부분들을 복수의 서브-클러스터들로 공간적으로 명확화하기 위한 것이며, 상기 공간적 관계 벡터는 상기 포인트들의 제1 클러스터와 상기 복수의 서브-클러스터들 사이의 공간적 관계들을 나타내는 서브-벡터들을 포함하는, 디바이스.
- 제12항에 있어서, 상기 하나 이상의 프로세서들은, 상기 포인트들의 제1 클러스터를 둘러싸는 제1 경계 박스 및 상기 포인트들의 제2 클러스터를 둘러싸는 제2 경계 박스를 결정함으로써 상기 공간적 관계 벡터를 결정하기 위한 것인, 디바이스.
- 하나 이상의 프로그램들을 저장하는 비일시적 메모리로서,
상기 하나 이상의 프로그램들은, 디바이스의 하나 이상의 프로세서들에 의해 실행될 때, 상기 디바이스로 하여금,
복수의 포인트들을 포함하는 포인트 클라우드를 획득하고 - 상기 복수의 포인트들은 포인트들의 제1 클러스터 및 포인트들의 제2 클러스터를 포함하고, 상기 포인트들의 제1 클러스터의 특정 포인트는 3차원 공간에서의 상기 특정 포인트의 좌표들의 세트 및 상기 포인트들의 제1 클러스터의 클러스터 식별자와 연관됨 -;
상기 포인트들의 제1 클러스터 및 상기 포인트들의 제2 클러스터의 체적 배열에 기초하여 공간적 관계 벡터를 결정하고 - 상기 공간적 관계 벡터는 상기 포인트들의 제1 클러스터와 상기 포인트들의 제2 클러스터 사이의 공간적 관계를 특성화하고, 상기 포인트들의 제2 클러스터에 대한 상기 포인트들의 제1 클러스터의 위치 또는 배향의 변화에 의해 변화되는 요소를 포함함 -;
상기 공간적 관계 벡터를 상기 포인트들의 제1 클러스터의 상기 클러스터 식별자와 연관시키게 하는, 비일시적 메모리. - 제18항에 있어서, 상기 공간적 관계 벡터는 상기 포인트들의 제1 클러스터와 상기 포인트들의 제2 클러스터 사이의 거리를 포함하는, 비일시적 메모리.
- 제18항에 있어서, 상기 공간적 관계 벡터는 상기 포인트들의 제1 클러스터와 상기 포인트들의 제2 클러스터 사이의 방위각 또는 방위호를 포함하는, 비일시적 메모리.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202062982331P | 2020-02-27 | 2020-02-27 | |
US62/982,331 | 2020-02-27 | ||
PCT/US2021/015037 WO2021173278A1 (en) | 2020-02-27 | 2021-01-26 | Spatial relationships of point cloud clusters |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20220123734A KR20220123734A (ko) | 2022-09-08 |
KR102551149B1 true KR102551149B1 (ko) | 2023-07-03 |
Family
ID=74673337
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020227029260A KR102551149B1 (ko) | 2020-02-27 | 2021-01-26 | 포인트 클라우드 클러스터들의 공간적 관계들 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11373323B2 (ko) |
KR (1) | KR102551149B1 (ko) |
CN (1) | CN115088015B (ko) |
WO (1) | WO2021173278A1 (ko) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118691846A (zh) * | 2024-08-28 | 2024-09-24 | 浙江大学 | 适用于高层住宅外立面点云的窗户与墙面转折角定位方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017026430A (ja) | 2015-07-21 | 2017-02-02 | 日本電信電話株式会社 | 標識検出装置、方法、及びプログラム |
US20170193706A1 (en) | 2016-01-04 | 2017-07-06 | Meta Company | Apparatuses, methods and systems for application of forces within a 3d virtual environment |
US20190278988A1 (en) | 2018-03-08 | 2019-09-12 | Regents Of The University Of Minnesota | Crop models and biometrics |
WO2020013249A1 (ja) | 2018-07-13 | 2020-01-16 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9996974B2 (en) * | 2013-08-30 | 2018-06-12 | Qualcomm Incorporated | Method and apparatus for representing a physical scene |
US10186088B2 (en) * | 2016-05-13 | 2019-01-22 | Meta Company | System and method for managing interactive virtual frames for virtual objects in a virtual environment |
CN110062934B (zh) * | 2016-12-02 | 2023-09-01 | 谷歌有限责任公司 | 使用神经网络确定图像中的结构和运动 |
EP3407607A1 (en) * | 2017-05-24 | 2018-11-28 | Thomson Licensing | Method and device for encoding and reconstructing a point cloud |
US10438371B2 (en) * | 2017-09-22 | 2019-10-08 | Zoox, Inc. | Three-dimensional bounding box from two-dimensional image and point cloud data |
CN116778368A (zh) * | 2018-06-25 | 2023-09-19 | 苹果公司 | 使用语义分割的平面检测 |
CN109325998B (zh) * | 2018-10-08 | 2023-06-30 | 香港理工大学 | 一种基于点云数据的室内3d建模方法、系统及相关装置 |
US11600049B2 (en) * | 2019-04-24 | 2023-03-07 | Magic Leap, Inc. | Perimeter estimation from posed monocular video |
-
2021
- 2021-01-26 WO PCT/US2021/015037 patent/WO2021173278A1/en active Application Filing
- 2021-01-26 KR KR1020227029260A patent/KR102551149B1/ko active IP Right Grant
- 2021-01-26 CN CN202180014208.7A patent/CN115088015B/zh active Active
- 2021-01-26 US US17/158,232 patent/US11373323B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017026430A (ja) | 2015-07-21 | 2017-02-02 | 日本電信電話株式会社 | 標識検出装置、方法、及びプログラム |
US20170193706A1 (en) | 2016-01-04 | 2017-07-06 | Meta Company | Apparatuses, methods and systems for application of forces within a 3d virtual environment |
US20190278988A1 (en) | 2018-03-08 | 2019-09-12 | Regents Of The University Of Minnesota | Crop models and biometrics |
WO2020013249A1 (ja) | 2018-07-13 | 2020-01-16 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置 |
Also Published As
Publication number | Publication date |
---|---|
CN115088015B (zh) | 2023-04-21 |
CN115088015A (zh) | 2022-09-20 |
KR20220123734A (ko) | 2022-09-08 |
US11373323B2 (en) | 2022-06-28 |
WO2021173278A1 (en) | 2021-09-02 |
US20210272305A1 (en) | 2021-09-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11132546B2 (en) | Plane detection using semantic segmentation | |
US11972607B2 (en) | Plane detection using semantic segmentation | |
US11100720B2 (en) | Depth map generation | |
US11361501B2 (en) | Semantic labeling of point cloud clusters | |
US11928780B2 (en) | Scene model enrichment using semantic labels | |
US11961195B2 (en) | Method and device for sketch-based placement of virtual objects | |
US20240161527A1 (en) | Camera Parameter Estimation Using Semantic Labels | |
KR102551149B1 (ko) | 포인트 클라우드 클러스터들의 공간적 관계들 | |
US11468611B1 (en) | Method and device for supplementing a virtual environment | |
US11315278B1 (en) | Object detection and orientation estimation | |
US12033240B2 (en) | Method and device for resolving focal conflict | |
WO2021061551A1 (en) | Method and device for processing camera images | |
US12045941B1 (en) | Modeling object model vertices as joints based on temporally variable point clouds | |
US11763525B1 (en) | Blind object tracking using point clouds | |
US20240312073A1 (en) | Method and device for resolving focal conflict | |
US20240007816A1 (en) | Audio Capture with Multiple Devices | |
US20230102686A1 (en) | Localization based on Detected Spatial Features | |
US11301035B1 (en) | Method and device for video presentation | |
US11763517B1 (en) | Method and device for visualizing sensory perception | |
US20240005536A1 (en) | Perspective Correction of User Input Objects |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
A302 | Request for accelerated examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |