AD-NeRF 由音频和人脸图像合成人脸视频并表现出自然的说话风格

flyfish

合成高保真音频驱动的面部视频序列在数字人类、聊天机器人和虚拟视频会议等许多应用中是一个重要而具有挑战性的问题。
将语音头部的生成过程视为从音频到视觉人脸的跨模态映射,期望合成的人脸图像表现出自然的说话风格,同时同步与原始视频相同的照片真实感的流媒体结果。

环境:

Ubuntu 18.04
NVIDIA Driver Version: 440.33.01
CUDA Version: 10.2 cuda-repo-ubuntu1804-10-2-local-10.2.89-440.33.01_1.0-1_amd64
libcudnn8_8.0.3.33-1+cuda10.2_amd64
Python: 3.7
PyTorch: torch-1.8.2+cu102-cp37-cp37m-linux_x86_64
PyTorch3D: pytorch3d-0.6.0-py37_cu102_pyt181

代码在以上环境能够正确处理数据和训练模型

本文的运行方案与官网有稍微不同

论文:https://arxiv.org/abs/2103.11078
代码:https://github.com/YudongGuo/AD-NeRF
论文题目《AD-NeRF: Audio Driven Neural Radiance Fields for Talking Head Synthesis》

本文AD-NeRF运行环境,模型和代码下载地址

链接:https://pan.baidu.com/s/1tvZOwFM8XAnJONPXNvkGYg
提取码:1l53

本文执行方案如下
先下载已经提供的AD-NeRF运行环境 包括cuda,cudnn,pytorch,pytorch3d,全部是匹配的版本,本地化安装不容易出现问题
内容包括

cuda-repo-ubuntu1804-10-2-local-10.2.89-440.33.01_1.0-1_amd64.deb
libcudnn8_8.0.3.33-1+cuda10.2_amd64.deb
libcudnn8-dev_8.0.3.33-1+cuda10.2_amd64.deb
pytorch3d-0.6.0-py37_cu102_pyt181.tar.bz2
torch-1.8.2+cu102-cp37-cp37m-linux_x86_64.whl

执行步骤

1 cuda和cudnn的安装

在 NVIDIA驱动是440版本的环境下安装上面已经下载的cuda和cudnn,其他驱动版本未测试
如果下载其他版本看这里

2 创建 anaconda虚拟环境,名字叫adnerf

conda env create -f environment.yml
conda activate adnerf

3 本地安装GPU版的PyTorch

pip install torch-1.8.2+cu102-cp37-cp37m-linux_x86_64.whl

4 本地安装PyTorch3D

conda install --use-local pytorch3d-0.6.0-py37_cu102_pyt181.tar.bz2

5 第三方模型位置

将"01_MorphableModel.mat" 放到 data_util/face_tracking/3DMM/
运行

cd data_util/face_tracking
python convert_BFM.py

文本已提供该模型

6 制作数据集

bash process_data.sh Obama

该数据集是通过 dataset/vids/Obama.mp4生成的数据集,网盘已包含生成的数据集

7 剩下的事情就可以按照官网提供的命令进行训练了

训练分两部
(1)训练Head-NeRF
如果遇到与我相同的显存不足的问题,可以跳到8

python NeRFs/HeadNeRF/run_nerf.py --config dataset/Obama/HeadNeRF_config.txt

(2)训练TorsoNeRF

从AD-NeRF/dataset/Obama/logs/Obama_head找到最新的模型, 例如030000_head.tar重命名为head.tar
将head.tar放到AD-NeRF/dataset/Obama/logs/Obama_com中
执行名

python NeRFs/TorsoNeRF/run_nerf.py --config dataset/Obama/TorsoNeRF_config.txt


训练过程

8 显存不够的解决

(1)训练源码在12G显存下不够,所以改了下样本大小由64改到了32可以运行

