KR20160048874A - 물리적 장면을 표현하기 위한 방법 및 장치 - Google Patents

물리적 장면을 표현하기 위한 방법 및 장치 Download PDF

Info

Publication number
KR20160048874A
KR20160048874A KR1020167007815A KR20167007815A KR20160048874A KR 20160048874 A KR20160048874 A KR 20160048874A KR 1020167007815 A KR1020167007815 A KR 1020167007815A KR 20167007815 A KR20167007815 A KR 20167007815A KR 20160048874 A KR20160048874 A KR 20160048874A
Authority
KR
South Korea
Prior art keywords
plane
physical scene
flat surface
physical
digital representation
Prior art date
Application number
KR1020167007815A
Other languages
English (en)
Other versions
KR101993920B1 (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 KR20160048874A publication Critical patent/KR20160048874A/ko
Application granted granted Critical
Publication of KR101993920B1 publication Critical patent/KR101993920B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/10Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
    • G06T7/0028
    • G06T7/0042
    • G06T7/0065
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • G06T7/33Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods

Landscapes

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

Abstract

물리적 장면에 관한 정보를 획득함으로써 물리적 장면의 디지털 표현을 구성하기 위한 시스템들, 방법들, 및 디바이스들이 설명된다. 그 정보에 기초하여, 물리적 장면 내의 평탄 표면의 초기 부분이 식별될 수 있다. 본 개시내용의 일 양상에서, 물리적 장면의 디지털 표현을 구성하는 것은, 물리적 장면에 관한 정보를 획득하는 것, 물리적 장면 내의 평탄 표면을 식별하는 것, 평탄 표면 위에 위치된, 물리적 장면 내의 물리적 대상물을 선택하는 것, 물리적 대상물과 연관된 속성들을 검출하는 것, 물리적 대상물과 연관된 속성들을 이용하여 3차원(3D) 재구성 대상물을 생성하는 것, 및 평탄 표면을 증강 현실(AR) 환경에서 증강 현실 평면으로서 표현하는 것을 포함할 수 있고, AR 환경의 AR 평면은 자신의 최상부 상에 3D 재구성 대상물들을 지지할 수 있다.

Description

물리적 장면을 표현하기 위한 방법 및 장치{METHOD AND APPARATUS FOR REPRESENTING PHYSICAL SCENE}
[0001] 본 개시내용들은 일반적으로 증강 현실 환경들에 관한 것으로, 더 구체적으로는 실세계 환경의 기계-기반 인식에 관한 것이다.
[0002] 증강 현실(AR; augmented reality) 환경들에서, 사용자는 사용자의 자연 환경과 인공 또는 가상 그래픽들의 통합을 볼 수 있다. AR의 일부 이전의 구현들에서, 사용자는 예컨대, 증강 현실 고글들을 통해 사용자의 자연 환경 사이에서 또는 자연 환경 내에서 독단적으로(arbitrarily) 디스플레이되는 그래픽들을 볼 수 있다. 예컨대, 랜덤한 나비의 그래픽은, 사용자가 실물 그대로(naturally) 보고 있는 무언가와 나비가 어떠한 관련성을 갖는지와 상관없이, 사용자가 자신의 자연 환경을 계속 보고 있는 동안, AR 고글들의 뷰를 따라 날아갈 수 있다. AR의 더 정교한 구현들에서, 사용자는 AR 특징들 또는 그래픽들을 직접적으로 사용자의 자연 환경의 대상물(object)들 또는 구조들에 적용하는 것이 가능할 수 있다. 예컨대, 사용자는 벽 또는 테이블 상에 내려앉도록 나비의 그래픽을 지향시키기를 원할 수 있는데, 이는 먼저, 사실상 사용자의 시야에서 벽 또는 테이블이 실제로 존재하는 위치를 AR 환경이 인식하는 것을 필요로 한다.
[0003] 다른 경우들에서, 로봇들 또는 다른 자동화된 기계들이 자신들을 자연 환경에 배향시키려 시도하는 경우에 유사한 개념들 및 기법들을 AR 필드에 적용할 수 있다. 예컨대, 로봇이 벽들 또는 테이블들에 부딪치지 않도록, 로봇이 주변 환경에서 벽들 및 테이블들이 존재하는 위치를 이해하는 것을 필요로 할 수 있다. 다른 경우들에서, 로봇은 예컨대, 테이블 상의 컵을 식별하여 그 컵을 들어올림으로써 자연 환경과 상호작용할 수 있다. 이러한 태스크를 수행하는 것은 먼저, 로봇이 컵을 그리고 일부 경우들에서는 그 컵이 있는 테이블을 성공적으로 식별하는 것을 필요로 할 수 있다. 그러나, 실시간으로 자연 환경의 기계-기반 인식을 달성하는 것은 해결하기 어려운 문제인 것으로 증명되었는데, 그 이유는 기존의 기법들은 예컨대, 실시간 목적들을 위해 충분히 고속이거나 또는 충분히 에너지 효율적이지 않을 수 있기 때문이다. 따라서, 당해 기술분야에는 실시간 설정의 자연 환경의 기계-기반 인식의 개선된 방법들에 대한 필요성이 존재한다.
[0004] 본 개시내용들은 일반적으로, 증강 현실 환경들에 관한 것으로, 더 구체적으로는 실세계 환경의 기계-기반 인식에 관한 것이다.
[0005] 물리적 장면에 관한 정보를 획득함으로써 물리적 장면의 디지털 표현을 구성하기 위한 시스템들, 방법들, 및 디바이스들이 설명된다. 그 정보에 기초하여, 물리적 장면 내의 평탄 표면(planar surface)의 초기 부분이 식별될 수 있다. 특정 양상들에서, 물리적 장면으로부터 물리적 대상물이 선택되어 3차원(3D) 재구성 대상물(reconstructed object)로서 재구성될 수 있다. 평탄 표면은 증강 현실(AR) 환경에서 증강 현실 평면으로서 표현될 수 있고, AR 환경의 AR 평면은 자신의 최상부 상에 3D 재구성 대상물들을 지지할 수 있다.
[0006] 특정 양상들에서, 평탄 표면의 추가의 부분들이 또한 적어도 하나의 캡쳐된 이미지에 기초하여 식별될 수 있다. 추가의 부분들 각각은, 추가의 부분과 연관된 적어도 하나의 시각적 속성과, 평탄 표면의 부분인 것으로 이미 식별된 하나 또는 그 초과의 부분들과 연관된 적어도 하나의 대응하는 시각적 속성 사이의 유사성(likeness)을 결정하는 것에 기초하여, 평탄 표면의 부분인 것으로 식별된다.
[0007] 물리적 장면의 디지털 표현을 구성하기 위한 예시적 방법은, 물리적 장면에 관한 정보를 획득하는 단계, 물리적 장면 내의 평탄 표면을 식별하는 단계, 평탄 표면 위에 위치된, 물리적 장면 내의 물리적 대상물을 선택하는 단계, 물리적 대상물과 연관된 속성들을 검출하는 단계, 물리적 대상물과 연관된 속성들을 이용하여 3차원(3D) 재구성 대상물을 생성하는 단계, 및 평탄 표면을 증강 현실(AR) 환경에서 증강 현실 평면으로서 표현하는 단계를 포함할 수 있고, AR 환경의 AR 평면은 자신의 최상부 상에 3D 재구성 대상물들을 지지할 수 있다.
[0008] 방법의 특정 양상들에서, 선택을 위해 물리적 대상물을 식별하는 단계는, 평탄 표면의 하나 또는 그 초과의 영역들을 식별하는 단계 ― 하나 또는 그 초과의 영역들은 평탄 표면 상의 물리적 대상물의 위치에 대응하고, 획득된 정보는 물리적 대상물의 하나 또는 그 초과의 특징 포인트들을 포함하고, 각각의 특징 포인트는 물리적 대상물의 외부 표면 상의 포인트의, 평탄 표면에 대한 위치를 표시함 ―, 및 하나 또는 그 초과의 특징 포인트들 및 하나 또는 그 초과의 볼록 영역들의 위치에 기초하여 물리적 대상물의 하나 또는 그 초과의 외부 표면들을 식별하는 단계를 포함할 수 있다.
[0009] 방법의 특정 양상들에서, 평탄 표면을 AR 평면으로서 표현하는 단계는, 물리적 대상물을 포함하는 물리적 장면의 적어도 2개의 이미지들을 분석하는 단계 및 물리적 장면의 적어도 2개의 이미지들의 분석에 기초하여, AR 평면이 물리적 장면에 대응하도록 그리고 물리적 대상물에 대응하는 적어도 하나의 영역을 배제하도록 AR 평면을 생성하는 단계를 포함할 수 있다. 생성된 AR 평면은 복수의 셀들을 포함할 수 있고, 복수의 셀들 중 각각의 셀은 물리적 대상물이 없는 물리적 장면의 영역을 표현한다.
[0010] 특정 양상들에서, 물리적 장면의 적어도 2개의 이미지들을 분석하는 단계는, 카메라를 이용하여 제 1 위치에서 물리적 장면의 제 1 이미지를 캡쳐하는 단계 ― 제 1 이미지는 물리적 대상물을 포함함 ―, 카메라가 제 1 위치로부터 제 2 위치로 이동한 거리를 결정하는 단계, 카메라를 이용하여 제 2 위치에서 물리적 장면의 제 2 이미지를 캡쳐하는 단계 ― 제 2 이미지는 물리적 대상물을 포함함 ―, 및 제 1 이미지 및 제 2 이미지를 이용하여 물리적 대상물에 대한 깊이 정보를 결정하는 단계를 포함할 수 있다.
[0011] 방법의 특정 양상들에서, 3D 재구성 대상물을 생성하는 단계는, 물리적 대상물의 하나 또는 그 초과의 특징 포인트들을 획득하는 단계 ― 하나 또는 그 초과의 특징 포인트들 중 각각의 특징 포인트는 물리적 대상물의 외부 표면 상의 포인트의, 평탄 표면에 대한 위치를 표시함 ―, 평탄 표면 및 하나 또는 그 초과의 특징 포인트들과 연관된 정보를 이용하여, 가시적이지 않은 물리적 대상물의 부분의 형상을 추정하는 단계, 및 추정에 기초하여 3D 재구성 대상물을 구성하는 단계를 포함할 수 있다. 특정 예들에서, 추정하는 단계는, 정보 및 하나 또는 그 초과의 특징 포인트들을 평탄 표면의 정면-평행 관점(fronto-parallel perspective)으로 변환하는 단계를 포함한다. 일부 예들에서, 그 추정은 스플라인 표현(spline representation), 반사된 대칭적 대상물 표현(reflected symmetrical object representation), 평탄 표현(planar representation), 또는 굴곡 표현(curved representation) 중 적어도 하나를 포함한다.
[0012] 본 개시내용의 특정 양상들에서, 물리적 대상물의 디지털 표현을 구성하는 단계는 물리적 대상물에 의해 가려지는 평탄 표면의 부분의 형상에 기초하여, 평탄 표면에 수직하는 방향으로 대상물을 돌출(extruding)시키는 단계를 포함할 수 있다.
[0013] 방법의 특정 양상들에서, 평탄 표면을 AR 평면으로서 표현하는 단계는, 물리적 장면 내의 평탄 표면의 초기 부분을 식별하는 단계, 평탄 표면의 추가의 부분들을 식별하는 단계를 포함할 수 있고, 추가의 부분들 각각은, 추가의 부분들과 연관된 적어도 하나의 시각적 또는 기하학적 속성과, 평탄 표면의 부분인 것으로 이미 식별된 하나 또는 그 초과의 부분들과 연관된 적어도 하나의 대응하는 시각적 또는 기하학적 속성 사이의 유사성을 결정하는 것에 기초하여, 평탄 표면의 부분인 것으로 식별된다.
[0014] 특정 구현들에서, 평탄 표면의 추가의 부분들을 식별하는 단계는, 평탄 표면이 존재하는 평탄 영역의 모델을 확립하는 단계, 평탄 영역을 복수의 셀들로 파티셔닝하는 단계; 및 각각의 셀을 평탄 표면의 잠재적 추가의 부분으로서 평가하는 단계를 포함할 수 있다. 각각의 셀을 평가하는 단계는, 평탄 표면의 추가의 부분으로서 식별된 각각의 셀에 대해, 평탄 표면의 부분으로서 이미 식별되지 않은 이웃 셀들을 식별하는 단계 및 각각의 식별된 이웃 셀에 대해, 이웃 셀을 평탄 표면의 잠재적 부분으로서 평가하는 단계를 반복하는 단계를 포함할 수 있다.
[0015] 물리적 장면의 디지털 표현을 구성하기 위한 예시적 디바이스는, 메모리, 물리적 장면에 관한 정보를 획득하기 위한 카메라, 및 메모리에 커플링된 프로세서를 포함할 수 있다. 프로세서는, 물리적 장면 내의 평탄 표면을 식별하고, 평탄 표면 위에 위치된, 물리적 장면 내의 물리적 대상물을 선택하고, 물리적 대상물과 연관된 속성들을 검출하고, 물리적 대상물과 연관된 속성들을 이용하여 3차원(3D) 재구성 대상물을 생성하고, 그리고 평탄 표면을 증강 현실(AR) 환경에서 증강 현실 평면으로서 표현하도록 구성될 수 있고, AR 환경의 AR 평면은 자신의 최상부 상에 3D 재구성 대상물들을 지지할 수 있다.
[0016] 디바이스의 특정 양상들에서, 선택을 위해 물리적 대상물을 식별하는 것은, 평탄 표면의 하나 또는 그 초과의 영역들을 식별하는 것 ― 하나 또는 그 초과의 영역들은 평탄 표면 상의 물리적 대상물의 위치에 대응하고, 획득된 정보는 물리적 대상물의 하나 또는 그 초과의 특징 포인트들을 포함하고, 각각의 특징 포인트는 물리적 대상물의 외부 표면 상의 포인트의, 평탄 표면에 대한 위치를 표시함 ―, 및 하나 또는 그 초과의 특징 포인트들 및 하나 또는 그 초과의 볼록 영역들의 위치에 기초하여 물리적 대상물의 하나 또는 그 초과의 외부 표면들을 식별하는 것을 포함할 수 있다.
[0017] 디바이스의 특정 양상들에서, 평탄 표면을 AR 평면으로서 표현하는 것은 물리적 대상물을 포함하는 물리적 장면의 적어도 2개의 이미지들을 분석하는 것, 및 물리적 장면의 적어도 2개의 이미지들의 분석에 기초하여, AR 평면이 물리적 장면에 대응하도록 그리고 물리적 대상물에 대응하는 적어도 하나의 영역을 배제하도록 AR 평면을 생성하는 것을 포함할 수 있다. 생성된 AR 평면은 복수의 셀들을 포함할 수 있고, 복수의 셀들 중 각각의 셀은 물리적 대상물이 없는 물리적 장면의 영역을 표현한다.
[0018] 특정 양상들에서, 물리적 장면의 적어도 2개의 이미지들을 분석하는 것은, 카메라를 이용하여 제 1 위치에서 물리적 장면의 제 1 이미지를 캡쳐하는 것 ― 제 1 이미지는 물리적 대상물을 포함함 ―, 카메라가 제 1 위치로부터 제 2 위치로 이동한 거리를 결정하는 것, 카메라를 이용하여 제 2 위치에서 물리적 장면의 제 2 이미지를 캡쳐하는 것 ― 제 2 이미지는 물리적 대상물을 포함함 ―, 및 제 1 이미지 및 제 2 이미지를 이용하여 물리적 대상물에 대한 깊이 정보를 결정하는 것을 포함할 수 있다.
[0019] 디바이스의 특정 양상들에서, 3D 재구성 대상물을 생성하는 것은, 물리적 대상물의 하나 또는 그 초과의 특징 포인트들을 획득하는 것 ― 하나 또는 그 초과의 특징 포인트들 중 각각의 특징 포인트는 물리적 대상물의 외부 표면 상의 포인트의, 평탄 표면에 대한 위치를 표시함 ―, 평탄 표면 및 하나 또는 그 초과의 특징 포인트들과 연관된 정보를 이용하여, 가시적이지 않은 물리적 대상물의 부분의 형상을 추정하는 것, 및 추정에 기초하여 3D 재구성 대상물을 구성하는 것을 포함할 수 있다. 특정 예들에서, 추정하는 것은, 정보 및 하나 또는 그 초과의 특징 포인트들을 평탄 표면의 정면-평행 관점으로 변환하는 것을 포함한다. 일부 예들에서, 그 추정은 스플라인 표현, 반사된 대칭적 대상물 표현, 평탄 표현, 또는 굴곡 표현 중 적어도 하나를 포함한다.
[0020] 본 개시내용의 특정 양상들에서, 물리적 대상물의 디지털 표현을 구성하는 것은 물리적 대상물에 의해 가려지는 평탄 표면의 부분의 형상에 기초하여, 평탄 표면에 수직하는 방향으로 대상물을 돌출시키는 것을 포함할 수 있다.
[0021] 디바이스의 특정 양상들에서, 평탄 표면을 AR 평면으로서 표현하는 것은, 물리적 장면 내의 평탄 표면의 초기 부분을 식별하는 것, 평탄 표면의 추가의 부분들을 식별하는 것을 포함할 수 있고, 추가의 부분들 각각은, 추가의 부분들과 연관된 적어도 하나의 시각적 또는 기하학적 속성과, 평탄 표면의 부분인 것으로 이미 식별된 하나 또는 그 초과의 부분들과 연관된 적어도 하나의 대응하는 시각적 또는 기하학적 속성 사이의 유사성을 결정하는 것에 기초하여, 평탄 표면의 부분인 것으로 식별된다.
[0022] 특정 구현들에서, 평탄 표면의 추가의 부분들을 식별하는 것은, 평탄 표면이 존재하는 평탄 영역의 모델을 확립하는 것, 평탄 영역을 복수의 셀들로 파티셔닝하는 것; 및 각각의 셀을 평탄 표면의 잠재적 추가의 부분으로서 평가하는 것을 포함할 수 있다. 각각의 셀을 평가하는 것은, 평탄 표면의 추가의 부분으로서 식별된 각각의 셀에 대해, 평탄 표면의 부분으로서 이미 식별되지 않은 이웃 셀들을 식별하는 단계 및 각각의 식별된 이웃 셀에 대해, 이웃 셀을 평탄 표면의 잠재적 부분으로서 평가하는 단계를 반복하는 것을 포함할 수 있다.
[0023] 예시적 비-일시적 컴퓨터-판독가능 저장 매체로서, 비-일시적 컴퓨터-판독가능 저장 매체는 프로세서에 의해 실행가능한 명령들을 포함하고, 명령들은, 물리적 장면 내의 평탄 표면을 식별하기 위한 명령, 평탄 표면 위에 위치된, 물리적 장면 내의 물리적 대상물을 선택하기 위한 명령, 물리적 대상물과 연관된 속성들을 검출하기 위한 명령, 물리적 대상물과 연관된 속성들을 이용하여 3차원(3D) 재구성 대상물을 생성하기 위한 명령, 및 평탄 표면을 증강 현실(AR) 환경에서 증강 현실 평면으로서 표현하기 위한 명령을 포함하고, AR 환경의 AR 평면은 자신의 최상부 상에 3D 재구성 대상물들을 지지할 수 있다.
[0024] 비-일시적 컴퓨터-판독가능 저장 매체의 특정 양상들에서, 3D 재구성 대상물을 생성하는 것은, 물리적 대상물의 하나 또는 그 초과의 특징 포인트들을 획득하기 위한 명령 ― 하나 또는 그 초과의 특징 포인트들 중 각각의 특징 포인트는 물리적 대상물의 외부 표면 상의 포인트의, 평탄 표면에 대한 위치를 표시함 ―, 평탄 표면 및 하나 또는 그 초과의 특징 포인트들과 연관된 정보를 이용하여, 가시적이지 않은 물리적 대상물의 부분의 형상을 추정하기 위한 명령, 및 추정에 기초하여 3D 재구성 대상물을 구성하기 위한 명령을 포함할 수 있다. 특정 예들에서, 추정은, 정보 및 하나 또는 그 초과의 특징 포인트들을 평탄 표면의 정면-평행 관점으로 변환하는 것을 포함한다. 일부 예들에서, 그 추정은 스플라인 표현, 반사된 대칭적 대상물 표현, 평탄 표현, 또는 굴곡 표현 중 적어도 하나를 포함한다.
[0025] 비-일시적 컴퓨터-판독가능 저장 매체의 특정 예들에서, AR 평면은 복수의 셀들을 포함할 수 있고, 복수의 셀들 중 각각의 셀은 물리적 대상물이 없는 물리적 장면의 영역을 표현한다. 특정 양상들에서, 평탄 표면을 AR 평면으로서 표현하는 것은, 프로세서가 추가로, 물리적 대상물을 포함하는 물리적 장면의 적어도 2개의 이미지들을 분석하고, 그리고 물리적 장면의 적어도 2개의 이미지들의 분석에 기초하여, AR 평면이 물리적 장면에 대응하도록 그리고 물리적 대상물에 대응하는 적어도 하나의 영역을 배제하도록 AR 평면을 생성하는 것을 포함하는 것을 포함할 수 있다.
[0026] 물리적 장면의 디지털 표현을 구성하기 위한 예시적 장치는, 물리적 장면에 관한 정보를 획득하기 위한 수단, 물리적 장면 내의 평탄 표면을 식별하기 위한 수단, 평탄 표면 위에 위치된, 물리적 장면 내의 물리적 대상물을 선택하기 위한 수단, 물리적 대상물과 연관된 속성들을 검출하기 위한 수단, 물리적 대상물과 연관된 속성들을 이용하여 3차원(3D) 재구성 대상물을 생성하기 위한 수단, 및 평탄 표면을 증강 현실(AR) 환경에서 증강 현실 평면으로서 표현하기 위한 수단을 포함할 수 있고, AR 환경의 AR 평면은 자신의 최상부 상에 3D 재구성 대상물들을 지지할 수 있다.
[0027] 예시적 장치의 특정 양상들에서, 3D 재구성 대상물을 생성하기 위한 수단은, 물리적 대상물의 하나 또는 그 초과의 특징 포인트들을 획득하기 위한 수단 ― 하나 또는 그 초과의 특징 포인트들 중 각각의 특징 포인트는 물리적 대상물의 외부 표면 상의 포인트의, 평탄 표면에 대한 위치를 표시함 ―, 평탄 표면 및 하나 또는 그 초과의 특징 포인트들과 연관된 정보를 이용하여, 가시적이지 않은 물리적 대상물의 부분의 형상을 추정하기 위한 수단, 및 추정에 기초하여 3D 재구성 대상물을 구성하기 위한 수단을 포함할 수 있다. 특정 예들에서, 추정하기 위한 수단은, 정보 및 하나 또는 그 초과의 특징 포인트들을 평탄 표면의 정면-평행 관점으로 변환하기 위한 수단을 포함한다. 일부 예들에서, 그 추정은 스플라인 표현, 반사된 대칭적 대상물 표현, 평탄 표현, 또는 굴곡 표현 중 적어도 하나를 포함한다.
[0028] 예시적 장치의 특정 예들에서, AR 평면은 복수의 셀들을 포함할 수 있고, 복수의 셀들 중 각각의 셀은 물리적 대상물이 없는 물리적 장면의 영역을 표현한다. 특정 양상들에서, 평탄 표면을 AR 평면으로서 표현하기 위한 수단은, 물리적 대상물을 포함하는 물리적 장면의 적어도 2개의 이미지들을 분석하기 위한 수단, 및 물리적 장면의 적어도 2개의 이미지들의 분석에 기초하여, AR 평면이 물리적 장면에 대응하도록 그리고 물리적 대상물에 대응하는 적어도 하나의 영역을 배제하도록 AR 평면을 생성하기 위한 수단을 포함한다.
[0029] 전술한 내용은, 다음의 상세한 설명이 더 양호하게 이해될 수 있도록 예들의 특징들 및 기술적 이점들을 상당히 광범위하게 요약하였다. 추가의 특징들 및 이점들이 이하 설명될 것이다. 개시된 개념 및 특정한 예들은 본 개시내용의 동일한 목적들을 수행하기 위해 다른 구조들을 수정 또는 설계하기 위한 기초로 용이하게 활용될 수 있다. 이러한 균등한 구성들은 첨부된 청구항들의 사상 및 범위로부터 벗어나지 않는다. 본원에서 개시된 개념들의 특징으로 믿어지는, 본 개시내용의 구성 및 동작 방법 모두에 대한 것으로서의 특징들은 연관된 이점들과 함께, 첨부 도면들과 관련하여 고려될 때 다음의 설명으로부터 더 잘 이해될 것이다. 도면들 각각은 단지 예시 및 설명의 목적으로 제공되며, 청구항들의 제한들에 대한 정의로서 제공되지는 않는다.
[0030] 다양한 실시예들의 특성 및 이점들의 이해는 다음의 도면들을 참조하여 인식될 수 있다. 첨부된 도면들에서, 유사한 컴포넌트들 또는 특징들은 동일한 참조 라벨을 가질 수 있다. 또한, 동일한 타입의 다양한 컴포넌트들은, 유사한 컴포넌트들 사이를 구별하는, 참조 라벨 다음의 대시기호 및 제 2 라벨에 의해 구별될 수 있다. 본 명세서에서 제 1 참조 라벨만이 사용되면, 그 설명은, 제 2 참조 라벨과는 무관하게 동일한 제 1 참조 라벨을 갖는 유사한 컴포넌트들 중 임의의 컴포넌트에 적용가능하다.
[0031] 도 1은 본 개시내용의 특정 실시예들에 따라 증강 현실(AR) 시스템의 컴퓨팅 디바이스를 이용하기 위한 예시적 설정을 예시한다.
[0032] 도 2는 본 개시내용의 특정 실시예들에 따른 예시적 물리적 장면을 예시한다.
[0033] 도 3은 도 2에 예시된 물리적 장면의 부분을 표현하는 예시적 평탄 표면을 예시한다.
[0034] 도 4는 본 개시내용의 특정 양상들에 따라 물리적 장면의 디지털 표현을 생성하기 위한 컴퓨팅 디바이스에 의해 수행될 수 있는 예시적 동작들을 가진 흐름도를 예시한다.
[0035] 도 5a 및 도 5b는 본 개시내용의 특정 양상들에 따라 볼록 껍질(convex hull) 및 정교화된 껍질(refined hull)을 예시한다.
[0036] 도 6은 AR 평면을 구성하도록 구성된 모듈들에 대한 예를 가진 블록도를 예시한다.
[0037] 도 7은 본 개시내용의 양상들에 따라 획득되고, 대응하는 물리적 환경 상에 중첩된 포인트 클라우드(point cloud)의 예를 예시한다.
[0038] 도 8은 대응하는 물리적 환경 상에 중첩된 기준 평면(ground plane)을 생성하기 위해 이용되는 포인트 클라우드의 예를 예시한다.
[0039] 도 9는 대응하는 물리적 환경 상에 중첩된 대상물에 따라 클러스터화되는 포인트 클라우드의 예를 예시한다.
[0040] 도 10은 대응하는 물리적 환경 상에 중첩된 3차원 물리적 대상물들의 모델의 예를 예시한다.
[0041] 도 11은 대응하는 물리적 환경 상에 중첩된 AR 평면의 예를 예시한다.
[0042] 도 12는 대응하는 물리적 환경 상에 중첩된 3차원 물리적 대상물들의 모델들 및 AR 평면의 예를 예시한다.
[0043] 도 13은 본 개시내용의 특정 양상들에 따라 AR 평면을 생성하기 위한 예시적 프로세스를 예시한다.
[0044] 도 14는 본 개시내용의 특정 양상들에 따라 AR 평면을 생성 및 이용하기 위한 예시적 프로세스를 예시한다.
[0045] 도 15a 및 도 15b는 평탄 표면 상의 대상물에 의해 생성되는 홀(hole) 및 대상물의 디지털 표현을 생성하기 위해 이용되는 수정된 홀을 각각 예시한다.
[0046] 도 16은 본 개시내용의 특정 양상들에 따라 평탄 표면의 조밀 평면 표현(dense plane representation)의 간략화된 예시적 정면-평행도(fronto-parallel view)이다.
[0047] 도 17은 대상물의 부분의 기하학적 구조가 어떻게 추정될 수 있는지의 예를 예시하는, 평탄 표면의 조밀 평면 표현의 홀의 간략화된 정면-평행도이다.
[0048] 도 18은 물리적 장면의 평탄 표면 상의 대상물의 디지털 표현을 구성하기 위한 예시적 프로세스를 예시한다.
[0049] 도 19는 물리적 장면의 디지털 표현을 구성하기 위한 예시적 흐름도를 예시한다.
[0050] 도 20은 본 개시내용의 특정 양상들에 따라 평탄 표면들을 표현하기 위해 이용될 수 있는 컴퓨팅 디바이스의 하나의 잠재적 구현을 설명한다.
[0051] 단어 "예시적인"은 본원에서 "예, 실례, 또는 예시로서 역할을 하는"을 의미하기 위해 이용된다. 본원에서 "예시적인" 것으로 설명되는 임의의 실시예 또는 설계는 반드시 다른 실시예들 또는 설계들에 비해 바람직하거나 유리한 것으로 해석되지는 않는다.
[0052] 사용자의 자연 환경에 기초하여 증강 현실(AR) 환경에서 평평한 표면들 및 상기 평평한 표면들 상의 대상물들을 인식하기 위한 방법들 및 장치들이 제공된다.
[0053] 알려지지 않은 실세계 장면에 기초하여 AR 애플리케이션을 구축하는 것은 까다로울 수 있는데, 그 이유는, 실행 시간에서 어떤 장면 및 어떤 타입의 대상물들이 재구성될 것인지가 미리 알려지지 않기 때문이다. 예컨대, 사용자가 자연 환경에서 방으로 들어가는지 또는 밖으로 나가는지는 미리 알려지지 않는다. 그러므로, 임의의 타입의 장면에 기초하여 정교한 증강 현실 애플리케이션을 생성하는 것은 매우 어려울 수 있다.
[0054] 일반적으로, 전체 장면에 대한 하나의 큰 삼각형 메시와 같은, 장면의 포괄적 표현을 이용하는 것이 가능할 수 있다. 일부 예들에서, 이는, 누군가가 재구성된 장면을 렌더링하기를 원하는 경우 합리적일 수 있다. 그러나, 재구성된 장면을 렌더링할뿐만 아니라, 다양한 실제 및 가상 대상물들과 함께 렌더링된 장면과 상호작용하는 것이 바람직할 수 있다. 재구성된 장면을 부분들로 분할함으로써, 실세계 대상물 주변에 가상 식물이 자라는 것과 같은 더 복잡한 사용 경우들이 달성가능할 수 있다. 본원에서 설명되는 실시예들은 포괄적 장면들을 의미 있는 재구성된 컴포넌트들로 재구성하는 것을 가능하게 하며, 그 의미 있는 재구성된 컴포넌트들은 개별 표면들 및 대상물들을 가변 속성들과 상관시킨다.
[0055] 본 개시내용의 특정 실시예들은 알려지지 않은 실세계 장면을, 다수의 대상물들을 자신의 최상부 상에 갖는 증강 현실(AR) 평면으로서 표현할 수 있다. 제안된 표현은, 테이블-최상부 또는 바닥(floor)과 같은 실내 AR 애플리케이션들에 대한 통상의 시나리오들 대부분을 위해 이용될 수 있다. 제안된 표현은 또한 실외 AR 애플리케이션들을 위해 이용될 수 있다.
[0056] 설명되는 실시예들에 따라 장면들을 표현 및 재구성함으로써, 기준 평면(예컨대, 테이블/바닥)을 표현하는 AR 평면에 대한 의미 있는 분할이 수행될 수 있고, 개별 대상물들이 AR 평면 최상부 상에 표현될 수 있다. 특정 실시예들의 경우, 표현되는 대상물들은 개별적인 증강들을 위해 이용될 수 있고, 실세계 대상물들의 교체(replacement)는 AR 환경에 물리적 장면을 형성한다. 예컨대, 실세계 대상물의 컬러가 상이한 컬러로 증강될 수 있거나 또는 실세계 대상물이 가상 대상물로 완전히 교체될 수 있다. 추가로, 다수의 대상물들에 기초하여 정교한 게임 플레이가 생성될 수 있다.
[0057] 본원에서 제안되는 바와 같은 AR 평면은 물리적 표면의 실제 가장자리(edge)들(예컨대, 테이블의 가장자리들)에 대응하는 경계들을 가질 수 있다. 제안된 표현을 이용시, 개발자는 특정 외관(appearance)을 가진 AR 평면을 렌더링할 수 있다(예컨대, 잔디가 기준 평면 상에 자라게 함).
[0058] 특정 실시예들은, 재구성된 평면의 경계들의 주변 표면이 상방향으로 포인팅하는지 또는 하방향으로 포인팅하는지를 표시하는 것이 가능할 수 있다. 예컨대, 이러한 정보는 대상물이 테이블에서 떨어지게 하기 위해 이용될 수 있다. 그러나, 대상물이 바닥 표면의 경계들에 도달하는 경우(예컨대, 벽에 도달함), 경계는 대상물의 추락을 중지시킬 수 있다.
[0059] 특정 실시예들에서, 물리적 환경을 분석하기 위해, SLAM(simultaneous localization and mapping) 프로세스가 이용될 수 있다. SLAM 프로세스는 물리적 환경의 제 1의 2차원 이미지가 카메라를 이용하여 캡쳐되는 것을 포함할 수 있다. 2차원 이미지는 깊이 정보가 없을 수 있다. 그 다음으로, 카메라는 떨어진 거리로 이동할 수 있다. 이러한 거리(및 방향)가 측정될 수 있다. 물리적 환경의 제 2 이미지가 캡쳐될 수 있다. 이동한 거리 및 방향을 이용함으로써, 매칭시키도록 결정되는 2개의 이미지들의 다수의 식별된 기준 포인트들의 깊이가 계산될 수 있다. SLAM 프로세스의 구현들은, 기준 포인트들의 결정된 위치들을 정교화하고 그리고 물리적 환경의 추가의 기준 포인트들을 식별하기 위해 더욱 더 많은 이미지들을 이용할 수 있다. SLAM의 사용에 추가하여, 예컨대, 비행시간 분석(time-of-flight analysis) 또는 입체식 카메라 시스템을 이용하여, 이를테면, 깊이 정보를 포함하는 이미지들을 캡쳐함으로써, 일부 다른 형태의 3차원 맵핑 프로세스가 이용될 수 있다. 본원에서 설명되는 바와 같이, SLAM 프로세스가 예시 목적들을 위해 이용될 수 있지만, 본 발명의 범위로부터 벗어남이 없이 SLAM 대신에 다른 기법들이 이용될 수 있다.
[0060] 일부 실시예들에서, AR 평면 또는 AR 평면 상에 위치된 대상물을 검출하기 위해 또는 추가로 정교화하기 위해 포인트 클라우드가 생성될 수 있다. 포인트 클라우드는 다수의 기준 포인트들을 포함할 수 있고, 각각의 기준 포인트는 깊이 값을 갖는다. 기준 포인트는, 주어진 기원(origin)을 참조하여, x, y 및 z를 포함하는 데카르트 좌표계와 같은 3차원 좌표계의 포인트의 표현을 나타낼 수 있다. 본원에서 상세하게 설명되는 바와 같이, SLAM 프로세스 또는 다른 3차원 맵핑 프로세스들을 이용하여 획득된 포인트 클라우드는 AR 평면을 생성한다. 일 실시예에서, 가상 대상물이 충돌할 수 있는 물리적 대상물들이 AR 평면으로부터 배제되도록, AR 평면이 생성될 수 있다. 다른 실시예에서, AR 평면은, 어떠한 물리적 대상물들도 존재하지 않고 그리고 물리적 대상물과의 가능한 충돌과 상관없이 AR 환경에서 가상 대상물들이 포지셔닝되어 이동할 수 있는 평탄 영역을 표현할 수 있다.
[0061] AR 평면은 다각형 셀들과 같은 다수의 셀들로 이루어진 평면을 정의할 수 있다. 각각의 다각형 셀은, 가상 대상물이 (사용자의 시야의 물리적 대상물과 같은) 다른 대상물과의 충돌없이 포지셔닝될 수 있는 볼록한 평탄 영역을 표현할 수 있다. 예로서, 3차원 1인칭 슈팅 게임을 참조하면, AR 평면은 가상 캐릭터들이 이동하도록 허용되는 영역들을 정의할 수 있다. 예컨대, 대상물들, 벽들, 및 절벽들은 AR 평면으로부터 배제될 수 있다. 일단 AR 평면이 생성되면, 가상 대상물들은 AR 평면 상의 임의의 포지션으로 이동하도록 허용될 수 있다. AR 평면이 물리적 대상물들에 대응하는 영역들을 배제하도록 생성되기 때문에, 가상 대상물들이 AR 평면 상에 포지셔닝되어 있는 한, (AR 환경의 사실성에 부정적으로 영향을 줄) AR 환경에서 가상 대상물이 허용불가하게 사용자의 시야의 물리적 대상물을 교차하거나 또는 통과하지 않을 것임이 알려진다.
[0062] 특정 실시예들에서, AR 시스템에서 유도되는 내비게이셔널 메시(navigational mesh) 또는 "내브메시(navmesh)"가 또한 AR 평면으로서 고려될 수 있다. 일부 예들에서, AR 시스템을 설명하는 동안 AR 평면은 또한 내비게이셔널 메시 또는 내브메시로 지칭될 수 있다. 일부 예들에서, AR 평면, 내비게이셔널 메시 또는 내브메시와 같은 용어들은, AR 환경을 설명하는 동안 본 발명의 범위로부터 벗어남이 없이 상호교환가능하게 이용될 수 있다.
[0063] 도 1을 참조하면, 예시적 AR 시스템(100)이 예시된다. 특정 실시예들에서, AR 시스템(100)은 SLAM 프로세스를 수행하도록 구성될 수 있다. 시스템(100)은 모바일 디바이스와 같은 컴퓨팅 디바이스(102)를 포함한다. 모바일 디바이스는 카메라와 같은 입력 감각 유닛 및 디스플레이를 가진 임의의 휴대용 컴퓨팅 디바이스일 수 있다. 여기서, 컴퓨팅 디바이스(102)는 스마트 폰과 같은 모바일 디바이스일 수 있지만, 본원에서 설명되는 기능은 스마트 폰들로 제한되지 않는다. 예컨대, 컴퓨팅 디바이스(102)는 임의의 휴대용 또는 모바일 디바이스, 이를테면, 디지털 카메라, 캠코더, 태블릿 컴퓨터, 개인용 디지털 보조기기, 비디오 게임 콘솔, HMD(head-mounted display) 또는 다른 착용가능 디스플레이, 프로젝터 디바이스, 또는 다른 디바이스일 수 있다. 또한, 모바일 디바이스 대신에, 컴퓨팅 디바이스(102), 이를테면, 개인용 컴퓨터(예컨대, 데스크톱 컴퓨터), 또는 다른 비-핸드헬드 디바이스 또는 통상적으로 모바일 디바이스로 라벨링되지 않는 디바이스가 이용될 수 있다. 컴퓨팅 디바이스(102)는 실세계 물리적 환경의 물리적 대상물들의 이미지들을 캡쳐하기 위한 카메라를 포함할 수 있다. 예시된 실시예에서, 원통(예컨대, 수프 통조림)이 테이블(104) 상에 존재한다.
[0064] 컴퓨팅 디바이스(102)는 물리적 환경의 이미지들을 캡쳐하고 ― 여기서는 수프 통조림이 놓인 테이블의 이미지들을 캡쳐함 ―, 투명 또는 반투명 디스플레이 상에 하나 또는 그 초과의 가상 대상물들이 보충된 추가의 상(imagery)을 디스플레이함으로써 증강 현실화(augment reality)하도록 구성될 수 있다. 도 1에서, 3차원 캐릭터(106)가 테이블(104)을 포함한 물리적 환경의 뷰(view) 상에 중첩된다. 3차원 캐릭터(106)는 임의의 형태의 가상 대상물일 수 있고, 휴머노이드 캐릭터로 제한되지 않는다. 3차원 캐릭터(106)는, 본원에서 상세하게 설명되는 바와 같이 테이블(104)의 표면 상에 구성된 AR 평면 상의 다양한 위치들로 이동하도록 허용될 수 있다. 특정 실시예들에서, AR 평면은, 수프 통조림이 AR 평면으로부터 배제되도록 구성될 수 있고, 그에 따라, 컴퓨팅 디바이스(102)의 디스플레이상에 표시되는 AR 환경에서 3차원 캐릭터(106)가 수프 통조림과 충돌하는 것으로 나타나는 것이 배제된다.
[0065] 도 2는 본 개시내용의 특정 실시예들에 따라 예시적 물리적 장면(200)을 예시한다. 예시되는 바와 같이, 장면은 테이블(210)의 부분(예컨대, 평평한 표면)을 포함할 수 있다. 추가로, 일부 물리적 대상물들(215)(예컨대, 책들, 컵들, 장난감들 등)이 테이블(210)의 최상부 상에 포지셔닝된다. 일부 이미지들에서, 음영들 및 반사들이 또한 테이블(210) 상에서 가시적일 수 있다. 일부 실시예들에서, 컴퓨팅 디바이스(102)는 특징 포인트(예컨대, SLAM) 결정을 위해 하나 또는 그 초과의 이미지들 및/또는 다른 데이터를 캡쳐할 수 있다. 하나 또는 그 초과의 이미지들이 실시간으로 또는 거의 실시간으로 컴퓨팅 디바이스(102)의 디스플레이(230) 상에 보여질 수 있다. 더욱이, 디스플레이(230)는 또한 하나 또는 그 초과의 디스플레이되는 이미지들 상에 놓인 AR 그래픽들 및/또는 다른 정보를 보여줄 수 있다. 컴퓨팅 디바이스(102)는 태블릿, 스마트 폰, 개인용 카메라 등을 포함할 수 있고, 하나 또는 그 초과의 이미지들은 컴퓨팅 디바이스(102)의 카메라에 의해 캡쳐된 비디오 자료(video feed)로부터의 이미지들일 수 있다.
[0066] 기법들은, 예컨대, 이미지 프로세싱 및/또는 특징 포인트 정보를 이용하여 평탄 표면의 위치, 배향, 및 치수들을 결정하고 그리고 평탄 표면의 재구성된 표현일 수 있는 증강 현실(AR) 평면을 생성하기 위해 컴퓨팅 디바이스(102)에 의해 실행되는 AR 애플리케이션과 같은 애플리케이션에 의해 수행될 수 있다. 이러한 기법들은 추가로, 평탄 표면의 특징들을 결정하는 것을 돕기 위해 컴퓨팅 디바이스(102)에 알려진 특징들을 가진 대상물일 수 있는 이미지 타겟(217)을 활용할 수 있다.
[0067] 도 3은 도 2에 예시된 물리적 장면의 부분을 표현하는 예시적 AR 평면(310)을 예시한다. 예시되는 바와 같이, 테이블(210)(예컨대, 평평한 표면)이 장면에서 식별된다. 삼각형 메시(315)는 제안된 방법에 의해 식별되는 평탄 표면을 표시한다.
[0068] 표현된 AR 평면(310)의 경계들(또는 테두리들)은 더 많은 부분들(예컨대, 셀들)을 분석함으로써 그리고 이들을 평탄 표면의 식별된 부분에 추가함으로써 시간에 걸쳐 성장할 수 있다. 이는 일반적으로, 새로운 뷰포인트(viewpoint)로 인해 평탄 표면의 더 많은 영역들이 가시적이 될 때 발생한다. 도 3에서, AR 평면(310)의 표현의 테두리들은 평탄 표면(210)의 물리적 테두리들 모두를 아직 정확하게 표시하지는 않는다. 그러나, 활용되는 알고리즘에 따라, 표현은 추가의 정보(예컨대, 상이한 각도들에서의 이미지들)의 이용가능성에 따라 계속 개선되어 정교화될 수 있다. 이러한 예에서, 라인들(315)은 AR 평면(310)을 예시하는 것을 돕기 위해 도시된다. 단지 2개의 라인(315)들만이 라벨링되지만, AR 평면(310)은 더 많은 수의 라인들(315)을 포함함이 유의될 수 있다.
[0069] AR 평면(310)은 평탄 표면(210)의 테두리들이 존재할 수 있는 위치를 표시할 뿐만 아니라, 평탄 표면(210)의 부분들이 가려지는 "홀(hole)들"(320)을 포함할 수도 있다. 대상물-검출 목적들을 위해, 이러한 홀들(320)은 대상물들(215)의 존재를 표시할 수 있다. (예컨대, 통계적 정보를 이용한 평면 확장, 평면 스위핑(plane sweeping)으로 인해) 대상물들(215)에 의해 캐스팅(cast)된 홀들(320)은 가림(occlusion)으로 인해 실제 대상물들(215)보다 더 클 가능성이 있다. 다시 말해, 평탄 표면(210)이 정면-평행으로 (즉, 직접적으로 오버헤드로부터) 뷰잉되지 않는 한, 대상물들(215)은 대상물 뒤의 평탄 표면(210)의 일부분을 가릴 것이다. 도 15a는 이러한 현상을 더 상세하게 예시하는 것을 돕는다.
[0070] 도 4는 본 개시내용의 특정 구현들에 따라 물리적 장면의 디지털 표현을 생성하기 위한 컴퓨팅 디바이스에 의해 수행될 방법의 흐름도이다. 하나 또는 그 초과의 양상들에 따르면, 본원에서 설명되는 방법들 및/또는 방법 단계들 중 임의의 및/또는 모든 방법들 및/또는 방법 단계들은 예컨대, 도 20에서 더 상세하게 설명되는 디바이스 및/또는 모바일 디바이스와 같은 컴퓨팅 디바이스(102)로 그리고/또는 컴퓨팅 디바이스(102)에 의해 구현될 수 있다. 일 실시예에서, 도 4에 대해 아래에서 설명되는 동작들 중 하나 또는 그 초과는 컴퓨팅 디바이스(2000)의 프로세서, 이를테면, 프로세서(2010) 또는 다른 프로세서에 의해 구현된다. 추가로 또는 대안적으로, 본원에서 설명되는 방법들 및/또는 방법 단계들 중 임의의 및/또는 모든 방법들 및/또는 방법 단계들은 메모리(2020)와 같은 컴퓨터-판독가능 매체, 저장소 또는 다른 컴퓨터-판독가능 매체 상에 저장된 컴퓨터-판독가능 명령들과 같은 컴퓨터-판독가능 명령들로 구현될 수 있다.
[0071] 블록(402)에서, 컴퓨팅 디바이스는 물리적 장면의 적어도 하나의 이미지를 획득할 수 있다. 예컨대, 디바이스는 하나 또는 그 초과의 이미지들을 캡쳐하기 위해 카메라를 가질 수 있다. 대안적으로, 디바이스는 장면으로부터 찍힌 이미지를 수신할 수 있다. 404에서, 적어도 하나의 이미지에 기초하여, 디바이스는 물리적 장면 내의 평탄 표면의 초기 부분을 식별할 수 있다. 예컨대, 디바이스는 초기화 타겟(예컨대, 알려진 그래픽이 프린팅된 한 장의 종이와 같은 2차원 표면, 원통, 또는 미리 알려진 임의의 다른 대상물)으로서 이용되는 대상물을 식별할 수 있다. 초기화 타겟이 본원에서 논의되지만, 본 발명의 범위로부터 벗어남이 없이, 평탄 표면의 초기 부분을 검출하기 위해 다른 기법들이 이용될 수 있다. 예컨대, 표면 상에 위치된 하나 또는 그 초과의 대상물들은 대상물들에 대한 특징 검출을 이용하여 검출될 수 있다. 하나 또는 그 초과의 대상물들의 베이스(base)가 표면의 부분과 동일평면 상에 있는 시나리오들에서, 그 표면의 부분은 평탄 표면의 초기 부분을 표시할 수 있다.
[0072] 특정 실시예들에서, 초기화 대상물(예컨대, 도 2의 대상물(217))의 사용은 시스템이 해당하는 평면의 포지션을 신속하게 확립하는 방식을 제공한다. 초기화 대상물의 예는 도 2의 대상물(217)에 의해 예시된다. 초기화 대상물을 이용하여 평면에 관한 유용한 가정들이 이루어질 수 있다. 예컨대, 수평면들의 경우, 하나의 가정은 평면이 중력 방향에 수직한다는 것일 수 있다. 초기화 타겟이 장면의 부분인 경우, 중력 방향을 가정할 필요 없이, 카메라와 평면 사이의 직접적인 관계가 추론될 수 있음이 유의되어야 한다. 다른 한편, 초기화 타겟 없이 평면이 추정되는 경우, 장면에 다른 지배적인 평면들(예컨대, 벽들)이 존재할 수 있기 때문에, 중력 방향과 같은 일부 가정들이 이용될 수 있다.
[0073] 다른 가정은, 초기화 대상물이 표면 상에 놓여 있기 때문에, 초기화 대상물의 바닥 표면이 평면과 동일 평면 상에 있다는 것일 수 있다. 이들과 같은 가정들에 기초하여, 평면의 모델이 구성될 수 있고, 평면에 대한 카메라의 포지션이 확인될 수 있다.
[0074] 일단 AR 평면의 초기 부분에 대한 초기 모델이 구성되면, 초기화 대상물이 놓여 있는 실세계 대상물(예컨대, 테이블)에 대응하는 평탄 표면이 확인될 수 있다. 이러한 예에서, 테이블은 구성된 AR 평면과 동일 평면 상에 있음이 알려진다. 평면의 모델 내에서 테이블이 상이한 방향들로 얼마나 멀리 확장되는지, 다시 말해, 테이블의 가장자리들이 어디에 있는지는 알려지지 않았다. 본원에서 설명되는 기법들은 평탄 표면(예컨대, 테이블)의 추가의 부분들을 어떻게 연속적으로 식별하는지를 설명하고 그리고 하나 또는 그 초과의 시각적 이미지들을 이용하여 평탄 표면의 이러한 모델의 실제 범위를 결정하는 효율적인 방식을 제공한다.
[0075] 추가하여, 평탄 표면 및 평탄 표면의 최상부 상에 있는 대상물들의 더 양호한 추정치를 획득하기 위해, 물리적 장면의 하나 또는 그 초과의 포인트들(예컨대, 포인트 클라우드들)에 관한 높이 정보가 시스템에서 이용될 수 있다. 포인트 클라우드는 좌표계에서 표현될 수 있는 데이터 포인트들의 세트이다. 예컨대, 3차원 좌표계에서, 이러한 포인트들은 X, Y, 및 Z 좌표들에 의해 정의될 수 있다. 포인트 클라우드들은 종종, 대상물의 외부 표면을 표현하도록 의도된다. 일 실시예에서, 하나 또는 그 초과의 포인트 클라우드들은 SLAM(Simultaneous localization and mapping) 시스템의 출력으로서 생성될 수 있다. 대안적으로, 포인트 클라우드들은 깊이 센서(예컨대, 카메라의 부분일 수 있음)에 의해 생성될 수 있다.
[0076] 블록(406)에서, 적어도 하나의 획득된 이미지에 기초하여, 디바이스는 평탄 표면의 추가의 부분들을 식별할 수 있다. 일 실시예에서, 추가의 부분들 각각은, 추가의 부분과 연관된 적어도 하나의 시각적 또는 기하학적 속성과, 평탄 표면의 부분인 것으로 이미 식별된 하나 또는 그 초과의 부분들과 연관된 적어도 하나의 대응하는 시각적 속성 사이의 유사성을 결정하는 것에 기초하여 평탄 표면의 부분인 것으로 식별된다.
[0077] 본 발명의 일 실시예에 따르면, 이용되는 시각적 속성은 RGB(red-green-blue) 값들의 세트일 수 있으며, 이는 해당하는 부분이 실제로는 더 큰 평탄 표면(예컨대, 테이블)의 부분인지의 더 양호한 표시일 수 있다. RGB 값(예컨대, 테이블 최상부는 특히 자주색의 색상임)은 시각적 속성으로서, 말하자면, 평탄 표면의 실제 테두리와는 대조적으로, 단지 그림자들 또는 반사들과 같은 상이한 조명 상태들만을 표시할 수 있는 픽셀들의 밝기 값들보다 더 효과적일 수 있다.
[0078] 일 실시예에서, 평탄 표면이 존재하는 AR 평탄 영역을 확립함으로써, 평탄 표면의 추가의 부분들이 식별될 수 있다. AR 평탄 영역은 복수의 셀들로 분할될 수 있다. 각각의 셀은 평탄 표면의 잠재적 추가의 부분으로서 평가될 수 있다.
[0079] 일 실시예에서, 셀들은 반복적으로 평가될 수 있다. 예컨대, 평탄 표면의 추가의 부분으로서 식별되는 각각의 셀의 경우, 이웃 셀들이 식별된다. 일 실시예에서, 평탄 표면의 부분으로서 이미 식별되지 않은 각각의 이웃 셀의 경우, 그 셀은 평탄 표면의 잠재적 부분으로서 평가될 수 있다. 이웃 셀이 평탄 표면의 다른 셀들의 특징들과 유사한 특징들을 갖는 경우, 그 셀은 AR 평면에 추가될 수 있다. 이웃 셀이 유사한 특징들을 갖지 않는 경우, 셀은 AR 평면의 부분이 아닌 것으로 식별될 수 있다. 평탄 표면의 어떠한 더 이상의 새로운 추가의 부분들이 발견될 수 없을 때까지, 또는 임의의 다른 종결 조건에 도달할 때까지, 반복적 프로세스가 반복될 수 있다.
[0080] 평탄 표면의 부분으로서 이미 식별된 셀들과 비교하여, 후보 셀의 "유사성"을 평가하는 또는 후보 셀이 얼마나 "유사한지"를 평가하는 상이한 방식들이 존재할 수 있다. 예컨대, 평탄 표면의 부분으로서 이미 식별된 모든 셀들의 적어도 하나의 시각적 속성이 평균화되거나 또는 베이스라인(baseline)을 확립하기 위해 임의의 다른 방식으로 결합될 수 있다. 대안적으로, 베이스라인을 확립하기 위해 셀들 중 단지 일부의(예컨대, 단지 가까이 있는 셀들만의) 적어도 하나의 시각적 속성이 이용될 수 있다. 베이스라인에 대한 "유사성"의 측정치를 결정하기 위해 후보 셀의 적어도 하나의 시각적 속성이 평가될 수 있다. 유사성의 측정치가 미리-결정된 임계치를 초과하는 경우, 후보 셀은 AR 평면의 부분인 것으로 식별될 수 있다. 그렇지 않으면, 후보 셀은 AR 평면의 부분이 아닌 것으로 식별될 수 있다.
[0081] 일 실시예에서, 컴퓨팅 디바이스(102)는 복수의 이미지들을 획득하여, 그 이미지들의 정보를 이용함으로써 평탄 표현을 개선할 수 있다. 예컨대, 컴퓨팅 디바이스(102)는 하나의 위치로부터 다른 위치로 이동하여, 상이한 각도들에서의 장면의 하나 또는 그 초과의 이미지들을 캡쳐할 수 있다. 컴퓨팅 디바이스(102)는 더 새로운 이미지들로부터의 정보를 이용함으로써 시간에 걸쳐 평탄 표현을 동적으로 업데이트/개선할 수 있다. 일 실시예에서, 사용자가 영역에서 이동함에 따라 장면의 평탄 표현이 실시간으로 생성될 수 있다.
[0082] 일 실시예에서, 제안된 방법은, 도 20에서 논의되는 카메라(2021)와 유사한 카메라를 이용하여 찍은 이미지들을 프로세싱하기 위해 이용될 수 있다. 다른 실시예에서, 이미지들은 깊이 카메라들(예컨대, 깊이 센서를 포함하는 카메라들)을 이용하여 찍혀서, 평탄 표현을 생성하도록 프로세싱될 수 있다. 일반적으로, 본원의 교시들로부터 벗어남이 없이, 제안된 시스템에서 임의의 종류의 카메라들 또는 이미지 센서가 이용될 수 있다.
[0083] 일반적으로, 깊이 센서는 각각의 픽셀이 카메라까지의 거리를 표현하는 범위 이미지를 제공한다. 픽셀들은 용이하게 3차원(3-D) 포인트 클라우드로 컨버팅될 수 있다. 3-D 공간의 더 큰 부분을 커버하기 위해 다수의 범위 이미지들이 결합될 수 있다. 평면의 배향 및 포지션에 관한 정보가 이용가능한 경우(경계들은 알려지지 않을 수 있음을 유의함), 평면에 로케이팅된 3-D 포인트들이 식별될 수 있다. 3-D 포인트들이 평면 상으로 투사되고, 그에 따라 평면의 2-D 공간에서만 추가로 조사될 수 있다.
[0084] 도 5a 및 도 5b를 참조하면, 평면 내측의 포인트들을 이용하여 평면의 외측 경계들을 발견하기 위해, (도 5a에 예시된 바와 같은) 볼록 껍질이 계산될 수 있다. 수학적으로, 유클리드 평면 또는 유클리드 공간의 포인트들의 세트(X)의 볼록 껍질 또는 볼록 엔벨로프(convex envelope)는 X를 포함하는 최소 볼록 세트(convex set)이다. 예컨대, X가 평면의 바운딩된 서브세트(bounded subset)인 경우, 볼록 껍질은 X 둘레에 스트레칭된 고무줄에 의해 형성된 형상과 같이 시각화될 수 있다. 일 실시예에서, 더 복잡한 형상을 구성하기 위해, 추가의 포인트들을 경계에 추가함으로써 볼록 껍질은 (도 5b에 의해 예시되는 바와 같이) 추가로 정교화될 수 있다. 예컨대, 도 5b에서, 포인트(502)를 형상에 추가함으로써 볼록 껍질이 추가로 정교화된다. 큰 빈 공간이 경계에 의해 인클로징되는 영역들에서 경계는 반복적으로 정교화될 수 있다.
[0085] 일 실시예에서, 평면 경계들에 대한 인근의 3-D 포인트들에 기초하여, 경계 주변의 표면이 평면 아래에 있는지 또는 평면 위에 있는지를 확인하는 것이 가능하다. 경계들은 그에 따라 상방향 또는 하방향으로 라벨링될 수 있다.
[0086] 도 6은 AR 평면을 구성하기 위해 이용될 수 있는 시스템(600)의 실시예를 예시한다. 일부 실시예들에서, 증강 현실 시스템에서 유도되는 내비게이셔널 메시 또는 "내브메시"가 또한 AR 평면으로 지칭될 수 있다. 일부 예들에서, 증강 현실 시스템을 설명하는 동안 AR 평면은 또한 내비게이셔널 메시 또는 내브메시로 지칭될 수 있다. 시스템(600)은 도 20의 시스템 또는 일부 다른 컴퓨터화된 시스템을 이용하여 구현될 수 있다. 시스템(600)의 각각의 모듈은 소프트웨어, 펌웨어, 및/또는 하드웨어를 이용하여 구현될 수 있다. 예컨대, 하나 또는 그 초과의 범용 프로세서들(2010) 및/또는 특화된 프로세서들이 시스템(600)의 모듈들 중 일부 또는 모두의 기능들을 수행할 수 있다.
[0087] SLAM 프로세스 엔진(610)은, 카메라에 의해 캡쳐된 물리적 환경의 이미지들에 존재하는 물리적 대상물들에 기초하여 기준 포인트들의 포인트 클라우드를 생성하기 위해 SLAM 프로세스를 이용하도록 구성될 수 있다. SLAM 프로세스 엔진(610)은 이미지의 캡쳐를 야기할 수 있고, 그 이미지 내의 다양한 기준 포인트들을 식별할 수 있다. 제 2 이미지는 SLAM 프로세스 엔진(610)에 의해 캡쳐되도록 야기될 수 있다. 제 2 이미지는 제 1 이미지와 상이한 위치로부터 캡쳐될 수 있다. 제 1 및 제 2 이미지를 획득하는 시간에서의 카메라의 상대적인 포지셔닝 및 2개의 이미지들 간에 공통인 기준 포인트를 결정함으로써, 제 1 이미지와 제 2 이미지의 캡쳐 사이의 방향 및/또는 거리가 SLAM 프로세스 엔진(610)에 의해 결정될 수 있다. 예컨대, 제 1 이미지 내의 동일한 기준 포인트들 중 적어도 일부가 제 2 이미지 내에서 식별될 수 있다. 삼각측량-기반 프로세스를 이용시, SLAM 프로세스 엔진(610)은 제 1 및 제 2 이미지들 내에 존재하는 대응하는 기준 포인트들 중 적어도 일부의 깊이를 결정할 수 있다. 다수의 추가의 이미지들이 캡쳐되어, 기준 포인트들이 식별되고, 그리고 깊이 값들이 물리적 환경에 대해 계산될 수 있다. 그러므로, SLAM 프로세스는 2개보다 많은 수의 이미지들의 사용을 포함할 수 있고, 그리고 물리적 환경 전체에 걸쳐 다양한 기준 포인트들에 대한 3차원 포지션들을 계산 및 정교화할 수 있다. SLAM 프로세스 엔진(610)은, 3차원 좌표들을 각각 가진(즉, 깊이 값을 포함하는) 다수의 포인트들을 포함하는 포인트 클라우드를 출력할 수 있다. 이러한 포인트들 각각은 카메라(또는 다른 형태의 이미지 캡쳐 디바이스)를 이용하여 캡쳐된 적어도 2개의 이미지들 각각에 존재하는 기준 포인트에 대응할 수 있다. SLAM 프로세스 엔진(610)에 대한 대안으로서, 일부 다른 형태의 3차원 맵핑 프로세스가 포인트 클라우드를 생성하기 위해 이용될 수 있다. 예컨대, 깊이 정보를 포함하는 이미지들, 예컨대, 비행시간 분석 또는 입체식 카메라 시스템을 이용하여 캡쳐된 이미지들은 물리적 환경에 대한 포인트 클라우드를 생성하기 위해 이용될 수 있다.
[0088] 도 7은 다양한 기준 포인트들을 포인트 클라우드의 부분으로서 식별하는 캡쳐된 이미지의 예를 표현한다. SLAM 프로세스 엔진(610)은 다양한 기준 포인트들을 식별할 수 있다. 도 7에 예시된 각각의 포인트는, 깊이 값이 적어도 2개의 분석된 이미지들에 기초하여 SLAM 프로세스 엔진(610)에 의해 계산된 기준 포인트를 표현할 수 있다. 예컨대, 기준 포인트(710-1)는 테이블 상의 플레이스매트(placemat)의 가장자리에 대응하고, 기준 포인트(710-2)는 화장지 박스의 가장자리에 대응한다. 이러한 포인트들 각각은 깊이 값을 가질 수 있다.
[0089] SLAM 프로세스 엔진(610)이 (도 7의 포인트 클라우드와 같은) 포인트 클라우드를 결정하기 위해 이용될 수 있지만, 다른 어레인지먼트들이 이용될 수 있다. 예컨대, 스테레오 카메라(stereo camera) 시스템 또는 비행시간 카메라 시스템과 같이 깊이를 측정할 수 있는 카메라가 SLAM 프로세스 엔진(610) 대신에 (또는 SLAM 프로세스 엔진(610)을 증강시키기 위해) 이용될 수 있다. SLAM 프로세스 엔진(610)은, 종래의 2차원 카메라 및 움직임-감지 하드웨어, 이를테면, 자이로스코프 및/또는 가속도계를 포함하는, 컴퓨팅 디바이스(102)의 종래의 하드웨어 외에 추가의 하드웨어를 필요로 함이 없이 깊이 정보를 결정하는 것을 허용할 수 있다. 일 예에서, 자이로스코프 및/또는 가속도계는 추가로, 물리적 장면(또는 장면의 대상물)에 대한 카메라의 거리/배향의 변화를 결정하는 것을 도울 수 있다.
[0090] 도 6의 시스템(600)을 다시 참조하면, SLAM 프로세스 엔진(610)에 의해 출력된 포인트 클라우드는 표면 맵핑 엔진(620)에 의해 기준 평면을 맵핑하기 위해 이용되는 거의 동일한 평면 상의 기준 포인트들 중 일부 갯수를 포함할 수 있다. 물리적 환경에는, 테이블 최상부, 바닥, 지면 등과 같은 적어도 하나의 표면이 존재할 수 있다. 이와 같이, 일 예에서, 가장 많은 수의 동일 평면 상의 기준 포인트들을 가진 평면이 기준 평면으로서 이용될 수 있다. 이와 같이, 기준 평면 상에 위치된 AR 대상물들은 기준 평면의 역할을 하는 물리적 표면의 최상부 상에 놓이는 것처럼 보이도록 의도된다. 도 8을 참조하면, 기준 평면의 역할을 하는 평면 상에 있는 것으로 결정된 외측 기준 포인트들은 기준 평면의 외측 한계들을 형성하기 위해 연결된다. 기준 평면은 컬러에 기초하여 표면을 맵핑하는 것을 포함하는 추가의 프로세스들을 통해 표면의 추가의 맵핑에 의해 확장될 수 있다.
[0091] 일부 실시예들에서, 기준 평면은 표면 맵핑 엔진(620)에 대한 입력으로서 사용자에 의해 선택된다. 예컨대, 캡쳐된 이미지에서, 사용자는 기준 평면으로서 사용하기 위해 표면을 선택할 수 있다. 다르게는, 기준 평면은 표면 맵핑 엔진(620)에 의해 평면을 가능한 한 많은 기준 포인트들에 피팅(fitting)함으로써 발견될 수 있다. 도 8은 동일 평면 상에 있는 것으로 결정된 기준 포인트들에 피팅된 기준 평면의 시각적 예를 예시한다. 기준 평면에 피팅된 기준 포인트들은 802로 표시된다. 기준 포인트들(802) 사이의 라인들(804)은 기준 평면의 외측 범위를 나타낼 수 있다.
[0092] 표면 맵핑 엔진(620)에 의해 생성된 기준 평면에 대해, 다수의 셀들이 생성될 수 있다. 각각의 셀은 전적으로 기준 평면 내에 있는 다각형일 수 있다. 일부 실시예들에서, 생성된 다각형들은 3면 또는 4면일 수 있고, 모두가 기준 평면과 동일 평면 상에 있을 수 있다. 다각형들의 꼭짓점들은 기준 평면의 범위를 정의하는 기준 포인트들일 수 있다.
[0093] 도 6의 시스템(600)을 다시 참조하면, SLAM 프로세스 엔진(610)에 의해 출력된 포인트 클라우드는 포인트 클라우드 클러스터화 엔진(630)에 의해 분석될 수 있다. 포인트 클라우드 클러스터화 엔진(630)은 기준 포인트들이 어느 대상물의 부분인 것으로 결정되는지에 따라 기준 포인트들을 클러스터화할 수 있다. 기준 평면의 부분인 것으로 결정된 기준 포인트들은 포인트 클라우드 클러스터화 엔진(630)에 의한 분석으로부터 배제될 수 있다. 이를테면, 위치, 깊이, 식별된 경계들 및/또는 컬러 속성들에 기초하여, 동일한 대상물에 속하는 것으로 결정된 기준 포인트들은 함께 클러스터화될 수 있다. 도 9를 참조하면, 포인트 클라우드의, 영어 알파벳(a, b, c, d, e f)으로부터의 상이한 문자들에 의해 표시되는 기준 포인트들은 함께 클러스터화된 포인트들을 표현한다. 문자 'a' 기준 포인트들은 화장지 박스에 대응하고; 문자 'b' 기준 포인트들은 크기가 큰 컵에 대응하고; 문자 'c' 기준 포인트들은 엮어서 만든 그릇(woven vessel)에 대응하고; 문자 'd' 기준 포인트들은 책들에 대응하고; 녹색 기준 포인트들은 크기가 작은 컵에 대응하고; 문자 'e' 기준 포인트들은 양초에 대응하고; 그리고 표시되지 않은 기준 포인트들은 테이블의 표면에 대응한다.
[0094] 대상물 모델링 엔진(640)은 포인트 클라우드 클러스터화 엔진(630)에 의해 클러스터화된 기준 포인트들에 기초하여 식별된 물리적 대상물들을 모델링하도록 기능할 수 있다. 대상물 모델링 엔진(640)은 포인트 클라우드 클러스터화 엔진(630)에 의해 클러스터화된 기준 포인트들에 기초하여 식별된 대상물들을 모델링하기 위해 간략화된 기하학적 형상들을 이용할 수 있다. 예컨대, 도 10을 참조하면, 각각의 물리적 대상물을 모델링하기 위해 6면 3차원 기하학적 형상들이 이용될 수 있다. 대안적으로, 식별된 대상물들의 더 정확한 기하학적 모델들을 생성하기 위해 더 복잡한 기하학적 구조가 이용될 수 있다. 각각의 기하학적 모델은 위치와 연관될 수 있어서, 각각의 기하학적 모델은 표면 맵핑 엔진(620)에 의해 생성된 기준 평면과 관련하여 위치된다. 각각의 기하학적 모델은, AR 환경의 현실성을 유지하는 것을 돕기 위해, 가상 대상물들이 위치되지 않아야 하는 위치들을 결정하기 위해 이용될 수 있다. 클러스터화된 기준 포인트들에 추가하여, 연관된 기하학적 모델들을 정의 및/또는 정교화하기 위해 물리적 대상물들의 관측된 실루엣(silhouette)들로부터의 컬러 정보 및/또는 결정된 형상 정보가 이용될 수 있다.
[0095] AR 평면 구성 엔진(650)은 표면 맵핑 엔진(620)에 의해 결정된 기준 평면 및 대상물 모델링 엔진(640)에 의해 결정된 물리적 대상물 모델들을 이용하여 AR 평면(흑색 표면)을 생성할 수 있다. 도 11은 도 8의 기준 평면 및 도 10의 모델링된 대상물들에 기초하여 생성되는 AR 평면(1102에 의해 표시되는 흑색 솔리드 표면)의 실시예를 예시한다. AR 평면의 생성은, 모델링된 대상물들과 교차 또는 접촉하는 기준 평면의 부분들을 기준 평면으로부터 클리핑(또는 다르게는 제거)하는 것을 포함할 수 있다. 이는, AR 평면을 생성하기 위해 기준 평면의 범위를 감소시키고 그리고/또는 하나 또는 그 초과의 영역들을 기준 평면으로부터 제거하는 것을 포함할 수 있다. AR 평면의 생성은 모델링된 대상물들을 회피하기 위해 기준 평면의 셀들이 세분되는 것을 포함할 수 있다(예컨대, 셀의 하나 또는 그 초과의 서브디비전들은 AR 평면의 셀로서 유지될 수 있고, 그리고 셀의 하나 또는 그 초과의 서브디비전들은 모델링된 대상물과 접촉하거나 또는 오버랩하기 때문에 AR 평면으로부터 배제될 수 있음). 새로운 셀들의 꼭짓점들은 기준 평면의 부분으로서 이전에 식별된 포인트 클라우드로부터의 기준 포인트들에 대응할 수 있거나 또는 대응하지 않을 수 있다. AR 평면의 부분인 셀의 경우, 셀은 대상물 모델링 엔진(640)에 의해 식별된 임의의 오버랩하는 대상물과는 별개이도록 요구될 수 있다. 그러므로, AR 평면의 셀 내로부터, 모델링된 대상물을 교차함이 없이, 셀 상의 임의의 다른 포인트로의 직선이 그려질 수 있다. AR 평면 내의, 도 11에서 1104에 의해 표시되는 "홀들"은 모델링된 물리적 대상물들이 로케이팅되는 위치에 존재한다. AR 평면은, 모델링된 물리적 대상물들에 대응하는 이러한 영역들을 포함하지 않는다.
[0096] 가상 대상물이 AR 평면 셀 상에 로케이팅될 때마다, 가상 대상물은 물리적 환경에서 모델링된 임의의 고정 대상물과 충돌하지 않을 것임이 알려졌다. 이와 같이, 가상 대상물은 임의의 물리적 대상물들과의 충돌 없이 AR 평면의 셀들 상에 자유롭게 포지셔닝되거나 또는 그 셀들 사이에서 이동한다.
[0097] 도 6을 다시 참조하면, AR 평면 구현 애플리케이션(660)은 AR 평면 구성 엔진(650)에 의해 생성된 AR 평면을 이용하는 애플리케이션을 표현할 수 있다. AR 평면 구현 애플리케이션(660)은 물리적 환경의 캡쳐된 이미지들 상에 중첩될 수 있는 AR 평면의 셀들의 좌표들을 수신할 수 있다. 그러므로, AR 평면 구현 애플리케이션(660)에 의해 수신되는 AR 평면은 실세계 물리적 환경에 기초하며, 그 위에서, AR 평면 구현 애플리케이션(660)이, 환경에 존재하는 물리적 대상물들과의 충돌 없이 하나 또는 그 초과의 가상 대상물들을 포지셔닝하거나 또는 이동시킬 것이다. 테이블 최상부와 같은 물리적 환경에 존재하는 표면 상에 위치되는 것으로 보이도록, AR 평면이 포지셔닝될 수 있다. 예컨대, AR 평면 구현 애플리케이션(660)은 AR 평면 구성 엔진(650)에 의해 결정된 AR 평면 상에서의 3차원 가상 대상물들의 조작을 허용할 수 있다. AR 평면 구현 애플리케이션(660)은, 이를테면, 가상 대상물이 모델링된 물리적 대상물과의 충돌 없이 AR 평면의 셀들 사이를 어떻게 이동해야 하는지를 결정하기 위한 경로 계획을 위해 AR 평면을 이용할 수 있다. AR 평면 구현 애플리케이션(660)은, 가상 대상물들이 AR 평면의 셀 내에 유지되는 경우, 가상 대상물들이 모델링된 물리적 대상물과의 충돌 없이 임의의 방향으로 직선을 이루어 이동할 수 있도록 구성될 수 있다. AR 평면의 가장자리들은 가상 대상물들이 위치되거나 또는 이동할 수 있는 한계의 역할을 할 수 있다.
[0098] AR 평면의 셀의 좌표들을 수신하는 것에 추가하여, AR 평면 구현 애플리케이션(660)은 대상물들에 대한 모델링 정보를 수신할 수 있다. 이러한 모델링 정보는 대상물 모델링 엔진(640)에 의해 결정된 대상물들에 대한 기하학적 모델들일 수 있다. 이러한 모델링 정보는 대상물들에 대한 높이 정보를 포함할 수 있다. 가상 대상물이 가상 대상물과 충돌하지 않음을 AR 평면이 보장할 수 있는 한, AR 평면 구현 애플리케이션(660)에 의해 제공된 모델링 정보는, 가상 대상물들이 AR 평면 상에 있을 때 모델링된 물리적 대상물 뒤에 숨겨지도록 허용할 수 있다. 추가로, 가상 정보(예컨대, 그래픽들)는 AR 환경의 물리적 대상물들의 외관을 증강시키거나 또는 변화시키기 위해 모델링된 대상물들 중 하나 또는 그 초과의 모델링된 대상물들을 덮을 수 있다. 예컨대, 작은 컵은 AR 환경에서 집처럼 보이게 만들어질 수 있다. 추가로 또는 대안적으로, 일부 실시예들에서, AR 평면의 가장자리들은 "벽 가장자리" 또는 "절벽 가장자리"와 같은 속성들을 할당받는데, 이는 AR 평면 구현 애플리케이션(660)에 의한 상이한 핸들링에 의해 초래될 수 있다. 벽 가장자리는, 가상 대상물이 더 멀리 이동하는 것을 막는 장애물이 존재하는 AR 평면의 가장자리(예컨대, 벽, 큰 대상물)를 표현할 수 있고; 절벽 가장자리는 가상 대상물이 떨어질 수 있는 가장자리가 존재하는 AR 평면의 가장자리(예컨대, 테이블 가장자리)를 표현할 수 있다. 도 12는 AR 평면 구성 엔진(650)에 의해 생성된 AR 평면과 함께, 대상물 모델링 엔진(640)에 의해 생성되어 로케이팅된 물리적 대상물들의 기하학적 모델들(1202)을 예시한다. AR 평면 및 물리적 대상물들의 기하학적 모델들에 대한 정보는 AR 구현 애플리케이션(660)에 출력될 수 있다.
[0099] 도 13은 AR 평면을 생성하기 위한 방법(1300)의 실시예를 예시한다. 방법(1300)은 도 20의 컴퓨팅 디바이스에 의해 또는 물리적 환경의 분석을 제공하도록 구성된 일부 다른 시스템에 의해 수행될 수 있다.
[00100] 블록(1310)에서, 물리적 환경이 분석될 수 있다. 물리적 환경은 하나 또는 그 초과의 물리적 대상물들, 및 가상 대상물들이 위치되도록 요구되는 적어도 하나의 표면을 포함할 수 있다. 블록(1310)은 물리적 환경의 하나 또는 그 초과의 이미지들을 캡쳐 및 분석하는 것을 포함할 수 있다. 블록(1310)은 표면이 존재하는 또는 하나 또는 그 초과의 물리적 대상물들이 존재하는 다양한 기준 포인트들에 관한 깊이 정보를 계산하는 것을 포함할 수 있다. 블록(1310)에서 물리적 환경을 분석하는 것은 도 6의 시스템(600)의 엔진들(610, 620, 630, 640, 및 650)이 수행되는 것과 관련하여 논의된 프로세스들 중 하나 또는 그 초과를 포함할 수 있다.
[00101] 블록(1320)에서, AR 평면은 블록(1310)의 분석에 기초하여 생성될 수 있다. AR 평면은 다수의 셀들을 포함할 수 있다. 각각의 셀은 3면 또는 4면을 가질 수 있다. AR 평면의 셀 상에 있는 경우, 가상 대상물이 AR 환경에 존재하는 물리적 대상물들 중 임의의 물리적 대상물과 충돌하지 않음이 알려졌다. 특정 셀 상에 유지되는 경우, 가상 대상물은 AR 평면의 평면을 따라 임의의 방향으로 직선을 이루어 이동하고 그리고 AR 환경의 물리적 대상물들 중 임의의 물리적 대상물과 충돌하지 않을 수 있는데, 그 이유는 이전에 설명된 바와 같이, AR 평면이 물리적 대상물들에 대한 홀들을 포함하기 때문이다. 블록(1320)에서 생성된 AR 평면은 AR 평면의 다양한 셀들의 좌표들의 형태로 출력될 수 있다. AR 평면은 물리적 환경의 이미지의 기준 포인트와 링크될 수 있다.
[00102] 도 14는 AR 평면을 생성 및 이용하기 위한 방법(1400)의 실시예를 예시한다. 방법(1400)은 도 20의 시스템 및/또는 컴퓨팅 디바이스 또는 물리적 환경의 분석을 제공하도록 구성된 일부 다른 시스템에 의해 수행될 수 있다. 방법(1400)의 단계들을 수행하기 위한 수단은 도 20의 컴퓨팅 디바이스의 컴포넌트들의 하나 또는 그 초과의 예들을 포함한다. 방법(1400)은 도 13의 방법(1300)의 더 상세한 실시예를 나타낼 수 있다.
[00103] 블록(1410)에서, 물리적 환경의 다수의 이미지들이 캡쳐될 수 있다. 하나 또는 그 초과의 이미지들은 카메라(2021)(도 20)를 이용하여 캡쳐될 수 있다. 물리적 환경 내에서, 가상 대상물들이 위치될 하나 또는 그 초과의 표면들이 존재할 수 있다. 물리적 환경은 또한, 하나 또는 그 초과의 물리적 대상물들을 포함할 수 있고, 그 하나 또는 그 초과의 물리적 대상물들은 AR 환경에서 표현될 때, 가상 대상물과 충돌하도록 허용되지 않는다. 다수의 이미지들을 캡쳐하기 위해 이용되는 카메라의 움직임의 양은 블록(1410)의 부분으로 측정될 수 있다.
[00104] 블록(1420)에서, SLAM 프로세스가 수행될 수 있다. SLAM 프로세스는 카메라에 의해 캡쳐되는 물리적 환경의 이미지들 중 하나 또는 그 초과의 이미지들에 존재하는 물리적 대상물들에 기초하여 기준 포인트들의 포인트 클라우드를 생성할 수 있다. SLAM 프로세스는 각각의 이미지 내의 다양한 기준 포인트들을 식별할 수 있다. 동일한 기준 포인트들 중 적어도 일부는 다수의 캡쳐된 이미지들 중 적어도 2개의 이미지들에서 식별될 수 있다. 삼각측량-기반 프로세스를 이용시, SLAM 프로세스는 이미지들 내에 존재하는 기준 포인트들 중 적어도 일부의 기준 포인트들의 깊이를 결정할 수 있다. SLAM 프로세스는, (깊이 값을 포함하는) 3차원 좌표들을 각각 갖는 다수의 포인트들을 포함하는 포인트 클라우드를 초래할 수 있다. 이러한 포인트들 각각은 (카메라 또는 다른 형태의 이미지 캡쳐 디바이스로부터의) 다수의 캡쳐된 이미지들 중 적어도 2개의 이미지들에 존재하는 기준 포인트에 대응할 수 있다. 일부 실시예들에서, 물리적 환경을 표현하는 포인트 클라우드는 본 발명의 범위로부터 벗어남이 없이, SLAM 프로세스 이외의 모델링 프로세스, 이를테면, 다른 형태들의 3차원 맵핑 프로세스들을 이용하여 생성될 수 있다.
[00105] 블록(1430)에서, 포인트 클라우드로부터의 기준 포인트들을 이용하여 기준 평면이 결정될 수 있다. 블록(1420)에 의해 출력된 포인트 클라우드는 기준 평면을 생성하기 위해 이용되는 적어도 일부 거의 동일한 평면 상의 기준 포인트들을 가질 수 있다. 물리적 장면에서, 테이블 최상부, 바닥, 지면 등과 같은 적어도 하나의 표면이 존재함이 가정될 수 있다. 이와 같이, (미리 정의된 마진 또는 오차 내에서) 평면이 피팅될 수 있는 기준 포인트들의 가장 큰 클러스터가 기준 평면을 정의하기 위해 이용될 수 있다. 기준 평면은 AR 평면의 표면의 역할을 하도록 자동으로 선택될 수 있다. 이와 같이, 기준 평면 상에 위치된 AR 대상물들은, 기준 평면의 역할을 하는 물리적 표면의 최상부 상에 놓이는 것처럼 보이도록 의도된다. 기준 평면은, 컬러에 기초하여 표면을 맵핑하는 것을 포함한 추가의 프로세스들을 통해 표면의 추가의 맵핑에 의해 확장될 수 있다. 일부 실시예들에서, 기준 평면을 계산하기 보다는, 기준 평면은 사용자 입력을 통해 사용자에 의해 선택될 수 있다. 예컨대, 캡쳐된 이미지에서, 사용자는, 사용자 인터페이스(도시되지 않음)를 통해 입력을 제공함으로써, 이를테면, 모바일 디바이스의 스크린 상에서 터치패드 또는 스타일러스를 이용하여 표면의 부분들을 강조(highlighting)함으로써, 기준 평면으로서 이용될 표면을 선택할 수 있다. 일부 예들에서, 기준 평면을 식별하기 위해 이용되는 방법과 무관하게, 생성된 기준 평면은 기준 평면의 외측에 놓인 꼭짓점들에 기초하는 다수의 셀들을 포함할 수 있다. 기준 평면의 각각의 셀은 전적으로 기준 평면 내에 있는 다각형일 수 있다. 일부 실시예들에서, 생성된 다각형들은 3면 또는 4면일 수 있고, 모두가 기준 평면과 동일 평면 상에 있을 수 있다.
[00106] 단계(1440)에서, 기준 평면의 부분인 것으로 결정되지 않은 기준 포인트들은 하나 또는 그 초과의 클러스터들로 그룹화될 수 있다. 기준 포인트들은, 기준 포인트들이 어떤 대상물의 부분인 것으로 결정되는지에 따라 클러스터화될 수 있다. 기준 평면의 부분이 아닌 기준 포인트들의 클러스터화는 다양한 상이한 기준들을 이용하여, 이를테면, 기준 포인트들과 연관된 컬러, 포인트들의 공간 근접성에 기초하여 수행될 수 있다. 이를테면, 위치, 깊이, 식별된 경계들 및/또는 컬러 속성들에 기초하여, 동일한 대상물에 속하는 것으로 결정된 기준 포인트들은 함께 클러스터화될 수 있다. 이와 같이, 클러스터들의 수는 이미징되는 물리적 환경의 물리적 대상물들의 수에 의존할 수 있다.
[00107] 블록(1450)에서, 물리적 환경의 물리적 대상물들은 블록(1440)에서 식별된 클러스터들에 기초하여 모델링될 수 있다. 클러스터화된 기준 포인트들에 기초하여 식별된 대상물들을 모델링하기 위해 간략화된 기하학적 모델들이 이용될 수 있다. 식별된 물리적 대상물들의 더 정확한 기하학적 모델들을 생성하기 위해 더 복잡한 기하학적 구조가 이용될 수 있다. 각각의 기하학적 모델이 기준 평면에 관하여 위치되도록, 각각의 기하학적 모델은 위치와 연관될 수 있다. 각각의 기하학적 모델은, AR 환경의 사실성을 유지하는 것을 돕기 위해, 가상 대상물들이 위치되지 않아야 하는 위치들을 결정하기 위해 이용될 수 있다.
[00108] 블록(1460)에서, AR 평면은 블록(1430)으로부터의 기준 평면 및 블록(1450)으로부터의 물리적 대상물들의 모델들을 이용하여 생성될 수 있다. AR 평면의 생성은, 모델링된 물리적 대상물들과 교차하는 기준 평면의 부분들을 기준 평면으로부터 클리핑(또는 다르게는 제거)하는 것을 포함할 수 있다. 이는, AR 평면을 생성하기 위해 기준 평면의 범위를 감소시키고 그리고/또는 기준 평면에 하나 또는 그 초과의 홀들을 생성하는 것을 포함할 수 있다. AR 평면의 부분인 셀의 경우, 그 셀은 임의의 오버랩하는 모델링된 물리적 대상물로부터 완전히 분리되도록 요구될 수 있다. 그러므로, AR 평면의 셀 내로부터, 모델링된 대상물을 교차함이 없이, 동일한 셀 상의 임의의 다른 포인트로의 직선이 그려질 수 있다. AR 평면 내의 "홀들"은 모델링된 물리적 대상물들이 로케이팅될 것으로 결정된 위치에 존재할 수 있다.
[00109] 블록(1470)에서, AR 평면은 선택적으로 애플리케이션에 제공되어, AR 환경의 가상 대상물들을 조작하기 위해 애플리케이션에 의해 이용될 수 있다. AR 평면은, AR 평면의 셀들을 정의하는 좌표들의 형태로 출력될 수 있다. 그러므로, 출력되는 AR 평면은 실세계 물리적 환경에 기초할 수 있으며, 그 위에서, 하나 또는 그 초과의 가상 대상물들은 물리적 환경의 물리적 대상물들과 충돌하는 모습을 보임이 없이, AR 환경에 포지셔닝되거나 또는 이동된다. AR 평면은, AR 평면이 테이블 최상부와 같은 물리적 환경에 존재하는 표면 상에 위치되는 것으로 보이도록 포지셔닝될 수 있다. AR 평면은, 이를테면, 가상 대상물이 AR 환경에 모델링된 물리적 대상물과의 충돌 없이 AR 평면의 셀들 사이를 어떻게 이동해야 하는지를 결정하기 위한 경로 계획을 위해 애플리케이션에 의해 이용될 수 있다. 가상 대상물들은, AR 평면의 셀 내에 머무르는 경우, 모델링된 물리적 대상물과 충돌함이 없이 임의의 방향으로 직선을 이루어 이동될 수 있다. AR 평면의 가장자리들은 가상 대상물들이 위치되거나 이동할 수 있는 한계의 역할을 할 수 있다. 그러므로, 애플리케이션 내에서, 가상 대상물들이, AR 환경이 중첩되는 물리적 환경의 물리적 대상물들과 충돌하는 것으로 보이지 않도록, AR 평면은 AR 환경 내에서의 가상 대상물들의 움직임을 제한하기 위해 이용될 수 있다.
[00110] AR 평면이 유용할 수 있는 경우의 예는, 물리적 환경 상에 중첩된 AR 환경에서 게임이 플레이되는 것이다. AR 평면은, 논-플레이어 캐릭터(non-player character)들(가상 대상물들일 수 있음)이 AR 환경의 물리적 대상물들과 충돌하는 것으로 보이지 않으면서 이동할 수 있는 위치를 결정하기 위해 이용될 수 있다. 예컨대, 논-플레이어 캐릭터들은 AR 평면 상에 머무르면서(그리고, 따라서 물리적 대상물들과의 충돌 모습을 회피하면서) 플레이어의 캐릭터를 향해 이동할 수 있다. 게임이, 제공된 AR 평면을, 논-플레이어 캐릭터들이 AR 평면 상에 머무르는 것으로 해석할 수 있는 한, 게임은 AR 환경에 존재하는 물리적 대상물들을 회피하는 모습을 계속 보이는 동안에는 실제 물리적 환경을 해석할 필요가 없을 수 있다. 추가의 예로서, AR 평면은 또한, 3차원 움직임을 허용하는 애플리케이션에서 사용자에 의해 제어되는 캐릭터와 같은 플레이어 움직임의 포지션 및 위치를 제한하기 위해 이용될 수 있다. 애플리케이션 내의 가상 대상물들은 유사하게, AR 평면에 의한 움직임으로 제한될 수 있다. 가상 대상물들, 플레이어의 캐릭터, 및 논-플레이어 캐릭터들은 AR 평면 상에 유지되는 바운딩 박스(bounding box)와 함께 단일 3차원 바운딩 박스(또는 더 상세한 다각형 메시)에 의해 표현될 수 있다.
[00111] 게임들 외에도, AR 평면이 AR 환경에서 유용할 수 있는 다른 상황들이 존재한다. 예컨대, 대상물이 특정 물리적 환경에서 어떻게 보이는지를 모델링하는 것, 이를테면, 사용자가 구입하려고 생각하는 커피 머신(가상 대상물)이 사용자의 주방에서 어떻게 보이는지 또는 새로운 자동차가 사용자의 차고에서 어떻게 보이는지를 모델링하는 것이 그 상황이다. AR 평면은 AR 환경의 물리적 대상물들을 회피하면서 가상 대상물을 조작하는데 이용될 수 있다. 그러므로, 커피 머신은 사용자의 주방 조리대 상의 분쇄기(blender)(물리적 대상물)와 충돌되게 위치되도록 허용되는 것이 아니라, 생성된 AR 평면에 따른 움직임을 위해 이용가능한 사용자의 주방 조리대 상의 빈 곳에 위치될 수 있다.
[00112] 애플리케이션에 출력되는 AR 평면의 셀들의 좌표들을 수신하는 것에 추가하여, 하나 또는 그 초과의 물리적 대상물들에 대한 모델링 정보가 출력될 수 있다. 이러한 모델링 정보는 블록(1450)에서 결정된 대상물들에 대한 기하학적 모델들일 수 있다. 이러한 모델링 정보는 대상물들에 대한 높이 정보를 포함할 수 있다. 가상 대상물이 가상 대상물과 충돌하지 않음을 AR 평면이 보장할 수 있는 한, 모델링 정보는, 가상 대상물들이 AR 환경의 AR 평면 상에 존재할 때 모델링된 물리적 대상물 뒤에 숨겨지도록(또는 다르게는 디스플레이를 위해 수정되도록) 허용할 수 있다. 추가로, 가상 정보(예컨대, 그래픽들)는 AR 환경의 물리적 대상물들의 외관을 증강시키거나 또는 변화시키기 위해 애플리케이션에 의해 모델링된 대상물들 중 하나 또는 그 초과의 모델링된 대상물들을 덮을 수 있다. 도 15a는, 평탄 표면(210)이 정면-평행으로 뷰잉될 때조차도 대응하는 대상물(215)에 의해 AR 평면(310)이 가려질 제 1 부분(1530)뿐만 아니라, 대상물(215) 및 평탄 표면(210)의 하나 또는 그 초과의 이미지들을 캡쳐할 때 컴퓨팅 디바이스(102)의 비스듬한 관점(angled perspective)으로 인해 AR 평면이 가려지는 영역을 포함하는 제 2 부분(1520-A)도 포함할 수 있는 도 3으로부터의 홀(1510-A)을 예시한다(예시된 예에서, 컴퓨팅 디바이스(102)(도시되지 않음)는 대상물의, 제 2 부분(1520-A)과 반대 측 상에 로케이팅될 것임). 그러므로, 제 2 부분(1520-A)은, 하나 또는 그 초과의 이미지들이 캡쳐될 때 컴퓨팅 디바이스(102)의 관점에서 대상물(215) 뒤의 평탄 표면(210)의 부분을 가리는, 대상물(215)의 투사 또는 "그림자"로 인한 것이다.
[00113] 도 15a에서, 홀(1510-A)은 대응하는 대상물(215)보다 더 크기 때문에, 홀(1510-A)의 치수들에 기초하여 생성되는 대상물(215)의 표현은 부정확할 것이다. 제 2 부분(1520-A)의 크기를 감소시키는 것은, 평탄 표면(210)의 더 정확한 표현뿐만 아니라, 대상물(215)의 더 정확한 표현도 제공할 수 있다.
[00114] 도 15b는 제 2 부분(1520-B)이 (선 및 화살표들에 의해 표시되는 바와 같이) 더 작은 크기로 감소되거나 또는 제거된, 수정된 홀(1510-B)(그늘진 영역)을 예시한다. 아래에서 더 상세하게 논의되는 바와 같이, 기법들은, 평탄 표면 그 자체에 관한 정보뿐만 아니라, 감소된 제 2 부분(1520-B)에 대한 치수들을 지능적으로 추정하기 위해 특징 포인트 정보(SLAM에 의해 제공될 수 있음)도 활용할 수 있다.
[00115] 도 16은 일 실시예에 따른 평탄 표면의 AR 평면(310)의 간략화된 정면-평행도이다. AR 평면(310)은 평탄 표면 상의 대상물들에 의해 야기된 가림(occlusion)들로 인해 홀들(320)을 갖는다. 홀들(320)은 카메라의 관점으로 인해 카메라 뷰잉 방향으로부터 떨어져 AR 평면(310) 상에 투사되는 부분들(1615)을 더 포함한다. 대상물들(215)을 둘러싸는 어두워진 윤곽들(1610)은 본원에서 제공되는 기법들로부터 달성될 수 있는 대상물들(215)의 형상들의 추정들을 표현한다.
[00116] 대상물들(215)에 관한 정보는 AR 평면(310)으로부터 뿐만 아니라 대상물들(215)의 특징 포인트들을 제공하는 SLAM 및/또는 다른 기법들로부터도 수집될 수 있다. 특징 포인트들(도 17의 대상물들(215)에서 각각 "x"로 표현됨)은 위치 정보가 수집되는 대상물들(215)의 외부 표면 상의 포인트들일 수 있다. 이러한 정보는 예컨대, 평탄 표면의 AR 평면(310) 위의 특징 포인트의 높이뿐만 아니라 홀(220)의 정면(또는 다른 가장자리)까지의 거리도 표시할 수 있다. 여기서, "홀의 정면"은, 대상물의 적어도 하나의 캡쳐된 이미지에서 가려지는, 카메라의 적어도 하나의 캡쳐된 이미지의 관점에서 평탄 표면의 가장 가까운 부분이다. 이러한 특징 포인트들은, AR 평면(310)에 관한 정보와 함께, 가시적이지 않은 대상물(215)의 부분의 기하학적 구조를 추정하기 위해 이용될 수 있다.
[00117] 도 17은 대상물의 부분의 기하학적 구조가 어떻게 추정될 수 있는지의 예를 예시하는, 평탄 표면의 조밀한 AR 평면(310)의 홀(320)의 간략화된 정면-평행도이다. 이러한 예에서, (카메라 뷰잉 방향의 관점에서) 대상물의 가장 가까운 특징 포인트(1710-1)가 결정되고, 가장 가까운 특징 포인트(1710-1)로부터 홀(320)의 정면까지의 거리(D)가 결정된다. 그 다음으로, 홀의 뒷면(back)은 가장 먼 특징 포인트(1710-2)로부터 평면(1720)까지 ― 동일한 거리(D)를 이용하여 ― 뒤로 확장되는 평면으로서 추정될 수 있다. 이러한 예에서, 도시된 바와 같이, 대상물(215)의 추정된 풋프린트는 홀(320)보다 훨씬 더 작은데, 그 이유는 가시적이지 않은 대상물(215)의 부분이, 홀(320)의 뒷면보다는 평면(1720)까지만 뒤로 확장되는 것으로 현재 추정되기 때문이다. 따라서, 대상물(215)의 보이지 않는 부분이 평면(1720)까지만 뒤로 확장되는 대상물(215)의 표현이 생성될 수 있다. 그 확장은 특징 포인트들(1710-1)까지의 정면의 거리 메트릭들에 기초하여 굴곡/스플라인-기반 뒷-표면 표현(curved/spline-based back-surface representation)을 추정하기 위해서일 것이다.
[00118] 원하는 기능에 따라, 실시예들은 모바일 디바이스에 의해 캡쳐되는 하나 또는 그 초과의 이미지들에서 가시적이지 않은 대상물(215)의 부분의 기하학적 구조를 추정하기 위해 추가의 또는 대안적인 알고리즘들을 이용할 수 있다. 예컨대, 추정된 기하학적 구조는 평탄형일 필요가 있는 것이 아니라, 대신에 굴곡형이거나 또는 주어진 다른 특징들일 수 있다. 일 예에서, 정면-평행도에서 대상물의 특징 포인트들의 2차원 중간포인트는 (예컨대, 평탄 표면의 평면의 x 및 y 좌표들을 이용하여) 계산될 수 있고, 특징 포인트들은 (예컨대, 중간포인트를 포함하는 카메라 뷰잉 방향과 평행한 평면 상에 반사된 특징 포인트들의 미러 이미지를 제공함으로써 또는 중간포인트 둘레를 180 회전시킴으로써) 중간포인트 둘레에 "플립핑(flipped)"될 수 있고, 이에 의해, 반사된 대칭적 대상물 표현이 생성된다. 다른 예에서, 중간포인트가 계산될 수 있고, 대상물의 뒷면은 홀의 정면까지의 중간포인트의 거리에 의해 주어진 반경을 가진 굴곡 표면으로서 추정될 수 있다. 그 다음으로, 추정된 뒷 표면은 형상이 원통형이다. 다른 알고리즘들은 평탄 표면 위의 높이의 함수로서 뒷 표면의 변동을 포함할 수 있다. 추정이, 홀 그 자체보다 더 클 수 있는 풋프린트를 제공하는 경우(즉, 이는 평탄 표면의 가시적 부분을 가릴 것임), 이는 홀의 경계들에 의해 절단될 수 있다.
[00119] 평면의 정면-평행도의 홀의 형상에 기초하여, 평면 표면에 수직하는 방향으로 대상물을 돌출시킴으로써 대상물 표현이 형성될 수 있다. 돌출 높이는 다음을 포함하는 몇몇 정보 조각들에 의해 경계가 지어질 수 있다: (1) 이미지의 대상물의 실루엣. 대상물 실루엣이 카메라 각도로 인해 평면으로 쓰러지는 이미지들이 존재하는 경우, 이러한 실루엣은 대상물의 높이에 대한 최대 경계를 제공할 수 있다. 다시 말해, 대상물의 타당한 표현은, 다수의 뷰들에서 평면에 대해 교정된 이미지에서 대상물에 대한 실루엣을 관찰함으로써 추론될 수 있다. 일부 예들에서, 이는 공간 조각(space carving)으로 지칭될 수 있다. 대상물의 실루엣은, 평면에 대한 대상물의 경계를 관찰함으로써 그리고 대상물이 아닌 영역들을 조각해 제거(carve away)하기 위해 경계를 이용함으로써 추론될 수 있다. 일 구현에서, 이는 높이를 경계 짓기 위해 이용될 수 있다. 다른 구현에서, 공간 조각을 수행함으로써, 배제되는 홀보다는 대상물의 정확한 표현이 검출될 수 있다. (2) 포인트 특징들은 대상물의 최상부의 형상을 추정하기 위해 추가로 활용될 수 있다. 예컨대, 일부 실시예들은 대상물의 돌출된 높이를 경계 짓기 위해 가장 높은 특징 포인트들을 이용할 수 있다. 추가로 또는 대안적으로, 돌출된 형상까지의 가변-높이 표면은 예컨대, 스플라인 표현 또는 구분적(piecewise) 평탄 표현을 이용하여 홀의 특징-포인트들의 높이들에 기초할 수 있다.
[00120] AR 평면(310)이 대상물 재구성 프로세스 동안 계속 정교화될 수 있음이 유의될 수 있다. 카메라가 주변을 이동하고 그리고 평면 표현이 정교화됨에 따라, 홀들이 표현에서 나타날 수 있다. 평면의 최상부 상에 놓인 대상물은 평면의 홀의 일부를 점유할 가능성이 있다. 추가로, 대상물의 높이는 정확하게 알려지지 않는다(상이한 프레임들에서의 대상물의 실루엣은 제약들을 제공함).
[00121] 본 발명의 범위로부터 벗어남이 없이, 이미지 정보로부터 물리적 대상물과 연관된 속성들을 검출하기 위해, 다수의 뷰들에 걸쳐 조밀 스테레오(dense stereo) 또는 사진-일관성(photo-consistency)과 같은 다른 기법들이 이용될 수 있다.
[00122] 도 18은 물리적 장면의 평탄 표면 상의 대상물의 디지털 표현을 구성하기 위한 방법(1800)의 실시예를 예시한다. 방법(1800)의 컴포넌트들 중 하나 또는 그 초과를 수행하기 위한 수단은 도 20과 관련하여 더 상세하게 설명되는 하드웨어 및/또는 소프트웨어 수단을 포함할 수 있다. 대안적인 실시예들은 도시된 실시예들에 대한 변경들을 포함할 수 있다. 특정 순서로 예시되지만, 방법(1800)의 컴포넌트들은 상이한 실시예들에 따라 상이한 순서로 및/또는 동시적으로 수행될 수 있다. 더욱이, 당업자는 많은 추가들, 생략들, 및/또는 다른 변동들을 인식할 것이다.
[00123] 방법(1800) 및 본원에서 설명되는 다른 기법들은 운영 체제-레벨 또는 디바이스-레벨에서 하드웨어 및/또는 소프트웨어에 의해 실행될 수 있다. 그 다음으로, 평탄 표면(즉, AR 평면) 및/또는 대상물들의 표현들은 AR, CV, 또는 모바일 디바이스에 의해 실행되는 다른 애플리케이션에 제공될 수 있다. 표현들은 다양한 표준화된 및/또는 사유(proprietary) 포맷들(예컨대, 메시(3D 공간의 삼각형들 및/또는 다각형들) 등) 중 임의의 포맷으로 제공될 수 있다. 더욱이, 표현들은 실질적으로 실시간으로 또는 거의 실시간으로 제공될 수 있어서, AR 애플리케이션은 물리적 장면의 이미지들이 모바일 디바이스에 의해 캡쳐되는 동안 AR 환경을 디스플레이할 수 있다.
[00124] 블록(1810)에서, 평탄 표면(즉, AR 평면)의 표현을 표시하는 표면 정보가 획득된다. 이전에 표시된 바와 같이, 표면 정보는 물리적 장면의 적어도 하나의 캡쳐된 이미지에 기초할 수 있다. 표면 정보를 이용하여 AR 평면을 유도하기 위해, 도 13, 도 14, 및 이전에 설명된 임의의 다른 도면을 참조하여 설명되는 기법들이 이용될 수 있다. 표현은 예컨대, 이미지 정보로부터 평면을 정의하기 위한 다양한 알고리즘들 중 임의의 알고리즘을 이용하여 획득된 조밀 평면 표현일 수 있다. 이러한 알고리즘들은 도 18의 방법(1800)을 실행하기 위한 애플리케이션과 동일한 애플리케이션 ― 또는 상이한 애플리케이션 ― 에 의해 실행될 수 있다.
[00125] 블록(1820)은 평탄 표면 상의 대상물의 하나 또는 그 초과의 특징 포인트들을 획득하는 것을 포함한다. 특징 포인트들은 (예컨대, 평탄 표면에 대한) 3D 공간의 대상물의 외부 표면 상의 포인트의 위치를 표시하는 정보를 포함할 수 있다. 이러한 특징 포인트들은 예컨대, SLAM에 의해 제공된 대상물의 포인트-클라우드 표현으로부터 유도될 수 있다.
[00126] 블록(1830)에서, 가시적이지 않은 대상물의 부분의 형상은 표면 정보 및 하나 또는 그 초과의 특징 포인트들을 이용하여 추정된다. 이전에 표시된 바와 같이, 다양한 알고리즘들 중 임의의 알고리즘이 대상물의 뒷면을 추정하기 위해 이용될 수 있다. 이러한 알고리즘들은 추정을 제공하기 위해 특징 포인트 정보(예컨대, 높이, 깊이 등)를 표면 정보(예컨대, 홀 위치들, 치수들 등)와 결합할 수 있다. 추정은, 표면 정보 및 하나 또는 그 초과의 특징 포인트들을 평탄 표면의 정면-평행 관점으로 변환하는 것을 더 포함할 수 있다. 특정 구현에서, 하나 또는 그 초과의 이미지들에 관한 포즈(pose) 정보는, 표면 정보 및 하나 또는 그 초과의 특징 포인트들을 평탄 표면의 정면-평행 관점으로 변환하는데 이용될 수 있다. 추정들은 대상물의 (평탄 표면에 대해) 가장 높은 및/또는 (하나 또는 그 초과의 캡쳐된 이미지들의 관점에서) 가장 가까운 특징 포인트를 결정하는 것을 더 포함할 수 있다. 추정들은 특정 형상을 포함할 수 있다. 예컨대, 추정은 대상물의 뒷면을 스플라인, 굴곡 및/또는 평탄 표현으로 표현할 수 있다.
[00127] 블록(1840)에서, 추정에 기초하여 대상물의 디지털 표현이 구성된다. 위에서 표시된 바와 같이, 디지털 표현은 대상물의 추정된(즉, 보이지 않는) 부분뿐만 아니라 대상물의 가시적인 부분들의 표현을 포함할 수 있다. 그 다음으로, 디지털 표현은 대상물의 가시적 부분들에 기하학적 형상을 제공하기 위해 특징 포인트들을 포함할 수 있다. 그 다음으로, 이전에 표시된 바와 같이, 표현은 CV 애플리케이션에 전송되고 그리고/또는 CV 애플리케이션에 의해 활용될 수 있다.
[00128] 도 19는 물리적 장면의 평탄 표면 상의 대상물의 디지털 표현을 구성하기 위한 방법(1900)의 실시예를 예시한다. 방법(1900)의 컴포넌트들 중 하나 또는 그 초과를 수행하기 위한 수단은 도 20과 관련하여 더 상세하게 설명되는 하드웨어 및/또는 소프트웨어 수단을 포함할 수 있다. 대안적인 실시예들은 도시된 실시예들에 대한 변경들을 포함할 수 있다. 특정 순서로 예시되지만, 방법(1900)의 컴포넌트들은 상이한 실시예들에 따라 상이한 순서로 및/또는 동시적으로 수행될 수 있다. 더욱이, 당업자는 많은 추가들, 생략들, 및/또는 다른 변동들을 인식할 것이다.
[00129] 방법(1900) 및 본원에서 설명되는 다른 기법들은 운영 체제-레벨 또는 디바이스-레벨에서 하드웨어 및/또는 소프트웨어에 의해 실행될 수 있다. 그 다음으로, 평탄 표면(즉, AR 평면) 및/또는 대상물들의 표현들은 AR, CV, 또는 모바일 디바이스에 의해 실행되는 다른 애플리케이션에 제공될 수 있다. 표현들은 다양한 표준화된 및/또는 사유 포맷들(예컨대, 메시(3D 공간의 삼각형들 및/또는 다각형들) 등) 중 임의의 포맷으로 제공될 수 있다. 더욱이, 표현들은 실질적으로 실시간으로 또는 거의 실시간으로 제공될 수 있어서, AR 애플리케이션은 물리적 장면의 이미지들이 모바일 디바이스에 의해 캡쳐되는 동안 AR 환경을 디스플레이할 수 있다.
[00130] 블록(1910)에서, 컴퓨팅 디바이스의 컴포넌트들은 적어도 평탄 표면 및 평탄 표면 상에 로케이팅된 하나 또는 그 초과의 물리적 대상물들을 포함하는 물리적 장면에 관한 정보를 획득한다. 일부 예들에서, 카메라가 물리적 장면에 관한 정보를 캡쳐할 수 있다. 다른 예들에서, 정보는 컴퓨팅 디바이스에 제공되거나 또는 컴퓨팅 디바이스 상의 버퍼에 저장될 수 있다. 블록(1920)에서, 컴퓨팅 디바이스의 컴포넌트들은 물리적 장면 내의 평탄 표면을 식별한다.
[00131] 블록(1930)에서, 컴퓨팅 디바이스의 컴포넌트들은 평탄 표면에 대응하는 AR 평면을 결정하고, AR 평면은 적어도 평탄 표면의 부분을 포함하고, 평탄 표면 상에 로케이팅된 하나 또는 그 초과의 물리적 대상물들 중 제 1 대상물과 연관된 적어도 하나의 홀을 둘러싼다. 특정 실시예들에서, AR 평면은 복수의 셀들을 포함하고, 복수의 셀들 중 각각의 셀은 영역을 표현하고, 가상 대상물은 제 1 대상물과의 충돌 없이 내비게이팅((navigate))할 수 있다.
[00132] 일부 구현들에서, 평탄 표면에 대응하는 AR 평면을 결정하는 것은, 제 1 대상물을 포함하는 물리적 장면의 적어도 2개의 이미지들을 분석하는 것, 및 물리적 장면의 적어도 2개의 이미지들의 분석에 기초하여, AR 평면이 물리적 장면에 대응하도록 그리고 제 1 대상물에 대응하는 적어도 하나의 영역을 배제하도록 AR 평면을 생성하는 것을 포함할 수 있다.
[00133] 또한, 일부 구현들에서, 물리적 장면의 적어도 2개의 이미지들을 분석하는 것은, 카메라를 이용하여 제 1 위치에서 물리적 장면의 제 1 이미지를 캡쳐하는 것 ― 제 1 이미지는 제 1 대상물을 포함함 ―, 카메라가 제 1 위치로부터 제 2 위치로 이동한 거리를 결정하는 것, 카메라를 이용하여 제 2 위치에서 물리적 장면의 제 2 이미지를 캡쳐하는 것 ― 제 2 이미지는 제 1 대상물을 포함함 ―, 및 제 1 이미지 및 제 2 이미지를 이용하여 제 1 대상물에 대한 깊이 정보를 결정하는 것을 포함할 수 있다.
[00134] 일부 구현들에서, 평탄 표면에 대응하는 AR 평면을 결정하는 것은, 물리적 장면 내의 평탄 표면의 초기 부분을 식별하는 것, 및 평탄 표면의 추가의 부분들을 식별하는 것을 포함할 수 있고, 추가의 부분들 각각은, 추가의 부분들과 연관된 적어도 하나의 시각적 또는 기하학적 속성과, 평탄 표면의 부분인 것으로 이미 식별된 하나 또는 그 초과의 부분들과 연관된 적어도 하나의 대응하는 시각적 또는 기하학적 속성 사이의 유사성을 결정하는 것에 기초하여, 평탄 표면의 부분인 것으로 식별된다.
[00135] 일부 양상들에서, 평탄 표면의 추가의 부분들을 식별하는 것은, 평탄 표면이 존재하는 평탄 영역의 모델을 확립하는 것, 평탄 영역을 복수의 셀들로 파티셔닝하는 것, 및 각각의 셀을 평탄 표면의 잠재적 추가의 부분으로서 평가하는 것을 포함할 수 있다. 일부 예들에서, 각각의 셀을 평가하는 것은, 평탄 표면의 추가의 부분으로서 식별된 각각의 셀에 대해, 평탄 표면의 부분으로서 이미 식별되지 않은 이웃 셀들을 식별하는 단계 및 각각의 식별된 이웃 셀에 대해, 이웃 셀을 평탄 표면의 잠재적 부분으로서 평가하는 단계를 반복하는 것을 포함한다.
[00136] 블록(1940)에서, 컴퓨팅 디바이스의 컴포넌트들은 AR 평면에 관한 정보에 적어도 부분적으로 기초하여 제 1 대상물과 연관된 하나 또는 그 초과의 속성들을 결정한다. 특정 실시예들에서, 제 1 대상물과 연관된 하나 또는 그 초과의 속성들을 결정하는 것은, 적어도 하나 또는 그 초과의 특징 포인트들을 식별하는 것에 추가로 기초할 수 있다. 특정 실시예들에서, 제 1 대상물과 연관된 하나 또는 그 초과의 속성들은, 평탄 표면의 하나 또는 그 초과의 영역들을 식별하는 것 ― 하나 또는 그 초과의 영역들은 평탄 표면 상의 제 1 대상물의 위치에 대응함 ―, 및 하나 또는 그 초과의 특징 포인트들 및 하나 또는 그 초과의 볼록 영역들의 위치에 기초하여 제 1 대상물의 하나 또는 그 초과의 외부 표면들을 결정하는 것을 포함할 수 있다. 그러나, 본 발명의 범위로부터 벗어남이 없이 다른 기법들이 이용될 수 있다. 일부 실시예들에서, 제 1 대상물의 디지털 표현을 구성하는 것은, 제 1 대상물에 의해 가려지는 평탄 표면의 부분의 형상에 기초하여 평탄 표면에 수직하는 방향으로 대상물을 돌출시키는 것을 포함할 수 있다.
[00137] 블록(1950)에서, 컴퓨팅 디바이스의 컴포넌트들은 제 1 대상물과 연관된 속성들 및 AR 평면과 연관된 정보를 이용하여 제 1 대상물의 3차원(3D) 모델을 생성한다. 일부 양상들에서, 제 1 대상물의 3D 모델을 생성하는 것은, 제 1 대상물의 하나 또는 그 초과의 특징 포인트들을 획득하는 것 ― 하나 또는 그 초과의 특징 포인트들 중 각각의 특징 포인트는 제 1 대상물의 외부 표면 상의 포인트의, 평탄 표면에 대한 위치를 표시함 ―, 평탄 표면 및 하나 또는 그 초과의 특징 포인트들과 연관된 정보를 이용하여, 가시적이지 않은 제 1 대상물의 부분의 형상을 추정하는 것, 및 추정에 기초하여 3D 재구성 대상물(3D reconstructed object)을 구성하는 것을 포함할 수 있다. 일부 양상들에서, 가시적이지 않은 제 1 대상물의 부분의 형상을 추정하는 것은, 스플라인 표현, 반사된 대칭적 대상물 표현, 평탄 표현, 또는 굴곡 표현과 같은 하나 또는 그 초과의 표현 기법들을 이용하는 것을 포함할 수 있다. 제 1 대상물의 3차원(3D) 모델을 생성하기 위해, 도 15a, 도 15b, 도 16, 도 17 및 이전에 설명된 임의의 다른 도면을 참조하여 설명되는 기법들이 이용될 수 있다.
[00138] 블록(1960)에서, 컴퓨팅 디바이스의 컴포넌트들은 AR 평면 및 제 1 대상물의 3D 모델을 포함하는 AR 환경의 디지털 표현을 생성한다.
[00139] 도 20은 특정 실시예들에 따라 장면들을 표현하기 위해 이용될 수 있는 디바이스의 하나의 잠재적 구현을 설명한다. 일 실시예에서, 도 1에서 설명된 바와 같은 디바이스(102)는 프로세스(300)의 구체적으로 설명된 세부사항들을 이용하여 구현될 수 있다. 도 20에 도시된 디바이스(2000)의 실시예에서, 카메라(2021) 및 이미지 프로세싱 모듈(2022)과 같은 특화된 모듈들은 제안된 방법을 이용하여 이미지들을 캡쳐 및 프로세싱하기 위해 필요한 기능을 포함할 수 있다. 카메라(2021) 및 이미지 프로세싱 모듈들(2022)은 디바이스(2000)의 다양한 다른 모듈들과 상호작용하도록 구현될 수 있다. 예컨대, 결합된 이미지가 디스플레이 출력(2003) 상에 출력될 수 있다. 추가로, 이미지 프로세싱 모듈은 사용자 입력 모듈(2006)로부터의 사용자 입력들을 통해 제어될 수 있다. 사용자 입력 모듈(2006)은, 표현된 장면에 관한 사용자 선호도들을 정의하거나 또는 장면의 초기화 타겟을 식별하기 위해 입력들을 수용할 수 있다. 메모리(2020)는 이미지들을 저장하도록 구성될 수 있고, 그리고 또한 카메라 및 디바이스가 어떻게 동작하는지를 결정하는 설정들 및 명령들을 저장할 수 있다.
[00140] 도 20에 도시된 실시예에서, 디바이스는 모바일 디바이스일 수 있으며, 다수의 컴포넌트들에서 동작들을 수행하기 위한 명령들을 실행시키도록 구성되고 그리고 예컨대, 휴대용 전자 디바이스 내에서의 구현에 적절한 마이크로프로세서 또는 범용 프로세서일 수 있는 프로세서(2010)를 포함할 수 있다. 따라서, 프로세서(2010)는 본원에서 설명되는 바와 같이 카메라 및 이미지 프로세싱 모듈을 동작시키기 위한 특정 단계들 중 임의의 또는 모든 단계들을 구현할 수 있다. 프로세서(2010)는 모바일 디바이스(2000) 내의 복수의 컴포넌트들과 통신가능하게 커플링된다. 이러한 통신가능 커플링을 실현하기 위해, 프로세서(2010)는 버스(2060)를 통해 다른 예시된 컴포넌트들과 통신할 수 있다. 버스(2060)는 모바일 디바이스(2000) 내에서 데이터를 전달하도록 적응된 임의의 서브시스템일 수 있다. 버스(2060)는 복수의 컴퓨터 버스들일 수 있고, 데이터를 전달하기 위해 추가의 회로를 포함할 수 있다.
[00141] 메모리(2020)는 프로세서(2010)에 커플링될 수 있다. 일부 실시예들에서, 메모리(2020)는 단기간 및 장기간 저장소 모두를 제공하고 실제로는 몇몇 유닛들로 분할될 수 있다. 단기간 메모리는 분석 후에 폐기될 수 있는 이미지들을 저장할 수 있거나, 또는 사용자 선택들에 따라 모든 이미지들이 장기간 저장소에 저장될 수 있다. 메모리(2020)는 정적 랜덤 액세스 메모리(SRAM) 및/또는 동적 랜덤 액세스 메모리(DRAM)와 같이 휘발성이고 그리고/또는 판독-전용 메모리(ROM), 플래시 메모리 등과 같이 비-휘발성일 수 있다. 또한, 메모리(2020)는 SD(secure digital) 카드들과 같은 착탈식 저장 디바이스들을 포함할 수 있다. 따라서, 메모리(2020)는 컴퓨터 판독가능 명령들, 데이터 구조들, 프로그램 모듈들, 및 모바일 디바이스(2000)를 위한 다른 데이터의 저장소를 제공한다. 일부 실시예들에서, 메모리(2020)는 상이한 하드웨어 모듈들로 분산될 수 있다.
[00142] 일부 실시예들에서, 메모리(2020)는 복수의 애플리케이션들(2026)을 저장한다. 애플리케이션들(2026)은 프로세서(2010)에 의해 실행될 특정 명령들을 포함한다. 대안적인 실시예들에서, 다른 하드웨어 모듈들이 특정 애플리케이션들 또는 애플리케이션들의 부분들을 추가로 실행할 수 있다. 메모리(2020)는 특정 실시예들에 따라 스캐닝을 구현하는 모듈들을 위한 컴퓨터 판독가능 명령들을 저장하기 위해 이용될 수 있고, 데이터베이스의 부분으로서 컴팩트한 대상물 표현들을 또한 저장할 수 있다.
[00143] 일부 실시예들에서, 메모리(2020)는 운영 체제(2023)를 포함한다. 운영 체제(2023)는 애플리케이션 모듈들에 의해 제공되는 명령들의 실행을 개시하고 그리고/또는 다른 하드웨어 모듈들뿐만 아니라 무선 트랜시버(2012) 및 링크(2016)를 이용할 수 있는 통신 모듈들과의 인터페이스들을 관리하도록 동작가능할 수 있다. 운영 체제(2023)는 모바일 디바이스(2000)의 컴포넌트들에 걸쳐 스레딩, 자원 관리, 데이터 저장 제어 및 다른 유사한 기능을 포함한 다른 동작들을 수행하도록 적응될 수 있다.
[00144] 일부 실시예들에서, 모바일 디바이스(2000)는 복수의 다른 하드웨어 모듈들(2001)을 포함한다. 다른 하드웨어 모듈들(2001) 각각은 모바일 디바이스(2000) 내의 물리적 모듈이다. 그러나, 하드웨어 모듈들(2001) 각각이 영구적으로 구조물로서 구성되지만, 하드웨어 모듈들 중 각각의 하드웨어 모듈은 특정 기능들을 수행하도록 일시적으로 구성되거나 또는 일시적으로 활성화될 수 있다.
[00145] 다른 실시예들은 디바이스(2000)에 통합된 센서들을 포함할 수 있다. 센서(2062)의 예는, 예컨대, 가속도계, Wi-Fi 트랜시버, 위성 내비게이션 시스템 수신기(예컨대, GPS 모듈), 압력 모듈, 온도 모듈, 오디오 출력 및/또는 입력 모듈(예컨대, 마이크로폰), 카메라 모듈, 근접각 센서(proximity sensor), ALS(alternate line service) 모듈, 용량성 터치 센서, NFC(near field communication) 모듈, 블루투스 트랜시버, 셀룰러 트랜시버, 자력계, 자이로스코프, 관성 센서(예컨대, 가속도계 및 자이로스코프를 결합한 모듈), 주변광 센서, 상대 습도 센서, 또는 감각 출력을 제공하고 그리고/또는 감각 입력을 수신하도록 동작가능한 임의의 다른 유사한 모듈일 수 있다. 일부 실시예들에서, 센서들(2062)의 하나 또는 그 초과의 기능들은 하드웨어, 소프트웨어, 또는 펌웨어로서 구현될 수 있다. 또한, 본원에서 설명되는 바와 같이, 가속도계, GPS 모듈, 자이로스코프, 관성 센서와 같은 특정 하드웨어 모듈들 또는 다른 이러한 모듈들은 추가의 정보를 제공하기 위해 카메라 및 이미지 프로세싱 모듈과 함께 이용될 수 있다. 특정 실시예들에서, 사용자는 이미지들을 어떻게 분석할지를 선택하기 위해 사용자 입력 모듈(2006)을 이용할 수 있다.
[00146] 디바이스(2000)는 안테나(2016) 및 무선 트랜시버(2012)를 무선 통신들을 위해 필요한 임의의 다른 하드웨어, 펌웨어, 또는 소프트웨어와 통합할 수 있는 무선 통신 모듈과 같은 컴포넌트를 포함할 수 있다. 이러한 무선 통신 모듈은 네트워크 액세스 포인트와 같은 액세스 포인트들 및 네트워크들을 통해 데이터 소스들과 같은 다양한 디바이스들로부터 신호들을 수신하도록 구성될 수 있다. 특정 실시예들에서, 원격 데이터베이스에 저장되고, 다수의 다른 디바이스들이 대상물 인식 기능을 실행할 때 그 디바이스들에 의해 이용될 컴팩트한 대상물 표현들은 서버 컴퓨터들, 다른 모바일 디바이스들, 또는 다른 네트워킹된 컴퓨팅 디바이스들에 통신될 수 있다.
[00147] 메모리(2020)의 다른 하드웨어 모듈들 및 애플리케이션들에 추가하여, 모바일 디바이스(2000)는 디스플레이 출력(2003) 및 사용자 입력 모듈(2006)을 가질 수 있다. 디스플레이 출력(2003)은 모바일 디바이스(2000)로부터의 정보를 사용자에게 그래픽적으로 제공한다. 이러한 정보는 하나 또는 그 초과의 애플리케이션 모듈들, 하나 또는 그 초과의 하드웨어 모듈들, 이들의 조합, 또는 사용자를 위해 (예컨대, 운영 체제(2023)에 의해) 그래픽 콘텐츠를 분석하기 위한 임의의 다른 적절한 수단으로부터 유도될 수 있다. 디스플레이 출력(2003)은 LCD(liquid crystal display) 기술, LPD(light emitting polymer display) 기술, 또는 일부 다른 디스플레이 기술일 수 있다. 일부 실시예들에서, 디스플레이 모듈(2003)은 용량성 또는 저항성 터치 스크린이고, 사용자와의 햅틱(haptic) 및/또는 태크틸(tactile) 접촉에 감응할 수 있다. 이러한 실시예들에서, 디스플레이 출력(2003)은 멀티-터치-감응형 디스플레이를 포함할 수 있다. 그 다음으로, 디스플레이 출력(2003)은 경보들, 설정들, 임계치들, 사용자 인터페이스들, 또는 다른 이러한 제어들과 같은, 카메라(2021) 또는 이미지 프로세싱 모듈(2022)과 연관된 임의의 수의 출력들을 디스플레이하기 위해 이용될 수 있다.
[00148] 앞서 논의된 방법들, 시스템들, 및 디바이스들은 예들이다. 다양한 실시예들은 다양한 절차들 또는 컴포넌트들을 적절하게 생략, 교체, 또는 추가할 수 있다. 예컨대, 대안적인 구성들에서, 설명된 방법들은 설명된 순서와 상이한 순서로 수행될 수 있고 그리고/또는 다양한 스테이지들이 추가, 생략, 및/또는 결합될 수 있다. 또한, 특정 실시예들과 관련하여 설명되는 특징들은 다양한 다른 실시예들에서 결합될 수 있다. 실시예들의 상이한 양상들 및 엘리먼트들은 유사한 방식으로 결합될 수 있다.
[00149] 실시예들의 완전한 이해를 제공하기 위해 특정 세부사항들이 설명에서 제공된다. 그러나, 실시예들은 특정한 구체적 세부사항들 없이 실시될 수 있다. 예컨대, 잘-알려진 회로들, 프로세스들, 알고리즘들, 구조들, 및 기법들은 실시예들을 모호하게 하는 것을 회피하기 위해, 불필요한 세부사항 없이 언급되었다. 이러한 설명은 예시적 실시예들만을 제공하며, 다양한 실시예들의 범위, 적용가능성, 또는 구성을 제한하도록 의도되지 않는다. 오히려, 실시예들의 이전의 설명은, 실시예들을 구현하는 것을 가능하게 하는 설명을 당업자들에게 제공할 것이다. 다양한 실시예들의 사상 및 범위로부터 벗어남이 없이, 엘리먼트들의 기능 및 어레인지먼트에서 다양한 변화들이 이루어질 수 있다.
[00150] 또한, 일부 실시예들은 프로세스 화살표들을 이용하여 흐름으로 도시될 수 있는 프로세스들로서 설명된다. 그 각각이 순차적 프로세스로서의 동작들을 설명할 수 있지만, 동작들 중 다수의 동작들은 병렬로 또는 동시적으로 수행될 수 있다. 추가하여, 동작들의 순서는 재배열될 수 있다. 프로세스는 도면에 포함되지 않은 추가의 단계들을 가질 수 있다. 또한, 방법들의 실시예들은 하드웨어, 소프트웨어, 펌웨어, 미들웨어, 마이크로코드, 하드웨어 기술 언어들, 또는 이들의 임의의 결합에 의해 구현될 수 있다. 소프트웨어, 펌웨어, 미들웨어, 또는 마이크로코드로 구현되는 경우, 연관된 태스크들을 수행하기 위한 프로그램 코드 또는 코드 세그먼트들은 저장 매체와 같은 컴퓨터-판독가능 매체에 저장될 수 있다. 프로세서들은 연관된 태스크들을 수행할 수 있다. 추가로, 앞서의 엘리먼트들은 단지 더 큰 시스템의 컴포넌트일 수 있으며, 다른 규칙들이 다양한 실시예들의 애플리케이션보다 우선하거나 또는 다른 방식으로 다양한 실시예들의 애플리케이션들 수정할 수 있고, 임의의 실시예의 엘리먼트들이 구현되기 전에, 구현되는 동안, 또는 구현된 후에 임의의 수의 단계들이 착수될 수 있다.
[00151] 본원에서 설명되는 바와 같은 방법이 소프트웨어로 구현될 수 있음이 유의되어야 한다. 소프트웨어는 일반적으로 비-일시적 저장 디바이스(예컨대, 메모리)에 저장되어 프로세서(예컨대, 범용 프로세서, 디지털 신호 프로세서 등)에 의해 수행될 수 있다.
[00152] 앞서 논의된 방법들, 시스템들, 및 디바이스들은 예들이다. 다양한 구성들은 다양한 절차들 또는 컴포넌트들을 적절하게 생략, 교체, 또는 추가할 수 있다. 예컨대, 대안적인 구성들에서, 방법들은 그 설명된 것과는 상이한 순서로 수행될 수 있고, 그리고/또는 다양한 스테이지들이 추가, 생략, 및/또는 결합될 수 있다. 특정 구성들에 대해 설명된 특징들은 다양한 다른 구성들에서 결합될 수 있다. 구성들의 상이한 양상들 및 엘리먼트들은 유사한 방식으로 결합될 수 있다. 엘리먼트들 중 다수의 엘리먼트는 예들이고, 본 개시내용 또는 청구항들의 범위를 제한하지 않는다.
[00153] 특정한 세부사항들이, (구현들을 포함하는) 예시적인 구성들의 완전한 이해를 제공하기 위해 설명에서 제공된다. 그러나, 구성들은 이러한 특정한 세부사항들 없이 실시될 수 있다. 예컨대, 잘 알려진 회로들, 프로세스들, 알고리즘들, 구조들, 및 기법들은 구성들을 모호하게 하는 것을 회피하기 위해 불필요한 세부사항 없이 도시된다. 이러한 설명은 단지 예시적인 구성들만을 제공하며, 청구항들의 범위, 적용가능성, 또는 구성들을 제한하지 않는다. 오히려, 구성들의 이전의 설명은, 설명된 기법들을 구현하는 것을 가능하게 하는 설명을 당업자들에게 제공할 것이다. 본 개시내용의 사상 또는 범위를 벗어남이 없이 엘리먼트들의 기능 및 어레인지먼트에서 다양한 변화들이 이루어질 수 있다.
[00154] 또한, 구성들은, 흐름도 또는 블록도로서 도시된 프로세스로서 설명될 수 있다. 각각이 순차적인 프로세스로서 동작들을 설명할 수 있지만, 동작들 중 다수의 동작들은 병렬로 또는 동시에 수행될 수 있다. 추가로, 동작들의 순서는 재배열될 수 있다. 프로세스는 도면에 포함되지 않은 추가의 단계들을 가질 수 있다. 또한, 방법들의 예들은 하드웨어, 소프트웨어, 펌웨어, 미들웨어, 마이크로코드, 하드웨어 기술 언어들, 또는 이들의 임의의 결합에 의해 구현될 수 있다. 소프트웨어, 펌웨어, 미들웨어, 또는 마이크로코드로 구현되는 경우, 필요한 태스크들을 수행하기 위한 프로그램 코드 또는 코드 세그먼트들은, 저장 매체와 같은 비-일시적 컴퓨터-판독가능 매체에 저장될 수 있다. 프로세서들은 설명된 태스크들을 수행할 수 있다.
[00155] 몇몇의 예시적인 구성들을 설명했지만, 본 개시내용의 사상을 벗어남이 없이 다양한 수정들, 대안적인 구조들, 및 등가물들이 사용될 수 있다. 예컨대, 앞서의 엘리먼트들은 더 큰 시스템의 컴포넌트들일 수 있으며, 다른 규칙들이 본 발명의 애플리케이션보다 우선하거나 또는 다른 방식으로 본 발명의 애플리케이션을 수정할 수 있다. 또한, 다수의 단계들은, 상기 엘리먼트들이 고려되기 전에, 고려되는 동안, 또는 고려된 후에 착수될 수 있다.

Claims (30)

  1. 물리적 장면(physical scene)의 디지털 표현을 구성하기 위한 방법으로서,
    적어도 평탄 표면(planar surface) 및 상기 평탄 표면 상에 로케이팅된 하나 또는 그 초과의 물리적 대상물(physical object)들을 포함하는 상기 물리적 장면에 관한 정보를 획득하는 단계;
    상기 물리적 장면 내의 상기 평탄 표면을 식별하는 단계;
    상기 평탄 표면에 대응하는 AR 평면(AR plane)을 결정하는 단계 ― 상기 AR 평면은 상기 평탄 표면의 적어도 일부를 포함하고, 상기 평탄 표면 상에 로케이팅된 상기 하나 또는 그 초과의 물리적 대상물들 중 제 1 대상물과 연관된 적어도 하나의 홀(hole)을 둘러쌈 ―;
    상기 AR 평면에 관한 정보에 적어도 부분적으로 기초하여 상기 제 1 대상물과 연관된 하나 또는 그 초과의 속성들을 결정하는 단계;
    상기 제 1 대상물과 연관된 속성들 및 상기 AR 평면과 연관된 정보를 이용하여 상기 제 1 대상물의 3차원(3D) 모델을 생성하는 단계; 및
    상기 AR 평면 및 상기 제 1 대상물의 3D 모델을 포함하는 AR 환경의 디지털 표현을 생성하는 단계
    를 포함하는,
    물리적 장면의 디지털 표현을 구성하기 위한 방법.
  2. 제 1 항에 있어서,
    상기 제 1 대상물과 연관된 하나 또는 그 초과의 속성들을 결정하는 단계는, 적어도 하나 또는 그 초과의 특징 포인트(feature point)들을 식별하는 것에 추가로 기초하는,
    물리적 장면의 디지털 표현을 구성하기 위한 방법.
  3. 제 1 항에 있어서,
    상기 AR 평면은 복수의 셀들을 포함하고,
    상기 복수의 셀들 중 각각의 셀은 영역을 표현하고,
    가상 대상물은 상기 제 1 대상물과의 충돌 없이 내비게이팅(navigate)할 수 있는,
    물리적 장면의 디지털 표현을 구성하기 위한 방법.
  4. 제 1 항에 있어서,
    상기 제 1 대상물과 연관된 하나 또는 그 초과의 속성들을 결정하는 단계는,
    상기 평탄 표면의 하나 또는 그 초과의 영역들을 식별하는 단계 ― 상기 하나 또는 그 초과의 영역들은 상기 평탄 표면 상의 상기 제 1 대상물의 위치에 대응함 ―, 및
    상기 하나 또는 그 초과의 특징 포인트들 및 하나 또는 그 초과의 볼록 영역들의 위치에 기초하여 상기 제 1 대상물의 하나 또는 그 초과의 외부 표면들을 결정하는 단계
    를 포함하는,
    물리적 장면의 디지털 표현을 구성하기 위한 방법.
  5. 제 1 항에 있어서,
    상기 평탄 표면에 대응하는 AR 평면을 결정하는 단계는,
    상기 제 1 대상물을 포함하는 상기 물리적 장면의 적어도 2개의 이미지들을 분석하는 단계, 및
    상기 물리적 장면의 적어도 2개의 이미지들의 분석에 기초하여, 상기 AR 평면이 상기 물리적 장면에 대응하도록 그리고 상기 제 1 대상물에 대응하는 적어도 하나의 영역을 배제하도록 상기 AR 평면을 생성하는 단계
    를 포함하는,
    물리적 장면의 디지털 표현을 구성하기 위한 방법.
  6. 제 5 항에 있어서,
    상기 물리적 장면의 적어도 2개의 이미지들을 분석하는 단계는,
    카메라를 이용하여, 제 1 위치에서 상기 물리적 장면의 제 1 이미지를 캡쳐하는 단계 ― 상기 제 1 이미지는 상기 제 1 대상물을 포함함 ―,
    상기 카메라가 상기 제 1 위치로부터 제 2 위치로 이동한 거리를 결정하는 단계,
    상기 카메라를 이용하여, 상기 제 2 위치에서 상기 물리적 장면의 제 2 이미지를 캡쳐하는 단계 ― 상기 제 2 이미지는 상기 제 1 대상물을 포함함 ―, 및
    상기 제 1 이미지 및 상기 제 2 이미지를 이용하여 상기 제 1 대상물에 대한 깊이 정보를 결정하는 단계
    를 포함하는,
    물리적 장면의 디지털 표현을 구성하기 위한 방법.
  7. 제 1 항에 있어서,
    상기 제 1 대상물의 3D 모델을 생성하는 단계는,
    상기 제 1 대상물의 하나 또는 그 초과의 특징 포인트들을 획득하는 단계 ― 상기 하나 또는 그 초과의 특징 포인트들 중 각각의 특징 포인트는 상기 제 1 대상물의 외부 표면 상의 포인트의, 상기 평탄 표면에 대한 위치를 표시함 ―,
    상기 AR 평면 및 상기 하나 또는 그 초과의 특징 포인트들과 연관된 정보를 이용하여, 가시적이지 않은 상기 제 1 대상물의 부분의 형상을 추정하는 단계, 및
    상기 추정에 기초하여 3D 재구성 대상물(3D reconstructed object)을 구성하는 단계
    를 포함하는,
    물리적 장면의 디지털 표현을 구성하기 위한 방법.
  8. 제 7 항에 있어서,
    상기 추정은,
    스플라인 표현(spline representation),
    반사된 대칭적 대상물 표현(reflected symmetrical object representation),
    평탄 표현(planar representation), 또는
    굴곡 표현(curved representation) 중 적어도 하나를 포함하는,
    물리적 장면의 디지털 표현을 구성하기 위한 방법.
  9. 제 1 항에 있어서,
    상기 제 1 대상물의 디지털 표현을 구성하는 단계는,
    상기 제 1 대상물에 의해 가려지는 상기 평탄 표면의 부분의 형상에 기초하여 상기 평탄 표면에 수직하는 방향으로 대상물을 돌출시키는 단계
    를 포함하는,
    물리적 장면의 디지털 표현을 구성하기 위한 방법.
  10. 제 1 항에 있어서,
    상기 평탄 표면에 대응하는 AR 평면을 결정하는 단계는,
    상기 물리적 장면 내의 상기 평탄 표면의 초기 부분을 식별하는 단계,
    상기 평탄 표면의 추가의 부분들을 식별하는 단계
    를 포함하고,
    상기 추가의 부분들 각각은, 상기 추가의 부분들과 연관된 적어도 하나의 시각적 또는 기하학적 속성과, 상기 평탄 표면의 부분인 것으로 이미 식별된 하나 또는 그 초과의 부분들과 연관된 적어도 하나의 대응하는 시각적 또는 기하학적 속성 사이의 유사성(likeness)을 결정하는 것에 기초하여, 상기 평탄 표면의 부분인 것으로 식별되는,
    물리적 장면의 디지털 표현을 구성하기 위한 방법.
  11. 제 10 항에 있어서,
    상기 평탄 표면의 추가의 부분들을 식별하는 단계는,
    상기 평탄 표면이 존재하는 평탄 영역의 모델을 확립하는 단계,
    상기 평탄 영역을 복수의 셀들로 파티셔닝하는 단계, 및
    각각의 셀을 상기 평탄 표면의 잠재적 추가의 부분으로서 평가하는 단계
    를 포함하는,
    물리적 장면의 디지털 표현을 구성하기 위한 방법.
  12. 제 11 항에 있어서,
    각각의 셀을 평가하는 단계는,
    상기 평탄 표면의 추가의 부분으로서 식별된 각각의 셀에 대해, 상기 평탄 표면의 부분으로서 이미 식별되지 않은 이웃 셀들을 식별하는 단계, 및
    각각의 식별된 이웃 셀에 대해, 상기 이웃 셀을 상기 평탄 표면의 잠재적 부분으로서 평가하는 단계
    를 반복하는 단계
    를 포함하는,
    물리적 장면의 디지털 표현을 구성하기 위한 방법.
  13. 물리적 장면의 디지털 표현을 구성하기 위한 디바이스로서,
    메모리;
    상기 물리적 장면에 관한 정보를 획득하기 위한 카메라; 및
    상기 메모리에 커플링된 프로세서
    를 포함하고,
    상기 프로세서는,
    적어도 평탄 표면 및 상기 평탄 표면 상에 로케이팅된 하나 또는 그 초과의 물리적 대상물들을 포함하는 상기 물리적 장면에 관한 정보를 획득하고,
    상기 물리적 장면 내의 상기 평탄 표면을 식별하고,
    상기 평탄 표면에 대응하는 AR 평면을 결정하고 ― 상기 AR 평면은 상기 평탄 표면의 적어도 일부를 포함하고, 상기 평탄 표면 상에 로케이팅된 상기 하나 또는 그 초과의 물리적 대상물들 중 제 1 대상물과 연관된 적어도 하나의 홀을 둘러쌈 ―,
    상기 AR 평면에 관한 정보에 적어도 부분적으로 기초하여 상기 제 1 대상물과 연관된 하나 또는 그 초과의 속성들을 결정하고,
    상기 제 1 대상물과 연관된 속성들 및 상기 AR 평면과 연관된 정보를 이용하여 상기 제 1 대상물의 3차원(3D) 모델을 생성하고, 그리고
    상기 AR 평면 및 상기 제 1 대상물의 3D 모델을 포함하는 AR 환경의 디지털 표현을 생성하도록 구성되는,
    물리적 장면의 디지털 표현을 구성하기 위한 디바이스.
  14. 제 13 항에 있어서,
    상기 프로세서는 추가로, 적어도 하나 또는 그 초과의 특징 포인트들을 식별하는 것에 추가로 기초하여 상기 제 1 대상물과 연관된 하나 또는 그 초과의 속성들을 결정하도록 구성되는,
    물리적 장면의 디지털 표현을 구성하기 위한 디바이스.
  15. 제 13 항에 있어서,
    상기 AR 평면은 복수의 셀들을 포함하고,
    상기 복수의 셀들 중 각각의 셀은 영역을 표현하고,
    가상 대상물은 상기 제 1 대상물과의 충돌 없이 내비게이팅할 수 있는,
    물리적 장면의 디지털 표현을 구성하기 위한 디바이스.
  16. 제 13 항에 있어서,
    상기 제 1 대상물과 연관된 하나 또는 그 초과의 속성들을 결정하는 것은,
    상기 프로세서가 추가로,
    상기 평탄 표면의 하나 또는 그 초과의 영역들을 식별하고 ― 상기 하나 또는 그 초과의 영역들은 상기 평탄 표면 상의 상기 제 1 대상물의 위치에 대응함 ―, 그리고
    상기 하나 또는 그 초과의 특징 포인트들 및 하나 또는 그 초과의 볼록 영역들의 위치에 기초하여 상기 제 1 대상물의 하나 또는 그 초과의 외부 표면들을 결정하도록 구성되는 것을 포함하는,
    물리적 장면의 디지털 표현을 구성하기 위한 디바이스.
  17. 제 13 항에 있어서,
    상기 평탄 표면에 대응하는 AR 평면을 결정하는 것은,
    상기 프로세서가 추가로,
    상기 제 1 대상물을 포함하는 상기 물리적 장면의 적어도 2개의 이미지들을 분석하고, 그리고
    상기 물리적 장면의 적어도 2개의 이미지들의 분석에 기초하여, 상기 AR 평면이 상기 물리적 장면에 대응하게 그리고 상기 제 1 대상물에 대응하는 적어도 하나의 영역을 배제하게 상기 AR 평면을 생성하도록 구성되는 것을 포함하는,
    물리적 장면의 디지털 표현을 구성하기 위한 디바이스.
  18. 제 17 항에 있어서,
    상기 물리적 장면의 적어도 2개의 이미지들을 분석하는 것은,
    상기 프로세서가 추가로,
    카메라를 이용하여, 제 1 위치에서 상기 물리적 장면의 제 1 이미지를 캡쳐하고 ― 상기 제 1 이미지는 상기 제 1 대상물을 포함함 ―,
    상기 카메라가 상기 제 1 위치로부터 제 2 위치로 이동한 거리를 결정하고,
    상기 카메라를 이용하여, 상기 제 2 위치에서 상기 물리적 장면의 제 2 이미지를 캡쳐하고 ― 상기 제 2 이미지는 상기 제 1 대상물을 포함함 ―, 그리고
    상기 제 1 이미지 및 상기 제 2 이미지를 이용하여 상기 제 1 대상물에 대한 깊이 정보를 결정하도록 구성되는 것을 포함하는,
    물리적 장면의 디지털 표현을 구성하기 위한 디바이스.
  19. 제 13 항에 있어서,
    상기 제 1 대상물의 3D 모델을 생성하는 것은,
    상기 프로세서가 추가로,
    상기 제 1 대상물의 하나 또는 그 초과의 특징 포인트들을 획득하고 ― 상기 하나 또는 그 초과의 특징 포인트들 중 각각의 특징 포인트는 상기 제 1 대상물의 외부 표면 상의 포인트의, 상기 평탄 표면에 대한 위치를 표시함 ―,
    상기 평탄 표면 및 상기 하나 또는 그 초과의 특징 포인트들과 연관된 정보를 이용하여, 가시적이지 않은 상기 제 1 대상물의 부분의 형상을 추정하고, 그리고
    상기 추정에 기초하여 3D 재구성 대상물을 구성하도록 구성되는 것을 포함하는,
    물리적 장면의 디지털 표현을 구성하기 위한 디바이스.
  20. 제 19 항에 있어서,
    상기 추정은,
    스플라인 표현,
    반사된 대칭적 대상물 표현,
    평탄 표현, 또는
    굴곡 표현 중 적어도 하나를 포함하는,
    물리적 장면의 디지털 표현을 구성하기 위한 디바이스.
  21. 제 13 항에 있어서,
    상기 제 1 대상물의 디지털 표현을 구성하는 것은,
    상기 프로세서가,
    상기 제 1 대상물에 의해 가려지는 상기 평탄 표면의 부분의 형상에 기초하여 상기 평탄 표면에 수직하는 방향으로 대상물을 돌출시키도록 구성되는 것을 포함하는,
    물리적 장면의 디지털 표현을 구성하기 위한 디바이스.
  22. 제 13 항에 있어서,
    상기 평탄 표면에 대응하는 AR 평면을 결정하는 것은,
    상기 프로세서가 추가로,
    상기 물리적 장면 내의 상기 평탄 표면의 초기 부분을 식별하고,
    상기 평탄 표면의 추가의 부분들을 식별하도록 구성되는 것을 포함하고,
    상기 추가의 부분들 각각은, 상기 추가의 부분들과 연관된 적어도 하나의 시각적 또는 기하학적 속성과, 상기 평탄 표면의 부분인 것으로 이미 식별된 하나 또는 그 초과의 부분들과 연관된 적어도 하나의 대응하는 시각적 또는 기하학적 속성 사이의 유사성을 결정하는 것에 기초하여, 상기 평탄 표면의 부분인 것으로 식별되는,
    물리적 장면의 디지털 표현을 구성하기 위한 디바이스.
  23. 제 22 항에 있어서,
    상기 평탄 표면의 추가의 부분들을 식별하는 것은,
    상기 프로세서가 추가로,
    상기 평탄 표면이 존재하는 평탄 영역의 모델을 확립하고,
    상기 평탄 영역을 복수의 셀들로 파티셔닝하고, 그리고
    각각의 셀을 상기 평탄 표면의 잠재적 추가의 부분으로서 평가하도록 구성되는 것을 포함하는,
    물리적 장면의 디지털 표현을 구성하기 위한 디바이스.
  24. 비-일시적 컴퓨터-판독가능 저장 매체로서,
    프로세서에 의해 실행가능한 명령들
    을 포함하고,
    상기 명령들은,
    적어도 평탄 표면 및 상기 평탄 표면 상에 로케이팅된 하나 또는 그 초과의 물리적 대상물들을 포함하는 상기 물리적 장면에 관한 정보를 획득하는 명령,
    상기 물리적 장면 내의 상기 평탄 표면을 식별하는 명령,
    상기 평탄 표면에 대응하는 AR 평면을 결정하는 명령 ― 상기 AR 평면은 상기 평탄 표면의 적어도 일부를 포함하고, 상기 평탄 표면 상에 로케이팅된 상기 하나 또는 그 초과의 물리적 대상물들 중 제 1 대상물과 연관된 적어도 하나의 홀을 둘러쌈 ―,
    상기 AR 평면에 관한 정보에 적어도 부분적으로 기초하여 상기 제 1 대상물과 연관된 하나 또는 그 초과의 속성들을 결정하는 명령,
    상기 제 1 대상물과 연관된 속성들 및 상기 AR 평면과 연관된 정보를 이용하여 상기 제 1 대상물의 3차원(3D) 모델을 생성하는 명령, 및
    상기 AR 평면 및 상기 제 1 대상물의 3D 모델을 포함하는 AR 환경의 디지털 표현을 생성하는 명령을 포함하는,
    비-일시적 컴퓨터-판독가능 저장 매체.
  25. 제 24 항에 있어서,
    상기 제 1 대상물과 연관된 하나 또는 그 초과의 속성들을 결정하는 것은, 적어도 하나 또는 그 초과의 특징 포인트들을 식별하는 것에 추가로 기초하는,
    비-일시적 컴퓨터-판독가능 저장 매체.
  26. 제 24 항에 있어서,
    상기 AR 평면은 복수의 셀들을 포함하고,
    상기 복수의 셀들 중 각각의 셀은 영역을 표현하고,
    가상 대상물은 상기 제 1 대상물과의 충돌 없이 내비게이팅할 수 있는,
    비-일시적 컴퓨터-판독가능 저장 매체.
  27. 제 24 항에 있어서,
    상기 AR 평면으로서 상기 평탄 표면을 표현하는 것은,
    상기 프로세서가 추가로,
    상기 제 1 대상물을 포함하는 상기 물리적 장면의 적어도 2개의 이미지들을 분석하고, 그리고
    상기 물리적 장면의 적어도 2개의 이미지들의 분석에 기초하여, 상기 AR 평면이 상기 물리적 장면에 대응하게 그리고 상기 제 1 대상물에 대응하는 적어도 하나의 영역을 배제하게 상기 AR 평면을 생성하도록 구성되는 것을 포함하는,
    비-일시적 컴퓨터-판독가능 저장 매체.
  28. 장치로서,
    적어도 평탄 표면 및 상기 평탄 표면 상에 로케이팅된 하나 또는 그 초과의 물리적 대상물들을 포함하는 물리적 장면에 관한 정보를 획득하기 위한 수단;
    상기 물리적 장면 내의 상기 평탄 표면을 식별하기 위한 수단;
    상기 평탄 표면에 대응하는 AR 평면을 결정하기 위한 수단 ― 상기 AR 평면은 상기 평탄 표면의 적어도 일부를 포함하고, 상기 평탄 표면 상에 로케이팅된 상기 하나 또는 그 초과의 물리적 대상물들 중 제 1 대상물과 연관된 적어도 하나의 홀을 둘러쌈 ―;
    상기 AR 평면에 관한 정보에 적어도 부분적으로 기초하여 상기 제 1 대상물과 연관된 하나 또는 그 초과의 속성들을 결정하기 위한 수단;
    상기 제 1 대상물과 연관된 속성들 및 상기 AR 평면과 연관된 정보를 이용하여 상기 제 1 대상물의 3차원(3D) 모델을 생성하기 위한 수단; 및
    상기 AR 평면 및 상기 제 1 대상물의 3D 모델을 포함하는 AR 환경의 디지털 표현을 생성하기 위한 수단
    을 포함하는,
    장치.
  29. 제 28 항에 있어서,
    상기 제 1 대상물과 연관된 하나 또는 그 초과의 속성들을 결정하는 것은, 적어도 하나 또는 그 초과의 특징 포인트들을 식별하는 것에 추가로 기초하는,
    장치.
  30. 제 28 항에 있어서,
    상기 AR 평면은 복수의 셀들을 포함하고,
    상기 복수의 셀들 중 각각의 셀은 영역을 표현하고,
    가상 대상물은 상기 제 1 대상물과의 충돌 없이 내비게이팅할 수 있는,
    장치.
KR1020167007815A 2013-08-30 2014-08-29 물리적 장면을 표현하기 위한 방법 및 장치 KR101993920B1 (ko)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
US201361872426P 2013-08-30 2013-08-30
US201361872376P 2013-08-30 2013-08-30
US201361872152P 2013-08-30 2013-08-30
US61/872,426 2013-08-30
US61/872,152 2013-08-30
US61/872,376 2013-08-30
US14/472,278 2014-08-28
US14/472,278 US9996974B2 (en) 2013-08-30 2014-08-28 Method and apparatus for representing a physical scene
PCT/US2014/053581 WO2015031854A2 (en) 2013-08-30 2014-08-29 Method and apparatus for representing physical scene

Publications (2)

Publication Number Publication Date
KR20160048874A true KR20160048874A (ko) 2016-05-04
KR101993920B1 KR101993920B1 (ko) 2019-06-27

Family

ID=52582550

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167007815A KR101993920B1 (ko) 2013-08-30 2014-08-29 물리적 장면을 표현하기 위한 방법 및 장치

Country Status (6)

Country Link
US (1) US9996974B2 (ko)
EP (1) EP3039656B1 (ko)
JP (1) JP6423435B2 (ko)
KR (1) KR101993920B1 (ko)
CN (1) CN105493155B (ko)
WO (1) WO2015031854A2 (ko)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190014283A (ko) * 2017-07-31 2019-02-12 현대엠엔소프트 주식회사 차선 정보 생성 장치 및 방법
KR20190058624A (ko) * 2016-10-05 2019-05-29 매직 립, 인코포레이티드 표면 모델링 시스템들 및 방법들
KR102074929B1 (ko) * 2018-10-05 2020-02-07 동의대학교 산학협력단 깊이 영상을 통한 평면 검출 방법 및 장치 그리고 비일시적 컴퓨터 판독가능 기록매체
KR20200136432A (ko) * 2018-05-18 2020-12-07 이베이 인크. 물리적 객체 경계 검출 기술들 및 시스템들
WO2021137348A1 (ko) * 2019-12-31 2021-07-08 엔센스코리아주식회사 복수의 단말에서 3차원 공간정보를 공유하기 위한 공간맵 생성과 명령실행점 독출방법
WO2021137349A1 (ko) * 2019-12-31 2021-07-08 엔센스코리아주식회사 환경 기반 실-가상 정합 사물 배치를 위한 3차원 공간인식과 2차원 인지적 영역분할의 결합 방법 및 시스템
WO2022158834A1 (ko) * 2021-01-21 2022-07-28 삼성전자 주식회사 타겟 평면 검출 및 공간 추정을 위한 장치 및 방법
KR20220123734A (ko) * 2020-02-27 2022-09-08 애플 인크. 포인트 클라우드 클러스터들의 공간적 관계들
KR20220144554A (ko) * 2021-04-20 2022-10-27 한국전자통신연구원 혼합 현실에서의 물리 현상을 표현하기 위한 물리 현상 표현 방법 및 그 방법을 수행하는 혼합 현실 장치
US11741676B2 (en) 2021-01-21 2023-08-29 Samsung Electronics Co., Ltd. System and method for target plane detection and space estimation

Families Citing this family (100)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8760395B2 (en) * 2011-05-31 2014-06-24 Microsoft Corporation Gesture recognition techniques
US9100685B2 (en) 2011-12-09 2015-08-04 Microsoft Technology Licensing, Llc Determining audience state or interest using passive sensor data
CA2775700C (en) 2012-05-04 2013-07-23 Microsoft Corporation Determining a future portion of a currently presented media program
JP6149676B2 (ja) * 2013-10-09 2017-06-21 富士通株式会社 画像処理装置、画像処理方法、及び、プログラム
US9773313B1 (en) 2014-01-03 2017-09-26 Google Inc. Image registration with device data
US9761059B2 (en) * 2014-01-03 2017-09-12 Intel Corporation Dynamic augmentation of a physical scene
US9723109B2 (en) 2014-05-28 2017-08-01 Alexander Hertel Platform for constructing and consuming realm and object feature clouds
US9724605B2 (en) * 2014-08-12 2017-08-08 Utherverse Digital Inc. Method, system and apparatus of recording and playing back an experience in a virtual worlds system
US10270985B2 (en) 2014-09-03 2019-04-23 Intel Corporation Augmentation of textual content with a digital scene
US10248285B2 (en) * 2014-09-10 2019-04-02 Utherverse Digital Inc. Immersive displays
US11205075B2 (en) * 2018-01-10 2021-12-21 Quantum Interface, Llc Interfaces, systems and apparatuses for constructing 3D AR environment overlays, and methods for making and using same
US9916681B2 (en) * 2014-11-04 2018-03-13 Atheer, Inc. Method and apparatus for selectively integrating sensory content
US9804813B2 (en) * 2014-11-26 2017-10-31 The United States Of America As Represented By Secretary Of The Navy Augmented reality cross-domain solution for physically disconnected security domains
US9754416B2 (en) * 2014-12-23 2017-09-05 Intel Corporation Systems and methods for contextually augmented video creation and sharing
US11334228B1 (en) * 2015-03-30 2022-05-17 Evernote Corporation Dynamic targeting of preferred objects in video stream of smartphone camera
US9870051B2 (en) * 2015-08-07 2018-01-16 Tobii Ab Gaze direction mapping
US10388069B2 (en) * 2015-09-09 2019-08-20 Futurewei Technologies, Inc. Methods and systems for light field augmented reality/virtual reality on mobile devices
GB2544725A (en) * 2015-11-03 2017-05-31 Fuel 3D Tech Ltd Systems and methods for forming models of a three-dimensional objects
US20170180652A1 (en) * 2015-12-21 2017-06-22 Jim S. Baca Enhanced imaging
US9767606B2 (en) * 2016-01-12 2017-09-19 Lenovo (Singapore) Pte. Ltd. Automatic modification of augmented reality objects
US10026230B2 (en) * 2016-03-30 2018-07-17 Daqri, Llc Augmented point cloud for a visualization system and method
EP3244286B1 (en) * 2016-05-13 2020-11-04 Accenture Global Solutions Limited Installation of a physical element
US10981060B1 (en) 2016-05-24 2021-04-20 Out of Sight Vision Systems LLC Collision avoidance system for room scale virtual reality system
US10650591B1 (en) 2016-05-24 2020-05-12 Out of Sight Vision Systems LLC Collision avoidance system for head mounted display utilized in room scale virtual reality system
CN106097299A (zh) * 2016-05-26 2016-11-09 天津市测绘院 一种3d模型漏洞的检测方法及装置
US9965689B2 (en) 2016-06-09 2018-05-08 Qualcomm Incorporated Geometric matching in visual navigation systems
CA3034058C (en) * 2016-08-14 2023-08-08 Uvic Industry Partnerships Inc. Real-time hand modeling and tracking using sphere-mesh models
TWI651657B (zh) * 2016-10-21 2019-02-21 財團法人資訊工業策進會 擴增實境系統與方法
JP6419128B2 (ja) * 2016-10-28 2018-11-07 キヤノン株式会社 画像処理装置、画像処理システム、画像処理方法及びプログラム
CN110168608B (zh) * 2016-11-22 2023-08-29 乐高公司 用于获取物理对象的3维数字表示的系统
US11094017B1 (en) 2016-12-01 2021-08-17 Wells Fargo Bank, N.A. Visualizing investment changes using augmented reality
EP3330924A1 (en) * 2016-12-01 2018-06-06 Thomson Licensing Method for 3d reconstruction of an environment of a mobile device, corresponding computer program product and device
US11164378B1 (en) 2016-12-08 2021-11-02 Out of Sight Vision Systems LLC Virtual reality detection and projection system for use with a head mounted display
US10146300B2 (en) 2017-01-25 2018-12-04 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Emitting a visual indicator from the position of an object in a simulated reality emulation
SE541287C2 (en) 2017-02-27 2019-06-11 Katam Tech Ab Forest surveying apparatus and method using video sequences to generate 3D models
AU2018102253A4 (en) * 2017-03-16 2024-01-04 Randall Innovations Pty Ltd Improved insurance system
CN108629800A (zh) * 2017-03-20 2018-10-09 北京三星通信技术研究有限公司 平面确定方法及增强现实显示信息的显示方法、相应装置
WO2018228888A1 (en) * 2017-06-16 2018-12-20 Lego A/S Method for controlling movement of a virtual object
US10627635B2 (en) 2017-08-02 2020-04-21 Microsoft Technology Licensing, Llc Transitioning into a VR environment and warning HMD users of real-world physical obstacles
CN107506040A (zh) * 2017-08-29 2017-12-22 上海爱优威软件开发有限公司 一种空间路径规划方法及系统
WO2019067642A1 (en) * 2017-09-29 2019-04-04 Zermatt Technologies Llc APPLICATION PRESENTATION BASED ON AN ENVIRONMENT
US10922878B2 (en) * 2017-10-04 2021-02-16 Google Llc Lighting for inserted content
US10026209B1 (en) 2017-12-21 2018-07-17 Capital One Services, Llc Ground plane detection for placement of augmented reality objects
WO2019119345A1 (en) * 2017-12-21 2019-06-27 Intel Corporation Methods and apparatus to map virtual environment to physical environment
US10002442B1 (en) * 2017-12-21 2018-06-19 Capital One Services, Llc Placement of augmented reality objects using a guide marker
WO2019126665A1 (en) 2017-12-22 2019-06-27 Magic Leap, Inc. Viewpoint dependent brick selection for fast volumetric reconstruction
US10902625B1 (en) * 2018-01-23 2021-01-26 Apple Inc. Planar surface detection
CN110120098B (zh) * 2018-02-05 2023-10-13 浙江商汤科技开发有限公司 场景尺度估计及增强现实控制方法、装置和电子设备
CN108519817A (zh) * 2018-03-26 2018-09-11 广东欧珀移动通信有限公司 基于增强现实的交互方法、装置、存储介质及电子设备
CN108553889A (zh) * 2018-03-29 2018-09-21 广州汉智网络科技有限公司 虚拟模型交互方法及装置
CN108553888A (zh) * 2018-03-29 2018-09-21 广州汉智网络科技有限公司 增强现实交互方法及装置
US11145123B1 (en) * 2018-04-27 2021-10-12 Splunk Inc. Generating extended reality overlays in an industrial environment
US11847773B1 (en) 2018-04-27 2023-12-19 Splunk Inc. Geofence-based object identification in an extended reality environment
US11694392B2 (en) * 2018-05-22 2023-07-04 Apple Inc. Environment synthesis for lighting an object
US10984600B2 (en) 2018-05-25 2021-04-20 Tiff's Treats Holdings, Inc. Apparatus, method, and system for presentation of multimedia content including augmented reality content
US10818093B2 (en) 2018-05-25 2020-10-27 Tiff's Treats Holdings, Inc. Apparatus, method, and system for presentation of multimedia content including augmented reality content
US10482674B1 (en) * 2018-06-27 2019-11-19 Beijing Jingdong Shangke Information Technology Co., Ltd. System and method for mobile augmented reality
US11527044B2 (en) 2018-06-27 2022-12-13 Samsung Electronics Co., Ltd. System and method for augmented reality
CN110825279A (zh) * 2018-08-09 2020-02-21 北京微播视界科技有限公司 平面间无缝切换的方法、装置和计算机可读存储介质
JP7184569B2 (ja) * 2018-09-03 2022-12-06 ヤフー株式会社 情報処理装置、情報処理方法、およびプログラム
US11494990B2 (en) * 2018-10-08 2022-11-08 Google Llc Hybrid placement of objects in an augmented reality environment
US10380440B1 (en) 2018-10-23 2019-08-13 Capital One Services, Llc Method for determining correct scanning distance using augmented reality and machine learning models
WO2020091096A1 (en) * 2018-10-30 2020-05-07 Samsung Electronics Co., Ltd. Methods for determining a planes, methods for displaying augmented reality display information and corresponding devices
US11010961B2 (en) 2019-01-11 2021-05-18 Microsoft Technology Licensing, Llc Object permanence in surface reconstruction
US11625806B2 (en) * 2019-01-23 2023-04-11 Qualcomm Incorporated Methods and apparatus for standardized APIs for split rendering
US11436384B2 (en) * 2019-01-24 2022-09-06 Autodesk, Inc. Computer-aided techniques for iteratively generating designs
DE102019109515A1 (de) * 2019-04-10 2020-10-15 HELLA GmbH & Co. KGaA Verfahren zum Zuordnen mindestens eines Objektmerkmals zu mindestens einer Teilpunktmenge einer 3D-Punktwolke
CN111815755B (zh) * 2019-04-12 2023-06-30 Oppo广东移动通信有限公司 虚拟物体被遮挡的区域确定方法、装置及终端设备
US10997728B2 (en) 2019-04-19 2021-05-04 Microsoft Technology Licensing, Llc 2D obstacle boundary detection
US11055919B2 (en) 2019-04-26 2021-07-06 Google Llc Managing content in augmented reality
WO2020219110A1 (en) * 2019-04-26 2020-10-29 Google Llc Managing content in augmented reality
US11151792B2 (en) * 2019-04-26 2021-10-19 Google Llc System and method for creating persistent mappings in augmented reality
US11074749B2 (en) * 2019-04-26 2021-07-27 Microsoft Technology Licensing, Llc Planar surface detection
US11163997B2 (en) 2019-05-05 2021-11-02 Google Llc Methods and apparatus for venue based augmented reality
JP2022533207A (ja) 2019-05-21 2022-07-21 マジック リープ, インコーポレイテッド 稠密3d再構築データのキャッシュおよび更新
US11030474B1 (en) 2019-05-28 2021-06-08 Apple Inc. Planar region boundaries based on intersection
EP3983996A1 (en) * 2019-06-17 2022-04-20 Ariel Ai, Inc. Scene reconstruction in three-dimensions from two-dimensional images
WO2020263471A1 (en) 2019-06-26 2020-12-30 Magic Leap, Inc. Caching and updating of dense 3d reconstruction data
US11238651B2 (en) * 2019-06-28 2022-02-01 Magic Leap, Inc. Fast hand meshing for dynamic occlusion
JP7376268B2 (ja) * 2019-07-22 2023-11-08 ファナック株式会社 三次元データ生成装置及びロボット制御システム
TWI709062B (zh) * 2019-09-20 2020-11-01 財團法人資訊工業策進會 虛實疊合方法與系統
WO2021117868A1 (ja) * 2019-12-13 2021-06-17 川崎重工業株式会社 ロボットシステム及びワークの3次元モデルの形成方法
TWI766218B (zh) * 2019-12-27 2022-06-01 財團法人工業技術研究院 三維平面重建方法、三維平面重建系統與計算裝置
US11763525B1 (en) * 2020-02-27 2023-09-19 Apple Inc. Blind object tracking using point clouds
US11367226B2 (en) * 2020-02-28 2022-06-21 The Johns Hopkins University Calibration techniques for aligning real-world objects to virtual objects in an augmented reality environment
US11727650B2 (en) * 2020-03-17 2023-08-15 Apple Inc. Systems, methods, and graphical user interfaces for displaying and manipulating virtual objects in augmented reality environments
JP2023527695A (ja) 2020-05-11 2023-06-30 マジック リープ, インコーポレイテッド 3d環境の合成表現を算出するための算出上効率的方法
CN113744378B (zh) * 2020-05-27 2024-02-20 成都数字天空科技有限公司 一种展览物品扫描方法、装置、电子设备及存储介质
WO2022006116A1 (en) * 2020-06-30 2022-01-06 Snap Inc. Augmented reality eyewear with speech bubbles and translation
EP3944192A1 (en) * 2020-07-22 2022-01-26 Dassault Systèmes Method for 3d scanning of a real object
CN112102342B (zh) * 2020-09-01 2023-12-01 腾讯科技(深圳)有限公司 平面轮廓识别方法、装置、计算机设备和存储介质
CN112308769B (zh) * 2020-10-30 2022-06-10 北京字跳网络技术有限公司 图像合成方法、设备及存储介质
CN114820835A (zh) * 2021-01-28 2022-07-29 索尼半导体解决方案公司 信息处理方法、信息处理装置和非易失性存储介质
CN114827434A (zh) * 2021-01-28 2022-07-29 索尼半导体解决方案公司 信息处理方法、信息处理装置和非易失性存储介质
US20220277472A1 (en) * 2021-02-19 2022-09-01 Nvidia Corporation Single-stage category-level object pose estimation
KR102451797B1 (ko) * 2021-06-01 2022-10-12 씨드로닉스(주) 타겟 객체를 모델링하는 모델링 방법, 모델링 장치 및 모델링 시스템
US11961184B2 (en) 2021-09-17 2024-04-16 Samsung Electronics Co., Ltd. System and method for scene reconstruction with plane and surface reconstruction
US11684848B2 (en) * 2021-09-28 2023-06-27 Sony Group Corporation Method to improve user understanding of XR spaces based in part on mesh analysis of physical surfaces
US11948244B2 (en) * 2022-02-11 2024-04-02 Shopify Inc. Augmented reality enabled dynamic product presentation
CN117765187B (zh) * 2024-02-22 2024-04-26 成都信息工程大学 基于多模态深度估计引导的单目隐神经的建图方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120093981A (ko) * 2010-03-10 2012-08-23 엠파이어 테크놀로지 디벨롭먼트 엘엘씨 증강 현실에서 동적 모델링에 의한 강건한 대상 인식

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6858826B2 (en) * 1996-10-25 2005-02-22 Waveworx Inc. Method and apparatus for scanning three-dimensional objects
JP3751770B2 (ja) * 1999-07-08 2006-03-01 富士通株式会社 3次元形状生成装置
JP3945279B2 (ja) * 2002-03-15 2007-07-18 ソニー株式会社 障害物認識装置、障害物認識方法、及び障害物認識プログラム並びに移動型ロボット装置
US8289321B2 (en) * 2004-03-17 2012-10-16 Sony Corporation Method and apparatus for detecting plane, and robot apparatus having apparatus for detecting plane
JP2006065608A (ja) * 2004-08-27 2006-03-09 Fuji Xerox Co Ltd 3次元モデル生成装置および方法
JP2006323608A (ja) * 2005-05-18 2006-11-30 Kozo Keikaku Engineering Inc 立体構造物群モデル作成装置、立体構造物群モデル作成方法及び立体モデル作成システム
DE102007045835B4 (de) 2007-09-25 2012-12-20 Metaio Gmbh Verfahren und Vorrichtung zum Darstellen eines virtuellen Objekts in einer realen Umgebung
US8311275B1 (en) * 2008-06-10 2012-11-13 Mindmancer AB Selective viewing of a scene
JP5217917B2 (ja) * 2008-11-07 2013-06-19 富士通株式会社 物体検知追跡装置,物体検知追跡方法および物体検知追跡プログラム
US8436872B2 (en) 2010-02-03 2013-05-07 Oculus Info Inc. System and method for creating and displaying map projections related to real-time images
US8570320B2 (en) 2011-01-31 2013-10-29 Microsoft Corporation Using a three-dimensional environment model in gameplay
US10972680B2 (en) * 2011-03-10 2021-04-06 Microsoft Technology Licensing, Llc Theme-based augmentation of photorepresentative view
JP5960796B2 (ja) 2011-03-29 2016-08-02 クアルコム,インコーポレイテッド ローカルマルチユーザ共同作業のためのモジュール式のモバイル接続ピコプロジェクタ
US10019962B2 (en) 2011-08-17 2018-07-10 Microsoft Technology Licensing, Llc Context adaptive user interface for augmented reality display
US9322950B2 (en) * 2011-09-29 2016-04-26 Voca As Method and apparatus for finding stick-up height of a pipe or finding a joint between two pipes in a drilling environment
US20130141419A1 (en) * 2011-12-01 2013-06-06 Brian Mount Augmented reality with realistic occlusion
US9330500B2 (en) * 2011-12-08 2016-05-03 The Board Of Trustees Of The University Of Illinois Inserting objects into content
KR101874895B1 (ko) 2012-01-12 2018-07-06 삼성전자 주식회사 증강 현실 제공 방법 및 이를 지원하는 단말기
US8917934B2 (en) * 2012-06-14 2014-12-23 International Business Machines Corporation Multi-cue object detection and analysis
US9417692B2 (en) * 2012-06-29 2016-08-16 Microsoft Technology Licensing, Llc Deep augmented reality tags for mixed reality
US9070194B2 (en) * 2012-10-25 2015-06-30 Microsoft Technology Licensing, Llc Planar surface detection

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120093981A (ko) * 2010-03-10 2012-08-23 엠파이어 테크놀로지 디벨롭먼트 엘엘씨 증강 현실에서 동적 모델링에 의한 강건한 대상 인식

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190058624A (ko) * 2016-10-05 2019-05-29 매직 립, 인코포레이티드 표면 모델링 시스템들 및 방법들
KR20210047977A (ko) * 2016-10-05 2021-04-30 매직 립, 인코포레이티드 표면 모델링 시스템들 및 방법들
KR20190014283A (ko) * 2017-07-31 2019-02-12 현대엠엔소프트 주식회사 차선 정보 생성 장치 및 방법
KR20200136432A (ko) * 2018-05-18 2020-12-07 이베이 인크. 물리적 객체 경계 검출 기술들 및 시스템들
US11830199B2 (en) 2018-05-18 2023-11-28 Ebay Inc. Physical object boundary detection techniques and systems
KR102074929B1 (ko) * 2018-10-05 2020-02-07 동의대학교 산학협력단 깊이 영상을 통한 평면 검출 방법 및 장치 그리고 비일시적 컴퓨터 판독가능 기록매체
WO2021137348A1 (ko) * 2019-12-31 2021-07-08 엔센스코리아주식회사 복수의 단말에서 3차원 공간정보를 공유하기 위한 공간맵 생성과 명령실행점 독출방법
WO2021137349A1 (ko) * 2019-12-31 2021-07-08 엔센스코리아주식회사 환경 기반 실-가상 정합 사물 배치를 위한 3차원 공간인식과 2차원 인지적 영역분할의 결합 방법 및 시스템
KR20220123734A (ko) * 2020-02-27 2022-09-08 애플 인크. 포인트 클라우드 클러스터들의 공간적 관계들
WO2022158834A1 (ko) * 2021-01-21 2022-07-28 삼성전자 주식회사 타겟 평면 검출 및 공간 추정을 위한 장치 및 방법
US11741676B2 (en) 2021-01-21 2023-08-29 Samsung Electronics Co., Ltd. System and method for target plane detection and space estimation
KR20220144554A (ko) * 2021-04-20 2022-10-27 한국전자통신연구원 혼합 현실에서의 물리 현상을 표현하기 위한 물리 현상 표현 방법 및 그 방법을 수행하는 혼합 현실 장치

Also Published As

Publication number Publication date
WO2015031854A3 (en) 2015-07-02
JP6423435B2 (ja) 2018-11-14
JP2016534461A (ja) 2016-11-04
KR101993920B1 (ko) 2019-06-27
US20150062120A1 (en) 2015-03-05
CN105493155B (zh) 2019-02-22
EP3039656A2 (en) 2016-07-06
CN105493155A (zh) 2016-04-13
WO2015031854A2 (en) 2015-03-05
EP3039656B1 (en) 2019-02-13
US9996974B2 (en) 2018-06-12

Similar Documents

Publication Publication Date Title
KR101993920B1 (ko) 물리적 장면을 표현하기 위한 방법 및 장치
US11798239B2 (en) Method and device for a placement of a virtual object of an augmented or mixed reality application in a real-world 3D environment
US11010965B2 (en) Virtual object placement for augmented reality
EP3039655B1 (en) System and method for determining the extent of a plane in an augmented reality environment
US9443353B2 (en) Methods and systems for capturing and moving 3D models and true-scale metadata of real world objects
CN109155082B (zh) 信息处理设备、信息处理方法和存储介质
US11508141B2 (en) Simple environment solver using planar extraction
JP5592011B2 (ja) マルチスケール3次元配向
CN107646109B (zh) 管理电子设备上的环境映射的特征数据
US9595125B2 (en) Expanding a digital representation of a physical plane
EP3594906B1 (en) Method and device for providing augmented reality, and computer program

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right