整体介绍
用户的声音或者文字信息,可以被翻译。
这里实现的是视频的翻译。 生成用户说翻译后(语言转换后)的唇形视频。
项目pipeline(作者实现的是LipGAN)
模块名字 | 功能 |
---|---|
Video | 输入视频 |
Extract audio | 提取出原视频的音频信息 |
ASR | Automatic Speech Recognition 语音识别, 输出text |
Deep speech 2: End-to-end speech recognition in english and mandarin | |
NMT | Neural machine translation 机器翻译,输出另一个语言的text |
TTS | Text-to-Speech, 输出另一个语言的音频 |
Deep voice 3: Scaling text-tospeech with convolutional sequence learning | |
Attention is all you need. | |
Voice Transfer | tts产生的声音转换成用户的声音 |
Parallel-data-free voice conversion using cycle-consistent adversarial networks | |
LipGAN | 该用户说另一个语言的视频 |
Generated Video | 音频+视频 |
论文阅读
摘要
近年机器翻译效果突飞猛进,数字场景交流需求的增加,
所以在音频翻译的基础上做了face翻译。
face 翻译就是从一个语言到另一个语言的唇形同步。
我们的工作:
- speech-to-speech 翻译系统
- LipGAN实现 Face-to-Face 翻译
我们的成果 - LRW 测试 遥遥领先
- 有现实项目落地
- 代码、模型开源
introduction
- 这项工作的实用价值
- 现存问题
- 翻译的声音和用户听起来差别很大
- 翻译后的声音和用户原始视频的唇形差别很大
- 我们pipeline,参考上面的图
- 一些技术细节
- 生成的lip用对抗的形式来监督
- Face pose 不用对齐
background
Lip synthesis 唇形同步问题由来已久。
Rewrite:driving visual speech with audio
1997, 首次提出
Obamanet: Photo-realistic lip-sync from text 、Synthesizing obama: learning lip sync from audio
2017年,非实验环境下比较真实,采用landmark的形式,对未出现在训练集的数据不能很好预测
You said that?
2017, phoneme-to-viseme mapping,取得了通用的唇形同步, 不同的语言可以拆解成相同的音素
Talking Face Generation by Adversarially Disentangled Audio-Visual Representation
audio-visual(这个声音长度500个单词) +对抗
LipGAN
Face Encoder
You said that? 里面网络输入image 的face pose 和用于监督的gt face pose 不相同,这样 reconstruction 会有问题
这样训练的结果会让face pose 进行改变,但是这个不是我们想要的
将gt 的下半部分mask起来, 想让网络知道最终的pose, 在这半照片上绘制出对应的唇形
Audio Encoder
常见的cnn,具体需要看一下代码实现
Face Decoder
这个就是将gt mask后的图片进行唇形绘制,完整照片的原因是,让网络知道用户的嘴唇长什么样子
discriminator
audio encoder 和 Face encoder 就是generator中的
具体过程
数据准备
- 随机选择T ms的时间窗口,提取出对应的音频信息A
- 选取 T ms的中间一帧图片S,作为gt
- 将T mouth mask掉, 下一半图片得到Sm
- 选择一张S’,和这个S 的音频不一样的照片
Generator
Discriminator损失
gt 没有损失 | |
语音不匹配的真实图片,有损失,这个很重要 | |
生成的图片,有损失 |
y 判别器的gt
d S 和 S’ 的编码loss
m: 超参数 2
Generator loss
逐像素求L1损失
效果
因为是音素(ms级别), 所以可以看做是对音标的学习,所以才能在不同的语言上泛化。
英语 about, 学习到的是 a b ou t四个口型,
那么汉语可以有 鹅 播 奥 特 , 国际音标可以标注所有的发音