본문 바로가기

연구실 공부

[논문] Residual-guided Personalized Speech Synthesis Based on Face Image

728x90

https://arxiv.org/abs/2204.01672

 

Residual-guided Personalized Speech Synthesis based on Face Image

Previous works derive personalized speech features by training the model on a large dataset composed of his/her audio sounds. It was reported that face information has a strong link with the speech sound. Thus in this work, we innovatively extract personal

arxiv.org

해당 논문을 보고 작성했습니다.

 

Abstract

이전 연구들은 사람의 audio sound로 구성된 대규모 dataset으로 model을 학습하고, model로부터 각 speaker에 대한 speech feature를 얻어냈습니다. 이 논문에서는 speech sound와 강력한 연관성이 있는 face information에 대한 연구를 진행합니다. 그래서 이 논문에서는 neural vocoder를 이용해 개인의 speech를 합성하기 위해, human face로부터 개인화된 speech feature를 혁신적으로 추출합니다.  Face-based Residual Personalized Speech Synthesis Model (FR-PSS)은 speech encoder, speech synthesizer, face encoder를 포함하고 있으며, 이 model은 PSS를 수행합니다. 이 model에서 2가지 speech prior를 design합니다. 이를 통해 training을 하면서 face feature가 true speech feature로 접근하도록 guide를 제공하는 residual-guided strategy을 사용했습니다. 그리고 feature의 절댓값과 방향 편향을 고려하여, face encoder를 위한 새로운 tri-item loss function을 공식화했습니다. 저자들의 실험은 저자들의 model로 합성한 speech가 이전 연구에서 대량의 audio data를 훈련하여 합성된 개인화된 speech와 비교가능한 수준임을 보여줍니다.

 

Introduction

Face2Speech는 face image에서 acoustic feature를 predict하고 WORLD vocoder를 사용해 speech를 합성합니다. WORLD vocoder는 다양한 artifact를 만들어내며, WaveNet vocoder가 더 자연스러운 sound를 만들어냅니다. 게다가, Face2Speech는 정량적인 실험이 아닌 주관적인 실험만 진행했으며, 이는 객관적인 평가 기준이 부족한 모습입니다.

이 논문에서, 저자들은 speaker-independent Face-based Residual Personalized Speech Synthesis Model (FR-PSS)를 제안합니다. 이 model은 encoder-decoder architecture이며, face image로부터 personalized information을 추출하고 natural vocoder를 이용해 audio speech를 합성합니다. 먼저 speech encoder는 speech로부터 feature를 추출하도록 학습됩니다. 그다음, speech synthesizer는 주어진 text와 pre-trained speech encoder로 생성된 feature를 가지고 speech를 합성하도록 학습됩니다. 그다음, face encoder는 face image와 speech pair를 가지고 speaker의 face image로 feature를 추출할 수 있도록 학습됩니다. face encoder는 speaker의 face image로 구한 feature가 speaker의 speech의 feature와 가까워지도록 만들어야 합니다. tri-item loss function과 residual-guided strategy는 이 step에서 사용됩니다. 마지막으로, face encoder와 speech synthesizer가 concatenate되어 FR-PSS model을 구성합니다. Face2Speech와 비교하여, 저자들은 정량적인 실험도 진행합니다. 저자들의 FR-PSS가 speech로 구한 embedding vector로 합성한 personalized speech와 비교 가능할 정도의 performance를 보인다는 것을 실험을 통해 증명했습니다.

저자들의 contribution을 정리하면 다음과 같습니다.

1. 새로운 speech synthesis model FR-PSS를 제안합니다. human face로부터 personalized speech feature를 추출하고 neural vocoder를 이용해 personalized speech를 합성합니다.

2. 더 representative한 face feature를 network가 cature할 수 있도록 만들고 model을 효율적으로 학습하게 만들어주는 residual-guided strategy을 소개합니다.

3. 학습의 수렴 속도를 높여주는 tri-item loss function을 제안합니다.

 

Face-Based Residual Personalized Speech Synthesis Model

 

