KR20220161445A - 3d 기하구조를 구성하는 방법 및 장치 - Google Patents

3d 기하구조를 구성하는 방법 및 장치 Download PDF

Info

Publication number
KR20220161445A
KR20220161445A KR1020227037911A KR20227037911A KR20220161445A KR 20220161445 A KR20220161445 A KR 20220161445A KR 1020227037911 A KR1020227037911 A KR 1020227037911A KR 20227037911 A KR20227037911 A KR 20227037911A KR 20220161445 A KR20220161445 A KR 20220161445A
Authority
KR
South Korea
Prior art keywords
room
wall
points
geometry
panoramic image
Prior art date
Application number
KR1020227037911A
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 KR20220161445A publication Critical patent/KR20220161445A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • 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
    • 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/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04845Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/13Architectural design, e.g. computer-aided architectural design [CAAD] related to design of buildings, bridges, landscapes, production plants or roads
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/10Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/536Depth or shape recovery from perspective effects, e.g. by using vanishing points
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • G06T7/62Analysis of geometric attributes of area, perimeter, diameter or volume
    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/90Determination of colour characteristics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/12Geometric CAD characterised by design entry means specially adapted for CAD, e.g. graphical user interfaces [GUI] specially adapted for CAD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/24Indexing scheme for image data processing or generation, in general involving graphical user interfaces [GUIs]
    • 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/20092Interactive image processing based on input by user
    • G06T2207/20101Interactive definition of point of interest, landmark or seed
    • 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/20112Image segmentation details
    • G06T2207/20164Salient point detection; Corner detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/04Architectural design, interior design

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Geometry (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Software Systems (AREA)
  • Computer Graphics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Architecture (AREA)
  • Computational Mathematics (AREA)
  • Structural Engineering (AREA)
  • Civil Engineering (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Human Computer Interaction (AREA)
  • Processing Or Creating Images (AREA)
  • Image Generation (AREA)

Abstract

본 개시의 양태들은 방의 파노라마 이미지로부터 방의 3차원(3D) 기하구조를 생성하는 방법들, 장치들, 및 비일시적 컴퓨터 판독가능 저장 매체들을 포함한다. 장치는 사용자 입력에 기초하여 파노라마 이미지에서 방의 벽 모서리 지점들의 2차원(2D) 위치들을 결정하는 프로세싱 회로부를 포함한다. 각각의 벽 모서리 지점은 방의 바닥면 또는 천장면 중 하나에 있다. 프로세싱 회로부는 벽 모서리 지점들의 2D 위치들, 파노라마 이미지의 사이즈, 및 바닥면과 파노라마 이미지를 촬영하는 디바이스의 촬영 위치 사이의 거리에 기초하여 벽 모서리 지점들의 3D 위치들을 계산하며, 벽 모서리 지점들의 순서에 기초하여 방 레이아웃을 결정하고, 방 레이아웃과 벽 모서리 지점들의 3D 위치들에 기초하여 3D 기하구조를 생성한다.

Description

3D 기하구조를 구성하는 방법 및 장치
참조에 의한 포함
본 출원은 2021년 5월 7일자로 출원된 발명의 명칭이 "METHODS OF CONSTRUCTING 3D GEOMETRY FROM PANORAMA IMAGES WITH MARKED CORNERS FOR INDOOR SCENES"인 미국 가출원 제63/185,946호를 우선권 주장하는 2021년 10월 15일자로 출원된 발명의 명칭이 "METHOD AND APPARATUS FOR CONSTRUCTING A 3D GEOMETRY"인 미국 특허 출원 제17/502,973호를 우선권 주장한다. 선출원들의 개시내용들은 본 개시에 그 전부가 참조로 포함된다.
본 개시는 일반적으로 다양한 가상 현실(virtual reality) 및/또는 증강 현실(augmented reality) 애플리케이션들을 포함하는 3차원 공간의 재구성에 관련되는 실시예들을 설명한다.
본 개시에서 제공되는 배경 설명은 본 개시의 상황을 일반적으로 제시하는 목적을 위한 것이다. 이 배경 부분에서 설명되는 작업 정도의 현재 명명된 발명자들의 작업, 뿐만 아니라 다르게는 출원 당시의 종래 기술로서 자격을 갖게 되지 않을 수 있는 설명의 양태들은 본 개시에 대한 종래 기술로서 명시적으로 인정된 것이 아니고 암묵적으로 인정된 것도 아니다.
실내 건물의 3차원(3D) 재구성이 활발한 연구 주제이고 부동산, 건축, 건물 보수(building restoration), 엔터테인먼트 등을 포함하는 다양한 산업들에서 사용되고 있다. 3D 재구성은 상이한 뷰들로부터의 단일 이미지(예컨대, RGB 이미지) 또는 이미지들의 그룹을 장면에서 건물의 3D 기하구조 표현을 생성하기 위한 입력으로서 취함으로써 컴퓨터 비전과 머신 러닝과 같은 기술들을 활용할 수 있다. 깊이 센서들에서의 발전으로 장면으로부터 깊이 정보를 측정하는 훨씬 더 편리하고 더 정확한 방식들이 직접적으로 가능하게 되었다. 예를 들어, 널리 사용되는 일부 깊이 카메라들은 라이다(Lidar), 구조화된 광 등을 포함한다.
본 개시의 양태들은 방의 파노라마 이미지로부터 방의 3차원(3D) 기하구조를 생성하기 위한 장치들을 제공한다. 장치는 사용자 입력에 기초하여 방의 파노라마 이미지에서 방의 벽 모서리 지점들의 2차원(2D) 위치들을 결정하는 프로세싱 회로부를 포함한다. 벽 모서리 지점들의 각각은 방의 바닥면 또는 천장면 중 하나에 있다. 프로세싱 회로부는 벽 모서리 지점들의 2D 위치들, 파노라마 이미지의 사이즈, 및 방의 바닥면과 방의 파노라마 이미지를 촬영하도록 구성되는 디바이스의 촬영 위치 사이의 거리에 기초하여 벽 모서리 지점들의 3D 위치들을 계산한다. 프로세싱 회로부는 벽 모서리 지점들의 순서에 기초하여 방의 레이아웃을 결정한다. 프로세싱 회로부는 방의 레이아웃과 벽 모서리 지점들의 3D 위치들에 기초하여 방의 3D 기하구조를 생성한다.
일 실시예에서, 사용자 입력은 방의 벽 모서리 지점들의 사용자 선택과 벽 모서리 지점들의 순서를 포함한다.
일 실시예에서, 벽 모서리 지점들 중 적어도 하나는 제1 유형의 벽 모서리 지점이다. 벽 모서리 지점의 제1 유형은 3D 기하구조의 벽 평면을 나타낸다.
일 실시예에서, 벽 모서리 지점들 중 적어도 하나는 제2 유형의 벽 모서리 지점이다. 제2 유형의 벽 모서리 지점은 3D 기하구조의 개방 영역 평면을 나타낸다.
일 실시예에서, 프로세싱 회로부는 인접한 두 개의 벽 모서리 지점들 중 미리 결정된 것의 유형에 기초하여 3D 기하구조의 평면을 생성한다.
일 실시예에서, 프로세싱 회로부는 3D 기하구조의 평면에서의 각각의 3D 위치에 대해, 각각의 3D 위치에 대응하는 방의 파노라마 이미지에서 2D 위치에서의 색 정보에 기초하여 각각의 3D 위치의 색 정보를 결정한다.
일 실시예에서, 3D 기하구조의 각각의 벽 평면은 3D 기하구조의 적어도 하나의 다른 벽 평면에 평행 또는 직교하고, 프로세싱 회로부는 사용자가 벽 모서리 지점들 중 하나를 선택하도록 돕는 가이드 라인을 생성한다.
일 실시예에서, 3D 기하구조의 각각의 벽 평면은 3D 기하구조의 적어도 하나의 다른 벽 평면에 평행 또는 직교하고, 프로세싱 회로부는 사용자에 의해 선택되는 벽 모서리 지점들 중 하나를 조정한다.
일 실시예에서, 프로세싱 회로부는 방의 파노라마 이미지에서 두 개의 지점들의 2D 위치들을 결정한다. 프로세싱 회로부는 두 개의 지점들의 2D 위치들, 파노라마 이미지의 사이즈, 및 방의 바닥면과 디바이스의 촬영 위치 사이의 거리에 기초하여 두 개의 지점들의 3D 위치들을 계산한다. 프로세싱 회로부는 두 개의 지점들의 3D 위치들 사이의 거리를 계산한다.
본 개시의 양태들은 방의 파노라마 이미지로부터 방의 3D 기하구조를 생성하는 방법들을 제공한다. 방법들은 방의 파노라마 이미지로부터 방의 3D 기하구조를 생성하는 장치들에 의해 수행되는 프로세스들 중 임의의 하나 또는 조합을 수행할 수 있다. 방법에서, 방의 파노라마 이미지에서 방의 벽 모서리 지점들의 2D 위치들은 사용자 입력에 기초하여 결정된다. 벽 모서리 지점들의 각각은 방의 바닥면 또는 천장면 중 하나에 있다. 벽 모서리 지점들의 3D 위치들은 벽 모서리 지점들의 2D 위치들, 파노라마 이미지의 사이즈, 및 방의 바닥면과 방의 파노라마 이미지를 촬영하도록 구성되는 디바이스의 촬영 위치 사이의 거리에 기초하여 계산된다. 방의 레이아웃은 벽 모서리 지점들의 순서에 기초하여 생성된다. 방의 3D 기하구조는 방의 레이아웃과 벽 모서리 지점들의 3D 위치들에 기초하여 생성된다.
본 개시의 양태들은 또한 명령어들을 저장하는 비일시적 컴퓨터 판독가능 매체들을 제공하며, 그 명령어들은 적어도 하나의 프로세서에 의해 실행될 때 적어도 하나의 프로세서로 하여금 방의 파노라마 이미지로부터 방의 3차원(3D) 기하구조를 생성하기 위한 방법들 중 임의의 하나 또는 조합을 수행하게 한다.
개시된 발명의 주제의 추가의 특징들, 성질, 및 다양한 장점들은 다음의 상세한 설명 및 첨부 도면들로부터 더 명확하게 될 것이며, 도면들 중:
도 1a는 본 개시의 일 실시예에 따른 방의 예시적인 파노라마 이미지를 도시하며;
도 1b는 본 개시의 일 실시예에 따른 방의 예시적인 3D 기하구조를 도시하며;
도 2는 본 개시의 일 실시예에 따른 다른 방의 파노라마 이미지에서 화이트 보드의 높이를 측정하는 일 예를 도시하며;
도 3은 본 개시의 일 실시예에 따른 다른 방의 파노라마 이미지에서 차단 지점(obstructed point)을 결정하는 일 예를 도시하며;
도 4a 내지 도 4d는 본 개시의 일부 실시예들에 따른 클로저들(closures) 및 제어 지점들에 의해 정의되는 방 레이아웃들의 다양한 예들을 도시하며;
도 5는 본 개시의 일 실시예에 따른 마킹 프로세스에서 사용되는 예시적인 가이드 라인들을 도시하며;
도 6은 본 개시의 일 실시예에 따른 예시적인 흐름도를 도시하며;
도 7은 본 개시의 일 실시예에 따른 컴퓨터 시스템의 개략적인 예시도이다.
I. 3차원 기하구조 구성
본 개시는 방과 같은 3차원(3D) 공간의 재구성에 관한 것이다. 방은 예를 들어 건물에 있을 수 있다. 게다가, 3D 재구성은 가상 투어들, 디지털 박물관, 및 가상 주택 판매와 같은 다양한 가상 현실(VR) 및/또는 증강 현실(AR) 애플리케이션들에서 사용될 수 있다. 본 개시에서, 실내 장면들을 위한 수제(handcrafted) 모서리들이 있는 파노라마 이미지(들)로부터 방의 3D 기하구조를 구성하는 방법들이 일 예로서 설명된다. 그러나, 그 방법은 다른 3D 공간들에 적용될 수 있다는 것이 이해되어야 한다.
물체의 3D 기하구조 표현은 통상적으로 공간에 3D 지점들의 세트를 포함하는 포인트 클라우드 형태이다. 각각의 3D 지점은 3D 위치 정보와 추가적인 속성들 이를테면, 색 정보 및 반사율 정보를 포함할 수 있다. 다른 인기 있는 3D 포맷이 텍스처형 메시(textured mesh)인데, 이는 3D 지점 정보 외에도, 이웃 지점들 사이에 연결성 정보를 포함한다. 연결성 정보에 기초하여, 텍스처형 메시의 패싯들(facets)(예컨대, 삼각형들)의 모음이 형성될 수 있다. 텍스처형 메시의 텍스처 정보는 각각의 패싯에 또한 부착될 수 있다.
일부 실내 장면 애플리케이션들에서, 일부 사전 지식의 장점들을 취함으로써, 일부 학습 기반 방법들(예컨대, LayoutNet 알고리즘, HorizonNet 알고리즘, 및 Dula-Net 알고리즘)이 방의 단일 파노라마 이미지로부터 레이아웃 경계들과 모서리 위치들과 같은 일부 방 레이아웃 엘리먼트들을 예측하는데 사용될 수 있다. 그러나, 이들 알고리즘들은 통상적으로 데이터 기반이고 고품질 훈련 데이터를 요구한다. 알고리즘들은 실세계 장면들의 복잡도 때문에 생산 시나리오들에서 실패할 수 있다.
본 개시는 파노라마 이미지에서 방의 벽 모서리들이 손으로 마킹된(예컨대, 사용자에 의해 수동으로 마킹된) 방의 단일 파노라마 이미지로부터 방의 3D 기하구조를 재구성하는 방법들을 포함한다. 이들 방법들은 반자동 파이프라인에 적용될 수 있다는 것에 주의한다. 예를 들어, 자동 알고리즘(예컨대, LayoutNet 알고리즘, HorizonNet 알고리즘, 또는 Dula-Net 알고리즘)이 레이아웃 모서리들의 대략적인 추정값을 생성하는데 먼저 사용될 수 있고 다음에 본 개시의 방법들은 레이아웃 모서리들을 리파인하는데 사용될 수 있다. 다른 예에서, 레이아웃 모서리들은 본 개시의 방법들을 사용함으로써 손으로 마킹될 수 있고, 그 다음에 자동 리파인먼트 알고리즘이 손으로 마킹된 모서리들에 적용될 수 있다.
도 1a는 본 개시의 일 실시예에 따른 방의 예시적인 파노라마 이미지를 도시한다. 파노라마 이미지에서, 사용자가 방의 하나 이상의 벽 모서리들을 수동으로 마킹할 수 있다. 마킹된 벽 모서리들에 기초하여, 방의 3D 기하구조가, 도 1b에 도시된 바와 같이, 생성될 수 있다. 방의 3D 기하구조는 포인트 클라우드 또는 텍스처형 메시의 형태로 표현될 수 있다.
본 개시의 방법들에서, 방의 파노라마 이미지(
Figure pct00001
)가 입력으로서 사용될 수 있다. 파노라마 이미지(
Figure pct00002
)의 사이즈가
Figure pct00003
이라고 가정되며, 여기서 화소 단위로
Figure pct00004
이다. 추가적으로, 카메라 높이(예컨대, 카메라의 중심 위치에서 지면까지의 수직 거리)의 정확한 값이 제공될 수 있다. 카메라 높이는 사용자에 의해 제공되거나, 알고리즘들에 의해 추정되거나, 측정되거나, 또는 디폴트 값(예컨대, 1.5 미터)으로서 설정될 수 있다. 카메라 높이는
Figure pct00005
으로서 표시된다.
본 개시의 방법들에서, 특정한 가정들이 3D 공간의 표면들에 관해 이루어질 수 있다. 예를 들어, 방의 바닥들이 평평하고 지면과 수평이라고 가정될 수 있다. 방의 천장들은 평평하고 지면과 수평이라고 가정될 수 있다. 방의 벽들은 수직이고, 따라서 바닥들에 수직이라고 가정될 수 있다. 게다가, 카메라 광선이 지면에 평행한 것으로 가정될 수 있다.
본 개시의 방법들에서, 카메라 좌표계에서, 카메라의 중심 위치가 데카르트 좌표 시스템에서 세계 좌표들의 원점으로서 사용될 수 있으며, 즉, 카메라의 좌표가 (0, 0, 0)이다. 카메라는 양의 x축 쪽을 향하고, 음의 z축은 바닥면을 향하고, 바닥면 및 천장면은 x-y 평면에 평행하다는 것이 또한 가정될 수 있다. 지면의 수평 소실선은 방의 파노라마 이미지의 중간 높이에 있다. 그러므로, 바닥면의 z축 위치는
Figure pct00006
이다.
위의 가정들을 이용하여, 방의 3D 위치의 좌표는 3D 위치에 대응하는 파노라마 이미지에서의 화소의 이미지 좌표와 카메라 좌표계에서의 3D 위치의 데카르트 좌표 간에 변환될 수 있다. 가정들이 상이하면 변환 식들은 가변할 수 있다는 것에 주의한다.
본 개시의 양태들에 따르면, 파노라마 이미지에서의 화소의 이미지 좌표는 화소에 대응하는 카메라 좌표계에서 3D 위치의 데카르트 좌표로 변환될 수 있다.
일 실시예에서, 파노라마 이미지에서의 화소의 이미지 좌표는
Figure pct00007
이며, 여기서
Figure pct00008
,
Figure pct00009
이다. 카메라 좌표계에서 해당 3D 위치의 z축 좌표는 공지되어 있다고 가정된다. 따라서, 화소의 이미지 좌표는 다음과 같이 해당 3D 위치의 데카르트 좌표로 변환될 수 있다:
Figure pct00010
(식 1)
Figure pct00011
(식 2)
그 다음에, 실세계에서 해당 3D 위치와 카메라 사이의 거리가
Figure pct00012
에 의해 추정될 수 있다.
그러므로, 화소가 바닥면 상에 있으면, 카메라 좌표계에서의 해당 3D 위치의 데카르트 좌표는 다음과 같이 표현될 수 있다:
Figure pct00013
(식 3)
Figure pct00014
(식 4)
Figure pct00015
(식 5)
만약 화소가 천장면 상에 있고 천장 높이, 즉, 천장면에서부터 바닥면까지의 수직 거리가
Figure pct00016
로서 알려지면, 카메라 좌표계에서의 해당 3D 위치의 데카르트 좌표는 다음과 같이 표현될 수 있다:
Figure pct00017
(식 6)
Figure pct00018
(식 7)
Figure pct00019
(식 8)
본 개시의 양태들에 따르면, 카메라 좌표계에서의 3D 위치의 데카르트 좌표가 3D 위치에 대응하는 파노라마 이미지에서의 화소의 이미지 좌표로 변환될 수 있다.
카메라 좌표계에서의 3D 위치의 데카르트 좌표가
Figure pct00020
일 때, 파노라마 이미지에서의 해당 화소의 이미지 좌표는 다음과 같이 표현될 수 있으며:
Figure pct00021
(식 9)
Figure pct00022
(식 10)
여기서 arctan2()는 다음과 같이 정의되는 함수이다.
Figure pct00023
(식 11)
본 개시의 양태들에 따르면, 방에서의 물체의 높이가 방의 파노라마 이미지에 기초하여 추정될 수 있다. 파노라마 이미지에서 동일한 열에 두 개의 화소들이 주어지면, 파노라마 이미지에서의 두 개의 화소들의 좌표들은
Figure pct00024
Figure pct00025
로서 표시되고,
Figure pct00026
에서의 하나의 화소에 대응하는 카메라 좌표계에서의 제1 3D 위치의 z축 좌표는 알려져 있고
Figure pct00027
과 동일하며,
Figure pct00028
에서의 다른 화소에 대응하는 카메라 좌표계에서의 제2 3D 위치의 z축 좌표는 다음과 같이 표현될 수 있다:
Figure pct00029
(식 12)
하나의 예시적인 애플리케이션은 파노라마 이미지에서 바닥면까지 물체의 관심 지점의 높이를 추정하는 것이다.
Figure pct00030
에서의 화소가 바닥면 상에 있는 것으로 알려지면, 즉,
Figure pct00031
이면,
Figure pct00032
에서의 다른 화소에 대응하는 카메라 좌표계에서의 제2 3D 위치의 z축 좌표는 다음과 같이 표현될 수 있다:
Figure pct00033
(식 13)
물체에서의 관심 지점이
Figure pct00034
에서의 화소이면, 바닥면까지의 물체에서의 관심 지점의 높이는
Figure pct00035
이다.
도 2는 본 개시의 일 실시예에 따른 방의 파노라마 이미지에서 화이트 보드의 높이를 측정하는 일 예를 도시한다. 도 2는 방의 파노라마 이미지의 일부를 예시한다는 것에 주의한다. 도 2에서, 수직 선(201)이 방의 바닥면부터 화이트 보드의 바닥 측까지 수동으로 그려지며, 그래서 화이트 보드의 높이는 자동으로 추정될 수 있다. 이 방식을 통해, 천장 높이 또는 책상 높이와 같은 물체 높이 역시 추정될 수 있다. 예를 들어, 수직 선(202)이 방의 천장 높이를 도시한다.
방의 천장 높이는 일부 실시예들에서 사용자에 의해 또한 설정될 수 있다는 것에 주의한다. 따라서, 일단 천장 높이, 즉,
Figure pct00036
이 결정되면, 바닥면에서의(또는 천장면에서의) 지점이 천장면에서의(또는 바닥면에서의) 대응 지점이 사용자에 의해 마킹되면 그 대응 지점에 기초하여 자동으로 결정될 수 있다. 양 지점들은 방의 파노라마 이미지에서 동일한 수직 선 또는 열에 있다.
일 실시예에서, 만약 천장 높이가 결정되고 방의 바닥면에서의 지점이 결정되면(예컨대, 사용자에 의해 마킹되면), 방의 천장면에서의 대응 지점은 자동으로 결정될 수 있다. 양 지점들은 방의 파노라마 이미지에서 동일한 수직 선에 있다.
예를 들어, 방의 파노라마 이미지에서의 지점
Figure pct00037
이 방의 바닥면에 있으면, 카메라 좌표계에서의 지점의 데카르트 좌표, 즉,
Figure pct00038
이 (식 1)-(식 2)에 의해 계산될 수 있으며, 여기서
Figure pct00039
이다. 그 다음에, 방의 천장면에서의 대응 지점의 데카르트 좌표가
Figure pct00040
=
Figure pct00041
로서 계산될 수 있다. 그 다음에, 천장면에서의 지점에 대응하는 화소의 이미지 좌표가 (식 9)-(식 10)에 의해 계산될 수 있다.
일 실시예에서, 만약 천장 높이가 결정되고 방의 천장면에서의 지점이 결정되면(예컨대, 사용자에 의해 마킹되면), 방의 바닥면에서의 대응 지점은 자동으로 결정될 수 있다. 양 지점들은 방의 파노라마 이미지에서 동일한 수직 선에 있다.
예를 들어, 방의 파노라마 이미지에서의 지점
Figure pct00042
이 천장면에 있으면, 카메라 좌표계에서의 지점의 데카르트 좌표, 즉,
Figure pct00043
은 (식 1)-(식 2)에 의해 계산될 수 있으며, 여기서
Figure pct00044
이다. 그 다음에, 바닥면에서의 대응 지점의 데카르트 좌표는
Figure pct00045
=
Figure pct00046
로서 계산될 수 있다. 그 다음에, 바닥면에서의 지점의 이미지 좌표는 (식 9)-(식 10)에 의해 계산될 수 있다.
위의 방법들은 중요할 수 있는데 왜냐하면 실제 장면들에서 바닥면에서의 지점 또는 천장면 지점에서의 지점 중 어느 하나가 물체에 의해 차단되는 것이 일반적이기 때문이다. 이 경우, 사용자가 바닥면 또는 천장면 중 어느 하나에서의 가시 지점을 클릭할 수 있고, 가려진 상대물(counterpart)은 파노라마 이미지에서 자동으로 추정될 수 있다. 다시 말하면, 바닥면에서의 지점 또는 천장면 지점에서의 지점 중 적어도 하나가 수동으로 마킹되면 벽의 모서리는 결정될 수 있다.
도 3은 방의 파노라마 이미지에서 차단 지점을 결정하는 일 예를 도시한다. 예를 들어, 숫자 “01”, “02” 및 “03”으로 마킹된 모서리 지점 쌍들의 경우, 방의 바닥면에서의 모서리 지점들은 방의 일부 의자들 및 책상에 의해 차단된다. 그러나, 이들 모서리 지점들은 여전히 방의 천장면에서 해당 지점을 클릭함으로써 추정될 수 있다.
방의 파노라마 이미지의 동일한 수직 선에 있는 천장 및 바닥 모서리 지점들의 쌍이 3D 공간에서 수직 일직선을 정의할 수 있다. 모서리 지점들의 두 개의 쌍들은 3D 공간에서 수직 벽 평면을 정의할 수 있다. 예를 들어, 도 3에서, 모서리 지점 쌍들 “00” 및 “01”은 화이트 보드가 있는 벽 평면을 정의하며, 모서리 지점 쌍들 “01” 및 “02”는 윈도우가 있는 벽 평면을 정의하며, 모서리 지점 쌍들 “02” 및 “03”은 TV가 있는 벽 평면을 정의하고, 모서리 지점 쌍들 “03” 및 “04” 유리 문이 있는 벽 평면을 정의한다. 모서리 지점 쌍들 “04” 및 “00”은 단단한 벽 평면 대신 열린 문을 정의하는 것에 주의한다.
본 개시의 양태들에 따르면, 방 레이아웃이 제어 지점들에 의해 정의될 수 있다. 방 레이아웃 다각형 형상 영역일 수 있고 다수의 모서리 지점들을 포함한다. 인접한 일부 모서리 지점들은 벽 평면을 형성할 수 있는 한편, 다른 모서리 지점들은 개방 영역을 형성할 수 있다. 따라서, 클로저 개념과 두 가지 유형들의 제어 지점들이 다음과 같이 설명될 수 있다.
클로저가 특정한 순서를 갖는 제어 지점들의 세트로서 정의될 수 있다. 도 3에서, “00”에서 “04”까지의 모서리 지점 쌍들은 클로저를 형성한다. 도 4a는 본 개시의 일 실시예에 따른 클로저의 다른 예를 도시한다. 도 4a에서, “00”에서 “03”까지의 제어 지점들은 클로저를 형성한다. 도 4의 제어 지점들은 카메라 좌표계에서 x-y 평면의 조감도로 2차원(2D)으로 예시된다는 것에 주의한다. 도 4a의 제어 지점은 실제 장면들에서 모서리 지점 쌍에 대응한다(예컨대, 하나의 모서리 지점은 천장면에 있고 다른 모서리 지점은 바닥면에 있다). 이들 두 개의 모서리 지점들이 카메라 좌표계에서 동일한 x 및 y 좌표들을 가지므로, 그것들은 도 4a에서 동일한 제어 지점에 의해 표현된다. 제어 지점의 2D 위치를 결정하기 위해, 사용자가 방의 파노라마 이미지에서 바닥면 또는 천장면 중 어느 하나에서 해당 모서리 지점을 마킹할 수 있다. 클로저가 루프이고 제어 지점들의 순서에 기초하여 결정된다는 것에 주의한다. 하나의 제어 지점은 그 순서에 따라 자신의 이웃들과 연결되고, 마지막 제어 지점은 제1 제어 지점과 연결된다. 예를 들어, “00” 및 “04”는 도 3에서 클로저에서 연결된다.
일부 실시예들에서, 상이한 유형들의 벽 평면들이 상이한 유형들의 제어 지점들을 사용하여 구별될 수 있다. 예를 들어, 단단한 벽 평면과 개방 영역 간을 구별하기 위해, 두 가지 유형들의 제어 지점들이 정의될 수 있다. 도 4a 내지 도 4d에 도시된 바와 같이, 두 가지 유형들의 제어 지점들이 각각 단단하고 패터닝된 원들에 의해 표현될 수 있다. 단단한 제어 지점이 자신의 이전의 제어 지점과 단단한 벽 평면을 형성할 수 있는 한편, 패터닝된 제어 지점이 자신의 이전의 제어 지점과 개방 영역을 형성할 수 있다. 예를 들어, 도 4a의 모든 네 개의 제어 지점들이 단단한 제어 지점들이며, 따라서 이 클로저는 공간에 네 개의 단단한 벽들을 갖는다. 그러나, 도 4b에서, “00”은 패터닝된 제어 지점이며, 따라서 “04”에서 “00”까지의 세그먼트가 개방 영역(예컨대, 열린 문 또는 윈도우)을 나타낸다. 도 4c 및 도 4d에서, 두 개의 패터닝된 제어 지점들과 두 개의 단단한 제어 지점들이 있고, 따라서 두 개의 단단한 벽들과 두 개의 개방 영역들(예컨대, 발코니와 복도)이 있다.
클로저가 단단한 제어 지점들에 기초한 단단한 벽 평면의 구성으로 제한되지만, 바닥면 및/또는 천장면을 또한 구성할 수 있다는 것에 주의한다. 모든 제어 지점들에 의해 정의되는 다각형이 바닥면 및/또는 천장면의 형상을 정의할 수 있다. 따라서, 패터닝된 제어 지점들은 단단한 제어 지점들만큼 중요할 수 있다.
하나의 실시예에서, 컴퓨터 소프트웨어(또는 프로그램)는 컴퓨터 마우스의 좌클릭 또는 우클릭과 같은 상이한 입력 유형들에 의해 두 가지 유형들의 제어 지점들 간을 구별할 수 있다.
하나의 실시예에서, 컴퓨터 소프트웨어(또는 프로그램)는 상이한 키보드 입력과 같이 키보드의 도움으로 두 가지 유형들의 제어 지점들을 구별할 수 있다.
일부 실시예들에서, 하나를 초과하는 클로저가 단일 파노라마 이미지에서 장면의 방 레이아웃을 설명하는데 사용될 수 있다. 다수의 클로저들은 서로 독립적이고 상이한 천장 높이들을 가질 수 있다. 그러므로, 다수의 클로저들은 상이한 천장 높이들을 갖는 다수의 방들의 장면을 표현하는데 사용될 수 있다.
일단 방 레이아웃이 클로저(들) 및 제어 지점들에 의해 정의되면, 장면의 3D 기하구조는 벽 평면들, 바닥면(들), 및 천장면(들)을 구성함으로써 복구될 수 있다. 제어 지점들의 3D 기하구조 위치들은 (식 1)-(식 8)에 기초하여 계산될 수 있다. 그 다음에, 각각의 평면(예컨대, 벽 평면, 천장면, 바닥면, 또는 다른 평면)에서의 3D 위치들은 제어 지점들로부터 보간에 의해 계산될 수 있다. 각각의 보간된 위치의 이미지 좌표는 (식 9)-(식 10)에 기초하여 계산될 수 있고, 파노라마 이미지에서 각각의 보간된 위치의 이미지 좌표에서의 색 정보는 3D 기하구조에서 각각의 보간된 위치에서의 색 정보로서 적용될 수 있다. 따라서, 장면의 착색된 포인트 클라우드 또는 텍스처형 메시가 구성될 수 있다.
일부 실시예들에서, 벽들의 배열에 관한 특정한 가정들이 이루어질 수 있다. 예를 들어, 맨해튼 세계 가정(Manhattan world assumption)이 생성된 3D 기하구조의 품질을 개선하기 위해 3D 공간의 3D 기하구조를 생성함에 있어서 사용될 수 있다. 맨해튼 세계 가정에서, 벽들은 서로에 대해 평행 또는 직교 중 어느 하나라고 가정된다.
하나의 실시예에서, 맨해튼 세계 가정은 사용자의 마킹 프로세스를 가이드하는데 사용될 수 있다. 도 5는 본 개시의 일 실시예에 따른 마킹 프로세스에서 사용될 수 있는 가이드 라인들의 예시적인 디스플레이를 도시한다. 도 5에서, 제어 지점들 “00” 및 “01”이 마킹된 후 단단한 벽 평면이 형성되므로, 맨해튼 세계에서의 주 방향은 결정될 수 있다. 그 다음에, 사용자가 다음 제어 지점 “02”를 발견하기 위해 커서를 이동시킬 때, 사용자가 빠르게 찾는 것을 돕기 위해 가이드 라인들의 세트가 생성될 수 있다. 도 5에서, 다음 제어 지점 “02”로부터 뻗어 나온 곡선들(501~504)은 미리보기 가이드 라인들이다. 이들 곡선들은 파노라마 이미지 “02” 위치에서 상호작용하는 두 개의 직교 벽 평면들을 묘사한다. 이 방식을 통해, 제어 지점 “02”를 마킹하는 편리도 및 정확도는 바닥 및 천장 모서리 지점들 둘 다가 차단되더라도 개선될 수 있다.
하나의 실시예에서, 맨해튼 세계 가정은 사용자에 의해 마킹된 위치를 리파인하는데 사용될 수 있다. 예를 들어, 파노라마 이미지에서의 사용자에 의해 마킹된 위치가 가이드 라인에 가깝지만 정확히 가이드 라인 상에 있지 않으면, 사용자에 의해 마킹된 위치는 맨해튼 세계 가정과 일치하도록 약간 조정될 수 있다. 이 방식을 통해, 생성된 3D 기하구조는 맨해튼 세계 가정을 충족시키고, 따라서 더 정확한 구성을 산출할 수 있다는 것이 보장된다.
본 개시의 양태들에 따르면, 3D 기하구조(예컨대, 포인트 클라우드 또는 텍스처형 메시)는 방의 천장면에서 및/또는 바닥면 파노라마 이미지에서 벽 모서리 지점 세트를 마킹함으로써 구성될 수 있다. 벽 모서리 지점들은 일 실시예에서 사용자애 의해 수동으로 마킹될 수 있다. 다른 실시예에서, 벽 모서리 지점들은 이를테면 자동 알고리즘(예컨대, LayoutNet 알고리즘, HorizonNet 알고리즘, 또는 Dula-Net 알고리즘)에 의해 먼저 추정된 다음, 사용자에 의해 수정될 수 있다. 다른 실시예에서, 벽 모서리 지점들은 먼저 사용자에 의해 마킹된 다음, 이를테면 자동 알고리즘에 의해 리파인될 수 있다.
일부 실시예들에서, 실세계에서의 거리(또는 치수)가 방의 파노라마 이미지에서의 마킹된 지점들에 기초하여 측정 또는 추정될 수 있다. 실세계에서의 거리는 파노라마 이미지에서의 마킹된 지점에 대응하는 실세계에서의 위치로부터 이미지를 촬영하도록 구성되는 카메라 디바이스까지이다. 실세계에서의 위치의 3D 좌표가 카메라 디바이스가 예를 들어 (0, 0, 0)에 위치될 수 있는 카메라 좌표계에 위치될 수 있다.
하나의 실시예에서, 물체 높이(예컨대, 방의 물체에서 바닥면까지의 수직 거리)가 방의 파노라마 이미지에서의 물체의 지점을 마킹함으로써 추정될 수 있다. 물체 높이가 알려지거나(또는 추정되거나) 또는 아니면 결정될 때, 파노라마 이미지에서의 임의적 지점에 대응하는 실세계에서의 지점의 3D 좌표가 추정될 수 있다. 실세계에서의 위치의 3D 좌표는 카메라가 예를 들어 (0, 0, 0)에 위치되는 카메라 좌표계에 위치될 수 있다. 추가적으로, 물체 높이가 알려지거나(또는 추정되거나) 또는 아니면 결정될 때, 실세계에서 두 개의 위치들 사이의 거리가 추정될 수 있다. 두 개의 위치들은 방의 파노라마 이미지에서 두 개의 임의적 지점들에 대응할 수 있다.
일부 실시예들에서, 방 레이아웃은 파노라마 이미지에서 마킹된 지점들(또한 제어 지점들이라고 지칭됨)의 그룹에 의해 정의될 수 있다. 특정 순서의 마킹된 지점들은 방 레이아웃에 대응하는 클로저를 정의할 수 있다. 제1 유형의 마킹된 지점들이 방의 단단한 벽 평면을 형성할 수 있고 제2 유형의 마킹된 지점들이 방의 개방 영역을 형성할 수 있는 두 가지 유형들의 마킹된 지점들이 사용될 수 있다.
위에서 언급된 바와 같이, 하나의 실시예에서, 컴퓨터 소프트웨어(또는 프로그램)는 컴퓨터 마우스의 좌클릭 또는 우클릭에 의해 두 가지 유형들의 제어 지점들을 구별할 수 있다. 하나의 실시예에서, 컴퓨터 소프트웨어(또는 프로그램)는 키보드의 도움으로 두 가지 유형들의 제어 지점들을 구별할 수 있다.
단일 파노라마 이미지의 경우, 하나를 초과하는 클로저가 장면의 방 레이아웃을 설명하는데 사용될 수 있다. 다수의 클로저들은 서로 독립적이고 상이한 천장 높이들을 가질 수 있다. 그러므로, 다수의 클로저들은 상이한 천장 높이들을 갖는 다수의 방들의 장면을 표현하는데 사용될 수 있다.
방 레이아웃에 기초하여, 장면의 3D 기하구조 표현이 구성될 수 있다. 3D 기하구조는 색 및 법선 벡터 정보가 있는 포인트 클라우드, 또는 텍스처 정보가 있는 메시 중 어느 하나일 수 있다. 색 및 텍스처 정보는 파노라마 이미지로부터 보간에 의해 획득될 수 있다.
일부 실시예들에서, 맨해튼 세계 가정과 같은 특정한 가정들이 장면의 3D 기하구조를 구성함에 있어서 적용될 수 있다.
하나의 실시예에서, 맨해튼 세계 가정은 마킹 프로세스를 가이드하는데 사용될 수 있다. 예를 들어, 가이드 라인들의 세트가 맨해튼 세계 가정에 기초하여 파노라마 이미지에서 생성될 수 있다. 마킹 프로세스에서, 사용자가 파노라마 이미지에서 지점들을 마킹하기 위해 가이드 라인들의 세트를 따를 수 있다.
하나의 실시예에서, 맨해튼 세계 가정은 사용자에 의해 마킹된 위치를 리파인하는데 사용될 수 있다. 예를 들어, 사용자에 의해 마킹된 위치가 가이드 라인 세트의 임의의 가이드 라인 상에 있지 않으면, 사용자에 의해 마킹된 위치는 가장 가까운 하나의 가이드 라인 상에 있도록 자동으로 조정될 수 있다.
II. 흐름도
도 6은 본 개시의 일 실시예에 따른 예시적인 프로세스(600)를 약술하는 흐름도를 도시한다. 다양한 실시예들에서, 프로세스(600)는 프로세싱 회로부, 이를테면 도 7에 도시된 프로세싱 회로부에 의해 실행된다. 일부 실시예들에서, 프로세스(600)는 소프트웨어 명령어들로 구현되며, 따라서 프로세싱 회로부가 소프트웨어 명령어들을 실행할 때, 프로세싱 회로부는 프로세스(600)를 수행한다.
프로세스(600)는 일반적으로 단계 S610에서 시작할 수 있는데, 그 단계에서 프로세스(600)는 사용자 입력에 기초하여 방의 파노라마 이미지에서 방의 벽 모서리 지점들의 2D 위치들을 결정한다. 벽 모서리 지점들의 각각은 방의 바닥면 또는 천장면 중 하나에 있다. 그 다음에, 프로세스(600)는 단계 S620으로 진행한다.
단계 S620에서, 프로세스(600)는 벽 모서리 지점들의 2D 위치들, 파노라마 이미지의 사이즈, 및 방의 바닥면과 방의 파노라마 이미지를 촬영하도록 구성되는 디바이스의 촬영 위치 사이의 거리에 기초하여 벽 모서리 지점들의 3D 위치들을 계산한다. 그 다음에, 프로세스(600)는 단계 S630으로 진행한다.
단계 S630에서, 프로세스(600)는 벽 모서리 지점들의 순서에 기초하여 방의 레이아웃을 결정한다. 그 다음에, 프로세스(600)는 단계 S640으로 진행한다.
단계 S640에서, 프로세스(600)는 방의 레이아웃과 벽 모서리 지점들의 3D 위치들에 기초하여 방의 3D 기하구조를 생성한다. 그 다음에, 프로세스(600)는 종료된다.
일 실시예에서, 사용자 입력은 방의 벽 모서리 지점들의 사용자 선택과 벽 모서리 지점들의 순서를 포함한다.
일 실시예에서, 벽 모서리 지점들 중 적어도 하나는 제1 유형의 벽 모서리 지점이다. 제1 유형의 벽 모서리 지점은 3D 기하구조의 벽 평면을 나타낸다.
일 실시예에서, 벽 모서리 지점들 중 적어도 하나는 제2 유형의 벽 모서리 지점이다. 제2 유형의 벽 모서리 지점은 3D 기하구조의 개방 영역 평면을 나타낸다.
일 실시예에서, 프로세싱 회로부는 인접한 두 개의 벽 모서리 지점들 중 미리 결정된 것의 유형에 기초하여 3D 기하구조의 평면을 생성한다.
일 실시예에서, 프로세스(600)는 3D 기하구조의 평면에서의 각각의 3D 위치에 대해, 각각의 3D 위치에 대응하는 방의 파노라마 이미지에서 2D 위치에서의 색 정보에 기초하여 각각의 3D 위치의 색 정보를 결정한다.
일 실시예에서, 3D 기하구조의 각각의 벽 평면은 3D 기하구조의 적어도 하나의 다른 벽 평면에 평행 또는 직교하고, 프로세스(600)는 사용자가 벽 모서리 지점들 중 하나를 선택하도록 돕는 가이드 라인을 생성한다.
일 실시예에서, 3D 기하구조의 각각의 벽 평면은 3D 기하구조의 적어도 하나의 다른 벽 평면에 평행 또는 직교하고, 프로세스(600)는 사용자에 의해 선택되는 벽 모서리 지점들 중 하나를 조정한다.
일 실시예에서, 프로세스(600)는 방의 파노라마 이미지에서 두 개의 지점들의 2D 위치들을 결정한다. 프로세스(600)는 두 개의 지점들의 2D 위치들, 파노라마 이미지의 사이즈, 및 방의 바닥면과 디바이스의 촬영 위치 사이의 거리에 기초하여 두 개의 지점들의 3D 위치들을 계산한다. 프로세스(600)는 두 개의 지점들의 3D 위치들 사이의 거리를 계산한다.
III. 컴퓨터 시스템
위에서 설명된 기법들은, 컴퓨터 판독가능 명령어들을 사용하는 컴퓨터 소프트웨어로서 구현되고 하나 이상의 컴퓨터 판독가능 매체에 물리적으로 저장될 수 있다. 예를 들어, 도 7은 개시된 발명의 주제의 특정한 실시예들을 구현하기에 적합한 컴퓨터 시스템(700)을 도시한다.
컴퓨터 소프트웨어는 하나 이상의 컴퓨터 중앙 프로세싱 유닛들(central processing units)(CPU들), 그래픽 프로세싱 유닛들(Graphics Processing Units)(GPU들) 등에 의해 직접, 또는 인터프리션, 마이크로코드 실행 등을 통해 실행될 수 있는 명령어들을 포함하는 코드를 생성하기 위해 어셈블, 컴파일, 링킹, 또는 유사 메커니즘들을 받을 수 있는 임의의 적합한 머신 코드 또는 컴퓨터 언어를 사용하여 코딩될 수 있다.
명령어들은 예를 들어, 개인용 컴퓨터들, 태블릿 컴퓨터들, 서버들, 스마트폰들, 게이밍 디바이스들, 사물 인터넷 디바이스들 등을 포함하여 다양한 유형들의 컴퓨터들 또는 그 컴포넌트들 상에서 실행될 수 있다.
컴퓨터 시스템(700)에 대해 도 7에 도시된 컴포넌트들은 본질적으로 예시적이고, 본 개시의 실시예들을 구현하는 컴퓨터 소프트웨어의 사용 또는 기능의 범위에 관한 임의의 제한을 제안하지 않는 것으로 의도된다. 컴포넌트들의 구성은 컴퓨터 시스템(700)의 예시적인 실시예에서 도시되는 컴포넌트들 중 임의의 하나 또는 조합에 관련한 어떠한 의존성이나 요구사항도 갖지 않는 것으로서는 해석되어야 한다.
컴퓨터 시스템(700)은 특정한 휴먼 인터페이스 입력 디바이스들을 포함할 수 있다. 이러한 휴먼 인터페이스 입력 디바이스는, 예를 들어 촉각 입력(이를테면, 키스트로크들, 스위프들, 데이터 글로브 움직임들), 오디오 입력(이를테면, 음성, 박수소리(clapping)), 시각적 입력(이를테면, 제스처들), 후각 입력(묘사되지 않음)을 통한 하나 이상의 휴먼 사용자들에 의한 입력에 응답할 수 있다. 휴먼 인터페이스 디바이스들은, 오디오(이를테면, 스피치, 음악, 주변 사운드), 이미지들(이를테면, 스캔된 이미지들, 스틸 이미지 카메라에서 획득된 사진 이미지들), 비디오(이를테면 2차원 비디오, 스테레오스코픽 비디오를 포함하는 3차원 비디오)와 같이, 휴먼에 의한 의식적인 입력에 반드시 직접 관련되지는 않은 특정한 매체를 촬영하는데 또한 사용될 수 있다.
입력 휴먼 인터페이스 디바이스들은 키보드(701), 마우스(702), 트랙패드(703), 터치 스크린(710), 데이터 글로브(도시되지 않음), 조이스틱(705), 마이크로폰(706), 스캐너(707), 및 카메라(708) 중 하나 이상(각각의 하나만 묘사됨)을 포함할 수 있다.
컴퓨터 시스템(700)은 또한 특정한 휴먼 인터페이스 출력 디바이스들을 포함할 수 있다. 이러한 휴먼 인터페이스 출력 디바이스들은, 예를 들어, 촉각 출력, 사운드, 광, 및 냄새/맛을 통해 하나 이상의 휴먼 사용자들의 감지들을 시뮬레이션하는 것일 수 있다. 이러한 휴먼 인터페이스 출력 디바이스들은, 촉각 출력 디바이스들(예를 들어 터치스크린(710), 데이터 글로브(도시되지 않음), 또는 조이스틱(705)에 의한 촉각 피드백이지만, 또한 입력 디바이스들로서 서빙하지 않는 촉각 피드백 디바이스들일 수 있음), 오디오 출력 디바이스들(이를테면 스피커들(709), 헤드폰들(묘사되지 않음)), 시각적 출력 디바이스들(이를테면 CRT 스크린들, LCD 스크린들, 플라즈마 스크린들, OLED 스크린들을 포함하는 스크린들(710)이며, 이들 각각은 터치스크린 입력 능력이 있거나 또는 없으며, 이들 각각은 촉각 피드백 능력이 있거나 또는 없으며 ― 이들 중 일부는 스테레오그래픽 출력과 같은 수단을 통해 2차원 시각적 출력 또는 3 초과 차원 출력을 출력할 수 있음 ―; 가상 현실 안경(묘사되지 않음), 홀로그래픽 디스플레이들 및 스모크 탱크들(묘사되지 않음)), 및 프린터들(묘사되지 않음)을 포함할 수 있다. 이들 시각적 출력 디바이스들(이를테면 스크린들(710))은 그래픽 어댑터(750)를 통해 시스템 버스(748)에 연결될 수 있다.
컴퓨터 시스템(700)은 휴먼 액세스가능 저장 디바이스들 및 그것들의 연관된 매체 이를테면 CD/DVD가 있는 CD/DVD ROM/RW(720) 또는 유사 매체(721)를 포함하는 광 매체들, 썸 드라이브(thumb-drive)(722), 탈착식 하드 드라이브 또는 고체 상태 드라이브(723), 테이프와 플로피 디스크(묘사되지 않음)와 같은 레거시 자기 매체들, 보안 동글들(묘사되지 않음)과 같은 전문화된 ROM/ASIC/PLD 기반 디바이스들 등을 또한 포함할 수 있다.
본 기술분야의 통상의 기술자들은 또한 현재 개시된 발명의 주제에 관련하여 사용되는 바와 같은 "컴퓨터 판독가능 매체"라는 용어가 송신 매체, 반송파들, 또는 다른 일시적인 신호들을 포함하는 것은 아님을 이해해야 한다.
컴퓨터 시스템(700)은 하나 이상의 통신 네트워크들(755)에 대한 네트워크 인터페이스(754)를 또한 포함할 수 있다. 하나 이상의 통신 네트워크들(755)은 예를 들어 무선, 와이어라인, 광학적일 수 있다. 하나 이상의 통신 네트워크들(755)은 추가로 국부, 광역, 대도시, 차량 및 산업, 실시간, 지연 허용 등일 수 있다. 하나 이상의 통신 네트워크들 (755)의 예들은 이더넷과 같은 근거리 네트워크들, 무선 LAN들, GSM, 3G, 4G, 5G, LTE 등을 포함하는 셀룰러 네트워크들, 케이블 TV, 위성 TV, 및 지상파 브로드캐스트 TV를 포함하는 TV 와이어라인 또는 무선 광역 디지털 네트워크들, CANBus를 포함하는 차량 및 산업 등을 포함한다. 특정한 네트워크들은 흔히 특정 범용 데이터 포트들 또는 주변기기 버스들(749)(이를테면 컴퓨터 시스템(700)의 예를 들어 USB 포트들)에 부착되는 외부 네트워크 인터페이스 어댑터들을 요구하며; 다른 것들은 흔히 아래에서 설명되는 바와 같이 시스템 버스에의 부착에 의해 컴퓨터 시스템(700)의 코어 안으로(예를 들어 이더넷 인터페이스를 PC 컴퓨터 시스템 안으로 또는 셀룰러 네트워크 인터페이스를 스마트폰 컴퓨터 시스템 안으로) 통합된다. 이들 네트워크들 중 임의의 것을 사용하여, 컴퓨터 시스템(700)은 다른 엔티티들과 통신할 수 있다. 이러한 통신은 예를 들어 로컬 또는 광역 디지털 네트워크들을 사용하여 다른 컴퓨터 시스템들에 단방향, 수신 전용(예를 들어, 브로드캐스트 TV), 단방향 전송 전용(예를 들어 CANbus에서 특정 CANbus 디바이스들), 또는 양방향일 수 있다. 특정한 프로토콜들 및 프로토콜 스택들이 위에서 설명된 바와 같은 그들 네트워크들 및 네트워크 인터페이스들의 각각에서 사용될 수 있다.
전술한 휴먼 인터페이스 디바이스들, 휴먼 액세스가능 저장 디바이스들, 및 네트워크 인터페이스들은 컴퓨터 시스템(700)의 코어(740)에 부착될 수 있다.
코어(740)는 하나 이상의 중앙 프로세싱 유닛들(CPU)(741), 그래픽 프로세싱 유닛들(GPU)(742), 전문화된 프로그램가능 프로세싱 유닛들을 필드 프로그램가능 게이트 영역들(Field Programmable Gate Areas)(FPGA)(743), 특정한 태스크들을 위한 하드웨어 가속기들(744), 그래픽 어댑터들(750) 등의 형태로 포함할 수 있다. 이들 디바이스들은, 판독전용 메모리(Read-only memory)(ROM)(745), 랜덤 액세스 메모리(746), 내부 비사용자 액세스가능 하드 드라이브들, SSD들 등과 같은 내부 대용량 스토리지(747)와 함께, 시스템 버스(748)를 통해 연결될 수 있다. 일부 컴퓨터 시스템들에서, 시스템 버스(748)는 추가적인 CPU들, GPU 등에 의한 확장들을 가능하게 하는 하나 이상의 물리적 플러그들 형태로 액세스 가능할 수 있다. 주변 디바이스들은 코어의 시스템 버스(748)에, 또는 주변기기 버스(749)를 통해 직접 부착될 수 있다. 일 예에서, 스크린(710)은 그래픽 어댑터(750)에 연결될 수 있다. 주변기기 버스를 위한 아키텍처들은 PCI, USB 등을 포함한다.
CPU들(741), GPU들(742), FPGA들(743), 및 가속기들(744)은, 조합하여, 전술한 컴퓨터 코드를 구성할 수 있는 특정한 명령어들을 실행할 수 있다. 해당 컴퓨터 코드는 ROM(745) 또는 RAM(746)에 저장될 수 있다. 전이 데이터는 RAM(746)에 또한 저장될 수 있는 반면, 영구적 데이터는 예를 들어, 내부 대용량 스토리지(747)에 저장될 수 있다. 메모리 디바이스들 중 임의의 것에 대한 고속 저장 및 취출은 하나 이상의 CPU(741), GPU(742), 대용량 스토리지(747), ROM(745), RAM(746) 등에 밀접하게 연관될 수 있는 캐시 메모리의 사용을 통해 가능하게 될 수 있다.
컴퓨터 판독가능 매체는 다양한 컴퓨터 구현 동작들을 수행하기 위한 컴퓨터 코드를 가질 수 있다. 매체 및 컴퓨터 코드는 본 개시의 목적들을 위해 특수하게 설계되고 구성될 수 있거나, 또는 그것들은 컴퓨터 소프트웨어 기술분야들에서 통상의 기술자들에게 널리 공지되고 그러한 기술자들이 이용 가능한 것일 수 있다.
비제한적인 예로서, 아키텍처를 갖는 컴퓨터 시스템(700)과, 특히 코어(740)는 프로세서(들)(CPU들, GPU들, FPGA, 가속기들 등을 포함함)가 하나 이상의 유형의 컴퓨터 판독가능 매체에 구현되는 소프트웨어를 실행한 결과로서 기능을 제공할 수 있다. 이러한 컴퓨터 판독가능 매체들은 위에서 소개된 바와 같은 사용자 액세스가능 대용량 스토리지뿐만 아니라 비일시적 특성으로 된 코어(740)의 특정한 스토리지와 연관되는 매체, 이를테면 코어 내부 대용량 스토리지(747) 또는 ROM(745)일 수 있다. 본 개시의 다양한 실시예들을 구현하는 소프트웨어는 이러한 디바이스들에 저장되고 코어(740)에 의해 실행될 수 있다. 컴퓨터 판독가능 매체가 특정 요구에 따라 하나 이상의 메모리 디바이스들 또는 칩들을 포함할 수 있다. 소프트웨어는 코어(740)와 구체적으로는 그 안의 프로세서들(CPU, GPU, FPGA 등을 포함함)이 RAM(746)에 저장되는 데이터 구조들을 정의하는 것과 이러한 데이터 구조들을 소프트웨어에 의해 정의되는 프로세스들에 따라 수정하는 것을 포함하여, 본 개시에서 설명되는 특정 프로세스들 또는 특정 프로세스들의 특정 부분들을 실행하게 할 수 있다. 추가적으로 또는 대안으로서, 컴퓨터 시스템은 본 개시에서 설명되는 특정 프로세스들 또는 특정 프로세스들의 특정 부분들을 실행하기 위해 소프트웨어 대신 또는 그러한 소프트웨어와 함께 동작할 수 있는 회로(예를 들어, 가속기(744))로 하드와이어드되거나 또는 아니면 구현되는 로직의 결과로서 기능을 제공할 수 있다. 소프트웨어에 대한 언급은 로직을 포함할 수 있고, 적절한 경우, 그 반대의 경우도 성립한다. 컴퓨터 판독가능 매체에 대한 언급은, 적절한 경우, 실행을 위한 소프트웨어를 저장하는 회로(이를테면 집적 회로(IC)), 실행을 위한 로직을 구현하는 회로, 또는 둘 다를 포괄할 수 있다. 본 개시는 하드웨어 및 소프트웨어의 임의의 적합한 조합을 포함한다.
본 개시가 예시적인 여러 실시예들을 설명하였지만, 본 개시의 범위 내에 속하는 대체, 순열, 및 다양한 치환 동등물들이 있다. 따라서 본 기술분야의 통상의 기술자들은, 명시적으로 도시되거나 또는 설명되지 않았지만, 본 개시의 원리들을 구현하고 따라서 그 사상 및 범위 내에 있는 수많은 시스템들 및 방법들을 고안할 수 있다는 것이 이해될 것이다.

Claims (20)

  1. 방의 파노라마 이미지로부터 상기 방의 3차원(3D) 기하구조를 생성하는 방법으로서,
    사용자 입력에 기초하여 상기 방의 파노라마 이미지에서 상기 방의 벽 모서리 지점들의 2차원(2D) 위치들을 결정하는 단계 ― 상기 벽 모서리 지점들 각각은 상기 방의 바닥면 또는 천장면 중 하나에 있음 ―;
    상기 벽 모서리 지점들의 2D 위치들, 상기 파노라마 이미지의 사이즈, 및 상기 방의 바닥면과 상기 방의 파노라마 이미지를 촬영(capture)하도록 구성되는 디바이스의 촬영 위치 사이의 거리에 기초하여 상기 벽 모서리 지점들의 3D 위치들을 계산하는 단계;
    상기 벽 모서리 지점들의 순서에 기초하여 상기 방의 레이아웃을 결정하는 단계; 및
    상기 방의 레이아웃과 상기 벽 모서리 지점들의 3D 위치들에 기초하여 상기 방의 3D 기하구조를 생성하는 단계
    를 포함하는, 방법.
  2. 제1항에 있어서, 상기 사용자 입력은 상기 방의 벽 모서리 지점들의 사용자 선택 및 상기 벽 모서리 지점들의 순서를 포함하는, 방법.
  3. 제1항에 있어서, 상기 벽 모서리 지점들 중 적어도 하나는 제1 유형의 벽 모서리 지점이며, 상기 제1 유형의 벽 모서리 지점은 상기 3D 기하구조의 벽 평면을 나타내는, 방법.
  4. 제1항에 있어서, 상기 벽 모서리 지점들 중 적어도 하나는 제2 유형의 벽 모서리 지점이며, 상기 제2 유형의 벽 모서리 지점은 상기 3D 기하구조의 개방 영역 평면을 나타내는, 방법.
  5. 제1항에 있어서, 상기 생성하는 단계는,
    인접한 두 개의 벽 모서리 지점들 중 미리 결정된 것의 유형에 기초하여 상기 3D 기하구조의 평면을 생성하는 단계를 포함하는, 방법.
  6. 제1항에 있어서,
    상기 3D 기하구조의 평면에서의 각각의 3D 위치에 대해, 상기 각각의 3D 위치에 대응하는 상기 방의 파노라마 이미지에서 2D 위치에서의 색 정보에 기초하여 상기 각각의 3D 위치의 색 정보를 결정하는 단계를 더 포함하는, 방법.
  7. 제1항에 있어서,
    상기 3D 기하구조의 각각의 벽 평면은 상기 3D 기하구조의 적어도 하나의 다른 벽 평면에 평행 또는 직교하고,
    상기 방법은 사용자가 상기 벽 모서리 지점들 중 하나를 선택하도록 돕는 가이드 라인을 생성하는 단계를 더 포함하는, 방법.
  8. 제1항에 있어서,
    상기 3D 기하구조의 각각의 벽 평면은 상기 3D 기하구조의 적어도 하나의 다른 벽 평면에 평행 또는 직교하고,
    상기 방법은 상기 사용자에 의해 선택되는 상기 벽 모서리 지점들 중 하나를 조정하는 단계를 더 포함하는, 방법.
  9. 제1항에 있어서,
    상기 방의 파노라마 이미지에서 두 개의 지점들의 2D 위치들을 결정하는 단계;
    상기 두 개의 지점들의 2D 위치들, 상기 파노라마 이미지의 사이즈, 및 상기 방의 바닥면과 상기 디바이스의 촬영 위치 사이의 상기 거리에 기초하여 상기 두 개의 지점들의 3D 위치들을 계산하는 단계; 및
    상기 두 개의 지점들의 3D 위치들 사이의 거리를 계산하는 단계
    를 더 포함하는, 방법.
  10. 장치로서,
    프로세싱 회로부
    를 포함하며, 상기 프로세싱 회로부는
    사용자 입력에 기초하여 방의 파노라마 이미지에서 상기 방의 벽 모서리 지점들의 2차원(2D) 위치들을 결정하며 ― 상기 벽 모서리 지점들 각각은 상기 방의 바닥면 또는 천장면 중 하나에 있음 ―;
    상기 벽 모서리 지점들의 2D 위치들, 상기 파노라마 이미지의 사이즈, 및 상기 방의 바닥면과 상기 방의 파노라마 이미지를 촬영하도록 구성되는 디바이스의 촬영 위치 사이의 거리에 기초하여 상기 벽 모서리 지점들의 3차원(3D) 위치들을 계산하며;
    상기 벽 모서리 지점들의 순서에 기초하여 상기 방의 레이아웃을 결정하며;
    상기 방의 레이아웃과 상기 벽 모서리 지점들의 3D 위치들에 기초하여 상기 방의 3D 기하구조를 생성하도록
    구성되는, 장치.
  11. 제10항에 있어서, 상기 사용자 입력은 상기 방의 벽 모서리 지점들의 사용자 선택 및 상기 벽 모서리 지점들의 순서를 포함하는, 장치.
  12. 제10항에 있어서, 상기 벽 모서리 지점들 중 적어도 하나는 제1 유형의 벽 모서리 지점이며, 상기 제1 유형의 벽 모서리 지점은 상기 3D 기하구조의 벽 평면을 나타내는, 장치.
  13. 제10항에 있어서, 상기 벽 모서리 지점들 중 적어도 하나는 제2 유형의 벽 모서리 지점이며, 상기 제2 유형의 벽 모서리 지점은 상기 3D 기하구조의 개방 영역 평면을 나타내는, 장치.
  14. 제10항에 있어서, 상기 프로세싱 회로부는,
    인접한 두 개의 벽 모서리 지점들 중 미리 결정된 것의 유형에 기초하여 상기 3D 기하구조의 평면을 생성하도록 추가로 구성되는, 장치.
  15. 제10항에 있어서, 상기 프로세싱 회로부는,
    상기 3D 기하구조의 평면에서의 각각의 3D 위치에 대해, 상기 각각의 3D 위치에 대응하는 상기 방의 파노라마 이미지에서 2D 위치에서의 색 정보에 기초하여 상기 각각의 3D 위치의 색 정보를 결정하도록 추가로 구성되는, 장치.
  16. 제10항에 있어서,
    상기 3D 기하구조의 각각의 벽 평면은 상기 3D 기하구조의 적어도 하나의 다른 벽 평면에 평행 또는 직교하고,
    상기 프로세싱 회로부는,
    사용자가 상기 벽 모서리 지점들 중 하나를 선택하도록 돕는 가이드 라인을 생성하도록 추가로 구성되는, 장치.
  17. 제10항에 있어서,
    상기 3D 기하구조의 각각의 벽 평면은 상기 3D 기하구조의 적어도 하나의 다른 벽 평면에 평행 또는 직교하고,
    상기 프로세싱 회로부는,
    상기 사용자에 의해 선택되는 상기 벽 모서리 지점들 중 하나를 조정하도록 추가로 구성되는, 장치.
  18. 제10항에 있어서, 상기 프로세싱 회로부는,
    상기 방의 파노라마 이미지에서 두 개의 지점들의 2D 위치들을 결정하며;
    상기 두 개의 지점들의 2D 위치들, 상기 파노라마 이미지의 사이즈, 및 상기 방의 바닥면과 상기 디바이스의 촬영 위치 사이의 상기 거리에 기초하여 상기 두 개의 지점들의 3D 위치들을 계산하며;
    상기 두 개의 지점들의 3D 위치들 사이의 거리를 계산하도록
    추가로 구성되는, 장치.
  19. 명령어들을 저장하는 비일시적 컴퓨터 판독가능 저장 매체로서,
    상기 명령어들은, 적어도 하나의 프로세서에 의해 실행될 때, 상기 적어도 하나의 프로세서로 하여금,
    사용자 입력에 기초하여 방의 파노라마 이미지에서 상기 방의 벽 모서리 지점들의 2차원(2D) 위치들을 결정하는 것 ― 상기 벽 모서리 지점들 각각은 상기 방의 바닥면 또는 천장면 중 하나에 있음 ―;
    상기 벽 모서리 지점들의 2D 위치들, 상기 파노라마 이미지의 사이즈, 및 상기 방의 바닥면과 상기 방의 파노라마 이미지를 촬영하도록 구성되는 디바이스의 촬영 위치 사이의 거리에 기초하여 상기 벽 모서리 지점들의 3차원(3D) 위치들을 계산하는 것;
    상기 벽 모서리 지점들의 순서에 기초하여 상기 방의 레이아웃을 결정하는 것; 및
    상기 방의 레이아웃과 상기 벽 모서리 지점들의 3D 위치들에 기초하여 상기 방의 3D 기하구조를 생성하는 것
    을 수행하게 하는, 비일시적 컴퓨터 판독가능 저장 매체.
  20. 제19항에 있어서, 상기 사용자 입력은 상기 방의 벽 모서리 지점들의 사용자 선택 및 상기 벽 모서리 지점들의 순서를 포함하는, 비일시적 컴퓨터 판독가능 저장 매체.
KR1020227037911A 2021-05-07 2021-10-18 3d 기하구조를 구성하는 방법 및 장치 KR20220161445A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US202163185946P 2021-05-07 2021-05-07
US63/185,946 2021-05-07
US17/502,973 2021-10-15
US17/502,973 US11670045B2 (en) 2021-05-07 2021-10-15 Method and apparatus for constructing a 3D geometry
PCT/US2021/055393 WO2022235291A1 (en) 2021-05-07 2021-10-18 Method and apparatus for constructing a 3d geometry

Publications (1)

Publication Number Publication Date
KR20220161445A true KR20220161445A (ko) 2022-12-06

Family

ID=83900545

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227037911A KR20220161445A (ko) 2021-05-07 2021-10-18 3d 기하구조를 구성하는 방법 및 장치

Country Status (6)

Country Link
US (1) US11670045B2 (ko)
EP (1) EP4107661A4 (ko)
JP (1) JP2023529787A (ko)
KR (1) KR20220161445A (ko)
CN (1) CN115516517A (ko)
WO (1) WO2022235291A1 (ko)

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7523411B2 (en) * 2000-08-22 2009-04-21 Bruce Carlin Network-linked interactive three-dimensional composition and display of saleable objects in situ in viewer-selected scenes for purposes of object promotion and procurement, and generation of object advertisements
US7995054B2 (en) 2005-11-21 2011-08-09 Leica Geosystems Ag Identification of edge regions from 3D point data
US8633939B2 (en) 2009-02-05 2014-01-21 Autodesk, Inc. System and method for painting 3D models with 2D painting tools
US8515185B2 (en) 2009-11-25 2013-08-20 Google Inc. On-screen guideline-based selective text recognition
US20140132633A1 (en) * 2011-07-20 2014-05-15 Victoria Fekete Room design system with social media interaction
US9971853B2 (en) * 2014-05-13 2018-05-15 Atheer, Inc. Method for replacing 3D objects in 2D environment
CN107660300B (zh) 2015-03-24 2021-01-29 开利公司 用于提供指示建筑物的入侵者威胁等级的图形用户界面的系统和方法
WO2016154320A1 (en) 2015-03-24 2016-09-29 Carrier Corporation System and method for determining rf sensor performance relative to a floor plan
US9613423B2 (en) * 2015-06-12 2017-04-04 Google Inc. Using a depth map of a monitored scene to identify floors, walls, and ceilings
US10395435B2 (en) * 2016-04-04 2019-08-27 Occipital, Inc. System for multimedia spatial annotation, visualization, and recommendation
WO2018031621A1 (en) * 2016-08-11 2018-02-15 Magic Leap, Inc. Automatic placement of a virtual object in a three-dimensional space
US20190033989A1 (en) * 2017-07-31 2019-01-31 Google Inc. Virtual reality environment boundaries using depth sensors
US10304254B2 (en) * 2017-08-08 2019-05-28 Smart Picture Technologies, Inc. Method for measuring and modeling spaces using markerless augmented reality
CN108961395B (zh) * 2018-07-03 2019-07-30 上海亦我信息技术有限公司 一种基于拍照重建三维空间场景的方法
US10937247B1 (en) * 2019-03-11 2021-03-02 Amazon Technologies, Inc. Three-dimensional room model generation using ring paths and photogrammetry
CA3134424A1 (en) * 2019-03-18 2020-09-24 Geomagical Labs, Inc. Virtual interaction with three-dimensional indoor room imagery
US11263457B2 (en) * 2019-04-01 2022-03-01 Houzz, Inc. Virtual item display simulations
US11388437B2 (en) 2019-06-28 2022-07-12 Tencent America LLC View-position and angle dependent processing of point cloud data

Also Published As

Publication number Publication date
EP4107661A1 (en) 2022-12-28
CN115516517A (zh) 2022-12-23
JP2023529787A (ja) 2023-07-12
WO2022235291A1 (en) 2022-11-10
US20220358716A1 (en) 2022-11-10
US11670045B2 (en) 2023-06-06
EP4107661A4 (en) 2023-08-23

Similar Documents

Publication Publication Date Title
US9990760B2 (en) Generating a 3D interactive immersive experience from a 2D static image
JP6246914B2 (ja) 未知の対象物に対する拡張現実コンテンツの生成
JP2023036602A (ja) 拡張された仮想現実
CN106663334B (zh) 通过计算装置执行的方法、移动通信装置和存储介质
US20160217616A1 (en) Method and System for Providing Virtual Display of a Physical Environment
US10140000B2 (en) Multiscale three-dimensional orientation
US8773468B1 (en) System and method for intuitive manipulation of the layering order of graphics objects
JP2014504384A (ja) 2次元画像からの3次元バーチャルツアーの生成
US9704282B1 (en) Texture blending between view-dependent texture and base texture in a geographic information system
US20150370322A1 (en) Method and apparatus for bezel mitigation with head tracking
JP2016144089A (ja) 画像処理装置およびその制御方法
EP3655928B1 (en) Soft-occlusion for computer graphics rendering
US20190130599A1 (en) Systems and methods for determining when to provide eye contact from an avatar to a user viewing a virtual environment
KR20140145217A (ko) 공간정보를 이용한 3차원 가상 모델링 시스템 및 그 방법
TW201921318A (zh) 用於產生場景之舖磚式三維影像表示之設備及方法
US11651533B2 (en) Method and apparatus for generating a floor plan
US20190130631A1 (en) Systems and methods for determining how to render a virtual object based on one or more conditions
KR102197504B1 (ko) 사전 계산된 조명으로 증강 현실 환경을 구성하는 기법
US11756260B1 (en) Visualization of configurable three-dimensional environments in a virtual reality system
KR20220161445A (ko) 3d 기하구조를 구성하는 방법 및 장치
JP2023527438A (ja) リアルタイム深度マップを用いたジオメトリ認識拡張現実効果
US20230351706A1 (en) Scanning interface systems and methods for building a virtual representation of a location
JP7119853B2 (ja) 変更画素領域抽出装置、画像処理システム、変更画素領域抽出方法、画像処理方法及びプログラム
US20230394765A1 (en) Generation of 3D Room Plans With 2D Shapes and 3D Primitives
Егизбаев et al. AN OVERVIEW OF AUGMENTED REALITY AND ITS APPLICATION IN THE FIELD OF INTERIOR DESIGN

Legal Events

Date Code Title Description
A201 Request for examination