KR101698847B1 - 다수의 심도 카메라들로부터의 데이터를 결합하기 위한 시스템 및 방법 - Google Patents

다수의 심도 카메라들로부터의 데이터를 결합하기 위한 시스템 및 방법 Download PDF

Info

Publication number
KR101698847B1
KR101698847B1 KR1020157006521A KR20157006521A KR101698847B1 KR 101698847 B1 KR101698847 B1 KR 101698847B1 KR 1020157006521 A KR1020157006521 A KR 1020157006521A KR 20157006521 A KR20157006521 A KR 20157006521A KR 101698847 B1 KR101698847 B1 KR 101698847B1
Authority
KR
South Korea
Prior art keywords
depth
images
cameras
camera
sequence
Prior art date
Application number
KR1020157006521A
Other languages
English (en)
Other versions
KR20150043463A (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 KR20150043463A publication Critical patent/KR20150043463A/ko
Application granted granted Critical
Publication of KR101698847B1 publication Critical patent/KR101698847B1/ko

Links

Images

Classifications

    • H04N13/0271
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/0304Detection arrangements using opto-electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4038Image mosaicing, e.g. composing plane images from plane sub-images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/97Determining parameters from multiple pictures
    • H04N13/0242
    • H04N13/0253
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/204Image signal generators using stereoscopic image cameras
    • H04N13/243Image signal generators using stereoscopic image cameras using three or more 2D image sensors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/204Image signal generators using stereoscopic image cameras
    • H04N13/254Image signal generators using stereoscopic image cameras in combination with electromagnetic radiation sources for illuminating objects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/271Image signal generators wherein the generated image signals comprise depth maps or disparity maps
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/698Control of cameras or camera modules for achieving an enlarged field of view, e.g. panoramic image capture

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Electromagnetism (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Image Analysis (AREA)
  • Studio Devices (AREA)

Abstract

다수의 심도 카메라들로부터 촬상된 심도 이미지들을 복합 이미지로 결합시키기 위한 시스템 및 방법이 기술된다. 복합 이미지 내에 캡쳐된 공간의 체적은 이용된 심도 카메라들의 수 및 카메라들의 촬상 센서들의 형상에 따라 크기 및 형상에 있어서 구성가능하다. 사람 또는 오브젝트의 움직임들의 추적이 복합 이미지에 대해 수행될 수 있다. 추적된 움직임들은 후속하여 인터랙티브 애플리케이션에 의해 이용될 수 있다.

Description

다수의 심도 카메라들로부터의 데이터를 결합하기 위한 시스템 및 방법{SYSTEM AND METHOD FOR COMBINING DATA FROM MULTIPLE DEPTH CAMERAS}
관련 출원에 대한 교차 -참조
본 출원은, 2012년 10월 15일에 출원되고 그 전체 내용이 참조로로서 본원에 포함된, 미국 특허 출원 번호 제13/652,181호에 대한 우선권을 주장한다.
심도(Depth) 카메라들은 인터랙티브한(interactive), 높은 프레임 레이트들에서 자신의 환경들의 심도 이미지들을 획득한다. 심도 이미지들은 카메라의 뷰-필드(field-of-view) 내의 오브젝트들과 카메라 자체 간의 거리의 픽셀-방식 측정들(pixel-wise measurements)을 제공한다. 심도 카메라들은 일반적인 컴퓨터 시각 필드(field of computer vision)에서의 많은 문제점들을 해결하기 위해 이용된다. 예로서, 심도 카메라들은 감시 산업에서의 솔루션의 컴포넌트들로서, 사람들을 추적하고 금지된 영역들에 대한 접근을 모니터링하기 위해 이용될 수 있다. 추가적인 예로서, 카메라들은, 사람들의 움직임들 및 사람들의 손과 손가락들의 움직임들의 추적과 같은, HMI(Human-Machine Interface: 사람 기계간 인터페이스) 문제점들에 적용될 수 있다.
전자 디바이스들과의 사용자 상호작용을 위한 제스쳐 제어의 애플리케이션에 있어서 최근 수년간 상당한 발전이 이루어졌다. 심도 카메라들에 의해 캡쳐된 제스쳐들은, 예를 들어, 텔레비전을 제어하기 위해, 홈 자동화를 위해, 또는 태블릿들, 개인용 컴퓨터들 및 모바일 폰들과의 사용자 인터페이스들을 가능하게 하도록 이용될 수 있다. 이들 카메라들에서 이용된 핵심 기술들이 계속 개선되고 그 비용이 감소함에 따라, 제스쳐 제어는 전자 디바이스들과 인간 상호작용에 있어서 점점 더 큰 역할을 계속 수행할 것이다.
다수의 심도 카메라들로부터의 데이터를 결합시키기 위한 시스템의 예들이 도면들에 예시된다. 예들 및 도면들은 제한적이기보다는 예시적이다.
도 1은 영역을 보기 위해 2개의 카메라들이 위치된 예시적인 환경을 예시하는 도면이다.
도 2는 사용자 상호작용들을 캡쳐하기 위해 다수의 카메라들이 이용되는 예시적인 환경을 예시하는 도면이다.
도 3은 다수의 사용자들에 의한 상호작용들을 캡쳐하기 위해 다수의 카메라들이 이용되는 예시적인 환경을 예시하는 도면이다.
도 4는 2개의 예시적인 입력 이미지들 및 입력 이미지들로부터 획득된 복합 합성 이미지(composite synthetic image)를 예시하는 도면이다.
도 5는 카메라 투사(camera projection)의 예시적인 모델을 예시하는 도면이다.
도 6은 2개의 카메라들의 예시적인 뷰-필드 및 합성 해상도 라인을 예시하는 도면이다.
도 7은 상이한 방향을 향하는 2개의 카메라들의 예시적인 뷰-필드들을 예시하는 도면이다.
도 8은 2개의 카메라들 및 연관된 가상 카메라의 예시적인 구성을 예시하는 도면이다.
도 9는 합성 이미지를 생성하기 위한 예시적인 프로세스를 예시하는 흐름도이다.
도 10은 다수의 개별 카메라들에 의해 생성된 데이터를 프로세싱하고 데이터를 결합하기 위한 예시적인 프로세스를 예시하는 흐름도이다.
도 11은 다수의 카메라들로부터의 입력 데이터 스트림들이 중앙 프로세서에 의해 프로세싱되는 예시적인 시스템도이다.
도 12는 다수의 카메라들로부터의 입력 데이터 스트림들이 중앙 프로세서에 의해 결합되기 전에 별도의 프로세서들에 의해 프로세싱되는 예시적인 시스템도이다.
도 13은 일부 카메라 데이터 스트림들이 전용 프로세서에 의해 프로세싱되는 반면 다른 카메라 데이터 스트림들이 호스트 프로세서에 의해 프로세싱되는 예시적인 시스템도이다.
다수의 심도 카메라들로부터 촬상된 심도 이미지들을 복합 이미지로 결합하기 위한 시스템 및 방법이 기술된다. 복합 이미지에서 캡쳐된 공간의 체적은 이용된 심도 카메라들의 수와 카메라의 이미징 센서들의 형상에 따라 크기와 형상에 있어서 구성가능하다. 사람 또는 오브젝트의 움직임들의 추적은 복합 이미지에 대해 수행될 수 있다. 추적된 움직임들은 후속하여 인터랙티브 애플리케이션에 의해 이용되어 추적된 움직임들의 이미지들을 디스플레이 상에 랜더링할 수 있다.
발명의 다양한 양태들 및 예들이 이제 기술될 것이다. 후속하는 설명은 이들 예들의 철저한 이해 및 설명을 가능하게 하기 위한 특정 상세들을 제공한다. 그러나, 본 기술분야의 통상의 기술자는 본 발명이 이들 상세들 중 다수가 없이도 실시될 수 있음을 이해할 것이다. 또한, 일부 공지된 구조들 또는 기능들은, 관련 설명을 불필요하게 모호하게 하는 것을 회피하기 위해 도시되지 않거나 상세히 기술되지 않을 수 있다.
하기에 제시된 설명에서 이용된 용어는, 그것이 기술의 특정 구체적 예들의 상세한 설명과 함께 이용되더라도, 그것의 가장 넓은 합당한 방식으로 해석되도록 의도된다. 심지어 특정 용어들이 하기에서 강조될 수 있지만, 임의의 제한된 방식으로 해석되도록 의도된 임의의 용어는 이러한 상세한 설명 부분에서 명백하게 그리고 구체적으로 정의될 것이다.
심도 카메라는 초당 다수의 프레임들로 심도 이미지들, 일반적으로 연속적인 심도 이미지들의 시퀀스를 캡쳐하는 카메라이다. 각각의 심도 이미지는 픽셀-당 심도 데이터(per-pixel depth data)를 포함하는데, 즉, 이미지 내의 각각의 픽셀은 이미지 장면 내의 오브젝트의 대응하는 영역과 카메라 사이의 거리를 나타내는 값을 갖는다. 심도 카메라들은 때때로 3차원(3D) 카메라들로서 지칭된다. 심도 카메라는 다른 컴포넌트들 중 특히, 심도 이미지 센서, 광학 렌즈, 및 조명원을 포함할 수 있다. 심도 이미지 센서는 몇몇 상이한 센서 기술들 중 하나에 의존할 수 있다. 이들 센서 기술들 중에는 "TOF"(스캐닝 TOF 또는 어레이 TOF를 포함함)로서 알려진 타임-오브-플라이트(time-of-flight), 구성된 광, 레이저 스페클(laser speckle) 패턴 기술, 입체 카메라들, 능동 입체 센서들, 및 셰이드-프롬-셰이딩(shape-from-shading) 기술이 있다. 이들 기술들 중 대부분은, 이들이 자기 자신의 조명원을 제공한다는 의미에서, 능동 센서들에 의존한다. 반면, 입체 카메라들과 같은 수동 센서 기술들은 자기 자신의 조명원을 제공하지는 않지만, 대신 주변 환경 광(ambient environmental lighting)에 의존한다. 심도 데이터에 부가하여, 카메라들은 또한 종래의 컬러 카메라들이 하는 것과 같은 방식으로 컬러 데이터를 생성할 수 있으며, 컬러 데이터는 프로세싱을 위해 심도 데이터와 결합될 수 있다.
카메라의 뷰-필드는 카메라가 캡쳐하는 장면의 영역을 지칭하며, 그것은, 예를 들어, 카메라 렌즈의 형상 또는 곡률을 포함하는, 카메라의 몇몇 컴포넌트들의 기능이다. 카메라의 해상도는 카메라가 캡쳐하는 각각의 이미지 내의 픽셀들의 수이다. 예를 들어, 해상도는 320 x 240 픽셀들, 즉, 수평 방향으로 320개의 픽셀들, 및 수직 방향으로 240개의 픽셀들일 수 있다. 심도 카메라들은 상이한 범위들에 대해 구성될 수 있다. 카메라의 범위는 카메라가 최소 품질의 데이터를 캡쳐하는 카메라의 앞의 영역이며, 일반적으로 말해, 카메라의 컴포넌트들 사양들과 어셈블리의 기능이다. 타임-오브-플라이트 카메라들의 경우, 예를 들어, 통상적으로 더 긴 범위들은 더 높은 조명 전력을 요구한다. 더 긴 범위들은 또한 더 높은 픽셀 어레이 해상도들을 요구할 수 있다.
심도 카메라에 의해 생성된 데이터의 품질과, 뷰-필드, 해상도 및 프레임 레이트와 같은 카메라의 파라미터들 사이의 직접적인 절충이 존재한다. 결국, 데이터의 품질은 카메라가 지원할 수 있는 움직임 추적의 레벨을 결정한다. 특히, 데이터는 사용자의 미세한 움직임들의 강건하고 매우 정교한 추적을 가능하게 하기 위해 특정 품질 레벨을 준수해야 한다. 카메라 사양들이 사실상 비용 및 크기의 고려사항에 의해 제한되기 때문에, 데이터 품질이 마찬가지로 제한된다. 또한, 데이터의 특성에도 영향을 주는 추가적인 제약들이 또한 존재한다. 예를 들어, 이미지 센서의 특정 기하학적 형상(일반적으로 직사각형)은 카메라에 의해 캡쳐되는 이미지의 치수(dimension)를 정의한다.
상호작용 영역은 사용자가 애플리케이션과 상호작용할 수 있는 심도 카메라의 앞에 있는 공간이고, 결과적으로, 카메라에 의해 생성된 데이터의 품질은 사용자의 움직임들의 추적을 지원할 만큼 충분히 높아야 한다. 상이한 애플리케이션들의 상호작용 영역 요건들은 카메라의 사양에 의해서는 만족되지 못할 수도 있다. 예를 들어, 개발자가 다수의 사용자들이 상호작용할 수 있는 설치(installation)를 구성하려고 의도한 경우, 단일 카메라의 뷰-필드는 너무 제한적이어서 설치에 필요한 전체 상호작용 영역을 지원하지 못할 수 있다. 또다른 실시예에서, 개발자는 L-형상 또는 원형 상호작용 영역과 같이, 카메라에 의해 특정된 상호작용 영역의 형상과는 상이한 상호작용 공간을 이용하여 작업하기를 원할 수 있다. 본 개시내용은 상호작용의 영역을 확대시키고 이를 애플리케이션의 특정 요구에 맞추도록 커스터마이즈하기 위해, 특수화된 알고리즘을 통해 다수의 심도 카메라들로부터의 데이터가 결합될 수 있는 방법을 설명한다.
"데이터를 결합하는"이라는 용어는, 각각이 상호작용 영역의 일부분의 뷰를 갖는, 다수의 카메라들로부터의 데이터를 취하여, 전체 상호작용 영역을 커버하는 새로운 데이터 스트림을 생성하는 프로세스를 지칭한다. 다양한 범위들을 갖는 카메라들은 심도 데이터의 개별 스트림들을 획득하기 위해 이용될 수 있으며, 심지어 각각이 상이한 범위들을 갖는 다수의 카메라들이 이용될 수 있다. 데이터는, 이러한 맥락에서, 카메라들로부터의 미가공(raw) 데이터, 또는 미가공 카메라 데이터에 대해 개별적으로 실행되는 추적 알고리즘의 출력을 지칭할 수 있다. 다수의 카메라들로부터의 데이터는, 카메라들이 오버랩하는(overlapping) 뷰-필드를 갖지 않더라도 결합될 수 있다.
심도 카메라들의 이용을 요구하는 애플리케이션들에 대한 상호작용 영역을 확장하는 것이 바람직한 많은 상황들이 존재한다. 일 실시예의 도면인 도 1을 참조하면, 여기서, 사용자는 자신의 책상에서 2개의 카메라들을 갖는 2개의 모니터들을 가질 수 있으며, 각각의 카메라는 하나의 스크린의 앞에 있는 영역을 보도록 배치된다. 사용자의 손들에 대한 카메라의 근접도, 및 사용자의 손가락의 매우 정확한 추적을 지원하기 위해 요구되는 심도 데이터의 품질 둘 모두로 인해, 하나의 카메라의 뷰-필드가 전체의 원하는 상호작용 영역을 커버하는 것이 일반적으로 가능하지 않다. 오히려, 각각의 카메라로부터의 독립적인 데이터 스트림들이 결합되어 단일의 합성 데이터 스트림을 생성할 수 있고, 추적 알고리즘이 이 합성 데이터 스트림에 적용될 수 있다. 사용자의 관점에서, 사용자는 하나의 카메라의 뷰-필드로부터 제2 카메라의 뷰-필드로 자신의 손을 이동시킬 수 있고, 사용자의 애플리케이션은, 마치 사용자의 손이 단일 카메라의 뷰-필드 내에 머물러 있는 것처럼, 끊김 없이 반응한다. 예를 들어, 사용자는 자신의 손을 이용하여 제1 스크린 상에서 가시적인 가상 오브젝트를 집어서(pick up), 그의 손을 제2 스크린과 연관된 카메라의 앞으로 이동시킬 수 있고, 여기서, 사용자는 이후 오브젝트를 놓으며(release), 오브젝트가 제2 스크린 상에 나타난다.
도 2는, 독립형 디바이스가, 각각이 디바이스로부터 외부로 확장하는 뷰-필드를 갖는, 자신의 주변에 위치된 다수의 카메라들을 포함할 수 있는 또다른 예시적인 실시예의 도면이다. 디바이스는, 예를 들어, 몇몇 사람들이 착석할 수 있는 회의 탁자 위에 놓일 수 있고, 통합된 상호작용 영역을 캡쳐할 수 있다.
추가적인 실시예에서, 몇몇 개인들은, 각각이 별도의 디바이스 상에서, 함께 작업할 수 있다. 각각의 디바이스에는 카메라가 구비될 수 있다. 개별 카메라들의 뷰-필드들이 결합되어 모든 개별 사용자들이 함께 액세스 가능한 큰 복합 상호작용 영역을 생성할 수 있다. 개별 디바이스들은 심지어, 랩톱들, 태블릿들, 데스크톱 개인용 컴퓨터들, 및 스마트 폰들과 같은 상이한 종류들의 전자 디바이스들일 수 있다.
도 3은 다수의 사용자들에 의한 동시적인 상호작용을 위해 설계된 애플리케이션인 추가적인 예시적인 실시예의 도면이다. 이러한 애플리케이션은, 예를 들어, 박물관에서, 또는 또다른 유형의 공공 공간에서 나타날 수 있다. 이러한 경우, 다중-이용자 상호작용을 위해 설계된 애플리케이션에 대해 특히 큰 상호작용 영역이 존재할 수 있다. 이 애플리케이션을 지원하기 위해, 다수의 카메라들이 이들의 각자의 뷰-필드들이 서로 오버랩하도록 설치될 수 있고, 각각의 카메라로부터의 데이터는 추적 알고리즘에 의해 프로세싱될 수 있는 복합 합성 데이터 스트림으로 결합될 수 있다. 이러한 방식으로, 상호작용 영역은 임의의 이러한 애플리케이션들을 지원하도록, 임의로 크게 만들어질 수 있다.
전술된 실시예들 모두에서, 카메라들은 심도 카메라들일 수 있고, 이들이 생성하는 심도 데이터는 사용자의 움직임들을 해석할 수 있는 추적 및 제스쳐 인식 알고리즘을 인에이블시키기 위해 이용될 수 있다. 2012년 6월 25일에 출원된 "SYSTEM AND METHOD FOR CLOSE-RANGE MOVEMENT TRACKING"라는 명칭의 미국 특허 출원 제13/532,609호는 심도 카메라들에 기초한 몇몇 유형들의 관련 사용자 상호작용들을 기술하고 있으며, 그 전체 내용이 본원에 포함된다.
도 4는 서로에게서 고정된 거리에 떨어져 위치된, 개별 카메라들에 의해 캡쳐된 2개의 입력 이미지들(42 및 44), 및 이 개시내용에 설명된 기법들을 이용하여 2개의 입력 이미지들로부터의 데이터를 결합함으로써 생성되는 합성 이미지(46)의 예의 도면이다. 개별 입력 이미지들(42 및 44) 내의 오브젝트들이 또한 합성 이미지 내의 이들의 각자의 위치들에도 나타난다는 점에 유의한다.
카메라들은 3차원(3D) 장면을 보며 오브젝트들을 3D 장면으로부터 2차원(2D) 이미지 평면으로 투사한다. 카메라 투사의 논의의 맥락에서, "이미지 좌표계"는 이미지 평면과 연관된 2D 좌표계(x, y)를 지칭하고, "세계 좌표계(world coordinate system)"는 카메라가 보고 있는 장면과 연관된 3D 좌표계(X, Y, Z)를 지칭한다. 두 좌표계들 모두에서, 카메라는 좌표 축들의 원점((x=0, y=0), 또는 (X=0, Y=0, Z=0))에 있다.
핀홀 카메라 모델로서 알려진, 카메라 투사 프로세스의 예시적인 이상화된 모델인 도 5를 참조한다. 모델이 이상화되어 있기 때문에, 간략함을 위해, 렌즈 왜곡과 같은 카메라 투사의 특정 특성들이 무시된다. 이 모델에 기초하면, 장면의 3D 좌표계(X, Y, Z)와 이미지 평면의 2D 좌표계(x, y) 사이의 관계는 다음과 같다:
Figure 112015024795221-pct00001
여기서, 거리는 카메라 중심(또한 초점(focal point)으로서 명명됨)과 오브젝트 상의 포인트 사이의 거리이고, d는 카메라 중심과 오브젝트 포인트의 투사에 대응하는 이미지 내의 포인트 사이의 거리이다. 변수 f는 초점 거리(focal length)이며, 2D 이미지 평면의 원점과 카메라 중심(또는 초점) 사이의 거리이다. 따라서, 2D 이미지 평면 내의 포인트들과 3D 세계 내의 포인트들 사이의 일-대-일 매핑이 존재한다. 3D 세계 좌표계(실제 세계의 장면)로부터 2D 이미지 좌표계(이미지 평면)로의 매핑은 투사 함수라고 지칭되고, 2D 이미지 좌표계로부터 3D 세계 좌표계로의 매핑은 역-투사(back-projection) 함수라고 지칭된다.
개시내용은, 시간상으로 거의 동시에 캡쳐되며 하나의 이미지가 2개의 심도 카메라들 각각으로부터 오는 2개의 이미지들을 취하고, "합성 이미지(synthetic image)"라고 지칭할 단일 이미지를 구성하는 방법을 기술한다. 간략함을 위해, 현재의 논의는 2개 카메라의 경우에 초점을 둘 것이다. 명백하게, 본원에 논의된 방법들은 2개보다 많은 카메라들이 이용되는 경우로 쉽게 확장가능하다.
초기에, 각각의 심도 카메라에 대한 각자의 투사 및 역-투사 함수들이 계산된다.
본 기법은, 합성 이미지를 가상으로 "캡쳐"하기 위해 이용되는 가상 카메라를 더 수반한다. 이 가상 카메라의 구성에서의 제1 단계는 카메라의 파라미터들 - 카메라의 뷰-필드, 해상도 등을 도출하는 것이다. 후속하여, 가상 카메라의 투사 및 역-투사 함수들이 또한 계산되고, 따라서, 합성 이미지는 그것이 단일의 "실제" 심도 카메라에 의해 캡쳐된 심도 이미지인것처럼 처리될 수 있다. 가상 카메라에 대한 투사 및 역-투사 함수들의 계산은 해상도 및 초점 거리와 같은 카메라 파라미터들에 의존한다.
가상 카메라의 초점 거리는 입력 카메라들의 초점 거리들의 함수로서 도출된다. 함수는 입력 카메라들의 배치, 예를 들어, 입력 카메라들이 동일한 방향으로 향하고 있는지의 여부에 의존할 수 있다. 일 실시예에서, 가상 카메라의 초점 거리는 입력 카메라들의 초점 거리들의 평균으로서 도출될 수 있다. 통상적으로, 입력 카메라들은 동일한 유형이고, 동일한 렌즈들을 가지며, 따라서, 입력 카메라들의 초점 거리들은 매우 유사하다. 이러한 경우, 가상 카메라의 초점 거리는 입력 카메라들의 초점 거리와 동일하다.
가상 카메라에 의해 생성된 합성 이미지의 해상도는 입력 카메라들의 해상도들로부터 도출된다. 입력 카메라들의 해상도는 고정되며, 따라서, 입력 카메라들에 의해 획득된 이미지들의 오버랩이 클수록, 합성 이미지를 생성하기에 이용가능한 비-오버랩(non-overlapping) 해상도가 더 작다. 도 6은, 평행하며, 따라서 동일한 방향으로 향하며 고정된 거리에 떨어져 위치된 2개의 입력 카메라들(A 및 B)의 도면이다. 각각의 카메라의 뷰-필드는 각자의 카메라 렌즈들로부터 확장하는 뿔모양들(cones)로 표현된다. 오브젝트가 카메라로부터 더 멀리 떨어져 이동함에 따라, 그 오브젝트의 더 큰 영역이 단일 픽셀로서 표현된다. 따라서, 더 멀리 떨어진 오브젝트의 입도(granularity)는 그것이 카메라에 더 가까울때의 오브젝트의 입도만큼 미세하지는 않다. 가상 카메라의 모델을 완성하기 위해, 가상 카메라에 대해 관심 있는 심도 영역과 관련된 추가적인 파라미터가 정의되어야 한다.
도 6에서, "합성 해상도 라인"이라고 라벨링된, 2개의 카메라들(A 및 B)이 위치된 축에 대해 평행한 직선(610)이 도면에 존재한다. 합성 해상도 라인은 두 카메라 모두의 뷰-필드를 교차한다. 이 합성 해상도 라인은 애플리케이션의 원하는 범위에 기초하여 조정될 수 있지만, 그것은 가상 카메라와 관련하여, 예를 들어, 가상 카메라의 중심으로부터 뻗어오는(extending) 광선에 대해 직교하는 것으로서 정의된다. 도 6에 도시된 시나리오에 대해, 가상 카메라는 중간점에, 즉, 입력 카메라들(A 및 B) 사이에 대칭으로 배치되어 가상 카메라에 의해 캡쳐될 합성 이미지를 최대화할 수 있다. 합성 해상도 라인은 합성 이미지의 해상도를 구축하기 위해 이용된다. 특히, 두 이미지들의 더 큰 영역들이 오버랩하기 때문에, 합성 해상도 라인이 카메라들로부터 더 멀리 떨어져 설정될수록, 합성 이미지의 해상도는 더 낮다. 유사하게, 합성 해상도 라인과 가상 카메라 사이의 거리가 감소함에 따라, 합성 이미지의 해상도는 증가한다. 카메라들이 평행하게 배치되고, 변환(translation)에 의해서만 분리되는 경우, 도 6에서와 같이, "합성 해상도 = 최대"로서 표기된 도면 내의 라인(620)이 존재한다. 가상 카메라의 합성 해상도 라인이 라인(620)이 되도록 선택되는 경우, 합성 이미지의 해상도는 최대이며, 그것은 카메라들(A 및 B)의 해상도들의 합과 동일하다. 다시 말해, 최대 가능한 해상도는 입력 카메라들의 뷰-필드들의 최소 교차가 존재하는 경우 획득된다. 합성 해상도 라인은, 애플리케이션의 관심 있는 영역에 따라, 사용자에 의해 애드 혹(ad hoc) 기반으로 고정될 수 있다.
도 6에 도시된 합성 해상도 라인은 제한된 경우에 대한 것이며, 여기서, 간략함을 위해, 그것은 선형이며 입력 카메라들 및 가상 카메라가 위치된 축에 대해 평행하도록 제한된다. 이러한 제약을 받는 합성 해상도 라인은 관심 있는 많은 경우들에 대해 가상 카메라의 해상도를 정의하기에 여전히 충분하다. 그러나, 더욱 일반적으로, 가상 카메라의 합성 해상도 라인은 곡선이거나, 또는 직선이 아닌 다수의 구분적 선형 세그먼트들(multiple piecewise linear segments)로 구성될 수 있다.
독립 좌표계는 입력 카메라, 예를 들어, 도 6의 카메라들(A 및 B)의 각각과 연관된다. 이들 각자의 좌표계들 사이의 변환을 계산하는 것은 용이하다. 변환은 하나의 좌표계를 또다른 좌표계에 매핑시키고, 제1 좌표계 내의 임의의 포인트에, 각각, 제2 좌표계 내의 값을 할당하기 위한 방식을 제공한다.
일 실시예에서, 입력 카메라들(A 및 B)은 오버랩하는 뷰-필드들을 갖는다. 그러나, 어떠한 일반성(generality)의 손실도 없이, 합성 이미지는 또한 합성 이미지 내에 갭들이 존재하도록 오버랩하지 않는 다수의 입력 이미지들로 구성될 수 있다. 합성 이미지는 여전히 움직임들을 추적하기 위해 이용될 수 있다. 이 경우, 카메라들에 의해 생성된 이미지들이 오버랩하지 않기 때문에 입력 카메라들의 위치들은 명시적으로 계산될 필요가 있을 것이다.
오버랩하는 이미지들의 경우, 이 변환을 계산하는 것은 2개의 카메라들로부터의 이미지들 사이의 특징들을 매칭시키고, 관련 문제를 해결함으로써 이루어질 수 있다. 대안적으로, 카메라들의 위치들이 고정된 경우, 명백한 교정 단계(calibration phase)가 존재할 수 있고, 여기서, 두 카메라들 모두로부터의 이미지들에 나타나는 점들은 수동으로 마킹되며, 2개의 좌표계들 사이의 변환은 이들 매치된 포인트들로부터 계산될 수 있다. 또다른 대안은 각자의 카메라들의 좌표계들 간의 변환을 명시적으로 정의하는 것이다. 예를 들어, 개별 카메라들의 상대적 위치들은 시스템 초기화 프로세스의 일부로서 사용자에 의해 입력될 수 있고, 카메라들 간의 변환이 계산될 수 있다. 사용자에 의해, 2개의 카메라들 간의 공간적 관계를 명시적으로 특정하는 방법은 예를 들어, 입력 카메라들이 오버랩하는 뷰-필드들을 가지지 않는 경우에 유용하다. 상이한 카메라들(및 이들의 각각의 좌표계들) 간의 변환을 도출하기 위해 어느 방법이 이용되든 간에, 이 단계는 단지 한번, 예를 들어, 시스템이 구성될 때만 수행될 필요가 있다. 카메라들이 이동하지 않는 한, 카메라들의 좌표계들 간에 계산된 변환은 유효하다.
또한, 입력 카메라들 각각 사이의 변환들을 식별하는 것은 입력 카메라들의 위치들을 서로에 대해 정의한다. 이 정보는 가상 카메라가 위치될 입력 카메라들의 위치들에 대해 대칭인 위치 또는 중간점을 식별하기 위해 이용될 수 있다. 대안적으로, 입력 카메라들의 위치들은 합성 이미지들에 대한 다른 애플리케이션-특정적 요건들에 기초하여 가상 카메라에 대한 임의의 다른 위치를 선택하기 위해 이용될 수 있다. 가상 카메라의 위치가 고정되고, 합성 해상도 라인이 선택되면, 가상 카메라의 해상도가 도출될 수 있다.
입력 카메라들은 도 6에서와 같이 평행하게, 또는 도 7에서와 같이 더욱 임의적인 관계로 배치될 수 있다. 도 8은, 고정된 거리로 떨어져 있으며, 2개의 카메라들 사이의 중간점에 위치된 가상 카메라를 갖는, 2개의 카메라들의 샘플 도면이다. 그러나, 가상 카메라는 입력 카메라들에 대해 어느 곳에나 위치될 수 있다.
일 실시예에서, 다수의 입력 카메라들로부터의 데이터가 결합되어 가상 카메라와 연관된 이미지인 합성 이미지를 생성할 수 있다. 입력 카메라들로부터의 이미지의 프로세싱을 시작하기 전에, 가상 카메라의 몇몇 특성들이 계산되어야 한다. 먼저, 가상 카메라 "사양들" - 전술된 바와 같은, 해상도, 초점 거리, 투사 함수, 및 역-투사 함수 - 이 계산된다. 후속하여, 입력 카메라들 각각의 좌표계들로부터 가상 카메라로의 변환들이 계산된다. 즉, 가상 카메라는 그것이 실제 카메라인것처럼 행동하고, 실제 카메라들이 이미지들을 생성하는 방식과 유사한 방식으로, 카메라의 사양들에 의해 정의되는 합성 이미지를 생성한다.
도 9는 다수의 입력 카메라들에 의해 생성된 다수의 입력 이미지들을 이용하여 가상 카메라로부터 합성 이미지를 생성하기 위한 예시적인 작업흐름을 기술하고 있다. 먼저, 605에서, 가상 카메라의 사양들, 예를 들어, 해상도, 초점 거리, 합성 해상도 라인 등 뿐만 아니라, 입력 카메라들 각각의 좌표계들로부터 가상 카메라로의 변환들이 계산된다.
이후, 610에서, 심도 이미지들은 각각의 입력 카메라에 의해 독립적으로 캡쳐된다. 이미지들이 거의 같은 순간에 캡쳐된다고 가정된다. 이러한 경우가 아니라면, 이미지들은 이들이 모두 동일한 시점에 장면의 투사를 반영한다는 것을 보장하기 위해 명시적으로 동기화되어야 한다. 예를 들어, 각각의 이미지의 타임스탬프를 체크하는 것과 특정 임계값 내에서 타임스탬프들을 이용하여 이미지들을 선택하는 것이 이 요건을 만족시키기에 충분할 수 있다.
후속하여, 620에서, 각각의 2D 심도 이미지는 각각의 카메라의 3D 좌표계로 역-투사된다. 3D 포인트들의 각각의 세트는 이후 각자의 카메라의 좌표계로부터 가상 카메라의 좌표계로의 변환을 적용함으로써 630에서 가상 카메라의 좌표계로 변환된다. 관련 변환은 독립적으로 각각의 데이터 포인트에 적용된다. 전술된 바와 같이, 합성 해상도 라인의 결정에 기초하여, 입력 카메라들에 의해 모니터링되는 영역을 재생성하는 3차원 포인트들의 컬렉션(collection)이 640에서 생성된다. 합성 해상도 라인은 입력 카메라들로부터의 이미지들이 오버랩하는 영역을 결정한다.
가상 카메라의 투사 함수를 이용하여, 3D 포인트들 각각은 650에서 2D 합성 이미지 상으로 투사된다. 합성 이미지 내의 각각의 픽셀은 카메라 이미지들 중 하나 내의 픽셀, 또는 2개의 입력 카메라들의 경우 하나가 각각의 카메라 이미지로부터 온 2개 픽셀들에 대응한다. 합성 이미지 픽셀이 오직 단일 카메라 이미지 픽셀에 대응하는 경우, 그 픽셀의 값을 수용한다. 합성 이미지 픽셀이 2개의 카메라 이미지 픽셀들에 대응하는 경우(즉, 합성 이미지 픽셀이 2개의 카메라 이미지들이 오버랩하는 영역 내에 있는 경우), 합성 이미지를 구성하기 위해(660) 최소값을 갖는 픽셀이 선택되어야 한다. 그 이유는 더 작은 심도 픽셀 값은 오브젝트가 카메라들 중 하나에 더 가까움을 의미하기 때문이며, 이 시나리오는 최소 픽셀 값을 갖는 카메라가 다른 카메라가 가지지 않는 오브젝트의 뷰를 갖는 경우 발생할 수 있다. 카메라들 모두가 오브젝트 상의 동일한 포인트를 촬상하는 경우, 그 포인트에 대한 각각의 카메라에 대한 픽셀 값은, 그것이 가상 카메라의 좌표계로 변환된 이후, 거의 동일해야 한다. 대안적으로 또는 추가적으로, 보간 알고리즘과 같은 임의의 다른 알고리즘은 유실된 데이터를 채우거나 합성 이미지의 품질을 개선하는 것을 보조하기 위해 획득된 이미지들의 픽셀 값들에 적용될 수 있다.
입력 카메라들의 상대적 위치들에 따라, 합성 이미지는 입력 카메라 이미지들의 제한된 해상도, 및 이미지 픽셀을 실세계의 3D 포인트로 투사하고, 그 포인트를 가상 카메라의 좌표계로 변환하고, 이후 3D 포인트를 2D 합성 이미지로 역-투사하는 프로세스로부터 초래되는 무효한 또는 잡음성의 픽셀들을 포함할 수 있다. 결과적으로, 670에서 잡음성 픽셀 데이터를 클린 업(clean up)하기 위해 후처리 클리닝 알고리즘이 적용되어야 한다. 잡음성 픽셀들은, 입력 카메라에 의해 캡쳐된 데이터 내의 대응하는 3D 포인트들이, 그것이 가상 카메라의 좌표계로 변환된 이후에는 존재하지 않기 때문에, 합성 이미지에 나타난다. 한가지 해법은, 훨씬 더 높은 해상도, 및 결과적으로 훨씬 더 조밀한 3D 포인트들의 클라우드(cloud)의 이미지를 생성하기 위해, 실제 카메라 이미지들 내의 모든 픽셀들 사이에서 보간하는 것이다. 3D 포인트 클라우드가 충분히 조밀한 경우, 모든 합성 이미지 픽셀들은 적어도 하나의 유효한(즉, 입력 카메라에 의해 캡쳐된) 3D 포인트에 대응할 것이다. 이 접근법의 단점은 각각의 입력 카메라로부터 매우 높은 해상도의 이미지를 생성하기 위한 서브-샘플링 및 고용량의 데이터의 관리의 비용이다.
후속하여, 본 개시내용의 실시예에서, 후속하는 기법이 합성 이미지 내의 잡음성 필셀들을 클리닝하기 위해 적용된다. 먼저, 단순한 3x3 필터(예를 들어, 중앙값(median) 필터)가, 너무 큰 심도 값들을 배제시키기 위해, 심도 이미지 내의 모든 픽셀들에 적용된다. 이후, 합성 이미지의 각각의 픽셀은 다음과 같이, 각각의 입력 카메라 이미지들 내로 다시 매핑된다: 합성 이미지의 각각의 이미지 픽셀은 3D 공간 상에 투사되고, 각각의 역 변환이 적용되어 3D 포인트를 각각의 입력 카메라에 매핑시키고, 마지막으로, 포인트를 입력 카메라 이미지에 매핑시키기 위해, 각각의 입력 카메라의 역-투사 함수가 3D 포인트에 적용된다(이것이 정확히 제1 장소에서 합성 이미지를 생성하기 위해 적용된 프로세스의 역이라는 점에 유의한다). 이러한 방식으로, 하나 또는 두 개의 픽셀 값들이, 하나 또는 둘 모두의 입력 카메라들로부터(픽셀이 합성 이미지의 오버랩 영역 상에 있는지의 여부에 따라) 획득된다. 2개의 픽셀들이 획득되는 경우(각각의 입력 카메라로부터의 픽셀), 최소값이 선택되고, 그 후에 이것이 투사되고, 변환되고, 역-투사되고, 합성 이미지의 "잡음성" 픽셀에 할당된다.
합성 이미지가 구성되면, 680에서, 추적 알고리즘이 심도 카메라들에 의해 생성된 표준 심도 이미지들에 대해 실행될 수 있는 것과 동일한 방식으로, 추적 알고리즘이 합성 이미지에 대해 실행될 수 있다. 일 실시예에서, 추적 알고리즘이 합성 이미지에 대해 실행되어, 상호작용 애플리케이션에 대한 입력으로서 이용될 사람들의 움직임들 또는 손가락들 및 손들의 움직임들을 추적한다.
도 10은 다수의 개별 카메라들에 의해 생성된 데이터를 프로세싱하고 데이터를 결합시키기 위한 대안적인 방법의 예시적인 작업흐름이다. 이 대안적인 방법에서, 추적 모듈은 각각의 카메라에 의해 생성된 데이터에 대해 개별적으로 실행되고, 추적 모듈들의 결과들이 이후 함께 결합된다. 도 9에 의해 기술된 방법과 유사하게, 705에서, 가상 카메라의 사양들이 계산되고, 개별 카메라들의 상대적 위치들이 먼저 획득되며, 입력 카메라들과 가상 카메라 사이의 변환들이 도출된다. 이미지들은 710에서 각각의 입력 카메라에 의해 별도로 캡쳐되고, 추적 알고리즘은 720에서 각각의 입력 카메라의 데이터에 대해 실행된다. 추적 모듈의 출력은 추적된 오브젝트들의 3D 위치들을 포함한다. 오브젝트들은 이들의 각각의 입력 카메라의 좌표계로부터 가상 카메라의 좌표계로 변환되고, 730에서 3D 복합 장면이 합성적으로 생성된다. 730에서 생성된 3D 복합 장면이 도 9의 660에서 구성된 합성 이미지와 상이하다는 점에 유의한다. 일 실시예에서, 이 복합 장면은 인터랙티브 애플리케이션들을 인에이블시키기 위해 이용된다. 이 프로세스는 복합 장면들의 시퀀스가 합성적으로 생성되도록 다수의 입력 카메라들 각각으로부터 수신된 이미지들의 시퀀스에 대해 유사하게 수행될 수 있다.
도 11은 본원에 논의된 기법들을 적용할 수 있는 예시적인 시스템의 도면이다. 이 예에서, 장면을 촬상하는 다수("N"개)의 카메라들(760A, 760B, ...760N)이 존재한다. 카메라들 각각으로부터의 데이터 스트림들이 프로세서(770)에 전송되고, 도 9의 흐름도에 의해 기술된 프로세스를 이용하여, 결합 모듈(775)은 개별 카메라들로부터 입력 데이터 스트림들을 취하여 이들로부터 합성 이미지를 생성한다. 추적 모듈(778)은 추적 알고리즘을 합성 이미지에 대해 적용하고, 추적 알고리즘의 출력은 사용자에 의해 수행된 제스쳐들을 인식하기 위해 제스쳐 인식 모듈(780)에 의해 이용될 수 있다. 추적 모듈(778) 및 제스쳐 인식 모듈(780)의 출력은, 사용자에게 피드백을 제시하기 위해 디스플레이(790)와 통신하는 애플리케이션(785)에 전송된다.
도 12는 추적 모듈들이 개별 카메라들에 의해 생성된 데이터 스트림들에 대해 개별적으로 실행되며, 추적 데이터의 출력이 결합되어 합성 장면을 생성하는 예시적인 시스템의 도면이다. 이 예에서, 다수("N"개)의 카메라들(810A, 810B, ..., 810N)이 존재한다. 각각의 카메라는 별도의 프로세서들(820A, 820B, ....820N)에 각각 접속된다. 추적 모듈들(830A, 830B, ...830N)은 각각의 카메라들에 의해 생성된 데이터 스트림들에 대해 개별적으로 실행된다. 선택적으로, 제스쳐 인식 모듈(835A, 835B, ... 835N)은 또한 추적 모듈들(830A, 830B, ...830N)의 출력에 대해 실행될 수 있다. 후속하여, 개별 추적 모듈들(830A, 830B, ...830N) 및 제스쳐 인식 모듈들(835A, 835B, ... 835N)의 결과들은 결합 모듈들(850)을 적용하는 별도의 프로세서(840)로 전달된다. 도 10에 기술된 프로세스에 따르면, 결합 모듈(850)은 개별 추적 모듈들(830A, 830B, ...830N)에 의해 생성된 데이터를 입력으로서 수신하고, 합성 3D 장면을 생성한다. 프로세서(840)는 또한 결합 모듈(850) 및 제스쳐 인식 모듈들(835A, 835B, ... 835N)로부터 입력을 수신하는 애플리케이션(860)을 실행할 수 있고, 사용자에게 디스플레이될 수 있는 이미지들을 디스플레이(870) 상에 렌더링할 수 있다.
도 13은 일부 추적 모듈들이 개별 카메라들에 대해 전용인 프로세서들 상에서 실행되고, 다른 추적 모듈들이 "호스트" 프로세서 상에서 실행되는 예시적인 시스템의 도면이다. 카메라들(910A, 910B,..., 910N)은 환경의 이미지들을 캡쳐한다. 프로세서들(920A, 920B)은 각각 카메라들(910A, 910B)로부터 이미지들을 수신하고, 추적 모듈들(930A, 930B)은 추적 알고리즘을 실행하고, 선택적으로, 제스쳐 인식 모듈들(935A, 935B)은 제스쳐 인식 알고리즘을 실행한다. 카메라들(910(N-1), 910N) 중 일부는 카메라들(910(N-1), 910N)에 의해 생성된 데이터 스트림들에 대해, 추적 모듈(950), 및 선택적으로 제스쳐 인식 모듈(955)을 실행하는 "호스트" 프로세서(940)에 직접적으로 이미지 데이터 스트림들을 전달한다. 추적 모듈(950)은 별도의 프로세서에 접속되지 않은 카메라들에 의해 생성된 데이터 스트림들에 적용된다. 도 10에 도시된 프로세스에 따르면, 결합 모듈(960)은 다양한 추적 모듈들(930A, 930B, 950)의 출력들을 입력으로서 수신하고, 이들 모두를 합성 3D 장면으로 결합한다. 후속하여, 추적 데이터 및 식별된 제스쳐들은 사용자에게 피드백을 제시하기 위해 디스플레이(980)를 이용할 수 있는 인터랙티브 애플리케이션(970)에 전달될 수 있다.
결론
문맥상 다른 방식으로 명백하게 요구하지 않는 한, 설명 및 청구항 전반에 걸쳐, "포함하다", "포함하는"이라는 용어 및 유사어는 배타적이거나 완전한 의미가 아니라, 포괄적인 의미로(즉, 말하자면, "포함하지만 그에 제한되지 않는"의 의미로) 해석되어야 한다. 본원에서 이용된 바와 같이, 용어들 "접속된", "결합된" 또는 이들의 임의의 변형어는 둘 이상의 구성요소들 사이의 직접적인 또는 간접적인 임의의 접속 또는 결합을 의미한다. 이러한 구성요소들 사이의 결합 또는 접속은 물리적이거나, 논리적이거나, 또는 이들의 결합일 수 있다. 추가로, 용어 "본원에서", "위의", "아래의", 및 유사한 의미의 용어들은, 이 출원에서 이용될 때, 이 출원의 임의의 특정 부분이 아닌 전체로서 이 출원을 참조한다. 문맥상 허용하는 경우, 단수 또는 복수를 이용하는 위의 상세한 설명에서의 용어들은 또한 각자 복수 또는 단수를 포함할 수 있다. 용어 "또는"은 둘 이상의 항목들의 리스트와 관련하여, 용어의 후속하는 해석들 모두, 즉, 리스트 내의 항목들 중 임의의 것, 리스트 내의 항목들 모두, 및 리스트 내의 항목들의 임의의 결합을 망라한다.
본 발명의 예들에 대한 전술한 상세한 설명은 완전하거나 또는 발명을 위에 개시된 정확한 형태로 제한하도록 의도되지 않는다. 발명에 대한 특정 예들이 예시적인 목적으로 전술되었지만, 관련 기술분야의 통상의 기술자가 인지하는 바와 같이, 발명의 범주 내에서 다양한 등가적인 수정들이 가능하다. 프로세스들 또는 블록들이 이 출원에서 주어진 순서로 제시되어 있지만, 대안적인 구현들이 상이한 순서로 수행되는 단계들을 갖는 루틴들을 수행할 수 있거나, 또는 상이한 순서의 블록들을 갖는 시스템들을 이용할 수 있다. 일부 프로세스들 또는 블록들은 삭제되고, 이동되고, 추가되고, 세부분할되고, 결합되고, 그리고/또는 대안적인 또는 하위결합들을 제공하도록 수정될 수 있다. 또한, 프로세스들 또는 블록들이 때때로 직렬로 수행되는 것으로서 도시되어 있지만, 이들 프로세스들 또는 블록들은 대신 병렬로 수행 또는 구현될 수 있거나, 또는 상이한 시간들에서 수행될 수 있다. 또한, 본원에 설명된 임의의 특정 수들은 단지 예들이다. 대안적인 구현예들이 상이한 값들 또는 범위들을 이용할 수 있다는 점이 이해된다.
본원에 제공된 다양한 예시들 또는 교시들은 또한 전술된 시스템이 아닌 시스템들에 적용될 수 있다. 전술된 다양한 예들의 구성요소들 및 동작들이 결합되어 발명의 추가적인 구현예들을 제공할 수 있다.
첨부된 제출 문헌들에 열거될 수 있는 임의의 것을 포함하여, 위에서 주지된 임의의 특허들 및 출원들 및 다른 참고문헌들은, 참조로써 본원에 포함된다. 본 발명의 양태들은, 필요한 경우, 본 발명의 추가적인 구현예들을 제공하기 위해 이러한 참고문헌들에 포함된 시스템들, 기능들, 개념들을 이용하도록 수정될 수 있다.
이들 및 다른 변경들은 전술한 상세한 설명의 측면에서 본 발명에 대해 이루어질 수 있다. 위의 설명이 본 발명의 특정 예들을 기술하며, 참작되는 최상의 모드를 기술하고 있지만, 위의 상세들이 텍스트에서 얼마나 상세하게 나타나든, 본 발명은 다수의 방식들로 실시될 수 있다. 시스템의 상세들은 그 특정 구현예들에서 크게 변화할 수 있지만, 여전히 본원에 개시된 발명에 의해 포함된다. 위에서 주지된 바와 같이, 발명의 특정 특징들 또는 양태들을 기술할 때 이용된 특정 용어는, 그 용어가 연관되는 발명의 임의의 특정한 특성들, 특징들 또는 양태들로 제한되도록 그 용어가 본원에서 재정의되는 것을 내포하도록 취해지지 않아야 한다. 일반적으로, 후속하는 특허청구범위에서 이용된 용어들은, 전술한 상세한 설명 부분이 이러한 용어들을 명시적으로 정의하지 않는 한, 발명을 상세한 설명에 개시된 특정 예들로 제한하도록 해석되지 않아야 한다. 따라서, 발명의 실제 범주는 개시된 예들 뿐만 아니라, 특허청구범위 하에서 본 발명을 실시하거나 구현하는 모든 등가적인 방식들을 포함한다.
본 발명의 특정 양태들이 특정 청구항 형태로 하기에 제시되어 있지만, 출원인은 임의의 개수의 청구항 형태들에서 발명의 다양한 양태들을 참작한다. 예를 들어, 본 발명의 단 하나의 양태가 35 U.S.C.§112, 제6 단락의 조항 하에서 수단-더하기-기능 청구항으로서 인용되더라도, 다른 양태들이 마찬가지로 수단-더하기-기능 청구항으로서, 또는 컴퓨터-판독가능한 매체에서 구현되는 것과 같은 다른 형태로 구현될 수 있다(35 U.S.C.§112, ¶6의 조항 하에서 다루어지도록 의도되는 임의의 청구항들은 용어 "~하기 위한 수단"으로 시작할 것이다). 따라서, 출원인은 본원을 출원한 이후, 발명의 다른 양태들에 대해 이러한 추가적인 청구항 형태들을 따르도록 추가적인 청구항들을 더할 권한을 갖는다.

Claims (20)

  1. 시스템으로서,
    복수의 심도 카메라들(a plurality of depth cameras) - 각각의 심도 카메라는 시간 기간에 걸쳐서 장면의 심도 이미지들의 시퀀스를 캡쳐하도록 구성됨 -;
    복수의 개별 프로세서들 - 각각의 개별 프로세서는,
    상기 복수의 심도 카메라들의 각각의 카메라로부터 심도 이미지들의 각각의 시퀀스를 수신하고;
    상기 심도 이미지들의 시퀀스에서 하나 이상의 사람들 또는 바디 부분들의 움직임들을 추적하여 상기 추적된 하나 이상의 사람들 또는 바디 부분들의 3차원 위치들을 획득하도록 구성됨 -;
    그룹 프로세서 - 상기 그룹 프로세서는,
    상기 개별 프로세서들 각각으로부터 상기 추적된 하나 이상의 사람들 또는 바디 부분들의 3차원 위치들을 수신하고,
    상기 추적된 사람들 또는 하나 이상의 바디 부분들의 상기 3차원 위치들로부터 복합 3차원 장면들의 시퀀스를 생성하도록 구성됨 -; 및
    인터랙티브 애플리케이션 - 상기 인터랙티브 애플리케이션은 상기 추적된 하나 이상의 사람들 또는 바디 부분들의 상기 움직임들을 입력으로서 이용함 -
    을 포함하는, 시스템.
  2. 삭제
  3. 제1항에 있어서,
    각각의 개별 프로세서는 상기 추적된 움직임들로부터 하나 이상의 제스쳐들을 식별하도록 더 구성되고, 또한 상기 그룹 프로세서는 상기 식별된 하나 이상의 제스쳐들을 수신하도록 더 구성되고, 상기 인터랙티브 애플리케이션은 상기 애플리케이션의 제어를 위해 상기 제스쳐들에 의존하는 시스템.
  4. 제1항에 있어서,
    상기 복합 3차원 장면들의 시퀀스를 생성하는 것은,
    가상 카메라의 파라미터들 및 투사 함수(projection function)를 도출하는 것;
    상기 복수의 심도 카메라들의 상대적 위치들에 관한 정보를 이용하여 상기 복수의 심도 카메라들과 상기 가상 카메라 사이의 변환들을 도출하는 것; 및
    상기 움직임들을 상기 가상 카메라의 좌표계로 변환하는 것
    을 포함하는 시스템.
  5. 제1항에 있어서,
    추가적인 복수의 심도 카메라들을 더 포함하고, 상기 추가적인 복수의 심도 카메라들 각각은 시간 기간에 걸쳐서 상기 장면의 심도 이미지들의 추가적인 시퀀스를 캡쳐하도록 구성되고,
    상기 그룹 프로세서는,
    상기 추가적인 복수의 심도 카메라들 각각으로부터 상기 심도 이미지들의 추가적인 시퀀스를 수신하고;
    상기 심도 이미지들의 추가적인 시퀀스들 내에서 상기 하나 이상의 사람들 또는 바디 부분들의 움직임을 추적하여 상기 추적된 하나 이상의 사람들 또는 바디 부분들의 3차원 위치들을 획득하도록 더 구성되고,
    상기 복합 3차원 장면들의 시퀀스는 상기 심도 이미지들의 추가적인 시퀀스 내에서 상기 추적된 하나 이상의 사람들 또는 바디 부분들의 상기 3차원 위치들로부터 더 생성되는 시스템.
  6. 제5항에 있어서,
    상기 그룹 프로세서는 상기 심도 이미지들의 추가적인 시퀀스 내에서 상기 추적된 하나 이상의 사람들 또는 바디 부분들로부터 하나 이상의 추가적인 제스쳐들을 식별하도록 더 구성되는 시스템.
  7. 시스템으로서,
    복수의 심도 카메라들 - 각각의 심도 카메라는 시간 기간에 걸쳐서 장면의 심도 이미지들의 시퀀스를 캡쳐하도록 구성됨 -;
    그룹 프로세서 - 상기 그룹 프로세서는,
    상기 복수의 심도 카메라들로부터 상기 심도 이미지들의 시퀀스들을 수신하고;
    상기 심도 이미지들의 시퀀스들로부터 합성 이미지들의 시퀀스를 생성하고;
    상기 합성 이미지들의 시퀀스 내에서 하나 이상의 사람들 또는 바디 부분들의 움직임들을 추적하도록 구성되고, 상기 합성 이미지들의 시퀀스 내의 각각의 합성 이미지는 상기 복수의 심도 카메라들 각각으로부터의 상기 심도 이미지들의 시퀀스 내의 상기 심도 이미지들 중 하나에 대응함 -; 및
    인터랙티브 애플리케이션 - 상기 인터랙티브 애플리케이션은 상기 추적된 하나 이상의 사람들 또는 바디 부분들의 상기 움직임들을 입력으로서 이용함 -
    을 포함하는 시스템.
  8. 삭제
  9. 제7항에 있어서,
    상기 그룹 프로세서는 상기 하나 이상의 사람들 또는 바디 부분들의 추적된 움직임들로부터 하나 이상의 제스쳐들을 식별하도록 더 구성되고, 또한 상기 인터랙티브 애플리케이션은 상기 애플리케이션의 제어를 위해 상기 제스쳐들을 이용하는 시스템.
  10. 제7항에 있어서,
    상기 심도 이미지들의 시퀀스들로부터 상기 합성 이미지들의 시퀀스를 생성하는 것은,
    상기 합성 이미지들을 가상으로 캡쳐하기 위한 가상 카메라의 파라미터들 및 투사 함수를 도출하는 것;
    상기 복수의 심도 카메라들로부터 수신된 대응하는 상기 심도 이미지들 각각을 역-투사(back-projecting)하는 것;
    상기 역-투사된 이미지들을 상기 가상 카메라의 좌표계로 변환하는 것; 및
    상기 가상 카메라의 상기 투사 함수를 이용하여 상기 변환된 역-투사된 이미지들 각각을 상기 합성 이미지로 투사하는 것
    을 포함하는 시스템.
  11. 제10항에 있어서,
    상기 심도 이미지들의 시퀀스들로부터 상기 합성 이미지들의 시퀀스를 생성하는 것은 후처리 알고리즘을 적용하여 상기 합성 이미지들을 클리닝(clean)하는 것을 더 포함하는 시스템.
  12. 복수의 심도 카메라들의 각각의 카메라로부터 캡쳐된 심도 이미지를 이용하여 합성 심도 이미지를 생성하는 방법으로서,
    상기 합성 심도 이미지를 가상으로 캡쳐할 수 있는 가상 카메라에 대한 파라미터들을 도출하는 단계 - 상기 파라미터들은 오브젝트들을 3차원 장면으로부터 상기 가상 카메라의 이미지 평면으로 매핑하는 투사 함수를 포함함 -;
    각각의 심도 이미지를 각각의 개별 심도 카메라의 3차원 좌표계에서의 3차원 포인트들의 세트로 역-투사하는 단계;
    역-투사된 3차원 포인트들의 각각의 세트를 상기 가상 카메라의 좌표계로 변환하는 단계;
    역-투사된 3차원 포인트들의 각각의 변환된 세트를 2차원 합성 이미지로 투사하는 단계; 및
    일련의 획득된 합성 심도 이미지들에 대해 추적 알고리즘을 실행하는 단계 -추적된 오브젝트들은 인터랙티브 애플리케이션에 대한 입력으로서 이용됨 -
    를 포함하는 방법.
  13. 제12항에 있어서,
    후처리 알고리즘을 적용하여 상기 합성 심도 이미지를 클리닝하는 단계를 더 포함하는 방법.
  14. 삭제
  15. 제12항에 있어서,
    상기 인터랙티브 애플리케이션은 상기 추적된 오프젝트들에 기초한 이미지들을 디스플레이 상에 렌더링하여(renders) 사용자에게 피드백을 제공하는 방법.
  16. 제12항에 있어서,
    상기 추적된 오브젝트들로부터 제스쳐들을 식별하는 단계를 더 포함하고, 상기 인터랙티브 애플리케이션은 상기 추적된 오브젝트들 및 식별된 제스쳐들에 기초한 이미지들을 디스플레이 상에 렌더링하여 사용자에게 피드백을 제공하는 방법.
  17. 심도 이미지들의 복수의 시퀀스들로부터 복합 3차원 장면들의 시퀀스를 생성하는 방법으로서, 상기 심도 이미지들의 복수의 시퀀스들 각각은 상이한 심도 카메라에 의해 촬상되고, 상기 방법은,
    상기 심도 이미지들의 시퀀스들 각각에서 하나 이상의 사람들 또는 바디 부분들의 움직임들을 추적하는 단계;
    가상 카메라에 대한 파라미터들을 도출하는 단계 - 상기 파라미터들은 오브젝트들을 3차원 장면으로부터 상기 가상 카메라의 이미지 평면으로 매핑하는 투사 함수를 포함함 -;
    상기 심도 카메라들의 상대적 위치들에 관한 정보를 이용하여 상기 심도 카메라들과 상기 가상 카메라 사이의 변환들을 도출하는 단계;
    상기 움직임들을 상기 가상 카메라의 좌표계로 변환하는 단계; 및
    상기 하나 이상의 사람들 또는 바디 부분들의 상기 추적된 움직임들을 인터랙티브 애플리케이션에 대한 입력으로서 이용하는 단계
    를 포함하는 방법.
  18. 삭제
  19. 제17항에 있어서,
    상기 하나 이상의 사람들 또는 바디 부분들의 상기 추적된 움직임들로부터 제스쳐들을 식별하는 단계를 더 포함하고, 상기 식별된 제스쳐들은 상기 인터랙티브 애플리케이션을 제어하는 방법.
  20. 제19항에 있어서,
    상기 인터랙티브 애플리케이션은 상기 식별된 제스쳐들의 이미지들을 디스플레이 상에 렌더링하여 사용자에게 피드백을 제공하는 방법.
KR1020157006521A 2012-10-15 2013-10-15 다수의 심도 카메라들로부터의 데이터를 결합하기 위한 시스템 및 방법 KR101698847B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/652,181 US20140104394A1 (en) 2012-10-15 2012-10-15 System and method for combining data from multiple depth cameras
US13/652,181 2012-10-15
PCT/US2013/065019 WO2014062663A1 (en) 2012-10-15 2013-10-15 System and method for combining data from multiple depth cameras

Publications (2)

Publication Number Publication Date
KR20150043463A KR20150043463A (ko) 2015-04-22
KR101698847B1 true KR101698847B1 (ko) 2017-01-23

Family

ID=50474989

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157006521A KR101698847B1 (ko) 2012-10-15 2013-10-15 다수의 심도 카메라들로부터의 데이터를 결합하기 위한 시스템 및 방법

Country Status (5)

Country Link
US (1) US20140104394A1 (ko)
EP (1) EP2907307A4 (ko)
KR (1) KR101698847B1 (ko)
CN (1) CN104641633B (ko)
WO (1) WO2014062663A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11706395B2 (en) 2020-03-12 2023-07-18 Electronics And Telecommunications Research Institute Apparatus and method for selecting camera providing input images to synthesize virtual view images

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10175751B2 (en) * 2012-12-19 2019-01-08 Change Healthcare Holdings, Llc Method and apparatus for dynamic sensor configuration
US10037474B2 (en) * 2013-03-15 2018-07-31 Leap Motion, Inc. Determining the relative locations of multiple motion-tracking devices
KR101609188B1 (ko) * 2014-09-11 2016-04-05 동국대학교 산학협력단 화각의 향상을 위한 최적 배치를 갖는 깊이 카메라 시스템
US10692234B2 (en) 2015-02-12 2020-06-23 Nextvr Inc. Methods and apparatus for making environmental measurements and/or using such measurements
EP3231175B1 (en) 2015-04-29 2021-02-24 Hewlett-Packard Development Company, L.P. System and method for processing depth images which capture an interaction of an object relative to an interaction plane
US9866752B2 (en) * 2015-06-02 2018-01-09 Qualcomm Incorporated Systems and methods for producing a combined view from fisheye cameras
US10397546B2 (en) 2015-09-30 2019-08-27 Microsoft Technology Licensing, Llc Range imaging
CN106683130B (zh) * 2015-11-11 2020-04-10 杭州海康威视数字技术股份有限公司 一种深度图像获得方法及装置
CN106709865B (zh) 2015-11-13 2020-02-18 杭州海康威视数字技术股份有限公司 一种深度图像合成方法及装置
US10523923B2 (en) 2015-12-28 2019-12-31 Microsoft Technology Licensing, Llc Synchronizing active illumination cameras
US10462452B2 (en) 2016-03-16 2019-10-29 Microsoft Technology Licensing, Llc Synchronizing active illumination cameras
TWI567693B (zh) * 2016-05-17 2017-01-21 緯創資通股份有限公司 產生深度資訊的方法及其系統
KR102529120B1 (ko) 2016-07-15 2023-05-08 삼성전자주식회사 영상을 획득하는 방법, 디바이스 및 기록매체
GB2552648B (en) * 2016-07-22 2020-09-16 Imperial College Sci Tech & Medicine Estimating dimensions for an enclosed space using a multi-directional camera
CN106651794B (zh) * 2016-12-01 2019-12-03 北京航空航天大学 一种基于虚拟相机的投影散斑校正方法
WO2018107679A1 (zh) * 2016-12-12 2018-06-21 华为技术有限公司 一种动态三维图像获取的方法和设备
US20180316877A1 (en) * 2017-05-01 2018-11-01 Sensormatic Electronics, LLC Video Display System for Video Surveillance
GB2566279B (en) * 2017-09-06 2021-12-22 Fovo Tech Limited A method for generating and modifying images of a 3D scene
KR102549822B1 (ko) * 2018-02-19 2023-06-30 애플 인크. 조건부 의존적 합성 현실 콘텐츠 스레드들을 제시하고 조작하기 위한 방법 및 디바이스들
CN110232701A (zh) * 2018-03-05 2019-09-13 奥的斯电梯公司 使用深度传感器网络的行人跟踪
CN111089579B (zh) * 2018-10-22 2022-02-01 北京地平线机器人技术研发有限公司 异构双目slam方法、装置及电子设备

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100544677B1 (ko) * 2003-12-26 2006-01-23 한국전자통신연구원 다시점 영상 및 깊이 정보를 이용한 3차원 객체 추적 장치및 그 방법
EP1862969A1 (en) * 2006-06-02 2007-12-05 Eidgenössische Technische Hochschule Zürich Method and system for generating a representation of a dynamically changing 3D scene
US20090055205A1 (en) * 2007-08-23 2009-02-26 Igt Multimedia player tracking infrastructure
US9094675B2 (en) * 2008-02-29 2015-07-28 Disney Enterprises Inc. Processing image data from multiple cameras for motion pictures
KR101066542B1 (ko) * 2008-08-11 2011-09-21 한국전자통신연구원 가상시점 영상 생성방법 및 그 장치
JP2012518236A (ja) * 2009-02-17 2012-08-09 オーメック インタラクティブ,リミテッド ジェスチャー認識のための方法及びシステム
US8744121B2 (en) * 2009-05-29 2014-06-03 Microsoft Corporation Device for identifying and tracking multiple humans over time
US8687044B2 (en) * 2010-02-02 2014-04-01 Microsoft Corporation Depth camera compatibility
US8284847B2 (en) * 2010-05-03 2012-10-09 Microsoft Corporation Detecting motion for a multifunction sensor device
EP2393298A1 (en) * 2010-06-03 2011-12-07 Zoltan Korcsok Method and apparatus for generating multiple image views for a multiview autostereoscopic display device
US8558873B2 (en) * 2010-06-16 2013-10-15 Microsoft Corporation Use of wavefront coding to create a depth image
US20120117514A1 (en) * 2010-11-04 2012-05-10 Microsoft Corporation Three-Dimensional User Interaction
US9477303B2 (en) * 2012-04-09 2016-10-25 Intel Corporation System and method for combining three-dimensional tracking with a three-dimensional display for a user interface

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11706395B2 (en) 2020-03-12 2023-07-18 Electronics And Telecommunications Research Institute Apparatus and method for selecting camera providing input images to synthesize virtual view images

Also Published As

Publication number Publication date
WO2014062663A1 (en) 2014-04-24
US20140104394A1 (en) 2014-04-17
CN104641633A (zh) 2015-05-20
CN104641633B (zh) 2018-03-27
EP2907307A4 (en) 2016-06-15
KR20150043463A (ko) 2015-04-22
EP2907307A1 (en) 2015-08-19

Similar Documents

Publication Publication Date Title
KR101698847B1 (ko) 다수의 심도 카메라들로부터의 데이터를 결합하기 위한 시스템 및 방법
US11995902B2 (en) Facial signature methods, systems and software
KR101893047B1 (ko) 이미지 처리 방법 및 이미지 처리 장치
Kolb et al. Time‐of‐flight cameras in computer graphics
JP6548518B2 (ja) 情報処理装置および情報処理方法
US20200387745A1 (en) Method of Determining a Similarity Transformation Between First and Second Coordinates of 3D Features
EP3997662A1 (en) Depth-aware photo editing
US20140037135A1 (en) Context-driven adjustment of camera parameters
Garstka et al. View-dependent 3d projection using depth-image-based head tracking
WO2017107192A1 (en) Depth map generation apparatus, method and non-transitory computer-readable medium therefor
WO2017112041A1 (en) Morphological and edge filters for depth edge enhancement in digital images
US10152137B2 (en) Using natural movements of a hand-held device to manipulate digital content
US9081418B1 (en) Obtaining input from a virtual user interface
CN101539804A (zh) 基于增强虚拟现实与异型屏的实时人机互动方法及系统
KR20120046973A (ko) 움직임 정보 생성 방법 및 장치
CN108540717A (zh) 目标图像获取系统与方法
US20150029311A1 (en) Image processing method and image processing apparatus
EP3172721B1 (en) Method and system for augmenting television watching experience
TWI608737B (zh) 影像投影技術
Igorevich et al. Hand gesture recognition algorithm based on grayscale histogram of the image
US8908012B2 (en) Electronic device and method for creating three-dimensional image
CN111369678A (zh) 三维场景重建方法及其系统
Lo et al. Three dimensional high dynamic range veillance for 3D range-sensing cameras
Lee et al. A hand-held augmented reality projection system using trifocal tensors and kalman filter
KR20220071935A (ko) 광학 흐름을 이용한 고해상도 깊이 영상 추정 방법 및 장치

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
GRNT Written decision to grant