疫情期间,很多人都在用 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 上进行远程测试,用谷歌的硬件来跑,在国外的朋友可以试试。
DropboxYandex.DiskGoogle 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 的目录下 (注意不要解压)。