model은 위와 같습니다. Speech Encoder (SE), Speech Synthesizer (SS), Face Encoder (FE), Residual-guided strategy와 tri-item loss function으로 구성됩니다.

 

Speech Encoder and Speech Synthesizer

Speech Encoder (SE)는 speech feature를 추출합니다. 저자들의 network는 speech로부터 구한 mel-spectrogram sequence를 고정된 차원의 embedding vector로 mapping합니다. 40차원 mel-spectrogram은 network로 feed되고, network는 768개 unit으로 구성된 3개의 LSTM layer로 구성되며, 각 layer뒤에 256차원 projection layer가 있습니다. inference에서는 speaker의 각 utterance는 800ms window로 50% overlap되며 나눠집니다. networks는 각 window에 대해 독립적으로 동작하고, 마지막으로 모든 결과에 평균을 구하고 normalization을 적용하여 최종 speech embedding을 구합니다. 저자들은 generalized end-to-end speaker verification loss를 사용해 해당 network를 학습합니다.

Speech Synthesizer (SS)로 저자들은 Tacotron 2model을 사용하며, encoder와 decoder를 포함하고 location sensetive attention을 적용합니다. pretrained WaveRNN을 vocoder로 사용합니다.

 

Face Encoder

저자들은 Face Encoder (FE)를 이용해 face feature를 추출합니다. 이 face feature는 speech를 합성하는 데 사용됩니다. 4개의 convolution block으로 이루어지며, 각 block은 convolution kernel size가 1x1, 3x3, pooling layer가 stack되어 구성됩니다. output feature의 차원은 이 3가지 연산을 거친 다음 동일해지며, channel 차원에 맞춰 더해집니다. 

각 convolution layer를 한 다음 ReLU operation이 수행되고, 이를 통해 network의 non-linear 특성이 향상됩니다. 마지막으로 1x1 convolution을 통해 256차원 embedding을 얻습니다. 이를 통해 network의 width를 늘릴 수 있으며, input의 scale에 대한 adaptability를 향상시킬 수 있습니다. 

FE가 face feature에 focus하고 background noise를 무시하도록 만들기 위해, 저자들은 lightweight general purpose module CBAM (Convolutional Block Attention Module)을 사용합니다. CBAM은 channel attention과 spatial attention을 포함하며, decoder로 embedding됩니다. CBAM을 통해 network가 input의 다양한 feature를 인식할 수 있게 만들어주고(channel attention에 의해), 공간적 위치의 중요성을 조절하여 network가 input image의 중요한 부분에 집중할 수 있도록 만들어줍니다(spatial attention에 의해). 그리고 channel-focused attention mechanism을 사용하고 CBAM의 성능을 향상시켰습니다.

 

Residual-guided Strategy

face image와 speech 사이의 mismatch 때문에, face image에서 speech feature를 완벽하게 추출하는 것은 어렵습니다. 그래서 저자들은 prior information을 추가하여 FE가 speech feature를 뽑아내도록 도와줍니다. prior speech feature를 사용함으로써, 저자들은 prior speech feature와 같은 speech의 main similar part를 제거하기 위해 residual idea를 적용합니다. 이를 통해 speech feature에 나타나는 미묘한 변화를 강조할 수 있습니다. 이를 통해 학습의 어려움을 해결할 수 있고 더 representative한 speech feature를 학습할 수 있습니다. 저자들의 FR-PSS는 network Φ을 이용해 face image를 speech로 변환합니다. Φ: Φ(f, t) = SS(FE(f) + t + s_prior)입니다. 여기서 SS는 speech synthesizer를 의미하고 t는 text를 의미합니다. 그리고 f는 input face의 image를 의미합니다. s_prior는 training stage 이전에 계산된 prior speech feature를 의미합니다.

이 논문에서는 2가지 prior에 대한 연구를 진행합니다. neutral speech prior와 gender-dependent prior입니다. 먼저 neutral speech prior부터 알아보겠습니다.

