开源链接:https://github.com/williamyang1991/VToonify
生成高质量艺术肖像视频是计算机图形学和计算机视觉中一项重要且令人向往的任务。虽然基于强大的 StyleGAN 模型构建的一系列成功的肖像图像卡通化模型已经被提出,但这些面向图像的方法在应用于视频时存在明显的局限性,如固定帧大小、需要面部对齐、缺失非面部细节和时间不一致性等。在本文中,我们通过引入一种新颖的 VToonify 框架来研究具有挑战性的可控高分辨率肖像视频风格转移。具体来说,VToonify 利用 StyleGAN 的中分辨率和高分辨率层来渲染高质量的艺术肖像,基于编码器提取的多尺度内容特征来更好地保留帧细节。所得到的完全卷积架构接受大小可变的视频中的非对齐面部作为输入,为输出的自然动作提供了完整的面部区域。我们的框架与现有的基于 StyleGAN 的图像卡通化模型兼容,可将它们扩展到视频卡通化,并继承这些模型的吸引人的特性,以实现对颜色和强度的灵活风格控制。本文提出了基于 Toonify 和 DualStyleGAN 的两种 VToonify 实例,分别用于基于集合和基于示例的肖像视频风格转移。广泛的实验结果表明,我们提出的 VToonify 框架在生成高质量和时间上连贯的艺术肖像视频以及灵活的风格控制方面优于现有方法。
一、环境配置
1、安装Visual Studio
下载并安装Visual Studio 2022
时,必须勾选Visual Studio 扩展开发
|.Net 桌面开发
|使用 C++ 的桌面开发
|通过 Windows 平台开发
四项,然后点击安装,等待完成即可。
下载地址:https://visualstudio.microsoft.com/zh-hans/downloads/
在您安装完成Visual Studio的相关组件之后,您的电脑中将会存在一个cl.exe
文件,该文件所存在的路径实在无法通过脚本来确定,所以必须要您自己找到该文件的目录位置,本站的cl.exe
文件存放于以下路径中,请根据自身情况定位该路径,然后将其复制。
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.32.31326\bin\Hostx64\x64
在您得到cl.exe文件之后,将其添加到环境变量有两种办法。
方法1:手动打开电脑的环境变量设置,将该路径添加至用户环境变量的phth中即可。
我的电脑右击属性
- 方法2:以管理员方式打开CMD命令行窗口,然后执行如下代码,注意替换您自己cl所在路径。
setx PATH "%PATH%;删除此段中文替换为你所复制的路径"
例如本站应该执行如下命令:
setx PATH "%PATH%;C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.32.31326\bin\Hostx64\x64"
[wppay]
2、安装cuda、安装cudnn
请看我的另外一篇专门安装文章:
这里建议使用CUDA 11.8版本或者更高的版本,请在文章提供的百度链接中下载
3、安装Anconda
(1)配置环境永久镜像源
说明:配置.condarc文件可以使用Anaconda下载python依赖速度更快
我的路径 : C:\Users\你本机的用户名\.condarc
default_channels:
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:
conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
pytorch-lts: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
show_channel_urls: true
ssl_verify: false
也可以直接下载本页云盘链接将.condarc放入C:\Users\你本机的用户名\下
(2)以下内容,请按顺序逐条执行安装,不要一次性全部复制,不然极有可能出错。
conda create -d VToonify python=3.9
conda activate VToonify
conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia
# 请在文章提供的百度链接中下载
pip install dlib-19.23.0-cp39-cp39-win_amd64.whl
conda install libfaiss=1.7.1 -c conda-forge
conda install _libgcc_mutex=0.1 ca-certificates=2022.2.1 certifi=2021.10.8
conda install faiss=1.7.1 m2-libedit libfaiss-avx2=1.7.1 -c conda-forge
conda install libffi=3.2.1 -c conda-forge
conda install matplotlib-base=3.3.4
conda install python-lmdb=1.2.1
conda install setuptools
conda install pip
conda install pillow
pip install cmake matplotlib ninja numpy opencv-python==4.5.3.56 scipy tqdm wget
4、下载模型
请在文章提供的百度链接中下载
模型安装
将下载的模型解压至.\VToonify
目录下,此时的模型文件目录结构如下:
5、使用方式
python style_transfer.py --scale_image
python style_transfer.py --scale_image --content ./data/081680.jpg --ckpt ./checkpoint/vtoonify_d_cartoon/vtoonify_s026_d0.5.pt
python style_transfer.py --content ./data/038648.jpg --scale_image --padding 600 600 600 600 --style_id 77 --ckpt ./checkpoint/vtoonify_d_arcane/vtoonify_s_d.pt
python style_transfer.py --content ./data/038648.jpg --scale_image --padding 600 600 600 600 --backbone toonify --ckpt ./checkpoint/vtoonify_t_arcane/vtoonify.pt
python style_transfer.py --content ./data/077559.jpg --scale_image --padding 600 600 600 600 --style_id 77 --ckpt ./checkpoint/vtoonify_d_arcane/vtoonify_s_d.pt
python style_transfer.py --content ./data/077559.jpg --scale_image --padding 600 600 600 600 --backbone toonify --ckpt ./checkpoint/vtoonify_t_arcane/vtoonify.pt
参数解释:
--content
: 目标人脸图像或视频的路径地址--style_id
: 样式图像的索引.--style_degree
(default: 0.5): 调整样式的度数.--color_transfer
(default: False): 如果加载VToonify Dsdc模型,则执行颜色传输.--ckpt
: VToonify-D模型的路径。默认情况下,会加载经过卡通风格训练的VToonify Dsd.--exstyle_path
: 外部样式代码的路径。默认情况下,加载与–ckpt位于同一目录中的代码.--scale_image
: 重新缩放输入图像/视频以适应VToonify.--padding
(default: 200, 200, 200, 200): 向左、向右、向上、向下填充到眼睛中心
6、项目总结:
1、现在vtoonify只能做到图片和视频的风格化,但是由于模型比较大的缘故实时的风格迁移还做不到,实时人物风格画可以参考我的另外一篇文章DCT-NET
[/wppay]