疫情期间,很多人都在用 Zoom 和 Skype 等软件进行视频会议。国外一位开发小哥觉得这样开会太无聊,于是基于 first-order-model 开发了一个能够把别人的照片套在自己脸上的“变脸”软件 ,并将其开源。
看过电影阿凡达()的朋友应该对这款软件的立意并不陌生,简单理解就是把别人的脸套在自己的表情上实时驱动。 的作者 Ali Aliev 最初只是想逗一下在 ZOOM 上开会的同事,在视频会议期间将一些名人的脸实时叠加到自己的脸上。于是他参考了发表在 arxiv 上的一篇论文 “First Order Model for Image ”,并基于论文中的开源项目 first-order-model 构建了 。如图所示,作者使用 模仿马斯克与同事进行视频会议:
与其他 AI 人脸交换技术(如 )类似, 的算法是在你想交换的脸上训练的,即训练材料是你想要模仿的人的脸部图像。该模型通过在目标的相似类别(比如人脸)上训练算法,实现了面部表情的实时呈现。但由于该软件对视频进行的是实时处理,即需要同时打开视频会议、 等软件,因此对于 GPU 的要求比较高(作者用的是 1080 Ti,勉强达到 33 FPS)。
测试环境
GTX 1080 Ti:每秒 33 帧
GTX 1070:每秒 15 帧
GTX 950:每秒 9 帧
可以看到 1080 Ti 才能勉强不掉帧,想玩的同学量力而行……
PS:也可以在 的 Colab 上进行远程测试,用谷歌的硬件来跑,在国外的朋友可以试试。
.Disk
Drive
不同操作系统的朋友往下看:
Linux
使用创建虚拟摄像头
1.下载 3.7 ,运行安装命令:
bash –Linux-.sh
2.克隆 镜像仓库,并安装相关依赖项 (需要 sudo 权限):
git clone
cd
bash /.sh
3.把之前下好的网络权值文件vox-adv-cpk.pth.tar 放在 的目录下 (注意不要解压)。
10
1. 安装 3.7 。
2. 安装 Git 。
3. 点击开始菜单,在运行中输入””. 根据提示运行 。
4. 输入以下指令下载并安装 :
git clone
cd
ws.bat
5. 把之前下好的网络权值文件 vox-adv-cpk.pth.tar 放在 的目录下 (注意不要解压)。
6. 运行 .bat 如果安装成功,桌面会打开两个摄像头界面(一个是默认摄像头,一个是 摄像头),不要关闭它们进行下一步。
7. 安装 OBS 以抓取 摄像头的内容(主播直播常用的后台软件)。
8. 安装 插件. 选择 and only 1 .
9. 运行 OBS 。
10. 点击来源一栏中的“+” —— 窗口捕获 —— 选择添加现有一栏中的 “[.exe]: ” —— 编辑 —— 转换 —— 自适应屏幕。
11. 在 OBS 中, 点击工具栏 —— ,选择自动启动,缓冲帧设置为 0,开始。
现在 OBS-可以在 ZOOM 或其他视频会议软件中使用了。(10-11 步只需要设置一次)
除了 Linux 和 10 以外,作者还提供了 Mac 操作系统和一种连入 平台的远程测试方法,详情请点击。
创建 库
作者在 项目中提供了一组名人的标准化身(爱因斯坦、蒙娜丽莎等),你也可以把其他你想变成的名人的图片素材放到 文件夹里,但注意要遵循以下规则:
1、人物图片最好为正方形。
2、参考文件夹里的默认图片,人物面部距离不宜太远或太近。
3、人物图片背景不宜太过复杂,单一色调为佳。
运行
先打开 再打开视频会议软件。
Linux
运行脚本指令创建虚拟摄像机 /dev/,可在 /.sh修改对应配置。
可以运行指令 v4l2-ctl–list- 显示系统中的所有设备。
运行:
bash run.sh
弹出 cam 和 窗口, cam 窗口用来控制面部位置, 窗口可以预览 。
10
在 中运行:
cd C:
.bat
打开 OBS ,此时OBS-上将显示 处理后的人物面部。弹出cam 和 窗口, cam 窗口用来控制面部位置, 窗口可以预览 。
注意:如果视频延迟过高,可以在 OBS 中右键单击“预览”窗口,然后取消选中“启用预览”。
操作指令
按键
功能
1-9
快速切换准备好的
打开 生成的 ,每按下一次新的 会被采样
开启/关闭
A/D
切换上一个/下一个
W/S
打开/关闭 ZOOM 摄像头
U/H/J/K
调整摄像头位置, H – 左移, K – 右移, U – 上移, J – 下移 (每次移动 5 像素,与 Shift 键一起按移动 1 像素)。
Shift-Z
重置摄像头位置
Z/C
调整原像透明度
重置参考帧
切换参考帧搜索模式
.
.
重新载入
显示 FPS
ESC
退出
支持任何视频会议应用程序,只要其中的视频输入源可以更改即可(ZOOM、Skype、、Slack…)。聪明的朋友已经准备好了吴彦祖的 ,开始和你的朋友视频吧。(当然,前提是你得有个 1080 Ti 以上的显卡)