KR102575097B1 - 음성 기반 아바타 얼굴 표정 구현 방법 및 장치 - Google Patents

음성 기반 아바타 얼굴 표정 구현 방법 및 장치 Download PDF

Info

Publication number
KR102575097B1
KR102575097B1 KR1020220148539A KR20220148539A KR102575097B1 KR 102575097 B1 KR102575097 B1 KR 102575097B1 KR 1020220148539 A KR1020220148539 A KR 1020220148539A KR 20220148539 A KR20220148539 A KR 20220148539A KR 102575097 B1 KR102575097 B1 KR 102575097B1
Authority
KR
South Korea
Prior art keywords
facial expression
neural network
value
avatar
voice
Prior art date
Application number
KR1020220148539A
Other languages
English (en)
Other versions
KR102575097B9 (ko
Inventor
전예찬
Original Assignee
주식회사 플루언트
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 플루언트 filed Critical 주식회사 플루언트
Priority to KR1020220148539A priority Critical patent/KR102575097B1/ko
Application granted granted Critical
Publication of KR102575097B1 publication Critical patent/KR102575097B1/ko
Priority to JP2023187984A priority patent/JP2024069154A/ja
Priority to US18/501,107 priority patent/US20240153181A1/en
Publication of KR102575097B9 publication Critical patent/KR102575097B9/ko

Links

Images

Classifications

    • 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
    • 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
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • 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/174Facial expression recognition
    • G06V40/176Dynamic expression
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/06Transformation of speech into a non-audible representation, e.g. speech visualisation or speech processing for tactile aids
    • G10L21/10Transforming into visible information
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; 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/27Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique
    • G10L25/30Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique using neural networks
    • 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)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • Acoustics & Sound (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Data Mining & Analysis (AREA)
  • Quality & Reliability (AREA)
  • Image Processing (AREA)
  • Processing Or Creating Images (AREA)
  • Image Analysis (AREA)

Abstract

음성 기반 아바타 얼굴 표정 구현 방법이 개시된다. 상기 음성 기반 아바타 얼굴 표정 구현 방법은 음성 신호를 복수의 청크들(chunks)로 나누는 단계, 신경망 입력 신호를 생성하기 위해 청크화된 음성 신호를 다운샘플링(downsampling)하는 단계, 상기 다운샘플링된 음성 신호의 특징 추출을 향상(enhance)시키기 위해 상기 신경망 입력 신호를 신경망에 적용하여 신경망 출력 신호를 생성하는 단계, 복수의 얼굴 표정 계수들을 예측하기 위해 상기 신경망 출력 신호를 업샘플링(upsampling)하는 단계, 및 상기 예측된 복수의 얼굴 표정 계수들에 따라 아바타 얼굴의 표정을 구현하는 단계를 포함하며, 상기 복수의 얼굴 표정 계수들은 구체적인 아바타 얼굴 특징들의 움직임과 관련하여 아바타 얼굴 표정을 나타내는 계수들이다.

Description

음성 기반 아바타 얼굴 표정 구현 방법 및 장치 {Method and device for implementing voice-based avatar facial expression}
본 발명은 음성 기반 아바타 얼굴 표정 구현 방법 및 장치에 관한 것으로, 상세하게는 음성 신호를 신경망에 적용하여 아바타의 얼굴 표정을 구현하는 음성 기반 아바타 얼굴 표정 구현 방법 및 장치에 관한 것이다.
메타버스(metaverse)는 VR(virtual reality) 장치, 또는 AR(augmented reality) 장치를 이용하여 구현되는 3D 가상 세계의 네트워크를 의미한다.
3D 가상 세계에서 구현되는 3D 아바타를 실제 사용자와 유사하게 생성하기 위해서는 카메라가 필요하다. 하지만, VR 장치, 또는 AR 장치를 사용자가 착용하게되면, 카메라가 사용자의 얼굴 표정을 쉽게 트래킹할 수 없다. 따라서 사용자의 얼굴 표정이 사실적으로 구현될 수 없다는 문제점이 있다.
따라서 카메라가 없이도 사용자의 음성만으로 사용자의 실제 표정과 유사한 표정을 아바타로 생성하는 기술이 요구된다.
한국 등록특허공보 제10-2390781호(2022.04.21.)
본 발명이 이루고자 하는 기술적인 과제는 음성 신호에 기반하여 아바타의 얼굴 표정을 구현하기 위한 음성 기반 아바타 얼굴 표정 구현 방법 및 장치를 제공하는 것이다.
본 발명의 실시 예에 따른 음성 기반 아바타 얼굴 표정 구현 방법은 음성 신호를 복수의 청크들(chunks)로 나누는 단계, 신경망 입력 신호를 생성하기 위해 청크화된 음성 신호를 다운샘플링(down sampling)하는 단계, 상기 다운샘플링된 음성 신호의 특징 추출을 향상(enhance)시키기 위해 상기 신경망 입력 신호를 신경망에 적용하여 신경망 출력 신호를 생성하는 단계, 복수의 얼굴 표정 계수들을 예측하기 위해 상기 신경망 출력 신호를 업샘플링(upsampling)하는 단계, 및 상기 예측된 복수의 얼굴 표정 계수들에 따라 아바타 얼굴의 표정을 구현하는 단계를 포함하며, 상기 복수의 얼굴 표정 계수들은 구체적인 아바타 얼굴 특징들의 움직임과 관련하여 아바타 얼굴 표정을 나타내는 계수들이다.
상기 복수의 얼굴 표정 계수들은 상기 아바타 얼굴의 볼, 턱, 또는 입과 대응된다.
상기 업샘플링(upsampling)은 상기 신경망 출력 신호의 디컨볼루션(deconvolution) 동작을 의미한다.
상기 다운샘플링에 이용되는 가중치들, 상기 신경망에 포함된 가중치들, 및 상기 업샘플링에 이용되는 가중치들을 훈련시키기 위한 손실 함수는,
상기 lossn는 손실 함수의 값을, 상기 yn는 n번째 그라운드 트루스(ground truth)의 얼굴 표정 계수 값을, 상기 y'n는 n번째 예측된 얼굴 표정 계수 값을, 상기 알파는 상수를 나타낸다.
상기 그라운드 트루스의 평균 얼굴 표정 계수의 값과 임의의 그라운드 트루스의 얼굴 표정 계수의 값 사이의 차이의 절대 값이 임의의 문턱값보다 클 때, 상기 알파는 제1값으로 설정되고, 상기 그라운드 트루스의 평균 얼굴 표정 계수의 값과 임의의 그라운드 트루스의 얼굴 표정 계수의 값 사이의 차이의 절대 값이 상기 임의의 문턱값보다 작을 때, 상기 알파는 제2값으로 설정된다.
상기 신경망은 대용량 음성 데이터에 대해 사전학습(pre-training)된 가중치로 초기화시킨 트랜스포머 모델(transformer model)이다.
본 발명의 실시 예에 따른 음성 기반 아바타 얼굴 표정 구현 장치는 명령들을 실행하는 프로세서, 및 상기 명령들을 저장하는 메모리를 포함한다.
상기 명령들은 음성 신호를 복수의 청크들(chunks)로 나누고, 신경망 입력 신호를 생성하기 위해 청크화된 음성 신호를 다운샘플링(down sampling)하며, 상기 다운샘플링된 음성 신호의 특징 추출을 향상(enhance)시키기 위해 상기 신경망 입력 신호를 신경망에 적용하여 신경망 출력 신호를 생성하며, 복수의 얼굴 표정 계수들을 예측하기 위해 상기 신경망 출력 신호를 업샘플링(upsampling)하며, 상기 예측된 복수의 얼굴 표정 계수들에 따라 아바타 얼굴의 표정을 구현하도록 구현되며, 상기 복수의 얼굴 표정 계수들은 구체적인 아바타 얼굴 특징들의 움직임과 관련하여 나타내는 계수들이다.
본 발명의 실시 예에 따른 음성 기반 아바타 얼굴 표정 구현 방법 및 장치는 음성 신호를 신경망에 적용하여 얼굴 표정 계수들을 예측함으로써 음성 기반의 아바타 얼굴 표정을 잘 구현할 수 있다는 효과가 있다.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 상세한 설명이 제공된다.
도 1은 본 발명의 실시 예에 따른 음성 기반 아바타 얼굴 표정 구현 장치의 블록도를 나타낸다.
도 2는 본 발명의 실시 예에 따른 음성 신호의 청크화 동작들을 설명하기 위한 블록도를 나타낸다.
도 3은 도 1에 도시된 프로세서에 의해 실행되는 신경망 구조의 블록도를 나타낸다.
도 4는 도 3에 도시된 신경망의 동작을 설명하기 위한 개념도를 나타낸다.
도 5는 도 3에 도시된 다운샘플링 모듈에 포함된 가중치들, 신경망에 포함된 가중치들, 및 업샘플링 모듈에 포함된 가중치들을 업데이트하기 위해 손실 함수의 파라미터 변화에 따른 얼굴 표정 계수들의 그래프들을 나타낸다.
도 6은 본 발명의 실시 예에 따른 음성 기반 아바타 얼굴 표정 구현 방법의 흐름도를 나타낸다.
도 7은 본 발명의 실시 예에 따른 음성에 따라 구현된 3D 아바타 이미지들을 나타낸다.
본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시 예들에 대해서 특정한 구조적 또는 기능적 설명들은 단지 본 발명의 개념에 따른 실시 예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시 예들은 다양한 형태들로 실시될 수 있으며 본 명세서에 설명된 실시 예들에 한정되지 않는다.
본 발명의 개념에 따른 실시 예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시 예들을 도면에 예시하고 본 명세서에 상세하게 설명하고자 한다. 그러나 이는 본 발명의 개념에 따른 실시 예들을 특정한 개시 형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만, 예컨대 본 발명의 개념에 따른 권리 범위로부터 이탈되지 않은 채, 제1구성요소는 제2구성요소로 명명될 수 있고, 유사하게 제2구성요소는 제1구성요소로도 명명될 수 있다.
본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다." 또는 "가지다." 등의 용어는 설명된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 나타낸다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시 예를 설명함으로써, 본 발명을 상세히 설명한다.
도 1은 본 발명의 실시 예에 따른 음성 기반 아바타 얼굴 표정 구현 장치의 블록도를 나타낸다.
도 1을 참고하면, 음성 기반 아바타 얼굴 표정 구현 장치(10)는 컴퓨팅 장치이다. 컴퓨팅 장치는 노트북, 서버, 스마트폰, 또는 태블릿 PC 등과 같은 전자 장치를 의미한다.
음성 기반 아바타 얼굴 표정 구현 장치(10)는 프로세서(11)와 메모리(13)를 포함한다.
프로세서(11)는 음성 기반 아바타 얼굴 표정을 구현하기 위한 명령들을 실행한다.
메모리(13)는 상기 프로세서(11)에 의해 실행되는 명령들을 저장한다.
이하, 음성 기반 아바타 얼굴 표정을 구현하기 위한 동작들은 프로세서(11)에 의해 수행되는 것으로 이해되어야 한다.
도 2는 본 발명의 실시 예에 따른 음성 신호의 청크화 동작들을 설명하기 위한 블록도를 나타낸다.
도 1과 도 2를 참고하면, 사용자(15)와 대응되는 아바타의 얼굴 표정을 음성 신호(17) 기반으로 구현하기 위해 컴퓨팅 장치(10)는 사용자(15)의 음성 신호(17)를 수신한다.
음성 신호(17)에서 X축은 시간을 나타내며, Y축은 신호의 진폭을 나타낸다. 신호의 진폭은 1초당 16000번 샘플 레이트(sample rate)로 발생되는 진폭이다.
프로세서(11)는 음성 신호(17)를 복수의 청크들(chunks; 19-1~19-N; N은 자연수)로 나눈다. 프로세서(11)는 음성 신호(17)를 일정한 시간 간격(예컨대, 10초)로 나누어 청크화된 음성 신호(19)를 생성한다.
도 2에서 복수의 청크들(19-1~19-N)의 내부는 그래프로 도시되었으나, 실제로는 진폭의 값들로 표현된다. 상기 진폭의 값은 16비트 범위 이내의 값을 가진다.즉, 상기 진폭의 값은 -32,768 내지 +32,767 사이의 값을 가진다.
도면부호 "S"는 청크화된 음성 신호(19)의 총 시간 길이를 나타낸다.
도 3은 도 1에 도시된 프로세서에 의해 실행되는 신경망 구조의 블록도를 나타낸다.
도 1 내지 도 3을 참고하면, 프로세서(11)는 신경망 입력 신호(40)를 생성하기 위해 청크화된 음성 신호(19)를 다운샘플링(downsampling)한다.
다운샘플링은 다운샘플링 모듈(30)에 의해 수행된다.
프로세서(11)는 청크화된 음성 신호(19)를 다운샘플링 모듈(30)에 적용하여 신경망 입력 신호(40)를 출력한다.
청크화된 음성 신호(19)는 복수의 청크들(19-1~19-N)을 포함한다.
다운샘플링 모듈(30)은 복수의 다운샘플링 레이어들(downsampling layers; 미도시)를 포함한다. 복수의 다운샘플링 레이어들은 컨볼루션(convolution) 레이어들이다. 예컨대, 다운샘플링 모듈(30)은 7개의 컨볼루션 레이어들을 포함할 수 있다. 컨볼루션 레이어에서 1D 컨볼루션 동작이 수행된다. 상기 컨볼루션 레이어들 각각은 복수의 커널들(kernels)을 포함할 수 있다. 예컨대, 상기 컨볼루션 레이어들 각각에 포함된 복수의 커널들의 개수는 512개일 수 있다.
신경망 입력 신호(40)의 총 시간 길이(S')는 청크화된 음성 신호(19)의 총 시간 길이(S)보다 짧다. 음성시간 축에 움직이는 커널의 간격(stride)을 1보다 크게 설정하여 신경망 입력 신호(40)의 총 시간 길이(S')는 청크화된 음성 신호(19)의 총 시간 길이(S)보다 짧게 생성된다. 예컨대, 청크화된 음성 신호(19)의 총 시간 길이(S)가 160,000 초라 가정할 때, 신경망 입력 신호(40)의 총 시간 길이(S')는 499초이다.
1D 컨볼루션 동작이 수행되는 과정에서 복수의 커널들이 이용되었으므로, 신경망 입력 신호(40)는 복수의 디멘젼들(dimensions, D)을 포함한다. 예컨대, 신경망 입력 신호(40)는 512개의 디멘젼들을 포함할 수 있다. 즉, 신경망 입력 신호(40)의 디멘젼(D)은 512이다. 상기 디멘젼들은 1D 컨볼루션 동작에서 사용된 채널 수를 의미한다.
신경망 입력 신호(40)는 각각이 총 시간 길이(S')가 499초인 복수의 입력 신호들(IS-1, IS-2, ..., 및 IS-K; K는 자연수)을 포함한다. 신경망 입력 신호(40)는 디멘젼(D)이 512일 때, 상기 K는 512일 수 있다.
복수의 입력 신호들(IS-1, IS-2, ..., 및 IS-K) 각각의 청크들(40-1~40-N; N은 자연수)의 수(N개)는 청크화된 음성 신호(19)의 청크들(19-1~19-N)의 수(N개)와 같다. 여기서 청크는 사용자(15)의 특정 시간에 대한 음성 신호(17)의 진폭 정보를 포함한다.
프로세서(11)는 상기 다운샘플링된 음성 신호(40)의 특징 추출을 향상(enhance)시키기 위해 신경망 입력 신호(40)를 신경망(50)에 적용하여 신경망 출력 신호(60)를 생성한다.
신경망(50)은 대용량 음성 데이터에 대해 사전학습(pre-training)된 가중치로 초기화시킨 트랜스포머 모델(transformer model)이다.
트랜스포머 모델(transformer model)은 자연어 처리(Nautral language processing)에서 주로 이용되는 딥러닝(deep learning) 모델이다. 트랜스포머 모델은 널리 알려진 딥러닝 모델이므로, 이에 대한 구체적인 내부 구조는 생략한다.
도 4는 도 3에 도시된 신경망의 동작을 설명하기 위한 개념도를 나타낸다.
도 4는 신경망의 동작을 설명하기 위한 개념도로, 실제 신경망에서 연산은 숫자로 계산된다.
도 4에 도시된 입력 신호(IS-1)와 출력 신호(OS-1)는 도 3에 도시된 입력 신호들(IS-1~IS-K) 중 어느 하나이며, 도 3에 도시된 출력 신호들(OS-1~OS-K) 중 어느 하나이다.
도 1 내지 도 4를 참고하면, 입력 신호(IS-1)가 신경망(50)에 적용된다.
입력 신호(IS-1)는 복수의 청크들(예컨대, 40-1~40-9)을 포함한다.
출력 신호(OS-1)는 복수의 청크들(예컨대, 60-1~60-9)을 포함한다.
도 4에서는 설명의 편의를 위해 입력 신호(IS-1)와 출력 신호(OS-1)의 청크들의 수가 9개인 것으로 도시되었으나, 실시 예에 따라 청크들의 수는 달라질 수 있다.
도 4에서는 제2청크(40-2)가 신경망(50)에 적용될 때, 신경망(50)의 동작들에 대해 설명된다.
도 4에서 신경망(50)의 초기 가중치(weights)는 대용량 음성 데이터에 대해 사전학습된 가중치로 초기화한다.
제2청크(40-2)는 쿼리 벡터(query vector)이다.
나머지 청크들(40-1, 40-3 ~ 40-9)는 키 벡터들(key vectors)이다. 나머지 청크들(40-1, 40-3 ~ 40-9)는 제2청크(40-2)와 관련이 있다.
밸류 벡터(value vector)는 실제 음성 신호(15)의 특징을 나타내는 진폭의 값들이다.
제2청크(40-2)인 쿼리 벡터와 제1청크(40-1)인 키 벡터와의 닷 프로덕트(dot product)가 수행된다. 제2청크(40-2)인 쿼리 벡터와 제3청크(40-3)인 키 벡터와의 닷 프로덕트(dot product)가 수행된다. 제2청크(40-2)인 쿼리 벡터와 제4청크(40-4)인 키 벡터와의 닷 프로덕트(dot product)가 수행된다. 유사하게 나머지 청크들(40-5 ~ 40-9)에서도 닷 프로덕트가 수행된다.
닷 프로덕트가 수행되면 점수가 생성된다. 점수는 쿼리 벡터와 키 벡터가 얼마나 잘 매칭되는지 나타낸다.
프로세서(11)는 닷 프로덕트에 의해 생성된 점수들과 밸류 벡터들을 곱하고, 곱합 값들을 가산하고 제2청크(60-2)를 생성한다.
신경망 출력 신호(60)인 제2청크(60-2)는 신경망 입력 신호(40)인 제2청크(40-2)보다 음성 신호(15)의 관계가 더 잘 표현된다. 예컨대, 제2청크(60-2)는 제2청크(40-2)의 앞 뒤에 위치한 청크들(40-1, 40-3~40-9)의 진폭들에 따라 제2청크(40-2)와는 다를 수 있다. 제2청크(40-2)의 진폭이 작다하더라도 제1청크(40-1)의 진폭이 클 경우, 제2청크(60-2)의 진폭은 제2청크(40-2)의 진폭보다 클 수 있다. 반대로, 제2청크(40-2)의 진폭이 작고, 제1청크(40-1)의 진폭이 제2청크(40-2)의 진폭보다 더 작을 경우, 제2청크(60-2)의 진폭은 제2청크(40-2)의 진폭보다 작을 수 있다. 즉, 제2청크(60-2)는 제2청크(40-2)보다 음성 신호(15)의 관계가 더 잘 표현된다.
즉, 신경망(50)을 통해 제2청크(40-2)에 포함된 음성 신호(15)의 진폭이 다른 청크들(40-1, 40-3 ~ 40-9)과의 관계가 고려되여 제2청크(60-2)가 생성된다.
도 4에서 제2청크(60-2)는 제2청크(40-2)와 유사하게 도시되었으나, 실제로는 제2청크(60-2)는 제2청크(40-2)와는 다르다. 제2청크(40-2)와 제2청크(60-2)는 실제로는 숫자로 표현된다.
도 3을 참고하면, 신경망(50)을 통해 상기 다운샘플링된 음성 신호(40)의 특징 추출이 향상(enhance)될 수 있다.
신경망 출력 신호(60)는 각각이 총 시간 길이(S')가 499초인 복수의 출력 신호들(OS-1, OS-2, ..., 및 OS-K; K는 자연수)을 포함한다. 신경망 출력 신호(60)는 디멘젼(D')이 512일 때, 상기 K는 512일 수 있다.
프로세서(11)는 복수의 얼굴 표정 계수들을 예측하기 위해 신경망 출력 신호(60)를 업샘플링(upsampling)한다.
업샘플링은 업샘플링 모듈(70)에 의해 수행된다.
업샘플링 모듈(60)은 복수의 업샘플링 레이어들(upsampling layers; 미도시)를 포함한다. 복수의 업샘플링 레이어들은 디컨볼루션(deconvolution) 레이어들이다. 예컨대, 다운샘플링 모듈(30)은 7개의 컨볼루션 레이어들을 포함할 수 있다. 컨볼루션 레이어에서 1D 디컨볼루션(deconvolution) 동작이 수행된다. 상기 디컨볼루션 레이어들 각각은 복수의 커널들(kernels)을 포함할 수 있다.
프로세서(11)는 신경망 출력 신호(60)를 업샘플링 모듈(70)에 적용하여 복수의 얼굴 표정 계수들을 출력한다. 복수의 얼굴 표정 계수들은 0 또는 1 사이의 값을 가진다. 복수의 얼굴 표정 계수들에 따라 3D 아바타를 구성하는 메시들(meshes)이 디폼(deform)될 수 있다. 따라서 복수의 얼굴 표정 계수들에 따라 3D 아바타의 표정이 달라질 수 있다. 복수의 얼굴 표정 계수들은 구체적인 아바타 얼굴 특징들의 움직임과 관련하여 아바타 얼굴 표정을 나타내는 계수들을 의미한다. 복수의 얼굴 표정 계수들은 쉐이프 키들(Shape Keys), 버텍스 키들(Vertex Keys), 또는 모핑(Morphing)이라고 호칭될 수 있다. 본 명세서에서 얼굴 표정 계수들은 아바타 얼굴의 하부 부분인 볼, 턱, 또는 입과 대응된다.
업샘플링 출력 신호(80)는 복수의 청크들(80-1~80-M; M은 자연수)을 포함한다. 하나의 청크는 10초의 시간 길이를 가진다.
얼굴 표정 계수들은 1초당 60개가 생성될 수 있다. 얼굴 표정 계수들이 1초당 60개가 생성된다고 가정할 때, 하나의 청크(80-1)에는 600개의 얼굴 표정 계수들이 포함될 수 있다.
업샘플링 출력 신호(80)의 총 시간 길이(T)는 600초일 수 있다. 즉, 하나의 청크의 시간 길이가 10초이므로, 청크들의 수는 60개일 수 있다.
업샘플링 출력 신호(80)의 총 시간 길이(T)는 신경망 출력 신호(60)의 총 시간 길이(S')보다 길다. 예컨대, 신경망 출력 신호(80)의 총 시간 길이(S')가 499초라 가정할 때, 업샘플링 출력 신호(80)의 총 시간 길이(T)는 600초이다.
업샘플링 출력 신호(80)는 복수의 채널들(R)을 포함한다. 복수의 채널들(R)은 얼굴 표정 계수들과 대응된다. 예컨대, 제1채널(FE-1)은 입모양의 크기를 나타내는 얼굴 표정 계수들일 수 있다. 제2채널(FE-2)은 아바타 얼굴 중 턱 열림을 나타내는 얼굴 표정 계수들일 수 있다. 복수의 채널들(R)의 개수는 31개일 수 있다. 31개는 아바타 얼굴 하부의 얼굴 표정 계수들이다. 얼굴 하부란 아바타 얼굴의 볼, 턱, 또는 입을 의미한다.
신경망 출력 신호(60)의 총 시간 길이(S')와 얼굴 표정 계수들의 총 길이는 다르다. 하지만, 업샘플링 동작을 통해 신경망 출력 신호(60)의 총 시간 길이(S')와 업샘플링 출력 신호(80)의 총 시간 길이(T)가 매칭될 수 있다.
다운샘플링 모듈(30)에 포함된 가중치들, 신경망(50)에 포함된 가중치들, 및 업샘플링 모듈(70)에 포함된 가중치들을 훈련시키기 위해 손실 함수가 아래과 같이 정의된다.
[수학식 1]
상기 lossn는 손실 함수의 값을, 상기 yn는 n번째 그라운드 트루스(ground truth)의 얼굴 표정 계수 값을, 상기 y'n는 n번째 예측된 얼굴 표정 계수 값을, 상기 알파는 상수를 나타낸다.
상기 손실 함수에 대해서는 뒤에서 좀 더 설명될 것이다.
프로세서(11)는 상기 그라운드 트루스를 생성하기 위해 사용자(15)의 음성 신호(17)와 매칭되는 얼굴 표정 계수 값들을 생성한다. 이때, 얼굴 표정 계수 값들은 아바타 얼굴 하부의 얼굴 표정 계수들이다.
프로세서(11)는 생성된 얼굴 표정 계수 값들 중 임의의 개수(예컨대, 100개), 임의의 시간(예컨대, 600초), 및 채널 수(예컨대, 31개)를 추출하여 그라운드 트루스를 생성한다.
즉, 그라운드 트루스는 31개의 채널과 600초를 가지며, 각 채널당 데이터는 100개를 가진다.
업샘플링 출력 신호(80)는 31개의 채널과 600초을 가진다. 즉, 그라운드 트루스와 업샘플링 출력 신호(80)는 서로 대응된다.
그라운드 트루스의 채널 값은 정규화(normalization)를 수행하여 -1.0 에서 1.0 사이의 값을 가지도록 한다.
도 5는 도 3에 도시된 다운샘플링 모듈에 포함된 가중치들, 신경망에 포함된 가중치들, 및 업샘플링 모듈에 포함된 가중치들을 업데이트하기 위해 손실 함수의 파라미터 변화에 따른 얼굴 표정 계수들의 그래프들을 나타낸다. 도 5의 (a)는 손실 함수의 파라미터인 알파 값이 0.1일 때, 얼굴 표정 계수들의 그래프를 나타낸다. 도 5의 (b)는 손실 함수의 파라미터인 알파 값이 1.0일 때, 얼굴 표정 계수들의 그래프를 나타낸다. 도 5의 (c)는 손실 함수의 파라미터인 알파 값이 10일 때, 얼굴 표정 계수들의 그래프를 나타낸다. 도 5의 (a) 내지 도 5의 (c)에 도시된 그래프에서 X축은 시간을 나타내며, Y축은 얼굴 표정 계수들의 값을 나타낸다.
도 5의 (a) 내지 도 5의 (c)에 도시된 그래프에서 "pred"는 다운샘플링 모듈(30), 신경망(50), 및 업샘플링 모듈(70)을 통해 출력된 얼굴 표정 계수들을 나타내며, "true"는 그라운드 트루스(ground truth)의 얼굴 표정 계수들을 나타낸다.
X축의 시간 단위는 1/60초이다. 따라서 X축의 600은 10초를 의미한다. 얼굴 표정 계수들의 값은 0에서 1사이의 값을 가진다.
도 3을 참고하면, 업샘플링 출력 신호(80)에 포함된 하나의 청크(예컨대, 80-1)는 10초의 시간 길이를 가진다. 도 5의 (a), 도 5의 (b), 또는 도 5의 (c)에 도시된 그래프는 업샘플링 출력 신호(80)에 포함된 청크(80-1, 80-2, 또는 80-3)와 대응된다. 도 5의 (a) 내지 도 5의 (c)에 도시된 그래프에서 그라운드 트루스의 얼굴 표정 계수들("true" 그래프)은 같다. 따라서 도 5의 (a) 내지 도 5의 (c)에 도시된 그래프는 업샘플링 출력 신호(80)에 포함된 청크(80-1)와 대응된다고 가정할 수 있다.
도 5의 (a)를 참고하면, 손실 함수의 알파 값이 0.1일 때, 점(P1, P2)에서 그라운드 트루스의 얼굴 표정 계수("true" 그래프)와 예측된 얼굴 표정 계수("pred" 그래프) 사이의 차이는 크다. 손실 함수의 알파 값이 0.1일 때, 프로세서(11)는 점(P1, P2)에서 얼굴 표정 계수의 값을 노이즈를 판단하여 제외하기 때문이다. 상기 알파 값은 상기 수학식 1에서의 알파의 값을 의미한다.
점(P1, P2)에서 그라운드 트루스의 얼굴 표정 계수의 값(예컨대, 0.3, 0.1)은 그라운드 트루스의 평균 얼굴 표정 계수의 값(예컨대, 0.2)보다 상대적으로 크거나 작다. 점(P1)에서 그라운드 트루스의 얼굴 표정 계수의 값(예컨대, 0.3)은 그라운드 트루스의 평균 얼굴 표정 계수의 값(예컨대, 0.2)보다 상대적으로 크다. 점(P2)에서 그라운드 트루스의 얼굴 표정 계수의 값(예컨대, 0.1)은 그라운드 트루스의 평균 얼굴 표정 계수의 값(예컨대, 0.2)보다 상대적으로 작다.
반면, 점(P3)에서 그라운드 트루스의 얼굴 표정 계수("true" 그래프)와 예측된 얼굴 표정 계수("pred" 그래프) 사이의 차이는 거의 없다. 점(P3)에서 그라운드 트루스의 얼굴 표정 계수의 값(예컨대, 0.2)은 그라운드 트루스의 평균 얼굴 표정 계수의 값(예컨대, 0.2)과 거의 같다. 그라운드 트루스의 평균 얼굴 표정 계수의 값(예컨대, 0.2)은 그라운드 트루스의 얼굴 표정 계수의 값들의 평균하여 계산될 수 있다.
즉, 손실 함수의 알파 값이 0.1일 때, 그라운드 트루스의 얼굴 표정 계수의 값이 그라운드 트루스의 평균 얼굴 표정 계수의 값과 유사할수록 그라운드 트루스의 얼굴 표정 계수("true" 그래프)와 예측된 얼굴 표정 계수("pred" 그래프) 사이의 차이는 거의 없다.
반면, 그라운드 트루스의 얼굴 표정 계수의 값이 그라운드 트루스의 평균 얼굴 표정 계수의 값으로부터 멀어질수록 그라운드 트루스의 얼굴 표정 계수("true" 그래프)와 예측된 얼굴 표정 계수("pred" 그래프) 사이의 차이는 커진다.
손실 함수의 알파 값이 0.1일 때, 점(P1, P2)에서 얼굴 표정 계수의 값이 잘 예측되지 않는다.
하지만, 큰 값을 가지는 얼굴 표정 계수들을 잘 예측하는 것이 중요하다. 얼굴 표정 계수가 큰 값을 가질수록 아바타에서 얼굴 표정이 더 크게 변형된다. 따라서 아바타의 얼굴 표정의 차이를 보다 더 명확하게 드러내기 위해서는 큰 값을 가지는 얼굴 표정 계수들이 잘 예측되어야한다.
도 5의 (b)를 참고하면, 손실 함수의 알파 값이 1.0일 때, 예측된 얼굴 표정 계수들은 손실 함수의 알파 값이 0.1일 때(도 5의 (a)의 경우)와 큰 차이가 없다.
점(P1, P2)에서 그라운드 트루스의 얼굴 표정 계수("true" 그래프)와 예측된 얼굴 표정 계수("pred" 그래프) 사이의 차이는 크다. 점(P3)에서 그라운드 트루스의 얼굴 표정 계수("true" 그래프)와 예측된 얼굴 표정 계수("pred" 그래프) 사이의 차이는 거의 없다.
도 5의 (c)를 참고하면, 손실 함수의 알파 값이 10일 때, 점(P1, P2)에서 그라운드 트루스의 얼굴 표정 계수("true" 그래프)와 예측된 얼굴 표정 계수("pred" 그래프) 사이의 차이는 도 5의 (a)와는 다르게 크지 않다. 손실 함수의 알파 값이 10일 때, 프로세서(11)는 점(P1, P2)에서 얼굴 표정 계수의 값을 노이즈를 판단하지 않기 때문이다.
반면, 점(P3)에서 그라운드 트루스의 얼굴 표정 계수("true" 그래프)와 예측된 얼굴 표정 계수("pred" 그래프) 사이의 차이는 도 5의 (a)와는 다르다.
도 5의 (a)와 도 5의 (b)처럼 손실 함수의 알파 값이 작을 때, 그라운드 트루스의 평균 얼굴 표정 계수의 값과 유사한 그라운드 트루스의 얼굴 표정 계수의 값(P3 지점)은 잘 예측된다. 반면, 그라운드 트루스의 평균 얼굴 표정 계수의 값과 차이가 큰 그라운드 트루스의 얼굴 표정 계수의 값(P1, P2 지점)은 잘 예측되지 않는다.
도 5의 (c)처럼 손실 함수의 알파 값이 클 때, 그라운드 트루스의 평균 얼굴 표정 계수의 값과 유사한 그라운드 트루스의 얼굴 표정 계수의 값(P3 지점)은 잘 예측되지 않는다. 반면, 그라운드 트루스의 평균 얼굴 표정 계수의 값과 차이가 큰 그라운드 트루스의 얼굴 표정 계수의 값(P1, P2 지점)은 잘 예측된다.
프로세서(11)는 그라운드 트루스의 평균 얼굴 표정 계수의 값과 차이가 큰 그라운드 트루스의 얼굴 표정 계수의 값(P1, P2 지점)을 잘 예측하기 위해 알파 값을 크게 하고, 다운샘플링 모듈(30)에 포함된 가중치들, 신경망(50)에 포함된 가중치들, 및 업샘플링 모듈(70)에 포함된 가중치들을 훈련시킨다.
또한, 프로세서(11)는 그라운드 트루스의 평균 얼굴 표정 계수의 값과 유사한 그라운드 트루스의 얼굴 표정 계수의 값(P3 지점)을 잘 예측하기 위해 알파 값을 작게 하고, 다운샘플링 모듈(30)에 포함된 가중치들, 신경망(50)에 포함된 가중치들, 및 업샘플링 모듈(70)에 포함된 가중치들을 훈련시킨다.
즉, 프로세서(11)는 그라운드 트루스의 평균 얼굴 표정 계수의 값을 계산한다. 그라운드 트루스는 사용자(15)의 음성 신호(17)와 매칭되는 얼굴 표정 계수 값들을 의미한다.
프로세서(11)는 그라운드 트루스의 평균 얼굴 표정 계수의 값과 업샘플링 출력 신호(80)의 채널 값의 차이의 절대 값을 계산한다. 업샘플링 출력 신호(80)의 채널 값은 얼굴 표정 계수들의 채널 값과 대응된다.
상기 절대 값이 임의의 문턱값보다 클 때, 프로세서(11)는 손실 함수의 알파 값을 제1값으로 설정한다. 상기 제1값은 제1임의의 값(예컨대, 5) 이상이다. 예컨대, 상기 임의의 문턱값은 0.1일 수 있다. 상기 제1값은 10일 수 있다. 상기 제1값은 제1임의의 값(예컨대, 5) 이상 제2임의의 값(예컨대, 20) 이하의 범위를 가진다. 상기 제2임의의 값은 상기 제1임의의 값보다 크다.
상기 절대 값이 임의의 문턱값보다 작을 때, 프로세서(11)는 손실 함수의 알파 값을 제2값으로 설정한다. 상기 제2값은 상기 제1임의의 값(예컨대, 5) 미만이다. 예컨대, 상기 임의의 문턱값은 0.1일 수 있다. 상기 제2값은 0.1일 수 있다. 상기 제2값은 0 이상 상기 제1임의의 값(예컨대, 5) 미만의 범위를 가진다.
실시 예에 따라 프로세서(11)는 상기 제1임의의 값, 상기 제2임의의 값, 상기 제1값, 또는 상기 제2값을 다르게 설정할 수 있다. 또한, 상기 임의의 문턱 값도 다양하게 설정될 수 있다.
본 발명과 같이 그라운드 트루스의 평균 얼굴 표정 계수의 값과 업샘플링 출력 신호(80)의 채널 값 사이의 차이에 따라 알파 값을 다르게 설정함으로써 그라운드 트루스의 평균 얼굴 표정 계수의 값과 차이가 큰 그라운드 트루스의 얼굴 표정 계수의 값(P1, P2 지점)과 그라운드 트루스의 평균 얼굴 표정 계수의 값과 유사한 그라운드 트루스의 얼굴 표정 계수의 값(P3 지점)이 잘 예측될 수 있다.
실시 예에 따라 프로세서(11)는 상기 손실 함수에 대한 에포크들(epoches)의 숫자를 카운팅한다. 상기 손실 함수에 대한 에포크들(epoches)의 숫자가 임의의 횟수(예컨대, 20) 이상일 때, 프로세서(11)는 상기 손실 함수에 대한 알파를 상기 제2값으로 설정할 수 있다. 상기 손실 함수에 대한 에포크들(epoches)의 숫자가 임의의 횟수(예컨대, 20) 이상일 때, 상기 손실 함수의 오차의 편차는 크지 않기 때문이다. 실시 예에 따라 프로세서(11)는 상기 임의의 횟수(예컨대, 20)를 다르게 설정할 수 있다.
도 6은 본 발명의 실시 예에 따른 음성 기반 아바타 얼굴 표정 구현 방법의 흐름도를 나타낸다.
도 1 내지 도 6을 참고하면, 프로세서(11)는 음성 신호(17)를 복수의 청크들(19-1~19-N)로 나눈다(S10).
프로세서(11)는 신경망 입력 신호(40)를 생성하기 위해 청크화된 음성 신호(19)를 다운샘플링한다(S20).
프로세서(11)는 상기 다운샘플링된 음성 신호(40)의 특징 추출을 향상(enhance)시키기 위해 신경망 입력 신호(40)를 신경망(50)에 적용하여 신경망 출력 신호(60)를 생성한다. 신경망 입력 신호(40)와 상기 다운샘플링된 음성 신호(40)는 같은 신호이다(S30).
프로세서(11)는 복수의 얼굴 표정 계수들을 예측하기 위해 신경망 출력 신호(60)를 업샘플링한다(S40). 상기 복수의 얼굴 표정 계수들은 업샘플링 출력 신호(80)에 포함된다.
프로세서(11)는 상기 예측된 복수의 얼굴 표정 계수들에 따라 아바타 얼굴의 표정을 구현한다(S50).
도 7은 본 발명의 실시 예에 따른 음성에 따라 구현된 3D 아바타 이미지들을 나타낸다. 도 7의 (a) 내지 도 7의 (d)는 시간에 따라 서로 다른 표정이 구현된 아바타의 이미지들을 나타낸다.
도 1, 도 2, 및 도 7을 참고하면, 프로세서(11)는 상기 예측된 복수의 얼굴 표정 계수들에 따라 아바타 얼굴의 표정을 구현한다.
아바타는 3D로 구현될 수 있다. 아바타의 레퍼런스(reference) 이미지는 카메라(미도시)에 의해 미리 촬영된 사용자(15)일 수 있다.
본 발명은 도면에 도시된 일 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.
10: 음성 기반 아바타 얼굴 표정 구현 장치;
11: 프로세서;
13: 메모리;
30: 다운샘플링 모듈;
50: 신경망;
70: 업샘플링 모듈;

Claims (13)

  1. 음성 신호를 복수의 청크들(chunks)로 나누는 단계;
    청크화된 음성 신호를 다운샘플링(down sampling)하여 신경망 입력 신호를 생성하는 단계;
    상기 다운샘플링된 음성 신호의 특징 추출을 향상(enhance)시키기 위해 상기 신경망 입력 신호를 신경망에 적용하여 신경망 출력 신호를 생성하는 단계;
    상기 신경망 출력 신호를 업샘플링(upsampling)하여 복수의 얼굴 표정 계수들을 예측하는 단계; 및
    상기 예측된 복수의 얼굴 표정 계수들에 따라 아바타 얼굴의 표정을 구현하는 단계를 포함하며,
    상기 복수의 얼굴 표정 계수들은 구체적인 아바타 얼굴 특징들의 움직임과 관련하여 아바타 얼굴 표정을 나타내는 계수들이며,
    상기 신경망 입력 신호는 복수의 입력 신호들을 포함하며,
    상기 복수의 입력 신호들 각각은 제1복수의 청크들을 포함하며,
    상기 제1복수의 청크들 각각은 특정 시간에 대한 상기 음성 신호의 진폭 정보를 포함하며,
    상기 신경망 출력 신호는 복수의 출력 신호들을 포함하며,
    상기 복수의 출력 신호들 각각은 제2복수의 청크들을 포함하며,
    상기 제2복수의 청크들 각각의 진폭은 상기 제1복수의 청크들 각각의 진폭과 다를 수 있으며,
    상기 다운샘플링에 이용되는 가중치들, 상기 신경망에 포함된 가중치들, 및 상기 업샘플링에 이용되는 가중치들을 훈련시키기 위한 손실 함수는,

    상기 lossn는 손실 함수의 값을,
    상기 yn는 n번째 그라운드 트루스(ground truth)의 얼굴 표정 계수 값을,
    상기 y'n는 n번째 예측된 얼굴 표정 계수 값을,
    상기 알파는 상수를 나타내며,
    상기 그라운드 트루스의 평균 얼굴 표정 계수의 값과 임의의 그라운드 트루스의 얼굴 표정 계수의 값 사이의 차이의 절대 값이 임의의 문턱값보다 클 때, 상기 알파는 제1값으로 설정되고,
    상기 그라운드 트루스의 평균 얼굴 표정 계수의 값과 임의의 그라운드 트루스의 얼굴 표정 계수의 값 사이의 차이의 절대 값이 상기 임의의 문턱값보다 작을 때, 상기 알파는 제2값으로 설정되는 음성 기반 아바타 얼굴 표정 구현 방법.
  2. 제1항에 있어서, 상기 복수의 얼굴 표정 계수들은,
    상기 아바타 얼굴의 볼, 턱, 또는 입과 대응되는 음성 기반 아바타 얼굴 표정 구현 방법.
  3. 제1항에 있어서, 상기 업샘플링(upsampling)은 상기 신경망 출력 신호의 디컨볼루션(deconvolution) 동작을 의미하는 음성 기반 아바타 얼굴 표정 구현 방법.
  4. 삭제
  5. 삭제
  6. 제1항에 있어서, 상기 신경망은,
    대용량 음성 데이터에 대해 사전학습(pre-training)된 가중치로 초기화시킨 트랜스포머 모델(transformer model)인 음성 기반 아바타 얼굴 표정 구현 방법.
  7. 명령들을 실행하는 프로세서; 및
    상기 명령들을 저장하는 메모리를 포함하며,
    상기 명령들은,
    음성 신호를 복수의 청크들(chunks)로 나누고, 청크화된 음성 신호를 다운샘플링(down sampling)하여 신경망 입력 신호를 생성하며, 상기 다운샘플링된 음성 신호의 특징 추출을 향상(enhance)시키기 위해 상기 신경망 입력 신호를 신경망에 적용하여 신경망 출력 신호를 생성하며, 상기 신경망 출력 신호를 업샘플링(upsampling)하여 복수의 얼굴 표정 계수들을 예측하며, 상기 예측된 복수의 얼굴 표정 계수들에 따라 아바타 얼굴의 표정을 구현하도록 구현되며,
    상기 복수의 얼굴 표정 계수들은 구체적인 아바타 얼굴 특징들의 움직임과 관련하여 아바타 얼굴 표정을 나타내는 계수들이며,
    상기 신경망 입력 신호는 복수의 입력 신호들을 포함하며,
    상기 복수의 입력 신호들 각각은 제1복수의 청크들을 포함하며,
    상기 제1복수의 청크들 각각은 특정 시간에 대한 상기 음성 신호의 진폭 정보를 포함하며,
    상기 신경망 출력 신호는 복수의 출력 신호들을 포함하며,
    상기 복수의 출력 신호들 각각은 제2복수의 청크들을 포함하며,
    상기 제2복수의 청크들 각각의 진폭은 상기 제1복수의 청크들 각각의 진폭과 다를 수 있으며,
    상기 다운샘플링에 이용되는 가중치들, 상기 신경망에 포함된 가중치들, 및 상기 업샘플링에 이용되는 가중치들을 훈련시키기 위한 손실 함수는,

    상기 lossn는 손실 함수의 값을,
    상기 yn는 n번째 그라운드 트루스(ground truth)의 얼굴 표정 계수 값을,
    상기 y'n는 n번째 예측된 얼굴 표정 계수 값을,
    상기 알파는 상수를 나타내며,
    상기 그라운드 트루스의 평균 얼굴 표정 계수의 값과 임의의 그라운드 트루스의 얼굴 표정 계수의 값 사이의 차이의 절대 값이 임의의 문턱값보다 클 때, 상기 알파는 제1값으로 설정되고,
    상기 그라운드 트루스의 평균 얼굴 표정 계수의 값과 임의의 그라운드 트루스의 얼굴 표정 계수의 값 사이의 차이의 절대 값이 상기 임의의 문턱값보다 작을 때, 상기 알파는 제2값으로 설정되는 음성 기반 아바타 얼굴 표정 구현 장치.
  8. 제7항에 있어서, 상기 복수의 얼굴 표정 계수들은,
    상기 아바타 얼굴의 볼, 턱, 또는 입과 대응되는 음성 기반 아바타 얼굴 표정 구현 장치.
  9. 제7항에 있어서, 상기 업샘플링(upsampling)은 상기 신경망 출력 신호의 디컨볼루션(deconvolution) 동작을 의미하는 음성 기반 아바타 얼굴 표정 구현 장치.
  10. 삭제
  11. 삭제
  12. 삭제
  13. 제7항에 있어서, 상기 신경망은,
    대용량 음성 데이터에 대해 사전학습(pre-training)된 가중치로 초기화시킨 트랜스포머 모델(transformer model)인 음성 기반 아바타 얼굴 표정 구현 장치.










KR1020220148539A 2022-11-09 2022-11-09 음성 기반 아바타 얼굴 표정 구현 방법 및 장치 KR102575097B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020220148539A KR102575097B1 (ko) 2022-11-09 2022-11-09 음성 기반 아바타 얼굴 표정 구현 방법 및 장치
JP2023187984A JP2024069154A (ja) 2022-11-09 2023-11-01 音声ベースのアバター顔表情の実現方法および装置
US18/501,107 US20240153181A1 (en) 2022-11-09 2023-11-03 Method and device for implementing voice-based avatar facial expression

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220148539A KR102575097B1 (ko) 2022-11-09 2022-11-09 음성 기반 아바타 얼굴 표정 구현 방법 및 장치

Publications (2)

Publication Number Publication Date
KR102575097B1 true KR102575097B1 (ko) 2023-09-06
KR102575097B9 KR102575097B9 (ko) 2024-04-16

Family

ID=87974038

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220148539A KR102575097B1 (ko) 2022-11-09 2022-11-09 음성 기반 아바타 얼굴 표정 구현 방법 및 장치

Country Status (3)

Country Link
US (1) US20240153181A1 (ko)
JP (1) JP2024069154A (ko)
KR (1) KR102575097B1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210052380A (ko) * 2020-11-17 2021-05-10 넷마블 주식회사 애니메이션 생성 방법
KR102346756B1 (ko) * 2020-07-13 2022-01-03 주식회사 딥브레인에이아이 발화 동영상 생성 방법 및 장치
KR102390781B1 (ko) 2014-04-29 2022-04-25 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 얼굴 표정 추적

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102390781B1 (ko) 2014-04-29 2022-04-25 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 얼굴 표정 추적
KR102346756B1 (ko) * 2020-07-13 2022-01-03 주식회사 딥브레인에이아이 발화 동영상 생성 방법 및 장치
KR20210052380A (ko) * 2020-11-17 2021-05-10 넷마블 주식회사 애니메이션 생성 방법

Also Published As

Publication number Publication date
JP2024069154A (ja) 2024-05-21
KR102575097B9 (ko) 2024-04-16
US20240153181A1 (en) 2024-05-09

Similar Documents

Publication Publication Date Title
US11386900B2 (en) Visual speech recognition by phoneme prediction
JP6993353B2 (ja) ニューラルネットワークベースの声紋情報抽出方法及び装置
US10664060B2 (en) Multimodal input-based interaction method and device
US11847727B2 (en) Generating facial position data based on audio data
US11908483B2 (en) Inter-channel feature extraction method, audio separation method and apparatus, and computing device
CN112368719A (zh) 神经网络的梯度对抗性训练
WO2020103700A1 (zh) 一种基于微表情的图像识别方法、装置以及相关设备
WO2021196643A1 (zh) 交互对象的驱动方法、装置、设备以及存储介质
CN110298319B (zh) 图像合成方法和装置
WO2021196646A1 (zh) 交互对象的驱动方法、装置、设备以及存储介质
CN115362497A (zh) 具有延迟阈值的序列到序列语音识别
KR102501773B1 (ko) 랜드마크를 함께 생성하는 발화 동영상 생성 장치 및 방법
CN116993876B (zh) 生成数字人形象的方法、装置、电子设备及存储介质
CN115631267A (zh) 生成动画的方法及装置
KR102236582B1 (ko) 영상 처리 장치 및 그 동작방법
JP6647475B2 (ja) 言語処理装置、言語処理システムおよび言語処理方法
KR102575097B1 (ko) 음성 기반 아바타 얼굴 표정 구현 방법 및 장치
CN116561533B (zh) 一种教育元宇宙中虚拟化身的情感演化方法及终端
JP2023169230A (ja) コンピュータプログラム、サーバ装置、端末装置、学習済みモデル、プログラム生成方法、及び方法
CN115359166A (zh) 一种图像生成方法、装置、电子设备和介质
CN110852348B (zh) 特征图处理方法、图像处理方法及装置
JP2022151502A (ja) プログラム、情報処理装置、及び方法
CN117011435B (zh) 数字人形象ai生成方法及装置
CN113841107A (zh) 空间音频和触觉
KR102595666B1 (ko) 영상 생성 방법 및 장치

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
G170 Re-publication after modification of scope of protection [patent]