KR20220047719A - 토킹 헤드에 대한 퓨-샷 합성 - Google Patents

토킹 헤드에 대한 퓨-샷 합성 Download PDF

Info

Publication number
KR20220047719A
KR20220047719A KR1020217030914A KR20217030914A KR20220047719A KR 20220047719 A KR20220047719 A KR 20220047719A KR 1020217030914 A KR1020217030914 A KR 1020217030914A KR 20217030914 A KR20217030914 A KR 20217030914A KR 20220047719 A KR20220047719 A KR 20220047719A
Authority
KR
South Korea
Prior art keywords
texture
neural
user
image
images
Prior art date
Application number
KR1020217030914A
Other languages
English (en)
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 KR20220047719A publication Critical patent/KR20220047719A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • G06T13/403D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/50Image enhancement or restoration using two or more images, e.g. averaging or subtraction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/40Analysis of texture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person
    • G06T2207/30201Face

Landscapes

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

Abstract

적어도 하나의 프로세싱 디바이스를 구비한 이미지 프로세싱 시스템을 이용하는 시스템 및 방법이 제공되며, 상기 방법은 사용자의 복수의 입력 이미지들을 수신하는 단계, 복수의 입력 이미지들로부터 추출된 피처들의 제 1 세트 및 복수의 입력 이미지들로부터 추출된 피처들의 제 2 세트에 기초하여 3차원 메시 프록시(mesh proxy)를 생성하는 단계를 포함한다. 상기 방법은 3차원 메시 프록시 및 복수의 입력 이미지들에 기초하여 신경 텍스처(neural texture)를 생성하는 단계, 적어도 신경 텍스처를 포함하는 사용자에 대한 표현을 생성하는 단계, 및 3차원 메시 프록시로부터 신경 텍스처의 적어도 하나의 부분을 샘플링하는 단계를 더 포함할 수 있다. 적어도 하나의 샘플링된 부분을 신경 렌더러(neural renderer)에 제공함에 응답하여, 상기 방법은 이미지 프로세싱 시스템에 의해서 이전에 볼 수 없었던 사용자의 합성 이미지를 상기 신경 렌더러로부터 수신하는 단계를 더 포함할 수 있다.

Description

