KR101654174B1 - 전력 효율적 깊이 센서 용법을 가진 실시간 3d 재구성 - Google Patents

전력 효율적 깊이 센서 용법을 가진 실시간 3d 재구성 Download PDF

Info

Publication number
KR101654174B1
KR101654174B1 KR1020157023223A KR20157023223A KR101654174B1 KR 101654174 B1 KR101654174 B1 KR 101654174B1 KR 1020157023223 A KR1020157023223 A KR 1020157023223A KR 20157023223 A KR20157023223 A KR 20157023223A KR 101654174 B1 KR101654174 B1 KR 101654174B1
Authority
KR
South Korea
Prior art keywords
model
image
depth
camera
depth sensor
Prior art date
Application number
KR1020157023223A
Other languages
English (en)
Other versions
KR20150111999A (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 KR20150111999A publication Critical patent/KR20150111999A/ko
Application granted granted Critical
Publication of KR101654174B1 publication Critical patent/KR101654174B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • H04N13/0253
    • H04N13/0271
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/204Image signal generators using stereoscopic image cameras
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/204Image signal generators using stereoscopic image cameras
    • H04N13/254Image signal generators using stereoscopic image cameras in combination with electromagnetic radiation sources for illuminating objects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/271Image signal generators wherein the generated image signals comprise depth maps or disparity maps
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/08Indexing scheme for image data processing or generation, in general involving all processing steps from image acquisition to 3D model generation

Abstract

개시된 실시예들은 3D 재구성 동안 이동국들(MS)에서 자원 활용 효율성들을 조장한다. 몇몇 실시예들에서, MS 상의 카메라에 의해 캡처된 제 1 컬러 이미지에 대한 카메라 포즈가 얻어질 수 있고 부분적으로 제 1 컬러 이미지 및 연관된 카메라 포즈 정보에 기초하여 MS에 의해 모델링된 환경의 제 1 3차원(3D) 모델을 확장할지 업데이트할지에 대해 결정이 이루어질 수 있다. 카메라에 의해 캡처된 이미지들에 대한 깊이 정보를 제공하는 깊이 센서는, 제 1 3D 모델이 확장되거나 업데이트되지 못할 때 디스에이블될 수 있다.

Description

전력 효율적 깊이 센서 용법을 가진 실시간 3D 재구성{REAL-TIME 3D RECONSTRUCTION WITH POWER EFFICIENT DEPTH SENSOR USAGE}
[0001] 본 출원은 2014년 1월 22일 출원된 발명의 명칭이 "Real-Time 3D Reconstruction with Power Efficient Depth Sensor Usage"인 미국 출원 번호 14/161,140의 이익 및 우선권을 주장한다. 차례로, 미국 출원 14/161,140은 2013년 1월 30일에 출원된 발명의 명칭이 "Real-Time 3D Reconstruction with Power Efficient Depth Sensor Usage"인 미국 예비 출원 번호 61/758,699 및 2013년 2월 26일 출원된 발명의 명칭이 "Real-Time 3D Reconstruction with Power Efficient Depth Sensor Usage"인 미국 예비 출원 번호 61/769,465의 이익 및 우선권을 주장한다. 상기 식별된 미국 특허 출원들 모두는 그 전체가 인용에 의해 본원에 포함된다.
[0002] 본 개시는 일반적으로 모바일 디바이스들에서 전력 효율을 위한 장치 및 방법들에 관한 것이다.
[0003] 컴퓨터 비전 및 컴퓨터 그래픽들에서, 3D 재구성은 실제 물체들의 형상 및/또는 외관을 결정하는 프로세스이다. 3D 재구성은 다양한 타입들의 센서들로부터 얻어진 물체의 데이터 및/또는 이미지들에 기초할 수 있다. 예를 들어, 카메라들은 물체의 표면에 의해 반사되거나 물체의 표면으로부터 방사된 빛 또는 광을 측정하기 위하여 사용될 수 있고 그 다음 물체의 3D 구조 또는 모델은 카메라에 의해 캡처된 물체의 이미지들 및 다른 센서들에 의해 제공된 정보로부터 추론될 수 있다. 일반적으로, 용어 3D 모델은 본원에서 3D 환경의 표현을 지칭하기 위하여 사용된다.
[0004] 통상적으로, 3D 재구성에서, 디지털 이미지들의 세트는 3D 모델을 얻기 위하여 다른 지각 정보와 함께 배치(batch) 모드에서 오프라인 프로세싱되고, 3D 모델은 물체의 3D 메쉬(mesh) 형태를 취할 수 있다. 그러나, 3D 재구성이 종래에 계산적으로 비쌌었기 때문에, 이는 종종 오프라인 수행되었고 3D 재구성의 결과들은 통상적으로 훨씬 후에 이용 가능하였다. 따라서, 3D 재구성을 사용하는 실제 실시간 애플리케이션들은 지금까지 제한되었다.
[0005] 보다 최근에 실시간 또는 거의 실시간 3D 재구성은 증가된 프로세싱 능력, 진보된 알고리즘뿐 아니라, 새로운 형태들의 입력 데이터의 이용 가능성을 포함하는 팩터(factor)들의 결합으로 인해 관심을 끌었다. 사용자들은 이제, 캡처된 픽처(picture)들이 모바일 디바이스들을 포함하는, 컴퓨팅 디바이스들에 의해 빠르게 프로세싱되기 때문에 거의 실시간으로 3D 재구성에 대한 피드백을 얻을 수 있다. 그러나, 3D 재구성에 사용된 많은 기술들은 전력에 굶주리고 비교적 높은 전력 사용을 초래한다. 모바일 디바이스들에서, 예를 들어, 증가된 전력 소비는 전력원 또는 배터리를 소모시켜 3D 구성의 실제 적용 가능성이 제한된다.
[0006] 그러므로, 컴퓨팅 및 모바일 디바이스들에 대해 전력 효율적 실시간 3D 재구성을 가능하게 하는 장치, 시스템들 및 방법들에 대한 필요가 존재한다.
[0007] 몇몇 양상들에 따라, 모바일 디바이스 상에서 전력 효율적 실시간 3d 재구성을 위한 방법이 개시된다. 몇몇 실시예들에서, 이동국(MS)은 적어도 하나의 카메라 및 깊이 센서를 포함할 수 있고 방법은: 적어도 하나의 카메라를 사용하여 제 1 이미지를 캡처하는 단계 ― 제 1 이미지는 MS에 의해 모델링된 환경의 적어도 일부에 대한 컬러 정보를 포함함 ― 및 제 1 이미지에 대한 카메라 포즈(camera pose) 정보를 얻는 단계를 포함할 수 있다. 몇몇 실시예들에서, 방법은: 제 1 캡처된 이미지 및 제 1 이미지에 대한 카메라 포즈 정보에 부분적으로 기초하여, 환경의 제 1 3차원(3D) 모델을 확장시킬지를 결정하는 단계; 및 제 1 3D 모델이 확장되지 않을 때, 깊이 센서를 디스에이블링하는 단계를 더 포함할 수 있다.
[0008] 다른 양상에서, MS는 컬러 정보를 포함하는 제 1 이미지를 캡처할 수 있는 카메라, 카메라에 커플링된 깊이 센서, 및 깊이 센서 및 카메라에 커플링된 프로세서를 포함할 수 있다. 몇몇 실시예들에서, 프로세서는 제 1 이미지에 대한 카메라 포즈 정보를 얻고; 제 1 이미지 및 제 1 이미지에 대한 카메라 포즈 정보에 부분적으로 기초하여, MS에 의해 모델링된 환경의 제 1 3차원(3D) 모델을 확장할지를 결정하고; 그리고 제 1 3D 모델이 확장되지 않으면 깊이 센서를 디스에이블링하도록 구성될 수 있다.
[0009] 추가 양상에서, 개시된 실시예들은: 이미징 수단 ― 이미징 수단은 컬러 정보를 포함하는 제 1 이미지를 캡처하기 위한 것임 ―; 이미징 수단에 커플링된 깊이 감지 수단, 및 깊이 감지 수단 및 이미징 수단에 커플링된 프로세싱 수단을 포함하는 장치에 관련된다. 몇몇 실시예들에서, 프로세싱 수단은 제 1 이미지에 대한 이미징 수단 포즈 정보를 얻기 위한 수단; 제 1 이미지 및 제 1 이미지에 대한 이미징 수단 포즈 정보에 부분적으로 기초하여 장치에 의해 모델링된 환경의 제 1 3차원(3D) 모델을 확장할지를 결정하기 위한 수단; 및 제 1 3D 모델이 확장되지 않으면 깊이 감지 수단을 디스에이블링하기 위한 수단을 더 포함할 수 있다.
[0010] 개시된 실시예들은 또한 프로세서에 의해 실행될 때, 적어도 하나의 카메라 및 깊이 센서를 포함하는 MS 상에서의 방법 단계들을 수행하는 명령들을 포함하는 비-일시적 컴퓨터-판독가능 미디어에 관련된다. 몇몇 실시예들에서, 방법은 적어도 하나의 카메라를 사용하여 제 1 이미지를 캡처하는 단계 ― 제 1 이미지는 MS에 의해 모델링되는 환경의 적어도 일부에 대한 컬러 정보를 포함함 ― 및 제 1 이미지에 대한 카메라 포즈 정보를 얻는 단계를 포함할 수 있다. 몇몇 실시예들에서, 방법은 제 1 캡처된 이미지 및 제 1 이미지에 대한 카메라 포즈 정보에 부분적으로 기초하여, 환경의 제 1 3차원(3D) 모델을 확장할지를 결정하는 단계; 및 제 1 3D 모델이 확장되지 않을 때 깊이 센서를 디스에이블링하는 단계를 더 포함할 수 있다.
[0011] 다른 양상에서, 적어도 하나의 카메라 및 깊이 센서를 포함하는 이동국(MS) 상에서의 방법은: 적어도 하나의 카메라를 사용하여 제 1 이미지를 캡처하는 단계 ― 제 1 이미지는 MS에 의해 모델링된 환경의 적어도 일부에 대한 컬러 정보를 포함함 ―; 제 1 이미지에 대한 카메라 포즈 정보를 얻는 단계; 제 1 캡처된 이미지 및 제 1 이미지에 대한 카메라 포즈 정보에 부분적으로 기초하여, 환경의 제 1 3차원(3D) 모델을 업데이트할지를 결정하는 단계; 및 제 1 3D 모델이 업데이트되지 않을 때 깊이 센서를 디스에이블링하는 단계를 포함할 수 있다. 게다가, 깊이 센서를 디스에이블링하는 단계는 깊이 센서에 공급된 전력을 턴 오프하는 단계, 또는 깊이 이미지의 계산에 관련된 기능성을 디스에이블링하는 단계 중 적어도 하나를 포함할 수 있다. 방법은, 제 1 3D 모델이 업데이트될 때 깊이 센서를 인에이블링하는 단계를 더 포함할 수 있다. 깊이 센서를 인에이블링할 때, 제 1 3D 모델은: 적어도 하나의 카메라를 사용하여 제 2 이미지를 캡처하는 단계; 적어도 부분적으로 깊이 센서에 의해 제공된 깊이 정보를 사용하여 제 2 이미지를 증강(augment)함으로써 깊이 맵을 얻는 단계; 및 깊이 정보를 사용하여 제 1 3D 모델에서 볼륨 데이터(volumetric data) 세트를 업데이팅하는 단계에 의해 업데이트될 수 있다. 몇몇 실시예들에서, 볼륨 데이터세트는 3D TDSF(Truncated Signed Distance Function)에 의해 표현될 수 있다. 볼륨 데이터 세트는 카메라 포즈에 기초하여 3D TDSF의 샘플들을 깊이 맵에 투사하고; 샘플 위치로부터 볼륨 데이터세트에 의해 정의된 표면까지의 측정된 상대적 거리를 결정하고; 측정된 상대적 거리를 TDSF에 맵핑하고; 그리고 맵핑된 TDSF 값을 샘플에 대한 저장된 TDSF 값과 결합함으로써 업데이트될 수 있다.
[0012] 다른 양상에서, MS는 컬러 정보를 포함하는 제 1 이미지를 캡처할 수 있는 카메라, 카메라에 커플링된 깊이 센서, 및 깊이 센서 및 카메라에 커플링된 프로세서를 포함할 수 있다. 몇몇 실시예들에서, 프로세싱 수단은 제 1 이미지에 대한 카메라 포즈 정보를 얻고; 제 1 이미지 및 제 1 이미지에 대한 카메라 포즈 정보에 부분적으로 기초하여, 환경의 제 1 3차원(3D) 모델을 업데이트할지를 결정하고; 그리고 제 1 3D 모델이 업데이트되지 않을 때, 깊이 센서를 디스에이블링하도록 구성될 수 있다.
[0013] 추가 양상에서, 개시된 실시예들은: 이미징 수단 ― 이미징 수단은 컬러 정보를 포함하는 제 1 이미지를 캡처하기 위한 것임 ―; 이미징 수단에 커플링된 깊이 감지 수단, 및 깊이 감지 수단 및 이미징 수단에 커플링된 프로세싱 수단을 포함하는 장치에 관련된다. 몇몇 실시예들에서, 프로세싱 수단은: 제 1 이미지에 대한 카메라 포즈 정보를 얻기 위한 수단; 제 1 이미지 및 제 1 이미지에 대한 카메라 포즈 정보에 부분적으로 기초하여, 환경의 제 1 3차원(3D) 모델을 업데이트할지를 결정하기 위한 수단; 및 제 1 3D 모델이 업데이트되지 않을 때, 깊이 센서를 디스에이블링하기 위한 수단을 더 포함할 수 있다.
[0014] 개시된 실시예들은 또한, 프로세서에 의해 실행될 때, 적어도 하나의 카메라 및 깊이 센서를 포함하는 MS 상에서의 방법 단계들을 수행하는 명령들을 포함하는 비-일시적 컴퓨터-판독가능 미디어에 관련된다. 몇몇 실시예들에서, 방법은 적어도 하나의 카메라를 사용하여 제 1 이미지를 캡처하는 단계 ― 제 1 이미지는 MS에 의해 모델링된 환경의 적어도 일부에 대한 컬러 정보를 포함함 ―; 제 1 이미지에 대한 카메라 포즈 정보를 얻는 단계; 제 1 캡처된 이미지 및 제 1 이미지에 대한 카메라 포즈 정보에 부분적으로 기초하여, 환경의 제 1 3차원(3D) 모델을 업데이트할지를 결정하는 단계; 및 제 1 3D 모델이 업데이트되지 않을 때, 깊이 센서를 디스에이블링하는 단계를 포함할 수 있다.
[0015] 개시된 실시예들은 또한, 컴퓨터 판독가능 미디어 또는 컴퓨터-판독가능 메모리를 사용하여 프로세서들에 의해 생성, 저장, 액세스, 또는 수정되는 소프트웨어, 펌웨어, 및 프로그래밍 명령들에 관한 것이다. 설명된 방법들은 프로세서들 및 다양하 모바일 디바이스들 상에서 수행될 수 있다.
[0016] 이들 및 다른 실시예들은 다음 도면들에 관하여 추가로 하기에 설명된다. 다른 양상들이 다음 상세한 설명으로부터 당업자들에 쉽게 명백하게 될 것이 이해되고, 예시에 의해 다양한 양상들이 도시 및 설명된다. 도면들 및 상세한 설명은 제한으로서가 아닌 자연적으로 예시로서 고려될 것이다.
[0017] 본 발명의 실시예들은 예로서만 도면들을 참조하여 설명될 것이다.
[0018] 도 1은 전력 효율적 3D 재구성 가능한 예시적인 모바일 디바이스의 블록도를 도시한다.
[0019] 도 2a 및 도 2b는 개시된 실시예들과 일치하는 전력 효율적 3D 재구성을 위한 예시적 방법에 대한 흐름도들을 도시한다.
[0020] 도 2c는 개시된 실시예들과 일치하는 볼륨 재구성 기술을 사용하여 재구성을 확장하기 위한 루틴 또는 방법(275)에 대한 흐름도를 도시한다.
[0021] 도 2d는 카메라 프레임으로부터의 깊이 데이터를 개시된 실시예들과 일치하는 볼륨 데이터세트로 융합하기 위한 예시적인 방법을 묘사하는 흐름도를 도시한다.
[0022] 도 3은 개시된 실시예들과 일치하는 3D 재구성을 위한 예시적인 방법(400)의 흐름도를 도시한다.
[0023] 첨부된 도면들과 관련하여 하기 설명된 상세한 설명은 본 개시의 다양한 양상들의 설명으로서 의도되고 본 개시가 실시될 수 있는 유일한 양상들을 표현하기 위하여 의도되지 않는다. 본 개시에 설명된 각각의 양상은 단지 본 개시의 예 또는 예시로서 제공되고, 반드시 다른 양상들에 비해 바람직하거나 유리한 것으로 이해되지 않아야 한다. 상세한 설명은 본 개시의 완전한 이해를 제공하는 목적을 위하여 특정 상세들을 포함한다. 그러나, 본 개시가 이들 특정 상세들 없이 실시될 수 있다는 것이 당업자들에게 명백할 것이다. 몇몇 예들에서, 잘-알려진 구조들 및 디바이스들은 본 개시의 개념들을 모호함을 회피하기 위하여 블록도 형태로 도시된다. 두문자어 및 다른 설명 용어들은 편의성 및 명확성을 위하여 단지 사용될 수 있고 본 개시의 범위를 제한하도록 의도되지 않을 수 있다.
[0024] 도 1은 개시된 실시예들과 일치하는 방식으로 실시간 또는 거의 실시간 3D 구성을 수행할 수 있는 예시적인 이동국(MS)(100)의 블록도를 도시한다. 본원에 사용된 바와 같이, 모바일 디바이스 또는 이동국(MS)(100)은 셀룰러 폰, 모바일 폰, 또는 다른 무선 통신 디바이스, 개인용 휴대폰(PCS) 디바이스, PND(personal navigation device), PIM(Personal Information Manager), 또는 PDA(Personal digitaa Assistant), 랩톱, 테블릿, 노트북 및/또는 핸드헬드 컴퓨터의 형태를 취할 수 있다. 용어들 모바일 디바이스 또는 이동국은 본원에서 상호 교환 가능하게 사용된다. 몇몇 실시예들에서, MS(100)는 무선 통신 및/또는 네비게이션 신호들을 수신할 수 있다. 용어들 "모바일 디바이스" 및 "이동국"은 본원에서 상호 교환 가능하게 사용된다.
[0025] 추가로, 용어 "이동국"은 또한 단거리 무선, 적외선, 유선 연결, 또는 다른 연결들에 의해서 같이 PND(personal navigation device)와 통신하는 디바이스들을 포함하도록 의도되고, 및/또는 포지션-관련 프로세싱은 상기 디바이스 또는 PND에서 발생한다. 또한, "이동국"은, 무선 신호 수신, 어시스턴스 데이터 수신, 및/또는 관련 프로세싱이 디바이스에서 발생하든, 서버에서 발생하든, 네트워크와 연관된 다른 디바이스에서 발생하든 무관하게, 서버와 통신할 수 있는 다양한 무선 통신 디바이스들을 포함하는 모든 디바이스들을 포함하도록 의도된다. 상기의 임의의 동작 가능 결합은 또한, "이동국"으로 고려된다.
[0026] 용어 "이동국"은 또한 네트워크에 연결하도록 구성되지 않을 수 있거나 달리 무선 또는 유선 연결을 통해 다른 디바이스와 통신하도록 구성될 수 있는 게이밍 또는 다른 디바이스들을 포함하도록 의도된다. 예를 들어, "이동국"은 통신 엘리먼트들 및/또는 네트워킹 기능성을 생략할 수 있다. 예를 들어, 본원에 설명된 실시예들은 다른 디바이스와 유선 또는 무선 네트워킹을 위하여 연결하도록 구성되지 않은 독립된 디바이스로 구현될 수 있다.
[0027] 도 1에 도시된 바와 같이, MS(100)는 서로 동작 가능하게 커플링되고 연결(120)들을 통해 MS(110) 상의 다른 기능 유닛들(도시되지 않음)에 동작 가능하게 커플링될 수 있는 카메라들(110), 관성 측정 유닛(IMU: Inertial Measurement Unit)(130), 프로세서들(150), 메모리(160) 및/또는 트랜시버(170), 디스플레이/스크린(180)을 포함할 수 있다. 연결들(120)은 버스들, 라인들, 섬유들, 링크들, 등 또는 이들의 몇몇 결합을 포함할 수 있다.
[0028] 트랜시버(170)는 예를 들어, 하나 또는 그 초과의 타입들의 무선 통신 네트워크들을 통해 하나 또는 그 초과의 신호들을 전송하도록 인에이블된 송신기 및 하나 또는 그 초과의 타입들의 무선 통신 네트워크들을 통해 전송된 하나 또는 그 초과의 신호들을 수신하기 위한 수신기를 포함할 수 있다. 트랜시버(170)는 IEEE 802.11 패밀리의 표준들에 기초할 수 있는 펨토셀들, Wi-Fi 네트워크들 또는 WLAN(Wireless Local Area Networks)들, IEEE 802.15x 패밀리의 표준들에 기초한 블루투스 같은 WPANS(Wireless Personal Area Networks), NFC(Near Field Communication), 네트워크들, 등, 및/또는 LTE, WiMAX 등 같은 WWAN(Wireless Wide Area Network)들(이들로 제한되지 않음) 같은 다양한 기술들에 기초한 무선 네트워크들과 통신을 허용할 수 있다. MS(100)는 또한 유선 네트워크들을 통해 통신하기 위한 하나 또는 그 초과의 포트들을 포함할 수 있다.
[0029] 몇몇 실시예들에서, MS(100)는 이후 "카메라들(110)"로서 지칭되는 CCD 또는 CMOS 센서들 및/또는 카메라들(110) 같은 이미지 센서들을 포함할 수 있다. 카메라들(110)은 광학 이미지를 전자 또는 디지털 이미지로 변환할 수 있고 캡처된 이미지들을 프로세서(150)에 전송할 수 있다.
[0030] 일반적으로, 카메라들(110)은 "컬러 정보'를 제공하는 컬러 또는 그레이스케일 카메라들일 수 있지만, "깊이 정보"는 깊이 센서에 의해 제공될 수 있다. 본원에 사용된 바와 같은 용어 "컬러 정보"는 컬러 및/또는 그레이스케일 정보를 지칭한다. 일반적으로, 본원에 사용된 바와 같이, 컬러 이미지 또는 컬러 정보는 1 내지 N개의 채널들을 포함하는 것으로 보여질 수 있고, 여기서 N은 이미지를 저장하기 위하여 사용된 컬러 공간에 따른 어떤 정수이다. 예를 들어, RGB 이미지는 3개의 채널들을 포함하고, 3개의 채널들은 적색, 청색 및 녹색 정보에 대해 각각 하나의 채널을 가진다.
[0031] 깊이 정보는 깊이 센서들을 사용하여 다양한 방식들로 캡처될 수 있다. 용어 "깊이 센서"는 카메라들(110)과 무관하게 및/또는 카메라들(110)과 결합하여 깊이 정보를 얻기 위하여 사용될 수 있는 기능 유닛들을 지칭하기 위하여 사용된다. 몇몇 실시예들에서, 깊이 센서들은 사용되지 않을 때 디스에이블링될 수 있다. 예를 들어, 깊이 센서는 사용되지 않을 때, 대기 모드에 놓이거나, 전력 오프될 수 있다. 몇몇 실시예들에서, 프로세서들(150)은 개시된 실시예들과 일치하는 방식으로 하나 또는 그 초과의 시점들에서 깊이 감지를 디스에이블(또는 인에이블)할 수 있다. 용어 "깊이 센서 디스에이블링"은 또한, 스테레오 비전 센서들 및/또는 기능성과 연관된 하드웨어, 펌웨어, 및/또는 소프트웨어를 포함하는, 깊이 이미지들의 계산에 관련된 스테레오 비전 센서들 및/또는 같은 패시브 센서(passive sensor)들을 지칭하기 위하여 사용된다. 예를 들어, 일 실시예에서, 스테레오 비전 센서가 디스에이블될 때 카메라(110)에 의해 캡처된 이미지들은 단안(monocular)일 수 있다. 게다가, 용어 "깊이 센서 디스에이블링"은 또한, 패시브 스테레오 비전 센서들로부터 캡처된 스테레오 이미지들의 프로세싱과 연관된 계산을 디스에이블링하는 것을 지칭하기 위하여 사용된다. 예를 들어, 일 실시예에서, 비록 스테레오 이미지들이 패시브 스테레오 비전 센서에 의해 캡처될 수 있지만, 프로세서들(150)은 스테레오 이미지들을 프로세싱하지 않을 수 있고 대신 프로세싱하기 위한 스테레오 쌍으로부터 단일 이미지를 선택할 수 있다.
[0032] 몇몇 실시예들에서, 깊이 센서는 카메라들(110)의 부분일 수 있다. 예를 들어, 몇몇 실시예들에서, MS(100)는 RGBD 카메라들을 포함할 수 있고, RGBD 카메라들은, 깊이 센서가 인에이블될 때, 컬러(RGB) 이미지들에 더하여 픽셀당 깊이(D) 정보를 캡처할 수 있다.
[0033] 다른 예로서, 몇몇 실시예들에서, 카메라(110)는 3DTOF(3D Time Of Flight) 카메라의 형태를 취할 수 있다. 3DTOF 카메라들(110)을 사용한 실시예들에서, 깊이 센서는 장면에서 물체들을 조명할 수 있고 반사된 광이 카메라(110)의 CCD/CMOS 센서에 의해 캡처될 수 있는 3DTOF 카메라(110)에 커플링된 스트로브 라이트(strobe light)의 형태를 취할 수 있다. 깊이 정보는 광 펄스들이 물체들로 이동하고 다시 센서로 돌아오는데 걸리는 시간을 측정함으로써 얻어질 수 있다.
[0034] 추가 예로서, 깊이 센서는 카메라들(110)에 커플링된 광 소스의 형태를 취할 수 있다. 일 실시예에서, 광 소스는 광의 하나 또는 그 초과의 협대역들로 이루어질 수 있는 구조화되거나 텍스추어링된(texture) 광 패턴을 장면의 물체들 상에 투사할 수 있다. 그 다음 깊이 정보는 물체의 표면 형상에 의해 유발된 투사된 패턴의 기하학적 왜곡들을 이용함으로써 얻어질 수 있다. 일 실시예에서, 깊이 정보는 적외선 구조화된 광 투사기 및 RGB 카메라에 정합된 적외선 카메라의 결합 같은 스테레오 센서들로부터 얻어질 수 있다.
[0035] 몇몇 실시예들에서, 카메라들(110)은 입체적 카메라들의 형태를 취할 수 있다. 예를 들어, 깊이 센서는 장면에 대한 깊이 정보를 얻기 위하여 둘 또는 그 초과의 카메라들을 사용할 수 있는 패시브 스테레오 비전 센서의 부분을 형성할 수 있다. 캡처된 장면에서 양쪽 카메라들에 공통인 포인트들의 픽셀 좌표들은 픽셀당 깊이 정보를 얻기 위하여 카메라 포즈 정보 및/또는 삼각측량 기술들과 함께 사용될 수 있다.
[0036] 몇몇 실시예들에서, MS(100)는 또한 다양한 센서들을 포함할 수 있는, 듀얼 프론트(dual front) 카메라들 및/또는 프론트 및 리어-페이싱(front and rear-facing) 카메라들 같은 다수의 카메라들(110)을 포함할 수 있다. 몇몇 실시예들에서, 카메라들(110)은 스틸 이미지와 비디오 이미지 둘 다를 캡처할 수 있다. 몇몇 실시예들에서, 카메라들(110)은 초당 30 프레임들(fps)로 이미지들을 캡처할 수 있는 RGBD 또는 입체적 비디오 카메라들일 수 있다. 일 실시예에서, 카메라들(110)에 의해 캡처된 이미지들은 로우(raw) 미압축 포맷일 수 있고 프로세싱되고 및/또는 메모리(160)에 저장되기 전에 압축될 수 있다. 몇몇 실시예들에서, 이미지 압축은 무손실 압축 기술 또는 손실 압축 기술을 사용하여 프로세서들(150)에 의해 수행될 수 있다.
[0037] 몇몇 실시예들에서, 프로세서들(150)은 또한 IMU(130)로부터 입력을 수신할 수 있다. 다른 실시예들에서, IMU(130)는 3축 가속도계들(들), 3축 자이로스코프(들), 및/또는 자력계(들)를 포함할 수 있다. IMU(130)는 속도, 배향, 및/또는 프로세서(150)에 대한 다른 포지션 관련 정보를 제공할 수 있다. 몇몇 실시예들에서, IMU(130)는 카메라들(130)에 의해 각각의 이미지 프레임의 캡처와 동기하여 측정된 정보를 출력할 수 있다. 몇몇 실시예들에서, IMU(130)의 출력은 카메라(110) 및/또는 MS(100)의 포즈를 결정하기 위하여 프로세서(150)에 의해 부분적으로 사용될 수 있다.
[0038] 게다가, MS(100)는 3D 이미지들을 포함하는 컬러 이미지들을 렌더링할 수 있는 스크린 또는 디스플레이(180)를 포함할 수 있다. 몇몇 실시예들에서, 디스플레이(180)는 카메라(110)에 의해 캡처된 라이브 이미지들, 증강 현실(AR) 이미지들, 그래픽 사용자 인터페이스(GUI)들, 프로그램 출력 등을 디스플레이하기 위하여 사용될 수 있다. 몇몇 실시예들에서, 디스플레이(180)는 사용자들이 가상 키보드들, 아이콘들, 메뉴들, 또는 다른 그래픽 사용자 인터페이스(GUI)들, 사용자 제스처들 및/또는 스타일러스들(stli) 및 다른 기입 구현들 같은 입력 디바이스들의 몇몇 결합을 통해 데이터를 입력하게 하는 터치스크린을 포함하고 및/또는 터치스크린으로 하우징될 수 있다. 몇몇 실시예들에서, 디스플레이(180)는 액정 디스플레이(LCD) 디스플레이 또는 발광 다이오드(LED) 디스플레이, 이를 테면 유기 LED(OLED) 디스플레이를 사용하여 구현될 수 있다. 다른 실시예들에서, 디스플레이(180)는 MS(100)는 다른 기능 유닛들에 동작 가능하게 커플링되지만, 별개로 하우징될 수 있는 착용 가능 디스플레이일 수 있다. 몇몇 구현들에서, MS(100)는 MS(100)에 커플링된 별개의 모니터를 통해 3D 재구성된 이미지들의 디스플레이를 허용하기 위한 포트들을 포함할 수 있다.
[0039] 카메라(110)의 포즈는 기준 프레임에 관하여 카메라(110)의 포지션 및 배향을 지칭한다. 몇몇 실시예들에서, 카메라 포즈는 병진 성분들(기준 프레임의 X, Y, Z 좌표들에 의해 주어질 수 있음) 및 3개의 각도 성분들(예를 들어, 동일한 기준 프레임에 관하여 롤(roll), 피치(pitch) 및 요우(yaw))을 지칭하는 6 자유도(6DOF)에 대해 결정될 수 있다.
[0040] 몇몇 실시예들에서, 카메라(110) 및/또는 MS(100)의 포즈는 카메라(110)에 의해 캡처된 이미지들에 기초하여 시각 추적 솔루션(visual tracking solution)을 사용하여 프로세서(150)에 의해 결정되고 및/또는 추적될 수 있다. 예를 들어, 프로세서(150) 상에서 운용하는 컴퓨터 비전(CV) 모듈(155)은 컴퓨터 비전 기반 추적, 모델-기반 추적, 및/또는 SLAM(Simultaneous Localization And Mapping) 방법들을 구현 및 실행할 수 있다. SLAM은 MS(100)에 의해 모델링된 환경의 맵 같은 환경의 맵이 생성되고, 동시에 해당 맵에 관하여 카메라의 포즈를 추적하는 기술들의 클래스(class)를 지칭한다. 몇몇 실시예들에서, CV 모듈(155)에 의해 구현된 방법들은 카메라들(110)에 의해 캡처된 컬러 또는 그레이스케일 이미지 데이터에 기초할 수 있고 카메라의 6DOF 포즈 측정치들의 추정치들을 생성하기 위하여 사용될 수 있다. 몇몇 실시예들에서, IMU(130)의 출력은 추정된 포즈를 추정, 수정, 및/또는 그렇지 않으면 조정하기 위하여 사용될 수 있다. 게다가, 몇몇 실시예들에서, 카메라들(110)에 의해 캡처된 이미지들은 IMU(130)에 대한 바이어스 조정들을 재캘리브레이팅(recalibrate)하거나 수행하기 위하여 사용될 수 있다.
[0041] MS(100)에 포함된 모든 기능 유닛들이 도 1에 도시되지 않았다. 예시적인 MS(100)는 또한, 도시딘 기능 블록들 중 하나 또는 그 초과를 부가, 결합, 또는 생략하는 것과 같이, 본 개시와 일치하는 방식으로 다양한 방식으로 수정될 수 있다. 예를 들어, 몇몇 구성들에서, MS(100)는 IMU(130), 또는 트랜시버(170)를 포함하지 않을 수 있다. 게다가, 특정 예시적 구현들에서, MS(100)는 주변 광 센서, 마이크로폰들, 음향 센서들, 초음파 센서들, 레이저 거리 측정기들, 등 같은 다양한 다른 센서들(도시되지 않음)을 포함할 수 있다. 몇몇 실시예들에서, MS(100)의 부분들은 하나 또는 그 초과의 칩셋들, 등의 형태를 취할 수 있다.
[0042] 프로세서들(150)은 하드웨어, 펌웨어, 및 소프트웨어의 결합을 사용하여 구현될 수 있다. 프로세서들(150)은 3D 재구성, SLAM, 추적, 이미지 프로세싱 등에 관련된 컴퓨팅 절차 또는 프로세스의 적어도 일부를 수행하도록 구성 가능한 하나 또는 그 초과의 회로들을 나타낼 수 있고 메모리(160)로부터 명령들 및/또는 데이터를 리트리빙(retrieve)할 수 있다. 프로세서들(150)은 하나 또는 그 초과의 주문형 집적 회로(ASIC)들, 중앙 및/또는 그래픽 프로세싱 유닛(CPU 및/또는 GPU)들, 디지털 신호 프로세서(DSP)들, 디지털 신호 프로세싱 디바이스(DSPD)들, 프로그램 가능 로직 디바이스(PLD)들, 필드 프로그램 가능 게이트 어레이(FPGA)들, 제어기들, 마이크로-제어기들, 마이크로프로세서들, 임베딩된 프로세서 코어들, 전자 디바이스들, 본원에 설명된 기능들을 수행하도록 설계된 다른 전자 유닛들, 또는 이들의 결합을 사용하여 구현될 수 있다.
[0043] 메모리(160)는 프로세서들(150) 내에 및/또는 프로세서들(150) 외부에 구현될 수 있다. 본원에 사용된 바와 같이, 용어 "메모리"는 장기, 단기, 휘발성, 비휘발성, 또는 다른 메모리 중 임의의 메모리를 지칭하고 임의의 특정 타입의 메모리 또는 메모리들의 수, 또는 메모리가 저장되는 물리적 미디어 타입으로 제한되지 않는다. 몇몇 실시예들에서, 메모리(160)는 하나 또는 그 초과의 이미지 프로세싱을 가능하게 하고, SLAM, 추적, 3D 재구성, 및 프로세서(150) 상에서 CV 모듈(155)에 의해 수행되는 다른 임무달을 수행하는 프로그램 코드를 보유할 수 있다. 예를 들어, 메모리(160)는 데이터, 캡처된 스틸 이미지들, 깊이 정보, 비디오 프레임들, 프로그램 결과들뿐 아니라, IMU(130) 및 다른 센서들에 의해 제공된 데이터를 보유할 수 있다. 일반적으로, 메모리(160)는 임의의 데이터 스토리지 메커니즘을 나타낼 수 있다. 메모리(160)는, 예를 들어 주 메모리 및/또는 보조 메모리를 포함할 수 있다. 주 메모리는, 예를 들어 랜덤 액세스 메모리, 판독 전용 메모리 등을 포함할 수 있다. 프로세서들(150)과 별개인 것으로 도 1에 예시되지만, 주 메모리의 모든 또는 일부가 프로세서들(150) 내에 또는 그렇지 않으면 동일한 위치에 위치되고 및/또는 커플링될 수 있다는 것이 이해되어야 한다.
[0044] 보조 메모리는 예를 들어, 주 메모리와 동일하거나 유사한 타입의 메모리 및/또는 하나 또는 그 초과의 데이터 스토리지 디바이스들 또는 시스템들, 이를 테면, 예를 들어, 플래시/USB 메모리 드라이브들, 메모리 카드 드라이브들, 디스크(disk) 드라이브들, 광학 디스크(disc) 드라이브들, 테이프 드라이브들, 고체 상태 드라이브들, 하이브리드 드라이브들 등을 포함할 수 있다. 특정 구현들에서, 보조 메모리는 MS(100)에 커플링된 제거 가능 미디어 드라이브(도시되지 않음) 내의 비-일시적 컴퓨터-판독가능 매체에 동작 가능하게 수신할 수 있거나, 그렇지 않으면 커플링하도록 구성 가능할 수 있다. 몇몇 실시예들에서, 비-일시적 컴퓨터 판독가능 매체는 메모리(160) 및/또는 프로세서(150)의 부분을 형성할 수 있다.
[0045] 몇몇 실시예들에서, CV 모듈(155)은 다양한 컴퓨터 비전 방법들을 구현하고 및/또는 카메라(110)에 의해 캡처된 이미지들을 프로세싱할 수 있다. 예를 들어, CV 모듈(155)은 캡처된 이미지들과 연관된 깊이 정보를 사용하여 모델링된 환경의 3D 재구성을 수행하기 위하여 카메라(110)에 의해 캡처된 하나 또는 그 초과의 이미지들을 프로세싱할 수 있다. 몇몇 실시예들에서, 깊이 정보는 깊이 센서들로부터 얻어질 수 있다.
[0046] 깊이 데이터에 기초하여, 재구성 동안 각각의 픽셀에는 3D 좌표가 할당될 수 있다. 일 실시예에서, 프로세서(150) 상의 CV 모듈(155)은 카메라(110)의 정확하고 강건한 6DOF 추적을 위하여 MS 둘레 환경의 코어스(coarse) 맵을 만들기 위하여 단안(단일 카메라) 시각 SLAM 시스템을 사용함으로써 카메라(110)의 포지션을 추적할 수 있다. 용어 단안은 이미지들을 캡처하기 위하여 단일 비-입체적 카메라의 사용을 지칭하거나 깊이 정보 없이 캡처된 이미지들을 지칭한다. 그 다음 3D 재구성 모듈은 뷰잉 방향을 따라 캡처된 이미지(들)를 익스투르드(extrude)하고 모델링되는 3D 환경을 렌더링하기 위하여 사용될 수 있는 텍스추어된 밀집 3D 메쉬(mesh)를 생성하기 위하여 카메라 포즈 및 픽셀당 깊이 정보를 사용할 수 있다.
[0047] 통상의 3D 재구성 방법들에서, 모든 입력 샘플들은 항상 컬러+깊이 쌍들 같은 동일한 양식을 가진다. 결과적으로, 구조화된 광 또는 스트로브(strobe)들 같은 깊이 센서들을 사용한 깊이 데이터의 획득은 간단한 RGB 카메라보다 상당히 많은 전력을 소비할 수 있다. 게다가, 스테레오 비전 센서들로부터의 깊이가 패시브 감지를 사용할 수 있지만, 3D 재구성 동안 연속적인 스테레오 융합 동작들로부터의 계산적인 오버헤드(overhead)는 전력 소비를 상당히 증가시킬 수 있다. 그러므로, 모바일 디바이스들에서 종래의 실시간 3D 재구성은 종종 전력 이용 가능성 제약들로 인해 비실용적이다. 예를 들어, 스트로브들 또는 다른 광 소스들의 반복된 사용은 MS에 대한 배터리를 빠르게 고갈시킬 수 있어서, 3D 재구성의 적용 가능성을 제한한다.
[0048] 도 2a-도 2c는 개시된 실시예들과 일치하는 전력 효율적 3D 재구성을 위한 예시적인 방법에 대한 흐름도들을 도시한다. 몇몇 실시예들에서, 방법(200)은 하나 또는 그 초과의 다른 기능 유닛들과 함께 MS(100) 상의 프로세싱 유닛들(150)에 의해 수행될 수 있다. 몇몇 실시예들에서, 방법(200)의 부분들은 CV 모듈(155)에 의해 수행될 수 있다.
[0049] 몇몇 실시예들에서, 방법(200)은 두 개의 모듈들(추적 모듈(210) 및 재구성 모듈(250))로 이루어질 수 있다. 단안 SLAM(모노SLAM), PTAM(Parallel Tracking and Mapping) 등 같은 개시된 실시예들과 일치하는 임의의 실시간 추적 시스템은 추적 모듈(210)과 함께 사용하기 위하여 선택될 수 있다. 몇몇 실시예들에서, 추적 모듈(210) 및 재구성 모듈(250)은 동시에 운용할 수 있다. 추적 모듈(210)은 카메라 포즈 및/또는 다른 관련된 비-깊이 센서 데이터를 주기적으로 또는 연속하여 추적하거나 업데이트할 수 있고 주기적으로 또는 재구성 모듈(250)에 대한 요청시 깊이 정보 없이 업데이트된 카메라 포즈, 센서 정보 및 컬러 이미지들을 제공할 수 있다. 몇몇 실시예들에서, 추적 모듈(210)은 깊이 정보 없이 이미지들을 캡처하고 포즈 정보를 얻기 위하여 단일 또는 단안 카메라를 사용할 수 있다.
[0050] 몇몇 실시예들에서, 추적 모듈(210)과 동시에 운용할 수 있는 재구성 모듈(250)은 추적 모듈(210)로부터 주기적 또는 연속적 업데이트들을 수신할 수 있다. 추적 모듈(210)로부터 수신된 업데이트들은 깊이 정보 및 카메라들(110)에 대한 6DOF 포즈 측정치들 같은 정확한 포즈 정보 없이 컬러 이미지들을 제공할 수 있다. 몇몇 실시예들에서, 재구성 모듈(250)은 컬러 3D 메쉬 또는 볼륨 데이터 구조의 형태를 취할 수 있는 기존 3D 모델을 확장할지를 결정하기 위하여 업데이트된 카메라 포즈 및 연관된 이미지를 사용할 수 있다.
[0051] 표면 재구성의 환경에서 사용된 바와 같은 용어 "확장"(및 이의 변형들)은 환경의 기존 3D 모델에 환경의 부분 모델로부터 새롭게 획득된 데이터의 부가를 지칭한다. 볼륨 재구성의 환경에서 사용된 바와 같은 용어 "업데이트"(및 이의 변형들)는 볼륨 데이터세트에 의해 표현될 수 있는 환경의 기존 3D 모델과 새롭게 획득된 깊이 데이터의 결합을 지칭한다.
[0052] 몇몇 실시예들에서, 재구성 모듈(250)은 매 프레임에 대한 깊이+컬러 이미지 입력의 입력에 따르지 않는 임의의 재구성 기술을 사용할 수 있다. 몇몇 실시예들에서, 재구성 모듈(250)은 컬러+깊이 데이터의 입력에 대해 고정된 보다 낮은 레이트를 사용하도록 구성될 수 있다. 몇몇 실시예들에서, 컬러+깊이 데이터에 대한 고정된 보다 낮은 레이트는 시스템 파라미터들에 기초하여 구성 가능할 수 있다. 예를 들어, 일 실시예에서, 재구성 모듈(250)은 4개의 컬러 전용(즉, 깊이 데이터 없이) 프레임들 이후 하나의 컬러+깊이 이미지 입력을 수신하도록 구성될 수 있다. 다른 실시예에서, 재구성 모듈(250)은, 부가적인 깊이 이미지(또는 깊이 데이터)가 요청시 트리거되거나 요구시 제공될 수 있도록 구성될 수 있다. 일반적으로, 시스템 파라미터들에 따라, 깊이 정보는 몇몇 특정된 레이트에서 또는 요구시 제공될 수 있다. 따라서, 전력 절약들은 부분적으로, 깊이 센서 사용의 보다 낮은 빈도로부터 발생할 수 있다. 예를 들어, 깊이 데이터가 매 프레임에 제공되는 초당 30 프레임 프레임 레이트에서 동작하는 시스템에 비해, 깊이 정보가 매 5개의 프레임들에 대해 1회 재구성 모듈(250)에 제공되면, 시스템(200)에서 깊이 센서 사용은 5배만큼 감소될 수 있다. 몇몇 실시예들에서, 재구성 모듈(250)은 표면 재구성에 기초한 기술 및/또는 볼륨 재구성에 기초한 기술을 사용하도록 구성될 수 있다.
[0053] 컬러 및 깊이 정보(예를 들어, MS(100) 상의 깊이 센서를 사용함으로써)를 가진 이전에 얻어진 이미지들을 가질 수 있는 재구성 모듈(250)은 깊이 정보를 가진 이전에 캡처된 이미지들에 기초하여 기존 3D 모델을 가질 수 있다. 깊이 정보를 가진 캡처된 이미지들은 포인트 클라우드(point cloud)로서 표현될 수 있다. 예를 들어, 포인트 클라우드는 모델링되는 물체/환경의 외부 표면을 표현하는 데이터 포인트들의 세트일 수 있다. 데이터 포인트들은 예를 들어 X, Y 및 Z 좌표들을 사용하여 몇몇 좌표 시스템에서 특정될 수 있다. 삼각형들, 사각형들, 또는 다른 다각형들로 구성될 수 있는 3D 메쉬는 예를 들어 포인트 클라우드로부터 생성될 수 있다.
[0054] 표면 재구성 기술이 적용되는 재구성 모듈(250)의 실시예들에서, 3D 메쉬는 다양한 기준들에 기초하여 삼각형들, 사각형들, 또는 다른 다각형들을 형성하기 위하여 3D 포인트 클라우드 상의 포인트들의 몇몇 서브세트를 연결함으로써 3D 포인트 클라우드에 기초하여 얻어질 수 있다. 3D 메쉬는 3D로 다면각 물체의 형상을 정의하는 꼭짓점들, 에지들 및 면들의 콜렉션(collection)이다. 면들은 3D 물체/환경을 렌더링하기 위하여 사용될 수 있는 삼각형들, 사각형들 또는 다른 간단한 볼록 다각형들일 수 있다. 몇몇 잘-알려진 기술들 및 메쉬 재구성 알고리즘은 3D 포인트 클라우드들(깊이 맵들로부터 유도될 수 있음)을 3D 메쉬로 변환하기 위하여 사용될 수 있다. 일 실시예에서, 깊이 맵에서 깊이 측정치들의 이웃은 유사한 깊이 측정치들을 가진 이웃 포인트들을 연결함으로써 삼각형들을 형성하기 위한 표시기로서 사용될 수 있다.
[0055] 볼륨 재구성 기술이 적용되는 재구성 모듈(250)의 실시예들에서, 볼륨 재구성은 카메라 프레임으로부터의 깊이 데이터를 계산적으로 효율적인 볼륨 데이터 구조에 융합한다. 일 실시예에서, 볼륨 재구성은 3D TDSF(truncated signed distance function)를 사용하여 표면의 암시적 표현을 사용할 수 있다. 3D TDSF는 3D 공간에서 정규 샘플들의 세트로서 표현될 수 있다. 각각의 샘플에서, 샘플 값은 부호를 가진 거리를 추정된 표면에 제공한다. 포지티브 거리들은 물체 외측 샘플들을 의미하고, 네거티브 거리 샘플들은 물체 내부를 의미한다.
[0056] 몇몇 실시예들에서, 재구성 모듈(250)은 기존 3D 모델(3D 메쉬 또는 볼륨 데이터 구조)을 확장할지 업데이트할지를 결정하기 위하여 추적 모듈(210)로부터 얻어진 업데이트된 카메라 포즈 및 연관된 이미지를 사용할 수 있다. 몇몇 실시예들에서, 표면 및/또는 볼륨 재구성 기술들은 3D 모델에 사용될 수 있고 모델 확장들 또는 업데이트들에 관한 판정들은 모델링에 사용되는 특정 기술과 일치하는 방식으로 이루어질 수 있다.
[0057] 예를 들어, 표면 재구성 접근법에서, 추적 모듈(120)로부터 수신된 이미지 및 카메라 포즈에 기초하여, 재구성 모듈(250)은 이미지가 환경의 기존 또는 현재 모델로 현재 표현되지 않은 정보를 이미지가 포함하는 정도를 결정할 수 있다. 표면 재구성 접근법에서, 모델링되는 환경의 3D 모델이 확장되면, 예를 들어 추적 모듈(120)로부터의 이미지가 충분한 새로운 정보를 포함하기 때문에, 이미지 및 깊이 정보는 그 다음 이미지의 캡처 및 연관된 포즈 정보와 함께 적당한 깊이 센서들을 턴 온함으로써 얻어질 수 있다. 그렇지 않으면, 깊이 센서들은 디스에이블될 수 있다. 예를 들어, 깊이 센서들은 턴 오프되거나 대기 모드에 두어질 수 있다.
[0058] 볼륨 재구성을 사용하는 몇몇 실시예들에서, 깊이 데이터는 몇몇 특정 레이트(예를 들어, 매 5개의 프레임들에 1회)에서 획득/측정될 수 있다. 그렇지 않으면, 깊이 센서들은 디스에이블될 수 있다. 예를 들어, 깊이 센서들은 턴 오프될 수 있거나 대기 모드에 두어질 수 있다.
[0059] 모델이 업데이트되면, 볼륨 재구성 동안, 획득된/측정된 깊이 데이터에 기초한 깊이 맵은 카메라 포즈에 기초하여 결정될 수 있는 카메라 중심 위치 같은 공간의 주어진 포인트로부터 추정된 표면까지의 거리를 결정하기 위하여 사용될 수 있다. 그 다음 이들 측정된 거리들은 볼륨 데이터 세트에서 부호를 가진 거리에 맵핑될 수 있다. 예를 들어, 맵핑은 (ⅰ) 볼륨 데이터 세트의 각각의 샘플을 깊이 맵핑의 카메라 좌표 시스템으로 변환하고 샘플을 깊이 맵에 투사하고; (ⅱ) 해당 투사된 픽셀에서(깊이 맵에서)의 거리 값으로서 광선을 따라 표면까지 거리의 측정치를 얻고; (ⅲ) 상기 (ⅱ)에서 얻어진 측정된 거리로부터 광선 상 샘플 포인트의 거리를 감산함으로써 샘플 포인트로부터 표면까지의 측정된 상대적 거리를 얻고; 그리고 (ⅳ) 순환 필터를 사용하여 거리 추정치(s)를 상대적 거리와 결합함으로써 광선 상 샘플 포인트에 의해 제공된 거리 추정치(s)를 업데이팅함으로써 수행될 수 있다. 예를 들어, 일 구현은 거리 추정치(s)와 함께 무게(w)를 사용할 수 있고 가중된 업데이트를 사용함으로써 새로운 측정치에 기초하여 거리 추정치(s)를 업데이트할 수 있고, 이는
Figure 112015082989084-pct00001
및 w=w+1에 의해 제공될 수 있다.
[0060] 볼륨 재구성을 위해, 몇몇 실시예들에서, 보다 높은 품질은 기존 모델로 이미 표현된 환경의 포인트들 또는 영역들의 부가적인 측정치들을 융합함으로써 달성될 수 있다. 따라서, 볼륨 재구성이 사용되는 실시예들에서, 모델 또는 3D 메쉬는 새로운 포인트들이 없는 상황들에서도 업데이트될 수 있다. 몇몇 실시예들에서, 임계치 또는 다른 파라미터들은 동일한 표면 엘리먼트가 업데이트되는 횟수들을 제한하도록 설정될 수 있다.
[0061] 표면 추출은 또한, 볼륨 재구성이 사용되면, 볼륨 데이터 표현으로부터 수행될 수 있다. 예를 들어, 복셀(voxel)들을 포함하는 계산적으로 효율적인 볼륨 데이터 세트는 볼륨 이미지를 표현하기 위하여 사용될 수 있고, 여기서 복셀들은 3차원 공간에서 그리드 상 값을 표현할 수 있다. 마칭 큐브(Marching Cube)들 같은 다양한 잘 알려진 기술들은 볼륨 데이터세트로부터 표면들(또는 등위면들)을 추출하기 위하여 사용될 수 있다. 등위면은 3D 데이터 분포에서 동일한 값들을 가진 포인트들의 3D 표면 표현이다. 몇몇 실시예들에서, 볼륨 재구성은 동적으로 구성 가능할 수 있는 고정된/특정된 데이터 레이트(예를 들어, 초당 5 컬러+깊이 프레임들)를 사용할 수 있다. 예를 들어, 깊이 카메라로부터의 업데이트들의 빈도는 애플리케이션 요청들(예를 들어, 요청된 모델의 보다 낮거나 보다 높은 정확성) 또는 전황 상 신호(contextual cue)들(예를 들어, 디바이스 상에서 낮거나 높은 배터리 레벨)에 기초하여 가변(증가되거나 감소)될 수 있다. 몇몇 실시예들에서, 표면 추출 단계는 융합에 무관하게 수행될 수 있다.
[0062] 따라서, 상기 표면 및 볼륨 접근법들 둘 다에서, 3D 재구성 모듈은 산발적으로 깊이 데이터를 획득하고 이에 의해 전력이 절약된다. 몇몇 실시예들에서, 전력 절약들은, 센서들을 디스에이블링, 턴 오프, 또는 센서들이 전력을 소비하지 않거나 매우 최소의 전력을 소비하는 대기 상태에 둠으로 발생할 수 있다. 예를 들어, 깊이 센서들이 빠르거나 거의 순시 재활성화를 허용하면, 그 다음, 일 실시예에서 센서들을 활성화하기 위한 전력은 턴 오프될 수 있다. 다른 실시예에서, 센서들이 빠른 및/또는 순시 재활성화를 허용하도록 최소 전력을 소비하는 대기 모드에 센서들이 두어질 수 있다. 예를 들어, 구조화된 광 소스들 및/또는 스트로브들은, 깊이 센서들이 대기 모드에 두어질 때 턴 오프될 수 있다.
[0063] 입체 카메라들이 사용될 때 같은, 다른 실시예들에서, 전력 절약들은 스테레오 융합 동작들의 빈도의 감소로부터 발생할 수 있다. 예를 들어, 깊이 센서들이 스테레오 비전 센서들의 형태를 취하는 실시예들에서, 스테레오 비전 센서들은 턴 오프될 수 있고 추적 모듈(210)은 단안 카메라 이미지들 및 연관된 포즈 정보를 계속 제공할 수 있다. 몇몇 실시예들에서, 스테레오 비전 센서들이 턴 오프될 때, 패시브 스테레오 비전 센서들로부터 캡처된 스테레오 이미지들의 프로세싱과 연관된 계산은 턴 오프될 수 있다. 예를 들어, 일 실시예에서, 스테레오 이미지들이 패시브 스테레오 비전 센서에 의해 캡처될 수 있지만, 프로세서(150)들은 스테레오 이미지들을 프로세싱하지 않을 수 있고 대신 프로세싱을 위해 스테레오 쌍으로부터 단일 이미지를 선택할 수 있다.
[0064] 도 2a는 운용중인 3D 재구성 프로세스(200)의 단계들을 도시한다. 몇몇 실시예들에서, 루틴(225)에서, 카메라 포즈가 업데이트될 수 있다. 예를 들어, MS(100) 상에서 운용하는 단안 SLAM 알고리즘은 카메라(110)의 포즈를 업데이트하기 위하여 사용될 수 있다. 단안 SLAM을 사용함으로써, MS(100)는 환경에 관련하여 카메라의 포즈 또는 움직임을 동시에 추정하면서 자신의 환경의 표현을 구성할 수 있다.
[0065] 루틴(225)에서, 단일 카메라는 포즈 정보를 얻고/업데이트하기 위하여 사용될 수 있고, 스트로브들, 스테레오 비전 센서들, 및/또는 구성된 광 소스들 같은 깊이 센서들은 턴 오프되거나, 디스에이블되거나, 대기 모드에 두어질 수 있어서, 전력을 소비하지 않거나 최소 전력을 소비한다.
[0066] 단계(230)에서, 깊이 정보 및 연관된 포즈 정보 없이 컬러 이미지 데이터를 포함하는 새로운 센서 데이터는 요구될 수 있고 추적 모듈(210)은 다른 반복을 시작하고 카메라 포즈를 업데이트하기 위하여 단계(225)로 리턴할 수 있다. 일반적으로, 추적 모듈은 포즈를 결정하기 위하여 임의의 추적 방법을 사용할 수 있다. 예를 들어, IMU(130)로부터의 입력은 포즈를 결정하기 위하여 사용될 수 있다.
[0067] 카메라 포즈 업데이트 루틴(225)을 구현하기 위한 예시적인 방법은, 비록 실제로 임의의 적당한 추적 및 포즈 업데이트 방법이 사용될 수 있지만, 하기에 설명된다. 인터-프레임(inter-frame) 추적을 위해, 단계(230)에서 획득된 바로 앞 이미지(I)와 현재 이미지(J) 사이의 옵티컬 플로우(optical flow)은, 예를 들어 루카스-카나데(Lucas-Kanade) 알고리즘 또는 이의 변형들을 사용함으로써 계산될 수 있다. 루카스 카나데 방법은 움직임 파라미터들을 결정하기 위하여 이미지 기울기들 및 반복 접근법을 사용할 수 있는 옵티컬 플로우 추정을 대한 두 개의-프레임 미분법이다.
[0068] 만약 I 및 J가 사이즈(nxXny)의 연이은 이미지들이고(여기서 0 ≤ x ≤ nx-1 및 0 ≤ y ≤ ny-1), I(x,y) 및 J(x,y)가 포인트(x, y)에서 픽셀들의 픽셀 값들(예를 들어, 그레이스케일 값들)이면, 피처 추적은 J의 포인트(v)의 위치를 계산하기 위하여 사용될 수 있고, 이는 I의 포인트 u = [ux, uy]T에 대응하고 여기서 v = u +d = [ux+dx, uy+dy]T. 변위 벡터들 d = [dx, dy]T는 u에서의 옵티컬 플로우를 지칭하고 첨자 "T"는 매트릭스 또는 벡터의 전치 행렬을 지칭하기 위하여 사용된다. 루카스-카나데의 목표는 에러 함수(ε(d))를 최소화하는 변위 벡터(d)를 발견하는 것이고, 여기서,
Figure 112015082989084-pct00002
(1)
여기서, w는 정수이고 사이즈 x×w 픽셀들의 윈도우를 표현한다.
[0069] 몇몇 실시예들에서, 루카스-카나데 옵티컬 흐름 알고리즘 또는 이의 변형들의 수정된 실시간 피라미드 구현은 2D 옵티컬 플로우를 계산하기 위하여 사용될 수 있다. 예를 들어, 루카스-카나데 알고리즘의 인버스 구성 이미지 정렬 변형이 사용될 수 있다.
[0070] 피라미드 구현에서, 이미지는 상이한 해상도들의 다운샘플링된 이미지들의 피라미드를 얻기 위하여 연속적으로 다운샘플링될 수 있다. 예를 들어, 피라미드의 가장 높은 레벨(레벨 0)은 로우(raw) 또는 가장 높은 해상도 이미지를 가질 수 있고 아래의 각각의 레벨은 몇 배만큼 바로 위 레벨에 관하여 이미지를 다운샘플할 수 있다. 예를 들어, 사이즈 640×480(레벨 0)의 이미지(I0)에 대해, 이미지들(I1, I2, I3 및 I4)은 각각 사이즈들 320×240, 160×120, 80×60 및 40×30을 가지며, 여기서 아래 첨자는 이미지 피라미드에서 이미지 레벨을 가리킨다.
[0071] 피라미드 루카스-카나데 옵티컬 플로우에서, 옵티컬 플로우는 가장 낮은 피라미드 레벨(L)에서 계산된다. 그 다음, 그 계산의 결과는 레벨(L-1)에서 최초 픽셀 변위 추정치의 형태에서 상부 레벨(L-1)로 전파된다. 초기 추측이 제공되면, 개선된 옵티컬 플로우는 레벨(L-1)에서 계산되고, 결과는 레벨 0(원 이미지)까지 레벨(L-2) 등으로 전파된다. 통상적으로, I의 포인트(u)에 대응하는 J의 포인트(v)는 이미지(J)의 위치[ux, uy] 둘레 윈도우(예를 들어, w×w 픽셀들의 사이즈) 내에서 탐색된다. 옵티컬 플로우에 기초한 피라미드는 보다 큰 효과적인 윈도우에 걸친 탐색을 허용하고 심지어 큰 픽셀 움직임들에도 불구하고 피처 대응성들의 확립을 가능하게 한다.
[0072] 몇몇 실시예들에서, 추적 동안 이미지들 사이에서 비교된 피처들의 수는 시스템 제약들에 기초하여 결정될 수 있다. 예를 들어, 이미지들의 해상도들, 프로세서들(150)의 속력, 및 성능 기준들은 비교된 피처들의 수를 결정하기 위하여 사용될 수 있다.
[0073] 몇몇 실시예들에서, 매칭하는 피처들의 위치에 기초하여 업데이트된 카메라 포즈는 루틴(225)에서 계산될 수 있다. 몇몇 실시예들에서, 포즈 및 컬러 이미지들을 포함하는 획득된 센서 데이터는 재구성 모듈(250)에 주기적으로 전달될 수 있고, 재구성 모듈(250)은 단계(255)에서 추적 모듈(210)에 의해 제공된 데이터 업데이트들을 추적하기를 대기한다. 몇몇 실시예들에서, 추적 모듈(210)은 단안 이미지들을 포함하는 센서 데이터를 캡처하고 포즈 정보를 업데이트하기 위하여 대략 30 프레임들의 프레임 레이트에서 연속적으로 운용할 수 있고, 센서 데이터 및 포즈 정보는 재구성 모듈(250)에 제공될 수 있다.
[0074] 몇몇 실시예들에서, 단계(260)에서, 재구성 모듈(250)은 기존 재구성 모델이 단계(255)에서 수신된 업데이트된 캡처된 이미지 및 연관된 포즈 정보에 기초하여 확장될지 업데이트될지를 결정할 수 있다. 몇몇 실시예들에서, 재구성 모듈(250)은 매 프레임에 대한 깊이+컬러 이미지 입력의 입력에 따르지 않는 임의의 재구성 기술을 사용할 수 있다. 예를 들어, 표면 및/또는 볼륨 기술들은 재구성 모듈(250)에 의해 사용될 수 있다.
[0075] 몇몇 실시예들에서, 표면 재구성을 위하여, 재구성 모듈(250)은 모델이 확장될지를 결정하기 위하여 추적 모듈(210)에 의해 제공된 각각의 프레임을 분석할 수 있다. 다른 실시예에서, 재구성 모듈(250)은 모델이 확장될지를 결정하기 위하여 구성 세팅들, 시스템 파라미터들, 및/또는 추적 모듈(210)의 현재 프레임 레이트에 따른 분석을 위하여 추적 모듈(210)에 의해 제공된 프레임들로부터 프레임들의 서브세트를 선택할 수 있다. 몇몇 실시예들에서, 추적 모듈(210)의 구성은 이미지 캡처를 위하여 적당한 프레임 레이트를 설정하기 위하여 재구성 모듈(250)에 의해 수정될 수 있다.
[0076] 추가로, 표면 재구성 접근법을 위해, 몇몇 실시예들에서, 기존 재구성 모델이 확장될지 업데이트될지의 결정은, 현재 이미지 및 현재 이미지가 기존 모델에서 현재 표현되지 않은 정보를 포함하는 정도에 부분적으로 기초할 수 있다.
[0077] 몇몇 실시예들에서, 기존 모델에 현재 표현되지 않고 새롭게 캡처된 카메라 프레임에서 처음에 이미징된 환경의 포인트들 또는 영역들이 있다면(단계(260)에서 "Y"), 모델 또는 3D 메쉬는 단계(265)에서 새로운 깊이 센서 데이터 또는 깊이 정보를 획득함으로써 확장되거나 업데이트될 수 있다.
[0078] 추가로, 표면 재구성 접근법에 대해, 기존 모델에 이미 표현되지만 새롭게 캡처된 카메라 프레임의 상이한 뷰포인트로부터 처음으로 뷰잉된 환경의 포인트들 또는 영역들이 있다면(단계(260)에서 "Y"), 모델 또는 3D 메쉬는 단계(265)에서 새로운 깊이 센서 데이터 또는 깊이 정보를 획득함으로써 확장되거나 업데이트될 수 있다. 몇몇 실시예들에서, 새로운 포인트들의 존재는 기존 모델에 저장된 정보와 현재 이미지에 포함된 정보 사이의 차이를 계산하고, 그리고 그런 차이가 존재함을 결정함으로써 결정될 수 있다.
[0079] 표면 재구성 접근법에 대해, 기존 재구성 모델이 확장되면(단계(260)에서 "예"), 단계(265)에서, 깊이 센서는 활성화될 수 있고 깊이정보는 추적 모듈(210)로부터 수신된 업데이트된 카메라 이미지 프레임을 증강시키기 위하여 획득될 수 있다. 예를 들어, 추적 모듈(210)로부터 수신된 업데이트된 카메라 이미지 프레임이 처음으로 이미징된 포인트들을 포함하면, 알고리즘은 단계(265)로 진행하고 깊이 센서들은 인에이블될 수 있다. 몇몇 실시예들에서, 3DTOF 카메라, 구조화된 광, 또는 입체 센서들은 단계(265)에서 깊이 정보를 얻기 위하여 사용될 수 있다.
[0080] 표면 재구성을 위해, 새로운 포인트들이 없는 이벤트(단계(260)에서 "N")에서, 모델은 확장되지 않을 수 있고 알고리즘은 다른 반복을 시작하기 위하여 단계(255)로 리턴한다. 예를 들어, 표면 재구성을 위해, 새로운 카메라 이미지 프레임이 새로운 포인트들을 포함하지 않으면, 알고리즘은 다음 업데이트를 대기하기 위하여 단계(255)로 리턴할 수 있고 깊이 센서들은 디스에이블될 수 있거나 디스에이블된 채로 머물수 있다(만약 이전에 디스에이블되지 않으면).
[0081] 볼륨 재구성을 사용하는 몇몇 실시예들에서, 깊이 데이터는 몇몇 특정된 레이트에서 획득될 수 있다(예를 들어, 매 5개의 프레임들에 1회). 그렇지 않으면, 깊이 센서들은 디스에이블될 수 있다. 예를 들어, 깊이 센서들은 턴 오프될 수 있거나 대기 모드에 두어질 수 있다. 깊이 맵은 카메라 센터의 위치 같은 공간 내 주어진 포인트로부터 추정된 표면까지의 거리들을 결정하기 위하여 사용될 수 있다. 따라서, 볼륨 재구성을 사용하는 몇몇 실시예들에서, 깊이 센서는 주기적으로(특정 레이트에 기초하여) 활성화될 수 있고 깊이 정보는 추적 모듈(210)로부터 수신된 업데이트된 카메라 이미지 프레임을 증강시키기 위하여 획득될 수 있다.
[0082] 볼륨 재구성을 위해, 몇몇 실시예들에서, 보다 높은 품질은 기존 모델에 이미 표현된 환경의 포인트들 또는 영역들의 부가적인 측정치들을 융합함으로써 달성될 수 있다. 따라서, 볼륨 재구성이 사용되는 실시예들에서, 모델 또는 3D 메쉬는 심지어 새로운 포인트들이 없는 상황들에서도 업데이트될 수 있다. 몇몇 실시예들에서, 임계치는 동일한 표면 엘리먼트가 업데이트되는 횟수들을 제한하기 위하여 설정될 수 있다.
[0083] 어느 하나의 접근법에서, 추적 모듈(210)의 프레임 레이트가 충분히 높으면, 카메라 포즈는 단계(265)에서 깊이 센서들을 사용하여 깊이 정보의 캡처 및 가장 최근의 업데이트된 프레임(추적 모듈(210)로부터 얻어짐)의 시간으로부터 변화들을 겪지 않을 것이다(또는 최소로 변화될 수 있음). 따라서, 단계(265)에서 획득된 깊이 정보는 최소의 또는 무손실의 정확성으로 가장 최근에 업데이트된 프레임 및 연관된 포즈와 연관될 수 있다.
[0084] 다른 실시예에서, 컬러 이미지 및 깊이 정보 둘 다를 포함하는 새로운 이미지는 단계(265)에서 획득될 수 있고 새로운 컬러+깊이 이미지에 대한 새로운 카메라 포즈는 얻어질 수 있다. 다른 실시예에서, 컬러 이미지 및 깊이 정보 둘 다를 포함하는 새로운 이미지는 단계(265)에서 획득될 수 있고 추적 모듈(210)로부터 얻어진 가장 최근 업데이트된 프레임과 연관된 카메라 포즈는 새롭게 캡처된 컬러+깊이 이미지와 연관될 수 있다. 상기 주의된 바와 같이, 충분히 높은 프레임 레이트에 대해, 추적 모듈(210)로부터 얻어진 가장 최근 업데이트된 프레임 및 새롭게 캡처된 컬러+깊이 이미지로부터 인터-프레임 카메라 포즈 변화는, 임의의 정확성 품질 저하가 최소일 수 있도록 최소일 수 있다.
[0085] 몇몇 실시예들에서, 3DTOF 카메라, 구조화된 광, 또는 입체 이미지는 단계(265)에서 컬러 이미지 및 깊이정보를 얻기 위하여 캡처될 수 있다. 패시브 스테레오 센서들이 사용되는 실시예들에서, 스테레오 이미지 쌍(예를 들어, 패시브 스테레오 센서들을 사용하여 추적 모듈(210)에 의해 캡처된 가장 최신 업데이트된 이미지로부터)은 깊이 정보를 얻기 위하여 이제 프로세싱될 수 있다.
[0086] 따라서, 만약 추적 모듈(210)로부터 수신된 업데이트된 카메라 이미지 프레임이 처음으로(표면 재구성을 위하여) 또는 특정된 프레임 레이트(볼륨 재구성을 위해)에 기초하여 적당한 프레임 간격 후 이미징된 포인트들을 포함하면, 알고리즘은 단계(265)로 진행할 수 있고 깊이 센서들은 깊이 정보를 얻기 위하여 인에이블될 수 있다. 따라서, 몇몇 실시예들에서, 추적 모듈(210)이 연속으로 동작할 수 있는 반면, 깊이 획득을 포함하는 전력 집중적 동작들은 단계(265)에서 산발적으로만 수행되고 이로써 전력이 절약된다.
[0087] 그 다음 알고리즘은 루틴(275)으로 진행할 수 있고, 여기서 모델링되는 환경의 3D 재구성은 새롭게 획득된 깊이 데이터에 기초하여 확장될 수 있다.
[0088] 도 2b는 표면 재구성 기술을 사용하여 재구성을 확장하기 위한 루틴 또는 방법(275)에 대한 흐름도를 도시한다. 몇몇 실시예들에서, 루틴(275)은 재구성 모듈(250)의 부분에 의해 호출되거나 또는 이를 형성할 수 있다. 몇몇 실시예들에서, 루틴(275)은 입력으로서, 업데이트된 카메라 포즈(304) 및 단계(265)에서 캡처된 컬러 및 깊이 정보를 포함하는 컬러+깊이 이미지(302)를 받아들일 수 있다. 몇몇 실시예들에서, 업데이트된 카메라 포즈(304)는 루틴(225)에 의해 캡처된 가장 최근 포즈일 수 있다.
[0089] 몇몇 실시예들에서, 단계(305)에서, 입력 컬러+깊이 이미지(302)는 노이즈 성분들을 제거하기 위하여 선택적으로 필터링되고 다운샘플링될 수 있다. 몇몇 실시예들에서, 다운샘플링의 레벨은 부분적으로, 깊이 센서의 정확성, 카메라 포즈 추정치(304)의 정확성, 및/또는 다른 시스템 파라미터들에 기초할 수 있다. 예를 들어, 일 실시예에서, 640×480 컬러+깊이 픽셀들의 컬러+깊이 이미지는 320×240 컬러+깊이 픽셀들로 다운샘플링될 수 있다. 몇몇 실시예들에서, 컬러 및 깊이 이미지들은 상이한 레이트들에서 다운 샘플링될 수 있다. 예를 들어, 일 실시예에서, 이미지 컬러 정보는 전해상도에서 유지될 수 있는 반면 깊이 정보는 다운 샘플링될 수 있다.
[0090] 예를 들어, 640×480 컬러+깊이 픽셀 이미지가 단계(305)에서 다운샘플링되지 않으면, 단계(310)에서 결과적인 부분 메쉬는 639*479*2=612,162 삼각형들만큼 많은 삼각형들을 초래할 수 있다. 이미지가 단계(305)에서 320×240으로 다운샘플링되면, 삼각형들의 수는 152,482 삼각형들보다 많지 않을 것이다. 따라서, 다양한 시스템 파라미터들에 기초하여, 다운샘플링은 단계(305)에서 유리하게 사용될 수 있어서, 재구성의 계산 복잡성을 감소시키고 3D 재구성에 대해 최소 영향력을 가지고 프로세스를 가속하고, 이에 의해 이것은 전력 소비의 부가적인 효율성들에 기여할 수 있다.
[0091] 단계(310)에서, 표면 재구성을 위해, 부분 메쉬는 깊이 이미지 및 카메라 포즈에 기초하여 생성될 수 있다. 일 실시예에서, 표면 재구성 모듈은 뷰잉 방향을 따라 컬러 이미지를 익스클루드하고 텍스추어링된 또는 컬러화된 밀집한 3D 메쉬를 생성하기 위하여 깊이 정보를 사용할 수 있다. 예를 들어, 메쉬는 이미지를 렌더링하기 위하여 사용될 수 있는 삼각형들로 구성될 수 있다. 용어 "부분 메쉬"는 단계(265)에서 얻어진 단일 컬러+깊이 이미지(302)로부터 생성된 메쉬를 지칭한다. 용어 "기존 메쉬"는 임의의 시점에서, 모든 부분 메쉬들을 함께 결합하거나 합병으로부터 얻어진 결과를 지칭한다.
[0092] 제 1 부분 메쉬가 생성될 때, 제 1 부분 메쉬는 기존 메쉬로서 자동으로 사용된다. 임의의 다른 추후 부분 메쉬가 생성될 때, 추후 부분 메쉬는 기존 메쉬와 합병된다. 몇몇 실시예들에서, 메쉬들은 키프레임(keyframe)들로부터 발생하는 기술어(descriptor)들을 사용하여 연관된 카메라 포즈들 및 드문 3D 포인트들을 가진 키프레임들로부터 생성된다. 깊이 정보를 포함하는 키프레임들은 카메라의 회전 및 병진 측면에서 서로로부터 상대적으로 떨어진 카메라 포즈들에서 캡처된 선택된 이미지들이다. 몇몇 실시예들에서, 전체 좌표계는 제 1 키프레임과 연관된 카메라 포즈에 기초하여 정의될 수 있다.
[0093] 단계(320)에서, 기존 메쉬와 부분 메쉬 사이의 오버랩이 결정된다. 몇몇 실시예들에서, 루틴(275)은 처음에 새로운 부분 메쉬를 기존 메쉬와 정렬하기 위하여 추적 시스템의 6DOF 포즈(304)(루틴(225)에 의해 계산됨)를 추가로 사용할 수 있다. 몇몇 실시예들에서, 단계(325)에서, 포즈 추정치에 따라 추적 시스템 루틴(275)의 정확성은 선택적으로 ICP(iterative closest point) 같은 방법들을 사용하여 정렬을 추가로 개선할 수 있다. ICP 알고리즘은 부분 메쉬와 기존 메쉬의 오버랩핑 섹션들 사이의 차이들을 최소화한다. 일 실시예에서, ICP 알고리즘은 기존 메쉬의 오버랩핑 부분들과 부분 메쉬의 정렬을 개선하기 위하여 다음 단계들을 반복적으로 수행할 수 있다: 두 개의 메쉬들에서 가장 근접한 이웃 포인트들 연관, 평균 제곱 비용 함수를 사용하여 변환 파라미터들 추정, 및 그 다음 다음 반복을 시작하기 전에 추정된 파라미터들을 사용하여 포인트들 변환.
[0094] 다음, 단계(330)에서, 부분 메쉬가 기존 메쉬와 정렬되면, 재구성 모듈은 기존 메쉬에 이미 존재하는 부분 메쉬로부터 임의의 복제된 상세(detail)를 감소시킬 수 있다. 몇몇 실시예들에서, 단계(330)에서, 임의의 복제된 상세는 제거되거나, 예를 들어 모든 인근/대응하는 꼭짓점 포지션들을 평균함으로써, 또는 다른 발견법들을 사용함으로써 기존 메쉬와 융합 또는 합병될 수 있다. 다른 실시예에서, 복제된 상세들은 제거될 수 있거나, 다양한 다른 발견법들에 기초하여 기존 모델과 융합/합병될 수 있다. 예를 들어, 일 실시예에서, 상세의 가장 최근 관찰은 유지될 수 있다. 다른 실시예에서, 복제된 상세들은 기존 메쉬의 평활화를 보존하는 방식으로 융합될 수 있다.
[0095] 단계(335)에서, 텍스추어 또는 꼭짓점 컬러 정보는, 입력 컬러 이미지(302)의 정보를 사용하여 복제된 정보의 제거 후 부분 메쉬에 부가될 수 있다. 단계(340)에서, 부분 메쉬는 기존 메쉬에 합병될 수 있다. 몇몇 실시예들에서, 복제된 정보는 부분 메쉬를 기존 메쉬와 합병하기 전에 부분 메쉬로부터 제거될 수 있다. 다른 실시예에서, 상기 설명된 바와 같이, 메쉬들은, 예를 들어 부분 및 기존 메쉬들에서 모든 인근 또는 대응하는 꼭짓점 포지션들을 평균함으로써, 또는 다른 발견법들을 사용함으로써 복제된 정보를 제거함이 없이 합병될 수 있다. 결과적으로, 기존 메쉬는 성장할 수 있고 보다 완전하게 된다. 몇몇 실시예들에서, 표면 재구성 접근법은 요구시 깊이 센서들로부터 깊이 정보를 얻을 수 있다. 예를 들어, 표면 재구성 접근법은 맵핑 시퀀스의 시작시 초당 1회 또는 2회 및 끝쪽으로(끝은 상당히 낮은 깊이-센서 용법 및 전력 소비의 대응하는 감소를 초래함) 단지 매 몇 초당 1회 같은 요구시 깊이 정보를 획득할 수 있다.
[0096] 도 2c는 볼륨 재구성 기술을 사용하여 재구성을 확장하기 위한 루틴 또는 방법(275)에 대한 흐름도를 도시한다. 몇몇 실시예들에서, 루틴(275)은 재구성 모듈(250)의 부분에 의해 또는 부분으로부터 호출될 수 있다. 몇몇 실시예들에서, 루틴(275)은 입력으로서, 업데이트된 카메라 포즈(304) 및 단계(265)에서 캡처된 컬러 및 깊이 정보를 포함하는 컬러+깊이 이미지(302)를 받아들일 수 있다. 몇몇 실시예들에서, 업데이트된 카메라 포즈(304)는 루틴(225)에 의해 캡처된 가장 최신 포즈일 수 있다.
[0097] 몇몇 실시예들에서, 단계(305)에서, 입력 컬러+깊이 이미지(302)는 노이즈 성분들을 제거하기 위하여 선택적으로 필터링되고 다운샘플링될 수 있다. 몇몇 실시예들에서, 다운샘플링의 레벨은 부분적으로, 깊이 센서의 정확성, 카메라 포즈 추정치(304)의 정확성, 및/또는 다른 시스템 파라미터들에 기초할 수 있다. 따라서, 다양한 시스템 파라미터들에 기초하여, 다운샘플링은 단계(305)에 유리하게 사용될 수 있어서, 재구성의 계산 복잡성을 감소시키고 3D 재구성에 대해 최소 영향으로 프로세스를 가속할 수 있고, 이에 의해 이것은 전력 소비의 부가적인 효율성들에 기여할 수 있다.
[0098] 단계(350)에서, 볼륨 데이터 세트는 깊이 이미지 및 카메라 포즈에 기초하여 생성 및/또는 업데이트될 수 있다. 몇몇 실시예들에서, 단계(350)에서, 카메라 프레임으로부터의 깊이 데이터는 계산적으로 효율적인 볼륨 데이터 구조에 융합된다. 일 실시예에서, 볼륨 재구성은 3D 거리 함수를 사용하여 표면의 암시적 표현을 사용할 수 있다.
[0099] 볼륨 재구성을 사용하는 실시예들에서, 깊이 데이터는 몇몇 특정된 레이트(예를 들어, 매 5개의 프레임들에 1회)에서 획득될 수 있다. 그렇지 않으면, 깊이 센서들이 디스에이블될 수 있다. 예를 들어, 깊이 센서들은 턴 오프될 수 있거나 대기모드로 두어질 수 있다. 깊이 맵은 카메라 중심 위치 같은 공간 내 주어진 포인트로부터 추정된 표면까지의 거리들을 결정하기 위하여 사용될 수 있다. 따라서, 볼륨 재구성을 사용하는 몇몇 실시예들에서, 깊이 센서는 주기적으로(특정된 레이트에 기초하여) 활성화될 수 있고 깊이 정보는 추적 모듈(210)로부터 수신된 업데이트된 카메라 이미지 프레임을 증강시키기 위하여 획득될 수 있다.
[00100] 볼륨 재구성에 대해, 몇몇 실시예들에서, 보다 높은 품질은 기존 모델에 이미 표현된 환경의 포인트들 또는 영역들의 부가적인 측정치들을 융합함으로서 달성될 수 있다. 따라서, 볼륨 재구성이 사용되는 실시예들에서, 볼륨 데이터세트는 새로운 포인트들이 없는 상황들에서도 업데이트될 수 있다. 몇몇 실시예들에서, 임계치는 동일한 표면 엘리먼트가 업데이트되는 횟수들을 제한하도록 설정될 수 있다.
[00101] 단계(355)에서, 표면 추출은 다양한 기술들을 사용하여 볼륨 데이터세트/3D 메쉬로부터 수행될 수 있다. 예를 들어, 마칭 큐브 알고리즘은 표면을 추출하기 위하여 사용될 수 있다. 몇몇 실시예들에서, 볼륨 재구성을 위하여, 표면 추출은 융합 단계에 무관한 별개의 단계로 행해진다.
[00102] 몇몇 실시예들에서, 볼륨 재구성은 동적으로 구성 가능할 수 있는 고정된 데이터 레이트(예를 들어 초당 5개의 컬러+깊이 프레임들)를 사용할 수 있다. 예를 들어, 깊이 카메라로부터의 업데이트들의 빈도는 애플리케이션 요청들(예를 들어, 요청된 모델의 보다 낮거나 보다 높은 정확성) 또는 전황 상 신호들(예를 들어, 디바이스 상에서 낮은 또는 높은 배터리 레벨)에 기초하여 가변(증가되거나 감소)될 수 있다. 몇몇 실시예들에서, 표면 추출 단계는 융합과 무관하게 수행될 수 있다.
[00103] 도 2d는 카메라 프레임으로부터의 깊이 데이터를 볼륨 데이터세트에 융합하기 위한 예시적인 방법을 묘사하는 흐름도를 도시한다. 3D TDSF(truncated signed distance function)는 3D 공간에서 정규 샘플들의 세트로서 표현하기 위하여 사용될 수 있다. 각각의 샘플에서, TDSF(샘플) 값은 추정된 표면까지의 부호를 가진 거리를 생성하고, 여기서 포지티브 거리들은 물체 외측의 샘플들을 가리키는 반면, 네거티브 거리들은 물체 내의 샘플들을 가리킨다.
[00104] 볼륨 재구성을 사용하는 몇몇 실시예들에서, 깊이 데이터는 몇몇 특정된 레이트(예를 들어, 매 5개의 프레임들에 1회)에서 획득될 수 있고 깊이 맵은 카메라 중심 위치 같은 공간 내 주어진 포인트로부터 추정된 표면까지의 거리들을 결정하기 위하여 사용될 수 있다. 그 다음 이들 거리들은 볼륨 데이터 세트에서 부호를 가진 거리에 맵핑될 수 있다.
[00105] 단계(351)에서, 볼륨 내 각각의 샘플은 깊이 맵의 카메라 좌표 시스템으로 변환될 수 있고 샘플은 광선을 따라 표면까지 측정된 거리를 얻기 위하여 입력 카메라 포즈에 기초하여 깊이 맵에 투사될 수 있다. 해당 투사된 픽셀에서 거리 값은 광선을 따라 표면까지 측정된 거리 추정치를 제공한다.
[00106] 다음, 단계(353)에서, 샘플 깊이와 측정된 거리 추정치 사이의 차이는 계산된다. 샘플 위치로부터 표면까지의 측정된 상대적 거리는 샘플 깊이와 측정된 거리 사이의 차이로서 정의된다.
[00107] 단계(355)에서, 측정된 상대적 거리는 TDSF에 맵핑되고 단계(357)에서, 맵핑된 TDSF 값은 저장된 값과 결합될 수 있다. 예를 들어, 광선 상의 샘플 포인트에 의해 제공된 거리 추정치(s)는 순환 필터를 사용하여 거리 추정치(s)를 상대적 거리와 결합함으로써 업데이트될 수 있다. 예를 들어, 하나의 구현은 거리 추정치(s)와 함께 무게(w)를 사용할 수 있고 가중된 업데이트를 사용함으로써 새로운 측정치(m)에 기초하여 거리 추정치(s)를 업데이트할 수 있고, 이는
Figure 112015082989084-pct00003
및 w=w+1에 의해 제공될 수 있다.
[00108] 단계(359)에서, 부가적인 샘플들이 프로세싱되면(단계(359)에서 "Y") 다른 반복 시작은 다음 샘플을 프로세싱하기 위하여 시작될 수 있다. 추가의 샘플들이 없다면(단계(359)에서 "N"), 제어는 호출 루틴으로 리턴될 수 있다.
[00109] 몇몇 실시예들에서, 추적 모듈(210) 및 재구성 모듈(250)은 병렬로 운용될 수 있다. 예를 들어, 추적 모듈(210) 및 재구성 모듈(250)은 별개의 스레드(thread)들 또는 프로세스들로서 운용할 수 있다. 몇몇 실시예들에서, 추적 모듈(210) 및 재구성 모듈(250)은 별개의 프로세서 코어(core)들 상에서 운용할 수 있다.
[00110] 몇몇 실시예들에서, 상기 설명된 방법(200)은 전력 효율적 깊이 센서 용법을 가진 실시간 3D 재구성을 가능하게 할 수 있다. 일 실시예에서, 시각 추적 시스템은 적당한 프레임 레이트들에서 연속으로 운용할 수 있고, 3D 재구성 모듈은 산발적으로 이미지+깊이 데이터를 획득할 수 있다. 예를 들어, 컬러+깊이 이미지 쌍들이 획득될 수 있는 레이트는, 애플리케이션 종속 동안, 맵핑 시퀀스의 시작에서 보다 높을 수 있고 실질적으로 끝으로 감소할 수 있다. 몇몇 실시예들에서, 깊이 정보가 연속으로 획득되는 종래의 방법들에 비해, 상기 방법(200)은 깊이 정보를 요구하는 프레임들의 수를 10배수 또는 그 초과만큼 감소시킬 수 있어서, 상당한 전력 절약들이 초래된다.
[00111] 몇몇 예시적인 구현들에서, 시각 추적 시스템은 30fps의 프레임 레이트로 연속하여 운용할 수 있고, 3D 재구성 모듈은 산발적으로 이미지+깊이 데이터를 획득한다. 일반적으로, 컬러+깊이 이미지들이 획득되는 레이트는 특정 용법에 따른다. 그러나, 몇몇 통상적인 용도 경우들에서, 3D 재구성 모듈은 맵핑 시퀀스의 시작에서 초당 1회 또는 2회, 및 맵핑 시퀀스의 끝쪽으로 매 몇초당 단지 1회 이미지+깊이 데이터를 획득할 수 있다. 따라서, 항상 컬러+깊이 정보를 요구하는 종래의 구현들에 비해, 본원에 설명된 실시예들은 깊이 정보가 종래의 구현들에 비해 10배 또는 그 초과만큼 획득되기 때문에 프레임들의 수를 감소시킨다. 따라서, 예들에서, 깊이 센서가 빠르게 그리고 최소 오버헤드로 인에이블되고 디스에이블되는 경우, 개시된 실시예들의 CV 애플리케이션들에서 깊이 획득을 위한 전력 소비는 종래의 방법들에 의해 소비된 전력의 10% 또는 그 미만일 수 있다.
[00112] 도 3은 개시된 실시예들과 일치하는 3D 재구성을 위한 예시적인 방법(400)의 흐름도를 도시한다. 몇몇 실시예들에서, 방법(400)은 프로세서들(150)에 의해 수행될 수 있다. 몇몇 실시예들에서, 방법(400)의 부분들은 CV 모듈(155)에 의해 실행될 수 있다.
[00113] 단계(405)에서, 제 1(또는 다음) 이미지는 적어도 하나의 카메라를 사용하여 캡처될 수 있고, 제 1 이미지는 모델링되는 환경의 적어도 일부에 대한 컬러 정보를 포함한다. 몇몇 실시예들에서, 제 1 이미지는 MS(100) 상의 카메라(들)(110)를 사용하여 캡처될 수 있다.
[00114] 다음, 단계(410)에서, 카메라에 의해 캡처된 제 1(또는 다음) 이미지에 대한 카메라 포즈 정보는 단계(420)에서 얻어질 수 있다. 몇몇 실시예들에서, 단계들(405 및 410)의 부분들은 추적 모듈(210)에 의해 수행될 수 있다.
[00115] 단계(420)에서, 모바일 디바이스에 의해 모델링되는 환경의 제 1 3차원(3D) 모델을 확장할지 업데이트할지 결정은, 제 1(또는 다음) 캡처된 이미지 및 연관된 카메라 포즈 정보에 부분적으로 기초하여 이루어질 수 있다. 몇몇 실시예들에서, 표면 및/또는 볼륨 재구성 기술들은 3D 모델에 대해 사용될 수 있고 모델 확장에 관한 판정들은 모델링에 사용되는 특정 기술과 일치하는 방식으로 이루어질 수 있다.
[00116] 예를 들어, 제 1(다음) 이미지 및 카메라 포즈에 기초한 표면 재구성을 위하여, 이미지가 환경의 기존 모델에 현재 표현되지 않은 정보를 포함하는 정도의 결정이 이루어질 수 있다. 예를 들어, 표면 재구성을 위하여, 환경의 기존 모델을 확장할지의 결정은 기존 모델에 이미 표현되지만 새롭게 캡처된 카메라 프레임의 상이한 뷰포인트로부터 처음으로 이미징된 환경의 포인트들 또는 영역들이 있는지에 기초할 수 있다.
[00117] 단계(430)에서, 모델이 확장되지 않거나 업데이트되지 않으면(단계(430)의 "N"), 단계(440)에서, MS(100) 상의 깊이 센서는 디스에이블될 수 있다. 볼륨 재구성에 대해, 예를 들어, 깊이 센서는 깊이 정보가 획득되는 빈도에 따라 프레임들 사이의 적당한 간격들 동안 디스에이블될 수 있다. 표면 재구성에 대해, 예를 들어, 깊이 센서는 이미지가 새로운 정보를 포함하지 않으면 디스에이블될 수 있다. 깊이 정보가 특정된 레이트에서 주기적으로 획득될 수 있는 볼륨 재구성에 대해, 깊이 센서들은 특정된 레이트에 기초하여 적당한 간격들에서 인에이블될 수 있다. 그렇지 않으면, 깊이 센서들은 디스에이블될 수 있다. 예를 들어, 깊이 센서들은 턴 오프되거나 대기 모드로 두어질 수 있다.
[00118] 몇몇 실시예들에서, 표면 재구성 및 볼륨 재구성 경우 둘 다에 대해, 깊이 센서를 디스에이블링하는 것은 깊이 센서에 공급된 전력을 턴 오프하는 것, 또는 깊이 이미지의 계산에 관련된 기능성을 디스에이블링하는 것 중 적어도 하나를 포함할 수 있다. 예를 들어, 깊이 센서들은 턴 오프되거나 대기 모드에 두어질 수 있다. 몇몇 실시에들에서, 예를 들어, 스테레오 비전 센서가 디스에이블될 때 카메라(110)에 의해 캡처된 이미지들은 단안일 수 있다. 게다가, 몇몇 실시예들에서, 깊이 센서를 디스에이블링함으로써 패시브 스테레오 비전 센서들로부터 캡처된 스테레오 이미지들의 프로세싱과 연관된 계산은 또한 디스에이블될 수 있다. 예를 들어, 일 실시예에서, 스테레오 이미지들이 패시브 비전 센서에 의해 캡처될 수 있지만, 프로세서들(150)은 스테레오 이미지들을 프로세싱하지 않을 수 있고 대신 프로세싱을 위하여 스테레오 쌍으로부터 단일 이미지를 선택할 수 있다. 따라서, 몇몇 실시예들에서, 3D 재구성 모듈은 깊이 데이터를 산발적으로 획득/사용하고 이에 의해 전력이 절약된다.
[00119] 다른 한편, 모델이 확장되거나 업데이트되면(단계(430)에서 "Y"), 단계(450)에서, MS(100) 상의 깊이 센서는 인에이블될 수 있다. 예를 들어, 표면 재구성에 대해, 모델링되는 환경의 3D 모델이 확장되면, 제 1(다음) 이미지가 충분한 새로운 정보를 포함하기 때문에, 그 다음 이미지 및 깊이 정보는 이미지 및 연관된 포즈 정보의 캡처와 함께 적당한 깊이 센서들을 턴 온 함으로써 얻어질 수 있다.
[00120] 다른 예로서, 깊이 정보가 몇몇 특정된 레이트에서 획득되는 볼륨 재구성에 대해, 깊이 센서는 특정된 레이트에 기초하여 인에이블될 수 있고 환경의 3D 모델은 새로운 깊이 정보로 업데이트될 수 있다. 볼륨 재구성에 대해, 몇몇 실시예들에서, 보다 높은 품질은 기존 모델에 이미 표현된 환경의 포인트들 또는 영역들의 부가적인 측정치들을 융합함으로써 달성될 수 있다. 따라서, 볼륨 재구성이 사용되는 실시예들에서, 모델 또는 3D 메쉬는 새로운 포인트들이 없는 상황들에서도 업데이트될 수 있다. 몇몇 실시예들에서, 임계치 또는 다른 파라미터들은 동일한 표면 엘리먼트가 업데이트되는 횟수들을 제한하도록 설정될 수 있다.
[00121] 예를 들어, 몇몇 실시예들에서, 제 2 이미지는 적어도 하나의 카메라로 캡처될 수 있다. 게다가, 제 2 이미지는 적어도 부분적으로 깊이 센서에 의해 제공된 깊이 정보로 증강될 수 있다.
[00122] 표면 재구성에 대해, MS에 의해 모델링되는 환경의 부분 모델은 환경의 제 1 3D 모델과 합병될 수 있다. 부분 모델은 부분적으로, 제 2 이미지, 및 제 2 이미지에 대한 깊이 및 카메라 포즈 정보에 기초할 수 있다. 몇몇 실시예들에서, 제 1 3D 모델 및 부분 3D 모델에 공통된 정보는 부분 3D 모델을 제 1 3D 모델과 합병하기 전에 부분 3D 모델로부터 제거될 수 있다. 몇몇 실시예들에서, 부분 모델은 다운샘플링된 보다 낮은 해상도의 증강된 제 2 이미지에 기초할 수 있다. 몇몇 실시예들에서, MS에 의해 모델링되는 환경의 부분 모델은 제 2 이미지에 대한 카메라 포즈 정보에 기초하여 환경의 제 1 3D 모델과 정렬될 수 있다. 몇몇 실시예들에서, 제 1 3D 모델과 부분 3D 모델의 정렬은 ICP(Iterative Closest Point)를 사용하여 개선될 수 있다.
[00123] 볼륨 재구성에 대해, 깊이 데이터는 몇몇 특정된 레이트(예를 들어 매 5개의 프레임들에 1회)에서 획득될 수 있고 깊이 맵은 카메라 중심 위치 같은 공간의 주어진 포인트로부터 추정된 표면까지의 거리들을 결정하기 위하여 사용될 수 있다. 그 다음 이들 거리들은 볼륨 데이터 세트에서 부호를 가진 거리에 맵핑될 수 있다. 따라서, 볼륨의 각각의 샘플은 깊이 맵의 카메라 좌표 시스템으로 변환될 수 있고 샘플은 광선을 따라 표면까지 측정된 거리를 얻기 위하여 입력 카메라 포즈에 기초하여 깊이 맵에 투사될 수 있다. 해당 투사된 픽셀에서 거리 값은 광선을 따라 표면까지 측정된 거리 추정치를 제공한다.
[00124] 다음, 샘플 깊이와 측정된 거리 추정치 사이의 차이는 계산될 수 있다. 그 다음 샘플 깊이와 측정된 거리 사이의 차이로서 정의된, 샘플 위치로부터 표면까지 측정된 상대적 거리는 TDSF에 맵핑될 수 있고 맵핑된 TDSF 값은 저장된 값과 결합될 수 있다. 예를 들어, 광선 상의 샘플 포인트에 의해 제공된 거리 추정치(s)는 순환 필터를 사용하여 거리 추정치(s)를 상대적 거리와 결합함으로써 업데이트될 수 있다. 예를 들어, 하나의 구현은 거리 추정치(s)와 함께 무게(w)를 사용할 수 있고 가중된 업데이트를 사용함으로써 새로운 측정치(m)에 기초하여 거리 추정치(s)를 업데이트할 수 있고, 이는
Figure 112015082989084-pct00004
및 w=w+1에 의해 제공될 수 있다.
[00125] 프로세싱될 부가적인 이미지들이 있다면(단계(460)에서 "Y"), 프로세스는 다른 반복을 시작하기 위하여 단계(410)로 리턴한다. 예를 들어, 3D 재구성 및/또는 맵핑 시퀀스가 불완전하면, 부가적인 이미지들을 획득하기 위한 결정이 이루어질 수 있고 새로운 반복은 단계(405)에서 시작된다. 그렇지 않고, 추가의 이미지들이 없다면(단계(460)에서 "N"), 방법이 종료될 수 있다.
[00126] 본원에 설명된 방법론들은 애플리케이션에 따라 다양한 수단에 의해 구현될 수 있다. 예를 들어, 펌웨어 및/또는 소프트웨어 구현에 대해, 방법론들은 본원에 설명된 기능들을 수행하는 모듈들(예를 들어, 절차들, 기능들, 등)로 구현될 수 있다. 명령들을 유형적으로 구현하는 임의의 머신-판독가능 매체는 본원에 설명된 방법론들을 구현하는데 사용될 수 있다.
[00127] 예를 들어, 소프트웨어 코드는 메모리에 저장될 수 있고 MS(100) 상의 프로세서(들)(150) 같은 프로세서 유닛에 의해 실행될 수 있다. 몇몇 실시예들에서, 기능들은 컴퓨터-판독가능 매체상에 하나 또는 그 초과의 명령들 또는 코드로서 저장될 수 있다. 예들은 데이터 구조로 인코딩된 컴퓨터-판독가능 미디어 및 컴퓨터 프로그램으로 인코딩된 컴퓨터-판독가능 미디어를 포함한다. 컴퓨터-판독가능 미디어는 물리적 컴퓨터 스토리지 미디어를 포함한다.
[00128] 스토리지 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 이용 가능 매체일 수 있다. 제한이 아닌 예로써, 그런 컴퓨터-판독가능 미디어는 RAM, ROM, EEPROM, CD-ROM 또는 다른 광학 디스크(disk) 스토리지, 자기 디스크(disk) 스토리지 또는 다른 자기 스토리지 디바이스들, 또는 명령들 또는 데이터 구조들 형태의 원하는 프로그램 코드를 저장하고 컴퓨터에 의해 액세스될 수 있는 임의의 다른 매체를 포함할 수 있고; 본원에 사용된 바와 같은 디스크(disk) 및 디스크(disc)는 컴팩트 디스크(CD), 레이저 디스크(disc), 광학 디스크(disc), 디지털 다기능 디스크(disc)(DVD), 플로피 디스크(disk) 및 블루-레이 디스크(disck)를 포함하고 여기서 디스크(disk)들은 보통 자기적으로 데이터를 재생하는 반면, 디스크(disc)들은 레이저들을 이용하여 광학적으로 데이터를 재생한다. 상기의 결합들은 또한 컴퓨터 판독가능 미디어의 범위 내에 포함되어야 한다.
[00129] 컴퓨터 판독가능 매체상 스토리지에 더하여, 명령들 및/또는 데이터는 통신 장치에 포함된 송신 미디어 상의 신호들로서 제공될 수 있다. 예를 들어, 통신 장치는 명령들 및 데이터를 가리키는 신호들을 가진 트랜시버를 포함할 수 있다. 명령들 및 데이터는 하나 또는 그 초과의 프로세서들로 하여금 청구항들에 개요된 기능들을 구현하게 하도록 구성된다. 즉, 통신 장치는 개시된 기능들을 수행하기 위한 정보를 가리키는 신호들을 가진 송신 미디어를 포함한다. 처음에, 통신 장치에 포함된 송신 미디어는 개시된 기능들을 수행하기 위한 정보의 제 1 부분을 포함할 수 있고, 두 번째에, 통신 장치에 포함된 송신 미디어는 개시된 기능들을 수행하기 위한 정보의 제 2 부분을 포함할 수 있다.
[00130] 개시된 양상들의 이전 설명은 임의의 당업자가 본 개시를 만들거나 사용하게 하도록 제공된다. 이들 양상들에 대한 다양한 수정들은 당업자들에게 쉽게 명백할 것이고, 본원에 정의된 일반 원리들은 본 개시의 사상 또는 범위로부터 벗어남이 없이 다른 양상들에 적용될 수 있다.

Claims (30)

  1. 적어도 하나의 카메라 및 깊이 센서를 포함하는 이동국(MS) 상에서의 방법으로서,
    상기 적어도 하나의 카메라를 사용하여 제 1 이미지를 캡처하는 단계 ― 상기 제 1 이미지는 상기 MS에 의해 모델링되고 있는 환경의 적어도 일부에 대한 컬러 정보를 포함함 ―;
    상기 제 1 이미지에 대한 카메라 포즈(camera pose) 정보를 얻는 단계;
    상기 제 1 이미지 및 상기 제 1 이미지에 대한 상기 카메라 포즈 정보에 부분적으로 기초하여, 상기 MS에 의해 모델링되고 있는 상기 환경의 부분 모델을 상기 환경의 제 1 3차원(3D) 모델과 합병(merge)함으로써 상기 환경의 상기 제 1 3D 모델을 확장할지 여부를 결정하는 단계; 및
    상기 제 1 3D 모델이 확장될 때, 상기 깊이 센서를 인에이블링하는 단계
    를 포함하는,
    적어도 하나의 카메라 및 깊이 센서를 포함하는 이동국(MS) 상에서의 방법.
  2. 제 1 항에 있어서,
    상기 깊이 센서를 인에이블링하는 단계는:
    상기 깊이 센서에 공급되는 전력을 턴 온하는 단계, 또는
    깊이 이미지의 계산에 관련된 기능성을 인에이블링하는 단계
    중 적어도 하나를 포함하는,
    적어도 하나의 카메라 및 깊이 센서를 포함하는 이동국(MS) 상에서의 방법.
  3. 제 1 항에 있어서,
    상기 제 1 3D 모델이 확장되지 않을 때, 상기 깊이 센서의 디스에이블먼트(disablement)를 유지하는 단계를 더 포함하는,
    적어도 하나의 카메라 및 깊이 센서를 포함하는 이동국(MS) 상에서의 방법.
  4. 제 1 항에 있어서,
    상기 깊이 센서를 인에이블링할 때, 상기 제 1 3D 모델은:
    상기 적어도 하나의 카메라를 사용하여 제 2 이미지를 캡처하는 단계; 및
    적어도 부분적으로, 상기 깊이 센서에 의해 제공되는 깊이 정보를 사용하여 상기 제 2 이미지를 증강시키는(augmenting) 단계
    에 의해 확장되고,
    상기 부분 모델은 상기 제 2 이미지 및 상기 제 2 이미지에 대한 깊이 및 카메라 포즈 정보에 부분적으로 기초하는,
    적어도 하나의 카메라 및 깊이 센서를 포함하는 이동국(MS) 상에서의 방법.
  5. 제 4 항에 있어서,
    상기 제 1 3D 모델 및 상기 부분 모델에 공통된 정보는 상기 부분 모델을 상기 제 1 3D 모델과 합병하기 전에 상기 부분 모델로부터 제거되는,
    적어도 하나의 카메라 및 깊이 센서를 포함하는 이동국(MS) 상에서의 방법.
  6. 제 4 항에 있어서,
    상기 부분 모델은 증강된 제 2 이미지로부터 다운샘플링된 보다 낮은 해상도의 이미지에 기초하는,
    적어도 하나의 카메라 및 깊이 센서를 포함하는 이동국(MS) 상에서의 방법.
  7. 제 4 항에 있어서,
    상기 MS에 의해 모델링되고 있는 상기 환경의 상기 부분 모델을 상기 환경의 상기 제 1 3D 모델과 합병하는 것은 상기 제 2 이미지에 대한 상기 카메라 포즈 정보에 기초하여 상기 부분 모델을 상기 제 1 3D 모델과 정렬하는 것을 더 포함하는,
    적어도 하나의 카메라 및 깊이 센서를 포함하는 이동국(MS) 상에서의 방법.
  8. 제 7 항에 있어서,
    상기 제 1 3D 모델과 상기 부분 모델의 정렬은 ICP(Iterative Closest Point)를 사용하여 개선(refine)되는,
    적어도 하나의 카메라 및 깊이 센서를 포함하는 이동국(MS) 상에서의 방법.
  9. 이동국(MS)으로서,
    컬러 정보를 포함하는 제 1 이미지를 캡처하기 위한 카메라,
    상기 카메라에 커플링된 깊이 센서, 및
    상기 깊이 센서 및 상기 카메라에 커플링된 프로세서
    를 포함하고, 상기 프로세서는
    상기 제 1 이미지에 대한 카메라 포즈 정보를 획득하고,
    상기 제 1 이미지 및 상기 제 1 이미지에 대한 상기 카메라 포즈 정보에 부분적으로 기초하여, 상기 MS에 의해 모델링되고 있는 환경의 부분 모델을 상기 환경의 제 1 3차원(3D) 모델과 합병함으로써 상기 환경의 상기 제 1 3D 모델을 확장할지 여부를 결정하고; 그리고
    상기 제 1 3D 모델이 확장되면, 상기 깊이 센서를 인에이블링
    하도록 구성되는,
    이동국(MS).
  10. 제 9 항에 있어서,
    상기 깊이 센서를 인에이블링하기 위하여, 상기 프로세서는:
    상기 깊이 센서에 공급되는 전력을 턴 온하는 것, 또는
    깊이 이미지의 계산에 관련된 기능성을 인에이블링하는 것
    중 적어도 하나를 수행하도록 구성되는,
    이동국(MS).
  11. 제 10 항에 있어서,
    상기 프로세서는, 상기 제 1 3D 모델이 확장되지 않을 때, 상기 깊이 센서의 디스에이블먼트를 유지하도록 추가로 구성되는,
    이동국(MS).
  12. 제 9 항에 있어서,
    상기 깊이 센서를 인에이블링할 때,
    상기 카메라는 컬러 정보를 포함하는 제 2 이미지를 추가로 캡처하고;
    상기 깊이 센서는 깊이 정보를 사용하여 상기 카메라에 의해 캡처된 상기 제 2 이미지를 추가로 증강시키고; 그리고
    상기 프로세서는:
    컬러 및 깊이 정보를 포함하는 상기 증강된 제 2 이미지를 얻도록
    추가로 구성되고,
    상기 부분 모델은 상기 제 2 이미지, 및 상기 제 2 이미지에 대한 깊이 및 카메라 포즈 정보에 부분적으로 기초하는,
    이동국(MS).
  13. 제 12 항에 있어서,
    상기 부분 모델을 상기 제 1 3D 모델과 합병하기 전에, 상기 프로세서는 상기 부분 모델로부터 상기 제 1 3D 모델 및 상기 부분 모델에 공통된 정보를 제거하도록 추가로 구성되는,
    이동국(MS).
  14. 제 12 항에 있어서,
    상기 프로세서는 증강된 제 2 이미지로부터 다운샘플링된 보다 낮은 해상도의 이미지에 부분적으로 기초하여 상기 부분 모델을 획득하도록 구성되는,
    이동국(MS).
  15. 제 12 항에 있어서,
    상기 MS에 의해 모델링되고 있는 상기 환경의 상기 부분 모델을 상기 환경의 상기 제 1 3D 모델과 합병하기 위하여, 상기 프로세서는 상기 제 2 이미지와 연관된 상기 카메라 포즈 정보에 기초하여 상기 부분 모델을 상기 제 1 3D 모델과 정렬하도록 구성되는,
    이동국(MS).
  16. 제 15 항에 있어서,
    상기 프로세서는 ICP(Iterative Closest Point)를 사용하여 상기 제 1 3D 모델과 상기 부분 모델의 정렬을 개선하도록 구성되는,
    이동국(MS).
  17. 장치로서,
    이미징 수단 ― 상기 이미징 수단은 컬러 정보를 포함하는 제 1 이미지를 캡처하기 위한 것임 ―,
    상기 이미징 수단에 커플링된 깊이 감지 수단, 및
    상기 깊이 감지 수단 및 상기 이미징 수단에 커플링된 프로세싱 수단
    을 포함하고, 상기 프로세싱 수단은
    상기 제 1 이미지에 대한 이미징 수단 포즈 정보를 얻기 위한 수단,
    상기 제 1 이미지 및 상기 제 1 이미지에 대한 상기 이미징 수단 포즈 정보에 부분적으로 기초하여 환경의 제 1 3차원(3D) 모델을 확장할지 여부를 결정하기 위한 수단 ― 상기 제 1 3D 모델은 상기 장치에 의해 모델링되고 있는 상기 환경의 부분 모델을 상기 환경의 상기 제 1 3D 모델과 합병함으로써 확장됨 ―, 및
    상기 제 1 3D 모델이 확장되면, 상기 깊이 감지 수단을 인에이블링하기 위한 수단
    을 더 포함하는,
    장치.
  18. 제 17 항에 있어서,
    상기 깊이 감지 수단을 인에이블링하기 위한 수단은,
    상기 깊이 감지 수단에 공급되는 전력을 턴 온하기 위한 수단, 또는
    깊이 이미지의 계산에 관련된 기능성을 인에이블링하기 위한 수단
    중 적어도 하나를 더 포함하는,
    장치.
  19. 제 17 항에 있어서,
    상기 프로세싱 수단은, 상기 제 1 3D 모델이 확장되지 않을 때, 상기 깊이 감지 수단의 디스에이블먼트를 유지하기 위한 수단을 더 포함하는,
    장치.
  20. 제 17 항에 있어서,
    상기 깊이 감지 수단을 인에이블링할 때,
    상기 이미징 수단은 컬러 정보를 포함하는 제 2 이미지를 추가로 캡처하고;
    상기 깊이 감지 수단은 깊이 정보를 사용하여 상기 제 2 이미지를 추가로 증강시키고; 그리고
    상기 프로세싱 수단은,
    컬러 및 깊이 정보를 포함하는 증강된 제 2 이미지를 얻기 위한 수단
    을 더 포함하고,
    상기 부분 모델은 상기 증강된 제 2 이미지 및 상기 제 2 이미지에 대한 이미징 수단 포즈 정보에 부분적으로 기초하는,
    장치.
  21. 제 20 항에 있어서,
    상기 프로세싱 수단은 상기 부분 모델을 상기 제 1 3D 모델과 합병하기 전에 상기 부분 모델로부터 상기 제 1 3D 모델 및 상기 부분 모델에 공통된 정보를 제거하기 위한 수단을 더 포함하는,
    장치.
  22. 제 20 항에 있어서,
    상기 장치에 의해 모델링되고 있는 상기 환경의 상기 부분 모델을 상기 환경의 상기 제 1 3D 모델과 합병하기 위한 수단은 상기 제 2 이미지와 연관된 상기 이미징 수단 포즈 정보에 기초하여 상기 부분 모델을 상기 제 1 3D 모델과 정렬하기 위한 수단을 더 포함하는,
    장치.
  23. 제 20 항에 있어서,
    상기 환경의 상기 부분 모델을 상기 환경의 상기 제 1 3D 모델과 합병하기 위한 수단은 상기 증강된 제 2 이미지를 보다 낮은 해상도의 증강된 제 2 이미지로 다운샘플링하기 위한 수단을 더 포함하고, 그리고
    상기 합병하기 위한 수단은 상기 다운샘플링된 보다 낮은 해상도의 증강된 제 2 이미지 상에서 동작하는,
    장치.
  24. 프로세서에 의해 실행될 때, 적어도 하나의 카메라 및 깊이 센서를 포함하는 이동국(MS) 상에서의 방법의 단계들을 수행하는 명령들을 포함하는 컴퓨터-판독가능 매체로서,
    상기 방법은,
    상기 적어도 하나의 카메라를 사용하여 제 1 이미지를 캡처하는 단계 ― 상기 제 1 이미지는 상기 MS에 의해 모델링되고 있는 환경의 적어도 일부에 대한 컬러 정보를 포함함 ―;
    상기 제 1 이미지에 대한 카메라 포즈 정보를 얻는 단계;
    상기 제 1 이미지 및 상기 제 1 이미지에 대한 상기 카메라 포즈 정보에 부분적으로 기초하여, 상기 MS에 의해 모델링되고 있는 상기 환경의 부분 모델을 상기 환경의 제 1 3차원(3D) 모델과 합병함으로써 상기 환경의 상기 제 1 3D 모델을 확장할지 여부를 결정하는 단계; 및
    상기 제 1 3D 모델이 확장될 때, 상기 깊이 센서를 인에이블링하는 단계
    를 포함하는,
    컴퓨터-판독가능 매체.
  25. 제 24 항에 있어서,
    상기 깊이 센서를 인에이블링하는 단계는:
    상기 깊이 센서에 공급되는 전력을 턴 온하는 단계, 또는
    깊이 이미지의 계산에 관련된 기능성을 인에이블링하는 단계
    중 적어도 하나를 더 포함하는,
    컴퓨터-판독가능 매체.
  26. 제 24 항에 있어서,
    상기 제 1 3D 모델이 확장되지 않으면, 상기 깊이 센서의 디스에이블먼트를 유지하는 단계를 더 포함하는,
    컴퓨터-판독가능 매체.
  27. 제 24 항에 있어서,
    상기 깊이 센서를 인에이블링할 때, 상기 제 1 3D 모델은:
    적어도 부분적으로, 상기 깊이 센서에 의해 제공된 깊이 정보를 사용하여 제 2 이미지를 증강시키는 것
    에 의해 확장되고,
    상기 부분 모델은 상기 제 2 이미지, 및 상기 제 2 이미지에 대한 깊이 및 카메라 포즈 정보에 부분적으로 기초하는,
    컴퓨터-판독가능 매체.
  28. 제 27 항에 있어서,
    상기 제 1 3D 모델 및 상기 부분 모델에 공통된 정보는 상기 부분 모델을 상기 제 1 3D 모델과 합병하기 전에 상기 부분 모델로부터 제거되는,
    컴퓨터-판독가능 매체.
  29. 제 27 항에 있어서,
    상기 MS에 의해 모델링되고 있는 상기 환경의 상기 부분 모델을 상기 환경의 상기 제 1 3D 모델과 합병하는 것은 상기 제 2 이미지에 대한 상기 카메라 포즈 정보에 기초하여 상기 부분 모델을 상기 제 1 3D 모델과 정렬하는 것을 더 포함하는,
    컴퓨터-판독가능 매체.
  30. 제 27 항에 있어서,
    상기 부분 모델은 증강된 제 2 이미지로부터 다운샘플링된 보다 낮은 해상도의 이미지에 기초하는,
    컴퓨터-판독가능 매체.
KR1020157023223A 2013-01-30 2014-01-27 전력 효율적 깊이 센서 용법을 가진 실시간 3d 재구성 KR101654174B1 (ko)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201361758699P 2013-01-30 2013-01-30
US61/758,699 2013-01-30
US201361769465P 2013-02-26 2013-02-26
US61/769,465 2013-02-26
US14/161,140 US9083960B2 (en) 2013-01-30 2014-01-22 Real-time 3D reconstruction with power efficient depth sensor usage
US14/161,140 2014-01-22
PCT/US2014/013211 WO2014120613A1 (en) 2013-01-30 2014-01-27 Real-time 3d reconstruction with power efficient depth sensor usage

Publications (2)

Publication Number Publication Date
KR20150111999A KR20150111999A (ko) 2015-10-06
KR101654174B1 true KR101654174B1 (ko) 2016-09-05

Family

ID=50727551

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157023223A KR101654174B1 (ko) 2013-01-30 2014-01-27 전력 효율적 깊이 센서 용법을 가진 실시간 3d 재구성

Country Status (9)

Country Link
US (2) US9083960B2 (ko)
EP (1) EP2951788B1 (ko)
JP (2) JP5951908B2 (ko)
KR (1) KR101654174B1 (ko)
CN (1) CN104956404B (ko)
ES (1) ES2675171T3 (ko)
HU (1) HUE038287T2 (ko)
TW (2) TWI544781B (ko)
WO (1) WO2014120613A1 (ko)

Families Citing this family (130)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9083960B2 (en) 2013-01-30 2015-07-14 Qualcomm Incorporated Real-time 3D reconstruction with power efficient depth sensor usage
US11172126B2 (en) * 2013-03-15 2021-11-09 Occipital, Inc. Methods for reducing power consumption of a 3D image capture system
US9772173B2 (en) 2013-06-27 2017-09-26 Faro Technologies, Inc. Method for measuring 3D coordinates of a surface with a portable articulated arm coordinate measuring machine having a camera
WO2015006224A1 (en) * 2013-07-08 2015-01-15 Vangogh Imaging, Inc. Real-time 3d computer vision processing engine for object recognition, reconstruction, and analysis
KR102137264B1 (ko) * 2013-07-09 2020-07-24 삼성전자주식회사 카메라 포즈 추정 장치 및 방법
JP6102648B2 (ja) * 2013-09-13 2017-03-29 ソニー株式会社 情報処理装置及び情報処理方法
US9438775B2 (en) 2013-09-17 2016-09-06 Occipital, Inc. Apparatus for real-time 3D capture
US9336440B2 (en) * 2013-11-25 2016-05-10 Qualcomm Incorporated Power efficient use of a depth sensor on a mobile device
US9171403B2 (en) * 2014-02-13 2015-10-27 Microsoft Technology Licensing, Llc Contour completion for augmenting surface reconstructions
CN109945844B (zh) * 2014-05-05 2021-03-12 赫克斯冈技术中心 测量子系统和测量系统
US20150332464A1 (en) * 2014-05-19 2015-11-19 Occipital, Inc. Methods for automatic registration of 3d image data
US9402070B2 (en) 2014-06-12 2016-07-26 Faro Technologies, Inc. Coordinate measuring device with a six degree-of-freedom handheld probe and integrated camera for augmented reality
US10021379B2 (en) 2014-06-12 2018-07-10 Faro Technologies, Inc. Six degree-of-freedom triangulation scanner and camera for augmented reality
US9766460B2 (en) 2014-07-25 2017-09-19 Microsoft Technology Licensing, Llc Ground plane adjustment in a virtual reality environment
US9865089B2 (en) 2014-07-25 2018-01-09 Microsoft Technology Licensing, Llc Virtual reality environment with real world objects
US20160027214A1 (en) * 2014-07-25 2016-01-28 Robert Memmott Mouse sharing between a desktop and a virtual world
US10451875B2 (en) 2014-07-25 2019-10-22 Microsoft Technology Licensing, Llc Smart transparency for virtual objects
US10311638B2 (en) * 2014-07-25 2019-06-04 Microsoft Technology Licensing, Llc Anti-trip when immersed in a virtual reality environment
US9858720B2 (en) 2014-07-25 2018-01-02 Microsoft Technology Licensing, Llc Three-dimensional mixed-reality viewport
US10416760B2 (en) 2014-07-25 2019-09-17 Microsoft Technology Licensing, Llc Gaze-based object placement within a virtual reality environment
US9904055B2 (en) 2014-07-25 2018-02-27 Microsoft Technology Licensing, Llc Smart placement of virtual objects to stay in the field of view of a head mounted display
WO2016018392A1 (en) 2014-07-31 2016-02-04 Hewlett-Packard Development Company, L.P. Three dimensional scanning system and framework
DE112015003734T5 (de) * 2014-08-11 2017-06-14 Faro Technologies, Inc. Triangulationsscanner mit sechs Freiheitsgraden und Kamera für erweiterte Realität
KR20160022086A (ko) * 2014-08-19 2016-02-29 한국과학기술연구원 3d 프린팅을 지원하는 단말기 및 방법, 그 방법을 수행하기 위한 컴퓨터 프로그램
WO2016029970A1 (en) * 2014-08-29 2016-03-03 Toyota Motor Europe Nv/Sa Method and system for scanning an object using an rgb-d sensor
US10484697B2 (en) * 2014-09-09 2019-11-19 Qualcomm Incorporated Simultaneous localization and mapping for video coding
US10176625B2 (en) 2014-09-25 2019-01-08 Faro Technologies, Inc. Augmented reality camera for use with 3D metrology equipment in forming 3D images from 2D camera images
WO2016069497A1 (en) * 2014-10-26 2016-05-06 Galileo Group, Inc. Methods and systems for remote sensing with airborne drones and mounted sensor devices
WO2016069496A1 (en) 2014-10-26 2016-05-06 Galileo Group, Inc. Swarm approach to consolidating and enhancing smartphone target imagery by virtually linking smartphone camera collectors across space and time using machine-to-machine networks
US9710960B2 (en) 2014-12-04 2017-07-18 Vangogh Imaging, Inc. Closed-form 3D model generation of non-rigid complex objects from incomplete and noisy scans
US9506744B2 (en) 2014-12-16 2016-11-29 Faro Technologies, Inc. Triangulation scanner and camera for augmented reality
US10275113B2 (en) 2014-12-19 2019-04-30 Hewlett-Packard Development Company, L.P. 3D visualization
CN104616127B (zh) * 2015-01-16 2018-04-03 北京邮电大学 一种基于rfid系统的三维重构仓储运维系统及方法
WO2016161104A1 (en) 2015-04-01 2016-10-06 Vayavision, Ltd. Generating 3-dimensional maps of a scene using passive and active measurements
EP3076579A1 (en) * 2015-04-02 2016-10-05 Thomson Licensing Devices and methods for encryption and decryption of graphical 3d objects
US20160321838A1 (en) * 2015-04-29 2016-11-03 Stmicroelectronics S.R.L. System for processing a three-dimensional (3d) image and related methods using an icp algorithm
US10366534B2 (en) * 2015-06-10 2019-07-30 Microsoft Technology Licensing, Llc Selective surface mesh regeneration for 3-dimensional renderings
US9906715B2 (en) 2015-07-08 2018-02-27 Htc Corporation Electronic device and method for increasing a frame rate of a plurality of pictures photographed by an electronic device
WO2017023210A1 (en) * 2015-08-06 2017-02-09 Heptagon Micro Optics Pte. Ltd. Generating a merged, fused three-dimensional point cloud based on captured images of a scene
US10559130B2 (en) * 2015-08-31 2020-02-11 Microsoft Technology Licensing, Llc Displaying image data behind surfaces
US10404962B2 (en) * 2015-09-24 2019-09-03 Intel Corporation Drift correction for camera tracking
CN114119751A (zh) 2015-11-20 2022-03-01 奇跃公司 用于大规模确定rgbd相机姿势的方法和系统
FR3046014A1 (fr) 2015-12-21 2017-06-23 Orange Procede de gestion de ressources sur un terminal
CN105654547B (zh) * 2015-12-23 2018-06-19 中国科学院自动化研究所 三维重建方法
CN106997582A (zh) * 2016-01-22 2017-08-01 北京三星通信技术研究有限公司 飞行时间三维传感器的运动模糊消除方法和设备
KR102406327B1 (ko) * 2016-02-02 2022-06-10 삼성전자주식회사 출력 장치를 제어하는 방법 및 장치
US10229502B2 (en) * 2016-02-03 2019-03-12 Microsoft Technology Licensing, Llc Temporal time-of-flight
US10482681B2 (en) 2016-02-09 2019-11-19 Intel Corporation Recognition-based object segmentation of a 3-dimensional image
US10373380B2 (en) 2016-02-18 2019-08-06 Intel Corporation 3-dimensional scene analysis for augmented reality operations
US11573325B2 (en) 2016-03-11 2023-02-07 Kaarta, Inc. Systems and methods for improvements in scanning and mapping
JP6987797B2 (ja) 2016-03-11 2022-01-05 カールタ インコーポレイテッド リアルタイムオンラインエゴモーション推定を有するレーザスキャナ
US10989542B2 (en) 2016-03-11 2021-04-27 Kaarta, Inc. Aligning measured signal data with slam localization data and uses thereof
US11567201B2 (en) 2016-03-11 2023-01-31 Kaarta, Inc. Laser scanner with real-time, online ego-motion estimation
US10841491B2 (en) * 2016-03-16 2020-11-17 Analog Devices, Inc. Reducing power consumption for time-of-flight depth imaging
US10616552B2 (en) * 2016-03-25 2020-04-07 Intel Corporation Multi-modal real-time camera localization and environment mapping
CN105931240B (zh) * 2016-04-21 2018-10-19 西安交通大学 三维深度感知装置及方法
US10319141B2 (en) 2016-06-21 2019-06-11 Apple Inc. Method and system for vision based 3D reconstruction and object tracking
US10129523B2 (en) 2016-06-22 2018-11-13 Microsoft Technology Licensing, Llc Depth-aware reprojection
US10237531B2 (en) 2016-06-22 2019-03-19 Microsoft Technology Licensing, Llc Discontinuity-aware reprojection
US10573018B2 (en) * 2016-07-13 2020-02-25 Intel Corporation Three dimensional scene reconstruction based on contextual analysis
KR102529120B1 (ko) * 2016-07-15 2023-05-08 삼성전자주식회사 영상을 획득하는 방법, 디바이스 및 기록매체
GB2552648B (en) * 2016-07-22 2020-09-16 Imperial College Sci Tech & Medicine Estimating dimensions for an enclosed space using a multi-directional camera
US10574909B2 (en) 2016-08-08 2020-02-25 Microsoft Technology Licensing, Llc Hybrid imaging sensor for structured light object capture
CN109804411B (zh) * 2016-08-30 2023-02-17 斯纳普公司 用于同时定位和映射的系统和方法
US10339716B1 (en) * 2016-09-19 2019-07-02 Occipital, Inc. System and method for dense, large scale scene reconstruction
US10447998B2 (en) * 2016-09-30 2019-10-15 Intel Corporation Power efficient long range depth sensing
EP3523783A4 (en) * 2016-10-05 2019-10-16 Magic Leap, Inc. SYSTEMS AND METHOD FOR SURFACE MODELING
TWI595446B (zh) 2016-10-19 2017-08-11 國立清華大學 擴充實境中基於深度攝影機之遮蔽邊緣品質改善方法
US11652978B2 (en) * 2017-01-05 2023-05-16 Eys3D Microelectronics, Co. Depth map generation device
US10554909B2 (en) 2017-01-10 2020-02-04 Galileo Group, Inc. Systems and methods for spectral imaging with a transmitter using a plurality of light sources
US10893182B2 (en) 2017-01-10 2021-01-12 Galileo Group, Inc. Systems and methods for spectral imaging with compensation functions
US10445928B2 (en) 2017-02-11 2019-10-15 Vayavision Ltd. Method and system for generating multidimensional maps of a scene using a plurality of sensors of various types
US10628950B2 (en) 2017-03-01 2020-04-21 Microsoft Technology Licensing, Llc Multi-spectrum illumination-and-sensor module for head tracking, gesture recognition and spatial mapping
KR102517876B1 (ko) 2017-03-17 2023-04-03 매직 립, 인코포레이티드 증강 현실 데이터를 레코딩하기 위한 기술
EP3392834B1 (en) * 2017-04-17 2019-12-25 HTC Corporation 3d model reconstruction method, electronic device, and non-transitory computer readable storage medium
EP3646058A4 (en) * 2017-06-30 2020-12-02 Kaarta, Inc. SYSTEMS AND METHODS FOR IMPROVING SCAN AND IMAGING
US20190012835A1 (en) * 2017-07-07 2019-01-10 Microsoft Technology Licensing, Llc Driving an Image Capture System to Serve Plural Image-Consuming Processes
CN108269279B (zh) * 2017-07-17 2019-11-08 先临三维科技股份有限公司 基于单目三维扫描系统的三维重构方法和装置
US11024078B2 (en) 2017-08-07 2021-06-01 Verizon Patent And Licensing Inc. Systems and methods compression, transfer, and reconstruction of three-dimensional (3D) data meshes
US11095854B2 (en) 2017-08-07 2021-08-17 Verizon Patent And Licensing Inc. Viewpoint-adaptive three-dimensional (3D) personas
EP3441788A1 (en) * 2017-08-08 2019-02-13 Koninklijke Philips N.V. Apparatus and method for generating a representation of a scene
WO2019075473A1 (en) 2017-10-15 2019-04-18 Analog Devices, Inc. METHODS AND SYSTEMS FOR PROCESSING FLIGHT TIME DEPTH IMAGE
US10594917B2 (en) 2017-10-30 2020-03-17 Microsoft Technology Licensing, Llc Network-controlled 3D video capture
CN107909643B (zh) * 2017-11-06 2020-04-24 清华大学 基于模型分割的混合场景重建方法及装置
WO2019099605A1 (en) 2017-11-17 2019-05-23 Kaarta, Inc. Methods and systems for geo-referencing mapping systems
US10529086B2 (en) * 2017-11-22 2020-01-07 Futurewei Technologies, Inc. Three-dimensional (3D) reconstructions of dynamic scenes using a reconfigurable hybrid imaging system
US11157985B2 (en) * 2017-11-29 2021-10-26 Ditto Technologies, Inc. Recommendation system, method and computer program product based on a user's physical features
CN108122281B (zh) * 2017-12-22 2021-08-24 洛阳中科众创空间科技有限公司 一种大范围实时人体三维重建方法
EP3729376A4 (en) 2017-12-22 2021-01-20 Magic Leap, Inc. PROCESS OF RENDERING OF OCCLUSION USING A RAY THROWING AND ACTUAL DEPTH
WO2019165194A1 (en) 2018-02-23 2019-08-29 Kaarta, Inc. Methods and systems for processing and colorizing point clouds and meshes
US10628920B2 (en) 2018-03-12 2020-04-21 Ford Global Technologies, Llc Generating a super-resolution depth-map
KR102459717B1 (ko) 2018-03-29 2022-10-27 삼성전자 주식회사 이미지에 포함된 반사 객체의 속성에 기반하여, 반사 객체에 다른 이미지를 합성하는 방법 및 전자 장치
WO2019187167A1 (ja) * 2018-03-31 2019-10-03 株式会社スペシャルエフエックススタジオ 端末の表示画像の表示法
CN112041887A (zh) * 2018-04-24 2020-12-04 斯纳普公司 高效的并行光流算法和gpu实现
DE112019002126T5 (de) * 2018-04-26 2021-01-07 Sony Corporation Positionsschätzungsvorrichtung, positionsschätzungsverfahren und programm dafür
CN110415329B (zh) 2018-04-26 2023-10-13 财团法人工业技术研究院 三维建模装置及应用于其的校准方法
CN108648274B (zh) * 2018-05-10 2020-05-22 华南理工大学 一种视觉slam的认知点云地图创建系统
WO2020009826A1 (en) 2018-07-05 2020-01-09 Kaarta, Inc. Methods and systems for auto-leveling of point clouds and 3d models
US10948297B2 (en) * 2018-07-09 2021-03-16 Samsung Electronics Co., Ltd. Simultaneous location and mapping (SLAM) using dual event cameras
US10776943B2 (en) * 2018-07-17 2020-09-15 Samsung Electronics Co., Ltd. System and method for 3D association of detected objects
TWI725522B (zh) * 2018-08-28 2021-04-21 鈺立微電子股份有限公司 具有校正功能的影像擷取系統
US11396100B2 (en) 2018-09-10 2022-07-26 Fanuc America Corporation Robot calibration for AR and digital twin
TWI686747B (zh) * 2018-11-29 2020-03-01 財團法人金屬工業研究發展中心 移動載具全周障礙迴避之方法
US11089279B2 (en) * 2018-12-06 2021-08-10 Htc Corporation 3D image processing method, camera device, and non-transitory computer readable storage medium
CN109631799B (zh) * 2019-01-09 2021-03-26 浙江浙大万维科技有限公司 一种智能化的测量与标记方法
US10686980B1 (en) 2019-01-22 2020-06-16 Daqri, Llc Systems and methods for generating composite depth images based on signals from an inertial sensor
US11187070B2 (en) * 2019-01-31 2021-11-30 Halliburton Energy Services, Inc. Downhole depth extraction using structured illumination
CN117590582A (zh) 2019-04-11 2024-02-23 三星电子株式会社 头戴式显示设备及其操作方法
US10867220B2 (en) 2019-05-16 2020-12-15 Rpx Corporation Systems and methods for generating composite sets of data from different sensors
US11030772B2 (en) * 2019-06-03 2021-06-08 Microsoft Technology Licensing, Llc Pose synthesis
US10613203B1 (en) * 2019-07-01 2020-04-07 Velodyne Lidar, Inc. Interference mitigation for light detection and ranging
US11562541B2 (en) * 2019-09-13 2023-01-24 Board Of Regents, The University Of Texas System Topology-change-aware volumetric fusion for real-time dynamic 4D reconstruction
KR102203173B1 (ko) * 2019-11-22 2021-01-15 한방유비스 주식회사 증강현실 기반의 소방시설 점검 방법, 장치 및 컴퓨터-판독가능 기록매체
US11315266B2 (en) * 2019-12-16 2022-04-26 Robert Bosch Gmbh Self-supervised depth estimation method and system
KR102391376B1 (ko) * 2019-12-31 2022-04-28 광운대학교 산학협력단 3d 모델링 장치 및 방법
CN111223049B (zh) * 2020-01-07 2021-10-22 武汉大学 一种基于结构-纹理分解的遥感图像变分融合方法
EP4104430A1 (en) * 2020-02-12 2022-12-21 Telefonaktiebolaget LM Ericsson (publ) Depth sensor activation for localization based on data from monocular camera
AU2021230443A1 (en) 2020-03-06 2022-04-28 Yembo, Inc. Identifying flood damage to an indoor environment using a virtual representation
CN111539988B (zh) * 2020-04-15 2024-04-09 京东方科技集团股份有限公司 一种视觉里程计实现方法、装置和电子设备
US11232315B2 (en) * 2020-04-28 2022-01-25 NextVPU (Shanghai) Co., Ltd. Image depth determining method and living body identification method, circuit, device, and medium
WO2022007792A1 (zh) * 2020-07-06 2022-01-13 先临三维科技股份有限公司 生成数字化模型的方法及装置
US11567179B2 (en) 2020-07-21 2023-01-31 Leddartech Inc. Beam-steering device particularly for LIDAR systems
CA3125716C (en) 2020-07-21 2024-04-09 Leddartech Inc. Systems and methods for wide-angle lidar using non-uniform magnification optics
EP4185888A1 (en) 2020-07-21 2023-05-31 Leddartech Inc. Beam-steering device particularly for lidar systems
CN111862316B (zh) * 2020-07-28 2024-01-05 杭州深瞳科技有限公司 一种基于优化的imu紧耦合稠密直接rgbd的三维重建方法
KR20220033924A (ko) 2020-09-10 2022-03-17 삼성전자주식회사 증강 현실 장치 및 그 제어 방법
JP7300436B2 (ja) 2020-11-17 2023-06-29 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置、システム、情報処理方法および情報処理プログラム
CN112380312B (zh) * 2020-11-30 2022-08-05 北京智行者科技股份有限公司 基于栅格检测的激光地图更新方法、终端及计算机设备
CN115222810A (zh) * 2021-06-30 2022-10-21 达闼科技(北京)有限公司 目标位姿估计方法、装置、计算设备及存储介质
US11908080B2 (en) * 2022-04-04 2024-02-20 Tencent America LLC Generating surfaces with arbitrary topologies using signed distance fields

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090033655A1 (en) 2007-08-02 2009-02-05 Boca Remus F System and method of three-dimensional pose estimation
US20120194644A1 (en) 2011-01-31 2012-08-02 Microsoft Corporation Mobile Camera Localization Using Depth Maps

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3133834B2 (ja) * 1992-08-19 2001-02-13 キヤノン株式会社 座標入力装置及びその方法
JPH0895487A (ja) * 1994-09-22 1996-04-12 Sony Corp 歩行用障害物検知装置
JP3581911B2 (ja) * 1996-06-07 2004-10-27 コニカミノルタホールディングス株式会社 移動走行車
WO1999030280A1 (en) * 1997-12-05 1999-06-17 Dynamic Digital Depth Research Pty. Ltd. Improved image conversion and encoding techniques
CN101271588B (zh) * 2007-10-26 2012-01-11 威盛电子股份有限公司 可重建几何阴影图方法
US8368753B2 (en) 2008-03-17 2013-02-05 Sony Computer Entertainment America Llc Controller with an integrated depth camera
TW201005673A (en) * 2008-07-18 2010-02-01 Ind Tech Res Inst Example-based two-dimensional to three-dimensional image conversion method, computer readable medium therefor, and system
CN101388115B (zh) * 2008-10-24 2011-07-27 北京航空航天大学 一种结合纹理信息的深度图像自动配准方法
US8918209B2 (en) 2010-05-20 2014-12-23 Irobot Corporation Mobile human interface robot
US8681255B2 (en) 2010-09-28 2014-03-25 Microsoft Corporation Integrated low power depth camera and projection device
US9354310B2 (en) * 2011-03-03 2016-05-31 Qualcomm Incorporated Systems, methods, apparatus, and computer-readable media for source localization using audible sound and ultrasound
US10972680B2 (en) 2011-03-10 2021-04-06 Microsoft Technology Licensing, Llc Theme-based augmentation of photorepresentative view
US9053571B2 (en) 2011-06-06 2015-06-09 Microsoft Corporation Generating computer models of 3D objects
RU2455676C2 (ru) 2011-07-04 2012-07-10 Общество с ограниченной ответственностью "ТРИДИВИ" Способ управления устройством с помощью жестов и 3d-сенсор для его осуществления
GB2492833A (en) * 2011-07-14 2013-01-16 Softkinetic Sensors Nv LED boost converter driver circuit for Time Of Flight light sources
US8462155B1 (en) * 2012-05-01 2013-06-11 Google Inc. Merging three-dimensional models based on confidence scores
US9083960B2 (en) 2013-01-30 2015-07-14 Qualcomm Incorporated Real-time 3D reconstruction with power efficient depth sensor usage
CN103170973B (zh) * 2013-03-28 2015-03-11 上海理工大学 人机协作装置及实现人机协作的方法
US9336440B2 (en) * 2013-11-25 2016-05-10 Qualcomm Incorporated Power efficient use of a depth sensor on a mobile device

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090033655A1 (en) 2007-08-02 2009-02-05 Boca Remus F System and method of three-dimensional pose estimation
US20120194644A1 (en) 2011-01-31 2012-08-02 Microsoft Corporation Mobile Camera Localization Using Depth Maps

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
RUSINKI EWICZ S ET AL: "Real -time 3D model 1-30 acquisition", SIGGRAPH '02, 29TH INTERNATIONAL CONFERENCE ON COMPUTER GRAPHICS AND INTERACTIVE TECHNIQUES(2002)
YUSHUANG LI U ET AL: "Interactive 3D model 1- 3Q acquisition and registration", COMPUTER GRAPH I CS AND APPLICATIONS(2003)

Also Published As

Publication number Publication date
KR20150111999A (ko) 2015-10-06
JP5951908B2 (ja) 2016-07-13
US9443350B2 (en) 2016-09-13
ES2675171T3 (es) 2018-07-09
US20150294499A1 (en) 2015-10-15
EP2951788A1 (en) 2015-12-09
JP2016514384A (ja) 2016-05-19
JP2016164811A (ja) 2016-09-08
CN104956404A (zh) 2015-09-30
TW201440490A (zh) 2014-10-16
TWI544781B (zh) 2016-08-01
US9083960B2 (en) 2015-07-14
JP6189483B2 (ja) 2017-08-30
WO2014120613A1 (en) 2014-08-07
TW201631963A (zh) 2016-09-01
EP2951788B1 (en) 2018-05-09
CN104956404B (zh) 2018-09-21
HUE038287T2 (hu) 2018-10-29
US20140139639A1 (en) 2014-05-22
TWI583176B (zh) 2017-05-11

Similar Documents

Publication Publication Date Title
KR101654174B1 (ko) 전력 효율적 깊이 센서 용법을 가진 실시간 3d 재구성
EP2992508B1 (en) Diminished and mediated reality effects from reconstruction
JP6552729B2 (ja) 異なる分解能を有するセンサーの出力を融合するシステム及び方法
EP3251090B1 (en) Occlusion handling for computer vision
US9866815B2 (en) 3D object segmentation
KR101947619B1 (ko) 모바일 디바이스에서의 slam
US11328479B2 (en) Reconstruction method, reconstruction device, and generation device
EP3008695B1 (en) Robust tracking using point and line features
US20150262412A1 (en) Augmented reality lighting with dynamic geometry
US20150279083A1 (en) Real-time three-dimensional reconstruction of a scene from a single camera
KR20150037091A (ko) 영상처리장치 및 그 제어방법
CN115714855A (zh) 一种基于立体视觉与tof融合的三维视觉感知方法及系统
CN116958227A (zh) 场景图像的深度图生成方法、装置、设备及存储介质
KR20220071935A (ko) 광학 흐름을 이용한 고해상도 깊이 영상 추정 방법 및 장치
CA3200502A1 (en) Device and method for depth measurement of 3d irregular surfaces

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20190624

Year of fee payment: 4