前言: GitHub 上又火了个项目,蛮有趣的:可以让你在 ZOOM 、腾讯会议等等软件中“换脸”成别人。自己 fork 到本地,调了一调。作者封装的已经相当好了,当然了,像我这种 CRUD 程序员 + AI 小白 肯定是要调一天的,不调一天是不可能的,也就调调就崩溃+一顿改环境这样子。咱们聊聊这个程序的原理与应用时的注意事项。
今天上午开了个班会,用的腾讯会议,变身哈利波特、C罗、施瓦辛格完全没问题…
项目地址: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 。
运行机制
我画了一张图。
原理大概是:
- 利用俄罗斯老哥的程序,把你的标签提炼到你提供的照片上,实现“变脸”;
- OBS Studio 是“生成的视频”与“会议程序”的接口,把生成的“变脸视频”抓下来,推给“会议程序”(如腾讯会议)吓唬你朋友们…
安装+配置+应用流程
老哥已经写得很清楚了,我这里厚颜无耻地翻译一下,以 windows 为例,顺便聊聊每步我都遇到了什么困难。
原文地址:link
安装
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
# 安装 PyTorchREM ###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
- Mega
- Yandex.Disk
- Google Drive
我推荐第四个 Google Drive ,不用“科学上网”,内网就能几百 K/s。
下载好后,放在根目录下就行了,不用解压。
6. 尝试运行本项目
原文翻译:运行 run_windows.bat
。如果成功安装,会弹出两个窗口,分别为“cam”和“avatarify”。先不管。如果你的系统里有多个“相机”,你应该选择对的那个。在 scripts/settings_windows.bat
中修改 CAMID
的值,如 0, 1, 2, …
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 后:
新建一个场景,在来源中点击“+”好,选择“python.exe avatarify” 。
这样,你的 OBS 就会捕获你用 AI 生成的“脸”了。
此外,别忘了让图片适应屏幕大小(快捷键为 CTRL + F
来自适应屏幕)。
11.12. 最后一步:开启 OBS 的虚拟摄像头
在 OBS 中,点击“工具->虚拟摄像头”,打开它。
打开微信视频、腾讯视频等等软件
好了,现在你可以开始吓唬人了(准备挨打了…)。