profile image

JONG HYUN LEE

Developer

Contact Info

Seoul, Korea

devjh@yonei.ac.kr

01066001566

Face-StyleSpeech: Enhancing Zero-shot Speech Synthesis from Face Images with Improved Face-to-Speech Mapping

저자: Minki Kang, Wooseok Han, Eunho Yang
발행일: 2024
학회: Unknown
키워드: Face-to-Speech, Speech Synthesis, Zero-shot Learning

🎤 요약

이 논문에서는 얼굴 이미지에서 자연스러운 음성을 합성하는 Face-StyleSpeech라는 새로운 제로샷 TTS 모델을 제안합니다. 기존 방법들이 얼굴 이미지에서 화자 정체성과 음성 스타일을 모두 모델링하는 데 어려움을 겪는 반면, Face-StyleSpeech는 prosody codes를 활용하여 음성 스타일 특징을 분리하고 얼굴 인코더가 화자 고유의 특징에 집중하도록 합니다.

실험 결과, Face-StyleSpeech는 기존 모델보다 더 자연스러운 음성을 생성하며, 특히 보지 못한 얼굴에 대해서도 음성과 얼굴 단서 간의 일치도를 향상시키는 것으로 나타났습니다. 이 연구는 얼굴 이미지에서 음성 합성을 위한 새로운 가능성을 제시하며, 음성 스타일과 화자 정체성을 분리하여 더욱 정확하고 자연스러운 음성 합성을 가능하게 합니다.

🎤 주요 내용

1. Face-StyleSpeech: 얼굴 이미지를 통한 제로샷 음성 합성

  • 얼굴 이미지만으로 음성을 합성하는 제로샷 TTS 모델
  • 얼굴 인코더와 프로소디 인코더를 활용하여 음색과 프로소디 특성 캡처
  • 보지 않은 얼굴에 대해서도 우수한 성능 보임

2. 얼굴 이미지 기반 음성 합성 방법

  • 텍스트 임베딩, 프로소디 코드 및 음성 벡터 기반 음성 생성
  • 얼굴 인코더를 통한 상대 음성 벡터 생성
  • 프렙레인 음성 인코더를 활용한 음성 스타일 특성 분리
  • 대비 학습 목표를 통한 벡터 수렴 방지
  • 프로소디 코드를 통한 자연스러운 음성 생성

3. 음성 스타일 인코딩을 위한 프로소디 모델링

  • Speech style을 독립적으로 인코딩
  • 프로소디 인코더를 통한 음성 스타일 학습
  • LibriTTS-R 데이터셋(245시간)과 VoxCeleb 데이터셋 활용
  • Prosody Language Model을 통한 프로소디 코드 생성
  • Character Error Rate (CER) 기반 평가

4. TTS 모델의 음성 생성 평가 지표

  • Mean Opinion Score (MOS): 5점 척도 기반 자연스러움 평가
  • Speaker Embedding Cosine Similarity (SECS): 합성 음성과 참조 음성 간 유사성
  • Speaker Embedding Diversity (SED): 다양한 얼굴 이미지 기반 음성 다양성 측정
  • 높은 MOS 점수와 낮은 CER을 통한 성능 입증

📊 핵심 수식과 예시

음성 합성 과정

Y=D(Expand(F(x;θF),d^),S(Yr;θS);θD)Y = D(\text{Expand}(F(x; \theta_F^*), \hat{d}), S(Y_r; \theta_S^*); \theta_D^*)

수식 구성 요소 설명

  1. 입력 텍스트 (xx)

    • 로봇에게 전달하는 대본
    • 예: "안녕하세요"
  2. 텍스트 인코더 (F(x;θF)F(x; \theta_F^*))

    • 텍스트를 음소 단위로 분해
    • 예: "안녕하세요" → "아/ㄴ/ㄴ/ㅕ/ㅇ/ㅎ/ㅏ/ㅅ/ㅔ/ㅇ/ㅛ"
  3. 참조 음성 (YrY_r)

    • 모방할 목소리 샘플
    • 예: 특정 화자의 음성 녹음
  4. 음성 인코더 (S(Yr;θS)S(Y_r; \theta_S^*))

    • 목소리 특징 추출
    • 예: "낮고 허스키한 목소리" 특성 추출
  5. 지속 시간 예측 (d^\hat{d})

    • 각 음소의 발음 길이 결정
    • 예: "안-" (0.2초), "-요" (0.1초)
  6. 텍스트 표현 확장 (Expand(F(x),d^)\text{Expand}(F(x), \hat{d}))

    • 음소에 시간 정보 부여
    • 예: "아(0.2초)/ㄴ(0.1초)/ㄴ(0.1초)/..."
  7. 디코더 (D(...,...;θD)D(\text{...}, \text{...}; \theta_D^*))

    • 최종 음성 합성
    • 예: "안녕하세요"를 목표 화자의 목소리로 합성

