KR20140101396A - 실세계 객체들의 3d 모델들 및 실제 스케일 메타데이터를 캡처하고 이동시키기 위한 방법들 및 시스템들 - Google Patents

실세계 객체들의 3d 모델들 및 실제 스케일 메타데이터를 캡처하고 이동시키기 위한 방법들 및 시스템들 Download PDF

Info

Publication number
KR20140101396A
KR20140101396A KR1020147017913A KR20147017913A KR20140101396A KR 20140101396 A KR20140101396 A KR 20140101396A KR 1020147017913 A KR1020147017913 A KR 1020147017913A KR 20147017913 A KR20147017913 A KR 20147017913A KR 20140101396 A KR20140101396 A KR 20140101396A
Authority
KR
South Korea
Prior art keywords
model
setting
images
real
mobile device
Prior art date
Application number
KR1020147017913A
Other languages
English (en)
Other versions
KR101636027B1 (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 KR20140101396A publication Critical patent/KR20140101396A/ko
Application granted granted Critical
Publication of KR101636027B1 publication Critical patent/KR101636027B1/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
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • G06T15/205Image-based rendering
    • 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
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/04Architectural design, interior design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2021Shape modification

Abstract

일부 실시예들에서, 수정된 실세계 세팅이 어떻게 보일지를 시각화하는데 사용자에게 도움을 주기 위한 방법들 및 시스템들이 제공된다. 이미징 디바이스는 하나 또는 그보다 많은 객체들 또는 세팅들의 복수의 이미지들을 캡처할 수 있다. 이미지들을 기초로 각각의 객체 또는 세팅의 3차원 모델이 생성될 수 있다. 다음에, 이러한 모델들은 수정된 세팅의 실제 이미지를 생성하는데 사용될 수 있다. 예를 들어, 이미지는 세팅(예를 들어, 거실) 내의 추가 객체(예를 들어, 소파)와 함께 세팅을 디스플레이할 수 있다. 이미지가 세팅에서의 치수들에 비례하여 객체의 치수들을 정확히 나타낼 수 있다는 점에서, 이미지는 사실적일 수 있다. 세팅과 객체 모두에 대해 3차원 모델들이 생성되었기 때문에, 사용자는 예를 들어, 세팅 내의 객체를 다른 위치로 옮기고 그리고/또는 새로운 방향을 향하게 하고 세팅을 여러 시점들에서 보도록 이미지를 조종하는 것이 가능할 수 있다.

Description

실세계 객체들의 3D 모델들 및 실제 스케일 메타데이터를 캡처하고 이동시키기 위한 방법들 및 시스템들{METHODS AND SYSTEMS FOR CAPTURING AND MOVING 3D MODELS AND TRUE-SCALE METADATA OF REAL WORLD OBJECTS}
본 출원은 "METHODS AND SYSTEMS FOR CAPTURING AND MOVING 3D MODELS AND TRUE-SCALE METADATA OF REAL WORLD OBJECTS"라는 명칭으로 2011년 12월 1일자 제출된 미국 가출원 제61/565,663호, 그리고 "METHODS AND SYSTEMS FOR CAPTURING AND MOVING 3D MODELS AND TRUE-SCALE METADATA OF REAL WORLD OBJECTS"라는 명칭으로 2012년 7월 27일자 제출된 미국 비-가출원 제13/560,678호의 이익 및 우선권을 주장한다. 이러한 참조들 각각은 이로써 그 전체가 모든 의도들로 인용에 의해 포함된다.
서로 다른 세팅들에서 객체들을 구상하는 것은 여러 가지 상황들에서 빈번하게 마주하게 되는 어려운 작업이다. 예를 들어, 잠재적 구매자는 매장에 디스플레이된 소파가 자신의 거실에서 어떻게 보일지를 구상하길 원할 수도 있다. 그가 매장에 있는 소파의 색상을 좋아할 수도 있지만, 그것이 거실의 다른 엘리먼트들과 얼마나 어울릴지를 구상하는 것은 어려울 수도 있다.
일부 실시예들에서, 수정된 실세계 또는 가상 세팅이 어떻게 보일지를 시각화하는데 사용자에게 도움을 주기 위한 방법들 및 시스템들이 제공된다. 이미징 디바이스는 하나 또는 그보다 많은 객체들 또는 세팅들의 복수의 이미지들을 캡처할 수 있다. 이미지들을 기초로 각각의 객체 또는 세팅의 3차원 모델이 생성될 수 있다. 다음에, 이러한 모델들은 수정된 세팅의 실제 이미지를 생성하는데 사용될 수 있다. 예를 들어, 이미지는 세팅 내에 추가 객체를 갖는 세팅(예를 들어, 새로운 소파를 가진 실세계 거실 세팅의 증강 모델 또는 실세계 트럭을 가진 가상 비디오 게임 세팅의 증강 모델)을 디스플레이할 수 있다. 이미지가 세팅에서의 치수들에 비례하여 객체의 치수들을 정확히 나타낼 수 있다는 점에서, 이미지는 사실적일 수 있다. 또한, 이미지 기반 모델 생성은, 사용자가 세팅의 잠재적 수정을 정확히 구상할 수 있도록, 세팅의 그리고 객체의 색상들, 질감들 등의 정확한 묘사를 가능하게 할 수 있다. 추가로, 하나 또는 그보다 많은 모델들은, 예를 들어 특정 위치에 있는 객체가 안정적인지 여부, 그 객체가 다른 객체를 찌그러뜨릴지 여부, 특별한 힘이 가해지면 객체가 옮겨질 수 있는지 여부 등이 추정될 수 있도록, 다른 물리적 특성들(예를 들어, 질량 또는 밀도)의 추정치들을 포함할 수 있다. 세팅과 객체 모두에 대해 3차원 모델들이 생성될 수 있기 때문에, 사용자는 예를 들어, 세팅 내의 객체를 다른 위치로 옮기고 그리고/또는 새로운 방향을 향하게 하고 세팅을 여러 시점들에서 보도록 이미지를 조종하는 것이 가능할 수 있다. 일부 실시예들에서, 이미지 캡처, 모델 생성, 수정된 세팅 생성, 및 수정된 세팅의 디스플레이는 모두 단일 모바일 디바이스 상에서 수행된다.
일부 실시예들에서, 모바일 디바이스를 사용하여 증강 현실 세팅의 표현을 제시하기 위한 방법이 제공된다. 이 방법은, 실세계 객체의 복수의 이미지들을 나타내는 제 1 정보에 액세스하는 단계, 및 실세계 세팅의 복수의 이미지들을 나타내는 제 2 정보에 액세스하는 단계를 포함할 수 있다. 상기 방법은 또한, 상기 제 1 정보를 기초로 상기 객체의 객체 모델을 생성하는 단계, 및 상기 제 2 정보를 기초로 상기 세팅의 세팅 모델을 생성하는 단계를 포함할 수 있다. 상기 방법은 또한, 상기 세팅이 증강되어야 한다는 요청을 식별하는 사용자 입력을 나타내는 제 3 정보를 수신하는 단계, 및 상기 객체 모델 및 상기 세팅 모델을 기초로 수정된 세팅 모델을 생성하는 단계를 포함할 수 있다. 상기 방법은 여전히 추가로, 상기 수정된 세팅 모델을 상기 모바일 디바이스를 사용하여 제시하는 단계를 포함할 수 있다.
일부 실시예들에서, 실세계 객체들의 모델들을 공유하기 위한 방법이 제공된다. 이 방법은, 실세계 객체의 복수의 이미지들을 나타내는 제 1 정보에 액세스하는 단계를 포함할 수 있다. 상기 방법은 또한, 상기 제 1 정보를 기초로 상기 객체의 3차원 모델을 생성하는 단계, 및 상기 객체의 3차원 모델이 다른 사용자와 공유되어야 한다는 요청을 식별하는 사용자 입력을 나타내는 제 2 정보를 수신하는 단계를 포함할 수 있다. 상기 방법은 또한, 상기 3차원 모델을 네트워크를 통해 다른 모바일 디바이스로 전송하는 단계를 포함할 수 있다.
일부 실시예들에서, 모바일 디바이스를 사용하여 증강 현실 세팅의 표현을 제시하기 위한 시스템이 제공된다. 이 시스템은, 실세계 세팅의 이미지들과 실세계 객체의 이미지들을 캡처하도록 구성된 이미징 디바이스를 포함할 수 있다. 상기 시스템은 또한, 상기 실세계 객체의 이미지들을 기초로 상기 실세계 객체의 객체 모델을 생성하고 그리고 상기 실세계 세팅의 이미지들을 기초로 상기 실세계 세팅의 세팅 모델을 생성하도록 구성된 모델 생성기를 포함할 수 있다. 상기 시스템은 추가로, 상기 세팅이 증강되어야 한다는 요청을 식별하는 사용자 입력을 나타내는 정보를 수신하도록 구성된 사용자 입력 컴포넌트를 포함할 수 있다. 상기 시스템은 추가로, 상기 객체 모델 및 상기 세팅 모델을 기초로 수정된 세팅 모델을 생성하도록 구성된 모델 상호 작용기, 및 상기 수정된 세팅 모델을 제시하도록 구성된 디스플레이를 포함할 수 있다.
일부 실시예들에서, 모바일 디바이스를 사용하여 증강 현실 세팅의 표현을 제시하기 위한 시스템이 제공된다. 이 시스템은, 실세계 객체의 복수의 이미지들을 나타내는 제 1 정보에 액세스하기 위한 수단, 및 실세계 세팅의 복수의 이미지들을 나타내는 제 2 정보에 액세스하기 위한 수단을 포함할 수 있다. 상기 시스템은 또한, 상기 제 1 정보를 기초로 상기 객체의 객체 모델을 생성하기 위한 수단, 및 상기 제 2 정보를 기초로 상기 세팅의 세팅 모델을 생성하기 위한 수단을 포함할 수 있다. 상기 시스템은 추가로, 상기 세팅이 증강되어야 한다는 요청을 식별하는 사용자 입력을 나타내는 제 3 정보를 수신하기 위한 수단, 및 상기 객체 모델 및 상기 세팅 모델을 기초로 수정된 세팅 모델을 생성하기 위한 수단을 포함할 수 있다. 상기 시스템은 여전히 추가로, 상기 수정된 세팅 모델을 제시하기 위한 수단을 포함할 수 있다.
일부 실시예들에서, 실세계 객체의 복수의 이미지들을 나타내는 제 1 정보에 액세스하는 단계, 및 실세계 세팅의 복수의 이미지들을 나타내는 제 2 정보에 액세스하는 단계를 실행하는 프로그램을 포함하는 컴퓨터 판독 가능 매체가 제공된다. 이 프로그램은 또한, 상기 제 1 정보를 기초로 상기 객체의 객체 모델을 생성하는 단계, 및 상기 제 2 정보를 기초로 상기 세팅의 세팅 모델을 생성하는 단계를 실행할 수 있다. 상기 프로그램은 추가로, 상기 세팅이 증강되어야 한다는 요청을 식별하는 사용자 입력을 나타내는 제 3 정보를 수신하는 단계, 상기 객체 모델 및 상기 세팅 모델을 기초로 수정된 세팅 모델을 생성하는 단계, 및 상기 수정된 세팅 모델을 제시하는 단계를 실행할 수 있다.
일부 실시예들에서, 모바일 디바이스를 사용하여 증강 현실 세팅의 표현을 제시하기 위한 방법이 제공된다. 이 방법은, 실세계 객체의 복수의 이미지들을 기초로 상기 객체의 객체 모델에 액세스하는 단계 ― 상기 객체 모델은 상기 객체의 복수의 이미지들을 기초로 생성되었음 ―, 및 실세계 세팅의 복수의 이미지들을 기초로 상기 세팅의 세팅 모델에 액세스하는 단계 ― 상기 세팅 모델은 상기 세팅의 복수의 이미지들을 기초로 생성되었음 ―를 포함할 수 있다. 상기 방법은 또한, 상기 세팅이 증강되어야 한다는 요청을 식별하는 사용자 입력을 나타내는 정보를 수신하는 단계, 및 상기 세팅 모델 및 상기 객체 모델을 기초로, 수정된 세팅 모델을 생성하는 단계를 포함할 수 있다. 상기 방법은 추가로, 상기 수정된 세팅 모델을 제시하는 단계를 포함할 수 있다.
도 1은 일 실시예에 따라, 사용자가 수정된 실제 세팅을 시각화할 수 있게 하기 위한 방법을 나타낸다.
도 2는 일 실시예에 따라 모델을 생성하기 위한 방법을 나타낸다.
도 3a - 도 3c는 이미지들에 걸쳐 특징들을 식별하고 매칭시키는 예들을 보여준다.
도 4는 일 실시예에 따라 하나 또는 그보다 많은 모델들을 생성하기 위한 방법을 나타낸다.
도 5a - 도 5c는 새로운 객체로 세팅 모델을 증강시키기 위한 사용자 인터페이스의 예들을 보여준다.
도 6a - 도 6b는 모델 생성 및/또는 수정 시스템과 상호 작용하기 위한 사용자 인터페이스의 예들을 보여준다.
도 7은 일 실시예에 따라 가상 세팅 모델을 증강시키는 방법을 보여준다.
도 8은 일 실시예에 따라 3차원 모델들을 생성, 수정 및/또는 디스플레이하기 위한 시스템을 보여준다.
도 9는 일 실시예에 따라 3차원 모델들을 생성, 수정 및/또는 디스플레이하기 위한 시스템을 보여준다.
도 10은 컴퓨터 시스템의 실시예를 나타낸다.
일부 실시예들에서, 수정된 실세계 또는 가상 세팅이 어떻게 보일지를 시각화하는데 사용자에게 도움을 주기 위한 방법들 및 시스템들이 제공된다. 이미징 디바이스는 하나 또는 그보다 많은 객체들 또는 세팅들의 복수의 이미지들을 캡처할 수 있다. 예를 들어, 다수의 개별 이미지들(예를 들어, 사진들)들이 캡처될 수도 있고, 또는 비디오들이 캡처될 수도 있으며, 다수의 프레임들이 식별될 수 있다(예를 들어, 모든 프레임들이 자동으로 추출될 수도 있고, 규칙적인 간격의 프레임들이 추출될 수도 있고, 또는 구별 가능성, 명확성 등과 같은 특징들을 갖는 프레임들이 추출될 수도 있다). 이미지들을 기초로 각각의 객체 또는 세팅의 3차원 모델이 생성될 수 있다. 다음에, 이러한 모델들은 수정된 세팅의 실제 이미지를 생성하는데 사용될 수 있다. 예를 들어, 이미지는 세팅 내에 추가 객체를 갖는 세팅(예를 들어, 새로운 소파를 가진 실세계 거실 세팅의 증강 모델 또는 실세계 트럭을 가진 가상 비디오 게임 세팅의 증강 모델)을 디스플레이할 수 있다. 이미지가 세팅에서의 치수들에 비례하여 객체의 치수들을 정확히 나타낼 수 있다는 점에서, 이미지는 사실적일 수 있다. 또한, 이미지 기반 모델 생성은, 사용자가 세팅의 잠재적 수정을 정확히 구상할 수 있도록, 세팅의 그리고 객체의 색상들, 질감들 등의 정확한 묘사를 가능하게 할 수 있다. 추가로, 하나 또는 그보다 많은 모델들은, 예를 들어 특정 위치에 있는 객체가 안정적인지 여부, 그 객체가 다른 객체를 찌그러뜨릴지 여부, 특별한 힘이 가해지면 객체가 옮겨질 수 있는지 여부 등이 추정될 수 있도록, 다른 물리적 특성들(예를 들어, 질량 또는 밀도)의 추정치들을 포함할 수 있다. 세팅과 객체 모두에 대해 3차원 모델들이 생성될 수 있기 때문에, 사용자는 예를 들어, 세팅 내의 객체를 다른 위치로 옮기고 그리고/또는 새로운 방향을 향하게 하고 세팅을 여러 시점들에서 보도록 이미지를 조종하는 것이 가능할 수 있다. 일부 실시예들에서, 이미지 캡처, 모델 생성, 수정된 세팅 생성, 및 수정된 세팅의 디스플레이는 모두 단일 모바일 디바이스 상에서 수행된다.
도 1은 일 실시예에 따라, 사용자가 수정된 실제 세팅을 시각화할 수 있게 하기 위한 방법(100)을 나타낸다. 105에서, 복수의 이미지들이 캡처된다. 이미지들은 디지털 이미지들 또는 비-디지털 이미지들을 포함할 수 있다. 이미지들은 카메라(예를 들어, 모바일 디바이스 또는 모바일 전화 상의 카메라) 또는 다른 이미징 디바이스에 의해 캡처될 수 있다. 복수의 이미지들은 모두, 단일 객체, 다수의 객체들 및/또는 세팅을 포함할 수 있다. 여러 시점들에서 복수의 이미지들이 캡처될 수도 있다. 복수의 이미지들은 적어도 2개, 적어도 3개 또는 그보다 많은 이미지들을 포함할 수 있다. 어떤 경우들에는, 단일 이미지만이 캡처된다. 어떤 경우들에는, 비디오가 캡처되어, 복수의 이미지들로 변환될 수 있다.
일례로, 시스템이 캡처될 이미지들의 수를 결정하거나 제안한다. 그 다음에, 사용자가 (예를 들어, 모바일 디바이스 상의 디스플레이를 통해) 그 개수의 이미지들을 캡처하도록 지시를 받을 수 있다. 시스템은 일정한 또는 동적인 개수의 이미지들을 권고할 수 있다. 예를 들어, 캡처된 객체 또는 세팅이 크거나 복잡한 경우, 이전 이미지 품질이 열악했던 경우, (예를 들어, 줌, 이미지 중첩 또는 이미지 투시로 인해) 이전 이미지들이 객체 또는 세팅의 상당 부분들을 캡처하지 못하는 경우 등에는, 더 많은 이미지들이 권고 또는 요구될 수 있다. 시스템은 어떤 타입들의 이미지들을 얻을지에 관해 사용자에게 지시하거나 권할 수 있다(예를 들어, "객체의 뒤쪽 이미지를 캡처하시오"). 일례로, 사용자는 얼마나 많은 그리고/또는 어떤 타입들의 이미지들을 캡처할지를 결정한다. 객체의 전부 또는 일부의 더 많은 세부사항들을 캡처하는 것은 그 후에 생성되는 모델의 추정을 개선할 수 있다는 점이 사용자에게 통보될 수 있다. 일례로, 사용자 입력(예를 들어, 캡처된 이미지들의 수, 세팅 등)은 모델 및/또는 처리 노력(예를 들어, 모델을 생성 및/또는 사용하기 위한 계산 처리 노력)에서 상세 정도(degree)를 명시할 수 있다. 사용자 입력은 상세 정도와 처리 노력 간의 균형을 포함할 수 있다.
일반적으로, 적절한 이미지 캡처 품질 및 다양성으로, 추가 세부사항들의 캡처는, 그 후에 생성되는 모델이 이미징된 모델 또는 세팅의 시각적 모습 및/또는 구조에 관한 추가 세부사항을 포함하게 할 수 있다. 그러나 추가 이미지 캡처 세부사항들에 따라 처리 요건, 저장 공간 및 이미지 캡처 시간이 또한 증가할 수도 있다. 시스템 및/또는 사용자는 요구된 또는 제안된 이미지 캡처 수를, 원하는 세부사항, 처리 속도, 모델 목표들 등을 기초로 조정할 수 있다.
110에서, 모델 생성을 요청하는 사용자 입력이 수신된다. 어떤 경우들에는, 복수의 이미지들이 캡처된 후 입력이 수신된다. 예를 들어, 디바이스가 3개의 이미지들을 캡처할 수 있고, 디바이스가 이미지들을 저장할 수 있으며, 사용자가 이미지들을 선택할 수 있고, 사용자가 이미지들을 기초로 모델이 생성될 것이라고 나타낼 수 있다. 다른 예로서, 디바이스가 2개의 이미지들을 캡처할 수 있고, 다음에 사용자가 최근에 캡처된 이미지들을 기초로 모델이 생성될 것이라고 나타낼 수 있다. 어떤 경우들에는, 복수의 이미지들이 캡처되기 전에 입력이 수신된다. 예를 들어, 사용자가 모델 생성 옵션을 선택하고 디바이스를 사용하여 이미지들의 캡처를 진행할 수 있다. 어떤 경우들에는, 다수의 입력들(예를 들어, 이미지들이 캡처되기 전에 모델 선택을 요청하는 하나의 입력 및 모델링할 이미지들 내에서 객체를 식별하는 제 2 입력)이 수신된다. 입력은 생성될 모델의 타입(예를 들어, 세팅 또는 객체)을 포함할 수 있다. 입력은 모델링될 하나 또는 그보다 많은 이미지들 내에서 특정 객체를 식별할 수도 있다. 예를 들어, 사용자가 (예를 들어, 마우스, 터치 스크린 또는 화살표 선택을 통해) 이미지에서 객체를 지적할 수도 있고 또는 사용자가 이미지에서 객체 둘레에 테두리를 그릴 수도 있다.
115에서, 모델은 복수의 이미지들을 사용하여 생성될 수 있다. 복수의 이미지들 중 일부 또는 전부가 사용될 수 있다. 예를 들어, 열악한 이미지 품질의 이미지들이나 다른 이미지들의 실질적인 사본은 제외될 수 있다. 어떤 경우들에는, 적어도 2개 또는 적어도 3개의 이미지들이 모델을 생성하는데 사용된다. 뒤에 더 상세히 설명되는 바와 같이, 모델은 복수의 이미지들 및/또는 고유 이미징 디바이스 파라미터들(예를 들어, 초점 거리, 왜도 계수, 왜곡들, 주점(principal point) 등)에 적어도 부분적으로 기초하여 생성될 수 있다. 모델은 하나 또는 그보다 많은 객체들 및/또는 세팅의 모델을 포함할 수 있다. 어떤 경우들에, 세팅의 모델은 하나 또는 그보다 많은 객체들의 모델들을 포함한다. 예를 들어, 거실의 모델은 소파, 커피 테이블, 조명 및 텔레비전의 모델들; 객체들 간 거리들의 추정치들, 방 크기들 등을 포함할 수 있다. 생성되는 모델의 타입은 사용자 (예를 들어, 모델의 타입을 나타내는) 입력, 이미지 특성들(예를 들어, 캡처된 이미지들 내에 얼마나 많은 객체들이 존재하는지) 등을 기초로 할 수 있다.
120에서, 모델이 저장될 수 있다. 저장된 모델은 예를 들어, 하나 또는 그보다 많은 객체들의 실제 3차원 표현, 모델의 실세계 치수들의 추정치들, 모델과 연관된 이름, 모델과 연관된 그래픽 표현(예를 들어, 객체의 하나의 시점), 모델 생성 파라미터들, 모델을 생성하는데 사용되는 이미지들의 식별들, 모델 생성 및/또는 이미지 캡처 시간 등을 포함할 수 있다.
모델은 데이터베이스에 저장될 수 있다. 일부 실시예들에서, 객체 데이터베이스 및 세팅 데이터베이스와 같은 복수의 데이터베이스들이 존재한다. 복수의 데이터베이스들 중 하나에 모델이 저장될 수 있으며, 데이터베이스들 간의 선택은 예를 들어, 사용자 입력, 생성되는 모델의 타입 등을 기초로 한다. 예를 들어, 110에서 수신되는 사용자 입력은 객체의 모델 생성을 요청할 수 있다. 다음에, 생성된 모델이 객체 데이터베이스에 저장될 수 있다. 일부 실시예들에서는, 단일 데이터베이스가 존재한다. 일례로, 세팅 데이터베이스는 객체 데이터베이스 내에서 세팅에 있는 것과 같은 객체들을 식별하는 파라미터들, 객체 간 거리들, 객체 위치들, 세팅 파라미터들(예를 들어, 방 크기, 벽 색상, 카펫 질감 등)을 포함한다.
사용자는 하나 또는 그보다 많은 데이터베이스들에 저장된 모델들을 보고, 추가하고 그리고/또는 삭제하는 것이 가능할 수도 있다. 예를 들어, 사용자는 객체 데이터베이스에 저장된 모든 모델들의 표현들(예를 들어, 아이콘들이나 이름들)을 보고 특정 모델 객체들을 삭제하는 것이 가능할 수도 있다. 어떤 경우들에, 사용자들은 생성된 모델이 저장되기 전이나 후에 그 모델을 보고 그리고/또는 승인하는 것이 가능할 수도 있다. 예를 들어, 사용자는 모델 객체의 표현을 보고 이를 회전시키는 것이 가능할 수도 있다. 사용자가 모델에 만족하지 않는다면, 특정 입력들이 (예를 들어, 소파의 길이를 명시하고, 색상을 변경하는 등) 모델이 어떻게 개선될지를 표시할 수도 있고, 또는 사용자가 대안적인 또는 추가 이미지들을 캡처하여 새로운 모델의 생성을 가능하게 할 수도 있다.
도 1에 도시된 바와 같이, (예를 들어, 105-120을 반복함으로써) 복수의 모델들이 생성 및/또는 저장될 수 있다. 따라서 다수의 모델들(예를 들어, 적어도 하나의 세팅 모델 및/또는 적어도 하나의 객체 모델)의 데이터베이스가 생성될 수 있다.
도 1은 사용자에 의해 캡처된 이미지들을 기초로 모델들을 생성하여 저장하기 위한 기술을 나타내지만, 모델들은 또한 또는 대안으로 다른 방식들로 생성될 수도 있다. 예를 들어, 시스템이 하나 또는 그보다 많은 디폴트 모델들(예를 들어, "소파", "거실", "콜벳(Corvette)" 등)을 가질 수도 있다. 다른 사용자들의 이미지들로부터 또는 다른 사용자들의 코드들로부터 생성된 모델들이 (예를 들어, 무선 네트워크를 통해) 수신될 수도 있다.
125에서, 수정된 모델의 생성을 요청하는 사용자 입력이 수신될 수 있다. 요청된 수정은 앞서 설명된 사용자 요청 모델 개선과는 다르다. 모델 개선은 모델의 정확도 개선에 관련되는데 반해, 모델 수정은 그렇지 않다. 예를 들어, 모델 수정은 (세팅 관련 이미지들에 존재하지 않았던) 추가 객체를 세팅에 포함하도록 세팅 모델을 변경하는 것, 세팅에서 객체를 삭제하는 것, 세팅 내에서 객체를 이동시키는 것, 세팅 내의 한 객체를 다른 객체와 교환하는 것 등을 포함할 수 있다. 125에서 수신되는 사용자 입력은 예를 들어, 특정 타입의 수정(예를 들어, "추가 객체를 포함하도록 세팅 수정"), 일반적인 수정("세팅 수정") 등을 요청하는 사용자 입력의 수신을 포함할 수 있다.
130에서, 하나 또는 그보다 많은 모델들을 선택하는 사용자 입력(들)이 수신된다. 예를 들어, 사용자는 수정될 세팅, 세팅에 추가될 객체, 세팅에서 삭제될 객체, 세팅 내에서 옮겨질 객체 등을 선택할 수 있다. 일례로, 선택을 가능하게 하기 위해 객체들 및/또는 세팅들의 표현들(예를 들어, 텍스트 또는 그래픽 표현들)이 사용자에게 제시된다. 예를 들어, 사용자가 자신이 세팅에 객체를 추가하고 싶다고 나타낸 후에는, 세팅 모델들 및 객체 모델들의 시각적 표현들이 (예를 들어, 디바이스 디스플레이를 통해) 사용자에게 제시되어 세팅 및 객체의 선택을 가능하게 할 수 있다. 다른 예로서, 사용자가 자신이 세팅 내에서 객체를 옮기고 싶다고 나타낸 후에는, 사용자에게 세팅 모델들의 표현들이 제시될 수 있고, 그 후 세팅 내의 객체들의 (독립적인 또는 세팅 내의) 표현들이 제시되어, 세팅 내에서 옮겨질 객체의 선택을 가능하게 할 수 있다.
일례로, 사용자가 (예를 들어, 증강, 객체 삭제, 객체 평행이동 등을 위해) 세팅 모델을 선택할 수도 있다. 일례로, 세팅 모델은 디폴트로 설정된다. 예를 들어, 사용자가 비디오 게임을 플레이하고 있을 수도 있다. 비디오 게임은 실세계 객체로 증강될 수 있는 세팅을 포함할 수 있다. 다음에, 사용자가 (예를 들어, 사용자의 이미지들로부터 생성되거나, 무선 네트워크를 통해 다른 사용자로부터 수신되는 등의) 실세계 객체의 모델을 선택할 수 있고, 가상 세팅에 객체가 추가될 수 있다.
추가 사용자 입력들이 수신될 수 있다. 예를 들어, 사용자가 세팅 내에서 객체를 삽입할 위치를 식별하는 것이 가능할 수 있다. 사용자는 객체를 세팅에 삽입하기 전 또는 후에 객체를 회전시키는 것이 가능할 수도 있다. 사용자가 세팅 내에서 객체를 옮길 최종 목적지 지점을 식별하는 것이 가능할 수도 있고, 또는 첫 번째 위치에서 다른 위치로 객체를 드래그할 수도 있다.
135에서, 선택된 모델들(예를 들어, 세팅 모델) 중 적어도 하나가 사용자 입력들에 따라 수정될 수 있다. 수정된 모델은, 현실에서 수정이 일어나야 한다면 모델이 어떻게 보일지에 관한 실제 표현을 포함할 수 있다. 예를 들어, 8 피트 길이 소파의 제 1 객체 모델이 생성되었고, 벽과 출입구 사이에 7 피트 공간을 갖는 거실의 제 2 세팅 모델이 생성되었다면, 소파를 포함했던 수정된 거실 세팅 모델은, 소파가 벽과 출입구 사이에 세로 방향으로 맞춰져 있다면 적합할 수 없었을 것이라는 점을 반영해야 한다. 다른 예로서, 가상 디폴트 모의 전쟁터 모델이 사용자의 신발 모델을 포함하도록 증강될 수 있다면, 그러한 사용자가 비디오 게임에서 자신의 신발을 던지는 것이 가능할 수도 있다.
140에서, 수정된 모델이 디스플레이될 수 있다. 디스플레이는 모델의 2차원 표현을 포함할 수 있다. 디스플레이는 요청된 수정이 불가능할 때(예를 들어, 작은 세팅에 큰 객체 삽입) 사용자에 대한 경고를 포함할 수도 있다. 디스플레이는 수정시 세팅이 어떻게 보일 지의 시각적 추정을 포함할 수 있다. 디스플레이는 또한, (예를 들어, 세팅 내 다양한 객체들 간의 거리를 나타내는) 비현실적인 및/또는 텍스트 특징들을 포함할 수도 있다.
145에서, 사용자는 수정된 모델과 상호 작용하도록 허용될 수 있다. 예를 들어, 사용자는 모델의 새로운 시점이 보이도록, 디스플레이된 수정된 모델을 회전하는 것이 가능할 수도 있다. 사용자는 수정된 모델 내에서 객체들을 옮기고(예를 들어, 미끄러지게 하고, 던지고, 떨어뜨리고), 수정된 모델에서 객체들을 삭제하고, 수정된 모델 내에서 색상들(예를 들어, 벽 페인트)을 변경하는 등이 가능할 수도 있다. 사용자는 수정된 모델을 저장하거나 삭제하는 것이 추가로 가능할 수 있다.
어떤 경우들에는, 동적 그리고 유동적 프로세스에서 130-145가 결합된다. 예를 들어, 사용자가 수정될 세팅 모델을 선택할 수 있다. 세팅의 비교적 큰 표현이 디스플레이될 수도 있다. 선택된 세팅 모델의 더 큰 표현 옆에 객체 모델들의 작은 표현들이 디스플레이될 수도 있다. 다음에, 사용자는 객체들을 드래그하여 세팅에 떨어뜨리고, 객체들을 드래그하여 세팅으로부터 떨어뜨리고, 세팅 내에서 객체들을 옮기는 등이 가능할 수 있다.
일부 실시예들에서, 원래의 그리고/또는 수정된 모델들이 예를 들어, 네트워크(예를 들어, 무선 네트워크)를 통해 전송될 수 있다. 어떤 경우들에는, 하나 또는 그보다 많은 모델(들)이 하나 또는 그보다 많은 인터넷 사이트들에 전송될 수 있고 그리고/또는 다른 사용자들과 공유될 수 있다. 예를 들어, 파일 공유 사이트, 소셜 네트워킹 사이트, 경매 사이트(예를 들어, Craigslist), 판매 사이트(예를 들어, www.amazon.com) 등에 포스팅되도록 모델들이 전송될 수 있다. 마찬가지로, 사용자들이 모델들을 다운로드하는 것이 가능할 수도 있다. 예를 들어, 사용자가 가구점 웹사이트에 방문할 수 있다. 그 다음, 사용자가 소파의 모델을 컴퓨터 또는 모바일 디바이스에 다운로드하는 것이 가능할 수 있다. 그 다음, 객체는 세팅 모델을 수정하는데(예를 들어, 소파가 사용자 자신의 거실에서 어떻게 보일지를 추정하는데) 사용될 수 있다. 다른 예로서, 사용자들의 그룹이 비디오 게임의 플레이에 참여하게 될 수도 있다. 각각의 사용자는 실세계 객체들의 모델들을 생성하도록 허용될 수 있고, 무선 네트워크를 통해 (예를 들어, 무료로, 사용자들이 팀에 속해 있다면 무료로, 결제하여, 승인에 의해서만 등으로) 모델들이 교환될 수 있다. 게임은 모델링된 객체들로 세팅들을 증강하도록 구성될 수 있다.
도 2는 일 실시예에 따라 모델을 생성하기 위한 방법(200)을 나타낸다. 205에서, 복수의 이미지들이 (예를 들어, 네트워크를 통해 그리고/또는 로컬 또는 원격 데이터베이스로부터) 수신된다. 이러한 이미지들은 105에서 캡처된 것들과 같은 이미지들을 포함할 수 있다. 이미지들은 각각, 하나 또는 그보다 많은 객체들 또는 세팅들의 부분적 또는 전체 묘사를 포함할 수 있다. 이미지들은 서로 다른 시점들에 있을 수 있다. 복수의 이미지들은 적어도 또는 정확히 2개 또는 3개의 이미지들을 포함할 수 있다. 도 1의 105에 관해 설명한 바와 같이, 이미지들의 수는 고정적일 수도 또는 동적일 수도 있으며 그리고/또는 사용자 또는 시스템에 의해 결정될 수도 있다. 도 3a는 교회 객체의 하나의 이미지의 일례를 보여준다.
210에서, 이미지 특징들이 식별될 수 있다. 어떤 경우들에, 이미지 특징들의 식별은 하나 또는 그보다 많은 이미지들의 처리를 포함한다. 예를 들어, 이미지는 필터링, 크로핑(crop) 등이 이루어질 수 있다. 그 다음, 높은 또는 임계치보다 높은 공간 콘트라스트를 나타내고, 다른 특징들에서 분리되고, 이미지에서 다른 화소 밝기들과 비교하여 특이한 화소 밝기들을 나타내고, 이미지에서 다른 화소 밝기 패턴들과 비교하여 특이한 공간 화소 밝기 패턴들을 나타내고, 직선들을 포함하는 등의 이미지 부분들로서 이미지 특징들이 검출될 수 있다. 이미지 특징들은 하나 또는 그보다 많은 정성적(qualitative) 타입들의 특징들을 포함할 수 있다. 예를 들어, 하나 또는 그보다 많은 특징들은 에지, 특이한 질감, 모서리, 색상 패턴, 특이한 색상 등에 대응할 수 있다. 어떤 경우들에, 이미지 특징들은 어떠한 타입의 정성적 특징과도 연관되지 않는다. 컴퓨터 비전 기술들 및/또는 정량적 화소 분석이 특징들을 식별하는데 사용될 수도 있다.
어떤 경우들에는, 다차원 공간을 사용하여 이미지의 복수의 부분들 또는 영역들 각각이 특성화된다. 따라서 예를 들어, 제 1 차원은 영역 내 콘트라스트를 식별할 수 있고, 제 2 차원은 평균 상대적 화소 밝기를 식별할 수 있는 식이다. 영역들은 동일한 또는 서로 다른 형상들(예를 들어, 원들)이나 크기일 수 있으며, 중첩할 수도 아니면 중첩하지 않을 수도 있다. 다차원 공간 내에서의 분석을 기초로 가장 특이한 영역들이 식별될 수 있다. 도 3b는 (각각 빨간색으로 윤곽을 나타낸) 식별된 특징들을 갖는 하나의 이미지의 일례를 보여준다.
215에서, 이미지 유사성들이 식별될 수 있다. 다수의 이미지들에 존재하는 동일한 실세계 특징을 식별하기 위한 시도로 이미지 유사성들이 식별될 수 있다. 이미지 유사성들의 식별은 예를 들어, 복수의 이미지들 각각에서 이미지 특징들을 식별하고 특징들 중 하나 또는 그보다 많은 특징을 매칭시키는 것을 포함할 수 있다. 예를 들어, 이미지들이 서로 다른 시점들에서 캡처되었다면, 특징은 이미지 내 동일 위치에 존재하지 않을 수도 있다. 따라서 (예를 들어, 다수의 이미지들에서 유사한 공간 패턴들을 식별하는) 특징 품질들의 분석을 기초로 이미지 특징들이 매칭될 수 있다. 일부 실시예들에서, 이미지들은 예를 들어, 비슷한 휘도, 스케일 등을 갖도록 처리될 수 있다. 도 3c는 식별된 이미지 유사성들의 일례를 보여준다. 구체적으로, 묘사된 선들은 한 이미지의 특징을 다른 이미지의 대응하는 특징에 관련시키는 것으로서 도시된다.
220에서, 고유 이미징 디바이스 파라미터들(예를 들어, 카메라의 초점 거리, 렌즈 왜곡, 왜도 계수, 주점)이 추정될 수 있다. 이것들은 알려진 특성들일 수 있다. 예를 들어, 이러한 파라미터들이 저장되어, 수신된 이미지들 각각에 연관될 수 있다. 다른 예로서, 방법(200)을 수행하는 디바이스는 이미지들을 캡처한 것과 동일한 디바이스일 수 있으며, 이미지들을 캡처할 때 사용된 파라미터들을 알 수 있다.
225에서, 이미지들 및 유사성들을 기초로 객체 형상이 추정될 수 있다. 형상은 실제 비율들을 포함하는 부분적인 또는 완전한 3차원 형상을 포함할 수 있다. 이미지들의 서로 다른 시점들을 처리(account for)함으로써 형상이 추정될 수 있다. 예를 들어, 카메라가 제 2 이미지에서의 그 위치와 비교하여 제 1 이미지를 캡처하는 동안 다른 높이에 있고 기울어질 수 있다. 이미지 유사성들의 식별시, 사실적으로 비례가 맞춰진 객체 형상의 추정을 가능하게 하도록 시점이 추정될 수 있다. 일례로, 복수의 이미지들 각각에 대해 변환이 추정된다. 변환은 2차원 이미지가 3차원 이미지 공간으로 변환되게 할 수 있다. 식별된 이미지 유사성들 및/또는 고유 이미징 디바이스 파라미터들에 대해 적어도 부분적으로 변환이 계산될 수 있다. 일부 실시예들에서, 225는 삼각 측량 기술을 수반한다.
230에서, 파라미터들을 기초로 실제 객체 치수들이 식별될 수 있다. 일부 실시예들에서, 이미지 공간에 3차원 모델이 생성된다. 다음에, 이미지 공간은 파라미터들을 기초로 실제 또는 절대 공간으로 변환될 수 있다. 예를 들어, 카메라의 초점 거리를 식별함으로써, 객체의 하나 또는 그보다 많은 실제 치수들이 추정될 수 있다. 구체적으로, 센서에서 이미징된 치수는 초점 거리를 실제 객체 치수와 곱하여 렌즈 객체 간 거리로 나눈 것으로 근사화될 수 있다. 따라서 객체를 보여주는 복수의 객체들 및 초점 거리를 사용함으로써, 실제 객체 치수가 추정될 수 있다. 비슷한 기술이 225에서 추정된 3차원 형상의 다수의 치수들에 적용될 수 있는 배율 또는 스케일링 계수의 추정을 가능하게 할 수 있다.
이미지들은 복수의 객체들을 포함할 수 있다. 따라서 일부 실시예들에서, 225는 이미지들 내에서 별개의 객체들을 식별하는 것을 포함한다. 예를 들어, 각각의 이미지가 분석되어 이미지 내의 객체들을 식별할 수 있다. 다음에, 충분한 수의 이미지들로 표현된 객체들이 (예를 들어, 객체의 형상 및 치수들을 추정함으로써) 모델링될 수 있다. 어떤 경우들에는, 얼마나 많은 이미지들이 객체를 보여주는지에 무관하게 객체들이 모델링된다. 예를 들어, 단일 이미지를 기반으로 한 모델이 정확할 리가 없음을 나타내도록, 신뢰도 측정이 각각의 모델과 연관될 수 있다. 이는, 사용자가 복잡한 세팅의 모델에 관심이 있고 세팅 내 각각의 객체의 상세한 설명에는 관심이 없는 경우에 특히 유리할 수 있다.
방법(200)은 일반 색상, 공간 색상 분포, 질감 등과 같은 다른 객체 특성들을 추정을 더 포함할 수 있다.
도 4는 일 실시예에 따라 하나 또는 그보다 많은 모델들을 생성하기 위한 방법(400)을 나타낸다. 405에서, 복수의 이미지들이 수신된다. 이러한 이미지들은 105에서 캡처된 것들과 같은 이미지들을 포함할 수 있다. 이미지들은 각각, 하나 또는 그보다 많은 객체들 또는 세팅들의 부분적 또는 전체 묘사를 포함할 수 있다. 이미지들은 서로 다른 시점들에 있을 수 있다. 복수의 이미지들은 적어도 또는 정확히 2개 또는 3개의 이미지들을 포함할 수 있다. 도 1의 105에 관해 설명한 바와 같이, 이미지들의 수는 고정적일 수도 또는 동적일 수도 있다.
410에서, 이미지들이 객체인지 아니면 세팅인지가 결정될 수 있다. 이 결정은 부분적으로는 또는 완전히 (예를 들어, 캡처 이전 또는 이후에 이미지들을 "객체" 또는 "세팅"으로서 특성화하고; "거실" 또는 "table"과 같은 객체 타입 또는 세팅 타입 기술자(descriptor)들로 이미지들을 특성화하는 등의) 사용자 입력을 기초로 이루어질 수 있다. 이 결정은 부분적으로 또는 완전히 이미지 분석을 기초로 이루어질 수 있다. 예를 들어, 에지 검출 알고리즘이, 단일 객체가 사진들 중 하나, 그 이상 또는 전부의 상당 비율을 소비한다고 추정한다면, 이미지들이 객체라고 결정될 수 있고, 혹은 중심 화소들 또는 다수의 화소들이 (예를 들어, 색상, 질감 등이) 상당히 일관적이라면, 이미지들이 객체라고 결정될 수 있다.
이미지들이 객체라고 결정된다면, 방법(400)은 415에서 계속되어, 이미지들이 매칭된다. 구체적으로, 하나 또는 그보다 많은 객체 특징들 각각이 이미지들 중 하나, 2개 또는 그보다 많은 이미지에서 검출될 수 있다. 예를 들어, 객체 상부가 제 1 이미지에서는 화소 (5, 5)에서 화소 (5, 505)로 그리고 제 2 이미지에서는 화소 (10, 15)에서 화소 (20, 395)로 확장된다고 결정될 수 있다. 객체 특징들은 비-정성적 화소 그룹들 및/또는 예를 들어, 에지들, 특이한 질감들, 모서리들 등 중에서 하나 또는 그보다 많은 것을 포함할 수 있다.
매칭되는 이미지들에 적어도 부분적으로 기초하여, 420에서 객체의 형상이 추정될 수 있다. 형상은 3차원 형상을 포함할 수 있다. 모델은 사실적으로 비례가 맞춰질 수 있다. 예를 들어, 소파가 그 폭보다 3배 더 길었다면, 소파의 모델이 이 특징을 나타낼 수 있다.
425에서, 객체 치수들이 추정될 수 있다. 추정된 치수들은 사실적일 수 있다. 예를 들어, 소파가 7 피트 길이였다면, 모델은 비슷한 길이를 포함할 수 있다. 어떤 경우들에, 추정된 치수는 420에서 추정된 형상에 적용될 하나 또는 그보다 많은 스케일링 계수들의 추정을 포함한다. 치수들은 복수의 이미지들을 캡처한 이미징 디바이스에 고유한 파라미터들에 적어도 부분적으로 기초하여 추정될 수 있다. 예를 들어, 카메라 고유 특성들 및/또는 카메라 세팅들(예를 들어, 초점 거리, 렌즈 왜곡들, 왜도 계수, 주점 등)이, 이미징된 치수를 실제 치수로 변환하는데 사용될 수 있다. 어떤 경우들에는, 실세계 치수들은 추정되지 않는다. 예를 들어, 대신에 치수들은 이미지 공간 내에서만 (예를 들어, 카메라 고유 특성들을 기초로) 추정될 수 있다.
430에서, 객체의 치수가 아닌 다른 물리학 관련 특성들이 추정될 수 있다. 예를 들어, 객체의 질량 또는 밀도가 추정될 수 있다. 물리학 관련 특성들은 객체를 옮기거나 들어올리는데 필요한 필수적인 힘, 객체의 크러싱(crushing) 특성 등에 관련될 수 있다. 물리학 관련 특성들은 예를 들어, (예를 들어, 이미징된 표면을 기초로 객체가 나무로 만들어졌다고 추정하는) 객체의 추정된 재료, 데이터베이스 매칭, 및/또는 사용자 입력들을 기초로 추정될 수도 있다. 예를 들어, 사용자는 객체가 알루미늄으로 만들어진다고 입력할 수 있다. 알루미늄의 밀도를 검색하고 420과 425에서 추정된 형상 및 치수들을 기초로 객체의 부피를 추정함으로써 객체의 질량이 추정될 수도 있다. 다른 예로서, 객체 데이터베이스는 복수의 객체들의 형상들 및 재료들을 포함할 수도 있다. 따라서 이미징된 객체가 예를 들어, 그 형상 및 색상을 기초로 데이터베이스 객체들 중 하나에 대응하는 것으로서 식별될 수 있고, 그 다음에 데이터베이스에서 재료가 검색될 수 있다. 데이터베이스가 모든 타입들의 객체들을 포함할 수도 있고, 또는 개별 데이터베이스들이 서로 다른 타입들의 객체들에 사용될 수도 있다.
435에서, 객체 모델이 데이터베이스에 저장될 수 있다. 모델은 복수의 모서리 점들, 에지들, 표면들, 색상들, 질감들, 테두리들, 치수들, 스케일링, 무게, 밀도 등을 포함할 수 있다. 저장된 모델은 (예를 들어, 추정된 형상과 실세계 치수들 모두를 포함하는) 하나의 완벽한 3차원 모델을 포함할 수도 있다. 예를 들어, 소파의 모델은 소파의 평평한 바닥은 길이가 8 피트이고, 소파의 앞 부분은 높이가 2 피트이며, 소파의 쿠션은 깊이가 1 피트라는 등의 표시와 함께, 소파의 형상을 포함할 수 있다. 저장된 모델은 다수의 컴포넌트들(예를 들어, 어떤 컴포넌트는 객체의 형상을 나타내고, 다른 컴포넌트는 형상에 적용되어 이를 실세계 치수들로 변환할 수 있는 스케일링 계수를 나타냄)을 포함할 수 있다. 저장된 모델은 또한, 모델이 치수들, 질감들 등을 정확히 반영하지 않을 수도 있다고, 또는 모델이 객체의 모든 부분들을 완전히 반영하지는 않는다고 나타낼 수 있는 신뢰도 표시자를 포함할 수 있다. 예를 들어, 405에서의 이미지들이 열악한 품질이었거나 객체의 뒷면 묘사를 포함하지 않았다면, 모델과 연관된 신뢰도 표시자는 낮을 수도 있다.
410으로 돌아가서, 이미지들이 세팅이라고 결정된다면, 방법(400)은 440에서 계속된다. 440에서, 이미지들이 매칭된다. 440에서 수행된 매칭은 415에서 설명된 것들과 같은 하나 또는 그보다 많은 기술들을 포함할 수 있다. 어떤 경우들에, 매칭 기술들은 415과 400에서 동일하거나 비슷하다. 어떤 경우들에, 440에서의 매칭은 이미지들에 걸쳐 복수의 세팅 내부 객체들 각각으로부터의 특징들을 매칭시키는 것을 포함한다. 440에서 이미지들에 걸쳐 세팅 테두리들(예를 들어, 바닥들, 벽들, 천장들, 지면 등)이 매칭될 수도 있다. 따라서 일부 실시예들에서, 이미지들의 매칭은 세팅 내에서 하나 또는 그보다 많은 객체들 및/또는 테두리들의 식별 및 이미지들에 걸친 객체들 및/또는 테두리들의 매칭을 포함한다.
445에서, 세팅 내의 형상들이 추정된다. 형상들은 세팅 내에서의 객체들 또는 테두리들의 형상들을 포함할 수 있다. 각각의 객체 형상은 하나 또는 그보다 많은 3차원 형상들을 포함할 수 있다. 테두리 형상들은 2차원 형상 및 배향을 포함할 수 있다. 예를 들어, 벽은 3×4 종횡비를 갖는 직사각형이며 바닥에 대해 수직이라고 추정될 수 있다.
450에서, 세팅 치수들이 추정될 수 있다. 세팅 치수들은 (예를 들어, 425에서 설명된 것과 같은) 객체 치수들을 포함할 수도 있다. 세팅 치수들은 (객체 간 상당수의 거리들을 나타내는 더 치밀한 방법일 수도 있는) 객체 간 거리들 및/또는 객체 간 배향들을 포함할 수도 있다.
455에서, 하나 또는 그보다 많은 세팅 물리학 관련 특성들이 추정될 수 있다. 예를 들어, (예를 들어, 430에서 설명된 바와 같이) 세팅에서 하나 또는 그보다 많은 객체들의 질량, 밀도, 강성 또는 희박성(sparsity)이 추정될 수 있다.
460에서, 세팅 모델이 세팅 데이터베이스에 저장될 수 있다. 세팅 데이터베이스는 부분적으로 또는 완전히 객체 데이터베이스와 독립적일 수 있다. 일례로, 세팅 내의 각각의 객체는 독립적으로 모델링되어 객체 데이터베이스에 저장된다. 다음에, 세팅 데이터베이스는 특정 세팅, 객체 간 거리들, 테두리 형상들 등에 어떤 객체들이 연관되었는지의 표시들과 같은 추가 데이터를 저장할 수 있다. 저장된 세팅 모델 데이터는 객체 모델 데이터베이스와 관련하여 앞서 설명한 것과 같은 신뢰도 표시자를 포함할 수 있다.
일부 실시예들에서는, 410에서의 결정이 방법(400)에 포함되지 않는다. 예를 들어, 모든 이미지들은 항상, 마치 이들이 세팅을 묘사하는 것처럼 분석될 수 있다. 하나 또는 그보다 많은 객체들이 세팅 내에서 식별되어 독립적으로 모델링될 수 있다. 객체 데이터에 추가적인 세팅 데이터가 추가로 결정 및/또는 저장될 수 있다. 다른 예로서, 모든 이미지들은 항상, 마치 이들의 세팅을 묘사하는 것처럼 분석될 수 있다. 이는, 디폴트 세팅 모델들이 이미 생성된(예를 들어, 비디오 게임 프로그래머가 세팅 모델들을 생성했고, 사용자들은 단지 하나 또는 그보다 많은 객체들로 세팅들을 증강하는 능력을 가질 뿐인) 상황들에서 특히 바람직할 수 있다.
도 5a - 도 5c는 사용자들에게 모델들을 제시하고 그리고/또는 사용자들이 디바이스를 통해 모델들과 상호 작용할 수 있게 하는데 사용될 수 있는 사용자 인터페이스를 나타낸다.
도 5a는 사용자에게 메뉴 스크린을 제시한다. 복수의 세팅 모델들의 표현들이 사용자에게 제시된다. 도시된 바와 같이, 표현들은 세팅 또는 객체의 2차원 그래픽 표현을 포함한다. 표현은 예를 들어, 연관된 세팅 또는 객체의 모델을 생성하는데 사용되는 미가공 이미지, 세팅 또는 객체의 2차원 묘사, 세팅 또는 객체의 텍스트 설명(예를 들어, "거실" 또는 "세팅 1") 등을 포함할 수도 있다. 어떤 경우들에는, 모든 모델들이 유사한 방식으로 제시된다. 어떤 경우들에는, 객체 및 세팅 모델들이 개별적으로 제시된다. 어떤 경우들에는, 세팅 모델들만이 제시된다. 예를 들어, 마우스나 포인터를 사용하여 모델 표현을 클릭함으로써, 디바이스 키들(예를 들어, 화살표들)을 사용하여 세팅을 선택함으로써, 세팅이 표현되는 스크린을 터치함으로써 등으로 사용자가 모델을 선택하는 것이 가능할 수도 있다. 사용자에게 (예를 들어, 모델들의 결합, 하나 또는 그보다 많은 모델들의 추가, 모델 삭제, 모델 명칭 변경 등의) 다른 옵션들이 제시될 수도 있다. 도 5a는 제시된 세팅 모델들 중 하나를 (연관된 이미지를 터치함으로써) 선택하는 사용자의 일례를 보여준다.
도 5b에서, (예를 들어, 특정 세팅 모델의 선택에 응답하여) 세팅의 확대된 표현이 사용자에게 제시된다. 사용자는 예를 들어, 세팅으로부터 줌인 또는 줌아웃하고, 벽 색상들을 변경하고, 카펫들을 변경하는 등으로 세팅과 상호 작용하는 것이 가능할 수도 있다. 사용자가 세팅 치수들이나 세팅 내부 객체 치수들 및/또는 객체 간 거리들을 식별할 수 있도록, 하나 또는 그보다 많은 스케일 바(들) 및/또는 가상 측정 디바이스들이 제공될 수 있다.
사용자는 추가로, 세팅의 3차원 양상들을 수정하는 것이 가능할 수도 있다. 예를 들어, 세팅 내 3차원 객체들이 옮겨질 수 있고 그리고/또는 다시 배향될 수 있으며, 새로운 3차원 객체들이 세팅에 추가될 수도 있고, 3차원 객체들이 세팅에서 삭제될 수도 있다. 도 5b는 텔레비전을 터치하여 이를 원하는 목적지로 드래그함으로써 세팅 내에서 텔레비전 세트를 옮기는 사용자의 일례를 보여준다.
도 5b는 또한, 커피 테이블 객체가 세팅에 추가될 것임을 나타내는 사용자의 일례를 보여준다. 이 경우, 사용자는 객체의 표현을 세팅으로 드래그하고 있다. 어떤 경우들에는, 사용자가 단지 객체의 표현을 선택(예를 들어, 탭하거나 클릭)함으로써 하나 또는 그보다 많은 디폴트 위치들(예를 들어, 중앙 위치 또는 비어 있는 위치)에 객체를 추가할 수도 있다.
어떤 경우들에는, 사용자가 배치될 새로운 객체에 대한 위치 또는 세팅에 이미 디스플레이된 객체에 대한 새로운 위치를 명시한다. 사용자는 3차원 좌표들(예를 들어, 방 안에서의 실제 좌표들)을 입력하여 객체의 부분(예를 들어, 중앙, 모서리, 바닥 등)의 위치를 명시할 수도 있다. 다른 경우에, 사용자는 2차원 좌표들을 명시한다. 예를 들어, 사용자는 (예를 들어, 위치 결정을 터치하거나 클릭함으로써) 세팅의 2차원 묘사 내에서의 위치를 식별할 수도 있다. 사용자는 객체의 바닥이 세팅의 지면이나 바닥에 얹혀져 있도록 객체가 배치되는 것을 의도했다고 가정될 수 있다. 추가로, 식별된 위치는 객체의 바닥이나 중심에 대한 위치라고 가정될 수도 있다. 어떤 경우들에는, 사용자가 세팅을 가로질러 또는 세팅으로 객체를 드래그한다. 따라서 사용자가 객체의 제 1 부분을 클릭하고 이를 세팅 내의 위치로 드래그한다. 최종 위치는 객체의 제 1 부분이 배치될 위치일 수 있다. 예를 들어, 사용자가 커피 테이블 상부를 선택하여 이를 세팅으로 드래그한다면, 세팅은 커피 테이블의 바닥이 세팅의 바닥에 얹혀지도록, 그리고 선택된 커피 테이블 상부 지점이 최종 목적지 지점에 있도록 수정될 수 있다.
도시된 바와 같이, 사용자는 또한, (예를 들어, 이들을 세팅 바깥으로 드래그하거나 각각의 세팅 내부 객체와 구체적으로 연관된 삭제 옵션을 선택함으로써) 세팅 내의 객체들을 삭제하는 것이 가능할 수도 있다. 세팅에서 객체들을 삭제하거나 세팅 내에서 객체들을 옮기는 것은 세팅의 일부를 외삽하는 것을 포함할 수 있다. 예를 들어, 도 5b의 세팅에서 소파가 삭제된다면, 어떠한 이미지도 이러한 정보를 구체적으로 제공하지 않았다 하더라도, 소파 아래에서 세팅의 바닥이 어떻게 보일지가 예상될 수 있다. 어떤 경우들에, 이러한 외삽은 임의의 사용자 수정 이전에 수행되었다. 예를 들어, 세팅 모델의 생성은 (입수할 수 없는 세팅 부분들의 추정들 및/또는 외삽들에 의지하는) 기본 세팅 환경을 추정하고 세팅 내 개별 객체 모델들을 생성하는 것을 포함할 수 있다.
사용자가 세팅 내 객체들의 모델들을 수정하는 것이 가능할 수도 있다. 예를 들어, 사용자는 7 피트 소파를 8 피트 소파로 확장하는 것과 같이, 비현실적인 크기나 색상으로 의도적으로 객체의 크기를 조절하거나 색상을 조절하는 것이 가능할 수 있다.
일부 실시예들에서, (예를 들어, 세팅 또는 추가 객체들에서와 같이) 제시되는 객체들 및/또는 세팅들은 사용자에 의해, 디바이스에 의해 제공되거나 디바이스에 의해 처리되는 이미지들에 적어도 부분적으로 기초하여 모델링된 객체들일 수 있다. 즉, 예를 들어, 객체들은 일반 객체라기보다는 (예를 들어, 사용자 관심 대상인 소파의 특정 타입/스타일/크기/제품인) 특정 객체들일 수 있다. 추가 예들로서, 거실 세팅은 특정 카펫, 벽 장식들 등을 사용자의 거실로서 포함할 수 있다. 일부 실시예들에서, 제시된 객체들은 추가로 또는 대안으로, 사용자에 의해, 디바이스에 의해 제공되거나 디바이스에 의해 처리되는 이미지들을 기초로 하지 않는 더 일반적인 모델들을 포함한다. 예를 들어, 일반적인 소파나 거실이 제시될 수 있다. 사용자는 이러한 일반 객체들 및/또는 세팅들을 (예를 들어, 치수들, 색상들 등을 변경함으로써) 주문 제작하고, 이미지 기반 객체들 및/또는 세팅들에 대해 앞서 설명한 바와 같이 이들과 상호 작용하는 것이 가능할 수 있다.
도 5c에서, 세팅의 수정된 표현이 사용자에게 제시된다. 이 경우, 도 5b에 도시된 사용자 동작들에 응답하여, 수정된 세팅은, 대응하는 모델 생성 이미지들이 캡처된 시점에는 실제로 세팅에 존재하지 않았던 커피 테이블, 그리고 대응하는 모델 생성 이미지들이 캡처된 시점의 그 실제 위치와 비교하여 수정된 위치의 텔레비전 세트를 포함한다. 사용자는 수정된 세팅을 저장하고, 수정되지 않은 세팅으로 되돌리고, 세팅과 상호 작용(예를 들어, 세팅의 회전, 줌인, 추가 객체들의 추가, 객체들의 삭제, 객체들의 이동 등)하는 등이 가능할 수 있다.
도 6a - 도 6b는 모델 생성 및/또는 수정 시스템과 상호 작용하기 위한 사용자 인터페이스의 다른 예들을 보여준다. 도시된 바와 같이, 휴대용 전자 디바이스(600)는 이미지들을 보여줄 수 있는 디스플레이(605)를 포함할 수 있다. 이미지들은 디바이스에 의해 캡처된 이미지들을 포함할 수 있다. 디바이스는 모델 프로그램 옵션(610)을 포함할 수 있다.
사용자가 (예를 들어, 스크린 상의 연관된 시각적 아이콘을 터치함으로써) 모델 프로그램 옵션을 선택하면, 도 6b에 도시된 바와 같이 하나 또는 그보다 많은 옵션들이 사용자에게 제시될 수 있다. 예를 들어, 모델 생성 옵션이 (예를 들어, 모델 생성 아이콘을 디스플레이함으로써) 제시될 수도 있다. 이 옵션의 선택은 프로세로 하여금, 이미지로 디스플레이되는 하나 또는 그보다 많은 객체들의 모델을 생성하게 할 수 있다. 도 6b에 도시된 예에서는, 조각상의 모델이 생성될 수 있다.
(예를 들어, 측정 아이콘(620)을 디스플레이함으로써) 측정 옵션이 제시될 수도 있다. 이 옵션의 선택은 프로세서로 하여금, 이미지에서 치수의 측정을 결정하게 그리고/또는 측정을 디스플레이하게 할 수 있다. 예를 들어, 디스플레이되는 객체의 치수(예를 들어, 다비드 조각상의 높이 및/또는 폭)가 제시될 수도 있다. 어떤 경우들에, 이 아이콘의 선택은 사용자가 (예를 들어, 스크린 상에서 종점들을 선택함으로써) 본인이 측정하고 싶은 치수를 식별하게 할 것이다. 어떤 경우들에는, 가상 자(ruler)가 스크린 상에 나타나, 사용자가 이미지에서 치수들을 측정하게 할 것이다.
(예를 들어, 증강 아이콘(625)을 디스플레이함으로써) 증강 옵션이 제시될 수도 있다. 이 옵션의 선택은 이미지 또는 (예를 들어, 이미징되는) 세팅이 추가 객체를 포함하도록 수정되게 할 수 있다. 예를 들어, 디바이스는 하나 또는 그보다 많은 객체들의 모델을 저장할 수 있다. 사용자는 객체를 선택할 수 있다. 이미지의 세팅이 또한 모델링될 수 있다. 다음에, 세팅 모델은 객체를 포함하도록 증강될 수 있고, 증강된 모델이 사용자에게 디스플레이될 수 있다.
(예를 들어, 삭제 아이콘(630)을 디스플레이함으로써) 객체 삭제 옵션이 제시될 수도 있다. 이 옵션의 선택은 세팅 또는 이미지에서 하나 또는 그보다 많은 객체들이 삭제되게 할 수 있다. 예를 들어, 사용자는 객체를 클릭하거나 객체 둘레에 가상 박스를 형성하여, 세팅에서 객체가 삭제되어야 함을 나타내는 것이 가능할 수 있다. 세팅의 모델은 식별된 객체를 삭제하도록 수정될 수 있고, 수정된 모델이 사용자에게 디스플레이될 수 있다.
도 7은 일 실시예에 따라 가상 세팅 모델을 증강하기 위한 방법(700)을 나타낸다. 705에서, 가상 세팅 모델이 생성된다. 가상 세팅 모델은 가상 도시, 건물, 방, 전쟁터 등과 같은 비디오 게임 세팅을 포함할 수 있다. 가상 세팅 모델은 복수의 무생물 객체들을 포함할 수 있다. 어떤 경우들에, 가상 세팅 모델은 또한 비디오 게임 캐릭터들(예를 들어, 사용자 캐릭터들, 적 캐릭터들 등)과 같은 하나 또는 그보다 많은 생물 객체들을 포함한다. 가상 세팅 모델은 복수의 치수들(예를 들어, 장면 치수들, 세팅 내부 객체 치수들 등)로 특성화될 수 있다. 세팅 모델이 다른 실세계 객체 모델로 증강된다면, 상대적 치수들이 유의미하도록, 치수들이 적어도 꽤 현실적일 수 있다. 가상 세팅 내의 무생물 및/또는 생물 객체들은 질량, 밀도, 세기, 강성 등과 같은 물리학 관련 특성들과 연관될 수 있다.
710에서, 하나 또는 그보다 많은 사용자들이 하나 또는 그보다 많은 실세계 객체들의 모델들을 생성할 수 있다. 모델들은 예를 들어, 본 명세서에서 설명되는 기술을 사용하여 생성될 수 있다. 예를 들어, 사용자는 실세계 객체의 하나, 2개 또는 그보다 많은 이미지들을 캡처할 수 있다, 모델은 캡처된 이미지(들)를 기초로 생성될 수 있다.
객체 모델들이 사용자 디바이스 상에 그리고/또는 원격 서버 상에 저장될 수 있다. 객체 모델들은 이들의 생성을 시작한 사용자와 고유하게 연관될 수도 있고 혹은 연관되지 않을 수도 있다. 어떤 경우들에는, 715에서, 사용자들이 하나 또는 그보다 많은 객체 모델들을 공유할 수 있다. 공유는 사용자가 공유를 시작한 후 그리고/또는 자동으로 일어날 수 있다. 예를 들어, 모델들은 팀 멤버들 전체에 걸쳐 자동으로 공유될 수 있다. 객체 모델들의 공유는 사용자에 의한 승인 및/또는 사용자나 시스템에 대한 지불을 필요로 할 수도 있고 혹은 필요로 하지 않을 수도 있다. 객체 모델들은 네트워크를 통해 공유될 수 있다. 예를 들어, 웹사이트(예를 들어, 소셜 네트워킹 웹사이트)는 사용자들이 객체 모델들을 공유하게 할 수 있다. 웹사이트는 비디오 게임 회사에 의해 소유되거나 제어될 수도 있고 혹은 그렇지 않을 수도 있다.
어떤 경우들에는, 모델의 공유 자체가 최종 목표이다. 예를 들어, 누군가에게 당신이 자동차의 구입을 고려하고 있다고 말하거나, 자동차 사진을 그 사람에게 전송하는 대신에, 모델이 그 사람에게 전송될 수 있다. 이는 대상이 되는 객체에 대한 수신인의 이해를 개선할 수 있다. 따라서 이는 사진을 공유하기 위한 우수하고 보다 상세한 대체로서 사용될 수 있다. 어떤 경우들에는, 수신인 자체가 객체의 수신된 모델을 사용할 수도 있다. 예를 들어, 모델은 3D 인쇄에 또는 제조 규격으로서 사용될 수 있다. 다른 예들로서, 수신인이 모델과 상호 작용할 수도 있다.
720에서, 이용 가능한 객체 모델들이 사용자에게 제시될 수 있다. 예를 들어, 비디오 게임을 플레이하는 사용자는, 그 사용자에게 사용 가능한 객체 모델들을 식별하는 아이콘들, 이미지들 또는 설명들을 보는 것이 가능할 수 있다.
725에서, 제시된 객체 모델들 중 하나를 선택하는 사용자 입력이 수신된다. 예를 들어, 사용자는 마우스, 조이스틱, 비디오 게임 제어기 또는 터치 스크린을 사용하여 객체 모델의 표현을 선택할 수 있다.
730에서, 선택된 객체 모델로 가상 세팅 모델이 증강된다. 증강된 세팅 모델은 세팅 모델과 객체 모델 간의 적정한 치수 비율들로 인해 적어도 반-사실적으로 나타날 수 있다. 객체는 예를 들어, 가상 세팅에 존재하는 객체들 상에 오버레이로서 랜더링될 수 있다.
735에서, 사용자는 (예를 들어, 증강된 세팅 모델 내의 객체와 상호 작용함으로써) 증강된 세팅 모델과 상호 작용하도록 허용될 수 있다. 사용자가 세팅 모델로부터 객체를 옮기고, 회전하고, 들어올리고, 던지거나 삭제하는 것이 가능할 수도 있고, 그리고/또는 사용자가 모델 내의 다른 객체들(예를 들어, 가상 세팅 내부 객체들)이 추가된 객체와 접촉하게 하는 것이 가능할 수 있다. 예를 들어, 사용자가 가상 현실에서 추가된 객체를 옮기고, 떨어뜨리거나 던지는 것이 가능할 수도 있다. 객체 모델 및 세팅 모델의 치수들 및 물리학 관련 특성들이 주어지면, 이러한 가상 동작들의 영향이 적어도 다소 사실적일 수 있다. 따라서 예를 들어, 시스템은 객체의 추정된 무게 및 비디오 게임 캐릭터의 세기가 주어지면, 캐릭터가 객체를 얼마나 멀리 던질 수 있는지를 추정하는 것이 가능할 수 있고; 또는 시스템이 두 객체들 간의 충돌을 기초로 야기된 파괴의 양을 추정하는 것이 가능할 수 있다. 예를 들어, 사용자가 본인의 텔레비전 세트의 모델로 가상 세팅을 증강할 수 있다. 다음에, 비디오 게임 캐릭터가 텔레비전 세트에서 가상 세팅 앵그리버드, 공 등을 던질 수 있고, 다른 세팅 내부 객체 위에 떨어지는 객체의 추정된 질량 및 세팅 내부 객체의 세기가 주어지면, 텔레비전 세트는 떨어지는 객체에 의해, 텔레비전 세트와 연관된 추정된 물리학 관련 특성들을 기초로 한 현실적이지만 가상의 손상이나 파괴를 초래할 수 있다.
도 8은 일 실시예에 따라 3차원 모델들을 생성, 수정 및/또는 디스플레이하기 위한 시스템(800)을 보여준다. 이 시스템은, 전자 디바이스 및/또는 모바일 디바이스(예를 들어, 셀룰러폰, 스마트폰, 개인용 디지털 보조기기, 태블릿 컴퓨터, 랩톱 컴퓨터, 디지털 카메라, 핸드헬드 게임 디바이스 등)일 수도 있는 디바이스를 포함할 수 있다. 도시된 바와 같이, 시스템(800)은 사용자(810)에 의해 사용될 수 있는 셀룰러폰(805)을 포함한다. 디바이스(805)는, 디바이스가 데이터 및/또는 음성 통신들을 전송 및/또는 수신하게 할 수 있는 트랜시버(815)를 포함할 수 있다. 디바이스(805)는 (예를 들어, 트랜시버(815)를 통해) 네트워크(820)(예를 들어, 무선 네트워크 및/또는 인터넷)에 접속될 수 있다. 무선 네트워크를 통해, 디바이스(805)는 외부 서버(825)와 통신하는 것이 가능할 수 있다.
디바이스(805)는 마이크로폰(830)을 포함할 수 있다. 마이크로폰(830)은 모바일 디바이스(805)가 디바이스의 주변 물리적 환경으로부터의 오디오 데이터를 수집하거나 캡처하는 것을 가능하게 할 수 있다. 디바이스(805)는 (예를 들어, 통화 도중 다른 디바이스를 통해 사용자로부터 수신되거나, 사용자(810)에게 지시하거나 알리기 위해 디바이스에 의해 생성되는) 오디오 데이터를 발산하기 위한 스피커(835)를 포함할 수 있다. 디바이스(805)는 디스플레이(840)를 포함할 수 있다. 디스플레이(840)는 도 5a - 도 5c에 도시된 것과 같은 디스플레이 포함할 수 있다. 디스플레이(840)는 원래의 또는 수정된 모델들의 표현들, (예를 들어, 디바이스를 사용한 사용자의 이미지 캡처 이전의) 주변 환경의 동적 이미지들 등을 사용자에게 제시할 수 있다. 디스플레이(840)는 (예를 들어, 사용자(810)에게 새로운 모델의 생성, 모델의 수정, 수정된 모델의 저장, 모델의 시점 회전 등을 가능하게 하도록) 상호 작용 옵션들을 사용자(810)에게 제시할 수 있다. 디바이스(805)는 사용자 입력 컴포넌트들(845)을 포함할 수 있다. 사용자 입력 컴포넌트들(845)은 예를 들어, 버튼들, 키보드, 숫자 패드, 터치 스크린, 마우스 등을 포함할 수 있다. 사용자 입력 컴포넌트들(845)은 예를 들어, 사용자(810)가 세팅 모델을 수정하고 그리고/또는 예컨대, 도 5a - 도 5c에 도시된 상호 작용들을 가능하게 함으로써 생성 또는 수정되는 3차원 모델들과 상호 작용하게 할 수 있다. 도시되진 않았지만, 디바이스(805)는 또한, 이미징 컴포넌트(예를 들어, 카메라)를 포함할 수 있다. 이미징 컴포넌트는 예를 들어, 렌즈, 광원 등을 포함할 수 있다.
디바이스(805)는 프로세서(850)를 포함할 수 있고, 그리고/또는 디바이스(805)는 프로세서(855)를 가진 외부 서버(825)에 연결될 수 있다. 프로세서(들)(850 및/또는 855)는 앞서 설명한 임의의 프로세스들의 일부 또는 전부를 수행할 수 있다. 어떤 경우들에는, 모델 생성 및 모델 수정이 디바이스 상에서 로컬하게 수행된다. 어떤 경우들에는, 외부 서버의 프로세서(855)는 모델들의 생성, 수정 또는 디스플레이에 관련되지 않는다. 어떤 경우들에, 모델들은 외부 서버의 프로세서(855)를 사용하여 생성되고 원격 프로세서(850)를 사용하여 수정된다.
디바이스(805)는 저장 디바이스(860)를 포함할 수 있고, 그리고/또는 디바이스(805)는 저장 디바이스(865)를 가진 외부 서버(825)에 연결될 수 있다. 저장 디바이스(들)(860 및/또는 865)는 세팅 모델들 및/또는 객체 모델들과 같은 모델들을 저장할 수 있다. (원래의 그리고/또는 수정된 세팅 모델들을 포함할 수 있는) 세팅 모델들은, 객체 모델들을 저장하는 객체 모델 데이터베이스(875)와는 독립적인 세팅 모델 데이터베이스(870)에 저장될 수 있다. 대안으로, 모든 모델들이 단일 데이터베이스에 저장된다. 일례로, 모든 모델들은 객체 모델들로 분해될 수도 있다. 세팅 모델 데이터베이스는 객체들을 세팅들에 관련시키는(예를 들어, 세팅 내의 객체들, 세팅 치수들, 객체 간 거리들 등을 식별하는) 파라미터들을 저장할 수 있다. 저장 디바이스(들)(860 및/또는 865)는, 모델들을 생성하는데 사용되는 모든 이미지들, 디바이스(805)에 의해 얻어진 모든 이미지들, 사용자(810)에 의해 저장된 모든 이미지들 등과 같은 이미지들을 저장하기 위한 이미지 데이터베이스(880)를 포함할 수 있다.
도 9는 일 실시예에 따라 3차원 모델들을 생성, 수정 및/또는 디스플레이하기 위한 시스템(900)을 보여준다. 시스템(900)의 일부 또는 전부가 예를 들어, 하나 또는 그보다 많은 모바일 디바이스들 및/또는 전자 디바이스들(예를 들어, 모바일 전화들)로 통합될 수 있다. 시스템(900)의 일부 또는 전부가 원격 서버 및/또는 클라우드 서버에 통합될 수도 있다.
시스템(900)은 이미지들 및/또는 비디오들을 캡처하도록 구성될 수 있는 이미징 디바이스(905)를 포함한다. 이미징 디바이스(905)는 셀폰 카메라와 같은 카메라를 포함할 수 있다. 이미징 디바이스(905)는 사용자 입력 컴포넌트(910)를 통한 사용자로부터의 커맨드 수신시, 이미지들 및/또는 비디오들을 캡처하도록 구성될 수 있다. 예를 들어, 사용자가 이미지 수집 버튼을 클릭할 수도 있다.
이미징 디바이스(905)에 의해 캡처된 이미지들은 모델 생성기(915)에 의해 처리될 수 있다. 모델 생성기(915)는 이미지들을 자동으로 또는 사용자 입력 컴포넌트(910)를 통한 사용자로부터의 커맨드 수신시 처리할 수 있다. 모델 생성기(915)는 하나 또는 그보다 많은 이미지들을 기초로 세팅 및/또는 객체 모델을 생성하도록 구성될 수 있다. 본 명세서에서 설명된 모델 생성 기술들은 모델 생성기(915)에 의해 구현될 수 있다.
모델 생성기(915)는 이미지들 내에서 특징들을 식별하고 위치를 정하기 위한 특징 식별기(920)를 포함할 수 있다. 예를 들어, 특징 식별기(920)는 에지 검출기, 모서리 검출기, 하이 콘트라스트 검출기 등을 포함할 수 있다.
모델 생성기(915)는 이미지들에 걸쳐 특징들을 매칭시키도록 구성된 이미지 유사성 식별기(925)를 포함할 수 있다. 추정된 각각의 특징에 대해, 이미지 유사성 식별기(925)는 이미지들 각각에서 특징들의 이미지 기반 위치들을 서로 연관시킬 수 있다. 어떤 경우들에는, 이미지 유사성 식별기(925)가 매칭되는 특징들을 기초로 이미지들 간의 그리고/또는 이미지들과 현실 간의 변환을 식별한다.
모델 생성기(915)는 형상/치수 추정기(930)를 포함할 수 있다. 형상/치수 추정기(930)는 객체, 세팅 내의 객체 또는 세팅을 특성화하는 형상 및/또는 하나 또는 그보다 많은 치수들을 추정할 수 있다. 추정된 형상 및/또는 치수는 이미징 디바이스 파라미터들, 특징들의 이미지 기반 치수들, 특징들 간의 이미지 기반 거리들 등을 기초로 할 수 있다.
모델 생성기(915)는 객체, 세팅 내의 객체, 또는 장면의 물리학 관련 특성들을 추정할 수 있는 물리적 특성 추정기(935)를 포함할 수 있다. 예를 들어, 물리적 특성 추정기(935)는 객체의 질량, 밀도, 강성, 세기 등을 추정할 수 있다. 추정은 이미지들을 통해 명백한 시각적 특성들(예를 들어, 객체의 표면 상의 질감)을 기초로 또는 사용자 입력 컴포넌트(910)를 통해 수신된 사용자 입력을 기초로 할 수 있다. 어떤 경우들에, 물리적 특성 추정기(935)는 객체 및 재료 특성들을 포함하는 데이터베이스에 액세스한다. 물리적 특성 추정기(935)는 이미징된 객체의 아이덴티티(예를 들어, "3단 서랍 책상 #459")를 추정하고, 객체의 재료를 검색하며, 재료의 밀도를 기초로 객체의 질량을 추정한다. 데이터베이스들은 일반적으로 이용할 수 있는 품목들(예를 들어, 가구 품목들)에 대해 그리고/또는 (예를 들어, 매장이 해당 매장에서 판매되는 품목들에 대한 증강 모델 성능들을 제공할 수 있도록) 선택 매장들에 저장된 품목들에 대해 이러한 타입의 정보를 포함할 수 있다.
모델 생성기(915)에 의해 생성된 모델들은 모델 데이터베이스(940)에 저장될 수 있다. 모델 데이터베이스(940)는 어떤 경우들에는, 세팅들 및 객체들의 모델들을 포함할 수 있다. 어떤 경우들에는, 개별 데이터베이스들이 모델들 및 세팅들을 저장한다. 어떤 경우들에는, 하나의 데이터베이스가 객체들의 모델들을 저장하고, 다른 데이터베이스가 세팅을 형성하기 위해 객체들이 어떻게 결합되는지에 관한 표시들을 저장한다. 어떤 경우들에는, 객체 모델들만 또는 세팅 모델들만 저장된다.
다음에, 사용자는 모델 데이터베이스(940)에 저장된 모델들과 모델 상호 작용기(945)를 통해 상호 작용할 수 있다. 따라서 사용자는 사용자 입력 컴포넌트(910)를 통해 입력들을 기입할 수 있고, 그렇게 함으로써 하나 또는 그보다 많은 모델들과 상호 작용할 수 있다.
모델 상호 작용기(945)는 모델 수정기(950)를 포함할 수 있다. 모델 수정기(950)는 사용자가 예를 들어, 생성된 모델의 색상, 치수, 형상 등을 수정하게 할 수 있다. 예를 들어, 사용자는 소파 객체 모델을 흰색에서 갈색으로 수정할 수 있다. 따라서 모델 수정기(950)를 통해, 사용자가 객체 또는 세팅의 물리적 특성들에 관련된 모델 특성들을 수정하는 것이 가능할 수 있다.
모델 상호 작용기(945)는 세팅 모델 증강기(955)를 포함할 수 있다. 세팅 모델 증강기(955)는 객체 모델로 세팅 모델을 증강하도록 구성될 수 있다. 사용자는 증강될 세팅 모델 그리고 세팅 모델을 증강할 객체 모델을 선택할 수 있다. 증강된 세팅 모델은 두 모델들과 연관된 추정된 치수들로 인한 세팅과 객체 간의 실제 비율들을 포함할 수 있다.
모델 상호 작용기(945)는 세팅 내부 객체 삭제기(960)를 포함할 수 있다. 세팅 모델은 모델 내에 복수의 객체들을 포함할 수 있다. 사용자는 (예를 들어, 사용자 입력 컴포넌트(910)를 통해) 하나의 객체를 선택하여 그 객체가 삭제될 것을 요청할 수 있다. 그 다음, 세팅 내부 객체 삭제기(960)는 세팅에서 객체를 삭제할 수 있다.
모델 상호 작용기(945)는 세팅 내부 객체 조종기(965)를 포함할 수 있다. 세팅 내부 객체 조종기(965)(그리고 예를 들어, 사용자 입력 컴포넌트(910))를 통해, 사용자는 세팅 내의 객체를 옮기고, 떨어뜨리고, 미끄러지게 하고, 회전하는 것 등이 가능할 수도 있다. 객체는 세팅에 원래 존재하는 것 또는 세팅에 추가된 것일 수 있다. 모델 상호 작용 추정기(970)는 이러한 조종들의 영향을 추정할 수 있다. 예를 들어, 사용자가 하나의 객체를 다른 객체 위에 배치하려고 시도한다면, 모델 상호 작용 추정기(970)는 하부 객체가 찌그러질지 여부를 추정할 수 있고, 또는 사용자가 하나의 객체를 다른 체에 던지려고 시도한다면, 모델 상호 작용 추정기(970)는 접촉된 객체가 손상될지, 파괴될지, 기울어질지, 영향이 없을지 등을 추정할 수 있다. 어떤 경우들에, 조종의 영향은 캐릭터 세기에 의존한다. 예를 들어, 조종은 객체를 조종하려고 시도하는 비디오 게임 캐릭터를 포함할 수 있다. 조종의 영향은, 부분적으로는 캐릭터의 세기에 의존할 수 있다.
(예를 들어, 생성된 대로의, 또는 모델을 수정하거나, 모델을 증강하거나, 모델에서 객체를 삭제하거나, 세팅 내의 객체를 조종하도록 사용자가 모델과 상호 작용한 이후의) 모델들이 모델 트랜시버(975)에 의해 수신 및/또는 전송될 수 있다. 예를 들어, 모델들은 모델 공유 또는 소셜 네트워킹 웹사이트에 걸쳐 공유될 수 있다.
시스템(900)은 디스플레이(980)를 추가로 포함할 수 있다. 디스플레이(980)는 이미징 디바이스(905)에 의해 캡처된 이미지들, 모델 생성기(915)에 의해 생성된 모델들(940)의 표현들, 모델 상호 작용기(945)에 의해 수정된 상호 작용 후 또는 수정된 모델들의 표현들 등을 디스플레이할 수 있다. 디스플레이(980)는 추가로 사용자에게 명령들을 제시할 수도 있다.
도 10은 본 명세서에서 설명된 바와 같이 다양한 실시예들에 의해 제공되는 방법들을 수행할 수 있고 그리고/또는 본 명세서에서 설명된 것과 같은 하나 또는 그보다 많은 시스템 컴포넌트들을 포함할 수 있는 컴퓨터 시스템(1000)의 일 실시예의 개략도를 제공한다. 도 10은 다양한 컴포넌트들의 일반화된 예시를 제공하는 것으로만 여겨지며, 이러한 컴포넌트들 중 임의의 또는 모든 컴포넌트가 적절히 이용될 수 있다는 점이 주목되어야 한다. 따라서 도 10은 개별 시스템 엘리먼트들이 상대적으로 분리된 또는 상대적으로 더 집적된 방식으로 어떻게 구현될 수 있는지를 광범위하게 나타낸다.
버스(1005)를 통해 전기적으로 연결될 수 있는(또는 이와 달리 적절히 통신할 수도 있는) 하드웨어 엘리먼트들을 포함하는 컴퓨터 시스템(1000)이 도시된다. 하드웨어 엘리먼트들은, 하나 또는 그보다 많은 범용 프로세서들 및/또는 하나 또는 그보다 많은 특수 목적용 프로세서들(예컨대, 디지털 신호 처리 칩들, 그래픽 가속 프로세서들 등)을 한정 없이 포함하는 하나 또는 그보다 많은 프로세서들(1010); 마우스, 키보드 등을 한정 없이 포함할 수 있는 하나 또는 그보다 많은 입력 디바이스들(1015); 및 디스플레이 디바이스, 프린터 등을 한정 없이 포함할 수 있는 하나 또는 그보다 많은 출력 디바이스들(1020)을 포함할 수 있다.
컴퓨터 시스템(1000)은, 로컬 및/또는 네트워크 액세스 가능 저장소를 한정 없이 포함할 수 있고, 그리고/또는 디스크 드라이브, 드라이브 어레이, 광 저장 디바이스, 고체 상태 저장 디바이스, 예컨대 프로그램 가능할 수 있고, 플래시 업데이트 가능할 수 있는 등의 랜덤 액세스 메모리("RAM(random access memory)") 및/또는 판독 전용 메모리("ROM(read-only memory)")를 한정 없이 포함할 수 있는 하나 또는 그보다 많은 저장 디바이스들(1025)을 더 포함할 수 있다(그리고/또는 이들과 통신할 수 있다). 이러한 저장 디바이스들은 다양한 파일 시스템들, 데이터베이스 구조들 등을 한정 없이 포함하는 임의의 적절한 데이터베이스들을 구현하도록 구성될 수 있다.
컴퓨터 시스템(1000)은 또한, 모뎀, 네트워크 카드(무선 또는 유선), 적외선 통신 디바이스, 무선 통신 디바이스 및/또는 칩셋(예컨대, 블루투스
Figure pct00001
디바이스, 802.11 디바이스, 와이파이 디바이스, 와이맥스 디바이스, 셀룰러 통신 설비들 등) 등을 한정 없이 포함할 수 있는 통신 서브시스템(1030)을 포함할 수도 있다. 통신 서브시스템(1030)은 (한 가지만 예를 들면, 아래 설명되는 네트워크와 같은) 네트워크, 다른 컴퓨터 시스템들, 및/또는 본 명세서에서 설명된 임의의 다른 디바이스들과 데이터가 교환되게 할 수 있다. 많은 실시예들에서, 컴퓨터 시스템(1000)은 앞서 설명한 것과 같은 RAM 또는 ROM 디바이스를 포함할 수 있는 작업 메모리(1035)를 더 포함할 것이다.
컴퓨터 시스템(1000)은 또한, 운영 시스템(1040), 디바이스 드라이버들, 실행 가능 라이브러리들, 및/또는 다른 코드, 예컨대 다양한 실시예들에 의해 제공되는 컴퓨터 프로그램들을 포함할 수 있고, 그리고/또는 본 명세서에서 설명된 바와 같이, 다른 실시예들에 의해 제공되는 방법들을 구현하고 그리고/또는 시스템들을 구성하도록 설계될 수 있는 하나 또는 그보다 많은 애플리케이션 프로그램들(1045)을 비롯하여, 작업 메모리(1035) 내에 현재 위치하는 것으로 도시된 소프트웨어 엘리먼트들을 포함할 수 있다. 단지 예로서, 앞서 논의한 방법(들)에 관해 설명한 하나 또는 그보다 많은 프로시저들은 컴퓨터(및/또는 컴퓨터 내의 프로세서)에 의해 실행 가능한 코드 및/또는 명령들로서 구현될 수 있으며; 그러면 한 양상에서, 이러한 코드 및/또는 명령들은 설명한 방법들에 따라 하나 또는 그보다 많은 동작들을 수행하도록 범용 컴퓨터(또는 다른 디바이스)를 구성하고 그리고/또는 적응시키는데 사용될 수 있다.
이러한 명령들 및/또는 코드의 세트가 앞서 설명한 저장 디바이스(들)(1025)와 같은 컴퓨터 판독 가능 저장소 상에 저장될 수 있다. 어떤 경우들에, 저장 매체는 시스템(1000)과 같은 컴퓨터 시스템 내에 포함될 수도 있다. 다른 실시예들에서, 저장 매체는 컴퓨터 시스템(예를 들어, 콤팩트 디스크와 같은 착탈식 매체)과 별개일 수도, 그리고/또는 저장 매체가 범용 컴퓨터를 저장 매체 상에 저장된 명령들/코드로 프로그램하고, 구성하고 그리고/또는 적응시키는데 사용될 수 있도록, 설치 패키지로 제공될 수도 있다. 이러한 명령들은 컴퓨터 시스템(1000)에 의해 실행 가능한 실행 가능 코드의 형태를 취할 수도 있고 그리고/또는 소스 및/또는 설치 가능 코드의 형태를 취할 수도 있으며, 그렇다면 이들은 (예를 들어, 다양한 일반적으로 이용할 수 있는 컴파일러들, 설치 프로그램들, 압축/압축해제 유틸리티들 등 중에서 임의의 것을 사용하여) 컴퓨터 시스템(1000) 상에 컴파일 및/또는 설치시, 실행 가능 코드의 형태를 취한다.
특정 요건들에 따라 상당한 변형들이 이루어질 수도 있음이 해당 기술분야에서 통상의 지식을 가진 자들에게 명백할 것이다. 예를 들어, 맞춤형 하드웨어가 또한 사용될 수도 있고, 그리고/또는 특정 엘리먼트들이 하드웨어, (애플릿들 등과 같은 휴대용 소프트웨어를 포함하는) 소프트웨어, 또는 이 둘 모두로 구현될 수도 있다. 또한, 네트워크 입력/출력 디바이스들과 같은 다른 컴퓨팅 디바이스들에 대한 접속이 이용될 수도 있다.
앞서 언급한 바와 같이, 한 양상에서 일부 실시예들은 (컴퓨터 시스템(1000)과 같은) 컴퓨터 시스템을 이용하여 다양한 실시예들에 따른 방법들을 수행할 수 있다. 예를 들어, 컴퓨터 시스템은 방법(100), 방법(200), 방법(400) 또는 방법(700)의 일부 또는 전부를 수행할 수 있다. 또한, 시스템(800 또는 900)의 하나 또는 그보다 많은 컴포넌트들이 (개별적으로 또는 집합적으로) 컴퓨터 시스템(예를 들어, 컴퓨터 시스템(1000))을 포함할 수도 있다. 한 세트의 실시예들에 따르면, 작업 메모리(1035)에 포함된 (운영 시스템(1040) 및/또는 애플리케이션 프로그램(1045)과 같은 다른 코드로 통합될 수도 있는) 하나 또는 그보다 많은 명령들의 하나 또는 그보다 많은 시퀀스들을 실행하는 프로세서(1010)에 응답하여, 이러한 방법들의 프로시저들 중 일부 또는 전부가 컴퓨터 시스템(1000)에 의해 수행된다. 이러한 명령들은 저장 디바이스(들)(1025) 중 하나 또는 그보다 많은 저장 디바이스와 같은 다른 컴퓨터 판독 가능 매체로부터 작업 메모리(1035)로 판독될 수도 있다. 단지 예로서, 작업 메모리(1035)에 포함된 명령들의 시퀀스들의 실행은 프로세서(들)(1010)로 하여금 본 명세서에서 설명된 방법들의 하나 또는 그보다 많은 프로시저들을 수행하게 할 수 있다.
본 명세서에서 사용된 "기계 판독 가능 매체" 및 "컴퓨터 판독 가능 매체"라는 용어들은 특정한 방식으로 기계를 작동시키는 데이터의 제공에 관여하는 임의의 매체를 의미한다. 컴퓨터 판독 가능 매체 및 저장 매체는 일시적 전파 신호들을 의미하지 않는다. 컴퓨터 시스템(1000)을 사용하여 구현되는 실시예에서는, 다양한 컴퓨터 판독 가능 매체들이 실행을 위해 프로세서(들)(1010)에 명령들/코드를 제공하는데 수반될 수도 있고 그리고/또는 이러한 명령들/코드를 저장하는데 사용될 수도 있다. 많은 구현들에서, 컴퓨터 판독 가능 매체는 물리적 그리고/또는 유형의 저장 매체이다. 이러한 매체는 비-휘발성 매체들 또는 휘발성 매체들의 형태를 취할 수 있다. 비-휘발성 매체들은 예를 들어, 광 및/또는 자기 디스크들, 예컨대 저장 디바이스(들)(1025)를 포함한다. 휘발성 매체들은 동적 메모리, 예컨대 작업 메모리(1035)를 한정 없이 포함한다.
물리적 그리고/또는 유형의 컴퓨터 판독 가능 매체들의 일반적인 형태들은 예를 들어, 플로피 디스크, 플렉시블 디스크, 하드 디스크, 자기 테이프, 또는 임의의 다른 자기 매체, CD-ROM, 임의의 다른 광 매체, 펀치카드들, 종이 테이프, 구멍들의 패턴들을 가진 임의의 다른 물리적 매체, RAM, PROM, EPROM, FLASH-EPROM, 임의의 다른 메모리 칩 또는 카트리지 등을 포함한다.
앞서 논의한 방법들, 시스템들 및 디바이스들은 예들이다. 다양한 구성들이 다양한 프로시저들 또는 컴포넌트들을 적절히 생략, 치환 또는 추가할 수 있다. 예컨대, 대안적인 구성들에서, 방법들은 설명된 것과 다른 순서로 수행될 수도 있고, 그리고/또는 다양한 스테이지들이 추가, 생략 및/또는 결합될 수도 있다. 또한, 특정 구성들에 관해 설명한 특징들이 다양한 다른 구성들로 결합될 수도 있다. 구성들의 다른 양상들 및 엘리먼트들이 유사한 방식으로 결합될 수도 있다. 또한, 기술이 발전하고, 이에 따라 엘리먼트들 중 다수는 예들이며 개시 또는 청구항들의 범위를 한정하지는 않는다.
(구현들을 포함하는) 예시적인 구성들의 철저한 이해를 제공하도록 설명으로 특정 세부사항들이 주어진다. 그러나 구성들은 이러한 특정 세부사항들 없이 실행될 수도 있다. 예를 들어, 구성들을 모호하게 하는 것을 피하기 위해, 잘 알려진 회로들, 프로세스들, 알고리즘들, 구조들 및 기술들은 필요 이상의 세부사항 없이 도시되었다. 이 설명은 단지 예시적인 구성들을 제공할 뿐이며, 청구항들의 범위, 적용 가능성 또는 구성들을 한정하지는 않는다. 그보다는, 구성들의 상기의 설명은 설명된 기술들을 구현하기 위한 가능한 설명을 해당 기술분야에서 통상의 지식을 가진 자들에게 제공할 것이다. 본 개시의 사상 또는 범위를 벗어나지 않으면서 엘리먼트들의 기능 및 배치에 다양한 변경들이 이루어질 수 있다.
또한, 구성들은 흐름도 또는 블록도로서 도시된 프로세스로서 설명될 수 있다. 각각 동작들을 순차적 프로세스로서 설명할 수 있지만, 동작들 중 다수는 병렬로 또는 동시에 수행될 수 있다. 또한, 동작들의 순서는 재정렬될 수도 있다. 프로세스는 도면에 포함되지 않은 추가 단계들을 가질 수도 있다. 더욱이, 방법들의 예들은 하드웨어, 소프트웨어, 펌웨어, 미들웨어, 마이크로코드, 하드웨어 기술어들, 또는 이들의 임의의 결합에 의해 구현될 수도 있다. 소프트웨어, 펌웨어, 미들웨어 또는 마이크로코드로 구현될 때, 필수적인 작업들을 수행하기 위한 프로그램 코드 또는 코드 세그먼트들은 저장 매체와 같은 비-일시적 컴퓨터 판독 가능 매체에 저장될 수 있다. 프로세서들은 설명한 작업들을 수행할 수 있다.
여러 가지 예시적인 구성들을 설명했지만, 본 개시의 사상을 벗어나지 않으면서 다양한 수정들, 대안적인 구조들 및 등가물들이 사용될 수 있다. 예를 들어, 상기 엘리먼트들은 더 큰 시스템의 컴포넌트들일 수도 있으며, 여기서는 다른 규칙들이 애플리케이션보다 우선할 수도 있고 아니면 애플리케이션을 수정할 수도 있다. 또한, 상기 엘리먼트들이 고려되기 전, 고려되는 도중, 또는 고려된 후에 다수의 단계들이 착수될 수 있다. 따라서 상기 설명은 청구항들의 범위를 한정하지 않는다.

Claims (29)

  1. 모바일 디바이스를 사용하여 증강 현실 세팅의 표현을 제시하기 위한 방법으로서,
    실세계 객체의 복수의 이미지들을 나타내는 제 1 정보에 액세스하는 단계;
    실세계 세팅의 복수의 이미지들을 나타내는 제 2 정보에 액세스하는 단계;
    상기 제 1 정보를 기초로 상기 객체의 객체 모델을 생성하는 단계;
    상기 제 2 정보를 기초로 상기 세팅의 세팅 모델을 생성하는 단계;
    상기 세팅이 증강되어야 한다는 요청을 식별하는 사용자 입력을 나타내는 제 3 정보를 수신하는 단계;
    상기 객체 모델 및 상기 세팅 모델을 기초로 수정된 세팅 모델을 생성하는 단계; 및
    상기 수정된 세팅 모델을 상기 모바일 디바이스를 사용하여 제시하는 단계를 포함하는,
    모바일 디바이스를 사용하여 증강 현실 세팅의 표현을 제시하기 위한 방법.
  2. 제 1 항에 있어서,
    상기 실세계 객체의 비디오로부터 자동으로 프레임들을 추출하는 단계를 더 포함하며,
    추출된 프레임들은 상기 실세계 객체의 복수의 이미지들을 포함하는,
    모바일 디바이스를 사용하여 증강 현실 세팅의 표현을 제시하기 위한 방법.
  3. 제 1 항에 있어서,
    상기 객체 모델은 상기 객체의 추정된 질량 또는 밀도를 포함하는,
    모바일 디바이스를 사용하여 증강 현실 세팅의 표현을 제시하기 위한 방법.
  4. 제 3 항에 있어서,
    상기 모바일 디바이스의 사용자로부터 상기 객체의 추정된 질량 또는 밀도를 수신하는 단계를 더 포함하는,
    모바일 디바이스를 사용하여 증강 현실 세팅의 표현을 제시하기 위한 방법.
  5. 제 1 항에 있어서,
    상기 객체 모델에 포함되는 상세 정도(a degree of detail)는 상기 실세계 객체의 얼마나 많은 이미지들이 액세스되었는지에 좌우되는,
    모바일 디바이스를 사용하여 증강 현실 세팅의 표현을 제시하기 위한 방법.
  6. 제 1 항에 있어서,
    상기 객체 모델에 포함되는 상세 정도는 상기 모바일 디바이스의 사용자에 의한 입력을 나타내는 제 4 정보에 적어도 부분적으로 기초하여 결정되며,
    상기 모바일 디바이스의 사용자에 의한 입력은 상기 상세 정도와 상기 객체의 객체 모델의 생성과 연관된 처리 시간 간의 균형을 나타내는,
    모바일 디바이스를 사용하여 증강 현실 세팅의 표현을 제시하기 위한 방법.
  7. 제 1 항에 있어서,
    상기 실세계 객체의 복수의 이미지들을 캡처하는 단계; 및
    상기 실세계 세팅의 복수의 이미지들을 캡처하는 단계를 더 포함하는,
    모바일 디바이스를 사용하여 증강 현실 세팅의 표현을 제시하기 위한 방법.
  8. 제 1 항에 있어서,
    상기 방법은 그 전체가 상기 모바일 디바이스 상에서 수행되는,
    모바일 디바이스를 사용하여 증강 현실 세팅의 표현을 제시하기 위한 방법.
  9. 제 8 항에 있어서,
    상기 수정된 세팅 모델은 상기 모바일 디바이스를 통한 사용자로부터의 모델 수정 입력의 수신시 생성되는,
    모바일 디바이스를 사용하여 증강 현실 세팅의 표현을 제시하기 위한 방법.
  10. 제 8 항에 있어서,
    상기 객체 모델은 제 1 모델 생성 사용자 입력을 나타내는 제 1 모델 생성 정보의 수신시 생성되고,
    상기 세팅 모델은 제 2 모델 생성 사용자 입력을 나타내는 제 2 모델 생성 정보의 수신시 생성되는,
    모바일 디바이스를 사용하여 증강 현실 세팅의 표현을 제시하기 위한 방법.
  11. 실세계 객체들의 모델들을 공유하기 위한 방법으로서,
    실세계 객체의 복수의 이미지들을 나타내는 제 1 정보에 액세스하는 단계;
    상기 제 1 정보를 기초로 상기 객체의 3차원 모델을 생성하는 단계;
    상기 객체의 3차원 모델이 다른 사용자와 공유되어야 한다는 요청을 식별하는 사용자 입력을 나타내는 제 2 정보를 수신하는 단계; 및
    상기 3차원 모델을 네트워크를 통해 다른 모바일 디바이스로 전송하는 단계를 포함하는,
    실세계 객체들의 모델들을 공유하기 위한 방법.
  12. 제 11 항에 있어서,
    상기 3차원 모델은 상기 네트워크를 거쳐 소셜 네트워킹 웹사이트를 통해 전송되는,
    실세계 객체들의 모델들을 공유하기 위한 방법.
  13. 제 11 항에 있어서,
    상기 실세계 객체들의 모델들을 공유하기 위한 방법은 그 전체가 셀룰러폰 상에서 수행되는,
    실세계 객체들의 모델들을 공유하기 위한 방법.
  14. 모바일 디바이스를 사용하여 증강 현실 세팅의 표현을 제시하기 위한 시스템으로서,
    실세계 세팅의 이미지들과 실세계 객체의 이미지들을 캡처하도록 구성된 이미징 디바이스;
    상기 실세계 객체의 이미지들을 기초로 상기 실세계 객체의 객체 모델을 생성하고 그리고 상기 실세계 세팅의 이미지들을 기초로 상기 실세계 세팅의 세팅 모델을 생성하도록 구성된 모델 생성기;
    상기 세팅이 증강되어야 한다는 요청을 식별하는 사용자 입력을 나타내는 정보를 수신하도록 구성된 사용자 입력 컴포넌트;
    상기 객체 모델 및 상기 세팅 모델을 기초로 수정된 세팅 모델을 생성하도록 구성된 모델 상호 작용기; 및
    상기 수정된 세팅 모델을 제시하도록 구성된 디스플레이를 포함하는,
    모바일 디바이스를 사용하여 증강 현실 세팅의 표현을 제시하기 위한 시스템.
  15. 제 14 항에 있어서,
    상기 모델 상호 작용기는 상기 세팅 모델을 상기 객체로 증강시키도록 구성된 세팅 모델 증강기를 포함하는,
    모바일 디바이스를 사용하여 증강 현실 세팅의 표현을 제시하기 위한 시스템.
  16. 제 14 항에 있어서,
    상기 세팅 모델은 복수의 객체들의 모델들을 포함하며,
    상기 복수의 객체들 중 하나는 상기 실세계 객체인,
    모바일 디바이스를 사용하여 증강 현실 세팅의 표현을 제시하기 위한 시스템.
  17. 제 14 항에 있어서,
    상기 객체 모델은 상기 객체의 실세계 치수들을 포함하고,
    상기 세팅 모델은 상기 세팅의 실세계 치수들을 포함하는,
    모바일 디바이스를 사용하여 증강 현실 세팅의 표현을 제시하기 위한 시스템.
  18. 모바일 디바이스를 사용하여 증강 현실 세팅의 표현을 제시하기 위한 시스템으로서,
    실세계 객체의 복수의 이미지들을 나타내는 제 1 정보에 액세스하기 위한 수단;
    실세계 세팅의 복수의 이미지들을 나타내는 제 2 정보에 액세스하기 위한 수단;
    상기 제 1 정보를 기초로 상기 객체의 객체 모델을 생성하기 위한 수단;
    상기 제 2 정보를 기초로 상기 세팅의 세팅 모델을 생성하기 위한 수단;
    상기 세팅이 증강되어야 한다는 요청을 식별하는 사용자 입력을 나타내는 제 3 정보를 수신하기 위한 수단;
    상기 객체 모델 및 상기 세팅 모델을 기초로 수정된 세팅 모델을 생성하기 위한 수단; 및
    상기 수정된 세팅 모델을 제시하기 위한 수단을 포함하는,
    모바일 디바이스를 사용하여 증강 현실 세팅의 표현을 제시하기 위한 시스템.
  19. 제 18 항에 있어서,
    상기 수정된 세팅 모델은 상기 실세계 세팅의 치수들과 비교하여 상기 실세계 객체의 치수들의 비율을 정확히 반영하는,
    모바일 디바이스를 사용하여 증강 현실 세팅의 표현을 제시하기 위한 시스템.
  20. 제 18 항에 있어서,
    상기 세팅 모델과 상기 객체 모델 각각은, 개개의 모델과 연관된 전세계적인 공통 스케일 치수들을 나타내는 메타데이터를 포함하는,
    모바일 디바이스를 사용하여 증강 현실 세팅의 표현을 제시하기 위한 시스템.
  21. 제 18 항에 있어서,
    상기 객체의 복수의 이미지들 중 제 1 이미지로부터의 영역을 상기 객체의 복수의 이미지들 중 제 2 이미지로부터의 제 2 영역에 매칭시키기 위한 수단을 더 포함하며,
    매칭되는 영역들은 동일한 실세계 특징에 대응한다고 예측되는,
    모바일 디바이스를 사용하여 증강 현실 세팅의 표현을 제시하기 위한 시스템.
  22. 프로그램을 포함하는 컴퓨터 판독 가능 매체로서,
    상기 프로그램은,
    실세계 객체의 복수의 이미지들을 나타내는 제 1 정보에 액세스하는 단계;
    실세계 세팅의 복수의 이미지들을 나타내는 제 2 정보에 액세스하는 단계;
    상기 제 1 정보를 기초로 상기 객체의 객체 모델을 생성하는 단계;
    상기 제 2 정보를 기초로 상기 세팅의 세팅 모델을 생성하는 단계;
    상기 세팅이 증강되어야 한다는 요청을 식별하는 사용자 입력을 나타내는 제 3 정보를 수신하는 단계;
    상기 객체 모델 및 상기 세팅 모델을 기초로 수정된 세팅 모델을 생성하는 단계; 및
    상기 수정된 세팅 모델을 제시하는 단계를 실행하는,
    컴퓨터 판독 가능 매체.
  23. 제 22 항에 있어서,
    상기 수정된 세팅 모델은 상기 실세계 세팅에 존재하는 초기 객체를 상기 객체로 대체하도록 상기 세팅 모델을 수정함으로써 생성되는,
    컴퓨터 판독 가능 매체.
  24. 제 22 항에 있어서,
    상기 실세계 객체는 상기 실세계 세팅 내의 객체이고,
    상기 수정된 세팅 모델을 생성하는 단계는 상기 세팅 내에서 상기 객체를 이동시키는 단계를 포함하는,
    컴퓨터 판독 가능 매체.
  25. 제 22 항에 있어서,
    상기 실세계 객체는 상기 실세계 세팅 내의 객체이고,
    상기 수정된 세팅 모델을 생성하는 단계는 상기 세팅으로부터 상기 객체를 삭제하도록 상기 세팅 모델을 수정하는 단계를 포함하는,
    컴퓨터 판독 가능 매체.
  26. 모바일 디바이스를 사용하여 증강 현실 세팅의 표현을 제시하기 위한 방법으로서,
    실세계 객체의 복수의 이미지들을 기초로 상기 객체의 객체 모델에 액세스하는 단계 ― 상기 객체 모델은 상기 객체의 복수의 이미지들을 기초로 생성되었음 ―;
    실세계 세팅의 복수의 이미지들을 기초로 상기 세팅의 세팅 모델에 액세스하는 단계 ― 상기 세팅 모델은 상기 세팅의 복수의 이미지들을 기초로 생성되었음 ―;
    상기 세팅이 증강되어야 한다는 요청을 식별하는 사용자 입력을 나타내는 정보를 수신하는 단계;
    상기 세팅 모델 및 상기 객체 모델을 기초로, 수정된 세팅 모델을 생성하는 단계; 및
    상기 수정된 세팅 모델을 제시하는 단계를 포함하는,
    모바일 디바이스를 사용하여 증강 현실 세팅의 표현을 제시하기 위한 방법.
  27. 제 26 항에 있어서,
    상기 객체의 복수의 이미지들은 다른 모바일 디바이스의 사용자에 의해 캡처된,
    모바일 디바이스를 사용하여 증강 현실 세팅의 표현을 제시하기 위한 방법.
  28. 제 26 항에 있어서,
    상기 객체 모델은 웹사이트를 통해 액세스되는,
    모바일 디바이스를 사용하여 증강 현실 세팅의 표현을 제시하기 위한 방법.
  29. 제 26 항에 있어서,
    상기 객체 모델은 상기 모바일 디바이스의 사용자와 다른 디바이스의 사용자에 의해 공유되는 모델을 포함하는,
    모바일 디바이스를 사용하여 증강 현실 세팅의 표현을 제시하기 위한 방법.
KR1020147017913A 2011-12-01 2012-11-27 실세계 객체들의 3d 모델들 및 실제 스케일 메타데이터를 캡처하고 이동시키기 위한 방법들 및 시스템들 KR101636027B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201161565663P 2011-12-01 2011-12-01
US61/565,663 2011-12-01
US13/560,678 US9443353B2 (en) 2011-12-01 2012-07-27 Methods and systems for capturing and moving 3D models and true-scale metadata of real world objects
US13/560,678 2012-07-27
PCT/US2012/066622 WO2013082009A1 (en) 2011-12-01 2012-11-27 Methods and systems for capturing and moving 3d models and true-scale metadata of real world objects

Publications (2)

Publication Number Publication Date
KR20140101396A true KR20140101396A (ko) 2014-08-19
KR101636027B1 KR101636027B1 (ko) 2016-07-05

Family

ID=47427422

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147017913A KR101636027B1 (ko) 2011-12-01 2012-11-27 실세계 객체들의 3d 모델들 및 실제 스케일 메타데이터를 캡처하고 이동시키기 위한 방법들 및 시스템들

Country Status (6)

Country Link
US (1) US9443353B2 (ko)
EP (1) EP2786353B1 (ko)
JP (1) JP5833772B2 (ko)
KR (1) KR101636027B1 (ko)
CN (1) CN103975365B (ko)
WO (1) WO2013082009A1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190065933A (ko) * 2017-12-04 2019-06-12 주식회사 양파 공간 인식에 기반한 인테리어 플랫폼 제공 방법
US10587864B2 (en) 2013-09-11 2020-03-10 Sony Corporation Image processing device and method
KR102314556B1 (ko) * 2021-06-09 2021-10-19 대아티아이 (주) 객체 편집 기반 3d 역사 통합 편집 및 감시 시스템

Families Citing this family (68)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102369549B (zh) * 2009-03-04 2014-09-03 日本电气株式会社 用于估计物体位置的信息创建设备、用于估计物体位置的信息创建方法
US8886449B2 (en) 2012-01-13 2014-11-11 Qualcomm Incorporated Calibrated hardware sensors for estimating real-world distances
US20130201210A1 (en) * 2012-01-13 2013-08-08 Qualcomm Incorporated Virtual ruler
US9208577B2 (en) * 2012-06-25 2015-12-08 Adobe Systems Incorporated 3D tracked point visualization using color and perspective size
US20140081599A1 (en) * 2012-09-19 2014-03-20 Josh Bradley Visualizing dimensions and usage of a space
US9207759B1 (en) * 2012-10-08 2015-12-08 Edge3 Technologies, Inc. Method and apparatus for generating depth map from monochrome microlens and imager arrays
US20140253540A1 (en) * 2013-03-07 2014-09-11 Yoav DORI Method and system of incorporating real world objects into a virtual environment
US20140282220A1 (en) * 2013-03-14 2014-09-18 Tim Wantland Presenting object models in augmented reality images
US9355123B2 (en) 2013-07-19 2016-05-31 Nant Holdings Ip, Llc Fast recognition algorithm processing, systems and methods
US9760674B2 (en) * 2013-07-26 2017-09-12 Aetrex Worldwide, Inc. Systems and methods for generating orthotic device models from user-based data capture
US10346892B1 (en) * 2013-08-06 2019-07-09 Dzine Steps L.L.C. Method for dynamic visual design customization
US9704295B2 (en) * 2013-11-05 2017-07-11 Microsoft Technology Licensing, Llc Construction of synthetic augmented reality environment
US9514573B2 (en) * 2013-12-26 2016-12-06 Dassault Systemes Diminished reality
US9652887B2 (en) * 2014-01-22 2017-05-16 Hankookin, Inc. Object oriented image processing and rendering in a multi-dimensional space
US9501498B2 (en) 2014-02-14 2016-11-22 Nant Holdings Ip, Llc Object ingestion through canonical shapes, systems and methods
US10296663B2 (en) 2014-05-13 2019-05-21 Atheer, Inc. Method for moving and aligning 3D objects in a plane within the 2D environment
US11410394B2 (en) 2020-11-04 2022-08-09 West Texas Technology Partners, Inc. Method for interactive catalog for 3D objects within the 2D environment
CN104143212A (zh) * 2014-07-02 2014-11-12 惠州Tcl移动通信有限公司 基于穿戴设备的增强现实方法及系统
US10528961B2 (en) * 2014-08-20 2020-01-07 Virtual Moving Technologies System and method for estimating a move using object measurements
US10235807B2 (en) * 2015-01-20 2019-03-19 Microsoft Technology Licensing, Llc Building holographic content using holographic tools
KR102312334B1 (ko) * 2015-02-17 2021-10-13 삼성전자주식회사 프린팅 정보를 생성하는 디바이스 및 프린팅 정보를 생성하는 방법
US20160275723A1 (en) * 2015-03-20 2016-09-22 Deepkaran Singh System and method for generating three dimensional representation using contextual information
KR102326700B1 (ko) 2015-06-01 2021-11-16 엘지전자 주식회사 이동 단말기
CN105022306B (zh) * 2015-08-21 2017-06-16 盐城工学院 一种电动4d影院座椅运动强度的调节控制系统
US20170161404A1 (en) * 2015-12-04 2017-06-08 Wal-Mart Stores, Inc. Interior decorating system using three-dimensional and other properties of a space
US10089681B2 (en) 2015-12-04 2018-10-02 Nimbus Visulization, Inc. Augmented reality commercial platform and method
JP2017116297A (ja) * 2015-12-21 2017-06-29 株式会社ミツトヨ 画像測定方法及び画像測定機
WO2017168038A1 (en) 2016-03-31 2017-10-05 Umbra Software Oy Virtual reality streaming
CN105894585A (zh) * 2016-04-28 2016-08-24 乐视控股(北京)有限公司 一种远程视频的实时播放方法及装置
US10008024B2 (en) * 2016-06-08 2018-06-26 Qualcomm Incorporated Material-aware three-dimensional scanning
US11523886B2 (en) * 2016-08-19 2022-12-13 The Methodist Hospital Systems and methods for computer-aided orthognathic surgical planning
CN107067461A (zh) * 2016-12-24 2017-08-18 上海与德信息技术有限公司 室内立体图的构建方法及装置
US10499997B2 (en) 2017-01-03 2019-12-10 Mako Surgical Corp. Systems and methods for surgical navigation
CN110088785A (zh) * 2017-01-12 2019-08-02 株式会社日立物流 作业支援装置及作业支援方法
CN108510433B (zh) * 2017-02-28 2020-03-24 贝壳找房(北京)科技有限公司 空间展示方法、装置及终端
KR102402096B1 (ko) * 2017-03-27 2022-05-26 삼성전자주식회사 이미지 내 오브젝트와 관련된 정보를 제공하는 전자 장치
US20180350055A1 (en) * 2017-06-01 2018-12-06 Tesla, Inc. Augmented reality feature detection
US10304251B2 (en) 2017-06-15 2019-05-28 Microsoft Technology Licensing, Llc Virtually representing spaces and objects while maintaining physical properties
CN109419604A (zh) * 2017-08-29 2019-03-05 深圳市掌网科技股份有限公司 基于虚拟现实的下肢康复训练方法和系统
KR102431712B1 (ko) * 2017-09-04 2022-08-12 삼성전자 주식회사 전자장치, 그 제어방법 및 그 컴퓨터프로그램제품
KR102138980B1 (ko) * 2017-12-04 2020-07-28 (주)프론티스 디지털 컨텐츠 생성 방법 및 장치
US11127213B2 (en) 2017-12-22 2021-09-21 Houzz, Inc. Techniques for crowdsourcing a room design, using augmented reality
US11113883B2 (en) 2017-12-22 2021-09-07 Houzz, Inc. Techniques for recommending and presenting products in an augmented reality scene
WO2019150778A1 (ja) * 2018-01-30 2019-08-08 ソニー株式会社 情報処理装置、情報処理方法およびプログラム
JP6714633B2 (ja) * 2018-03-23 2020-06-24 パソナ・パナソニックビジネスサービス株式会社 Vrコンテンツ管理システム
JP7119853B2 (ja) * 2018-09-28 2022-08-17 凸版印刷株式会社 変更画素領域抽出装置、画像処理システム、変更画素領域抽出方法、画像処理方法及びプログラム
JP7119854B2 (ja) * 2018-09-28 2022-08-17 凸版印刷株式会社 変更画素領域抽出装置、画像処理システム、変更画素領域抽出方法、画像処理方法及びプログラム
KR102620702B1 (ko) 2018-10-12 2024-01-04 삼성전자주식회사 모바일 장치 및 모바일 장치의 제어 방법
EP3640767A1 (de) * 2018-10-17 2020-04-22 Siemens Schweiz AG Verfahren zum bestimmen mindestens eines bereichs in mindestens einem eingabemodell für mindestens ein zu platzierendes element
CN109472873B (zh) * 2018-11-02 2023-09-19 北京微播视界科技有限公司 三维模型的生成方法、装置、硬件装置
EP3671658A1 (en) * 2018-12-21 2020-06-24 XRSpace CO., LTD. Positioning method and reality presenting device
CN111354087A (zh) * 2018-12-24 2020-06-30 未来市股份有限公司 定位方法以及现实呈现装置
US10645275B1 (en) 2019-03-11 2020-05-05 Amazon Technologies, Inc. Three-dimensional room measurement process with augmented reality guidance
US10706624B1 (en) 2019-03-11 2020-07-07 Amazon Technologies, Inc. Three-dimensional room model generation using panorama paths with augmented reality guidance
US11024079B1 (en) 2019-03-11 2021-06-01 Amazon Technologies, Inc. Three-dimensional room model generation using panorama paths and photogrammetry
US10937247B1 (en) 2019-03-11 2021-03-02 Amazon Technologies, Inc. Three-dimensional room model generation using ring paths and photogrammetry
US10643344B1 (en) 2019-03-11 2020-05-05 Amazon Technologies, Inc. Three-dimensional room measurement process
EP3948840A4 (en) * 2019-03-18 2023-07-19 Geomagical Labs, Inc. VIRTUAL INTERACTION WITH THREE-DIMENSIONAL INTERIOR ROOM IMAGING
DE112020002268T5 (de) * 2019-05-06 2022-02-10 Apple Inc. Vorrichtung, verfahren und computerlesbares medium zur darstellung von dateien computergenerierter realität
US11436812B2 (en) * 2020-05-29 2022-09-06 Open Space Labs, Inc. Machine learning based object identification using scaled diagram and three-dimensional model
US20240013557A1 (en) * 2020-11-06 2024-01-11 Ppg Industries Ohio, Inc. Systems, methods, and interfaces for identifying coating surfaces
JP7432490B2 (ja) 2020-12-02 2024-02-16 株式会社Lixil オンライン接客システム、端末装置及びオンライン接客方法
CN112560155B (zh) * 2020-12-24 2023-10-03 杭州群核信息技术有限公司 一种家居设计中地脚模型的描述与生成方法
US11417054B1 (en) * 2021-03-17 2022-08-16 Facebook Technologies, Llc. Mixed reality objects in virtual reality environments
US20220319059A1 (en) * 2021-03-31 2022-10-06 Snap Inc User-defined contextual spaces
NO20210498A1 (en) * 2021-04-21 2022-10-24 Rayan Bargharar System for designing and redesigning a layout with furniture in a three-dimensional (3d) model
KR102594258B1 (ko) * 2021-04-26 2023-10-26 한국전자통신연구원 증강현실에서 실제 객체를 가상으로 이동하는 방법 및 장치
WO2023105784A1 (ja) * 2021-12-10 2023-06-15 日本電信電話株式会社 生成装置、生成方法及び生成プログラム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100080386A (ko) * 2008-12-29 2010-07-08 인텔 코오퍼레이션 물리적 객체를 물리적 실생활에서 가상 세계로 이송하는 시스템 및 방법
KR20110041383A (ko) * 2009-10-15 2011-04-21 엠파이어 테크놀로지 디벨롭먼트 엘엘씨 증강 현실에서의 구별 시행

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003216981A (ja) * 2002-01-25 2003-07-31 Iwane Kenkyusho:Kk 自動作業システム
US7301547B2 (en) * 2002-03-22 2007-11-27 Intel Corporation Augmented reality system
JP2004046326A (ja) 2002-07-09 2004-02-12 Dainippon Screen Mfg Co Ltd 画像表示装置、画像表示方法およびプログラム
JP3992629B2 (ja) 2003-02-17 2007-10-17 株式会社ソニー・コンピュータエンタテインメント 画像生成システム、画像生成装置、画像生成方法
JP2009001104A (ja) 2007-06-20 2009-01-08 Fujitsu Ten Ltd 追突被害軽減装置および追突被害軽減方法
US8737721B2 (en) * 2008-05-07 2014-05-27 Microsoft Corporation Procedural authoring
US8970690B2 (en) 2009-02-13 2015-03-03 Metaio Gmbh Methods and systems for determining the pose of a camera with respect to at least one object of a real environment
US20100257252A1 (en) 2009-04-01 2010-10-07 Microsoft Corporation Augmented Reality Cloud Computing
JP5423406B2 (ja) 2010-01-08 2014-02-19 ソニー株式会社 情報処理装置、情報処理システム及び情報処理方法
US8355601B2 (en) * 2010-01-15 2013-01-15 Seiko Epson Corporation Real-time geometry aware projection and fast re-calibration
US8683387B2 (en) 2010-03-03 2014-03-25 Cast Group Of Companies Inc. System and method for visualizing virtual objects on a mobile device
JP5573238B2 (ja) 2010-03-04 2014-08-20 ソニー株式会社 情報処理装置、情報処理法方法およびプログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100080386A (ko) * 2008-12-29 2010-07-08 인텔 코오퍼레이션 물리적 객체를 물리적 실생활에서 가상 세계로 이송하는 시스템 및 방법
KR20110041383A (ko) * 2009-10-15 2011-04-21 엠파이어 테크놀로지 디벨롭먼트 엘엘씨 증강 현실에서의 구별 시행

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Anton van Hengel, et al., ‘in situ image-based modeling’, IEEE International Symposium on Mixed and Augmented Reality 2009 Science and Technology Proceedings Orlando, Florida, USA, pp107-110 (2009.10.* *
Arik Hesseldahl, ‘Autodesk Brings AutoCAD to Android Phones and Tablets This Month’, 웹사이트: http://allthingsd.com/20110412/exclusive-autodesk- brings-autocad-to-android-phones-and-tablets/ 참조, (2011.04) *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10587864B2 (en) 2013-09-11 2020-03-10 Sony Corporation Image processing device and method
KR20190065933A (ko) * 2017-12-04 2019-06-12 주식회사 양파 공간 인식에 기반한 인테리어 플랫폼 제공 방법
KR102314556B1 (ko) * 2021-06-09 2021-10-19 대아티아이 (주) 객체 편집 기반 3d 역사 통합 편집 및 감시 시스템

Also Published As

Publication number Publication date
EP2786353B1 (en) 2020-04-15
CN103975365B (zh) 2017-05-24
US9443353B2 (en) 2016-09-13
WO2013082009A1 (en) 2013-06-06
KR101636027B1 (ko) 2016-07-05
EP2786353A1 (en) 2014-10-08
JP2015501044A (ja) 2015-01-08
CN103975365A (zh) 2014-08-06
US20130187905A1 (en) 2013-07-25
JP5833772B2 (ja) 2015-12-16

Similar Documents

Publication Publication Date Title
KR101636027B1 (ko) 실세계 객체들의 3d 모델들 및 실제 스케일 메타데이터를 캡처하고 이동시키기 위한 방법들 및 시스템들
US10755485B2 (en) Augmented reality product preview
CN109891365B (zh) 虚拟现实和跨设备体验
US10733801B2 (en) Markerless image analysis for augmented reality
US10587864B2 (en) Image processing device and method
JP6423435B2 (ja) 物理的光景を表すための方法および装置
CN105637559B (zh) 使用深度传感器的结构建模
US20140282220A1 (en) Presenting object models in augmented reality images
WO2013175700A1 (ja) 情報処理装置および情報処理方法
CN103914876B (zh) 用于在3d地图上显示视频的方法和设备
JP2011095797A (ja) 画像処理装置、画像処理方法及びプログラム
WO2019035155A1 (ja) 画像処理システム、画像処理方法、及びプログラム
CN110176197B (zh) 一种全息化展示方法、系统、存储介质及设备
JP7337428B1 (ja) 対象物の双方向な三次元表現の制御方法、制御装置及び記録媒体
CN115769260A (zh) 基于光度测量的3d对象建模
US11062422B2 (en) Image processing apparatus, image communication system, image processing method, and recording medium
JP2023171298A (ja) 拡張現実及び複合現実のための空間とコンテンツの適合
JP7445348B1 (ja) 情報処理装置、方法、プログラム、およびシステム
Kolivand et al. Livephantom: Retrieving virtual world light data to real environments
Vanoni et al. Intuitive visualization of reflectance transformation imaging for interactive analysis of cultural artifacts

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20190327

Year of fee payment: 4