From Tokens to Faces: Investigating Discrete Speech Representations for 3D Facial Animation
본 논문은 3D 얼굴 애니메이션을 위한 네 가지 계열의 이산 음성 표현을 평가하며, 음소 클래스를 인코딩하는 것이 정확한 예측을 산출함을 입증하고, 음성과 3D 얼굴 움직임을 동시에 디코딩하기 위해 공유된 이산 표현을 활용하는 오디오-비주얼 텍스트 음성 변환(AVTTS) 파이프라인의 도입을 가능하게 한다.
원본 논문은 CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) 라이선스로 제공됩니다. 이것은 아래 논문에 대한 AI 생성 설명입니다. 저자가 작성하거나 승인한 것이 아닙니다. 기술적 정확성을 위해서는 원본 논문을 참조하세요. 전체 면책 조항 읽기
당신이 로봇에게 말하는 법과 얼굴 근육을 동시에 움직이는 법을 가르치려 한다고 상상해 보세요. 로봇의 목소리는 가지고 있지만, 얼굴에는 무엇을 하라고 명령해야 할까요? 모든 근육의 움직임을 상세히 적은 대본을 주어야 할까요? 아니면 가공되지 않은 오디오 파일을 주어야 할까요? 그것도 아니라면 단순하게 코딩된 지침 세트를 주어야 할까요?
**"From Tokens to Faces"**라는 제목의 이 논문은 본질적으로 일종의 '맛 테스트'입니다. 연구진은 3D 애니메이션 얼굴이 말을 할 때 어떻게 하면 가장 자연스럽게 보이도록 만드는지, 어떤 유형의 "지시 코드"가 가장 효과적인지 알아내고자 했습니다.
네 가지 유형의 "지시 코드"
연구진은 인간의 음성을 컴퓨터가 이해할 수 있는 데이터(이를 "표현(representations)"이라고 부릅니다)로 변환하는 네 가지 서로 다른 방법을 테스트했습니다.
- "의미적(Semantic)" 코드 (HuBERT): 이것은 문장의 의미를 이해하는 번역가와 같습니다. 이 코드는 어떤 단어가 말해지고 있는지, 그리고 그 주변의 맥락을 이해합니다. 말의 "아이디어"를 파악하는 데 탁월합니다.
- "음향적(Acoustic)" 코드 (WavTokenizer): 이것은 고속 오디오 압축기와 같습니다. 의미나 특정 철자에는 신경 쓰지 않고, 순수하게 음파와 그 느낌에만 집중합니다. 소리를 재현하는 데는 매우 효율적이지만, 단어에 대한 이해는 없습니다.
- "하이브리드(Hybrid)" 코드 (SpeechTokenizer): 이것은 위의 두 가지를 혼합한 것입니다. 단어의 의미와 소리의 질감을 동시에 이해하려고 노력합니다.
- "라벨 기반(Label-Based)" 코드 (CosyVoice2): 이것은 체크리스트를 사용하는 엄격한 선생님과 같습니다. 음성을 구체적이고 불연속적인 라벨(예: 특정 글자나 소리)로 분해하며, 유동적인 소리보다는 언어의 구조에 집중합니다.
실험: 페이스 디코더 (Face Decoder)
연구진은 이 네 가지 서로 다른 코드를 두 가지 다른 "얼굴 드라이버(디코더)"에 입력했습니다.
- GRU: 한 번에 하나의 얼굴 프레임만을 살펴보는 단계별 드라이버입니다.
- 트랜스포머(Transformer): 문장의 흐름을 이해하기 위해 문단 전체를 읽는 것처럼, 문장 전체를 한꺼번에 살펴보는 드라이버입니다.
그 후, 결과물인 애니메이션 얼굴이 실제 인간의 얼굴과 얼마나 잘 일치하는지를 세 가지 방법으로 측정했습니다.
- 수학: 로봇의 입술과 인간의 입술 사이의 거리를 측정했습니다.
- 매끄러움: 얼굴이 떨리거나 끊기지 않고 부드럽게 움직이는지 확인했습니다.
- "사람의 눈" 테스트: 실제 사람들이 영상을 보고 현실적인지 평가하게 했으며, 이는 블라인드 테스트와 유사합니다.
연구 결과
이 연구의 놀라운 결과들을 쉽게 설명하면 다음과 같습니다.
- 의미가 중요하다: "의미적" 코드(번역가)와 "라벨 기반" 코드(체크리스트)가 승자였습니다. 이 코드들이 가장 현실적인 얼굴을 만들어냈습니다. 얼굴이 자연스럽게 움직이려면, 단순히 소리의 파동이 어떻게 진동하는지가 아니라, 무엇이 말해지고 있는지(음성 부류)를 알아야 한다는 것이 밝혀졌습니다.
- 너무 많은 소리는 독이다: "음향적" 코드(순수 소리)와 "하이브리드" 코드(소리 + 의미)는 성적이 좋지 않았습니다. 컴퓨터가 원시적인 소리 세부 사항에 너무 집중하면, 입술을 어떻게 움직여야 할지 혼란을 겪는 것으로 보입니다. 소리의 "노이즈"가 오히려 얼굴 애니메이션을 방해했습니다.
- 최고의 드라이버: "트랜스포머" 드라이버(문장 전체를 보는 드라이버)는 단계별 드라이버보다 불연속적인 코드들과 훨씬 더 잘 작동했습니다.
- "라벨 기반"의 반전: 원래 텍스트 음성 변환(TTS)을 위해 설계된 "라벨 기반" 코드가 복잡한 "의미적" 코드와 거의 대등한 성능을 보였습니다. 이는 이 코드가 훨씬 더 단순하고 구조적이라는 점에서 매우 중요한 발견입니다.
핵심 아이디어: "올인원(All-in-One)" 머신
이 논문에서 가장 흥}{exciting한 부분은 연구진이 **AVTTS (Audio Visual Text-to-Speech)**라고 부르는 새로운 개념입니다.
보통 말하는 머리(talking head)를 만들려면 두 단계를 거쳐야 합니다.
- 텍스트를 오디오로 변환한다.
- 그 오디오를 움직이는 얼굴로 변환한다.
연구진은 "라벨 기반" 코드가 음성을 표현하는 데 매우 뛰어나기 때문에, 이를 공유된 언어로 사용할 수 있다는 것을 보여주었습니다. 텍스트를 시스템에 입력하면, 중간 단계 없이도 오디오와 움직이는 얼굴을 동시에, 완벽하게 동기화하여 내뱉을 수 있습니다. 이는 마치 지휘자가 단 하나의 악보로부터 오케스트라(목소리)와 무용수(얼굴)를 동시에 지휘하는 것과 같습니다.
결론
로봇의 얼굴을 진짜처럼 보이게 하려면, 소리의 파동에 담긴 모든 미세한 디테일을 입력할 필요가 없습니다. 대신, 말하고 있는 소리와 글자에 대한 명확하고 구조화된 이해를 제공해야 합니다. 만약 컴퓨터에게 음성의 명확한 "지도"(예: 소리의 체크리스트)를 준다면, 설령 원본 오디오 파일이 없더라도 입술을 완벽하게 움직이는 법을 찾아낼 수 있습니다.
연구 분야의 논문에 파묻히고 계신가요?
연구 키워드에 맞는 최신 논문의 일일 다이제스트를 받아보세요 — 기술 요약 포함, 당신의 언어로.