KR20210119441A - 텍스트 및 오디오 기반 실시간 얼굴 재연 - Google Patents

텍스트 및 오디오 기반 실시간 얼굴 재연 Download PDF

Info

Publication number
KR20210119441A
KR20210119441A KR1020217026007A KR20217026007A KR20210119441A KR 20210119441 A KR20210119441 A KR 20210119441A KR 1020217026007 A KR1020217026007 A KR 1020217026007A KR 20217026007 A KR20217026007 A KR 20217026007A KR 20210119441 A KR20210119441 A KR 20210119441A
Authority
KR
South Korea
Prior art keywords
sequence
sets
key point
mouse
generating
Prior art date
Application number
KR1020217026007A
Other languages
English (en)
Other versions
KR102509666B1 (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
Priority claimed from US16/251,472 external-priority patent/US11049310B2/en
Priority claimed from US16/251,436 external-priority patent/US10789453B2/en
Priority claimed from US16/509,370 external-priority patent/US11114086B2/en
Application filed by 스냅 아이엔씨 filed Critical 스냅 아이엔씨
Publication of KR20210119441A publication Critical patent/KR20210119441A/ko
Application granted granted Critical
Publication of KR102509666B1 publication Critical patent/KR102509666B1/ko

Links

Images

Classifications

    • 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
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech systems
    • G10L13/02Methods for producing synthetic speech; Speech synthesisers
    • G10L13/04Details of speech synthesis systems, e.g. synthesiser structure or memory management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06K9/00248
    • G06K9/00268
    • G06K9/4628
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • G06T13/2053D [Three Dimensional] animation driven by audio data
    • 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/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/161Detection; Localisation; Normalisation
    • G06V40/165Detection; Localisation; Normalisation using facial parts and geometric relationships
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/168Feature extraction; Face representation
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech systems
    • G10L13/08Text analysis or generation of parameters for speech synthesis out of text, e.g. grapheme to phoneme translation, prosody generation or stress or intonation determination
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/03Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters
    • G10L25/18Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters the extracted parameters being spectral information of each sub-band
    • 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

Abstract

텍스트 및 오디오 기반 실시간 얼굴 재연을 위한 시스템 및 방법이 제공된다. 예시적인 방법은 입력 텍스트 및 타겟 이미지를 수신하는 단계를 포함하며, 타겟 이미지는 타겟 페이스를 포함하고, 입력 텍스트에 기초하여, 입력 텍스트를 나타내는 음향 특성 세트들의 시퀀스를 생성하는 단계, 음향 특성 세트들의 시퀀스에 기초하여, 입력 텍스트를 발음하기 위한 타겟 페이스의 수정을 나타내는 시나리오 데이터 세트들의 시퀀스를 결정하는 단계; 시나리오 데이터 세트의 시퀀스에 기초하여, 프레임 시퀀스를 생성하는 단계- 각각의 프레임은 시나리오 데이터 세트 중 적어도 하나에 기초하여 수정된 타겟 페이스를 포함함-; 프레임 시퀀스에 기초하여 출력 비디오를 생성하는 단계; 및 음향 특성 세트들의 시퀀스에 기초하여 오디오 데이터를 합성하고 오디오 데이터를 출력 비디오에 추가하는 단계를 포함한다.

Description

텍스트 및 오디오 기반 실시간 얼굴 재연
본 개시는 일반적으로 디지털 이미지 프로세싱(digital image processing)에 관한 것이다. 보다 구체적으로, 본 개시는 텍스트 및 오디오 기반 실시간 얼굴 재연에 대한 방법들 및 시스템들(methods and systems for text and audio-based real-time face reenactment)에 관한 것이다.
얼굴 재연(face reenactment)은 엔터테인먼트 쇼, 소셜 미디어 네트워크, 컴퓨터 게임, 비디오 대화, 가상 현실, 증강 현실 등과 같은 많은 어플리케이션에서 사용될 수 있다. 얼굴 재연(face reenactment)은 사람의 단일 이미지를 애니메이션화(animating)하여 수행될 수 있다. 딥 러닝(deep learning)방법은 사실적인 결과(photorealistic results)를 얻을 수 있다. 그러나, 현재 기존의 딥 러닝 방법은 시간 소모적이고(time-consuming), 표준 이동 장치상에서 실시간 얼굴 재연(real-time face reenactment)을 수행하는데 적합하지 않다.
이 섹션은 아래의 상세한 설명의 섹션에서 더 상세하게 설명되는 선택된 개념들을 간단한 형태로 소개하기 위해 제공된다. 본 섹션은 청구된 주제의 주요 특징 또는 필수 특징을 식별하기 위한 것으로 의도된 것도 아니며, 또한 청구된 주제의 범위를 결정하는 데 도움이 되도록 사용되는 것을 의도한 것도 아니다.
본 개시내용의 일 실시예에 따르면, 텍스트 및 오디오 기반 실시간 얼굴 재연(TEXT AND AUDIO-BASED REAL-TIME FACE REENACTMENT)에 대한 방법이 제공된다. 방법은 컴퓨팅 장치에 의해 입력 텍스트(input text) 및 타겟 이미지(target image)를 수신하는 단계를 포함할 수도 있다. 타겟 이미지는 타겟 페이스(target face)를 포함할 수도 있다. 방법은 입력 텍스트에 기초하여, 컴퓨팅 장치에서, 입력 텍스트를 나타내는 음향 특성의 세트의 시퀀스를 생성하는 단계를 더 포함할 수도 있다. 방법은 음향 특성의 세트들의 시퀀스에 기초하여, 컴퓨팅 장치에서, 시나리오 데이터의 세트들의 시퀀스를 생성하는 단계를 포함할 수도 있다. 시나리오 데이터의 세트들은 입력 텍스트를 발화(utter)하기 위한 타겟 페이스의 수정들(modifications)을 표시할 수도 있다. 방법은 시나리오 데이터의 세트의 시퀀스에 기초하여 컴퓨팅 장치에 의해, 프레임들의 시퀀스를 생성하는 단계를 포함할 수도 있다. 프레임들 각각은 시나리오 데이터의 세트들 중 적어도 하나의 세트의 시나리오 데이터에 기초하여 수정된 타겟 페이스를 포함할 수도 있다. 방법은 프레임들의 시퀀스에 기초하여 컴퓨팅 장치에서, 출력 비디오를 생성하는 단계를 포함할 수도 있다.
방법은, 음향 특성 세트들의 시퀀스에 기초하여, 컴퓨팅 장치에서 상기 입력 텍스트를 나타내는 오디오 데이터를 합성하는 단계; 및 컴퓨팅 장치에서 상기 오디오 데이터를 아웃풋 비디오에 추가하는 단계를 더 포함할 수 있다. 음향 특성은 멜-프리퀀시 켑스트랄(Mel-frequency cepstral)계수들을 포함할 수 있다. 음향 특성의 세트의 시퀀스는 뉴럴 네트워크(neural network)에 의해 생성될 수 있다.
시나리오 데이터 세트들의 시퀀스(sequence of sets of scenario data)를 생성하는 단계는, 음향 특성 세트들의 시퀀스(sequence of sets of acoustic features)에 기초하여, 마우스 키 포인트 세트들의 시퀀스(sequence of sets of mouth key points)를 생성하는 단계와 마우스 키 포인트 세트들의 시퀀스에 기초하여, 페이셜 키 포인트 세트들(sequence of sets of facial key points)을 생성하는 단계를 포함할 수 있다. 상기 프레임들의 시퀀스의 생성은 페이셜 키 포인트 세트들의 시퀀스에 기초하여, 2차원 (2D) 변형의 세트들의 시퀀스를 결정하는 단계 및 프레임의 시퀀스를 획득하기 위해, 타겟 입력에 2D 변형 세트들의 시퀀스의 2D 변형 세트를 적용하는 단계를 포함할 수 있다.
마우스 키 포인트 세트들의 시퀀스는 뉴럴 네트워크에 의해 생성될 수 있다. 마우스 키 포인트의 세트들의 시퀀스는, 마우스 키 포인트 세트들의 시퀀스 내의 세트에 선행(precede)하는 미리 결정된 수의 세트들에 기초하여 생성될 수 있다. 마우스 키 포인트 세트들의 시퀀스의 세트는 음향 특성의 세트들의 시퀀스의 적어도 하나의 세트(S)에 대응(correspond)할 수 있다. 마우스 키 포인트 세트들의 시퀀스는, S의 음향 특성 세트에 선행(precede)하는 제1 미리 결정된 수의 음향 특성 세트들 및 음향 특성 세트들의 시퀀스에 후행(succeede)하는 제2 미리 결정된 수의 음향 특성 세트들에 기초하여 생성될 수 있다.
페이셜 키 포인트 세트들의 시퀀스(sequence of sets of facial key points)는 뉴럴 네트워크에 의해 생성될 수 있다. 페이셜 키 포인트 세트들의 시퀀스의 세트는, 페이셜 키 포인트 세트들의 시퀀스에서 상기 세트에 선행하는 미리 결정된 수의 세트들에 기초하여 생성될 수 있다
상기 방법은, 마우스 키 포인트들의 세트들의 시퀀스에 기초하여 컴퓨팅 장치에서, 마우스 텍스쳐 이미지들의 시퀀스(sequence of mouth texture images)를 생성하는 단계를 더 포함할 수도 있다. 상기 방법은, 컴퓨팅 장치에서, 프레임의 시퀀스에 대응하는 프레임들에 각각의 마우스 텍스쳐 이미지들의 시퀀스를 삽입하는 단계를 더 포함할 수도 있다. 상기 마스 텍스쳐 이미지들의 시퀀스의 각각의 마우스 텍스쳐 이미지는 마우스 영역 이미지(mouth region images)에서 상기 마우스 영역 이미지에 선행하는 제1 미리 결정된 수의 마우스 텍츠쳐 이미지들에 기초하여, 뉴럴 네트워크에 의해 생성될 수 있다.
다른 실시 예에 따르면, 텍스트 및 오디오 기반 실시간 얼굴 재연에 대한 시스템이 제공된다. 상기 시스템은 하나 이상의 프로세서 및 프로세서 실행가능 코드들(processor-executable codes)을 저장하는 메모리를 포함할 수 있고, 상기 적어도 하나의 프로세서는 상기 프로세서 실행가능 코드 실행 시 상기 텍스트 및 오디오 기반 실시간 얼굴 재연에 대한 상기 언급된 방법의 동작들을 구현하도록 구성될 수 있다.
본 개시의 또 다른 측면에 따르면, 프로세서-판독 가능 명령어를 저장하는 비-일시적 프로세서-판독 가능 매체가 제공된다. 프로세서-판독 가능 명령이 프로세서에 의해 실행될 때, 비-일시적 프로세서-판독 가능 매체는 프로세서가 전술한 맞춤형 텍스트 메시지를 가지는 개인화 비디오 생성 방법을 구현하도록 한다.
예시들의 추가적인 목적, 장점, 및 신규한 특징은 이어지는 설명에서 부분적으로 설명될 것이고, 부분적으로는 다음의 설명 및 첨부 도면을 검토할 때 당업자에게 명백해질 것이며, 또는 예시들의 생성 또는 동작으로부터 알 수 있다. 이러한 개념들의 목적 및 장점은 첨부된 청구항에 특히 기재된 방법론, 수단 및 조합에 의해 실현되고 달성될 수 있다.
실시 예는 예를 들어 첨부된 도면들의 도면에서 제한되지 않고, 유사한 참조들은 유사한 구성 요소들을 나타낸다.
도 1 은 텍스트 및 오디오 기반 실시간 얼굴 재연에 대한 방법들이 구현될 수 있는 예시적인 환경을 도시하는 블록도이다.
도 2는 텍스트 및 오디오 기반 실시간 얼굴 재연에 대한 방법들을 구현하기 위한 컴퓨팅 장치의 예시적인 실시 예를 도시하는 블록도이다.
도 3은 예시적인 실시 예에 따른, 텍스트 및 오디오 기반 실시간 얼굴 재연의 예시적인 프로세스를 도시하는 개략도이다.
도 4는 일부 예시적인 실시 예에 따른, 예시적인 페이셜 키 포인트 세트를 도시한다.
도 5는 예시적인 실시 예에 따른, 텍스트 및 오디오 기반 실시간 얼굴 재연에 대한 시스템의 블록도를 도시한다.
도 6은 예시적인 실시 예에 따른, 시나리오 데이터 생성 모듈의 블록도를 도시한다.
도 7은 일부 예시적인 실시 예에 따른, 예시적인 마우스 키 포인트 마스크(mouth key points mask)를 도시한다.
도 8은 예시적인 실시 예에 따른, 마우스 텍스쳐 이미지를 갖는 프레임을 도시한다.
도 9는 예시적인 실시 예에 따른, 텍스트 및 오디오 기반 실시간 얼굴 재연에 대한 예시적인 모바일 어플리케이션의 스크린샷들을 도시한다.
도 10 은 일부 예시적인 실시 예에 따른, 텍스트 및 오디오 기반 실시간 얼굴 재연에 대한 방법을 도시하는 흐름도이다.
도 11 은 텍스트 및 오디오 기반 실시간 얼굴 재연에 대한 방법들을 구현하는데 사용될 수 있는 예시적인 컴퓨터 시스템을 도시한다.
이하 실시예의 상세한 설명은 상세한 설명의 일부를 형성하는 첨부 도면에 대한 참조를 포함한다. 이 섹션에 설명된 접근 방식은 청구항에 대한 선행 기술이 아니며 이 섹션에 포함됨으로써 선행 기술로 인정되지 않는다. 도면은 예시적인 실시예에 따른 그림을 보여준다. 본 명세서에서 "예시(examples)" 라고도 지칭되는 이러한 예시적인 실시예는 당업자가 본 주제를 실시할 수 있도록 충분히 상세하게 설명된다. 실시예들은 결합될 수 있고, 다른 실시예가 이용될 수 있거나, 청구된 범위를 벗어나지 않고 구조적, 논리적 및 동작적 변경이 이루어질 수 있다. 따라서, 이하의 상세한 설명은 제한적인 의미로 받아들여져서는 안 되고, 범위는 첨부된 청구항 및 그 균등물에 의해 정의된다.
본 특허 문서의 목적을 위해, 용어 "또는(or)" 및 "및(and)"은 달리 언급되거나 사용의 맥락에 의해 달리 명확하게 의도되지 않는 한 "및/또는(and/or)"을 의미한다. 용어 "a"는 달리 명시되지 않거나 "하나 이상"의 사용이 명백히 부적절하지 않는 한 "하나 이상(one or more)"을 의미한다. 용어 "포함하다(comprise)", "포함하는(comprise)", "포함하다(include)" 및 "포함하는(including)"은 상호 교환 가능하며 제한하려는 의도가 아니다. 예를 들어, 용어 "포함하는" 은 "포함하지만 이에 제한되지 않는(including, but not limited to)"을 의미하는 것으로 해석되어야 한다.
본 개시는 다양한 기술들을 사용하여 구현될 수 있다. 예를 들어, 본 명세서에 설명된 방법들은 컴퓨터 시스템 상에서 실행되는 소프트웨어 및/또는 마이크로 프로세서들 또는 다른 구체적으로 설계된 주문형 집적 회로(ASICs)들, 프로그램 가능한 로직 장치들(programmable logic devices), 또는 이들의 임의의 조합을 이용하여 구현될 수 있다. 특히, 본 명세서에 기술된 방법들은 디스크 드라이브 또는 디스크 드라이브와 같은 비-일시적 저장 매체(non-transitory storage medium) 상에 상주하는 일련의 컴퓨터-실행가능 명령어들(computer-executable instructions)에 의해 구현될 수 있다. 본 개시 내용은 스마트 폰, 태블릿 컴퓨터 또는 모바일 폰과 같은 모바일 장치에서 실시간으로 인터넷에 연결하지 않고 또는 서버-측 계산 리소스(server-side computational resources)를 사용할 필요없이 작동하도록 설계될 수 있지만, 실시 예는 웹 서비스 또는 클라우드 기반 리소스와 관련된 접근 방식으로 확장될 수 있다.
본 개시물은 텍스트 및 오디오 기반 실시간 얼굴 재연에 대한 방법들 및 시스템들에 관한 것이다. 본 개시물의 일부 실시예들은 입력 텍스트에 기초하여 타겟 이미지에서 사람의 얼굴의 애니메이션을 허용할 수 있다. 본 개시 내용의 실시예들은, 타겟 이미지 상의 사람의 얼굴이 "얼라이브(alive)" 되고 입력 텍스트를 발음하는 비디오를 생성할 수 있게 할 수도 있다. 일 예시 적인 실시예는 모바일 어플리케이션을 포함할 수도 있다. 모바일 어플리케이션은 사용자로 하여금 기존의 비디오(예를 들어, 비디오 릴(video reel))에서 오디오를 변경할 수 있게 한다. 모바일 어플리케이션은 입력 텍스트에 기초하여 기존 비디오의 영상 및 오디오를 변경하는 것을 허용할 수 있다. 사용자는 비디오에 대한 새로운 오디오를 기록 또는 선택할 수 있고, 바람직하게는 새로운 텍스트를 입력할 수 있다. 모바일 어플리케이션은 새로운 텍스트에 기초하여 새로운 오디오를 합성하고 새로운 오디오 및 새로운 텍스트에 따라 비디오에서 얼굴을 애니메이팅할 수도 있다. 일부 실시예들은 초기 비디오 릴의 오디오 스타일을 합성된 오디오로 전달하는 것을 허용할 수 있다.
본 개시의 일 실시예에 따르면, 텍스트 및 오디오 기반 실시간 얼굴 재연에 대한 예시적인 방법은 컴퓨팅 장치에서 입력 텍스트 및 타겟 이미지를 수신하는 단계를 포함할 수도 있다. 상기 타겟 이미지는 타겟 페이스를 포함할 수도 있다. 상기 방법은, 입력 텍스트에 기초하여, 컴퓨팅 장치에서 입력 텍스트를 나타내는 음향 특성 세트들의 시퀀스를 생성하는 단계를 포함할 수도 있다. 상기 방법은, 상기 음향 특성 세트들의 시퀀스에 기초하여, 상기 컴퓨팅 장치에서 시나리오 데이터 세트들의 시퀀스를 생성하는 단계를 포함할 수도 있다. 상기 시나리오 데이터 세트들은 상기 입력 텍스트를 발음하기 위한 상기 타겟 페이스의 수정을 나타낼 수도 있다. 상기 방법은, 상기 시나리오 데이터 세트들의 시퀀스에 기초하여, 상기 컴퓨팅 장치에서 프레임들의 시퀀스를 생성하는 단계를 포함할 수도 있다. 상기 프레임들의 각각은 상기 시나리오 데이터 세트들의 시퀀스의 적어도 하나의 시나리오 데이터에 기초하여 수정된 타겟 페이스를 포함한다. 상기 방법은, 상기 프레임들의 시퀀스에 기초하여, 상기 컴퓨팅 장치에서 출력 비디오를 생성하는 단계를 포함할 수도 있다. 상기 방법은, 상기 컴퓨팅 장치에서 입력 텍스트를 나타내는 오디오 데이터를 합성하는 단계를 더 포함할 수도 있다. 상기 방법은 상기 컴퓨팅 장치에서 상기 오디오 데이터를 상기 출력 비디오에 추가하는 단계를 포함할 수도 있다.
이제 도면을 참조하여 예시적인 실시예가 기술된다. 도면은 이상적인 실시예의 개략적인 도면이다. 따라서, 본 명세서에서 논의된 예시적인 실시예는 본 명세서에 제시된 특정 설명으로 제한되는 것으로 이해되어서는 안 된다. 오히려, 이러한 예시적인 실시예는 변형(deviations)을 포함할 수 있고, 여기에 제시된 설명과 다를 수 있으며, 이는 당업자에게 명백하다.
도 1은 예시적인 환경(100)을 도시하며, 여기서 텍스트 및 오디오 기반 실시간 얼굴 재연에 대한 방법이 실시될 수 있다. 환경(100)은 컴퓨팅 장치(105), 사용자(102), 컴퓨팅 장치(110), 사용자(104), 네트워크(120) 및 메신저 서비스 시스템(130)을 포함할 수 있다. 컴퓨팅 장치(105) 및 컴퓨팅 장치(110)는 휴대폰, 스마트 폰, 또는 태블릿 컴퓨터와 같은 모바일 장치를 지칭(refer)할 수 있다. 추가 실시예에서, 컴퓨팅 장치(110)는 개인용 컴퓨터, 랩톱 컴퓨터, 넷북, 셋톱 박스, 텔레비전 장치, 멀티미디어 장치, 개인용 디지털 어시스턴트, 게임 콘솔, 엔터테인먼트 시스템, 인포테인먼트 시스템, 차량 컴퓨터, 또는 임의의 다른 컴퓨팅 장치를 지칭할 수 있다.
본 개시의 일부 실시 예에서, 컴퓨팅 장치(110)는 타겟 이미지(125)를 나타내도록 구성될 수 있다. 타겟 이미지(125)는 적어도 타겟 페이스(140)및 배경(145)을 포함할 수 있다. 타겟 페이스(140)는 사용자(130)또는 사용자(130)이외의 사람에 속할 수 있다. 일부 실시 예에서, 타겟 이미지(125)는 컴퓨팅 장치(110)의 메모리 스토리지에 또는 컴퓨팅 장치(110)가 통신 가능하게 연결된 클라우드 기반 컴퓨팅 리소스(cloud-based computing resource)에서 저장된다.
또 다른 실시 예에서, 타겟 이미지(125)는 컴퓨팅 장치(110)의 메모리 또는 클라우드 기반 컴퓨팅 리소스 내에 사전-기록(pre-record)되고 저장될 수 있다. 사용자(130)는 애니메이트화 될 타겟 이미지를 선택할 수도 있다.
일부 실시예에서, 컴퓨팅 장치(110)는 입력 텍스트(160)를 수신하도록 구성될 수 있다. 컴퓨팅 장치(110)는 입력 텍스트를 분석하여 입력 텍스트(160)를 발음하기 위한 타겟 페이스의 수정들을 나타내는 시나리오 데이터 세트들의 시퀀스를 생성하도록 구성될 수 있다. 컴퓨팅 장치(110)는 프레임들의 시퀀스를 생성하기 위해 시나리오 데이터에 기초하여 타겟 이미지(125)를 수정하도록 추가로 구성될 수 있다. 프레임들의 시퀀스에 대한 각각의 프레임은 시나리오 데이터의 세트들 중 하나에 기초하여 수정된 타겟 페이스을 포함할 수도 있다. 컴퓨팅 장치(110)는 프레임들의 시퀀스에 기초하여 비디오를 더 생성할 수도 있다. 컴퓨팅 장치(110)는 입력 텍스트에 기초하여 오디오 데이터를 더 합성하고 오디오 데이터를 비디오에 추가할 수도 있다. 컴퓨팅 장치(110)는 그래픽 디스플레이 시스템(120)을 통해 비디오를 재연할 수 있다. 비디오는 입력 텍스트를 발음하는 타겟 페이스를 갖는 사람을 특징으로 할 수 있다.
도 2에 도시된 예에서, 컴퓨팅 장치(110)는 하드웨어 컴포넌트들 및 소프트웨어 컴포넌트들 둘 다를 포함할 수도 있다. 특히, 컴퓨팅 장치(110)는 디지털 이미지들을 획득하기 위해 카메라(115)또는 임의의 다른 이미지-캡처 장치 또는 스캐너를 포함할 수도 있다. 컴퓨팅 장치(110)는 소프트웨어 컴포넌트들 및 프로세서-판독가능(기계-판독가능)명령들 또는 코드들을 저장하기 위한 프로세서 모듈(210)및 저장 모듈(215)을 더 포함할 수 있으며, 이는 프로세서 모듈(210)에 의해 수행될 때, 컴퓨팅 장치(200)로 하여금 본원에 설명된 바와 같은 텍스트 및 오디오 기반 실시간 얼굴 재연에 대한 방법들의 적어도 일부 단계들을 수행하게 한다.
컴퓨팅 장치 (110)는 얼굴 재연 시스템 (220)을 더 포함할 수 있으며, 이는 차례로 하드웨어 구성 요소 (예를 들어, 별도의 처리 모듈 및 메모리), 소프트웨어 구성 요소, 또는 이들의 조합을 포함할 수 있다.
도 3에 도시된 바와 같이, 얼굴 재연 시스템(220)은 타겟 이미지(125)및 입력 텍스트(310)를 입력으로 수신하도록 구성될 수 있다. 타겟 이미지(125)는 타겟 페이스(140)를 포함할 수 있다. 얼굴 재연 시스템(220)은 텍스트 입력을 분석하여 입력 텍스트를 나타내는 음향 특성의 세트들의 시퀀스를 결정하도록 구성될 수 있다. 음향 특성의 세트들 각각은 출력 비디오(340)의 프레임들(345)중 하나에 할당될 수 있는 타임스탬프(timestamp)에 대응할 수도 있다.
음향 특성의 세트들의 시퀀스에 기초하여, 얼굴 재연 시스템(220)은 시나리오 데이터의 세트의 시퀀스를 생성할 수도 있다. 시나리오 데이터의 각각의 세트는 프레임들(345)중 적어도 하나에서 타겟 페이스(140)의 수정을 나타낼 수도 있다. 시나리오 데이터의 세트들 각각은 마우스 키 포인트, 마우스 텍스쳐 이미지, 및 페이셜 키 포인트 세트를 포함할 수도 있다. 마우스 키 포인트는 모델 얼굴의 마우스 영역 주위에 대체로 위치된 페이셜 랜드마크들(facial landmarks)을 나타낼 수도 있다. 페이셜 키 포인트는 모델 얼굴의 코, 눈, 및 눈썹 영역(brows of the model face)에서 적어도 얼굴 모양 주변에 위치한 페이셜 랜드마크들을 나타낼 수도 있다. 따라서, 시나리오 데이터의 세트들 각각은 모델 얼굴의 표정 및 머리 움직임을 나타낼 수도 있다.
도 4는 예시적인 실시예에 따른, 모델 얼굴(400)의 마우스 키 포인트 및 페이셜 키 포인트를 도시한다. 도 4에서, 마우스 키 포인트들의 세트는 48에서 67로 열거된 20개의 키 포인트들을 포함한다. 마우스 키 포인트들(48-67)은 대체로 모델 얼굴(400)의 마우스 영역 주위에 위치된다. 일부 실시예에서, 페이셜 키 포인트는 코, 눈, 및 눈썹 영역(brows of the model face)에서 적어도 얼굴 모양 주변에 위치한 페이셜 랜드마크들을 나타낼 수도 있다. 도 4의 예에서, 페이셜 키 포인트의 수는 78이다. 페이셜 키 포인트는 0에서 77까지로 열거된다. 페이셜 키 포인트 및 마우스 키 포인트들은 2D 공간 내의 포인트들로서 표현될 수 있다. 페이셜 키 포인트들 및 마우스 키 포인트들은 특정 페이셜 랜드마크들(예를 들어, 이마 모서리, 눈 모서리, 입 모서리, 턱 아래 등)에 대응할 수도 있다.
다시 도 3을 참조하면, 얼굴 재연 시스템(220)은 모델 얼굴의 표정 및 머리 움직임을 타겟 이미지(125)로 더 전달할 수 있다. 출력 비디오(340)는 시나리오 데이터 세트들 내의 세트들의 수와 동일한 수의 프레임들을 포함할 수도 있다. 결과적으로, 출력 비디오(340)는 타겟 이미지(125)의 애니메이션을 나타낼 수도 있다. 일부 실시예에서, 애니메이션은 타겟 이미지(125)의 2D 변형들을 수행함으로써 수행될 수 있고, 여기서 2D 변형들은 모델 얼굴의 얼굴 표정 및 머리 움직임을 본뜬다. 일부 실시예에서, 2D 변형들은 광굴절 결과들(photorealistic results)을 달성하기 위해 숨겨진 영역들 및 미세-스케일 세부사항(fine-scale details)들의 생성을 수반할 수 있다. 숨겨진 영역들은 타겟 페이스(140)의 마우스 영역을 포함할 수도 있다.
얼굴 재연 시스템(220)은 음향 특성 세트들의 시퀀스에 기초하여, 입력 텍스트를 나타내는 오디오 데이터를 합성하는 단계 및 오디오 데이터를 아웃풋 비디오(3400)에 추가하는 단계를 더 포함할 수도 있다.
도 5는 일 예시 적인 실시예에 따른, 얼굴 재연 시스템(220)의 블록도이다. 얼굴 재연 시스템(220)은 3 차원(3D)얼굴 모델(505), 희소 대응 모듈(sparse correspondence module)(510), 시나리오 데이터 생성 모듈(scenario data generation module)(515), 타겟 이미지 전처리 모듈(target image pre-processing module)(520), 이미지 분할 및 배경 예측 모듈(image segmentation and background prediction module)(525), 및 이미지 애니메이션 및 정제 모듈(image animation and refinement module)(530)을 포함할 수 있다. 모듈들(505-530)은 컴퓨팅 장치(110), 서버 등과 같은 하드웨어 장치들과 함께 사용하기 위한 소프트웨어 구성요소로서 구현될 수 있다.
본 개시물의 일부 실시예에서, 3D 얼굴 모델(505)은 상이한 연령, 젠더, 및 민족적 배경의 사전 정의된 수의 이미지에 기초하여 사전 생성될 수 있다. 각각의 개인에 대해, 이미지는 중립적인 표정을 가진 개인의 이미지와 다른 얼굴 표정을 가진 개인의 하나 이상의 이미지를 포함할 수 있다. 표정에는 입을 벌리고, 웃고, 화를 내고, 놀란 표정 등이 포함될 수 있다.
3D 얼굴 모델(505)은 미리 결정된 수의 정점들을 갖는 템플릿 메쉬(template mesh)를 포함할 수도 있다. 템플릿 메시는 헤드의 형상을 정의하는 3D 삼각 측량(triangulation)으로서 표현될 수 있다. 각 개인은 개별적인 특정 혼합 모양(blend shpae)과 연관될 수 있다. 개인별 블렌드 모양을 템플릿 메쉬로 조정될 수 있다. 개별적인 특정 혼합 모양은 템플릿 메쉬 내의 정점들의 특정 좌표들에 대응할 수도 있다. 따라서, 개인들의 상이한 이미지들은 동일한 구조의 템플릿 메쉬에 대응할 수도 있다. 그러나, 템플릿 메쉬 내의 정점들의 좌표들은 상이한 이미지들에 대해서는 상이하다.
본 개시물의 일부 실시예에서, 3D 얼굴 모델(505)은 2개의 파라미터들, 즉 페이셜 아이덴티티(facial identity) 및 얼굴 표현에 의존하는 바이리니어 페이셜 모델(bilinear face model)을 포함할 수도 있다. 바이리니어 페이셜 모델은 개인의 이미지에 대응하는 혼합 모양에 기초하여 구축될 수 있다. 따라서, 3D 얼굴 모델은 미리 결정된 구조의 템플릿 메쉬를 포함하고, 정점들의 좌표들은 얼굴 식별 및 얼굴 표정에 의존한다. 얼굴 아이덴티티는 머리의 기하학적 형상(geometrical shape)을 나타낼 수도 있다.
본 개시의 일부 실시 예에서, 시나리오 데이터 생성 모듈(515)은 입력 텍스트에 기초하여, 시나리오 데이터 및 오디오 데이터의 세트의 시퀀스를 생성하도록 구성될 수 있다. 시나리오 데이터의 각각의 세트는 모델 얼굴의 2D 페이셜 랜드마크들을 나타내는 페이셜 키 포인트 세트를 포함할 수도 있다. 시나리오 데이터 생성 모듈(515)은 3D 얼굴 모델(505)을 2D 페이셜 랜드마크에 피팅하여 모델 페이스에 대한 3D 얼굴 모델(505)의 파라미터들을 찾도록 구성될 수 있다. 시나리오 데이터 생성 모듈(515)은 3D 얼굴 모델의 템플릿 메쉬 상의 2D 페이셜 랜드마크의 위치를 결정하도록 구성될 수 있다. 페이셜 아이덴티티는 시나리오 비디오(310)의 모든 프레임들에 대해 동일한 것으로 가정될 수 있다. 모듈(515)은 시나리오 데이터의 시퀀스의 각각의 세트에 대한 3D 얼굴 파라미터들의 결과적인 변화들을 근사화하도록 추가로 구성될 수 있다. 시나리오 데이터 생성 모듈(515)은 또한, 입력 텍스트에 기초하여, 마우스 텍스쳐 이미지들의 시퀀스를 생성하도록 구성될 수 있다. 시나리오 데이터 생성 모듈(515)의 추가적인 세부사항들은 도 6을 참조하여 더 설명된다
일부 실시예에서, 희소 대응 모듈(510)은 시나리오 데이터의 세트들 및 타겟 이미지(125)의 얼굴 키 포인트들의 시퀀스에서의 각각의 세트의 얼굴 키 포인트들 간의 희소 대응을 결정하도록 구성될 수 있다. 희소 대응 모듈(510)은 시나리오 비디오를 통해 강건하게 추적될 수 있는 제어 포인트들(페이셜 랜드마크들)의 세트를 획득하도록 구성될 수 있다. 페이셜 랜드마크들 및 부가적인 제어 포인트들은 광학 흐름(optical flow)과 같은 종래의 추적 방법들을 사용하여 추적될 수 있다. 희소 대응 모듈(510)은 타겟 이미지(125)내의 시나리오 데이터 및 페이셜 키 포인트 세트의 제1 세트 내의 페이셜 키 포인트들을 대략적으로 정렬하는 어파인 변환(affine transformation)을 결정하도록 구성될 수 있다. 어파인 변환은 타겟 이미지(125)내의 추가적인 제어 포인트들의 위치를 예측하는데 더 사용될 수 있다. 희소 대응 모듈(410)은 또한 제어 포인트들의 삼각측량(triangulation)을 구축하도록 구성될 수 있다.
일부 실시예에서, 타겟 이미지 전처리 모듈(520)은 타겟 이미지(125)내의 헤드의 2D 페이셜 랜드마크들 및 가시 부분들을 검출하고, 타겟 이미지(125)및 타겟 페이스(140)에서의 헤드의 가시 부분들 및 2D 페이셜 랜드마크들에 3D 얼굴 모델을 피팅하도록 구성될 수도 있다. 타겟 페이스(140)는 중립적인 표정을 갖지 않거나, 눈을 감거나 입을 벌리고 있을 수 있으며, 타겟 이미지에 도시된 사람은 시나리오 비디오(310)에 도시된 사람과 상이한 연령일 수 있다. 모듈(530)은 타겟 페이스를 정규화 하도록 구성될 수 있다(예를 들어, 머리를 중립 상태로 돌리거나 입을 닫거나 대상 얼굴의 눈을 뜨도록). 페이셜 랜드마크 검출 및 3D 얼굴 모델 피팅은 반복 프로세스를 이용하여 수행될 수 있다. 일부 실시예에서, 반복 프로세스는 최적화될 수 있다. 모바일 장치의 중앙 프로세싱 유닛(CPU)및 그래픽 프로세싱 유닛(GPU)은 타겟 이미지(125)의 전처리에 필요한 시간을 상당히 감소시킬 수 있게 할 수도 있다.
일부 실시예에서, 타겟 이미지 전처리 모듈(520)은 뷰티 효과들을 적용하거나 및/또는 타겟 이미지(125)상에 도시된 사람의 외관을 변경하도록 추가로 구성될 수 있다(예를 들어, 그 사람의 머리 색깔이나 헤어 스타일을 변경하거나 그 사람이 나이가 많거나 어려 보이게 한다.).
일부 실시예에서, 이미지 분할 및 배경 분리 모듈(525)은 사람의 이미지로부터 사람의 머리의 분할을 수행하도록 구성될 수 있다. 머리의 분할은 헤드 및/또는 타겟 페이스(140)의 이미지를 획득하기 위해 타겟 이미지에 대해 수행될 수 있다. 애니메이션은 머리 또는 타겟 페이스(140)의 이미지 상에서 더 수행될 수 있다. 애니메이트된 머리 및/또는 타겟 페이스(140)는 배경(145)내로 다시 삽입될 수 있다. 2D 변형을 적용함으로써 머리 및/또는 타겟 페이스(140)의 이미지만을 애니메이션화하는 것은 2D 변형들에 의해 야기될 수 있는 배경(145)에서의 불필요한 변화들을 피하는 것을 도울 수도 있다. 애니메이션은 머리 자세의 변화를 포함할 수 있기 때문에, 이전에 보이지 않는 배경의 일부 부분은 결과적인 이미지 내의 갭으로 이어지는 가시적일 수 있다. 틈새를 메우기 위해, 머리에 의해 가려지는 배경의 일부가 예측될 수 있다. 일부 실시예에서, 딥 러닝 모델은 이미지로부터 사람의 머리의 분할을 수행하도록 훈련될 수 있다. 유사하게, 딥 러닝 기법들은 배경의 예측을 위해 사용될 수 있다.
일부 실시예에서, 이미지 애니메이션 및 정제 모듈(530)은 프레임에 의해 타겟 이미지 프레임을 애니메이션 하도록 구성될 수 있다. 시나리오 데이터의 세트들 내의 얼굴 키 포인트들의 각각의 세트에 대해, 제어 포인트들의 위치들 에서의 변화들이 결정될 수 있다. 제어 포인트들의 위치의 변화들은 타겟 이미지(125)상에 투영될 수 있다. 모듈(530)은 워프 필드를 형성하도록 더 구성될 수 있다. 워프 필드(warp field)는 제어점의 삼각 측량(triangulation)에서 각 삼각형의 변화에 의해 유도된 일련의 부분 선형 변환(piecewise linear transformations)을 포함할 수 있다. 모듈(530)은 또한 워프 필드를 타겟 이미지(125)에 적용하고, 그렇게 함으로써 출력 비디오(340)의 프레임을 생성하도록 구성될 수 있다. 이미지에 대한 워프 필드(warp field)의 적용은 상대적으로 빠르게 수행될 수 있으며, 이는 애니메이션이 실시간으로 수행될 수 있게 할 수 있다.
일부 실시예에서, 이미지 애니메이션 및 정제 모듈(530)은 숨겨진 영역들(예를 들어, 내부 마우스 영역)을 생성하도록 추가로 구성될 수 있다. 숨겨진 영역을 생성하기 위해 몇 가지 접근법이 사용될 수 있다. 하나의 접근법은 입력 텍스트에 기초하여 시나리오 데이터 생성 모듈(515)에 의해 생성된 마우스 텍스쳐 이미지들을 삽입하는 것을 포함할 수도 있다. 마우스 텍스쳐 이미지는 타겟 이미지 내의 사람의 입 내부에 삽입될 수 있다. 또 다른 접근법은 3D 구강 모델을 사용하여 숨겨진 영역을 생성하는 단계를 포함할 수 있다. 3D 구강 모델은 3D 얼굴 모델의 지오메트리와 매칭할 수 있다.
일부 실시예에서, 모듈(530)은 부분적으로 폐색된 영역들(입, 홍채, 또는 눈꺼풀)및 미세-스케일 상세들을 생성하도록 구성될 수 있다. 생성 적대 네트워크는 사실적인 텍스쳐 및 사실적인 눈 이미지를 합성하기 위해 사용될 수 있다. 모듈(530)은 생성적 적대 네트워크(Generative adversarial networks)를 이용하여 생성된 사실적인 눈 이미지들과 타겟 이미지의 숨겨진 영역들 내의 눈들을 대체하도록 추가로 구성될 수도 있다. 모듈(530)은 3D 얼굴 모델의 타겟 이미지 및 원본 및 현재 파라미터들에 기초하여 타겟 이미지에 대한 광굴절 텍스쳐(photorealistic textures)들 및 미세-스케일 세부사항들을 생성하도록 구성될 수 있다. 모듈(530)은 숨겨진 영역을 생성된 광굴절 텍스쳐로 대체하고 미세-스케일 상세를 전체 타겟 이미지에 적용함으로써 타겟 이미지를 더 정제할 수 있다. 미세-스케일 상세들을 적용하는 것은 타겟 이미지의 각 프레임에 쉐도우 마스크들을 적용하는 것을 포함할 수도 있다.
일부 실시 예에서, 모듈 (530)은 애니메이션을 사실적으로 보이게 하는 데 필요한 타겟 이미지에 다른 효과 (예를 들어, 색상 보정 및 광 보정)를 적용하도록 추가로 구성될 수 있다.
도 6은 일 예시적인 실시예에 따른 예시적인 시나리오 데이터 생성 모듈(515)을 도시하는 블록도이다. 시나리오 데이터 생성 모듈은 캐릭터 임베딩 모듈(610), 딥 뉴럴 네트워크(deep neural network)(620), 마우스 키 포인트 생성 모듈(630), 마우스 텍스쳐 생성 모듈(640), 페이셜 키 포인트 생성 모듈(650)및 보코더(vocoder)(660)를 포함할 수 있다.
일부 실시예에서, 캐릭터 임베딩 모듈(character embedding module)(610)은 입력 텍스트(310)에 기초하여, 언어 특성들(615)을 생성할 수도 있다. 모듈(610)은 입력 텍스트(310)를 전처리 할 수도 있다. 전처리는 입력 텍스트를 워드로 변환하는 것, 입력 텍스트를 하부 케이스로 변환하는 것, 불필요한 노이즈들을 제거하는 것, 숫자들을 단어들로 변환하는 것 등을 포함할 수도 있다. 모듈(610)은 발음 사전을 이용하여 단어들을 음소들로 더 변환할 수 있다. 모듈(610)은 음소들을 언어 특성들(615)의 시퀀스로 더 변환할 수도 있다. 언어 특성들(615)은 원-핫 벡터들(one-hot vectors)의 패딩된 시퀀스들로서 표현될 수도 있다.
일부 실시예에서, DNN(620)은 언어 수치 특성들의 시퀀스를 음향(수치)특성 세트들(625)로 변환할 수도 있다. 음향(수치)특성 세트들(625) 각각은 타임스탬프를 할당 받을 수도 있다. 음향 특성 세트들 각각은 출력 비디오(340)의 프레임들(345)의 하나에 대응될 수도 있다. 일부 실시예에서, 출력 비디오(340)는 초당 N 프레임 레이트(frame rate)(예를 들어, 초당 30 프레임들)에서 생성될 수 있다. 따라서, 음향 특성 세트들 내의 세트들의 수는 출력 비디오의 원하는 프레임 레이트(a desired frame rate)에 기초하여 결정될 수 있다. 부가적으로, 세트들의 수는 또한 입력 텍스트를 나타내는 오디오의 원하는 지속기간에 기초하여 결정될 수 있다.
음향 특성은 멜-프리퀀시 캡스트럼 또는 기본 주파수(F0), 스펙트럼 엔벨로프(SP), 및 비주기성(aperiodicity)(AP)을 포함하는 스피치 파라미터들의 세트로서 제공될 수도 있다. 화자 식별 데이터 또는 화자 속성에 따라 음향 수치 기능 생성(Generation of acoustic numerical features)을 조정할 수 있다. 스피커 속성은"남성(male)","여성(female)","아동(child)","액센트(accent)" 등을 포함할 수 있다. 본 실시예에서, DNN(520)은 화자 식별 데이터 또는 화자 속성을 나타내는 추가적인 원-핫 인코디드 벡터(one-hot encoded vector)를 입력으로서 수신하도록 구성될 수 있다. 다른 실시예에서, DNN(520)은 오디오 샘플을 수신할 수도 있다. DNN(520)은 오디오 샘플의 스타일을 음향 특성에 전달하기 위해 임베딩층(embedding layer)을 미세 조정하는 것을 포함할 수도 있다. 일부 실시예에서, DNN(520)은 노래를 합성하도록 구성될 수 있다. 노래 합성을 위해, DNN(520)은 제어 입력으로 연속 피치 파라미터 및 언어 특성에 따라 조정될 수 있다.
일부 실시예에서, 보코더(660)는 오디오 데이터(예를 들어, 출력으로서 스피치 파형)를 생성하기 위해 스피치 파라미터들(기본 주파수(F0), 스펙트럼 엔벨로프(SP), 및 비주기적(AP))의 세트를 디코딩하는 결정론적 알고리즘을 적용할 수도 있다. 다른 실시예에서, 보코더(660)는 뉴럴 네트워크에 기초하여 신경 보코더를 포함할 수도 있다. 신경 보코더는 멜-프리퀀시 셉스트럼을 디코딩하고 음성 파형을 생성할 수도 있다.
일부 실시예에서, 마우스 키 포인트 생성 모듈(630)은 한 세트의 음향 특성의 시퀀스에 기초하여, 마우스 키 포인트(635) 세트들의 시퀀스를 생성할 수도 있다. 마우스 키 포인트 세트들 각각은 출력 비디오(340)의 프레임들(345)중 하나에 대응할 수 있고(도 3에 도시됨)대응하는 프레임의 타임스탬프를 할당 받을 수 있다. 마우스 키 포인트들(635) 세트들은 음향 특성 세트들(625)에 기초하여 뉴럴 네트워크에 의해 순차적으로 생성될 수 있다. 마우스 키 포인트들은 각 프레임에 대한 x-좌표들 및 y-좌표들의 리스트에 의해 표현될 수 있다.
각 단계에서, 뉴럴 네트워크는 동일한 뉴럴 네트워크(neural network)에 의해 이전 프레임들에 대해 생성된 마우스 키 포인트들의 미리 결정된 수의 세트들을 입력으로서 사용할 수 있다. 시간적 일관성을 획득하기 위해, 뉴럴 네트워크는 또한 고정-길이 시간대(fixed-length time window)에 대응하는 음향 특성의 세트들을 입력으로서 사용할 수 있다. 시간대는 현재 타임 스탬프 이전의 미리 결정된 시간과 현재 타임 스탬프 이후의 미리 결정된 시간을 포함할 수 있다. 음향 특성은 멜 프리퀀시 셉스트럼 계수(Mel Frequency Cepstral Coefficients)의 형태로 제공될 수 있다. 뉴럴 네트워크는 잠재 특성(latent features)을 추출하기 위해 음향 특성(acoustic feature)과 키 포인트(key point)에 컨볼루션을 적용할 수 있고, 이어서 잠재 특성(latent features)을 연결한다. 뉴럴 네트워크는 현재 타임스탬프에서 키 포인트들에 대한 최종 예측을 획득하기 위해 연접 잠재 특성들에 하나 이상의 완전히 연결된 계층들을 더 적용할 수도 있다. 뉴럴 네트워크(neural network)는 제어된 환경에서 기록된 비디오들의 세트 상에서 훈련될 수 있고, 상이한 미리 정의된 문장들을 말하는 하나 이상의 배우들을 특징으로 한다.
뉴럴 네트워크를 훈련하는 동안, 훈련 세트의 마우스 키 포인트는 어파인 변환을 사용하여 독립적으로 각 프레임 상에서 정규화 될 수 있다. 정규화는 데카르트 좌표계(Cartesian coordinate system)에서 마우스 키 포인트들의 좌표들을 결정하는 것을 포함할 수 있다. 어파인 변환은 입가에 대응하는 포인트(도 4의 키 포인트 번호 48 및 54)가 각각 포인트(1/2,1/2 )및 (3/4,1/2)로 이동되도록 마우스 키 포인트에 적용된다. 어파인 변환은 회전, 변환 및 스케일링의 조합을 포함할 수도 있다.
일부 실시예에서, 뉴럴 네트워크를 훈련하는 동안, PCA(principal component analysis)가 훈련 세트의 마우스 키 포인트들에 더 수행될 수 있다. 이들 실시예에서, 뉴럴 네트워크는 마우스 키 포인트의 원시 좌표 대신에 PCA 계수를 예측하도록 훈련될 수 있다. PCA 계수들을 예측하기 위해 뉴럴 네트워크를 구성하는 것은 입력 특징들, 장식된 출력 값들을 장식할 수 있고, 뉴럴 네트워크의 입력 및 출력의 크기를 감소시킬 수 있다. PCA 계수들의 형태의 뉴럴 네트워크의 출력은 원시 좌표들의 형태의 출력보다 해석 가능할 수 있다.
일부 실시예에서, 마우스 텍스쳐 생성 모듈(640)은 마우스 텍스쳐 이미지들(645)의 시퀀스를 생성하도록 구성될 수 있다 텍스쳐 이미지들(645)은 출력 비디오(340)의 하나의 프레임(345)에 대응할 수 있다. 마우스 텍스쳐 이미지들의 시퀀스는 마우스 키 포인트들(635)의 세트들 및 선택적으로, 음향 특성 세트들(625)의 시퀀스에 기초하여 컨볼루션 뉴럴 네트워크(CNN)에 의해 생성될 수 있다. CNN 은 미리 결정된 수의 이전에 생성된 마우스 텍스쳐 이미지들에 기초하여 각각의 마우스 텍스쳐 이미지들을 순차적으로 생성할 수도 있다. CNN은 또한, 현재 타임스탬프 주위의 시간대로부터의 마우스 키 포인트들의 시퀀스에 기초하여 생성된 미리 결정된 수의 마스크들을 입력으로 사용할 수도 있다. 현재 타임스탬프는 마우스 텍스쳐 이미지가 생성되는 프레임에 대응한다.
도 7은 예시적인 실시예에 따른, 마우스 키 포인트들의 세트에 대해 생성된 예시적인 마스크(700)를 도시한다. 마스크는 내부 마우스 키 포인트들을 연결하는 라인들 및 외부 마우스 키 포인트들을 연결하는 라인들을 포함할 수 있다.
도 8은 예시적인 마우스 텍스쳐 이미지(800)를 도시한다.
도 6을 다시 참조하면, 마우스 텍스쳐 생성 모듈(640)에 사용되는 CNN은 상이한 미리 정의된 문장들을 말하는 단일 배우로 제어된 환경에 기록된 실제 비디오들에 기초하여 생성된 훈련 세트 상에서 훈련될 수 있다. 단일 배우는 모든 비디오에서 동일할 수 있다.
시간-일관성(time-consistency)을 달성하기 위해, 훈련 뉴럴 네트워크는 다음의 반복들을 포함할 수 있다:
1)i번째 이미지 예측을 위한 이전 지상-검증영상들(ground-truth images)에 기초하여 입력을 구성하는 단계. 상기 지상-검증영상들은 실제 동영상들로부터 추출될 수 있다.
2)i번째 이미지를 예측하는 단계 및 그레디언트 백워드 패스(gradient backward pass)를 수행하는 단계.
3) 지상-검증 i 번째 이미지 대신 예측된 i 번째 이미지를 사용하여 (i + 1) 번째 이미지 예측을 위한 입력을 구성하는 단계.
4) i + l 번째 영상을 예측하고, 그래디언트 백워드 패스(gradient backward pass)를 수행하는 단계.
5)상기 예측된 i 번째 이미지 및 상기 예측된(i + l)번째 이미지를 이용하여 i + 2 번째 이미지 예측을 위한 입력을 구성하는 단계; 및 상기 i + l 번째 이미지 및 i + l 번째 이미지 대신에 상기 예측된 i + l 번째 이미지 및 상기 예측된 i + l 번째 이미지를 이용하여 i + 2 번째 이미지 예측을 위한 입력을 구성하는 단계.
6)(i + 2)번째 영상을 예측하고, 그래디언트 백워드 패스(gradient backward pass)를 수행하는 단계.
고정된 수의 반복은 마우스 텍스쳐 이미지의 시퀀스 내의 연속적인 이미지 사이의 일관성을 얻기 위해 수행될 수 있다.
마우스 텍스쳐 이미지의 포토-리얼리즘(photo-realism)을 달성하기 위해, 생성적 적대 네트워크(GAN)와 같은 "판별기(discriminator)" 뉴럴 네트워크를 CNN("생성기")과 함께 사용하여 마우스 텍스쳐 이미지를 생성할 수 있다. 판별기는 실제 영상들(실제 영상들에서 얻어진 지상-검증영상들)및 위조 이미지들(생성기에 의해 생성된 이미지들)사이의 이미지들을 분류하기 위해 사용된다. 훈련의 각 반복에서, 생성기는 판별기에 따라 "실제(real)"인 생성된 이미지의 확률을 최대화하기 위해 판별기를 "풀(fool)" 할 수 있다.
부가적으로, GAN에 대한 멀티스케일 U-넷-유사 아키텍처(multiscale U-net-like architecture for GAN), 특성 매칭 손실(matching loss)(판별기), 및 지각 손실은 생성된 마우스 텍스쳐 이미지들의 포토-리얼리즘 및 해상도를 개선하는데 사용될 수 있다. 기본 GAN 손실 함수는 보다 진보된 GAN 손실 함수(예를 들어, 최소 제곱 GAN(LSGAN)로부터의 손실 함수)로 대체될 수 있다. LSGAN 손실 함수는 하기 공식식들에 의해 기술될 수 있다:
Figure pct00001
Figure pct00002
여기서, Gloss는 발전기 손실이고, Dloss는 판별기 손실(discriminator loss)이고, x는 생성된 이미지이고, c는 생성된 이미지가 조절된 이미지의 페이셜 랜드마크들이다.
CNN을 훈련하는 동안, 마우스 키 포인트 생성 모듈(630)에 연결되어 마우스 키 포인트, 대응하는 마우스 이미지, 및 키 포인트 마스크 이미지는 전술한 바와 같이 정규화 될 수 있다
일부 실시예에서, 페이셜 키 포인트들 생성 모듈(650)은 마우스 키 포인트들(635) 세트들의 시퀀스에 기초하여, 페이셜 키 포인트들의 세트들(655)의 시퀀스를 생성할 수도 있고, 페이셜 키 포인트들의 예시적인 세트 및 마우스 키 포인트들의 예시적인 세트는 도 4와 관련하여 위에서 설명되었고, 페이셜 키 포인트들(655) 세트의 시퀀스는 뉴럴 네트워크에 의해 생성될 수 있다. 뉴럴 네트워크는 동일한 뉴럴 네트워크에 의해 이전에 생성된 페이셜 키 포인트들 세트의 고정된 수에 기초하여 각각의 프레임에 대한 얼굴 키 포인트들 세트들 각각을 순차적으로 생성할 수 있다. 페이셜 키 포인트들 세트들 각각의 생성을 위해, 뉴럴 네트워크는 또한 입력으로서 현재 타임스탬프 전에 고정-길이 시간대의 프레임들에 대해 생성된 미리 결정된 수의 마우스 키 포인트들 세트를 수신할 수도 있다.
페이셜 키 포인트들 세트들을 생성하기 위한 뉴럴 네트워크는 제어된 환경에 기록된 실제 비디오들의 세트 상에서 훈련될 수 있고, 상이한 미리 정의된 문장들을 말하는 단일 배우를 특징으로 한다. 단일 배우는 모든 비디오에서 동일할 수 있다.
훈련 동안, 마우스 키 포인트들은 마우스 키 포인트들 생성 모듈(630)의 접속과 함께 상술된 바와 같이 정규화 될 수 있다. 페이셜 키 포인트들은 비디오의 제1 프레임에만 결정된 어파인 변환으로 정규화 될 수 있다. 그 후, 어파인 변환은 비디오의 각 다음 프레임에 적용될 수 있다. 정규화는 데카르트 좌표계(Cartesian coordinate system)에서 미리 결정된 수의 페이셜 키 포인트들의 좌표들을 결정하는 것을 포함한다. 어파인 변환은 좌측 눈 중심이 지점(1/2,1/2)으로 이동, 우측 눈 중심은 지점(3/4,1/2)으로 이동, 입 중심은 지점(1/2,3/4)으로 이동되는 것에 기초하여 결정될 수 있다.
도 9는 예시적인 실시예에 따른, 컴퓨팅 장치(110)에 대한 예시적인 모바일 어플리케이션의 스크린샷(910,920 및 930)을 도시한다. 모바일 어플리케이션은 얼굴 재연 시스템(220)을 포함할 수도 있다.
스크린샷(910)에 도시된 바와 같이, 모바일 어플리케이션은 타겟 이미지(125)를 애니메이션 되어야 할 타겟 페이스(140)및 입력 텍스트(160)를 표시할 수 있다. 모바일 어플리케이션은 입력 텍스트(160)에 대한 오디오 데이터(사운드 파형)및 타겟 이미지(125)에서 타겟 페이스(140)를 애니메이션화 하는 비디오 애니메이션을 얼굴 재연 시스템(220)을 이용하여 생성할 수도 있다.
스크린샷(920)에 도시된 바와 같이, 모바일 어플리케이션은 키보드 입력을 사용하여 입력 텍스트(160)를 수정하기 위한 사용자 인터페이스를 포함할 수 있다. 다른 실시예에서, 모바일 어플리케이션은 텍스트 스타일, 폰트, 크기, 위치, 및 색깔을 변경하는 것을 허용할 수 있고, 텍스트 외관 시간 및 애니메이션, 시각적 효과, 및 오디오 필터의 선택을 허용할 수 있다. 오디오 필터는 미리 설정된 스타일에 기초할 수 있다. 모바일 어플리케이션은 수정된 입력 텍스트에 기초하여 시나리오 데이터 세트들의 시퀀스를 생성할 수도 있고 사용자가"Done" 버튼을 탭할 때 애니메이트된 타겟 이미지(125)를 실행하는 것을 시작할 수도 있다.
스크린샷(930)에 도시된 바와 같이, 원래의 입력 텍스트(160)는 사용자에 의해 수정된 텍스트로 대체된다. 보코더는 입력 텍스트(160)와 매칭하기 위해 오디오 데이터를 생성할 수도 있다. 얼굴 재연 시스템(220)은 오디오 데이터와 매칭하기 위해 타겟 페이스(140)의 애니메이션을 생성할 수도 있다. 다른 실시예에서, 모바일 장치는 오디오 또는 비디오 레코딩을 통해 입력 텍스트 및/또는 오디오를 입력할 수 있게 할 수도 있다.
도 10은 일부 예시적인 실시예들에 따른, 텍스트 및 오디오 기반 실시간 얼굴 재연에 대한 방법(1000)을 도시하는 흐름도이다. 방법(1000)은 컴퓨팅 장치(110)및 얼굴 재연 시스템(220)에 의해 수행될 수 있다.
방법(1000)은, 블록(1005)에서 컴퓨팅 장치에 의해 입력 텍스트 및 타겟 이미지를 수신하는 것을 시작할 수도 있다. 타겟 이미지는 타겟 페이스를 포함할 수도 있다.
블록(1010)에서, 방법(1000)은 컴퓨팅 장치에 의해 입력 텍스트에 기초하여 입력 텍스트를 나타내는 음향 특성 세트들의 시퀀스를 생성하는 단계를 포함할 수도 있다.
블록(1015)에서, 방법(1000)은 음향 특성 세트들의 시퀀스에 기초하여 컴퓨팅 장치에서 시나리오 데이터 세트의 시퀀스를 생성하는 단계를 포함할 수도 있다. 시나리오 데이터 세트들은 입력 텍스트를 발음하기 위한 타겟 페이스의 수정들을 표시할 수도 있다.
블록(1020)에서, 방법(1000)은 시나리오 데이터의 세트의 시퀀스에 기초하여 컴퓨팅 장치에서 프레임들의 시퀀스를 생성하는 단계를 포함할 수도 있다. 프레임들 각각은 시나리오 데이터의 세트들 중 적어도 하나의 세트의 시나리오 데이터에 기초하여 수정된 타겟 페이스를 포함할 수도 있다.
블록(1025)에서, 방법(1000)은 프레임들의 시퀀스에 기초하여 컴퓨팅 장치에서 출력 비디오를 생성하는 단계를 포함할 수도 있다.
블록(1030)에서, 방법(1000)은 음향 특성의 세트의 시퀀스에 기초하여 컴퓨팅 장치에서 입력 텍스트를 나타내는 오디오 데이터를 합성하는 단계를 포함할 수도 있다.
블록(1035)에서, 방법(100)은 컴퓨팅 장치에서 오디오 데이터를 출력 비디오에 추가하는 단계를 포함할 수도 있다.
도 11은 본 명세서에서 설명된 방법들을 구현하는데 사용될 수 있는 예시적인 컴퓨팅 시스템(1100)을 도시한다. 컴퓨팅 시스템(1100)은 컴퓨팅 장치(110), 얼굴 재연 시스템(220), 3D 얼굴 모델(505), 희소 대응 모듈(510), 시나리오 데이터 생성 모듈(515), 타겟 이미지 전처리 모듈(520), 및 이미지 애니메이션 및 정제 모듈(530)과 같은 맥락에서 구현될 수도 있다.
도 11에 나타난 것처럼, 컴퓨팅 시스템(1100)의 하드웨어 구성 요소는 하나 이상의 프로세서(1110) 및 메모리(1120)를 포함할 수 있다. 메모리(1120)는 부분적으로, 프로세서(1110)에 의한 실행을 위한 명령 및 데이터를 저장한다. 메모리(1120)는 시스템(1100)이 동작할 때 실행 가능한 코드를 저장할 수 있다. 시스템(1100)은 드라이브(들)(1140), 하나 이상의 선택적인 출력 장치들(1150), 하나 이상의 선택적인 입력 장치들(1160), 선택적인 네트워크 인터페이스(1170), 및 하나 이상의 주변 장치(1180)를 추가로 포함할 수 있다. 컴퓨팅 시스템 (1100)은 또한 하나 이상의 소프트웨어 구성 요소 (1195)를 포함할 수 있다(예를 들어, 여기에 설명된 인물 애니메이션을 위한 방법을 구현할 수 있는 구성 요소).
도 11에 도시된 구성 요소들은 단일 버스(1190)를 통해 접속되는 것으로 도시된다. 구성 요소들은 하나 이상의 데이터 전송 수단 또는 데이터 네트워크를 통해 접속될 수 있다. 프로세서(1110)및 메모리(1120)는 로컬 마이크로프로세서 버스를 통해 접속될 수 있고, 매스 스토리지(1130), 주변 장치(들)(1180), 휴대용 저장 장치(1140), 및 네트워크 인터페이스(1170)는 하나 이상의 입/출력(I/O)버스를 통해 접속될 수 있다.
자기 디스크 드라이브(magnetic disk drive), 솔리드 스테이트(solid-state)디스크 드라이브, 또는 광 디스크 드라이브와 함께 구현될 수 있는 매스 스토리지(1130)는 프로세서(1110)에 의해 사용하기 위한 데이터 및 명령들을 저장하기 위한 비휘발성 저장 장치다. 매스 스토리지(1130)는 본 명세서에서 설명된 실시예들을 구현하기 위한 시스템 소프트웨어(예를 들어, 소프트웨어 컴포넌트들(1195))를 저장할 수 있다.
휴대용 저장 매체 드라이브(들)(1140)는 컴팩트 디스크(CD)또는 디지털 비디오 디스크(DVD)와 같은 휴대용 비휘발성 저장 매체와 함께 동작하여, 컴퓨팅 시스템(1110)으로/로부터 데이터 및 코드를 입력 및 출력할 수 있다. 본 명세서에 기술된 실시예들을 구현하기 위한 시스템 소프트웨어(예를 들어, 소프트웨어 컴포넌트들(1195))는 이러한 휴대용 매체 상에 저장되고 휴대용 저장 매체 드라이브(들)(1140)를 통해 컴퓨팅 시스템(600)에 입력될 수 있다.
선택적인 입력 장치(1160)는 사용자 인터페이스의 일부를 제공한다. 입력 장치(1160)는 영숫자 및 다른 정보를 입력하기 위한 키보드, 또는 마우스, 트랙볼, 스타일러스, 또는 커서 방향 키와 같은 포인팅 장치를 포함할 수 있다. 입력 장치(1160)는 또한 카메라 또는 스캐너를 포함할 수 있다. 부가적으로, 도 11에 도시된 바와 같은 시스템(1100)은 선택적인 출력 장치들(1150)을 포함한다. 적합한 출력 장치는 스피커, 프린터, 네트워크 인터페이스, 및 모니터를 포함한다
네트워크 인터페이스(1170)는 예를 들어, 인터넷, 인트라넷, LAN, WAN, 셀룰러 폰 네트워크들, 블루투스 라디오, 및 IEEE 802.11 기반 무선 주파수 네트워크를 포함하는 하나 이상의 유선, 무선, 또는 광학 네트워크들과 같은 하나 이상의 통신 네트워크들을 통해 외부 장치들, 외부 컴퓨팅 장치들, 서버들, 및 네트워킹된 시스템들과 통신하기 위해 이용될 수 있다. 네트워크 인터페이스(1170)는 이더넷 카드, 광 트랜스시버(optical transceiver), 무선 주파수 트랜스시버(radio frequency transceiver), 또는 정보를 송신 및 수신할 수 있는 임의의 다른 타입의 장치와 같은 네트워크 인터페이스 카드일 수 있다. 선택적인 주변장치(1180)는 컴퓨터 시스템에 추가적인 기능을 추가하기 위한 임의의 유형의 컴퓨터 지원 장치를 포함할 수 있다.
컴퓨팅 시스템(1100)에 포함된 컴포넌트들은 광범위한 컴퓨터 컴포넌트들을 나타내도록 의도된다. 따라서, 컴퓨팅 시스템(1100)은 서버, 개인용 컴퓨터, 핸드헬드 컴퓨팅 장치, 전화, 모바일 컴퓨팅 장치, 워크스테이션, 미니컴퓨터, 메인프레임 컴퓨터, 네트워크 노드, 또는 임의의 다른 컴퓨팅 장치일 수 있다. 컴퓨팅 시스템(1100)은 또한 상이한 버스 구성들, 네트워킹된 플랫폼들, 멀티-프로세서 플랫폼들 등을 포함할 수 있다. 유닉스(UNIX), 리눅스(Linux), 윈도우(Windows), 맥킨토시OS(Macintosh OS), 팜OS(Palm OS), 및 다른 적절한 운영 체제를 포함하는 다양한 운영 체제(OS)가 사용될 수 있다.
상술된 기능들 중 일부는 저장 매체(예를 들어, 컴퓨터 판독가능 매체 또는 프로세서 판독가능 매체)상에 저장되는 명령어들로 구성될 수도 있다. 명령어들은 프로세서에 의해 검색 및 실행될 수 있다. 저장 매체의 일부 예는 메모리 장치, 테이프, 디스크등일 수 있다. 명령어들은 프로세서에 의해 실행될 때 프로세서가 본 발명에 따라 동작하도록 지시한다. 당업자에게 명령어, 프로세서 (들) 및 저장 매체들이 잘 알려져 있다.
여기서 설명된 처리를 수행하기에 적합한 임의의 하드웨어 플랫폼이 본 발명에 사용하기에 적합하다는 것은 주목할 점이다. 여기서 사용된 용어 "컴퓨터-판독 가능 스토리지 매체(computer-readable storage medium)" 및 "컴퓨터-판독 가능 저장 매체(computer-readable storage media)"는 실행을 위해 프로세서에 명령을 제공하는 데 참여하는 임의의 매체(medium) 또는 매체(media)를 지칭한다. 이러한 매체는 비-휘발성 매체, 휘발성 매체, 및 전송 매체를 포함하지만 이에 제한되지 않는 다양한 형태를 취할 수 있다. 비 휘발성 매체는, 예를 들어, 고정 디스크와 같은 광학 또는 자기 디스크를 포함한다. 휘발성 매체는 시스템 RAM(Random Access Memory)과 같은 동적 메모리를 포함한다. 전송 매체는 동축 케이블, 구리 와이어, 및 광섬유를 포함하며, 무엇보다도, 버스의 일 실시예를 포함하는 와이어를 포함한다. 전송 매체는 또한 무선 주파수(RF) 및 적외선(IR) 데이터 통신 도중에 생성되는 것과 같은, 음향 또는 광파의 형태를 취할 수 있다. 컴퓨터-판독 가능 매체의 일반적인 형태는, 예를 들어, 플로피 디스크, 플렉서블 디스크, 하드 디스크, 자기 테이프, 기타 자기 매체, CD-읽기-전용 메모리(ROM) 디스크, DVD, 기타 광학 매체, 마크 또는 구멍 패턴이 있는 기타 물리적 매체, RAM, PROM, EPROM, EEPROM, 기타 메모리 칩 또는 카트리지, 반송파, 또는 컴퓨터가 읽을 수 있는 기타 매체를 포함한다.
다양한 형태의 컴퓨터-판독 가능 매체는 실행을 위해 하나 이상의 명령의 하나 이상의 시퀀스를 프로세서에 전달하는 데 관련(involve)될 수 있다. 버스는 프로세서가 명령을 검색하고 실행하는 시스템 RAM으로 데이터를 전달한다. 시스템 프로세서에 의해 수신된 명령은 프로세서에 의해 실행되기 전후에 고정 디스크에 선택적으로 저장될 수 있다.
텍스트 및 오디오 기반 실시간 얼굴 재연에 대한 방법들 및 시스템들이 설명되었다. 실시예가 특정 예시적인 실시예를 참조하여 설명되었지만, 본 출원의 더 넓은 사상 및 범위를 벗어나지 않고 이러한 예시적인 실시예에 대해 다양한 수정 및 변경이 이루어질 수 있음은 자명할 것이다. 따라서, 명세서 및 도면은 제한적인 의미가 아닌 예시적인 의미로 간주되어야 한다.