neutral speech prior는 성별이 균형적인 대규모 음성 dataset의 산술 평균입니다: s_prior = (1/n)*∑SE(s)입니다. 여기서 s는 audio clip을 의미하고 n은 speaker의 수를 의미합니다. SE는 CNN 구조이고, n을 10, 50, 100, 1000으로 설정하여 speech feature를 추출합니다. 저자들은 n을 500으로 설정하여 neutral speech prior를 구했다고 합니다. 즉 neutral speech prior는 모든 speaker에 대한 embedding의 평균을 구했기 때문에, 완전히 general한 speaker embedding이 됩니다.

두 번째 prior speech feature로 저자들은 gender-dependent prior를 사용합니다. 이는 남성과 여성에 대한 prior speech feature를 구합니다. 이를 위해, 먼저 robust classifier network가 필요하며, 이를 통해 face image를 성별에 대해 예측할 수 있습니다. 저자들은 gender prediction network를 이용해 speaker의 성별을 구분했습니다. 그다음 성별에 따라 prior speech feature를 추출하여 사용했다고 합니다.

 

Tri-item Loss Function

 FE가 personalized facial feature를 잘 추출하도록 만들기 위해, 저자들은 tri-item loss function을 공식화했습니다. tri-item loss는 L2 loss와 negative cosine similarity loss, triplet loss를 사용합니다.

저자들은 L2 loss가 facial feature와 speech feature 사이의 error를 측정하는 데 사용할 수 있다고 생각하며, 추상적인 level에서 두 feature의 지각적 유사도를 향상시킬 수 있다고 생각합니다. negative cosine similarity는 speech feature와 face feature vector가 비슷한 방향이 되도록 만들어줍니다. triplet loss는 speech feature와 그에 대응하는 face feature vector가 가까워지도록 만들어주며, speech feature vector와 그에 대응하지 않은 face feature vector들은 멀어지도록 만들어줍니다. 최종 loss는 다음과 같습니다.

 

여기서 d는 embedding vector의 distance를 의미하고 A는 speech feature, B는 그에 대응하는 face feature embedding vector입니다. C는 speaker에 대응하지 않은 face feature vector를 의미하고 n은 feature vector의 차원을 의미합니다.

 

Experiment

Datasets

SE를 학습하기 위해, 저자들은 Voxceleb2를 이용했으며 sampling rate를 16kHz로 resampling했다고 합니다. SS를 학습하기 위해, 저자들은 LibriTTS를 사용했습니다. FE를 학습하기 위해, 저자들은 Voxceleb2 dataset의 voice recording과 filter된 VGGFace2 dataset을 face image로 사용했습니다. 저자들은 두 dataset에서 동일한 identity를 가진 교집합을 골랐으며 non-English speaker는 제거했다고 합니다. 최종 1089명의 speaker로부터 149,354개의 voice recording과 139,572개의 face image를 얻을 수 있었다고 합니다.

 

Evaluation Metrics

FR-PSS에 의해 합성된 speech의 quality를 정량적으로 평가하기 위해, 저자들은 생성된 audio와 original audio로 추출한 speech feature를 비교했습니다. 이때 L1, L2, Cosine Similarity loss (Cos)를 사용합니다. 두 feature의 방향이 비슷하고 차이가 크지 않다면 L1과 L2는 0이 되는 경향이 있고 Cos는 1이 되는 경향이 있습니다. 그리고 저자들은 MOS evaluation도 진행합니다. 자연스러움과 유사도에 대한 평가를 진행했습니다.

 

Result and Analysis

Ablation Experiment on Loss Function

tri-item loss function의 효율성을 확인하기 위해, 저자들은 다른 loss function들과 비교를 진행했습니다. 결과는 다음과 같습니다.

 

저자들이 제안한 tri-item loss function을 사용한 경우 model이 학습하는 속도를 향상시키기 때문에 수렴 속도가 빠른 것을 볼 수 있습니다. 즉 tri-item loss function이 효율적이라는 것을 증명합니다.

 

Quantitative Result