토킹 헤드에 대한 퓨-샷 합성
관련 출원에 대한 상호 참조
본 출원은 "FEW-SHOT SYNTHESIS OF TALKING HEADS"라는 명칭으로 2020년 10월 8일에 출원된 미국 가출원 번호 63/198,287의 우선권을 주장하며, 그 개시 내용은 그 전체가 본 명세서에 참조로서 포함된다.
일반적으로 본 발명은 프레젠테이션을 위해 콘텐츠를 합성하는데 사용되는 방법, 디바이스 및 알고리즘에 관한 것이다.
딥 인버스 렌더링(deep inverse rendering)은 일반적으로 공간적으로 변화하는 모양을 갖는 잠재 임베디드 공간(latent embedded space)에서 모양 파라미터의 최적화를 포함한다. 딥 인버스 렌더링은 신경망(또는, 뉴럴 네트워크라함)을 사용하여 객체의 모양을 모델링하는 것을 포함할 수 있다. 잠재 임베디드 공간은 이러한 신경망을 사용하여 학습될 수 있다. 잠재 공간은 저차원 객체 표현이 획득되는 공간을 나타낼 수 있다. 이러한 공간을 임베딩하는 것은 저차원 데이터가 오리지널 고차원 이미지 공간에 매핑되는 방식을 나타낸다.
하나 이상의 컴퓨터로 구성된 시스템은 소프트웨어, 펌웨어, 하드웨어 또는 이들의 조합이 시스템에 설치되어 작동 중에 시스템이 동작들 수행하게 함으로써 특정 작업 또는 동작을 수행하도록 구성될 수 있다. 하나 이상의 컴퓨터 프로그램은 데이터 프로세싱 디바이스에 의해 실행될 때 디바이스로 하여금 동작을 수행하게 하는 명령을 포함함으로써 특정 작업 또는 동작을 수행하도록 구성될 수 있다.
하나의 일반적인 양상에서, 동작들을 수행하기 위해 적어도 하나의 프로세싱 디바이스를 갖는 이미지 프로세싱 시스템을 활용하기 위한 시스템 및 방법이 설명된다. 상기 동작들은 사용자의 복수의 입력 이미지들을 수신하는 것과 복수의 입력 이미지들로부터 추출된 피처들의 제 1 세트 및 복수의 입력 이미지들로부터 추출된 피처들의 제 2 세트에 기초하여 3차원 메시 프록시(mesh proxy)를 생성하는 것을 포함한다. 상기 3차원 메시 프록시는 얼굴(face) 메시 프록시 및 평면(planar) 프록시를 포함할 수 있다. 상기 방법은 3차원 메시 프록시 및 복수의 입력 이미지들에 기초하여 신경 텍스처(neural texture)를 생성하는 것을 더 포함할 수 있다. 선택적으로, 상기 방법은 3차원 메시 프록시 및 신경 텍스처에 적어도 부분적으로 기초하여 사용자에 대한 표현을 생성하는 것을 포함할 수 있다. 상기 방법은 사용자에 대한 표현을 사용하여, 3차원 메시 프록시로부터 신경 텍스처의 적어도 하나의 부분을 샘플링하는 것을 더 포함할 수 있다. 적어도 하나의 샘플링된 부분을 신경 렌더러(neural renderer)에 제공함에 응답하여, 상기 방법은 이미지 프로세싱 시스템에 의해서 이전에 캡처되지 않았던(예컨대, 처음보는) 사용자의 합성 이미지를 상기 신경 렌더러로부터 수신하는 것을 포함할 수 있다.
이들 및 다른 양상들은 단독으로 또는 조합하여 다음 중 하나 이상을 포함할 수 있다. 일부 양상에 따르면, 본 명세서에 청구된 방법, 시스템, 및 컴퓨터 판독가능 매체는 다음의 피처들(또는 이들의 임의의 조합) 중 하나 이상(예를 들어, 모두)을 포함할 수 있다.
일부 구현들에서, 추출된 피처들의 제 1 세트는 사용자의 얼굴을 나타내는 피처들을 포함하고, 추출된 피처들의 제 2 세트는 사용자의 머리카락 및 몸통의 일부를 나타내는 피처들을 포함한다. 일부 구현예에서, 신경 텍스처는 복수의 입력 이미지들을 사용하여 생성된 학습된 신경 텍스처이며, 여기서 복수의 입력 이미지들은 사용자에 대한 4개 미만의 캡처된 이미지 프레임들을 포함한다.
일부 구현예에서, 상기 신경 텍스처를 생성하는 단계는, 각각의 입력 이미지에 대한 잠재 표현(latent representation)을 생성하는 단계, 각각의 입력 이미지에 대해 생성된 표현들을 벡터로 집계하는 단계, 상기 벡터를 텍스처 생성기 네트워크에 제공하는 단계, 및 사용자를 나타내는 신경 텍스처를 상기 텍스처 생성기 네트워크로부터 수신하는 단계를 포함한다.
일부 구현예에서, 상기 신경 텍스처를 생성하는 단계는, 추출된 피처들의 제 1 세트 및 추출된 피처들의 제 2 세트를 입력 이미지들과 연관된 깊이 이미지들 및 UV 맵들에 기초하여 지오미트리 인식 피처 공간(geometry-aware feature space)으로 투영하는 단계(projecting)를 포함하고, 상기 투영하는 단계는 복수의 입력 이미지들의 매칭된 해상도를 갖는 이미지들의 세트를 생성하는 단계를 포함한다. 상기 신경 텍스처를 생성하는 단계는 또한, 각 입력 이미지에 대한 텍스처를 생성하도록, 상기 이미지들의 세트를 UV 공간으로 워핑하는 단계(warping), 각각의 텍스처에 대해, 대응하는 입력 이미지에서의 가시성 메트릭(visibility metric)을 나타내는 텍스처 공간의 각 포인트에 대한 스코어 맵을 생성하는 단계, 각각의 입력 이미지에 대한 주의 가중치(attention weights)를 생성하기 위해 각각의 스코어 맵에 소프트-맥스 연산(soft-max operation)을 적용하는 단계, 및 주의 가중치에 따라 결정된 가중화된 평균에 따라 텍스처들을 집계하는 단계를 포함한다.
일부 구현예들에서, 사용자에 대해 생성된 표현은 신경 텍스처에 표현된 각 표면 포인트당 모양(appearance per each surface point)을 나타내고, 상기 방법은 사용자의 모양에 대한 고주파수 디테일(high frequency details)을 나타내도록 표면 포인트당 모양 설명자(appearance descriptor per surface point)를 저장하는 단계를 더 포함한다. 일부 구현예들에서, 상기 합성된 이미지는 화상회의를 위한 수정된 뷰포인트를 갖는 사용자를 묘사하기 위해 생성되고, 상기 수정된 뷰포인트는 화상회의를 제공하는 시스템과 관련된 카메라 디바이스를 응시하는 사용자의 뷰를 시뮬레이션한다.
설명된 기술의 구현은 하드웨어, 방법 또는 프로세스, 또는 컴퓨터 액세스 가능 매체 상의 컴퓨터 소프트웨어를 포함할 수 있다. 하나 이상의 구현예들의 세부 사항은 첨부 도면 및 아래의 설명에 서술되어 있다. 다른 피처들은 발명의 설명과 도면, 그리고 청구범위로부터 명백할 것이다.
도 1은 본 명세서 전체에 걸쳐 설명된 구현예들에 따른, 합성된 콘텐츠를 디스플레이 디바이스 상에 디스플레이하기 위한 예시적인 3D 콘텐츠 시스템을 예시하는 블록도이다.
도 2는 본 명세서 전체에 걸쳐 설명된 구현예들에 따른, 디스플레이 상에서 렌더링하기 위해 콘텐츠를 합성하는 예시적인 시스템의 블록도이다.
도 3a 및 도 3b는 본 명세서 전체에 걸쳐 설명된 구현예들에 따른, 얼굴 메시 프록시(face mesh proxy)와 평면 프록시(planar proxy)를 결합함으로써 생성된 증강된 메시 프록시의 예를 도시한다.
도 4는 본 명세서 전반에 걸쳐 설명된 구현예들에 따른, 디스플레이 상에 렌더링하기 위해 합성된 콘텐츠를 생성하기 위한 예시적인 아키텍처의 블록도이다.
도 5는 본 명세서 전체에 걸쳐 설명된 구현예들에 따른, 집계된 잠재 텍스처(aggregated latent texture) 기법들로부터 신경 텍스처들을 생성하기 위한 예시적인 아키텍처의 블록도이다.
도 6은 본 명세서 전체에 걸쳐 설명된 구현예들에 따른, 인버스 렌더링 기술들을 사용하여 신경 텍스처들을 생성하기 위한 예시적인 아키텍처의 블록도이다.
도 7은 본 명세서 전체에 걸쳐 설명된 구현예들에 따른, 3D 프록시 지오메트리 모델들에 기초한 신경 텍스처들을 사용하여 합성된 콘텐츠를 생성하기 위한 프로세스의 일례를 도식화한 흐름도이다.
도 8은 본 명세서에 설명된 기술과 함께 사용될 수 있는 컴퓨터 디바이스 및 모바일 컴퓨터 디바이스의 예를 도시한다.
다양한 도면에서 동일한 참조 부호는 동일한 요소를 나타낸다.
일반적으로, 본 명세서는 이미지 콘텐츠의 새로운(예를 들어, 처음 보는(unseen)) 뷰들을 모델링하는 것과 관련된 일례들을 설명한다. 예를 들어, 본 명세서에는 비교적 적은 수의 입력 이미지를 사용하여, 토킹 헤드(talking heads)(예컨대, 사용자의 머리 및/또는 몸통(torso))의 새로운 뷰들을 모델링하는 것과 관련된 예제가 포함되어 있다. 토킹 헤드는 일반적으로 머리, 목, 및/또는 몸통의 하나 이상의 부분이 있는 뷰(view)를 포함할 수 있다. 본 명세서에 사용된 바와 같이, 새로운(예를 들어, 처음 보는(또는 이전에 못본)(unseen)) 뷰는 카메라 캡처 이미지 콘텐츠 및/또는 비디오 콘텐츠의 하나 이상의 프레임들에 기초하여 해석(예컨대, 합성, 보간, 모델링 등)된 이미지 콘텐츠 및/또는 비디오 콘텐츠를 포함할 수 있다. 카메라 캡처 이미지 콘텐츠 및/또는 비디오 콘텐츠의 해석은 본 명세서에 설명된 기술과 조합하여 사용되어, 예를 들어, 캡처된 이미지 콘텐츠 및/또는 비디오 콘텐츠의 처음 보는 버전들 및 뷰들(예: 포즈, 표정, 각도 등)를 생성할 수 있다.
사용자의 머리 및/또는 보디(body)(예를 들어, 몸통(torso))의 뷰들을 생성하기 위해 퓨-샷 신규 뷰 합성(few-shot novel view synthesis)을 수행하는 것은, 사용자에 대한 고품질 3차원(3D) 뷰를 사용할 수 없을 때 매우 어려울 수 있다. 본 명세서에 설명된 시스템 및 기술은 소수의 이미지들(few images)을 입력으로 사용하여, 새로운 몸통 뷰들(novel torso views)의 고품질 이미지 콘텐츠(예: 이미지 및/또는 비디오)를 생성하는 방법을 제공할 수 있다. 일부 구현예에서, 2차원(2D) 또는 3차원(3D) 디스플레이의 스크린 상에 3차원(3D) 헤드 및/또는 몸통의 처음보는 뷰들을 정확하게 렌더링할 수 있기 위하여, 3D 피처들을 모델링하기 위해 하나 이상의 3D 프록시 평면들 및 하나 이상의 신경 텍스처들과 함께 소수의 이미지들이 이용될 수 있다. 일부 구현예에서, 신경 텍스처는 집계된 잠재 텍스처 기술을 기반으로 한다. 일부 구현예에서 신경 텍스처는 인버스 렌더링 기술을 기반으로 한다. 본 명세서에 사용된 바와 같이, 퓨-샷(few-shot)이라는 용어는, 적은 수의 예제들로부터 새로운 개념을 이해하기 위해 머신 러닝이 수행되는 퓨-샷 머신 러닝 기술의 사용을 나타낸다.
일부 구현예에서, 여기에 설명된 신경 텍스처는 신경 텍스처에 의해 표현되는 사용자의 표현(expression) 및/또는 스피치의 비디오 시퀀스를 합성할 목적으로 처음보는 뷰들을 생성하는데 사용될 수 있다. 예를 들어, 신경 텍스처는 하나 이상의 이미지들(예를 들어, 프레임(들), 비디오 등)에 기초하여 포토리얼리스틱한(photorealistic) 헤드(및/또는 몸통) 이미지들을 생성하는데 사용될 수 있다. 일부 구현예에서, 신경 텍스처는 학습된 구성요소들과 그래픽들을 결합함으로써 이미지를 합성할 수 있는 지연된(deferred) 신경 렌더링 기술(예를 들어, 딥 신경망)을 사용하여 생성될 수 있다.
본 명세서에서 사용되는 바와 같이, 신경 텍스처는 이미지 캡처 프로세스의 일부로서 훈련되는 하나 이상의 학습된 피처 맵을 나타낸다. 예를 들어, 객체가 캡처될 때, 피처 맵을 생성하도록 객체의 피처들을 객체에 대한 3D 프록시 지오메트리에 매핑함으로써 신경 텍스처가 생성될 수 있다. 일부 구현예에서, 객체에 대한 신경 텍스처는 객체의 뷰 및 캡처 포즈와 연관된 잠재 코드(latent code)에 기초하여 생성될 수 있다. 일부 구현예에서, 신경 텍스처는 3D 메시 위에 있는 하나 이상의 2D 맵(들)에 저장된다. 이러한 신경 텍스처는 예를 들어, 장면 캡처 동안 학습되는 최적화된 피처 맵들의 세트를 포함할 수 있다. 일부 구현예에서, 신경 텍스처는 예를 들어 지연된 신경 렌더러에 의해 해석될 수 있는 캡처된 객체의 표면 모양에 대한 고레벨 설명을 인코딩할 수 있다.
일부 구현예에서, 여기에 설명된 기술은 예를 들어 다자간(multi-way) 2D 또는 3D 화상회의에서 사용되는 2D 또는 3D 디스플레이의 스크린에 표시하기 위해 정확하고 사실적으로 보여지는 이미지들을 합성하는데 사용될 수 있다. 예를 들어, 여기에 설명된 기술 및 모델은 몸통 및 얼굴의 정확하고 사실적인 뷰(예: 이미지 콘텐츠, 비디오 콘텐츠)를 생성하고 디스플레이하는데 사용될 수 있다. 상기 뷰들은 처음보는 뷰들을 포함하며, 처음보는 뷰들은 통상적으로 3D 방식으로 묘사하기 어렵다. 기존 시스템은 일반적으로 몸통 부분들에 대한 새로운 뷰들을 합성하지 않는다. 예를 들어, 머리카락, 목, 어깨는 잘-정의된(well-defined) 구조가 부족할 수 있으므로, 기존 시스템에서 프록시 지오메트리에 의해 표현되지 않을 수 있다. 여기에 설명된 시스템 및 방법은 프록시 지오미트리의 품질을 저하시키는 것에 대해 강건한 신경 텍스처를 보장하기 위해, 얼굴 영역 뿐만 아니라 얼굴 영역 외부의 영역을 모델링하는 장점을 제공한다. 특히, 여기에 설명된 시스템 및 방법은 얼굴 영역 외부의 머리 영역에 대한 거친(coarse) 지오메트리적 프록시로서 단일 평면으로 얼굴 메시를 보강한다.
일부 구현예에서, 여기에 설명된 기술은 영화, 비디오, 단편, 게임 콘텐츠, 또는 여기에 설명된 퓨-샷 재구성 기술로부터 이익을 얻을 수 있는 사용자 몸통 또는 얼굴을 포함하는 다른 포맷에서 엔터테인먼트 목적으로 사용될 수 있다. 예를 들어, 여기에 설명된 퓨-샷 재구성 기술은 이미지 및/또는 비디오 콘텐츠에서 렌더링된 움직이는 캐릭터에 대한 몸통, 얼굴 및 머리카락 콘텐츠를 생성하는데 사용될 수 있다.
일부 구현예에서, 여기에 설명된 기술은 가상 어시스턴트 디바이스 또는 다른 지능형 에이전트에 의해 사용될 수 있으며, 이들 디바이스 또는 에이전트는 여기에 설명된 퓨-샷 재구성 기술을 사용하여 객체를 인식하고, 객체를 재생성하고, 이러한 객체들로부터 합성 이미지를 생성하도록 이미지 프로세싱을 수행할 수 있다.
일부 구현들에서, 여기에 설명된 기술들은 사용자의 퓨-샷 신규 뷰 합성을 위해 딥 인버스 렌더링 방법을 사용한다. 이 기술은 소스 이미지에서 사용자의 시각적 아이덴티티를 보존할 수 있다. 상기 기술은 예를 들어, 3D 메시 프록시 및 (예를 들어, 학습된) 신경 텍스처를 포함하는 사용자의 리프리젠테이션을 활용할 수 있다. 예를 들어, 메시 프록시는 폴리곤(예를 들어, 삼각형) 메시이거나 이를 포함할 수 있다. 특히, 여기에 설명된 기술은 임의의 포즈 및 표정을 가진 사용자의 하나 이상의 프레임을 포함하는 입력 이미지를 수신한다. 수신된 입력 이미지는 사용자의 각 프레임에 대한 잠재 표현을 계산하는데 사용되며, 여기서 특정 텍스처 공간에 대한 인버스 렌더링을 사용하여 각 프레임이 샘플링된다. 잠재 표현들은 종래의 이미지 생성 시스템보다 개선되고 더 완전한 텍스처를 생성하도록 입력 뷰들로부터의 정보를 융합하여 학습하는 어텐션 매커니즘을 사용하여 텍스처 공간에서 추가로 집계될 수 있다. 여기에 설명된 기술은 신경 렌더러를 사용하여 재프로세싱될 수 있는 페이스 메시 알고리즘을 사용하여 텍스처를 샘플링함으로써, 신규하고 처음보는(unseen) 뷰/이미지 프레임을 생성할 수 있다. 여기에 설명된 기술은 정확한 사용자 몸통 재구성을 달성하면서도, 시각적 피처들을 식별하는 사용자를 보존하는 장점을 제공한다.
종래의 시스템은 단일 잠재 벡터로의 입력을 인코딩 및 집계함으로써 퓨-샷 뷰 합성을 수행할 수 있다. 이러한 잠재 벡터는 객체의 모양(appearance), 정체성 및 형상(shape)을 단일 벡터로 결합한다. 표면 포인트 당 모양(appearance per surface point)은 일반적으로 이러한 잠재 벡터로 압축되기 때문에, 특정한 시각적 신원-관련 정보 및 고 주파수 이미지 디테일들을 재표현하고 재구성하는 능력이 불가능할 수 있는바, 이는 상기 정보가 과도하게 집계되고 그리고 단일 잠재 벡터로부터 분리 및 파싱될 수 없기 때문이다. 여기에 설명된 시스템 및 방법은 객체(예: 머리, 몸통, 사용자 등)의 표현을 3D 메시 프록시 및 학습된 신경 텍스처로 팩터링(factor)한다. 또한, 시스템 및 방법은 신경 텍스처를 사용하여 각각의 표면 포인트 당 객체 모양을 나타낸다. 신경 텍스처를 사용하여 표면 포인트 당 모양 설명자(appearance descriptor per surface point)를 저장하는 것은, 고 주파수 이미지 디테일 및 증가된 분량의 신원-민감 정보를 표현할 수 있는 방법을 제공한다.
또한, 여기에 설명된 시스템 및 방법은 사용자의 머리 및/또는 몸통 구조의 나머지를 나타내기 위해 거친(coarse) 지오미트리 프록시와 조합하여 사용자의 얼굴에 대한 지오미트리 표현을 정의하는 얼굴 메시 알고리즘을 사용한다. 일부 구현예에서, 거친 지오미트리 프록시는 머리카락, 하나 이상의 어깨, 목 등을 나타내는 적어도 하나의 평면을 포함한다.
도 1은 본 명세서 전체에 걸쳐 설명된 구현예들에 따른, 입체(stereoscopic) 디스플레이 디바이스에서 콘텐츠를 디스플레이하기 위한 예시적인 3D 콘텐츠 시스템(100)을 예시하는 블록도이다. 3D 콘텐츠 시스템(100)은 예를 들어, 3D로 화상 회의 통신(예를 들어, 텔레프레즌스 세션)을 수행하기 위해 다수의 사용자들에 의해 사용될 수 있다. 일반적으로, 도 1의 시스템은 2D 또는 3D 화상 회의 동안 사용자들의 비디오 및/또는 이미지를 캡처하는데 사용될 수 있으며 그리고 화상 회의 세션 내에서 사용자 얼굴 부분 및/또는 몸통 부분을 묘사하는 정확한 이미지를 렌더링하기 위해 사용자 얼굴 부분 및/또는 몸통 부분의 형상과 모양을 모델링하도록 여기에 설명된 시스템 및 기술을 사용할 수 있다.
시스템(100)은 여기에 설명된 기술의 사용으로부터 이익을 얻을 수 있는바, 왜냐하면 이러한 기술이 예를 들어, 화상 회의에서 포즈, 표정 및 사용자 이미지 부분을 생성 및 디스플레이할 수 있기 때문이며, 이들은 예를 들어, 비디오 화상 회의에서 사용자를 정확하게 표현할 수 있지만, 실제 캡처된 이미지 프레임에 대한 계산된 잠재 표현일 수 있다. 계산된 잠재 표현은 예를 들어, 시스템(100)을 통해 2D 및/또는 3D 방식으로 다른 사용자에게 디스플레이될 수 있는 사용자의 정확한 텍스처 및 이미지를 생성하기 위해 여기에 설명된 기술과 함께 사용될 수 있다.
도 1에 도시된 바와 같이, 3D 콘텐츠 시스템(100)은 제1 사용자(102) 및 제2 사용자(104)에 의해 사용되고 있다. 예를 들어, 사용자(102, 104)는 3D 텔레프레즌스 세션에 참여하기 위해 3D 콘텐츠 시스템(100)을 사용하고 있다. 이러한 예에서, 3D 콘텐츠 시스템(100)은 사용자(102, 104) 각각이 다른 사람의 매우 사실적이고 시각적으로 일치하는 표현을 볼 수 있게 하므로, 사용자들이 서로의 물리적 존재에 있는 것과 유사한 방식으로 상호작용하는 것을 촉진할 수 있다.
각 사용자(102, 104)는 대응하는 3D 시스템을 가질 수 있다. 여기서, 사용자(102)는 3D 시스템(106)을 갖고 사용자(104)는 3D 시스템(108)을 갖는다. 3D 시스템(106, 108)은 3D 디스플레이를 위한 이미지 캡처, 이미지 정보의 프로세싱 및 제공, 오디오 정보의 프로세싱 및 제공을 포함하지만 이에 국한되지 않는 3D 콘텐츠와 관련된 기능을 제공할 수 있다. 3D 시스템(106) 및/또는 3D 시스템(108)은 하나의 유닛으로 통합된 감지 디바이스의 컬렉션을 구성할 수 있다. 3D 시스템(106) 및/또는 3D 시스템(108)은 도 2-6을 참조하여 설명된 구성요들의 일부 또는 전부를 포함할 수 있다.
3D 콘텐츠 시스템(100)은 하나 이상의 2D 또는 3D 디스플레이를 포함할 수 있다. 여기서, 3D 디스플레이(110)는 3D 시스템(106)을 위해 제공되고, 3D 디스플레이(112)는 3D 시스템(108)을 위해 제공된다. 3D 디스플레이(110, 112)는 각각의 뷰어(여기서는, 예를 들어, 사용자 102 또는 사용자 104)에게 자동 입체 뷰를 제공하기 위해 여러 유형들의 3D 디스플레이 기술 중 임의의 것을 이용할 수 있다. 일부 구현예에서, 3D 디스플레이(110, 112)는 독립형 유닛(예를 들어, 자체 지지되거나 벽에 매달림)일 수 있다. 일부 구현예에서, 3D 디스플레이(110, 112)는 웨어러블 기술(예를 들어, 컨트롤러, 머리 장착형 디스플레이 등)을 포함하거나 이에 대한 액세스를 가질 수 있다. 일부 구현예에서, 디스플레이(110, 112)는 2D 디스플레이일 수 있다.
일반적으로, 디스플레이(110, 112)와 같은 디스플레이는 HMD(head-mounted display) 디바이스를 사용하지 않고 현실 세계의 물리적 객체의 3D 광학 특성에 가까운 이미지를 제공할 수 있다. 일반적으로, 본 명세서에 기술된 디스플레이는 평판 디스플레이, 렌티큘러 렌즈(예를 들어, 마이크로렌즈 어레이), 및/또는 디스플레이와 연관된 다수의 상이한 관찰 영역으로 이미지를 재지향시키는 시차 장벽(parallax barriers)을 포함한다.
일부 구현들에서, 디스플레이들(110, 112)은 고해상도 및 글래스-프리 렌티큘러 3D 디스플레이를 포함할 수 있다. 예를 들어, 디스플레이(110, 112)는 디스플레이의 마이크로렌즈에 결합된(예를 들어, 본딩된) 유리 스페이서를 갖는 복수의 렌즈들(예를 들어, 마이크로렌즈)을 포함하는 마이크로렌즈 어레이(미도시)를 포함할 수 있다. 마이크로렌즈는 선택된 보기 위치에서, 디스플레이 사용자의 좌측 눈이 픽셀들의 제 1 세트를 볼 수 있는 반면 사용자의 우측 눈이 픽셀들의 제 2 세트를 볼 수 있도록 설계될 수 있다(예를 들어, 여기서 픽셀들의 제 2 세트는 픽셀들의 제 1 세트와 상호배타적이다).
일부 예시적인 디스플레이에서, 이러한 디스플레이에 의해 제공되는 이미지 콘텐츠(예를 들어, 사용자, 객체 등)의 3D 뷰를 제공하는 단일 위치가 있을 수 있다. 사용자는 적절한 시차(parallax), 최소한의 왜곡 및 사실적인 3D 이미지를 경험하기 위해 상기 단일 위치에 앉을 수 있다. 만일, 사용자가 다른 물리적 위치로 이동하는 경우(또는 머리 위치 또는 시선 위치를 변경하는 경우), 이미지 콘텐츠(예: 사용자, 사용자가 착용한 객체 및/또는 기타 객체)는 덜 사실적으로, 2D로, 및/또는 왜곡된 것으로 보이기 시작할 수 있다. 여기에 설명된 시스템 및 기술은 디스플레이로부터 투사된 이미지 콘텐츠를 재구성하여, 사용자가 이동할 수 있지만 여전히 적절한 시차, 낮은 왜곡률 및 사실적인 3D 이미지를 실시간으로 경험할 수 있도록 할 수 있다. 따라서, 여기에 설명된 시스템 및 기술은 사용자가 3D 디스플레이를 보고 있는 동안 발생하는 임의의 사용자 움직임에 관계없이, 사용자에게 디스플레이할 3D 이미지 콘텐츠 및 객체를 유지 및 제공하는 장점을 제공한다.
도 1에 도시된 바와 같이, 3D 컨텐츠 시스템(100)은 하나 이상의 네트워크에 연결될 수 있다. 여기서, 네트워크(114)는 3D 시스템(106) 및 3D 시스템(108)에 연결된다. 네트워크(114)는 두 가지 일례로서, 공개적으로 이용가능한 네트워크(예를 들어, 인터넷) 또는 사설 네트워크일 수 있다. 네트워크(114)는 유선, 무선, 또는 이들의 조합일 수 있다. 네트워크(114)는 하나 이상의 서버(미도시)를 포함하지만 이에 제한되지 않는 하나 이상의 다른 디바이스 또는 시스템을 포함하거나 이를 이용할 수 있다.
3D 시스템(106, 108)은 3D 정보의 캡처, 처리, 전송 또는 수신, 및/또는 3D 콘텐츠의 표시와 관련된 다수의 구성요소를 포함할 수 있다. 3D 시스템(106, 108)은 3D 프레젠테이션에 포함될 이미지에 대한 이미지 콘텐츠를 캡처하기 위한 하나 이상의 카메라를 포함할 수 있다. 여기서, 3D 시스템(106)은 카메라(116, 118)를 포함한다. 예를 들어, 카메라(116) 및/또는 카메라(118)는 본질적으로 3D 시스템(106)의 하우징 내에 배치될 수 있어, 각각의 카메라(116 및/또는 118)의 렌즈는 하우징에 있는 하나 이상의 개구부를 통해 이미지 콘텐츠를 캡처한다. 일부 구현예에서, 카메라(116 및/또는 118)는 (예를 들어, 3D 시스템(106)에 대한 유선 및/또는 무선 연결을 갖는) 독립형 디바이스의 형태와 같이 하우징으로부터 분리될 수 있다. 카메라(116, 118)는 사용자(예를 들어, 사용자(102))의 충분히 대표적인 뷰를 캡처하도록 위치 및/또는 배향될 수 있다. 카메라(116, 118)는 일반적으로 사용자(102)를 위한 3D 디스플레이(110)의 시야를 가리지 않을 것이지만, 카메라(116, 118)의 배치는 임의로 선택될 수 있다. 예를 들어, 카메라(116, 118) 중 하나는 사용자(102)의 얼굴 위 어딘가에 위치될 수 있고 다른 하나는 얼굴 아래 어딘가에 위치될 수 있다. 예를 들어, 카메라(116, 118) 중 하나는 사용자(102)의 얼굴의 오른쪽 어딘가에 위치될 수 있고 다른 하나는 얼굴의 왼쪽 어딘가에 위치될 수 있다. 3D 시스템(108)은 유사한 방식으로 예를 들어, 카메라(120, 122)를 포함할 수 있다. 추가 카메라들도 가능하다. 예를 들어, 제 3 카메라가 디스플레이(110) 근처 또는 뒤에 배치될 수 있다.
일부 구현예에서, 3D 시스템(106, 108)은 3D 프리젠테이션에서 사용될 깊이 데이터를 캡처하기 위한 하나 이상의 깊이 센서를 포함할 수 있다. 이러한 깊이 센서는 3D 디스플레이 상에 장면들을 정확하게 나타내기 위하여, 3D 시스템(106 및/또는 108)에 의해 캡처된 장면을 특징짓는데 사용되는 3D 콘텐츠 시스템(100)의 깊이 캡처링 구성요소의 일부로 간주될 수 있다. 또한, 시스템은 시청자의 머리 위치와 방향을 추적할 수 있으므로, 3D 프레젠테이션이 시청자의 현재 시점에 해당하는 모양으로 렌더링될 수 있다. 여기서, 3D 시스템(106)은 깊이 센서(124)를 포함한다. 유사한 방식으로, 3D 시스템(108)은 깊이 센서(126)를 포함할 수 있다. 임의의 다양한 유형의 깊이 감지 또는 깊이 캡처가 깊이 데이터를 생성하기 위해 사용될 수 있다.
일부 구현들에서, 보조 스테레오 깊이 캡처가 수행된다. 장면은 빛의 도트들을 이용하여 조명될 수 있으며, 예를 들어 두 대의 카메라 사이에서 스테레오 매칭이 수행될 수 있다. 선택한 파장 또는 파장들 범위를 갖는 웨이브를 이용하여 이러한 조명이 수행될 수 있다. 예를 들어, 적외선(IR) 빛을 사용할 수 있다. 일부 구현예에서, 깊이 센서는 예를 들어, 2D 디바이스 상에 뷰를 생성할 때 활용되지 않을 수 있다. 깊이 데이터는 깊이 센서(예를 들어, 깊이 센서 124)와 장면의 객체 사이의 거리를 반영하는, 장면에 관한 임의의 정보를 포함하거나 이에 기초할 수 있다. 장면 내의 객체에 해당하는 이미지의 콘텐츠에 대해, 깊이 데이터는 객체까지의 거리(또는 깊이)를 반영한다. 예를 들어, 카메라(들)와 깊이 센서 사이의 공간적 관계는 알려질 수 있으며, 그리고 카메라(들)로부터의 이미지들과 깊이 센서로부터의 신호들을 상관시켜 이미지에 대한 깊이 데이터를 생성하는데 사용될 수 있다.
3D 콘텐츠 시스템(100)에 의해 캡처된 이미지는 프로세싱된 후 3D 프리젠테이션으로서 디스플레이될 수 있다. 도 1의 일례에 도시된 바와 같이, 얼굴(104')과 몸통 및 머리카락(104'')의 3D 이미지가 3D 디스플레이(110)에 제공된다. 이와 같이, 사용자(102)는 3D 이미지(104')와 몸통 및 머리카락(104'')을 사용자의 3D 표현으로 인지할 수 있다. 3D 이미지(102')와 몸통 및 머리카락(102'')은 3D 디스플레이(112)에 표시된다. 이와 같이, 사용자(102)는 사용자(102)로부터 원격으로 위치될 수 있는 사용자(104)에 대한 3D 표현으로서, 3D 이미지(104') 및 몸통 및 머리카락(104'')을 인식할 수 있다. 3D 이미지(102') 및 몸통 및 머리카락(102'')은 3D 디스플레이(112) 상에 제시될 수 있다. 이와 같이, 사용자(104)는 사용자(102)의 3D 표현으로서 3D 이미지(102')를 인지할 수 있다.
3D 콘텐츠 시스템(100)은 참가자들(예를 들어, 사용자들(102, 104))이 서로 및/또는 다른 사람과 오디오 통신에 참여하게 할 수 있다. 일부 구현예에서, 3D 시스템(106)은 스피커 및 마이크로폰(미도시)을 포함한다. 예를 들어, 3D 시스템(108)은 유사하게 스피커 및 마이크로폰을 포함할 수 있다. 이와 같이, 3D 콘텐츠 시스템(100)은 사용자들(102, 104)이 서로 및/또는 다른 사람들과 3D 텔레프레즌스 세션에 참여하는 것을 허용할 수 있다. 일반적으로, 여기에 설명된 시스템 및 기술은 시스템(100)과 함께 기능하여 시스템(100)의 사용자들 사이에서 디스플레이하기 위한 이미지 콘텐츠 및/또는 비디오 콘텐츠를 생성할 수 있다.
텔레프레즌스 시스템(100) 상에 디스플레이될 이미지 콘텐츠를 생성하는 것은 임의 개수의 신경 텍스처(134) 및 하나 이상의 프록시 지오메트리들(메시 프록시 지오메트리 136일 수 있음)의 사용을 포함할 수 있다. 여기에서 사용된 바와 같이, 메시 프록시 지오메트리는 특정 메시 지오메트리에 매핑된 2 이상의 뷰 종속 텍스처들을 나타낸다. 예를 들어, 메시 프록시 지오메트리(136)는 예를 들어, 평면 프록시 지오메트리와 결합된 얼굴 프록시 지오메트리와 같은 다중 결합 프록시 지오메트리를 나타낼 수 있다. 동작시, 시스템(100)은 시스템(200)에 액세스하거나 및/또는 시스템(200)을 달리 활용하여, 입력 이미지로부터 피처들을 추출하고, 피처들 및 하나 이상의 프록시 지오메트리들을 사용하여 하나 이상의 신경 텍스처(134)를 생성하고, 그리고 신경 텍스처(134) 및 메시 프록시 지오메트리(136)에 기초하여 하나 이상의 신규 뷰들을 합성한다.
도 2는 본 명세서 전체에 걸쳐 설명된 구현예들에 따라, 렌더링을 위해 콘텐츠를 합성하기 위한 예시적인 시스템(200)의 블록도이다. 시스템(200)은 본 명세서에 설명된 하나 이상의 구현으로서 기능하거나 그 안에 포함될 수 있고, 및/또는 여기에 설명된 이미지 콘텐츠의 합성, 처리, 모델링 또는 표시의 하나 이상의 일례들의 동작(들)을 수행하는데 사용될 수 있다. 전체 시스템(200) 및/또는 하나 이상의 개별 구성요소들은 여기에 설명된 하나 이상의 예에 따라 구현될 수 있다.
시스템(200)은 하나 이상의 3D 시스템(202)을 포함할 수 있다. 도시된 예에서, 3D 시스템(202A, 202B 내지 202N)이 도시되고, 여기서 인덱스 N은 임의의 수를 나타낸다. 3D 시스템(202)은 2D 또는 3D 프리젠테이션을 위한 시각 및 오디오 정보의 캡처를 제공하고, 프로세싱을 위해 2D 또는 3D 정보를 포워딩할 수 있다. 이러한 정보는 장면의 이미지, 장면에 대한 깊이 데이터 및 장면의 오디오를 포함할 수 있다. 예를 들어, 2D/3D 시스템(202)은 시스템(106) 및 2D/3D 디스플레이(110)(도 1)로서 기능하거나 또는 포함될 수 있다.
시스템(200)은 카메라(204)로 표시된 바와 같이 다수의 카메라를 포함할 수 있다. 일반적인 디지털 카메라에 사용되는 이미지 센서의 유형들과 같은, 임의의 유형의 광 감지 기술이 이미지를 캡처하기 위해 사용될 수 있다. 카메라(204)는 동일한 유형 또는 다른 유형일 수 있다. 카메라 위치는 예를 들어 시스템(106)과 같은 3D 시스템의 임의의 위치 내에 배치될 수 있다.
시스템(202A)은 깊이 센서(206)를 포함한다. 일부 구현예에서, 깊이 센서(206)는 IR 신호를 장면으로 전파하고 응답 신호를 검출함으로써 동작한다. 예를 들어, 깊이 센서(206)는 빔(128A-B 및/또는 130A-B)을 생성 및/또는 검출할 수 있다. 일부 구현예에서, 깊이 센서(206)는 예를 들어, 깊이 감지를 활용하지 않는 2D 화상 회의 어플리케이션에서의 선택적 구성요소이다. 시스템(202A)은 또한 적어도 하나의 마이크로폰(208) 및 스피커(210)를 포함한다. 일부 구현예에서, 마이크로폰(208) 및 스피커(210)는 시스템(106)의 일부일 수 있다.
시스템(202)은 3D 이미지를 제시할 수 있는 3D 디스플레이(212)를 추가로 포함한다. 일부 구현예에서, 3D 디스플레이(212)는 독립형 디스플레이일 수 있고 일부 다른 구현예에서는 3D 디스플레이(212)일 수 있다. 일부 구현예에서, 3D 디스플레이(212)는 시차 장벽 기술을 사용하여 동작한다. 예를 들어, 시차 장벽은 스크린과 뷰어 사이에 배치되는 본질적으로 불투명한 재료(예를 들어, 불투명 필름)의 평행한 수직 스트라이프를 포함할 수 있다. 시청자의 각각의 눈 사이의 시차 때문에, 장면의 다른 부분들(예: 다른 픽셀들)이 왼쪽 눈과 오른쪽 눈에 의해 각각 보여진다. 일부 구현예에서, 3D 디스플레이(212)는 렌티큘러 렌즈를 사용하여 동작한다. 예를 들어, 렌즈들의 교번하는 로우들(rows)이 스크린의 앞에 배치될 수 있으며, 상기 로우들은 스크린으로부터 시청자의 왼쪽 눈과 오른쪽 눈을 향하는 빛을 각각 겨냥한다.
시스템(200)은 데이터 프로세싱, 데이터 모델링, 데이터 조정, 및/또는 데이터 전송의 특정 작업들을 수행할 수 있는 서버(214)를 포함할 수 있다. 서버(214) 및/또는 그 구성요소는 도 8을 참조하여 설명된 일부 또는 모든 구성요소를 포함할 수 있다.
서버(214)는 하나 이상의 방식으로 2D 및/또는 3D 정보를 생성하는 역할을 할 수 있는 텍스처 생성기(216)를 포함한다. 이것은 (예를 들어, 3D 시스템(202A)로부터) 이미지 콘텐츠를 수신하는 것, 이미지 콘텐츠를 프로세싱하는 것 및/또는 (프로세싱된) 이미지 콘텐츠를 다른 참가자에게(예를 들어, 3D 시스템(202) 중 다른 사람에게) 전달하는 것을 포함할 수 있다.
텍스처 생성기(216)는 본 명세서 전체에 걸쳐 설명된 구현들에 따라 생성적 잠재 최적화 프레임워크에 의해 트레이닝될 수 있다. 일반적으로, 텍스처 생성기(216)는 객체들(예를 들어, 사용자, 주제, 표정, 특성 등)의 다양한 형상 및 모양을 생산할 수 있는 생성 모델을 사용하여 신경 텍스처를 파라미터화하기 위해 2 이상의 3D 프록시 지오메트리를 사용할 수 있다.
동작시에, 텍스처 생성기(216)는 피처들의 맵(예를 들어, 피처 맵 238)을 생성함으로써 객체를 나타낼 수 있다. 피처 맵(238)은 각 객체 인스턴스 i에 대한 잠재 코드를 zi ∈ Rn 으로 나타낼 수 있다. 잠재 공간의 피처 맵(238)은 8차원(8D) 맵일 수 있다. 피처 맵(238)은 예를 들어, 시스템(200)을 사용하여 최적화된 랜덤 값을 포함할 수 있다.
피처 맵(238)은 다수의 신경 텍스처(134)를 생성하기 위해 하나 이상의 신경망(244)에 제공될 수 있다. 신경 텍스처(134)는 피처 맵(238)에 표시되는 특정 객체에 대한 지오메트리 및/또는 텍스처의 일부를 정의하는 메시의 부분들을 나타낼 수 있다.
텍스처 생성기(216)는 K개의 프록시들{Pi,1,… Pi,K}(즉, UV 좌표를 구비한 삼각형 메시들)의 세트를 포함하는 거친 지오미트리를 이용할 수 있다. 예를 들어, 아키텍처(400)는 신경 텍스처(134)를 생성하기 위해 2D 이미지를 3D 프록시 모델 표면에 투영할 수 있다. UV 좌표는 2D 텍스처의 축들을 나타낸다. 프록시들은 클래스에 있는 객체 컬렉션의 일부 또는 전체에 대한 실제 지오메트리 버전을 나타내는 기능을 한다.
동작시, 시스템(200)은 프록시 지오메트리 원리를 사용하여 거친 프록시 표면들(예를 들어, 메시 프록시 지오메트리(136))의 세트를 사용하여 지오미트리적 구조를 인코딩할 뿐만 아니라 뷰-종속 신경 텍스처(134)를 사용하여 모양, 알베도 및 뷰 종속 효과를 인코딩한다.
도 2에 도시된 바와 같이, 텍스처 생성기(216)는 텍스처 프로세서/집계기(218), 텍스처 인-페인터(in-painter)(220), 신경 텍스처 생성기(222), 이미지 워프 엔진(224), 및 피처 추출기(226)를 포함한다. 텍스처 프로세서/집합기(218)는 가령, 신경망(244)의 임베더 네트워크(245)와 같은 퓨-샷 임베더 네트워크를 이용하여 신경 텍스처를 생성하도록 구성될 수 있다. 임베더 네트워크는 이미지 잠재 표현(예컨대, 이미지 잠재 벡터 230) 뿐만 아니라 퍼-이미지 텍스처 잠재 벡터(per-image texture latent vector)(228)를 생성하는데 이용될 수 있다. 그 다음 k-샷 텍스처 잠재성은 텍스처 프로세서 집계기(218)에 의해 집계될 수 있다. 집계된 텍스처 잠재성은 타겟 대상(예를 들어, 사용자 이미지)에 대한 신경 텍스처(134)를 획득하도록 텍스처 생성기 네트워크(가령, 생성기 네트워크 247)에 제공될 수 있다. 텍스처 잠재 벡터(들)(228) 및 이미지 잠재 벡터(들)(230)는 예를 들어, 텍스처 생성기(216)가 집계된 잠재성들(aggregated latents)을 포함하지 않는 방법을 이용하여 신경 텍스처를 생성한다면, 시스템(200)에서 각 요소가 선택적일 수 있음을 나타내기 위해 점선 형태로 도시된다.
일부 구현예에서, 시스템(200)은 특정 콘텐츠(예를 들어, 객체, 피처, 이미지 프레임 등)의 잠재 공간을 구축할 수 있고 그리고 이러한 콘텐츠의 잠재 공간을 예를 들어 신경망(244)에 공급할 수 있으며, 이는 이후 각각의 특정 콘텐츠 유형에 대한 텍스처 맵(240)을 생성할 수 있다. 일부 구현예에서, 시스템(200)은 신경망에 대한 카테고리-레벨 모델을 트레이닝하기 위해 특정 객체의 나머지 프록시들을 사용하는 동안 퓨-샷 재구성을 실행하기 위해 훈련 데이터에서 평면 프록시들의 인스턴스들의 개수를 감소시킬 수 있다. 예를 들어, 나머지 프록시들은 신경망(244)에 대한 헤어 카테고리를 트레이닝하는데 사용될 수 있는 헤어스타일 이미지를 나타낼 수 있다. 이러한 카테고리는 특정 사용자 이미지에 대한 헤어의 새로운 뷰들을 시뮬레이션하는데 사용될 수 있다.
예를 들어, 일부 구현예에서, 텍스처 프로세서/집계기(218)는 집계된 텍스처 잠재성을 사용하지 않을 수 있지만, 대신에 신경 텍스처를 생성하기 위해 UV 맵(232) 및 메시 프록시 지오미트리(136)을 이용하는 인버스 렌더링을 채용할 수 있다. UV 맵(232)은 특정 메시 프록시에 포함된 가시적 콘텐츠를 나타낼 수 있다. 가시적 콘텐츠는 텍스처 좌표에 따라 하나 이상의 UV 맵(232)을 생성하기 위해 사용될 수 있다. UV 맵(232)은 예를 들어 이미지들의 특정 세트에서 (피처 맵 238으로의) 피처들의 추출을 조절하기 위해 피처 추출기(226)에 제공될 수 있다. UV 맵(232)은 신경망(244)이 특정 이미지들 및/또는 이미지들에 표현된 피처들에 관한 관련 데이터를 획득하는 것을 시스템(200)이 허용하게 할 수 있다.
일부 구현들에서, 텍스처 프로세서/집계기(218)는 특정 사용자 피처들을 고려하는 사용자의 표현들(예를 들어, 텍스처 잠재 벡터들(228) 및/또는 이미지 잠재 벡터들(230)에 저장된 잠재 표현들)을 생성할 수 있다. 예를 들어, 집계기(218)는 입력 이미지(예를 들어, 임의의 포즈 및 표정 하에서 사람의 다중 프레임)를 획득할 수 있으며 그리고 각각의 입력 프레임에 대한 잠재 표현(예를 들어, 텍스처 잠재 벡터(228))을 계산할 수 있다. 이미지는 텍스처 공간에 대한 인버스 렌더링을 사용하여 생성된 사용자 표현들(예를 들어, 텍스처 잠재 벡터(228) 및/또는 이미지 잠재 벡터(230))을 사용하여 샘플링될 수 있다. 잠재 표현은 개선되고 더 완전한 신경 텍스처(134)를 생성하기 위해 입력 뷰들로부터 정보를 융합하도록 학습하는 어텐션 메커니즘을 사용하여 텍스처 공간에서 추가로 집계될 수 있다. 새로운 프레임(예: 합성된 뷰 250)를 생성하기 위해, 신경 텍스처(134)는 잠재 표현(예를 들어, 사용자의 생성된 표현들)을 사용하여 메시 프록시 지오미트리(136)으로부터 샘플링되고 그리고 신경 렌더러(248)를 사용하여 재프로세싱된다.
시스템(200)은 적어도 하나의 신경망(244)을 포함하거나 이에 대한 액세스를 갖는다. 도시된 바와 같이, 신경망(244)은 적어도 임베더 네트워크(245) 및 생성기 네트워크(247)를 포함한다. 임베더 네트워크(245)는 하나 이상의 하나 이상의 컨볼루션 계층 및 다운-샘플링 계층을 포함한다. 생성기 네트워크(247)는 하나 이상의 컨볼루션 계층 및 업-샘플링 계층을 포함한다.
텍스처 인-페인터(220)는 특정 누락(missing) 콘텐츠 부분을 둘러싸는 픽셀들의 로컬 이웃에 기초하여 특정 텍스처에서 누락될 수 있는 콘텐츠를 생성할 수 있다. 일부 구현예에서, 텍스처 인페인터(220)는 수직 축을 중심으로 대칭인 텍스처의 많은 부분에 기초하여 기능할 수 있고, 따라서 텍스처의 절반에서 누락된 부분은 텍스처의 다른 절반의 대응하는 값들로부터 근사화될 수 있다. 시스템(200)은 집계된 신경 텍스처를 신경 텍스처의 수평으로 플립된 버전과 결부(concatenate)시킬 수 있다. 신경 텍스처의 결부된 버전은 최종 대칭 신경 텍스처를 생성하기 위해 텍스처 인-페인터(220)에 제공될 수 있다.
신경 텍스처 생성기(222)는 신경 텍스처(134)를 생성할 수 있다. 신경 텍스처(134)는 이미지 캡처 프로세스의 일부로서 트레이닝되는 학습된 피처 맵(238)을 나타낸다. 예를 들어, 객체가 캡처될 때, 피처 맵(238) 및 객체에 대한 하나 이상의 3D 프록시 지오메트리(136)를 사용하여 신경 텍스처가 생성될 수 있다. 동작시, 시스템(200)은 특정 객체(또는 장면)에 대한 신경 텍스처(134)를 그 객체에 대한 하나 이상의 3D 프록시 지오메트리(136) 위에 맵으로서 생성 및 저장할 수 있다. 예를 들어, 신경 텍스처는 식별된 카테고리의 각 인스턴스와 연관된 잠재 코드 및 포즈와 연관된 뷰에 기초하여 생성될 수 있다.
가시성 스코어(236)는 캡처된 객체의 특정 픽셀 또는 피처의 가시성을 나타낼 수 있다. 각각의 가시성 스코어(236)는 이미지의 어느 부분(예를 들어, 픽셀, 피처 등)이 입력 이미지의 특정 뷰에서 가시적인지를 나타내는 신경 텍스처 각각에 대한 단일 스칼라 값을 나타낼 수 있다. 예를 들어, 사용자 얼굴의 맨 왼쪽(far left side)이 사용자의 입력 이미지에서 볼 수 없는 경우, 사용자 얼굴의 맨 왼쪽을 나타내는 픽셀들에 대한 가시성 스코어(236)는 낮게 가중치가 부여될 수 있는 반면에, 입력 이미지에서 잘 보여질 수 있거나 캡처된 다른 영역들은 높은 가중치가 부여될 수 있다.
이미지 워프 엔진(224)은 입력 이미지 공간(예를 들어, 특징 공간)으로부터 텍스처 공간으로 이미지를 워프한다. 예를 들어, 특정 입력 이미지는 UV 공간으로 워프되어 신경 텍스처를 생성한다(텍스처 공간에서).
피처 추출기(226)는 각 픽셀에 대한 피처들을 생성하도록 이미지를 분석하는 U-net 신경망이다. 피처 추출기(220)는 이러한 피처들을 사용하여 피처 맵(238) 및 텍스처 맵(240)을 생성할 수 있다.
샘플러(246)는 임의의 신규 뷰에 대한 특정 메시 프록시 지오메트리로부터 샘플링하는 2D 샘플러를 나타낼 수 있다. 샘플링된 텍스처는 신경 렌더러(248)에 제공된다.
신경 렌더러(248)는 예를 들어, 렌더링하기 위해 신경망(244)을 이용하는 객체(예를 들어, 사용자) 및/또는 장면의 중간 표현을 생성할 수 있다. 신경 텍스처(134)는 신경 렌더러(248)와 함께 작동하는 신경망(244)과 같은 U-Net과 함께 텍스처 맵(예를 들어, 텍스처 맵(240)) 상의 피처들을 공동으로 학습하는데 사용될 수 있다. 신경 렌더러(248)는 예를 들어, 실제 모양(예: ground truth)과 개체별 컨볼루션 네트워크를 사용한 확산 재투영(diffuse reprojection) 간의 차이를 모델링함으로써, 뷰 종속 효과들을 통합할 수 있다. 이러한 효과들은 장면 지식을 기반으로 예측하기 어려울 수 있으므로, GAN 기반 손실 함수를 사용하여 사실적인 출력을 렌더링할 수 있다.
동작시, 서버(214)는 입력 이미지(242)를 획득하거나 수신할 수 있다. 텍스처 생성기(216)는 하나 이상의 신경망(244)을 사용하여 입력 이미지(242)를 처리할 수 있다. 서버(214)는 합성된 뷰(250)를 생성하기 위해, 텍스처 생성기(216), 샘플러(246) 및 신경 렌더러(248)를 활용할 수 있다.
시스템(200) 및 시스템(200) 내의 신경망(244)은 아래의 수학식 [1]에 따라, 재구성 손실(reconstruction losses: LCNT), 신원 보존 손실(identity preservation loss: LID) 및 적대적 손실(adversarial losses: LADV)의 혼합을 사용하여 종단간 훈련될 수 있다.
L(φ, ω, ψ, θ, ξ) = LADV + λIDLID + λCNTLCNT [1]
그라운드 트루(ground truth) 타겟 영상 It과 예측
Figure pct00001
간의 재구성 오차는 사전훈련된(pretrained) VGG16 네트워크와 사전훈련된 얼굴 알고리즘 메시 네트워크를 기반으로 하는 L1 손실과 지각 손실의 혼합을 사용하여 아래 수학식 [2]에 따라 계산된다.
LCNT = λL1L1 + λVGGLVGG + λFNLFN [2]
시스템(200)은 대상 미세-튜닝(subject fine-tuning)을 수행할 수 있다. 예를 들어, 테스트 시에, 처음보는 테스트 대상에 퓨-샷 재구성이 적용될 수 있다. 일부 구현예에서, 퓨-샷들의 개수는 고정될 필요가 없으며 다른 테스트 대상 간에 서로 다를 수 있다. 타겟 대상의 소정 세트의 퓨-샷 프레임들이 주어지면, 시스템(200)은 타겟 대상에 맞도록(fit) 시스템(200) 내의 신경망(244) 또는 다른 네트워크의 간단한 미세 튜닝을 수행할 수 있다. 미세 튜닝은 시스템(200)의 임의의 서브세트의 모듈들에 적용될 수 있다. 예를 들어, 미세 튜닝은 텍스처 생성기(216)(Gtex로 표시됨), 신경 렌더러(248)(R로 표시됨) 및 판별기(discriminator)(미도시) D에 적용될 수 있다. 또한, 시스템은 특정 타겟 대상의 잠재 표현을 직접적으로 최적화함으로써 네트워크 가중치를 미세 튜닝할 수 있다. 예를 들어, 시스템(200)은 예측된 신경 텍스처를 자유 변수로 취급할 수 있고, 타겟 대상에 더 잘 맞도록 신경망 렌더러(248)와 공동으로 신경망을 최적화할 수 있다. 신경 텍스처를 최적화하면 잠재 벡터 표현을 최적화하는 것보다 해석하기 쉽다는 장점이 있는데, 왜냐하면 신경 텍스처를 시각화하는 것이 미세 튜닝 단계에서 추가되는 고 주파수 디테일들을 묘사할 수 있기 때문이다.
위의 예시적인 구성요소는 네트워크(260)(도 1의 네트워크(114)와 유사하거나 동일할 수 있음)를 통해 3D 시스템(202) 중 하나 이상과 통신할 수 있는 서버(214)에서 구현되는 것으로 여기에서 설명된다. 일부 구현예에서, 텍스처 생성기(216) 및/또는 그 구성요소는 대신에 또는 추가로 3D 시스템(202)의 일부 또는 전부에서 구현될 수 있다. 예를 들어, 전술한 모델링 및/또는 프로세싱은 3D 정보를 발신하는(originating) 시스템에 의해 수행될 수 있다(3D 정보를 하나 이상의 수신 시스템으로 전달하기 전에). 다른 예로서, 발신(originating) 시스템은 이미지, 모델링 데이터, 깊이 데이터 및/또는 대응하는 정보를 하나 이상의 수신 시스템으로 포워딩할 수 있으며, 수신 시스템은 전술한 프로세싱을 수행할 수 있다. 이러한 접근 방식들의 조합이 이용될 수도 있다.
시스템(200)은 카메라(예를 들어, 카메라(204)), 깊이 센서(예를 들어, 깊이 센서(206)), 및 메모리에 저장된 명령을 실행하는 프로세서를 갖는 3D 콘텐츠 생성기(예컨대, 텍스처 생성기 216)를 포함하는 시스템의 일례이다. 이러한 명령은 프로세서로 하여금 3D 정보에 포함된 깊이 데이터를 사용하여(예를 들어, 깊이 프로세싱 구성요소를 통해), 3D 정보에 포함된 장면의 이미지들에서 이미지 콘텐츠를 식별하게 할 수 있다. 프로세서는 예를 들어, 합성 뷰(250)를 적절하게 묘사하기 위해 텍스처 생성기(216)에 제공될 수 있는 신경 텍스처(134)를 샘플링함으로써 수정된 3D 정보를 생성할 수 있다.
합성된 뷰(250)는 본 명세서에 기술된 바와 같은 증강 얼굴 메시에 적어도 일부 기초하여 디스플레이(예를 들어, 디스플레이(212))에 액세스하는 사용자와 관련된 양쪽 눈에 대한 적절한 시차(parallax) 및 뷰잉 구성을 갖는 특정 객체(예를 들어, 사용자 이미지 412, 512, 610)의 3D 입체 이미지를 나타낸다. 합성된 뷰(250)의 적어도 일부는 예를 들어, 사용자가 디스플레이를 보면서 머리 위치를 이동할 때마다 예컨대, 시스템(200)을 사용하여 신경망(244)으로부터의 출력에 기초하여 결정될 수 있다. 일부 구현예에서, 합성된 뷰(250)는 사용자의 얼굴 및 사용자의 얼굴을 캡처하는 뷰 내에서 사용자의 얼굴을 둘러싼 사용자의 다른 피처들을 나타낸다.
일부 구현예에서, 시스템(202 및 214)의 프로세서(미도시)는 그래픽 프로세싱 유닛(GPU)를 포함(또는 통신)할 수 있다. 작동시, 프로세서는 메모리, 스토리지 및 기타 프로세서(예: CPU)를 포함할 수 있다(또는 이에 액세스할 수 있음). 그래픽 및 이미지 생성을 용이하게 하기 위해, 프로세서는 GPU와 통신하여 디스플레이 디바이스(예를 들어, 디스플레이 디바이스 212)에 이미지를 표시할 수 있다. CPU와 GPU는 PCI, AGP, PCI-Express와 같은 고속 버스를 통해 연결될 수 있다. GPU는 HDMI, DVI 또는 디스플레이 포트와 같은 다른 고속 인터페이스를 통해 디스플레이에 연결될 수 있다. 일반적으로 GPU는 이미지 콘텐츠를 픽셀 형태로 렌더링할 수 있다. 디스플레이 디바이스(212)는 GPU로부터 이미지 콘텐츠를 수신하고, 디스플레이 화면에 이미지 콘텐츠를 표시할 수 있다.
도 3a는 본 명세서 전체에 걸쳐 설명된 구현예들에 따른, 증강된 얼굴 메시 프록시 및 평면 프록시를 거친 지오메트리적 프록시로서 결합함으로써 생성된 증강된 메시 프록시(300)의 일례의 블록도이다. 증강된 메시 프록시(300)는 사용자와 관련된 얼굴 특징, 머리카락 특징, 및/또는 몸통 특징을 포함하지만 이에 제한되지 않는 사용자의 이미지 및/또는 비디오 콘텐츠를 합성하는데 사용될 수 있다.
증강된 메시 프록시(300)는 둘 이상의 프록시 지오메트리적 표현을 결합함으로써 생성될 수 있다. 예를 들어, 증강된 메시 프록시(300)는 3D 증강 얼굴 메시 프록시(302)를 사용하여 결정된 사용자 얼굴의 표현들과 평면 프록시(304)와 결합하여 생성될 수 있으며, 이 예에서는, 이는 사용자 머리카락 및/또는 사용자 몸통(예를 들어, 얼굴 메시 프록시(302)에 포함되지 않은 사용자의 머리/몸통 부분의 나머지들)을 나타낸다. 예를 들어, 얼굴 메시 알고리즘은 단일 평면 지오메트릭 프록시와 결합되어 사용자의 머리와 몸통 이미지의 정확한 합성을 생성할 수 있다. 얼굴 메시 프록시(302) 및 평면 프록시(304)는 예를 들어 도 1에 도시된 바와 같이 메시 프록시 지오미트리(136)로서 표현될 수 있다.
얼굴 메시 프록시(302)는 입력 이미지의 가시적 콘텐츠에 대응하는 텍스처 좌표를 나타낼 수 있다. 예를 들어, 가시적 콘텐츠는 프록시(302)의 얼굴 부분을 포함할 수 있지만, 프록시(302)의 얼굴 부분을 둘러싸는 배경은 포함하지 않을 수 있다. 가시적 콘텐츠는 텍스처 좌표를 따라 UV 맵(예를 들어, UV 맵(232))을 생성하는데 사용될 수 있다. UV 맵(232)은 피처 추출기(226)에 제공되어, 예를 들어 이미지들의 특정 세트에서 피처들의 추출을 조절한다. UV 맵(232)은 시스템(200)이 신경망(244)이 특정 이미지 및/또는 이미지에 표현된 특징에 관한 관련 데이터를 획득할 수 있게 할 수 있다.
얼굴 메시(face mesh)는 컨볼루션 신경망을 사용하여 생성될 수 있으며, 컨볼루션 신경망은 이미지가 주어지면, 미리 정의된 토폴로지가 얼굴을 나타내는 일 세트의 미리 정의된 정점들의 3D 위치들을 나타내는 일련의 계수들을 출력한다. 3D 위치들은 입력 이미지들의 공간 좌표들과 정렬되는 반면, 깊이 차원은 임의적이거나 메트릭 유닛(metric units)일 수 있다.
평면 프록시(304)는 사용자 얼굴(예를 들어, 평면에 수직인 뷰에서) 및 주변 영역들(예를 들어, 머리카락, 몸통 등)을 포함하도록 배치된 평면으로 도시된다. 평면 프록시(304)는 사용자의 머리를 모델링하는 평면 빌보드를 나타낸다. 이러한 콘텐츠를 나타내는 다른 객체 및 평면 프록시 형상은 3D 콘텐츠를 생성 및 렌더링하기 위해 여기에 설명된 시스템 및 기술에 의해 활용될 수 있다. 예를 들어, 다른 프록시들은 박스, 실린더, 구, 삼각형 등을 포함할 수 있지만 이에 국한되지 않는다.
평면 프록시는 복잡한 지오메트리의 대체물로 사용될 수 있는 텍스처 매핑된 객체(또는 객체의 일부)를 나타낼 수 있다. 지오메트릭 프록시들을 조작하고 렌더링하는 것은 대응하는 디테일 지오메트리를 조작하고 렌더링하는 것보다 덜 계산 집약적이기 때문에, 평면 프록시 표현은 뷰를 재구성하는 더 간단한 형태를 제공할 수 있다. 평면 프록시 표현을 사용하여 이러한 뷰를 생성할 수 있다. 평면 프록시를 사용하면 안경, 자동차, 구름, 나무 및 풀 등과 같이 매우 복잡한 모양을 가진 객체들을 조작, 재구성 및/또는 렌더링하려고 할 때 계산 비용이 더 낮다는 이점을 제공할 수 있다. 유사하게, 강력한 그래픽 프로세싱 디바이스의 이용가능성과 함께, 실시간 게임 엔진은 3D 프록시 지오메트리들을 이용하여 저 레벨의 디테일에서 지오미트리를 대체할 맵들을 생성하여 거리에 따라 스와핑될 수 있는 다수 레벨들의 디테일과 함께 이러한 프록시들(예컨대, 지오메트릭 표현들)을 사용할 수 있다.
동작시, 시스템(200)은 예를 들어 추출된 알파 마스크를 사용하여 머리 부분에 대한 바운딩 박스(예를 들어, 거친 시각적 헐(coarse visual hull))를 계산함으로써 평면 프록시(304)를 생성할 수 있다. 일반적으로 알파 마스크는 헤드 부분의 임의 개수의 픽셀들에 대해, 오버레이될 때 특정 픽셀 컬러들이 다른 픽셀들과 병합되는 방법을 나타낸다. 그런 다음 시스템(200)은 사용자의 머리 이미지에서 관심 영역을 지정할 수 있다. 예를 들어, 머리 좌표를 사용하여 관심 영역을 지정할 수 있다. 그 다음, 시스템(200)은 대응하는 정사영 투영(corresponding orthographic projection)으로부터 보여지는 것으로서 표면과 확률적으로(probabilistically) 매칭되는 평면을 추출할 수 있다.
일반적으로, 시스템(200)은 신경망(예를 들어, 신경망(244))에 입력되는 트레이닝 데이터로서 사용될 수 있는 임의 개수의 이미지들에 대한 평면 프록시들을 생성할 수 있다. 신경망은 예를 들어, 카메라에 의해 캡처된 특정 객체(예: 머리 부분, 얼굴 부분 등)를 적절하게 디스플레이하는 방법을 결정할 수 있다. 일부 구현예에서, 시스템(200)은, 예를 들어, 머리 부분을 포함하는 이미지들의 데이터세트를 어셈블링하고 그리고 검출된 포즈를 사용하여 상기 포즈에 기초한 뷰포인트로부터 머리 부분을 시뮬레이션함으로써 특정 머리 부분의 뷰를 생성할 수 있다.
증강된 메시 프록시(300)는 얼굴 및 사용자 머리와 연관된 다른 머리 피처들의 정확한 표현 및 재현성을 보장하기 위해 사용될 수 있다. 예를 들어, 합성된 이미지에서 얼굴 영역 외부의 영역들을 포함하기 위해, 증강된 메시 프록시(300)는 합성 이미지의 품질을 저하시키는 것에 대해 강건한 신경 텍스처를 생성하는데 사용될 수 있다. 이러한 신경 텍스처는 3D 트랜스포메이션을 나타내는 데이터와 이미지 관점을 나타내는 데이터 및 새로운 이미지 콘텐츠를 합성하기 위한 학습된 렌더링 기술을 결합함으로써 생성될 수 있다.
도 3b는 본 명세서 전반에 걸쳐 설명된 구현예들에 따른, 증강된 메시 프록시를 생성하기 위해 사용되는 예시적인 입력을 예시한다. 예를 들어, 입력 이미지(320)가 획득될 수 있다. 입력 이미지(320)는, 예를 들면, 타겟 대상(예: 사용자)를 나타낼 수 있다. 입력 이미지는 여러 개의 텍스처 맵을 생성하는데 사용될 수 있다. 텍스처 맵은 사용자의 2D 및 3D 이미지를 나타낼 수 있다. 텍스처 맵은 UV 공간에서 3D 모델을 생성하기 위해 2D 이미지 표현을 사용하며, 여기서 "U"와 "V"는 2D 텍스처 축을 나타낸다. 텍스처 맵은 시스템(200)에 의해 사용될 수 있으며, 예를 들어 함수(function)를 3D로 표면에 매핑할 수 있다. 함수 도메인은 1D, 2D 또는 3D일 수 있으며 수학 함수(예: 어레이)로 표현될 수 있다. 텍스처 공간은 객체 공간(예: x, y 및 z 좌표 공간)에 매핑될 수 있는 UV 공간에 의해 정의될 수 있다. 시스템(200)은 또한 새로운 텍스처 좌표를 예측하기 위해 텍스처 맵을 사용할 수 있다.
예를 들어, 시스템(200)은 얼굴 메시 프록시(302)를 생성하는데 사용될 수 있는 얼굴 메시 텍스처 맵(322)을 생성할 수 있다. 유사하게, 시스템(200)은 평면 프록시(304)를 생성하는데 사용될 수 있는 헤드 프록시 U 텍스처 맵(324)을 생성할 수 있다. 시스템(200)에 의해 생성된 텍스처 맵은 신경 텍스처를 생성하기 위해 사용될 수 있다. 예를 들어, 시스템(200)은 얼굴 메시 프록시(302) 및 얼굴 메시 텍스처 맵(322)을 사용하여 사용자(320)의 얼굴을 나타내는 신경 텍스처(326)를 생성할 수 있다. 유사하게, 시스템(200)은 평면 프록시(304) 및 머리 프록시 텍스처 맵(324)을 사용하여, 사용자(320)의 머리의 나머지 부분(예를 들어, 머리카락, 몸통 등)을 나타내는 신경 텍스처(328)를 생성할 수 있다. 따라서, 시스템(200)은 얼굴 메시 텍스처(326)와 헤드 프록시 텍스처(328)를 결합함으로써 사용자에 대한 학습된 신경 텍스처를 생성할 수 있다. 일반적으로, 각각의 표면 포인트 당 모양은 학습된 신경 텍스처에서 표현된다. 표면 포인트 당 모양 설명자를 저장하는 것은 고 주파수 디테일들 및 정확한 신원 민감 정보를 나타내는 장점을 제공한다.
도 4는 본 명세서 전체에 걸쳐 설명된 구현예들에 따라, 렌더링을 위해 합성된 콘텐츠를 생성하기 위한 예시적인 아키텍처(400)의 블록도이다. 아키텍처(400)는 다수의 입력 이미지들(402)(예를 들어, 입력 퓨 샷들)을 포함하며, 이는 3개의 입력 이미지만큼 적을 수도 있다. 아키텍처(400)는 또한 신경 텍스처(406)를 생성하기 위한 신경 텍스처 생성기(404)를 포함한다. 아키텍처(400)는 또한 2D 샘플링 모듈(408), 신경 렌더러(410)를 포함하며, 이는 입력 이미지들(402)에 도시된 사용자의 합성된 뷰(412)를 생성하기 위해 신경 텍스처 생성기와 조합되어 사용될 수 있다. 예를 들어, 신경 렌더러(410)는 신경망을 포함 및/또는 사용하는 렌더러이다.
동작시, 타겟 대상(예를 들어, 사용자)의 퓨-샷 이미지들(예를 들어, 입력 이미지 402)이 주어지면, 시스템(200)은 입력 이미지들(402)에서 사용자의 신규 뷰 합성을 수행할 수 있다. 예를 들어, 시스템 200은 신경 텍스처 생성기(404)를 사용하여 입력 이미지(402)를 프로세싱하고 그리고 프로세싱된 이미지를 집계하여 타겟 대상(예를 들어, 입력 이미지(402)의 사용자)에 대한 증강된 메시 프록시(300) 및 학습된 신경 텍스처(406)를 구성할 수 있다. 그 다음, 시스템(200)은 학습된 신경 텍스처(406)를 프록시 지오메트리로부터 샘플링하고 그리고 샘플링된 포인트(예를 들어, 샘플링 모듈(408)에 의해 수행됨)를 신경 렌더러 네트워크(예를 들어, 신경 렌더러(410))에 입력할 수 있으며, 이는 다음으로 입력 이미지들(402)의 사용자의 타겟 뷰를 합성할 수 있다.
시스템(200)은 입력 이미지(402)에서 타겟 대상에 대한 신경 텍스처(406)를 생성하도록 인코더-디코더 아키텍처를 포함하는 제 1 아키텍처(500)를 사용하여 아키텍처(400)를 구현할 수 있다. 대안적으로, 시스템(200)은 입력 이미지(402)에서 타겟 대상에 대한 신경 텍스처(406)를 생성하도록 인버스 렌더링 기술을 사용하는 제 2 아키텍처(600)를 사용하여 아키텍처(400)를 구현할 수 있다.
도 5는 본 명세서 전체에 걸쳐 설명된 구현예들에 따른, 집계된 잠재 텍스처 기법들을 사용하여 신경 텍스처들을 생성하기 위한 예시적인 아키텍처(500)의 블록도이다. 신경 텍스처(예를 들어, 신경 텍스처(510))는 예를 들어 신경 텍스처 생성기(222)를 사용하여 신경망(244)으로부터 학습될 수 있다. 시스템(200)의 텍스처 생성기(216)는 예를 들어, 도 5의 구성요소들에 의해 생성된 샘플링된 신경 텍스처를 사용하여 아키텍처(400)를 수행하도록 조절될 수 있다. 텍스처 생성기(216)는 이미지 내에서 희소한 2D 랜드마크를 샘플링하는 종래의 시스템보다는 샘플링된 신경 텍스처(예를 들어, 신경 텍스처(510))에 대해 조절될 수 있는 이미지 합성 네트워크를 나타낼 수 있다.
샘플링된 신경 텍스처를 생성하기 위해, 시스템(200)은 입력 이미지(502)(여기에서 이미지 {I1, I2 ... Ik}로 도시됨)를 획득할 수 있다. 입력 이미지(502)는 카메라 디바이스에 의해 캡처된 사용자의 다수의 뷰(예를 들어, 포즈)를 포함할 수 있다. 입력 뷰는 임베더 네트워크(245)와 같은 임베더 네트워크에 제공될 수 있다. 임베더 네트워크(245)는 입력 이미지(502)(예를 들어, 얼굴, 몸통, 또는 사용자 부분의 임의의 조합)를 임베딩 벡터(506)({z1, z2 ... zk}로 도시됨)에 매핑하는 네트워크를 나타낼 수 있으며, 이는 일반적으로 포즈-독립 정보를 저장한다. 일부 구현예에서, 시스템(200)은 임베더 네트워크(245)에 공간적 입력(504)을 제공할 수 있다. 예를 들어, 공간적 입력(504)은 도 3a의 프록시 지오미트리로 표현될 수 있다(예를 들어, 3D 증강 얼굴 메시 프록시(302) 및 평면 프록시(304)). 공간적 입력(504)을 생성하기 위해 평면 프록시(304)와 결합된 3D 증강된 얼굴 메시 프록시(302)의 프록시 지오미트리.
임베딩 벡터(506)는 예를 들어 집계기(218)를 사용하여 집계될 수 있다. 벡터(506)를 집계한 결과는 집계된 벡터(508)(여기서 z로 표시됨)일 수 있다. 집계된 벡터(508)는 텍스처 생성기 네트워크(247)에 제공될 수 있다. 텍스처 생성기 네트워크(247)는 예를 들어 신경 텍스처(510)를 생성하기 위해 집계된 임베딩 벡터들을 매핑할 수 있는 네트워크를 나타낸다. 출력된 신경 텍스처(510)는 새로운 합성된 뷰(512)를 생성하기 위해 (시스템 200의 구성요소를 사용하여) 아키텍처(400)와 함께 사용될 수 있다.
동작시, 신경 텍스처(510)는 이미지 당 텍스처 잠재 벡터(per-image texture latent vector)
Figure pct00002
를 생성하도록 (퓨-샷) 임베더 네트워크(245)(E)를 구성함으로써 생성될 수 있다. 시스템(200)은 i ∈ {1 ... k}에 대한 k-샷 텍스처
Figure pct00003
로서 잠재 이미지(image latent)를 나타낼 수 있다. 다음으로, k-shot 텍스처 잠재(texture latents)(벡터(506)으로 표시됨)는 다음의 수학식 [3]에 도시된 바와 같은 평균화 방정식을 사용하여 집계된다.
Figure pct00004
[3]
여기서, 집계된 텍스처 잠재(벡터(508)으로 표시됨)는 (텍스처) 생성기 네트워크(247)(예컨대,
Figure pct00005
)에 제공되며, 이는 타겟 대상 T =
Figure pct00006
에 대한 신경 텍스처(510)(예: T)를 출력한다.
도 6은 본 명세서 전체에 걸쳐 설명된 구현예들에 따라, 인버스 렌더링 기술을 사용하여 신경 텍스처(예를 들어, 신경 텍스처(602))를 생성하기 위한 예시적인 아키텍처(600)의 블록도이다. 인버스 렌더링 기술은 임의 개수의 서브-프로세싱 모듈들을 포함할 수 있다. 다음의 일례에서는 최소 3개의 서브-프로세싱 모듈이 사용된다. 제 1 서브-프로세싱 모듈은 피처 추출기 네트워크(226)를 포함할 수 있다. 제 2 서브-프로세싱 모듈은 이미지 워프 엔진(224)을 포함할 수 있다. 제 3 서브-프로세싱 모듈은 텍스처 프로세서/집계기(218)를 포함할 수 있다.
대상(예를 들어, 사용자)에 대한 퓨-샷 이미지들이 주어지면, 시스템(200)은 사용자에 대한 대응하는 신경 텍스처를 구성하기 위해 인버스 렌더링 기법을 수행할 수 있다. 여기에 설명된 인버스 렌더링 기술은 사용자의 이미지(예: 사용자의 머리, 목, 머리카락, 몸통 등)에 대한 장면의 물리적 속성들(예: 반사율, 지오메트리, 조명 등)에 대한 추정을 수행하는 것을 포함할 수 있다. 아키텍처(600)의 예시적인 동작에서, 피처 추출기 네트워크 F(.;
Figure pct00007
)(226)는 대응하는 깊이 이미지
Figure pct00008
와 UV 맵
Figure pct00009
으로 증강되는 여기에서 이미지(603)(즉, I1, I2, ... Ik)로 도시된 입력 이미지들(예를 들어, Red, Green, Blue (RGB) 프레임들
Figure pct00010
)를 수신할 수 있다.
피처 추출기 네트워크(226)는 각각의 k-샷 입력들을 입력 이미지들
Figure pct00011
와 동일한 해상도의 지오메트리-어웨어(geometry-aware feature space) 피처 공간에 투영할 수 있으며, 여기서:
Figure pct00012
[4]
다음으로, 투영된 이미지는 입력 이미지당 신경 텍스처 yi ∈ Rd (예를 들어, 텍스처 134)를 생성하기 위해 UV 공간으로 워핑된다. 텍스처 프로세서 네트워크 P(.;ω)는 각각의 신경 텍스처 yi (예를 들어, 텍스처 134)를 포스트-프로세싱하고 또한 추가 스코어 맵 Si 을 출력하는데, 여기서 텍스처 공간의 각 포인트에서의 스코어는 아래의 수학식 [5]에 도시된 바와 같이 해당 입력 이미지에서 그것의 가시성을 나타낸다:
Figure pct00013
[5]
예를 들어, 피처 추출기(226)는 다수의 피처 맵(238)(도 6에 도시됨)으로 표현되는 하나 이상의 피처 맵(238)을 생성할 수 있다. 피처 맵(238)은 피처 공간에서 입력 이미지의 피처들을 나타낸다. 예를 들어, 각각의 입력 이미지(603)에 대해, 이미지들의 추출된 피처들을 이용하여 피처 맵(238)이 생성될 수 있다.
각각의 피처 맵(238)은 예를 들어 다수의 텍스처 맵(240)을 생성하기 위해 이미지 워프 엔진(224)을 사용하여 워핑될 수 있다. 예를 들어, 3개의 입력 이미지가 시스템(200)에 제공되면, 피처 추출기(226)는 각각의 입력 이미지(603)에 대해 하나씩 3개의 피처 맵을 추출할 수 있다. 이미지 워프 엔진(224)은 3개의 피처 맵(238) 각각을 텍스처 맵(240)으로 워핑하여 도 6에 도시된 바와 같이 3개의 텍스처 맵을 생성할 수 있다.
다음으로, 텍스처 프로세서/집계기(218)를 사용하는 신경 텍스처 생성기(222)는 포인트당 어텐션 가중치 맵(608){A1 ... Ak})을 획득하기 위해 k 가시성 스코어(236)(예를 들어, 맵)에 소프트-맥스(soft-max)를 적용할 수 있다. k 개의 신경 텍스처는 예측된 어텐션 가중치를 기반으로 가중 평균으로 집계되어, 아래의 수학식 [6]과 같이 텍스처 공간에 집계되는 가시성 스코어들과 어텐션 가중치를 구비한 집계된 k 개의 신경 텍스처들을 나타낸다.
Figure pct00014
[6]
집계된 텍스처
Figure pct00015
는 임의의 입력 뷰들에서 보이지 않았던 누락된 부분을 포함할 수 있다. 텍스처의 누락된 부분들은 그들의 결정된 로컬 이웃에 기초하여 인-페인팅될 수 있다. 대안적으로는, 텍스처의 많은 부분이 수직 축을 중심으로 대칭이라 가정하고 그리고 절반의 누락된 부분이 다른 절반의 해당 값으로부터 근사화될 수 있다고 가정함으로써, 텍스처의 누락된 부분들은 인-페인팅될 수 있다. 따라서, 텍스처 인-페인터(220)는 집계된 신경 텍스처를 집계된 신경 텍스처의 수평으로 플립된 버전(예를 들어, 90도 회전)과 결부시킬 수 있다. 텍스처의 결부된 버전은 텍스처 인-페인터 네트워크 G(.;
Figure pct00016
)(예를 들어, 텍스처 인페인터 220)에 제공될 수 있으며, 이는 최종 신경 텍스처(602)를 출력할 수 있다. 아래의 수학식 [7]은 텍스처의 결부된 버전을 나타낸다.
Figure pct00017
[7]
여기서, | 는 채널별 결부(channel-wise concatenation)를 나타내고 hor_flip은 수직 축을 중심으로한 수평 플립핑(예: 90도 회전)을 나타낸다.
신경 텍스처(602)는 신경망에서 트레이닝되는 학습된 피처 맵을 나타낸다. 이 예에서, 신경 텍스처는 2D 또는 3D 메시 프록시들 상에 오버레이된 하나 이상의 맵들을 포함한다. 신경 텍스처(602)의 부분(604)은 얼굴 메시 프록시(예를 들어, 302)를 사용하여 생성된 텍스처를 나타내는 반면, 부분(606)은 머리카락 및/또는 몸통 부분을 캡처하기 위해 평면 프록시(예를 들어, 304)를 사용하여 생성된 텍스처를 나타낸다. 부분(604)의 3개의 이미지는 입력 이미지(603)의 제 1 세트의 피처 포인트들의 3개의 RGB 컬러 이미지를 갖는 9 채널 텍스처를 나타낼 수 있다. 부분(606)의 3개의 이미지는 입력 이미지(603)의 제 2 및 다른 세트의 피처 포인트들의 3개의 RGB 컬러 이미지를 갖는 9 채널 텍스처를 나타낼 수 있다. 또한, 가시성 스코어(236)(예를 들어, 맵)는 신경 텍스처(602)에 의해 표현되는 텍스처에 대한 정보의 또 다른 채널로서 사용될 수 있다.
예측된 신경 텍스처 T(예를 들어, 신경 텍스처 602)의 생성이 완료되면, 시스템(200)은 샘플러(246)를 사용하여 도 3에 도시된 증강된 메시 프록시 지오메트리(300)과 같은 메시 프록시 지오메트리로부터 신경 텍스처(602)를 샘플링할 수 있다. 여기서, 증강된 메시 프록시 지오메트리(300)는 얼굴 메시 프록시 지오메트리(302) 및 평면 프록시 지오메트리(304)의 사용을 포함한다. 증강된 메시 프록시 지오메트리(300)는 임의의 새로운 뷰에 대해 샘플링될 수 있다. 결과적인 샘플링된 텍스처는 아래의 수학식 [8]에 나타낸 바와 같이 뷰(610)를 합성할 수 있는 신경 렌더러(248)(예를 들어, 신경 렌더러 네트워크 R(.;θ))에 제공될 수 있다.
Figure pct00018
[8]
뉴럴 렌더러 네트워크 R(248)은 뉴럴 텍스처(602)의 저차원 포인트별 디스크립터를 사용하여 타겟 지오메트리 및 사용자의 모양을 복구할 수 있다.
도 7은 본 명세서 전체에 걸쳐 설명된 구현예들에 따른, 3D 프록시 지오메트리 모델들에 기초한 신경 텍스처들을 사용하여 합성된 콘텐츠를 생성하기 위한 프로세스(700)의 일례를 도시한 흐름도이다. 요컨대, 프로세스(800)는 예를 들어 사용자의 처음보는 2D 및 3D 이미지의 퓨-샷 신규 뷰를 생성하기 위해 메시 알고리즘과 함께 3D 프록시 지오메트리을 사용하는 일례를 제공할 수 있다.
프로세스(700)는 실행될 때 프로세싱 디바이스로 하여금 청구범위에 설명된 복수의 동작들 및 컴퓨터 구현 단계들을 수행하게 하는 명령들을 저장하는 메모리 및 적어도 하나의 프로세싱 디바이스를 갖는 이미지 프로세싱 시스템을 활용할 수 있다. 일반적으로, 시스템(100, 200) 및/또는 아키텍처(400, 500 및/또는 600)는 프로세스(700)의 설명 및 실행에 사용될 수 있다. 시스템(100, 200) 및 아키텍처(400, 500 및/또는 600) 각각은 일부 구현예에서는 단일 시스템을 나타낼 수 있다.
일반적으로, 프로세스(700)는 본 명세서에 설명된 시스템 및 알고리즘을 활용하여 타겟 대상의 퓨-샷 이미지들을 획득하거나 검색하고 새로운 뷰 합성을 수행한다. 예를 들어, 프로세스(700)는 타겟 대상에 대한 학습된 신경 텍스처와 함께 3D 메시 프록시를 구성하기 위해 퓨-샷 입력들을 프로세싱 및 집계하는 것을 포함할 수 있다. 새로운 뷰를 합성하기 위해, 학습된 텍스처가 프록시 지오메트리로부터 샘플링되어 타겟 뷰를 합성하는 신경 렌더러 네트워크로 전달될 수 있다. 일부 구현예에서, 타겟 대상에 대한 신경 텍스처를 생성하기 위해 인코더-디코더 아키텍처가 사용될 수 있다. 일부 구현예에서, 신경 텍스처를 생성하기 위해 인버스 렌더링 기술이 사용될 수 있다.
블록(702)에서, 프로세스(700)는 사용자를 나타내는 복수의 입력 이미지(예를 들어, 입력 샷 402)를 수신하는 것을 포함한다. 예를 들어, 서버(216)는 실시간으로 또는 이전의 화상회의 활동 및/또는 다른 이미지 캡처 활동으로부터 사용자(104)의 이미지를 수신, 획득 및/또는 캡처할 수 있다. 입력 이미지는 사용자 얼굴, 피처, 머리카락, 목 또는 기타 몸통 부분 등을 포함할 수 있다. 일반적으로, 이러한 입력 이미지는 프로세스(700) 내에서 4개 미만의 이미지가 사용되는 퓨-샷 이미지일 수 있다. 일부 구현예에서, 3개의 입력 이미지가 프로세스(700)의 단계를 수행하는데 사용된다. 일부 구현예에서, 단일 이미지는 프로세스(700)의 단계를 수행하는데 사용될 수 있다.
블록(704)에서, 프로세스(700)는 복수의 입력 이미지(242)로부터 추출된 제 1 세트의 피처들(예를 들어, 피처 맵(238)에 저장된)에 기초하여 3D 메시 프록시(예를 들어, 증강된 메시 프록시(300))를 생성하는 것을 포함한다. 예를 들어, 텍스처 생성기(216)는 사용자의 얼굴을 나타내는 제 1 세트의 피처들을 사용하여 피처 맵(238)을 생성할 수 있다. 제 1 세트의 피처들은 얼굴 메시 프록시(302)와 같은 얼굴 메시의 부분들을 포함할 수 있다. 3D 메시 프록시(300)는 또한, 복수의 입력 이미지(242)로부터 추출된 제 2 세트의 피처들(예를 들어, 피처 맵 238에 저장된)에 기초하여 생성될 수 있다. 제 2 세트의 피처들은 사용자의 머리카락 및/또는 몸통 부분을 나타내는 피처들을 포함할 수 있다. 제 2 세트의 피처들은 평면 프록시(304)와 같은 평면 프록시로부터 검색될 수 있다.
블록(706)에서, 프로세스(700)는 3D 메시 프록시 및 복수의 입력 이미지에 기초하여 신경 텍스처(예를 들어, 신경 텍스처(406))를 생성하는 것을 포함한다. 예를 들어, 가령, 생성기(404) 또는 신경 텍스처 생성기(222)와 같은 신경 텍스처 생성기는 사용자의 3D 메시 프록시(4066)를 생성하기 위해 평면 프록시(304)(맵 324에 도시됨)와 조합하여 얼굴 메시 프록시(302)(맵 322에 도시됨)를 사용할 수 있다. 3D 메시 프록시(406)는 얼굴 메시 텍스처(326)를 나타내는 부분(326) 및 머리 프록시 텍스처(328)(즉, 평면 프록시)를 나타내는 부분을 포함할 수 있다.
블록(708)에서, 프로세스(700)는 사용자에 대한 표현을 생성하는 것을 포함한다. 사용자의 표현은 3D 메시 프록시 및 신경 텍스처에 적어도 부분적으로 기초할 수 있다. 예를 들어, 텍스처-프로세서 집계기(218)는 메시 프록시 지오메트리들을 생성할 수 있는 반면, 신경 텍스처 생성기(222)는 신경 텍스처를 생성할 수 있다. 따라서, 시스템(200)은 사용자의 얼굴을 나타내는 제 1 세트의 피처들 및 사용자의 머리카락 및 몸통 부분을 나타내는 추출된 제 2 세트의 피처들을 생성할 수 있으며, 이는 메시 프록시 및 학습된 신경 텍스처 둘 다에 기초할 수 있다. 일반적으로, 사용자의 표현은 신경 텍스처(134)에 표현된 각각의 표면 포인트 당 모양을 나타낸다. 이러한 모양은 신경 텍스처의 일부 위치에서 볼 수 있고 다른 위치에서 보이지 않을 수 있다. 따라서, 가시성 점수(236)가 신경 텍스처를 샘플링할 때 또는 달리 액세스할 때 사용될 수 있다. 일부 구현들에서, 시스템(200)은 사용자의 모양에 대한 고 주파수 디테일들, 또는 피부 상의 반사 하이라이트와 같은 사용자의 모양의 뷰-종속 효과를 나타내기 위해 표면 포인트 당 모양 설명자를 저장할 수 있다.
블록(710)에서, 프로세스(700)는 3D 메시 프록시(300)로부터 신경 텍스처의 적어도 하나의 부분을 샘플링하는 것을 포함한다. 예를 들어, 샘플러(246)는 신경 텍스처의 2D 샘플링을 수행할 수 있다. 즉, 샘플러(246)는 프록시 지오메트리(결합된 3D 메시 프록시(300)로 표현됨)로부터 신경 텍스처(406)를 샘플링할 수 있다. 일부 구현예에서, 예측된 신경 텍스처는 임의의 새로운 뷰에 대해 메시 프록시로부터 샘플링된다. 일부 구현예에서, 샘플러(246)는 신경 텍스처로부터 샘플링하기 위해 UV 맵(232)을 사용할 수 있는 2D 샘플러를 나타낸다. 일부 구현예에서, 신경 텍스처(406)는 사용자의 4개 미만의 캡처된 이미지 프레임을 포함할 수 있는 복수의 입력 이미지(402)로부터 생성 및 샘플링된 학습된 신경 텍스처이다.
블록(712)에서, 프로세스(700)는 적어도 하나의 샘플링된 부분을 신경 렌더러(248)와 같은 신경 렌더러에 제공하는 것을 포함한다. 이에 응답하여, 시스템(200)은 이미지 프로세싱 시스템에 의해 이전에 볼 수 없었던 사용자의 합성된 이미지(예컨대, 합성된 뷰 250, 합성된 뷰 412, 등)를 신경 렌더러(248)로부터 수신할 수 있다. 예를 들어, 합성된 이미지는 이미지 프로세싱 시스템에 의해 아직 기록되지 않은 뷰(예를 들어, 사용자를 비스듬히 바라보는 것, 및/또는 사용자가 머리를 잡고 있는 것 및/또는 한 방향으로 바라보는 것)를 포함할 수 있다. 합성된 뷰(250)는 예를 들어 디바이스(110 또는 112) 상의 렌더링을 위해 트리거될 수 있다.
일부 구현들에서, 화상회의를 위해 보정된 시점(즉, 원격 사용자의 시선 방향에 대해)을 가진 사용자를 묘사하기 위해 합성된 이미지가 생성된다. 따라서, 보정된 시점은 화상 회의를 통해 서로를 바라보는 두명의 사용자가 마치 직접 눈을 마주치는 것처럼 서로에게 보일 수 있게 한다. 예를 들어, 사용자의 합성된 뷰는 입력 이미지에서 사용자의 유사한 포즈일 수 있지만, 화상 회의를 제공하는 시스템과 연관된 카메라 디바이스를 응시하는 사용자의 뷰를 시뮬레이션하도록 시점이 보정된다. 시스템(200)이 화상 회의 시스템에 액세스하는 2명의 사용자 사이에 아이 콘택의 모양을 제공할 수 있기 때문에, 이러한 보정은 화상 회의 시스템의 사용자 둘다에게 존재감을 제공할 수 있다.
일부 구현예에서, 신경 텍스처를 생성하는 것은 도 5에 도시 및 설명된 바와 같이 집계된 잠재성의 사용자(user of aggregated latents)를 포함한다. 예를 들어, 텍스처 프로세서/집계기(218)는 각각의 입력 이미지(242, 502)(예를 들어, 이미지 프레임)에 대한 잠재 표현을 생성할 수 있다. 각각의 입력 이미지에 대한 생성된 잠재 표현들(예를 들어, k-샷 텍스처 잠재)은 평균화 기술을 사용하여 벡터(508)로 집계될 수 있다. 벡터(508)는 예를 들어 텍스처 생성기 네트워크(247)에 제공될 수 있다. 사용자를 나타내는 신경 텍스처(510)는 텍스처 생성기 네트워크(247)로부터 수신될 수 있다. 신경 텍스처(510)는 합성된 뷰(512)를 생성하는데 사용될 수 있다.
일부 구현예에서, 신경 텍스처를 생성하는 것은 도 6에 도시 및 설명된 바와 같이 인버스 렌더링 알고리즘을 사용하는 것을 포함한다. 예를 들어, 입력 이미지들은 피처 추출기 네트워크(226)에 제공될 수 있으며, 피처 추출기 네트워크(226)는 대응하는 깊이 이미지 및 UV 맵(232)으로 이미지(603)를 증강시키기 위해 적어도 제 1 세트 및 제 2 세트의 피처들을 추출할 수 있다. 다음으로, 시스템(200)은 추출된 제 1 세트 및 제 2 세트의 피처들을 입력 이미지(603)와 연관된 깊이 이미지(깊이 센서(206)에 의해 캡처된) 및 UV 맵(232)에 기초하여 지오메트리 인식 피처 공간(geometry-aware feature space)으로 투영한다. 투영하는 것은 복수의 입력 이미지(603)의 매칭된 해상도를 갖는 일 세트의 이미지를 생성하는 것을 포함할 수 있다. 예를 들어, 시스템(200)은 입력 이미지(603)와 동일한 해상도의 지오메트리적 인식 피처 추출기에 각각의 k-샷 입력을 투영할 수 있다. 예를 들어, 시스템(200)은 k개의 신경 텍스처(134)(도 6)에 의해 도시된 바와 같이, 각각의 입력 이미지(603)에 대한 텍스처를 생성하도록 이미지 세트를 UV 공간으로 워핑할 수 있다.
다음으로, 텍스처 프로세서 및 집계기(218)는, 각각의 텍스처에 대해, 대응하는 입력 이미지의 가시성 메트릭을 나타내는 텍스처 공간의 각 포인트에 대한 스코어 맵(예를 들어, 가시성 스코어 236)을 생성할 수 있다. 일부 구현예에서, 가시성 스코어(236)(예를 들어, 스코어 맵)는 각 이미지의 신경 텍스처를 프로세싱함으로써 생성된다. 텍스처 공간의 각 포인트에서의 가시성 스코어(236)는 해당 입력 이미지에서 그것의 가시성을 나타낸다.
시스템(200)은 각각의 입력 이미지에 대한 어텐션 가중치를 생성하기 위해 각각의 스코어 맵(예를 들어, 가시성 스코어 236)에 소프트-맥스 연산을 적용할 수 있다. 그 다음, 텍스처는 어텐션 가중치에 따라 결정된 가중 평균에 따라 집계될 수 있다. 일부 구현예에서, 임의의 입력 이미지(603)에서 보이지 않을 수도 있는 누락된 부분을 생성하기 위해 텍스처 인-페인터(220)에 의해 추가 단계들이 수행될 수 있다. 텍스처 인-페인터(220)에 의해 수행되는 세부사항들은 도 2를 참조하여 앞서 설명된다.
도 8은 설명된 기술과 함께 사용될 수 있는 컴퓨터 디바이스(800) 및 모바일 컴퓨터 디바이스(850)의 일례를 도시한다. 컴퓨팅 디바이스(800)는 프로세서(802), 메모리(804), 저장 디바이스(806), 메모리(804)와 고속 확장 포트(810)에 연결되는 고속 인터페이스(808), 및 저속 버스(814)와 저장 디바이스(806)에 연결된는 저속 인터페이스(812)를 포함할 수 있다. 구성 요소들(802, 804, 806, 808, 810, 812)은 다양한 버스를 사용하여 상호 연결되며 공통 마더보드에 장착되거나 적절한 다른 방식으로 장착될 수 있다. 프로세서(802)는 고속 인터페이스(808)에 연결된 디스플레이(816)와 같은 외부 입/출력 디바이스 상의 GUI에 대한 그래픽 정보를 표시하기 위해 메모리(804) 또는 저장 디바이스(806)에 저장된 명령들을 포함하여 컴퓨팅 디바이스(800) 내에서 실행하기 위한 명령들을 프로세싱할 수 있다. 일부 실시예에서, 다수의 프로세서들 및/또는 다수의 버스들이, 다수의 메모리들 및 메모리 유형들과 함께 적절하게 사용될 수 있다. 또한, 다수의 컴퓨팅 디바이스들(800)이 연결될 수 있으며, 각 디바이스는 필요한 작업의 일부를 제공한다(예를 들어, 서버 뱅크, 블레이드 서버 그룹 또는 다중 프로세서 시스템).
메모리(804)는 컴퓨팅 디바이스(800) 내에 정보를 저장한다. 일 실시예에서, 메모리(804)는 휘발성 메모리 유닛 또는 유닛들이다. 다른 실시예에서, 메모리(804)는 비휘발성 메모리 유닛 또는 유닛들이다. 메모리(804)는 또한 자기 디스크 또는 광 디스크와 같은 다른 형태의 컴퓨터 판독가능 매체일 수 있다.
저장 디바이스(806)는 컴퓨팅 디바이스(800)를 위한 대용량 저장소를 제공할 수 있다. 일 실시예에서, 저장 디바이스(806)는 플로피 디스크 디바이스, 하드 디스크 디바이스, 광 디스크 디바이스, 또는 테이프 디바이스, 플래시 메모리 또는 기타 유사한 고체 상태 메모리 디바이스, 또는 저장 영역 네트워크 또는 기타 구성의 디바이스를 포함하는 디바이스들의 어레이를 포함할 수 있다. 컴퓨터 프로그램 제품은 정보 매체에 유형적으로 구현될 수 있다. 컴퓨터 프로그램 제품은 또한 실행될 때 여기에 설명된 것과 같은 하나 이상의 방법을 수행하는 명령을 포함할 수 있다. 정보 매체는 메모리(804), 저장 디바이스(806), 또는 프로세서(802) 상의 메모리와 같은 컴퓨터 또는 머신 판독가능 매체이다.
고속 컨트롤러(808)는 컴퓨팅 디바이스(800)에 대한 대역폭 집약적 연산을 관리하는 반면, 저속 컨트롤러(812)는 더 낮은 대역폭 집약적 연산을 관리한다. 이러한 기능 할당은 예시일 뿐이다. 일 실시예에서, 고속 컨트롤러(808)는 메모리(804), 디스플레이(816)(예를 들어, 그래픽 프로세서 또는 가속기를 통해), 및 다양한 확장 카드(미도시)를 수용할 수 있는 고속 확장 포트(810)에 연결된다. 저속 컨트롤러(812)는 저장 디바이스(806) 및 저속 확장 포트(814)에 연결될 수 있다. 다양한 통신 포트(예를 들어, USB, 블루투스, 이더넷, 무선 이더넷)를 포함할 수 있는 저속 확장 포트는 가령, 키보드, 포인팅 디바이스, 스캐너, 또는 예를 들어, 네트워크 어댑터를 통한 스위치 또는 라우터와 같은 네트워킹 디바이스와 같은 하나 이상의 입/출력 디바이스들에 연결될 수 있다.
컴퓨팅 디바이스(800)는 도면에 도시된 바와 같이 다수의 상이한 형태로 구현될 수 있다. 예를 들어, 표준 서버(820)로 구현되거나 이러한 서버 그룹에서 여러 번 구현될 수 있다. 또한 랙 서버 시스템(824)의 일부로 구현될 수 있다. 또한, 랩톱 컴퓨터(822)와 같은 개인용 컴퓨터에서 구현될 수 있다. 대안적으로, 컴퓨팅 디바이스(800)의 구성요소는 디바이스(850)와 같은 모바일 디바이스(미도시)의 다른 구성요소와 결합될 수 있다. 이러한 디바이스들 각각은 컴퓨팅 디바이스(800, 850) 중 하나 이상을 포함할 수 있고 그리고 전체 시스템은 서로 통신하는 다수의 컴퓨팅 디바이스들(800, 850)로 구성될 수 있다.
컴퓨팅 디바이스(850)는 특히 다른 구성요소들 중에서 프로세서(852), 메모리(864), 디스플레이(854)와 같은 입력/출력 디바이스, 통신 인터페이스(866), 및 트랜시버(868)를 포함한다. 디바이스(850)에는 추가 저장소를 제공하기 위해 마이크로드라이브 또는 기타 디바이스와 같은 저장 디바이스가 제공될 수도 있다. 구성 요소들(850, 852, 864, 854, 866, 868) 각각은 다양한 버스를 사용하여 상호 연결되고 일부 구성 요소는 공통 마더보드에 장착되거나 적절한 다른 방식으로 장착될 수 있다.
프로세서(852)는 메모리(864)에 저장된 명령을 포함하여 컴퓨팅 디바이스(850) 내의 명령을 실행할 수 있다. 프로세서는 개별 및 다수의 아날로그 및 디지털 프로세서를 포함하는 칩들의 칩셋으로 구현될 수 있다. 프로세서는 예를 들어 사용자 인터페이스의 제어, 디바이스(850)에 의해 실행되는 애플리케이션, 및 디바이스(850)에 의한 무선 통신과 같은 디바이스(850)의 다른 구성요소의 조정을 제공할 수 있다.
프로세서(852)는 디스플레이(854)에 연결된 디스플레이 인터페이스(856) 및 제어 인터페이스(858)를 통해 사용자와 통신할 수 있다. 디스플레이(854)는 예를 들어 TFT LCD(박막 트랜지스터 액정 디스플레이) 또는 OLED(유기 발광 다이오드) 디바이스, 또는 기타 적절한 디스플레이 기술일 수 있다. 디스플레이 인터페이스(856)는 그래픽 및 기타 정보를 사용자에게 제공하기 위해 디스플레이(854)를 구동하기 위한 적절한 회로를 포함할 수 있다. 제어 인터페이스(858)는 사용자로부터 명령을 수신하고 이를 프로세서(852)에 제출하기 위해 변환할 수 있다. 또한, 외부 인터페이스(862)는 다른 디바이스와 디바이스(850)의 근거리 통신을 가능하게 하기 위해 프로세서(852)와 통신할 수 있다. 외부 인터페이스(862)는 예를 들어, 일부 실시예에서 유선 또는 무선 통신을 제공할 수 있으며, 다중 인터페이스가 사용될 수 있다.
메모리(864)는 컴퓨팅 디바이스(850) 내에 정보를 저장한다. 메모리(864)는 컴퓨터 판독가능 매체, 휘발성 메모리 유닛 또는 유닛들, 또는 비휘발성 메모리 유닛 또는 유닛들 중 하나 이상으로 구현될 수 있다. 확장 메모리(884)는 또한 예를 들어 SIMM(Single In Line Memory Module) 카드 인터페이스를 포함할 수 있는 확장 인터페이스(882)를 통해 디바이스(850)에 제공 및 연결될 수 있다. 이러한 확장 메모리(884)는 디바이스(850)에 대한 추가 저장 공간을 제공할 수 있거나 디바이스(850)에 대한 애플리케이션 또는 기타 정보를 저장할 수도 있다. 특히, 확장 메모리(884)는 위에서 설명된 프로세스를 수행하거나 보완하기 위한 명령을 포함할 수 있고 보안 정보도 포함할 수 있다. 따라서, 예를 들어, 확장 메모리(884)는 디바이스(850)용 보안 모듈일 수 있고, 디바이스(850)의 안전한 사용을 허용하는 명령으로 프로그래밍될 수 있다. 또한, 보안 애플리케이션은 가령, 해킹할 수 없는 방식으로 SIMM 카드에 식별 정보를 배치하는 것과 같이, 추가 정보와 함께 SIMM 카드를 통해 제공될 수 있다.
메모리는 예를 들어, 후술하는 플래시 메모리 및/또는 NVRAM 메모리를 포함할 수 있다. 일 실시예에서, 컴퓨터 프로그램 제품은 정보 캐리어에 유형적으로 구현된다. 컴퓨터 프로그램 제품은 실행될 때 위에서 설명한 것과 같은 하나 이상의 방법을 수행하는 명령을 포함한다. 정보 캐리어는 예를 들어 트랜시버(868) 또는 외부 인터페이스(862)를 통해 수신될 수 있는 메모리(864), 확장 메모리(884), 또는 프로세서(852) 상의 메모리와 같은 컴퓨터 또는 머신 판독가능 매체이다.
디바이스(850)는 필요한 경우 디지털 신호 프로세싱 회로를 포함할 수 있는 통신 인터페이스(866)를 통해 무선으로 통신할 수 있다. 통신 인터페이스(866)는 특히 GSM 음성 호출, SMS, EMS 또는 MMS 메시징, CDMA, TDMA, PDC, WCDMA, CDMA2000, 또는 GPRS와 같은 다양한 모드 또는 프로토콜 하에서 통신을 제공할 수 있다. 그러한 통신은 예를 들어 무선 주파수 트랜시버(868)를 통해 발생할 수 있다. 또한, 블루투스, Wi-Fi, 또는 다른 트랜시버(미도시)를 사용하는 것과 같은 근거리 통신이 발생할 수 있다. 또한, GPS(Global Positioning System) 수신기 모듈(880)은 디바이스(850)에서 실행되는 애플리케이션에 의해 적절하게 사용될 수 있는 추가 탐색 및 위치 관련 무선 데이터를 디바이스(850)에 제공할 수 있다.
디바이스(850)는 또한 오디오 코덱(860)을 사용하여 청각적으로 통신할 수 있으며, 이는 사용자로부터 음성 정보를 수신하고 이를 사용가능한 디지털 정보로 변환할 수 있다. 오디오 코덱(860)은 마찬가지로 예를 들어 디바이스(850)의 핸드셋에서와 같이 스피커를 통해 사용자를 위한 가청 사운드를 생성할 수 있다. 이러한 사운드는 음성 전화 통화로부터의 사운드를 포함할 수 있고, 녹음된 사운드(예를 들어, 음성 메시지, 음악 파일, 등)를 포함할 수 있으며 그리고 디바이스(850)에서 작동하는 애플리케이션에 의해 생성된 사운드를 포함할 수도 있다.
컴퓨팅 디바이스(850)는 도면에 도시된 바와 같이 다수의 상이한 형태로 구현될 수 있다. 예를 들어, 그것은 셀룰러 전화(880)로서 구현될 수 있다. 또한 스마트 폰(882), 개인 휴대 정보 단말기, 또는 다른 유사한 모바일 디바이스의 일부로서 구현될 수 있다.
여기에 설명된 시스템 및 기술의 다양한 구현예들은 디지털 전자 회로, 집적 회로, 특별히 설계된 ASIC(주문형 반도체), 컴퓨터 하드웨어, 펌웨어, 소프트웨어, 및/또는 이들의 조합으로 실현될 수 있다. 이러한 다양한 구현들은 적어도 하나의 프로그램가능한 프로세서를 포함하는 프로그램가능한 시스템에서 실행 및/또는 해석가능한 하나 이상의 컴퓨터 프로그램에서의 구현을 포함할 수 있으며, 프로그램가능한 프로세서는 특수 목적 혹은 일반 목적일 수 있고, 저장 시스템, 적어도 하나의 입력 디바이스, 및 적어도 하나의 출력 디바이스와의 데이터와 명령의 송수신을 위해 연결될 수 있다.
이러한 컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 애플리케이션 또는 코드로도 알려짐)은 프로그램가능한 프로세서를 위한 머신 명령들을 포함하고, 높은 수준의 절차적 및/또는 객체 지향 프로그래밍 언어, 및/또는 어셈블리/기계어로 구현될 수 있다. 본 명세서에 사용된 바와 같이, "머신 판독가능 매체", "컴퓨터 판독가능 매체"라는 용어는 머신 판독가능 신호로서 머신 명령을 수신하는 머신 판독가능 매체를 포함하여 머신 명령 및/또는 데이터를 프로그램가능 프로세서에 제공하기 위해 이용되는 임의의 컴퓨터 프로그램 제품, 장치 및/또는 디바이스(예컨대, 자기 디스크, 광 디스크, 메모리, 프로그램가능 로직 디바이스(PLD))를 지칭한다. "머신 판독가능 신호"라는 용어는 머신 명령 및/또는 데이터를 프로그래밍가능한 프로세서에 제공하는데 사용되는 모든 신호를 의미한다.
사용자와의 상호작용을 제공하기 위해, 여기에 설명된 시스템 및 기술은 정보를 사용자에게 표시하기 위한 디스플레이 디바이스(예컨대, CRT 또는 LCD 모니터) 및 사용자가 컴퓨터에 입력을 제공할 수 있는 키보드 및 포인팅 디바이스(예: 마우스 또는 트랙볼)를 갖는 컴퓨터에서 구현될 수 있다. 다른 종류의 디바이스를 사용하여 사용자와의 상호작용도 제공할 수 있다. 예를 들어, 사용자에게 제공되는 피드백은 임의의 형태의 감각 피드백(예: 시각적 피드백, 청각적 피드백 또는 촉각적 피드백)일 수 있으며, 사용자로부터의 입력은 음향, 음성 또는 촉각 입력을 포함한 모든 형태로 수신될 수 있다.
여기에 설명된 시스템 및 기술은 컴퓨팅 시스템에서 구현될 수 있으며, 이러한 컴퓨팅 시스템은 백 엔드 컴포넌트(예컨대, 데이터 서버)를 포함하거나, 또는 미들웨어 컴포넌트(예컨대, 응용 프로그램 서버)를 포함하거나, 또는 프론트 엔드 컴포넌트(예컨대, 사용자가 여기에 설명된 시스템 및 기술의 구현예들과 상호작용할 수 있는 그래픽 사용자 인터페이스 또는 웹 브라우저가 있는 클라이언트 컴퓨터)를 포함하거나, 또는 이러한 백 엔드, 미들웨어 또는 프론트 엔드 컴포넌트들의 임의의 조합을 포함할 수 있다. 시스템의 구성요소들은 통신 네트워크와 같은 임의의 형태 또는 매체의 디지털 데이터 통신에 의해 상호접속될 수 있다. 통신 네트워크의 예는 근거리 통신망("LAN"), 광역 통신망("WAN") 및 인터넷을 포함한다.
컴퓨팅 시스템은 클라이언트 및 서버를 포함할 수 있다. 클라이언트와 서버는 일반적으로 서로 멀리 떨어져 있으며 일반적으로 통신 네트워크를 통해 상호작용한다. 클라이언트와 서버의 관계는 각각의 컴퓨터에서 실행되고 서로 클라이언트-서버 관계를 갖는 컴퓨터 프로그램에 의해 발생한다.
일부 실시예에서, 도 8에 도시된 컴퓨팅 디바이스는 가상 현실 헤드셋(VR 헤드셋/HMD 디바이스 890)과 인터페이스하는 센서를 포함할 수 있다. 예를 들어, 컴퓨팅 디바이스(850) 또는 도 8에 도시된 다른 컴퓨팅 디바이스에 포함된 하나 이상의 센서들은 VR 헤드셋(890)에 입력을 제공하거나 또는 일반적으로 VR 공간에 입력을 제공할 수 있다. 센서는 터치스크린, 가속도계, 자이로스코프, 압력 센서, 생체 인식 센서, 온도 센서, 습도 센서 및 주변 광 센서를 포함할 수 있지만 이에 국한되지 않는다. 컴퓨팅 디바이스(850)는 VR 공간에 대한 입력으로서 사용될 수 있는 VR 공간에서 컴퓨팅 디바이스의 절대 위치 및/또는 검출된 회전을 결정하기 위해 센서를 사용할 수 있다. 예를 들어, 컴퓨팅 디바이스(850)는 컨트롤러, 레이저 포인터, 키보드, 무기 등과 같은 가상 객체로서 VR 공간에 통합될 수 있다. VR 공간에 통합될 때 사용자에 의한 컴퓨팅 디바이스/가상 객체의 포지셔닝은 사용자가 VR 공간에서 소정 방식으로 가상 객체를 보기 위해 컴퓨팅 디바이스를 배치할 수 있게 한다.
일부 실시예에서, 컴퓨팅 디바이스(850) 상에 포함되거나 이에 연결된 하나 이상의 입력 디바이스는 VR 공간에 대한 입력으로서 사용될 수 있다. 입력 디바이스는 터치스크린, 키보드, 하나 이상의 버튼, 트랙패드, 터치패드, 포인팅 디바이스, 마우스, 트랙볼, 조이스틱, 카메라, 마이크, 이어폰 또는 입력 기능이 있는 버드, 게임 컨트롤러 또는 기타 연결 가능한 입력 디바이스를 포함하지만 이에 국한되는 것은 아니다. 컴퓨팅 디바이스가 VR 공간에 통합될 때 컴퓨팅 디바이스(850)에 포함된 입력 디바이스와 상호작용하는 사용자는 VR 공간에서 특정 동작이 발생하게 할 수 있다.
일부 실시예에서, 컴퓨팅 디바이스(850)에 포함된 하나 이상의 출력 디바이스는 VR 공간에서 VR 헤드셋(890)의 사용자에게 출력 및/또는 피드백을 제공할 수 있다. 출력 및 피드백은 시각적, 촉각적 또는 오디오가 될 수 있다. 출력 및/또는 피드백은 VR 공간 또는 가상 환경 렌더링, 진동, 하나 이상의 조명 또는 스트로브의 켜기 및 끄기 또는 깜박임 및/또는 플래싱, 알람 울리기, 차임벨 재생, 노래 재생 및 오디오 파일 재생을 포함하지만 이에 국한되지 않는다. 출력 디바이스는 진동 모터, 진동 코일, 압전 디바이스, 정전기 디바이스, 발광 다이오드(LED), 스트로브 및 스피커를 포함할 수 있지만 이에 국한되지 않는다.
일부 실시예에서, 컴퓨팅 디바이스(850)는 VR 시스템을 생성하기 위해 VR 헤드셋(890) 내에 배치될 수 있다. VR 헤드셋(890)은 VR 헤드셋(890) 내의 적절한 위치에 스마트 폰(882)과 같은 컴퓨팅 디바이스(850)의 배치를 허용하는 하나 이상의 포지셔닝 요소를 포함할 수 있다. 이러한 실시예에서, 스마트 폰(882)의 디스플레이는 VR 공간 또는 가상 환경을 나타내는 입체 이미지를 렌더링할 수 있다.
일부 실시예에서, 컴퓨팅 디바이스(850)는 컴퓨터 생성 3D 환경에서 다른 객체로 나타날 수 있다. 컴퓨팅 디바이스(850)와 사용자의 상호작용(예를 들어, 회전, 흔들기, 터치스크린 터치, 터치스크린을 가로지르는 핑거 스와이핑)은 VR 공간에서 객체와의 상호작용으로 해석될 수 있다. 하나의 예로서, 컴퓨팅 디바이스는 레이저 포인터가 될 수 있다. 그러한 예에서, 컴퓨팅 디바이스(850)는 컴퓨터 생성 3D 환경에서 가상 레이저 포인터로 나타난다. 사용자가 컴퓨팅 디바이스(850)를 조작함에 따라 VR 공간의 사용자는 레이저 포인터의 움직임을 보게된다. 사용자는 컴퓨팅 디바이스(850) 또는 VR 헤드셋(890) 상의 VR 환경에서 컴퓨팅 디바이스(850)와의 상호작용으로부터 피드백을 수신한다.
일부 실시예에서, 컴퓨팅 디바이스(850)는 터치스크린을 포함할 수 있다. 예를 들어, 사용자는 VR 공간에서 발생하는 것과 터치스크린에서 발생하는 것을 모방할 수 있는 특정한 방식으로 터치스크린과 상호작용할 수 있다. 예를 들어, 사용자는 터치 스크린에 표시된 컨텐츠를 확대/축소하기 위해 핀치 타입의 모션을 사용할 수 있다. 터치스크린 상의 이러한 핀치 타입 모션은 VR 공간에서 제공되는 정보가 확대되게 할 수 있다. 다른 예에서, 컴퓨팅 디바이스는 컴퓨터 생성 3D 환경에서 가상 책으로 렌더링될 수 있다. VR 공간에서, 책의 페이지들이 VR 공간에서 디스플레이될 수 있으며, 터치스크린을 가로지르는 사용자의 손가락 스와이핑은 가상 책의 페이지를 넘기거나 뒤집는 것으로 해석될 수 있다. 페이지를 넘길 때마다 페이지 내용이 바뀌는 것을 보는 것 외에도, 사용자는 책에서 페이지를 넘기는 소리와 같은 오디오 피드백을 제공받을 수 있다.
일부 실시예에서, 컴퓨팅 디바이스(예: 마우스, 키보드) 외에 하나 이상의 입력 디바이스가 컴퓨터 생성 3D 환경에서 렌더링될 수 있다. 렌더링된 입력 디바이스(예: 렌더링된 마우스, 렌더링된 키보드)는 VR 공간에서 렌더링되어 VR 공간의 객체를 제어하는데 사용할 수 있다.
컴퓨팅 디바이스(800)는 랩탑, 데스크탑, 워크스테이션, 개인 휴대 정보 단말기, 서버, 블레이드 서버, 메인프레임 및 기타 적절한 컴퓨터와 같은 다양한 형태의 디지털 컴퓨터를 나타내도록 의도된다. 컴퓨팅 디바이스(850)는 개인 휴대 정보 단말기, 셀룰러 전화, 스마트 폰 및 기타 유사한 컴퓨팅 디바이스와 같은 다양한 형태의 모바일 디바이스를 나타내도록 의도된다. 여기에 도시된 구성요소, 이들의 연결 및 관계, 및 이들의 기능은 예시일 뿐이며 개시된 실시예를 제한하려는 것은 아니다.
또한, 도면에 도시된 논리 흐름은 바람직한 결과를 달성하기 위해 도시된 특정 순서 또는 순차적인 순서를 필요로 하지 않는다. 또한, 설명된 흐름에서 다른 단계들이 제공되거나 단계들이 제거될 수 있으며, 설명된 시스템에 다른 구성요소가 추가되거나 제거될 수 있다. 따라서, 다른 실시예들은 다음 청구범위의 범위 내에 존재한다.