Claims (20)

  1. 텍스트 및 오디오 기반 실시간 얼굴 재연을 위한 방법에 있어서,
    컴퓨팅 장치에서, 입력 텍스트 및 타겟 이미지를 수신하는 단계 - 상기 타겟 이미지는 타겟 페이스를 포함함 -;
    상기 입력 텍스트에 기초하여, 상기 컴퓨팅 장치에서, 상기 입력 텍스트를 나타내는 음향 특성 세트들의 시퀀스를 생성하는 단계;
    상기 음향 특성 세트들의 시퀀스에 기초하여, 상기 컴퓨팅 장치에서, 시나리오 데이터 세트들의 시퀀스를 생성하는 단계 - 상기 시나리오 데이터 세트들은, 상기 입력 텍스트를 발음하기 위한 상기 타겟 페이스의 수정을 나타냄 -;
    상기 시나리오 데이터 세트들의 시퀀스에 기초하여, 상기 컴퓨팅 장치에서, 프레임들의 시퀀스를 생성하는 단계 - 상기 프레임들의 각각은, 상기 시나리오 데이터 세트들의 시퀀스 중 적어도 하나의 시나리오 데이터 세트에 기초하여 수정된 타겟 페이스를 포함함 -; 및
    상기 프레임들의 시퀀스에 기초하여, 상기 컴퓨팅 장치에서, 출력 비디오를 생성하는 단계
    를 포함하는, 방법.
  2. 제1항에 있어서,
    상기 음향 특성 세트들의 시퀀스에 기초하여, 상기 컴퓨팅 장치에서, 상기 입력 텍스트를 나타내는 오디오 데이터를 합성하는 단계; 및
    상기 컴퓨팅 장치에서, 상기 오디오 데이터를 상기 출력 비디오에 추가하는 단계
    를 더 포함하는, 방법.
  3. 제1항에 있어서,
    상기 음향 특성은, 멜-프리퀀시 켑스트랄 계수(Mel-frequency cepstral coefficients)를 포함하는,
    방법.
  4. 제1항에 있어서,
    상기 음향 특성 세트들의 시퀀스는 뉴럴 네트워크에 의해 생성되는, 방법
  5. 제1항에 있어서,
    상기 시나리오 데이터 세트들의 시퀀스를 생성하는 단계는,
    상기 음향 특성 세트들의 시퀀스에 기초하여, 마우스 키 포인트 세트들의 시퀀스를 생성하는 단계; 및
    상기 마우스 키 포인트 세트들의 시퀀스에 기초하여, 페이셜 키 포인트 세트들의 시퀀스를 생성하는 단계
    를 포함하고,
    상기 프레임들의 시퀀스를 생성하는 단계는,
    상기 페이셜 키 포인트 세트들의 시퀀스에 기초하여, 2차원(2D) 변형 세트들의 시퀀스를 결정하는 단계; 및
    상기 프레임들의 시퀀스를 획득하기 위해, 상기 2D 변형 세트들의 상기 시퀀스의 2D 변형 세트들의 각각을 상기 타겟 입력에 적용하는 단계
    를 포함하는, 방법.
  6. 제5항에 있어서,
    상기 마우스 키 포인트 세트들의 시퀀스는 뉴럴 네트워크에 의해 생성되고; 및
    상기 마우스 키 포인트 세트들의 시퀀스 중 적어도 하나의 세트는,
    상기 마우스 키 포인트 세트들의 시퀀스 내 상기 적어도 하나의 세트에 선행하는 미리 결정된 수의 세트에 기초하여 생성되는,
    방법.
  7. 제6항에 있어서,
    상기 마우스 키 포인트 세트들의 시퀀스 중 상기 적어도 하나의 세트는,
    상기 음향 특성 세트들의 시퀀스 중 적어도 하나의 세트(S)에 대응하고,
    상기 마우스 키 포인트 세트들의 시퀀스 중 상기 적어도 하나의 세트는,
    상기 음향 특성 세트들의 시퀀스에서 상기 S에 선행하는 제1 미리 결정된 수의 음향 특성 세트들, 및
    상기 음향 특성 세트들의 시퀀스에서 상기 S에 후행하는 제2 미리 결정된 수의 음향 특성 세트들
    에 기초하여 생성되는,
    방법.
  8. 제5항에 있어서,
    상기 페이셜 키 포인트 세트들의 시퀀스는 뉴럴 네트워크에 의해 생성되고, 및
    상기 페이셜 키 포인트 세트들의 시퀀스 중 적어도 하나의 세트는,
    상기 페이셜 키 포인트 세트들의 시퀀스 중 상기 적어도 하나의 세트에 선행하는 미리 결정된 수의 세트에 기초하여 생성되는,
    방법.
  9. 제5항에 있어서,
    상기 마우스 키 포인트 세트들의 시퀀스에 기초하여, 상기 컴퓨팅 장치에서, 마우스 텍스쳐 이미지들의 시퀀스를 생성하는 단계; 및
    상기 컴퓨팅 장치에서, 상기 프레임들의 상기 시퀀스의 대응하는 프레임에 상기 마우스 텍스쳐 이미지들의 시퀀스의 각각을 삽입하는 단계
    를 더 포함하는, 방법.
  10. 제9항에 있어서,
    상기 마우스 텍스쳐 이미지들의 시퀀스의 각각의 마우스 텍스쳐 이미지는,
    마우스 영역 이미지의 시퀀스에서 상기 마우스 영역 이미지에 선행하는 제1 미리 결정된 수의 마우스 텍츠쳐 이미지에 기초하여, 뉴럴 네트워크에 의해 생성되는,
    방법.
  11. 텍스트 및 오디오 기반 실시간 얼굴 재연(text and audio-based real-time face reenactment)을 위한 시스템에 있어서,
    상기 시스템은,
    적어도 하나의 프로세서, 및
    프로세서 실행가능 코드를 저장하는 메모리
    를 포함하고,
    상기 적어도 하나의 프로세서는,
    상기 프로세서 실행가능 코드의 실행 시 동작들을 구현하도록 구성되고,
    상기 동작들은,
    입력 텍스트 및 타겟 이미지를 수신하는 동작 - 상기 타겟 이미지는 타겟 페이스를 포함함 -;
    상기 입력 텍스트에 기초하여, 상기 입력 텍스트를 나타내는 음향 특성 세트들의 시퀀스를 생성하는 동작;
    상기 음향 특성 세트들의 시퀀스에 기초하여, 시나리오 데이터 세트들의 시퀀스를 생성하는 동작 - 상기 시나리오 데이터 세트들은, 상기 입력 텍스트를 발음하기 위한 상기 타겟 페이스의 수정을 나타냄 - ;
    상기 시나리오 데이터 세트들의 시퀀스에 기초하여, 프레임들의 시퀀스를 생성하는 동작 - 상기 프레임들의 각각은 상기 시나리오 데이터 세트들의 시퀀스 중 적어도 하나의 시나리오 데이터 세트에 기초하여 수정된 타겟 페이스를 포함함 -; 및
    상기 프레임들의 시퀀스에 기초하여, 출력 비디오를 생성하는 동작
    을 포함하는, 시스템.
  12. 제11항에 있어서,
    상기 음향 특성 세트들의 시퀀스에 기초하여, 상기 입력 텍스트를 나타내는 오디오 데이터를 합성하는 동작; 및
    상기 오디오 데이터를 상기 출력 비디오에 추가하는 동작
    을 더 포함하는, 시스템.
  13. 제11항에 있어서,
    상기 음향 특성은, 멜-프리퀀시 켑스트랄 계수(Mel-frequency cepstral coefficients)를 포함하는,
    시스템.
  14. 제11항에 있어서,
    상기 음향 특성 세트들의 시퀀스는 뉴럴 네트워크에 의해 생성되는, 시스템.
  15. 제11항에 있어서,
    상기 시나리오 데이터 세트들의 시퀀스를 생성하는 동작은,
    상기 음향 특성의 세트의 시퀀스에 기초하여, 마우스 키 포인트 세트들의 시퀀스를 생성하는 동작;
    상기 마우스 키 포인트 세트들의 시퀀스에 기초하여, 페이셜 키 포인트 세트들을 생성하는 동작
    을 포함하고,
    상기 프레임들의 시퀀스를 생성하는 동작은,
    상기 페이셜 키 포인트 세트들의 시퀀스에 기초하여, 2차원(2D) 변형의 세트들의 시퀀스를 결정하는 동작; 및
    상기 프레임들의 시퀀스를 획득하기 위해, 상기 2D 변형 세트들의 상기 시퀀스의 2D 변형 세트들의 각각을 상기 타겟 입력에 적용하는 동작
    를 포함하는, 시스템.
  16. 제15항에 있어서,
    상기 마우스 키 포인트 세트들의 시퀀스는 뉴럴 네트워크에 의해 생성되고; 및
    상기 마우스 키 포인트 세트들의 시퀀스 중 적어도 하나의 세트는,
    상기 마우스 키 포인트 세트들의 시퀀스 내 상기 적어도 하나의 세트에 선행하는 미리 결정된 수의 세트에 기초하여 생성되는,
    시스템.
  17. 제16항에 있어서
    상기 마우스 키 포인트 세트들의 시퀀스 중 상기 적어도 하나의 세트는,
    상기 음향 특성 세트들의 시퀀스 중 적어도 하나의 세트(S)에 대응하고,
    상기 마우스 키 포인트 세트들의 시퀀스 중 상기 적어도 하나의 세트는,
    상기 음향 특성 세트들의 시퀀스에서 상기 S에 선행하는 제1 미리 결정된 수의 음향 특성 세트들, 및
    상기 음향 특성 세트들의 시퀀스에서 상기 S에 후행하는 제2 미리 결정된 수의 음향 특성 세트들
    에 기초하여 생성되는,
    시스템.
  18. 제15항에 있어서,
    상기 페이셜 키 포인트 세트들의 시퀀스는 뉴럴 네트워크에 의해 생성되고, 및
    상기 페이셜 키 포인트 세트들의 시퀀스 중 적어도 하나의 세트는,
    상기 페이셜 키 포인트 세트들의 시퀀스 중 상기 적어도 하나의 세트에 선행하는 미리 결정된 수의 세트에 기초하여 생성되는,
    시스템.
  19. 제15항에 있어서,
    상기 마우스 키 포인트 세트들의 시퀀스에 기초하여, 상기 컴퓨팅 장치에서 마우스 텍스쳐 이미지들을 생성하는 동작; 및
    상기 컴퓨팅 장치에서, 상기 프레임들의 상기 시퀀스의 대응하는 프레임에 상기 마우스 텍스쳐 이미지들의 시퀀스의 각각을 삽입하는 동작
    을 더 포함하는, 시스템.
  20. 명령어들이 저장된 비 일시적 프로세서 판독 가능 매체에 있어서,
    상기 명령어들은, 하나 이상의 프로세서에 의해 실행될 때, 하나 이상의 프로세서가 텍스트 및 오디오 기반 실시간 얼굴 재연을 위한 방법을 구현하도록 하고,
    상기 방법은,
    입력 텍스트 및 타겟 이미지를 수신하는 단계 - 상기 타겟 이미지는 타겟 페이스를 포함함 -;
    상기 입력 텍스트에 기초하여, 상기 입력 텍스트를 나타내는 음향 특성 세트들의 시퀀스를 생성하는 단계;
    상기 음향 특성 세트들의 시퀀스에 기초하여, 시나리오 데이터 세트들의 시퀀스를 생성하는 단계 - 상기 시나리오 데이터 세트들은 상기 입력 텍스트를 발음하기 위한 상기 타겟 페이스의 수정을 나타냄 - ;
    상기 시나리오 데이터 세트들의 시퀀스에 기초하여, 프레임들의 시퀀스를 생성하는 단계 - 상기 프레임들의 각각은, 상기 시나리오 데이터 세트들의 시퀀스 중 적어도 하나의 시나리오 데이터 세트에 기초하여 수정된 타겟 페이스를 포함함 -; 및
    상기 프레임들의 시퀀스에 기초하여, 출력 비디오를 생성하는 단계
    를 포함하는,
    비 일시적 프로세서 판독 가능 매체.
