KR20190098201A - 인테리어 공간의 3d 그리드 표현에서 2d 플로어 플랜 추출 - Google Patents
인테리어 공간의 3d 그리드 표현에서 2d 플로어 플랜 추출 Download PDFInfo
- Publication number
- KR20190098201A KR20190098201A KR1020197021053A KR20197021053A KR20190098201A KR 20190098201 A KR20190098201 A KR 20190098201A KR 1020197021053 A KR1020197021053 A KR 1020197021053A KR 20197021053 A KR20197021053 A KR 20197021053A KR 20190098201 A KR20190098201 A KR 20190098201A
- Authority
- KR
- South Korea
- Prior art keywords
- interior space
- grid
- voxels
- scan
- voxel
- Prior art date
Links
- 238000003384 imaging method Methods 0.000 claims abstract description 41
- 238000000034 method Methods 0.000 claims description 83
- 238000013527 convolutional neural network Methods 0.000 claims description 49
- 238000012549 training Methods 0.000 claims description 8
- 238000002372 labelling Methods 0.000 claims description 5
- 230000006870 function Effects 0.000 description 22
- 238000010586 diagram Methods 0.000 description 14
- 238000003860 storage Methods 0.000 description 12
- 230000008901 benefit Effects 0.000 description 10
- 238000004458 analytical method Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 9
- 230000004044 response Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 238000012935 Averaging Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 235000004522 Pentaglottis sempervirens Nutrition 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000002059 diagnostic imaging Methods 0.000 description 2
- 230000012447 hatching Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012804 iterative process Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 210000002569 neuron Anatomy 0.000 description 2
- 238000005096 rolling process Methods 0.000 description 2
- 230000035945 sensitivity Effects 0.000 description 2
- 238000005406 washing Methods 0.000 description 2
- 241000699670 Mus sp. Species 0.000 description 1
- 230000002730 additional effect Effects 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000001815 facial effect Effects 0.000 description 1
- 230000004886 head movement Effects 0.000 description 1
- 238000010191 image analysis Methods 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000009418 renovation Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000010407 vacuum cleaning Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/06—Topological mapping of higher dimensional structures onto lower dimensional surfaces
- G06T3/067—Reshaping or unfolding 3D tree structures onto 2D planes
-
- G06T3/0037—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/20—Image signal generators
- H04N13/204—Image signal generators using stereoscopic image cameras
- H04N13/239—Image signal generators using stereoscopic image cameras using two 2D image sensors having a relative position equal to or related to the interocular distance
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/20—Image signal generators
- H04N13/204—Image signal generators using stereoscopic image cameras
- H04N13/243—Image signal generators using stereoscopic image cameras using three or more 2D image sensors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/20—Image signal generators
- H04N13/204—Image signal generators using stereoscopic image cameras
- H04N13/254—Image signal generators using stereoscopic image cameras in combination with electromagnetic radiation sources for illuminating objects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/20—Image signal generators
- H04N13/271—Image signal generators wherein the generated image signals comprise depth maps or disparity maps
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/20—Image signal generators
- H04N13/282—Image signal generators for generating image signals corresponding to three or more geometrical viewpoints, e.g. multi-view systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/45—Cameras or camera modules comprising electronic image sensors; Control thereof for generating image signals from two or more image sensors being of different type or operating in different modes, e.g. with a CMOS sensor for moving images in combination with a charge-coupled device [CCD] for still images
-
- H04N5/2258—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/04—Indexing scheme for image data processing or generation, in general involving 3D image data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/08—Indexing scheme for image data processing or generation, in general involving all processing steps from image acquisition to 3D model generation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/04—Architectural design, interior design
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Geometry (AREA)
- Computer Graphics (AREA)
- Electromagnetism (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Image Analysis (AREA)
Abstract
인테리어 공간(100, 1600)의 3D 스캔을 수행하도록 영상 카메라(212)와 깊이 카메라(302, 304, 306)가 구성된다. 프로세서(1510)는 3D 스캔에 기초하여 3차원(3D) 그리드에서 복셀(voxels)을 생성하도록 구성된다. 복셀은 인테리어 공간의 볼륨의 일부를 나타낸다. 프로세서는 또한 인테리어 공간의 2D 플로어 플랜(2100)에서 복셀을 타일(620, 920)상에 투영하고, 상기 타일에 기초하여 상기 인테리어 공간내의 피처들을 나타내는 2D 거리 그리드(700)를 생성하도록 구성된다. 프로세서는 2D 거리 그리드에 기초하여, 실시간으로 플로어 플랜의 요소를 나타내는 폴리곤 세트(801, 802, 803)를 생성하도록 더 구성된다. 프로세서는 플로어 플랜을 나타내는 단순화된 프리미티브 세트(1205)를 생성하도록 더 구성된다.
Description
건물, 주택 또는 아파트의 2차원(2D) 플로어 플랜(floor plan)은 대응하는 구조물의 중요한 표현이다. 예를 들어, 2D 플로어 플랜은 주택 또는 건물의 잠재 구매자, 아파트의 잠재 세입자, 인테리어 공간의 재설계를 계획중인 인터리어 디자이너, 구조물의 개축에 관여한 건축가 등을 위한 룸(room) 레이아웃을 나타내는데 사용된다. 2D 플로어 플랜을 생성하는 종래의 프로세스는 인테리어 공간의 3차원 형상(3D geometry)을 스캔하는데 시스템이 사용될 수 있다고 하더라도 인간의 개입을 필요로 한다. 예를 들어, 설계사는 일반적으로 스캐닝된 3D 형상에 기초하여 2D 건축 플로어 플랜을 그려야 한다. 더욱이, 3D 스캐닝을 수행하기 위한 상업적으로 이용 가능한 시스템은 비교적 고가이며 스캐닝 프로세스는 시간 및 노동 집약적이다. 예를 들어, 종래의 3D 스캐닝 시스템은 삼각대에 장착되며 스캐닝되는 구조물 의 여러 획득 위치로 이동되어야 하는 감지기들을 사용한다. 각 획득 위치에서 스캐닝 시간은 일반적으로 수 분이상이다. 모바일 3D 스캐닝은 모바일 전화기에 깊이 (depth) 카메라를 추가하여 구조물의 3D 형상을 캡처하여 구현할 수 있다. 그러나, 이러한 접근법은 여전히 3D 형상에서 2D 플로어 플랜을 수동으로 추출해야 한다. 따라서, 최신 플로어 플랜은 대부분의 건물, 주택 및 아파트에 대해 사용될 수 없다.
본 발명은 첨부된 도면을 참조함으로써 보다 잘 이해될 수 있고, 많은 특징 및 이점은 단업자에게 명백해질 수 있다. 다른 도면에서 동일한 참조 부호의 사용은 유사하거나 동일한 항목을 나타낸다.
도 1은 본 발명의 일 실시예에 따른 인테리어 공간 및 인테리어 공간의 3차원 스캐닝을 수행하는 전자 디바이스의 도면이다.
도 2 및 도 3은 일부 실시예에 따른 태블릿 폼 팩터에서의 전자 디바이스의 예시적인 구현예의 예시적인 전면 및 후면 평면뷰를 도시한다.
도 4는 본 발명의 적어도 하나의 실시예에 따른 도 2 및 도 3의 평면뷰에 묘사된 선을 따른 전자 디바이스의 예시적인 단면뷰를 도시한다.
도 5는 일부 실시예에 따른 아파트 또는 주택과 같은 건물의 인테리어 공간의 하향식 뷰를 도시한다.
도 6은 일부 실시예에 따른 인테리어 공간을 나타내는 3D 그리드의 일부의 블록도이다.
도 7은 일부 실시예에 따른 인테리어 공간내의 벽, 여유 공간 및 가구를 나타내는 2차원(2D) 거리 그리드이다.
도 8은 일부 실시예에 따른 인테리어 공간의 플로어 플랜을 나타내는 폴리곤 세트를 생성하는 방법을 도시한다.
도 9는 일부 실시예에 따른 인테리어 공간을 나타내는 3D 그리드의 일부의 블록도이다.
도 10은 일부 실시예에 따른 다수의 기본 배향(primary orientation)을 포함하는 인테리어 공간의 하향식 뷰이다.
도 11은 일부 실시예에 따른 2D 거리 그리드의 상이한 배향에 대응하는 가중치의 히스토그램이다.
도 12는 일부 실시예에 따른 다수의 기본 배향을 갖는 인테리어 공간의 2D 거리 그리드에 기초하여 생성된 프리미티브(primitives) 세트를 나타낸다.
도 13은 일부 실시예에 따른 복셀의 3D 그리드로부터 2D 플로어 플랜을 생성하는 방법의 흐름도이다.
도 14는 일부 실시예에 따른 2D 거리 그리드를 나타내는 프리미티브 세트를 반복적으로 선택하는 방법의 흐름도이다.
도 15는 일부 실시예에 따른 3D 복셀의 값을 수직으로 투영함으로써 2D 플로어 플랜을 생성하도록 구성된 전자 디바이스의 블록도이다.
도 16은 일부 실시예에 따른 다양한 단편의 가구를 포함하는 건물의 인테리어 공간의 하향식 뷰이다.
도 17은 일부 실시예에 따른 인테리어 공간의 일부에 위치한 가구에 기초하여 인테리어 공간의 일부를 라벨링하도록 트레이닝된 컨볼루션 신경망(CNN)의 블록도이다.
도 18은 일부 실시예들에 따른 CNN의 입력으로 제공되는 타일 및 중첩 타일들의 세트를 나타내는 블록도이다.
도 19는 일부 실시예에 따른 인테리어 공간의 윤곽에 중첩되는 라벨링된 타일의 맵 블록도이다.
도 20은 일부 실시예에 따른 인테리어 공간의 플로어 플랜의 일부를 라벨링하는 방법의 흐름도이다.
도 21은 일부 실시예에 따른 라벨링된 2D 플로어 플랜을 도시한다.
도 1은 본 발명의 일 실시예에 따른 인테리어 공간 및 인테리어 공간의 3차원 스캐닝을 수행하는 전자 디바이스의 도면이다.
도 2 및 도 3은 일부 실시예에 따른 태블릿 폼 팩터에서의 전자 디바이스의 예시적인 구현예의 예시적인 전면 및 후면 평면뷰를 도시한다.
도 4는 본 발명의 적어도 하나의 실시예에 따른 도 2 및 도 3의 평면뷰에 묘사된 선을 따른 전자 디바이스의 예시적인 단면뷰를 도시한다.
도 5는 일부 실시예에 따른 아파트 또는 주택과 같은 건물의 인테리어 공간의 하향식 뷰를 도시한다.
도 6은 일부 실시예에 따른 인테리어 공간을 나타내는 3D 그리드의 일부의 블록도이다.
도 7은 일부 실시예에 따른 인테리어 공간내의 벽, 여유 공간 및 가구를 나타내는 2차원(2D) 거리 그리드이다.
도 8은 일부 실시예에 따른 인테리어 공간의 플로어 플랜을 나타내는 폴리곤 세트를 생성하는 방법을 도시한다.
도 9는 일부 실시예에 따른 인테리어 공간을 나타내는 3D 그리드의 일부의 블록도이다.
도 10은 일부 실시예에 따른 다수의 기본 배향(primary orientation)을 포함하는 인테리어 공간의 하향식 뷰이다.
도 11은 일부 실시예에 따른 2D 거리 그리드의 상이한 배향에 대응하는 가중치의 히스토그램이다.
도 12는 일부 실시예에 따른 다수의 기본 배향을 갖는 인테리어 공간의 2D 거리 그리드에 기초하여 생성된 프리미티브(primitives) 세트를 나타낸다.
도 13은 일부 실시예에 따른 복셀의 3D 그리드로부터 2D 플로어 플랜을 생성하는 방법의 흐름도이다.
도 14는 일부 실시예에 따른 2D 거리 그리드를 나타내는 프리미티브 세트를 반복적으로 선택하는 방법의 흐름도이다.
도 15는 일부 실시예에 따른 3D 복셀의 값을 수직으로 투영함으로써 2D 플로어 플랜을 생성하도록 구성된 전자 디바이스의 블록도이다.
도 16은 일부 실시예에 따른 다양한 단편의 가구를 포함하는 건물의 인테리어 공간의 하향식 뷰이다.
도 17은 일부 실시예에 따른 인테리어 공간의 일부에 위치한 가구에 기초하여 인테리어 공간의 일부를 라벨링하도록 트레이닝된 컨볼루션 신경망(CNN)의 블록도이다.
도 18은 일부 실시예들에 따른 CNN의 입력으로 제공되는 타일 및 중첩 타일들의 세트를 나타내는 블록도이다.
도 19는 일부 실시예에 따른 인테리어 공간의 윤곽에 중첩되는 라벨링된 타일의 맵 블록도이다.
도 20은 일부 실시예에 따른 인테리어 공간의 플로어 플랜의 일부를 라벨링하는 방법의 흐름도이다.
도 21은 일부 실시예에 따른 라벨링된 2D 플로어 플랜을 도시한다.
구조물의 2D 플로어 플랜은 구조물로 둘러싸인 볼륨을 나타내는 3D 그리드에서 복셀의 수직 투영을 사용하여 생성된다. 일부 실시예에서, 3D 그리드는 2D 카메라 및 깊이 카메라를 구현하는 모바일 전화기에서 3D 스캐닝 애플리케이션을 사용하여 획득된다. 복셀은 그의 공간 위치, 그 복셀의 공간 범위, 그 복셀의 관측 수(또는 정보의 가중치) 및 그 복셀에 가장 가까운 표면에 대한 추정된 부호화 거리(signed distance)를 포함하는 정보를 저장한다. 스캐닝된 볼륨을 나타내는 삼각형의 3D 메쉬는 복셀 값에 기초하여 생성(또는 추출)된다. 2차원 플로어 플랜의 2D 타일에 대한 복셀의 수직 투영은 그 타일에 대한 2D 가중치를 결정하기 위해 수직 방향을 따라 복셀의 가중치를 합산하는 단계 및 그 타일에 대한 2D 부호화 거리를 결정하기 위해 수직 방향을 따라 상기 부호화 거리의 가중된 합을 결정하는 단계를 포함한다. 일부 실시예에서, 추가 피처는 위에서 볼 수 있는 가장 높은 표면의 높이, 아래에서 볼 수 있는 가장 낮은 표면의 높이, 수직 밴드(vertical band)에서 점유 공간에 대한 여유 공간(free space)의 비율 등과 같은 3D 표현으로부터 추출된다. 타일의 2D 가중치 및 2D 부호화 거리는 벽, 여유 공간, 가구, 문, 창문 등과 같은 구조물의 피처를 나타내는 2D 거리 그리드를 생성하는데 사용된다. 경우에 따라 2D 거리 그리드는 플로어 플랜의 피처를 나타내는 폴리곤으로 변환된다.
2D 플로어 플랜의 실시간 생성은 3D 그리드를 사전 결정된 수의 복셀(예를 들어, 16×16×16 복셀의 볼륨)을 포함하는 볼륨 세트로 세분하는 것에 의해 지원된다. 시스템은 구조물의 새로운 깊이 이미지 획득에 응답하여 영향을 받는 볼륨을 식별한다. 영향을 받는 볼륨의 복셀 값만이 업데이트되고 대응하는 3D 메쉬가 다시 추출된다. 2D 플로어 플랜에서 타일 서브 세트는 상기 타일 서브 세트에 수직으로 투영되는 복셀을 포함하는 대응하는 볼륨과 연관된다. 2D 플로어 플랜은 타일 서브 세트와 연관된 각 수직 열의 하나 이상의 볼륨이 업데이트되었는지 여부를 결정함으로써 업데이트된다. 그렇게 되면, 타일 서브 세트를 포함하는 2D 플로어 플랜의 일부가 다시 계산되고 대응하는 폴리곤(또는 부분 폴리곤)이 추출된다. 2D 플로어 플랜의 노이즈는 플로어 플랜을 선, 사각형, 삼각형, 원형, 폴리곤 등과 같은 일련의 프리미티브(primitive)로 표현함으로써 감소된다. 프리미티브는 여유 공간, 벽, 미지의 것(unknown)과 같은 시맨틱(의미론적) 클래스뿐만 아니라 가구, 문, 창 등을 포함할 수 있는 다른 클래스와 관련된다. 프리미티브는 임의의 방향으로 배향될 수 있다. 반복 프로세스는 한 세트의 프리미티브 및 배향에 대한 비용 함수를 최소화함으로써 2D 플로어 플랜을 근사화하는 일련의 프리미티브와 대응하는 배향을 찾는데 사용된다.
도 1은 일부 실시예에 따라 인테리어 공간(100) 및 인테리어 공간(100)의 3D 스캐닝을 수행하는 전자 디바이스(110)의 도면이다. 인테리어 공간(100)은 가구(예를 들어, 책장(101)), 벽(102, 103), 문(104) 및 창문(105)과 같은 피처를 포함하는 볼륨을 둘러싸고 있다. 인테리어 공간(100)의 일부 실시예는 추가적인 룸, 다른 유형의 가구 및 인테리어 공간(100) 내에 배치되는 다양한 다른 객체를 포함한다.
전자 디바이스(110)는 본 발명의 적어도 하나의 실시예에 따라 이미지 및 비-이미지 센서 데이터를 사용하여 SLAM(simultaneous localization and mapping) 또는 증강 현실(AR)과 같은 위치 기반 기능을 지원하도록 구성된다. 전자 디바이스(110)는 태블릿 컴퓨터, 컴퓨팅 가능 형 휴대 전화(예컨대, "스마트폰"), 노트북 컴퓨터, PDA(personal digital assistant), 원격 게임 시스템, 원격 텔레비전, AR/VR 헤드셋 등을 포함할 수 있다. 다른 실시예에서, 전자 디바이스(110)는 진공 청소 로봇, 의료 영상 장비, 보안 영상 카메라 시스템, 산업 로봇 제어 시스템, 드론 제어 시스템, 3D 스캐닝 디바이스와 같은 개인용 서비스 로봇과 같은 고정 디바이스를 포함한다. 예시의 용이함을 위해, 본 발명에서 전자 디바이스(110)는 태블릿 컴퓨터 또는 스마트폰과 같은 휴대용 사용자 디바이스의 예시적인 컨텍스트에서 일반적으로 기술되지만, 전자 디바이스(110)는 이러한 예시적인 구현에 제한되지 않는다.
전자 디바이스(110)는 인테리어 공간(100)에 관한 정보를 획득하기 위해 복수의 센서를 포함한다. 전자 디바이스(110)는 인테리어 공간(100)에 대한 시각 정보(이미지)를 영상 카메라 및 전방-지향(forward-facing) 표면에 배치된 깊이 센서를 통해 그리고 일부 실시예에서는 사용자-지향 표면에 배치된 영상 카메라를 통해 획득한다. 본 명세서에서 논의된 바와 같이, 영상 카메라 및 깊이 센서는 인테리어 공간(100)의 환경의 3D 스캐닝을 수행하는데 사용된다. 일부 실시예에서, 전자 디바이스(110)를 들고 있는 사용자는 화살표(115, 120)로 표시된 바와 같이 인테리어 공간(100)을 통해 이동한다. 사용자는 점선 타원(125)으로 나타난 바와 같이, 영상 카메라 및 깊이 센서가 이미지를 캡처하고 인테리어 공간(100)의 일부의 깊이감을 감지할 수 있도록 전자 디바이스(110)를 향하게 한다. 캡처된 이미지 및 대응하는 깊이감은 인테리어 공간(100)의 3D 그리드 표현 및 인테리어 공간(100)의 2D 평면을 생성하는데 나중에 사용하기 위해 전자 디바이스(110)에 의해 저장된다.
전자 디바이스(110)의 일부 실시예는 위치/배향 검출을 위해 비-이미지 정보에 의존한다. 이러한 비-이미지 정보는 자이로스코프 또는 주변 광 센서와 같은 하나 이상의 비-이미지 센서(도 1에 도시되지 않음)를 통해 전자 디바이스(110)에 의해 획득될 수 있다. 비-이미지 센서는 또한 키패드(예를 들어, 터치 스크린 또는 키보드), 마이크로폰, 마우스 등과 같은 사용자 인터페이스 구성 요소를 포함할 수 있다. 주어진 시점에서 전자 디바이스(110)의 상태를 나타내는 비-이미지 센서 정보는 그 시점에 대한 전자 디바이스의 "현재의 컨텍스트"로 지칭된다. 이러한 현재의 컨텍스트는 전자 디바이스(110)의 상대적 회전 배향 또는 전자 디바이스(110) 상에 입사하는 로컬 환경으로부터 주변 광과 같은 명시적인 컨텍스트를 포함할 수 있다. 예를 들어, 현재의 컨텍스트는 인테리어 공간(100) 내의 전자 디바이스(110)의 3차원 좌표 및 피치, 롤 및 요와 같은 전자 디바이스(110)의 회전 좌표를 나타내는 전자 디바이스(110)의 6 자유도(6DoF) 포즈를 포함할 수 있다. 현재의 컨텍스트는 또한 캘린더 정보 또는 시각(clock) 정보로부터 추론된 정보와 같은 암시적 컨텍스트 정보 또는 전자 디바이스(110)와의 사용자 상호 작용으로부터 추론된 정보를 포함할 수 있다.
동작시, 전자 디바이스(110)는 이미지 센서 데이터 및 비-이미지 센서 데이터를 사용하여 전자 디바이스(110)의 상대 위치/배향, 즉 인테리어 공간(100)에 대한 위치/배향을 결정한다. 적어도 하나의 실시예에서, 상대 위치/배향의 결정은 하나 이상의 영상 카메라에 의해 캡처된 이미지 데이터내의 공간적 피처의 검출 및 상기 검출된 공간적 피처에 대한 전자 디바이스(110)의 위치/배향의 결정에 기초한다. 자이로스코프, 자력계, 주변광 센서, 키패드, 마이크로폰 등으로부터의 판독과 같은 비-이미지 센서 데이터는 또한 현재의 위치/배향에서 전자 디바이스(110)에 의해 수집된다.
전자 디바이스(110)의 일부 실시예는 전자 디바이스(110)의 상대 위치/배향, 전자 디바이스(110)의 포즈, 이미지 센서 데이터 및 깊이 센서 데이터를 결합하여, 인테리어 공간(100)을 나타내는 복셀의 3D 그리드, 및 책장(101), 벽(102, 103), 문(104) 및 창(105)을 포함하는 인테리어 공간(100) 내의 피처를 생성한다. 각 복셀은 인테리어 공간(100)으로 둘러싸인 볼륨의 일부를 나타낸다. 복셀은 인테리어 공간(100)의 볼륨의 대응 부분 및 복셀과 관련된 표면에 대한 부호화 거리를 포함하는 관측치의 수를 나타내는 가중치 값을 포함한다.
전자 디바이스(110)는 3D 그리드를 인테리어 공간(100)의 바닥면에 수직으로 투영하여 인테리어 공간(100)을 나타내는 2D 거리 그리드를 생성할 수 있다. 도시된 실시예에서, 2D 거리 그리드는 인테리어 공간(100)의 플로어 플랜에서 책장(101) 및 벽(102, 103)의 위치를 나타낸다. 2D 거리 그리드는 또한 문(104), 창문(105), 및 인테리어 공간(100) 내의 다른 객체 또는 피처의 위치를 나타내는 정보를 포함할 수 있다. 전자 디바이스(110)의 일부 실시예는 전자 디바이스(110)가 3D 스캔을 수행하는 동안 이전 시간 간격에서 변경된 복셀의 서브 세트를 액세스함으로써 인테리어 공간(100)의 3D 스캔을 수행하는 것과 동시에 2D 거리 그리드를 생성한다. 2D 그리드의 노이즈는 선, 원형, 삼각형, 직사각형 또는 다른 폴리곤과 같은 프리미티브 세트로 인테리어 공간(100)의 2D 플로어 플랜을 표현함으로써 감소된다. 따라서, 전자 디바이스(110)의 몇몇 실시예는 프리미티브가 인테리어 공간(100)을 나타내기 위해 사용되는 프리미티브 세트에 추가될 때 비용 함수를 최소화하는 프리미티브를 반복적으로 선택할 수 있다. 본 명세서에서 논의된 바와 같이, 비용 함수는 프리미티브 세트가 2D 거리 그리드와 얼마나 잘 매칭하는지를 나타낸다.
도 2 및 도 3은 일부 실시예에 따른 태블릿 폼 팩터에서의 전자 디바이스(110)의 예시적인 구현의 예시적인 전면 및 후면 뷰를 도시한다. 전자 디바이스(110)는 예시된 것과 유사한 구성을 구현하는 스마트폰 폼 팩터, 의료용 영상 디바이스 폼 팩터 등과 같은 다른 폼 팩터로 구현될 수 있다.
도 2의 전면 뷰(200)에 의해 도시된 바와 같이, 전자 디바이스(110)는 사용자-지향 표면(208)에 배치된 키패드의 터치 키(202, 204 및 206)와 같은 하나 이상의 사용자 인터페이스 구성 요소를 포함할 수 있다. 전자 디바이스(110)는 또한 디스플레이(210)를 포함한다. 디스플레이(210)의 몇몇 실시예는 사용자의 입력 및 디스플레이(210)와의 사용자 상호 작용을 통한 제어를 용이하게 하기 위해 터치 스크린 디스플레이로서 구현된다. 예시된 실시예에서, 전자 디바이스(110)는 사용자-지향 영상 카메라(212)를 더 포함한다. 영상 카메라(212)는 표면(208)에 대향하는 로컬 환경에 대한 영상 데이터를 캡처하는데 사용될 수 있다. 또한, 일부 실시예에서, 영상 카메라(212)는 헤드의 움직임 또는 안면 인식을 을 추적하기 위해 구성되어, 디스플레이(210)를 통해 제시되는 이미지의 뷰 시각을 조정하는데 사용될 수 있는 헤드 추적 정보를 제공한다.
도 3의 후면 뷰(300)에 의해 도시된 바와 같이, 전자 디바이스(110)는 전방-지향 표면(310)에 배치된 광각 영상 카메라(302), 협각 영상 카메라(304) 및 변조 광 프로젝터(306)를 포함한다.
일 실시예에서, 영상 카메라(302)는 어안 렌즈 또는 다른 광각 렌즈를 갖는 광각 영상 카메라로서 구현되어 표면(310)에 대면하는 로컬 환경의 보다 넓은 앵글 뷰를 제공한다. 영상 카메라(304)는 전형적인 화각 렌즈를 갖는 협각 영상 카메라로 구현되어 표면(310)에 대면하는 로컬 환경의 보다 좁은 앵글 뷰를 제공한다. 따라서, 영상 카메라(302) 및 영상 카메라(304)는 본 명세서에서 각각 "광각 영상 카메라(302)" 및 "협각 영상 카메라(304)"로도 지칭된다. 아래에서 보다 상세히 기술되는 바와 같이, 광각 영상 카메라(302) 및 협각 영상 카메라(304)는 그들의 시야가 전자 디바이스로부터 지정된 거리에서 시작하여 중첩되도록 전방-지향 표면(310) 상에 위치되고 배향될 수 있어, 다중-뷰 이미지 분석을 통해 중첩 시야의 영역에 위치된 로컬 환경 내의 객체들의 깊이감을 감지할 수 있게 한다.
전자 디바이스(110)에 구현된 깊이 센서의 몇몇 실시예는 변조 광 프로젝 터(306)를 사용하여 전방-지향 표면(310)으로부터의 변조된 광 패턴을 로컬 환경으로 투사하고, 영상 카메라(302, 304) 중 하나 또는 둘 모두를 사용하여 상기 변조된 광 패턴이 로컬 환경내의 객체들로부터 반사되어 되돌아올 때 상기 변조된 광 패턴의 반사를 캡처한다. 이러한 변조된 광 패턴은 공간-변조된 광 패턴 또는 시간-변조된 광 패턴일 수 있다. 변조된 광 패턴의 상기 캡처된 반사는 본 명세서에서 "깊이 이미지"로 지칭된다. 깊이 센서는 깊이 이미지의 분석에 기초하여 객체의 깊이, 즉 전자 디바이스(110)로부터의 객체 거리를 계산한다. 깊이 센서로부터 획득된 결과적인 깊이 데이터는 영상 카메라(302, 304)에 의해 캡처된 이미지 데이터의 멀티 뷰 분석(예를 들어, 입체 분석)으로부터 획득된 깊이 정보를 캘리브레이션하거나 증강시키는데 사용될 수 있다. 대안적으로, 깊이 센서로부터의 깊이 데이터는 다중-뷰 분석으로부터 획득된 깊이 정보 대신에 사용될 수 있다. 설명하기 위해, 다중-뷰 분석은 일반적으로 밝은 조명 조건 및 객체가 비교적 멀리 있을 때 더 적합한 반면, 변조 광-기반 깊이 감지는 낮은 조명 조건 또는 관찰된 객체가 비교적 가까이(예를 들어, 4-5 미터 이내) 있을 때 더 적합하다. 따라서, 전자 디바이스(110)가 실외 또는 비교적 양호한 조명 조건에 있다고 감지할 때, 전자 디바이스(110)는 객체 깊이를 결정하기 위해 다중-뷰 분석을 사용하도록 선택할 수 있다. 반대로, 전자 디바이스(110)가 실외 또는 비교적 불량한 조명 조건에 있다고 감지할 때, 전자 디바이스(110)는 깊이 센서를 통한 변조 광-기반 깊이 감지를 사용하도록 전환할 수 있다.
도 2 및 도 3은 도 4의 예시적인 단면 뷰의 이점을 위해 직선을 따라 정렬된 영상 카메라(212, 302 및 304) 및 변조 광 프로젝터(306)를 도시하지만, 이미지 카메라(212, 302 및 304) 및 변조 광 프로젝터(306)는 서로에 대해 오프셋될 수 있다. 예를 들어, 변조 광 프로젝터(306)는 영상 카메라(302 및 304) 사이에 연장된 선으로부터의 오프셋에 위치될 수 있거나, 또는 변조 광 프로젝터(306) 및 광각 영상 카메라(302)는 전자 디바이스(110)의 상부 에지를 평행한 라인을 따라서 배치될 수 있고, 협각 영상 카메라(304)는 이 라인으로부터 오프셋된 위치에 배치될 수 있다. 또한, 변조 광 프로젝터(306)가 영상 카메라(302 및 304) 사이에 위치된 것으로 도시되어 있지만, 다른 구현 예에서 변조 광 프로젝터(306)는 영상 카메라(302 및 304) 중 하나의 외부에 위치될 수 있다.
도 4는 본 발명의 적어도 일 실시예에 따른 도 2 및 도 3의 플랜 뷰에 도시된 라인(215)을 따른 전자 디바이스(110)의 예시적인 단면 뷰(400)를 도시한다. 도시된 바와 같이, 전자 디바이스(110)는 사용자-지향 표면(208)의 개구(402) 또는 다른 개구에 배치된 사용자-지향 영상 카메라(212)를 포함하고, 개구들(406 및 406)에 각각 배치된 광각 영상 카메라(302) 및 협각 영상 카메라(304), 또는 전방-지향 표면(310)의 다른 개구를 포함한다. 광각 영상 카메라(302)는 이미지 센서(408) 및 이미지 센서(408)의 감지 표면 위에 배치된 하나 이상의 렌즈(410)를 포함한다. 협각 영상 카메라(304)는 이미지 센서(412) 및 이미지 센서(412)의 감지 표면 위에 배치된 하나 이상의 렌즈(414)를 포함한다. 유사하게, 사용자-지향 영상 카메라(212)는 이미지 센서(416) 및 이미지 센서(416)의 감지 표면 위에 배치된 하나 이상의 렌즈(418)를 포함한다.
각 영상 카메라에 대해 구현되는 렌즈 유형은 영상 카메라의 의도된 기능에 따라 다르다. 일 실시예에서 전방-지향 영상 카메라(302)는 로컬 환경을 분석하기 위한 머신 비전-특정 이미지를 위해 의도되기 때문에, 렌즈(410)는 광각 렌즈 또는 알려진 높은 왜곡으로 예를 들어 160-180도 사이의 화각을 갖는 어안 렌즈로 구현될 수 있다. 일 실시예에서 전방-지향 영상 카메라(304)는 사용자-개시 이미지 캡처를 지원하고, 따라서 전방-지향 영상 카메라(304)의 렌즈(414)는 예를 들어 수평으로 80-90도 사이의 화각을 갖는 협각 렌즈로 구현될 수 있다. 이들 화각은 단지 예시적인 것이다. 사용자-지향 영상 카메라(212)는 로컬 환경 촬상 또는 헤드 추적을 지원하는 것에 부가하여 다른 용도를 가질 수 있다. 예를 들어, 사용자-지향 영상 카메라(212)는 또한 전자 디바이스(110)에 대한 화상 회의 기능을 지원하는데 사용될 수 있다. 따라서, 적용예에 따라, 사용자-지향 영상 카메라(212)의 렌즈(418)는 협각 렌즈, 광각 렌즈 또는 어안 렌즈로서 구현될 수 있다.
영상 카메라(212, 302, 304)의 이미지 센서(408, 412, 416)는 CCD(Charge Coupled Device) 기반 센서, CMOS(complementary metal-oxide-semiconductor) 능동 픽셀 센서 등으로 구현될 수 있다. CMOS 기반 구현에서, 이미지 센서는 롤링 셔터 센서를 포함할 수 있으며, 그에 따라 센서상의 다른 모든 행이 계속 노출되는 동안이미지 센서 내의 픽셀 선서들의 하나 이상의 행 그룹이 판독된다. 이 접근법은 더 긴 노출 시간 또는 보다 유용한 감광 영역으로 인해 감도 증가를 제공하는 이점이 있지만 고속 객체가 프레임에 캡처되는 것때문에 왜곡될 수 있는 단점이 있다. 상기 왜곡 효과는 롤링 셔터에 전역(global) 리셋 메커니즘을 구현하여 센서상의 모든 픽셀이 행 단위가 아니라 동시에 전하를 수집하기 시작하도록 함으로써 최소화될 수 있다. CCD 기반 구현에서, 이미지 센서는 전역 셔터 센서로 구현되어 센서의 모든 픽셀이 동시에 노출된 후 다음 이미지 프레임이 노출되는 동안 판독될 수 있는 차폐 영역으로 전달될 수 있다. 이 접근법은 픽셀 당 필요한 추가 전자 디바이스로 인해 일반적으로 감도가 저하되는 단점이 있기 때문에 왜곡에 덜 민감한 이점이 있다.
일부 실시예에서 광각 영상 카메라(302) 및 협각 영상 카메라(304)의 시야는 영역(420)에서 중첩되어, 상기 영역(420)의 로컬 환경 내의 객체들이 광각 영상 카메라(302)에 의해 캡처된 이미지 프레임과 협각 영상 카메라에 의해 동시에 갭처된 이미지 프레임 둘 다에서 표현되어, 전자 디바이스(110)에 의해 상기 영역(420) 내의 객체들의 깊이가 2개의 동시 이미지 프레임의 다중-뷰 분석을 통해 결정되도록 한다. 이와 같이, 전방-지향 영상 카메라(302, 304)는 상기 영역(420)이 의도된 거리 범위를 커버하고 전자 디바이스(110)에 대해 스윕하도록 전방-지향 표면(310)에 위치된다. 더욱이, 다중-뷰 분석은 시차 현상에 의존하기 때문에, 전방-지향 영상 카메라(302 및 304)는 충분히 분리되어 다중 뷰 분석을 위한 적절한 시차를 제공한다.
변조 광 프로젝터(306)의 다양한 예시적인 위치가 단면뷰(400)에 도시되어 있다. 변조 광 프로젝터(306)는 변조된 적외선 광 패턴(424)을 표면(310)에 일반적으로 수직한 방향으로 투사하고, 전방-지향 영상 카메라(302 및 304) 중 하나 또는 둘 모두는 투사된 광 패턴(424)의 반사를 캡처하는데 이용된다. 도시된 예에서, 변조 광 프로젝터(306)는 영상 카메라들(302 및 304) 사이의 위치에서 전방-지향 표면(310)에 배치된다. 다른 실시예에서, 변조 광 프로젝터(306)는 광각 영상 카메라(302)와 하우징의 측면 사이의 위치(422)와 같은, 영상 카메라 중 하나와 하우징의 에지 사이의 위치에 배치될 수 있거나, 협각 영상 카메라(304)와 하우징의 측면 사이의 위치(미도시)에 위치된다.
도 5는 일부 실시예에 따른 아파트 또는 주택과 같은 건물의 인테리어 공간의 하향식(top-down) 뷰(500)를 도시한다. 도 1에 도시된 인테리어 공간(100)의 일부 실시예는 하향식 뷰(500)의 일부에 해당한다. 사용자 장비(505)를 들고 있는 사용자는 인테리어 공간을 통해 경로(510)를 따라 이동한다. 사용자 장비(505)는 도 1, 도 2 및 도 3에 도시된 전자 디바이스(110)의 일부 실시예를 사용하여 구현된다. 사용자가 경로(510)를 따라 이동함에 따라, 사용자는 인테리어 공간의 벽(515)(명료성의 관점에서 도면 부호로 표시된 하나만), 가구(명료성의 관점에서 도 5에 도시되지 않음) 또는 다른 피처와 같은 인테리어 공간의 다양한 피처에서 사용자 장비(505)를 포인팅한다.
사용자 장비(505)는 인테리어 공간의 3D 스캔 동안 수집된 이미지 및 깊이 값을 사용하여 인테리어 공간을 나타내는 3D 그리드를 생성한다. 상기 사용자 장비의 일부 실시예는 인테리어 공간을 나타내기 위해 3D 절단 부호화 거리 함수 (truncated signed distance function : TSDF) 그리드를 생성한다. 예를 들어, 사용자 장비(505)는 VIO(visual-inertial odometry) 또는 COM(concurrent odometry and mapping)을 사용하여 카메라 포즈를 실시간으로 추정할 수 있다. 깊이 이미지는 인테리어 공간의 피처들을 나타내는 3D 볼륨 TSDF 그리드를 만드는데 사용된다. 당 업계에 공지되어 있고 명료성의 관점에서 3D TSDF 그리드를 생성하는 기술은 본 발명에서 더 이상 논의하지 않는다. 일부 실시예에서, 3D TSDF 그리드는 사용자 장비(505)에 의해 획득되는 각각의 깊이 이미지에 응답하여 업데이트된다. 대안적으로, 3D TSDF 그리드는 사전 결정된 수의 깊이 이미지들을 획득하는 것에 응답하여 또는 소정의 시간 간격 경과에 응답하여 업데이트된다. 3차원 삼각형 메쉬는 3D TSDF 그리드로부터, 예를 들어 마칭(marching) 큐브 알고리즘을 사용하여 추출된다.
3D TSDF 그리드는 특정 측면 길이, 예를 들어 2 센티미터(cm)를 갖는 동일 크기의 복셀들로 구성된다. 각각의 복셀은 2개의 값, 즉 복셀에 의해 표시된 볼륨을 포함하는 사용자 장비(505)에 의해 획득된 관측치(가중치)의 수 및 벽(515)의 표면과 같은 대응 표면에 대한 추정된 부호화 거리를 저장한다. 2D 거리 그리드는 복셀을 수직 방향으로 투영하여 3D TSDF 그리드로부터 생성된다. 일부 실시예에서, 수직 투영은 가중치 및 부호화 거리를 수직 방향으로 평균함으로써 수행된다. 예를 들어 수직 평균은 다음과 같이 계산될 수 있다.
이 예에서 2D 플로어 플랜은 x-y 평면에 있고, 수직 투영은 z 방향을 따른다. 2D 부호화 거리는 도시된 실시예에서 3D TSDF 그리드로부터 추출된 3D 가중치를 2D 가중치로 나눔으로써 정규화된다. 사용자 장비(505)의 일부 실시예는 3D TSDF 그리드로부터 다른 피처를 추출하도록 구성된다. 예를 들어, 사용자 장비 (505)는 위에서 볼 수 있는 가장 높은 표면의 높이 값을 추출할 수 있다 :
추출할 수 있는 다른 피처로는 아래에서 본 가장 낮은 표면의 높이, 수직 밴드에서 점유 공간에 대한 여유 공간의 비율 등이 있다. 상기 여유 공간/점유 공간의 비율은 상기 벽을 창문, 문 및 기타 개구와 구별하는데 사용할 수 있다.
도 6은 일부 실시예에 따른 인테리어 공간을 나타내는 3D 그리드의 일부(600)의 블록도이다. 상기 부분(600)은 도 1에 도시된 인테리어 공간(100)의 일부 실시예를 나타낸다. 상기 부분(600)은 인테리어 공간의 플로어 플랜의 평면에서 타일(620) 위의 수직 컬럼에 배열된 복셀(605, 610, 615)을 포함한다. 본 명세서에서 논의된 바와 같이, 복셀(605, 610, 615)은 가중치 및 부호화 거리와 같은 인테리어 공간의 특성을 나타내는 대응 값과 관련된다. 상기 복셀(605, 610, 615)은 그 복셀(605, 610, 615)의 값을 평균 또는 합산함으로써 타일(620) 상에 수직으로 투영된다. 그런 다음, 타일(620)은 2D 가중치 및 2D 부호화 거리와 같은 평균 또는 합산된 값으로 표현된다. 타일(620)은 2D 거리 그리드를 생성하기 위해 다른 타일(도 6에 도시되지 않은)과 조합하여 사용된다. 일부 실시예에서, 개별적인 2D 거리 그리드는 객체의 상이한 시맨틱 클래스에 대해 정의된다. 예를 들어 벽, 여유 공간 및 가구를 인코딩하기 위해 3개의 2D 거리 그리드가 생성될 수 있다.
도 7은 일부 실시예에 따른 인테리어 공간 내의 벽, 여유 공간 및 가구를 나타내는 2D 거리 그리드(700)이다. 2D 거리 그리드(700)는 3D 그리드로부터 복셀을 인테리어 공간의 플로어 플랜의 평면으로 수직으로 투영함으로써 생성된다. 2D 거리 그리드(700)의 도시된 실시예는 2D TSDF 그리드로서 표현된다. 그들 픽셀의 컬러는 인테리어 공간을 정의하는 표면에 대한 추정된 부호화 거리에 기초하여 결정된다. 검은색 픽셀들은 객체 또는 벽 내부에 있는 픽셀에 해당하는 최대 음의 절단 경계를 나타낸다. 회색 픽셀들은 표면의 내부 및 외부에 있는 영역사이의 경계에 있는 픽셀이다. 도시된 실시예에서, 회색 픽셀은 또한 상기 추정된 부호화 거리가 알려지지 않은 경우에 적용되는 디폴트 값이다. 흰색 픽셀들은 객체 또는 벽의 외부에 있는 픽셀(예를 들어, 여유 공간에 있는 픽셀)에 해당하는 최대 양의 절단 거리이다.
2D 거리 그리드(700) 내의 픽셀들은 상이한 시맨틱 클래스로 카테고리 화된다. 예시된 실시예에서, 시맨틱 클래스는 벽, 여유 공간 및 가구이다. 예를 들어, 벽(705)(명료성의 관점에서 참조 번호로 표시된 하나만)을 나타내는 픽셀은 검은색으로 인코딩되고, 여유 공간(710)을 나타내는 픽셀은 흰색으로 인코딩되고 가구(715)를 나타내는 픽셀은 회색을 사용하여 인코딩된다. 2D 거리 그리드(700)는 상대적으로 노이즈가 있으며, 이미지들에 의해 생성되는 영역(720) 및 윈도우의 외부에 있는 객체로부터 획득된 깊이와 같은 아티팩트들을 포함한다. 따라서, 일부 실시예에서, 2D 거리 그리드(700)는, 예를 들어 마칭 스퀘어((marching squares) 알고리즘을 사용하여 제로 등가면을 추출함으로써 폴리곤들의 세트로 변환된다. 마칭 스퀘어 알고리즘을 사용하여 생성된 폴리곤 세트는 인테리어 공간을 나타내는 폴리곤화된 플로어 플랜의 원시 버전으로 지칭된다.
도 8은 일부 실시예에 따른 인테리어 공간의 플로어 플랜을 나타내는 폴리곤 세트를 생성하는 방법을 도시한다. 폴리곤 세트는 도 5에 도시된 인테리어 공간의 3D 스캔을 수행할 때 사용자 장비(505)에 의해 생성된 2D 거리 그리드에 기초하여 생성된다. 이 방법은 이전에 선택된 폴리곤과 결합되었을 때 폴리곤이 2D 거리 그리드와 얼마나 잘 매칭하는지를 나타내는 비용 함수를 최소화하는 폴리곤을 결정함으로써 한 번에 하나의 폴리곤을 반복적으로 선택한다. 도시된 실시예에서, 폴리곤은 직사각형이다. 그러나, 다른 실시예에서, 선, 삼각형, 원형 또는 다른 폴리곤을 포함하는 프리미티브는 인테리어 공간의 플로어 플랜의 일부를 나타내기 위해 사용된다.
도 8에 도시된 방법은 먼저 2D 거리 그리드에 기초하여 타겟 라벨 이미지를 생성한다. 타겟 라벨 이미지의 픽셀은 시맨틱 클래스 세트 중 하나에 할당된다. 도시된 실시예에서, 픽셀은 3개의 시맨틱 클래스 즉 여유 공간, 벽 및 미지(unknown) 중 하나에 할당된다. 그러나, 다른 실시예에서, 픽셀은 가구, 가전 제품, 창문, 문 등을 포함하는 보다 많거나 적은 시맨틱 클래스에 할당된다. 이 방법의 목표는 입력 플로어 플랜에 가장 근접한 시맨틱 클래스의 프리미티브(이 경우 직사각형) 시퀀스를 찾는 것이다. 상기 시퀀스는 다음과 같이 표현된다.
여기서 (x, y)는 플로어 플랜의 평면에서 프리미티브상의 기준 점의 좌표이고, φ는 상기 평면에서 프리미티브의 배향이며, width는 사각형 프리미티브의 폭이며, height는 직사각형 프리미티브의 높이이고 클래스는 프리미티브의 클래스이다. 다른 유형의 프리미티브를 특성화하기 위해 상이한 파라미터들의 세트가 사용된다.
검색 공간은 플로어 플랜의 기본 배향 세트를 결정함으로써 가능한 배향을 따라 축소된다. 일부 실시예에서, 아래에서 논의되는 바와 같이, 히스토그램은 2D TSDF 거리 그리드로부터 가중된 구배(gradient) 배향을 누적하도록 구성된다. 전역 최대 값의 사전 결정된 비율(percenrage)보다 큰 히스토그램의 최대값들(Maxima)이 기본 배향으로 선택된다. 도 8에 도시된 실시예에서, 도 8에 도시된 바와 같이, 기본 배향은 수직이거나 또는 등가적으로 도면의 평면에서 수평이다. 직사각형 프리미티브의 (x, y) 좌표, 폭 및 높이에 대한 검색 공간은 이차원이며 이미지의 픽셀 수이다. 따라서 검색의 복잡도는 다음과 같다.
여기서 n은 픽셀 수이고, Norientations는 가능한 배향의 수이며, Nclasses는 가능한 클래스 수이다. 예측된 라벨 이미지는 프리미티브에서 순서대로 래스터 화(rasterize)함으로써 생성된다.
프리미티브들의 시퀀스는 그 시퀀스에 의해 생성된 예측된 이미지가 타겟 라벨 이미지와 가장 매칭하도록 선택된다. 이 기준은 다음과 같이 표현된다.
여기서 비용 함수는 예측된 이미지가 타겟 라벨 이미지와 얼마나 잘 매칭되는지를 나타낸다. 비용 함수는 또한 다른 시맨틱 클래스에 가중치를 할당하는데 사용된다. 예를 들어, 손실된 여유 공간에 할당된 비용보다 손실된 벽에 더 높은 비용이 할당될 수 있다. 실제로, 알려지지 않은 길이의 최적 시퀀스를 찾는 것은 NP-하드(hard) 문제이다. 따라서, 본 방법의 일부 실시예는 방법의 각 반복에서 비용 함수를 최소화하는 단일 프리미티브을 검색하는 반복 알고리즘을 이용한다.
비용 맵은 가능한 프리미티브의 전체 공간에 걸쳐 모든 프리미티브 및 배향에 대해 미리 계산된다. 각 반복에서 인테리어 공간을 나타내는 프리미티브 세트에 프리미티브를 추가하는 비용을 평가하기 위해, 프리미티브의 픽셀에 대해 반복함으로써 비용 함수를 계산한다. 비용 함수는 다음과 같이 표현된다.
비용 맵은 통합 이미지로 변환되며 이는 합계 영역 테이블이라고도 한다. 합계 영역 테이블을 계산하기 위한 기술은 당해 기술 분야에 공지되어 있으므로 본 명세서에서 상세하게 설명하지 않는다. 통합 이미지 또는 합계 영역 테이블을 이용하면, 예를 들어, 합계 영역 테이블에 4개의 룩업을 사용하여 일정 시간 내에 비용이 결정되도록 한다. 비용 함수의 일부 실시예는 상술한 바와 같이 매칭 또는 비매칭 픽셀에 대한 비용 항, 큰 중첩 사각형 또는 다른 프리미티브를 결합하는 것을 방해하는 라벨 변경에 대한 비용 항, 다른 벽안에 있는 벽을 포함하거나 서로 접촉하는 평행한 벽을 가지는 것을 방해하는 꼭지점에 대한 비용 항을 포함한다. 꼭지점들에 대한 비용 항은 수평 벽, 수직 벽 및 동일 배향을 갖는 벽을 포함하지 않도록 다른 배향을 갖는 벽을 구별할 수 있는 알고리즘의 능력을 향상시킨다. 비용 함수를 특성화하는 파라미터는 경험적으로 결정된다.
각각의 반복에서, 이 방법은 가능한 모든 프리미티브를 평가하여 가장 낮은 비용을 갖는 프리미티브를 선택한다. 하나의 반복에서 다음 반복까지의 비용 차이가 사전 결정된 임계값 아래로 떨어지면 알고리즘이 수렴한다.
도시된 실시예에서, 인테리어 공간을 나타내는 폴리곤 세트(805)는 세번째 반복이 완료된 후에 3개의 폴리곤(801, 802, 803)을 포함한다. 폴리곤(801, 802, 803)은 화이트 필(white fill)로 표시된 바와 같이 여유 공간 클래스내에 있다. 다섯 번째 반복 후에, 인테리어 공간을 나타내는 폴리곤 세트(810)는 크로스 해칭으로 표시된 바와 같이 미지의 클래스에 있는 2개의 추가 폴리곤(811, 812)을 포함한다. 여러번 반복 후에, 알고리즘은 폴리곤 세트(820)에 폴리곤(815)(명료함을 위해 참조 부호로 표시된 하나만)을 추가한다. 폴리곤(815)은 블랙 필로 표시된 바와 같이 인테리어 공간의 벽을 나타낸다. 이 방법은 수렴 기준이 만족될 때까지 계속된다.
도 9는 일부 실시예에 따른 인테리어 공간을 나타내는 3D 그리드의 일부(900)의 블록도이다. 부분(900)은 도 1에 도시된 인테리어 공간(100)의 일부 실시예를 나타낸다. 부분(900)은 인테리어 공간의 플로어 플랜의 평면에서 타일(920)위에 수직 열로 배열된 복셀(905, 910, 915)과 플로어 플랜의 평면에서 타일(940)위에 수직 열로 배열된 복셀(925, 930, 935)을 포함한다. 본 명세서에서 논의된 바와 같이, 복셀(905, 910, 915, 925, 930, 935)은 가중치 및 부호화 거리와 같은 인테리어 공간의 특성을 나타내는 대응 값과 관련된다. 복셀(905, 910, 915, 925, 930, 935)을 나타내는 상이한 라인은 대응하는 복셀에 대한 값이 3D 스캐닝 프로세스의 이전 시간 간격 동안 변경되었는지 여부를 나타낸다. 도시된 실시예에서, 연한 점선은 복셀(905, 910, 915, 925, 935)이 3D 스캐닝 프로세스의 이전 시간 간격 동안 변경되지 않았음을 나타낸다. 실선은 이전 시간 간격 동안 복셀(930)이 변경되었음을 나타낸다.
타일(920, 940)은 대응하는 복셀(905, 910, 915, 925, 930, 935)이 3D 스캔의 이전 시간 간격 동안 업데이트되었는지 여부에 따라 선택적으로 업데이트된다. 도시된 실시예에서, 복셀(905, 910, 915) 중 어느 것도 이전 시간 간격 동안 변경되지 않았기 때문에 타일(920)은 (연한 점선으로 표시된 바와같이) 업데이트되지 않는다. 복셀(930)의 값들이 이전 시간 간격 동안 변경되었기 때문에 타일(940)은 (실선으로 도시된 바와같이) 업데이트된다. 따라서, 복셀(925, 930, 935)은 타일 (940)의 값을 업데이트하도록 복셀(925, 930, 935)의 값을 평균화거나 또는 합산함으로써 타일(940)에 수직으로 투영된다. 상기 대응하는 복셀(905, 910, 915, 925, 930, 935)이 이전에 업데이트되었는지 여부에 기초하여 타일(920, 940)의 값을 선택적으로 업데이트하는 것은 본 명세서에 개시된 2D 플로어 플랜을 생성하기 위한 기술의 일부 실시예가 실시간으로 수행될 수 있게 한다.
일부 실시예에서, 복셀(905, 910, 915, 925, 930, 935)은 사전 결정된 수의 복셀을 포함하는 볼륨으로 그룹화된다. 예를 들어, 볼륨은 하나 이상의 복셀(905, 910, 915, 925, 930, 935)을 포함하는 16×16×16 복셀 세트를 포함할 수 있다. 이 경우, 타일들은 대응하는 타일 세트, 예를 들어, 16×16×16 복셀 세트를 포함하는 볼륨들의 수직 열과 관련되는 16×16 타일 세트로 그룹화된다. 타일 세트는 볼륨들의 대응하는 수직 열 내의 적어도 하나의 복셀이 3D 스캔의 이전 시간 간격 동안 업데이트되었는지 또는 업데이트되지 않았는지 여부에 기초하여 선택적으로 업데이트된다. 해싱은 일부 실시예에서, 예를 들어 대응하는 볼륨을 "더티(dirty)"볼륨으로 마킹함으로써 업데이트된 복셀을 포함하는 볼륨을 식별하는데 사용된다.
도 10은 일부 실시예에 따른 다수의 기본 배향을 포함하는 인테리어 공간의 하향식 뷰(1000)를 도시한다. 사용자 장비(1005)를 들고 있는 사용자는 인테리어 공간을 통해 이동하고 본 명세서에서 논의된 바와 같이 인테리어 공간 내의 다양한 피처에 영상 카메라 및 깊이 센서를 포인팅하면서 3D 스캔을 수행한다. 하향식 뷰(1000)는 도 5에 도시된 하향식 뷰(500)와 몇 가지 측면에서 상이하다. 예를 들어, 하향식 뷰(1000)는 화살표(1010, 1015)로 표시된 바와 같이, 다수의 기본 배향을 포함한다. 다른 예로서, 하향식 뷰(1000)는 원형 프리미티브로 표현될 수 있는 부분(1020)과 같이 직사각형이외의 폴리곤으로 보다 정확하게 표현되는 부분을 포함한다.
도 11은 일부 실시예에 따른 2D 거리 그리드의 상이한 배향에 대응하는 가중치의 히스토그램(1100)이다. 히스토그램(1100)은 도 5에 도시된 인테리어 공간의 하향식 뷰(500) 및 도 10에 도시된 인테리어 공간의 하향식 뷰(1000)의 일부 실시예에 대한 기본 배향을 결정하는데 사용된다. 세로축은 임의의 좌표의 가중치를 나타내고, 가로축은 0°에서 90°까지의 각도별 배향을 나타낸다.
픽셀과 관련된 가중치는 픽셀 값의 구배 방향을 추정함으로써 결정된다. 예를 들어, 벽내의 픽셀(예를 들어, 2D TSDF 그리드의 검은색 픽셀) 값은 벽 바깥의 여유 공간에 있는 픽셀(예를 들어, 2D TSDF 그리드의 흰색 픽셀) 값과 다르기 때문에 벽 표면 근처의 픽셀의 구배는 벽에 거의 수직이다. 2D TSDF 거리 그리드로부터의 가중된 구배 배향은 상이한 배향에 대응하는 빈(bins)(1105)(명확화의 관점에서 참조 부호로 표시된 하나만)에 축적된다. 전역 최대값의 사전 결정된 비율보다 큰 히스토그램의 최대값들(maxima)이 기본 배향으로 선택된다. 사전 결정된 비율은 도 11의 라인(1115)에 의해 표시된다. 도 10에 도시된 인테리어 공간의 하향식 뷰(1000)에 대응하는 도시된 실시예에서, 히스토그램(1100)은 인테리어 공간이 0°/90°근처에 하나 및 45°근처에 하나씩 2개의 기본 배향을 갖는다는 것을 나타낸다.
도 12는 일부 실시예에 따른 다수의 기본 배향을 갖는 인테리어 공간의 2D 거리 그리드에 기초하여 생성된 프리미티브 세트(1200)를 도시한다. 제1 배향은 도 11에 도시된 히스토그램(1100)의 일부 실시예와 같은 히스토그램을 사용하여 결정된다. 세트(1200)는 본 명세서에서 논의된 바와 같이, 비용 함수에 기초하여 세트(1200)를 선택하기 위한 알고리즘의 5번 반복 후에 도 10에 도시된 인테리어 공간의 하향식 뷰(1000)의 일부 실시예를 나타낸다. 세트(1200)는 0°부근의 제1 기본 배향을 갖는 직사각형 폴리곤(1201, 1202, 1203)과 45°부근의 제2 기본 배향을 갖는 직사각형 폴리곤(1204)을 포함한다. 세트(1200)는 또한 도 10에 도시된 인테리어 공간의 하향식 뷰(1000)의 대응 부분(1020)을 나타내기 위한 원형 프리미티브 (1205)를 포함한다.
도 13은 일부 실시예에 따른 복셀의 3D 그리드로부터 2D 플로어 플랜을 생성하는 방법(1300)의 흐름도이다. 방법(1300)은 도 1, 도 2 및 도 3에 도시된 전자 디바이스(110), 도 5에 도시된 사용자 장비(505) 및 도 10에 도시된 사용자 장비(1005)를 포함한다.
블록(1305)에서, 인테리어 공간을 나타내는 복셀의 3D 그리드가 획득된다. 본 명세서에서 논의된 바와 같이, 일부 실시예에서, 복셀의 3D 그리드는 사용자가 인테리어 공간을 통해 이동함에 따라 사용자가 휴대하고 있는 전자 디바이스 또는 사용자 장비에 의해 획득된다. 그러나, 다른 실시예에서, 복셀의 3D 그리드는 사용자가 휴대할 수 있는 단일 디바이스로 구현되거나 그렇지 않을 수 있는 다른 이미지 획득 및 깊이 감지 장비를 사용하여 획득될 수 있다. 게다가, 복셀의 3D 그리드는 하나의 시스템에 의해 획득되어 다른 시스템에 의해 방법(1300)에 따라 처리될 수 있다.
블록(1310)에서, 사용자 장비는 3D 그리드 내의 복셀을 플로어 플랜의 평면으로 투영함으로써 플로어 플랜내의 2D 타일의 2D 가중치를 결정한다. 블록(1315)에서, 사용자 장비는 3D 그리드 내의 복셀에 대한 3D 부호화 거리의 값을 투영함으로써 2D 타일의 2D 부호화 거리를 결정한다. 블록(1320)에서, 사용자는 2D 플로어 플랜을 나타내는 2D 거리 그리드를 생성한다. 예를 들어, 사용자 장비는 도 7에 도시된 2D 거리 그리드(700)와 같은 2D 거리 그리드를 생성할 수 있다.
블록(1325)에서, 사용자 장비는 2D 거리 그리드를 나타내는 프리미티브 세트를 생성함으로써 2D 거리 그리드 내의 노이즈를 감소 시키거나 제거한다. 예를 들어, 사용자 장비는 도 8에 도시된 바와 같이 비용 함수에 기초하여 프리미티브를 선택하는 반복 프로세스를 사용하여 프리미티브 세트를 생성할 수 있다.
도 14는 일부 실시예에 따른 2D 거리 그리드를 나타내는 프리미티브 세트를 반복적으로 선택하는 방법(1400)의 흐름도이다. 방법(1400)은 도 1, 도 2 및 도 3에 도시된 전자 디바이스(110), 도 5에 도시된 사용자 장비(505) 및 도 10에 도시 된 사용자 장비(1005)의 일부 실시예에서 구현된다.
블록(1405)에서, 사용자 장비는 플로어 플랜을 나타내는 2D 거리 그리드를 생성한다. 본 명세서에서 논의된 바와 같이, 2D 거리 그리드는 3D 복셀의 값을 플로어 플랜의 평면으로 투영함으로써 생성된다. 블록(1410)에서, 2D 거리 그리드 내의 픽셀은 벽, 여유 공간 및 미지와 같은 시맨틱 클래스에 할당된다. 다른 시맨틱 클래스에는 가구, 문, 창문 등이 포함된다.
블록(1415)에서, 사용자 장비는 플로어 플랜의 기본 배향을 결정한다. 사용자 장비의 일부 실시예는 2D 거리 그리드에 기초하여 결정되는 가중된 구배의 히스토그램을 구성함으로써 기본 배향을 결정한다. 기본 배향은 히스토그램에서 상이한 배향에 해당하는 피크를 식별함으로써 결정된다.
블록(1420)에서, 사용자 장비는 비용 함수를 최소화하는 프리미티브를 찾는다. 제1 반복 동안, 사용자 장비는 플로어 플랜을 나타내기 위해 단일 프리미티브를 선택한다. 후속 반복 동안, 사용자 장비는 이전에 선택된 프리미티브와 결합될 때 현재 선택된 프리미티브에 대한 비용 함수를 최소화하는 프리미티브를 선택한다. 블록(1425)에서, 선택된 프리미티브는 플로어 플랜을 나타내는 프리미티브 세트에 추가된다.
결정 블록(1430)에서, 사용자 장비는 반복 선택 프로세스가 수렴하였는지 여부를 결정한다. 반복 선택 프로세스의 일부 실시예는 하나의 반복에서 다른 하나의 반복까지의 비용 함수의 값의 차이가 사전 결정된 임계값 아래로 떨어지는 것에 응답하여 수렴한다. 반복 선택 프로세스가 수렴한 경우, 방법(1400)은 종료 블록 (1435)으로 진행하여 방법(1400)은 종료한다. 반복 선택 프로세스가 수렴하지 않은 경우, 방법(1400)은 블록(1420)으로 다시 진행하고, 사용자 장비는 비용 함수를 최소화하는 다른 프리미티브를 선택한다.
도 15는 일부 실시예에 따른 3D 복셀의 값을 수직으로 투영함으로써 2D 플로어 플랜을 생성하도록 구성된 전자 디바이스(1500)의 블록도이다. 전자 디바이스(1500)는 도 1, 도 2 및 도 3에 도시된 전자 디바이스(110),도 5에 도시된 사용자 장비(505) 및 도 10에 도시된 사용자 장비(1005)의 일부 실시예를 구현하는데 사용된다.
전자 디바이스(1500)는 다른 디바이스와의 통신을 지원하는데 사용되는 송수신기(1505)를 포함한다. 전자 디바이스(1500)의 일부 실시예는 사용자 장비에서 구현되며, 이 경우 송수신기(1505)는 무선 인터페이스를 통한 통신을 지원하도록 구성된다. 전자 디바이스(1500)는 또한 프로세서(1510)와 메모리(1515)를 포함한다. 프로세서(1510)는 메모리(1515)에 저장된 명령들과 같은 명령을 실행하도록 구성되고, 메모리(1515)는 명령들, 상기 명령들에 의해 동작될 데이터 또는 프로세서(1510)에 의해 수행되는 명령들의 결과를 저장하도록 구성된다. 따라서, 전자 디바이스(1500)는 도 13에 도시된 방법(1300)과 도 14에 도시된 방법(1400)의 일부 실시예를 구현할 수 있다.
도 16은 일부 실시예에 따른 가구의 다양한 부분을 포함하는 건물의 인테리어 공간(1600)의 하향식 뷰를 도시한다. 도 1에 도시된 인테리어 공간(100)의 일부 실시예는 하향식 뷰(1600)의 일부분에 해당한다. 인테리어 공간(1600)의 하향식 뷰가 인테리어 공간(1600) 바로 위로부터 도시되었지만, 보다 비스듬한 각도의 다른 뷰도 사용될 수 있다. 상기 인테리어 공간(1600)은 주방(1601), 침실(1602), 서재 (1603), 식당(1604), 침실(1605) 및 욕실(1606)을 포함하는 여러개의 룸(room)으로 세분되며, 이들은 본 명세서에서 총칭하여 "룸(1601-1606)"으로 지칭된다. 인테리어 공간(1600)의 일부 실시예는 더 많거나 적은 룸을 포함한다.
룸(1601-1606)은 테이블(1610)과 같은 여러점의 가구를 포함한다. 룸(1601-1606)은 또한 의자, 침대, 드레서, 책꽂이, 화장실, 싱크, 샤워기, 세탁기, 냉장고, 오븐, 스토브, 식기 세척기 등과 같은 다른 여러점의 가구를 포함한다. 명확성의 관점에서, 다른 가구는 참조 번호로 표시되어 있지 않다. 본 명세서에 사용된 바와 같이, "가구"라는 용어는 본 명세서에 개시된 특정 가구를 포함하여 인테리어 공간(1600)에 위치한 임의의 객체 및 하나 이상의 룸(1601-1606)에 위치되는 다른 객체를 지칭한다.
본 명세서에서 논의된 바와 같이, 인테리어 공간(1600)의 3D 스캔은 도 1에 도시된 전자 디바이스(110)와 같은 전자 디바이스를 사용하여 획득된다. 3D 스캔의 일부 실시예는 3D 스캔에서 각 픽셀에 대해 획득된 컬러 정보 및 깊이 정보를 사용하여 인테리어 공간(1600)을 표현한다. 예를 들어, 컬러 정보는 픽셀을 표현하기 위한 적색-녹색-파랑(RGB) 값과 그 픽셀의 깊이감을 나타 내기 위한 깊이 값을 포함할 수 있다. 깊이 정보는 3D 스캔을 수행하는 카메라로부터 픽셀에 의해 표현되는 인테리어 공간(1600) 내의 객체 표면까지의 거리, 인테리어 공간(1600)의 기준점으로부터의 상기 표면의 거리 또는 일부 다른 위치와의 거리로 표현된다. 3D 메쉬는 예를 들어 마칭 큐브 알고리즘을 사용하여 3D 스캔으로부터 생성되고, 그런 다음 RGB 이미지가 3D 메쉬상에 투영되어 텍스처링된 3D 메쉬를 생성한다.
라벨이 3D 스캔에 기초하여 인테리어 공간(1600)의 부분들에 할당된다. 일부 실시예에서, 라벨은 인테리어 공간(1600)의 컬러 및 깊이 이미지를 분석하는 트레이닝된 컨볼루션 신경망(CNN)를 사용하여 선택된다. 라벨은 욕실, 침실, 거실, 주방, 사무실을 포함하는 라벨과 상기 CNN이 식별할 수없는 3D 스캔 부분에 대한 미지의 라벨을 포함하는 세트로부터 선택된다. 예를 들어, CNN은 테이블(1610)과 그 테이블을 주위의 의자의 존재에 기초하여 룸(1604)을 "식당"이라는 라벨로 라벨링한다. 다른 예를 들면, CNN은 룸(1601)이 세탁기, 식기 세척기, 냉장고, 주방 싱크대 및 스토브를 포함하고 있기 때문에 룸(1601)을 "주방"이라는 라벨로 라벨링한다.
도 17은 일부 실시예에 따른 인테리어 공간의 일부에 위치한 가구에 기초하여 인테리어 공간의 부분들을 라벨링하도록 트레이닝된 CNN(1700)의 블록도이다. CNN(1700)은 인테리어 공간(1600)에 걸쳐 분포된 가구에 기초하여 도 16에 도시된 인테리어 공간(1600)의 일부 실시예를 분석하는데 사용된다. 도시된 실시예에서, CNN(1700)은 잔류 네트워크(residual network)로서 구현된다. 그러나, CNN(1700)의 다른 실시예는 다른 유형의 신경망으로 구현된다.
CNN(1700)에 대한 입력(1705)은 인테리어 공간을 나타내는 2D 컬러 이미지를 포함한다. 입력(1705)은 또한 인테리어 공간 내의 각 위치의 깊이를 나타내는 대응하는 2D 깊이 이미지를 포함한다. 도시된 실시예에서, 2D 컬러 이미지 및 깊이 이미지는 인테리어 공간의 3D 스캔에 기초하여 생성된 텍스처링된 3D 메쉬로부터 생성된다. 예를 들어, 입력(1705)은 도 1에 도시된 전자 디바이스(110)와 같은 전자 디바이스에 의해 캡처된 3D 스캔으로부터 생성된 인테리어 공간의 RGB-D 이미지를 포함할 수 있다. 천장과 접지면의 위치가 추정되어, z=0의 접지면과 상기 천장의 레벨보다 약간 아래에 위치된 근거리 절단면(near-field clipping plane)을 사용하여 조감도에서 상기 텍스처링된 3D 메쉬를 렌더링하는데 사용된다. 2D 컬러 이미지는 (조감도에서 보여지는 것처럼) 인테리어 공간내의 객체의 컬러를 표현하고, 2D 깊이 이미지는 인테리어 공간내의 객체의 깊이를 바닥 높이(level)에서 검정색으로부터 천장 높이에서 흰색까지와 같은 회색 음영으로 표현한다. 2D 컬러 이미지와 2D 깊이 이미지는 센티미터 당 1 픽셀과 같은 사전 결정된 해상도로 렌더링된다. 도시된 실시예에서, 입력(1705)의 2D 컬러와 깊이 이미지는 중첩 타일로 세분된다. 예를 들어, 입력(1705)은 크기가 2m×2m인 중첩 타일들로 렌더링될 수 있다. CNN(1700)은 중첩 타일들을 사용하여 0.3m×0.3m와 같은 더 낮은 입도로 입력(1705) 부분을 분류한다.
컨볼루션 계층(1710)은 입력(1705)을 수신한다. 컨볼루션 계층(1710)은 하나 이상의 트레이닝 데이터 세트에 기초하여 트레이닝되는 파라미터 세트로 정의되는 컨볼루션 함수를 구현한다. 파라미터들은 작은 수용 필드를 가지며 컨볼루션 계층(1710)의 입력 볼륨의 전체 깊이를 통해 연장되는 일련의 학습 가능 필터(또는 커널)를 포함한다. 파라미터들은 또한 컨벌루션 계층(1710)의 출력 볼륨의 크기를 제어하는 깊이 파라미터, 스트라이드(stride) 파라미터 및 제로-패딩 파라미터를 포함할 수 있다. 컨볼루션 계층(1710)은 컨벌루션 연산을 입력(1705)에 적용하여 컨볼루션 연산의 결과를 후속 컨볼루션 계층(1715)으로 제공한다. CNN(1700)은 또한 입력(1705)의 신원 부분(identity portion)이 컨볼루션 계층(1710)을 바이패스하게 하는 신원 단축(shortcut) 연결(1720)을 포함한다. 도시된 실시예에서, CNN(1700)은 추가 컨볼루션 계층(1725)과 추가 신원 단축 연결(1730)을 포함한다. CNN(1700)의 일부 실시예는 더 많거나 적은 컨볼루션 계층 또는 신원 단축 연결을 포함한다.
컨볼루션 계층(1710, 1715, 1725)에 의해 수행된 컨볼루션 연산의 결과는 완전 연결(fully connected) 계층(1735, 1740) 및 DO 계층(1745)으로 제공된다. 완전 연결 계층(1735, 1740)내의 뉴런은 컨볼루션 계층(1725) 또는 다른 완전 연결 층과 같은 다른 계층내의 모든 뉴런에 연결된다. 완전 연결 계층(1735, 1740)은 전형적으로 CNN(1700)에 의해 생성된 라벨을 나타내는 출력(1750)을 생성하는 하이 레벨 추론을 나타내는 기능을 구현한다. 예를 들어, CNN(1700)이 이미지 인식을 수행하도록 트레이닝된 경우, 완전 연결 계층(1735, 1740)은 CNN(1700)에 의해 "인식된" 이미지 부분들을 라벨링하는 기능을 구현한다. 예를 들어, 완전 연결 계층(1735, 1740)은 인테리어 공간의 부분들을 특정 기능을 갖는 룸으로 인식할 수 있으며,이 경우 완전 연결 계층(1735, 1740)은 대응하는 룸 라벨을 사용하여 상기부분들을 라벨링한다. 완전 연결 계층(1735, 1740)에서 구현되는 기능들은 본 명세서에서 논의된 바와 같이 트레이닝 데이터 세트를 사용하여 결정되는 파라미터들의 값으로 표현된다.
CNN(1700)의 출력(1750)은 인테리어 공간의 일부가 욕실, 침실, 거실, 주방, 사무실 등과 같은 룸 유형을 나타내는 라벨 세트 중 하나로 라벨링될 확률을 나타내는 벡터이다. CNN(1700)은 소정 객체들(또는 그들의 조합)의 존재 또는 부재가 그 객체들을 포함하는 룸의 유형에 대한 제약을 제공하기 때문에 인테리어 공간의 일부를 라벨링할 수 있다. 예를 들어, 싱크대는 일반적으로 주방과 욕실 모두에서 발견되고, 의자는 모든 유형의 룸에서 발견되지만 욕실에서는 드물게 발견되고, 침대는 침실에서 발견된다. 따라서, 룸에서 싱크대와 의자를 식별하면 그 룸이 욕실보다는 주방일 가능성이 높다. 미지의 라벨에는 CNN(1700)이 식별할 수 없는 인테리어 공간의 일부가 할당된다. 미지의 라벨을 포함하는 것은 인테리어 공간의 일부에 대한 룸 유형을 식별하는 문제가 잘못되었기 때문에 유용하다. 예를 들어, 2D 컬러 및 깊이 이미지의 일부(2m×2m)가 타일링된 흰색 바닥만을 표시하는 경우, CNN(1700)은 룸 유형을 식별할 수 있는 정보가 없다. "미지(unknown)"로서 입력(1705)의 일부 부분을 라벨링함으로써 CNN(1700)은 이용 가능한 정보에 기초하여 룸 타입을 식별하는 것이 어렵거나 불가능한 경우 특정 룸 유형을 선택하는 것을 효과적으로 피할 수 있다.
도 18은 일부 실시예들에 따른 CNN에 대한 입력으로서 제공되는 타일(1800)과 중첩 타일들의 세트(1805)를 나타내는 블록도이다. 타일(1800) 및 중첩 타일 세트(1805)는 도 17에 도시된 CNN(1700)의 일부 실시예로 제공된다. 타일(1800)은 복수의 픽셀(1810)을 포함한다. 명료함을 위해 단지 하나의 픽셀이 참조 번호로 표시되어 있다. CNN은 본 명세서에서 논의된 바와 같이 타일(1800)에 대한 라벨을 식별 한 다음 그 라벨을 타일(1800)의 중심 픽셀(1810)에 할당한다. 타일(1800)에 의해 표현된 정보는 중심 픽셀(1810)에 대한 정확한 컨텍스트를 항상 제공하지는 않는데, 이것은 타일(1800)에 포함된 정보에 기초하여 중심 픽셀(1810)에만 적용된 라벨의 정확성을 감소시킨다. 따라서, CNN은 중첩 타일들(1805)을 처리하여 중첩 타일(1805)의 각각에 의해 중첩되는 픽셀(1815)의 라벨을 식별한다. 4개의 중첩 타일(1805)이 도 18에 도시되어 있지만, 일부 실시예에서 더 많거나 더 적은 중첩 타일이 픽셀(1815)의 라벨을 식별하는데 사용된다.
도 19는 일부 실시예에 따른 인테리어 공간의 윤곽선(1905)에 중첩되는 라벨링된 타일의 맵(1900) 블록도이다. 맵(1900)은 도 17에 도시된 CNN(1700)의 일부 실시예에 의해 생성된다. 도시된 실시예에서, CNN은 타일들(1910)에서 교차 해칭으로 표시된 바와 같이 타일들(1910)(명료함을 위해 참조 부호로 표시된 하나만)을 "침실"이라는 라벨로 라벨링한다. CNN은 타일들(1915)에서 수직/수평 교차 해칭으로 표시된 바와같이 타일들(1915)(명료함을 위해 참조 부호로 표시된 하나만)을 "서재"라는 라벨로 라벨링한다. CNN은 왼쪽에서 오른쪽 아래로 향하는 필 라인(fill lines)으로 표시된 바와 같이, 타일들(1920)(명료함을 위해 참조 부호로 표시된 하나만)을 "식당"이라는 라벨로 라벨링한다. CNN은 수평 필 라인으로 표시된 바와같이, 타일들(1925)(명료함을 위해 참조 부호로 표시된 하나만)을 "침실"이라는 라벨로 라벨링한다. CNN은 수직 필 라인으로 표시된 바와같이, 타일들(1930)(명료함을 위해 참조 부호로 표시된 하나만)을 "욕실"이라는 라벨로 라벨링한다. CNN은 왼쪽에서 오른쪽 위로 향하는 필 라인으로 표시된 바와 같이, 타일들(1935)(명료함을 위해 참조 부호로 표시된 하나만)을 "주방"이라는 라벨로 라벨링한다.
도 20은 일부 실시예에 따른 인테리어 공간의 플로어 평면의 부분을 라벨링하는 방법(2000)의 흐름도이다. 방법(2000)은 도 1에 도시된 전자 디바이스(110)의 일부 실시예에서 구현된다. 블록(2005)에서, 전자 디바이스는 인테리어 공간의 3D 깊이 이미지에 기초하여 인테리어 공간의 섹션을 라벨링한다. 전자 디바이스의 일부 실시예는 도 17에 도시된 CNN(1700)과 같은 CNN을 사용하여 인테리어 공간의 섹션에 라벨링한다. 블록(2010)에서, 전자 디바이스는 인테리어 공간의 2D 플로어 플랜을 나타내는 2D 거리 그리드를 생성한다. 전자 디바이스의 일부 실시예는 도 14에 도시된 방법(1400)에 따라 플로어 플랜을 나타내는 2D 거리 그리드를 생성한다. 블록(2005, 2010)에서 수행된 동작은 동시에, 순차적으로, 서로 다른 시간에 또는 병렬로 수행될 수 있다. 블록(2010)에서, 전자 디바이스는 라벨링된 2D 플로어 플랜을 생성한다. 예를 들어, 전자 디바이스는 2D 플로어 플랜의 라벨링된 영역들 내의 중심 위치 근처의 픽셀 또는 픽셀 그룹을 식별한 다음 그 영역에 대한 라벨을 상기 픽셀 또는 픽셀 그룹과 연관시킬 수 있다.
도 21은 일부 실시예에 따른 라벨링된 2D 플로어 플랜(2100)을 도시한다. 상기 라벨링된 2D 플로어 플랜(2100)은 도 8에 도시된 폴리곤 세트(820)에 의해 표현된 2D 플로어 플랜와 같은 2D 플로어 플랜(2105)을 포함한다. 상기 라벨링된 2D 플로어 플랜(2100)은 2D 플로어 플랜(2105)의 대응 부분이 침실을 표현함을 나타내는 제1 라벨(2110), 2D 플로어 플랜(2105)의 대응 부분이 서재를 표현함을 나타내는 제2 라벨(2115), 2D 플로어 플랜(2105)의 대응 부분이 식당을 표현함을 나타내는 제3 라벨(2120), 2D 플로어 플랜(2105)의 대응 부분이 침실을 표현함을 나타내는 제4 라벨(2125), 2D 플로어 플랜(2105)의 대응 부분이 욕실(WC)을 표현함을 나타내는 제5 라벨(2130), 2D 플로어 플랜(2105)의 대응 부분이 주방을 표현함을 나타내는 제6 라벨(2135)을 포함한다.
일부 실시예에서, 전술한 기술의 소정 양태는 소프트웨어를 실행하는 프로세싱 시스템의 하나 이상의 프로세서에 의해 구현될 수 있다. 소프트웨어는 비-일시적인 컴퓨터 판독 가능 저장 매체에 저장되거나 유형적으로 구체화된 하나 이상의 실행 가능 명령 세트를 포함한다. 소프트웨어는 하나 이상의 프로세서에 의해 실행될 때, 전술한 기술의 하나 이상의 양태를 수행하기 위해 하나 이상의 프로세서를 조작하는 명령들과 소정 데이터를 포함할 수 있다. 비-일시적 컴퓨터 판독 가능 저장 매체는 예를 들어 자기 또는 광학 디스크 저장 디바이스, 플래시 메모리와 같은 고체 상태 저장 디바이스, 캐시, RAM 또는 다른 비-휘발성 메모리 디바이스(들) 등을 포함할 수 있다. 비-일시적 컴퓨터 판독 가능 저장 매체에 저장된 실행 가능 명령들은 소스 코드, 어셈블리 언어 코드, 오브젝트 코드, 또는 하나 이상의 프로세서에 의해 해석되거나 달리 실행 가능한 다른 명령 포맷일 수 있다.
컴퓨터 판독 가능 저장 매체는 명령 및/또는 데이터를 컴퓨터 시스템에 제공하기 위해 사용 중에 컴퓨터 시스템에 의해 액세스 가능한 임의의 저장 매체 또는 저장 매체의 조합을 포함할 수 있다. 이러한 저장 매체는 광학 매체(예를 들어, CD, DVD, 블루 레이 디스크), 자기 매체(예를 들어, 플로피 디스크, 자기 테이프 또는 자기 하드 드라이브), 휘발성 메모리(예를 들어, RAM 또는 캐시), 비-휘발성 메모리(예를 들어, ROM 또는 플래시 메모리) 또는 MEMS (microelectromechanical systems) 기반 저장 매체를 포함 할 수 있지만, 이에 한정되는 것은 아니다. 컴퓨터 판독 가능 저장 매체는 컴퓨팅 시스템(예를 들어, 시스템 RAM 또는 ROM)에 내장되거나, 컴퓨팅 시스템(예를 들어, 자기 하드 드라이브)에 고정적으로 부착되거나, 컴퓨팅 시스템(예를 들어, 광학 디스크 또는 USB 기반 플래시 메모리)에 착탈 가능하게 부착되거나 또는 유선 또는 무선 네트워크(예를 들어, 네트워크 액세스 가능 스토리지(NAS))를 통해 컴퓨터 시스템에 결합될 수 있다.
위에서 일반적인 설명으로 기술된 모든 활동 또는 요소가 요구되는 것은 아니며, 특정 활동이나 디바이스의 일부가 요구되지 않을 수 있으며, 설명된 것에 더하여 하나 이상의 추가 활동이 수행되거나 요소가 포함될 수 있음에 유의한다. 또한, 활동이 나열되는 순서는 반드시 그들이 수행되는 순서는 아니다. 또한, 개념들은 특정 실시예를 참조하여 기술되었다. 그러나, 당업자는 이하의 청구 범위에 설명된 바와 같이 본 발명의 범위를 벗어나지 않고 다양한 변경 및 변경이 이루어질 수 있음을 이해할 것이다. 따라서, 상세한 설명 및 도면은 제한적인 의미라기보다는 예시적인 것으로 간주되어야 하며, 그러한 모든 변경은 본 발명의 범위 내에 포함되는 것으로 의도된다.
이점, 다른 장점 및 문제에 대한 해결책이 특정 실시예와 관련하여 상술되었다. 그러나, 이점, 장점, 문제에 대한 해결책 및 임의의 이점, 장점 또는 해결책이 발생하거나 더 표명되도록 하는 임의의 특징(들)은 임의의 청구항 또는 모든 청구항의 결정적인, 요구되는 또는 필수적인 특징으로 해석되어서는 안된다. 더욱이, 위에서 설명된 특정 실시예는, 개시된 주제가 본 명세서의 교시의 이점을 갖는 당업자에게 상이하지만 등가 방식으로 명백하게 변경 및 실시될 수 있기 때문에, 단지 예시적인 것이다. 아래의 청구 범위에 기술된 것 이외의 본 명세서에 도시된 구성 또는 설계의 세부 사항에 제한은 없다. 따라서, 위에서 개시된 특정 실시예는 변경되거나 변경될 수 있으며, 모든 이러한 변경은 개시된 주제의 범위 내에서 고려되는 것이 명백하다. 따라서, 본 명세서에서 요구되는 보호는 이하의 청구 범위에 설명된 바와 같다.
Claims (44)
- 방법에 있어서,
인테리어 공간의 3차원(3D) 스캔을 수행하는 단계와;
상기 3D 스캔으로부터 생성된 3D 그리드내의 복셀(voxels)에 액세스하는 단계와, 상기 복셀은 인테리어 공간의 볼륨의 일부를 나타내고;
상기 복셀을 상기 인테리어 공간의 2차원(2D) 플로어 플랜(floor plan)의 타일들상에 투영하는 단계와; 그리고
상기 타일들에 기초하여, 상기 인테리어 공간의 피처를 나타내는 2D 거리 그리드를 생성하는 단계를 포함하는 것을 특징으로 하는 방법. - 제1항에 있어서,
상기 2D 거리 그리드를 생성하는 단계는,
상기 인테리어 공간의 3D 스캔을 수행하는 것과 동시에 실시간으로 상기 2D 거리 그리드를 생성하는 단계를 포함하는 것을 특징으로 하는 방법. - 제2항에 있어서,
상기 3D 그리드내의 복셀에 액세스하는 단계는,
이전 시간 간격 동안 상기 3D 스캔을 수행하는 동안 변경된 상기 복셀의 서브 세트를 액세스하는 단계를 포함하는 것을 특징으로 하는 방법. - 제3항에 있어서,
상기 복셀의 서브 세트를 액세스하는 단계는,
상기 이전 시간 간격 동안 변경된 적어도 하나의 복셀을 포함하는 볼륨 내의 사전 결정된 수의 복셀에 액세스하는 단계를 포함하는 것을 특징으로 하는 방법. - 제3항에 있어서,
상기 2D 거리 그리드를 생성하는 단계는,
상기 변경된 복셀의 서브 세트와 관련된 상기 2D 거리 그리드의 일부를 선택적으로 업데이트하는 단계와, 상기 이전 시간 간격 동안 변경되지 않은 상기 복셀의 다른 서브 세트와 관련된 상기 2D 거리 그리드의 다른 부분을 업데이트하는 것을 바이패스하는 단계를 포함하는 것을 특징으로 하는 방법. - 제1항에 있어서,
상기 복셀에 액세스하는 단계는,
상기 인테리어 공간의 볼륨의 대응 부분 및 상기 복셀과 관련된 표면에 대한 부호화 거리(signed distance)를 포함하는 관측치의 수를 나타내는 가중치를 저장하는 복셀에 액세스하는 단계를 포함하는 것을 특징으로 하는 방법. - 제6항에 있어서,
상기 복셀을 타일들상에 투영하는 단계는,
상기 타일들에 대한 2D 가중치를 결정하기 위해 상기 2D 플로어 플랜을 포함하는 평면에 수직인 수직 방향을 따라 가중치들을 합산하는 단계를 포함하는 것을 특징으로 하는 방법. - 제7항에 있어서,
상기 복셀을 타일들상에 투영하는 단계는,
상기 타들일에 대한 가중된 2D 부호화 거리를 결정하기 위해 수직 방향을 따라 상기 복셀의 가중치와 상기 부호화 거리의 곱을 합산하는 단계를 포함하는 것을 특징으로 하는 방법. - 제8항에 있어서,
상기 복셀을 타일들상에 투영하는 단계는,
상기 타일들의 대응하는 2D 가중치로 상기 가중된 2D 부호화 거리를 정규화하는 단계를 포함하는 것을 특징으로 하는 방법. - 선행하는 항들 중 어느 한 항에 있어서,
상기 3D 그리드로부터, 위에서 볼수 있는 가장 높은 표면의 높이, 아래에서 볼 수 있는 가장 낮은 표면의 높이 및 수직 밴드에서 점유 공간에 대한 여유 공간의 비율 중 적어도 하나를 추출하는 단계를 더 포함하는 것을 특징으로 하는 방법. - 선행하는 항들 중 어느 한 항에 있어서,
상기 2D 거리 그리드를 생성하는 단계는,
상기 인테리어 공간의 피처를 나타내는 픽셀값을 생성하는 단계를 포함하는 것을 특징으로 하는 방법. - 제11항에 있어서,
상기 2D 거리 그리드를 생성하는 단계는,
마칭 스퀘어(marching squares) 알고리즘을 사용하여 폴리곤화된 플로어 플랜의 원시(raw) 버전을 생성하는 단계를 포함하는 것을 특징으로 하는 방법. - 제11항에 있어서,
상기 피처는 벽, 여유 공간, 가구, 문 및 창문 중 적어도 하나를 포함하는 것을 특징으로 하는 방법. - 제11항에 있어서,
상기 2D 거리 그리드의 피처를 나타내는 프리미티브(primitives) 세트를 식별하는 단계를 더 포함하는 것을 특징으로 하는 방법. - 제14항에 있어서,
상기 프리미티브는 라인, 원형, 삼각형, 사각형 또는 다른 폴리곤 중 적어도 하나를 포함하는 것을 특징으로 하는 방법. - 제14항에 있어서,
상기 프리미티브 세트를 식별하는 단계는,
상기 프리미티브가 프리미티브 세트에 추가될 때 비용 함수를 최소화하는 프리미티브를 반복적으로 선택하는 단계를 포함하고, 상기 비용 함수는 상기 프리미티브 세트가 2D 거리 그리드와 얼마나 잘 매칭하는지를 나타내는 것을 특징으로 하는 방법. - 선행하는 항들 중 어느 한 항에 있어서,
상기 3D 스캔내의 피처에 기초하여 상기 인테리어 공간의 일부에 라벨을 할당하는 단계를 더 포함하고, 상기 라벨은 룸 유형을 나타내는 것을 특징으로 하는 방법. - 제17항에 있어서,
상기 인테리어 공간의 일부의 3D 스캔에서 표현되는 다른 유형의 가구에 기초하여 라벨을 할당하도록 컨볼루션 신경망(CNN)를 트레이닝시키는 단계를 더 포함하고, 상기 CNN은 각 픽셀에 대한 컬러 정보와 깊이 정보를 포함하는 트레이닝 이미지 세트를 사용하여 트레이닝되는 것을 특징으로 하는 방법. - 제18항에 있어서,
상기 컨볼루션 신경망을 트레이닝하는 단계는,
상기 CNN이 식별할 수 없는 상기 3D 스캔의 부분들에 대해 욕실, 침실, 거실, 주방, 사무실 및 미지의 라벨을 나타내는 라벨을 포함하는 라벨들을 할당하기 위해 CNN을 트레이닝하는 단계를 포함하는 것을 특징으로 하는 방법. - 제17항에 있어서,
상기 3D 스캔의 피처에 기초하여 상기 라벨을 그 라벨이 할당된 인테리어 공간의 부분에 대응하는 상기 2D 거리 그리드의 부분과 연관시킴으로써 라벨링된 2D 거리 그리드를 생성하는 단계를 더 포함하는 것을 특징으로 하는 방법. - 전자 디바이스로서,
인테리어 공간의 3차원(3D) 스캔을 수행하도록 구성된 영상 카메라 및 깊이 카메라와; 그리고
프로세서를 포함하고, 상기 프로세서는,
상기 3D 스캔에 기초하여 3차원(3D) 그리드의 복셀을 생성하고, 상기 복셀은 인테리어 공간의 볼륨의 일부를 나타내고;
상기 복셀을 상기 인테리어 공간의 2차원(2D) 플로어 플랜의 타일들상에 투영하고; 그리고
상기 타일들에 기초하여, 상기 인테리어 공간의 피처를 나타내는 2D 거리 그리드를 생성하도록 구성되는 것을 특징으로 하는 전자 디바이스. - 제21항에 있어서,
상기 프로세서는 상기 영상 카메라와 동시에 실시간으로 2D 거리 그리드를 생성하고, 상기 깊이 카메라는 인테리어 공간의 3D 스캔을 수행하도록 구성되는 것을 특징으로 하는 전자 디바이스. - 제22항에 있어서,
상기 프로세서는 상기 영상 카메라 및 상기 깊이 카메라가 시간 간격 동안 상기 3D 스캔을 수행하는 것과 동시에 상기 복셀의 서브 세트를 변경하도록 구성되는 것을 특징으로 하는 전자 디바이스. - 제22항에 있어서,
상기 프로세서는 볼륨등 내의 사전 결정된 수의 복셀을 그룹화하도록 구성되는 것을 특징으로 하는 전자 디바이스. - 제24항에 있어서,
상기 프로세서는 이전 시간 간격 동안 변경된 적어도 하나의 복셀을 포함하는 볼륨에 있는 복셀의 서브 세트와 관련된 상기 2D 거리 그리드의 일부를 선택적으로 업데이트하도록 구성되고,
상기 프로세서는 이전 시간 간격 동안 변경된 적어도 하나의 복셀을 포함하는 볼륨에 없었던 복셀의 다른 서브 세트와 관련된 상기 2D 거리 그리드의 다른 부분을 업데이트하는 것을 바이패스하도록 구성되는 것을 특징으로 하는 전자 디바이스. - 제21항에 있어서,
상기 프로세서는 인테리어 공간의 볼륨의 대응 부분 및 상기 복셀과 관련된 표면에 대한 부호화 거리의 값을 포함하는 관측치의 수를 나타내는 가중치 값을 갖는 복셀을 생성하도록 구성되는 것을 특징으로 하는 전자 디바이스. - 제26항에 있어서,
상기 프로세서는 상기 타일들에 대한 2D 가중치를 결정하기 위해 2D 플로어 플랜을 포함하는 평면에 수직인 수직 방향을 따라 가중치를 합하도록 구성되는 것을 특징으로 하는 전자 디바이스. - 제27항에 있어서,
상기 프로세서는 상기 타일들에 대한 가중된 2D 부호화 거리를 결정하기 위해 수직 방향을 따라 상기 복셀의 가중치와 상기 부호화 거리의 곱을 합하도록 구성되는 것을 특징으로 하는 전자 디바이스. - 제26항에 있어서,
상기 프로세서는 상기 타일들의 대응하는 2D 가중치로 상기 2D 부호화 거리들을 정규화하도록 구성되는 것을 특징으로 하는 전자 디바이스. - 제21항에 있어서,
상기 프로세서는 상기 3D 그리드로부터, 위에서 볼수 있는 가장 높은 표면의 높이, 아래에서 볼 수 있는 가장 낮은 표면의 높이 및 수직 밴드에서 점유 공간에 대한 여유 공간의 비율 중 적어도 하나를 추출하도록 구성되는 것을 특징으로 하는 전자 디바이스. - 제21항에 있어서,
상기 프로세서는 인테리어 공간의 피처를 나타내는 픽셀값을 생성하도록 구성되는 것을 특징으로 하는 전자 디바이스. - 제31항에 있어서,
상기 피처는 벽, 여유 공간, 가구, 문 및 창문 중 적어도 하나를 포함하는 것을 특징으로 하는 전자 디바이스. - 제31항에 있어서,
상기 프로세서는 2D 거리 그리드의 피처를 나타내는 프리미티브 세트를 식별하도록 구성되는 것을 특징으로 하는 전자 디바이스. - 제33항에 있어서,
상기 프리미티브는 라인, 원형, 삼각형, 사각형 또는 다른 폴리곤 중 적어도 하나를 포함하는 것을 특징으로 하는 전자 디바이스. - 제33항에 있어서,
상기 프로세서는 상기 프리미티브가 프리미티브 세트에 추가될 때 비용 함수를 최소화하는 프리미티브를 반복적으로 선택하도록 구성되고, 상기 비용 함수는 상기 프리미티브 세트가 2D 거리 그리드와 얼마나 잘 매칭하는지를 나타내는 것을 특징으로 하는 전자 디바이스. - 제21항에 있어서,
상기 프로세서는 상기 3D 스캔의 피처에 기초하여 상기 인테리어 공간의 일부에 라벨을 할당하도록 구성되고, 상기 라벨은 룸 유형을 나타내는 것을 특징으로 하는 전자 디바이스. - 제36항에 있어서,
상기 프로세서는 인테리어 공간의 일부의 3D 스캔에서 표현되는 다른 유형의 가구에 기초하여 라벨을 할당하도록 컨볼루션 신경망(CNN)를 트레이닝시키도록 구성되고, 상기 CNN은 각 픽셀에 대한 컬러 정보와 깊이 정보를 포함하는 트레이닝 이미지 세트를 사용하여 트레이닝되는 것을 특징으로 하는 전자 디바이스. - 제37항에 있어서,
상기 CNN은 그 CNN이 식별할 수 없는 3D 스캔의 부분에 대해 욕실, 침실, 거실, 주방, 사무실 및 미지의 라벨을 나타내는 라벨을 포함하는 라벨들을 할당하도록 트레이닝되는 것을 특징으로 하는 전자 디바이스. - 제36항에 있어서,
상기 프로세서는 상기 라벨을 상기 3D 스캔의 피처들에 기초하여 그 라벨이 할당된 인테리어 공간의 부분에 대응하는 2D 거리 그리드의 부분과 연관시킴으로써 라벨링된 2D 거리 그리드를 생성하도록 구성되는 것을 특징으로 하는 전자 디바이스. - 방법에 있어서,
3차원(3D) 그리드의 복셀을 2차원(2D) 플로어 플랜의 타일들상에 투영하는 단계와, 상기 복셀은 인테리어 공간의 3D 스캔으로부터 생성되고, 상기 복셀을 투영하는 단계는 상기 3D 스캔을 수행하는 것과 동시에 수행되고;
상기 타일들에 기초하여, 상기 인테리어 공간의 피처를 나타내는 2D 거리 그리드를 생성하는 단계와; 그리고
상기 2D 거리 그리드를 나타내는 프리미티브 세트를 식별하는 단계를 포함하는 것을 특징으로 하는 방법. - 제40항에 있어서,
상기 3D 스캔을 수행하는 것과 동시에 복셀을 타일에 투영하는 단계는,
이전에 획득된 복셀 값을 변경하거나 새로운 복셀 값을 획득하기 위해 상기 3D 스캔을 수행하는 것과 동시에 상기 타일들상에 획득된 복셀 값을 투영하는 단계를 포함하는 것을 특징으로 하는 방법. - 제41항에 있어서,
상기 복셀은 사전 결정된 수의 복셀을 포함하는 볼륨으로 그룹화되고,
상기 2D 거리 그리드를 생성하는 단계는,
상기 3D 스캔을 수행함으로써 이전에 변경된 값을 갖는 적어도 하나의 복셀을 포함하는 볼륨과 관련된 상기 타일들의 서브 세트를 변경하는 단계를 포함하는 것을 특징으로 하는 방법. - 제40항에 있어서,
상기 프리미티브 세트를 식별하는 단계는,
상기 프리미티브가 프리미티브 세트에 추가될 때 비용 함수를 최소화하는 프리미티브를 반복적으로 선택하는 단계를 포함하고, 상기 비용 함수는 프리미티브 세트가 2D 거리 그리드와 얼마나 잘 매칭되는지를 나타내는 것을 특징으로 하는 방법. - 제40항에 있어서,
상기 3D 스캔의 피처에 기초하여 상기 프리미티브 세트의 서브 세트를 라벨링하는 단계를 더 포함하고, 상기 라벨은 룸 타입을 나타내는 것을 특징으로 하는 방법.
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762491988P | 2017-04-28 | 2017-04-28 | |
US62/491,988 | 2017-04-28 | ||
US15/954,154 US10572970B2 (en) | 2017-04-28 | 2018-04-16 | Extracting 2D floor plan from 3D GRID representation of interior space |
US15/954,154 | 2018-04-16 | ||
PCT/US2018/029903 WO2018201019A1 (en) | 2017-04-28 | 2018-04-27 | Extracting 2d floor plan from 3d grid representation of interior space |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20190098201A true KR20190098201A (ko) | 2019-08-21 |
KR102219276B1 KR102219276B1 (ko) | 2021-02-24 |
Family
ID=63917401
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020197021053A KR102219276B1 (ko) | 2017-04-28 | 2018-04-27 | 인테리어 공간의 3d 그리드 표현에서 2d 플로어 플랜 추출 |
Country Status (6)
Country | Link |
---|---|
US (1) | US10572970B2 (ko) |
EP (1) | EP3616164A1 (ko) |
JP (1) | JP6907325B2 (ko) |
KR (1) | KR102219276B1 (ko) |
CN (1) | CN110199322A (ko) |
WO (1) | WO2018201019A1 (ko) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021138290A1 (en) * | 2020-01-02 | 2021-07-08 | Baker Hughes Holdings Llc | Interactive three-dimensional representations of objects |
KR102401554B1 (ko) * | 2021-11-24 | 2022-05-25 | 주식회사 씨엠월드 | 공간특성정보를 생성하는 방법 및 그 장치 |
WO2022139164A1 (ko) * | 2020-12-23 | 2022-06-30 | 삼성전자 주식회사 | 전자 장치 및 전자 장치에서 외부 장치들을 공간별로 그룹핑 하는 방법 |
KR102511420B1 (ko) * | 2022-11-07 | 2023-03-20 | 한국가상현실 (주) | 규칙 및 데이터 기반 학습 방법을 이용한 2d도면이미지로부터 3d 모델을 생성하는 방법 |
KR20230102363A (ko) * | 2021-12-30 | 2023-07-07 | 서울대학교산학협력단 | 회전식 라이다를 이용한 고속 움직임에 강인한 오도메트리 방법 및 장치 |
KR102593795B1 (ko) * | 2022-09-30 | 2023-10-26 | 주식회사 플럭시티 | 공간 속성 정보를 3d 정보와 결합하는 방법 및 장치 |
Families Citing this family (39)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA3021497A1 (en) * | 2016-04-19 | 2017-10-26 | Walmart Apollo, Llc | Systems, apparatuses, and method for mapping a space |
US10299982B2 (en) * | 2017-07-21 | 2019-05-28 | David M Frankel | Systems and methods for blind and visually impaired person environment navigation assistance |
US10445913B2 (en) * | 2018-03-05 | 2019-10-15 | Faro Technologies, Inc. | System and method of scanning and editing two dimensional floorplans |
US11734477B2 (en) * | 2018-03-08 | 2023-08-22 | Concurrent Technologies Corporation | Location-based VR topological extrusion apparatus |
US10657691B2 (en) * | 2018-03-27 | 2020-05-19 | Faro Technologies, Inc. | System and method of automatic room segmentation for two-dimensional floorplan annotation |
CN108961395B (zh) * | 2018-07-03 | 2019-07-30 | 上海亦我信息技术有限公司 | 一种基于拍照重建三维空间场景的方法 |
US10819883B2 (en) * | 2019-03-18 | 2020-10-27 | Faro Technologies, Inc. | Wearable scanning device for generating floorplan |
US10832437B2 (en) * | 2018-09-05 | 2020-11-10 | Rakuten, Inc. | Method and apparatus for assigning image location and direction to a floorplan diagram based on artificial intelligence |
US11024050B2 (en) * | 2018-11-05 | 2021-06-01 | Faro Technologies, Inc. | System and method of scanning an environment |
US10891769B2 (en) * | 2019-02-14 | 2021-01-12 | Faro Technologies, Inc | System and method of scanning two dimensional floorplans using multiple scanners concurrently |
US11176374B2 (en) * | 2019-05-01 | 2021-11-16 | Microsoft Technology Licensing, Llc | Deriving information from images |
WO2020238022A1 (zh) * | 2019-05-28 | 2020-12-03 | 贝壳找房(北京)科技有限公司 | 三维空间视图显示方法、装置及存储介质 |
KR20190086631A (ko) * | 2019-07-02 | 2019-07-23 | 엘지전자 주식회사 | 사용자의 동작을 고려하여 청소하는 인공 지능 장치 및 그 방법 |
JP7296270B2 (ja) * | 2019-07-30 | 2023-06-22 | 日本放送協会 | 画像特徴抽出装置およびそのプログラム |
US20210150093A1 (en) * | 2019-11-18 | 2021-05-20 | Autodesk, Inc. | Generating designs for multi-family housing projects using shape parameter transformations |
US11551422B2 (en) * | 2020-01-17 | 2023-01-10 | Apple Inc. | Floorplan generation based on room scanning |
US11763478B1 (en) | 2020-01-17 | 2023-09-19 | Apple Inc. | Scan-based measurements |
CN113140032A (zh) * | 2020-01-17 | 2021-07-20 | 苹果公司 | 基于房间扫描的平面图生成 |
EP4115392A4 (en) * | 2020-03-04 | 2023-08-23 | Magic Leap, Inc. | SYSTEMS AND PROCESSES FOR EFFICIENT GENERATION OF FLOOR PLANS FROM 3D SCANS OF INTERIOR SCENES |
CN111666876B (zh) * | 2020-06-05 | 2023-06-09 | 阿波罗智联(北京)科技有限公司 | 用于检测障碍物的方法、装置、电子设备和路侧设备 |
CN111597628B (zh) * | 2020-07-24 | 2020-11-20 | 广东博智林机器人有限公司 | 一种模型标记方法、装置、存储介质及电子设备 |
CN112069568B (zh) * | 2020-08-06 | 2024-02-06 | 广州杰赛科技股份有限公司 | 一种基于空间可见性分析的视频监控覆盖效果仿真方法 |
US11501478B2 (en) | 2020-08-17 | 2022-11-15 | Faro Technologies, Inc. | System and method of automatic room segmentation for two-dimensional laser floorplans |
CN117744196A (zh) * | 2020-10-13 | 2024-03-22 | 弗莱瑞尔公司 | 通过自动分析传感器数据生成物理结构和环境的测量结果 |
EP4298610A4 (en) * | 2021-05-25 | 2024-08-21 | Samsung Electronics Co Ltd | METHOD AND ELECTRONIC APPARATUS FOR ACQUIRING A FLOOR MAP OF A ROOM LAYOUT |
US11521361B1 (en) * | 2021-07-01 | 2022-12-06 | Meta Platforms Technologies, Llc | Environment model with surfaces and per-surface volumes |
US12056268B2 (en) | 2021-08-17 | 2024-08-06 | Meta Platforms Technologies, Llc | Platformization of mixed reality objects in virtual reality environments |
US12100101B2 (en) | 2021-08-24 | 2024-09-24 | International Business Machines Corporation | Generating 2D mapping using 3D data |
US11748944B2 (en) | 2021-10-27 | 2023-09-05 | Meta Platforms Technologies, Llc | Virtual object structures and interrelationships |
US20230196670A1 (en) * | 2021-12-22 | 2023-06-22 | Streem, Llc. | Automatic spatial layout determination and estimation |
US12093447B2 (en) | 2022-01-13 | 2024-09-17 | Meta Platforms Technologies, Llc | Ephemeral artificial reality experiences |
US20230290090A1 (en) * | 2022-03-10 | 2023-09-14 | Streem, Llc | Searchable object location information |
WO2023184278A1 (en) * | 2022-03-30 | 2023-10-05 | Guangdong Oppo Mobile Telecommunications Corp., Ltd. | Method for semantic map building, server, terminal device and storage medium |
US12093615B2 (en) * | 2022-05-05 | 2024-09-17 | D.To, Inc. | Apparatus and methods for determining and solving design problems using machine learning |
JP7177964B1 (ja) * | 2022-05-09 | 2022-11-24 | スパイダープラス株式会社 | アイコン配置システム、アイコン配置方法及びプログラム |
JP7159513B1 (ja) * | 2022-05-09 | 2022-10-24 | スパイダープラス株式会社 | アイコン配置システム、アイコン配置方法及びプログラム |
US12026527B2 (en) | 2022-05-10 | 2024-07-02 | Meta Platforms Technologies, Llc | World-controlled and application-controlled augments in an artificial-reality environment |
DE102022126640A1 (de) * | 2022-10-13 | 2024-04-18 | Dräger Safety AG & Co. KGaA | Verfahren und Vorrichtung zur Generierung eines Raumplans von einer Etage eines Gebäudes |
CN116311325B (zh) * | 2023-02-16 | 2023-10-27 | 江苏艾佳家居用品有限公司 | 一种基于人工智能模型的比例尺自动识别系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140301633A1 (en) * | 2013-04-09 | 2014-10-09 | Google Inc. | System and Method for Floorplan Reconstruction and Three-Dimensional Modeling |
US20140368504A1 (en) * | 2013-06-12 | 2014-12-18 | Microsoft Corporation | Scalable volumetric 3d reconstruction |
US20150228114A1 (en) * | 2014-02-13 | 2015-08-13 | Microsoft Corporation | Contour completion for augmenting surface reconstructions |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7911474B2 (en) * | 2006-04-03 | 2011-03-22 | Siemens Medical Solutions Usa, Inc. | Memory management system and method for GPU-based volume rendering |
WO2014155428A1 (ja) * | 2013-03-29 | 2014-10-02 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 携帯情報端末の制御方法、プログラム及び情報提供方法 |
CN105103193B (zh) * | 2013-04-09 | 2018-10-12 | 皇家飞利浦有限公司 | 分层的二维投影生成和显示 |
US9811714B2 (en) * | 2013-08-28 | 2017-11-07 | Autodesk, Inc. | Building datum extraction from laser scanning data |
US10216750B2 (en) * | 2014-10-14 | 2019-02-26 | Microsoft Technology Licensing, Llc | Annotated geometry |
GB2550347A (en) * | 2016-05-13 | 2017-11-22 | The Imp College Of Science Tech & Medicine | Real-Time Height Mapping |
-
2018
- 2018-04-16 US US15/954,154 patent/US10572970B2/en active Active
- 2018-04-27 JP JP2019540543A patent/JP6907325B2/ja active Active
- 2018-04-27 WO PCT/US2018/029903 patent/WO2018201019A1/en active Application Filing
- 2018-04-27 CN CN201880007919.XA patent/CN110199322A/zh active Pending
- 2018-04-27 EP EP18724717.6A patent/EP3616164A1/en not_active Withdrawn
- 2018-04-27 KR KR1020197021053A patent/KR102219276B1/ko active IP Right Grant
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140301633A1 (en) * | 2013-04-09 | 2014-10-09 | Google Inc. | System and Method for Floorplan Reconstruction and Three-Dimensional Modeling |
US20140368504A1 (en) * | 2013-06-12 | 2014-12-18 | Microsoft Corporation | Scalable volumetric 3d reconstruction |
US20150228114A1 (en) * | 2014-02-13 | 2015-08-13 | Microsoft Corporation | Contour completion for augmenting surface reconstructions |
Non-Patent Citations (2)
Title |
---|
Dai et al. ScanNet Richly annotated 3D Reconstructions of Indoor Scenes. arixiv, 2017년 4월 11일. pp. 1-22. 1부.* * |
Klingensmith et al. Chisel Real Time Large Scale 3D Reconstruction Onboard a Mobile Device using Spatially Hashed Signed Distance Fields. RSS, 2015년 7월, pp.1-9. 1부.* * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021138290A1 (en) * | 2020-01-02 | 2021-07-08 | Baker Hughes Holdings Llc | Interactive three-dimensional representations of objects |
US11733825B2 (en) | 2020-01-02 | 2023-08-22 | Baker Hughes Holdings Llc | Interactive three-dimensional representations of objects |
WO2022139164A1 (ko) * | 2020-12-23 | 2022-06-30 | 삼성전자 주식회사 | 전자 장치 및 전자 장치에서 외부 장치들을 공간별로 그룹핑 하는 방법 |
KR102401554B1 (ko) * | 2021-11-24 | 2022-05-25 | 주식회사 씨엠월드 | 공간특성정보를 생성하는 방법 및 그 장치 |
KR20230102363A (ko) * | 2021-12-30 | 2023-07-07 | 서울대학교산학협력단 | 회전식 라이다를 이용한 고속 움직임에 강인한 오도메트리 방법 및 장치 |
KR102593795B1 (ko) * | 2022-09-30 | 2023-10-26 | 주식회사 플럭시티 | 공간 속성 정보를 3d 정보와 결합하는 방법 및 장치 |
KR102511420B1 (ko) * | 2022-11-07 | 2023-03-20 | 한국가상현실 (주) | 규칙 및 데이터 기반 학습 방법을 이용한 2d도면이미지로부터 3d 모델을 생성하는 방법 |
Also Published As
Publication number | Publication date |
---|---|
EP3616164A1 (en) | 2020-03-04 |
KR102219276B1 (ko) | 2021-02-24 |
WO2018201019A1 (en) | 2018-11-01 |
US20180315162A1 (en) | 2018-11-01 |
JP6907325B2 (ja) | 2021-07-21 |
JP2020518038A (ja) | 2020-06-18 |
CN110199322A (zh) | 2019-09-03 |
US10572970B2 (en) | 2020-02-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102219276B1 (ko) | 인테리어 공간의 3d 그리드 표현에서 2d 플로어 플랜 추출 | |
US11189078B2 (en) | Automated understanding of three dimensional (3D) scenes for augmented reality applications | |
CN109564690B (zh) | 使用多向相机评估封闭空间的尺寸 | |
CN110915208B (zh) | 使用深度传感器的虚拟现实环境边界 | |
EP3226211B1 (en) | Method and program of automatic three-dimensional solid modeling based on two-dimensional drawing | |
US10176589B2 (en) | Method and system for completing point clouds using planar segments | |
US11645781B2 (en) | Automated determination of acquisition locations of acquired building images based on determined surrounding room data | |
JP6423435B2 (ja) | 物理的光景を表すための方法および装置 | |
AU2016228125B2 (en) | Structure modelling | |
CN110801180B (zh) | 清洁机器人的运行方法及装置 | |
EP2774379A1 (en) | Surface segmentation from rgb and depth images | |
JP2011095797A (ja) | 画像処理装置、画像処理方法及びプログラム | |
CN109521879B (zh) | 交互式投影控制方法、装置、存储介质及电子设备 | |
AU2022252855B2 (en) | Automated analysis of visual data of images to determine the images’ acquisition locations on building floor plans | |
Kim et al. | Interactive acquisition of residential floor plans | |
US10565786B1 (en) | Sensor placement interface | |
Runceanu et al. | Indoor point cloud segmentation for automatic object interpretation | |
US20240290056A1 (en) | Methods, storage media, and systems for augmenting data or models | |
US20230326052A1 (en) | Estimation method, estimation apparatus and program | |
Ueda et al. | Dataset Creation for Segmentation to Enhance Visual Navigation in a Targeted Indoor Environment | |
WO2024011063A1 (en) | Methods, storage media, and systems for combining disparate 3d models of a common building object | |
Varadarajan et al. | Functional room detection and modeling using stereo imagery in domestic environments | |
CN118279473A (zh) | 生成训练数据集 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |