The Beautiful Future
VOCA Voice Operating Character Animation 본문
CVPR2019
INTRODUCTION
[22] Looking to listen at the cocktail party: A speaker-independent audio-visual model for speech separation. Graph 2018.
[38] Video-audio driven real-time facial animation. Graphics 2015.
스피치 드리븐 3D facial animation이 연구 많이 되었지만 화자 독립 모델링은 아직 해결되지 않았다.
스피치와 얼구 모션은 강하게 연관되어있지만 매우 다른 공간 도메인에 있다. 그래서 많은 데이터셋이 필요하다.
포님과 페이셜 모션은 매니 투 매니 맵핑이다. 여러 사람과 스타일을 함께 학습하는 것은 더욱 어려운 문제이다.
언캐리벨리에 빠지지 않기 위해서는 리얼리스틱해야한다.
[14] Expressive speech-driven facial animation. Graphics. 2005.
[33] Audio-driven facial animation by joint end-to-end learning of pose and emotion. Graphics 2017.
특정 화자 전용 애니메이션이 학습 될수 있음을 보여줬다.
VOCASET
12명 3~4초 480 시퀀스 4D 데이터셋.
VOCA
[33] Audio-driven facial animation by joint end-to-end learning of pose and emotion. Graphics 2017.
스피커 디펜던트 페이셜 애니메이션
개인에 특화되게 모델을 만드는 것은 여러 캐릭터에 적용하기에 부적합하다.
이전 연구에는 얼굴 모션과 아이덴티티가 함께 구성되어있는 문제점이 있었다.
우리연구는 이 둘을 분리하고 스피치에 관련된 모션만 배우는 것이다.
개개인을 학습할때 레이블링해서 여러명을 같이 학습할 수 있다.
이럼으로써 학습때 안본 새로운 인물에 일반화 하는것과 다른 인물을 합성하는거이 가능해진다.
[29] Deep speech: Scaling up end-to-end speech recognition. 2014.
딥스피치를 오디오 특징 추출에 사용하였다. 보카를 다른 오디오 소스와 노이즈에 강인하게 하기위해.
FLAME head model을 사용하면서 안면 전체를 모델링 할수있다. 넓은 범위의 어른 얼굴을 애니메이션 할 수 있다.
신원과 관련된 형태와 머리 자세를 애미메니션하면서 수정할수 있다.
Related Work
얼굴 애니메이션 관련 기술은 3가지 분류로 나눠진다. 스피치 기반, 텍스트 기반, 비디오 또는 퍼포만스 기반.
스피치 기반 얼굴 애니매이션
이미지 비디오 가 많아서 모노큐라로 시도했다.[7 8 16 23 51 59 62]
[8] Video rewrite: Driving visual speech with audio. SIGGRAPH 1997.
Hidden Markov Model 을 이용해서 음성을 발음 기호 라벨로 고쳐쓰고 입 영역 이그젬플 기반 비디오 워핑으로 애니메이션했다.
[48] Talking heads synthesis from audio with deep neural networks. System Integration, 2015.
MFCC 특징으로 부터 LSTM을 사용해서 Active Apperance model 파라미터를 예측했다.
[16] Lip movements generation at a glance. ECCV 2018.
오디오와 이미지 모션을 연관시켜서 임의 사람의 입모양 합성했다.
[51] Synthesizing Obama: learning lip sync from audio. SIGGRAPH 2017.
오바마의 19만 프레임에서 포토 리얼리스틱 입 텍스쳐 애니메이션을 RNN을 이용해 생성했다.
[42] Speech-driven 3D facial animation with implicit emotional awareness: A deep learning approach. CVPRW 2017.
포즈와 블렌드 셰입 계수[A 3D facial expression database for visual computing. Visualization and Computer Graphics 2014]를 MFCC로 부터 LSTM을 이용해서 예측했다. 이 모델은 여러 인물에 학습되었지만
2D 비디오에서 예측된 모델 파라미터에 의존적이다(3D 스캔이 아닌), 이게 그들의 품질을 제한한다.
[10, 14] 멀티플 뷰 모션캡쳐 데이터를 사용.
[33] 하이 레졸루션 3D 스캔을 사용했다.
[10] Rigid head motion in expressive speech animation. Audio, Speech, Language Processing. 2007.
expressive speech sequences에서 강체 머리 움직임을 합성했다.
[14] Expressive speech-driven facial animation. Graphics 2005.
오디오를 포님으로 나누고 이그젬플 기반 그래프 방법을 매칭되는 마우스 애니메이션을 선택하기 위해 사용했다.
[33] Audio-driven facial animation by joint end-to-end learning of pose and emotion. Graphics 2017.
LPC audio feature를 3D vertex displacement로 맵핑하는 컨볼루션 모델을 제안했다.
하지만 이들의 모델은 특정 인물용이고 새로운 사람을 애니메이션하기위해선 캡쳐를 새로해야하고 몇천장의 프레임 데이터를 처리해야한다. 보카는 얼굴음직임에서 신원을 고려하고 여러명을 학습한다. 이 방법은 넓은 범위의 어른 얼굴을 애니메이션할 수있게한다.
[20, 21, 31, 32, 46, 52, 53, 54, 70] 예술가가 디자인한 캐릭터 리그를 애니메이션하는 논문들이다.
[20] Head motion synthesis from speech using deep neural networks. Multimedia Tools and Applications. 2015.
[21] JALI:An animator-centric viseme model for expressive lip synchronization. SIGGRAPH 2016.
[31] Real-time speech driven face animation with expressions using neural networks. Neural Netwoks, 2002.
[32] Speech driven facial animation. the 2001 workshop on Perceptive user interfaces, pages 1–5, 2001.
[46] Synface—speech-driven facial animation for virtual speech reading support. Audio, Speech, and Music Processing, 2009.
[52] Audio-to-visual speech conversion using deep neural networks. 2016.
[53] A deep learning approach for generalized speech animation. Graphics, 2017.
[54] Dynamic units of visual speech. In SIGGRAPH/Eurographics conference on Computer Animation, 2012.
[70] Visemenet: Audio-driven animator-centric speech animation. Graphics, 2018.
[53] 은 딥러닝 기반 스피치 드리븐 페이셜 애니메이션 모델을 스라이딩 윈도우 접근을 동해 제안했다.
슬라이딩 윈도우는 트랜스크립티드 포님 시퀀스에 적용된다. LSTM 기반 [24], [25]를 넘어섰다.
[24] Photo-real talking head with deep bidirectional LSTM. Speech Signal Processing 2015.
[25] A deep bidirectional LSTM approach for video-realistic talking head. Multimedia Tools and Applications, 2016.
일반적인 얼굴을 애니메이션하는 면에서 보카와 유사하지만 보카는 리얼리스틱 페이스를 애니메이션 하는 것이 다르다.
Text-driven facial animation
[45] HMM-based text-to-audio-visual speech synthesis. 2000.
HMM 기반
[4] Expressive visual text-to-speech using active appearance models. CVPR 2013.
Extended HMM 기반 AAM 단일 유저 특정. 후속으로 3D 연기자 얼굴을 애니메이션 했다.
보카의 목적은 텍스트 기반으로 하는 것이 아니기 때문에 다르다. 하지만 보카는 TTS[56]의 결과로 동작은 가능하다.
[56] Wavenet: A generative model for raw audio. CoRR 2016.
[33] 이 이렇한 방법 TTS SDFA를 사용했다.
[33] Audio-driven facial animation by joint end-to-end learning of pose and emotion. Graphics 2017.
Performance-based facial animation
비주얼 데이터에 기반한 아바타 얼굴 애니메이션
[3] The digital emily project: Photoreal facial modeling and animation. In SIGGRAPH 2009.
[61] An anatomically-constrained local deformation model for monocular face capture. Graphics 2016.
[35] Production-level facial performance capture using deep convolutional neural networks. 2017.
하이 레졸루션 얼굴 스캔으로 부터 단일 인물 페이스 리그 구성하고 비디도 기반 시스템으로 이 리그를 동작했다.
텐서 기반 멀티리니어 얼굴 모델 [5, 11, 12, 19, 57, 63]
리니어 얼굴 모델[55]
[11, 12] 리그레션 기반 얼굴 트렉커를 페이스 리그와 아바타를 애니메이션하기위해 사용했다.
[11] Real-time high-fidelity facial performance capture. Graphics 2015.
[12] Displaced dynamic expression regression for real-time facial tracking and animation. Graphics 2014.
[55] 랜드마크 기반 얼굴 트렉커를 사용하였고 디포메이션 트랜스퍼[50]을 이용하여 모노쿨라 비디오를 재연하였다.
[55] Face2Face: Real-time Face Capture and Reenactment of RGB Videos.
[50] Deformation transfer for triangle meshes. Graphics 2004.
다른 방법들은 RGBD 또는 4D 시퀀스를 이용해서 얼굴을 트랙킹하고 애니메이션하였다.
[36] Example-based facial rigging. 2010.
[60] Real-time performance-based facial animation. Graphics, 2011.
[6] Online modeling for realtime facial animation. Graphics, 2013.
[38] Video-audio driven real-time facial animation. SIGGRAPH Asia 2015.
[37] Learning a model of facial shape and expression from 4D scans. Graphics, 2017.
3D face datasets
대부분 데이터셋이 감성 표정에 집중했고 스피치에 따른 변화를 다룬 데이터셋을 별로 없다.
static 3D facial shape and expression [13, 47, 65]
[13] Faceware-house: A 3D facial expression database for visual computing. 2014.
[47] Bosphorus database for 3D face analysis. 2008.
[65] A 3D facial expression database for facial behavior research. 2006.
dynamic facial expressions [2, 15, 18, 44, 64,68, 69]
[2] A 3D dynamic database for unconstrained face recognition. 2014.
[15] Automatic 3D facial expression analysis in videos. 2005
[18] A FACS valid 3D dynamic action unit database with applications to 3D dynamic morphable facial modeling. 2011.
[44] Generating 3D faces using convolutional mesh autoencoders. ECCV 2018.
[64] A high-resolution 3D dynamic facial expression database. FG 2008.
[68] BP4D-spontaneous: a high-resolution spontaneous 3D dynamic facial expression database. 2014.
[69] Multimodal spontaneous emotion corpus for human behavior analysis. CVPR 2016.
4DFAB dataset [17] 은 4D capture of 180 인물 담고 있지만 고작 9개 단어 어터런스와 메쉬 품질이 안좋다.
B3D(AC)^2 dataset[26]은 많은 양의 audio-4D scan 페어를 가지고 있다. 40 영어 센텐스들.
반면 보카셋은 255 유니크한 센텐스르 가지고 있다.
Preliminaries
임의의 인물에 일반화, 다양한 오디오, 다양한 얼굴 모양과 움직임.
DeepSpeech
다양한 오디오에 강인해지기 위해 DeepSpeech을 사용했다.
E2E 모델이고 Automatic Speech Recognition(ASR) 모델이다.
네트웍 구존느 5 레이어의 히든유닛으로 구성되어있다.
처음 3 레이어는 RELU 액티베이션을 가지느 FCL이다.
4번째 레이어는 바이디렉션날 RNN이다.
5번째 레이어는 RELU 액티베이션을 가지느 FCL이다.
마지막 레이어는 글자 개수 만큼의 softmax를 가지는 확률을 출력하는 FCL이다.
[40] Mozilla. Project DeepSpeech. https://github.com/mozilla/DeepSpeech, 2017.
에서 제공하는 버전은 논문과 조금 다르다. RNN이 LSTM으로 대체되었고 26 MFCC 가 스펙트로그램 대신 사용되었다.
VOCA
인물에 특정된 템플릿 T와 오디오 시그널를 입력으로 받는다. DeepSpeech 모델을 이용해서 오디오 시그널에서 특징을 추출한다.
출력은 3D 메쉬이다. 엔코더는 딥스피치에서 나온 오디오 특징을 작은 디멘전으로 임베딩하고 디코더는 고차원 3D 버텍스로 맵핑한다.
Speech feature extraction
N초의 오디오가 주어지면 DeepSpeech에서 나오는 특징은
0.02초 길이의 프레임(50FPS)을 위한 출력은 캐릭터의 정규화되지 않은 로그 확률이다.
그리고 이 확률 특징의 크기는 D 로 알바벳 문자 개수와 하나의 블랭크의 수이다.
50 x N x D 가 N초 50FPS D 특징차원으로 이루어지는 speech feature의 크기이다.
50FPS에 해당하는 출력을 60FPS로 리니어 인터폴레이션으로 리샘플링을한다.
그래서 60 x N x D 크기가 된다.
시간 연속성을 위해 오버랩핑을 W 크기로 한다.
그래서 60 x N x W x D 크기가 된다.
Encoder
4개의 컨볼루션 레이어와 2개의 풀리 커넥티드로 연결되어있다.
여러명의 화자 중 한명만 활성화 할 수 있게 스피치 특징과 최종 컨볼루션 레이어에 화자 서브젝트 레이블이 적용된다.
화자 레이블은 원핫 벡터로 표현되어 각 D 차원 스피치 특징 벡터에 컨케트네이션된다. 60 x N x W x (D + O)
각 컨볼루션 레이어는 3x1 커널과 2x1 스트라이드를 사용한다.
스피치 특징은 공간 연관이 없기 때문에 W x 1 x (D + O)로 리쉐입한다.
1D 컨볼루션을 템퍼럴 축으로 적용한다.
화자 레이블은 마지막 컨볼루션 레이어의 출력과 또 다시 컨케트네이션된다.
오버 피팅을 막기위해 필터 개수를 첫 두개 컨볼루션에 32개 나머지 두개에 64개를 사용했다.
풀리 커넥티드레이어에서는 128개 50개의 유닛을 사용했다. 하이퍼보릭 탄젠트 액티베이션을 사용했다.
Decoder
풀리 커넥티드 레이어의 노드 개수 5023x3 크기의 기본 템플릿 메쉬의 디스플레이스먼트가 출력된다.
이전 50개의 출력을 받아서 5023x3개를 출력하는 풀리 커넥티드 레이어이다.
레이어의 초기값은 50 PCA 성분을 사용했다. 50 PCA 성분은 학습셋에서 버텍스의 차이를 계산한 값으로 초기화 했다.
Animation control
인퍼런스시 화자 레이블을 바꿔서 각 화자의 스타일을 적용할수있다.
Model training
Training set-up
8명을 학습에 사용, 2명을 밸리데이션에 사용, 2명을 테스트에 사용.
트레이닝셋은 8명의 40 문장으로 구성, 총 320 문장이다.
벨리데이션과 테스트로는 유일한 20문장을 다른 인물과 겹치지않게 선택했다. 각각 40 문장.
트레인, 벨리데이션, 테스트 모두 겹치지않는다.
Loss function
위치 텀 버텍스의 L2 프로비니어스 놈, 속도 텀의 L2 프로비니어스 놈을 계산
Training parameters
50 epoch을 학습했다. 고정 러닝 레이트 1e-4를 사용했다. 위치텀에 1 속도텀에 가중치 10 을 사용했다.
배치 크기는 64이고 배치 노말라이제이션을 사용했다. 윈도우 크기는 16을 사용했다. 문자 개수 D는 29개를 사용했다.
아담 옵티마이져를 사용했고 1에폭에 10분이 걸렸다. DeepSpeech는 고정했다.
VOCASET
6명 여자, 6명 남자. 40 시퀀스 영어. 각 3~5초.
[27] The DARPA speech recognition research database: Specifications and status. DARPA 1986.
문장들은 표준 프로토콜을 따라 선택되었고 발음 분포가 최대화되도록 선택되었다.
[28] Darpa timit acoustic phonetic continuous speech corpus cdrom. 1993.
특별히 각 인물은 27 문장을 이야기했다 [28]에 있는 TIMIT corpus 에 있는것들.
[33] Audio-driven facial animation by joint end-to-end learning of pose and emotion. Graph, 2017.
3 단락은 [33] 에 있는것을 사용했다.
[43] Squad: 100,000+ questions for machine comprehension of text. 2016.
SQuAD 스텐포드 질문 답변 데이터셋[43]에 있는 10개의 질문을 사용했다.
녹음된 문장은 모든 인물에게 배포되었고
15개 문장은 3-5번 인물에 의해서 말해졌다.(50개 유일한 문장)
20개 문장은 1-2 인물에 의해서 말해졌다. (200개 유일한 문장)
Capture setup
Atlata 에 있는 3dMD LLC의 멀티 카메라 시스템을 사용했다. 고품질 3D head scan 과 오디오.
6개의 그레이 스테레오 카메라, 6개의 컬러 카메라 쌍. 5개 speckle pattern projectors. 6개 화이트 판넬.
60FPS 촬영 120K 버텍스. 음성은 22kHz.
Data processing
3D head scan들은 [37]의 방법으로 순차적으로 얼라인 한다.
[37] Learning a model of facial shape and expression from 4D scans. Graphics, 2017.
[9] 방법으로 랜드마크를 찾고 얼라인할때 사용했다.
[9] How far are we from solving the 2D & 3D face alignment problem?, ICCV 2017.
얼라인된 플레임모델의 버텍스와 스캔된 버텍스 간 가장 가까운 쌍으로 잡아준다.
모든 메쉬는 언포즈된다. 회전, 이동변환이 제거된다. 목 주변과 귀는 자동으로 고정된다.
눈 주변은 캡쳐노이즈을 줄이기 위해 가우시안 스무딩한다. 입은 스무딩 안한다.
Experiments
에러에 대한 놈을 구하는 정량 평가는 적절하지 않다. 얼굴 바이즘은 매니 투 매니 맵핑이기 때문이다.
같은 스피치를 위한 넓고 많은 타당한 얼굴 모션이 존재한다. 대신에 우리는 인지적 품질적 평가를 할 수 있다.
Perceptual evaluation
User study
Comparison to recoreded performance
Speech feature ablation
Style comparisons
Qualitative evaluation
Generalization across subjects
신원을 얼굴 모션으로 부터 팩터링하는것은 넓은 어른 얼굴을 애니메이션하게 해준다.
Generalization across languages
비디오를 보면 다른 언어에도 일반화 될 수 있음을 알 수 있다.
Speaker styles
추론하는 동안 다른 인물에 대한 조건화(원핫벡터)는 다른 말하기 스타일을 초래합니다.
스타일 차이점에는 입술 관절의 변화가 포함됩니다. 입술 사이 간격 그래프로 확인함.
중간 스피킹 스타일을 컨디션 조합으로 만들어냈다. 디코더의 선형성 때문에 이 컨벡스 조합은 3D 버텍스 공간 또는 50차원 엔코딩
공간에서 동일하다. 보조 자료 비디오는 스타일을 조합하는 것이 보여준다. 학습동안 보지않은 스타일을 만들어낼수 잇는 가능성을 보인다. 이건 미래의 일이다.
Robustness to noise
realistic street noise sequence [49] 36dB, 24dB, 18dB, 12dB.
Comparison to Karras[33]
[33]은 SOTA realistic subject specific audio-driven facial animation 이다.
해당 논문저자가 비교할 수 있게 비디오를 제공해줬다.
[33] 이 더 자연스럽고 디테일한 결과를 보였다. 보카은 이방법과 다르게 특정 인물의 학습 없이 비슷한 결과를 보였다.
전문 베우로 감정 스피치를 사용했다. 이게 보다 많은 얼굴 상단에 리얼리즘을 주었다. 음성보다 감정에 연관되어있다.
Animation control
신원과 포즈를 바꿀수 잇다.
Conclusion
여러 인물에 걸쳐 동작하는 스피치 드리븐 얼굴 애니메이션 프레임웍을 제안했다.
주어진 임의의 음성신호와 고정된 메쉬로 부터 완전 자동으로 현실같은 캐릭터 애니매이션을 생성한다.
현재의 음성신호처리와 3D face model의 발전을 이용하여 인물 독립적이다.
주요 인싸이트는 얼굴 모션에서 인물정보를 요소화했다.