KR1020217026007A 2019-01-18 2020-01-18 텍스트 및 오디오 기반 실시간 얼굴 재연 KR102509666B1 (ko)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US16/251,472 US11049310B2 (en) 2019-01-18 2019-01-18 Photorealistic real-time portrait animation
US16/251,472 2019-01-18
US16/251,436 US10789453B2 (en) 2019-01-18 2019-01-18 Face reenactment
US16/251,436 2019-01-18
US16/509,370 2019-07-11
US16/509,370 US11114086B2 (en) 2019-01-18 2019-07-11 Text and audio-based real-time face reenactment
PCT/US2020/014221 WO2020150688A1 (en) 2019-01-18 2020-01-18 Text and audio-based real-time face reenactment

Publications (2)

Publication Number Publication Date
KR20210119441A true KR20210119441A (ko) 2021-10-05
KR102509666B1 KR102509666B1 (ko) 2023-03-15

Family

ID=69724071

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217026007A KR102509666B1 (ko) 2019-01-18 2020-01-18 텍스트 및 오디오 기반 실시간 얼굴 재연

Country Status (4)

Country Link
EP (3) EP3912159B1 (ko)
KR (1) KR102509666B1 (ko)
CN (1) CN113228163A (ko)
WO (1) WO2020150688A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102353556B1 (ko) 2021-11-01 2022-01-20 강민호 사용자 얼굴기반 표정 및 포즈 재현 아바타 생성장치
KR20230108869A (ko) 2022-01-12 2023-07-19 주식회사 이너버즈 딥 러닝을 이용한 가상 인물 생성 모델의 학습방법

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112383721B (zh) * 2020-11-13 2023-04-07 北京有竹居网络技术有限公司 用于生成视频的方法、装置、设备和介质
CN112927712A (zh) * 2021-01-25 2021-06-08 网易(杭州)网络有限公司 视频生成方法、装置和电子设备
CN113066497A (zh) * 2021-03-18 2021-07-02 Oppo广东移动通信有限公司 数据处理方法、装置、系统、电子设备和可读存储介质
CN113132797A (zh) * 2021-04-22 2021-07-16 北京房江湖科技有限公司 视频生成方法和装置、计算机可读存储介质、电子设备
CN114093384A (zh) * 2021-11-22 2022-02-25 上海商汤科技开发有限公司 说话视频生成方法、装置、设备以及存储介质
CN115311731B (zh) * 2022-10-10 2023-01-31 之江实验室 一种手语数字人的表情生成方法和装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05153581A (ja) * 1991-12-02 1993-06-18 Seiko Epson Corp 顔画像符号化方式
JP4370811B2 (ja) * 2003-05-21 2009-11-25 カシオ計算機株式会社 音声表示出力制御装置、および音声表示出力制御処理プログラム
CN100343874C (zh) * 2005-07-11 2007-10-17 北京中星微电子有限公司 基于语音的彩色人脸合成方法、系统及其着色方法、装置
US7738997B2 (en) * 2005-12-19 2010-06-15 Chyi-Yeu Lin Robotic system for synchronously reproducing facial expression and speech and related method thereof

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Konstantinos Vougioukas et al., ‘End-to-End Speech-Driven Facial Animation with Temporal GANs’, arXiv:1805.09313v4 [eess.AS], 19 Jul. 2018.* *
SUPASORN SUWAJANAKORN et al., ‘Synthesizing Obama: Learning Lip Sync from Audio’, ACM Transactions on Graphics, Vol. 36, Issue 4, August 2017.* *
인용발명 1 : Rithesh Kumar et al., ‘ObamaNet: Photo-realistic lip-sync from text’, arXiv:1801.01442v1 [cs.CV], 6 Dec. 2017.* *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102353556B1 (ko) 2021-11-01 2022-01-20 강민호 사용자 얼굴기반 표정 및 포즈 재현 아바타 생성장치
KR20230108869A (ko) 2022-01-12 2023-07-19 주식회사 이너버즈 딥 러닝을 이용한 가상 인물 생성 모델의 학습방법

