AI数字人:sadtalker让照片开口说话

这篇具有很好参考价值的文章主要介绍了AI数字人:sadtalker让照片开口说话。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1 sadtalker介绍

        西安交通大学也开源了人工智能SadTalker模型,通过从音频中学习生成3D运动系数,使用全新的3D面部渲染器来生成头部运动,可以实现图片+音频就能生成高质量的视频。

        论文地址:Learning Realistic 3D Motion Coefficients

       通过人脸图像和一段语音音频生成说话的头部视频仍然包含许多挑战。即不自然的头部运动、扭曲的表情和身份修改。研究团队认为这些问题主要是因为从耦合的 2D 运动场中学习。另一方面,明确使用 3D 信息也存在表情僵硬和视频不连贯的问题。

        为了学习真实的运动系数,研究人员显式地对音频和不同类型的运动系数之间的联系进行单独建模:通过蒸馏系数和3D渲染的脸部,从音频中学习准确的面部表情;通过条件VAE设计PoseVAE来合成不同风格的头部运动。

        最后使用生成的三维运动系数被映射到人脸渲染的无监督三维关键点空间,并合成最终视频。音频可以是英文、中文、歌曲,视频里的人物还可以控制眨眼频率!

        开源代码地址:github地址

2 模型介绍

        “用语音驱动静态照片”技术在数字人创作、视频会议等多个领域都迫切需要,但目前来说这仍然是一项非常有挑战性的任务。之前的工作主要集中在生成“唇部运动”,因为嘴唇的动作与语音之间的关系最强,其他工作也在尝试生成其他相关运动(如头部姿势)的人脸视频,不过生成视频的质量仍然非常不自然,并受到偏好姿势、模糊、身份修改和面部扭曲的限制。另一种流行的方法是基于latent的人脸动画,主要关注在对话式人脸动画中特定类别的运动,同样很难合成高质量的视频,因为虽然三维面部模型中包含高度解耦的表征,可以用来单独学习面部不同位置的运动轨迹,但仍然会生成不准确的表情和不自然的运动序列。

        基于上述观察结果,研究人员提出了SadTalker(Stylized Audio-Driven Talking-head),通过隐式三维系数modulation的风格化音频驱动的视频生成系统。

        AI数字人:sadtalker让照片开口说话,AI数字人技术,人工智能,深度学习,生成对抗网络,图像处理

        为了实现这一目标,研究人员将3DMM的运动系数视为中间表征,并将任务分为两个主要部分(表情和姿势),旨在从音频中生成更真实的运动系数(如头部姿势、嘴唇运动和眼睛眨动),并单独学习每个运动以减少不确定性。最后通过一个受face-vid2vid启发设计的3D感知的面部渲染来驱动源图像。

2.1 3D面部

        因为现实中的视频都是在三维环境中拍摄的,所以三维信息对于提高生成视频的真实性至关重要;不过之前的工作很少考虑三维空间,因为只从一张平面图像很难获得原始的三维稀疏,并且高质量的面部渲染器也很难设计。

        受最近的单图像深度三维重建方法的启发,研究人员将预测的三维形变模型(3DMMs)的空间作为中间表征。在3DMM中,三维脸部形状S可以被解耦为:

AI数字人:sadtalker让照片开口说话,AI数字人技术,人工智能,深度学习,生成对抗网络,图像处理

        其中S是三维人脸的平均形状,Uid和Uexp是LSFM morphable模型的身份和表情的正则,系数α(80维)和β(64维)分别描述人物身份和表情;为了保持姿势的差异性,系数r和t分别表示头部旋转和平移;为了实现身份无关的系数生成,只将运动的参数建模为{β, r, t}。

        即,从驱动的音频中单独学习头部姿势ρ=[r, t]和表情系数β,然后使用这些运动系数被隐式地调制面部渲染用于最终的视频合成。

2.2 通过音频生成运动稀疏

        三维运动系数包含头部姿势和表情,其中头部姿势是全局运动,而表情是相对局部的,所以完全学习所有的系数会给网络带来巨大的不确定性,因为头部姿势与音频的关系相对较弱,而嘴唇的运动则是与音频高度关联的。所以SadTalker使用下面PoseVAE和ExpNet分别生成头部姿势和表情的运动。

