KR20160055177A - 깊이 센서들을 사용하는 구조적 모델링 - Google Patents

깊이 센서들을 사용하는 구조적 모델링 Download PDF

Info

Publication number
KR20160055177A
KR20160055177A KR1020167008623A KR20167008623A KR20160055177A KR 20160055177 A KR20160055177 A KR 20160055177A KR 1020167008623 A KR1020167008623 A KR 1020167008623A KR 20167008623 A KR20167008623 A KR 20167008623A KR 20160055177 A KR20160055177 A KR 20160055177A
Authority
KR
South Korea
Prior art keywords
physical environment
user input
input data
received user
digital
Prior art date
Application number
KR1020167008623A
Other languages
English (en)
Other versions
KR102216736B1 (ko
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 KR20160055177A publication Critical patent/KR20160055177A/ko
Application granted granted Critical
Publication of KR102216736B1 publication Critical patent/KR102216736B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/12Edge-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T7/0083
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • 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/20096Interactive definition of curve of interest
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • Software Systems (AREA)
  • Geometry (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • User Interface Of Digital Computer (AREA)
  • Processing Or Creating Images (AREA)
  • Image Generation (AREA)

Abstract

물리적 환경의 디지털 표현(digital representation)을 구성하기 위한 기술이 제공된다. 일부 실시예들에서, 방법은 물리적 환경을 표시하는 이미지 데이터를 획득하는 단계; 획득된 이미지 데이터에 기초하여, 물리적 환경 내의 적어도 하나의 위치에 대응하는 사용자 입력 데이터를 수신하는 단계; 수신된 사용자 입력 데이터에 대응하는 적어도 하나의 위치 근처의 물리적 환경에서 적어도 하나의 불연속성(discontinuity)을 검출하는 단계, 및 수신된 사용자 입력 데이터 및 적어도 하나의 불연속성에 기초하여, 물리적 환경 내의 표면에 대응하는 디지털 표면을 생성하는 단계를 포함한다.

Description

깊이 센서들을 사용하는 구조적 모델링{STRUCTURAL MODELING USING DEPTH SENSORS}
[0001] 본 개시들은 일반적으로 증강 현실 환경들에 관한 것이며, 더 상세하게는, 물리적 환경들을 실시간으로 모델링하는 것에 관한 것이다.
[0002] 증강 현실(AR) 환경들에서, 사용자는 AR 기능들을 가능하게 하기 위해 자신의 물리적 환경의 모델을 획득하고자 할 수 있다. 예를 들면, 사용자는 벽들, 바닥 및 천장의 표면들, 및 책상의 테이블 표면들을 포함할 수 있는 자신의 사무실의 뷰의 핵심적인 구조들을 모델링하고자 할 수 있다. 실생활 물리적 환경을 모델링하는 현재 방법들은 상이한 표면들을 서로 구별하기 위한 능력이 부족하고, 대신에 카메라 뷰로부터 각각의 포인트에 대해 연관된 깊이를 표시하는 포인트들의 조밀한 재구성을 간단히 생성할 수 있다. 또한, 이러한 세트의 포인트들은, 어떠한 포인트들이 벽에 속하는지 또는 어떠한 포인트들이 책상에 속하는 등을 구별하는 임의의 방법을 포함하지 않을 수 있다. 그러한 의미론적 의미(semantic meaning)가 없다는 것은 상기 AR 벽들 또는 책상 표면들과 상호작용하는 것을 어렵게 만든다. 또한, 이러한 세트의 포인트들을 생성하는 것은 매우 프로세서-집약적이고, 실시간 사용에서 부적절할 수 있다.
[0003] 본 발명의 실시예들은 이것 및 다른 문제들을 해결한다.
[0004] 본 개시들은 일반적으로 증강 현실 환경들에 관한 것이며, 더 상세하게는, 물리적 환경들을 실시간으로 모델링하는 것에 관한 것이다.
[0005] 직관적인 사용자 입력 및 사용자의 물리적 환경에 기초하여, 모바일 디바이스 상에서 증강 현실(AR) 환경을 실시간으로 모델링하기 위한 방법들 및 장치들이 제공된다. 일부 실시예들에서, 사용자는 본 개시들의 시스템들 및 방법들에 기초하여 사용자의 물리적 환경의 표면들을 표현하는 기하학적 형상들을 생성할 수 있다. 일부 실시예들에서, 사용자에 의한 그렇나 표면들의 대략적인 지정들만이 필요로 되고, 빠르고 부정확한 입력이 일부 경우들에서 수용 가능할 수 있다. 일부 실시예들에서, 모바일 디바이스로의 센서 기능, 예를 들면, 깊이 카메라로부터의 입력은, 사용자가 완전히 지정하지 않은 표면들의 남아있는 부분을 추론하는데 사용될 수 있다. 일부 실시예들에서, 방법들 및 애플리케이션들은 수동 사용자 인터페이스를 포함하고, 반면에, 다른 실시예들에서, 더 "반자동적인" 사용자 인터페이스가 사용될 수 있다.
[0006] 산업에서 알려진 방법들을 사용하여, 깊이 센서들은 극히 상세한 정보를 포함하는 3 차원(3D) 재구성들을 생성할 수 있어서, 임의의 의미론 없이, 많은 기하학적 프리미티브들(geometric primitives)을 포함할 수 있는 모델을 발생시킨다. 그러나, 많은 애플리케이션들에서, 필요로 될 수 있는 모든 것은, 풍부한 세부사항들보다는 적은 수의 다각형들 ― 이것은 환경의 중요한 구조들을 표현함 ― 로 구성된 기하학적 모델들이다. 모델링된 구조는 기하학적 겉면들(faces), 에지들(edges) 및 꼭짓점들(vertices) 및 간단한 볼륨들로 구성된 다각형 모델을 포함할 수 있다. 그러한 기하학적 모델들은 구조적 모델들로 지칭될 수 있다. 예를 들면, 간단한 룸은 총 8 개의 다각형들에서 4 개의 벽들, 바닥, 천장, 문 및 창문을 포함할 수 있다. 이러한 기하학적 구조들이 낮은 복잡성을 갖고, 종종 직각들 또는 평행하는 에지들과 같은 제약들을 갖는다는 것을 유의하라.
[0007] 또한, 의미론적 의미(semantic meaning)를 구조들에 첨부하는 것은 중요할 수 있다. 예를 들면, 문은 인접한 룸에 접근하는데 사용될 수 있거나, 가상 오브젝트들은 실제 표면들 상에 머물도록 제약될 수 있거나, 창문은 위 및 아래로 슬라이딩할 수 있다. 증강 현실(AR)에서의 상호작용에 대해, 관련 정보를 갖는 간략한 구조적 모델들은 모바일 디바이스들 상에서 구조적 모델들과 연관된 정보의 실시간 프로세싱을 가능하게 할 수 있다. 따라서, 본 발명의 실시예들은 문에 대해 단일의 직사각형과 같이, 실세계로부터의 중요한 엘리먼트들을 소수의 다각형들로 표현하는 것을 제안한다.
[0008] 물리적 환경의 디지털 표현(digital representation)을 구성하기 위한 예시적인 방법은 물리적 환경을 표시하는 이미지 데이터를 획득하는 단계; 획득된 이미지 데이터에 기초하여, 물리적 환경 내의 적어도 하나의 위치에 대응하는 사용자 입력 데이터를 수신하는 단계; 수신된 사용자 입력 데이터에 대응하는 적어도 하나의 위치 근처의 물리적 환경에서 적어도 하나의 불연속성(discontinuity)을 검출하는 단계; 및 수신된 사용자 입력 데이터 및 적어도 하나의 불연속성에 기초하여, 물리적 환경 내의 표면에 대응하는 디지털 표면을 생성하는 단계를 포함할 수 있다. 방법의 일부 실시예들에서, 수신된 사용자 입력 데이터는 디지털 표면의 적어도 하나의 에지를 지정한다. 다른 실시예들에서, 수신된 사용자 입력 데이터는 디지털 표면의 적어도 하나의 평면을 지정한다. 또 다른 실시예들에서, 수신된 사용자 입력 데이터는, 획득된 이미지 데이터에 기초하여, 디지털 표면의 부분으로서 포함되는 물리적 환경 내의 복수의 포인트들을 포함한다.
[0009] 특정 실시예들에서, 이미지 데이터는 물리적 환경에 관한 기하학적 깊이 정보(geometric depth information)를 포함할 수 있다. 일부 구현들에서, 예시적인 방법은, 적어도 2 개의 평면의 표면들이 교차하는 곳을 물리적 환경에서 검출하는 단계를 포함하는 적어도 하나의 불연속성을 검출하는 단계를 포함할 수 있다. 일부 구현에서, 수신된 사용자 입력 데이터는 2 차원 좌표들의 입력 데이터를 포함할 수 있고, 생성된 디지털 표면은 3 차원 좌표들의 출력 데이터를 포함할 수 있다. 예시적인 방법은 디지털 표면과 연관된 적어도 하나의 기능을 정의하는 의미론적 입력(semantic input)을 수신하는 단계를 더 포함할 수 있다.
[00010] 물리적 환경의 디지털 표현을 구성하기 위한 예시적인 모바일 디바이스는 물리적 환경을 표시하는 이미지 데이터를 획득하기 위해 모바일 디바이스에 커플링된 카메라를 포함할 수 있다. 또한, 모바일 디바이스는 메모리에 커플링된 프로세서를 포함하고, 프로세서는 획득된 이미지 데이터에 기초하여, 물리적 환경 내의 적어도 하나의 위치에 대응하는 사용자 입력 데이터를 수신하고; 수신된 사용자 입력 데이터에 대응하는 적어도 하나의 위치 근처의 물리적 환경에서 적어도 하나의 불연속성을 검출하고; 수신된 사용자 입력 데이터 및 적어도 하나의 불연속성에 기초하여, 물리적 환경 내의 표면에 대응하는 디지털 표면을 생성한다. 모바일 디바이스의 일부 실시예들에서, 수신된 사용자 입력 데이터는 디지털 표면의 적어도 하나의 에지를 지정한다. 다른 실시예들에서, 수신된 사용자 입력 데이터는 디지털 표면의 적어도 하나의 평면을 지정한다. 또 다른 실시예들에서, 수신된 사용자 입력 데이터는, 획득된 이미지 데이터에 기초하여, 디지털 표면의 부분으로서 포함되는 물리적 환경 내의 복수의 포인트들을 포함한다.
[00011] 특정 실시예들에서, 이미지 데이터는 물리적 환경에 관한 기하학적 깊이 정보를 포함할 수 있다. 일부 구현들에서, 예시적인 모바일 디바이스의 컴포넌트들은 적어도 2 개의 평면의 표면들이 교차하는 곳을 물리적 환경에서 검출하는 것을 포함하는 적어도 하나의 불연속성을 검출할 수 있다. 일부 구현에서, 수신된 사용자 입력 데이터는 2 차원 좌표들의 입력 데이터를 포함할 수 있고, 생성된 디지털 표면은 3 차원 좌표들의 출력 데이터를 포함할 수 있다. 예시적인 모바일 디바이스는 디지털 표면과 연관된 적어도 하나의 기능을 정의하는 의미론적 입력을 수신하기 위한 컴포넌트들을 더 포함할 수 있다.
[00012] 물리적 환경의 디지털 표현을 구성하기 위한 예시적인 모바일 디바이스는 물리적 환경을 표시하는 이미지 데이터를 획득하기 위해 모바일 디바이스에 커플링된 카메라를 포함할 수 있다. 또한, 모바일 디바이스는 메모리에 커플링된 프로세서를 포함하고, 프로세서는 획득된 이미지 데이터에 기초하여, 물리적 환경 내의 적어도 하나의 위치에 대응하는 사용자 입력 데이터를 수신하고; 수신된 사용자 입력 데이터에 대응하는 적어도 하나의 위치 근처의 물리적 환경에서 적어도 하나의 불연속성을 검출하고; 수신된 사용자 입력 데이터 및 적어도 하나의 불연속성에 기초하여, 물리적 환경 내의 표면에 대응하는 디지털 표면을 생성한다. 모바일 디바이스의 일부 실시예들에서, 수신된 사용자 입력 데이터는 디지털 표면의 적어도 하나의 에지를 지정한다. 다른 실시예들에서, 수신된 사용자 입력 데이터는 디지털 표면의 적어도 하나의 평면을 지정한다. 또 다른 실시예들에서, 수신된 사용자 입력 데이터는, 획득된 이미지 데이터에 기초하여, 디지털 표면의 부분으로서 포함되는 물리적 환경 내의 복수의 포인트들을 포함한다.
[00013] 특정 실시예들에서, 이미지 데이터는 물리적 환경에 관한 기하학적 깊이 정보를 포함할 수 있다. 일부 구현들에서, 예시적인 모바일 디바이스의 컴포넌트들은 적어도 2 개의 평면의 표면들이 교차하는 곳을 물리적 환경에서 검출하는 것을 포함하는 적어도 하나의 불연속성을 검출할 수 있다. 일부 구현에서, 수신된 사용자 입력 데이터는 2 차원 좌표들의 입력 데이터를 포함할 수 있고, 생성된 디지털 표면은 3 차원 좌표들의 출력 데이터를 포함할 수 있다. 예시적인 모바일 디바이스는 디지털 표면과 연관된 적어도 하나의 기능을 정의하는 의미론적 입력을 수신하기 위한 컴포넌트들을 더 포함할 수 있다.
[00014] 예시적인 비일시적인 컴퓨터-판독 가능 저장 매체로서, 비일시적인 컴퓨터-판독 가능 저장 매체는 프로세서에 의해 실행 가능한 명령들을 포함하고, 물리적 환경의 디지털 표현을 구성하기 위한 명령들을 포함하는 명령들은 물리적 환경을 표시하는 이미지 데이터를 획득하고; 획득된 이미지 데이터에 기초하여, 물리적 환경 내의 적어도 하나의 위치에 대응하는 사용자 입력 데이터를 수신하고; 수신된 사용자 입력 데이터에 대응하는 적어도 하나의 위치 근처의 물리적 환경에서 적어도 하나의 불연속성을 검출하고; 그리고 수신된 사용자 입력 데이터 및 적어도 하나의 불연속성에 기초하여, 물리적 환경 내의 표면에 대응하는 디지털 표면을 생성하기 위한 능력을 포함할 수 있다. 비일시적인 컴퓨터 판독 가능 저장 매체의 일부 실시예들에서, 수신된 사용자 입력 데이터는 디지털 표면의 적어도 하나의 에지를 지정한다. 다른 실시예들에서, 수신된 사용자 입력 데이터는 디지털 표면의 적어도 하나의 평면을 지정한다. 또 다른 실시예들에서, 수신된 사용자 입력 데이터는, 획득된 이미지 데이터에 기초하여, 디지털 표면의 부분으로서 포함되는 물리적 환경 내의 복수의 포인트들을 포함한다.
[00015] 특정 실시예들에서, 이미지 데이터는 물리적 환경에 관한 기하학적 깊이 정보를 포함할 수 있다. 일부 구현들에서, 비일시적인 컴퓨터 판독 가능 저장 매체 상에 저장된 명령들은 적어도 2 개의 평면의 표면들이 교차하는 곳을 물리적 환경에서 검출하는 것을 포함하는 적어도 하나의 불연속성을 검출할 수 있다. 일부 구현에서, 수신된 사용자 입력 데이터는 2 차원 좌표들의 입력 데이터를 포함할 수 있고, 생성된 디지털 표면은 3 차원 좌표들의 출력 데이터를 포함할 수 있다. 예시적인 비일시적인 컴퓨터 판독 가능 저장 매체는 디지털 표면과 연관된 적어도 하나의 기능을 정의하는 의미론적 입력을 수신하기 위한 명령들을 더 포함할 수 있다.
[00016] 물리적 환경의 디지털 표현을 구성하기 위한 예시적인 장치는 물리적 환경을 표시하는 이미지 데이터를 획득하기 위한 수단; 획득된 이미지 데이터에 기초하여, 물리적 환경 내의 적어도 하나의 위치에 대응하는 사용자 입력 데이터를 수신하기 위한 수단; 수신된 사용자 입력 데이터에 대응하는 적어도 하나의 위치 근처의 물리적 환경에서 적어도 하나의 불연속성을 검출하기 위한 수단; 및 수신된 사용자 입력 데이터 및 적어도 하나의 불연속성에 기초하여, 물리적 환경 내의 표면에 대응하는 디지털 표면을 생성하기 위한 수단을 포함할 수 있다. 장치의 일부 실시예들은 수신된 사용자 입력 데이터는 디지털 표면의 적어도 하나의 에지를 지정한다. 다른 실시예들에서, 수신된 사용자 입력 데이터는 디지털 표면의 적어도 하나의 평면을 지정한다. 또 다른 실시예들에서, 수신된 사용자 입력 데이터는, 획득된 이미지 데이터에 기초하여, 디지털 표면의 부분으로서 포함되는 물리적 환경 내의 복수의 포인트들을 포함한다.
[00017] 특정 실시예들에서, 이미지 데이터는 물리적 환경에 관한 기하학적 깊이 정보를 포함할 수 있다. 일부 구현들에서, 예시적인 장치는 적어도 2 개의 평면의 표면들이 교차하는 곳을 물리적 환경에서 검출하기 위한 수단을 포함하는 적어도 하나의 불연속성을 검출하기 위한 수단을 포함할 수 있다. 일부 구현에서, 수신된 사용자 입력 데이터는 2 차원 좌표들의 입력 데이터를 포함할 수 있고, 생성된 디지털 표면은 3 차원 좌표들의 출력 데이터를 포함할 수 있다. 예시적인 장치는 디지털 표면과 연관된 적어도 하나의 기능을 정의하는 의미론적 입력을 수신하기 위한 수단을 더 포함할 수 있다.
[00018] 위의 설명은, 다음의 상세한 설명이 더 양호하게 이해될 수 있도록 예들의 특징들 및 기술적 이점들을 상당히 광범위하게 약술하였다. 추가 특징들 및 이점들이 이하에서 설명될 것이다. 개시되는 개념 및 특정 예들은 본 개시의 동일한 목적들을 수행하기 위해 다른 구조들을 수정 또는 설계하기 위한 기초로서 쉽게 활용될 수 있다. 이러한 등가의 구조들은 첨부된 청구항들의 사상 및 범위로부터 벗어나지 않는다. 연관된 이점들과 함께 그들의 구성 및 동작 방법 둘 모두에 대해, 본원에 개시되는 개념들의 특성으로 여겨지는 특징들은 첨부한 도면들과 관련하여 고려될 때 다음의 설명으로부터 더 잘 이해될 것이다. 도면들 각각은 청구항들의 제한들에 대한 한정으로서가 아닌 단지 예시 및 설명을 목적으로 제공된다.
[00019] 본 개시의 양상들은 예로서 예시된다. 다음의 설명은 도면들을 참조하여 제공되고, 도면에서 동일한 참조 번호들은 전체에 걸쳐 동일한 엘리먼트들을 지칭하는데 사용된다. 하나 이상의 기술들의 다양한 세부사항들이 본원에 설명되지만, 다른 기술들이 또한 가능하다. 일부 경우들에서, 잘 알려진 구조들 및 디바이스들은 다양한 기술들을 설명하는 것을 용이하게 하기 위해 블록도 형태로 도시된다.
[00020] 본 개시에 의해 제공된 예들의 특성 및 이점들의 추가의 이해가 명세서 및 도면들의 남아있는 부분들을 참조하여 실현될 수 있고, 도면들에서, 동일한 참조 번호들은 몇몇의 도면들 전체에 걸쳐 동일한 컴포넌트들을 지칭하는데 사용된다. 일부 경우들에서, 서브-라벨은 다수의 유사한 컴포넌트들 중 하나를 표시하기 위해 참조 번호와 연관된다. 기존의 서브-라벨에 대한 지정 없이 참조 번호에 대한 참조가 이루어질 때, 참조 번호는 모든 그러한 동일한 컴포넌트들을 지칭한다.
[00021] 도 1은 본 개시들의 다양한 실시예들을 구현할 수 있는 예시적인 디바이스이다.
[00022] 도 2a, 도 2b 및 도 2c는 일부 실시예들에 따른 예시적인 사용 경우를 도시한다.
[00023] 도 3은 모바일 디바이스 상의 십자선 커서 및 모바일 디바이스 카메라의 현재 뷰에 대응하는 프로젝션을 예시한다.
[00024] 도 4a, 도 4b 및 도 4c는 사용자에 의해 에지를 선택하는 예시적인 프로세스를 예시한다.
[00025] 도 5는 사용자에 의해 평면을 지정하는 예시적인 프로세스를 예시한다.
[00026] 도 6a, 도 6b 및 도 6c는 겉면들 및 평면들을 선택하기 위한 상이한 예시적인 커서 타입들을 예시한다.
[00027] 도 7a 및 도 7b는 구조적 모델에서 자유도(DOF)와 오브젝트들을 연관시키는 것을 예시한다.
[00028] 도 8은 3 개의 DOF와 오브젝트를 연관시키기 위한 예를 예시한다.
[00029] 도 9a 및 도 9b는 기하학적 겉면을 지정하는 예시적인 프로세스를 예시한다.
[00030] 도 10a 및 도 10b는 커서를 관심 영역들로 대략적으로 지시함으로써 평면들을 지정하기 위한 예를 예시한다.
[00031] 도 11은 본 발명의 하나의 실시예에 따른 모바일 디바이스에서 구현되는 예시적인 모듈들에 대한 블록도를 예시한다.
[00032] 도 12는 일부 실시예들에 따른 방법들을 예시한 예시적인 흐름도이다.
[00033] 도 13은 일부 실시예들에 따른 컴퓨팅 디바이스의 블록도이다.
[00034] 몇몇 예시적 실시예들은 이제, 실시예들의 일부를 형성하는 첨부한 도면들에 대해 설명될 것이다. 본 개시의 하나 이상의 양상들이 구현될 수 있는 특정 실시예들이 아래에서 설명되지만, 다른 실시예들이 사용될 수 있고, 다양한 수정들이 본 개시의 범위 또는 첨부된 청구항들의 사상으로부터 벗어나지 않고 이루어질 수 있다.
[00035] 직관적인 사용자 입력 및 사용자의 물리적 환경에 기초하여 모바일 디바이스 상에서 증강 현실(AR) 환경을 실시간으로 모델링하기 위한 방법들 및 장치들이 제공된다. 일부 실시예들에서, 사용자는 본 개시들의 시스템들 및 방법들에 기초하여 사용자의 물리적 환경의 표면들을 나타내는 기하학적 형상들을 생성할 수 있다. 일부 실시예들에서, 사용자에 의한 그러한 표면들의 대략적인 지정들만이 요구되고, 일부 경우들에서 빠르고 부정확한 입력이 수용 가능할 수 있다. 일부 실시예들에서, 모바일 디바이스에 대한 센서 기능, 예를 들면, 깊이 카메라로부터의 입력은, 사용자가 완전히 지정하지 않은 표면들의 남아있는 부분을 추론하는데 사용될 수 있다. 일부 실시예들에서, 방법들 및 애플리케이션들은 수동 사용자 인터페이스를 포함하고, 반면에 다른 실시예들에서, 더 "반자동" 사용자 인터페이스가 사용될 수 있다.
[00036] 산업계에서 알려진 방법들을 사용하면, 깊이 센서들은 극히 상세한 정보를 포함하는 3D 재구성들을 생성할 수 있어서, 임의의 의미론 없이 많은 기하학적 프리미티브들(primitives)을 포함할 수 있는 모델을 발생시킨다. 저렴한 깊이 센서들은 실내 환경들에 대한 실시간 조밀한 재구성을 제공할 수 있다. 결과적인 3D 모델들은 증강 현실(AR)에 사용될 수 있지만, 기하학적 모델들은 밀리미터-스케일 세부사항을 갖고, 상당한 프로세싱 및 저장 자원들을 소비한다.
[00037] 많은 애플리케이션들에서, 풍부한 세부사항들보다는 적은 수의 다각형들로 구성된 기하학적 모델들이 필요로 될 수 있는 전부이고, 다각형들은 환경의 중요한 구조들을 나타낸다. 모델링된 구조는 기하학적 겉면들, 에지들 및 꼭짓점들 및 또한 간단한 볼륨들로 구성된 다각형 모델을 포함할 수 있다. 그러한 기하학적 모델들은 구조적 모델들로 지칭될 수 있다. 예를 들면, 간단한 룸은, 총 8 개의 다각형들에서 4 개의 벽들, 바닥, 천장, 문 및 창문을 포함할 수 있다. 이러한 기하학적 구조들이 낮은 복잡성을 갖고, 종종 직각들 또는 병렬 에지들과 같은 제약들을 갖는다는 것을 유의하라. 또한, 의미론적 의미를 구조들에 부착하는 것이 중요할 수 있다. 예를 들면, 문은 인접한 룸에 접근하는데 사용될 수 있거나, 가상 오브젝트들이 실제 표면들 상에 머물도록 제약될 수 있거나, 창문이 위 아래로 슬라이딩할 수 있다. 증강 현실(AR)에서의 상호작용에 대해, 관련 정보를 갖는 간략한 구조적 모델들은 모바일 디바이스들 상의 구조적 모델들과 연관된 정보의 실시간 프로세싱을 가능하게 할 수 있다. 따라서, 본 발명의 실시예들은 문에 대한 단일의 직사각형과 같이 약간의 다각형들을 통해 실세계로부터의 중요한 엘리먼트들을 표현하는 것을 제안한다.
[00038] 본 개시들의 방법들 및 장치들은 일부 실시예들에 따른, AR 모델링 사용자 인터페이스에 대한 깊이 센서의 사용을 예시하고, 여기서 인터페이스는 사용자가 구조적 모델을 입력하기 위한 "가상 레이저-포인터" 메타포(metaphor)를 사용하여 기하학적 형상들을 추적하는 것을 가능하게 한다. 일부 구현들에서, 빠르고 부정확한 입력이 수용 가능할 수 있는데, 왜냐하면 시스템은 3D 재구성으로부터 사용자에 의도된 기하학적 구조를 추론할 수 있기 때문이다. 또한, 모바일 디바이스는 실시간 시각 피드백을 사용자에 제공하도록 구성될 수 있다.
[00039] 본 개시는 환경에서 깊이 카메라 장치를 스위핑하고, 메시(mesh)를 구조적 모델로 정제(refine)함으로써 획득된 조밀한 메시의 추정치와 모바일 사용자 인터페이스를 결합하는 공간적 AR 모델링 기술을 예시한다. 일부 실시예들에서, 메시는 3D 차원 공간에 대한 복수의 데이터 포인트들을 지칭할 수 있다. 모바일 사용자 인터페이스는 AR 뷰에서 꼭짓점들, 에지들 및 평면들을 결정하기 위해 3D 제스처들 또는 사용자 입력을 검출하도록 구성될 수 있다. 모바일 사용자 인터페이스는 또한 AR 뷰에서 의미론과 구조들을 연관시키도록 구성될 수 있다. 예를 들면, 드롭 다운 메뉴는 사용자가 창문들, 프레임들 등과 같은 다수의 다른 의미론들 중에서 "문" 의미론과 문을 연관시키도록 허용할 수 있다. 이들 예들 및 다른 것들은 아래에 더 상세히 설명될 것이다.
[00040] 도 1을 참조하면, 예시적인 컴퓨팅 디바이스(100)는 본 개시의 하나 이상의 양상들을 구현하도록 구성될 수 있다. 예를 들면, 컴퓨팅 디바이스(100)는 스마트 폰, 태블릿 컴퓨터, 개인 휴대 정보 단말기, 또는 컴퓨팅 디바이스(100)가 입력 형태로 이미지 데이터 또는 다른 데이터를 수신하도록 허용하는 하나 이상의 센서들이 장착된 다른 모바일 디바이스일 수 있다. 다른 예에서, 컴퓨팅 디바이스(100)는 헤드-장착 디바이스 또는 임의의 다른 컴퓨팅 디바이스일 수 있다. 일부 실시예들에서, 컴퓨팅 디바이스(100)는 모바일 디바이스가 아니고, 예를 들면, 데스크톱 컴퓨터, 게임 기계, 고정 센서 또는 카메라, 또는 무선 또는 유선으로 함께 커플링된 기계들의 시스템일 수 있다. 컴퓨팅 디바이스(100)는 하나 이상의 전방(110) 또는 후방 카메라들, 모노-렌즈 카메라들, 깊이 카메라들, 레이저 센서들, 소나(sonar) 센서들 및/또는 다른 센서들이 장착되고, 이와 통신 가능하게 커플링되고 및/또는 그렇지 않다면 이를 포함할 수 있다. 모바일 디바이스는 또한 디바이스와 상호작용하기 위한 하나 이상의 사용자 인터페이스들을 포함할 수 있다. 예를 들면, 모바일 디바이스는 데이터를 입력하기 위해 사용자가 상호작용할 수 있는 터치스크린(120)을 포함할 수 있다. 그러한 인터페이스들은 사용자가 기하학적 구조들을 정의 및 윤곽을 보여주는 것을 가능하게 할 수 있다. 다른 인터페이스는 제스처들을 검출하고 제스처들을 모바일 디바이스에 대한 커맨드들로서 해석하기 위한 제스처 인식 시스템을 포함할 수 있다. 하나 이상의 센서들을 포함하는 것 이외에, 컴퓨팅 디바이스(100)는 또한, 아래에 더 상세히 설명되는 바와 같이, 하나 이상의 프로세서들, 메모리 유닛들 및/또는 다른 하드웨어 컴포넌트들을 포함할 수 있다.
[00041] 하나 이상의 배열들에서, 컴퓨팅 디바이스(100)는 이미지들 또는 물리적 경계들을 정의하기 위한 다른 수단 중 어느 하나에 기초하여 컴퓨팅 디바이스(100)의 자연적인 환경들에 관한 데이터를 획득하기 위해 이들 센서들 중 임의의 것 및/또는 전부를 단독으로 또는 조합하여 사용할 수 있다. 예를 들면, 컴퓨팅 디바이스(100)는 컴퓨팅 디바이스(100)의 자연적인 환경들의 하나 이상의 그래픽 뷰들을 획득하기 위해 하나 이상의 카메라들을 사용할 수 있다. 더 복잡한 예로서, 컴퓨팅 디바이스(100) 내의 하나 이상의 카메라들과 조합하여 하나 이상의 프로세서들은 시간에 걸쳐 기록 및/또는 수신된 다수의 이미지들을 통해 자연적인 환경들을 보는데 사용될 수 있다. 특정 예에서, 자연적인 환경들은 테이블 또는 다른 평면의 표면, 및 테이블의 상부 상에 놓인 다수의 오브젝트들을 포함할 수 있다. 컴퓨팅 디바이스(100)는 다수의 각도들 또는 관점들로부터 테이블을 보기 위해 하나 이상의 카메라들을 사용하여, 테이블 및 테이블 상의 오브젝트들에 관한 이미지 데이터의 다수의 프레임들을 제공할 수 있다. 이들 이미지 데이터가 예들로서 본원에 설명되지만, 컴퓨팅 디바이스(100) 내의 하나 이상의 센서들을 통해서든지 또는 무선 수단 또는 유선 수단을 통해서든지, 컴퓨팅 디바이스(100)에 의해 획득된 임의의 다른 종류의 데이터는 본 개시의 하나 이상의 양상들을 구현하는 것의 부분으로서 고려될 수 있다.
[00042] 도 2a는 예시적인 사무실 공간을 예시한다. 도 2b는 깊이 센서로 인에이블된 모바일 디바이스에 의해 디스플레이된 사무실 공간의 표현을 예시한다. 도 2c는 사무실 공간의 재구성된 모델을 예시한다. 본 발명의 실시예들에 따라, 모바일 디바이스(100)는 구조적 모델을 생성할 수 있다.
[00043] 도 2a를 참조하면, 모바일 디바이스(100)를 사용하는 사용자는 룸(200)을 모델링할 수 있다. 이러한 예에서, 사용자는, 도 2b에 도시된 바와 같이, 모바일 디바이스(100)로 관심 영역(도 2a에서 2 개의 벽들(204 및 206) 사이의 에지)을 조준할 수 있다. 본 발명의 실시예들은 직교 에지(디바이스(100) 상에 디스플레이된 직교-공간 커서)를 추정함으로써 시각 피드백을 즉시 제공하고, 현재 추정된 평면들의 지원 영역(강조된 직사각형들(204' 및 206'))을 강조할 수 있다. 도 2c는 재구성된 평면들을 예시한다. 일부 실시예들에서, 도 2b에 도시된 바와 같이, 모바일 디바이스는 사용자가 도 2c로부터의 구조들(예를 들면, 직사각형들)과 도 2a로부터의 실세계 오브젝트를 연관시키는 것을 가능하게 하기 위해 사무실 공간의 뷰의 상부 상에 재구성된 구조적 모델을 덮어씌운다
[00044] 도 2a, 도 2b 및 도 2c에 도시된 예시적인 사용 경우에 따라, 본 발명의 실시예들은, 깊이 센서 프레임워크에 의해 보조되는 동안에, 사용자가 구조적 모델의 생성을 상호작용하여 가능하게 하는 사용자 인터페이스를 제공한다. 사용자가 낮은 인지 노력으로 적절한 구조적 모델을 증가하여 구축하는 것을 가능하게 하는 예시적인 제스처들의 세트가 설명된다. 도 2b에 도시된 바와 같이, 일부 실시예들에서, 피드백은 모바일 디바이스(100)의 디스플레이 상의 AR 인터페이스에 도시된 레지스터링된 그래픽들을 통해 즉시 제공될 수 있다.
[00045] 본 발명의 실시예들은 구조적 모델을 생성하기 위해 깊이 센서로부터의 3D 정보의 자동적인 재구성 및 덜 정밀하고 부담이 덜한 사용자 상호작용들을 결합한다. 사용자 상호작용과 자동적인 재구성을 결합하는 것은, 사용자에 의한 지루한 상호작용들을 요구하지 않고 대부분의 경우들에서 즉시 피드백 정보를 사용자들에 제공하지 않고서, 구조적 모델의 빠르고 정밀한 구성을 가능하게 한다. 또한, 일부 실시예들에 따라, 제스처들과 같은 사용자 입력은 환경들 내의 오브젝트들을 모델링할 뿐만 아니라, 의미론을 모델링된 물체들에 할당하기 위해 제안된 시스템 내에서 사용될 수 있다.
[00046] 일부 실시예들에서, 에지들을 단독으로 지정함으로써, 사용자는 매우 적은 노력으로 생성되는 구조적 모델의 기하학적 구조를 정밀하게, 효율적으로 그리고 직관적으로 제어할 수 있다. 예를 들면, 사용자는 다각형의 윤곽을 한 에지씩 간단히 "그릴" 수 있다. 본 발명의 실시예들에 따라, 부가적인 기하학적 구조가 자동적으로 추론될 수 있다. 제공된 인터페이스와 같은 본 발명의 실시예들은 더 양호한 제어를 허용하고, 모바일 디바이스(100)에서 구조적 모델을 생성하기 위한 계산적으로 경량의 기술들을 제공한다.
[00047] 또한, 본 발명의 실시예들은 사용자가 구조적 모델을 즉시 생성하도록 허용하고, 모바일 디바이스 상에서 의미론과 다양한 구조들을 실시간으로 연관시킨다. 예를 들면, 모바일 디바이스는 창문에 대한 구조적 모델을 직사각형으로서 생성하고, 창문의 직사각형과 의미론을 연관시키기 위한 인터페이스를 사용자에게 제공할 수 있다. 예를 들면, 창문의 의미론은, 창문이 유리로 구성되고 따라서 투명하거나, 창문이 한 방향으로 슬라이딩할 수 있다는 것을 포함할 수 있다. 모바일 디바이스가 구조적 모델을 생성하고 구조적 모델에 의미론을 실시간으로 주석을 달 수 있기 때문에, 사용자는 증강 현실 환경에서 자신의 의미론을 갖는 구조적 모델을 즉시 사용할 수 있다.
[00048] 그러한 증강 현실 환경의 예시적인 애플리케이션은 사용자가 하우스의 섹션들을 재모델링하려고 시도하는 것을 포함할 수 있다. 일단 룸 내의 상이한 구조들이 식별되고 의미론으로 주석이 달리면, 인터페이스는 또한 그러한 구조들을 조작하는 능력을 사용자에게 제공할 수 있다. 예를 들면, 위의 예에서, 일단 창문이 식별되고, 의미론으로 주석이 달리면, 사용자는 창문을 넓히고, 증강 현실 표현의 넓혀진 창문을 모바일 디바이스의 디스플레이 상에 덮어씌우도록 모바일 디바이스에 지시할 수 있다.
[00049] 일부 구현들에서, 모바일 디바이스는 사용자에게 수동 사용자 인터페이스를 제공할 수 있고, 반면에 다른 구현들에서, 모바일 디바이스는 사용자에게 반자동 사용자 인터페이스를 제공할 수 있다. 수동 인터페이스는 사용자가 에지들을 지정하는 것을 통해 모델링 프로세스를 명시적으로 그리고 완전히 제어하는 것을 가능하게 하고, 반면에 반자동 인터페이스는 사용자가 자동적으로 추정된 근본적인 로컬 구조들로부터 옵션들을 즉시 선택하도록 허용한다.
[00050] 도 3을 참조하면, 예시(300)는 모바일 디바이스(100) 상에 디스플레이되는 십자선 커서(302) 및 모바일 디바이스 카메라의 현재 뷰에서 3D 대응하는 포인트의 프로젝션을 도시한다. 도 3은 결합(bounding) 에지들을 명시적으로 지정하는 것을 통해 겉면들을 생성하는 수동 사용자 인터페이스를 예시한다. 일 예에서, 사용자가 장면에 걸쳐 모바일 디바이스(100)를 스위핑(sweep)할 때, 모바일 디바이스(100)는 장면에 대해 추적되고, 한편 사용자는 제스처 입력을 수행한다. 스크린 상에 십자선 커서(302)를 도시함으로써, 사용자는 장면 위에서 모바일 디바이스(100)를 느리게 스위핑하고, 결과적으로 박스의 에지 위에서 십자선 커서(302)를 이동시킬 수 있다. 일 구현에서, 십자선을 통해 카메라 중심으로부터 선(306)을 캐스팅하고 이러한 선과 환경을 교차함으로써 언제라도 커서 위치가 도시될 수 있다.
[00051] 하나의 예시적인 구현에서, 커서를 움직이고 적절한 제스처 타입을 선택함으로써, 사용자는 구조적 모델을 생성할 수 있다. 제스처를 취하는 동안에 엄지손가락으로 터치스크린 상의 소프트 버튼을 누르고, 따라서 버튼이 눌려져 있는 동안에만 제스처를 활성화함으로써 제스처 타입 선택이 즉시 이루어진다. 그러나, 본 발명의 범위에서 벗어나지 않고서, 선택을 위한 임의의 다른 기술(메뉴 등)이 또한 사용될 수 있다.
[00052] 도 3을 다시 참조하면, 사용자는 커서를 시작 코너(310)로 대략적으로 지시하고, 이어서 모바일 디바이스(100) 및 십자선 커서를 (화살표(304)로 표시된 방향으로) 끝 코너로 느리게 이동시켜서 "에지"를 선택할 수 있다(도 4a 내지 도 4c 참조). 사용자 제스처를 따라, 시스템은 시작 커서 위치 및 현재 커서 위치에 의해 결정된 커버리지 영역에서 에지(312로 표시됨)를 추정한다. 이들 커서 위치들은 에지에 대한 증거가 잠재적으로 존재하는 커버리지 영역을 정의한다. 이어서, 커버리지 영역에 기초하여, 시스템은 에지의 최적의 표현을 해결한다. 일부 실시예들에서, 에지는 공간에서 직선이어야 하고, 이것은 사용자에 의해 표시된 선에 가깝지만, 에지는 또한 재구성에서 깊이 또는 정상 불연속에 가까워야 한다. 이러한 예시적인 상호작용 기술은 코너들에 대략적으로 지시하도록 사용자에게 요구하지만, 사용자가 코너들 사이의 공간에서 커서를 자유롭게 이동시키도록 허용한다.
[00053] 도 4a, 도 4b 및 도 4c를 참조하면, 사용자는 시작 코너(402) 그리고 이어서 에지의 원하는 끝-포인트 또는 끝 코너(404)를 대략적으로 지시하는 것을 통해 에지를 지정한다. 현재 커서 위치에서, 시스템은 에지에 관한 피드백을 추정하고 이를 사용자에게 제공한다(도 4a 및 도 4c에 이중 에지로 표시됨). 도 4a 및 도 4c는, 사용자가 에지를 근사화할 수 있다는 것을 예시한다. 사용자가 에지에 걸쳐 커서를 대략적으로 이동시킬지라도, 모바일 디바이스 상에서 실행되는 에지 검출 시스템은 에지를 검출할 수 있는데, 왜냐하면 에지가 2 개의 평면들의 교차에 의해 표시된 강한 기하학적 특징을 표현하기 때문이다. 예를 들면, 도 4b에서, 커서가 에지로부터 떨어져 이동하고 에지가 (도 4b에 도시된 바와 같이) 디스플레이에서 검출된 것으로 잠깐 도시될 수 없을지라도, 커서가 에지로 다시 대략적으로 리턴하고 따라서 (도 4c에 표시된 바와 같이) 원하는 끝 포인트를 향해 이동하는 한, 에지가 여전히 검출될 수 있다.
[00054] 기하학적 구조에 대한 에지들이 차례로(one after the other) 모바일 디바이스에 의해 식별될 수 있고, 에지의 끝 포인트가 제 1 에지의 시작 포인트에 충분히 가까울 때, 구조의 겉면이 또한 식별될 수 있다. 그러한 시나리오들에서, 에지 루프는 자동적으로 폐쇄되고, 겉면이 식별될 수 있다. 하나의 실시예에서, 사용자는 또한 에지 시퀀스의 현재 끝 포인트로부터 다시 시작 포인트로 부가적인 에지를 삽입함으로써 바로 겉면을 생성하기 위한 "겉면 제조" 버튼을 누를 수 있다.
[00055] 일 실시예에서, 직사각형의 에지들 중 몇몇이 지정되면, 사용자는 또한 직사각형이 지정된 에지들을 사용하여 생성되어야 한다는 것을 표시하기 위해 "직사각형 제조" 버튼을 누를 수 있다. 이러한 시나리오에서, 시스템은 직사각형이 생성될 수 있도록 시퀀스를 최적화한다. 2 개 또는 3 개의 에지들만이 현재 시퀀스에 있다면, 모바일 디바이스는 분실된 에지들을 결정할 수 있다.
[00056] 도 5를 참조하면, 예시(500)는, 사용자가 커서를 연속적으로 지시하고 평면의 평면의 영역들을 통해 커서를 스위핑하는 것을 통해 평면을 지정하는 방법을 도시한다. 도 5에 도시된 바와 같이, 오브젝트의 겉면은 '평면' 옵션을 선택하고 특정 평면의 표면 위에서 커서(502로 표시됨)를 스위핑함으로써 지정될 수 있다. 일부 실시예들에서, 시스템은 커서 주변의 원뿔에서 표면 포인트들을 검사하고, 지배적인 평면을 계산한다. 사용자는 "플러스" 및 "마이너스" 옵션들을 통해 선택을 확장 또는 감소시킬 수 있다. "평면" 옵션은 더 복잡한 기하학적 구조들을 갖는 경우들에서 도움이 될 수 있다. 또한, 사용자는 평면 위에서 스위핑함으로써 고르지 않은 평면들을 연결할 수 있다. 예를 들면, 문은 문이 단일 구조로서 인지되는 것을 제한할 수 있는 판화들(engravings)을 가질 수 있다. 그러한 경우들에서, 사용자는 문에 대한 단일의 직사각형을 생성하기 위해 문의 고르지 않은 에지들 위에서 스위핑할 수 있다.
[00057] 일부 경우들에서, 결과는 본 경우에서 겉면이 아니라, 무한 평면일 수 있다. 평면들은 겉면들의 지정을 지원하도록 의도될 수 있다. 겉면이 에지의 시퀀스로 정의되면, 시스템은 겉면과 모든 평면들을 비교할 수 있다. 겉면이 평면에 충분히 가깝다면, 평면 제약들이 겉면의 지정에 부가될 수 있다. 즉, 사용자는 또한 평면들을 지정함으로써 시스템이 더 양호한 정확도로 겉면들을 결정하는 것을 도울 수 있지만, 이것이 필요하지 않을 수 있다.
[00058] 일부 구현들에서, 본 발명의 실시예들은 압출되는 볼륨들을 지정하는 것을 허용할 수 있다. 예를 들면, 겉면("하부" 겉면)이 지정된 후에, 사용자가 "압출(extrude)" 옵션을 누르면, 사용자는 공간에서 "상부" 포인트를 지정할 수 있다. 프리즘의 "상부" 겉면이 "상부" 포인트의 평면에 놓이도록 겉면을 자신의 수직 방향으로 압출함으로써 프리즘이 구성될 수 있다.
[00059] 수동 사용자 인터페이스에 대한 대안으로서, 일부 실시예들에서, 더 빠른 동작을 위해 반자동 사용자 인터페이스가 사용될 수 있다. 이러한 인터페이스를 통해, 사용자에게 더 많은 옵션들이 제공될 수 있고, 사용자 입력의 더 많은 파라미터들이 동적으로 추론될 수 있다. 사용자는 임의적인 순서로 일부 구조들을 정의하도록 허용될 수 있고, 시스템은 더 많은 정보를 혼자서 알아낼 수 있다. 예를 들면, 룸에서, 사용자는 3 개의 평면들에 의해 교차되는 천장 코너를 지시할 수 있다. 모바일 디바이스는 3 개의 평면들을 추론하고, 자동적으로 구조적 모델을 생성할 수 있다.
[00060] 도 6a는 겉면을 지정하기 위한 온-평면 커서를 예시한다. 이것은 겉면에 대한 추정된 에지, 수직 코너, 또는 직교 코너를 디스플레이한다. 예를 들면, (602)에 도시된 바와 같이, 기하학적 구조에 기초하여, 모바일 디바이스의 컴포넌트들은, 2 개의 에지들 사이의 각도가 대략 제로이기 때문에, 커서가 에지를 지시하고 있다고 해석할 수 있다. 마찬가지로, (604 및 606)에 도시된 바와 같이, 모바일 디바이스의 컴포넌트는, 에지들 사이의 각도에 기초하여, 커서가 수직 코너 또는 직교 코너를 향해 각각 지시된다고 해석할 수 있다.
[00061] 도 6b는, 사용자가 공간에서 그리고 관심있는 로컬 구조에서 커서를 자유롭게 이동시킬 때, 하나의 평면, 2 개의 직교 평면들 또는 3 개의 직교 평면들의 코너를 디스플레이하는 직교-공간 커서를 예시한다. 도 6c는 수직 공간 커서가 자신의 직교 특성을 제외하고 직교-공간 커서와 어떻게 유사할 수 있는지를 예시한다.
[00062] 일부 구현들에서, 사용자가 부가적인 제약들을 지정하도록 허용하는 하나보다 더 많은 커서를 선택할 옵션이 사용자에게 제공될 수 있다. 일부 경우들에서, 온-평면 커서는, 사용자가 평면을 지정하였고 가정할 수 있고, 사용자가 에지들, 임의적인 코너들 또는 직각 코너들을 입력하게 한다. 직교-공간 커서는 겉면, 에지 또는 코너를 지시함으로써 사용자가 1, 2, 또는 3 개의 인접한 다각형들을 입력하도록 허용할 수 있다. 또한, 수직-공간 커서는 직교-공간 커서와 유사할 수 있지만, 직각들을 가정하지 않을 수 있다.
[00063] 현재 커서 타입은 사용자(수동 모드)에 의해 설정되거나 자동적으로(자동 모드) 결정될 수 있다. 자동 모드에서, 시스템은 현재 추정된 로컬 구조(예를 들면, 커서 위치 주변의 재구성된 장면)에 의존하여 커서 타입을 결정할 수 있다. 가시화된 커서 이미지는 현재 로컬 구조를 추정하도록 적응될 수 있다. 예를 들면, 도 6a는 커서 이미지가 추정된 코너에 적응되는 동안에 현재 온-평면 수직 코너 커서를 예시한다.
[00064] 임의의 2 개의 오브젝트들은 위의 예들에서 논의된 바와 같이 강체 부속물(rigidly adjunct) 또는 본 발명의 특정 실시예들에 따라 비-강체 부속물로서 정의될 수 있다. 비-강체 부속물 오브젝트들은 문들 또는 창문들과 같은 움직이는 부분들을 모델링할 수 있다. 본 발명의 실시예들은 다수의 비-강체 타입들, 예를 들면, 도 7a 및 도 7b에 각각 예시된 바와 같이, 턴(turn) 및 슬라이드를 설명할 수 있다. 턴에 대해, 2 개의 파라미터들, 즉, 회전 벡터 및 턴의 범위가 지정될 수 있다. 슬라이드는 단지 하나의 파라미터, 즉, 슬라이딩 방향 벡터를 수용할 수 있다. 일반적으로, 디바이스와 연관된 DOF(자유도)를 적절히 도시하기 위해, 모바일 디바이스의 컴포넌트에 대한 오브젝트의 초기 상태 및 마지막 상태가 도시되어, 오브젝트와 연관된 DOF를 추론할 수 있다.
[00065] 도 7a는 다른 고정 오브젝트 둘레를 턴할 수 있는 오브젝트를 모델링하는 부속물 구조적 모델을 예시한다. 예를 들면, 도 7a는 벽 상의 힌지들(hinges) 둘레를 피벗하는 문을 예시할 수 있다. 도 7b는 다른 고정 오브젝트를 따라 슬라이딩할 수 있는 오브젝트를 예시한 부속물 구조적 모델을 예시한다. 예를 들면, 도 7b는 슬라이딩하는 문을 예시할 수 있고, 여기서 문들 중 하나는 고정된다.
[00066] 도 7a 및 도 7b에 도시된 바와 같이, 비-강체 부속물 모델링을 제공하는 것은 문들 또는 창문들과 같은 움직이는 부분들을 사용자가 모델링하는 것을 가능하게 할 수 있다. 도 7a에서, 턴 부속물에 대해, 사용자는 먼저 턴-가능 오브젝트들과 고정 오브젝트들 사이에 부속물 에지(이것은 또한 이러한 부속물의 회전 축임)를 정의할 수 있다. 이어서, 사용자는 모바일 디바이스(100)를 대략 유사한 회전 축으로 회전시킴으로써 회전 범위를 정의할 수 있다. 따라서, 시스템은 디바이스 회전을 1 DOF(자유도) 턴 회전에 자동적으로 맵핑할 수 있다.
[00067] 도 7b에서, 슬라이드 부속물에 대해, 사용자는 먼저 슬라이딩 평면(슬라이딩 오브젝트와 고정 오브젝트 사이의 접촉)을 선택할 필요가 있다. 이어서, 사용자는 슬라이딩 방향을 정의하기 위해 고정 오브젝트들의 주요 방향에 대해 모바일 디바이스(100)를 병진시킨다(translate). 모바일 디바이스는 사용자가 현재 추정된 로컬 구조의 방향 또는 위치를 조절하도록 허용할 수 있다. 따라서, 이것은, 추정된 구조를 원하는 방향 또는 위치로 조절하기 위해 모바일 디바이스(100)를 회전 또는 병진시키는 것을 통해 이루어질 수 있다.
[00068] 도 8은 이전에 논의된 예시적인 실시예에 따른, 사용자가 핸들 디바이스를 각각 회전 또는 병진시키는 것을 통해 오브젝트의 방향 또는 위치를 조작하는 방법을 예시한다. 예를 들면, 초기 상태 및 의도된 마지막 상태를 모바일 디바이스에 제공함으로써, 모바일 디바이스의 컴포넌트들은 도 8에 도시된 바와 같이 3 개의 DOF를 추론할 수도 있다.
[00069] 도 9a는 예시적인 진보된 동작 모드에서 복잡한 겉면을 지정하는데 사용되는 제스처들의 예시적인 경로의 시작을 예시한다. 도 9a에 도시된 바와 같이, 사용자는 커서를 겉면의 경계로 조준할 수 있다. 구불구불한 선(902)으로 표시된 바와 같이, 사용자가 코너들(직교하거나 그렇지 않은 것 둘 모두) 또는 에지들(직선 또는 그렇지 않은 것 둘 모두) 주변에서 대략 커서를 이동시키는 동안에, 시스템은 현재 커서 위치를 둘러싸는 영역의 로컬 구조를 추정하는 에지들(906, 908, 910 및 912)을 표시하는 관심 포인트들에 대해 자동적으로 스냅핑(snap)한다. 예를 들면, 도 9a의 에지(904)와 같은 이중선 에지들은 디바이스에 의해 식별되고 사용자에게 디스플레이되는 에지들을 표시할 수 있다. 시스템은 적절한 커서 형상들을 가시화하는 것(예를 들면, 도 6에서 온-평면 커서를 사용하는 것)을 통해 추정된 구조에 대한 피드백을 사용자에게 제공할 수 있다. 사용자는 현재 추정된 구조를 확인하기 위해 버튼을 누를 수 있다. 사용자는 또한 간접적인 조작을 통해 구조의 방향을 조절할 수 있다. 희미하게, 사용자는 또한, 제스처를 수행하면서, 특정 커서 타입을 클릭함으로써(시스템이 커서 수동 모드에 있는 것을 자신이 인지하는 경우) 로컬 구조를 직접적으로 지정할 수 있다.
[00070] 도 9b는 사용자로부터의 제스처를 사용하는 구조적 모델의 맵핑의 마지막을 예시한다. 사용자에 의해 그려진 도 9b의 구불구불한 선(902)의 연속은 커서를 관심 영역들 및 필요한 경우 겉면의 경계 또는 에지들(914, 916 및 918)을 표시하는 부가적인 관심 포인트로 조준하는 연속적인 제스처를 수행함으로써 겉면을 생성한다. 제스처 동안에, 시스템은 커서 위치를 둘러싸는 로컬 구조들을 자동적으로 추정하고, 일부 실시예들에 따라, 대응하는 커서 이미지와 함께 피드백을 사용자에게 즉시 제공한다.
[00071] 도 10a에 도시된 바와 같이, 사용자는 평면들 사이의 몇몇의 평면들 및 제약들(예를 들면, 직교성)을 정의하기 위해 커서를 관심있는 로컬 구조들로 타겟팅한다. 3D 평면 상에서 에지들을 지정하는 것과 마찬가지로, 사용자가 커서를 경로(1002)를 따라 이동시킬 때, 시스템은 근본적인 대응하는 로컬 3D 구조들을 자동적으로 추정하고, 평면 경계를 알아낸다. 시스템은 적절한 커서 이미지(도 6에서 직교-공간 또는 수직-공간 커서들로서 예시됨) 및 대응하는 평면들을 가시화하는 것을 통해 피드백을 사용자에게 제공한다. 사용자는 현재 추정된 구조를 수용하기 위해 버튼을 누를 수 있다. 또한, 사용자는 간접적인 조작 기술들을 사용하여 현재 강조된 구조들의 방향을 조절할 수 있다. 물론, 사용자는 또한 특정 커서 타입을 클릭하는 것을 통해 로컬 구조들을 직접적으로 지정할 수 있다.
[00072] 도 10a 및 도 10b를 참조하면, 사용자는 커서를 관심 영역으로 대략적으로 지시함으로써 평면들(한번에 1, 2, 또는 3 개의 평면들)을 지정한다(도 10a는 조기의 단계 동안에 경로(1002)를 도시하고, 반면에 도 10b는 나중 단계 동안에 경로(1004)를 도시한다). 시스템은 적절한 적응된 커서 이미지 및 대응하는 평면들을 가시화하는 것을 통해 추정된 로컬 구조에 대한 피드백을 즉시 제공한다. 예를 들면, 피드백 시스템은 모델링된 구조들을 시각적으로 강조할 수 있다(미도시).
[00073] 유사한 목적들을 달성하도록 의도된 기존의 방법들에 비해 본 개시들의 많은 이점들이 존재한다. 예를 들면, 의미있는 모델들은 AR 애플리케이션들과 같이 모바일 디바이스들에 대한 최근 애플리케이션들에서 점점 더 수요가 증가하고 있다. 그러나, 연구 및 산업 커뮤니티들로부터의 최근의 시도들은 그러한 모델들을 직관적인 방식으로 달성하는데 실패하였다. 이와 대조적으로, 본 개시들의 실시예들은 정량 및 정성적 구조적 모델들을 달성하기 위해 사용자 입력 및 자동 추정의 조합을 이용한다. 사용자 인터페이스 내에서 계산하기 어려운 파라미터들의 제어 및 쉬운 입력을 조합함으로써, 깊이 감지 유닛으로부터 계산하기 쉬운 (그러나 그렇지 않다면 수동으로 지루한 입력) 파라미터들/측정들의 정밀성 및 자동 결정을 통해, 본 발명의 실시예들은 효율적인 구조적 모델링을 허용한다. 결과적으로, 본 개시의 실시예들은 사용자가, 비교적 정확성을 제안하면서, 현재 최신식보다 더 빠르고 더 효율적으로 의미론적 의미를 갖는 구조적 모델들을 생성하는 것을 가능하게 한다.
[00074] 도 11은 본 발명의 일 실시예에 따른, 모바일 디바이스(100)에서 구현되는 예시적인 모듈들에 대한 블록도를 예시한다. 모바일 디바이스는 도 13에서 설명된 하나 이상의 컴포넌트들을 사용하여 구현된 컴퓨터 디바이스일 수 있다. 도 11에 설명된 모듈들은 소프트웨어, 펌웨어, 하드웨어 또는 이들의 임의의 다른 조합을 사용하여 구현될 수 있다. 일 실시예에서, 도 11에 설명된 모듈들은, 임의의 자기, 전자, 광학 또는 다른 컴퓨터-판독 가능 저장 매체일 수 있는 컴퓨터-판독 가능 매체(1100) 상에 소프트웨어 모듈들로서 저장될 수 있다. 일 구현에서, 컴퓨터-판독 가능 저장 매체(1100)는 사용자 입력 모듈(1102), 카메라 및 센서 모듈(1104), 제스처 인식 모듈(1106), 구조적 모델 생성기(1108) 및 디스플레이 및 피드백 모듈(1110)을 포함할 수 있다.
[00075] 사용자 입력 모듈(1102)은 사용자 인터페이스를 통해 사용자 입력을 수신하도록 구성될 수 있다. 예를 들면, 일 구현에서, 사용자는, 앞의 도면들에 설명된 바와 같이, 적절한 모드 및 적절한 커서 타입을 선택하고 커서를 조작하기 위한 입력을 모바일 디바이스(100)의 터치스크린에서 제공할 수 있다.
[00076] 카메라 및 센서 모듈(1104)은 모바일 디바이스(100)의 카메라 컴포넌트들로부터의 카메라 정보 및 모바일 디바이스(100)에 대한 깊이 센서로부터의 깊이 정보를 수신하도록 구성될 수 있다.
[00077] 제스처 인식 모듈(1106)은 카메라 및 센서 모듈(1104)로부터 카메라 및 깊이 정보를 수신하도록 구성될 수 있다. 제스처 인식 모듈(1106)은 카메라로부터의 정보를 사용하여 제스처를 결정하고, 제스처와 커맨드를 연관시킬 수 있다. 예를 들면, 사용자는, 앞의 도면들에 설명된 바와 같이, 적절한 모드를 선택하고, 적절한 커서 타입을 선택하고, 커서를 조작하기 위해 제스처를 취할 수 있다.
[00078] 구조적 모델 생성기(1108)는 사용자 입력 모듈(1102), 카메라 및 센서 모듈(1104) 및 제스처 인식 모듈에 대한 정보를 수신하도록 구성될 수 있다. 구조적 모델 생성기(1108)는 구조적 모델을 생성하기 위해 (터치스크린 및/또는 제스처를 통한) 사용자 입력 및 카메라 및 깊이 센서 정보를 결합하도록 구성될 수 있다. 또한, 구조적 모델 생성기(1108)는 또한 정보의 주석을 달도록 사용자에게 요청함으로써 구조적 모델로부터의 구조들에 의미론으로 주석을 달 수 있다.
[00079] 디스플레이 및 피드백 모듈(1110)은 모바일 디바이스(100)의 스크린 상에 증강 현실을 디스플레이하도록 구성될 수 있다. 디스플레이 및 피드백 모듈(1110)은 카메라 및 센서 모듈(1104)로부터 카메라 입력을 수신하고, 구조적 모델 생성기(1108)로부터의 구조적 모델을 디스플레이 상에 덮어씌울 수 있다. 디스플레이 및 피드백 모듈(1110)은 또한 현실의 디스플레이 위에 커서 및 커서의 경로를 덮어씌울 수 있다. 또한, 디스플레이 및 피드백 모듈(1110)은 디바이스의 뷰로부터 모델링된 구조들에 관한 피드백을 사용자에 제공하기 위해 디바이스 상에서 증강 현실 뷰의 기하학적 구조들을 강조할 수 있다.
[00080] 도 12는 본 개시의 하나 이상의 예시적인 양상들에 따른 본 발명의 실시예들을 수행하기 위한 방법을 예시한 흐름도이다. 하나 이상의 양상들에 따라, 본원에 설명되는 방법들 및/또는 방법 단계들 중 임의의 것 및/또는 그 전부는, 예를 들어, 모바일 디바이스(100), 이를테면, 모바일 디바이스(100) 및/또는 도 13에 더 상세하게 설명되는 디바이스로 그리고/또는 이들에 의해 구현될 수 있다. 하나의 실시예에서, 도 12에 대해 아래에서 설명되는 방법 단계들 중 하나 이상은 모바일 디바이스(1300)의 프로세서, 이를테면, 프로세서(1310) 또는 또 다른 프로세서에 의해 구현된다. 추가적으로 또는 대안적으로, 본원에 설명되는 방법들 및/또는 방법 단계들 중 임의의 것 및/또는 그 전부는 컴퓨터 판독가능한 명령들, 이를테면, 메모리(1335), 저장소(1325) 또는 또 다른 컴퓨터 판독가능한 매체와 같은 컴퓨터 판독가능한 매체 상에 저장되는 컴퓨터 판독가능한 명령들로 구현될 수 있다.
[00081] 흐름도(1200)는 일부 실시예들에 따른, 물리적 환경의 디지털 표현을 구성하기 위한 예시적인 방법 흐름을 예시한다. 블록(1202)에서, 물리적 환경을 나타내는 이미지 데이터가 획득될 수 있다. 블록(1204)에서, 사용자 입력 데이터는 획득된 이미지 데이터에 기초하여 사용자로부터 수신될 수 있고, 제스처 입력 데이터는 물리적 환경 내의 적어도 하나의 위치에 대응한다. 예시적인 사용자 입력 데이터는 본원에 설명된 임의의 타입들의 예시적인 제스처들 및 입력들을 포함할 수 있다. 상기 사용자 입력에 기초한 다른 타입들의 사용자 입력 또는 기능들이 당업자들에게 명백할 수 있고, 실시예들이 이에 제한되지 않는다. 블록(1206)에서, 적어도 하나의 불연속성은 수신된 사용자 입력 데이터에 대응하는 적어도 하나의 위치 근처에의 물리적 환경에서 검출될 수 있다. 블록(1208)에서, 물리적 환경 내의 표면에 대응하는 디지털 표면은 수신된 사용자 입력 데이터 및 적어도 하나의 불연속성에 기초하여 생성될 수 있다. 본원에 설명된 예시적인 방법은 이전의 도면들 및 설명들 중 임의의 것에 설명된 본 개시들 중 임의의 것에 따를 수 있다. 본원의 예시적인 방법을 구현하기 위한 예시적인 디바이스들은 이전의 도면들 및 설명들 중 임의것에서 이전에 언급된 예시적인 디바이스들 중 임의의 것일 수 있다.
[00082] 도 12에 예시된 특정 단계들은 본 발명의 실시예에 따라 동작 모드들 사이에서 스위칭하는 특정 방법을 제공한다는 것이 인식되어야 한다. 따라서, 다른 단계 시퀀스들은 또한 대안적 실시예들에서 수행될 수 있다. 예를 들어, 본 발명의 대안적 실시예들은 상이한 순서로 위에서 약술된 단계들을 수행할 수 있다. 게다가, 단계들에 대한 추가 단계들 또는 변형들은 특정 애플리케이션들에 따라 부가 또는 제거될 수 있다. 당업자는 프로세스에 대한 많은 변형들, 수정들 및 대안들을 인지 및 인식할 것이다.
[00083] 많은 실시예들은 특정 요건들에 따라 이루어질 수 있다. 예를 들어, 커스터마이징된(customized) 하드웨어가 또한 사용될 수 있고 그리고/또는 특정 엘리먼트들이 하드웨어, (휴대용 소프트웨어, 이를테면, 애플릿들(applets) 등을 포함하는) 소프트웨어 또는 이 둘 모두로 구현될 수 있다. 추가로, 네트워크 입력/출력 디바이스들과 같은 다른 컴퓨팅 디바이스들로의 연결들이 이용될 수 있다.
[00084] AR 환경들에서 평탄한 표면(planar surface)의 조밀한 표현을 정의하는 다수의 양상들이 설명되었고, 본 개시의 다양한 양상들이 구현될 수 있는 컴퓨팅 시스템의 예가 도 13에 대해 이제 설명될 것이다. 하나 이상의 양상들에 따라, 도 13에 예시된 바와 같은 컴퓨터 시스템은 본원에 설명된 특징들, 방법들 및/또는 방법 단계들 중 임의의 것 및/또는 그 전부를 구현, 수행 및/또는 실행할 수 있는 모바일 디바이스(100)의 일부로서 포함될 수 있다. 예를 들어, 컴퓨터 시스템(1300)은 모바일 디바이스(100)의 컴포넌트들의 일부를 표현할 수 있다. 모바일 디바이스는 무선 수신기 또는 모뎀과 같은 입력 감지 유닛을 갖는 임의의 컴퓨팅 디바이스일 수 있다. 모바일 디바이스의 예들은 비디오 게임 콘솔들, 태블릿들, 스마트 폰들, 텔레비전들, AR 고글들, 헤드 장착 디바이스들 및 이동국들을 포함한다(그러나, 이들에 제한되는 것은 아님). 일부 실시예들에서, 시스템(1300)은 위에서 설명된 방법들 중 임의의 방법을 구현하도록 구성된다. 도 13은, 본원에 설명된 바와 같이 다양한 다른 실시예들에 의해 제공된 방법들을 수행할 수 있고 그리고/또는 호스트 컴퓨터 시스템, 원격 키오스크/단말, 판매-시점(point-of-sale) 디바이스, 모바일 디바이스, 셋탑 박스 및/또는 컴퓨터 시스템으로서 기능할 수 있는 컴퓨터 시스템(1300)의 하나의 실시예의 개략적 예시를 제공한다. 도 13은 단지 다양한 컴포넌트들 - 이들 중 임의의 것 또는 이들 전부가 적절하게 활용될 수 있음 - 의 일반화된 예시를 제공하는 것으로 의미된다. 따라서, 도 13은 개별 시스템 엘리먼트들이 상대적으로 분리된 또는 상대적으로 더 통합된 방식으로 어떻게 구현될 수 있는지를 광범위하게 예시한다.
[00085] 컴퓨터 시스템(1300)은 버스(1305)를 통해 전기적으로 커플링될 수 있는(또는 그렇지 않으면 적절하게 통신할 수 있는) 하드웨어 엘리먼트들을 포함하는 것으로 도시된다. 하드웨어 엘리먼트들은, (제한없이, 하나 이상의 범용 프로세서들, 및/또는 하나 이상의 특수 목적 프로세서들(이를테면, 디지털 신호 프로세싱 칩들, 그래픽 가속 프로세서들 등)을 포함하는) 하나 이상의 프로세서들(1310); (제한없이, 카메라, 무선 수신기들, 무선 센서들, 마우스, 키보드 등을 포함할 수 있는) 하나 이상의 입력 디바이스들(1315); 및 (제한없이, 디스플레이 유닛, 프린터 등을 포함할 수 있는) 하나 이상의 출력 디바이스들(1320)을 포함할 수 있다. 또한, 하드웨어 엘리먼트들은 또한 이미지 데이터를 획득하기 위한 하나 이상의 카메라들(1355) 및 카메라의 뷰 필드의 깊이 정보를 수신하기 위한 하나 이상의 깊이 센서들(1360)을 포함할 수 있다.
[00086] 일부 실시예들에서, 하나 이상의 프로세서(1310)는 도 13에 대해 위에서 설명된 기능들의 서브세트 또는 그 전부를 수행하도록 구성될 수 있다. 프로세서(1310)는 예를 들어, 일반 프로세서 및/또는 애플리케이션 프로세서를 포함할 수 있다. 일부 실시예들에서, 프로세서는 시각 추적 디바이스 입력들 및 무선 센서 입력들을 프로세싱하는 엘리먼트로 통합된다.
[00087] 컴퓨터 시스템(1300)은, (제한없이, 로컬 및/또는 네트워크 액세스가능한 저장소를 포함하고 그리고/또는 제한없이, 프로그래밍가능하고, 플래시-업데이트 가능한 식일 수 있는 디스크 드라이브, 드라이브 어레이, 광학 저장 디바이스, 고체-상태 저장 디바이스, 이를테면, "RAM"(random access memory) 및/또는 "ROM"(read-only memory)을 포함할 수 있는) 하나 이상의 비-일시적 저장 디바이스들(1325)을 더 포함할 수 있다(그리고/또는 이들과 통신할 수 있다). 이러한 저장 디바이스들은, (제한없이, 다양한 파일 시스템들, 데이터베이스 구조들 등을 포함하는) 임의의 적절한 데이터 저장들을 구현하도록 구성될 수 있다.
[00088] 컴퓨터 시스템(1300)은 또한, (제한없이, 모뎀, 네트워크 카드(무선 또는 유선), 적외선 통신 디바이스, 무선 통신 디바이스, 및/또는 칩셋(이를테면, Bluetooth® 디바이스, 802.11 디바이스, WiFi 디바이스, WiMax 디바이스, 셀룰러 통신 설비들 등) 등을 포함할 수 있는) 통신 서브시스템(1330)을 포함할 수 있다. 통신 서브시스템(1330)은 데이터가 네트워크(이를테면, 하나의 예를 들자면, 아래에서 설명되는 네트워크), 다른 컴퓨터 시스템들, 및/또는 본원에 설명된 임의의 다른 디바이스들과 교환되게 허용할 수 있다. 많은 실시예들에서, 컴퓨터 시스템(1300)은 (위에서 설명된 바와 같이, RAM 또는 ROM 디바이스를 포함할 수 있는) 비-일시적 작업 메모리(1335)를 더 포함할 것이다. 일부 실시예들에서, 통신 서브시스템(1330)은 액세스 포인트들 또는 모바일 디바이스들로부터 신호들을 수신 및 송신하도록 구성되는 트랜시버(들)(1350)와 인터페이싱할 수 있다. 일부 실시예들은 별개의 수신기 또는 수신기들, 및 별개의 송신기 또는 송신기들을 포함할 수 있다.
[00089] 컴퓨터 시스템(1300)은 또한, 운영 시스템(1340), 디바이스 드라이버들, 실행가능한 라이브러리들 및/또는 다른 코드, 이를테면, 본원에 설명된 바와 같이, 다양한 실시예들에 의해 제공되는 컴퓨터 프로그램들을 포함할 수 있고, 그리고/또는 다른 실시예들에 의해 제공되는 방법들을 구현하고 그리고/또는 시스템들을 구성하도록 설계될 수 있는 하나 이상의 애플리케이션 프로그램들(1345)을 포함하는 작업 메모리(1335) 내에 현재 로케이팅되어 있는 것으로 도시된 소프트웨어 엘리먼트들을 포함할 수 있다. 단지 예로서, 예를 들어, 도 13에 대해 설명된 바와 같은 위에서 논의된 방법(들)에 대해 설명된 하나 이상의 프로시저들은 컴퓨터(및/또는 컴퓨터 내의 프로세서)에 의해 실행가능한 코드 및/또는 명령들로서 구현될 수 있고, 양상에서, 그 다음, 이러한 코드 및/또는 명령들은 설명된 방법들에 따라 하나 이상의 동작들을 수행하도록 범용 컴퓨터(또는 다른 디바이스)를 구성시키고 그리고/또는 적응시키기 위해 사용될 수 있다.
[00090] 이 명령들 및/또는 코드의 세트는, 위에서 설명된 저장 디바이스(들)(1325)와 같은 컴퓨터 판독가능한 저장 매체 상에 저장될 수 있다. 일부 경우들에서, 저장 매체는 컴퓨터 시스템, 이를테면, 컴퓨터 시스템(1300) 내에 포함될 수 있다. 다른 실시예들에서, 저장 매체는 컴퓨터 시스템(예를 들어, 탈착식(removable) 매체, 이를테면, 컴팩트 디스크(disc))과 별개일 수도 있고, 그리고/또는 저장 매체가 저장 매체 상에 저장된 명령들/코드로 범용 컴퓨터를 프로그래밍하고, 구성하고 그리고/또는 적응시키는데 사용될 수 있도록 설치 패키지로 제공될 수 있다. 이 명령들은 컴퓨터 시스템(1300)에 의해 실행가능한 실행가능 코드의 형태를 취할 수 있고 그리고/또는 (그 다음, 컴퓨터 시스템(1300) 상에서의 컴파일(compilation) 및/또는 설치(installation) 시에, (예를 들어, 다양한 일반적으로 이용가능한 컴파일러들, 설치 프로그램들, 압축/압축해제 유틸리티들 등 중 임의의 것을 사용하여) 실행가능한 코드의 형태를 취하는) 소스 및/또는 설치가능한 코드의 형태를 취할 수 있다.
[00091] 특정 요건들에 따라 상당한 변형들이 이루어질 수 있다. 예를 들어, 커스터마이징된 하드웨어가 또한 사용될 수 있고 그리고/또는 특정 엘리먼트들이 하드웨어, 소프트웨어(애플릿들과 같은 휴대용 소프트웨어 등을 포함함) 또는 둘 모두로 구현될 수 있다. 추가로, 네트워크 입력/출력 디바이스들과 같은 다른 컴퓨팅 디바이스들로의 연결이 이용될 수 있다.
[00092] 일부 실시예들은 본 개시에 따라 방법들을 수행하기 위해 컴퓨터 시스템(이를테면, 컴퓨터 시스템(1300))을 이용할 수 있다. 예를 들어, 프로세서(1310)가 작업 메모리(1335)에 포함되는 하나 이상의 명령들(애플리케이션 프로그램(1345)과 같은 운영 시스템(1340) 및/또는 다른 코드로 통합될 수 있음)의 하나 이상의 시퀀스들을 실행하는 것에 응답하여, 설명된 방법들의 프로시저들의 일부 또는 그 전부가 컴퓨터 시스템(1300)에 의해 수행될 수 있다. 이러한 명령들은 또 다른 컴퓨터 판독가능한 매체, 이를테면, 저장 디바이스(들)(1325) 중 하나 이상의 저장 디바이스(들)로부터 작업 메모리(1335)로 판독될 수 있다. 단지 예로서, 작업 메모리(1335)에 포함되는 명령들의 시퀀스들의 실행은, 프로세서(들)(1310)로 하여금 본원에 설명된 방법들, 예를 들어, 도 13에 대해 설명된 방법들의 하나 이상의 프로시저들을 수행하게 할 수 있다.
[00093] 본원에 사용되는 바와 같은 "기계 판독가능한 매체" 및 "컴퓨터 판독가능한 매체"라는 용어들은, 기계로 하여금 특정 방식으로 동작하게 하는 데이터를 제공하는데 참여하는 임의의 매체를 지칭한다. 컴퓨터 시스템(1300)을 사용하여 구현되는 실시예에서, 다양한 컴퓨터 판독가능한 매체들이, 실행을 위한 명령들/코드를 프로세서(들)(1310)에 제공하는데 수반될 수 있고, 그리고/또는 (예를 들어, 신호들과 같은) 이러한 명령들/코드를 저장 및/또는 전달하는데 사용될 수 있다. 많은 구현들에서, 컴퓨터 판독가능한 매체는 물리적 그리고/또는 유형의 저장 매체이다. 이러한 매체는 비-휘발성 매체들, 휘발성 매체들 및 송신 매체들을 포함하는(그러나, 이에 제한되는 것은 아님) 많은 형태들을 취할 수 있다. 비-휘발성 매체들은, 예를 들어, 광학 그리고/또는 자기 디스크들, 이를테면, 저장 디바이스(들)(1325)를 포함한다. 휘발성 매체들은, 제한없이, 동적 메모리, 이를테면, 작업 메모리(1335)를 포함한다. 송신 매체들은, 제한없이, 버스(1305)뿐만 아니라 통신 서브시스템(1330)의 다양한 컴포넌트들 (및/또는 통신 서브시스템(1330)이 다른 디바이스들과의 통신을 제공하게 하는 매체들)을 포함하는 와이어들을 포함하는 동축 케이블들, 구리 유선 및 광섬유들을 포함한다. 따라서, 송신 매체들은 또한, (제한없이, 라디오파(radio-wave) 및 적외선 데이터 통신들 동안 생성되는 것들과 같은 라디오, 어쿠스틱(acoustic) 및/또는 광파들을 포함하는) 파들의 형태를 취할 수 있다.
[00094] 물리적 그리고/또는 유형의 컴퓨터 판독가능한 매체들의 일반적 형태들은, 예를 들어, 플로피 디스크, 플렉서블 디스크, 하드 디스크, 자기 테이프 또는 임의의 다른 자기 매체, CD-ROM, 임의의 다른 광학 매체, 펀치카드들(punchcards), 페이퍼테이프(papertape), 홀들의 패턴들을 갖는 임의의 다른 물리적 매체, RAM, PROM, EPROM, FLASH-EPROM, 임의의 다른 메모리 칩 또는 카트리지, 이하에 설명되는 바와 같은 반송파, 또는 컴퓨터가 명령들 및/또는 코드를 판독할 수 있는 임의의 다른 매체를 포함한다.
[00095] 다양한 형태들의 컴퓨터 판독가능한 매체들은 실행을 위한 하나 이상의 명령들의 하나 이상의 시퀀스들을 프로세서(들)(1310)에 전달하는데 수반될 수 있다. 단지 예로서, 명령들은 초기에, 원격 컴퓨터의 자기 디스크 및/또는 광학 디스크 상에서 전달될 수 있다. 원격 컴퓨터는 그것의 동적 메모리에 명령들을 로딩하고, 컴퓨터 시스템(1300)에 의해 수신 및/또는 실행되도록 송신 매체 상에서 신호들로서 명령들을 전송할 수 있다. 전자기파 신호들, 어쿠스틱 신호들, 광학 신호들 등의 형태일 수 있는 이러한 신호들은 본 발명의 다양한 실시예들에 따라, 명령들이 인코딩될 수 있는 반송파들의 모든 예들이다.
[00096] 통신 서브시스템(1330)(및/또는 이것의 컴포넌트들)은 일반적으로 신호들을 수신할 것이고, 그 다음, 버스(1305)는 신호들(및/또는 신호들에 의해 전달되는 데이터, 명령들 등)을 작업 메모리(1335)에 전달할 수 있고, 프로세서(들)(1310)는 이러한 작업 메모리(1335)로부터의 명령들을 리트리브하고 실행한다. 작업 메모리(1335)에 의해 수신되는 명령들은 프로세서(들)(1310)에 의한 실행 이전에 또는 그 이후에 비-일시적 저장 디바이스(1325) 상에 선택적으로 저장될 수 있다. 메모리(1335)는 본원에 설명된 데이터베이스들 및 방법들 중 임의의 것에 따른 적어도 하나의 데이터베이스를 포함할 수 있다. 따라서, 메모리(1335)는 도 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 및 관련 설명들을 포함하는 본 개시들 중 임의의 것에서 논의된 값들 중 임의의 값을 저장할 수 있다.
[00097] 도 12에서 설명된 방법들은 도 13의 다양한 블록들에 의해 구현될 수 있다. 예를 들어, 프로세서(1310)는 흐름도(1200)에서의 블록들의 기능들 중 임의의 것을 수행하도록 구성될 수 있다. 저장 디바이스(1325)는 본원에 언급된 블록들 중 임의의 것 내에서 논의된 전반적으로(globally) 고유한 속성 또는 국부적으로(locally) 고유한 속성과 같은 중간 결과를 저장하도록 구성될 수 있다. 저장 디바이스(1325)는 또한, 본 개시들 중 임의의 것과 일치하는 데이터베이스를 포함할 수 있다. 유사하게, 메모리(1335)는 신호들, 신호들의 표현 또는 본원에 언급된 블록들 중 임의의 것에서 설명된 기능들 중 임의의 것을 수행하는데 필요한 데이터베이스 값들을 기록하도록 구성될 수 있다. RAM과 같은 일시적 또는 휘발성 메모리에 저장될 필요가 있을 수 있는 결과들은 또한, 메모리(1335)에 포함될 수 있으며, 저장 디바이스(1325)에 저장될 수 있는 것과 유사한 임의의 중간 결과를 포함할 수 있다. 입력 디바이스(1315)는 본원에 설명된 본 개시들에 따라 위성들 및/또는 기지국들로부터 무선 신호들을 수신하도록 구성될 수 있다. 출력 디바이스(1320) 본 개시들 중 임의의 것에 따라, 이미지들을 디스플레이하고, 텍스트를 프린트하며, 신호들을 송신하고 그리고/또는 다른 데이터를 출력하도록 구성될 수 있다.
[00098] 위에서 논의된 방법들, 시스템들 및 디바이스들은 예들이다. 다양한 실시예들은 적절하게 다양한 프로시저들 또는 컴포넌트들을 생략, 치환 또는 부가할 수 있다. 예를 들어, 대안적 구성들에서, 설명된 방법들은 설명된 것과 상이한 순서로 수행될 수 있고, 그리고/또는 다양한 스테이지들이 부가, 생략 및/또는 결합될 수 있다. 또한, 특정 실시예들에 대해 설명된 특징들은 다양한 다른 실시예들에서 결합될 수 있다. 실시예들의 상이한 양상들 및 엘리먼트들은 유사한 방식으로 결합될 수 있다. 또한, 기술은 진화하고, 따라서, 엘리먼트들 중 다수가 이러한 특정 예들에 대한 본 개시의 범위를 제한하지 않는 예들이다.
[00099] 특정 세부사항들이 실시예들의 완전한 이해를 제공하기 위해 설명에 주어진다. 그러나, 실시예들은 이러한 특정 세부사항들 없이도 실시될 수 있다. 예를 들어, 잘-알려진 회로들, 프로세스들, 알고리즘들, 구조들 및 기법들은 실시예들을 모호하게 하는 것을 회피하기 위해 불필요한 세부사항 없이 나타낸다. 이러한 설명은 단지 예시적 실시예들만을 제공하며, 본 발명의 범위, 적용가능성 또는 구성을 제한하는 것으로 의도되지 않는다. 오히려, 실시예들의 상기 설명은 본 발명의 실시예들을 구현하기 위한 가능한 설명을 당업자들에게 제공할 것이다. 본 발명의 사상 및 범위로부터 벗어나지 않으면서 엘리먼트들의 배열 및 기능에서 다양한 변화들이 이루어질 수 있다.
[000100] 또한, 일부 실시예들은 흐름도들 또는 블록도들로서 도시되는 프로세스들로서 설명된다. 각각은 순차적 프로세스로서 동작들을 설명할 수 있지만, 동작들 중 다수는 병렬로 또는 동시에 수행될 수 있다. 또한, 동작들의 순서가 재배열될 수 있다. 프로세스는 도면들에 포함되지 않는 추가적 단계들을 가질 수 있다. 게다가, 방법들의 실시예들은 하드웨어, 소프트웨어, 펌웨어, 미들웨어, 마이크로코드, 하드웨어 기술어들 또는 이들의 임의의 결합에 의해 구현될 수 있다. 소프트웨어, 펌웨어, 미들웨어 또는 마이크로코드로 구현되는 경우, 연관된 태스크들을 수행하기 위한 프로그램 코드 또는 코드 세그먼트들은 저장 매체와 같은 컴퓨터 판독가능한 매체에 저장될 수 있다. 프로세서들은 연관된 태스크들을 수행할 수 있다.
[000101] 몇몇 실시예들을 설명하였지만, 다양한 수정들, 대안적 구조들 및 등가물들이 본 개시의 사상으로부터 벗어나지 않고 사용될 수 있다. 예를 들어, 위의 엘리먼트들은 단지 더 큰 시스템의 컴포넌트일 수 있고, 여기서 다른 규정들은 본 발명의 애플리케이션보다 우선권을 얻거나, 그렇지 않으면 본 발명의 애플리케이션을 수정할 수 있다. 또한, 다수의 단계들이 위의 엘리먼트들이 고려되기 전에, 그 동안 또는 그 이후 착수될 수 있다. 따라서, 위의 설명은 본 개시의 범위를 제한하지 않는다.
[000102] 다양한 예들이 설명되었다. 이러한 그리고 다른 예들은 다음의 청구항들의 범위 내에 있다.

Claims (30)

  1. 물리적 환경의 디지털 표현(digital representation)을 구성하기 위한 방법으로서,
    상기 물리적 환경을 표시하는 이미지 데이터를 획득하는 단계,
    획득된 이미지 데이터에 기초하여, 상기 물리적 환경 내의 적어도 하나의 위치에 대응하는 사용자 입력 데이터를 수신하는 단계,
    수신된 사용자 입력 데이터에 대응하는 상기 적어도 하나의 위치 근처의 상기 물리적 환경에서 적어도 하나의 불연속성(discontinuity)을 검출하는 단계, 및
    상기 수신된 사용자 입력 데이터 및 상기 적어도 하나의 불연속성에 기초하여, 상기 물리적 환경 내의 표면에 대응하는 디지털 표면을 생성하는 단계를 포함하는,
    물리적 환경의 디지털 표현을 구성하기 위한 방법.
  2. 제 1 항에 있어서,
    상기 수신된 사용자 입력 데이터는 상기 디지털 표면의 적어도 하나의 에지를 지정하는,
    물리적 환경의 디지털 표현을 구성하기 위한 방법.
  3. 제 1 항에 있어서,
    상기 수신된 사용자 입력 데이터는 상기 디지털 표면의 적어도 하나의 평면을 지정하는,
    물리적 환경의 디지털 표현을 구성하기 위한 방법.
  4. 제 1 항에 있어서,
    상기 수신된 사용자 입력 데이터는, 획득된 이미지 데이터에 기초하여, 상기 디지털 표면의 부분으로서 포함되는 상기 물리적 환경 내의 복수의 포인트들을 포함하는,
    물리적 환경의 디지털 표현을 구성하기 위한 방법.
  5. 제 1 항에 있어서,
    상기 적어도 하나의 불연속성을 검출하는 단계는 적어도 2 개의 평면의 표면들이 교차하는 곳을 상기 물리적 환경에서 검출하는 단계를 포함하는,
    물리적 환경의 디지털 표현을 구성하기 위한 방법.
  6. 제 1 항에 있어서,
    상기 디지털 표면과 연관된 적어도 하나의 기능을 정의하는 의미론적 입력(semantic input)을 수신하는 단계를 더 포함하는,
    물리적 환경의 디지털 표현을 구성하기 위한 방법.
  7. 제 1 항에 있어서,
    상기 이미지 데이터는 상기 물리적 환경에 관한 기하학적 깊이 정보(geometric depth information)를 포함하는,
    물리적 환경의 디지털 표현을 구성하기 위한 방법.
  8. 제 1 항에 있어서,
    상기 수신된 사용자 입력 데이터는 2 차원 좌표들의 입력 데이터를 포함하고,
    생성된 디지털 표면은 3 차원 좌표들의 출력 데이터를 포함하는,
    물리적 환경의 디지털 표현을 구성하기 위한 방법.
  9. 물리적 환경의 디지털 표현을 구성하기 위한 모바일 디바이스로서,
    상기 물리적 환경을 표시하는 이미지 데이터를 획득하도록 구성된 카메라,
    메모리에 커플링된 프로세서를 포함하고, 상기 프로세서는,
    획득된 이미지 데이터에 기초하여, 상기 물리적 환경 내의 적어도 하나의 위치에 대응하는 사용자 입력 데이터를 수신하고,
    수신된 사용자 입력 데이터에 대응하는 상기 적어도 하나의 위치 근처의 상기 물리적 환경에서 적어도 하나의 불연속성을 검출하고, 그리고
    상기 수신된 사용자 입력 데이터 및 상기 적어도 하나의 불연속성에 기초하여, 상기 물리적 환경 내의 표면에 대응하는 디지털 표면을 생성하도록 구성되는,
    물리적 환경의 디지털 표현을 구성하기 위한 모바일 디바이스.
  10. 제 9 항에 있어서,
    상기 수신된 사용자 입력 데이터는 상기 디지털 표면의 적어도 하나의 에지를 지정하는,
    물리적 환경의 디지털 표현을 구성하기 위한 모바일 디바이스.
  11. 제 9 항에 있어서,
    상기 수신된 사용자 입력 데이터는 상기 디지털 표면의 적어도 하나의 평면을 지정하는,
    물리적 환경의 디지털 표현을 구성하기 위한 모바일 디바이스.
  12. 제 9 항에 있어서,
    상기 수신된 사용자 입력 데이터는, 획득된 이미지 데이터에 기초하여, 상기 디지털 표면의 부분으로서 포함되는 상기 물리적 환경 내의 복수의 포인트들을 포함하는,
    물리적 환경의 디지털 표현을 구성하기 위한 모바일 디바이스.
  13. 제 9 항에 있어서,
    상기 프로세서에 의해 상기 적어도 하나의 불연속성을 검출하는 것은 적어도 2 개의 평면의 표면들이 교차하는 곳을 상기 물리적 환경에서 상기 프로세서에 의해 검출하는 것을 포함하는,
    물리적 환경의 디지털 표현을 구성하기 위한 모바일 디바이스.
  14. 제 9 항에 있어서,
    상기 프로세서는 상기 디지털 표면과 연관된 적어도 하나의 기능을 정의하는 의미론적 입력을 수신하도록 추가로 구성되는,
    물리적 환경의 디지털 표현을 구성하기 위한 모바일 디바이스.
  15. 제 9 항에 있어서,
    상기 이미지 데이터는 상기 모바일 디바이스에 커플링된 깊이 센서를 사용하여 상기 물리적 환경에 관한 기하학적 깊이 정보를 포함하는,
    물리적 환경의 디지털 표현을 구성하기 위한 모바일 디바이스.
  16. 제 9 항에 있어서,
    상기 프로세서에 의해 수신된 사용자 입력 데이터는 2 차원 좌표들의 입력 데이터를 포함하고,
    상기 프로세서에 의해 생성된 디지털 표면은 3 차원 좌표들의 출력 데이터를 포함하는,
    물리적 환경의 디지털 표현을 구성하기 위한 모바일 디바이스.
  17. 비일시적인 컴퓨터-판독 가능 저장 매체로서,
    상기 비일시적인 컴퓨터-판독 가능 저장 매체는 프로세서에 의해 실행 가능한 명령들을 포함하고, 상기 명령들은,
    상기 물리적 환경을 표시하는 이미지 데이터를 획득하기 위한 명령들,
    획득된 이미지 데이터에 기초하여, 상기 물리적 환경 내의 적어도 하나의 위치에 대응하는 사용자 입력 데이터를 수신하기 위한 명령들,
    수신된 사용자 입력 데이터에 대응하는 상기 적어도 하나의 위치 근처의 상기 물리적 환경에서 적어도 하나의 불연속성을 검출하기 위한 명령들, 및
    상기 수신된 사용자 입력 데이터 및 상기 적어도 하나의 불연속성에 기초하여, 상기 물리적 환경 내의 표면에 대응하는 디지털 표면을 생성하기 위한 명령들을 포함하는,
    비일시적인 컴퓨터-판독 가능 저장 매체.
  18. 제 17 항에 있어서,
    상기 수신된 사용자 입력 데이터는 상기 디지털 표면의 적어도 하나의 에지를 지정하는,
    비일시적인 컴퓨터-판독 가능 저장 매체.
  19. 제 17 항에 있어서,
    상기 수신된 사용자 입력 데이터는 상기 디지털 표면의 적어도 하나의 평면을 지정하는,
    비일시적인 컴퓨터-판독 가능 저장 매체.
  20. 제 17 항에 있어서,
    상기 수신된 사용자 입력 데이터는, 획득된 이미지 데이터에 기초하여, 상기 디지털 표면의 부분으로서 포함되는 상기 물리적 환경 내의 복수의 포인트들을 포함하는,
    비일시적인 컴퓨터-판독 가능 저장 매체.
  21. 제 17 항에 있어서,
    상기 적어도 하나의 불연속성을 검출하는 것은 적어도 2 개의 평면의 표면들이 교차하는 곳을 상기 물리적 환경에서 검출하는 것을 포함하는,
    비일시적인 컴퓨터-판독 가능 저장 매체.
  22. 제 17 항에 있어서,
    상기 디지털 표면과 연관된 적어도 하나의 기능을 정의하는 의미론적 입력을 수신하는 것을 더 포함하는,
    비일시적인 컴퓨터-판독 가능 저장 매체.
  23. 제 17 항에 있어서,
    상기 이미지 데이터는 상기 물리적 환경에 관한 기하학적 깊이 정보를 포함하는,
    비일시적인 컴퓨터-판독 가능 저장 매체.
  24. 장치로서,
    상기 물리적 환경을 표시하는 이미지 데이터를 획득하기 위한 수단,
    획득된 이미지 데이터에 기초하여, 상기 물리적 환경 내의 적어도 하나의 위치에 대응하는 사용자 입력 데이터를 수신하기 위한 수단,
    수신된 사용자 입력 데이터에 대응하는 상기 적어도 하나의 위치 근처의 상기 물리적 환경에서 적어도 하나의 불연속성을 검출하기 위한 수단, 및
    상기 수신된 사용자 입력 데이터 및 상기 적어도 하나의 불연속성에 기초하여, 상기 물리적 환경 내의 표면에 대응하는 디지털 표면을 생성하기 위한 수단을 포함하는,
    장치.
  25. 제 24 항에 있어서,
    상기 수신된 사용자 입력 데이터는 상기 디지털 표면의 적어도 하나의 에지를 지정하는,
    장치.
  26. 제 24 항에 있어서,
    상기 수신된 사용자 입력 데이터는 상기 디지털 표면의 적어도 하나의 평면을 지정하는,
    장치.
  27. 제 24 항에 있어서,
    상기 수신된 사용자 입력 데이터는, 획득된 이미지 데이터에 기초하여, 상기 디지털 표면의 부분으로서 포함되는 상기 물리적 환경 내의 복수의 포인트들을 포함하는,
    장치.
  28. 제 24 항에 있어서,
    상기 적어도 하나의 불연속성을 검출하기 위한 수단은 적어도 2 개의 평면의 표면들이 교차하는 곳을 상기 물리적 환경에서 검출하기 위한 수단을 포함하는,
    장치.
  29. 제 24 항에 있어서,
    상기 디지털 표면과 연관된 적어도 하나의 기능을 정의하는 의미론적 입력을 수신하기 위한 수단을 더 포함하는,
    장치.
  30. 제 24 항에 있어서,
    상기 이미지 데이터는 상기 물리적 환경에 관한 기하학적 깊이 정보를 포함하는,
    장치.
KR1020167008623A 2013-09-11 2014-09-11 깊이 센서들을 사용하는 구조적 모델링 KR102216736B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201361876421P 2013-09-11 2013-09-11
US61/876,421 2013-09-11
US14/250,544 2014-04-11
US14/250,544 US9934611B2 (en) 2013-09-11 2014-04-11 Structural modeling using depth sensors
PCT/US2014/055178 WO2015038765A1 (en) 2013-09-11 2014-09-11 Structural modeling using depth sensors

Publications (2)

Publication Number Publication Date
KR20160055177A true KR20160055177A (ko) 2016-05-17
KR102216736B1 KR102216736B1 (ko) 2021-02-16

Family

ID=52625165

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167008623A KR102216736B1 (ko) 2013-09-11 2014-09-11 깊이 센서들을 사용하는 구조적 모델링

Country Status (6)

Country Link
US (2) US9934611B2 (ko)
EP (3) EP4152253A1 (ko)
JP (1) JP6469706B2 (ko)
KR (1) KR102216736B1 (ko)
CN (2) CN105637559B (ko)
WO (1) WO2015038765A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190085519A (ko) * 2016-11-15 2019-07-18 매직 립, 인코포레이티드 큐보이드 검출을 위한 딥 러닝 시스템

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9934611B2 (en) 2013-09-11 2018-04-03 Qualcomm Incorporated Structural modeling using depth sensors
US11163367B2 (en) * 2014-07-17 2021-11-02 Signify Holding B.V. Method of obtaining gesture zone definition data for a control system based on user input
US10881713B2 (en) 2015-10-28 2021-01-05 Atheer, Inc. Method and apparatus for interface control with prompt and feedback
US10248284B2 (en) * 2015-11-16 2019-04-02 Atheer, Inc. Method and apparatus for interface control with prompt and feedback
US10477157B1 (en) * 2016-03-02 2019-11-12 Meta View, Inc. Apparatuses, methods and systems for a sensor array adapted for vision computing
US10037465B2 (en) 2016-03-18 2018-07-31 Disney Enterprises, Inc. Systems and methods for generating augmented reality environments
ES2773051T3 (es) 2017-06-16 2020-07-09 Abb Schweiz Ag Flujo de video modificado para soportar el control remoto de una grúa de contenedores
ES2865179T3 (es) * 2017-06-20 2021-10-15 Abb Schweiz Ag Cargar un contenedor en un objetivo de depósito
US10748345B2 (en) * 2017-07-07 2020-08-18 Adobe Inc. 3D object composition as part of a 2D digital image through use of a visual guide
GB2573571B (en) * 2018-05-11 2022-08-31 Signaturize Holdings Ltd Generating virtual representations
GB2574795B (en) 2018-05-04 2022-10-05 Signaturize Holdings Ltd Generating virtual representations
US11202006B2 (en) * 2018-05-18 2021-12-14 Samsung Electronics Co., Ltd. CMOS-assisted inside-out dynamic vision sensor tracking for low power mobile platforms
CN109461214A (zh) * 2018-09-11 2019-03-12 广东康云多维视觉智能科技有限公司 用于三维模型爆炸的交互方法、系统和存储介质
US10664989B1 (en) 2018-12-19 2020-05-26 Disney Enterprises, Inc. Systems and methods to present interactive content based on detection of markers
JP2022539160A (ja) * 2019-07-03 2022-09-07 マジック リープ, インコーポレイテッド 平面抽出を使用した単純環境ソルバ
US20210373649A1 (en) * 2020-04-01 2021-12-02 Rajesh Dayal Moorjani Attaching Extended Reality (XR) Content To Physical Points Of Interest
EP4030392A1 (en) * 2021-01-15 2022-07-20 Siemens Aktiengesellschaft Creation of 3d reference outlines
US11417069B1 (en) * 2021-10-05 2022-08-16 Awe Company Limited Object and camera localization system and localization method for mapping of the real world
KR102622431B1 (ko) * 2022-12-14 2024-01-08 주식회사 맥스트 사용자 입력에 따라 인식된 평면의 정보에 기초하여 3d 모델을 생성하는 방법, 컴퓨터 프로그램 및 전자 장치
US11776206B1 (en) 2022-12-23 2023-10-03 Awe Company Limited Extended reality system and extended reality method with two-way digital interactive digital twins

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120084635A (ko) * 2011-01-20 2012-07-30 삼성전자주식회사 깊이 정보를 이용한 카메라 모션 추정 방법 및 장치, 증강 현실 시스템
KR20120093981A (ko) * 2010-03-10 2012-08-23 엠파이어 테크놀로지 디벨롭먼트 엘엘씨 증강 현실에서 동적 모델링에 의한 강건한 대상 인식

Family Cites Families (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5712964A (en) * 1993-09-29 1998-01-27 Fujitsu Limited Computer graphics data display device and method based on a high-speed generation of a changed image
US6535210B1 (en) * 1995-06-07 2003-03-18 Geovector Corp. Vision system computer modeling apparatus including interaction with real scenes with respect to perspective and spatial relationship as measured in real-time
US5988862A (en) * 1996-04-24 1999-11-23 Cyra Technologies, Inc. Integrated system for quickly and accurately imaging and modeling three dimensional objects
US6912293B1 (en) 1998-06-26 2005-06-28 Carl P. Korobkin Photogrammetry engine for model construction
US6850946B1 (en) * 1999-05-26 2005-02-01 Wireless Valley Communications, Inc. Method and system for a building database manipulator
US7164490B2 (en) * 2001-06-15 2007-01-16 Eastman Kodak Company Custom cut image products
US7003161B2 (en) * 2001-11-16 2006-02-21 Mitutoyo Corporation Systems and methods for boundary detection in images
EP1567988A1 (en) 2002-10-15 2005-08-31 University Of Southern California Augmented virtual environments
US20040223053A1 (en) * 2003-05-07 2004-11-11 Mitutoyo Corporation Machine vision inspection system and method having improved operations for increased precision inspection throughput
WO2004107266A1 (en) * 2003-05-29 2004-12-09 Honda Motor Co., Ltd. Visual tracking using depth data
US7747067B2 (en) * 2003-10-08 2010-06-29 Purdue Research Foundation System and method for three dimensional modeling
US7277572B2 (en) * 2003-10-10 2007-10-02 Macpearl Design Llc Three-dimensional interior design system
US7181371B2 (en) * 2003-10-22 2007-02-20 Eflection, Inc. Apparatus and method for inputting measurements into a software product to construct software models of architectural structures
US7962862B2 (en) * 2003-11-24 2011-06-14 International Business Machines Corporation Method and data processing system for providing an improved graphics design tool
US7406196B2 (en) * 2004-03-19 2008-07-29 Lockheed Martin Corporation Methods and systems for automatic detection of corners of a region
US7660463B2 (en) * 2004-06-03 2010-02-09 Microsoft Corporation Foreground extraction using iterated graph cuts
EP1612509A1 (en) * 2004-07-01 2006-01-04 Sick IVP AB Optical profilometer
US7522763B2 (en) * 2004-07-30 2009-04-21 Mitutoyo Corporation Method of measuring occluded features for high precision machine vision metrology
US7425958B2 (en) * 2004-10-25 2008-09-16 Adobe Systems Incorporated Perspective editing tools for 2-D images
US8040361B2 (en) 2005-04-11 2011-10-18 Systems Technology, Inc. Systems and methods for combining virtual and real-time physical environments
US7561159B2 (en) * 2005-05-31 2009-07-14 Magnifi Group Inc. Control of animation timeline
WO2007030026A1 (en) * 2005-09-09 2007-03-15 Industrial Research Limited A 3d scene scanner and a position and orientation system
US8650507B2 (en) * 2008-03-04 2014-02-11 Apple Inc. Selecting of text using gestures
US8265425B2 (en) * 2008-05-20 2012-09-11 Honda Motor Co., Ltd. Rectangular table detection using hybrid RGB and depth camera sensors
US8411086B2 (en) * 2009-02-24 2013-04-02 Fuji Xerox Co., Ltd. Model creation using visual markup languages
US8340400B2 (en) * 2009-05-06 2012-12-25 Honeywell International Inc. Systems and methods for extracting planar features, matching the planar features, and estimating motion from the planar features
US20130124148A1 (en) * 2009-08-21 2013-05-16 Hailin Jin System and Method for Generating Editable Constraints for Image-based Models
US20110109617A1 (en) 2009-11-12 2011-05-12 Microsoft Corporation Visualizing Depth
JP5343042B2 (ja) * 2010-06-25 2013-11-13 株式会社トプコン 点群データ処理装置および点群データ処理プログラム
US20140192238A1 (en) * 2010-10-24 2014-07-10 Linx Computational Imaging Ltd. System and Method for Imaging and Image Processing
US20120120277A1 (en) * 2010-11-16 2012-05-17 Apple Inc. Multi-point Touch Focus
JP5777731B2 (ja) * 2010-12-29 2015-09-09 エンパイア テクノロジー ディベロップメント エルエルシー ジェスチャー認識のための環境依存型ダイナミックレンジ制御
US10972680B2 (en) * 2011-03-10 2021-04-06 Microsoft Technology Licensing, Llc Theme-based augmentation of photorepresentative view
US9153031B2 (en) * 2011-06-22 2015-10-06 Microsoft Technology Licensing, Llc Modifying video regions using mobile device input
US9323325B2 (en) 2011-08-30 2016-04-26 Microsoft Technology Licensing, Llc Enhancing an object of interest in a see-through, mixed reality display device
US9117281B2 (en) 2011-11-02 2015-08-25 Microsoft Corporation Surface segmentation from RGB and depth images
US9536251B2 (en) * 2011-11-15 2017-01-03 Excalibur Ip, Llc Providing advertisements in an augmented reality environment
US8965741B2 (en) 2012-04-24 2015-02-24 Microsoft Corporation Context aware surface scanning and reconstruction
US9047507B2 (en) * 2012-05-02 2015-06-02 Apple Inc. Upper-body skeleton extraction from depth maps
JP5912062B2 (ja) * 2012-05-24 2016-04-27 オリンパス株式会社 撮影機器及び動画像データの記録方法
US9389420B2 (en) 2012-06-14 2016-07-12 Qualcomm Incorporated User interface interaction for transparent head-mounted displays
CN104603763B (zh) * 2012-08-23 2018-06-05 三星电子株式会社 信息传输方法和系统、装置及其计算机可读记录介质
TWI496090B (zh) * 2012-09-05 2015-08-11 Ind Tech Res Inst 使用深度影像的物件定位方法與裝置
US8995783B2 (en) * 2012-09-19 2015-03-31 Qualcomm Incorporation System for photograph enhancement by user controlled local image enhancement
US9135710B2 (en) * 2012-11-30 2015-09-15 Adobe Systems Incorporated Depth map stereo correspondence techniques
KR101896301B1 (ko) * 2013-01-03 2018-09-07 삼성전자주식회사 깊이 영상 처리 장치 및 방법
US20140363073A1 (en) * 2013-06-11 2014-12-11 Microsoft Corporation High-performance plane detection with depth camera data
US9934611B2 (en) 2013-09-11 2018-04-03 Qualcomm Incorporated Structural modeling using depth sensors

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120093981A (ko) * 2010-03-10 2012-08-23 엠파이어 테크놀로지 디벨롭먼트 엘엘씨 증강 현실에서 동적 모델링에 의한 강건한 대상 인식
KR20120084635A (ko) * 2011-01-20 2012-07-30 삼성전자주식회사 깊이 정보를 이용한 카메라 모션 추정 방법 및 장치, 증강 현실 시스템

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190085519A (ko) * 2016-11-15 2019-07-18 매직 립, 인코포레이티드 큐보이드 검출을 위한 딥 러닝 시스템
US11328443B2 (en) 2016-11-15 2022-05-10 Magic Leap, Inc. Deep learning system for cuboid detection
US11797860B2 (en) 2016-11-15 2023-10-24 Magic Leap, Inc. Deep learning system for cuboid detection

Also Published As

Publication number Publication date
WO2015038765A1 (en) 2015-03-19
US10789776B2 (en) 2020-09-29
EP3496036B1 (en) 2022-11-16
US20150070387A1 (en) 2015-03-12
JP2016536715A (ja) 2016-11-24
US9934611B2 (en) 2018-04-03
CN105637559A (zh) 2016-06-01
CN105637559B (zh) 2019-03-01
EP3044757B1 (en) 2019-03-06
KR102216736B1 (ko) 2021-02-16
EP3496036A1 (en) 2019-06-12
CN110070556A (zh) 2019-07-30
CN110070556B (zh) 2023-09-12
EP3044757A1 (en) 2016-07-20
US20180182176A1 (en) 2018-06-28
JP6469706B2 (ja) 2019-02-13
EP4152253A1 (en) 2023-03-22

Similar Documents

Publication Publication Date Title
US10789776B2 (en) Structural modeling using depth sensors
US10068373B2 (en) Electronic device for providing map information
KR101784328B1 (ko) 증강 현실 표면 디스플레잉
KR102051418B1 (ko) 영상에 포함된 객체를 선택하기 위한 사용자 인터페이스 제어 장치 및 그 방법 그리고 영상 입력 장치
US11042294B2 (en) Display device and method of displaying screen on said display device
US9324305B2 (en) Method of synthesizing images photographed by portable terminal, machine-readable storage medium, and portable terminal
CN110162236B (zh) 虚拟样板间的展示方法、装置及计算机设备
EP3813025A1 (en) Generating augmented reality content for unknown objects
JP5807686B2 (ja) 画像処理装置、画像処理方法及びプログラム
US20140253592A1 (en) Method for providing augmented reality, machine-readable storage medium, and portable terminal
KR101227255B1 (ko) 마커 크기 기반 인터렉션 방법 및 이를 구현하기 위한 증강 현실 시스템
KR20160048874A (ko) 물리적 장면을 표현하기 위한 방법 및 장치
KR20160003553A (ko) 지도 정보를 제공하기 위한 전자 장치
CN107646109B (zh) 管理电子设备上的环境映射的特征数据
CN112020694A (zh) 用于支持对象控制的方法、系统和非暂时性计算机可读记录介质
CN112965773A (zh) 用于信息显示的方法、装置、设备和存储介质
JP2020509505A (ja) 拡張現実を提供するための方法、装置及びコンピュータプログラム
US20150332110A1 (en) Methods and Apparatus for Three-Dimensional Image Reconstruction
KR102433894B1 (ko) 맵 타겟을 생성 및 저장하는 방법 및 그 시스템
KR101558094B1 (ko) 직관적인 핸드 모션에 기반한 멀티-모달 시스템 및 그 제어 방법
KR20190135958A (ko) 영상에 포함된 객체를 선택하기 위한 사용자 인터페이스 제어 장치 및 그 방법 그리고 영상 입력 장치
KR20230102441A (ko) 맵 타겟 생성을 위한 사용자 인터페이스 제공 방법 및 그 시스템

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