audio data들은 personalized speech feature를 얻기 위해 model을 학습하는 데 사용되었습니다. 저자들은 speaker audio embedding을 사용하여 personalized speech를 합성하는 method를 SYNTH-AUDIO라 부릅니다. SYNTH-AUDIO의 embedding vector는 speaker의 audio에 SE를 적용하여 구해집니다. FR-PSS는 speaker의 face image를 이용해 FE가 embedding vector를 만들어내고 이를 이용해 speech를 합성합니다. FE는 SE의 embedding vector와 FE의 output vector 사이의 loss를 minimize하도록 학습되기 때문에, SYNTH-AUDIO는 이 framework의 upper-bound로 여길 수 있습니다.

 

다양한 method를 이용하여 generated audio로부터 speech feature를 뽑아낸 결과와 true speech feature (T_speech) 사이의 차이를 계산한 결과는 위와 같습니다. 저자들은 L1 / L2 distance와 Cos를 보여줍니다. FR-PSS로 얻은 speech가 SYNTH-AUDIO와 비슷한 것을 볼 수 있습니다. 특히, gender prior를 추가해 주면 상당히 향상된 performance를 얻을 수 있습니다. male prior의 경우, training dataset과 test dataset에 존재하는 male speaker에 대한 prior만 구해 사용했으며, female prior는 female speaker만 사용했습니다. neutral prior과 비교했을 때, gender prior는 성별 차이를 피하므로 오류가 더 적습니다. 

추가적으로 저자들은 FE로 구한 face feature와 T_speech를 비교했습니다. 결과는 다음과 같습니다.

 

prior를 추가하면 L1 distance와 L2 distance가 상당히 많이 감소되는 것을 볼 수 있으며, Cos는 거의 1에 가까워지는 것을 볼 수 있습니다.

 

Qualitative Analysis

speaker embedding을 visualization한 결과는 다음과 같습니다.

 

위 결과는 U-MAP을 사용하여 구했습니다. 저자들은 random하게 10명의 speaker를 고르고 각 speaker마다 5개의 utterance를 골랐습니다. speaker feature가 speaker embedding space에서 잘 분류된 것을 볼 수 있습니다. face image의 feature를 가지고 분류를 하든, FR-PSS가 생성한 speech의 feature를 가지고 분류를 하든 결과는 다 괜찮은 것을 볼 수 있습니다. 동일한 speaker의 다른 utterance들은 잘 clustering되어 있는 것도 볼 수 있습니다. 즉 저자들의 model에 의해 합성된 speech는 personalized speech information을 잘 나타내고 있다는 것을 의미합니다.

 

Subjective Evaluation

MOS를 자연스러움과 유사도 측면에서 측정했습니다. 저자들의 model이 합성한 speech의 quality를 평가하기 위해, 저자들은 12명의 listener로 evaluation을 진행했습니다. 자연스러움을 평가할 때, 각 listener들은 100개의 speech sample에 대해 자연스러움을 평가했습니다. 유사도를 평가할 때, 각 listener들은 20개의 sample pair를 듣고 합성된 speech가 real한 speech와 얼마나 유사한지 점수를 매겼습니다. 모든 MOS 평가는 1에서 5 rating score이며 결과는 다음과 같습니다.

 

저자들의 model은 face information을 사용하여 personalized speech를 합성하기 때문에, MOS score는 SYNTH-AUDIO에 비해 자연스럽게 약간 떨어지는 모습을 보여줍니다. SYNTH-AUDIO는 저자들의 framework의 upper-bound이기도 합니다. 그러나 face image에서 speech feature를 바로 추출함에도 불구하고 speech로부터 speech feature를 추출하여 audio를 합성하는 model과 비교했을 때 좋은 성능을 보여줍니다. 자연스러움과 유사도 관점에서, 저자들이 제안한 method는 Face2Speech보다 더 좋은 모습을 보여줍니다.

 

Conclusion

이 논문에서, 저자들은 FR-PSS model을 제안합니다. 이는 human face에서 personalized speech feature를 추출하고, neural vocoder를 이용해 personalized speech를 합성합니다. 3가지 speech prior를 design함으로써, residual-guided strategy는 face feature가 가능한 최대로 true speech feature에 guide되도록 만들어줍니다. FR-PSS가 speech로 구한 embedding vector로 합성된 speech와 비교했을 때, 만족할 만한 결과를 실험을 통해 보였습니다.