Claims (20)

  1. 적어도 하나의 프로세싱 디바이스를 구비한 이미지 프로세싱 시스템을 이용하는 컴퓨터 구현 방법으로서,
    사용자의 복수의 입력 이미지들을 수신하는 단계;
    복수의 입력 이미지들로부터 추출된 피처들의 제 1 세트 및 복수의 입력 이미지들로부터 추출된 피처들의 제 2 세트에 기초하여 3차원 메시 프록시(mesh proxy)를 생성하는 단계, 상기 3차원 메시 프록시는 얼굴(face) 메시 프록시 및 평면(planar) 프록시를 포함하고;
    3차원 메시 프록시 및 복수의 입력 이미지들에 기초하여 신경 텍스처(neural texture)를 생성하는 단계;
    3차원 메시 프록시 및 신경 텍스처에 적어도 부분적으로 기초하여 사용자에 대한 표현을 생성하는 단계;
    사용자에 대한 표현을 사용하여, 3차원 메시 프록시로부터 신경 텍스처의 적어도 하나의 부분을 샘플링하는 단계; 및
    적어도 하나의 샘플링된 부분을 신경 렌더러(neural renderer)에 제공함에 응답하여, 상기 이미지 프로세싱 시스템에 의해서 이전에 볼 수 없었던 사용자의 합성 이미지를 상기 신경 렌더러로부터 수신하는 단계
    를 포함하는 것을 특징으로 하는 컴퓨터 구현 방법.
  2. 제1항에 있어서,
    추출된 피처들의 제 1 세트는 사용자의 얼굴을 나타내는 피처를 포함하고;
    추출된 피처들의 제 2 세트는 사용자의 머리카락과 몸통(torso)의 일부를 나타내는 피처를 포함하는 것을 특징으로 하는 컴퓨터 구현 방법.
  3. 제1항 또는 제2항에 있어서,
    상기 신경 텍스처는 복수의 입력 이미지들을 사용하여 생성된 학습된 신경 텍스처이고, 상기 복수의 입력 이미지들은 4개 미만의 사용자의 캡처된 이미지 프레임들을 포함하는 것을 특징으로 하는 컴퓨터 구현 방법.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서,
    상기 신경 텍스처를 생성하는 단계는,
    각각의 입력 이미지에 대한 잠재 표현(latent representation)을 생성하는 단계;
    각각의 입력 이미지에 대해 생성된 표현들을 벡터로 집계하는 단계;
    상기 벡터를 텍스처 생성기 네트워크에 제공하는 단계; 및
    사용자를 나타내는 신경 텍스처를 상기 텍스처 생성기 네트워크로부터 수신하는 단계
    를 포함하는 것을 특징으로 하는 컴퓨터 구현 방법.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서,
    상기 신경 텍스처를 생성하는 단계는,
    추출된 피처들의 제 1 세트 및 추출된 피처들의 제 2 세트를 입력 이미지들과 연관된 깊이 이미지들 및 UV 맵들에 기초하여 지오미트리 인식 피처 공간(geometry-aware feature space)으로 투영하는 단계(projecting), 상기 투영하는 단계는 복수의 입력 이미지들의 매칭된 해상도를 갖는 이미지들의 세트를 생성하는 단계를 포함하며;
    각 입력 이미지에 대한 텍스처를 생성하도록, 상기 이미지들의 세트를 UV 공간으로 워핑하는 단계(warping);
    각각의 텍스처에 대해, 대응하는 입력 이미지에서의 가시성 메트릭(visibility metric)을 나타내는 텍스처 공간의 각 포인트에 대한 스코어 맵을 생성하는 단계;
    각각의 입력 이미지에 대한 주의 가중치(attention weights)를 생성하기 위해 각각의 스코어 맵에 소프트-맥스 연산(soft-max operation)을 적용하는 단계; 및
    주의 가중치에 따라 결정된 가중화된 평균에 따라 텍스처들을 집계하는 단계
    를 포함하는 것을 특징으로 하는 컴퓨터 구현 방법.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서,
    사용자에 대해 생성된 표현은 신경 텍스처에 표현된 각 표면 포인트당 모양(appearance per each surface point)을 나타내고, 상기 방법은 사용자의 모양에 대한 고주파수 디테일(high frequency details)을 나타내도록 표면 포인트당 모양 설명자(appearance descriptor per surface point)를 저장하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터 구현 방법.
  7. 제1항 내지 제6항 중 어느 한 항에 있어서,
    상기 합성된 이미지는 화상회의를 위한 수정된 뷰포인트를 갖는 사용자를 묘사하기 위해 생성되고, 상기 수정된 뷰포인트는 화상회의를 제공하는 시스템과 관련된 카메라 디바이스를 응시하는 사용자의 뷰를 시뮬레이션하는 것을 특징으로 하는 컴퓨터 구현 방법.
  8. 이미지 프로세싱 시스템으로서,
    적어도 하나의 프로세싱 디바이스; 및
    명령들을 저장하는 메모리를 포함하고,
    상기 명령들은 실행될 때 상기 시스템로 하여금 동작들을 수행하게 하며, 상기 동작들은,
    사용자의 복수의 입력 이미지들을 수신하는 동작;
    복수의 입력 이미지들로부터 추출된 피처들의 제 1 세트 및 복수의 입력 이미지들로부터 추출된 피처들의 제 2 세트에 기초하여 3차원 메시 프록시(mesh proxy)를 생성하는 동작, 상기 3차원 메시 프록시는 얼굴(face) 메시 프록시 및 평면(planar) 프록시를 포함하고;
    3차원 메시 프록시 및 복수의 입력 이미지들에 기초하여 신경 텍스처(neural texture)를 생성하는 동작;
    3차원 메시 프록시 및 신경 텍스처에 적어도 부분적으로 기초하여 사용자에 대한 표현을 생성하는 동작;
    사용자에 대한 표현을 사용하여, 3차원 메시 프록시로부터 신경 텍스처의 적어도 하나의 부분을 샘플링하는 동작; 및
    적어도 하나의 샘플링된 부분을 신경 렌더러(neural renderer)에 제공함에 응답하여, 상기 이미지 프로세싱 시스템에 의해서 이전에 볼 수 없었던 사용자의 합성 이미지를 상기 신경 렌더러로부터 수신하는 동작
    을 포함하는 것을 특징으로 하는 이미지 프로세싱 시스템.
  9. 제8항에 있어서,
    추출된 피처들의 제 1 세트는 사용자의 얼굴을 나타내는 피처를 포함하고;
    추출된 피처들의 제 2 세트는 사용자의 머리카락과 몸통(torso)의 일부를 나타내는 피처를 포함하는 것을 특징으로 하는 이미지 프로세싱 시스템.
  10. 제8항 또는 제9항에 있어서,
    상기 신경 텍스처는 복수의 입력 이미지들을 사용하여 생성된 학습된 신경 텍스처이고, 상기 복수의 입력 이미지들은 4개 미만의 사용자의 캡처된 이미지 프레임들을 포함하는 것을 특징으로 하는 이미지 프로세싱 시스템.
  11. 제8항 내지 제10항 중 어느 한 항에 있어서,
    상기 신경 텍스처를 생성하는 동작은,
    각각의 입력 이미지에 대한 잠재 표현을 생성하는 동작;
    각각의 입력 이미지에 대해 생성된 표현들을 벡터로 집계하는 동작;
    상기 벡터를 텍스처 생성기 네트워크에 제공하는 동작; 및
    사용자를 나타내는 신경 텍스처를 상기 텍스처 생성기 네트워크로부터 수신하는 동작
    을 포함하는 것을 특징으로 하는 이미지 프로세싱 시스템.
  12. 제8항 내지 제11항 중 어느 한 항에 있어서,
    상기 신경 텍스처를 생성하는 동작은,
    추출된 피처들의 제 1 세트 및 추출된 피처들의 제 2 세트를 입력 이미지들과 연관된 깊이 이미지들 및 UV 맵들에 기초하여 지오미트리 인식 피처 공간으로 투영하는 동작, 상기 투영하는 동작은 복수의 입력 이미지들의 매칭된 해상도를 갖는 이미지들의 세트를 생성하는 동작을 포함하며;
    각 입력 이미지에 대한 텍스처를 생성하도록, 상기 이미지들의 세트를 UV 공간으로 워핑하는 동작;
    각각의 텍스처에 대해, 대응하는 입력 이미지에서의 가시성 메트릭을 나타내는 텍스처 공간의 각 포인트에 대한 스코어 맵을 생성하는 동작;
    각각의 입력 이미지에 대한 주의 가중치를 생성하기 위해 각각의 스코어 맵에 소프트-맥스 연산을 적용하는 동작; 및
    주의 가중치에 따라 결정된 가중화된 평균에 따라 텍스처들을 집계하는 동작
    을 포함하는 것을 특징으로 하는 이미지 프로세싱 시스템.
  13. 제8항 내지 제12항 중 어느 한 항에 있어서,
    상기 합성된 이미지는 화상회의를 위한 수정된 뷰포인트를 갖는 사용자를 묘사하기 위해 생성되고, 상기 수정된 뷰포인트는 화상회의를 제공하는 시스템과 관련된 카메라 디바이스를 응시하는 사용자의 뷰를 시뮬레이션하는 것을 특징으로 하는 이미지 프로세싱 시스템.
  14. 명령들이 저장된 비일시적 머신 판독가능 매체로서, 상기 명령들은 프로세서에 의해 실행될 때 컴퓨팅 디바이스로 하여금:
    사용자의 복수의 입력 이미지들을 수신하고;
    복수의 입력 이미지들로부터 추출된 피처들의 제 1 세트 및 복수의 입력 이미지들로부터 추출된 피처들의 제 2 세트에 기초하여 3차원 메시 프록시(mesh proxy)를 생성하고, 상기 3차원 메시 프록시는 얼굴(face) 메시 프록시 및 평면(planar) 프록시를 포함하고;
    3차원 메시 프록시 및 복수의 입력 이미지들에 기초하여 신경 텍스처(neural texture)를 생성하고;
    3차원 메시 프록시 및 신경 텍스처에 적어도 부분적으로 기초하여 사용자에 대한 표현을 생성하고;
    사용자에 대한 표현을 사용하여, 3차원 메시 프록시로부터 신경 텍스처의 적어도 하나의 부분을 샘플링하고;
    적어도 하나의 샘플링된 부분을 신경 렌더러(neural renderer)에 제공하고; 그리고
    사용자의 합성 이미지를 수신하게 하되, 상기 사용자의 합성 이미지는 이전에 볼 수 없었던 사용자에 대한 뷰를 나타내는 것을 특징으로 하는 비일시적 머신 판독가능 매체.
  15. 제14항에 있어서,
    추출된 피처들의 제 1 세트는 사용자의 얼굴을 나타내는 피처를 포함하고;
    추출된 피처들의 제 2 세트는 사용자의 머리카락과 몸통(torso)의 일부를 나타내는 피처를 포함하는 것을 특징으로 하는 비일시적 머신 판독가능 매체.
  16. 제14항 또는 제15항에 있어서,
    상기 신경 텍스처는 복수의 입력 이미지들을 사용하여 생성된 학습된 신경 텍스처이고, 상기 복수의 입력 이미지들은 4개 미만의 사용자의 캡처된 이미지 프레임들을 포함하는 것을 특징으로 하는 비일시적 머신 판독가능 매체.
  17. 제14항 내지 제16항 중 어느 한 항에 있어서,
    상기 신경 텍스처를 생성하는 것은,
    각각의 입력 이미지에 대한 잠재 표현을 생성하는 것;
    각각의 입력 이미지에 대해 생성된 표현들을 벡터로 집계하는 것;
    상기 벡터를 텍스처 생성기 네트워크에 제공하는 것; 및
    사용자를 나타내는 신경 텍스처를 상기 텍스처 생성기 네트워크로부터 수신하는 것
    을 포함하는 비일시적 머신 판독가능 매체.
  18. 제14항 내지 제17항 중 어느 한 항에 있어서,
    상기 신경 텍스처를 생성하는 것은,
    추출된 피처들의 제 1 세트 및 추출된 피처들의 제 2 세트를 입력 이미지들과 연관된 깊이 이미지들 및 UV 맵들에 기초하여 지오미트리 인식 피처 공간으로 투영하는 것, 상기 투영하는 동작은 복수의 입력 이미지들의 매칭된 해상도를 갖는 이미지들의 세트를 생성하는 동작을 포함하며;
    각 입력 이미지에 대한 텍스처를 생성하도록, 상기 이미지들의 세트를 UV 공간으로 워핑하는 것;
    각각의 텍스처에 대해, 대응하는 입력 이미지에서의 가시성 메트릭을 나타내는 텍스처 공간의 각 포인트에 대한 스코어 맵을 생성하는 것;
    각각의 입력 이미지에 대한 주의 가중치를 생성하기 위해 각각의 스코어 맵에 소프트-맥스 연산을 적용하는 것; 및
    주의 가중치에 따라 결정된 가중화된 평균에 따라 텍스처들을 집계하는 것
    을 포함하는 비일시적 머신 판독가능 매체.
  19. 제14항 내지 제18항 중 어느 한 항에 있어서,
    사용자에 대해 생성된 표현은 신경 텍스처에 표현된 각 표면 포인트당 모양을 나타내고, 상기 명령들은 사용자의 모양에 대한 고주파수 디테일을 나타내도록 표면 포인트당 모양 설명자를 저장하게 하는 명령을 더 포함하는 것을 특징으로 하는 비일시적 머신 판독가능 매체.
  20. 제14항 내지 제19항 중 어느 한 항에 있어서,
    상기 합성된 이미지는 화상회의를 위한 수정된 뷰포인트를 갖는 사용자를 묘사하기 위해 생성되고, 상기 수정된 뷰포인트는 화상회의를 제공하는 시스템과 관련된 카메라 디바이스를 응시하는 사용자의 뷰를 시뮬레이션하는 것을 특징으로 하는 비일시적 머신 판독가능 매체.
