KR20170120639A - 딥스테레오: 실세계 이미지로부터 새로운 뷰들을 예측하는 러닝 - Google Patents

딥스테레오: 실세계 이미지로부터 새로운 뷰들을 예측하는 러닝 Download PDF

Info

Publication number
KR20170120639A
KR20170120639A KR1020177026420A KR20177026420A KR20170120639A KR 20170120639 A KR20170120639 A KR 20170120639A KR 1020177026420 A KR1020177026420 A KR 1020177026420A KR 20177026420 A KR20177026420 A KR 20177026420A KR 20170120639 A KR20170120639 A KR 20170120639A
Authority
KR
South Korea
Prior art keywords
scene
view
depth
views
requested
Prior art date
Application number
KR1020177026420A
Other languages
English (en)
Other versions
KR102047031B1 (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 KR20170120639A publication Critical patent/KR20170120639A/ko
Application granted granted Critical
Publication of KR102047031B1 publication Critical patent/KR102047031B1/ko

Links

Images

Classifications

    • G06K9/00664
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/10Terrestrial scenes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • G06F18/24133Distances to prototypes
    • G06F18/24137Distances to cluster centroïds
    • G06K9/4628
    • G06K9/4652
    • G06K9/6272
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • G06T15/205Image-based rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • G06V10/443Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
    • G06V10/449Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
    • G06V10/451Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
    • G06V10/454Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/56Extraction of image or video features relating to colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • Medical Informatics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Geometry (AREA)
  • Computer Graphics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Mathematical Physics (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Image Generation (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)
  • Processing Or Creating Images (AREA)

Abstract

기존의 이미지들로부터 새로운 뷰들을 예측하기 위해 딥 네트워크들(deep networks)을 사용하는 딥 러닝(deep learning) 시스템 및 방법은 대규모 데이터로부터 모델들 및 표현들을 생성하고 개선한다. 이 딥러닝 시스템 및 방법은 수 많은 포즈의 이미지 세트들로부터 트레이닝된 픽셀들로부터 직접적으로 새로운 뷰 합성을 수행하는 딥 아키텍처(deep architecture)를 이용한다. 이 타입의 딥 네트워크를 이용하는 시스템은 이웃하는 뷰들의 픽셀들에 기초하여 보이지 않는 뷰의 픽셀들을 생산할 수 있으며, 그 자체를 그래픽 생성시 어플리케이션에 제공한다.

Description

딥스테레오: 실세계 이미지로부터 새로운 뷰들을 예측하는 러닝
본 출원은 2015년 5월 13일에 출원된 미국 가출원 번호 62/161,159호에 대해 우선권을 주장하며, 그 전체는 본 명세서에서 완전 기술된 것처럼 참조로서 통합된다.
본 문서는 일반적으로 이미지들과 관련된 딥 네트워크들(deep networks) 및 딥 러닝(deep learning)과 관련된다.
딥 네트워크들 및 딥 러닝은 대규모 데이터로부터의 모델들과 표현들을 생성하고 개선하는데 적용될 수 있다. 딥 러닝은 기계 학습의 더 넓은 적용의 일부로 여겨질 수 있다. 딥 러닝은 예를 들어, 프로세싱/컴퓨팅 디바이스들의 다수의 레벨들로부터 얻어진 컴퓨터 비전에서 피처 표현들의 자율 학습에 기초할 수 있고, 이들 프로세싱/컴퓨팅 디바이스들의 다수의 레벨들은 저-레벨부터 고-레벨 피처들까지의 계층을 형성한다. 이들 다수의 레이어들의 구성 및 정렬은 예를 들어 특정한 해결할 과제에 기초하여 개발될 수 있다.
일 양태에서, 방법은 데이터베이스로부터, 복수의 포즈된 이미지 세트들에 엑세스하는 것, 상기 복수의 포즈된 이미지 세트들은 복수의 장면들(scenes)에 각각 대응하고, 상기 복수의 포즈된 이미지 세트들 각각은 상기 복수의 장면들 중 대응하는 장면의 복수의 뷰들(views)을 포함하며; 자동화된 뷰 생성 알고리즘에 따라 상기 장면에 대응하는 포즈된 이미지 세트에 포함된 상기 장면의 상기 복수의 뷰들로부터 선택된 뷰들에 기초하여 장면의 요청된 뷰를 생성하는 것, 상기 장면의 요청된 뷰는 상기 대응하는 포즈된 이미지 세트에 포함된 상기 장면의 상기 복수의 뷰들에 포함되지 않으며; 상기 자동화된 뷰 생성 알고리즘에 의해 생성된 상기 장면의 상기 뷰를 상기 장면의 알려진 뷰와 비교하는 것; 및 상기 비교에 기초하여 상기 뷰 생성 알고리즘을 업데이트하는 것을 포함할 수 있다.
다른 양태에서, 방법은 렌더링될 장면의 뷰에 대한 요청을 수신하는 것; 데이터베이스로부터, 상기 장면의 복수의 뷰들을 각각 나타내는 복수의 저장된 포즈된 이미지들에 엑세스하는 것; 상기 복수의 저장된 포즈된 이미지들로부터 복수의 이미지들을 선택하는 것, 상기 선택된 복수의 이미지들은 상기 장면의 상기 요청된 뷰에 이웃하는 상기 장면의 뷰들을 나타내며; 복수의 깊이들에서 상기 선택된 복수의 이미지들 각각의 깊이 슬라이스들을 재투영하는 것; 상기 장면의 상기 요청된 뷰에 대한 깊이를 결정하고, 상기 재투영된 깊이 슬라이스들에서의 픽셀들에 기초하여 상기 결정된 깊이에서 상기 장면의 상기 요청된 뷰의 각 픽셀에 대한 색상을 결정하는 것; 및 상기 장면의 상기 요청된 뷰를 생성하는 것을 포함할 수 있다.
다른 양태에서, 방법은 장면의 뷰에 대한 요청을 수신하는 것; 복수의 포즈된 이미지 세트들을 저장하는 데이터베이스로부터 대응하는 장면의 복수의 뷰들을 포함하는 상기 복수의 포즈된 이미지 세트들 각각을 검색하는 것, 상기 포즈된 이미지 세트는 상기 장면의 상기 요청된 뷰에 대응하며; 상기 대응하는 포즈된 이미지 세트에 포함된 상기 장면의 상기 복수의 뷰들로부터 선택된 뷰들에 기초하여 상기 장면의 상기 요청된 뷰를 생성하는 것을 포함할 수 있으며, 상기 요청된 뷰는 상기 대응하는 포즈된 이미지 세트의 상기 장면의 상기 복수의 뷰들에 포함되지 않는다.
다른 양태에서, 장면의 뷰를 생성하기 위한 시스템은 네트워크를 포함할 수 있다. 네트워크는 프로세서를 포함하는 컴퓨팅 디바이스, 상기 컴퓨팅 디바이스는 데이터베이스와 통신하며, 상기 데이터베이스는 복수의 장면들에 각각 대응하는 복수의 포즈된 이미지 세트들을 저장하며, 상기 복수의 포즈된 이미지 세트들 각각은 상기 복수의 장면들에 대응하는 장면의 복수의 뷰들을 포함하며; 요청된 출력 이미지에서 각 출력 픽셀에 대한 깊이를 결정하도록 구성된 선택 타워, 상기 요청된 출력 이미지는 장면의 요청된 뷰에 대응하며; 및 상기 요청된 출력 이미지의 각 출력 픽셀에 대한 색상을 생성하도록 구성된 색상 타워를 포함할 수 있다. 상기 선택 타워 및 상기 색상 타워는 상기 장면의 상기 요청된 뷰에 대응하는 상기 포즈된 이미지 세트에 포함된 상기 장면의 상기 복수의 뷰들로부터 선택된 뷰들을 수신하도록 구성될 수 있고, 상기 장면의 상기 요청된 뷰는 상기 대응하는 포즈된 이미지 세트의 상기 장면의 상기 복수의 뷰들에 포함되지 않으며, 그리고 상기 선택 타워 및 상기 색상 타워는 상기 장면의 상기 요청된 뷰들을 생성하기 위해, 상기 컴퓨팅 디바이스의 상기 프로세서에 의해 프로세싱하기 위한 상기 요청된 출력 이미지를 생성하도록 구성될 수 있다.
하나 이상의 구현예들의 세부사항들이 첨부 도면과 이하의 설명에서 기술된다. 다른 구성들은 상기 설명 및 도면 그리고 청구항들로부터 분명해질 것이다.
도 1a 및 1b는 본 명세서에 기술된 구현예들에 따라, 기존의 이미지들로부터 렌더링된 새로운 뷰들을 도시한다.
도 2는 본 명세서에 기술된 구현예들에 따라, 다양한 뷰로부터 다양한 깊이의 범위에서 새로운 타겟 카메라 시야로의 다양한 이미지의 플레인 스윕 스테레오 재투영(plane sweep stereo re-projection)을 도시한다.
도 3 및 4는 본 명세서에 기술된 구현예들에 따라, 선택 타워 및 색상 타워를 포함하는 네트워크를 도시한다.
도 5는 본 명세서에 기술된 구현예들에서 따라, 각 깊이 플레인에서 각 픽셀에 대한 선택 가능성을 생산하기 위해 학습하도록 구성된 선택 타워를 도시한다.
도 6은 본 명세서에 기술된 구현예들에서 따라, 복수의 깊이 플레인들에서 특정 픽셀에 대한 색상을 생산하기 위해 소스들에 걸쳐서 픽셀들을 조합하고 워프(warp)하기 위해 학습하도록 구성된 색상 타워를 도시한다.
도 7은 본 명세서에 기술된 구현예들에서 따라, 시스템 및 방법에 의해 생산된 재투영된 이미지들의 2개의 서로 다른 예시들을 도시한다.
도 8은 본 명세서에 기술된 기법들을 구현하는데 사용될 수 있는 컴퓨팅 디바이스 및 모바일 컴퓨팅 디바이스의 예시를 도시한다.
딥 네트워크들은 다양한 서로 다른 타입들의 인식 및 분류 문제들에 적용될 수 있다. 시스템 및 방법에서, 본 명세서에 기술된 구현예들에 따라, 딥 네트워크들은 예를 들어, 큰 수(예를 들어 백만)의 포즈된 이미지 세트들(예를 들어, 알려진 특징들(예를 들어, 관점(perspective) 및/또는 색상(color) 및/또는 깊이(depth))을 가지고 이미지들의 세트)로부터 직접적으로 새로운 뷰 합성을 수행하기 위해 학습하는 딥 아키텍처를 사용하는 컴퓨터 비전 및 그래픽들에서 인식 및 분류 문제들에 적용될 수 있다. 예를 들어, 본 명세서에 기술된 구현예들에 따르는 시스템 및 방법에서, 딥 네트워크는 이 상대적으로 많은 수의 포즈된 이미지 세트들로부터 트레이닝될 수 있고, 그 후, 동작중에, 상기 많은 수의 포즈된 이미지 세트들에 수행된 트레이닝에 기초하여 새로운, 이전에 보여지지 않은 뷰를 생성하는데 상대적으로 작은 수의 관련된 이미지들에 의존할 수 있다.
다수의 복잡한 단계들의 프로세싱에 의존하는 것에 반하여, 본 명세서에 기술된 구현예들에 따르는 시스템 및 방법은 예를 들어 장면의 이웃한 뷰의 이미지(예를 들어, 이미지의 픽셀)를 네트워크에 제시하여 장면의 보이지 않는 임의의/요청된 뷰의 이미지를 직접 생성함으로써 엔드-투-엔드(end-to-end)로 트레이닝 될 수 있다.
요청된 뷰는 예를 들어, 특정 시점 및/또는 시야 및/또는 깊이로부터의 대상 또는 대상 영역의 뷰일 수 있다. 이웃하는 이미지들은 예를 들어, 요청된 뷰에 인접한 포즈된 이미지 세트들로부터 사용가능한 이미지일 수 있다. 예를 들어, 일부 구현예에서, 시스템은 장면의 다양한 뷰들의 입력 이미지들의 세트를 제시하고, 입력 이미지 세트에 포함되지 않은 뷰를 요청하고 그 후, 상기 요청에 응답하여 생산되어야 하는 이미지를 네트워크에 제시함으로써 트레이닝될 수 있다. 일부 구현예에서, 뷰 합성을 위해, 포즈된 이미지들의 하나 이상의 세트들이 하나의 이미지를 제거하고 따로 설정한 다음, 나머지 이미지들로부터 제거된 이미지를 재생함으로써 트레이닝 세트(들)로 사용될 수 있다. 본 명세서에 기술된 구현예에 따라, 상대적으로 확장된 데이터베이스에서 마이닝(mining)된 상대적으로 많은 양의 데이터가 모델들을 트레이닝하는데 사용될 수 있다. 이러한 유형의 데이터베이스의 예로는 전세계에 걸쳐있는 다양한 포즈된 이미지의 거대한 집합을 포함하는 스트리트 뷰 매핑 데이터베이스가 있다. 설명 및 도시를 용이하게 하기 위해 이 예시가 이하에서 참조될 수 있지만, 본 명세서에서 논의된 원리는 다른 그러한 광대한 데이터 집합을 사용하는 다른 구현예들에 적용될 수 있다.
반복을 통해, 대규모 데이터베이스(예를 들어, 스트리트 뷰 맵핑 데이터베이스)에서 이용가능한 이미지들/뷰들을 이용하여, 시스템은 요청된 이미지를 생성하기 위해 그것의 프로세스를 계속 학습하고 정제할 수 있다. 이 엔드-투-엔드 접근법은 포즈된 이미지 세트에 의존하고 다른 도메인들에 적용하고, 이전 데이터에서 학습된 색상, 깊이 및 텍스처와 같은 다양한 특징들에 기초하여 보이지 않는 픽셀을 채우는 특정 레벨의 일반성을 가진다. 이 접근법은 뷰 보간법(interpolation) 및 뷰-합성 무-지향성 스테레오 이미지(view-synthesized omni-directional stereo imagery)를 생성할 때, 예를 들어, 폐색(occlusion) 및 모호성으로 인한 아티팩트(artifact)의 발생을 감소시킬 수 있고, 합성하기 상대적으로 어려운 장면에 대해 상대적으로 높은 품질의 결과를 생성할 수 있다.
다수의 포즈된 이미지로부터 3차원(3D) 형상을 추정하는 것은 렌더링되고 편집될 수 있는 장면의 3D 표현들을 생성하는 것에서 기본적인 작업 일 수 있다. 일부 구현예에서, 신규한 뷰 합성(novel view systhesis)은 장면의 새로운 뷰를 합성하기 위해 장면의 인근 포즈된 이미지들로부터의 이미지를 워핑(warping)하고 결합(combining)함으로써 장면의 새로운 뷰가 합성되는 이미지 기반 렌더링(IBR, Image based rendering)의 형태에 의해 수행될 수 있다. 이 접근법은 예를 들어, 증강 및/또는 가상 현실 시스템, 원격 회의 시스템, 3D 단안 필름 시스템, 영화 촬영, 이미지 안정화 및 다른 구현예에 적용될 수 있다. 각 타겟 픽셀의 스테레오, 색상 및 폐색 컴포넌트들을 모델링할 수 있는 멀티-뷰 스테레오 또는 이미지 워핑 방법들과 관련한 기법들에 더하여, 여기에 기술된 구현 예에 따른 시스템 및 방법은 포즈된 이미지들로부터 새로운 뷰들을 합성하기 위해 직접적으로 학습하기 위한 딥 네트워크들을 레버리징할 수 있다.
새로운 뷰 합성에 대한 이러한 유형의 접근에서, 딥 네트워크들은 해당 포즈된 입력 이미지가 픽셀 색상들을 출력하기 위해 직접 회귀하는데 사용될 수 있다. 이 시스템은 예를 들어, 트레이닝의 엔드-투-엔드 특성 및 입력들과 관련된 매우 복잡한 비선형 함수를 학습하는 딥 네트워크의 능력으로 인해 광범위한 기준선에 의해 구분되는 뷰들 사이를 보간할 수 있다. 본 명세서에 기술된 구현예에 따른 시스템 및 방법에서, 렌더링되는 장면에 대한 최소한의 가정은 예를 들어, 한정된 범위의 깊이 내에서 장면의 비교적 정적인 특성을 포함할 수 있다. 이러한 파라미터들 외부에서도, 결과 이미지들은 상대적으로 적절하게 저하(degrade)될 수 있으며, 시각적으로 그럴 듯 하게 남아있을 수 있다. 새로운 뷰들의 합성에 대한 적용에 더하여, 본 명세서에 기술된 바와 같이 딥 아키텍처를 이용하는 시스템 및 방법은 적절한 트레이닝 데이터가 주어진 다른 스테레오 및 그래픽 문제에도 적용될 수 있다.
예를 들어, 도 1a에 도시된 바와 같이, 도 1a에서 도시된 집과 같은 해당 장면 A의 새로운 뷰 CV는, 새로운 뷰 CV에 관한 추가적 정보 없이, 제1 및 제2 뷰포인트들 V1 및 V2에서 기존의 제1 및 제2 이미지들 I1 및 I2로부터의 네트워크에 의해 각각 렌더링될 수 있다. 유사하게, 도 1b에서 도시된 외부 장면과 같이, 해당 장면 B의 새로운 뷰 CV는, 새로운 뷰 CV와 관련된 추가 정보 없이, 서로 다른 각각의 뷰포인트 V1부터 Vn에서 기존의 다수의 이미지들 I1부터 In으로부터의 네트워크에 의해 렌더링될 수 있다.
일부 구현예에서, 이미지 이해 및 해석에 딥 네트워크의 적용은 딥 러닝을 그래픽 생성 특히, 특정 그래픽 적용과 관련된 깊이 및 스테레오에 적용하는 것에 대한 기초를 제공한다. 추가로, 개선된 성능은 이들 시스템들이 다량의 데이터가 없는 경우 오버-피팅(over-fitting)하기기 쉬운 딥 네트워크와 관련된 많은 수의 파라미터들을 처리하는데 풀링하기 위해 작은 컨벌루션들 및 풀링(pooling)의 많은 레이어들을 사용함으로써 달성될 수 있다.
본 명세서에 기술된 구현들에 따른 시스템 및 방법은, 예를 들어 장면이 정적이고 장면이 한정된 범위의 깊이 내에 존재하는 것과 같이, 상기 논의된 바와 같이 렌더링되는 장면에 대한 최소한의 가정을 할 수 있다. 일부 구현예에서, 모델은 트레이닝 데이터를 넘어서 예를 들어 선행 연구에서 사용된 이미지 수집을 포함하는 신규한 이미지로 일반화될 수 있다.
도 2에 도시된 바와 같이, 해당 포즈된 입력 이미지들 I1 내지 In의 세트에서, 새로운 이미지는 새로운 타겟 카메라 CT의 뷰포인트 또는 포즈된 이미지들 I1 내지 In으로부터 생성될 새로운 장면과 관련된 새로운 뷰포인트에서 렌더링 될 수 있고, 새로운 타겟 카메라 CT는 캡처 시야를 나타낸다.
도 2에서, 플레인 스윕 스테레오는 뷰포인트 V1 및 V2로부터 각각 포즈된 입력 이미지 I1 및 I2를 다수의 서로 다른 깊이들에서(예를 들어 최소 깊이 d1에서 최대 깊이 dD까지) 타겟 카메라 CT에 재투영하며, 이는 하나 이상의 중간 깊이 dK를 취하는 포즈된 이미지들 I1 및 I2의 하나 이상의 재투영된 이미지들을 포함한다. 예를 들어, 포즈된 입력 이미지 I1의 재투영된 이미지들 R1 내지 Rn은 d1부터 dD까지의 깊이 범위에서 생성될 수 있고, 포즈된 이미지 입력의 재투영된 이미지들 S1 내지 Sn은 d1부터 dD까지의 깊이 범위에서 생성될 수 있다. 도 2에서, 도트 라인들은 특정 출력 이미지 픽셀 R1 내지 Rn, S1 내지 Sn으로 재투영된 입력 이미지들 I1 및 I2으로부터의 픽셀들을 표시한다.
새로운 이미지를 렌더링하는 하나의 접근법은 입력 이미지들을 네트워크에 직접 공급함으로써 새로운 뷰들을 합성하기 위해 딥 네트워크를 단순히 트레이닝하는 것일 수 있다. 이 접근법에서, 새로운 뷰포인트의 포즈 파라미터들(새로운 타겟 카메라 CT 시야에 대응하여 생성될 새로운 뷰 CV)이 네트워크에 대한 입력으로서 제공되어 원하는 뷰/이미지를 생성할 수 있다. 포즈 파라미터들, 입력이미지들 및 출력 이미지의 복잡한 비선형적 관계 때문에, 이는 또한 회전 각도들을 어떻게 해석할 것인지 그리고 네트워크 리소스들의 비효율적 사용일 수 있는 이미지 재투영을 어떻게 수행할지 학습하는 네트워크와 관련된다. 추가적으로, 이 접근법에서, 네트워크는, 상대적으로 밀집하고, 네트워크에서 장거리 연결에 대한 필요를 드라이빙하고, 네트워크가 트레이닝하는 것을 느리게 하고 특히 대규모 데이터를 처리할 때 오버 피팅(over-fitting)하기 쉽게 하는, 원본 입력 이미지의 잠재적으로 떨어져 있는 픽셀을 비교하고 결합하여 새로운 뷰를 합성할 수 있다. 일부 예시에서, 이것은 대응하는 에피폴라 선들(epipolar lines) 상의 호스에의 연결을 제한하기 위한 내부 에피폴라 제한을 적용하여 구성된 네트워크 구조에 의해 해결 될 수 있다. 그러나 이러한 유형의 구조는 특히 대규모 데이터를 처리할 때 포즈에 의존적이며 계산적으로 비효율적일 수 있다.
상기 기술된 바와 같이, 뷰포인트 V1 내지 Vn 각각으로부터의 일련의 입력 이미지 I1 내지 In은 뷰포인트 또는 새로운/요청된 뷰 CV가 렌더링될 새로운 타겟 카메라 CT와 관련하여 d1 및 dD 사이의 서로 다른 거리들에서 재투영될 수 있고, 새로운 타겟 카메라 CT는 이들 서로 다른 재투영 거리들에서 슬라이스들을 렌더링한다. 시스템은 주어진 인터벌들(intervals)에, 새 타겟 카메라 CT에 상대적으로 가까운 위치(예를 들어, 스트리트 뷰의 경우에서 새로운 타겟 카메라 CT로부터 대략 2m)로부터 새로운 타겟 카메라 CT에 상재적으로 먼 위치(예를 들어, 스트리트 뷰의 경우에 새로운 타겟 카메라 CT로부터 대략 30 미터 또는 그 이상)까지 깊이들의 범위에 걸쳐서 스윕(sweep)할 수 있다. 일부 구현예에서, 시스템은 인버스 거리(inverser distance) 또는 1/거리(예를 들면, 1/최대 거리 dD의 최소 인터벌, 또는 최소 거리 d1과 최대 거리 dD 사이의 다른 거리에 기초한 다른 인터벌)에서 깊이들의 범위에 걸쳐서, 단계를 밟을 수 있다. 이러한 재투영된 깊이 슬라이스들로부터, 각 입력 뷰에 대한 재투영된 깊이 슬라이스가 생성될 수 있고, 이는 이용가능한 각 재투영된 깊이 슬라이스에 대한 다수의 이미지들을 포함한다(예를 들어, 깊이 슬라이스당 4-5개의 이미지들을 각각 가지는 4-5개 입력 뷰들). 예를 들어, 왼쪽 재투영된 이미지의 픽셀들과 오른쪽 재투영된 이미지의 픽셀은 (각각) 올바른 깊이에서 정렬된다. 재투영된 깊이 슬라이스들은 결합되어 그 깊이 슬라이스에 대한 최상의 색상을 생산하고, 특정 픽셀/이미지에 대한 올바른 깊이를 결정할 수 있다. 네트워크는 특정 픽셀에 대한 올바른 깊이와 올바른 깊이 슬라이스를 결정한 다음 올바른 색상을 결정할 수 있다. 이러한 엘리먼트들은 함께 학습될 수 있다. 그 후, 네트워크는 특정 픽셀이 특정 깊이 슬라이스에 있을 확률을 결정하거나 또는 학습하고, 그 확률에 연산된 색상을 곱하고 다음 이것을 합산하여 최종 이미지를 생산한다.
더 구체적으로, 본 명세서에 기술된 구현예들에 따른 시스템 및 방법에서, 네트워크는 입력으로서 3D 플레인 스윕 볼륨들의 세트를 포함할 수 있다. 플레인 스윕 볼륨(PSV, plane sweep volume)은 예를 들어, 새로운 타겟 카메라 CT에 재투영된 이미지들의 스택을 포함할 수 있다. 상기 스택에서 각 이미지는 다양한 깊이들 d∈d1...dD의 세트에서 새로운 타겟 카메라 CT로 재투영되어, 플레인 스윕 볼륨 VC = P1 ... Pd ... PD를 형성할 수 있다. 즉, 도 2에 도시된 바와 같이, 플레인 스윕 스테레오는 V1 및 V2로부터의 이미지들 I1, I2를 깊이들의 범위 d∈d1...dD에서 새로운 타겟 카메라 CT에 재투영할 수 있다. 입력 이미지를 타겟 카메라 C로 재투영하는 것은 예를 들어, 텍스처 맵핑을 사용하여 이루어질 수 있고, 그래픽 프로세싱 유닛(GPU)에 의해 수행될 수 있다. 별개의 플레인 스윕 볼륨 Vk C이 각 입력 이미지에 대해 생성될 수 있다. 각 플레인 스윕 볼륨 Vk C에서 각 복셀(voxel) vx , y, z는 R, G, B 및 A(알파) 컴포넌트들을 가지며, 상기 알파 채널은 그 특정 복셀에 대한 소스 픽셀들의 가용성을 표시한다.
플레인 스윕 볼륨들을 네트워크에 대한 입력으로서 사용함으로써, 포즈 파라미터들은 별도로 공급되는 입력들이라기 보다는 플레인 스윕 볼륨의 구성에 사용되는 묵시적 입력일 수 있다. 추가적으로, 대응하는 픽셀들이 이제 플레인 스윕 볼륨의 대응하는 컬럼들에 배치되기 때문에, 에피폴라 제약은 플레인 스윕 볼륨 내에서 사소하게 실행될 수 있다. 따라서, 픽셀/이미지 간의 장거리 연결은 필요하지 않으며, 해당 출력 픽셀/이미지는 각 소스 플레인 스윕 볼륨의 작은 복셀 컬럼에만 의존한다. 유사하게, 위치 i, j에서 출력 픽셀 p를 생산하기 위해 수행되는 계산은 픽셀 pi, j의 위치와는 대체로 독립적이므로, 완전히 연결된 네트워크보다 적은 파라미터를 관련시킬 수 있고 따라서 트레이닝하기에 더 빠를 수 있는 컨볼루션 신경 네트워크가 사용될 수 있다. 또한, 컨벌루션 신경 네트워크 상에서 추론을 실행하는 것은 더 빠를 수 있으며 이전의 레이어들로부터의 계산이 공유될 수 있다. 예를 들어, 일 실시예에서, 모델은 2차원 (2D) 컨볼루션 레이어를 입력 플레인 스윕 볼륨 내의 각 플레인에 적용할 수 있다. 또한 컨볼루션 레이어들 내에서 가중치를 공유하는 것에 더하여, 모델은 플레인 스윕 볼륨에서 플레인들에 걸쳐 가중치를 공유하는 이점을 취할 수 있고, 이는 각 플레인 상에서 수행되는 계산이 플레인의 깊이와 독립적이도록 한다.
일부 구현예들에서, 모델은 레이어들의 2개의 타워들을 포함할 수 있고, 각 타워에 대한 입력은 플레인 스윕 볼륨들 Vk C의 세트이다. 이 듀얼 아키텍처는 깊이 예측 및 색상 예측 둘 다에 허용될 수 있다. 예를 들어, 깊이 예측에서, 출력 이미지의 각 픽셀에 대한 대략적인 깊이는 출력 픽셀을 생성하는데 사용되는 소스 이미지 픽셀을 결정하도록 결정될 수 있다. 깊이에 대한이 확률은 제곱 거리 합산(SSD, sum of squared distances) 접근법, 정규화된 상호 상관(NCC, normalized cross correlation) 접근법 또는 분산 접근법 대신에 트레이닝 데이터를 사용하여 계산될 수 있다. 컬러 예측에서, 해당 관련된 모든 소스 이미지 픽셀이 주어진 경우, 출력 픽셀의 색상은 간단한 평균을 수행하는 것보다 트레이닝 데이터를 사용하여 소스 픽셀을 최적으로 결합함으로써 생성될 수 있다.
도 3에 도시된 2개의 타워들은 깊이 예측 및 색상 예측의 작업들을 수행할 수 있다. 선택 타워는 각 픽셀이 특정 깊이를 가질 가능성을 표시하는 각 픽셀에 대한 가능성 맵(또는 선택 맵)을 생성할 수 있다. 색상 타워는 각 깊이에 대한 완전한 색상 출력 이미지를 생성할 수 있다. 예를 들어, 깊이가 그 특정 픽셀에 대해 정확하다고 가정하여, 색상 타워는 각 깊이에 대해 가능한 최상의 색상을 생산할 수 있다. 그 후 색상 이미지들은 선택 맵에서 가져온 가중치와 픽셀 별 가중치 합계로 결합될 수 있다. 즉, 선택 맵은 각 출력 픽셀에 사용할 최상의 색상 레이어들을 결정하는데 사용될 수 있다. 뷰 합성에 대한 이 접근법은 시스템이 딥 러닝 방법을 사용하는 엔드-투-엔드로 선택 타워와 색상 타워의 모든 파라미터들을 동시에 학습하게 한다. 추가로, 색상 레이어들에 대한 가중 평균은 특히 알고리즘의 확신이 낮은 영역에서 불확실성에 대한 약간의 회복력을 제공한다.
특히, 각 타워의 제1 레이어는 상기 입력 플레인 스윕 볼륨을 소스에 연결할 수 있으며, 네트워크들로 하여금 재투영된 픽셀 값들을 소스들에 걸쳐서 비교하고 조합하게 한다. 예를 들어, 도 3 및 4에 도시된 것과 같은 선택 타워는 각 플레인Pd에서, 각 픽셀 pi, j에 대해, 도 4에 도시된 바와 같이 그 플레인에서 상기 픽셀에 대한 선택 가능성 si , j, d를 계산할 수 있다. 도 3 및 4에 도시된 바와 같이, 각 플레인Pd에서, 각 픽셀 pi, j에 대해, 도 5에 도시된 바와 같이 그 플레인에서 상기 픽셀에 대한 색상 ci, j, d를 계산할 수 있다. 각 픽셀에 대한 최종 출력 색상 공식(1)에 도시된 것과 같이 플레인들의 깊이를 합산함으로써 계산될 수 있다.
공식(1)
Figure pct00001
각 타워에 대한 입력은 플레인 스윕 볼륨들 Vk C의 세트를 포함할 수 있다(전체 볼륨들 상의 재투영된 이미지들 N-D의 전부를 포함, 여기서 N은 소스 이미지들의 수이고 D는 깊이 플레인들의 수). 각 타워의 제1 레이어는 각 재투영된 이미지 Pk i 상에서 독립적으로 동작할 수 있으며, 시스템으로 하여금 저-레벨 이미지 구성들을 학습하게 한다. 제1 레이어 이후에, N 소스들에 대응하는 피처 맵들(feature maps)은 각 깊이 플레인에서 연결되고, 후속적 레이어들은 이들 깊이-플레인-당(per-depth-plane) 피처 맵들 상에서 동작할 수 있다. 또한 선택 타워의 최종 레이어들은 깊이 플레인들에 걸친 연결들을 사용할 수 있다.
일부 구현예들에서, 선택 타워는 2개의 주요 단계들을 포함한다. 앞선 레이어들(early layers)은 예를 들면, 모든 깊이 플레인들에 걸쳐서 가중치들을 공유하고, 제1 레이어에 대한 깊이 플레인 내에 있는 2D 컨벌루션 정류 선형 레이어들(2D convolutional rectified linear layers)의 수를 포함할 수 있다. 예를 들어, 이전의 학습에 기초하여, 앞선 레이어들은 픽셀 차이점들과 같은 깊이와 독립된 피처들을 계산할 수 있고, 따라서, 그들의 가중치들이 공유될 수 있다. 레이어들의 최종 세트는 깊이 플레인들에 걸쳐 연결되어, 차폐에 의해 야기된 것과 같은 깊이 플레인들 사이의 깊이 플레인 인터렉션들(예를 들면, 네트워크는 깊이에서 모호성이 있는 경우 더 높은 점수를 가지는 가까운 플레인들을 선호하는 것을 학습할 수 있음)이 모델링될 수 있다. 도 4에 도시된 바와 같이, 네트워크의 최종 레이어는 깊이 상의 픽셀 당 소프트맥스 정규화 변환기(per pixel softmax normalization transformer)일 수 있다. 소프트맥스 변환기는 모델들이 모든 깊이 플레인들의 합이 1임을 보장하면서 픽셀 당 단일 깊이 플레인을 선택하게 할 수 있다. 일부 실시예에서, 끝에서 두 번째 레이어에 대한 tanh 활동은 선형 레이어보다 더 안정적인 트레이닝을 제공한다. 예를 들어, 일부 환경 하에서, 선형 레이어는 특정 깊이 플레인들에서 셧 다운(shut down)할 수 있고, 예를 들면, 소프트맥스 레이어와 연관된 상대적으로 큰 변화도들(gradients)로 인하여 회복되지 않을 수 있다. 공식(2)에 도시된 바와 같이, 선택 타워의 출력은 단일의 채널 노드들 si, j, d 의 3D 볼륨일 수 있다.
공식(2)
Figure pct00002
도 5에서 도시된 바와 같이, 색상 타워는 예를 들면, 선형 재구성 레이어가 후속하는, 모든 플레인들에 걸쳐서 가중치를 공유하는 2D 컨벌루션 정류 선형 레이어들을 포함할 수 있다. 차폐 효과들은 색상 레이어에서 동일한 레벨의 관련성을 가지지 않으며, 따라서 깊이에 걸친 인터렉션들은 필요하지 않을 수 있다. 색상 타워의 출력은 노드들 ci, j, d 의 3D 볼륨이다. 출력에서 각 노드는 R, G 및 B에 대응하는 3개의 채널들을 가질 수 있다.
선택 타워 및 색상 타워의 출력은 출력 이미지를 생산하기 위해 노드에 의해 함께 곱해질 수 있다. 트레이닝 동안에, 결과 이미지는 예를 들면, 픽셀 당 손실(per-pixel loss) L1을 사용하여, 알려진 타겟 이미지 It 또는 트레이닝 이미지와 비교될 수 있다. 총 손실 L은 공식(3)에 따라 결정될 수 있으며, 여기서 c,i f j는 픽셀 i,j에서 타겟 색상이다.
공식(3)
Figure pct00003
일부 구현예들에서, 전체 이미지를 모두 한번에 예측하는 것 보다는, 시스템은 패치-바이-패치(patch-by-patch)로 출력 이미지를 예측할 수 있다. 입력 패치 주변의 연속적으로 더 큰 영역의 더 낮은 해상도 버전 세트를 전달하는 것은 네트워크에 더 많은 컨텍스트를 제공함으로써 결과를 향상시킬 수 있으며, 향상된 결과는 예측된 뷰가 더 정확하다는 것을 의미한다. 예를 들어, 일부 구현예에서, 시스템은 4개의 상이한 해상도들로 전달할 수 있다. 각 해상도는 먼저 여러 개의 레이어들에 의해 독립적으로 프로세싱된 다음 최종 레이어들에 들어가기 전에 업샘플링(upsampling)되고 연결된다. 업샘플링은 가장 가까운 이웃 보간을 이용할 수 있다. 완전한 네트워크의 더 상세한 내용은 도 6에 도시된다.
상기 기술된 바와 같이, 일 예시적 구현예에서, 상대적으로 대량의 데이터는 모델들을 트레이닝하기에 상대적으로 광대한 데이터베이스로부터 마이닝될 수 있다. 상기 기술된 예시적 구현예에서, 스트리트 뷰 데이터베이스에 포함된 지구상의 많은 부분에 걸친 포즈된 이미지의 방대한 컬렉션이 그러한 모델을 트레이닝하는데 사용될 수 있다. 이 예시적 구현예에서, 움직이는 차량에 의해 캡쳐된 거리 장면의 이미지들이 네트워크를 트레이닝하는데 사용될 수 있다. 이미지는 예를 들어 주행 측정법 및 모션 기법들의 구조를 사용하여 포즈될 수 있다. 차량이 움직이면서, 차량이 간헐적으로 이미지의 클러스터 또는 그룹 또는 로제트(rosettes)를 캡처할 수 있다. 예를 들어, 차량은 복수의 미리 결정된 시간 스탬프들 각각에서 이미지의 로제트를 캡처할 수 있다. 각각의 로제트는 미리 결정된 시야들로부터 캡쳐된 미리 결정된의 배열로 복수의 이미지들을 포함할 수 있다. 예를 들어, 일부 구현예에서, 각 로제트는 이용된 이미지 캡처 디바이스 또는 카메라의 유형에 따라 8개의 이미지들 또는 15개의 이미지들 또는 다른 수의 이미지들을 포함할 수 있다. 각각 복수의 이미지들을 포함하는 로제트들은 입력 이미지들의 스트림을 정의할 수 있다.
일부 구현예에서, 시스템의 트레이닝은 샘플 생성 파이프라인을 실질적으로 연속적으로 실행하는 것, 비교적 많은 수의 로제트들에 포함된 입력 이미지들로부터 랜덤 패치를 선택하고 재투영하는 것을 포함할 수 있다. 예를 들어, 일 실시예에서, 도 3에 도시 된 바와 같이, 최대 100,000개의 로제트가 샘플 생성 파이프라인에 포함될 수 있고, 네트워크는 26 × 26 입력 패치로부터 8 × 8 출력 패치를 생성하도록 트레이닝될 수 있다. 다수의 이미지들로부터의 패치들은 미리 결정된 크기, 예를 들어 400을 갖는 미니-배치들(mini-batches)을 생성하기 위해 결합될 수 있다. 그 후, 네트워크는 예를 들어, 분산 변화도 감소(distributed gradient descent)를 사용하여 트레이닝 될 수 있다. 샘플 랜덤화, 상대적으로 많은 볼륨의 사용가능한 트레이닝 데이터로 인하여, 이 예시적 구현예에서 트레이닝 중 임의의 패치들의 중복 사용은 거의 불가능하다.
상기 기술된 방식으로 네트워크를 트레이닝의 효과성을 평가하기 위해, 2개의 상이한 유형의 트레이닝 데이터를 사용하지만, 동일한 모델 또는 알고리즘을 사용하여 2개의 네트워크가 트레이닝된다. 제1 네트워크는 상기 기술된 바와 같이, 광범위한 스트리트 뷰 데이터베이스에 의해 제공된 이미지 데이터에 기초하여 트레이닝되었다. 스트리트 뷰 데이터베이스에 포함된 이미지는 상기 기술된 바와 같이, 이미지들 또는 로제트들의 세트를 캡처하는 롤링 셔터를 사용하는 차량 탑재 카메라로 각 노출마다 상이한 방향으로, 주행 거리 측정(odometry)와 다른 모션 방법의 조합을 사용하여 포즈되었다. 제2 네트워크는 표준 주행 거리 측정 데이터 세트의 포즈된 이미지 시퀀스들을 사용하여 트레이닝되었다. 뷰 보간 작업에 대한 제1 및 제2 네트워크의 성능을 평가하는 것에서, 새로운 이미지들이 알려진 이미지(보류된 이미지)와 동일한 뷰포인트로부터 생성되었다. 트레이닝 동안에, 제1 네트워크를 트레이닝하는데 사용된 스트리트 뷰 데이터베이스의 각 로제트는 모든 방향에서 픽셀을 제공하여, 재투영된 깊이 플레인은 항상 유효한 픽셀들을 가진다. 제2 네트워크를 트레이닝하는데 사용된 표준 데이터 세트를 사용하면, 깊이 플레인들의 일부는 모든 카메라들로부터 볼 수 있지 않다. 상기 모델은 트레이닝 동안에 누락된 픽셀들을 마주하지 않았기 때문에, 누락된 픽셀은 주로 이미지의 경계에서 제2 네트워크에 의해 생성된 이미지에 일부 오류를 생성했다.
추가 비교에서, 베이스라인 IBR 알고리즘은 인접하는 임의의 작은 남아있는 구멍들을 채우기 위해 유효 픽셀들을 분산하는, 2개의 가장 가까운 이미지들로부터의 픽셀들을 타겟 뷰로 스플랫(splat)하기 위해 4개의 가장 가까운 입력 이미지들을 사용하여 깊이를 계산하기 위해 구현되었다. 본 명세서에 기술된 구현예에 따른 시스템 및 방법은 모든 간격들에 대해 베이스라인 IBR 알고리즘을 능가했다. 본 명세서에 기술된 구현예들에 따른 시스템 및 방법은 또한 중간(in-between) 이미지들을 보간하기 위해 적용된 광학 흐름 알고리즘(optical flow algorithm)을 능가했다. 이 유형의 광학 흐름 알고리즘을 구현할 때 3D 포즈의 개념이 없으므로, 보간된 이미지는 단지 대략적으로 보류된 이미지의 시점에 있다.
전체적으로, 본 명세서에 기술된 구현예에 따른 시스템 및 방법으로 구현된 모델은 원래의 실제 이미지와 구별하기 어려울 수 있는 상대적으로 고품질의 출력 이미지를 생산할 수 있다. 모델은 예를 들어, 도 1b에 도시 된 나무 및 풀과 같이, 문제의 표면 및 질감의 다양한 상이한 유형을 반사 표면의 성능을 정상적으로 저하시키고 비교적 눈에 띄지 않게 하여 프로세싱할 수 있다. 장면에서 바람에 흔들리는 깃발과 같이 트레이닝 중에 종종 마주할 수 있는 움직이는 물체는 모션 블러(motion blur)를 유발하는 방식으로 블러링될 수 있다. 이러한 이미지를 생산하기 위한 네트워크 트레이닝의 예시는 도 7에 도시된다.
도 7은 이 방식으로 생산된 재투영된 이미지들의 2개의 상이한 예시들을 도시한다. 한 이미지는 상대적으로 부드러운 표면 질감을 가지는 테이블이고, 제2 이미지는 더 복잡한 시각적 질감을 가지는 나무이다. 이들 이미지들은 단일의 깊이 플레인에서 재투영되고 선택되어, 이들 이미지들에 의해 표현된 크롭된 영역들이 그 특정 플레인에서 강한 선택 가능성을 가진다. 재투영된 입력 뷰들은 도 7의 왼쪽 부분에 도시되며, 해당 깊이 플레인에서 선택 레이어 및 색상 레이어의 출력들은 도 7의 중간 부분에 도시되며, 그리고 평균에 대한 비교는 도 7의 오른쪽 부분에 도시된다. 도 7에 도시된 바와 같이, 색상 레이어는 입력된 재투영된 이미지를 단순히 평균하는 것 이상으로 기여할 수 있다. 오히려 그 깊이 플레인에 대한 색상 이미지를 생산하기 위해 입력을 워프하고 견고하게 결합하는데 학습할 수 있다. 이는 시스템이 하나 이상의 불일치 픽셀에 의해 분리된 깊이 플레인을 생산하게 할 수 있다.
본 명세서에 기술된 구현예들에 따른 시스템 및 방법에서, 딥 네트워크는 단지 포즈된 이미지의 세트들을 사용하여, 신규한 뷰 합성을 수행하기 위해 엔드-투-엔드로 트레이닝될 수 있고, 상기 포즈된 이미지들의 세트들로부터 고품질의 정확한 합성된 뷰들을 제공한다. 상기 언급된 바와 같이, 예측하기 위해 학습하는 시스템 및 방법은 대량 데이터로부터의 모델들 및 표현들을 생성하고 개선하기 위해 딥 러닝에 의해 구현될 수 있고, 딥 네트워크에 의해 용이하게 될 수 있다. 이러한 딥 네트워크에 공급되는 데이터는 여러 레벨의 프로세싱/컴퓨팅 디바이스로부터 얻어질 수 있으며, 이러한 여러 레벨의 프로세싱/컴퓨팅 디바이스는 해결되어야 할 특정 문제에 기초하여 저레벨에서 고레벨 피처들로 계층을 형성한다.
도 8은 딥 네트워크에 포함될 수 있는 일반적인 전자 컴퓨팅 디바이스(700) 및 일반적인 모바일 전자 컴퓨팅 디바이스(780)의 예시를 제공한다. 컴퓨팅 디바이스(700)는 랩톱 컴퓨터, 컨버터블 컴퓨터, 태블릿 컴퓨터, 데스크톱 컴퓨터, 워크 스테이션, 개인 휴대 정보 단말기, 서버, 블레이드 서버, 메인 프레임 및 다른 적절한 컴퓨터와 같은 다양한 형태의 디지털 컴퓨터를 나타내기 위한 것이다. 컴퓨팅 디바이스(780)는 개인 휴대 정보 단말기, 셀룰러 전화기, 스마트 폰 및 다른 유사한 컴퓨팅 디바이스와 같은 다양한 형태의 모바일 디바이스를 나타내기 위한 것이다. 여기에 도시된 컴포넌트들, 그들의 연결 및 관계, 및 그들의 기능은 단지 예시적인 것을 의미하며, 본 명세서에 기술된 및/또는 청구된 발명의 구현을 제한하는 것을 의미하지는 않는다.
컴퓨팅 디바이스(700)는 프로세서(702), 메모리(704), 저장 디바이스(706), 메모리(704) 및 고속 확장 포트(710)에 연결되는 고속 인터페이스(708) 및 저속 버스(714) 및 저장 디바이스(706)에 연결되는 저속 인터페이스(712)를 포함한다. 컴포넌트들(702, 704, 706, 708, 710 및 712) 각각은 다양한 버스들을 사용하여 상호 연결되고, 공통 마더 보드 상에 또는 적절한 다른 방식으로 장착될 수 있다. 프로세서(702)는 메모리(704) 또는 저장 디바이스(706)에 저장된 명령어들을 포함하는, 컴퓨팅 디바이스(700) 내에서 실행하기위한 명령어들을 프로세싱하여, 고속 인터페이스(708)에 연결된 디스플레이(716)와 같은 외부 입/출력 디바이스상에 GUI에 대한 그래픽 정보를 디스플레이 할 수 있다. 다른 구현예에서, 다수의 프로세서들 및/또는 다수의 버스들이 다수의 메모리들 및 다수의 유형의 메모리와 함께, 적절하게 사용될 수 있다. 또한, 다수의 컴퓨팅 디바이스들(700)은 각 디바이스가 필요한 동작의 일부를 제공하면서 다수의 컴퓨팅 디바이스(700)가 연결될 수 있다(예를 들어, 서버 뱅크, 블레이드 서버 그룹 또는 멀티 프로세서 시스템과 같은).
메모리(704)는 컴퓨팅 디바이스(700) 내에서 정보를 저장한다. 일 실시예에서, 메모리(704)는 휘발성 메모리 유닛 또는 유닛들이다. 또 다른 구현예에서, 메모리(704)는 비휘발성 메모리 유닛 또는 유닛들이다. 또한, 메모리(704)는 자기 또는 광학 디스크와 같은 컴퓨터 판독가능 매체의 다른 형태 일 수 있다.
저장 디바이스(706)는 컴퓨팅 디바이스(700)를 위한 대용량 저장 디바이스를 제공 할 수 있다. 일 구현예에서, 저장 디바이스(706)는 플로피 디스크 디바이스, 하드 디스크 디바이스, 광 디스크 디바이스 또는 테이프 디바이스, 플래시 메모리 또는 다른 유사한 고체 상태 메모리 디바이스, 또는 저장 영역 네트워크 또는 다른 구성의 디바이스를 포함하는 디바이스의 어레이일 수 있다. 컴퓨터 프로그램 제품은 정보 캐리어에 유형적으로 수록될 수 있다. 컴퓨터 프로그램 제품은 또한 실행될 때 상기 기술된 바와 같은 하나 이상의 방법을 수행하는 명령어들을 포함 할 수 있다. 정보 캐리어는 메모리 (704), 저장 디바이스(706) 또는 프로세서(702)상의 메모리와 같은 컴퓨터 또는 기계 판독가능 매체이다.
고속 제어기(708)는 컴퓨팅 디바이스(600)에 대한 대역폭 집중 동작들을 관리하는 반면, 저속 제어기(712)는 낮은 대역폭 집중 동작들을 관리한다. 이러한 기능들의 할당은 단지 예시적인 것이다. 일 구현예에서, 고속 제어기(708)는 다양한 확장 카드(도시되지 않음)를 수용 할 수 있는 고속 확장 포트(710) 및 메모리(704), 디스플레이(716)에 연결된다. 구현예에서, 저속 제어기(712)는 저장 디바이스(706) 및 저속 확장 포트(714)에 결합된다. 다양한 통신 포트(예를 들어, USB, 블루투스, 이더넷, 무선 이더넷)를 포함 할 수 있는 저속 확장 포트는 키보드, 포인팅 디바이스, 스캐너 또는 스위치 또는 라우터와 같은 네트워킹 디바이스와 같은 하나 이상의 입력/출력 디바이스에, 예를 들어 네트워크 어댑터를 통해 결합 될 수 있다.
컴퓨팅 디바이스(700)는 도면에 도시 된 바와 같이 다수의 상이한 형태로 구현 될 수 있다. 예를 들어, 그것은 표준 서버(720)로서 또는 그러한 서버들의 그룹에서 여러 번 구현 될 수 있다. 또한, 랙 서버 시스템(724)의 일부로서 구현 될 수도 있다. 또한, 랩탑 컴퓨터(722)와 같은 퍼스널 컴퓨터에서 구현 될 수도 있다. 대안적으로, 컴퓨팅 디바이스(700)로부터의 컴포넌트들은 모바일 디바이스 내의 다른 컴포넌트들과 결합 될 수 있다 이러한 디바이스 각각은 컴퓨팅 디바이스(700, 780) 중 하나 이상을 포함할 수 있고, 전체 시스템은 서로 통신하는 다수의 컴퓨팅 디바이스(700, 780)로 구성될 수 있다.
컴퓨팅 디바이스(780)는 프로세서(782), 메모리(764), 디스플레이(784), 통신 인터페이스(766) 및 송수신기(768)와 같은 입/출력 디바이스를 포함한다. 디바이스(780)는 또한 추가 저장 디바이스를 제공하기 위해 마이크로 드라이브 또는 다른 디바이스와 같은 저장 디바이스와 함께 제공 될 수 있다. 컴포넌트들(780, 782, 764, 784, 766 및 768) 각각은 다양한 버스를 사용하여 상호 접속되며, 몇몇 컴포넌트들은 공통 마더 보드 상에 또는 적절하게 다른 방식으로 장착 될 수 있다.
프로세서(782)는 메모리(764)에 저장된 명령을 포함하는 컴퓨팅 디바이스 (780)내의 명령을 실행할 수 있다. 프로세서는 별개의 다중 아날로그 및 디지털 프로세서를 포함하는 칩의 칩셋으로서 구현 될 수 있다. 프로세서는 예를 들어 사용자 인터페이스의 제어, 디바이스(780)에 의해 실행되는 어플리케이션 및 디바이스(780)에 의한 무선 통신과 같은 디바이스(780)의 다른 컴포넌트들의 조정을 제공 할 수 있다.
프로세서(782)는 제어 인터페이스(788) 및 디스플레이(786)를 통해 사용자와 통신 할 수 있다. 디스플레이(784)는 예를 들어, TFT LCD(박막 트랜지스터 액정 디스플레이) 또는 OLED(유기 발광 다이오드) 디스플레이, 또는 다른 적절한 디스플레이 기술을 포함 할 수 있다. 디스플레이 인터페이스(786)는 사용자에게 그래픽 및 다른 정보를 제공하기 위해 디스플레이(784)를 구동하기 위한 적절한 회로를 포함 할 수 있다. 제어 인터페이스(788)는 사용자로부터 명령을 수신하여 프로세서(782)에 제출하기 위해 그들을 변환할 수 있다. 예를 들어, 제어 인터페이스(788)는 예를 들어 키보드(780)를 통해 사용자에 의해 입력된 입력을 수신할 수 있으며, 디스플레이된 텍스트 박스에 대응하는 텍스트를 입력하는 것과 같은 처리를 위해 입력을 프로세서(782)에 전송한다. 또한, 외부 인터페이스(762)는 프로세서(782)와 통신하여 제공되어, 디바이스(780)의 다른 디바이스와의 근거리 통신을 가능하게 한다. 외부 인터페이스(762)는 예를 들어, 일부 구현예에서는 유선 통신을, 또는 다른 구현예에서는 무선 통신을 제공할 수 있으며, 다중 인터페이스가 또한 사용될 수 있다.
메모리(764)는 컴퓨팅 디바이스(780) 내에 정보를 저장한다. 메모리(764)는 컴퓨터 판독가능 매체 또는 매체, 휘발성 메모리 유닛 또는 비휘발성 메모리 유닛 중 하나 이상으로서 구현 될 수 있다. 확장 메모리(774)는 또한 예를 들어 SIMM(Single In Line Memory Module) 카드 인터페이스를 포함할 수 있는 확장 인터페이스(772)를 통해 디바이스(880)에 제공되고 접속될 수 있다. 특히, 확장 메모리(774)는 전술한 프로세스를 수행하거나 보충하는 명령을 포함할 수 있으며, 또한 보안 정보를 포함할 수 있다. 따라서, 예를 들어, 확장 메모리(774)는 디바이스(880)에 대한 보안 모듈로서 제공될 수 있고, 디바이스(880)의 보안 사용을 허용하는 명령어들로 프로그램될 수 있다. 또한, 보안 어플리케이션은 SIMM 카드를 통해 추가 정보 SIMM 카드에 식별 정보를 해킹할 수 없게 배치하는 등의 작업을 할 수 있다.
메모리는 예를 들어, 후술되는 바와 같이, 플래시 메모리 및/또는 NVRAM 메모리를 포함할 수 있다. 일 실시예에서, 컴퓨터 프로그램 제품은 정보 매체에 유형적으로 수록된다. 컴퓨터 프로그램 제품은 실행될 때 상기 기술된 것과 같은 하나 이상의 방법을 수행하는 명령어들을 포함합니다. 정보 캐리어는 예를 들어 송수신기(768) 또는 외부 인터페이스(762)를 통해 수신될 수 있는 메모리(764), 확장 메모리(874) 또는 프로세서(782)상의 메모리와 같은 컴퓨터 또는 기계 판독가능 매체이다.
디바이스(780)는 필요에 따라 디지털 신호 처리 회로를 포함할 수 있는 통신 인터페이스(766)를 통해 무선으로 통신 할 수 있다. 통신 인터페이스(766)는 GSM 음성 호출, SMS, EMS 또는 MMS 메시징, CDMA, TDMA, PDC, WCDMA, CDMA2000 또는 GPRS와 같은 다양한 모드 또는 프로토콜 하에서 통신을 제공 할 수 있다. 이러한 통신은 예를 들어, 무선 주파수 송수신기(768)를 통해 발생할 수 있다. 또한, 블루투스, WiFi 또는 다른 트랜시버(도시되지 않음)를 사용하는 것과 같은 단거리 통신이 발생할 수 있다. 또한, GPS (Global Positioning System) 수신기 모듈(770)은 디바이스(780)상에서 실행되는 어플리케이션에 의해 적절히 사용될 수 있는 추가적인 네비게이션 및 위치 관련 무선 데이터를 디바이스(780)에 제공 할 수 있다.
디바이스(780)는 또한 사용자로부터 음성 정보를 수신하고 그것을 이용가능한 디지털 정보로 변환 할 수 있는 오디오 코덱(760)을 사용하여 청각 적으로 통신 할 수 있다. 오디오 코덱(760)은 마찬가지로, 예를 들어 디바이스(780)의 핸드셋 내의 스피커를 통하는 것과 같이, 사용자를 위한 가청 사운드를 생성할 수 있다. 이러한 사운드는 음성 전화 호출로부터의 사운드를 포함할 수 있고, 기록된 사운드(예를 들어, 음성 메시지, 음악 파일 등)를 포함할 수 있고, 또한 디바이스(780)상에서 동작하는 어플리케이션에 의해 생성된 사운드를 포함할 수 있다.
컴퓨팅 디바이스(780)는 도면에 도시된 바와 같이 다수의 상이한 형태로 구현 될 수 있다. 예를 들면, 그것은 셀룰러 전화(780)로서 구현될 수 있다. 또한 스마트폰(782), 개인 휴대 정보 단말기(personal digital assistant), 또는 다른 유사한 이동 디바이스의 일부로서 구현될 수 있다.
본 명세서에 기술된 다양한 기법들의 구현예들은 디지털 전자 회로, 또는 컴퓨터 하드웨어, 펌웨어, 소프트웨어, 또는 이들의 조합으로 구현될 수 있다. 구현예들은 컴퓨터 프로그램 제품, 즉 정보 캐리어, 예를 들어 기계 판독가능 저장 디바이스(컴퓨터 판독가능 매체)에 유형적으로 수록된 컴퓨터 프로그램으로서, 데이터 프로세싱 장치 예를 들어 프로그래머블 프로세서, 컴퓨터 또는 다수의 컴퓨터들에 의해 프로세싱되거나 데이터 프로세싱 장치의 동작을 제어하기 위한 컴퓨터 프로그램으로서 구현될 수 있다. 따라서, 컴퓨터 판독가능 저장 매체는 실행될 때 프로세서(예를 들어, 호스트 장치의 프로세서, 클라이언트 장치의 프로세서)가 프로세스를 수행하게 하는 명령어들을 저장하도록 구성될 수 있다. 상기 기술된 컴퓨터 프로그램(들)과 같은 컴퓨터 프로그램은 컴파일된 또는 인터프리트된 언어를 포함하는 임의의 형태의 프로그래밍 언어로 작성될 수 있으며, 독립형 프로그램 또는 모듈, 컴포넌트, 서브 루틴 또는 컴퓨팅 환경에서 사용하기에 적합한 다른 유닛을 포함하는 임의의 형태로 배포될 수 있다. 컴퓨터 프로그램은 하나의 컴퓨터에서 또는 한 사이트에서의 또는 분산된 다수의 사이트들에 걸쳐서 그리고 통신 네트워크에 의해 상호연결된 다수의 컴퓨터들에서 프로세싱되도록 배포될 수 있다.
방법 단계들은 입력 데이터를 동작하고 출력을 생성함으로써 기능들을 수행하기 위해 컴퓨터 프로그램을 실행하는 하나 이상의 프로그래머블 프로세서들에 의해 수행될 수 있다. 또한, 방법 단계들은 FPGA (field programmable gate array) 또는 ASIC (application-specific integrated circuit)과 같은 특정 목적의 논리 회로에 의해, 특정 목적의 논리 회로로서 구현될 수 있는 장치에 의해 수행될 수 있다.
컴퓨터 프로그램의 프로세싱에 적합한 프로세서는 예를 들어 범용 및 특수 목적 마이크로 프로세서와 임의의 종류의 디지털 컴퓨터의 임의의 하나 이상의 프로세서를 포함한다. 일반적으로, 프로세서는 판독 전용 메모리 또는 랜덤 액세스 메모리 또는 둘 모두로부터 명령 및 데이터를 수신할 것이다. 컴퓨터의 엘리먼트들은 명령어들을 실행하기 위한 적어도 하나의 프로세서 및 명령어들 및 데이터를 저장하기 위한 하나 이상의 메모리 디바이스들을 포함할 수 있다. 일반적으로, 컴퓨터는 또한 데이터를 수신하거나 데이터를 전송하기 위해 자기, 광 자기 디스크 또는 광 디스크와 같은 데이터를 저장하기 위한 하나 이상의 대용량 저장 디바이스를 포함하거나, 동작적으로 결합될 수 있다. 컴퓨터 프로그램 명령어들 및 데이터를 수록하는데 적절한 정보 캐리어는 예를 들어 EPROM, EEPROM 및 플래시 메모리 디바이스와 같은 반도체 메모리 디바이스들을 포함하는 모든 형태의 비휘발성 메모리; 내부 하드 디스크 또는 이동식 디스크와 같은 자기 디스크; 광 자기 디스크; 및 CD-ROM 및 DVD-ROM 디스크를 포함할 수 있다. 프로세서 및 메모리는 특수 목적 논리 회로에 의해 보충되거나 또는 그 안에 포함될 수 있다.
사용자와의 인터렉션을 제공하기 위해, 구현예들은 CRT(cathode ray tube), LED(light emitting diode) 또는 LCD 모니터와 같은 디스플레이 디바이스를 갖는 컴퓨터 상에서 구현될 수 있으며, 및 사용자가 컴퓨터에 입력을 제공할 수 있는 키보드 및 포인팅 장치, 예를 들어, 마우스 또는 트랙볼을 포함할 수 있다. 다른 종류의 디바이스들이 사용자와의 인터렉션을 제공하는 데 사용될 수 있다. 예를 들어, 사용자에게 제공되는 피드백은 시각 피드백, 청각 피드백 또는 촉각 피드백과 같은 임의의 형태의 감각 피드백일 수 있다. 사용자로부터의 입력은 음향, 음성 또는 촉각 입력을 포함하는 임의의 형태로 수신될 수 있다.
구현들은 데이터 서버와 같은 백엔드 컴포넌트를 포함하거나, 예를 들어 어플리케이션 서버와 같은 미들웨어 구성 요소를 포함하거나 클라이언트 컴퓨터와 같은 프론트 엔드 컴포넌트를 포함하는 컴퓨팅 시스템에서 구현될 수 있다. 상기 클라이언트 컴퓨터는 사용자가 구현과 인터렉션할 수 있는 그래픽 사용자 인터페이스 또는 웹 브라우저 또는 그러한 백 엔드, 미들웨어 또는 프런트 엔드 컴포넌트들의 임의의 조합을 포함한다. 컴포넌트들은 디지털 데이터 통신의 임의의 형태 또는 매체, 예를 들어 통신 네트워크에 의해 상호연결될 수 있다. 통신 네트워크의 예는 근거리 통신망(LAN) 및 광역 통신망(WAN), 예를 들어 인터넷을 포함한다.
기술된 구현예들의 특정 구성들이 본 명세서에 기술된 바와 같이 도시되었지만, 많은 수정, 대체, 변경 및 균등물이 이제 통상의 기술자에게 발생할 것이다. 그러므로, 첨부된 청구범위는 구현예들의 범위 내에 있는 그러한 모든 수정 및 변경을 포함하도록 의도된 것으로 이해되어야 한다. 그것들은 제한이 아닌 단지 예시로서 제시되었고, 형태 및 세부 사항의 다양한 변경이 이루어질 수 있다는 것을 이해해야 한다. 본 명세서에 기술된 장치 및/또는 방법의 임의의 부분은 상호 배타적인 조합을 제외하고는 임의의 조합으로 결합될 수 있다. 본 명세서에 기술된 구현예는 기술된 상이한 구현예의 기능, 컴포넌트 및/또는 구성의 다양한 조합 및/또는 서브 조합을 포함할 수 있다.

Claims (12)

  1. 방법으로서,
    데이터베이스로부터, 복수의 포즈된 이미지 세트들(posed image sets)에 엑세스하는 단계, 상기 복수의 포즈된 이미지 세트들은 복수의 장면들(scenes)에 각각 대응하고, 상기 복수의 포즈된 이미지 세트들 각각은 상기 복수의 장면들 중 대응하는 장면의 복수의 뷰들(views)을 포함하며;
    자동화된 뷰 생성 알고리즘에 따라 상기 장면에 대응하는 포즈된 이미지 세트에 포함된 상기 장면의 상기 복수의 뷰들로부터 선택된 뷰들에 기초하여 장면의 요청된 뷰를 생성하는 단계, 상기 장면의 요청된 뷰는 상기 대응하는 포즈된 이미지 세트에 포함된 상기 장면의 상기 복수의 뷰들에 포함되지 않으며;
    상기 자동화된 뷰 생성 알고리즘에 의해 생성된 상기 장면의 상기 뷰를 상기 장면의 알려진 뷰와 비교하는 단계; 및
    상기 비교에 기초하여 상기 뷰 생성 알고리즘을 업데이트하는 단계를 포함하는 것을 특징으로 하는 방법.
  2. 청구항 1에 있어서,
    상기 장면의 상기 요청된 뷰를 생성하는 단계는:
    복수의 깊이들(depths)에서 상기 선택된 뷰들 각각의 깊이 슬라이스들(depth slices)을 재투영(reproject)하는 단계;
    상기 업데이트된 뷰 생성 알고리즘을 상기 재투영된 깊이 슬라이스들에 적용하고, 대응하는 깊이들에서 상기 선택된 뷰들의 상기 재투영된 깊이 슬라이스들의 픽셀들을 매칭하는 단계; 및
    상기 요청된 뷰의 요청된 픽셀에 대한 깊이를 결정하고 상기 결정된 깊이에서 상기 요청된 뷰의 각 픽셀에 대한 색상을 결정하는 단계를 포함하는 것을 특징으로 하는 방법.
  3. 청구항 2에 있어서,
    복수의 깊이들에서 상기 선택된 뷰들 각각의 깊이 슬라이스들을 재투영하는 단계는:
    최소 재투영 거리와 최대 재투영 거리 사이에서 확장하는, 상기 복수의 깊이들 각각의 인접한 깊이 슬라이스들 사이의 간격을 결정하는 단계; 및
    상기 결정된 간격을 상기 선택된 뷰들 각각에 대한 깊이 슬라이스들의 상기 재투영에 적용하는 단계를 포함하는 것을 특징으로 하는 방법.
  4. 청구항 2 또는 3에 있어서,
    상기 요청된 뷰를 생성하는 단계는:
    각 픽셀에 대해, 상기 픽셀이 특정 깊이에 위치되어 있을 가능성을 결정하는 단계;
    상기 결정된 가능성에 상기 픽셀에 대해 연산된 색상을 곱하는 단계; 및
    상기 요청된 뷰를 생성하기 위해 상기 곱함의 결과물들을 합하는 단계를 포함하는 것을 특징으로 하는 방법.
  5. 청구항 4에 있어서,
    각 픽셀에 대해, 상기 픽셀이 특정 깊이에 위치되어 있을 가능성을 결정하는 단계는:
    선택 타워에 의해, 상기 복수의 깊이들 각각에 대한 가능성 맵을 생성하는 단계;
    선택 타워에 의해, 상기 복수의 깊이들 각각에 대해 색상 출력 이미지를 생성하는 단계; 및
    상기 복수의 깊이들 각각에 대해 생성된 상기 색상 출력 이미지 및 상기 복수의 깊이들 각각에 대해 생성된 상기 가능성 맵에 기초하여, 상기 픽셀이 특정 깊이에 있을 가능성을 나타내는 각 픽셀에 대한 선택 가능성을 결정하는 단계를 포함하는 것을 특징으로 하는 방법.
  6. 선행하는 청구항들 중 어느 한 항에 있어서,
    상기 이미지의 상기 요청된 뷰가 미리 결정된 임계치 내에서 상기 이미지의 상기 요청된 뷰의 상기 알려진 뷰에 매칭될 때까지 상기 생성하는 단계 및 비교하는 단계를 반복적으로 수행하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  7. 방법으로서,
    렌더링될 장면의 뷰에 대한 요청을 수신하는 단계;
    데이터베이스로부터, 상기 장면의 복수의 뷰들을 각각 나타내는 복수의 저장된 포즈된 이미지들에 엑세스하는 단계;
    상기 복수의 저장된 포즈된 이미지들로부터 복수의 이미지들을 선택하는 단계, 상기 선택된 복수의 이미지들은 상기 장면의 상기 요청된 뷰에 이웃하는 상기 장면의 뷰들을 나타내며;
    복수의 깊이들에서 상기 선택된 복수의 이미지들 각각의 깊이 슬라이스들을 재투영하는 단계;
    상기 장면의 상기 요청된 뷰에 대한 깊이를 결정하고, 상기 재투영된 깊이 슬라이스들에서의 픽셀들에 기초하여 상기 결정된 깊이에서 상기 장면의 상기 요청된 뷰의 각 픽셀에 대한 색상을 결정하는 단계; 및
    상기 장면의 상기 요청된 뷰를 생성하는 단계를 포함하는 것을 특징으로 하는 방법.
  8. 청구항 7에 있어서,
    복수의 깊이들에서 상기 선택된 복수의 이미지들 각각의 깊이 슬라이스들을 재투영하는 단계는:
    최소 재투영 거리와 최대 재투영 거리 사이에서 확장하는, 상기 복수의 깊이 슬라이스들 각각의 인접한 깊이 슬라이스들 사이의 간격을 결정하는 단계; 및
    상기 결정된 간격을 상기 선택된 복수의 이미지들 각각에 대한 깊이 슬라이스들의 상기 재투영에 적용하는 단계를 포함하는 것을 특징으로 하는 방법.
  9. 청구항 7 또는 8에 있어서,
    상기 요청된 뷰에 대한 깊이를 결정하고, 상기 재투영된 깊이 슬라이스들에서의 픽셀들에 기초하여 상기 결정된 깊이에서 상기 요청된 뷰의 각 픽셀에 대한 색상을 결정하는 단계는:
    대응하는 깊이들에서 상기 선택된 복수의 이미지들의 상기 재투영된 깊이 슬라이스들의 픽셀들을 매칭하는 단계; 및
    상기 요청된 뷰의 요청된 픽셀에 대한 깊이를 결정하고 상기 결정된 깊이에서 상기 요청된 뷰의 각 픽셀에 대한 색상을 결정하는 단계를 포함하는 것을 특징으로 하는 방법.
  10. 청구항 7 내지 9 중 어느 한 항에 있어서,
    상기 요청된 뷰를 생성하는 단계는:
    각 픽셀에 대해, 상기 픽셀이 특정 깊이에 위치되어 있을 가능성을 결정하는 단계;
    상기 계산된 가능성에 상기 픽셀에 대해 연산된 색상을 곱하는 단계; 및
    상기 요청된 뷰를 생성하기 위해 상기 곱함의 결과물들을 합하는 단계를 포함하는 것을 특징으로 하는 방법.
  11. 방법으로서,
    장면의 뷰에 대한 요청을 수신하는 단계;
    복수의 포즈된 이미지 세트들을 저장하는 데이터베이스로부터 대응하는 장면의 복수의 뷰들을 포함하는 상기 복수의 포즈된 이미지 세트들 각각을 검색하는 단계, 상기 포즈된 이미지 세트는 상기 장면의 상기 요청된 뷰에 대응하며;
    상기 대응하는 포즈된 이미지 세트에 포함된 상기 장면의 상기 복수의 뷰들로부터 선택된 뷰들에 기초하여 상기 장면의 상기 요청된 뷰를 생성하는 단계를 포함하며, 상기 요청된 뷰는 상기 대응하는 포즈된 이미지 세트의 상기 장면의 상기 복수의 뷰들에 포함되지 않는 것을 특징으로 하는 방법.
  12. 장면의 뷰를 생성하는 시스템으로서, 상기 시스템은 네트워크를 포함하며, 상기 네트워크는:
    프로세서를 포함하는 컴퓨팅 디바이스, 상기 컴퓨팅 디바이스는 데이터베이스와 통신하며, 상기 데이터베이스는 복수의 장면들에 각각 대응하는 복수의 포즈된 이미지 세트들을 저장하며, 상기 복수의 포즈된 이미지 세트들 각각은 상기 복수의 장면들에 대응하는 장면의 복수의 뷰들을 포함하며;
    요청된 출력 이미지에서 각 출력 픽셀에 대한 깊이를 결정하도록 구성된 선택 타워, 상기 요청된 출력 이미지는 장면의 요청된 뷰에 대응하며; 및
    상기 요청된 출력 이미지의 각 출력 픽셀에 대한 색상을 생성하도록 구성된 색상 타워를 포함하며,
    상기 선택 타워 및 상기 색상 타워는 상기 장면의 상기 요청된 뷰에 대응하는 상기 포즈된 이미지 세트에 포함된 상기 장면의 상기 복수의 뷰들로부터 선택된 뷰들을 수신하도록 구성되며, 상기 장면의 상기 요청된 뷰는 상기 대응하는 포즈된 이미지 세트의 상기 장면의 상기 복수의 뷰들에 포함되지 않으며, 그리고
    상기 선택 타워 및 상기 색상 타워는 상기 장면의 상기 요청된 뷰들을 생성하기 위해, 상기 컴퓨팅 디바이스의 상기 프로세서에 의해 프로세싱하기 위한 상기 요청된 출력 이미지를 생성하도록 구성되는 것을 특징으로 하는 시스템.
KR1020177026420A 2015-05-13 2016-05-13 딥스테레오: 실세계 이미지로부터 새로운 뷰들을 예측하는 러닝 KR102047031B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201562161159P 2015-05-13 2015-05-13
US62/161,159 2015-05-13
PCT/US2016/032410 WO2016183464A1 (en) 2015-05-13 2016-05-13 Deepstereo: learning to predict new views from real world imagery

Publications (2)

Publication Number Publication Date
KR20170120639A true KR20170120639A (ko) 2017-10-31
KR102047031B1 KR102047031B1 (ko) 2019-11-20

Family

ID=56097288

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177026420A KR102047031B1 (ko) 2015-05-13 2016-05-13 딥스테레오: 실세계 이미지로부터 새로운 뷰들을 예측하는 러닝

Country Status (6)

Country Link
US (1) US9916679B2 (ko)
EP (1) EP3295368A1 (ko)
JP (1) JP6663926B2 (ko)
KR (1) KR102047031B1 (ko)
CN (1) CN107438866B (ko)
WO (1) WO2016183464A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200146040A (ko) * 2018-05-17 2020-12-31 나이앤틱, 인크. 깊이 추정 시스템의 자가 감독 훈련
US11711508B2 (en) 2019-05-02 2023-07-25 Niantic, Inc. Self-supervised training of a depth estimation model using depth hints

Families Citing this family (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11288789B1 (en) 2016-05-20 2022-03-29 Ccc Intelligent Solutions Inc. Systems and methods for repairing a damaged vehicle using image processing
US10636148B1 (en) 2016-05-20 2020-04-28 Ccc Information Services Inc. Image processing system to detect contours of an object in a target object image
US10706321B1 (en) 2016-05-20 2020-07-07 Ccc Information Services Inc. Image processing system to align a target object in a target object image with an object model
US10657647B1 (en) 2016-05-20 2020-05-19 Ccc Information Services Image processing system to detect changes to target objects using base object models
US10319094B1 (en) 2016-05-20 2019-06-11 Ccc Information Services Inc. Technology for capturing, transmitting, and analyzing images of objects
US10740891B1 (en) 2016-05-20 2020-08-11 Ccc Information Services Inc. Technology for analyzing images depicting vehicles according to base image models
US9886771B1 (en) * 2016-05-20 2018-02-06 Ccc Information Services Inc. Heat map of vehicle damage
WO2018064502A1 (en) * 2016-09-30 2018-04-05 Visbit Inc. View-optimized light field image and video streaming
AU2017361061B2 (en) 2016-11-15 2022-02-03 Magic Leap, Inc. Deep learning system for cuboid detection
US10121262B2 (en) * 2016-12-20 2018-11-06 Canon Kabushiki Kaisha Method, system and apparatus for determining alignment data
US10242654B2 (en) 2017-01-25 2019-03-26 Microsoft Technology Licensing, Llc No miss cache structure for real-time image transformations
US9978118B1 (en) 2017-01-25 2018-05-22 Microsoft Technology Licensing, Llc No miss cache structure for real-time image transformations with data compression
CA3055597A1 (en) * 2017-03-17 2018-09-20 Magic Leap, Inc. Room layout estimation methods and techniques
US10514753B2 (en) * 2017-03-27 2019-12-24 Microsoft Technology Licensing, Llc Selectively applying reprojection processing to multi-layer scenes for optimizing late stage reprojection power
US10410349B2 (en) 2017-03-27 2019-09-10 Microsoft Technology Licensing, Llc Selective application of reprojection processing on layer sub-regions for optimizing late stage reprojection power
US10255891B2 (en) 2017-04-12 2019-04-09 Microsoft Technology Licensing, Llc No miss cache structure for real-time image transformations with multiple LSR processing engines
CN108805261B (zh) 2017-04-28 2021-11-12 微软技术许可有限责任公司 基于八叉树的卷积神经网络
US10776992B2 (en) 2017-07-05 2020-09-15 Qualcomm Incorporated Asynchronous time warp with depth data
US10497257B2 (en) * 2017-08-31 2019-12-03 Nec Corporation Parking lot surveillance with viewpoint invariant object recognition by synthesization and domain adaptation
IL294197A (en) 2017-09-20 2022-08-01 Magic Leap Inc A personal neural network for eye tracking
US10922878B2 (en) * 2017-10-04 2021-02-16 Google Llc Lighting for inserted content
US11537895B2 (en) 2017-10-26 2022-12-27 Magic Leap, Inc. Gradient normalization systems and methods for adaptive loss balancing in deep multitask networks
US10803546B2 (en) * 2017-11-03 2020-10-13 Baidu Usa Llc Systems and methods for unsupervised learning of geometry from images using depth-normal consistency
US10362491B1 (en) 2018-07-12 2019-07-23 At&T Intellectual Property I, L.P. System and method for classifying a physical object
JP7295234B2 (ja) 2018-07-17 2023-06-20 エヌビディア コーポレーション 自律運転マシンのための回帰ベースの線分検出
TWI691930B (zh) 2018-09-19 2020-04-21 財團法人工業技術研究院 基於神經網路的分類方法及其分類裝置
WO2020068073A1 (en) * 2018-09-26 2020-04-02 Google Llc Soft-occlusion for computer graphics rendering
US11223815B2 (en) * 2018-10-25 2022-01-11 Samsung Electronics Co., Ltd Method and device for processing video
US10957099B2 (en) * 2018-11-16 2021-03-23 Honda Motor Co., Ltd. System and method for display of visual representations of vehicle associated information based on three dimensional model
US11610110B2 (en) 2018-12-05 2023-03-21 Bank Of America Corporation De-conflicting data labeling in real time deep learning systems
US10311578B1 (en) * 2019-01-23 2019-06-04 StradVision, Inc. Learning method and learning device for segmenting an image having one or more lanes by using embedding loss to support collaboration with HD maps required to satisfy level 4 of autonomous vehicles and softmax loss, and testing method and testing device using the same
US10325179B1 (en) * 2019-01-23 2019-06-18 StradVision, Inc. Learning method and learning device for pooling ROI by using masking parameters to be used for mobile devices or compact networks via hardware optimization, and testing method and testing device using the same
CN110113593B (zh) * 2019-06-11 2020-11-06 南开大学 基于卷积神经网络的宽基线多视点视频合成方法
US10950037B2 (en) * 2019-07-12 2021-03-16 Adobe Inc. Deep novel view and lighting synthesis from sparse images
CN110443874B (zh) * 2019-07-17 2021-07-30 清华大学 基于卷积神经网络的视点数据生成方法和装置
CN110471279B (zh) * 2019-07-25 2020-09-29 浙江大学 一种基于vine-copulas的工业生产模拟场景发生器及场景发生方法
US11424037B2 (en) 2019-11-22 2022-08-23 International Business Machines Corporation Disease simulation in medical images
CN112203023B (zh) * 2020-09-18 2023-09-12 西安拙河安见信息科技有限公司 一种十亿像素视频生成方法及装置、设备、介质
US11587249B2 (en) 2020-09-24 2023-02-21 Eagle Technology, Llc Artificial intelligence (AI) system and methods for generating estimated height maps from electro-optic imagery
US11747468B2 (en) 2020-09-24 2023-09-05 Eagle Technology, Llc System using a priori terrain height data for interferometric synthetic aperture radar (IFSAR) phase disambiguation and related methods
US11238307B1 (en) 2020-09-24 2022-02-01 Eagle Technology, Llc System for performing change detection within a 3D geospatial model based upon semantic change detection using deep learning and related methods
US11302071B1 (en) 2020-09-24 2022-04-12 Eagle Technology, Llc Artificial intelligence (AI) system using height seed initialization for extraction of digital elevation models (DEMs) and related methods
US11636649B2 (en) 2021-01-06 2023-04-25 Eagle Technology, Llc Geospatial modeling system providing 3D geospatial model update based upon predictively registered image and related methods
US11816793B2 (en) 2021-01-06 2023-11-14 Eagle Technology, Llc Geospatial modeling system providing 3D geospatial model update based upon iterative predictive image registration and related methods
KR20230035721A (ko) * 2021-09-06 2023-03-14 한국전자통신연구원 임의 시점의 다중평면영상을 생성하는 전자 장치 및 그것의 동작 방법
EP4167199A1 (en) 2021-10-14 2023-04-19 Telefonica Digital España, S.L.U. Method and system for tracking and quantifying visual attention on a computing device
US20230281913A1 (en) * 2022-03-01 2023-09-07 Google Llc Radiance Fields for Three-Dimensional Reconstruction and Novel View Synthesis in Large-Scale Environments
CN115147577A (zh) * 2022-09-06 2022-10-04 深圳市明源云科技有限公司 Vr场景生成方法、装置、设备及存储介质

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5917937A (en) * 1997-04-15 1999-06-29 Microsoft Corporation Method for performing stereo matching to recover depths, colors and opacities of surface elements
AU2002952873A0 (en) * 2002-11-25 2002-12-12 Dynamic Digital Depth Research Pty Ltd Image encoding system
KR100779634B1 (ko) * 2003-06-20 2007-11-26 니폰 덴신 덴와 가부시끼가이샤 가상시점 화상 생성방법 및 3차원 화상 표시방법 및 장치
US20110043540A1 (en) * 2007-03-23 2011-02-24 James Arthur Fancher System and method for region classification of 2d images for 2d-to-3d conversion
JP5035195B2 (ja) * 2008-09-25 2012-09-26 Kddi株式会社 画像生成装置及びプログラム
US8698799B2 (en) * 2009-01-20 2014-04-15 Adobe Systems Incorporated Method and apparatus for rendering graphics using soft occlusion
US8701167B2 (en) * 2009-05-28 2014-04-15 Kjaya, Llc Method and system for fast access to advanced visualization of medical scans using a dedicated web portal
US8391603B2 (en) * 2009-06-18 2013-03-05 Omisa Inc. System and method for image segmentation
JP5812599B2 (ja) * 2010-02-25 2015-11-17 キヤノン株式会社 情報処理方法及びその装置
JP5645079B2 (ja) * 2011-03-31 2014-12-24 ソニー株式会社 画像処理装置および方法、プログラム、並びに記録媒体
US8498448B2 (en) * 2011-07-15 2013-07-30 International Business Machines Corporation Multi-view object detection using appearance model transfer from similar scenes
US9275078B2 (en) * 2013-09-05 2016-03-01 Ebay Inc. Estimating depth from a single image
US9202144B2 (en) * 2013-10-30 2015-12-01 Nec Laboratories America, Inc. Regionlets with shift invariant neural patterns for object detection
US9400925B2 (en) * 2013-11-15 2016-07-26 Facebook, Inc. Pose-aligned networks for deep attribute modeling
US20150324690A1 (en) * 2014-05-08 2015-11-12 Microsoft Corporation Deep Learning Training System
CN105960647B (zh) * 2014-05-29 2020-06-09 北京旷视科技有限公司 紧凑人脸表示
US9536293B2 (en) * 2014-07-30 2017-01-03 Adobe Systems Incorporated Image assessment using deep convolutional neural networks
US9756375B2 (en) * 2015-01-22 2017-09-05 Microsoft Technology Licensing, Llc Predictive server-side rendering of scenes
US9633306B2 (en) * 2015-05-07 2017-04-25 Siemens Healthcare Gmbh Method and system for approximating deep neural networks for anatomical object detection

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
KTEITA TAKAHASHI et. al., Super-Resolved Free-Viewpoint Image Synthesis Based on View-Dependent Depth Estimation, Information Processing Society of Japan, pp. 1529~1543, 2012. 1부* *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200146040A (ko) * 2018-05-17 2020-12-31 나이앤틱, 인크. 깊이 추정 시스템의 자가 감독 훈련
US11991342B2 (en) 2018-05-17 2024-05-21 Niantic, Inc. Self-supervised training of a depth estimation system
US11711508B2 (en) 2019-05-02 2023-07-25 Niantic, Inc. Self-supervised training of a depth estimation model using depth hints

Also Published As

Publication number Publication date
JP6663926B2 (ja) 2020-03-13
CN107438866A (zh) 2017-12-05
KR102047031B1 (ko) 2019-11-20
CN107438866B (zh) 2020-12-01
US9916679B2 (en) 2018-03-13
JP2018514031A (ja) 2018-05-31
WO2016183464A1 (en) 2016-11-17
US20160335795A1 (en) 2016-11-17
EP3295368A1 (en) 2018-03-21

Similar Documents

Publication Publication Date Title
KR102047031B1 (ko) 딥스테레오: 실세계 이미지로부터 새로운 뷰들을 예측하는 러닝
US11010921B2 (en) Distributed pose estimation
US20240219181A1 (en) Path planning using sparse volumetric data
US20220292701A1 (en) Unsupervised learning of image depth and ego-motion prediction neural networks
JP7193163B2 (ja) 協調的3dマップデータ融合プラットフォーム及びその仮想世界システムを可能にするシステム及び方法
CN109887003B (zh) 一种用于进行三维跟踪初始化的方法与设备
US10019652B2 (en) Generating a virtual world to assess real-world video analysis performance
EP2992508B1 (en) Diminished and mediated reality effects from reconstruction
US8929645B2 (en) Method and system for fast dense stereoscopic ranging
US12039657B2 (en) View synthesis of a dynamic scene
CN113632146A (zh) 来自3d模型的神经重新渲染
US20100111444A1 (en) Method and system for fast dense stereoscopic ranging
US20210150799A1 (en) Generating Environmental Data
WO2023015409A1 (zh) 物体姿态的检测方法、装置、计算机设备和存储介质
US20210264659A1 (en) Learning hybrid (surface-based and volume-based) shape representation
US20230177822A1 (en) Large scene neural view synthesis
CN110827341A (zh) 一种图片深度估计方法、装置和存储介质
US20230186575A1 (en) Method and apparatus for combining an augmented reality object in a real-world image
US20240062425A1 (en) Automatic Colorization of Grayscale Stereo Images
Lazorenko Synthesizing novel views for Street View experience
KR20240001233A (ko) 와이드 베이스라인 파노라마 사이의 중간 뷰 합성

Legal Events

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