Also Published As

Publication number Publication date
EP3912159A1 (en) 2021-11-24
EP4283577A3 (en) 2024-02-14
EP4283577A2 (en) 2023-11-29
CN113228163A (zh) 2021-08-06
WO2020150688A1 (en) 2020-07-23
EP4283578A3 (en) 2024-02-14
KR102509666B1 (ko) 2023-03-15
EP3912159B1 (en) 2023-12-20
EP4283578A2 (en) 2023-11-29

Similar Documents

Publication Publication Date Title
US11741940B2 (en) Text and audio-based real-time face reenactment
KR102509666B1 (ko) 텍스트 및 오디오 기반 실시간 얼굴 재연
US11393152B2 (en) Photorealistic real-time portrait animation
US11861936B2 (en) Face reenactment
Chuang et al. Mood swings: expressive speech animation
Ezzat et al. Trainable videorealistic speech animation
Cao et al. Expressive speech-driven facial animation
Brand Voice puppetry
Xu et al. A practical and configurable lip sync method for games
US20160134840A1 (en) Avatar-Mediated Telepresence Systems with Enhanced Filtering
US20120130717A1 (en) Real-time Animation for an Expressive Avatar
CN111383307A (zh) 基于人像的视频生成方法及设备、存储介质
Wang et al. Talking faces: Audio-to-video face generation
Cao et al. Modular Joint Training for Speech-Driven 3D Facial Animation
Kalberer et al. Animation pipeline: Realistic speech based on observed 3d face dynamics
KR20240050463A (ko) 얼굴 재연을 위한 시스템 및 방법

Legal Events

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