EchoMimic—语音驱动图像

news2024/11/17 11:23:20

简介

  EchoMimic是阿里巴巴达摩院推出的一个AI驱动的口型同步技术项目。通过一段音频和一张人物的面部照片,生成一个看起来像是在说话的视频,其中的人物口型动作与音频中的语音完美匹配。
  EchoMimic优点:
1.口型同步生成:能根据音频和面部照片,创造出口型动作与语音完美匹配的视频。
2.自然逼真:它会融合音频和面部特征,生成的面部动画看起来很符合真实的面部运动和表情变化。
3.多语言支持:不仅支持普通话,还能处理英语和歌唱等多种语言和风格。
  缺点:模型太大、生成时间比较久

技术原理

  EchoMimic技术核心在于结合音频与视觉分析,通过以下关键步骤实现语音驱动的面部动画:

1.音频特征提取:利用音频处理技术分析语音的节奏、音调等特征。
2.面部标志点定位:高精度面部识别算法定位关键面部区域。
3.多模态融合与动画生成:结合音频特征与面部信息,通过深度学习模型(如CNN、RNN、GAN)生成与语音同步的逼真面部表情和口型。
4.创新训练与实时处理:采用创新训练策略,结合预训练模型,实现快速适应新音频并实时生成动画。

  这些技术共同确保了EchoMimic生成的面部动画在视觉和语义上与音频内容高度一致且自然流畅。
在这里插入图片描述

算法部署

1.源码下载

git clone https://github.com/BadToBest/EchoMimic
cd EchoMimic

2.运行环境要求

Tested System Environment: Ubuntu 22.04, Cuda >= 11.7
Tested GPUs: RTX3090 (24G)
Tested Python Version: 3.8 / 3.10 / 3.11

3.创建conda环境

conda create -n echomimic python=3.8
conda activate echomimic

4.安装依赖库

pip install -r requirements.txt

5.下载ffmpeg-static并设置环境变量

下载地址:https://www.johnvansickle.com/ffmpeg/old-releases/ffmpeg-4.4-amd64-static.tar.xz
export FFMPEG_PATH=/home/nvidia/ffmpeg-4.4-amd64-static

6.下载预训练模型

git clone https://huggingface.co/BadToBest/EchoMimic pretrained_weights

./pretrained_weights/
├── denoising_unet.pth
├── reference_unet.pth
├── motion_module.pth
├── face_locator.pth
├── sd-vae-ft-mse
│ └── …
├── sd-image-variations-diffusers
│ └── …
└── audio_processor
└── whisper_tiny.p

音频驱动算法推理

编辑./configs/prompts/animation.yaml文件,替换成自己的素材

test_cases:
“./assets/test_imgs/a.png”:
- “./assets/test_audios/echomimic_en.wav”
“./assets/test_imgs/b.png”:
- “./assets/test_audios/echomimic_en_girl.wav”
“./assets/test_imgs/c.png”:
- “./assets/test_audios/echomimic_en_girl.wav”
“./assets/test_imgs/d.png”:
- “./assets/test_audios/echomimic_en_girl.wav”
“./assets/test_imgs/e.png”:
- “./assets/test_audios/echomimic_en.wav”

运行python推理脚本:

python -u infer_audio2vid.py

音频和姿态驱动算法推理

编辑./configs/prompts/animation_pose.yaml文件,替换成自己的素材

test_cases:
“./assets/test_pose_demo/d.jpg”:
- “./assets/test_pose_demo_audios/movie_0_clip_0.wav”
- “./assets/test_pose_demo_pose”

运行python推理脚本:

python -u infer_audio2vid_pose.py

运行Gradio用户界面

python -u webgui.py --server_port=3000

在这里插入图片描述

源码地址:https://github.com/BadToBest/EchoMimic
官网:https://badtobest.github.io/echomimic.html

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2052529.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

WebRTC音视频开发读书笔记(六)

数据通道不仅可以发送文本消息, 还可以发送图片、二进制文件,将其类型binaryType属性设置成arraybuffer类型即可. 九\、文件传输 1、文件传输流程 (1)使用表单file打开本地文件 (2)使用FileReader读取文件的二进制数据 &#…

【PyCharm】配置“清华镜像”地址

文章目录 前言一、清华镜像是什么?二、pip是什么?三、具体步骤1.复制镜像地址2.打开PyCharm,然后点击下图红框的选项3.在弹出的新窗口点击下图红框的选项进行添加4.在URL输入框中粘贴第一步复制的地址,名字可以不更改,…

电力调度控制台作为智能电网的中枢大脑,引领能源高效调度新时代

在当今这个能源需求日益增长、电力网络日益复杂的时代,电力调度控制台作为智能电网的核心组成部分,正扮演着至关重要的角色。它不仅是电力系统中信息汇聚与决策输出的中枢大脑,更是实现电力资源优化配置、保障电网安全稳定运行的关键所在。 智…

MYSQL查询规范:索引

