查看完整版本: [-- 化身“阿凡达”,国外小哥开源 AI 实时变脸工具 Avatarify --]

秋无痕论坛 -> 『Windows 10 专区』 -> 化身“阿凡达”,国外小哥开源 AI 实时变脸工具 Avatarify [打印本页] 登录 -> 注册 -> 回复主题 -> 发表主题

hexj9 2020-05-27 12:31

疫情期间,很多人都在用 Zoom 和 Skype 等软件进行视频会议。国外一位开发小哥觉得这样开会太无聊,于是基于 first-order-model 开发了一个能够把别人的照片套在自己脸上的“变脸”软件 Avatarify,并将其开源。
看过电影阿凡达(Avatar)的朋友应该对这款软件的立意并不陌生,简单理解就是把别人的脸套在自己的表情上实时驱动。Avatarify 的作者 Ali Aliev 最初只是想逗一下在 ZOOM 上开会的同事,在视频会议期间将一些名人的脸实时叠加到自己的脸上。于是他参考了发表在 arxiv 上的一篇论文 “First Order Motion Model for Image Animation”,并基于论文中的开源项目 first-order-model 构建了 Avatarify。如图所示,作者使用 Avatarify 模仿马斯克与同事进行视频会议:
 
与其他 AI 人脸交换技术(如 deepfakes)类似,Avatarify 的算法是在你想交换的脸上训练的,即训练材料是你想要模仿的人的脸部图像。该模型通过在目标的相似类别(比如人脸)上训练算法,实现了面部表情的实时呈现。但由于该软件对视频进行的是实时处理,即需要同时打开视频会议、Avatarify 等软件,因此对于 GPU 的要求比较高(作者用的是 1080 Ti,勉强达到 33 FPS)。

测试环境
    GPU :越强越好,以下是作者使用的不同显卡的帧数参考:
GeForce GTX 1080 Ti:每秒 33 帧
GeForce GTX 1070:每秒 15 帧
GeForce GTX 950:每秒 9 帧
可以看到 1080 Ti 才能勉强不掉帧,想玩的同学量力而行......
PS:也可以在 Google 的 Colab 上进行远程测试,用谷歌的硬件来跑,在国外的朋友可以试试。
    摄像头一个
    下载训练好的神经网络权值:
Dropbox
Yandex.Disk
Google Drive
不同操作系统的朋友往下看:
Linux
使用v4l2loopback创建虚拟摄像头
1.下载 Miniconda Python 3.7 ,运行安装命令:
bash Miniconda3-latest-Linux-x86_64.sh[/pre]2.克隆 avatarify 镜像仓库,并安装相关依赖项 (需要 sudo 权限):
git clone https://github.com/alievk/avatarify.gitcd avatarifybash scripts/install.sh[/pre]3.把之前下好的网络权值文件vox-adv-cpk.pth.tar 放在 avatarify 的目录下 (注意不要解压)。

hexj9 2020-05-27 12:31
Windows 10
1. 安装 Miniconda Python 3.7 。
2. 安装 Git 。
3. 点击开始菜单,在运行中输入"miniconda". 根据提示运行 Anaconda Prompt 。
4. 输入以下指令下载并安装 Avatarify :
git clone https://github.com/alievk/avatarify.gitcd avatarifyscriptsinstall_windows.bat[/pre]5. 把之前下好的网络权值文件 vox-adv-cpk.pth.tar 放在 avatarify 的目录下 (注意不要解压)。
6. 运行 run_windows.bat 如果安装成功,桌面会打开两个摄像头界面(一个是默认摄像头,一个是 avatarify 摄像头),不要关闭它们进行下一步。
7. 安装 OBS Studio 以抓取 Avatarify 摄像头的内容(主播直播常用的后台软件)。
8. 安装 VirtualCam 插件. 选择 Install and register only 1 virtual camera.
9. 运行 OBS Studio。
10. 点击来源一栏中的“+” —— 窗口捕获 —— 选择添加现有一栏中的 "[python.exe]: avatarify" —— 编辑 —— 转换 —— 自适应屏幕。