얼굴 분석가(Face Encoder) 학습 과정

1. 얼굴-음성 매핑 학습

얼굴 분석가(E)는 얼굴 이미지(I)에서 목소리 특징(v)을 추측하는 역할을 합니다. 이는 음성 분석가(S)가 실제 음성(Y)에서 목소리 특징(s)을 추출하는 것과 유사합니다.

학습 목표 1: 얼굴 기반 추측과 실제 음성 특징의 일치

Lmap=1Mi=1M[(1cos(vi,si))+MSE(vi,si)]L_{map} = \frac{1}{M}\sum_{i=1}^M [(1-\cos(v_i, s_i)) + \text{MSE}(v_i, s_i)]
  • cos(vi,si)\cos(v_i, s_i): 얼굴로 추측한 특징과 실제 음성 특징의 유사도
  • MSE(vi,si)\text{MSE}(v_i, s_i): 두 특징 벡터 간의 평균 제곱 오차
  • MM: 학습 데이터의 수

2. 대조 학습(Contrastive Learning)

얼굴 분석가가 특정 얼굴과 그에 맞는 음성을 정확히 매칭하도록 학습합니다.

학습 목표 2: 올바른 얼굴-음성 쌍 식별

logexp(cos(vi,si)/τ)exp(cos(vi,si)/τ)+k=1Kexp(cos(vi,sk)/τ)-\log \frac{\exp(\cos(v_i, s_i)/\tau)}{\exp(\cos(v_i, s_i)/\tau) + \sum_{k=1}^K \exp(\cos(v_i, s_k)/\tau)}
  • viv_i: 얼굴 이미지 IiI_i에서 추출한 목소리 특징
  • sis_i: 실제 음성 YiY_i에서 추출한 목소리 특징
  • sks_k: 다른 화자들의 음성 특징
  • τ\tau: 온도 파라미터
  • KK: 비교 대상 음성의 수

얼굴 분석가의 활용

학습이 완료된 얼굴 분석가(EE^*)는 다음과 같이 활용됩니다:

  1. 새로운 얼굴 이미지 입력
  2. 얼굴 분석가가 목소리 특징(v) 추측
  3. TTS 모델에 v 전달
  4. 주어진 텍스트를 추측된 목소리 스타일로 합성

한계점

  • 얼굴 모습만으로 완벽한 목소리 복제는 어려움
  • 실제 음성 샘플 사용보다 자연스러움이 떨어질 수 있음
  • 얼굴-음성 간의 완벽한 상관관계가 보장되지 않음

프로소디(말투) 향상을 위한 개선된 모델

1. 역할 분담을 통한 성능 향상

기존 모델의 한계를 극복하기 위해 다음과 같이 역할을 분담했습니다:

  1. 음성 분석가 (S)

    • 화자의 고유한 목소리 톤/음색에만 집중
    • 말투/운율 정보는 제외
  2. 말투(운율) 분석가 (G)

    • 음성에서 말투 정보(HyH_y)만 추출
    • "기쁘게", "질문하듯이", "차분하게" 등의 코드화
  3. 글로 말투 예측가 (PLM)

    • 텍스트만 보고 적절한 말투 예측
    • 다양한 말투 스타일 생성 가능

2. 개선된 음성 합성 과정