2.3 ExpNet

        学习到一个可以「从音频中产生准确的表情系数」的通用模型是非常困难的,原因有二:

1)音频到表情(audio-to-expression)不是对不同人物的一对一的映射任务;

2)表情系数中存在一些与音频相关的动作,会影响到预测的准确性。

AI数字人:sadtalker让照片开口说话,AI数字人技术,人工智能,深度学习,生成对抗网络,图像处理

        ExpNet的设计目标就是为了减少这些不确定性;至于人物身份问题,研究人员通过第一帧的表情系数将表情运动与特定的人物联系起来。

        为了减少自然对话中其他面部成分的运动权重,通过Wav2Lip和深度三维重建的预训练网络,只使用嘴唇运动系数(lip motion only)作为系数目标。至于其他细微的面部运动(如眼睛眨动)等,可以在渲染图像上的额外landmark损失中引入。

2.4 PoseVAE

        研究人员设计了一个基于VAE的模型以学习谈话视频中真实的、身份相关(identity-aware)的风格化头部运动。

AI数字人:sadtalker让照片开口说话,AI数字人技术,人工智能,深度学习,生成对抗网络,图像处理

        在训练中,使用基于编码器-解码器的结构对固定的n个帧进行姿势VAE训练,其中编码器和解码器都是两层MLP,输入包含一个连续的t帧头部姿势,将其嵌入到高斯分布;在解码器中,网络从采样分布中学习生成t帧姿势。

        需要注意的是,PoseVAE并没有直接生成姿势,而是学习第一帧的条件姿势的残差,这也使得该方法在测试中能在第一帧的条件下生成更长、更稳定、更连续的头部运动。根CVAE,PoseVAE中还增加了相应的音频特征和风格标识作为rhythm awareness和身份风格的条件。模型使用KL散度来衡量生成运动的分布;使用均方损失和对抗性损失来保证生成的质量。

2.5 3D-aware面部渲染

        在生成真实的三维运动系数后,研究人员通过一个精心设计的三维图像动画器来渲染最终的视频。最近提出的图像动画方法face-vid2vid可以隐含地从单一图像中学习3D信息,不过该方法需要一个真实的视频作为动作驱动信号;而这篇论文中提出的脸部渲染可以通过3DMM系数来驱动。研究人员提出mappingNet来学习显式3DMM运动系数(头部姿势和表情)和隐式无监督3D关键点之间的关系。

AI数字人:sadtalker让照片开口说话,AI数字人技术,人工智能,深度学习,生成对抗网络,图像处理

        mappingNet通过几个一维卷积层建立,类似PIRenderer一样使用时间窗口的时间系数进行平滑处理;不同的是,研究人员发现PIRenderer中的人脸对齐运动系数将极大地影响音频驱动的视频生成的运动自然度,所以mappingNet只使用表情和头部姿势的系数。

        训练阶段包含两个步骤:首先遵循原论文,以自监督的方式训练face-vid2vid;然后冻结外观编码器、canonical关键点估计器和图像生成器的所有参数后,以重建的方式在ground truth视频的3DMM系数上训练mappingNet进行微调。在无监督关键点的域中使用L1损失进行监督训练,并按照其原始实现方式给出最终生成的视频。

3 实验效果

         为了证明该方法的优越性,研究人员选取了Frechet Inception Distance(FID)和Cumulative Probability Blur Detection(CPBD)指标来评估图像的质量,其中FID主要评估生成帧的真实性,CPBD评估生成帧的清晰度。

        为了评估身份保留程度,使用ArcFace来提取图像的身份嵌入,然后计算源图像和生成帧之间身份嵌入的余弦相似度(CSIM)

        为了评估唇部同步和口型,研究人员评估了来自Wav2Lip的口型的感知差异,包括距离评分(LSE-D)和置信评分(LSE-C)。

        在头部运动的评估中,使用Hopenet从生成的帧中提取的头部运动特征嵌入的标准偏差来计算生成头部运动的多样性;计算Beat Align Score来评估音频和生成头部运动的一致性。

        在对比方法中,选取了几种最先进的谈话头像生成方法,包括MakeItTalk、Audio2Head和音频转表情生成方法(Wav2Lip、PC-AVS),使用公开的checkpoint权重进行评估。

