KR101793485B1 - 깊이 카메라를 사용하는 실시간 3d 재구성 - Google Patents

깊이 카메라를 사용하는 실시간 3d 재구성 Download PDF

Info

Publication number
KR101793485B1
KR101793485B1 KR1020167014825A KR20167014825A KR101793485B1 KR 101793485 B1 KR101793485 B1 KR 101793485B1 KR 1020167014825 A KR1020167014825 A KR 1020167014825A KR 20167014825 A KR20167014825 A KR 20167014825A KR 101793485 B1 KR101793485 B1 KR 101793485B1
Authority
KR
South Korea
Prior art keywords
model
depth
current
pose
voxel
Prior art date
Application number
KR1020167014825A
Other languages
English (en)
Other versions
KR20160083905A (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 KR20160083905A publication Critical patent/KR20160083905A/ko
Application granted granted Critical
Publication of KR101793485B1 publication Critical patent/KR101793485B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/122Improving the 3D impression of stereoscopic images by modifying image signal contents, e.g. by filtering or adding monoscopic depth cues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • 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
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • G06T7/593Depth or shape recovery from multiple images from stereo images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • G06T7/593Depth or shape recovery from multiple images from stereo images
    • G06T7/596Depth or shape recovery from multiple images from stereo images from three or more stereo images
    • 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/271Image signal generators wherein the generated image signals comprise depth maps or disparity maps
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/275Image signal generators from 3D object models, e.g. computer-generated stereoscopic image signals

Abstract

깊이 카메라를 사용하여 실시간 3D 재구성을 수행하는 장치 및 기법이 본 명세서에서 기술된다. 타겟의 깊이 카메라로부터 수신된 깊이 측정치들이 깊이-측정 데이터 구조체 내에 저장될 수 있다. 상기 타겟의 3차원 표현이 모델 내에 저장될 수 있다. 상기 깊이 카메라로부터 수신된 현재 깊이 이미지가 상기 모델에 정합될 수 있다. 상기 정합결과에 기초하여서 상기 현재 깊이 이미지를 사용하여 상기 깊이-측정 데이터 구조체가 수정될 수 있다. 공간 새김(space carving) 및 상기 수정된 깊이-측정 데이터 구조체에 기초하여 상기 모델이 변형될 수 있다.

Description

깊이 카메라를 사용하는 실시간 3D 재구성{REAL-TIME 3D RECONSTRUCTION WITH A DEPTH CAMERA}
본 명세서에서 기술된 실시예는 전반적으로 디지털 이미지들로부터 3차원(3D) 모델을 구성하는 기술에 관한 것이며, 보다 구체적으로는 깊이 카메라를 사용하는 실시간 3D 재구성에 관한 것이다.
이미지 데이터로부터 타겟(예를 들어서, 관심 대상)의 3D 모델링(예를 들어서, 재구성)은 인기있는 컴퓨터 비전 주제이다. 이미지 데이터로부터 타겟의 3D 모델을 생성할 시에, 인기있는 사용(사용자 경험)은 현재 카메라가 대상에 대해서 포즈를 취하며 실시간으로 대상의 3D 모델을 사용자에게 표시하면서 카메라를 손으로 잡고 카메라를 타겟을 중심으로 이동시키는 것이다. 이와 달리, 카메라는 정지 상태로 유지되고 턴테이블이 대상을 회전시키는데 사용될 수 있다. 어느 경우이든, 타겟의 상이한 측면들이 카메라에 노출되어서 3D 모델을 생성하기 위한 정보를 수집할 수 있다.
반드시 실제 크기대로 된 것은 아닌 도면들에서, 동일한 참조 부호들이 유사한 구성요소들을 기술할 수 있다. 유사한 참조 부호의 뒤에 상이한 문자가 부가되면 이는 유사한 구성요소들의 상이한 실례들을 나타낼 수 있다. 도면들은 전반적으로 예시적으로 그리고 비한정적으로 본 문헌에서 논의되는 다양한 실시예들을 예시한다.
도 1은 일 실시예에 따른, 깊이 카메라를 사용하여서 실시간 3D 재구성을 수행하는 장치를 포함하는 시스템의 실례의 블록도이다.
도 2는 일 실시예에 따른, 모델의 복셀 그리드(voxel grid), 깊이 카메라, 및 타겟의 실례를 도시한다.
도 3은 일 실시예에 따른, 모델의 복셀 그리드, 복수의 깊이 카메라들, 및 타겟의 실례를 도시한다.
도 4는 일 실시예에 따른, 복셀 그리드 상의 모델의 부호화된 거리장(signed distance field)의 실례를 예시한다.
도 5는 일 실시예에 따른, 복셀 그리드 상의 계조(gradient)와 함께 확장된 부호화된 거리장의 실례를 예시한다.
도 6은 일 실시예에 따른, 깊이 카메라를 사용하여서 실시간 3D 재구성을 수행하는 방법의 실례의 흐름도를 예시한다.
도 7은 일 실시예에 따른, 깊이 카메라를 사용하여서 실시간 3D 재구성을 수행하는 방법의 실례의 흐름도를 예시한다.
도 8은 하나 이상의 실시예들이 구현될 수 있는 머신의 실례를 예시하는 블록도이다.
일 실례에서, 깊이 카메라로부터 타겟을 3D 모델링하는 것은 "상향식(bottom-up)" 방식을 사용할 수 있다. 상향식 방식에서, 깊이 이미지들은 캡처되고 현재 데이터에 정합되고, 축적되어서 모델을 구축한다. 이러한 방식의 단점은 관심 대상이 카메라의 시야의 오직 일부만을 차지할지라도 계산상의 영역은 카메라의 시야 내에 있는 전체영역을 포함해야 한다는 것이다. 대상을 포함하지 않은 공간 영역들을 배제함으로써 계산상의 영역을 점진적으로 감소시킬 가능성이 있다. 이렇게 계산상의 영역을 줄이면 보다 많은 카메라 데이터들이 캡처되기 때문에 3D 재구성 속도를 크게 증가시킬 수 있다.
다른 단점은 추가 사후 처리 없이는 불완전한 깊이 데이터에 대하여서는 모델에서 폐쇄형 표면이 부족하다는 것이다. 즉, 상향식 방식은 깊이 측정의 종료 시에 모델의 단편(piece)을 반드시 배치해야 하기 때문에, 깊이 측정들이 생략되는 위치가 어디이든 이러한 위치에서는, 상기 모델의 그러한 단편이 배치되지 않는다. 이는 모델의 표면에서의 홀들(holes)(예를 들어서, 빠진 부분들)을 낳으며, 내부/외부 할당이 없다면 상기 표면은 개방된 표면이 되어 버릴 수 있다. 예를 들어서, 그의 극들에 있는 오목부들을 갖는 구의 적도 영역(equator) 주위를 회전하는 깊이 카메라는 이 오목부들에 대한 깊이 측정치들을 얻을 수 없을 것이다. 이로써, 상향식 방식은 이러한 오목부들에서의 단편들을 모델링 시에 배치하지 못할 것이다. 표면에서의 이러한 홀들은 폐쇄형 표면을 요구하는 다양한 용도들(예를 들어서, 3D 프린팅)에서는 문제가 될 것이다.
타겟 대상을 상향식 3D 모델링하는 것의 단점들을 다루기 위해서, 하향식 3D 모델링 방식이 사용될 수 있다. 하향식 방식에서, 모델은 단편 단위로 취합되지 않으며, 대신에 초기화된 형태로부터 새겨지는(carved) 방식이다. 예를 들어서, 타겟을 포함하도록 충분하게 큰 3D 형상체(예를 들어서, 목재 블록체)에 가해지는 절삭 레이저로서 각각의 깊이 측정이 고려될 수 있다. 상기 레이저가 터치한 상기 형상체의 부분들은 제거된다. 모델이 고체 질량부로서 표현되기 때문에, 이 모델은 언제나 폐쇄형 표면을 유지한다.
본 명세서에서 기술된 방식은 축적된 깊이 측정들 및 새겨진 모델에 대해서 개별적인 데이터 구조체들을 유지하며 상향식 겸 하향식 재구성으로서 간주될 수 있다. 모델은 부호화된 거리장(signed distance field)으로서 유지될 수 있다. 이러한 모델 표현은 예를 들어서, 깊이 이미지 정합(depth image registration) 시에 계산이 상당히 줄어들게 할 수 있다. 또한, 모델을 부호화된 거리장으로서 유지하는 것은 해당 지점이 모델 내측에 있는지, 모델 외측에 있는지를 결정하거나 해당 지점이 모델의 경계(예를 들어서, 표면)에 얼마나 가깝게 있는지를 결정하기 위한 계산상의 복잡도를 줄일 수 있다. 깊이 측정치들은 부호화된 거리장들의 가중처리된 이동 평균으로서 저장되지만; 부호화된 거리장들은 선형 벡터 공간을 형성하지 않기 때문에, 즉 부호화된 거리장들의 선형 조합들이 반드시 부호화된 거리장들은 아니기 때문에, 축적된 깊이 및 모델 표현들은 개별적으로 유지된다.
하향식 방식은 이전의 오목부가 형성된 구 실례를 사용하는 상향식 방식과는 대조될 수 있다. 상향식 방식은 오목부가 형성된 극들(poles)에서의 모델 표면을 불완전하게 하는 반면에, 하향식 방식은 이러한 극들로부터 모델 제료를 제거하여서 "필드-인(filled-in)" 효과를 생성할 것이다. 그러나, 구의 표면은 완전할 것이다. 다른 예시적인 대조사항으로서, 타겟 근처의 빈 공간을 통과하는 의사 대상(spurious object)은 하향식 방식에서는 무시될 것인데 그 이유는 대상을 표현할 어떠한 모델 "재료"도 남기지 않기 때문이다(예를 들어서, 이 모델 재료는 이미 제거됨). 이와 대조하여서, 상향식 방식은 대상의 의사 성질을 결정하고 이의 깊이 데이터가 모델이 부가되는 것을 막기 위해서 추가적인 프로세싱을 요구할 것이다.
도 1은 일 실시예에 따른, 깊이 카메라(145)를 사용하여서 하향식 실시간 3D 모델링을 수행하는 장치(105)를 포함하는 시스템(100)의 실례의 블록도이다. 예시된 바와 같이, 깊이 카메라(145)는 타겟(150)을 중심으로 회전하여서 깊이 이미지들을 캡처한다. 그러나, 상술한 바와 같이, 깊이 카메라(145)가 정지 상태로 유지되는 동안에 타겟(150)이 턴테이블(또는 유사한 장치) 상에 놓여서 회전할 수도 있다. 이러한 실례들에서, 깊이 카메라(145)는 깊이 이미지들 타겟의 외측으로부터 캡처한다. 일 실례에서, 깊이 카메라(145)는 타겟(예를 들어서, 룸, 개방 공간, 중공형 구 내측, 등) 내에 배치되어 이동하면서 내부의 깊이 이미지들을 수집할 수도 있다. 이러한 실례에서, 본 명세서에서 개시된 원리들이 또한 적용될 수 있지만; 상이한 모델 초기화 형태가 사용될 수 있다. 예를 들어서, 대형 큐브(cube)는 그 내로부터 모델이 새겨지는 전체 룸을 포함할 수 있다. 이러한 실례들에서, 예를 들어서, 모델 경계가 놓이는 곳에서, 본 명세서에서 논의되는 다양한 기법들에 대해서 지침을 제공하도록 플래그가 설정될 수 있다.
장치(105)는 깊이-측정 데이터 구조체(110)(예를 들어서, 머신-판독가능한 매체 상에 저장됨), 모델(115)(타겟(150)의 모델이며, 예를 들어서, 머신-판독가능한 매체 상에 저장됨), 정합 모듈(120), 축적 모듈(125), 및 모델 변형 모듈(130)을 포함하는 다수의 구성요소들을 포함할 수 있다. 장치(105)는 또한 필터 모듈(135), 및 초기화 모듈(155), 또는 메시 모듈(140) 중 하나 이상을 선택사양적으로 포함할 수도 있다. 이 모듈들 모두는 도 8을 참조하여서 이하에서 기술될 바와 같은 하드웨어로 구현될 수 있다.
깊이-측정 데이터 구조체(110)는 타겟(150)의 깊이 카메라(145)로부터 수신된 깊이 측정치들을 저장하도록 구성(예를 들어서, 배열)될 수 있다. 일 실례에서, 깊이-측정 데이터 구조체(110)는 타겟(150)을 포함하는 공간 내의 지점들에 대응하는 복셀 그리드(voxel grid)이다. 일 실례에서, 깊이-측정 데이터 구조체 복셀 그리드는 모델의 복셀 그리드와 등가이다(예를 들어서, 동일한 속성들을 갖는 상이한 그리드이다).
모델(115)은 타겟(150)의 3차원 표현을 저장하도록 구성될 수 있다. 일 실례에서, 모델(115)은 타겟(150)을 포함하는 공간 내의 지점들에 대응하는 복셀 그리드이다.
정합 모듈(120)은 깊이 카메라(145)로부터 수신된 현재 깊이 이미지를 모델(115)에 정합시키도록 구성될 수 있다. 정합은 일반적으로 이미지가 캡처되는 카메라의 포즈(pose)를 결정하는 동작을 수반한다. 이러한 동작 값은 카메라 포즈가 대상의 전방을 향할 때에는 캡처된 제 1 이미지를 고려하고 카메라 포즈가 대상의 후방을 향할 때에는 제 2 이미지를 고려할 때에 명확하다. 고가의 깊이 카메라(145) 제어수단(예를 들어서, 정합 데이터를 제공하는 스텝핑 모터들 또는 다른 센서들)을 사용하는 것을 피하기 위해서, 깊이 이미지가 모델(115)과 비교되어서 타겟(150)에 대한 깊이 카메라의 포즈를 결정할 수 있다.
일 실례에서, 깊이 이미지를 모델(115)에 정합시키는 것은 정합 모듈(120)이 모델(115) 내에서 복셀을 선택하도록 구성되는 것을 포함할 수 있다. 모델(115)의 부호화된 거리장은 현재 복셀의 주변 공간 내로 확장될 수 있으며 현재 복셀에 대한 계조(gradient)가 컴퓨팅될 수 있다. 도 5는 계조의 확장 및 컴퓨팅을 예시한다. 정합 모듈(120)은 또한 계조를 따르는 현재 복셀에 대응하는 모델(115) 내의 타겟(150)의 경계 상에서의 대응하는 지점을 컴퓨팅하도록 구성될 수 있다. 즉, 계조가 사용되어서 확장된 지점으로부터 다시 모델(115) 내의 표면 지점으로의 라인을 그리는데 사용될 수 있다. 이어서, 대응 지점이 저장될 수 있다. 일 실례에서, 정합 모듈(120)은 복셀을 선택하고, 부호화된 거리장을 확장시키고, 계조를 컴퓨팅하고, 대응 지점을 컴퓨팅하고, 모델(115) 내의 복수의 복셀들에 대한 대응 지점을 저장하는 것을 반복적으로 수행하도록 구성될 수 있다. 일 실례에서, 복수의 복셀들이 모델(115) 내의 타겟(150)의 경계 근처에 있도록 복수의 복셀들이 선택될 수 있다. 이렇게 선택하면 계산되는 대응 지점들의 개수가 감소하며 이로써 정합의 컴퓨팅 효율이 증가될 수 있다. 그러나, 예를 들어서, ICP(Iterative Cloest Point) 알고리즘에서 사용될 수 있는 감소된 개수의 지점들은 정합의 정확도에 영향을 줄 수 있다. 이로써, 일 실례에서, 표면 근처에서 복셀들을 선택하는 방식은 일 깊이 이미지로부터 다른 깊이 이미지로의 깊이 카메라의 포즈 변화량이 작은 실례들로만 한정될 수 있다. 일 실례에서, 이러한 변화량은 32 밀리미터 이하로 한정된다.
일 실례에서, 정합 모듈(120)은 저장된 대응 지점들의 세트를 현재 깊이 이미지로부터의 3D 지점으로 상관시키도록 구성될 수 있다. 정합 모듈(120)은 상기 저장된 대응 지점들의 세트를 사용하여서 제 1 포즈로부터의 깊이 카메라(145)의 경직성 모션(rigid motion)을 결정할 수 있다. 제 1 포즈로부터의 경직성 모션이 사용되어서 깊이 카메라(145)의 제 2 포즈를 결정할 수 있다. 이는 예를 들어서, ICP 기법을 사용하여서 달성될 수 있다. ICP 기법은 대응하는 지점들을 결정할 시에 대부분의 컴퓨팅 상의 시간을 소모하기 때문에, 확장된 부호화된 깊이장으로부터 계산된 저장된 대응 지점들을 사용하면 한정된 하드웨어 상에서 또는 한정된 시간 내에서 ICP 수행 능력이 향상된다.
정합 모듈(120)의 예시적인 동작 시나리오가 이하에서 기술된다. 모델 초기화 후에, 제 1 깊이 이미지에 기초하여서, 후속하는 이미지들이 현재 모델 추정치에 정합될 수 있다. 3D 정합에 대한 ICP 방식은 (예를 들어서, 현재 깊이 이미지로부터의) 소스 상의 대응하는 가장 가까운 지점들 pn 및 p'n 및 타겟(예를 들어서, 모델(115) 표면들을 식별하고 이들 간의 경직성 모션 Mk을 구한다(즉,
Figure 112016053524145-pct00001
). 경직성 모션 Mk을 소스 메시(source mesh)에 적용한 후에, 대응하는 가장 가까운-지점들이 변할 수 있다. 따라서, 경직성 회전의 재추정이 수행될 수 있다. ICP 알고리즘은 수렴할 때까지 경직성 모션을 추정하는 동작과 지점 세트들을 변환하는 동작을 번갈아 수행할 수 있다. 상술한 바와 같이, 대부분의 컴퓨팅 시간은 가장 가까운 지점들을 컴퓨팅하는데 소모된다. 공간적 룩업 데이터 구조체들(예를 들어서, KD-Trees)이 지점 대응들을 찾기 위해서 사용될 수 있지만, 다른 방식이 최신의 프로세싱 하드웨어에서 통상적인 병렬성을 활용하면서 지점 대응들을 결정할 시에 보다 높은 효율을 제공할 수 있다.
모델(115)의 레벨 설정 이미지 내의 각 복셀에 대해서, 현재 모델에 대한 부호화된 거리장이 φ(·)← Φ{φ}(·)를 통해서 주변 공간으로 확장될 수 있다. 또한, 확장된 이미지 내의 각 복셀에 대해서, 모델의 레벨 세트의 계조가 컴퓨팅되고 이어서 스트림라인이 현재 복셀 위치로부터 다시 모델(115) 내의 타겟의 경계로 다음과 같은 고정-지점 반복 방식을 통해서 그려질 수 있다:
Figure 112016053524145-pct00002
이는 지점 X*로 수렴한다. 이러한 반복적 방식 이후에, 모델(115) 내의 타겟(150) 주변의 공간 내의 매 복셀 X마다, 모델 상의 대응하는 가장 가까운 지점 X*이 결정되었다. 이러한 대응하는 지점들은 개별적으로 구해질 수 있다. 이로써, 대응하는 지점들을 결정하는 것의 계산상의 복잡도는 M3 개의 복셀들 및 P 개의 프로세싱 유닛들을 고려하면 O(M3/P)이다. 그러나, 상술한 바와 같이, 경직성 모션량이 작으면, 가장 가까운 지점들을 컴퓨팅하는 것은 모델(115) 내의 타겟(150)의 표면 근처로 한정될 수 있다. 이러한 실례에서, 계산상의 복잡도는 O(M2/P)로 더 줄어든다.
다음의 슈도코드(pseudo code)는 완성된 3D 정합 파이프라인의 실례를 예시한다:
Figure 112016053524145-pct00003
ICP의 이러한 변형은 신속한 대응 계산들을 가능하게 하며, 양호하게 병렬화되며, 고정된 메모리 풋프린트를 갖는다.
축적 모듈(125)은 그의 정합에 기초한 현재 깊이 이미지를 사용하여서 깊이-측정 데이터 구조체(110)를 수정하도록 구성될 수 있다. 예를 들어서, 축적 모듈(125)은 현재 깊이 이미지로부터의 새로운 깊이 데이터를 사용하여서 깊이-측정 데이터 구조체(110)를 업데이트한다. 일 실례에서, 깊이-측정 데이터 구조체(110)를 수정하기 위해서, 축적 모듈(125)은 현재 깊이 이미지 내의 지점에, 깊이 카메라(145)의 초점으로부터 상기 지점으로 이어지는 광선의 각도에 기초하여 가중치를 주도록 구성될 수 있다. 초점 및 각도는 깊이 카메라(145)의 포즈에 기초하여서 결정될 수 있다. 이 포즈는 현재 깊이 이미지의 정합으로부터 결정될 수 있다. 일 실례에서, 가중치는 각도가 90도에 근접할 때에(예를 들어서, 광선이 깊이 카메라의 뷰에 수직하거나 상기 지점이 대상의 실루엣(145)을 따라서 놓인 경우에) 작아질 수 있다(예를 들어서, 보다 작은 가중치가 할당된다).
일 실례에서, 축적 모듈(125)은 상기 가중치를 동일한 지점에 대한 이전의 가중치와 결합시킬 수 있다. 일 실례에서, 이러한 결합 값은 상기 지점에 대한 가중치들의 평균일 수 있다. 일 실례에서, 축적 모듈(125)은 복수의 지점들의 가중치를 결합할 수 있다(예를 들어서, 각각의 지점에 대해서 계산된 가중치들을 각기 결합할 수 있다). 일 실례에서, 축적 모듈(125)은 또한 상기 지점에 대한 색상 정보를 축적하도록 구성될 수도 있다. 예를 들어서, 깊이 카메라(145)는 또한 깊이 이미지를 캡처하면서 가시 스펙트럼 광(예를 들어서, 레드-그린-블루(RGB)을 캡처할 수도 있다.
이하에서는 축적 모듈(125)의 예시적인 동작 시나리오가 기술된다. 깊이 측정치들이 모델의 레벨 세트와 동일한 그리드 해상도로 복셀 그리드 내에(예를 들어서, 깊이-측정 데이터 구조체(110) 내에) 축적될 수 있다. 현재 깊이 이미지 φE(Χ)의 엔벨로프(envelope)는 다음을 통해서 가중치들과 함께 컴퓨팅될 수 있다:
Figure 112016053524145-pct00004
여기서,
Figure 112016053524145-pct00005
는 깊이 카메라의 초점으로부터 X를 통해 연장된 광선의 방향이다. 보다 높은 신뢰도가 깊이 카메라(145)와 φE 간의 내적(dot product)을 사용하여서 깊이 측정치들을 가중처리함으로써 카메라의 뷰에 대해서 수직인 깊이 맵의 부분에 할당될 수 있다. 임계치 dE는 노이즈를 완화시키는 것을 돕는다. 즉, 임계치 dE는 ±dE 내로 깊이 이미지들의 지지값(support)을 제한하는 역할을 한다. 이로써, 임계치 dE보다 근접한 임의의 깊이 측정치는 동일한 표면에 속하며 함께 평균화되는 것으로서 간주될 것이다. 임계치 dE의 선택은 사용자에게 달려 있지만, 일반적으로 임계치 dE는 노이즈로 인한 표면 위치에서의 편차를 고려하기에 충분하게 크지만 데이터에서의 세밀한 부분들을 캡처하도록 충분하게 작아야 한다.
깊이 측정치들 φE은 다음을 통해서 (예를 들어서, 깊이-측정 데이터 구조체(110) 내의) 깊이 버퍼 φD 및 가중치들 WD에 축적될 수 있다:
Figure 112016053524145-pct00006
및,
Figure 112016053524145-pct00007
여기서, φD 및 WD는 모든 곳에서 제로로 초기화되며, 축적된 가중치는 Wmax로 제한된다.
다음의 슈도코드는 깊이 및 색상 양자에 대한 축적 파이프라인(accumulation pipeline)의 실례를 예시한다:
Figure 112016053524145-pct00008
이러한 실례에서, 개별 축적 버퍼가 색상 데이터에 대해서 사용되는데, 그 이유는 깊이 이미지와 대응하는 색상 이미지 간의 맵핑은 (예를 들어서, 타겟의 실루엣 근처에서는) 신뢰할만 할 수 없기 때문이다. 예시된 바와 같이, 색상 데이터는 신뢰할 수 없는 색상 측정치들을 제거하기 위해서 "이로드(erode)"되거나 임계치 처리된다. 색상은 깊이 데이터의 축적 및 가중처리와 유사하게 축적 및 가중처리될 수 있다.
모델 변형 모듈(130)은 공간 새김(space carving) 및 수정된 깊이-측정 데이터 구조체(110)에 기초하여서 모델(115)을 변형하도록 구성될 수 있다. 일 실례에서, 공간 새김은 모델 변형 모듈(130)이 현재 깊이 이미지를 모델(115)과 교차시키도록 구성되는 것을 포함할 수 있다. 이러한 공간 새김은 초기화 모듈(155)을 참조하여서 이하에서 기술될 바와 같이 수행될 수 있다. 이러한 공간 새김은 형상에서의 큰 변화의 경우에 효율적인 메커니즘이지만 타겟의 실루엣을 따라서 날카로운 에지 불연속성을 생성할 수 있다. 또한, 이 공간 새김은 현재 깊이 이미지에 대한 바이어스(bias)를 보일 수 있는데, 그 이유는 이 공간 새김은 깊이 카메라(145)의 상이한 포즈들에서 이전의 깊이 이미지들을 고려하지 않기 때문이다.
일 실례에서, 모델 변형 모듈(130)은 수정된 깊이-측정 데이터 구조체(110)를 사용하여서 모델(115)을 근사화한 표면을 계산하도록 구성될 수 있다. 이러한 근사화는 상기 표면을 수정된 깊이-측정 데이터 구조체(110)에 피팅시키는, 한계가 정해진 반복적 프로세스에 기초할 수 있다. 표면을 계산함으로써, 새김 동작과 관련하여서 상술한 문제들이 완화될 수 있다. 일 실례에서, 표면을 계산하기 위해서, 변형 모듈(130)은 활성 윤곽 분절화(active contour segmentation)를 사용하도록 구성될 수 있다. 이 활성 윤곽 분절화는 깊이-측정 데이터 구조체(110) 내의 복셀들에 대해서 레벨 세트 에볼루션 기법(level set evolution thchnique)을 사용할 수 있다. 일 실례에서, 활성 윤곽 분절화 기법은 부호화된 거리장으로서 모델(115)을 유지하도록 한정될 수 있다. 일 실례에서, 한계가 정해진 반복적 프로세스는 모델(115) 내의 타겟(150)의 경계 근처의 복셀들로 한정될 수 있다.
일 실례에서, 레벨 세트 에볼루션 기법은 다음의 목적 함수를 최소화시키는 것으로서 공식화될 수 있다:
Figure 112016053524145-pct00009
여기서, λ는 정규화 가중치(regularization weight)이며, δ(χ)는 Dirac 델타로의 조밀하게 지원되는 근사화(compactly supported approximation)이며, WD(X)> 0이면
Figure 112016053524145-pct00010
은 1이고, 그렇지 않으면 0이다. 다음의 편미분 방정식(PDE)은 φ가 시간의 함수로서 재표현되는 때에 Euler-Lagrange 방정식들을 품으로써 도출된다:
Figure 112016053524145-pct00011
이러한 PDE에 대한 1 차 해는 다음과 같은 반복적 기법을 포함한다:
Figure 112016053524145-pct00012
여기서,
Figure 112016053524145-pct00013
다시 한번, 이러한 반복적 기법은 φ가 항시적으로 부호화된 거리장이도록 제한될 수 있다. 일 실례에서, 시간 프레임(예를 들어서, L) 마다의 반복들은 1로 제한될 수 있다(이는 예를 들어서, 대부분의 모델의 변형이 공간 새김에 의해서 다루어지기 때문이다).
다음의 슈도코드 변형 파이프라인의 실례를 예시한다:
Figure 112016053524145-pct00014
필터 모듈(135)은 현재 깊이 이미지의 깊이 데이터 내의 홀들을 채우는 동작 또는 현재 깊이 이미지 내의 노이즈를 저감시키는 동작 중 적어도 하나를 하도록 현재 깊이 이미지를 프로세싱하도록 구성될 수 있다. 일 실례에서, 필터 모듈은 깊이 카메라(145)와 정합 모듈(120), 축적 모듈(125), 모델 변형 모듈(130), 또는 메시 모듈(140) 중 임의의 것 또는 모두 간에서 깊이 이미지 파이프라인 내에 배치된다.
초기화 모듈(155)은 (예를 들어서, 필터 모듈(135)로부터 수신된) 제 1 깊이 이미지에 기초하여 초기화된 형태로부터 모델(115)을 변형하도록 구성될 수 있다. 일 실례에서, 모델(115)의 초기화된 형태는 사용자 입력에 기초하여서 생성될 수 있다. 예를 들어서, 초기화 모듈(155)은 깊이 카메라(145)를 통한 타겟(150)의 관측을 가능하게 하는 사용자 인터페이스를 포함할 수 있다. 사용자 인터페이스는 해당 뷰 내에 타겟(150)을 포함시키도록 디스플레이 상에서 경계 형상(bounding shape)을 사용자가 특정하게 하도록 구성될 수 있다. 이러한 경계 형상은 모델(115)의 초기화된 형태에 대한 바이어스를 형성할 수 있다. 일 실례에서, 깊이 모델의 초기화된 형태는 큐브(예를 들어서, 도 2 내지 도 5를 참조하여서 이하에서 도시된 바와 같은 큐브들)이다.
이하에서는 초기화 모듈(155)의 예시적인 동작 시나리오가 기술된다. 관심 영역은 3D 경계 박스(예를 들어서, 큐브)로서 확립될 수 있다. 등방성 복셀 그리드는 관심 영역 상에 놓이며 이로 매핑될 수 있다. 예를 들어서, 맵핑 f: B → D가 적용될 수 있으며; 여기서 B는 경계 박스(예를 들어서, 밀리미터 단위)이며 D는 복셀 유닛들로 된 복셀 그리드이다. (예를 들어서, 모델의 부호화된 거리장을 생성하는데 사용되는) 모델(115)의 레벨 세트 표현을 유지하는 것은, 그리드 해상도 미만의 서브 복셀 정밀도를 실현할 수 있는데, 그 이유는 개별 복셀 값들이 소정의 측정치의 모델(115) 내의 타겟 경계로부터의 방향 및 거리 양자를 표시하기 때문이다.
깊이 이미지 취득이 시작되었으면, 타겟(150)이 3D 경계 박스(및, 이로써 모델(115)) 내에 있다는 가정이 이루어진다(예를 들어서, 체크하기 위해서 어떠한 처리도 수행되지 않는다). 제 1 깊이 이미지는 타겟(150)의 부분이 아닌 모델(115) 영역들으로부터 절삭을 하는데 사용될 수 있다. 이는 깊이 맵 및 타겟의 실루엣을 (예를 들어서, 도 2에서 예시된 바와 같이) 후방-투영시킴으로써 달성될 수 있다. 이로써, φ = -∞의 모델의 초기 레벨 세트 표현이 주어지면, 깊이 이미지의 엔벨로프는 다음에 의해서 컴퓨팅될 수 있다:
Figure 112016053524145-pct00015
여기서, △Xz는 깊이 이미지 상의 일 지점과 현재 복셀 위치 간의 차인
Figure 112016053524145-pct00016
의 Z 성분이다. 표시자 함수
Figure 112016053524145-pct00017
는 경계 박스의 외측의 구역들 또는 깊이 데이터가 없는 위치에서 φE를 무한대로 설정할 수 있다. 결과적인 이미지 φE{예를 들어서, 도 2 또는 도 3의 음영 영역들)은 깊이 이미지의 엔벨로프에 대응하는 제로 아이소-레벨(zero iso-level)을 갖는 레벨 세트이다. 이는 또한 지점들의 집합
Figure 112016053524145-pct00018
인 모델(115) 내의 타겟(150)의 경계(예를 들어서, 표면)로서 또한 표현될 수 있다. 그러나, 이러한 경계부에서는, φE는 반드시 부호화된 거리장인 것은 아니다. 따라서, 연산자 Φ{·}(Χ)는 φE 레벨 세트에 적용되어서 이를 부호화된 거리장으로 만들 수 있다. 일 실례에서, 부호화된 거리장으로의 근사화이다.
엔벨로프의 부호화된 거리장은 이제는 다음을 통해서 현재 모델(115)과 교차될 수 있다:
Figure 112016053524145-pct00019
일 실례에서, 깊이 이미지 내에서 홀들을 저감시키기 위해서, 엔벨로프를 현재 모델(115)과 병합시키기 이전에 엔벨로프는 다수의 복셀들(예를 들어서, τ = 2)에 의해서 팽창될 수 있다. 이는 다음과 같이 표현될 수 있다:
Figure 112016053524145-pct00020
이러한 팽창은 필터 모듈(135)에 의해서 수행될 수 있다. 일 실례에서, 도 3에서 이하에서 도시된 바와 같이, 다수의 초기 깊이 이미지들이 (예를 들어서, 다수의 카메라들로부터) 획득될 수 있다. 위의 프로세스는 다수의 뷰들에서 반복된다.
메시 모듈(140)은 모델(115)을 삼각형 메시로 변환시키도록 구성될 수 있다. 삼각형 메시들은 3D 모델들을 프로세싱하는데 광범위하게 사용된다. 일 실례에서, Marching Cubes 기법이 사용되어서 이러한 변환을 수행할 수 있다. 모델(115)이 레벨 세트인 실례들에서, 생성된 메시는 계속되는(contiguous)(예를 들어서, 빈틈없는) 표면일 것이다. 일 실례에서, 평탄화 기법이 생성된 메시에 적용될 수 있다. 예를 들어서, Marching Cubes 표면들은 평탄화될 수 있는 복셀 경계들 근처의 조각들 또는 날카로운 에지들을 포함할 수 있다. 일 실례에서, 평탄화 기법은 예를 들어서, 삼각형 크기 및 형상을 정규화시키는 균일한 가중치들을 사용하는 내재적 Laplacian 평탄화 기법이다. 이로써, 정점들(xn, yn, zn)을 포함하는 메시는 벡터들
Figure 112016053524145-pct00021
Figure 112016053524145-pct00022
로 표현될 수 있다. 이로써 표현된 메시는 다음의 반복적 기법:
Figure 112016053524145-pct00023
을 사용하여 평탄화될 수 있으며, 여기서 I는 N x N 항등 행렬이며, α는 정규화 가중치이며, L은 다음과 같은 Laplacian 엄블렐라 연산자(umbrella operator)이다:
Figure 112016053524145-pct00024
여기서, N(i)는 정점 i에 대한 이웃하는 정점들의 세트이며,
Figure 112016053524145-pct00025
는 이웃하는 정점들의 개수이다. 이 프로세스는 Vx 및 Vy 성분들에 대하여 각기 그리고 개별적으로 반복된다.
위의 기법은 메시 내에서 삼각형들의 크기 및 형상들을 정규화하지만, 모델(115) 내의 타겟(150)의 경계로부터 근소하게 정점들을 이동시킬 수 있다. 이를 보정하기 위해서, 다음의 반복적 기법을 통해서 모델(115) 상의 가장 가까운 대응하는 지점들과 상기 메시 정점들을 교체함으로써 메시 정점들은 축적된 깊이 데이터 φD 상으로 투영될 수 있다:
Figure 112016053524145-pct00026
메시 정점들에서 축적된 색상 버퍼 φc 선형으로 내삽시킴으로써 색상이 모델(115)에 부가될 수 있다. 일 실례에서, 색상 데이터가 일 공간 영역에 대해서 존재하지 않는 경우에(예를 들어서, 제로 가중치인 경우에), 이 영역에는 제로의 알파 값(예를 들어서, 보이지 않음)이 할당되거나 색상 공간에서 백그라운드로 채워질 수 있다.
도 2는 일 실시예에 따른, 모델의 복셀 그리드(205), 깊이 카메라(145), 및 타겟(150)의 실례(200)를 예시한다. 복셀(210)은 3D 공간 내에서 배향된 지점이다. 그러나, 명료성을 위해서, 복셀들은 전반적으로 도시되지 않으며, 대신에 그 중심에 복셀(210)을 포함하는 경계 박스가 도시된다. 복셀 그리드(205)는 전체 3 차원적으로 연장되지만, 명료성을 위해서, 하향식 새김 방식은 2 차원으로 예시된다. 예를 들어서, 복셀 그리드(205)는 타겟(150) 주변의 실제-공간(예를 들어서, 카메라(145)를 통해서 볼 수 있는 바와 같음)으로 맵핑된다. 절삭 이전에, 모든 정사각형은 어두운 음영으로 표시될 수 있다(이는 모델 내로의 포함됨을 의미한다). 깊이 이미지(예를 들어서, 제 1 깊이 이미지)가 취해진 후에는, 정사각형이 모델로부터 제거된다(이는 무음영으로 표시된다). 일 실례에서, 모델의 경계가 예를 들어서, 다른 세밀화가 수행되는 경우에 주목될 수도 있다(이는 약한 음영으로 표시됨).
도 3은 일 실시예에 따른, 모델의 복셀 그리드(205), 복수의 깊이 카메라들(예를 들어서, 깊이 카메라(145) 및 깊이 카메라(305)), 및 타겟(150)의 실례(300) 를 예시한다. 도 3은 제 2 카메라(305)의 추가와 함께 도 2와 실질적으로 동일하다. 몇 개의 카메라들의 동시적 사용은 스캐닝이 보다 신속하게 완료될 수 있게 한다. 또한, 공간 새김 방식은 다중 카메라 데이터(예를 들어서, 일부 시각적 훌 (hull) 재구성 시에 사용되는 바와 같음)를 요구하지 않는데, 그 이유는 각각이 모델을 구성하는 복셀들을 간단하게 수정하기 때문이다.
도 4는 일 실시예에 따른, 복셀 그리드(205) 상의 모델의 부호화된 거리장의 실례(400)를 도시한다. 도 4는 부호화된 거리장의 시각적 실례를 제공한다. 예시된 바와 같이, 정사각형의 음영이 어두울수록, 정사각형 내의 복셀 값은 크다. 백색 음영은 음 값이며 모델 외측의 지점을 나타낸다. 백색 음영 정사각형들의 크기(표시되지 않음)는 모델의 경계로부터의 지점의 거리를 나타낸다. 가장 약한 비백색 음영 정사각형들은 제로 값을 나타내며 모델의 경계를 표시한다.
이러한 부호화된 거리장에서의 일 지점의 값은 해당 지점이 모델 내에 있는지(예를 들어서, 음의 값), 모델의 경계에 있는지(예를 들어서, 제로 값 또는 제로로부터의 소정의 범위 내에 있는 값), 또는 모델 외측에 있는지(예를 들어서, 양의 값)를 표시하기 때문에, 이러한 정보를 저장하는 것은 효율적인 방식이다. 또한, 해당 값의 크기는 해당 지점이 모델의 경계 지점으로부터 얼마나 멀리 떨어져 있는지를 표시한다. 이로써 경계에 대한 지점의 "근접도"를 편리하게 결정할 수 있다. 또한, 계조는 최고의 값(예를 들어서, 다른 이웃하는 지점들과 동일하거나 이보다 큰 이웃하는 지점)의 경로를 "따름으로써" 용이하게 결정될 수 있다.
도 5는 일 실시예에 따른, 복셀 그리드(205) 상의 계조를 사용하는 모델의 확장된 부호화된 거리장의 실례(500)를 도시한다. 부호화된 거리장의 확장은 라인들의 화살표시가 없는 단부에 의해서 표현되며, 계조는 화살의 방향으로 라인들의 배향에 의해서 표현된다. 상술한 바와 같이, 부호화된 거리장은 이러한 결정을 돕는다. 또한, 깊이장 및 계조의 확장은 도 1을 참조하여서 상술한 바와 같은 효율적인 ICP 구현예에서 사용될 수 있는 경계 지점에 대한 지점 대응을 예시한다.
도 6은 일 실시예에 따른, 깊이 카메라를 사용하여서 하향식 실시간 3D 모델링을 수행하기 위한 방법(600)의 실례의 흐름도를 예시한다. 방법(600)의 동작들 전부는 상술한 바와 같은 것들과 같은 머신 하드웨어를 사용하여서 수행될 수 있다.
동작(605)에서, 타겟의 깊이 카메라로부터 수신된 깊이 측정치들이 깊이-측정 데이터 구조체 내에 저장될 수 있다. 일 실례에서, 깊이-측정 데이터 구조체는 그리드 내의 복셀들이 타겟을 포함하는 공간 내의 지점들에 대응하는 복셀 그리드일 수 있다.
동작(610)에서, 타겟의 3차원 표현이 모델 내에 저장될 수 있다. 일 실례에서, 모델은 그리드 내의 복셀들이 타겟을 포함하는 공간 내의 지점들에 대응하는 복셀 그리드일 수 있다. 일 실례에서, 모델은 부호화된 거리장을 포함한다. 이에 따라서, 모델은 부호화된 거리장에 의해서 표현될 수 있으며 Ω 세트는 모델의 경계이며 양의 값들은 경계 내에 있을 수 있다.
동작(615)에서, 현재 깊이 이미지가 모델로 정합되며, 이 경우에 현재 깊이 이미지는 깊이 카메라로부터 수신될 수 있다. 일 실례에서, 현재 깊이 이미지를 모델에 정합시키는 것은 다음과 같은 추가 동작들을 포함할 수 있다: 복셀을 모델 내에서 선택하는 동작; 선택된 복셀에 대한 모델의 부호화된 거리장을 현재 복셀에 대한 주변 공간 내로 확장시키는 동작; 현재 복셀에 대한 계조를 컴퓨팅하는 동작; 계조를 따라서 현재 복셀에 대응하는 모델의 경계 상의 대응 지점을 컴퓨팅하는 동작; 및 대응 지점을 저장하는 동작. 일 실례에서, 이러한 추가 동작들은 모델 내의 복수의(예를 들어서, 모든) 복셀들에 대해서 수행될 수 있다. 일 실례에서, 복수의 복셀들은 모델 내의 타겟의 경계 근처의 복셀들로 한정될 수 있다. 근접도는 소정의 값 미만의 크기(예를 들어서, 그의 부호화된 거리장 표현치의 절대값)를 갖는 복셀에 의해서 결정될 수 있다. 일 실례에서, 근접도는 최소한 임의의 다른 복셀만큼 경계에 가까운 복셀들을 포함한다.
일 실례에서, 현재 깊이 이미지를 모델에 정합시키는 동작은 저장된 대응 지점들의 세트를 현재 깊이 이미지로부터의 3차원 지점과 상관시키는 것을 포함할 수 있다(예를 들어서, 저장된 대응 지점들의 세트 내의 저장된 대응 지점). 카메라의 경직성 모션은 저장된 대응 지점들의 세트를 사용하여서 제 1 포즈로부터 결정될 수 있다. 깊이 카메라의 제 2 포즈는 경직성 모션을 사용하여서 제 1 포즈로부터 결정될 수 있다. 이러한 실례에서, 제 2 포즈는 타겟에 대한 깊이 카메라의 포즈에 대응한다. 수정하는 동작은 또한 동일한 지점에 대해서 현재 가중치를 이전의 가중치와 결합하는 것을 포함할 수 있다. 이는 깊이 이미지 데이터를 축적하는 것으로서 알려질 수 있다. 일 실례에서, 색상 데이터가 (예를 들어서, 깊이 카메라로부터 또는 깊이 카메라 포즈와 동기화된 다른 카메라로부터) 수신된 색상 데이터로부터 (예를 들어서, 각 지점에 대해서) 또한 축적될 수 있다. 일 실례에서, 축적 동작은 현재 깊이 이미지 내의 복수의(예를 들어서, 모든) 지점들에 대해서 수행될 수 있다.
동작(620)에서, 깊이-측정 데이터 구조체는 정합 동작에 기초하여서 현재 깊이 이미지를 사용하여서 수정될 수 있다. 일 실례에서, 수정 동작은 현재 깊이 이미지 내의 지점에, 깊이 카메라의 초점으로부터 이 지점까지 연장된 광선의 각도에 기초하여 가중치를 주는 것을 포함할 수 있다. 상기 초점 및 각도는 현재 깊이 이미지의 정합 동작으로부터 결정된 깊이 카메라의 포즈값에 기초하여서 결정될 수 있다.
동작(625)에서, 모델이 공간 새김 및 수정된 깊이-측정 데이터 구조체에 기초하여서 변형될 수 있다. 공간 새김은 정합된 바와 같은 현재 깊이 이미지 및 변형 동작 이전의 모델을 사용하여서 수행된다. 일 실례에서, 변형은 현재 깊이 이미지를 모델과 교차시킴으로써 모델을 공간 새김하는 것을 포함할 수 있다. 일 실례에서, 변형 동작은 수정된 깊이-측정 데이터 구조체를 사용하여서 모델을 근사화하는 표면을 계산하는 것을 포함할 수 있다. 이러한 근사화는 상기 표면을 수정된 깊이-측정 데이터 구조체에 피팅시키는 한계가 정해진 반복적 프로세스에 기초할 수 있다. 이는 2D 데이터 지점들의 세트로 함수를 최상으로 피팅시키는 것과 유사한 3D 기법이다. 일 실례에서, 표면을 계산하는 것은 활성 윤곽 분절화를 사용하는 것을 포함할 수 있다. 이 활성 윤곽 분절화는 수정된 깊이-측정 데이터 구조체 내의 복셀들에 대해서 레벨 세트 에볼루션 기법을 사용할 수 있다. 일 실례에서, 활성 윤곽 분절화 기법은 부호화된 거리장으로서 모델을 유지하도록 한정될 수 있다. 일 실례에서, 한계가 정해진 반복적 프로세스는 모델 내의 타겟의 경계 근처의 복셀들(예를 들어서, 깊이-측정 데이터 구조체 또는 모델 내에 있음)로 한정될 수 있다.
동작(630)에서, 선택사양적으로, 현재 깊이 이미지가 필터링될 수 있다. 필터링은 홀들을 채우기 위해서 깊이 이미지를 프로세싱하는 것을 포함할 수 있다. 일 실례에서, 홀들은 깊이 이미지 내의 복셀들을 확장(예를 들어서, 팽창)시킴으로써 채워질 수 있다. 필터링은 또한 현재 깊이 이미지를 정규화하는 것을 포함할 수 있다. 일 실례에서, 정규화는 노이즈 복셀들을 결정하고 이들을 깊이 이미지로부터 제거하는 것을 포함할 수 있다. 일 실례에서, 필터링은 (예를 들어서, 깊이 이미지가 사용되기 이전의) 동작들(605 내지 625) 중 임의의 것과 깊이 카메라 간의 깊이 이미지 파이프라인에서 수행될 수 있다.
동작(635)에서, 선택사양적으로, 모델이 필터링(예를 들어서, 동작(630))으로부터 수신된 제 1 깊이 이미지에 기초하여 초기화된 형태로부터 초기화될 수 있다. 일 실례에서, 모델의 초기화된 형태는 모델의 초기화된 형태 내에 타겟을 배치하는 사용자 입력에 기초하여서 생성될 수 있다. 예를 들어서, 타겟의 이미지 주변의 3D 형상을 사용로 하여금 그릴 수 있게 하는 사용자 인터페이스가 제공될 수 있다. 일 실례에서, 모델의 초기화된 형태는 큐브(예를 들어서, 도 2 내지 도 5에 도시된 바와 같음)이다.
동작(640)에서, 프로세싱할 다른 깊이 이미지들이 존재하는 지의 여부가 결정될 수 있다. 일 실례에서, 이러한 결정은 사용자 입력에 기초할 수 있다(예를 들어서, 사용자 인터페이스가 "스캐닝 완료" 표시 등을 수신한다). 일 실례에서, 이러한 결정은 수집된 깊이 이미지들의 개수, 시간 등 중 임의의 하나 이상에 기초할 수 있다.
동작(645)에서, 모든 깊이 이미지들이 (예를 들어서, 예시된 바와 같이) 취득된 후에 또는 깊이 이미지 프로세싱 동안에, 모델이 삼각형 메시로 변환될 수 있다. 일 실례에서, 메시의 삼각형들은 평탄화될 수 있다. 일 실례에서, 평탄화된 삼각형들은 모델의 체적상의 표현에 적용될 수 있다.
도 7은 일 실시예에 따른, 깊이 카메라를 사용하여서 실시간 3D 재구성을 수행하기 위한 방법(700)의 실례의 흐름도를 예시한다. 방법(700)의 동작들은 상술한 바와 같은 것들과 같은 하드웨어를 사용하여서 수행될 수 있다. 방법(700)은 3D 모델 재구성의 실례이다.
동작(705)에서, 깊이 이미지가 필터링될 수 있다. 일 실례에서, 필터링은 노이즈를 저감시킬 수 있다. 일 실례에서, 필터링은 홀들을 채울 수 있다.
동작(710)에서, 초기 모델이 제 1 깊이 이미지에 기초하여 형상(예를 들어서, 큐브)으로부터 타겟의 실루엣을 새김으로써 생성될 수 있다.
동작들(715 내지 725)은 동작(705)의 필터링이 수행되는 깊이 이미지들의 세트에 걸쳐서 반복적으로 수행된다.
동작(715)에서, 현재 깊이 이미지가 모델에 정합된다.
동작(720)에서, 현재 깊이 프레임이 축적 버퍼들(예를 들어서, 상술한 깊이-측정 데이터 구조체)에 부가된다.
동작(725)에서, 모델이 현재 깊이 이미지(예를 들어서, 동작(710)을 통한 것임)와 축적 버퍼들(예를 들어서, 가장 최신의 상태에 있음) 간을 매칭시키도록 변형된다.
동작(730)에서, 프로세싱할 깊이 이미지들이 더 이상 없을 때에, 삼각형 메시가 모델로부터 생성될 수 있다. 일 실례에서, 메시는 (예를 들어서, 삼각형 품질을 개선하기 위해서) 평탄화될 수 있다. 일 실례에서, 메시는 타겟(예를 들어서, 모델)의 체적상의 표현 상으로 투영될 수 있다.
상술한 반복적 동작들은 다음의 슈도코드에 의해서 수행될 수 있다.
Figure 112016053524145-pct00027
도 8은 본 명세서에서 기술된 기법들(예를 들어서, 방법들) 중 임의의 하나 이상이 수행될 수 있는 예시적인 머신(800)의 블록도를 예시한다. 다른 실시예들에서, 머신(800)은 독립형 장치로서 동작하거나, 다른 머신들에 연결(예를 들어서, 네트워킹)될 수 있다. 네트워킹된 배치 시에, 머신(800)은 서버-클라이언트 네트워크 환경들에서는 서버 머신, 클라이언트 머신 또는 이 양자의 능력 내에서 동작할 수 있다. 일 실례에서, 머신(800)은 피어-대-피어(P2P)(또는 다른 분산형) 네트워크 환경에서는 피어 머신 역할을 할 수 있다. 머신(800)은 개인용 컴퓨터(PC), 태블릿 PC, 셋탑 박스(STB), PDA(personal digital assistant), 이동 전화, 웹 장비, 네트워크 라우터, 스위치 또는 브리지 또는 상기 머신에 의해서 취해질 동작들을 특정하는 인스트럭션들(순차적이거나 그렇지 않음)을 실행할 수 있는 임의의 머신일 수 있다. 또한, 오직 단일 머신이 예시되지만, 용어 "머신"은 클라우드 컴퓨팅, SaaS(softwae as service), 다른 컴퓨터 클러스터 구성들과 같은, 본 명세서에서 기술된 방법들 중 임의의 하나 이상을 수행하도록 인스트럭션들의 세트(또는 다수의 세트들)를 개별적으로 또는 함께 실행하는 머신들의 임의의 집합을 포함할 수 있다.
본 명세서에서 기술된 실례들은 로직을 포함하거나 로직 상에서 동작하거나, 다수의 구성요소들, 모듈들, 또는 메커니즘들을 포함하거나 이러한 것들 상에서 동작할 수 있다. 모듈들은 동작 시에 특정된 동작들을 수행할 수 있는 유형의 개체들(예를 들어서, 하드웨어)이다. 일 실례에서, 하드웨어는 특정 동작을 수행하도록 특정하게 구성될 수 있다(예를 들어서, 하드와이어됨). 일 실례에서, 하드웨어는 구성가능한 실행 유닛들(예를 들어서, 트랜지스터들, 회로들, 등) 및 인스트럭션들을 포함하는 컴퓨터 판독가능한 매체를 포함하며, 인스트럭션들은 동작 시에 특정 동작을 실행하도록 실행 유닛들을 구성시킨다. 이러한 구성은 실행 유닛들 또는 로딩 메커니즘의 지시 하에서 발생할 수 있다. 이에 따라서, 실행 유닛들은 장치가 동작 중일 때에 컴퓨터 판독가능한 매체와 통신 가능하게 연결된다. 이러한 실례에서, 실행 유닛들은 2 개 이상의 모듈의 멤버일 수 있다. 예를 들어서, 동작 하에서, 실행 유닛들은 일 시점에서 제 1 모듈을 구현하도록 인스트럭션들의 제 1 세트에 의해서 구성되며, 제 2 모듈을 구현하도록 인스트럭션들의 제 2 세트에 의해서 재구성될 수 있다.
머신(예를 들어서, 컴퓨터 시스템)(800)은 하드웨어 프로세서(802)(예를 들어서, 중앙 프로세싱 유닛(CPU), 그래픽 프로세싱 유닛(GPU), 하드웨어 프로세서 코어, 또는 이들의 임의의 조합), 메인 메모리(804) 및 정적 메모리(806)를 포함하며, 이들의 일부 또는 전부는 상호링크부(예를 들어서, 버스)(808)를 통해서 서로 통신할 수 있다. 머신(800)은 또한 디스플레이 유닛(810), 문자 숫자 입력 장치(812)(예를 들어서, 키보드), 및 사용자 인터페이스(UI) 네비게이션 장치(814)(예를 들어서, 마우스)를 더 포함한다. 일 실례에서, 디스플레이 유닛(810), 입력 장치(812) 및 UI 네비게이션 장치(814)는 터치 스크린 디스플레이일 수 있다. 머신(800)은 저장 장치(예를 들어서, 드라이브 유닛)(816), 신호 생성 장치(818)(예를 들어서, 스피커), 네트워크 인터페이스 장치(820), 및 하나 이상의 센서들(821), 예를 들어서, GPS 센서, 컴파스, 가속도계, 또는 다른 센서를 더 포함할 수 있다. 머신(800)은 출력 제어기(828), 예를 들어서, 직렬(예를 들어서, USB(universal serial bus), 병렬 또는 다른 유선 또는 무선(예를 들어서, 적외선(IR), NFC, 등) 접속부를 포함하여서 하나 이상의 주변 장치들(예를 들어서, 인쇄기, 카드 리더, 등)과 통신하거나 이들을 제어할 수 있다.
저장 장치(816)는 머신 판독가능한 매체(822)를 포함하며, 이 매체 상에, 본 명세서에서 기술된 기법들 또는 기능들 중 임의의 하나 이상을 구현하거나 이에 의해서 사용되는 데이터 구조체들 또는 인스트럭션들(824)(예를 들어서, 소프트웨어)의 하나 이상의 세트들이 저장된다. 인스트럭션들(824)은 또한 머신(800)에 의한 이의 실행 동안에, 그 전체가 또는 적어도 부분적으로 메인 메모리(804) 내에, 정적 메모리(806) 내에, 또는 하드웨어 프로세서(802) 내에 상주할 수 있다. 일 실례에서, 하드웨어 프로세서(802), 메인 메모리(804), 정적 메모리(806), 또는 저장 장치(816)중 하나 또는 임의의 조합이 머신 판독가능한 매체를 구성할 수 있다.
머신 판독가능한 매체(822)가 단일 매체로서 예시되지만, 용어 "머신 판독가능한 매체"는 하나 이상의 인스트럭션들(824)을 저장하도록 구성된 단일 매체 또는 다수의 매체(예를 들어서, 중앙식 또는 분산형 데이터베이스, 및/또는 관련된 캐시들 및 서버들)를 포함할 수도 있다.
용어 "머신 판독가능한 매체"는 머신(800)에 의해서 실행될 인스트럭션들을 저장, 인코딩 또는 반송할 수 있고 머신(800)으로 하여금 본 개시의 기법들 중 임의의 하나 이상을 수행하게 하는 임의의 매체 또는 이러한 인스트럭션들에 의해서 사용되거나 이러한 인스트럭션들과 연관된 데이터 구조체들을 저장, 인코딩 또는 반송할 수 있는 임의의 매체를 포함할 수 있다. 비한정적 머신 판독가능한 매체 실례들은 고체상 메모리들, 및 광학 매체 및 자기 매체를 포함할 수 있다. 일 실례에서, 질량형 머신 판독가능한 매체는 안착된 질량부를 갖는 복수의 입자들을 갖는 머신 판독가능한 매체를 포함한다. 질량형 머신 판독가능한 매체의 특정 실례들은 비휘발성 메모리, 예를 들어서, 반도체 메모리 장치들(예를 들어서, EPROM(Electrically Programmable Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory) 및 플래시 메모리 장치들; 자기 디스크들, 예를 들어서, 내부 자기 디스크들 및 분리식 디스크들; 자기광학 디스크들; 및 CD-ROM 및 DVD-ROM 디스크들을 포함한다.
인스트럭션들(824)은 또한 다수의 프로토콜들 중 임의의 하나(예를 들어서, 프레임 릴레이, 인터넷 프로토콜(IP), 전송 제어 프로토콜(TCP), 사용자 데이터그램 프로토콜(UDP), 하이퍼텍스트 전송 프로토콜(HTTP), 등)를 사용하는 네트워크 인터페이스 장치(820)를 통해서 전송 매체를 사용하는 통신 네트워크(826)에 걸쳐서 송신 또는 수신될 수 있다. 예시적인 통신 네트워크들은 예를 들자면, LAN(local area network), WAN(wide area network), 패킷 데이터 네트워크(예를 들어서, 인터넷), 이동 전화 네트워크들(예를 들어서, 셀룰러 네트워크들), POTS(Plain Old Telephone) 네트워크들, 및 무선 데이터 네트워크들(예를 들어서, Institute of Electrical and Electronics Engineers(IEEE) 802.11 family of standards known as Wi-Fi®, IEEE 802.16 family of standards known as WiMax®), IEEE 802.15.4 family of standards, 피어-대-피어(P2P) 네트워크들을 포함한다. 일 실례에서, 네트워크 인터페이스 장치(820)는 하나 이상의 물리적 잭들(예를 들어서, Ethernet, 동축케이블, 또는 전화 잭들) 또는 통신 네트워크(826)에 연결되는 하나 이상의 안테나들을 포함할 수 있다. 일 실례에서, 네트워크 인터페이스 장치(820)는 SIMO(single-input multiple-output) 기법, MIMO(multiple-input multiple-output) 기법, 또는 MISO(multiple-input single-output) 기법 중 적어도 하나를 사용하여서 무선으로 통신하기 위한 복수의 안테나들을 포함할 수 있다. 용어 "전송 매체"는 머신(800)에 의해서 실행될 인스트럭션들을 저장, 인코딩 또는 반송하는 임의의 무형의 매체를 포함할 수 있으며, 이 무형의 매체는 이러한 소프트웨어의 통신을 실현하는 디지털 또는 아날로그 통신 신호들 또는 다른 무형의 매체를 포함한다.
추가 주석들 및 실례들
실례 1은 청구 대상(예를 들어서, 깊이 카메라를 사용하여 실시간 3D 재구성을 수행하는 디바이스, 장치 또는 시스템)을 포함하며, 이 청구 대상은, 타겟의 깊이 카메라로부터 수신된 깊이 측정치들을 저장하는 깊이-측정 데이터 구조체; 상기 타겟의 3차원 표현을 저장하는 모델; 상기 깊이 카메라로부터 수신된 현재 깊이 이미지를 상기 모델에 정합시키는 정합 모듈(registration module); 상기 정합에 기초한 상기 현재 깊이 이미지를 사용하여 상기 깊이-측정 데이터 구조체를 수정하는 축적 모듈; 및 공간 새김(space carving) 및 상기 수정된 깊이-측정 데이터 구조체에 기초하여 상기 모델을 변형시키는 모델 변형 모듈을 포함한다.
실례 2에서, 실례 1의 청구 대상은 깊이 카메라 및 축적 모듈 간에서 깊이 이미지 파이프라인 내의 필터 모듈을 선택사양적으로 포함하며, 필터 모듈은 현재 깊이 이미지의 깊이 데이터 내의 홀들을 채우는 동작 또는 현재 깊이 이미지 내의 노이즈를 저감시키는 동작 중 적어도 하나를 하도록 현재 깊이 이미지를 프로세싱한다.
실례 3에서, 실례 2의 청구 대상은 필터 모듈로부터 수신된 제 1 깊이 이미지에 기초하여서 초기화된 형태로부터 모델을 변형하는 초기화 모듈을 선택사양적으로 포함할 수 있다.
실례 4에서, 실례 1 내지 실례 3 중 어느 하나의 실례의 청구 대상은 모델의 초기화된 형태가 사용자 입력에 기초하여 생성되고, 타겟은 상기 모델의 초기화된 형태 내에 존재한다는 것을 선택사양적으로 포함할 수 있다.
실례 5에서, 실례 1 내지 실례 4 중 어느 하나의 실례의 청구 대상은 모델의 초기화된 형태가 큐브인 것을 선택사양적으로 포함할 수 있다.
실례 6에서, 실례 1 내지 실례 5 중 어느 하나의 실례의 청구 대상은, 상기 깊이-측정 데이터 구조체 또는 상기 모델 중 적어도 하나가 복셀 그리드(voxel grid)를 포함하며, 상기 복셀 그리드의 복셀들은 상기 타겟을 포함하는 공간 내의 지점들에 대응한다는 것을 선택사양적으로 포함할 수 있다.
실례 7에서, 실례 1 내지 실례 6 중 어느 하나의 실례의 청구 대상은, 상기 모델이 부호화된 거리장(signed distance field)을 포함한다는 것을 선택사양적으로 포함할 수 있다.
실례 8에서, 실례 1 내지 실례 7 중 어느 하나의 실례의 청구 대상은, 상기 현재 깊이 이미지를 상기 모델에 정합하기 위해서, 상기 정합 모듈은, 상기 모델 내에서 복셀을 선택하고; 상기 선택된 복셀에 대한 모델의 부호화된 거리장을 현재 복셀에 대한 주변 공간 내로 확장시키고; 상기 현재 복셀에 대한 계조를 컴퓨팅하고; 상기 계조에 따르는 상기 현재 복셀에 대응하는 모델의 경계 상의 대응 지점을 컴퓨팅하고; 상기 대응 지점을 저장한다는 것을 선택사양적으로 포함할 수 있다.
실례 9에서, 실례 1 내지 실례 8 중 어느 하나의 실례의 청구 대상은, 상기 정합 모듈이 상기 복셀을 선택하는 것, 상기 부호화된 거리장을 확장시키는 것, 상기 계조를 컴퓨팅하는 것, 상기 대응 지점을 컴퓨팅하는 것, 상기 대응 지점을 저장하는 것을 상기 모델 내의 복수의 복셀들에 대해서 반복적으로 수행한다는 것을 선택사양적으로 포함할 수 있다.
실례 10에서, 실례 1 내지 실례 9 중 어느 하나의 실례의 청구 대상은, 상기 복수의 복셀들이 상기 모델 내의 타겟의 경계 근처에 있으며, 상기 경계 근처에 있는 복셀은 다른 복셀보다 상기 경계로부터 더 멀리 떨어져 있지 않은 복셀이라는 것을 선택사양적으로 포함할 수 있다.
실례 11에서, 실례 1 내지 실례 10 중 어느 하나의 실례의 청구 대상은, 상기 정합 모듈이 저장된 대응 지점들의 세트를 상기 현재 깊이 이미지로부터의 3차원 지점과 상관시키는 동작으로서, 상기 저장된 대응 지점은 상기 저장된 대응 지점들의 세트 내에 있는, 상기 상관시키는 동작; 상기 저장된 대응 지점들의 세트를 사용하여 제 1 포즈로부터 깊이 카메라의 경직성 모션(rigid motion)을 결정하는 동작; 및 상기 제 1 포즈로부터의 경직성 모션을 사용하여 상기 깊이 카메라의 제 2 포즈를 결정하는 동작으로서, 상기 제 2 포즈는 상기 타겟에 대한 상기 깊이 카메라의 포즈에 대응하는, 상기 제 2 포즈를 결정하는 동작을 수행한다는 것을 선택사양적으로 포함할 수 있다.
실례 12에서, 실례 1 내지 실례 11 중 어느 하나의 실례의 청구 대상은, 상기 정합에 기초한 상기 현재 깊이 이미지를 사용하여 상기 깊이-측정 데이터 구조체를 수정하기 위해서, 상기 축적 모듈이, 상기 현재 깊이 이미지 내의 일 지점에 상기 깊이 카메라의 초점으로부터 상기 지점으로 이어지는 광선의 각도에 기초하여 가중치를 주는 동작으로서, 상기 초점 및 각도는 상기 현재 깊이 이미지의 정합결과로부터 결정된 상기 깊이 카메라의 포즈에 기초하여 결정되는, 상기 가중치를 주는 동작; 및 동일한 지점에 대하여 상기 가중치와 이전의 가중치를 결합시키는 동작을 수행한다는 것을 선택사양적으로 포함할 수 있다.
실례 13에서, 실례 1 내지 실례 12 중 어느 하나의 실례의 청구 대상은, 상기 축적 모듈이 상기 지점에 대한 색상 정보를 축적한다는 것을 선택사양적으로 포함할 수 있다.
실례 14에서, 실례 1 내지 실례 13 중 어느 하나의 실례의 청구 대상은, 상기 축적 모듈이 상기 지점에 가중치를 주며 현재 깊이 이미지 내의 복수의 지점들에 대한 가중치를 결합한다는 것을 선택사양적으로 포함할 수 있다.
실례 15에서, 실례 1 내지 실례 14 중 어느 하나의 실례의 청구 대상은, 상기 수정된 깊이-측정 데이터 구조체에 기초하여 상기 모델을 변형하기 위해서, 상기 모델 변형 모듈이 상기 현재 깊이 이미지를 상기 모델과 교차시킴으로써 상기 모델을 공간 새김하는 동작; 및 상기 수정된 깊이-측정 데이터 구조체에 기초하여서 상기 모델을 근사화하는 표면을 계산하는 동작으로서, 상기 근사화는 상기 표면을 상기 수정된 깊이-측정 데이터 구조체에 피팅(fitting)시키기 위한 한계가 정해진 반복적 프로세스에 기초하는, 상기 계산하는 동작을 수행한다는 것을 선택사양적으로 포함할 수 있다.
실례 16에서, 실례 1 내지 실례 15 중 어느 하나의 실례의 청구 대상은, 상기 표면을 계산하는 동작은 활성 윤곽 분절화(active contour segmentation)의 사용을 포함하며, 상기 활성 윤곽 분절화는 상기 수정된 깊이-측정 데이터 구조체 내의 복셀들에 대한 레벨 세트 에볼루션(evolution) 기법을 사용한다는 것을 선택사양적으로 포함할 수 있다.
실례 17에서, 실례 1 내지 실례 16 중 어느 하나의 실례의 청구 대상은, 상기 활성 윤곽 분절화는 상기 모델을 부호화된 거리장으로서 유지하도록 한정된다는 것을 선택사양적으로 포함할 수 있다.
실례 18에서, 실례 1 내지 실례 17 중 어느 하나의 실례의 청구 대상은, 상기 한계가 정해진 반복적 프로세스는 상기 모델 내의 타겟의 경계 근처에 있는 복셀들로 한정되며, 상기 경계 근처에 있는 복셀은 다른 복셀보다 상기 경계로부터 더 멀리 떨어져 있지 않은 복셀인 것을 선택사양적으로 포함할 수 있다.
실례 19에서, 실례 1 내지 실례 18 중 어느 하나의 실례의 청구 대상은, 상기 모델을 삼각형 메시로 변환하는 메시 모듈을 선택사양적으로 포함할 수 있다.
실례 20은 깊이 카메라를 이용하여서 실시간 3D 재구성을 수행하는 청구 대상(예를 들어서, 방법, 동작을 수행하기 위한 수단, 또는 머신에 의해서 실행되어서 머신으로 하여금 동작들을 수행하게 하는 인스트럭션들을 포함하는 머신-판독가능한 매체)을 포함하거나, 이 청구 대상을 포함하도록 실례 1 내지 실례 19 중 어느 하나의 실례의 청구 대상과 선택사양적으로 조합될 수 있으며, 상기 깊이 카메라를 이용하여서 실시간 3D 재구성을 수행하는 것은, 타겟의 깊이 카메라로부터 수신된 깊이 측정치들을 깊이-측정 데이터 구조체 내에 저장하는 동작; 상기 타겟의 3차원 표현을 모델 내에 저장하는 동작; 상기 깊이 카메라로부터 수신된 현재 깊이 이미지를 상기 모델에 정합시키는 동작; 상기 정합에 기초한 상기 현재 깊이 이미지를 사용하여 상기 깊이-측정 데이터 구조체를 수정하는 동작; 및 공간 새김 및 상기 수정된 깊이-측정 데이터 구조체에 기초하여 상기 모델을 변형시키는 동작을 포함한다.
실례 21에서, 실례 20의 청구 대상은 깊이 카메라와 상기 정합 동작, 수정 동작, 또는 변형 동작 중 적어도 하나 간의 깊이 이미지 파이프라인에서 필터링하는 동작을 선택사양적으로 포함하며, 상기 필터링 동작은 현재 깊이 이미지의 깊이 데이터 내의 홀들을 채우는 동작 또는 현재 깊이 이미지 내의 노이즈를 저감시키는 동작 중 적어도 하나를 하도록 현재 깊이 이미지를 필터링한다.
실례 22에서, 실례 20 또는 실례 21의 청구 대상은 필터링 동작으로부터 수신된 제 1 깊이 이미지에 기초하여서 초기화된 형태로부터 모델을 초기화하는 동작을 선택사양적으로 포함할 수 있다.
실례 23에서, 실례 20 내지 실례 22 중 어느 하나의 실례의 청구 대상은 모델의 초기화된 형태가 사용자 입력에 기초하여 생성되고, 타겟은 상기 모델의 초기화된 형태 내에 존재한다는 것을 선택사양적으로 포함할 수 있다.
실례 24에서, 실례 20 내지 실례 23 중 어느 하나의 실례의 청구 대상은 모델의 초기화된 형태가 큐브인 것을 선택사양적으로 포함할 수 있다.
실례 25에서, 실례 20 내지 실례 24 중 어느 하나의 실례의 청구 대상은, 상기 깊이-측정 데이터 구조체 또는 상기 모델 중 적어도 하나가 복셀 그리드를 포함하며, 상기 복셀 그리드의 복셀들은 상기 타겟을 포함하는 공간 내의 지점들에 대응한다는 것을 선택사양적으로 포함할 수 있다.
실례 26에서, 실례 20 내지 실례 25 중 어느 하나의 실례의 청구 대상은, 상기 모델이 부호화된 거리장을 포함한다는 것을 선택사양적으로 포함할 수 있다.
실례 27에서, 실례 20 내지 실례 26 중 어느 하나의 실례의 청구 대상은, 상기 현재 깊이 이미지를 상기 모델에 정합시키는 동작은 상기 모델 내에서 복셀을 선택하는 동작; 상기 선택된 복셀에 대한 모델의 부호화된 거리장을 현재 복셀에 대한 주변 공간 내로 확장시키는 동작; 상기 현재 복셀에 대한 계조를 컴퓨팅하는 동작; 상기 계조에 따르는 상기 현재 복셀에 대응하는 모델의 경계 상의 대응 지점을 컴퓨팅하는 동작; 상기 대응 지점을 저장하는 동작을 포함한다는 것을 선택사양적으로 포함할 수 있다.
실례 28에서, 실례 20 내지 실례 27 중 어느 하나의 실례의 청구 대상은, 상기 모델 내의 복수의 복셀들에 대해서 실례 27의 동작들을 반복적으로 수행한다는 것을 선택사양적으로 포함할 수 있다.
실례 29에서, 실례 20 내지 실례 28 중 어느 하나의 실례의 청구 대상은, 상기 복수의 복셀들이 상기 모델 내의 타겟의 경계 근처에 있으며, 상기 경계 근처에 있는 복셀은 다른 복셀보다 상기 경계로부터 더 멀리 떨어져 있지 않은 복셀이다는 것을 선택사양적으로 포함할 수 있다.
실례 30에서, 실례 20 내지 실례 29 중 어느 하나의 실례의 청구 대상은, 상기 현재 깊이 이미지를 상기 모델에 정합시키는 동작이, 저장된 대응 지점들의 세트를 상기 현재 깊이 이미지로부터의 3차원 지점과 상관시키는 동작으로서, 상기 저장된 대응 지점은 상기 저장된 대응 지점들의 세트 내에 있는, 상기 상관시키는 동작; 상기 저장된 대응 지점들의 세트를 사용하여 제 1 포즈로부터 깊이 카메라의 경직성 모션을 결정하는 동작; 및 상기 제 1 포즈로부터의 경직성 모션을 사용하여 상기 깊이 카메라의 제 2 포즈를 결정하는 동작으로서, 상기 제 2 포즈는 상기 타겟에 대한 상기 깊이 카메라의 포즈에 대응하는, 상기 제 2 포즈를 결정하는 동작을 포함한다는 것을 선택사양적으로 포함할 수 있다.
실례 31에서, 실례 20 내지 실례 30 중 어느 하나의 실례의 청구 대상은, 상기 정합에 기초한 상기 현재 깊이 이미지를 사용하여 상기 깊이-측정 데이터 구조체를 수정하는 동작은, 상기 현재 깊이 이미지 내의 일 지점에 상기 깊이 카메라의 초점으로부터 상기 지점으로 이어지는 광선의 각도에 기초하여 가중치를 주는 동작으로서, 상기 초점 및 각도는 상기 현재 깊이 이미지의 정합으로부터 결정된 상기 깊이 카메라의 포즈에 기초하여 결정되는, 상기 가중치를 주는 동작; 및 상기 동일한 지점에 대하여 상기 가중치와 이전의 가중치를 결합시키는 동작을 포함한다는 것을 선택사양적으로 포함할 수 있다.
실례 32에서, 실례 20 내지 실례 31 중 어느 하나의 실례의 청구 대상은, 상기 지점에 대한 색상 정보를 축적하는 동작을 선택사양적으로 포함할 수 있다.
실례 33에서, 실례 20 내지 실례 32 중 어느 하나의 실례의 청구 대상은, 상기 현재 깊이 이미지 내의 복수의 지점들에 대해서 실례 31의 동작들을 수행하는 동작을 선택사양적으로 포함할 수 있다.
실례 34에서, 실례 20 내지 실례 33 중 어느 하나의 실례의 청구 대상은, 상기 수정된 깊이-측정 데이터 구조체에 기초하여서 상기 모델을 변형하는 동작은, 상기 현재 깊이 이미지를 상기 모델과 교차시킴으로써 상기 모델을 공간 새김하는 동작; 및 상기 수정된 깊이-측정 데이터 구조체에 기초하여서 상기 모델을 근사화하는 표면을 계산하는 동작으로서, 상기 근사화는 상기 표면을 상기 수정된 깊이-측정 데이터 구조체에 피팅시키기 위한 한계가 정해진 반복적 프로세스에 기초하는, 상기 계산하는 동작을 포함한다는 것을 선택사양적으로 포함할 수 있다.
실례 35에서, 실례 20 내지 실례 34 중 어느 하나의 실례의 청구 대상은, 상기 표면을 계산하는 동작은 활성 윤곽 분절화의 사용을 포함하며, 상기 활성 윤곽 분절화는 상기 수정된 깊이-측정 데이터 구조체 내의 복셀들에 대한 레벨 세트 에볼루션 기법을 사용한다는 것을 선택사양적으로 포함할 수 있다.
실례 36에서, 실례 20 내지 실례 35 중 어느 하나의 실례의 청구 대상은, 상기 활성 윤곽 분절화는 상기 모델을 부호화된 거리장으로서 유지하도록 한정된다는 것을 선택사양적으로 포함할 수 있다.
실례 37에서, 실례 20 내지 실례 36 중 어느 하나의 실례의 청구 대상은, 상기 한계가 정해진 반복적 프로세스는 상기 모델 내의 타겟의 경계 근처에 있는 복셀들로 한정되며, 상기 경계 근처에 있는 복셀은 다른 복셀보다 상기 경계로부터 더 멀리 떨어져 있지 않은 복셀인 것을 선택사양적으로 포함할 수 있다.
실례 38에서, 실례 20 내지 실례 37 중 어느 하나의 실례의 청구 대상은, 상기 모델을 삼각형 메시로 변환하는 동작을 선택사양적으로 포함할 수 있다.
실례 39는 실례 20 내지 실례 38 중 어느 하나 실례의 기법을 수행하는 수단을 포함한다.
실례 40은 머신에 의해서 실행되어서 머신으로 하여금 실례 20 내지 실례 38 중 어느 하나 실례의 기법을 수행하게 하는 인스트럭션들을 포함하는 머신-판독가능한 매체를 포함한다.
실례 41은 청구 대상(깊이 카메라를 이용하여서 실시간 3D 재구성을 위한 동작들을 수행하기 위한 시스템 또는 수단)을 포함하거나, 이 청구 대상을 포함하도록 실례 1 내지 실례 40 중 어느 하나의 실례의 청구 대상과 선택사양적으로 조합될 수 있으며, 상기 청구 대상은 타겟의 깊이 카메라로부터 수신된 깊이 측정치들을 깊이-측정 데이터 구조체 내에 저장하는 수단; 상기 타겟의 3차원 표현을 모델 내에 저장하는 수단; 상기 깊이 카메라로부터 수신된 현재 깊이 이미지를 상기 모델에 정합시키는 수단; 상기 정합에 기초한 상기 현재 깊이 이미지를 사용하여 상기 깊이-측정 데이터 구조체를 수정하는 수단; 및 공간 새김 및 상기 수정된 깊이-측정 데이터 구조체에 기초하여 상기 모델을 변형시키는 수단을 포함한다.
실례 42에서, 실례 41의 청구 대상은 깊이 카메라와 상기 정합 수단, 수정 수단, 또는 변형 수단 중 적어도 하나 간의 깊이 이미지 파이프라인에서 필터링하는 수단을 선택사양적으로 포함하며, 상기 필터링 수단은 현재 깊이 이미지의 깊이 데이터 내의 홀들을 채우는 동작 또는 현재 깊이 이미지 내의 노이즈를 저감시키는 동작 중 적어도 하나를 하도록 현재 깊이 이미지를 필터링한다.
실례 43에서, 실례 41 또는 실례 42의 청구 대상은 필터링 수단으로부터 수신된 제 1 깊이 이미지에 기초하여서 초기화된 형태로부터 모델을 초기화하는 수단을 선택사양적으로 포함할 수 있다.
실례 44에서, 실례 41 내지 실례 43 중 어느 하나의 실례의 청구 대상은 모델의 초기화된 형태가 사용자 입력에 기초하여 생성되고, 타겟은 상기 모델의 초기화된 형태 내에 존재한다는 것을 선택사양적으로 포함할 수 있다.
실례 45에서, 실례 41 내지 실례 44 중 어느 하나의 실례의 청구 대상은 모델의 초기화된 형태가 큐브인 것을 선택사양적으로 포함할 수 있다.
실례 46에서, 실례 41 내지 실례 45 중 어느 하나의 실례의 청구 대상은, 상기 깊이-측정 데이터 구조체 또는 상기 모델 중 적어도 하나가 복셀 그리드를 포함하며, 상기 복셀 그리드의 복셀들은 상기 타겟을 포함하는 공간 내의 지점들에 대응한다는 것을 선택사양적으로 포함할 수 있다.
실례 47에서, 실례 41 내지 실례 46 중 어느 하나의 실례의 청구 대상은, 상기 모델이 부호화된 거리장을 포함한다는 것을 선택사양적으로 포함할 수 있다.
실례 48에서, 실례 41 내지 실례 47 중 어느 하나의 실례의 청구 대상은, 상기 현재 깊이 이미지를 상기 모델에 정합하는 수단은 상기 모델 내에서 복셀을 선택하는 수단; 상기 선택된 복셀에 대한 모델의 부호화된 거리장을 현재 복셀에 대한 주변 공간 내로 확장시키는 수단; 상기 현재 복셀에 대한 계조를 컴퓨팅하는 수단; 상기 계조에 따르는 상기 현재 복셀에 대응하는 모델의 경계 상의 대응 지점을 컴퓨팅하는 수단; 상기 대응 지점을 저장하는 수단을 포함한다는 것을 선택사양적으로 포함할 수 있다.
실례 49에서, 실례 41 내지 실례 48 중 어느 하나의 실례의 청구 대상은, 상기 모델 내의 복수의 복셀들에 대해서 실례 48의 동작들을 반복적으로 수행하는 수단을 선택사양적으로 포함할 수 있다.
실례 50에서, 실례 41 내지 실례 49 중 어느 하나의 실례의 청구 대상은, 상기 복수의 복셀들이 상기 모델 내의 타겟의 경계 근처에 있으며, 상기 경계 근처에 있는 복셀은 다른 복셀보다 상기 경계로부터 더 멀리 떨어져 있지 않은 복셀이다는 것을 선택사양적으로 포함할 수 있다.
실례 51에서, 실례 41 내지 실례 50 중 어느 하나의 실례의 청구 대상은, 상기 현재 깊이 이미지를 상기 모델에 정합시키는 수단이, 저장된 대응 지점들의 세트를 상기 현재 깊이 이미지로부터의 3차원 지점과 상관시키는 수단으로서, 상기 저장된 대응 지점은 상기 저장된 대응 지점들의 세트 내에 있는, 상기 상관시키는 수단; 상기 저장된 대응 지점들의 세트를 사용하여 제 1 포즈로부터 깊이 카메라의 경직성 모션을 결정하는 수단; 및 상기 제 1 포즈로부터의 경직성 모션을 사용하여서 상기 깊이 카메라의 제 2 포즈를 결정하는 수단으로서, 상기 제 2 포즈는 상기 타겟에 대한 상기 깊이 카메라의 포즈에 대응하는, 상기 제 2 포즈를 결정하는 수단을 포함한다는 것을 선택사양적으로 포함할 수 있다.
실례 52에서, 실례 41 내지 실례 51 중 어느 하나의 실례의 청구 대상은, 상기 정합결과에 기초하여서 상기 현재 깊이 이미지를 사용하여 상기 깊이-측정 데이터 구조체를 수정하는 수단이, 상기 현재 깊이 이미지 내의 일 지점에 상기 깊이 카메라의 초점으로부터 상기 지점으로 이어지는 광선의 각도에 기초하여 가중치를 주는 수단으로서, 상기 초점 및 각도는 상기 현재 깊이 이미지의 정합으로부터 결정된 상기 깊이 카메라의 포즈에 기초하여 결정되는, 상기 가중치를 주는 수단; 및 상기 동일한 지점에 대하여 상기 가중치와 이전의 가중치를 결합시키는 수단을 포함한다는 것을 선택사양적으로 포함할 수 있다.
실례 53에서, 실례 41 내지 실례 52 중 어느 하나의 실례의 청구 대상은, 상기 지점에 대한 색상 정보를 축적하는 수단을 선택사양적으로 포함할 수 있다.
실례 54에서, 실례 41 내지 실례 53 중 어느 하나의 실례의 청구 대상은, 상기 현재 깊이 이미지 내의 복수의 지점들에 대해서 실례 53의 동작들을 수행하는 수단을 선택사양적으로 포함할 수 있다.
실례 55에서, 실례 41 내지 실례 44 중 어느 하나의 실례의 청구 대상은, 상기 수정된 깊이-측정 데이터 구조체에 기초하여 상기 모델을 변형하는 수단은, 상기 현재 깊이 이미지를 상기 모델과 교차시킴으로써 상기 모델을 공간 새김하는 수단; 및 상기 수정된 깊이-측정 데이터 구조체에 기초하여서 상기 모델을 근사화하는 표면을 계산하는 수단으로서, 상기 근사화는 상기 표면을 상기 수정된 깊이-측정 데이터 구조체에 피팅시키기 위한 한계가 정해진 반복적 프로세스에 기초하는, 상기 계산하는 수단을 포함한다는 것을 선택사양적으로 포함할 수 있다.
실례 56에서, 실례 41 내지 실례 55 중 어느 하나의 실례의 청구 대상은, 상기 표면을 계산하는 수단은 활성 윤곽 분절화의 사용하는 위한 수단을 포함하며, 상기 활성 윤곽 분절화는 상기 수정된 깊이-측정 데이터 구조체 내의 복셀들에 대한 레벨 세트 에볼루션 기법을 사용한다는 것을 선택사양적으로 포함할 수 있다.
실례 57에서, 실례 41 내지 실례 56 중 어느 하나의 실례의 청구 대상은, 상기 활성 윤곽 분절화는 상기 모델을 부호화된 거리장으로서 유지하도록 한정된다는 것을 선택사양적으로 포함할 수 있다.
실례 58에서, 실례 41 내지 실례 57 중 어느 하나의 실례의 청구 대상은, 상기 한계가 정해진 반복적 프로세스는 상기 모델 내의 타겟의 경계 근처에 있는 복셀들로 한정되며, 상기 경계 근처에 있는 복셀은 다른 복셀보다 상기 경계로부터 더 멀리 떨어져 있지 않은 복셀인 것을 선택사양적으로 포함할 수 있다.
실례 59에서, 실례 41 내지 실례 58 중 어느 하나의 실례의 청구 대상은, 상기 모델을 삼각형 메시로 변환하는 수단을 선택사양적으로 포함할 수 있다.
위의 상세한 설명은 상세한 설명의 일부를 형성하는 첨부 도면들을 참조하는 것을 포함한다. 도면들은 실시될 수 있는 특정 실시예들을 예시적으로 도시한다. 이러한 실시예들은 또한 본 명세서에서 "실례들"로서 지칭된다. 이러한 실례들은 도시되거나 기술된 것들 이외의 요소들을 포함할 수 있다. 그러나, 본 발명자들은 오직 이러한 도시되거나 기술된 요소들만이 제공되는 실례들을 또한 고려한다. 또한, 본 발명자들은 특정 실례(또는 이의 하나 이상의 양태들)에 대해서 또는 본 명세서에서 기술되거나 도시된 다른 실례들(또는 이의 하나 이상의 양태들)에 대해서, 이러한 도시되거나 기술된 요소들(또는 이러한 요소들의 하나 이상의 양태들)의 임의의 조합 또는 치환을 사용하는 실례들도 고려한다.
본 문헌에서 참조되는 모든 공개문헌들, 특허들 및 특허 문헌들은 그 전체 내용이 본 명세서에서 참조로서 인용되지만, 개별적으로 참조로서 인용된다. 이러한 문헌들과 참조로서 인용되는 문헌들 간에 서로 일관되지 않은 부분이 존재할 경우에는, 인용되는 문헌(들)의 해당 부분은 본 문헌에 보충적인 요소들로서 고려되어야 할 것이며, 서로 모순되는 상황에서는, 본 문헌의 부분이 통제한다.
본 문헌에서, 특허 문헌에서 그러하듯이 명사의 단수형이 사용되며 이러한 명사의 단수형은 "적어도 하나" 또는 "하나 이상"이라는 구절이 해당 명사 앞에 오는 것과는 상관없이, 해당 명사의 복수형을 포함할 수 있다. 본 문헌에서, 용어 "또는" 비배타적으로 해석되어야 하며 이로써 "A 또는 B"는 "A이지만 B는 아닌 경우", "B이지만 A는 아닌 경우" 및 "A이면서 B인 경우"를 이와 달리 표시되지 않은 이상 포함한다. 첨부된 청구항들에서, 용어 "포함한다"가 사용된다. 또한, 다음의 청구항들에서, 용어 "포함한다"는 끝이 없는 표현으로서, 이 용어 앞에 오는 요소들 이외의 다른 요소들이 시스템, 장치, 제품 또는 프로세스에서 존재할 수 있음을 말한다. 또한, 다음의 청구항들에서, "제 1", "제 2", "제 3" 등은 단지 표시자로서 사용될 뿐이며, 해당 대상에 어떠한 수치적 의미를 부여하는 것은 아니다.
위의 설명은 설명은 예시적이며 비한정적이다. 예를 들어서, 상술한 실례들(또는 이의 하나 이상의 양태들)은 서로 조합하여서 사용될 수 있다. 예를 들어서, 본 기술 분야의 당업자가 이의 설명을 검토함으로써 다른 실시예들이 사용될 수도 있다. 요약서는 독자로 하여금 기술적 내용의 성질을 신속하게 파악하도록 하기 위한 것이며 청구항들의 범위 또는 의미를 해석하거나 그 범위를 한정하는데 사용되지 않도록 이해되어야 한다. 또한, 이의 상세한 설명에서, 다양한 특징들은 본 개시를 간소화하기 위해서 서로 그룹화될 수 있다. 이러한 바는 청구되지 않은 개시된 특징이 임의의 청구항에서 반드시 필요하다는 것을 의미하는 것으로서 해석되어서는 안된다. 이보다는, 본 발명의 청구 대상은 특정 개시된 실시예의 모든 특징들보다 적은 특징들을 포함할 수 있다. 이로써, 다음의 청구항들은 상세한 설명 내에 포함되며, 각 청구항이 자체적으로 개별 실시예로서 포함될 수 있다. 실시예들의 범위는 첨부된 청구항들 및 이의 균등 범위를 참조하여서 결정되어야 한다.

Claims (25)

  1. 깊이 카메라를 사용하는 실시간 3D 재구성 장치로서,
    타겟의 깊이 카메라로부터 수신된 깊이 측정치들을 포함하는 깊이-측정 데이터 구조체를 저장하는 깊이-측정 데이터 구조체 저장장치와,
    상기 타겟의 3차원 표현을 포함하는 모델을 저장하는 모델 저장장치와,
    상기 깊이 카메라로부터 수신된 현재의 깊이 이미지를 상기 모델에 정합시키는 정합 모듈(registration module)과,
    상기 정합에 기초한 상기 현재의 깊이 이미지를 사용하여 상기 깊이-측정 데이터 구조체를 수정하는 축적 모듈과,
    공간 새김(space carving) 및 상기 수정된 깊이-측정 데이터 구조체에 기초하여 상기 모델을 변형시키는 모델 변형 모듈을 포함하는
    실시간 3D 재구성 장치.
  2. 제 1 항에 있어서,
    상기 깊이-측정 데이터 구조체 또는 상기 모델 중 적어도 하나는 복셀 그리드(voxel grid)를 포함하며,
    상기 복셀 그리드의 복셀들은 상기 타겟을 포함하는 공간 내의 지점들에 대응하는
    실시간 3D 재구성 장치.
  3. 제 2 항에 있어서,
    상기 모델은 부호화된 거리장(signed distance field)을 포함하는
    실시간 3D 재구성 장치.
  4. 제 3 항에 있어서,
    상기 현재의 깊이 이미지를 상기 모델에 정합시키기 위해서,
    상기 정합 모듈은,
    상기 모델 내에서 복셀을 선택하고,
    상기 선택된 복셀에 대한 모델의 부호화된 거리장을 현재의 복셀에 대한 주변 공간 내로 확장시키고,
    상기 현재의 복셀에 대한 계조(a gradient)를 컴퓨팅하고,
    상기 계조를 따라 상기 현재의 복셀에 대응하는 모델의 경계 상의 대응 지점을 컴퓨팅하고,
    상기 대응 지점을 저장하는
    실시간 3D 재구성 장치.
  5. 제 4 항에 있어서,
    상기 정합 모듈은
    상기 복셀을 선택하는 것, 상기 부호화된 거리장을 확장시키는 것, 상기 계조를 컴퓨팅하는 것, 상기 대응 지점을 컴퓨팅하는 것, 상기 대응 지점을 저장하는 것을 상기 모델 내의 복수의 복셀들에 대해서 반복적으로 수행하는
    실시간 3D 재구성 장치.
  6. 제 5 항에 있어서,
    상기 복수의 복셀들은 상기 모델 내의 타겟의 경계 근처에 있는
    실시간 3D 재구성 장치.
  7. 제 4 항에 있어서,
    상기 정합 모듈은,
    저장된 대응 지점들의 세트를 상기 현재의 깊이 이미지로부터의 3차원 지점과 상관(correlating) -상기 저장된 대응 지점은 상기 저장된 대응 지점들의 세트 내에 있음- 시키고,
    상기 저장된 대응 지점들의 세트를 사용하여 제 1 포즈(pose)로부터 깊이 카메라의 경직성 모션(rigid motion)을 결정하고,
    상기 제 1 포즈로부터의 경직성 모션을 사용하여 상기 깊이 카메라의 제 2 포즈를 결정하고, 상기 제 2 포즈는 상기 타겟에 대한 상기 깊이 카메라의 포즈에 대응하는
    실시간 3D 재구성 장치.
  8. 제 1 항에 있어서,
    상기 정합에 기초한 상기 현재의 깊이 이미지를 사용하여 상기 깊이-측정 데이터 구조체를 수정하기 위해서,
    상기 축적 모듈은,
    상기 현재의 깊이 이미지 내의 일 지점에 상기 깊이 카메라의 초점으로부터 상기 지점으로 이어지는 광선의 각도에 기초하여 가중치를 주고(weighting) -상기 초점 및 상기 각도는 상기 현재의 깊이 이미지의 정합으로부터 결정된 상기 깊이 카메라의 포즈에 기초하여 결정됨- ,
    동일한 지점에 대하여 상기 가중치와 이전의 가중치를 결합시키는
    실시간 3D 재구성 장치.
  9. 깊이 카메라를 사용하여 실시간 3D 재구성을 수행하는, 하드웨어로 구현되는 방법으로서,
    타겟의 깊이 카메라로부터 수신된 깊이 측정치들을 깊이-측정 데이터 구조체 내에 저장하는 단계와,
    상기 타겟의 3차원 표현을 모델 내에 저장하는 단계와,
    상기 깊이 카메라로부터 수신된 현재의 깊이 이미지를 상기 모델에 정합시키는 단계와,
    상기 정합에 기초한 상기 현재의 깊이 이미지를 사용하여 상기 깊이-측정 데이터 구조체를 수정하는 단계와,
    공간 새김 및 상기 수정된 깊이-측정 데이터 구조체에 기초하여 상기 모델을 변형시키는 단계를 포함하는
    방법.
  10. 제 9 항에 있어서,
    상기 깊이-측정 데이터 구조체 또는 상기 모델 중 적어도 하나는 복셀 그리드를 포함하며,
    상기 복셀 그리드의 복셀들은 상기 타겟을 포함하는 공간 내의 지점들에 대응하는
    방법.
  11. 제 10 항에 있어서,
    상기 모델은 부호화된 거리장을 포함하는
    방법.
  12. 제 11 항에 있어서,
    상기 현재의 깊이 이미지를 상기 모델에 정합시키는 단계는,
    상기 모델 내에서 복셀을 선택하는 단계와,
    상기 선택된 복셀에 대한 모델의 부호화된 거리장을 현재의 복셀에 대한 주변 공간 내로 확장시키는 단계와,
    상기 현재의 복셀에 대한 계조를 컴퓨팅하는 단계와,
    상기 계조를 따라 상기 현재의 복셀에 대응하는 모델의 경계 상의 대응 지점을 컴퓨팅하는 단계와,
    상기 대응 지점을 저장하는 단계를 포함하는
    방법.
  13. 제 12 항에 있어서,
    상기 모델 내의 복수의 복셀들에 대해서 제 12 항의 단계들을 반복적으로 수행하는 단계를 포함하는
    방법.
  14. 제 13 항에 있어서,
    상기 복수의 복셀들은 상기 모델 내의 타겟의 경계 근처에 있는
    방법.
  15. 제 12 항에 있어서,
    상기 현재의 깊이 이미지를 상기 모델에 정합시키는 단계는,
    저장된 대응 지점들의 세트를 상기 현재의 깊이 이미지로부터의 3차원 지점과 상관시키는 단계 -상기 저장된 대응 지점은 상기 저장된 대응 지점들의 세트 내에 있음- 와,
    상기 저장된 대응 지점들의 세트를 사용하여 제 1 포즈로부터 깊이 카메라의 경직성 모션을 결정하는 단계와,
    상기 제 1 포즈로부터의 경직성 모션을 사용하여 상기 깊이 카메라의 제 2 포즈를 결정하는 단계를 포함하되, 상기 제 2 포즈는 상기 타겟에 대한 상기 깊이 카메라의 포즈에 대응하는
    방법.
  16. 제 9 항에 있어서,
    상기 정합에 기초한 상기 현재의 깊이 이미지를 사용하여 상기 깊이-측정 데이터 구조체를 수정하는 단계는,
    상기 현재의 깊이 이미지 내의 일 지점에 상기 깊이 카메라의 초점으로부터 상기 지점으로 이어지는 광선의 각도에 기초하여 가중치를 주는 단계 -상기 초점 및 상기 각도는 상기 현재의 깊이 이미지의 정합으로부터 결정된 상기 깊이 카메라의 포즈에 기초하여 결정됨- 와,
    동일한 지점에 대하여 상기 가중치와 이전의 가중치를 결합시키는 단계를 포함하는
    방법.
  17. 인스트럭션들을 포함하는 머신 판독가능한 매체로서,
    상기 인스트럭션들은 머신에 의해서 실행될 때 상기 머신으로 하여금 동작들을 수행하게 하며,
    상기 동작들은,
    타겟의 깊이 카메라로부터 수신된 깊이 측정치들을 깊이-측정 데이터 구조체 내에 저장하는 동작과,
    상기 타겟의 3차원 표현을 모델 내에 저장하는 동작과,
    상기 깊이 카메라로부터 수신된 현재의 깊이 이미지를 상기 모델에 정합시키는 동작과,
    상기 정합에 기초한 상기 현재의 깊이 이미지를 사용하여 상기 깊이-측정 데이터 구조체를 수정하는 동작과,
    공간 새김 및 상기 수정된 깊이-측정 데이터 구조체에 기초하여 상기 모델을 변형시키는 동작을 포함하는
    머신 판독가능한 매체.
  18. 제 17 항에 있어서,
    상기 깊이-측정 데이터 구조체 또는 상기 모델 중 적어도 하나는 복셀 그리드를 포함하며,
    상기 복셀 그리드의 복셀들은 상기 타겟을 포함하는 공간 내의 지점들에 대응하는
    머신 판독가능한 매체.
  19. 제 18 항에 있어서,
    상기 모델은 부호화된 거리장을 포함하는
    머신 판독가능한 매체.
  20. 제 19 항에 있어서,
    상기 현재의 깊이 이미지를 상기 모델에 정합시키는 동작은,
    상기 모델 내에서 복셀을 선택하는 동작과,
    상기 선택된 복셀에 대한 모델의 부호화된 거리장을 현재의 복셀에 대한 주변 공간 내로 확장시키는 동작과,
    상기 현재의 복셀에 대한 계조를 컴퓨팅하는 동작과,
    상기 계조를 따라 상기 현재의 복셀에 대응하는 모델의 경계 상의 대응 지점을 컴퓨팅하는 동작과,
    상기 대응 지점을 저장하는 동작을 포함하는
    머신 판독가능한 매체.
  21. 제 20 항에 있어서,
    상기 모델 내의 복수의 복셀들에 대해서 제 20 항의 동작들을 반복적으로 수행하는 동작을 포함하는
    머신 판독가능한 매체.
  22. 제 21 항에 있어서,
    상기 복수의 복셀들은 상기 모델 내의 타겟의 경계 근처에 있는
    머신 판독가능한 매체.
  23. 제 20 항에 있어서,
    상기 현재의 깊이 이미지를 상기 모델에 정합시키는 동작은,
    저장된 대응 지점들의 세트를 상기 현재의 깊이 이미지로부터의 3차원 지점과 상관시키는 동작 -상기 저장된 대응 지점은 상기 저장된 대응 지점들의 세트 내에 있음- 과,
    상기 저장된 대응 지점들의 세트를 사용하여 제 1 포즈로부터 깊이 카메라의 경직성 모션을 결정하는 동작과,
    상기 제 1 포즈로부터의 경직성 모션을 사용하여 상기 깊이 카메라의 제 2 포즈를 결정하는 동작을 포함하되, 상기 제 2 포즈는 상기 타겟에 대한 상기 깊이 카메라의 포즈에 대응하는
    머신 판독가능한 매체.
  24. 제 17 항에 있어서,
    상기 정합에 기초한 상기 현재의 깊이 이미지를 사용하여 상기 깊이-측정 데이터 구조체를 수정하는 동작은,
    상기 현재의 깊이 이미지 내의 일 지점에 상기 깊이 카메라의 초점으로부터 상기 지점으로 이어지는 광선의 각도에 기초하여 가중치를 주는 동작 -상기 초점 및 상기 각도는 상기 현재의 깊이 이미지의 정합으로부터 결정된 상기 깊이 카메라의 포즈에 기초하여 결정됨- 과,
    동일한 지점에 대하여 상기 가중치와 이전의 가중치를 결합시키는 동작을 포함하는
    머신 판독가능한 매체.
  25. 삭제
KR1020167014825A 2014-01-03 2014-01-03 깊이 카메라를 사용하는 실시간 3d 재구성 KR101793485B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2014/010151 WO2015102637A1 (en) 2014-01-03 2014-01-03 Real-time 3d reconstruction with a depth camera

Publications (2)

Publication Number Publication Date
KR20160083905A KR20160083905A (ko) 2016-07-12
KR101793485B1 true KR101793485B1 (ko) 2017-11-03

Family

ID=53493837

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167014825A KR101793485B1 (ko) 2014-01-03 2014-01-03 깊이 카메라를 사용하는 실시간 3d 재구성

Country Status (6)

Country Link
US (1) US10178366B2 (ko)
EP (1) EP3090542B1 (ko)
JP (1) JP6257064B2 (ko)
KR (1) KR101793485B1 (ko)
CN (1) CN106105192B (ko)
WO (1) WO2015102637A1 (ko)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101793485B1 (ko) 2014-01-03 2017-11-03 인텔 코포레이션 깊이 카메라를 사용하는 실시간 3d 재구성
US9948911B2 (en) * 2014-09-05 2018-04-17 Qualcomm Incorporated Method and apparatus for efficient depth image transformation
GB201512304D0 (en) * 2015-07-13 2015-08-19 Whispering Gibbon Ltd Preparing a polygon mesh for printing
US10380792B2 (en) * 2015-09-30 2019-08-13 Hewlett-Packard Development Company, L.P. Three-dimensional model generation
CN114119751A (zh) * 2015-11-20 2022-03-01 奇跃公司 用于大规模确定rgbd相机姿势的方法和系统
US10531064B2 (en) * 2016-04-15 2020-01-07 Canon Kabushiki Kaisha Shape reconstruction using electronic light diffusing layers (E-Glass)
KR20180060160A (ko) * 2016-11-28 2018-06-07 김선영 깊이 카메라의 영상정보를 이용한 3d 비만 관리 시스템
CN107067470B (zh) * 2017-04-05 2019-09-06 东北大学 基于红外热像仪与深度相机的便携式三维温度场重建系统
US10679338B2 (en) * 2017-08-23 2020-06-09 General Electric Company Three-dimensional modeling of an object
CN107862733B (zh) * 2017-11-02 2021-10-26 南京大学 基于视线更新算法的大规模场景实时三维重建方法和系统
US10504251B1 (en) * 2017-12-13 2019-12-10 A9.Com, Inc. Determining a visual hull of an object
EP3729376A4 (en) * 2017-12-22 2021-01-20 Magic Leap, Inc. PROCESS OF RENDERING OF OCCLUSION USING A RAY THROWING AND ACTUAL DEPTH
CN108447097B (zh) * 2018-03-05 2021-04-27 清华-伯克利深圳学院筹备办公室 深度相机标定方法、装置、电子设备及存储介质
US10740986B2 (en) * 2018-08-30 2020-08-11 Qualcomm Incorporated Systems and methods for reconstructing a moving three-dimensional object
JP7460532B2 (ja) 2018-10-10 2024-04-02 株式会社Preferred Networks システム、方法及び装置
US11145111B2 (en) 2018-12-04 2021-10-12 Intuitive Research And Technology Corporation Volumetric slicer
US11113868B2 (en) 2018-12-04 2021-09-07 Intuitive Research And Technology Corporation Rastered volume renderer and manipulator
WO2020118565A1 (en) * 2018-12-12 2020-06-18 Huawei Technologies Co., Ltd. Keyframe selection for texture mapping wien generating 3d model
US10924721B2 (en) 2018-12-20 2021-02-16 Intel Corporation Volumetric video color assignment
CN112562057B (zh) * 2019-09-26 2023-08-08 杭州海康威视数字技术股份有限公司 三维重建系统及方法
CN111260776B (zh) * 2020-02-07 2023-04-18 山西大学 一种自适应正态分析的三维形貌重建方法
US11816855B2 (en) 2020-02-11 2023-11-14 Samsung Electronics Co., Ltd. Array-based depth estimation
WO2022025741A1 (en) * 2020-07-27 2022-02-03 Samsung Electronics Co., Ltd. Array-based depth estimation
CN111932679B (zh) * 2020-08-13 2021-04-16 北京未澜科技有限公司 一种基于隐式模板的三维模型表达方式
US11688126B2 (en) * 2021-02-09 2023-06-27 Canon Medical Systems Corporation Image rendering apparatus and method
JPWO2022239543A1 (ko) * 2021-05-11 2022-11-17

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6999073B1 (en) 1998-07-20 2006-02-14 Geometrix, Inc. Method and system for generating fully-textured 3D
US20130235033A1 (en) 2012-03-09 2013-09-12 Korea Institute Of Science And Technology Three dimensional montage generation system and method based on two dimensional single image

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6373487B1 (en) * 1999-09-17 2002-04-16 Hewlett-Packard Company Methods and apparatus for constructing a 3D model of a scene from calibrated images of the scene
JP2003162549A (ja) 2001-11-28 2003-06-06 National Institute Of Advanced Industrial & Technology 統合された形状モデル生成方法及びコンピュータプログラム
JP4096622B2 (ja) * 2002-05-21 2008-06-04 株式会社セガ 画像処理方法及び装置、並びにプログラム及び記録媒体
CN2612756Y (zh) * 2003-04-01 2004-04-21 袁树添 一种室内外防滑木地板
JP4441611B2 (ja) * 2004-07-22 2010-03-31 独立行政法人産業技術総合研究所 3次元図形の曲面再構成装置および3次元図形の曲面再構成プログラム
KR100707206B1 (ko) 2005-04-11 2007-04-13 삼성전자주식회사 3차원 객체의 깊이영상 기반 표현 방법 및 이를 이용한모델링 및 렌더링 방법 및 장치
CN101242435A (zh) * 2006-02-22 2008-08-13 华为技术有限公司 连接主基站与射频拉远单元的接口装置
JP5120926B2 (ja) 2007-07-27 2013-01-16 有限会社テクノドリーム二十一 画像処理装置、画像処理方法およびプログラム
JP5684577B2 (ja) * 2008-02-27 2015-03-11 ソニー コンピュータ エンタテインメント アメリカ リミテッド ライアビリテイ カンパニー シーンの深度データをキャプチャし、コンピュータのアクションを適用する方法
US8350850B2 (en) * 2008-03-31 2013-01-08 Microsoft Corporation Using photo collections for three dimensional modeling
WO2010003844A1 (fr) * 2008-06-30 2010-01-14 Thomson Licensing Procede de composition temps reel d'une video
CN101383054B (zh) * 2008-10-17 2010-09-08 北京大学 一种基于图像与扫描数据的混合三维重建方法
KR20100138648A (ko) * 2009-06-25 2010-12-31 삼성전자주식회사 영상 처리 장치 및 방법
GB2483285A (en) * 2010-09-03 2012-03-07 Marc Cardle Relief Model Generation
CN102542601A (zh) * 2010-12-10 2012-07-04 三星电子株式会社 一种用于3d对象建模的设备和方法
US8711206B2 (en) * 2011-01-31 2014-04-29 Microsoft Corporation Mobile camera localization using depth maps
WO2012115862A2 (en) * 2011-02-22 2012-08-30 3M Innovative Properties Company Space carving in 3d data acquisition
US9336625B2 (en) * 2011-10-25 2016-05-10 Microsoft Technology Licensing, Llc Object refinement using many data sets
CN102364524A (zh) * 2011-10-26 2012-02-29 清华大学 一种基于变光照多视角间差采样的三维重建方法和装置
KR20130068293A (ko) * 2011-12-14 2013-06-26 연세대학교 산학협력단 깊이 정보 생성 방법 및 장치
WO2014005248A1 (en) * 2012-07-02 2014-01-09 Qualcomm Incorporated Intra-coding of depth maps for 3d video coding
JP6069923B2 (ja) * 2012-07-20 2017-02-01 セイコーエプソン株式会社 ロボットシステム、ロボット、ロボット制御装置
US9857470B2 (en) * 2012-12-28 2018-01-02 Microsoft Technology Licensing, Llc Using photometric stereo for 3D environment modeling
US9646412B1 (en) * 2013-07-19 2017-05-09 Dassault Systemes Solidworks Corporation Pre-sorted order independent transparency
US9571858B2 (en) * 2013-07-19 2017-02-14 Futurewei Technologies, Inc. Method and apparatus of derivation for a binary partition pattern
KR101793485B1 (ko) 2014-01-03 2017-11-03 인텔 코포레이션 깊이 카메라를 사용하는 실시간 3d 재구성

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6999073B1 (en) 1998-07-20 2006-02-14 Geometrix, Inc. Method and system for generating fully-textured 3D
US20130235033A1 (en) 2012-03-09 2013-09-12 Korea Institute Of Science And Technology Three dimensional montage generation system and method based on two dimensional single image

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Space carving mvd sequences for modeling natural 3d scenes, Three-Dimensional Image Processing(3DIP) and Applications II (2012)*
계층적 Level of detail 표현을 이용한 해마의 국부적인 형상 분석, 정보처리학회논문지 A 제11권7호(2004.12.)*

Also Published As

Publication number Publication date
WO2015102637A1 (en) 2015-07-09
CN106105192A (zh) 2016-11-09
EP3090542A1 (en) 2016-11-09
US20160301910A1 (en) 2016-10-13
CN106105192B (zh) 2021-05-18
EP3090542B1 (en) 2020-09-30
KR20160083905A (ko) 2016-07-12
US10178366B2 (en) 2019-01-08
EP3090542A4 (en) 2017-11-08
JP2017509035A (ja) 2017-03-30
JP6257064B2 (ja) 2018-01-10

Similar Documents

Publication Publication Date Title
KR101793485B1 (ko) 깊이 카메라를 사용하는 실시간 3d 재구성
JP7362044B2 (ja) 修正されたシェイプフロムシェーディング(sfs)スキームを使用した三角形3次元メッシュの形状改善
CN108012559B (zh) 用于生成三维模型的方法和系统
US9311565B2 (en) 3D scanning with depth cameras using mesh sculpting
KR102031302B1 (ko) 오브젝트 디지타이제이션 기법
US10347052B2 (en) Color-based geometric feature enhancement for 3D models
US20120081357A1 (en) System and method for interactive painting of 2d images for iterative 3d modeling
EP3533218B1 (en) Simulating depth of field
US11348303B2 (en) Methods, devices, and computer program products for 3D texturing
JP4428936B2 (ja) 3d空間上の点から3d物体表面までのユークリッド距離を、投影面から3d物体表面までの投影方向に沿った投影距離を画素値とするメモリに記憶された投影距離画像から求める方法
WO2019164497A1 (en) Methods, devices, and computer program products for gradient based depth reconstructions with robust statistics
WO2018039936A1 (en) Fast uv atlas generation and texture mapping
US9959672B2 (en) Color-based dynamic sub-division to generate 3D mesh
EP2800055A1 (en) Method and system for generating a 3D model
US10417789B2 (en) Motion blur using cached texture space blur
JP2008310724A (ja) 3次元形状復元装置,3次元形状復元方法,3次元形状復元プログラム及びそのプログラムを格納した記録媒体
KR101566459B1 (ko) 이미지 기반의 비주얼 헐에서의 오목 표면 모델링
Haque et al. Robust feature-preserving denoising of 3D point clouds
Liu et al. Robust high quality image guided depth upsampling
US20240127529A1 (en) Generation of reflectance maps for relightable 3d models
CN117392018A (zh) 提升三维模型清晰度的方法、装置、电子设备及存储介质

Legal Events

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