前言 工作有段时间了,现在看以前写的代码、sql之类的,实属辣眼睛。 这里将给出一些目前遇到的MYSQL查询规范(索引),并长期更新 索引 众所周知,索引能提高数据查询效率(前提是该字段被用在WHERE、…

Springboot邮件发送:如何配置SMTP服务器?

Springboot邮件发送集成方法?如何提升邮件发送性能? 对于使用Springboot的开发者来说,配置SMTP服务器来实现邮件发送并不是一件复杂的事情。AokSend将详细介绍如何通过配置SMTP服务器来实现Springboot邮件发送。 Springboot邮件发送&#x…

【SpringBoot】SpringBoot中的异常处理和异常跳转页面

目录 1.异常跳转页面 1.1 概念 1.2 使用 2.异常处理 2.1 概念 2.2 通过ExceptionHandler 注解处理异常(局部处理) 2.3 通过ControllerAdvice 注解处理异常(全局处理) 2.4 通过 SimpleMappingExceptionResolver 对象处理…

AI大模型达人秘籍:豆瓣9.2分推荐必读!

有很多程序员正在AIGC赛道中默默发财,有通过短视频做内容爆火,接广告的;有卖AI解决方案的;有卖AI课程的;也有卖AI产品,慢慢做大做强的…更不必说,那些拿下“人均年薪100万”大模型相关岗位的“赢…

多模态 AI 是零售业的未来吗?使用 GPT-4 Vision 和 MongoDB 矢量搜索探索智能产品发现

生成式人工智能如何重新定义零售盈利能力 欢迎来到雲闪世界。想象一下这样的购物体验:您上传了一张心仪服装或商品的照片。片刻之后,您便会收到来自您喜爱的商店的个性化、AI 驱动的类似商品推荐。这是一种革命性的零售体验,由一款创新应用实…

从零到一,数据恢复不求人!2024年四款全免费神器,轻松搞定

活在这个电脑手机满天飞的时代,我们天天跟数据打交道。工作文件、家庭照片、视频,这些都是我们的宝贝,一旦没了或者出问题,那可真够呛。好在我们有高科技帮忙,数据恢复现在也不是啥大问题。今儿个,我要给你…

数说故事 | 2024巴黎奥运会,“谷子文化”出圈了

全红婵金牌,全网沸腾。 摘金之后全妹的痛包(itabag,是指挂满人物徽章和玩偶等周边的包包,因为这样的包会让人感觉“奇怪和夸张,日语的“痛”有此含义,所以被称为“痛包”),也让二次…

多模态大模型(MLLM):架构篇

**【导读】**多模态大模型主要是以LLM作为核心决策模块,主流架构有两种:LLM as Discrete Scheduler/Controller和LLM as joint part of system,第一种LLM充当任务调度的作用,第二种LLM通过Encoder-LLM-Decoder结构作为系统的关键连…

探索Python性能优化的神秘力量:Line Profiler

文章目录 探索Python性能优化的神秘力量:Line Profiler第一部分:背景第二部分:库简介第三部分:安装指南第四部分:基本使用方法第五部分:实际应用场景场景1:数据分析场景2:机器学习模…

Docker 离线下载镜像(本地)

最近很多离线下载镜像的网站挂了,可以选择 docker hub 下载上传到服务器 Docker desktop image-tools ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/04174b8cefe3445596e09b1e82d9253b.png 保存后,就可以上传服务器,通过 dock…

音频合成剪辑工具推荐哪个?5款高效工具不容小觑

在探索音乐和声音的世界中,我发现了几款令人兴奋的音频剪辑软件,它们不仅功能强大,而且完全免费。作为一个热衷于音频制作的爱好者,我深知找到一款既经济又高效的工具是多么重要。 今天,我想跟大家分享我的一些发现&a…

jeecg部署后端到ubuntu

安装java17 java -versionsudo apt updatesudo apt install openjdk-17-jre-headless安装tomcat 更新源 sudo apt update在apt中搜索tomcat sudo apt search tomcat安装tomcat10和tomcat10-admin sudo apt install tomcat9 tomcat9-admin启动tomcat sudo systemctl start…

C语言小练习(伍)

练习: 利用指针变量将一个数组中的数据反向输出。 void renew(int *p,int len) {for(int i len - 1;i > 0;i--){printf("%d",*(pi));} }int main() {int a[5] {1,2,3,4,5};int len1 sizeof(a) / sizeof(int);renew(a,len1);return 0; }运行结果: …

AI文生图新纪元:FLUX.1领衔,多款顶尖模型汇聚趋动云社区

前言 近期,SD(Stable Diffusion)原班人马(跳槽后新成立团队——Black Forest Lab)开源模型 FLUX.1,或成文生图模型新霸主! FLUX.1 系列包含 pro、dev、schnell 3 个模型。主要在文字生成、复杂指令遵循和人手生成上具备优势。 FLUX.1pro&a…

爆学C++之类和对象(上)

1.类的定义 类定义格式 • class为定义类的关键字,Stack为类的名字,{}中为类的主体,注意类定义结束时后⾯分号不能省略。类体中内容称为类的成员:类中的变量称为类的属性或成员变量; 类中的函数称为类的⽅法或者成员函数。 • …

IDEA中设置类和方法的注释

分两步设置: 第一个设置是创建类的时候自动加的注解 第二个设置是快捷键为方法增加的注解 类的时候自动加的注解设置 注释模版 #if (${PACKAGE_NAME} && ${PACKAGE_NAME} ! "")package ${PACKAGE_NAME};#end /** * Description: TODO * Auth…

IOPaint部署,在服务器Ubuntu22.04系统下——点动科技

这里写目录标题 一、ubuntu22.04基本环境配置1.1 更换清华Ubuntu镜像源1.2 更新包列表:2. 安装英伟达显卡驱动2.1 使用wget在命令行下载驱动包2.2 更新软件列表和安装必要软件、依赖2.2 卸载原有驱动2.3 安装驱动2.4 安装CUDA2.5 环境变量配置 二、安装miniconda环境…