前言:​ GitHub 近期火了一个项目,很有趣。在诸如腾讯视频、ZOOM、微信视频这类视频软件中,把你“变脸”成另一个人(仅需目标人物的一张照片即可)。昨天配置好了,微信视频吓唬了爸妈;恰巧今天上午用腾讯视频开了个班会,我又趁势吓唬了同学们。我来简单讲讲如何配置吧,讲完立马去学防身术,毕竟,同学们都说要顺着网线来干我...


没想到,AI变脸竟然如此简单_git

变身赵四版哈利波特...

项目地址:https://github.com/alievk/avatarify

作者是个俄罗斯老哥,Mac、Linux、Windows 三大平台的配置步骤,老哥都在 README.md 里写的明明白白了,前提是,老哥假设你有这些基础知识:

•懂一点 ​​git​​​ 命令,起码知道如何配置其到命令行终端;•已经安装了 ​​Mini Conda​​​ (​​Anaconda​​​ 也没问题);•足够快的外网的网速(我们要下载​​神经网络权重文件 730MB​​​,​​单独配置的环境中要有PyTorch 700MB​​​ + ​​openCV​​ 等等包))。

在配置过程中,我们要至少要留出三个G的空间:

•需要为本项目单独创建一个 ​​conda​​​ 环境,其中包含 ​​PyTorch=1.0.0​​​ 这种大体量框架;•要下载 ​​OBS Studio​​ (对,就是主播们都在用的视频推流软件);•要下载本项目所用的神经网络模型 ​fomm​[1]​ 。

运行机制

我画了一张图。

没想到,AI变脸竟然如此简单_github_02

原理大概是:

•利用俄罗斯老哥的程序,把你的标签提炼到你提供的照片上,实现“变脸”;•OBS Studio 是“生成的视频”与“会议程序”的接口,把生成的“变脸视频”抓下来,推给“会议程序”(如腾讯会议)吓唬你朋友们...

安装+应用步骤

老哥已经写得很清楚了,我这里以 windows 为例,翻译并解释一下。

英文原文地址:​link​[2]

1. 安装 Miniconda

绝大部分玩 python 的朋友电脑里都有 Anaconda 或者 Miniconda 吧,无需多讲。

老哥写的批处理文件 ​​.bat​​ 是很多是 conda 命令,不用 conda 还真有点麻烦。

2. 安装 Git

绝大部分玩编程语言的朋友都安装 Git 了吧,这个无需多讲。

其实你也可以不装 Git ,这里我们就是利用其克隆个仓库罢了,因此我们完全可以去 GitHub 上以压缩包形式把仓库下载下来。

3.4. 下载仓库、执行批处理文件

老哥说:“请在终端执行以下命令,请原封不动输入。”

咱来看看这些代码都啥意思。

git clone https://github.com/alievk/avatarify.git
# 下载(克隆)老哥的项目
# 前面说了,你去 GitHub 下载压缩包也行,不一定要 git
cd avatarify
# 进入这个项目
scripts\install_windows.bat
# 执行批处理文件

咱来看看批处理文件 ​​install_windows.bat​​ 里有啥。

call scripts/settings_windows.bat
# 调用配置文件,实际上就是知道了新建环境叫啥


call conda create -y -n %CONDA_ENV_NAME% python=3.7
call conda activate %CONDA_ENV_NAME%
# 为咱这个项目新建个 conda 环境,然后激活这个环境


call conda install -y pytorch==1.0.0 torchvision==0.2.1 cuda100 -c pytorch
# 安装 PyTorch


REM ###FOMM###
call rmdir fomm /s /q
call git clone https://github.com/alievk/first-order-model.git fomm
# 把咱这个项目中要用到的模型下载到 fomm 文件夹中


call pip install -r requirements.txt
# 给咱这个 conda 环境中加点料
# 利用 pip 包管理器下一大堆库

这个安装过程总结起来,用东北话就十个字:

•你老老实实给我等着嗷。

​pip​​​、​​git clone​​​ 这种命令都需要咱​​科学、合理地加速上网​​,才能获得较为可观的速度。

5. 下载神经网络权重

神经网络模型贼老大,权重文件肯定也小不了,有 716 MB 。老哥给了四个链接:

•​Dropbox​[3]​•​Mega​[4]​•​Yandex.Disk​[5]​•​Google Drive​[6]

我推荐第四个 Google Drive ,不用“科学上网”,内网就能几百 K/s。

下载好后,放在根目录下就行了,不用解压。

没想到,AI变脸竟然如此简单_git_03

把这个 .tar 放在项目根目录就行了

6. 尝试运行本项目

原文翻译:运行 ​​run_windows.bat​​​ 。如果成功安装,会弹出两个窗口,分别为“cam”和“avatarify”。先不管。如果你的系统里有多个“相机”,你应该选择对的那个。在 ​​scripts/settings_windows.bat​​​ 中修改 ​​CAMID​​ 的值,如 0, 1, 2, ...

没想到,AI变脸竟然如此简单_github_04

两个小窗口,左边是羞涩的我,右边是在“模仿我”的乔布斯

7. 安装 OBS Studio

OBS Studio 开源免费,主播都在用!

官网:https://obsproject.com/

bilibili 上有个 OBS 教程,我看了,觉得不错:

•OBS教程:六分钟学会直播与视频录制•https://www.bilibili.com/video/BV1kW411K7HA/

(有了 OBS 神器,没准你还能顺便成了主播啥的...)

8. 安装 OBS 插件

OBS 本身是不带“虚拟摄像头”功能的,你需要下载插件,然后安装在你的 OBS Studio/bin 目录下。

地址:https://obsproject.com/forum/resources/obs-virtualcam.539/

注意:在安装时选择 register only 1 virtual camera 。

9.10. 运行配置 OBS

打开 OBS 后:

没想到,AI变脸竟然如此简单_批处理文件_05

新建一个场景,在来源中点击“+”按钮,选择“python.exe avatarify” 。

没想到,AI变脸竟然如此简单_github_06

这样,你的 OBS 就会捕获你用 AI 生成的“脸”了。

此外,别忘了让图片适应屏幕大小(快捷键为 ​​CTRL + F​​ 来自适应屏幕)。

11.12. 最后一步:开启 OBS 的虚拟摄像头

在 OBS 中,点击“工具->虚拟摄像头”,打开它。

打开微信视频、腾讯视频等等软件

好了,现在你可以开始吓唬人了(准备挨打了...)。

引用链接

​[1]​​ fomm: ​​​

​[2]​​ link: ​​​

​[3]​​ Dropbox: ​​​

​[4]​​ Mega: ​​​

​[5]​​ Yandex.Disk: ​​​

​[6]​​ Google Drive: ​​​