AI数字人:sadtalker让照片开口说话,AI数字人技术,人工智能,深度学习,生成对抗网络,图像处理

        从实验结果中可以看出,文中提出的方法可以展现出更好的整体视频质量和头部姿势的多样性,同时在唇部同步指标方面也显示出与其他完全说话的头部生成方法相当的性能。

        研究人员认为,这些唇语同步指标对音频太敏感了,以至于不自然的唇部运动可能会得到更好的分数,不过文中提出的方法取得了与真实视频相似的分数,也表明了该方法的优势。

 AI数字人:sadtalker让照片开口说话,AI数字人技术,人工智能,深度学习,生成对抗网络,图像处理

        不同方法生成的视觉结果中可以看到,该方法与原始目标视频的视觉质量非常相似,而且与预期的不同头部姿势也非常相似。 

AI数字人:sadtalker让照片开口说话,AI数字人技术,人工智能,深度学习,生成对抗网络,图像处理

4 安装部署与使用:

4.1 annoconda环境安装

annoconda环境安装与使用详见:环境安装

4.2 sadtalker运行环境构建

conda create -n sadtalker python=3.8

conda activate sadtalker

pip install torch==1.12.1+cu113 torchvision==0.13.1+cu113 torchaudio==0.12.1 --extra-index-url https://download.pytorch.org/whl/cu113

conda install ffmpeg

pip install -r requirements.txt

4.3 预训练模型下载

mkdir ./checkpoints  

#### download the new links.
wget -nc https://github.com/OpenTalker/SadTalker/releases/download/v0.0.2-rc/mapping_00109-model.pth.tar -O  ./checkpoints/mapping_00109-model.pth.tar
wget -nc https://github.com/OpenTalker/SadTalker/releases/download/v0.0.2-rc/mapping_00229-model.pth.tar -O  ./checkpoints/mapping_00229-model.pth.tar
wget -nc https://github.com/OpenTalker/SadTalker/releases/download/v0.0.2-rc/SadTalker_V0.0.2_256.safetensors -O  ./checkpoints/SadTalker_V0.0.2_256.safetensors
wget -nc https://github.com/OpenTalker/SadTalker/releases/download/v0.0.2-rc/SadTalker_V0.0.2_512.safetensors -O  ./checkpoints/mapping_00109-model.safetensors


### enhancer 
mkdir -p ./gfpgan/weights
wget -nc https://github.com/xinntao/facexlib/releases/download/v0.1.0/alignment_WFLW_4HG.pth -O ./gfpgan/weights/alignment_WFLW_4HG.pth 
wget -nc https://github.com/xinntao/facexlib/releases/download/v0.1.0/detection_Resnet50_Final.pth -O ./gfpgan/weights/detection_Resnet50_Final.pth 
wget -nc https://github.com/TencentARC/GFPGAN/releases/download/v1.3.0/GFPGANv1.4.pth -O ./gfpgan/weights/GFPGANv1.4.pth 
wget -nc https://github.com/xinntao/facexlib/releases/download/v0.2.2/parsing_parsenet.pth -O ./gfpgan/weights/parsing_parsenet.pth 

4.4 视频生成

通过图片+语音生成视频:

python inference.py --driven_audio data/sample.wav --source_image data/sample.png

 通过视频片段+语音生成视频

python inference.py --driven_audio data/sample.wav --source_image data/sample.mp4

4.5 通过参数对生成的视频进行控制

--preprocess full 表示完整图片

--still 可以减少头部运动

--enhancer gfpgan

参数1是保留全身,如果不加这个参数,则视频中只剩头部

参数2是减少头部晃动,头部晃动是会和脖子的连接部位脱节

参数3是基于gfpgan对视频进行增强文章来源地址https://www.toymoban.com/news/detail-639147.html

