赞
踩
在数字人领域中,唇形同步(Lip Sync)是非常重要的一环,直接影响数字人的逼真程度。
时间 | 会议 | 模型名称 | 论文 | |
音唇同步 | 2020 | MM | Wav2Lip[*] | 《A Lip Sync Expert Is All You Need for Speech to Lip Generation In The Wild》 |
2021 | ICCV | PIRender | 《PIRenderer: Controllable Portrait Image Generation via Semantic Neural Rendering》 | |
2022 | ECCV | StyleHEAT | 《StyleHEAT: One-Shot High-Resolution Editable Talking Face Generation via Pre-trained StyleGAN》 | |
2023 | AAAI | DINet | 《DINet: Deformation Inpainting Network for Realistic Face Visually Dubbing on High Resolution Video》 | |
2023 | CVPR | SadTalker | 《SadTalker: Learning Realistic 3D Motion Coefficients for Stylized Audio-Driven Single Image Talking Face Animation》 | |
图像清晰化 | 2021 | CVPR | GFP-GAN | 《Towards Real-World Blind Face Restoration with Generative Facial Prior》 |
2021 | CVPR | GPEN | 《GAN Prior Embedded Network for Blind Face Restoration in the Wild》 | |
2022 | NIPS | CodeFormer | 《Towards Robust Blind Face Restoration with Codebook Lookup Transformer》 | |
变换表情和姿势 | 2023 | AAAI | StyleTalk | 《StyleTalk: One-shot Talking Head Generation with Controllable Speaking Styles》 |
2023 | CVPR | DPE | 《DPE: Disentanglement of Pose and Expression for General Video Portrait Editing》 | |
2023 | CVPR | SPI | 《3D GAN Inversion with Facial Symmetry Prior》 |
aaaa zmbnne
asaaa
wav2lip是一种基于深度学习的音视频同步技术,可以通过分析音频信号和视频帧来实现高精度的唇形同步效果。该算法首先将输入音频转化为谱图,然后在视频帧中匹配最佳的嘴形位置,并根据音频信号在该位置进行唇形变换。
参考链接:Docs
Lip Sync: https://baijiahao.baidu.com/s?id=1763405647869228297&wfr=spider&for=pc
Wav2Lip: https://zhuanlan.zhihu.com/p/613996840
DINet: https://zhuanlan.zhihu.com/p/617739721
StyleTalk: https://zhuanlan.zhihu.com/p/617214624
SadTalker: https://zhuanlan.zhihu.com/p/617213113
该项目是一个利用AI实现视频人物嘴形与输入的声音同步的创新技术。简单来说,就是输入任意一个视频和一个音频文件,能够实现人物嘴形和音频同步。
系统为实现这一目标,进行三部分进行:
具体而言:给定一个头部说话的视频,首先使用Semantic-guided Reenactment Network根据相关的表情模版修改每一帧的表情,从而产生具有规范表情的视频。然后将视频与给定的音频一起输入到Lip-Sync Network以生成口型同步视频。最后通过Identity-Aware Refinement and Enhancement(身份感知面部增强网络)和后处理来提高合成面部的照片真实感。
也就是说,低分辨率的数据很难在下半张脸的合成结果上体现优势,所以必须要单独设置一个网络优化下半张脸的面部合成自然度,特别是牙齿部分。
1. 包括牙齿生成的伪影和合成边界框L-Net
2. 辅助网络Semantic-guided Reenactment Network在矫正表情变中立的同时会使人脸发生变化,如果去掉这个网络,生成的嘴形严重依赖原视频的嘴形。
(1)D-Net
为了执行语义引导的表情重现,我们在VoxCeleb(Nagrani 等人,2017)具有姿势和表情的数据集(Deng et al . ,2019)。该数据集包含 22496 个说话的头部视频,具有不同的身份和头部姿势。我们将输入帧的大小调整为256×256类似于(Siarohin 等人,2019)。我们使用渐进式训练设置以 400k次迭代训练网络。至于损失函数,我们使用感知损失计算预测图像和地面实况之间的像素级差异 (Zhang 等人,2018)和am matrix loss (Gatys 等人,2016)。
(2)L-net
我们训练LRS2 上的网络 (Afouras 等人,2018)数据集。这个唇读数据集包含来自 BBC 节目的大型160p视频。我们使用人脸检测 (Bulat 和 Tzimiropoulos,2017)并将输入图像调整为96×96,按照以前的方法(Prajwal 等人,2020)。我们训练L-Net 使用感知损失和口型同步鉴别器来实现视觉质量和视听同步 (Prajwal 等人,2020)。
(3)E-net
训练过程E-Net基于L-Net。我们提前增强 LRS2 数据集以获得高分辨率数据集,并训练E-Net 在 300k 次迭代中。至于损失函数,E-Net 接受了感知损失的混合损失的训练(Johnson 等人,2016年) , 像素级L1 loss,对抗loss(Isola,2017),口型同步鉴别器 (Prajwal et al . ,2020)和使用预训练人脸识别网络的身份丢失 ( Deng 等人,2019)。
数据预处理主要是把人物从视频帧中裁剪出来,对人物的表情中性化(也即“闭嘴”),然后把原图中的嘴巴mask掉,把二者与音频输入同步模块进行嘴形与声音的同步。
其中需要借助【可视化检测面部的关键点】
同步模块的输出的画幅相当小只有96*96*3,下图显示的是用restore技术处理过的,跟输入尺寸(384*384*3)一样大小。
采取了一系列增强、平滑技术,优化左图中的小瑕疵(如左上图中,人脸左边的地图变模糊了,人脸右下的衣领不衔接)。
一开始用的是classifier去掉最后一个linear层产生的特征,但是生成的下半张脸越来越“抽象”。所以尝试修改feature的输出特征。【loss曲线(lr=0.00001,epoch=50,bs=8)
后续准备衔接另一个项目GeneFace的相关代码:
主要是需要用到其中的多个替换算法
上面项目的局限是生成的人脸损失了一些特征,嘴部运动不太真实。
GeneFace的提出是为了解决NeRF-based personalized methods面临的两个问题:
泛化性差:不充足的几分钟训练数据,使得模型对一些out-of-domain音频的应用效果差,也就是说在跨语言或者唱歌的应用场景时,表现不佳;
“平均脸”问题:“平均脸”产生的原因可以被归结为模型在做一种“one-to-many”的回归,所谓“one-to-many”是因为一个audio可能有多个正确的motion与它匹配,而模型学到的结果自然就是“one-to-mean”的映射。
Variational Motion Generator
为了解决泛化性差的问题,他们设计了一个audio-to-motion模型来预测给定输入音频的3D面部landmark,然后利用大规模数据集LRS3-TED中数百小时的audio-motion对来学习robust mapping;
为了解决“平均脸”问题,他们使用变分自动编码器来作为audio-to-motion模型的架构,而不使用上述回归模型,这比较有利于生成准确且富有表现力的面部运动。
Domain Adaptative Post-net
如果用大数据下训练的motion generator产生的landmark直接输入,用单人训练的NeRF Renderer,最后的结果会得不到高保真的帧。这是因为两个模型是在不同的数据分布域下训练的,且它们的分布是不相同的。为了消除数据域偏移,得到高保真的输出,他们提出了使用一个后处理网络来学习大数据分布域到单人数据分布域的迁移/适应。
3DMM NeRF Renderer
至于NeRF Renderer部分,他们把head和torso分开渲染,先渲染头部,再把头部作为先验知识来指导躯干的渲染,以使头和躯干的运动更加协调。
对于Variational Motion Generator 不需要针对单个人进行训练,而对于Domain Adaptative Post-net和3D NeRF Render需要采用LRS3+单人数据集进行训练。
--官方文档
现仅对单人5min数据进行了数据预处理,除去找bug时间,耗时半天左右。
而LRS3数据集还未获得,还未进行数据预处理。除此之外,论文中提到他们对LRS3中的数据进行了挑选与过滤,仅保留了高质量的用于训练。
Post-net训练的时候,有比较难控制的对抗训练,耗时应该不会短。
NeRF Render在RTX3090上训练大约耗时10h。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。