AD-NeRF/NeRFs/HeadNeRF/run_nerf.py
AD-NeRF/NeRFs/TorsoNeRF/run_nerf.py
parser.add_argument("--N_samples", type=int, default=32,
...

(2)制作数据集时显存不够
AD-NeRF/data_util/face_tracking/face_tracker.py
搜索代码 batch_size
原来是50,这里改成10

batch_size = 10 #50

AD-NeRF 由音频和人脸图像合成人脸视频并表现出自然的说话风格相关推荐

  1. 《中国人工智能学会通讯》——11.51 基于幻象技术的异质人脸图像合成

    11.51 基于幻象技术的异质人脸图像合成 基于稀疏特征选择的方法,以及现有的大部分算法在合成人脸图像时,多是采用线性组合的方式.线性组合,即线性加权平均,可以看作一低通滤波器,会过滤掉一些高频细节信 ...

  2. Python人脸识别图片视频

    人脸识别技术发展现状及未来趋势 当前,随着人工智能.物联网等前沿技术的迅速发展,智能时代已悄然到来,"刷脸"逐渐成为了新的风潮.在人脸识别技术商业化应用领域不断扩张的趋势下,&qu ...

  3. 人脸识别_云端人脸识别-人脸识别SDK+API-人脸识别闸机解决方案

    云端人脸识别-人脸识别SDK+API-人脸识别闸机解决方案 人脸识别闸机-人脸识别闸机解决方案 软硬一体的人脸识别闸机解决方案,提升人员系统化管理的安全性与便捷性 方案构成 针对人员出入的闸机及门禁场 ...

  4. 【dlib库】进行人脸检测+人脸关键点检测+人脸对齐

    原图像: 1. 人脸检测 import cv2 import dlib import matplotlib.pyplot as plt # 获取图片 my_img = cv2.imread('my_i ...

  5. frame中src怎么设置成一个变量_OpenCV图像人脸检测及视频中的人脸检测(附源码)...

    文章目录 一.数据和知识准备 1. 下载HAAR与LBP数据 2. opencv相关知识 二.python+opencv实现人脸检测 1. 图像单人脸检测 2. 图像多人脸检测 3. 视频中人脸检测 ...

  6. tensorflow精进之路(二十七)——人脸识别(中)(MTCNN人脸检查和人脸对齐+FaceNet模型)

    1.概述 上一讲,我们讲了人脸识别的基本原理,这一讲,我们用tensorflow来实现它. 2.下载LFW人脸数据集 2.1.LFW数据集简介 LFW人脸数据集主要用来研究非受限情况下的人脸识别问题, ...

  7. matlab截视频人脸,一种视频图像中人脸图像截取方法与流程

    本发明涉及人工智能领域,具体涉及一种提高人脸比对性能的视频图像中人脸图片截取方法. 背景技术: 人脸图像比对需要对人脸图像提取特征数据,用于人脸对比的人脸特征提取,主要是对经人脸检测过程截取到的视频图 ...

  8. 人脸验证(图片/视频) tensorflow、pytorch框架、dlib库(face_recognition)和opencv库————附带详细步骤和代码,可实际运行

    文章目录 0 背景与结果 1 准备知识 2 tensorflow进行人脸识别(AlexNet.视频/图像) 3 pytorch进行人脸识别(fasterrcnn,图片) 4 dlib库(face_re ...

  9. 人脸识别: 人脸数据集大全

    转自:http://blog.csdn.net/chenriwei2/article/details/50631212 公开人脸数据集 本页面收集到目前为止可以下载到的人脸数据库,可用于训练人脸深度学 ...

最新文章

  1. Linux软件包命令
  2. luogu P6113 【模板】一般图最大匹配(带花树)
  3. centos7最小安装没有 ifconfig netstat 命令
  4. nag在逆向中是什么意思_OD 实验(四) - 去除 NAG 窗口的几种方法
  5. kaggle数据集_ArXiv170万篇论文数据集上线Kaggle!
  6. linux 安装软件
  7. 【OpenCV 例程200篇】31. 图像金字塔(cv2.pyrDown)
  8. Base64与MIME和UTF-7
  9. 白鹭发布html5,白鹭Egret Engine 1.5发布 HTML5性能大幅提升
  10. Unity物体跟随鼠标移动
  11. 【3款文献阅读的插件】
  12. 在线hash密码破解网站列表
  13. All in!马斯克出价430亿美元收购Twitter全部股份,还有B计划
  14. win10 mstsc 设置
  15. 飞腾新8核服务器芯片,国产飞腾桌面级CPU发布:最高2.6GHz 八核只要25W
  16. 项目一 线性门控开关方法二
  17. r语言进行go富集分析_GO富集柱状图
  18. 机器人抓取(二)—— ROS 控制 onrobot RG2 / RG6 机械手(第二代)
  19. mysql怎么查看网站后台帐号密码_mysql怎么查看网站后台帐号密码
  20. 【电力电子技术课程设计】单相交流调压电路Simulink仿真

热门文章

  1. 一步强制升级windows11
  2. iOS 蓝牙(CoreBluetooth)
  3. 如何将APE及FLAC格式文件刻录成CD
  4. 【生活随笔】读书笔记之《五天学会绘画》
  5. tuts4you上lena‘s40个crackme(1)
  6. 制作启动的iso文件
  7. plm,tc(teamCenter)学习笔记
  8. swoft安装--docker版本安装
  9. 数据可视化----ECharts---柱状图(三)
  10. vue实现分组轮播(一排放4个小的、无缝滚动、跑马灯效果)