开源
Deep Video Portraits:基于深度学习技术的视频人像转换模型
来源:元经纪     阅读:831
网站管理员
发布于 2023-06-20 09:29
查看主页

概述

Deep Video Portraits 是一种基于深度学习技术的视频人像转换模型,可以将一个人的面部表情和口型转换到另一个视频中。该模型可以用于电影特效和视频制作等领域。

安装

我们支持python3。要安装依赖项,请运行:

pip install -r requirements.txt

YAML 配置

[hidecontent type="logged" desc="隐藏内容:登录后可查看"]

有几个配置 ( config/dataset_name.yaml) 文件,每个文件一个dataset。请参阅config/taichi-256.yaml获取每个参数的说明。

预训练检查点

可以在以下链接下找到检查点:google-driveyandex-disk

动画演示

要运行演示,请下载检查点并运行以下命令:

python demo.py  --config config/dataset_name.yaml --driving_video path/to/driving --source_image path/to/source --checkpoint path/to/checkpoint --relative --adapt_scale

结果将存储在result.mp4.

在我们的方法中使用之前,应该裁剪驾驶视频和源图像。要获得一些半自动裁剪建议,您可以使用python crop-video.py --inp some_youtube_video.mp4. 它将使用 ffmpeg 为作物生成命令。为了使用该脚本,需要面部对齐库:

git clone https://github.com/1adrianb/face-alignment
cd face-alignment
pip install -r requirements.txt
python setup.py install

使用 Docker 的动画演示

如果由于库兼容性问题而无法运行演示,并且您正在运行 Linux,则可以尝试在 Docker 容器中运行它,这将使您更好地控制执行环境。

要求:已安装 Docker 19.03+ 和nvidia-docker 并能够成功运行nvidia-docker使用测试。

我们将首先构建容器。

docker build -t first-order-model .

现在我们有了本地可用的容器,我们可以用它来运行演示。

docker run -it --rm --gpus all \
       -v $HOME/first-order-model:/app first-order-model \
       python3 demo.py --config config/vox-256.yaml \
           --driving_video driving.mp4 \
           --source_image source.png  \ 
           --checkpoint vox-cpk.pth.tar \ 
           --result_video result.mp4 \
           --relative --adapt_scale

Colab 演示

@graphemecluster 为 Google Colab 准备了一个 GUI 演示。它也适用于 Kaggle。有关源代码,请参阅demo.ipynb

有关旧演示,请参阅old_demo.ipynb

换脸

可以修改使用监督分割掩码执行面部交换的方法。  对于无监督和有监督的视频编辑,例如换脸,请参考运动协同分割

训练

要在特定数据集上训练模型运行:

CUDA_VISIBLE_DEVICES=0,1,2,3 python run.py --config config/dataset_name.yaml --device_ids 0,1,2,3

该代码将在日志目录中创建一个文件夹(每次运行都会创建一个带有时间戳的新目录)。检查点将保存到此文件夹中。要检查训练期间的损失值,请参阅log.txt。您还可以检查train-vis子文件夹中的训练数据重建。默认情况下,批量大小调整为在 2 或 4 个 Titan-X gpu 上运行(从速度上看,它没有太大区别)。您可以在相应文件的 train_params 中更改批量大小.yaml

视频重建评估

要评估重建性能运行:

CUDA_VISIBLE_DEVICES=0 python run.py --config config/dataset_name.yaml --mode reconstruction --checkpoint path/to/checkpoint

您需要指定检查点的路径,子reconstruction文件夹将在检查点文件夹中创建。生成的视频将存储到此文件夹中,生成的视频也将以png无损“.png”格式存储在子文件夹中以供评估。可以从论文中找到有关计算指标的说明:https ://github.com/AliaksandrSiarohin/pose-evaluation 。

图像动画

为了动画视频运行:

CUDA_VISIBLE_DEVICES=0 python run.py --config config/dataset_name.yaml --mode animate --checkpoint path/to/checkpoint

您需要指定检查点的路径,animation子文件夹将创建在与检查点相同的文件夹中。您可以在那里找到生成的视频,并在子文件夹中找到它的无损版本png。默认情况下,来自测试集的视频将随机配对,但您可以在相应.csv文件中指定“source,driving”对。该文件的路径应在.yamlpairs_list 设置中的相应文件中指定。

执行动画有两种不同的方式:使用绝对关键点位置或使用相对关键点位置。

  1. 使用绝对坐标的动画:使用驱动视频的绝对位置和源图像的外观来执行动画。这样,对所使用的驱动视频和源外观没有特定要求。然而,这通常会导致性能不佳,因为不相关的细节(例如形状)会被转移。检查动画参数taichi-256.yaml以启用此模式。

  1. 使用相对坐标的动画:我们首先从驾驶视频中估计每个关键点的相对移动,然后将此移动添加到源图像中关键点的绝对位置。此关键点与源图像一起用于动画。这通常会带来更好的性能,但是这需要视频第一帧中的对象和源图像中的对象具有相同的姿势

数据集

  1. Bair。这个数据集可以直接下载

  2. Mgif。这个数据集可以直接下载

  3. Fashion按照从中下载数据集的说明进行操作。

  4. Taichi按照data/taichi-loading中的说明或https://github.com/AliaksandrSiarohin/video-preprocessing中的说明进行操作。

  5. Nemo。请按照有关如何下载数据集的说明进行操作。然后应使用https://github.com/AliaksandrSiarohin/video-preprocessing中的脚本对数据集进行预处理。

  6. VoxCeleb请按照https://github.com/AliaksandrSiarohin/video-preprocessing中的说明进行操作。

在您自己的数据集上训练

  1. 将所有视频调整为相同大小,例如 256x256,视频可以在“.gif”、“.mp4”或包含图像的文件夹中。我们推荐后者,为每个视频创建一个单独的文件夹,其中包含所有帧的“.png”格式。这种格式是无损的,并且具有更好的 i/o 性能。

  2. 创建一个包含data/dataset_name2 个子文件夹的文件夹train,并将test培训视频放在.traintest

  3. 创建一个config config/dataset_name.yaml,在dataset_params中指定根目录root_dir: data/dataset_name。同时调整 train_params 中的 epoch 数。

补充笔记

引文:

@InProceedings{Siarohin_2019_NeurIPS,
  author={Siarohin, Aliaksandr and Lathuilière, Stéphane and Tulyakov, Sergey and Ricci, Elisa and Sebe, Nicu},
  title={First Order Motion Model for Image Animation},
  booktitle = {Conference on Neural Information Processing Systems (NeurIPS)},
  month = {December},
  year = {2019}
}

[/hidecontent]

 
免责声明:本文为用户发表,不代表网站立场,仅供参考,不构成引导等用途。 开源
你抢着买了吗!奔驰宝马奥迪中国退出价格战后:涨价真的更好卖了
“工具+资源”双重赋能,让中小企业数字化转型少走弯路
福州移动“硬核”护航第七届数字峰会
首钢京唐MCCR多模式全连续铸轧一体化技术荣获冶金科学技术特等奖
农技上“云端” 屏上忙“耕耘”(大数据观察)

首页

分类

定制方案

消息

我的