Y=D(Hx,Hy,E(I;θE);θD)Y = D(H_x, H_y, E(I;\theta_E^*);\theta_D^*)
구성 요소 설명
  1. 대본 준비 (HxH_x)

    • 텍스트 내용과 발음 길이 정보 포함
    • Hx=Expand(F(x),d^)H_x = \text{Expand}(F(x), \hat{d})
  2. 말투 결정 (HyH_y)

    • PLM이 텍스트 기반으로 예측
    • 참조 음성(YpY_p)을 통한 말투 다양성 확보
  3. 목소리 톤 결정 (E(I;θE)E(I;\theta_E^*))

    • 얼굴 분석가가 얼굴 이미지에서 추출
    • 순수 목소리 톤/음색에 집중
  4. 최종 합성 (D(...)D(...))

    • 세 가지 정보를 종합하여 자연스러운 음성 생성
    • 대본(HxH_x), 말투(HyH_y), 목소리 톤(E(I)E(I)) 조합

3. 개선 효과

  • 더 자연스러운 말투와 운율
  • 얼굴-음성 매핑의 정확도 향상
  • 다양한 말투 스타일 생성 가능
  • 목소리 톤과 말투의 독립적 제어

🎬 데모

Face-StyleSpeech 데모 페이지에서 다양한 예제를 확인할 수 있습니다:

  • VoxCeleb2 데이터셋의 실제 얼굴 이미지 기반 음성 합성
  • LRS3 데이터셋의 실제 얼굴 이미지 기반 음성 합성
  • generated.photos의 합성된 얼굴 이미지 기반 음성 합성

각 예제는 FACE-TTS, Grad-StyleSpeech와 비교하여 Face-StyleSpeech의 우수한 성능을 보여줍니다.

📚 관련 연구 동향

  • Wang et al. (2020): 개인화된 음성 합성 기술 연구
  • Lee et al. (2022, ICASSP): 얼굴 스타일 확산 모델 기반 TTS
  • Jiang et al. (2023): 제로샷 텍스트-음성 변환 방법
  • Ren et al. (2021, ICLR): FastSpeech 2 시스템 개발
  • 최근 연구: 음성 인식 및 관련 혁신 기술 개발에 중점

🎯 전체 과정 예시

시나리오: "안녕하세요, 오늘 날씨가 정말 좋네요" 라는 문장을 특정 얼굴 이미지의 목소리로 합성하는 과정

1. 입력 준비

  • 텍스트 입력: "안녕하세요, 오늘 날씨가 정말 좋네요"
  • 얼굴 이미지: 특정 인물의 얼굴 사진
  • 참조 음성: 비슷한 문장의 음성 샘플 (말투 참고용)

2. 처리 과정

  1. 텍스트 처리 (F(x;θF)F(x; \theta_F^*))

    • 입력: "안녕하세요, 오늘 날씨가 정말 좋네요"
    • 출력: 음소 시퀀스와 발음 정보
    [안/녕/하/세/요] [오/늘] [날/씨/가] [정/말] [좋/네/요]
    
  2. 얼굴 분석 (E(I;θE)E(I; \theta_E^*))

    • 입력: 얼굴 이미지
    • 출력: 목소리 특징 벡터
    [음색: 0.8, 음높이: 0.6, 음량: 0.7, ...]
    
  3. 말투 분석 (S(Yr;θS)S(Y_r; \theta_S^*))

    • 입력: 참조 음성
    • 출력: 말투 특징 벡터
    [감정: 기쁨 0.7, 강조: 0.5, 속도: 0.6, ...]
    
  4. 지속 시간 예측 (d^\hat{d})

    안녕하세요: 1.2초
    오늘: 0.5초
    날씨가: 0.8초
    정말: 0.4초
    좋네요: 0.9초
    
  5. 최종 합성 (D(...)D(...))

    • 입력:
      • 텍스트 표현
      • 얼굴 기반 목소리 특징
      • 말투 특징
    • 출력: 자연스러운 음성 파일

3. 결과물

  • 최종 음성:
    • 얼굴 이미지의 목소리 톤
    • 자연스러운 말투와 운율
    • 적절한 발음 길이와 강세
    • 전체 길이: 약 3.8초

4. 품질 평가

  • MOS 점수: 4.2/5.0 (자연스러움)
  • SECS 점수: 0.85 (목소리 유사도)
  • SED 점수: 0.78 (다양성)

이러한 과정을 통해 얼굴 이미지만으로도 자연스럽고 개성 있는 음성을 생성할 수 있습니다. 특히 말투와 목소리 톤을 분리하여 처리함으로써, 더욱 자연스러운 음성 합성이 가능해졌습니다.