KR1020217030914A 2020-10-08 2020-10-28 토킹 헤드에 대한 퓨-샷 합성 KR20220047719A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202063198287P 2020-10-08 2020-10-08
US63/198,287 2020-10-08
PCT/US2020/070713 WO2022076020A1 (en) 2020-10-08 2020-10-28 Few-shot synthesis of talking heads

Publications (1)

Publication Number Publication Date
KR20220047719A true KR20220047719A (ko) 2022-04-19

Family

ID=73554536

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217030914A KR20220047719A (ko) 2020-10-08 2020-10-28 토킹 헤드에 대한 퓨-샷 합성

Country Status (5)

Country Link
EP (1) EP4007992A1 (ko)
JP (1) JP7386888B2 (ko)
KR (1) KR20220047719A (ko)
CN (1) CN114631127A (ko)
WO (1) WO2022076020A1 (ko)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180077430A1 (en) 2016-09-09 2018-03-15 Barrie Hansen Cloned Video Streaming
US11216988B2 (en) 2017-10-24 2022-01-04 L'oreal System and method for image processing using deep neural networks
US10403031B2 (en) 2017-11-15 2019-09-03 Google Llc Learning to reconstruct 3D shapes by rendering many 3D views

Also Published As

Publication number Publication date
JP2023513980A (ja) 2023-04-05
CN114631127A (zh) 2022-06-14
WO2022076020A1 (en) 2022-04-14
EP4007992A1 (en) 2022-06-08
US20220130111A1 (en) 2022-04-28
JP7386888B2 (ja) 2023-11-27

Similar Documents

Publication Publication Date Title
EP3959688B1 (en) Generative latent textured proxies for object category modeling
EP3057066B1 (en) Generation of three-dimensional imagery from a two-dimensional image using a depth map
US10217189B2 (en) General spherical capture methods
US11765335B2 (en) Synthetic stereoscopic content capture
KR102612529B1 (ko) 신규 뷰 합성을 위한 신경 블렌딩
JP2023551864A (ja) 自動立体テレプレゼンスシステムのための3次元(3d)顔特徴追跡
JP7386888B2 (ja) 画面上の話者のフューショット合成
US12026833B2 (en) Few-shot synthesis of talking heads
US20230396751A1 (en) Sender-side geometric fusion of depth data
US20230412724A1 (en) Controlling an Augmented Call Based on User Gaze
Thatte et al. Real-World Virtual Reality With Head-Motion Parallax

Legal Events

Date Code Title Description
E902 Notification of reason for refusal