Avatarify

您所在的位置:网站首页 avataify软件 Avatarify

Avatarify

2024-06-11 01:30| 来源: 网络整理| 查看: 265

蚂蚁的牙是什么颜色的? ~ 黑色的! ~蚂蚁牙黑~  今年2月,“蚂蚁牙黑”一夜之间风靡各大社交平台,我们看到的视频都是通过手机软件Avatarify制作的,今天来聊一聊Github上Avatarify项目的落地。在动手实现这个项目之前,了解了一下项目环境配置过程,发现很多分享贴都是在Windows环境中实现,所以今天特地在Linux环境中实现。当然,作为shell命令的小白,在项目复现的过程中走了不少弯路,写下这篇博客,记录一下项目复现中的注意事项。

 首先贴出项目的GitHub链接:GitHub - alievk/avatarify-python: Avatars for Zoom, Skype and other video-conferencing apps.

此项目可以在Linux, Mac和 Windows平台下运行,作者在README.md 中详细给出了配置步骤。由于在环境配置的过程中,还涉及到模型权重、虚拟摄像机、一阶运动模型等的下载,所以需要为这个项目留出3G的空间。

一、项目和相关依赖的下载: 1. 下载Minaconda(Anaconda也可以)

因为install.sh文件中要创建的Python环境是3.7版本的,所以我们选择下载Python-3.7对应的Miniconda,下载地址:Miniconda — Conda documentation

我们选择第一个下载,下载好的Miniconda是一个名为.sh的文件。接下来,我们通过bash命令来安装下载好的Miniconda。

bash Miniconda3-latest-Linux-x86_64.sh

我们下载的Miniconda文件名为 :Miniconda-py37_4.10.3-Linux-x86_64.sh,所以我们在终端中需要输入的命令是:

bash Miniconda-py37_4.10.3-Linux-x86_64.sh

Miniconda的安装过程只需要一路回车就可以,如果想要自己设置安装路径,可以自行百度。

2. 克隆avatarify-python项目并安装该项目的依赖项

项目克隆可以去GitHub网站上手动下载,亦可以通过终端命令来下载;

git clone https://github.com/alievk/avatarify-python.git cd avatarify-python bash scripts/install.sh

这里需要强调几点,首先我们先看一下install.sh文件里的内容:

#!/usr/bin/env bash # check prerequisites command -v conda >/dev/null 2>&1 || { echo >&2 "conda not found. Please refer to the README and install Miniconda."; exit 1; } command -v git >/dev/null 2>&1 || { echo >&2 "git not found. Please refer to the README and install Git."; exit 1; } source scripts/settings.sh # v4l2loopback if [[ ! $@ =~ "no-vcam" ]]; then rm -rf v4l2loopback 2> /dev/null git clone https://github.com/alievk/v4l2loopback.git echo "--- Installing v4l2loopback (sudo privelege required)" cd v4l2loopback make && sudo make install sudo depmod -a cd .. fi source $(conda info --base)/etc/profile.d/conda.sh conda create -y -n $CONDA_ENV_NAME python=3.7 conda activate $CONDA_ENV_NAME conda install -y numpy==1.19.0 scikit-image python-blosc==1.7.0 -c conda-forge conda install -y pytorch==1.7.1 torchvision cudatoolkit=11.0 -c pytorch # fomm rm -rf fomm 2> /dev/null git clone https://github.com/alievk/first-order-model.git fomm pip install -r requirements.txt

在执行install.sh过程中,我们需要下载两个文件夹:v4l2loopback和fomm。其中,v4l2loopback是虚拟摄像机,利用摄像机就可以播放摄像机本身存储的视频;fomm(first-order-model-master)是一阶运动模型。GitHub网站在国内只是间歇性有响应,如果只通过bash scripts/install.sh这一条命令就像下载好所有依赖,需要进行多次尝试,而且中间有很长的等待时间,为了使项目运行的更顺畅,我们换另外一种办法:

(1).下载 v4l2loopback-master和first-order-model-master文件夹并解压;

(2). 将v4l2loopback-master文件夹重命名为v4l2loopback;

(3). 将first-order-model-master文件夹重命名为fomm;

(4). 将v4l2loopback和fomm文件夹移动到avatarify-python文件下;

3.  下载驱动模型权重:vox-adv-cpk.pth.tar

下载好的压缩包不需要解压,同样将其移动到avatarify-python文件夹中。至此,所有的东西已经下载完毕,avatarify-python文件夹中的内容见下图:

 所有的依赖下载完成后,我们只需要激活conda,创建Python环境,下载conda和Python依赖的包,我们的install.sh文件就可以修改为如下代码段展示的形式:

#!/usr/bin/env bash # check prerequisites command -v conda >/dev/null 2>&1 || { echo >&2 "conda not found. Please refer to the README and install Miniconda."; exit 1; } command -v git >/dev/null 2>&1 || { echo >&2 "git not found. Please refer to the README and install Git."; exit 1; } source scripts/settings.sh echo "--- Installing v4l2loopback (sudo privelege required)" cd v4l2loopback make && sudo make install sudo depmod -a cd .. source $(conda info --base)/etc/profile.d/conda.sh conda create -y -n $CONDA_ENV_NAME python=3.7 conda activate $CONDA_ENV_NAME conda install -y numpy==1.19.0 scikit-image python-blosc==1.7.0 -c conda-forge conda install -y pytorch==1.7.1 torchvision cudatoolkit=11.0 -c pytorch pip install -r requirements.txt 4. 测试环境,下载conda和Python依赖的包

我们来到avatarify-python文件夹下,打开终端,键入如下命令:

bash scripts/install.sh

等所有的包下载完毕,我们就可以运行该项目,不要关闭终端。

二、运行 1. 项目的首次运行(下载依赖的终端从未关闭过):

在下载好所有环境依赖的终端中,键入如下代码:

bash run.sh

项目开始运行后,首先会弹出cam窗口,按下键盘上的数字“0”后,弹出avatarify窗口,会发现,此时,cam和avatarify窗口中都是摄像机记录的人脸,要想驱动avatars文件夹中的人脸,我们需要按“X”,之后,数字1-9可以切换目标人脸。avatarify在avatars文件夹中已经自带了一套名人头像,有爱因斯坦、艾米纳姆、蒙娜丽莎等等。如果这些人还无法满足你的要求,就去网上再找一个名人大头照放进avatars文件夹里。

 操作指令

按键功能1-9快速切换好准备好的avatarQ打开styleGAN生成的avatar,每按下一次采样新的avatar0开启/关闭avatarA/D切换上一个/下一个avatarW/S打开/关闭ZOOM摄像头U/J/H/KU/J-上/下,H/K-左/右(每次移动5像素,与shift一起按移动1像素)shift+Z充值摄像头位置Z/C调整原透明度X重置参考帧F切换参考帧搜索模式R镜像参考窗口T镜像输出窗口L重新载入avatarI显示FPSESC退出 2. 再次运行avatarify项目:

在第一次运行完后,我们运行人脸驱动项目需要的所有依赖都已经安装完成,之后再运行人脸驱动项目,我们就无需按照README.md的指示操作了,所以运行指令可以精简为:

cd avatarify-python source scripts/settings.sh source $(conda info --base)/etc/profile.d/conda.sh conda activate $CONDA_ENV_NAME bash run.sh

avatarify 支持任何视频会议应用程序,只要其中的视频输入源可以更改即可(ZOOM、Skype、Hangouts、Slack…)。(当然,前提是你得有个 1080 Ti 以上的显卡)



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3