当前位置: 首页 > news >正文

Real3DPortrait照片对口型,数字人,音频/视频驱动数字人

先看效果

上传一张图片和一段音频,照片如下:
在这里插入图片描述
合成后效果如下:

照片对口型-音频驱动

支持音频驱动和视频驱动,视频可以使照片有参照视频中的口型和和动作。

项目地址

https://github.com/yerfor/Real3DPortrait

我的环境

win10,python3.10.8,cuda11.7

环境部署

安装步骤:https://github.com/yerfor/Real3DPortrait/blob/main/docs/prepare_env/install_guide.md
windows下torch torchvision torchaudio的安装参照https://pytorch.org/get-started/locally/,选择对应的平台、cuda版本后复制安装命令:pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu…
visualstudio安装:https://visualstudio.microsoft.com/zh-hans/downloads/
cuda安装:https://developer.nvidia.com/cuda-toolkit-archive,之前安装其他版本CUDA的不用卸载,可以同时安装两个,在环境变量中设置CUDA_HOME就行。
在这里插入图片描述

安装中遇到的问题

  • 安装Pytorch3D报错:
    3 errors detected in the compilation of “C:/Users/Administrator/AppData/Local/Temp/pip-reg-bui1d-0hwl1r79/pytorch3d/csrc/pulsar
    cuda/renderer.backward. gpu. cu”.
    在这里插入图片描述
    解决方案:参考链接 https://github.com/facebookresearch/pytorch3d/issues/1227
    省流:据说是CUDA中的CUB版本不行(1.15),要手动重新下载1.17版本,在https://github.com/NVIDIA/cub/releases下载cub1.17版本,替换cuda下的cub(C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.7\include\cub)
    然而替换以后我这里换了一个错(C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.7/include\thrust/system/cuda/config.h(79): fatal error C1189: #error: Tle version of CUB in your include path is not compatible with this release of Thrust. CUB is now included in the CuA Toolkit, so you no longer need to use your own checkout of CUB. Define THRUST IGNORE CUB VERSION CHECK to ignore this. error:command ’C:\Program Files!\NVIDIA GPU Computing Toolkit\CUDAl\v11. 7\bin\nvcc.exe’ failed with exit code 2):
    在这里插入图片描述
    是说CUB版本和CUDA版本不匹配,在CUDA11.7/include/cub文件夹下,打开 version.cuh, 在“#pragma once”下面一行添加:#define THRUST_IGNORE_CUB_VERSION_CHECK,取消版本号检查。
  • 安装python依赖包报错(cmake问题):
    ERROR: CMake must be installed to build dlib
    在这里插入图片描述
    解决方案:安装cmake:https://cmake.org/files/,我装了3.27版本(下载x86_64.msi)。
  • 运行报错(pyplot问题)
    AttributeError: module ‘backend_interagg’ has no attribute ‘FigureCanvas’. Did you mean: ‘FigureCanvasAgg’?
    在这里插入图片描述

解决方案:参考https://blog.csdn.net/lsb2002/article/details/135149302
省流:方案1:在pycharm的setting–>Tools–>Python Scientific中去掉“show plots in tool window”的勾选。(或者直接cmd运行就没问题)
在这里插入图片描述
方案2:matplotlib切换图形界面显示终端TkAgg,在使用matplotlib的python文件中增加两行代码,如下所示:

import matplotlib
matplotlib.use('TkAgg')

方案3:降低matplotlib版本,pip install matplotlib==3.5.0

  • 运行报错 无法打开文件“python310.lib”
    LINK:fatal error LNK1104:无法打开文件“python310.lib”
    在这里插入图片描述
    解决方案:参照https://blog.csdn.net/dalaomanzou/article/details/133851299
    省流:python安装目录下的Python310\libs\python310.lib文件复制到虚拟环境的/venv/Scripts/libs下,没有libs文件夹就手动创建
  • 运行报错:
    ImportError: DLL load failed while importing bias_act_plugin: 找不到指定的模块
    在这里插入图片描述
    解决方案:可以先看一下https://github.com/NVlabs/stylegan3/issues/88,首先确定cuda版本,我之前装的是12.1好像不行(不确定,因为我没有按照如下方式添加环境变量,等我重新下载好11.7版本后这个问题还是在,然后找到了下面的解决方案),又重新装了个11.7,然后
    设置环境变量CUDA_HOME=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.7
  • error: (-215:Assertion failed) !_src.empty() in function ‘cv::cvtColor’
    代码里面 cv2.cvtColor(img, cv2.COLOR_RGB2BGR)中的img参数的值为空了,原因是代码中涉及复制图片的命令在windows下是错误的,inference/real3d_infer.py中的crop_img_on_face_area_percent函数,out_name是路径要改为windows下路径格式:out_name = os.path.normpath(out_name),然后“cmd = f"cp {img_name} {out_name}"”中的cp命令要改为copy(同样代码中有“rm”命令也要改)。
 def crop_img_on_face_area_percent(img_name, out_name='temp/cropped_src_img.png', min_face_area_percent=0.2):out_name = os.path.normpath(out_name)try:os.makedirs(os.path.dirname(out_name), exist_ok=True)except: passface_area_percent = cal_face_area_percent(img_name)if face_area_percent >= min_face_area_percent:print(f"face area percent {face_area_percent} larger than threshold {min_face_area_percent}, directly use the input image...")cmd = f"copy {img_name} {out_name}"os.system(cmd)return out_name

可能遇到的其他问题

我之前的CUDA版本是12.1,安装过程中各种出错,后来重新下载了11.7版本,删掉虚拟环境,从头开始。CUDA12.1版本遇到的问题如下

  • from pytorch3d import _C报错,no module named _C
    没找到解决方案,11.7版本下没这个错了

  • 阿萨德
    Could not find MSVC/GCC/CLANG installation on this computer.
    解决方案:安装visualstudiohttps://visualstudio.microsoft.com/zh-hans/downloads/
    将custom_ops.py中patterns的C++编译环境换成自己的。(可参考:https://blog.csdn.net/liuzi_hang/article/details/128063113)
    在这里插入图片描述

  • ‘parselmouth’ has no attribute ‘Sound’
    好像是python包版本问题,途中更改其他版本没问题了,但是忘记哪个版本了。后来cuda切换到11.7重新安装所有依赖后没这个问题了。

  • multiple exception types must be parenthesized
    也是python包版本问题。同上。

  • python3 cannot import name ‘quote’ from ‘urllib’
    出现这个错误的原因是因为Python 3中的urllib模块被分为了几个子模块,包括urllib.request、urllib.parse、urllib.error、urllib.robotparser等。在Python 2中,所有这些子模块都包含在urllib中,但在Python 3中,它们被分离出来,以提高代码的可读性和可维护性。要解决这个问题,需要从urllib.parse模块中导入quote函数。同样是因为版本问题,切换cuda版本后未遇到该问题。

  • cannot import name “Mapping“ from “collection
    3.10版本后对requests库有进行调整,collections中不能直接调用Mapping、MutableMapping
    打开python解释器下的lib里的collections文件夹下的init文件,collections/init.py,调用方式改为:
    from collections.abc import Mapping
    from collections.abc import MutableMapping
    同样是因为版本问题,切换cuda版本后未遇到该问题。

  • error in googleads setup command: use_2to3 is invalid
    因为在setuptools 58之后的版本已经废弃了use_2to3,所以将setuptools回退到58以前的版本:pip install setuptools==57.5.0
    切换cuda版本后未遇到该问题。

下载模型

https://github.com/yerfor/Real3DPortrait/blob/main/README-zh.md
下载预训练与第三方模型
3DMM BFM模型
下载3DMM BFM模型:BaiduYun Disk 提取码: m9q5
下载完成后,放置全部的文件到deep_3drecon/BFM里,文件结构如下:
deep_3drecon/BFM/
├── 01_MorphableModel.mat
├── BFM_exp_idx.mat
├── BFM_front_idx.mat
├── BFM_model_front.mat
├── Exp_Pca.bin
├── facemodel_info.mat
├── index_mp468_from_mesh35709.npy
├── mediapipe_in_bfm53201.npy
└── std_exp.txt

下载预训练模型
下载预训练的Real3D-Portrait:BaiduYun Disk 提取码: 6x4f
下载完成后,放置全部的文件到checkpoints里并解压,文件结构如下:
checkpoints/
├── 240210_real3dportrait_orig
│ ├── audio2secc_vae
│ │ ├── config.yaml
│ │ └── model_ckpt_steps_400000.ckpt
│ └── secc2plane_torso_orig
│ ├── config.yaml
│ └── model_ckpt_steps_100000.ckpt
└── pretrained_ckpts
└── mit_b0.pth

启动

python inference/app_real3dportrait.py

界面

左侧四个输入从上到下依次是:待转换图片,待转换音频,参考视频(图片将按照该视频语音、动作生成视频),背景图片。
中间参数:
blink mode:是否阶段性眨眼
min_face_area_percent:设置输出的视频帧最小脸部区域占比
temperature:代表audio2motion的采样温度,值越大结果越多样,但同时精确度越低
mouth amplitude:嘴部张幅参数,值越大张幅越大
output layout:选择最终输出的视频是否包含debug信息
Whether to map pose of first frame to initial pose:首帧的pose将被映射到source pose,后续帧也作相同变换
点击“generate”按钮生成视频

相关文章:

Real3DPortrait照片对口型,数字人,音频/视频驱动数字人

先看效果 上传一张图片和一段音频,照片如下: 合成后效果如下: 照片对口型-音频驱动 支持音频驱动和视频驱动,视频可以使照片有参照视频中的口型和和动作。 项目地址 https://github.com/yerfor/Real3DPortrait 我的环境 win…...

Stable Diffusion之Ubuntu下部署

1、安装conda环境 conda create -n webui python3.10.6 2、激活环境 每次使用都要激活 conda activate webui 注意开始位置的变换 关闭环境 conda deactivate webui 3、离线下载SD 代码 https://github.com/AUTOMATIC1111/stable-diffusion-webui https://github.com/Stabilit…...

LeetCode-15-三数之和问题

题目说明 给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a b c 0 ?找出所有满足条件且不重复的三元组。 注意:答案中不可以包含重复的三元组。 给定数组 nums [-1, 0,…...

springboot2集成东方通tongweb嵌入式版

由于最近项目需要国产化信创改造,引入东方通tongweb 联系东方通厂家 ,将依赖导入到maven仓库,并获取嵌入式版license文件修改pom.xml,引入依赖,注意springboot版本,这里以springboot2举例 首先移除springb…...

【二分查找】Leetcode 33. 搜索旋转排序数组【中等】

搜索旋转排序数组 整数数组 nums 按升序排列&#xff0c;数组中的值 互不相同 。 在传递给函数之前&#xff0c;nums 在预先未知的某个下标 k&#xff08;0 < k < nums.length&#xff09;上进行了 旋转&#xff0c;使数组变为 [nums[k], nums[k1], …, nums[n-1], num…...

Zephyr Windows开发环境搭建

Zephyr 如果有错误或未及时更新&#xff0c;请以官网文档为主 官网&#xff1a;https://docs.zephyrproject.org/latest/develop/getting_started/index.htm 下载安装 Chocolatey 这是一个类似于在Linux系统下 yum 和 apt 那样的包管理器 官网&#xff1a;https://chocolat…...

如何安全地设置MySQL数据库的IP白名单

设置MySQL数据库的IP白名单是一种关键的安全措施&#xff0c;可以确保只有来自特定IP地址的请求被允许访问数据库服务器。这里是如何安全地配置这些设置的分步指南。 步骤1: 登录到MySQL服务器 首先&#xff0c;使用管理员权限登录到你的MySQL服务器。如果你使用的是命令行&a…...

Chatgpt掘金之旅—有爱AI商业实战篇|品牌故事业务|(十六)

演示站点&#xff1a; https://ai.uaai.cn 对话模块 官方论坛&#xff1a; www.jingyuai.com 京娱AI 一、AI技术创业在品牌故事业务有哪些机会&#xff1f; 人工智能&#xff08;AI&#xff09;技术作为当今科技创新的前沿领域&#xff0c;为创业者提供了广阔的机会和挑战。随…...

为什么要部署IP SSL证书?怎么申请?

我们需要知道什么是IP SSL证书。SSL&#xff0c;全称为Secure Sockets Layer&#xff0c;即安全套接层&#xff0c;是为网络通信提供安全及数据完整性的一种安全协议。而IP SSL证书就是基于SSL协议的一种证书&#xff0c;它能够为网站和用户的数据传输提供加密处理&#xff0c;…...

最新免费 ChatGPT、GPTs、AI换脸(Suno-AI音乐生成大模型)

&#x1f525;博客主页&#xff1a;只恨天高 ❤️感谢大家点赞&#x1f44d;收藏⭐评论✍️ ChatGPT3.5、GPT4.0、GPTs、AI绘画相信对大家应该不感到陌生吧&#xff1f;简单来说&#xff0c;GPT-4技术比之前的GPT-3.5相对来说更加智能&#xff0c;会根据用户的要求生成多种内容…...

前端的未来已然到来

随着整个软件行业正逐渐转向以打包、托管与抽象解决方案为主体的新形态&#xff0c;后端与基础设施带来的麻烦正越来越少&#xff0c;而立足堆栈顶部的前端工程师开始成为施展空间最大的时代宠儿。甚至不只是他们&#xff0c;如今无论是前端、后端还是运维开发者&#xff0c;他…...

Open CASCADE学习|gp_XYZ与gp_Mat

gp_XYZ和gp_Mat是Open CASCADE Technology (OCCT)中的类&#xff0c;用于处理3D几何和变换。 gp_XYZ gp_XYZ类代表了一个三维空间中的点或向量。它通过三个坐标值&#xff08;X, Y, Z&#xff09;来定义位置或方向。这个类提供了多种操作&#xff0c;比如计算两点之间的距离、…...

BMS绝缘电阻检测原理【转】

...

优秀的测试开发工程师需要掌握哪些技能?

科技的发展与网络技术的广泛应用&#xff0c;让测试开发已成为软件开发过程中不可或缺的一环。测试开发工程师是为确保软件程序的质量和稳定性而工作的专业人士。但是成为一名合格的测试开发工程师需要具备哪些技能呢&#xff1f;一起来看看吧&#xff01; 优秀的测试开发工程…...

思维树(Tree of Thoughts)的概念

思维树&#xff08;Tree of Thoughts&#xff0c;简称ToT&#xff09;是一种利用大型语言模型进行问题解决的框架。这个框架借鉴了人类认知研究的成果&#xff0c;特别是关于人类在做决策时的两种思维方式&#xff1a;快速、自动、无意识的模式&#xff08;称为“系统1”&#…...

探索设计模式的魅力:抽象工厂模式的艺术

个人主页: danci_ &#x1f525;系列专栏&#xff1a;《设计模式》《MYSQL应用》 &#x1f4aa;&#x1f3fb; 制定明确可量化的目标&#xff0c;坚持默默的做事。 &#x1f680; 转载自文章&#xff1a;探索设计模式的魅力&#xff1a;抽象工厂模式的艺术 抽象工厂模式&…...

果园系统养殖游戏喂养偷菜种植浇水养成小程序

装扮 通过购买装扮场景切换不同的农场风格 土地升级 通过特定的材料对土地和房屋进行升级 日志 记录道具的使用数量及金币农作物的收入情况 幸运转盘 可用金币进行抽奖 宝箱开启 获得宝箱后可以通过金币开启 每日签到 每日签到获得奖励 系统公告 可以第一时间知道游戏的更新和…...

Windows版PHP7.4.9解压直用(免安装-绿色-项目打包直接使用)

安装版和解压版 区别 安装版: 安装方便&#xff0c;下一步------下一步就OK了&#xff0c;但重装系统更换环境又要重新来一遍&#xff0c;会特别麻烦解压版&#xff08;推荐&#xff09;&#xff1a; 这种方式&#xff08;项目打包特别方便&#xff09;能更深了解mysql的配置&…...

凡泰极客亮相2024 亚马逊云科技出海全球化论坛,为企业数字化出海赋能

随着「不出海&#xff0c;即出局」登上热搜榜单&#xff0c;企业出海已成燎原之势&#xff0c;3月29日&#xff0c;2024 亚马逊云科技出海全球化论坛在深圳成功举办&#xff0c;凡泰极客创始人梁启鸿受邀出席&#xff0c;并以 「App 2.0&#xff1a;以SuperApp构建智能数字生态…...

新零售门店、商品、会员管理指标体系总览

新零售&#xff0c;旨在打破传统零售业的边界&#xff0c;引入先进科技和数字化手段&#xff0c;通过整合线上线下渠道&#xff0c;全面提升用户体验&#xff0c;并实现更智能、高效、个性化的零售运营模式。这一模式不仅仅关注销售产品&#xff0c;更注重构建全方位的购物生态…...

React 第五十五节 Router 中 useAsyncError的使用详解

前言 useAsyncError 是 React Router v6.4 引入的一个钩子&#xff0c;用于处理异步操作&#xff08;如数据加载&#xff09;中的错误。下面我将详细解释其用途并提供代码示例。 一、useAsyncError 用途 处理异步错误&#xff1a;捕获在 loader 或 action 中发生的异步错误替…...

CMake基础:构建流程详解

目录 1.CMake构建过程的基本流程 2.CMake构建的具体步骤 2.1.创建构建目录 2.2.使用 CMake 生成构建文件 2.3.编译和构建 2.4.清理构建文件 2.5.重新配置和构建 3.跨平台构建示例 4.工具链与交叉编译 5.CMake构建后的项目结构解析 5.1.CMake构建后的目录结构 5.2.构…...

【第二十一章 SDIO接口(SDIO)】

第二十一章 SDIO接口 目录 第二十一章 SDIO接口(SDIO) 1 SDIO 主要功能 2 SDIO 总线拓扑 3 SDIO 功能描述 3.1 SDIO 适配器 3.2 SDIOAHB 接口 4 卡功能描述 4.1 卡识别模式 4.2 卡复位 4.3 操作电压范围确认 4.4 卡识别过程 4.5 写数据块 4.6 读数据块 4.7 数据流…...

Java-41 深入浅出 Spring - 声明式事务的支持 事务配置 XML模式 XML+注解模式

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; &#x1f680; AI篇持续更新中&#xff01;&#xff08;长期更新&#xff09; 目前2025年06月05日更新到&#xff1a; AI炼丹日志-28 - Aud…...

Fabric V2.5 通用溯源系统——增加图片上传与下载功能

fabric-trace项目在发布一年后,部署量已突破1000次,为支持更多场景,现新增支持图片信息上链,本文对图片上传、下载功能代码进行梳理,包含智能合约、后端、前端部分。 一、智能合约修改 为了增加图片信息上链溯源,需要对底层数据结构进行修改,在此对智能合约中的农产品数…...

无人机侦测与反制技术的进展与应用

国家电网无人机侦测与反制技术的进展与应用 引言 随着无人机&#xff08;无人驾驶飞行器&#xff0c;UAV&#xff09;技术的快速发展&#xff0c;其在商业、娱乐和军事领域的广泛应用带来了新的安全挑战。特别是对于关键基础设施如电力系统&#xff0c;无人机的“黑飞”&…...

Ubuntu Cursor升级成v1.0

0. 当前版本低 使用当前 Cursor v0.50时 GitHub Copilot Chat 打不开&#xff0c;快捷键也不好用&#xff0c;当看到 Cursor 升级后&#xff0c;还是蛮高兴的 1. 下载 Cursor 下载地址&#xff1a;https://www.cursor.com/cn/downloads 点击下载 Linux (x64) &#xff0c;…...

Python 训练营打卡 Day 47

注意力热力图可视化 在day 46代码的基础上&#xff0c;对比不同卷积层热力图可视化的结果 import torch import torch.nn as nn import torch.optim as optim from torchvision import datasets, transforms from torch.utils.data import DataLoader import matplotlib.pypl…...

用鸿蒙HarmonyOS5实现中国象棋小游戏的过程

下面是一个基于鸿蒙OS (HarmonyOS) 的中国象棋小游戏的实现代码。这个实现使用Java语言和鸿蒙的Ability框架。 1. 项目结构 /src/main/java/com/example/chinesechess/├── MainAbilitySlice.java // 主界面逻辑├── ChessView.java // 游戏视图和逻辑├──…...

沙箱虚拟化技术虚拟机容器之间的关系详解

问题 沙箱、虚拟化、容器三者分开一一介绍的话我知道他们各自都是什么东西&#xff0c;但是如果把三者放在一起&#xff0c;它们之间到底什么关系&#xff1f;又有什么联系呢&#xff1f;我不是很明白&#xff01;&#xff01;&#xff01; 就比如说&#xff1a; 沙箱&#…...