TANGO - 数字人全身动作生成

在这里插入图片描述


一、关于 TANGO

TANGO 是 具有分层音频运动嵌入 和 扩散插值的共语音手势视频再现

由东京大学和 CyberAgent AI Lab 联合开发


参考文章:开源版Heygen!TANGO数字人,瞄准全身动作生成,本地部署实测
https://mp.weixin.qq.com/s/3br-2dP2GmrhqqHY4cbpmg


演示视频(YouTube)

https://youtu.be/xuhD_-tMH1w?si=Tr6jHAhOR1fxWIjb

在这里插入图片描述


📝发布计划

  • AuMoClip和ACInterp的训练代码
  • ACInterp的推理码
  • 处理YouTube商业视频数据(非常小,约15分钟)
  • 创建手势图的脚本
  • 带有AuMoClip和预训练权重的推理码

二、⚒️安装


克隆存储库

git clone https://github.com/CyberAgentAILab/TANGO.git
cd TANGO
git clone https://github.com/justinjohn0306/Wav2Lip.git
git clone https://github.com/dajes/frame-interpolation-pytorch.git

构建环境

我们推荐一个python版本==3.9.20和cuda版本==11.8。然后构建环境如下:

# [Optional] Create a virtual env
conda create -n tango python==3.9.20
conda activate tango
# Install with pip:
pip install -r ./pre-requirements.txt
pip install -r ./requirements.txt

三、🚀训练和推理


1、推理

这是在路径<your root>/TANGO/下运行推理脚本的命令,生成两个8s vido大约需要3分钟。您可以通过直接检查视频或使用我们在EMAGE中的搅拌机插件通过搅拌机检查结果. npz文件来可视化。

第一次运行时将自动下载必要的检查点和预先计算的图表。请确保至少有35GB的磁盘空间可用。

python app.py

2、为自定义字符创建图形

python create_graph.py

2025-01-06(一)

ttk.treeview是Python中的一个GUI控件,用于在GUI应用程序中显示树形数据结构。以下是ttk.treeview的基本界面设计步骤: 1. 导入必要的模块和库,如tkinter和ttk。 2. 创建一个树形结构数据,并将其转换为ttk.treeview格式。 3. 创建一个ttk.treeview控件。 4. 添加列标题。 5. 将数据添加到ttk.treeview中。 6. 设计ttk.treeview的样式和外观,如背景颜色、字体、行高等。 7. 为ttk.treeview添加事件处理程序,如鼠标单击、双击、右击等事件。 以下是一个简单的例子,展示了如何使用ttk.treeview来显示一个树形结构数据: ```python import tkinter as tk from tkinter import ttk def main(): # 创建树形结构数据 data = { 'root': { 'node1': { 'leaf1': None, 'leaf2': None }, 'node2': { 'leaf3': None, 'leaf4': None } } } # 创建ttk.treeview控件 root = tk.Tk() tree = ttk.Treeview(root) # 添加列标题 tree['columns'] = ('count') tree.heading('#0', text='Name', anchor='w') tree.column('#0', anchor='w') tree.heading('count', text='Count') tree.column('count', anchor='center') # 将数据添加到ttk.treeview中 add_node(tree, '', data['root']) # 设置ttk.treeview的样式和外观 style = ttk.Style() style.configure('Treeview', rowheight=25) # 显示ttk.treeview控件 tree.pack() root.mainloop() def add_node(tree, parent, node): # 添加当前节点 if node is not None: tree.insert(parent, 'end', text=node, values=(len(node))) # 添加当前节点的子节点 for key, value in node.items(): add_node(tree, node, value) if __name__ == '__main__': main() ``` 这个例子中,我们首先创建了一个树形结构数据,并将其转换为ttk.treeview格式。然后,我们创建了一个ttk.treeview控件,并添加了列标题。接着,我们将数据添加到ttk.treeview中,并设置了ttk.treeview的样式和外观。最后,我们显示了ttk.treeview控件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

编程乐园

请我喝杯伯爵奶茶~!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值