到了这里,关于AI数字人:sadtalker让照片开口说话的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 让照片开口讲话,让视频人物对口型

    代码地址:https://github.com/Rudrabha/Wav2Lip 我用的python版本是3.10 1. 安装ffmpeg windows:https://www.gyan.dev/ffmpeg/builds/ffmpeg-git-full.7z解压后bin目录添加到环境变量。 Ubuntu: apt-get install ffmpeg 2. 安装依赖 直接安装,使用cpu处理音视频文件,处理速度较慢 或者(有显卡的)删除requirements

    2024年02月12日
    浏览(31)
  • 让图片说话SadTalker

    SadTalker:使用一张图片和一段语音来生成口型和头、面部视频. 西安交通大学开源了人工智能SadTalker模型,通过从音频中学习生成3D运动系数,使用全新的3D面部渲染器来生成头部运动,可以实现图片+音频就能生成高质量的视频。 论文地址:Learning Realistic 3D Motion Coefficients 整

    2024年02月21日
    浏览(32)
  • AI数字人SadTalker实战

    AI数字人在营销和品牌推广中扮演着至关重要的角色,许多企业和个人正积极利用数字技术来打造属于自己的财富。有没有一种简单而免费的方式来创建自己的数字人呢?本篇博客笔者将为大家介绍如何搭建属于自己的AI数字人。 生成头部说话视频通过人脸图像和语音音频仍

    2024年04月27日
    浏览(27)
  • 阿里最新EMO:只需要提供一张照片和一段音频,即可生成会说话唱歌的AI视频

    只要一张照片加上音频,就能让你说话唱歌,阿里做到了。 最近,阿里新上线了一款AI图片-音频-视频模型技术EMO,用户只需要提供一张照片和一段任意音频文件,EMO即可生成会说话唱歌的AI视频。以及实现无缝对接的动态小视频, 最长时间可达1分30秒左右。 阿里研究团队表

    2024年03月16日
    浏览(44)
  • SadTalker:让stable diffusion人物说话的创新工具

    SadTalker是一个GitHub项目,能够根据图片和音频合成面部说话的视频。现已支持stable diffusion webui,可以结合音频合成面部说话的视频。本文详细介绍了安装过程和使用教程。

    2024年02月08日
    浏览(49)
  • 打造AI虚拟数字人,Stable Diffusion+Sadtalker教程

    站长笔记 2 个月前 1 1k Stable Diffusion是一个能够根据 文本描述生成高质量图片的深度学习模型 ,它使用了一种叫做 潜在扩散模型的生成网络架构 ,可以在普通的GPU上运行。Sadtalker是一个能够根 据图片和音频生成 视频的开源项目 ,它使用了一种叫做 SadNet的神经网络 ,可以

    2024年02月11日
    浏览(68)
  • 如何在windows上本地部署SadTalker,实现AI数字人

    设备配置:CPU E3-1240v3, RAM 32G, SSD 1T, GPU0 Nvidia 1080ti,GPU1 Nvidia T4 OS:Windows10专业版 【python安装】 1、下载安装python 3.10.9 https://www.python.org/ftp/python/3.10.9/python-3.10.9-amd64.exe 2、下载安装git https://git-scm.com/downloads   3、下载解压ffmpeg 打开:https://github.com/GyanD/codexffmpeg/releases 下载:

    2024年02月16日
    浏览(29)
  • 基于SadTalker的AI数字人视频(以AutoDL算力云平台部署为例)

    目 录 一、SadTalker介绍 二、准备工作 三、数字人案例(图片转视频) 四、展示效果 五、参考资料 SadTalker是一个开源的虚拟数字人制作工具,可以用一张图片生成数字人口播视频。SadTalker生成3DMM的三维(头部姿势、表情)系数,利用三维面部渲染器进行视频生成。SadTalker还

    2024年02月16日
    浏览(59)
  • DreamTalk:单张图像即可生成逼真人物说话头像动画,助力AI数字人落地

    “ DreamTalk: When Expressive Talking Head Generation Meets Diffusion Probabilistic Models ” DreamTalk是一个基于扩散的音频驱动的富有表现力的说话头生成框架,可以生成不同说话风格的高质量的说话头视频。DreamTalk对各种输入表现出强大的性能,包括歌曲、多语言语音、噪声音频和域外肖像。

    2024年04月15日
    浏览(37)
  • 【AI生产力工具】Upscale.media:用AI技术提升照片质量,让你的作品更出色

    在如今的数字时代,图片已经成为我们日常生活中不可或缺的一部分,从社交媒体到电子商务网站,从广告宣传到个人生活,都需要使用各种形式的图片。然而,在实际应用中,我们常常会遇到一些图片分辨率过低、尺寸过小的问题,这时候就需要一些强大的工具来帮助我们

    2024年02月01日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包