11. 在 OBS Studio 中, 点击工具栏 —— VirtualCam,选择自动启动,缓冲帧设置为 0,开始。
现在 OBS-Camera可以在 ZOOM 或其他视频会议软件中使用了。(10-11 步只需要设置一次)
除了 Linux 和 Windows 10 以外,作者还提供了 Mac 操作系统和一种连入 Google 平台的远程测试方法,详情请点击
创建 Avatar 库 
作者在 Avatarify 项目中提供了一组名人的标准化身(爱因斯坦、蒙娜丽莎等),你也可以把其他你想变成的名人的图片素材放到 avatars 文件夹里,但注意要遵循以下规则:
1、人物图片最好为正方形。
2、参考文件夹里的默认图片,人物面部距离不宜太远或太近。
3、人物图片背景不宜太过复杂,单一色调为佳。

hexj9 2020-05-27 12:32
运行
先打开 Avatarify 再打开视频会议软件。
Linux
运行脚本指令创建虚拟摄像机 /dev/video9,可在 scripts/settings.sh修改对应配置。
可以运行指令 v4l2-ctl--list-devices 显示系统中的所有设备。
运行:
bash run.sh[/pre]弹出 cam 和 avatarify 窗口, cam 窗口用来控制面部位置, avatarify 窗口可以预览 Avatar。
Windows 10
    在 Anaconda Prompt 中运行:
cd C:pathtoavatarifyrun_windows.bat[/pre]打开 OBS Studio,此时OBS-Camera上将显示 Avatarify 处理后的人物面部。
2. 弹出cam 和 avatarify 窗口, cam 窗口用来控制面部位置,avatarify 窗口可以预览 Avatar。
注意:如果视频延迟过高,可以在 OBS Studio 中右键单击“预览”窗口,然后取消选中“启用预览”。
操作指令
按键
功能
1-9
快速切换准备好的 Avatar
Q
打开 StyleGAN 生成的 Avatar,每按下一次新的 Avatar 会被采样
0
开启/关闭 Avatar
A/D
切换上一个/下一个 Avatar
W/S
打开/关闭 ZOOM 摄像头
U/H/J/K
调整摄像头位置, H - 左移, K - 右移, U - 上移, J - 下移 (每次移动 5 像素,与 Shift 键一起按移动 1 像素)。
Shift-Z
重置摄像头位置
Z/C
调整原像透明度
X
重置参考帧
F
切换参考帧搜索模式
R
Mirror reference window.
T
Mirror output window.
L
重新载入 Avatar
I
显示 FPS
ESC
退出
Avatarify 支持任何视频会议应用程序,只要其中的视频输入源可以更改即可(ZOOM、Skype、Hangouts、Slack…)。聪明的朋友已经准备好了吴彦祖的 Avatar,开始和你的朋友视频吧。(当然,前提是你得有个 1080 Ti 以上的显卡)

mc2800 2020-05-27 16:33
看看了解一下,谢谢总版分享!

edmondwong 2020-05-27 17:27
谢谢总版分享!

st159 2020-05-27 18:28
学习一下

pigeon_w 2020-05-27 21:55
来看看详细报道,谢谢分享

jxm 2020-05-28 00:29
看看了解一下,谢谢分享!

bdpqnumw 2020-05-30 05:21
看看就好,不看不知道,一看吓一跳。

hexj9 2020-05-30 08:12
这个可以看看,了解一下。

dysunb 2020-05-30 08:47
了解一下   

hexj9 2020-06-01 08:43
这个可以看看,了解一下。

dream3219 2020-06-01 08:51
谢谢总版分享!学习了     

fbk123 2020-06-02 08:21
进来了解一下。


查看完整版本: [-- 化身“阿凡达”,国外小哥开源 AI 实时变脸工具 Avatarify --] [-- top --]



Powered by PHPWind v7.3.2 Code © 2003-08 PHPWind
Time 0.049535 second(s),query:3 Gzip enabled

You can contact us