KR101861313B1 - 삼차원 환경 재구성 - Google Patents

삼차원 환경 재구성 Download PDF

Info

Publication number
KR101861313B1
KR101861313B1 KR1020137020295A KR20137020295A KR101861313B1 KR 101861313 B1 KR101861313 B1 KR 101861313B1 KR 1020137020295 A KR1020137020295 A KR 1020137020295A KR 20137020295 A KR20137020295 A KR 20137020295A KR 101861313 B1 KR101861313 B1 KR 101861313B1
Authority
KR
South Korea
Prior art keywords
voxel
model
volume
coefficient
environment
Prior art date
Application number
KR1020137020295A
Other languages
English (en)
Other versions
KR20140007367A (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 KR20140007367A publication Critical patent/KR20140007367A/ko
Application granted granted Critical
Publication of KR101861313B1 publication Critical patent/KR101861313B1/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
    • 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

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Processing Or Creating Images (AREA)
  • Image Processing (AREA)
  • Image Generation (AREA)

Abstract

삼차원 환경 재구성이 설명된다. 일례에서는, 메모리 장치에 저장되는 복셀들로 구성되는 3D 볼륨에서 실세계 환경의 3D 모델이 생성된다. 이 모델은 카메라 위치 및 배향을 기술하는 데이터, 및 카메라로부터 환경 내의 포인트까지의 거리를 지시하는 픽셀들을 갖는 깊이 이미지로부터 구축된다. 개별 실행 스레드가 볼륨의 평면 내의 각각의 복셀에 할당된다. 각각의 스레드는 카메라 위치 및 배향을 이용하여 그의 관련 복셀에 대한 대응하는 깊이 이미지 위치를 결정하고, 대응하는 위치에서 관련 복셀과 환경 내의 포인트 사이의 거리와 관련된 팩터를 결정하며, 팩터를 이용하여 관련 복셀에서 저장된 값을 갱신한다. 각각의 스레드는 볼륨의 나머지 평면들 내의 등가 복셀을 통해 반복하여, 저장된 값을 갱신하기 위한 프로세스를 반복한다.

Description

삼차원 환경 재구성{THREE-DIMENSIONAL ENVIRONMENT RECONSTRUCTION}
실세계 환경의 삼차원 컴퓨터 모델들은 다양한 응용들에서 유용하다. 예를 들어, 그러한 모델들은 몰입형 게이밍(immersive gaming), 증강 현실, 아키텍처/플래닝(planning), 로보틱스(robotics) 및 엔지니어링 프로토타이핑(prototyping)과 같은 응용들에서 사용될 수 있다.
깊이(depth) 카메라들(z-카메라로도 알려진)은 실세계 환경의 실시간 깊이 맵들을 생성할 수 있다. 이러한 깊이 맵들 내의 각각의 픽셀은 환경 내의 3D 포인트로부터 카메라에 의해 캡처되는 이산 거리 측정에 대응한다. 이것은 이러한 카메라들이 실시간 속도로 정렬되지 않은 포인트들의 세트(포인트 클라우드로서 알려진)로 구성되는 깊이 맵들을 제공한다는 것을 의미한다.
그러나, 깊이 카메라에 의해 제공되는 깊이 맵들을 이용하여 유용한 3D 환경 모델을 생성하는 것은 복잡하다. 많은 깊이 카메라로는, 각각의 개별 깊이 맵은 너무 낮은 해상도를 가지며 너무 높은 잡음을 가져서 충분히 정확하고 상세한 3D 모델을 생성할 수 없다. 더구나, 많은 응용은 포인트 클라우드가 아니라 감지된 환경의 표면 재구성을 이용한다. 예를 들어, 3D 재구성된 표면 모델은 가상 객체들과 깊이 카메라에 의해 환경에서 감지된 실제 객체들 사이의 물리적 상호작용들의 효과를 모델링하기 위한 물리 시뮬레이션에서 사용될 수 있다. 포인트 클라우드 내의 개별 포인트들 사이의 연결성의 결여로 인해 모델 전반에 구멍들이 존재하기 때문에 포인트 클라우드는 이러한 시나리오에서 적절히 동작하지 못한다.
깊이 카메라로부터의 포인트 클라우드들의 다수의 프레임을 일관된 유용한 모델로 결합하며 이러한 포인트 클라우드들 내의 포인트들 사이의 연결성을 결정함으로써 표면 기하 구조를 추정하는 것은 매우 계산 집약적이다. 표면 재구성은 이러한 연결성을 추정함으로써 카메라가 볼 수 있는 표면들을 추출하는 프로세스이다. 깊이 카메라로부터 실시간으로 수신되는 데이터의 양 및 상호작용 레이트들을 지원하기 위한 요구가 주어질 경우, 푸아송(Poisson) 표면 재구성과 같은 공지된 알고리즘들은 너무 계산 집중적이어서 실시간 처리를 지원하지 못한다.
후술하는 실시예들은 공지된 3D 재구성 기술들의 임의의 또는 모든 단점들을 해결하는 구현들로 한정되지 않는다.
아래에서는 독자에게 기본적인 이해를 제공하기 위해 본 발명의 간단한 요약을 제공한다. 이러한 요약은 본 발명의 광범위한 개요는 아니며, 본 발명의 중요한/필수적인 요소들을 식별하거나 본 발명의 범위를 기술하지 않는다. 그의 유일한 목적은 본 명세서에서 개시되는 일부 개념들을 나중에 제공되는 더 상세한 설명에 대한 서론으로서 간단한 형태로 제공하는 것이다.
삼차원 환경 재구성이 설명된다. 일례에서는, 메모리 장치에 저장되는 복셀들로 구성되는 3D 볼륨에서 실세계 환경의 3D 모델이 생성된다. 이 모델은 카메라 위치 및 배향을 기술하는 데이터, 및 카메라로부터 환경 내의 포인트까지의 거리를 지시하는 픽셀들을 갖는 깊이 이미지로부터 구축된다. 개별 실행 스레드가 볼륨의 평면 내의 각각의 복셀에 할당된다. 각각의 스레드는 카메라 위치 및 배향을 이용하여 그의 관련 복셀에 대한 대응하는 깊이 이미지 위치를 결정하고, 대응하는 위치에서 관련 복셀과 환경 내의 포인트 사이의 거리와 관련된 팩터를 결정하고, 팩터를 이용하여 관련 복셀에서 저장된 값을 갱신한다. 각각의 스레드는 볼륨의 나머지 평면들 내의 등가 복셀을 통해 반복하여, 저장된 값을 갱신하기 위한 프로세스를 반복한다.
수반되는 특징들 중 다수는 이들이 첨부 도면들과 관련하여 고찰되는 아래의 상세한 설명을 참조하여 더 잘 이해됨에 따라 더 쉽게 인식될 것이다.
본 설명은 첨부 도면들을 고려하여 판독되는 아래의 상세한 설명으로부터 더 잘 이해될 것이다.
도 1은 방의 3D 모델 또는 맵을 생성하는 데 사용될 수 있는 이동 깊이 카메라를 지닌 방 안의 사람의 개략도를 나타낸다.
도 2는 이동 깊이 카메라를 지닌 사람에 의해 조사되고 있는 빌딩의 한 층의 평면도를 나타낸다.
도 3은 실시간 카메라 추적 시스템, 고밀도 3D 모델 형성 시스템 및 게임 시스템에 접속된 이동 깊이 카메라의 개략도를 나타낸다.
도 4는 3D 환경 모델을 생성하기 위한 병렬화 가능 프로세스의 흐름도를 나타낸다.
도 5는 선형 피치 메모리(linear pitched memory)로 구성된 3D 볼륨을 나타낸다.
도 6은 예시적인 병렬화 가능 부호 거리 함수 계산(signed distance function calculation)을 나타낸다.
도 7은 3D 볼륨으로부터 레이캐스팅(raycasting)하기 위한 병렬화 가능 프로세스의 흐름도를 나타낸다.
도 8은 병렬화 가능 3D 모델링 기술들의 실시예들을 구현할 수 있는 예시적인 컴퓨팅 기반 장치를 나타낸다.
동일한 참조 번호들은 첨부 도면에서 동일한 요소들을 지시하는 데 사용된다.
첨부 도면들과 관련하여 아래에 제공되는 상세한 설명은 본 예들을 설명으로서 의도되며, 본 예가 구성 또는 이용될 수 있는 유일한 형태를 나타내도록 의도되지 않는다. 본 설명은 본 예의 기능들 및 본 예를 구성하고 동작시키기 위한 단계들의 시퀀스를 설명한다. 그러나, 동일하거나 균등한 기능들 및 시퀀스들이 다른 예들에 의해 달성될 수 있다.
본 예들은 본 명세서에서 컴퓨터 게이밍 시스템에서 구현되는 것으로 설명되고 도시되지만, 설명되는 시스템은 한정이 아니라 일례로서 제공된다. 당업자들이 이해하는 바와 같이, 본 예들은 3D 모델들을 이용하는 다양한 상이한 타입의 컴퓨팅 시스템들에 적용하기에 적합하다.
도 1은 방 안에 서서 이동 깊이 카메라(102)를 지니고 있는 사람(100)의 개략도이다. 방은 의자, 문, 창문, 식물, 조명등과 같은 다양한 객체들(106), 다른 사람(104) 및 고양이(108)를 포함한다. 객체들(106) 중 다수는 정적이지만, 사람(104) 및 고양이(108)와 같은 객체들 중 일부는 움직일 수 있다. 사람이 방에서 돌아다닐 때, 이동 깊이 카메라는 방 및 객체들의 깊이 이미지들을 캡처한다.
이동 깊이 카메라(102)는 고밀도 3D 환경 모델링 시스템(110)과 통신한다(이 예에서 환경은 방이다). 이 예에서 "고밀도(dense)"는 표면을 함축적으로 기술하기 위해 수신 깊이 맵들로부터의 모든 또는 다수의 포인트를 사용함으로써 생성되는 모델의 고도의 정밀도 및 해상도를 지칭한다. 이것은 계산을 고속화하고 메모리 풋프린트(footprint)를 줄이기 위해 포인트들의 서브세트만을 취하는 "저밀도(sparse)" 모델과 대비될 수 있다. 예를 들어, 이동 깊이 카메라(102)에 의해 캡처되는 이미지들은 사람이 방에서 돌아다닐 때 환경의 고밀도 3D 모델을 형성하고 증대시키는 데 사용된다.
실시간 카메라 추적 시스템(112)은 방 안의 카메라의 위치 및 배향을 모니터링한다. 실시간 카메라 추적 시스템(112)은 이동 깊이 카메라(102)와 통합될 수 있거나, 그가 이동 깊이 카메라(102)로부터 직접 또는 간접적으로 통신을 수신할 수 있는 경우에는 다른 곳에 위치할 수 있다. 예를 들어, 실시간 카메라 추적 시스템(112)은 방 안에 있고 이동 깊이 카메라(102)와 무선 통신하는 개인용 컴퓨터, 전용 컴퓨터 게임 장치 또는 다른 컴퓨팅 장치에 제공될 수 있다. 다른 예들에서, 실시간 카메라 추적 시스템(112)은 임의의 적절한 타입의 통신 네트워크를 이용하여 이동 깊이 카메라(102)와 통신하는 빌딩 내의 다른 곳 또는 다른 원격 위치에 존재할 수 있다.
실시간 카메라 추적 시스템(112)은 개별 깊이 이미지들을 전체 3D 모델 내에 축적하기 위해 고밀도 3D 모델링 시스템에 입력을 제공한다. 실시간 카메라 추적 시스템(112)은 또한 환경의 3D 모델과 관련하여 카메라의 위치를 추적할 수 있다. 카메라 추적 및 3D 모델링의 결합은 동시적 위치결정 및 맵핑(simultaneous localization and mapping; SLAM)으로 알려져 있다. 추가적인 예들에서, 맵핑 및 위치결정은 예를 들어 맵핑과 무관한 카메라 측위(positioning) 기술을 이용함으로써 (즉, SLAM 시스템을 사용하지 않고) 독립적으로 수행될 수도 있다는 점에 유의한다.
실시간 카메라 추적 시스템(112) 및 고밀도 3D 모델링 시스템(110)의 출력들은 필수적은 아니지만 게임 시스템 또는 다른 응용에 의해 사용될 수 있다. 예를 들어, 모델링된 실세계 객체들은 게이밍 환경에 포함될 수 있다. 다른 예에서, 이동 깊이 카메라(102)의 프로젝터는 실시간 카메라 추적 시스템(112) 및 3D 모델링 시스템(110)의 출력에 따라 이미지들을 투영하도록 배열될 수 있다.
추가적인 예로서, 도 2는 빌딩의 한 층(200)의 평면도를 나타낸다. 이동 깊이 카메라(204)를 지닌 사람(202)이 점선 화살표 208로 지시되는 바와 같이 그 층을 돌아다니고 있다. 사람은 복도(206)를 따라 방들 및 가구(210)를 지나간다. 실시간 카메라 추적 시스템(112)은 이동 깊이 카메라(204)가 이동할 때 그의 위치를 추적할 수 있고, 3D 모델링 시스템은 그 층의 3D 모델 또는 맵을 생성한다. 사람(202)이 이동 깊이 카메라(204)를 소지하는 것은 필수적이 아니다. 다른 예들에서, 이동 깊이 카메라(204)는 로봇 또는 차량에 설치된다. 이것은 도 1의 예에도 적용된다.
도 3은 실시간 카메라 추적기(316), 고밀도 모델 형성 시스템(324) 및 옵션인 게임 시스템(332)과 함께 사용하기 위한 이동 환경 캡처 장치(300)의 개략도이다. 이동 환경 캡처 장치(300)는 장면의 깊이 이미지들의 시퀀스들을 캡처하도록 배열되는 깊이 카메라(302)를 포함한다. 각각의 깊이 이미지(314)(또는 깊이 맵 프레임)는 이차원 이미지를 포함하며, 이차원 이미지 내의 각각의 이미지 요소(즉, 픽셀)는 카메라로부터 그 이미지 요소를 생성한 캡처된 장면 내의 객체까지의 길이 또는 거리와 같은 깊이 값을 포함한다. 이 깊이 값은 미터 또는 센티미터와 같은 지정된 측정 단위로 제공되는 절대값일 수 있거나, 상대적 깊이 값일 수 있다. 각각의 캡처된 깊이 이미지(314) 내에는 깊이 값을 각각 갖는 약 300,000개 이상의 이미지 요소가 존재할 수 있다. 깊이 카메라(302)의 프레임 레이트는 깊이 이미지들이 작동하는 로보틱스, 컴퓨터 게임 또는 다른 응용들에 사용될 수 있을 만큼 충분히 높다. 예를 들어, 프레임 레이트는 초당 20 내지 100 프레임의 범위 내에 있을 수 있다.
깊이 정보는 비행 시간(time of flight), 구조화된 광 및 스테레오 이미지들을 포함하지만 이에 한정되지 않는 임의의 적절한 기술들을 이용하여 획득될 수 있다. 이동 환경 캡처 장치(300)는 또한 깊이 카메라(302)에 의해 깊이 정보가 확인될 수 있는 방식으로 장면을 조명하도록 배열되는 발광기(304)를 포함할 수 있다.
예를 들어, 깊이 카메라(302)가 적외선(IR) 비행 시간형 카메라인 경우, 발광기(304)는 장면 위로 IR 광을 방출하며, 깊이 카메라(302)는 장면 내의 하나 이상의 객체의 표면으로부터 후방 산란되는 광을 검출하도록 배열된다. 일부 예들에서는, 펄스화된 적외선 광이 발광기(304)로부터 방출될 수 있으며, 따라서 발신 광 펄스와 대응하는 수신 광 펄스 사이의 시간이 깊이 카메라에 의해 검출될 수 있으며 환경 캡처 장치(300)로부터 장면 내의 객체들 상의 위치까지의 물리적 거리를 결정하는 데 사용될 수 있다. 게다가, 일부 예들에서는, 발광기(304)로부터의 발신 광파의 위상과 깊이 카메라(302)에서의 수신 광파의 위상을 비교하여, 위상 시프트를 결정할 수 있다. 이어서, 위상 시프트는 예를 들어 셔터식 광 펄스 이미징을 포함하는 다양한 기술들을 통해 반사 광빔의 강도를 경시적으로 분석함으로써 이동 환경 캡처 장치(300)로부터 객체들 상의 위치까지의 물리적 거리를 결정하는 데 사용될 수 있다.
다른 예에서, 이동 환경 캡처 장치(300)는 구조화된 광을 이용하여 깊이 정보를 캡처할 수 있다. 그러한 기술에서는, 패턴화된 광(예를 들어, 시간이 지남에 따라 변할 수도 있는 점, 격자 또는 줄무늬 패턴과 같은 공지된 패턴으로서 표시되는 광)이 발광기(304)를 이용하여 스크린 상에 투영될 수 있다. 패턴은 장면 내의 객체들의 표면에 부딪힐 때 변형된다. 그러한 패턴의 변형은 깊이 카메라(302)에 의해 캡처되며, 깊이 카메라(302)로부터 장면 내의 객체들까지의 절대 또는 상대 거리를 결정하기 위해 분석된다.
다른 예에서, 깊이 카메라(302)는 한 쌍의 스테레오 카메라를 포함하며, 따라서 비주얼 스테레오 데이터가 획득되며, 상대 깊이 정보를 생성하기 위해 분석된다. 이 경우, 발광기(304)는 장면을 조명하는 데 사용될 수 있거나, 생략될 수 있다.
일부 예들에서, 깊이 카메라(302)에 더하여, 이동 환경 캡처 장치(300)는 RGB 카메라(306)로 지칭되는 컬러 비디오 카메라를 포함한다. RGB 카메라(306)는 가시광 주파수들에서 장면의 이미지들의 시퀀스들을 캡처하도록 배열된다.
이동 환경 캡처 장치(300)는 관성 측정 유닛(IMU), 가속도계, 자이로스코프, 컴퍼스 또는 다른 배향 또는 운동 센서(308)와 같은 배향 센서(308)를 포함할 수 있다. 그러나, 배향 또는 운동 센서를 사용하는 것은 필수적이 아니다. 이동 환경 캡처 장치(300)는 필수적은 아니지만 GPS와 같은 위치 추적 장치를 포함할 수 있다.
이동 환경 캡처 장치는 필수적은 아니지만 전술한 바와 같은 프로젝터(312)를 포함할 수 있다. 이동 환경 캡처 장치는 아래에 더 상세히 설명되는 바와 같은 하나 이상의 프로세서, 메모리 및 통신 기반구조도 포함한다. 이동 환경 캡처 장치는 사용자의 손에 의해 유지되거나 사용자에 의해 착용될 수 있는 형상 및 크기를 갖는 하우징 내에 제공될 수 있다. 다른 예들에서, 이동 환경 캡처 장치는 차량, 완구 또는 다른 이동 가능 장치에 통합 또는 설치될 수 있는 크기 및 형상을 갖는다.
이동 환경 캡처 장치(300)는 실시간 추적기(316)에 접속된다. 이러한 접속은 물리적 유선 접속일 수 있거나, 무선 통신을 이용할 수 있다. 일부 예들에서, 이동 환경 캡처 장치(300)는 인터넷과 같은 하나 이상의 통신 네트워크를 통해 실시간 추적기(316)에 간접 접속된다.
실시간 추적기(316)는 하나 이상의 그래픽 처리 유닛(GPU)을 제어하는 범용 마이크로프로세서를 이용하여 컴퓨터로 구현된다. 이것은 프레임 정렬 엔진(318) 및 옵션으로서 루프 폐쇄 엔진(320) 및 위치 재결정 엔진(322)을 포함한다. 실시간 추적기(316)는 깊이 카메라(302)로부터의 깊이 이미지 프레임들, 및 또한 옵션으로서 이동 환경 캡처 장치(300)로부터의 입력, 및 옵션인 맵 데이터(334)를 취한다. 실시간 추적기(316)는 깊이 카메라(302)의 6 자유도(6DOF) 자세 추정치들의 실시간 시리즈(328)를 생성하기 위해 깊이 이미지 프레임들을 공간 정렬시키도록 동작한다. 이것은 또한 깊이 이미지 프레임들의 쌍들 사이의 변환을 위한 변환 파라미터들을 생성할 수 있다. 일부 예들에서, 실시간 추적기는 깊이 카메라로부터의 깊이 이미지 프레임들의 쌍들에 대해 작용한다. 다른 예들에서, 실시간 추적기(316)는 단일 깊이 이미지(314)를 취하며, 이것을 다른 깊이 이미지가 아니라 환경의 고밀도 3D 모델(326)과 정렬시킨다.
실시간 추적기(316)는 카메라 자세를 출력으로서 고밀도 3D 모델 생성 시스템(324)에 제공하며, 이 시스템은 이 정보를 깊이 이미지 프레임들과 함께 이용하여, 이동 환경 캡처 장치(300)가 이동하고 있는 장면 또는 환경의 고밀도 3D 모델(326)을 형성하고 저장한다. 이것은 아래의 도 4 내지 6을 참조하여 더 상세히 설명된다. 예를 들어, 도 1의 예에서, 3D 모델은 방 안의 표면들 및 객체들의 3D 모델일 것이다. 도 2의 예에서, 3D 모델은 빌딩의 층의 3D 모델일 것이다. 고밀도 3D 모델은 후술하는 바와 같이 GPU 메모리에 저장될 수 있다. 고밀도 3D 모델은 실시간으로 구성될 수 있거나, 고밀도 3D 모델 생성 시스템(324)은 카메라 자세에 대한 데이터 및 깊이 이미지들을 수집하여, 나중에 3D 모델을 구성할 수 있다.
이동 환경 캡처 장치(300)는 디스플레이 장치(330)에 접속되는 게임 시스템(332)과 연계하여 사용될 수 있다. 예를 들어, 게임은 FPS 게임, 골프 게임, 복싱 게임, 모터카 레이싱 게임 또는 다른 타입의 컴퓨터 게임일 수 있다. 고밀도 3D 모델은 게임 시스템(332)에 제공될 수 있으며, 모델의 양태들은 게임 내에 통합될 수 있다. 예를 들어, 3D 모델은 방 안의 객체들의 형상 및 위치를 결정하는 데 사용될 수 있으며, 이는 카메라 기반 게임들에서 배경 제거를 개선하는 데 사용될 수 있거나, 게임 자체 내에 (예를 들어, 플레이어와 상호작용할 수 있는 게임내 객체들로서) 통합될 수 있다. 게임 상태 또는 게임에 대한 메타데이터와 같은 게임 시스템(332)으로부터의 데이터도 실시간 추적기(316)에 제공될 수 있다.
사용자가 고밀도 3D 모델을 형성하는 것을 돕기 위하여, 고밀도 3D 모델의 실시간 렌더링들의 형태로 사용자에게 피드백이 제공될 수 있다. 이것은 사용자로 하여금 고밀도 모델이 구성될 때 고밀도 모델의 상태를 볼 수 있게 하며, 따라서 사용자가 누락된 영역들을 캡처하는 것을 도울 수 있다. 이것은 사용자에게 더 많은 상호작용 경험을 제공한다. 고밀도 3D 모델로부터의 뷰를 렌더링하기 위한 예시적인 기술이 도 7을 참조하여 아래에 설명된다. 오디오 또는 비주얼 큐들(cues)도 사용자에게 제공되어, 고밀도 3D 모델에서 누락되었거나 낮은 품질을 갖는 영역들로 사용자를 안내할 수 있다.
실시간 추적기(316)는 옵션으로서 맵 데이터(334)를 이용할 수 있다. 예를 들어, 이 맵 데이터는 환경(예로서, 빌딩의 방 또는 층)에 대한 건축가의 도면, 환경 내의 알려진 경계표들의 위치, 다른 소스로부터 이용 가능한 환경의 맵일 수 있다.
실시간 추적기의 프레임 정렬 엔진(318)은 깊이 이미지 프레임들의 쌍들 또는 깊이 이미지 프레임과 고밀도 3D 모델로부터의 깊이 이미지 프레임의 추정치를 정렬하도록 배열된다. 이것은 프레임 정렬 엔진이 실시간으로 동작하기 위해 하나 이상의 그래픽 처리 유닛을 이용하여 구현되는 반복 프로세스를 이용한다. 루프 폐쇄 엔진(320)은 이동 환경 캡처 장치가 루프 내에서 이동하여 현재의 깊이 프레임 내에 표현된 장면이 모델 내에 통합된 이전의 깊이 프레임의 장면과 적어도 부분적으로 오버랩될 때 이를 검출하도록 배열된다. 예를 들어, 이것은 사용자가 도 2의 빌딩의 층 전체를 돌아다니고 다시 시작 포인트에 도착할 때 발생할 수 있다. 이것은 또한 사용자가 소정의 가구 뒤의 방에서 돌아다니고 처음 시작 위치로 다시 나가거나 처음 시작 위치에 다가갈 때 발생할 수 있다. 위치 재결정 엔진(322)은 실시간 추적기가 이동 환경 캡처 장치(300)의 현재 위치를 놓친 상황을 처리하도록 배열되며, 현재 위치를 재결정하거나 재발견한다.
설명되는 바와 같이, 실시간 추적기(316) 및/또는 고밀도 3D 모델 생성 시스템(324)에 의해 수행되는 처리는 일례에서 이동 환경 캡처 장치(300)의 위치로부터 원격적으로 실행될 수 있다. 예를 들어, 이동 환경 캡처 장치(300)는 비교적 낮은 처리 능력을 갖고 깊이 이미지들을 통신 네트워크를 통해 서버로 스트리밍하는 컴퓨팅 장치에 접속될 수 있다(또는 그 컴퓨팅 장치를 포함할 수 있다). 서버는 비교적 높은 처리 능력을 가지며, 실시간 추적기(316) 및/또는 고밀도 3D 모델 생성 시스템(324)의 계산적으로 복잡한 작업들을 수행한다. 서버는 사용자에게 상호작용 경험을 제공하기 위해 프레임별 고밀도 재구성의 렌더링된 이미지를 반환할 수 있으며, 또한 (예를 들어, 게임에서) 후속의 국지적 사용을 위해 모델의 완성시에 최종 고밀도 3D 재구성을 반환할 수 있다. 이러한 배열은 사용자가 고능력의 국지적 컴퓨팅 장치를 소유해야 할 필요가 없게 한다.
추가적인 예에서, 처리는 국지적 컴퓨팅 장치와 원격 컴퓨팅 장치 사이에 분산될 수 있다. 예를 들어, 깊이 이미지들은 전술한 바와 같이 모델의 완성시에 반환되는 고해상도 고밀도 3D 모델을 구성하기 위해 통신 네트워크를 통해 서버로 전송될 수 있다. 이와 동시에, 사용자에 의한 관찰을 위해 모델의 실시간 뷰를 렌더링하는 데 사용되는 더 낮은 처리 능력 및 메모리를 이용하여 모델의 저해상도 버전이 국지적으로 구성된다. 이것은 사용자가 국지적 프로세서로부터의 모델 구성으로부터 비주얼 피드백을 획득할 수 있게 하여 네트워크 지연 문제를 방지할 수 있다.
이제, 3D 환경 모델을 생성하기 위한 병렬화 가능 프로세스의 흐름도를 도시하는 도 4를 참조한다. 일례에서, 도 4의 프로세스는 GPU 프로세서, 멀티코어 프로세서, 또는 고도의 실행 병렬성을 허가하는 다른 타입의 프로세서에서 실행된다. 추가적인 예에서, 충분히 빠르다면 단일 코어 프로세서도 사용될 수 있다. 먼저, 모델을 저장하기 위한 메모리 장치에서 3D 볼륨이 생성된다(400). 일례에서, 3D 볼륨은 GPU로부터의 빠른 병렬 액세스를 가능하게 하는 그래픽 처리 시스템의 메모리에서 생성된다.
3D 볼륨은 메모리의 입방체(cuboid)로서 가시화될 수 있으며, 여기서 각각의 메모리 위치는 모델링되는 환경의 공간 내의 포인트를 표현하는 복셀이다. 따라서, 3D 볼륨은 실세계 환경의 공간 부분을 직접 표현한다. 3D 볼륨이 실세계 볼륨에 직접 대응함에 따라, 고정 크기의 메모리 내에 표현되는 실세계 볼륨의 크기는 모델 해상도를 결정한다. 예를 들어, 큰 실세계 볼륨이 모델링될 경우, 메모리의 각각의 복셀은 실세계 공간 내의 더 큰 영역을 나타내고, 따라서 해상도는 더 작은 실세계 볼륨이 모델링되는 경우보다 낮다. 그러나, 더 많은 메모리가 이용 가능한 경우, 큰 실세계 볼륨은 더 높은 해상도로 모델링될 수 있다. 메모리 풋프린트를 줄이고 공간 해상도를 증가시키기 위해 효율적인 데이터 저장 전략들 및/또는 압축 알고리즘들도 이용될 수 있다.
도 5는 3D 볼륨이 어떻게 GPU 메모리 내에 구성될 수 있는지에 대한 일례를 나타낸다. 도 5는 예시적인 4x4x4 3D 볼륨(500)을 나타낸다. 이것은 설명 예일 뿐이며, 실제의 3D 볼륨들은 더 크거나 더 작을 수 있다. 3D 볼륨은 x축(502), y축(504) 및 z축(506)을 갖는다. x축(502)을 따른 복셀들의 수는 볼륨 폭(508)(이 예에서 4)을 정의하며, y축(504)을 따른 복셀들의 수는 볼륨 높이(510)(또한 이 예에서 4)를 정의한다. 이어서, x, y, z 좌표들을 이용하여 개별 복셀들이 식별될 수 있다. 예를 들어, 복셀(512)은 좌표 (0,3,2)를 갖는다. 3D 볼륨과 그가 표현하는 실세계 볼륨의 크기 사이의 관계가 알려져 있으므로, 3D 볼륨 내의 복셀들은 3D 볼륨 좌표들과 실세계 좌표들 사이에서 그들의 위치를 변환할 수 있다.
그러나, 모델을 저장하는 데 사용되는 물리 메모리 장치는 일반적으로 도 5에 도시된 것과 같은 입방체로서 배열되지 않는다. 대신, 메모리 장치는 일반적으로 메모리 어레이(514)와 같은 메모리 위치들의 선형 어레이를 포함한다. 메모리 어레이 상에 3D 볼륨을 생성하기 위해, 각각의 복셀은 x + (y x 폭) + (z x 폭 x 높이)에 의해 메모리 어레이 인덱스로 맵핑된다. 예를 들어, 좌표 (0,3,2)를 갖는 복셀(512)에 대해, 이것은 도 5에 도시된 바와 같이 44의 인덱스로 변환된다. 이러한 배열은 선형 피치 메모리로 지칭되며, 후술하는 바와 같이 GPU 메모리에 저장된 데이터에 대한 빠른 병렬 액세스를 제공한다. 메모리에 저장된 데이터는, 예를 들어 이러한 경계들과 정렬되도록 데이터를 패딩 아웃(padding out)함으로써 데이터의 저장 어드레스들이 2의 제곱의 폭들로 이격되도록 정렬될 수도 있다. 이것은 일반적인 승산의 사용 없이 데이터에 대한 처리가 수행될 수 있게 하며, 따라서 계산 속도를 더 증가시킨다.
대안 예들에서 모델은 전술한 것과 같은 3D 볼륨과 다른 방식으로 저장될 수 있다는 점에 유의한다. 예를 들어, 메모리 소비를 더 줄이고 계산을 고속화하기 위해 옥트리(octtree)와 같은 데이터 구조들이 사용될 수 있다. 대안으로서, 저장 효율을 증가시키기 위해 3D 공간과 하위 차원 표현 사이에 전달 함수가 적용될 수 있다. 이러한 타입의 전달 함수의 일례는 "기하 이미지들"이라고 한다.
도 4를 다시 참조하면, 메모리 내에 3D 볼륨이 생성되면(400), 이동 환경 캡처 장치(300)로부터 깊이 이미지(314) 및 이 깊이 이미지를 캡처할 때의 깊이 카메라(302)의 6DOF 자세 추정치를 수신함으로써(402) 모델링 프로세스가 시작된다. 6DOF 자세 추정치는 깊이 카메라(302)의 위치 및 배향을 지시하며, 실시간 추적기(316)에 의해 제공될 수 있다. 일례에서, 6DOF 자세 추정치는 실세계 좌표들과 관련하여 깊이 카메라(302)의 회전 및 병진 이동을 기술하는 SE3 행렬의 형태일 수 있다. 더 형식적으로, 이러한 변환 행렬은 다음과 같이 표현될 수 있다.
Figure 112013069305517-pct00001
여기서, Tk는 깊이 이미지 프레임 k에 대한 변환 행렬이고, Rk는 프레임 k에 대한 카메라 회전이고, tk는 프레임 k에서의 카메라 변환이며, 유클리드 그룹
Figure 112013069305517-pct00002
이다. 카메라 공간 내의(즉, 카메라 시각에서의) 좌표들은 이 변환 행렬에 의한 승산에 의해 실세계 좌표들로 맵핑될 수 있으며, 역변환의 적용에 의해 그 반대로 맵핑될 수 있다.
개별 실행 스레드가 3D 볼륨(500)의 평면 내의 각각의 복셀에 할당될 수 있다(404). 예를 들어, 볼륨의 평면이 z 평면인 경우, 실행 스레드는 3D 볼륨의 x 및 y 좌표의 각각의 조합에 할당된다. 도 5의 3D 볼륨을 고려하면, 이것은 16개의 스레드가 (0,0); (1,0); (2,0);...(1,3), (2,3), (3,3)의 x, y 좌표들을 갖는 복셀들에 할당되게 한다.
이어서, 각각의 개별 실행 스레드는 도 4에 박스 406에 의해 지시되는 바와 같이 동일한 동작들을 수행한다. 각각의 스레드에 의해 수행되는 동작들은 도 6에 개략적으로 도시된다. 도 6은 3D 볼륨(500)의 톱-다운 뷰를 나타낸다(즉, x축(502) 및 y축(506)을 나타내며, y축은 명료화를 위해 무시된다). T1(602), T2(604),... Tn -1(606),Tn(608)으로 표시되는 실행 스레드가 볼륨의 z 평면 상의 각각의 좌표에 할당된다. 각각의 스레드에 의해 수행되는 박스 406 내의 동작들은 먼저 T1(602)을 참조하여 설명된다.
실행 스레드에 대한 z 좌표가 0으로 설정되며(408), 스레드와 관련된 복셀에 대한 x,y,z 좌표들은 실세계 좌표들로 변환된다(410). 예를 들어, 스레드 T1(602)의 경우, 스레드와 관련된 x,y 좌표는 (0,0)이며, 따라서 z 좌표가 0으로 설정될 때, 이것은 실세계 좌표들로 변환될 수 있는 (0,0,0)의 좌표들(즉, 도 6의 복셀 610)을 제공한다. 복셀(610)에 대한 실세계 좌표들이 결정되면, 이들은 깊이 카메라의 6DOF 위치 및 배향을 이용하여 변환되어, 이 복셀에 대한 깊이 이미지(314) 내의 대응 위치가 결정될 수 있다. 이것은 스레드와 관련된 현재 복셀에 대한 실세계 좌표가 깊이 카메라의 투영을 통해 투시 투영되며, (투영 행렬로 알려진) 카메라의 고유 파라미터들을 고려할 수 있다는 것을 의미한다. 즉, 실세계에서 이 포인트를 나타내는 복셀이 위치 및 배향을 가진 깊이 카메라에 의해 관찰되고 있는 경우, 이것은 그 포인트에 대한 깊이 이미지(314) 내에서의 좌표들이 무엇인지를 결정한다. 복셀에 대한 깊이 카메라-투시 좌표들은 pX, pY, pZ으로 표시된다. 깊이 카메라-투시 좌표들은 u = pX/pZ 및 v = pY/pZ에 의해 (u,v로 표시되는) 깊이 이미지 픽셀 좌표들로 변환될 수 있다.
깊이 카메라(302)의 시각이 도 6에 깊이 카메라(302)의 절두체(frustum; 612)를 지시하는 점선들에 의해 도시되어 있다. 도 6은 또한 깊이 카메라로부터 출력되는 깊이 이미지(314) 내의 표면(614)을 나타낸다.
스레드와 현재 관련된 복셀에 대한 깊이 이미지 좌표들 (u,v)는 복셀이 깊이 카메라의 절두체(61) 내에 위치하는지를 결정(414)하는 데 사용된다. 그렇지 않은 경우, 이 복셀은 스킵(skip)될 수 있다. 도 6을 참조하면, 스레드 T1의 경우에 현재 복셀(610)은 카메라의 절두체(612) 내에 있다는 점에 유의한다. 이것은 예를 들어 스레드 Tn -1에 의해 고려되는 최초 복셀과 대비될 수 있는데, 이 복셀은 카메라 절두체(612) 밖에 있고, 따라서 스킵된다.
현재의 복셀이 카메라 절두체(612) 내에 있는 것으로 결정되면, 복셀과, 카메라의 시각에서 복셀에 대응하는 위치에 있는 환경 내의 포인트 사이의 거리에 관한 팩터가 결정된다. 대응하는 위치에 있는 환경 내의 포인트는 (u,v)에 있는 깊이 이미지 내의 깊이 값에 의해 주어질 수 있다. 따라서, 도 6을 참조하면, 이 팩터는 복셀(610)과, 복셀(610) 상에 맵핑되는 깊이 이미지(314) 내의 표면(614) 상의 포인트 사이의 거리(616)를 고려한다.
일례에서, 계산(420)된 팩터는 부호 거리 함수이지만, 임의의 함축적인 표면 표현(예를 들어, 수치 해석 방법들 및 규칙적인 격자 상의 제한된 수의 저장된 포인트들 사이의 보간에 의해 정확한 표면 위치가 결정될 수 있는 표현)이 적용될 수 있다. 부호 거리 함수 계산은 현재의 복셀과 깊이 이미지(314) 내의 대응하는 포인트 사이의 거리의 값을 제공하며, 이 값은 (카메라의 시각에서) 깊이 이미지 내의 대응하는 포인트의 바깥쪽(즉, 외부)의 복셀들에 양의 거리를 제공하고 (카메라의 시각에서) 깊이 이미지 내의 대응하는 포인트의 안쪽(즉, 내부)의 복셀들에 음의 거리를 제공하는 부호를 갖는다. 0의 값은 관련 복셀이 대응하는 포인트와 정확히 일치한다는 것을 나타낸다. 부호 거리 함수는 깊이 이미지 내의 (u,v)에서의 깊이 값 - pZ로부터 쉽게 계산될 수 있다.
예를 들어, 도 6의 복셀(610)은 표면(614) 상의 대응하는 포인트의 앞에 있으며, 따라서 양의 부호의 거리 함수 값을 갖는다. 이와 달리, 도 6의 복셀(618)은 표면(614) 상의 그의 대응하는 포인트의 뒤에 있으며, 따라서 음의 부호의 거리 함수 값을 갖는다.
이어서, 부호 거리 함수 값은 사전 정의된 거리 값으로 정규화된다(422). 일례에서, 이러한 사전 정의된 값은 5cm와 같은 작은 거리이지만, 임의의 적절한 값이 사용될 수 있다. 예를 들어, 정규화는 잡음 레벨 및 재구성되는 객체의 두께에 따라 적응될 수 있다. 이것은 사용자에 의해 수동으로 정의되거나, 데이터 내의 잡음의 분석을 통해 자동으로 도출될 수 있다. 이어서, 정규화된 거리가 (부호 거리가 양인 경우) 양의 임계치보다 큰지 또는 (부호 거리가 음인 경우) 음의 임계치보다 작은지를 결정한다(424). 그러한 경우, 부호 거리 함수 값들은 최대 또는 최소 값들로 절단(truncation)된다(426). 예를 들어, 정규화된 거리가 양의 임계치보다 큰 경우, 값은 +1(정규화 후의 양의 임계치)에서 절단될 수 있고, 정규화된 거리가 음의 임계치보다 작은 경우, 값은 -1(정규화 후의 음의 임계치)에서 절단될 수 있다. 이러한 계산의 결과는 절단된 부호 거리 함수(TSDF)로서 알려져 있다.
예를 들어, 도 6을 참조하면, 복셀(610)은 표면(614) 밖에 비교적 큰 거리에 있으며, 따라서 +1로 절단될 수 있다. 이와 달리, 복셀(618)은 표면(614) 안쪽에 비교적 짧은 거리에 있으며, 따라서 절단되지 않을 수 있고, 그의 정규화된 거리(예를 들어, -0.6)를 유지할 수 있다.
이어서, 정규화된(그리고 적절한 경우에 절단된) 부호 거리 함수 값은 현재의 복셀에 저장된 임의의 이전 값과 결합된다. 이것이 3D 볼륨 내에 통합된 최초의 깊이 이미지인 경우에는 어떠한 이전 값도 존재하지 않는다. 그러나, 깊이 카메라로부터 추가적인 프레임들이 수신되고 통합됨에 따라, 복셀에 값들이 이미 존재할 수 있다.
일례에서, 부호 거리 함수 값은 평균(428)에 의해 이전 값과 결합된다. 이것은 이동하는 객체들을 갖는 환경들의 모델들을 형성하는 것을 도울 수 있는데, 그 이유는 이동한 객체를 추가한 측정이 더 오래되고, 더 새로운 측정들과 평균됨에 따라, 객체로 하여금 시간이 지남에 따라 사라지는 것을 가능하게 하기 때문이다. 예를 들어, 기하급수적으로 감소하는 이동 평균이 사용될 수 있다. 다른 예에서, 평균은 깊이 카메라로부터의 관련 복셀의 거리와 관련된 가중 함수를 사용하는 가중 평균일 수 있다. 이어서, 평균 부호 거리 함수 값들은 현재의 복셀에 저장될 수 있다(430).
대안 예에서는 2개의 값이 각각의 복셀에 저장될 수 있다. 부호 거리 함수 값들의 가중 합이 계산되고 저장될 수 있으며, 또한 가중치들의 합이 계산되고 저장될 수 있다. 이어서, 가중 평균은 (가중 합)/(가중치들의 합)으로서 계산될 수 있다.
이어서, 3D 볼륨의 모든 z 평면들이 이 스레드에 의해 고려되었는지를 결정한다(416). 그렇지 않은 경우, z 좌표가 증가되고, 프로세스는 z 방향의 다음 복셀에 대해 반복된다. 즉, 스레드는 볼륨의 z 방향을 따른 등가 복셀들(즉, 동일한 x, y 좌표를 갖는 복셀들)을 통해 반복하기 시작하여, 절단된 부호 거리 함수 값들을 결정하고, 이들을 이전 값들과 함께 평균한다.
이것은 스레드가 모든 z 평면들을 통해 반복할 때까지 반복된다. 이것은 z 평면 상의 상이한 x, y 좌표에 각각 할당된 각각의 스레드에 의해 수행된다. 이러한 한 번에 하나의 볼륨 평면의 시퀀스는 도 5의 메모리 레이아웃에 대해 양호한 메모리 액세스 효율 특성들을 갖는데, 그 이유는 하나의 z 평면이 선형 피치 어레이의 작은 연속 영역에 대응하기 때문이다. 따라서, 이것이 모든 스레드들에 의해 완료되면, 전체 3D 볼륨이 분석되며, 절단된 부호 거리 함수가 깊이 이미지(314)와 관련된 각각의 복셀에 대해 계산된다. 이어서, 프로세스는 깊이 카메라로부터 다음 깊이 이미지 프레임이 수신되기를 기다리며, 가능한 경우에 3D 볼륨에 더 많은 값들을 다시 추가하기 시작한다.
이러한 프로세스의 결과는 -1과 +1 사이의 평균값을 갖는 복셀들을 포함하는 3D 볼륨이다(그러나, 이러한 평균값은 전술한 "가중 합" 및 "가중치들의 합" 값들과 같은 다수의 값에 의해 표현될 수 있다는 점에 유의한다). 0의 평균값은 환경 내의 표면이 그 위치에 존재한다는 것을 지시한다. 깊이 이미지들의 다수의 프레임이 시간이 지남에 따라 볼륨에 추가되므로, 볼륨 내에 저장된 모델은 점진적으로 점점 더 상세하게 증대된다. 환경의 동일 영역의 반복된 측정들은 더 많은 상세를 더하며, 깊이 카메라에 의해 제공되는 정보의 해상도를 효과적으로 증가시킨다. 더구나, 잡음 또한 깊이 이미지들로부터 효과적으로 평균되어, 훨씬 더 평탄한 표면이 제공된다. 이것은 개별 깊이 이미지로부터 볼 수 없는 상세를 모델에서 볼 수 있게 해준다.
이러한 방식의 개별 실행 스레드들의 사용은 전체 3D 볼륨에 걸쳐 계산적으로 효율적인 처리를 가능하게 한다. 예를 들어, GPU 프로세서들은 각각의 스레드가 동일한 동작들을 수행하는 병렬 프로그램 스레드들을 효율적으로 실행하도록 배열된다. 이것은 도 4를 참조하여 전술한 모델 생성 프로세스가 실시간으로 수행되는 것을 가능하게 하며, 따라서 모델은 깊이 카메라의 프레임 레이트로 구성될 수 있다.
전술한 바와 같이 3D 볼륨 내에 모델이 구성되면, 모델은 다양한 방식으로 이용될 수 있다. 예를 들어, 도 7에 도시된 바와 같이, 레이캐스팅 기술을 이용하여, 볼륨에 저장된 모델의 뷰들이 렌더링될 수 있다. 도 7의 흐름도는 3D 볼륨으로부터 레이캐스팅하기 위한 병렬화 가능 프로세스를 나타내며, 이는 전술한 모델 생성 프로세스와 유사한 방식으로 GPU 또는 멀티코어 CPU 상에 실행하기에 적합하다.
모델의 뷰를 렌더링하기 위해, 렌더링될 이미지에 대한 뷰포인트를 정의하는 가상 카메라의 자세가 먼저 수신된다(700). 이 자세는 가상 카메라의 6DOF 위치 및 배향의 형태일 수 있다. 이어서, 개별 실행 스레드가 렌더링될 이미지 내의 각각의 픽셀에 할당된다(702).
이어서, 박스(704) 내에 표시된 동작들이 각각의 실행 스레드에 의해 수행되어, 스레드의 관련 픽셀에 적용될 값(예를 들어, 음영, 컬러 등)이 결정된다. 스레드와 관련된 픽셀에 대한 x 및 y 좌표들이 사전 정의된 초기 z 값과 결합되어 픽셀에 대한 3D 좌표가 제공되며, 가상 카메라의 자세는 픽셀에 대한 이러한 3D x, y, z 좌표를 X, Y, Z로 표시되는 실세계 좌표들로 변환하는 데 사용된다(706). 이어서, 실세계 좌표 X, Y, Z는 3D 볼륨 내의 복셀 좌표들로 변환될 수 있다(708).
이러한 좌표들은 가상 카메라 위치로부터 3D 볼륨을 통해 방출되는 경로를 갖는 픽셀에 대한 레이 상의 포인트를 정의한다. 이어서, 3D 볼륨 내의 어떤 복셀이 이 레이에 의해 최초로 터치되는지를 결정하며(710), 이것은 레이캐스팅에 대한 시작 복셀로서 설정된다. 레이캐스팅 동작은 (시작 복셀로부터) 레이를 따라 이동하며(712), 레이에 의해 터치되는 복셀들의 평균 부호 거리 함수 값들을 판독하여, 각각의 복셀에서 복셀 값들에서의 0점 교차(zero-crossing)(즉, 레이 상의 하나의 복셀과 레이를 따른 다음 복셀에 저장된 평균 부호 거리 함수 값들 사이의 부호 변화)가 발생하였는지를 결정한다(714). 옵션으로서, 이것은 단지 양으로부터 0을 통한 음으로의 부호 변경의 존재를 결정하도록 배열될 수 있다. 이것은 정면으로부터 관찰되는 표면들과 객체의 "안쪽"으로부터 관찰되는 표면들 사이에 구별이 이루어지게 한다.
0점 교차가 검출될 때, 이것은 (전술한 바와 같이) 모델 내의 표면의 존재를 지시한다. 따라서, 이것은 표면이 레이와 교차하는 복셀을 지시한다. 적절한 선형 보간 기술이 레이 상의 복셀들의 부호 거리 함수 값들 사이에 사용될 수 있고, 0점 교차의 어느 한쪽이 0점 교차 및 따라서 0점 교차 표면과의 교점의 위치를 더 정확하게 결정하는 데 사용될 수 있다. 일례에서, 레이를 따른 표면 교점은 0이 발생하는 포인트를 찾기 위해 검출된 0점 교차의 어느 한쪽에 3개의 선에 의해 샘플링된 포인트들이 주어지는 경우에 간단한 선형 보간을 이용하여 계산될 수 있다. 0점 교차가 발생하는 포인트에서, 표면 법선이 계산된다(716). 이것은 이웃 복셀들로부터의 기울기를 이용하여 수행될 수 있다. 이웃 복셀들로부터의 기울기를 더 정확히 결정하고, 따라서 더 정확한 표면 법선을 생성하기 위해 선형 보간도 이용될 수 있다. 일례에서, 표면 법선은 아래와 같이 후방 차분 수치 도함수를 이용하여 계산될 수 있다.
Figure 112013069305517-pct00003
여기서,
Figure 112013069305517-pct00004
는 복셀 x에 대한 법선이고, f(x)는 복셀 x에 대한 부호 거리 함수 값이다. 이 도함수는 잠재적으로 임의적인 복셀 해상도들 및 재구성 차원들이 주어지는 경우에 정확한 등방성을 보증하기 위해 각각의 차원에서 스케일링될 수 있다.
0점 교차가 발생하는 복셀의 좌표들은 실세계 좌표들로 변환되어(718), 모델 내의 표면의 위치의 실세계 좌표들을 제공한다. 표면의 실세계 좌표들 및 그의 표면 법선으로부터 음영 및/또는 컬러가 계산될 수 있다(720). 계산되는 음영 및/또는 컬러는 임의의 적절한 음영 모델에 기초할 수 있으며, 가상 광원의 위치를 고려할 수 있다.
설명되는 바와 같이, 박스(704) 내의 동작들은 각각의 실행 스레드에 의해 병렬로 수행되며, 이는 최종 출력 이미지 내의 각각의 픽셀에 대한 음영 및/또는 컬러를 제공한다. 이어서, 각각의 픽셀에 대해 계산된 데이터가 결합되어, 가상 카메라로부터의 모델의 뷰의 렌더링인 출력 이미지(722)를 제공할 수 있다.
전술한 레이캐스팅 동작의 병렬 특성은 3D 환경의 뷰들이 실시간으로 렌더링되는 것을 가능하게 한다. 모델이 GPU 메모리 내의 3D 볼륨에 저장될 때 GPU 상에서의 레이캐스팅 동작의 실행은 빠르고 계산 효율적이다.
레이캐스팅 동작은 또한 빈 공간 스킵 알고리즘을 이용함으로써 더 향상될 수 있다. 각각의 레이는 그의 경로를 따라 수백 개의 복셀을 터치할 수 있으므로, 빈 복셀들(즉, 모델에 관한 어떠한 정보도 포함하지 않는 복셀들)을 분석함으로써 계산 자원들을 낭비하는 것을 피하는 것이 유리하다. 일례에서, 레이를 따른 모든 단일 복셀의 분석을 피하기 위해, 복셀에서의 값이 사전 정의된 값보다 큰 경우, 레이를 따른 둘 이상의 복셀이 스킵된다. 스킵되는 복셀들의 수 및 사전 정의된 값은 이러한 파라미터들이 공간 스킵으로 인해 0점 교차가 누락되지 않는 것을 보증하기 위해 전술한 (정규화를 제어하는) 사전 정의된 거리 값의 지식을 이용하여 선택되는 경우에 효율 대 레이캐스트 정확도의 균형을 맞추도록 정의될 수 있다.
다른 예에서는 N항(N-ary) 트리, 예로서 옥트리와 같은 다중 레벨 데이터 구조를 이용함으로써 공간 스킵이 수행될 수 있다. 여기서, 3D 볼륨보다 낮은 해상도를 갖는, 주 3D 볼륨으로부터의 적어도 하나의 추가적인 볼륨이 생성된다. 레이를 따라 어느 곳에 빈 공간이 존재하는지를 결정하기 위해 먼저 저해상도 볼륨이 분석될 수 있으며, 주 3D 볼륨은 비어 있지 않은 복셀들을 통과하는 레이의 부분들에 대해 분석될 수 있다.
추가적인 예들에서, 3D 볼륨에 저장된 모델은 환경의 다각형 메시(mesh) 표현을 추출하는 데 사용될 수 있다. 이것은 예를 들어 마칭 큐브 알고리즘(marching cubes algorithm), 마칭 테트라헤드론 알고리즘(marching tetrahedrons algorithm), 블룸멘탈 폴리고나이저(Bloomenthal Polygonizer), 또는 모델의 부분들을 표현하는 다각형들을 선택하기 위한 임의의 다른 적절한 알고리즘을 이용하여 달성될 수 있다. 모델의 다각형 표현은 일정한 "방수(water-tight)" 표면을 이용하는 물리 기반 응용들 또는 다른 응용들에 유용할 수 있다.
다각형 메시는 일부 예들에서 모델을 표현하는 더 저장 효율적인 방법일 수 있지만, 깊이 카메라로부터의 새로운 측정치들로 쉽게 갱신되지 못한다. 따라서, 다각형 메시는 깊이 카메라로부터 3D 볼륨 내에 모델이 생성된 후에 모델을 효율적으로 저장하는 데 사용될 수 있다. 예를 들어, 다각형 메시는 GPU 메모리가 아니라 CPU 메모리와 같은 저장 장치에 또는 디스크 상에 저장될 수 있다. 일부 예들에서, 모델들은 구성 후에 다각형 메시 형태로 "캐시될(cached)" 수 있으며, 필요에 따라 부호 거리 함수 형태로 다시 변환될 수 있다. 예를 들어, 다각형 메시들은 3D 볼륨 메모리 내에 맞춰질 수 있는 더 큰 실세계 영역을 커버하는 큰 모델들을 구성하는 데 사용될 수 있다. 소정의 실세계 영역에 대해 3D 볼륨 내에 모델이 완성될 때, 모델은 다각형 메시 형태로 기록될 수 있으며, 3D 볼륨은 다각형 메시에 옵션으로서 후속 추가될 수 있는 새로운 실세계 영역을 모델링하기 위해 소거될 수 있다. 일부 예들에서, 전술한 레이캐스팅 동작은 3D 볼륨이 아니라 다각형 메시로부터 수행될 수 있다. 추가적인 예들에서, 표준 그래픽 렌더링 래스터 변환 파이프라인과 같은 대안 기술을 이용하여 다각형 메시로부터 모델의 뷰가 생성될 수 있다.
다각형 메시로서 저장된 "캐시된(cached)" 모델은 또한 볼륨에 저장되는 3D 모델로 변환될 수 있다. 예를 들어, 저장된 캐시된 메시 모델은 "시드(seed)"로서 3D 볼륨에 다시 기록될 수 있으며, 이 시드에는 모델의 정확도 및 상세를 더 향상시키기 위해 추가적인 깊이 이미지들이 추가될 수 있다.
일부 예들에서는 임의의 함축적인 표면 표현((예를 들어, 수치 해석 방법들 및 규칙적인 격자 상의 제한된 수의 저장된 포인트들 사이의 보간에 의해 정확한 표면 위치가 결정될 수 있는 표현)이 적용될 수 있다는 점에 유의한다.
이제, 도 8이 참조되며, 도 8은 임의 형태의 컴퓨팅 및/또는 전자 장치로서 구현될 수 있으며 전술한 3D 환경 모델링 기술들의 실시예들이 구현될 수 있는 예시적인 컴퓨팅 기반 장치(800)의 다양한 컴포넌트들을 나타낸다.
컴퓨터 기반 장치(800)는 3D 재구성을 수행하기 위해 장치의 동작을 제어하기 위한 컴퓨팅 실행 가능 명령어들을 처리하기 위한 마이크로프로세서, 제어기 또는 임의의 다른 적절한 타입의 프로세서일 수 있는 하나 이상의 프로세서(802)를 포함한다. 예를 들어, 시스템 온 칩 아키텍처가 사용되는 일부 예들에서, 프로세서들(802)은 (소프트웨어 또는 펌웨어가 아니라) 하드웨어로 모델링 방법들의 일부를 구현하는 하나 이상의 고정 기능 블록(가속기라고도 함)을 포함할 수 있다.
컴퓨팅 기반 장치(800)는 또한 통신 인터페이스(806)를 통해 프로세서들(802)과 통신하고, 빠르고 효율적인 방식으로 병렬 스레드 동작들을 실행하도록 배열된 하나 이상의 그래픽 처리 유닛(808)을 포함하는 그래픽 처리 시스템(804)도 포함한다. 그래픽 처리 시스템(804)은 그래픽 처리 유닛들(808)로부터의 빠른 병렬 액세스를 가능하게 하도록 배열된 메모리 장치(810)도 포함한다. 예들에서, 메모리 장치(810)는 3D 볼륨을 저장할 수 있으며, 그래픽 처리 유닛들(808)은 전술한 모델 생성 및 레이캐스팅 동작들을 수행할 수 있다.
컴퓨팅 기반 장치(800)는 (깊이 카메라를 포함하는) 이동 환경 캡처 장치와 같은 하나 이상의 장치로부터 입력을 수신하도록 배열된 입출력 인터페이스, 및 옵션으로서 하나 이상의 사용자 입력 장치(예로서, 게임 제어기, 마우스 및/또는 키보드)도 포함한다. 입출력 인터페이스(812)는 하나 이상의 통신 네트워크(예로서, 인터넷)와 통신하도록 배열될 수 있는 통신 인터페이스로도 동작할 수 있다.
디스플레이 인터페이스(814)도 제공되며, 컴퓨팅 기반 장치와 통합되거나 그와 통신하는 디스플레이 시스템에 출력을 제공하도록 배열된다. 디스플레이 시스템은 그래픽 사용자 인터페이스, 또는 필수적은 아니지만 임의의 적절한 타입의 다른 사용자 인터페이스를 제공할 수 있다.
컴퓨터 실행 가능 명령어들은 컴퓨팅 기반 장치(800)에 의해 액세스될 수 있는 임의의 컴퓨터 판독 가능 매체들을 이용하여 제공될 수 있다. 컴퓨터 판독 가능 매체들은 예를 들어 메모리(816)와 같은 컴퓨터 저장 매체들, 및 통신 매체들을 포함할 수 있다. 메모리(816)와 같은 컴퓨터 저장 매체들은 컴퓨터 판독 명령어들, 데이터 구조들, 프로그램 모듈들 또는 다른 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현되는 휘발성 및 비휘발성, 이동식 및 비이동식 매체들을 포함한다. 컴퓨터 저장 매체들은 RAM, ROM, EPROM, EEPROM, 플래시 메모리 또는 다른 메모리 기술, CD-ROM, 디지털 다기능 디스크(DVD) 또는 다른 광학 저장 장치, 자기 카세트, 자기 테이프, 자기 디스크 저장 장치 또는 다른 자기 저장 장치, 또는 컴퓨팅 장치에 의해 액세스하기 위한 정보를 저장하는 데 사용될 수 있는 임의의 다른 비전송 매체를 포함하지만 이에 한정되지 않는다. 이와 달리, 통신 매체들은 반송파 또는 다른 전송 메커니즘과 같은 변조된 데이터 신호 내에 컴퓨터 판독 가능 명령어들, 데이터 구조들, 프로그램 모듈들 또는 다른 데이터를 구현할 수 있다. 본 명세서에서 정의되는 바와 같이, 컴퓨터 저장 매체들은 통신 매체를 포함하지 않는다. 컴퓨터 저장 매체들(메모리 816)은 컴퓨팅 기반 장치(800) 내에 도시되지만, 저장 장치는 분산되거나 원격적으로 배치될 수 있으며 네트워크 또는 다른 통신 링크를 통해(예를 들어, 입출력 인터페이스(812)를 이용하여) 액세스될 수 있다.
운영 체제(818)를 포함하는 플랫폼 소프트웨어 또는 임의의 다른 적절한 플랫폼 소프트웨어가 컴퓨팅 기반 장치에 제공되어, 장치 상에서 애플리케이션 소프트웨어(802)가 실행되는 것을 가능하게 할 수 있다. 메모리(816)는 (예를 들어, 도 4와 관련하여 설명된 프로세서를 이용하여 3D 모델 내의 모델을 형성하도록 배열되는) 고밀도 모델 통합 엔진(822), (예를 들어, 도 7의 레이캐스팅 프로세스를 이용하여 모델의 렌더링된 이미지를 출력하도록 배열되는) 고밀도 모델 가시화 엔진(824), 및 (예를 들어, 다각형 메시를 구성하기 위해 모델로부터 데이터를 획득하도록 배열되는) 고밀도 모델 조회 엔진(826)의 기능을 구현하기 위한 실행 가능 명령어들을 저장할 수 있다. 메모리(816)는 또한 예를 들어 다각형 메시를 저장하기 위해 3D 모델링 기술들을 수행할 때 프로세서들(802)에 의해 사용되는 데이터에 대한 저장을 제공하는 데 사용될 수 있는 데이터 저장소(830)를 제공할 수 있다.
'컴퓨터(computer)'라는 용어는 본 명세서에서 명령어들을 실행할 수 있도록 처리 능력을 갖는 임의의 장치를 지칭하는 데 사용된다. 당업자들은 그러한 처리 능력들이 많은 상이한 장치들로 통합되며 그 결과 '컴퓨터(computer)'라는 용어는 PC, 서버, 이동 전화, 개인용 휴대 단말기 및 많은 다른 장치를 포함한다는 것을 인식할 것이다.
본 명세서에서 설명되는 방법들은 유형의 저장 매체 상의 기계 판독 가능 형태의 소프트웨어에 의해, 예를 들어 프로그램이 컴퓨터 상에서 실행될 때 그리고 컴퓨터 프로그램이 컴퓨터 판독 가능 매체 상에 구현될 수 있는 경우에 본 명세서에서 설명되는 임의의 방법의 모든 단계를 수행하도록 적응되는 컴퓨터 프로그램 코드 수단을 포함하는 컴퓨터 프로그램의 형태의 소프트웨어에 의해 수행될 수 있다. 유형의(또는 비일시적인) 저장 매체들의 예들은 디스크, 썸(thumb) 드라이브, 메모리 등을 포함하며, 전파 신호들을 포함하지 않는다. 소프트웨어는 병렬 프로세서 또는 직렬 프로세서에서 실행하기에 적합할 수 있으며, 따라서 방법 단계들은 임의의 적절한 순서로 또는 동시에 수행될 수 있다.
이것은 소프트웨어가 귀중한, 개별적으로 거래 가능한 물품일 수 있음을 확인한다. 이것은 원하는 기능들을 수행하기 위해 "덤(dumb") 또는 독립 하드웨어 상에서 실행되거나 그를 제어하는 소프트웨어를 포함하는 것을 의도한다. 또한, 이것은 원하는 기능들을 수행하기 위해 실리콘 칩을 설계하거나 유니버설 프로그래밍 가능 칩을 구성하는 데 사용되는 바와 같은 하드웨어 기술 언어(HDL) 소프트웨어와 같이 하드웨어의 구성을 "기술"하거나 정의하는 소프트웨어를 포함하는 것을 의도한다.
당업자들은 프로그램 명령어들을 저장하는 데 사용되는 저장 장치들이 네트워크에 걸쳐 분산될 수 있다는 것을 알 것이다. 예를 들어, 원격 컴퓨터는 설명되는 프로세스의 일례를 소프트웨어로서 저장할 수 있다. 국지적 또는 단말 컴퓨터는 원격 컴퓨터에 액세스할 수 있고, 프로그램을 실행하기 위해 소프트웨어의 일부 또는 전부를 다운로드할 수 있다. 대안으로서, 국지적 컴퓨터는 필요에 따라 소프트웨어의 부분들을 다운로드하거나, 국지적 단말기에서 일부 소프트웨어 명령어들을 그리고 원격 컴퓨터(또는 컴퓨터 네트워크)에서 일부 소프트웨어 명령어들을 실행할 수 있다. 당업자들은 또한 당업자들에게 공지된 전통적인 기술들을 이용함으로써 소프트웨어 명령어들의 전부 또는 일부가 DSP, 프로그래밍 가능 논리 어레이 등과 같은 전용 회로에 의해 수행될 수 있다는 것을 알 것이다.
본 명세서에서 주어지는 임의의 범위 또는 장치 값은 당업자에게 명백하듯이 추구하는 효과의 손실 없이 확장 또는 변경될 수 있다.
전술한 이익들 및 장점들은 하나의 실시예와 관련될 수 있거나 여러 실시예와 관련될 수 있다는 것을 이해할 것이다. 실시예들은 언급된 임의의 또는 모든 문제를 해결하는 것들 또는 언급된 임의의 또는 모든 이익 및 장점을 갖는 것들로 한정되지 않는다. '하나의(an)' 아이템에 대한 참조는 그러한 하나 이상의 아이템을 참조한다는 것을 더 이해할 것이다.
본 명세서에서 설명되는 방법들의 단계들은 임의의 적절한 순서로, 또는 적절한 경우에는 동시에 수행될 수 있다. 게다가, 개별 블록들은 본 명세서에서 설명되는 본 발명의 사상 및 범위로부터 벗어나지 않으면서 임의의 방법으로부터 제거될 수 있다. 전술한 임의의 예들의 양태들은 추구하는 효과의 손실 없이 추가적인 예들을 형성하기 위해 설명된 임의의 다른 예들의 양태들과 결합될 수 있다.
'포함하는(comprising)'이라는 용어는 본 명세서에서 식별되는 방법 블록들 또는 요소들을 포함하지만, 그러한 블록들 또는 요소들은 배타 리스트를 포함하지 않으며, 방법 또는 장치는 추가적인 블록 또는 요소를 포함할 수 있다는 것을 의미하는 데 사용된다.
바람직한 실시예에 대한 위의 설명은 단지 예시적으로 제공되며 당업자들에 의해 다양한 변경들이 이루어질 수 있다는 것을 이해할 것이다. 위의 명세서, 예들 및 데이터는 본 발명의 실시예들의 구조 및 이용에 대한 완전한 설명을 제공한다. 본 발명의 다양한 실시예들이 어느 정도 상세하게 또는 하나 이상의 개별 실시예를 참조하여 위에서 설명되었지만, 당업자들은 본 발명의 사상 또는 범위로부터 벗어나지 않으면서 개시된 실시예들에 대해 많은 변경들을 행할 수 있다.

Claims (20)

  1. 컴퓨터로 구현되는 실세계 환경의 3D 모델을 생성하는 방법에 있어서,
    메모리 장치 내에, 모델을 저장하기 위해 삼차원 볼륨(volume) - 상기 삼차원 볼륨은 복수의 복셀(voxel)들을 포함함 - 을 생성하는 단계;
    캡처 장치의 위치 및 배향을 기술하는 데이터 및 상기 캡처 장치로부터 출력되는 상기 환경의 적어도 일부분의 깊이 이미지 - 상기 깊이 이미지는 복수의 픽셀들을 포함하고, 상기 복수의 픽셀들의 각각은 상기 캡처 장치로부터 상기 환경 내의 포인트까지의 거리를 나타냄 - 를 수신하는 단계;
    상기 볼륨의 평면 내 각각의 복셀에 대해 개별적인 실행 스레드(thread)를 할당(assign)하는 단계;
    각각의 실행 스레드가, 상기 캡처 장치의 위치 및 배향을 이용하여 자신과 연관된 복셀에 대해 깊이 이미지 내의 대응하는 위치를 결정하고, 상기 대응하는 위치에 있는 상기 환경 내의 상기 포인트와 상기 연관된 복셀 사이의 거리와 관련된 계수(factor)를 결정하며, 상기 계수를 이용하여 상기 연관된 복셀에 저장된 값을 갱신하는 단계; 및
    각각의 실행 스레드가, 상기 볼륨의 나머지 각각의 평면 내의 등가적인 복셀에 대해 되풀이하여, 상기 계수를 결정하는 단계 및 각각의 복셀에 대한 상기 저장된 값을 갱신하는 단계를 반복하는 단계
    를 포함하고,
    상기 계수를 결정하는 단계는, 상기 연관된 복셀이 상기 포인트의 제1 측에 위치하는 경우에 상기 계수는 양의 값을 갖고, 상기 연관된 복셀이 상기 포인트의 반대 측에 위치하는 경우에 상기 계수는 음의 값을 갖도록, 상기 대응하는 위치에 있는 상기 환경 내의 상기 포인트와 상기 연관된 복셀 사이의 부호화 거리 함수(signed distance function)를 계산하는 단계를 포함하고,
    상기 계수를 결정하는 단계는, 상기 계수가 미리 정의된 양의 임계치보다 큰지 여부를 결정하고, 만약 상기 양의 임계치보다 큰 경우, 상기 계수를 상기 양의 임계치로 절단(truncating)하는 단계; 및 상기 계수가 미리 정의된 음의 임계치보다 작은지 여부를 결정하고, 만약 상기 음의 임계치보다 작은 경우, 상기 계수를 상기 음의 임계치로 절단하는 단계를 더 포함하는 것인,
    컴퓨터로 구현되는 실세계 환경의 3D 모델 생성 방법.
  2. 제1항에 있어서,
    상기 계수를 결정하는 단계 전에, 상기 대응하는 위치가 상기 캡처 장치의 절두체(frustum) 내에 있는지 여부를 결정하는 단계
    를 더 포함하는 컴퓨터로 구현되는 실세계 환경의 3D 모델 생성 방법.
  3. 제1항에 있어서,
    상기 볼륨은 선형 피치 메모리(linear pitched memory)로서 상기 메모리 장치 상에서 생성되는 것인, 컴퓨터로 구현되는 실세계 환경의 3D 모델 생성 방법.
  4. 제1항에 있어서,
    상기 캡처 장치의 위치 및 배향을 이용하여 실행 스레드와 연관된 복셀에 대해 상기 깊이 이미지 내의 대응하는 위치를 결정하는 단계는,
    실세계 좌표들 내에서 상기 복셀의 위치를 결정하는 단계; 및
    상기 위치 및 배향을 이용하여 상기 캡처 장치의 투영을 통해 상기 실세계 좌표들을 투영하여 상기 연관된 복셀에 대해 상기 깊이 이미지 내의 대응하는 좌표들을 결정하는 단계
    를 포함하는 것인, 컴퓨터로 구현되는 실세계 환경의 3D 모델 생성 방법.
  5. 제1항에 있어서,
    광선 투사(ray-casting)를 이용하여 디스플레이 장치 상에 디스플레이할 상기 모델의 이미지를 생성하는 단계
    를 더 포함하는 컴퓨터로 구현되는 실세계 환경의 3D 모델 생성 방법.
  6. 제5항에 있어서,
    상기 모델의 이미지를 생성하는 단계는,
    가상 카메라에 대한 자세 데이터(pose data)를 수신하는 단계;
    각각의 이미지 픽셀에 대해 실행 스레드를 할당하는 단계;
    각각의 이미지 픽셀 실행 스레드가, 상기 가상 카메라로부터 연관된 픽셀을 통해 방출되는 광선의 경로를 결정하고, 상기 경로를 상기 볼륨 내의 좌표들로 변환하며, 표면에서 복셀이 검출될 때까지 상기 경로를 따라 상기 볼륨을 통해 이동하고, 상기 복셀에 저장된 값을 이용하여 상기 연관된 픽셀에 대해 음영(shade)을 계산하는 단계
    를 포함하는 것인, 컴퓨터로 구현되는 실세계 환경의 3D 모델 생성 방법.
  7. 제1항에 있어서,
    상기 모델로부터 다각형 메시(polygon mesh)를 생성하는 단계와, 상기 다각형 메시를 저장 장치에 저장하는 단계
    를 더 포함하는 컴퓨터로 구현되는 실세계 환경의 3D 모델 생성 방법.
  8. 제7항에 있어서,
    상기 모델로부터 다각형 메시를 생성하는 단계는, 마칭 큐브 알고리즘(marching cubes algorithm)을 이용하여 상기 모델의 부분들을 나타내는 다각형들을 선택하는 단계를 포함하는 것인, 컴퓨터로 구현되는 실세계 환경의 3D 모델 생성 방법.
  9. 제1항에 있어서,
    상기 계수를 이용하여 상기 연관된 복셀에 저장된 값을 갱신하는 단계는 상기 연관된 복셀에 저장된 이전 값에 상기 계수를 합산하는 단계를 포함하는 것인, 컴퓨터로 구현되는 실세계 환경의 3D 모델 생성 방법.
  10. 제9항에 있어서,
    상기 연관된 복셀의 상기 캡처 장치로부터의 거리와 관련된 가중 함수 및 상기 저장된 값을 이용하여 가중 평균을 결정하는 단계
    를 더 포함하는 컴퓨터로 구현되는 실세계 환경의 3D 모델 생성 방법.
  11. 삭제
  12. 삭제
  13. 제1항에 있어서,
    상기 양의 임계치는 +1이며, 상기 음의 임계치는 -1인 것인, 컴퓨터로 구현되는 실세계 환경의 3D 모델 생성 방법.
  14. 제1항에 있어서,
    상기 계수는 상기 연관된 복셀이 상기 환경 내의 상기 포인트와 일치(coincident)할 때 제로의 값을 갖는 것인, 컴퓨터로 구현되는 실세계 환경의 3D 모델 생성 방법.
  15. 제1항에 있어서,
    상기 캡처 장치의 위치 및 배향을 기술하는 데이터는, 실세계 좌표들에 대한 상기 캡처 장치의 6 자유도(six degree-of-freedom) 자세를 포함하며, 상기 깊이 이미지를 이전에 수신된 깊이 이미지에 정렬하는 변환에 의해 결정되는 것인, 컴퓨터로 구현되는 실세계 환경의 3D 모델 생성 방법.
  16. 실세계 환경의 3D 모델을 생성하기 위한 그래픽 처리 시스템에 있어서,
    캡처 장치의 위치 및 배향을 기술하는 데이터 및 상기 캡처 장치로부터 출력되는 상기 환경의 적어도 일부분의 깊이 이미지 - 상기 깊이 이미지는 복수의 픽셀들을 포함하고, 상기 복수의 픽셀들의 각각은 상기 캡처 장치로부터 상기 환경 내의 포인트까지의 거리를 나타냄 - 를 수신하도록 배열된 통신 인터페이스;
    복수의 스레드들의 동시(concurrent) 실행을 제공하도록 배열된 그래픽 처리 유닛; 및
    메모리 장치
    를 포함하고,
    상기 그래픽 처리 유닛은,
    상기 메모리 장치 내에, 상기 모델을 저장하기 위해 삼차원 볼륨 - 상기 삼차원 볼륨은 복수의 복셀들을 포함함 - 을 생성하고;
    상기 볼륨의 평면 내 각각의 복셀에 대해 개별적인 스레드를 할당하고;
    각각의 실행 스레드에 대해, 상기 캡처 장치의 위치 및 배향을 이용하여 상기 실행 스레드와 연관된 복셀에 대해 상기 깊이 이미지 내의 대응하는 위치를 결정하고, 상기 대응하는 위치에 있는 상기 환경 내의 상기 포인트와 상기 연관된 복셀 사이의 거리와 관련된 계수를 결정하고, 상기 계수를 이용하여 상기 연관된 복셀에 저장된 값을 갱신하며, 상기 볼륨의 나머지 각각의 평면 내의 등가적인 복셀에 대해 되풀이하여, 상기 계수의 결정 및 각각의 복셀에 대한 상기 저장된 값의 갱신을 반복하도록 배열되고,
    상기 그래픽 처리 유닛이 상기 계수를 결정하도록 배열되는 것은, 상기 연관된 복셀이 상기 포인트의 제1 측에 위치하는 경우에 상기 계수는 양의 값을 갖고, 상기 연관된 복셀이 상기 포인트의 반대 측에 위치하는 경우에 상기 계수는 음의 값을 갖도록, 상기 대응하는 위치에 있는 상기 환경 내의 상기 포인트와 상기 연관된 복셀 사이의 부호화 거리 함수를 계산하도록 상기 그래픽 처리 유닛이 배열되는 것을 포함하고,
    상기 그래픽 처리 유닛이 상기 계수를 결정하도록 배열되는 것은, 상기 계수가 미리 정의된 양의 임계치보다 큰지 여부를 결정하고, 만약 상기 양의 임계치보다 큰 경우, 상기 계수를 상기 양의 임계치로 절단하고; 상기 계수가 미리 정의된 음의 임계치보다 작은지 여부를 결정하고, 만약 상기 음의 임계치보다 작은 경우, 상기 계수를 상기 음의 임계치로 절단하도록 상기 그래픽 처리 유닛이 배열되는 것을 더 포함하는 것인,
    실세계 환경의 3D 모델을 생성하기 위한 그래픽 처리 시스템.
  17. 제16항에 있어서,
    상기 캡처 장치는 프레임율로 복수의 깊이 이미지들을 제공하는 비디오 카메라이며,
    상기 그래픽 처리 유닛은 또한, 상기 프레임율로 상기 볼륨 내의 각각의 복셀의 상기 저장된 값을 반복적으로 갱신하도록 배열된 것인, 실세계 환경의 3D 모델을 생성하기 위한 그래픽 처리 시스템.
  18. 제16항에 있어서,
    상기 캡처 장치는 깊이 카메라를 포함한 것인, 실세계 환경의 3D 모델을 생성하기 위한 그래픽 처리 시스템.
  19. 제18항에 있어서,
    상기 깊이 카메라는 구조광(structured light) 방출기; TOF(time-of-flight) 카메라; 및 스테레오 카메라 중 적어도 하나를 포함한 것인, 실세계 환경의 3D 모델을 생성하기 위한 그래픽 처리 시스템.
  20. 하드웨어이고, 장치로 실행가능한 명령어들을 갖는 하나 이상의 컴퓨터 저장 매체로서, 상기 장치로 실행가능한 명령어들은, 그래픽 처리 유닛에 의해 실행될 때, 상기 그래픽 처리 유닛에게 단계들을 수행할 것을 지시하며, 상기 단계들은,
    메모리 장치 내에, 실세계 환경의 3D 모델을 저장하기 위해 삼차원 볼륨 - 상기 삼차원 볼륨은 복수의 복셀들을 포함함 - 을 생성하는 단계;
    깊이 카메라의 6 자유도 자세를 기술하는 데이터 및 상기 깊이 카메라로부터 출력되는 상기 환경의 적어도 일부분의 깊이 이미지 - 상기 깊이 이미지는 복수의 픽셀들을 포함하고, 상기 복수의 픽셀들의 각각은 상기 깊이 카메라로부터 상기 환경 내의 포인트까지의 거리를 나타냄 - 를 수신하는 단계;
    상기 볼륨의 평면 내 각각의 복셀에 대해 개별적인 실행 스레드를 할당하는 단계; 및
    상기 그래픽 처리 유닛 상에서 각각의 실행 스레드를 동시에 실행하는 단계
    를 포함하고,
    각각의 실행 스레드는,
    상기 깊이 카메라의 자세를 이용하여 상기 실행 스레드와 연관된 복셀에 대해 상기 깊이 이미지 내의 대응하는 좌표들을 결정하는 단계;
    상기 깊이 이미지의 상기 대응하는 좌표들에 있는 상기 환경 내의 상기 포인트와 상기 연관된 복셀 사이의 거리로부터 절단형 부호화 거리 함수를 계산하는 단계;
    상기 절단형 부호화 거리 함수의 출력을 이용하여 상기 연관된 복셀에 저장된 값을 갱신하는 단계; 및
    상기 볼륨의 나머지 각각의 평면 내의 등가적인 복셀에 대해 되풀이하여, 상기 절단형 부호화 거리 함수를 계산하는 단계 및 각각의 등가적인 복셀에 대한 상기 저장된 값을 갱신하는 단계를 반복하는 단계
    를 포함하는 단계들을 수행하고,
    상기 절단형 부호화 거리 함수를 계산하는 단계는,
    상기 연관된 복셀이 상기 포인트의 제1 측에 위치하는 경우에 부호화 거리 함수(signed distance function)의 출력은 양의 값을 갖고, 상기 연관된 복셀이 상기 포인트의 반대 측에 위치하는 경우에 상기 부호화 거리 함수의 출력은 음의 값을 갖도록, 상기 깊이 이미지의 상기 대응하는 좌표들에 있는 상기 환경 내의 상기 포인트와 상기 연관된 복셀 사이의 거리로부터 상기 부호화 거리 함수를 계산하는 단계;
    상기 부호화 거리 함수의 출력이 미리 정의된 양의 임계치보다 큰지 여부를 결정하고, 만약 상기 양의 임계치보다 큰 경우, 상기 부호화 거리 함수의 출력을 상기 양의 임계치로 절단하는 단계;
    상기 부호화 거리 함수의 출력이 미리 정의된 음의 임계치보다 작은지 여부를 결정하고, 만약 상기 음의 임계치보다 작은 경우, 상기 부호화 거리 함수의 출력을 상기 음의 임계치로 절단하는 단계
    를 포함하는 것인,
    하나 이상의 컴퓨터 저장 매체.
KR1020137020295A 2011-01-31 2012-01-09 삼차원 환경 재구성 KR101861313B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/017,690 US8587583B2 (en) 2011-01-31 2011-01-31 Three-dimensional environment reconstruction
US13/017,690 2011-01-31
PCT/US2012/020686 WO2012106069A2 (en) 2011-01-31 2012-01-09 Three-dimensional environment reconstruction

Publications (2)

Publication Number Publication Date
KR20140007367A KR20140007367A (ko) 2014-01-17
KR101861313B1 true KR101861313B1 (ko) 2018-05-28

Family

ID=46562677

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020137020295A KR101861313B1 (ko) 2011-01-31 2012-01-09 삼차원 환경 재구성

Country Status (7)

Country Link
US (1) US8587583B2 (ko)
EP (1) EP2671210B1 (ko)
JP (1) JP5906258B2 (ko)
KR (1) KR101861313B1 (ko)
CN (1) CN102622776B (ko)
HK (1) HK1172131A1 (ko)
WO (1) WO2012106069A2 (ko)

Families Citing this family (205)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8525825B2 (en) 2008-02-27 2013-09-03 Google Inc. Using image content to facilitate navigation in panoramic image data
US8427424B2 (en) 2008-09-30 2013-04-23 Microsoft Corporation Using physical objects in conjunction with an interactive surface
US8503720B2 (en) 2009-05-01 2013-08-06 Microsoft Corporation Human body pose estimation
US8730309B2 (en) 2010-02-23 2014-05-20 Microsoft Corporation Projectors and depth cameras for deviceless augmented reality and interaction
US8725476B1 (en) * 2010-05-04 2014-05-13 Lucasfilm Entertainment Company Ltd. Applying details in a simulation
US8773946B2 (en) * 2010-12-30 2014-07-08 Honeywell International Inc. Portable housings for generation of building maps
US8587583B2 (en) 2011-01-31 2013-11-19 Microsoft Corporation Three-dimensional environment reconstruction
US8942917B2 (en) 2011-02-14 2015-01-27 Microsoft Corporation Change invariant scene recognition by an agent
US9329469B2 (en) 2011-02-17 2016-05-03 Microsoft Technology Licensing, Llc Providing an interactive experience using a 3D depth camera and a 3D projector
US9480907B2 (en) 2011-03-02 2016-11-01 Microsoft Technology Licensing, Llc Immersive display with peripheral illusions
US8970592B1 (en) 2011-04-19 2015-03-03 Lucasfilm Entertainment Company LLC Simulating an arbitrary number of particles
US8849030B2 (en) 2011-04-22 2014-09-30 Microsoft Corporation Image retrieval using spatial bag-of-features
US9053571B2 (en) 2011-06-06 2015-06-09 Microsoft Corporation Generating computer models of 3D objects
US9597587B2 (en) 2011-06-08 2017-03-21 Microsoft Technology Licensing, Llc Locational node device
US8564595B1 (en) 2011-08-03 2013-10-22 Zynga Inc. Delivery of projections for rendering
US9274595B2 (en) 2011-08-26 2016-03-01 Reincloud Corporation Coherent presentation of multiple reality and interaction models
US9628843B2 (en) * 2011-11-21 2017-04-18 Microsoft Technology Licensing, Llc Methods for controlling electronic devices using gestures
US20130141433A1 (en) * 2011-12-02 2013-06-06 Per Astrand Methods, Systems and Computer Program Products for Creating Three Dimensional Meshes from Two Dimensional Images
EP2602587A1 (en) * 2011-12-06 2013-06-12 Hexagon Technology Center GmbH Method and device for determining 3D coordinates of an object
KR101850027B1 (ko) * 2011-12-08 2018-04-24 한국전자통신연구원 실시간 3차원 실 환경 복원장치 및 그 방법
KR101929451B1 (ko) * 2012-02-03 2018-12-14 삼성전자주식회사 로봇의 제어 장치 및 방법
WO2013121267A1 (en) * 2012-02-15 2013-08-22 Mesa Imaging Ag Time of flight camera with stripe illumination
EP2660781A1 (en) * 2012-05-03 2013-11-06 Alcatel Lucent Three-dimensional model generation
US20130317901A1 (en) * 2012-05-23 2013-11-28 Xiao Yong Wang Methods and Apparatuses for Displaying the 3D Image of a Product
US9420265B2 (en) 2012-06-29 2016-08-16 Mitsubishi Electric Research Laboratories, Inc. Tracking poses of 3D camera using points and planes
KR101839035B1 (ko) * 2012-11-26 2018-03-19 한국전자통신연구원 멀티 gpu를 기반으로 하는 3차원 복원을 위한 장치 및 그 방법
CN104871181B (zh) * 2012-12-24 2019-12-24 哈曼国际工业有限公司 用户定位系统
US9857470B2 (en) 2012-12-28 2018-01-02 Microsoft Technology Licensing, Llc Using photometric stereo for 3D environment modeling
US9251590B2 (en) 2013-01-24 2016-02-02 Microsoft Technology Licensing, Llc Camera pose estimation for 3D reconstruction
EP2956891B1 (en) * 2013-02-18 2019-12-18 Tata Consultancy Services Limited Segmenting objects in multimedia data
US9224368B2 (en) * 2013-02-20 2015-12-29 Google Inc. Merging three-dimensional models of varying resolution
US9940553B2 (en) 2013-02-22 2018-04-10 Microsoft Technology Licensing, Llc Camera/object pose from predicted coordinates
US20140247263A1 (en) * 2013-03-04 2014-09-04 Microsoft Corporation Steerable display system
US8892358B2 (en) * 2013-03-14 2014-11-18 Robert Bosch Gmbh System and method for distortion correction in three-dimensional environment visualization
US9233470B1 (en) * 2013-03-15 2016-01-12 Industrial Perception, Inc. Determining a virtual representation of an environment by projecting texture patterns
US9674507B2 (en) * 2013-04-30 2017-06-06 Qualcomm Incorporated Monocular visual SLAM with general and panorama camera movements
US9874749B2 (en) 2013-11-27 2018-01-23 Magic Leap, Inc. Virtual and augmented reality systems and methods
US10262462B2 (en) * 2014-04-18 2019-04-16 Magic Leap, Inc. Systems and methods for augmented and virtual reality
US20140368504A1 (en) * 2013-06-12 2014-12-18 Microsoft Corporation Scalable volumetric 3d reconstruction
US9536339B1 (en) * 2013-06-13 2017-01-03 Amazon Technologies, Inc. Processing unordered point cloud
US9377294B2 (en) * 2013-06-18 2016-06-28 Xerox Corporation Handheld cellular apparatus for volume estimation
WO2014206473A1 (en) * 2013-06-27 2014-12-31 Abb Technology Ltd Method and video communication device for transmitting video to a remote user
US10330931B2 (en) * 2013-06-28 2019-06-25 Microsoft Technology Licensing, Llc Space carving based on human physical data
US9984498B2 (en) 2013-07-17 2018-05-29 Microsoft Technology Licensing, Llc Sparse GPU voxelization for 3D surface reconstruction
US9998684B2 (en) * 2013-08-16 2018-06-12 Indiana University Research And Technology Corporation Method and apparatus for virtual 3D model generation and navigation using opportunistically captured images
KR102115930B1 (ko) * 2013-09-16 2020-05-27 삼성전자주식회사 디스플레이 장치 및 영상 처리 방법
US9630110B2 (en) * 2013-09-23 2017-04-25 Empire Technology Development Llc Location graph adapted video games
US8818081B1 (en) * 2013-10-16 2014-08-26 Google Inc. 3D model updates using crowdsourced video
US20150103146A1 (en) * 2013-10-16 2015-04-16 Qualcomm Incorporated Conversion of at least one non-stereo camera into a stereo camera
US9836885B1 (en) * 2013-10-25 2017-12-05 Appliance Computing III, Inc. Image-based rendering of real spaces
US9547838B2 (en) * 2013-11-06 2017-01-17 Oracle International Corporation Automated generation of a three-dimensional space representation and planogram verification
US10002640B2 (en) 2014-02-28 2018-06-19 Microsoft Technology Licensing, Llc Hyper-lapse video through time-lapse and stabilization
CN104933755B (zh) 2014-03-18 2017-11-28 华为技术有限公司 一种静态物体重建方法和系统
CN103942832B (zh) * 2014-04-11 2016-07-06 浙江大学 一种基于在线结构分析的室内场景实时重建方法
US9704289B2 (en) * 2014-05-06 2017-07-11 Whitecap Scientific Corporation Indexing method and system
US9613298B2 (en) 2014-06-02 2017-04-04 Microsoft Technology Licensing, Llc Tracking using sensor data
US9311565B2 (en) * 2014-06-16 2016-04-12 Sony Corporation 3D scanning with depth cameras using mesh sculpting
US9589362B2 (en) 2014-07-01 2017-03-07 Qualcomm Incorporated System and method of three-dimensional model generation
US10503943B2 (en) 2014-08-13 2019-12-10 C 3 Limited Log scanning system
US9483879B2 (en) * 2014-09-18 2016-11-01 Microsoft Technology Licensing, Llc Using free-form deformations in surface reconstruction
US11013451B2 (en) 2014-09-19 2021-05-25 Brigham Young University Marker-less monitoring of movement disorders
US9607388B2 (en) 2014-09-19 2017-03-28 Qualcomm Incorporated System and method of pose estimation
EP3201112B1 (en) * 2014-10-03 2020-07-22 Wynright Corporation Perception-based robotic manipulation system and method for automated truck unloader that unloads/unpacks product from trailers and containers
US10205910B2 (en) 2014-11-14 2019-02-12 Pcms Holdings, Inc. System and method for 3D telepresence
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
KR102106889B1 (ko) * 2014-12-11 2020-05-07 한화디펜스 주식회사 소형통합제어장치
US10091015B2 (en) 2014-12-16 2018-10-02 Microsoft Technology Licensing, Llc 3D mapping of internet of things devices
US9710878B2 (en) * 2014-12-17 2017-07-18 Microsoft Technoloy Licensing, LLC Low power DMA labeling
US20160245641A1 (en) * 2015-02-19 2016-08-25 Microsoft Technology Licensing, Llc Projection transformations for depth estimation
WO2016140986A1 (en) * 2015-03-01 2016-09-09 Nextvr Inc. Methods and apparatus for supporting content generation, transmission and/or playback
US10838207B2 (en) 2015-03-05 2020-11-17 Magic Leap, Inc. Systems and methods for augmented reality
US20160259404A1 (en) 2015-03-05 2016-09-08 Magic Leap, Inc. Systems and methods for augmented reality
US10180734B2 (en) 2015-03-05 2019-01-15 Magic Leap, Inc. Systems and methods for augmented reality
EP3265845A4 (en) * 2015-03-05 2019-01-09 Commonwealth Scientific and Industrial Research Organisation STRUCTURE MODELING
US9558760B2 (en) * 2015-03-06 2017-01-31 Microsoft Technology Licensing, Llc Real-time remodeling of user voice in an immersive visualization system
US9754413B1 (en) 2015-03-26 2017-09-05 Google Inc. Method and system for navigating in panoramic images using voxel maps
US9984519B2 (en) * 2015-04-10 2018-05-29 Google Llc Method and system for optical user recognition
US10055888B2 (en) 2015-04-28 2018-08-21 Microsoft Technology Licensing, Llc Producing and consuming metadata within multi-dimensional data
US10373366B2 (en) 2015-05-14 2019-08-06 Qualcomm Incorporated Three-dimensional model generation
US10304203B2 (en) 2015-05-14 2019-05-28 Qualcomm Incorporated Three-dimensional model generation
US9911242B2 (en) 2015-05-14 2018-03-06 Qualcomm Incorporated Three-dimensional model generation
GB2538751A (en) * 2015-05-27 2016-11-30 Imp College Of Science Tech And Medicine Modelling a three-dimensional space
US20160358382A1 (en) * 2015-06-04 2016-12-08 Vangogh Imaging, Inc. Augmented Reality Using 3D Depth Sensor and 3D Projection
US10366534B2 (en) 2015-06-10 2019-07-30 Microsoft Technology Licensing, Llc Selective surface mesh regeneration for 3-dimensional renderings
WO2016204740A1 (en) 2015-06-17 2016-12-22 United Technologies Corporation System and method for processing captured images
KR101835434B1 (ko) * 2015-07-08 2018-03-09 고려대학교 산학협력단 투영 이미지 생성 방법 및 그 장치, 이미지 픽셀과 깊이값간의 매핑 방법
US20170032565A1 (en) * 2015-07-13 2017-02-02 Shenzhen University Three-dimensional facial reconstruction method and system
KR101666561B1 (ko) 2015-07-13 2016-10-24 한국과학기술원 증강 공간 내 부분 공간 획득 시스템 및 방법
CN105261060A (zh) * 2015-07-23 2016-01-20 东华大学 基于点云压缩和惯性导航的移动场景实时三维重构方法
WO2017030985A1 (en) 2015-08-14 2017-02-23 Pcms Holdings, Inc. System and method for augmented reality multi-view telepresence
RU2642167C2 (ru) * 2015-08-14 2018-01-24 Самсунг Электроникс Ко., Лтд. Устройство, способ и система для реконструкции 3d-модели объекта
US10360718B2 (en) 2015-08-14 2019-07-23 Samsung Electronics Co., Ltd. Method and apparatus for constructing three dimensional model of object
IL286156B1 (en) * 2015-11-20 2024-03-01 Magic Leap Inc Methods and systems for large-scale determination of RGBD camera displays
KR20180090355A (ko) * 2015-12-04 2018-08-10 매직 립, 인코포레이티드 리로컬리제이션 시스템들 및 방법들
US10293259B2 (en) 2015-12-09 2019-05-21 Microsoft Technology Licensing, Llc Control of audio effects using volumetric data
US10045144B2 (en) 2015-12-09 2018-08-07 Microsoft Technology Licensing, Llc Redirecting audio output
US9937422B2 (en) 2015-12-09 2018-04-10 Microsoft Technology Licensing, Llc Voxel-based, real-time acoustic adjustment
US20170171525A1 (en) 2015-12-14 2017-06-15 Sony Corporation Electronic system including image processing unit for reconstructing 3d surfaces and iterative triangulation method
WO2017111860A1 (en) 2015-12-26 2017-06-29 Intel Corporation Identification of objects for three-dimensional depth imaging
JP6823403B2 (ja) * 2016-02-15 2021-02-03 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、情報処理方法およびプログラム
EP4194971A1 (en) 2016-02-23 2023-06-14 DEKA Products Limited Partnership Method for establishing the center of gravity for a mobility device
US10908045B2 (en) 2016-02-23 2021-02-02 Deka Products Limited Partnership Mobility device
US10926756B2 (en) 2016-02-23 2021-02-23 Deka Products Limited Partnership Mobility device
US11399995B2 (en) 2016-02-23 2022-08-02 Deka Products Limited Partnership Mobility device
US10841491B2 (en) 2016-03-16 2020-11-17 Analog Devices, Inc. Reducing power consumption for time-of-flight depth imaging
US10762712B2 (en) 2016-04-01 2020-09-01 Pcms Holdings, Inc. Apparatus and method for supporting interactive augmented reality functionalities
CA3210026A1 (en) * 2016-04-14 2017-10-19 Deka Products Limited Partnership User control device for a transporter
CN105976306B (zh) * 2016-04-28 2019-06-04 浙江大学 一种基于能耗-误差预算的实时绘制方法
JP6625745B2 (ja) * 2016-06-16 2019-12-25 株式会社ソニー・インタラクティブエンタテインメント 画像処理装置
JP6088094B1 (ja) * 2016-06-20 2017-03-01 株式会社Cygames 複合現実環境を作成するためのシステム等
US10134182B1 (en) * 2016-06-23 2018-11-20 Zoox, Inc. Large scale dense mapping
IL294134B2 (en) 2016-08-02 2023-10-01 Magic Leap Inc Virtual and augmented reality systems at a fixed distance and methods
EP3494447B1 (en) 2016-08-04 2021-05-19 Reification Inc. Methods for simultaneous localization and mapping (slam) and related apparatus and systems
CN106407985B (zh) * 2016-08-26 2019-09-10 中国电子科技集团公司第三十八研究所 一种三维人体头部点云特征提取方法及其装置
US10013798B2 (en) * 2016-08-30 2018-07-03 The Boeing Company 3D vehicle localizing using geoarcs
TWI588685B (zh) * 2016-08-31 2017-06-21 宅妝股份有限公司 虛擬實境與擴增實境的建置系統及其方法
WO2018062251A1 (ja) * 2016-09-30 2018-04-05 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置
US10380762B2 (en) 2016-10-07 2019-08-13 Vangogh Imaging, Inc. Real-time remote collaboration and virtual presence using simultaneous localization and mapping to construct a 3D model and update a scene based on sparse data
US10341568B2 (en) 2016-10-10 2019-07-02 Qualcomm Incorporated User interface to assist three dimensional scanning of objects
AT16852U1 (de) * 2016-10-13 2020-11-15 A Tron3D Gmbh Verfahren zum Erfassen und Optimieren von dreidimensionalen Oberflächengeometrien
CN106504073A (zh) * 2016-11-09 2017-03-15 大连文森特软件科技有限公司 基于ar虚拟现实技术的待售房屋考察及装修方案竞价系统
CN108235053B (zh) * 2016-12-19 2020-07-07 中国电信股份有限公司 交互式渲染方法、设备、终端和系统
US11300964B2 (en) * 2016-12-20 2022-04-12 Korea Advanced Institute Of Science And Technology Method and system for updating occupancy map for a robotic system
US11430148B2 (en) 2016-12-28 2022-08-30 Datalogic Ip Tech S.R.L. Apparatus and method for pallet volume dimensioning through 3D vision capable unmanned aerial vehicles (UAV)
CN106530395A (zh) * 2016-12-30 2017-03-22 碰海科技(北京)有限公司 深度及彩色成像一体式手持三维建模装置
US10721578B2 (en) * 2017-01-06 2020-07-21 Microsoft Technology Licensing, Llc Spatial audio warp compensator
US10812936B2 (en) 2017-01-23 2020-10-20 Magic Leap, Inc. Localization determination for mixed reality systems
US11040450B2 (en) * 2017-02-07 2021-06-22 Veo Robotics, Inc. Dynamically determining and monitoring workspace safe zones using semantic representations of workpieces
WO2018148924A1 (zh) * 2017-02-17 2018-08-23 深圳市大疆创新科技有限公司 用于三维点云重建的方法和装置
CA3054619C (en) 2017-03-17 2024-01-30 Magic Leap, Inc. Mixed reality system with virtual content warping and method of generating virtual content using same
IL298822A (en) 2017-03-17 2023-02-01 Magic Leap Inc A mixed reality system with color virtual content distortion and a method for creating virtual content using it
JP7009495B2 (ja) 2017-03-17 2022-01-25 マジック リープ, インコーポレイテッド 多ソース仮想コンテンツ合成を伴う複合現実システムおよびそれを使用して仮想コンテンツを生成する方法
US11423005B2 (en) 2017-04-03 2022-08-23 Mitsubishi Electric Corporation Map data generator and method for generating map data
US11317966B2 (en) 2017-07-19 2022-05-03 Biosense Webster (Israel) Ltd. Impedance-based position tracking performance using scattered interpolant
US10915114B2 (en) * 2017-07-27 2021-02-09 AI Incorporated Method and apparatus for combining data to construct a floor plan
US10300373B2 (en) * 2017-09-08 2019-05-28 Niantic, Inc. Methods and systems for generating detailed datasets of an environment via gameplay
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
KR102129458B1 (ko) * 2017-11-22 2020-07-08 한국전자통신연구원 객체의 3차원 정보 복원 방법 및 장치
EP3489627B1 (en) 2017-11-24 2020-08-19 Leica Geosystems AG True to size 3d-model conglomeration
JP7145220B2 (ja) * 2017-12-22 2022-09-30 マジック リープ, インコーポレイテッド 多段階ブロックメッシュ簡略化
CN108122281B (zh) * 2017-12-22 2021-08-24 洛阳中科众创空间科技有限公司 一种大范围实时人体三维重建方法
US10839585B2 (en) 2018-01-05 2020-11-17 Vangogh Imaging, Inc. 4D hologram: real-time remote avatar creation and animation control
CN110494863B (zh) 2018-03-15 2024-02-09 辉达公司 确定自主车辆的可驾驶自由空间
CN108537844B (zh) * 2018-03-16 2021-11-26 上海交通大学 一种融合几何信息的视觉slam回环检测方法
US11080540B2 (en) 2018-03-20 2021-08-03 Vangogh Imaging, Inc. 3D vision processing using an IP block
US10977856B2 (en) * 2018-03-29 2021-04-13 Microsoft Technology Licensing, Llc Using a low-detail representation of surfaces to influence a high-detail representation of the surfaces
US10810783B2 (en) 2018-04-03 2020-10-20 Vangogh Imaging, Inc. Dynamic real-time texture alignment for 3D models
US11170224B2 (en) 2018-05-25 2021-11-09 Vangogh Imaging, Inc. Keyframe-based object scanning and tracking
WO2019231463A1 (en) * 2018-06-01 2019-12-05 Hewlett-Packard Development Company, L.P. Boundary maps for virtual reality systems
US11681293B2 (en) 2018-06-07 2023-06-20 Deka Products Limited Partnership System and method for distributed utility service execution
US11386614B2 (en) * 2018-06-15 2022-07-12 Google Llc Shading images in three-dimensional content system
EP3751849A4 (en) 2018-06-28 2021-03-31 Guangdong Oppo Mobile Telecommunications Corp., Ltd. DEPTH PROCESSOR AND THREE-DIMENSIONAL IMAGE DEVICE
WO2020023383A1 (en) 2018-07-23 2020-01-30 Magic Leap, Inc. Mixed reality system with virtual content warping and method of generating virtual content using same
WO2020023523A1 (en) 2018-07-23 2020-01-30 Magic Leap, Inc. Intra-field sub code timing in field sequential displays
US10636114B2 (en) * 2018-08-04 2020-04-28 Beijing Jingdong Shangke Information Technology Co., Ltd. System and method for scan-matching oriented visual slam
KR102521221B1 (ko) * 2018-09-12 2023-04-13 주식회사 케이티 단말의 싱글 카메라를 이용한 혼합 현실 제작 방법, 장치 및 컴퓨터 프로그램
US10733800B2 (en) * 2018-09-17 2020-08-04 Facebook Technologies, Llc Reconstruction of essential visual cues in mixed reality applications
KR102108170B1 (ko) * 2018-09-19 2020-05-08 인하대학교 산학협력단 골프 드론
CN109387204B (zh) * 2018-09-26 2020-08-28 东北大学 面向室内动态环境的移动机器人同步定位与构图方法
KR102158323B1 (ko) * 2018-10-22 2020-09-21 에스케이텔레콤 주식회사 공간 스캔 장치 및 그 정보 처리 방법
KR102195965B1 (ko) * 2018-12-14 2020-12-28 한국전자기술연구원 3차원 재구성 방법, 이를 위한 장치 및 시스템
JP7458405B2 (ja) * 2018-12-20 2024-03-29 パックサイズ リミティド ライアビリティ カンパニー 部分的視覚情報に基づく対象物寸法付けのためのシステムと方法
KR102169243B1 (ko) * 2018-12-27 2020-10-23 포항공과대학교 산학협력단 이차원 의미론적 분할 정보의 점진적인 혼합을 통한 삼차원 복원 모델의 의미론적 분할 방법
US10740960B2 (en) 2019-01-11 2020-08-11 Microsoft Technology Licensing, Llc Virtual object placement for augmented reality
US11288842B2 (en) * 2019-02-15 2022-03-29 Interaptix Inc. Method and system for re-projecting and combining sensor data for visualization
CN113811886B (zh) 2019-03-11 2024-03-19 辉达公司 自主机器应用中的路口检测和分类
KR102585498B1 (ko) 2019-03-20 2023-10-06 엘지전자 주식회사 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신장치 및 포인트 클라우드 데이터 수신 방법
CN109978931B (zh) * 2019-04-04 2021-12-31 中科海微(北京)科技有限公司 三维场景重建方法及设备、存储介质
WO2020208976A1 (ja) 2019-04-08 2020-10-15 ソニー株式会社 画像処理装置、および画像処理方法、並びにプログラム
US11170552B2 (en) 2019-05-06 2021-11-09 Vangogh Imaging, Inc. Remote visualization of three-dimensional (3D) animation with synchronized voice in real-time
US11232633B2 (en) 2019-05-06 2022-01-25 Vangogh Imaging, Inc. 3D object capture and object reconstruction using edge cloud computing resources
US11455771B2 (en) 2019-05-15 2022-09-27 Electronic Theatre Controls, Inc. Venue survey using unmanned aerial vehicle
JP2022533207A (ja) 2019-05-21 2022-07-21 マジック リープ, インコーポレイテッド 稠密3d再構築データのキャッシュおよび更新
US11030772B2 (en) * 2019-06-03 2021-06-08 Microsoft Technology Licensing, Llc Pose synthesis
US11726209B2 (en) * 2019-06-25 2023-08-15 Faro Technologies, Inc. Artifact filtering using artificial intelligence
CN110286906B (zh) * 2019-06-25 2024-02-02 网易(杭州)网络有限公司 用户界面显示方法、装置、存储介质与移动终端
CN114008685A (zh) * 2019-06-25 2022-02-01 辉达公司 用于自主机器应用的路口区域检测和分类
EP3991091A4 (en) 2019-06-26 2023-11-08 Magic Leap, Inc. CAPACING AND UPDATE OF DENSE 3D RECONSTRUCTION DATA
JP2022537817A (ja) * 2019-06-28 2022-08-30 マジック リープ, インコーポレイテッド 動的オクルージョンのための高速の手のメッシュ化
US20220377327A1 (en) * 2019-07-03 2022-11-24 Lg Electronics Inc. Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
US10818071B1 (en) * 2019-07-26 2020-10-27 Google Llc Image-based geometric fusion of multiple depth images using ray casting
US11423602B2 (en) * 2019-08-07 2022-08-23 Magic Leap, Inc. Fast 3D reconstruction with depth information
GB2591857B (en) * 2019-08-23 2023-12-06 Shang Hai Yiwo Information Tech Co Ltd Photography-based 3D modeling system and method, and automatic 3D modeling apparatus and method
CN110505463A (zh) * 2019-08-23 2019-11-26 上海亦我信息技术有限公司 基于拍照的实时自动3d建模方法
JP2022546397A (ja) 2019-08-31 2022-11-04 エヌビディア コーポレーション 自律運転アプリケーションのためのマップ作成及びローカリゼーション
WO2021054342A1 (ja) * 2019-09-20 2021-03-25 ソニー株式会社 情報処理装置および制御方法
JP2021051537A (ja) * 2019-09-25 2021-04-01 ミストウォーカー・コーポレーション 画像表示システム、方法、およびプログラム
KR102335817B1 (ko) * 2019-11-26 2021-12-07 서울과학기술대학교 산학협력단 사용자 위치 연산 장치
US11335063B2 (en) 2020-01-03 2022-05-17 Vangogh Imaging, Inc. Multiple maps for 3D object scanning and reconstruction
WO2021173850A1 (en) 2020-02-27 2021-09-02 Magic Leap, Inc. Cross reality system for large scale environment reconstruction
US11688073B2 (en) 2020-04-14 2023-06-27 Samsung Electronics Co., Ltd. Method and system for depth map reconstruction
CN111583391B (zh) * 2020-04-29 2023-07-14 北京深测科技有限公司 一种物体三维重建方法和系统
JP2022021027A (ja) * 2020-07-21 2022-02-02 ソニーグループ株式会社 情報処理装置、情報処理方法、及びコンピュータが読み取り可能な記録媒体
US11978266B2 (en) 2020-10-21 2024-05-07 Nvidia Corporation Occupant attentiveness and cognitive load monitoring for autonomous and semi-autonomous driving applications
US11615594B2 (en) 2021-01-21 2023-03-28 Samsung Electronics Co., Ltd. Systems and methods for reconstruction of dense depth maps
WO2022191373A1 (en) * 2021-03-11 2022-09-15 Samsung Electronics Co., Ltd. Electronic device and controlling method of electronic device
CN113117344B (zh) * 2021-04-01 2023-07-18 广州虎牙科技有限公司 体素建筑的生成方法、装置、电子设备及存储介质
CN113190515B (zh) * 2021-05-14 2022-11-29 重庆市勘测院 基于异构并行计算的城市级海量点云坐标转换方法
CN113284251B (zh) * 2021-06-11 2022-06-03 清华大学深圳国际研究生院 一种自适应视角的级联网络三维重建方法及系统
US11580734B1 (en) * 2021-07-26 2023-02-14 At&T Intellectual Property I, L.P. Distinguishing real from virtual objects in immersive reality
US20230215108A1 (en) * 2021-12-31 2023-07-06 Samsung Electronics Co., Ltd. System and method for adaptive volume-based scene reconstruction for xr platform applications
US11908080B2 (en) * 2022-04-04 2024-02-20 Tencent America LLC Generating surfaces with arbitrary topologies using signed distance fields
CN115268646A (zh) * 2022-08-02 2022-11-01 清华大学 一种人机协同建造过程感知系统、装置、分析方法和介质
US20240169673A1 (en) * 2022-11-21 2024-05-23 Samsung Electronics Co., Ltd. Mesh transformation with efficient depth reconstruction and filtering in passthrough augmented reality (ar) systems

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997034261A1 (en) 1996-03-11 1997-09-18 Avid Technology, Inc. A computer system and process for defining and manufacturing images using structured objects with variable edge characteristics
WO2004079654A2 (en) 2003-03-07 2004-09-16 Martin, Philip, John Image processing apparatus and methods
WO2005094277A2 (en) 2004-03-25 2005-10-13 Pixar Volumetric hair rendering
US20050253842A1 (en) 2003-05-14 2005-11-17 Pixar Hair rendering method and apparatus
US20060006309A1 (en) * 2004-07-06 2006-01-12 Jerry Dimsdale Method and apparatus for high resolution 3D imaging
US20090027396A1 (en) 2007-07-26 2009-01-29 Tufts University Method for fitting a parametric representation to a set of objects
US20090041315A1 (en) 2007-08-07 2009-02-12 Siemens Medical Solutions Usa, Inc. System and Method for Robust Segmentation of Tubular Structures in 2D and 3D Images
US20090244065A1 (en) * 2005-12-08 2009-10-01 University Of Washington Solid modeling based on volumetric scans
US20120194516A1 (en) 2011-01-31 2012-08-02 Microsoft Corporation Three-Dimensional Environment Reconstruction

Family Cites Families (203)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4695953A (en) 1983-08-25 1987-09-22 Blair Preston E TV animation interactively controlled by the viewer
US4630910A (en) 1984-02-16 1986-12-23 Robotic Vision Systems, Inc. Method of measuring in three-dimensions at high speed
US4627620A (en) 1984-12-26 1986-12-09 Yang John P Electronic athlete trainer for improving skills in reflex, speed and accuracy
US4645458A (en) 1985-04-15 1987-02-24 Harald Phillip Athletic evaluation and training apparatus
US4702475A (en) 1985-08-16 1987-10-27 Innovating Training Products, Inc. Sports technique and reaction training system
US4843568A (en) 1986-04-11 1989-06-27 Krueger Myron W Real time perception of and response to the actions of an unencumbered participant/user
US4711543A (en) 1986-04-14 1987-12-08 Blair Preston E TV animation interactively controlled by the viewer
US4796997A (en) 1986-05-27 1989-01-10 Synthetic Vision Systems, Inc. Method and system for high-speed, 3-D imaging of an object at a vision station
US5184295A (en) 1986-05-30 1993-02-02 Mann Ralph V System and method for teaching physical skills
US4751642A (en) 1986-08-29 1988-06-14 Silva John M Interactive sports simulation system with physiological sensing and psychological conditioning
US4809065A (en) 1986-12-01 1989-02-28 Kabushiki Kaisha Toshiba Interactive system and related method for displaying data to produce a three-dimensional image of an object
US4817950A (en) 1987-05-08 1989-04-04 Goo Paul E Video game control unit and attitude sensor
US5239464A (en) 1988-08-04 1993-08-24 Blair Preston E Interactive video system providing repeated switching of multiple tracks of actions sequences
US5239463A (en) 1988-08-04 1993-08-24 Blair Preston E Method and apparatus for player interaction with animated characters and objects
US4901362A (en) 1988-08-08 1990-02-13 Raytheon Company Method of recognizing patterns
US4893183A (en) 1988-08-11 1990-01-09 Carnegie-Mellon University Robotic vision system
JPH02199526A (ja) 1988-10-14 1990-08-07 David G Capper 制御インターフェース装置
US4925189A (en) 1989-01-13 1990-05-15 Braeunig Thomas F Body-mounted video game exercise device
US5229756A (en) 1989-02-07 1993-07-20 Yamaha Corporation Image control apparatus
US5469740A (en) 1989-07-14 1995-11-28 Impulse Technology, Inc. Interactive video testing and training system
JPH03103822U (ko) 1990-02-13 1991-10-29
US5101444A (en) 1990-05-18 1992-03-31 Panacea, Inc. Method and apparatus for high speed object location
US5148154A (en) 1990-12-04 1992-09-15 Sony Corporation Of America Multi-dimensional user interface
US5534917A (en) 1991-05-09 1996-07-09 Very Vivid, Inc. Video image based control system
US5417210A (en) 1992-05-27 1995-05-23 International Business Machines Corporation System and method for augmentation of endoscopic surgery
US5295491A (en) 1991-09-26 1994-03-22 Sam Technology, Inc. Non-invasive human neurocognitive performance capability testing method and system
US6054991A (en) 1991-12-02 2000-04-25 Texas Instruments Incorporated Method of modeling player position and movement in a virtual reality system
EP0590101B1 (en) 1991-12-03 1999-06-23 French Sportech Corporation Interactive video testing and training system
US5875108A (en) 1991-12-23 1999-02-23 Hoffberg; Steven M. Ergonomic man-machine interface incorporating adaptive pattern recognition based control system
JPH07325934A (ja) 1992-07-10 1995-12-12 Walt Disney Co:The 仮想世界に向上したグラフィックスを提供する方法および装置
US5999908A (en) 1992-08-06 1999-12-07 Abelow; Daniel H. Customer-based product design module
US5320538A (en) 1992-09-23 1994-06-14 Hughes Training, Inc. Interactive aircraft training system and method
IT1257294B (it) 1992-11-20 1996-01-12 Dispositivo atto a rilevare la configurazione di un'unita' fisiologicadistale,da utilizzarsi in particolare come interfaccia avanzata per macchine e calcolatori.
US5495576A (en) 1993-01-11 1996-02-27 Ritchey; Kurtis J. Panoramic image based virtual reality/telepresence audio-visual system and method
US5690582A (en) 1993-02-02 1997-11-25 Tectrix Fitness Equipment, Inc. Interactive exercise apparatus
JP2799126B2 (ja) 1993-03-26 1998-09-17 株式会社ナムコ ビデオゲーム装置及びゲーム用入力装置
US5405152A (en) 1993-06-08 1995-04-11 The Walt Disney Company Method and apparatus for an interactive video game with physical feedback
US5454043A (en) 1993-07-30 1995-09-26 Mitsubishi Electric Research Laboratories, Inc. Dynamic and static hand gesture recognition through low-level image analysis
US5423554A (en) 1993-09-24 1995-06-13 Metamedia Ventures, Inc. Virtual reality game method and apparatus
US5980256A (en) 1993-10-29 1999-11-09 Carmein; David E. E. Virtual reality system with enhanced sensory apparatus
JP3419050B2 (ja) 1993-11-19 2003-06-23 株式会社日立製作所 入力装置
US5347306A (en) 1993-12-17 1994-09-13 Mitsubishi Electric Research Laboratories, Inc. Animated electronic meeting place
JP2552427B2 (ja) 1993-12-28 1996-11-13 コナミ株式会社 テレビ遊戯システム
US5577981A (en) 1994-01-19 1996-11-26 Jarvik; Robert Virtual reality exercise machine and computer controlled video system
US5580249A (en) 1994-02-14 1996-12-03 Sarcos Group Apparatus for simulating mobility of a human
US5597309A (en) 1994-03-28 1997-01-28 Riess; Thomas Method and apparatus for treatment of gait problems associated with parkinson's disease
US5385519A (en) 1994-04-19 1995-01-31 Hsu; Chi-Hsueh Running machine
US5524637A (en) 1994-06-29 1996-06-11 Erickson; Jon W. Interactive system for measuring physiological exertion
JP3514822B2 (ja) * 1994-06-29 2004-03-31 株式会社東芝 画像処理装置
US5563988A (en) 1994-08-01 1996-10-08 Massachusetts Institute Of Technology Method and system for facilitating wireless, full-body, real-time user interaction with a digitally represented visual environment
US6714665B1 (en) 1994-09-02 2004-03-30 Sarnoff Corporation Fully automated iris recognition system utilizing wide and narrow fields of view
US5516105A (en) 1994-10-06 1996-05-14 Exergame, Inc. Acceleration activated joystick
US5638300A (en) 1994-12-05 1997-06-10 Johnson; Lee E. Golf swing analysis system
JPH08161292A (ja) 1994-12-09 1996-06-21 Matsushita Electric Ind Co Ltd 混雑度検知方法およびそのシステム
US5594469A (en) 1995-02-21 1997-01-14 Mitsubishi Electric Information Technology Center America Inc. Hand gesture machine control system
US5682229A (en) 1995-04-14 1997-10-28 Schwartz Electro-Optics, Inc. Laser range camera
US5913727A (en) 1995-06-02 1999-06-22 Ahdoot; Ned Interactive movement and contact simulation game
WO1996041304A1 (en) 1995-06-07 1996-12-19 The Trustees Of Columbia University In The City Of New York Apparatus and methods for determining the three-dimensional shape of an object using active illumination and relative blurring in two images due to defocus
US5682196A (en) 1995-06-22 1997-10-28 Actv, Inc. Three-dimensional (3D) video presentation system providing interactive 3D presentation with personalized audio responses for multiple viewers
US5702323A (en) 1995-07-26 1997-12-30 Poulton; Craig K. Electronic exercise enhancer
US6073489A (en) 1995-11-06 2000-06-13 French; Barry J. Testing and training system for assessing the ability of a player to complete a task
US6430997B1 (en) 1995-11-06 2002-08-13 Trazer Technologies, Inc. System and method for tracking and assessing movement skills in multidimensional space
US6098458A (en) 1995-11-06 2000-08-08 Impulse Technology, Ltd. Testing and training system for assessing movement and agility skills without a confining field
US6308565B1 (en) 1995-11-06 2001-10-30 Impulse Technology Ltd. System and method for tracking and assessing movement skills in multidimensional space
US6176782B1 (en) 1997-12-22 2001-01-23 Philips Electronics North America Corp. Motion-based command generation technology
US5933125A (en) 1995-11-27 1999-08-03 Cae Electronics, Ltd. Method and apparatus for reducing instability in the display of a virtual environment
US5696591A (en) 1996-01-05 1997-12-09 Eastman Kodak Company Apparatus and method for detecting longitudinally oriented flaws in a moving web
US5641288A (en) 1996-01-11 1997-06-24 Zaenglein, Jr.; William G. Shooting simulating process and training device using a virtual reality display screen
JP2000510013A (ja) 1996-05-08 2000-08-08 リアル ヴィジョン コーポレイション 位置検出を用いたリアルタイムシミュレーション
US6173066B1 (en) 1996-05-21 2001-01-09 Cybernet Systems Corporation Pose determination and tracking by matching 3D objects to a 2D sensor
US6084979A (en) * 1996-06-20 2000-07-04 Carnegie Mellon University Method for creating virtual reality
US5989157A (en) 1996-08-06 1999-11-23 Walton; Charles A. Exercising system with electronic inertial game playing
EP0959444A4 (en) 1996-08-14 2005-12-07 Nurakhmed Nurislamovic Latypov METHOD FOR TRACKING AND REPRESENTING THE POSITION AND ORIENTATION OF A SUBJECT IN THE SPACE, METHOD FOR PRESENTING A VIRTUAL SPACE THEREON, AND SYSTEMS FOR CARRYING OUT SAID METHODS
JP3064928B2 (ja) 1996-09-20 2000-07-12 日本電気株式会社 被写体抽出方式
US7098435B2 (en) * 1996-10-25 2006-08-29 Frederick E. Mueller Method and apparatus for scanning three-dimensional objects
EP0849697B1 (en) 1996-12-20 2003-02-12 Hitachi Europe Limited A hand gesture recognition system and method
US6009210A (en) 1997-03-05 1999-12-28 Digital Equipment Corporation Hands-free interface to a virtual reality environment using head tracking
US6100896A (en) 1997-03-24 2000-08-08 Mitsubishi Electric Information Technology Center America, Inc. System for designing graphical multi-participant environments
US5877803A (en) 1997-04-07 1999-03-02 Tritech Mircoelectronics International, Ltd. 3-D image detector
US6215898B1 (en) 1997-04-15 2001-04-10 Interval Research Corporation Data processing system and method
JP3077745B2 (ja) 1997-07-31 2000-08-14 日本電気株式会社 データ処理方法および装置、情報記憶媒体
US6188777B1 (en) 1997-08-01 2001-02-13 Interval Research Corporation Method and apparatus for personnel detection and tracking
US6289112B1 (en) 1997-08-22 2001-09-11 International Business Machines Corporation System and method for determining block direction in fingerprint images
US6720949B1 (en) 1997-08-22 2004-04-13 Timothy R. Pryor Man machine interfaces and applications
AUPO894497A0 (en) 1997-09-02 1997-09-25 Xenotech Research Pty Ltd Image processing method and apparatus
JP3813343B2 (ja) * 1997-09-09 2006-08-23 三洋電機株式会社 3次元モデリング装置
EP0905644A3 (en) 1997-09-26 2004-02-25 Matsushita Electric Industrial Co., Ltd. Hand gesture recognizing device
US6141463A (en) 1997-10-10 2000-10-31 Electric Planet Interactive Method and system for estimating jointed-figure configurations
AU9808298A (en) 1997-10-15 1999-05-03 Electric Planet, Inc. A system and method for generating an animatable character
US6411744B1 (en) 1997-10-15 2002-06-25 Electric Planet, Inc. Method and apparatus for performing a clean background subtraction
US6101289A (en) 1997-10-15 2000-08-08 Electric Planet, Inc. Method and apparatus for unencumbered capture of an object
US6072494A (en) 1997-10-15 2000-06-06 Electric Planet, Inc. Method and apparatus for real-time gesture recognition
US6130677A (en) 1997-10-15 2000-10-10 Electric Planet, Inc. Interactive computer vision system
US6181343B1 (en) 1997-12-23 2001-01-30 Philips Electronics North America Corp. System and method for permitting three-dimensional navigation through a virtual reality environment using camera-based gesture inputs
US6504569B1 (en) 1998-04-22 2003-01-07 Grass Valley (U.S.), Inc. 2-D extended image generation from 3-D data extracted from a video sequence
US6159100A (en) 1998-04-23 2000-12-12 Smith; Michael D. Virtual reality game
US6077201A (en) 1998-06-12 2000-06-20 Cheng; Chau-Yang Exercise bicycle
US6801637B2 (en) 1999-08-10 2004-10-05 Cybernet Systems Corporation Optical body tracker
US7036094B1 (en) 1998-08-10 2006-04-25 Cybernet Systems Corporation Behavior recognition system
US20010008561A1 (en) 1999-08-10 2001-07-19 Paul George V. Real-time object tracking system
US7121946B2 (en) 1998-08-10 2006-10-17 Cybernet Systems Corporation Real-time head tracking system for computer games and other applications
US6950534B2 (en) 1998-08-10 2005-09-27 Cybernet Systems Corporation Gesture-controlled interfaces for self-service machines and other applications
US6681031B2 (en) 1998-08-10 2004-01-20 Cybernet Systems Corporation Gesture-controlled interfaces for self-service machines and other applications
IL126284A (en) 1998-09-17 2002-12-01 Netmor Ltd System and method for three dimensional positioning and tracking
DE69936620T2 (de) 1998-09-28 2008-05-21 Matsushita Electric Industrial Co., Ltd., Kadoma Verfahren und Vorrichtung zum Segmentieren von Handgebärden
JP3740865B2 (ja) * 1998-10-08 2006-02-01 コニカミノルタホールディングス株式会社 多視点3次元データの合成方法および記録媒体
AU1930700A (en) 1998-12-04 2000-06-26 Interval Research Corporation Background estimation and segmentation based on range and color
US6147678A (en) 1998-12-09 2000-11-14 Lucent Technologies Inc. Video hand image-three-dimensional computer interface with multiple degrees of freedom
US7202898B1 (en) 1998-12-16 2007-04-10 3Dv Systems Ltd. Self gating photosurface
US6570555B1 (en) 1998-12-30 2003-05-27 Fuji Xerox Co., Ltd. Method and apparatus for embodied conversational characters with multimodal input/output in an interface device
US6363160B1 (en) 1999-01-22 2002-03-26 Intel Corporation Interface using pattern recognition and tracking
US7003134B1 (en) 1999-03-08 2006-02-21 Vulcan Patents Llc Three dimensional object pose estimation which employs dense depth information
US6299308B1 (en) 1999-04-02 2001-10-09 Cybernet Systems Corporation Low-cost non-imaging eye tracker system for computer control
US20040075738A1 (en) 1999-05-12 2004-04-22 Sean Burke Spherical surveillance system architecture
US6503195B1 (en) 1999-05-24 2003-01-07 University Of North Carolina At Chapel Hill Methods and systems for real-time structured light depth extraction and endoscope using real-time structured light depth extraction
US6476834B1 (en) 1999-05-28 2002-11-05 International Business Machines Corporation Dynamic creation of selectable items on surfaces
US6873723B1 (en) 1999-06-30 2005-03-29 Intel Corporation Segmenting three-dimensional video images using stereo
US6738066B1 (en) 1999-07-30 2004-05-18 Electric Plant, Inc. System, method and article of manufacture for detecting collisions between video images generated by a camera and an object depicted on a display
US7113918B1 (en) 1999-08-01 2006-09-26 Electric Planet, Inc. Method for video enabled electronic commerce
US7050606B2 (en) 1999-08-10 2006-05-23 Cybernet Systems Corporation Tracking and gesture recognition system particularly suited to vehicular control applications
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
US6663491B2 (en) 2000-02-18 2003-12-16 Namco Ltd. Game apparatus, storage medium and computer program that adjust tempo of sound
US6633294B1 (en) 2000-03-09 2003-10-14 Seth Rosenthal Method and apparatus for using captured high density motion for animation
EP1152261A1 (en) 2000-04-28 2001-11-07 CSEM Centre Suisse d'Electronique et de Microtechnique SA Device and method for spatially resolved photodetection and demodulation of modulated electromagnetic waves
US6640202B1 (en) 2000-05-25 2003-10-28 International Business Machines Corporation Elastic sensor mesh system for 3-dimensional measurement, mapping and kinematics applications
US6731799B1 (en) 2000-06-01 2004-05-04 University Of Washington Object segmentation with background extraction and moving boundary techniques
US6788809B1 (en) 2000-06-30 2004-09-07 Intel Corporation System and method for gesture recognition in three dimensions using stereo imaging and color vision
US20020024517A1 (en) * 2000-07-14 2002-02-28 Komatsu Ltd. Apparatus and method for three-dimensional image production and presenting real objects in virtual three-dimensional space
US7227526B2 (en) 2000-07-24 2007-06-05 Gesturetek, Inc. Video-based image control system
US7058204B2 (en) 2000-10-03 2006-06-06 Gesturetek, Inc. Multiple camera control system
EP1195719A3 (en) * 2000-10-04 2004-12-01 TeraRecon, Inc. Rendering memory in a volume rendering system
US7039676B1 (en) 2000-10-31 2006-05-02 International Business Machines Corporation Using video image analysis to automatically transmit gestures over a network in a chat or instant messaging session
US6735387B1 (en) 2001-01-10 2004-05-11 Tim Schnell Motion detector camera
US7034818B2 (en) 2001-03-16 2006-04-25 Mitsubishi Electric Research Laboratories, Inc. System and method for converting range data to 3D models
US6539931B2 (en) 2001-04-16 2003-04-01 Koninklijke Philips Electronics N.V. Ball throwing assistant
US8035612B2 (en) 2002-05-28 2011-10-11 Intellectual Ventures Holding 67 Llc Self-contained interactive video display system
US7259747B2 (en) 2001-06-05 2007-08-21 Reactrix Systems, Inc. Interactive video display system
GB2378337B (en) * 2001-06-11 2005-04-13 Canon Kk 3D Computer modelling apparatus
JP3420221B2 (ja) 2001-06-29 2003-06-23 株式会社コナミコンピュータエンタテインメント東京 ゲーム装置及びプログラム
US6940538B2 (en) 2001-08-29 2005-09-06 Sony Corporation Extracting a depth map from known camera and model tracking data
US7023432B2 (en) 2001-09-24 2006-04-04 Geomagic, Inc. Methods, apparatus and computer program products that reconstruct surfaces from data point sets
US6937742B2 (en) 2001-09-28 2005-08-30 Bellsouth Intellectual Property Corporation Gesture activated home appliance
DE10297343T5 (de) * 2001-10-22 2005-01-27 University Of Southern California, Los Angeles Erweiterungsfähige Verfolgung durch Linien-Autokalibrierung
EP1497160B2 (de) 2002-04-19 2010-07-21 IEE INTERNATIONAL ELECTRONICS & ENGINEERING S.A. Sicherheitsvorrichtung für ein fahrzeug
US7710391B2 (en) 2002-05-28 2010-05-04 Matthew Bell Processing an image utilizing a spatially varying pattern
US7348963B2 (en) 2002-05-28 2008-03-25 Reactrix Systems, Inc. Interactive video display system
US7170492B2 (en) 2002-05-28 2007-01-30 Reactrix Systems, Inc. Interactive video display system
US7489812B2 (en) 2002-06-07 2009-02-10 Dynamic Digital Depth Research Pty Ltd. Conversion and encoding techniques
US6974373B2 (en) * 2002-08-02 2005-12-13 Geissler Technologies, Llc Apparatus and methods for the volumetric and dimensional measurement of livestock
EP1567988A1 (en) * 2002-10-15 2005-08-31 University Of Southern California Augmented virtual environments
US7576727B2 (en) 2002-12-13 2009-08-18 Matthew Bell Interactive directed light/sound system
US7272467B2 (en) 2002-12-17 2007-09-18 Evolution Robotics, Inc. Systems and methods for filtering potentially unreliable visual data for visual simultaneous localization and mapping
JP4235729B2 (ja) 2003-02-03 2009-03-11 国立大学法人静岡大学 距離画像センサ
US7257237B1 (en) * 2003-03-07 2007-08-14 Sandia Corporation Real time markerless motion tracking using linked kinematic chains
EP1477924B1 (en) 2003-03-31 2007-05-02 HONDA MOTOR CO., Ltd. Gesture recognition apparatus, method and program
US7372977B2 (en) 2003-05-29 2008-05-13 Honda Motor Co., Ltd. Visual tracking using depth data
US8072470B2 (en) 2003-05-29 2011-12-06 Sony Computer Entertainment Inc. System and method for providing a real-time three-dimensional interactive environment
US7620202B2 (en) 2003-06-12 2009-11-17 Honda Motor Co., Ltd. Target orientation estimation using depth sensing
JP4612635B2 (ja) 2003-10-09 2011-01-12 本田技研工業株式会社 低照度の深度に適応可能なコンピュータ視覚を用いた移動物体検出
WO2005041579A2 (en) 2003-10-24 2005-05-06 Reactrix Systems, Inc. Method and system for processing captured image information in an interactive video display system
US8134637B2 (en) 2004-01-28 2012-03-13 Microsoft Corporation Method and system to increase X-Y resolution in a depth (Z) camera using red, blue, green (RGB) sensing
CN100573548C (zh) 2004-04-15 2009-12-23 格斯图尔泰克股份有限公司 跟踪双手运动的方法和设备
US7831094B2 (en) 2004-04-27 2010-11-09 Honda Motor Co., Ltd. Simultaneous localization and mapping using multiple view feature descriptors
US7308112B2 (en) 2004-05-14 2007-12-11 Honda Motor Co., Ltd. Sign based human-machine interaction
DE602005024159D1 (de) * 2004-06-23 2010-11-25 Koninkl Philips Electronics Nv Virtuelle endoskopie
US7525543B2 (en) * 2004-08-09 2009-04-28 Siemens Medical Solutions Usa, Inc. High performance shading of large volumetric data using screen-space partial derivatives
US7704135B2 (en) 2004-08-23 2010-04-27 Harrison Jr Shelton E Integrated game system, method, and device
KR20060070280A (ko) 2004-12-20 2006-06-23 한국전자통신연구원 손 제스처 인식을 이용한 사용자 인터페이스 장치 및 그방법
EP1856470B1 (en) 2005-01-07 2013-02-27 Qualcomm Incorporated Detecting and tracking objects in images
US7430312B2 (en) 2005-01-07 2008-09-30 Gesturetek, Inc. Creating 3D images of objects by illuminating with infrared patterns
EP1849123A2 (en) 2005-01-07 2007-10-31 GestureTek, Inc. Optical flow based tilt sensor
CN101536494B (zh) 2005-02-08 2017-04-26 奥布隆工业有限公司 用于基于姿势的控制系统的系统和方法
US7860301B2 (en) 2005-02-11 2010-12-28 Macdonald Dettwiler And Associates Inc. 3D imaging system
WO2006099597A2 (en) 2005-03-17 2006-09-21 Honda Motor Co., Ltd. Pose estimation based on critical point analysis
US7389591B2 (en) 2005-05-17 2008-06-24 Gesturetek, Inc. Orientation-sensitive signal output
EP1752748B1 (en) 2005-08-12 2008-10-29 MESA Imaging AG Highly sensitive, fast pixel for use in an image sensor
US20080026838A1 (en) 2005-08-22 2008-01-31 Dunstan James E Multi-player non-role-playing virtual world games: method for two-way interaction between participants and multi-player virtual world games
US7944454B2 (en) 2005-09-07 2011-05-17 Fuji Xerox Co., Ltd. System and method for user monitoring interface of 3-D video streams from multiple cameras
JP4777433B2 (ja) 2005-10-27 2011-09-21 エヌイーシー ラボラトリーズ アメリカ インク ビデオ前景の分割方法
US7450736B2 (en) 2005-10-28 2008-11-11 Honda Motor Co., Ltd. Monocular tracking of 3D human motion with a coordinated mixture of factor analyzers
US7539557B2 (en) 2005-12-30 2009-05-26 Irobot Corporation Autonomous mobile robot
US7701439B2 (en) 2006-07-13 2010-04-20 Northrop Grumman Corporation Gesture recognition simulation system and method
US9348463B2 (en) 2006-08-03 2016-05-24 New York University Retroreflection based multitouch sensor, method and program
JP5395323B2 (ja) 2006-09-29 2014-01-22 ブレインビジョン株式会社 固体撮像素子
WO2008132563A2 (en) * 2006-10-31 2008-11-06 Koninklijke Philips Electronics N.V. Fast volume rendering
US8023726B2 (en) * 2006-11-10 2011-09-20 University Of Maryland Method and system for markerless motion capture using multiple cameras
US8351646B2 (en) 2006-12-21 2013-01-08 Honda Motor Co., Ltd. Human pose estimation and tracking using label assignment
US7412077B2 (en) 2006-12-29 2008-08-12 Motorola, Inc. Apparatus and methods for head pose estimation and head gesture detection
US7729530B2 (en) 2007-03-03 2010-06-01 Sergey Antonov Method and apparatus for 3-D data input to a personal computer with a multimedia oriented operating system
JP5380789B2 (ja) 2007-06-06 2014-01-08 ソニー株式会社 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
US7852262B2 (en) 2007-08-16 2010-12-14 Cybernet Systems Corporation Wireless mobile indoor/outdoor tracking system
GB2458305B (en) * 2008-03-13 2012-06-27 British Broadcasting Corp Providing a volumetric representation of an object
AU2009281762A1 (en) 2008-08-15 2010-02-18 Brown University Method and apparatus for estimating body shape
CN201254344Y (zh) 2008-08-20 2009-06-10 中国农业科学院草原研究所 植物标本及种子存贮器
US8610706B2 (en) 2008-10-04 2013-12-17 Microsoft Corporation Parallel surface reconstruction
US9245382B2 (en) 2008-10-04 2016-01-26 Microsoft Technology Licensing, Llc User-guided surface reconstruction
US8855819B2 (en) 2008-10-09 2014-10-07 Samsung Electronics Co., Ltd. Method and apparatus for simultaneous localization and mapping of robot
US9600067B2 (en) 2008-10-27 2017-03-21 Sri International System and method for generating a mixed reality environment
US8503720B2 (en) 2009-05-01 2013-08-06 Microsoft Corporation Human body pose estimation
US9377857B2 (en) 2009-05-01 2016-06-28 Microsoft Technology Licensing, Llc Show body position
US8379101B2 (en) 2009-05-29 2013-02-19 Microsoft Corporation Environment and/or target segmentation
CN101605211B (zh) * 2009-07-23 2011-01-05 杭州镭星科技有限公司 将虚拟三维建筑与现实环境实拍视频无缝合成的方法
US8682053B2 (en) * 2010-01-08 2014-03-25 Siemens Aktiengesellschaft Method for sampling volume data of an object in an imaging device

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997034261A1 (en) 1996-03-11 1997-09-18 Avid Technology, Inc. A computer system and process for defining and manufacturing images using structured objects with variable edge characteristics
WO2004079654A2 (en) 2003-03-07 2004-09-16 Martin, Philip, John Image processing apparatus and methods
US20050253842A1 (en) 2003-05-14 2005-11-17 Pixar Hair rendering method and apparatus
WO2005094277A2 (en) 2004-03-25 2005-10-13 Pixar Volumetric hair rendering
US20060006309A1 (en) * 2004-07-06 2006-01-12 Jerry Dimsdale Method and apparatus for high resolution 3D imaging
US20090244065A1 (en) * 2005-12-08 2009-10-01 University Of Washington Solid modeling based on volumetric scans
US20090027396A1 (en) 2007-07-26 2009-01-29 Tufts University Method for fitting a parametric representation to a set of objects
US20090041315A1 (en) 2007-08-07 2009-02-12 Siemens Medical Solutions Usa, Inc. System and Method for Robust Segmentation of Tubular Structures in 2D and 3D Images
US20120194516A1 (en) 2011-01-31 2012-08-02 Microsoft Corporation Three-Dimensional Environment Reconstruction

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"Fast and high quality fusion of depth maps." Proceedings of the international symposium on 3D data processing, visualization and transmission (3DPVT). Vol. 1. No. 2. 2008*

Also Published As

Publication number Publication date
JP2014507723A (ja) 2014-03-27
EP2671210A2 (en) 2013-12-11
US20120194516A1 (en) 2012-08-02
CN102622776B (zh) 2016-01-13
JP5906258B2 (ja) 2016-04-20
US8587583B2 (en) 2013-11-19
CN102622776A (zh) 2012-08-01
HK1172131A1 (zh) 2013-04-12
KR20140007367A (ko) 2014-01-17
WO2012106069A2 (en) 2012-08-09
EP2671210B1 (en) 2019-08-07
EP2671210A4 (en) 2017-03-29
WO2012106069A3 (en) 2012-10-18

Similar Documents

Publication Publication Date Title
KR101861313B1 (ko) 삼차원 환경 재구성
JP7364809B2 (ja) レイキャスティングおよびライブ深度を使用したオクルージョンレンダリングの方法
US10896497B2 (en) Inconsistency detecting system, mixed-reality system, program, and inconsistency detecting method
US11238659B2 (en) Caching and updating of dense 3D reconstruction data
KR101881620B1 (ko) 게임플레이에서의 3차원 환경 모델 사용
US9053571B2 (en) Generating computer models of 3D objects
TWI467494B (zh) 使用深度圖進行移動式攝影機定位
CN105190703A (zh) 使用光度立体来进行3d环境建模
JP2014507723A5 (ko)
JP2022533207A (ja) 稠密3d再構築データのキャッシュおよび更新
JP2018106661A (ja) 不整合検出システム、複合現実システム、プログラム及び不整合検出方法
JP2023079022A (ja) 情報処理装置及び情報生成方法
Kunert et al. Efficient point cloud rasterization for real time volumetric integration in mixed reality applications
GB2559975A (en) Method and apparatus for tracking features

Legal Events

Date Code Title Description
N231 Notification of change of applicant
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant