ai实现视频通话换脸,伪装成别人

ai实现视频通话换脸,伪装成别人

ai实现视频通话换脸,伪装成别人

今天我们来试试在qq或微信聊天的时候,将自己通过ai换脸伪装成别人,声明:此文仅技术交流,不能使用此技术用于其他非法目的。

如果不会编程,可以直接使用两个软件安装到本地即可视频通话换脸

1、swapface,这个下载安装后直接运行即可实时视频换脸,还可对图片和视频文件中的人脸进行更换,关键还免费易操作。

ai实现视频通话换脸,伪装成别人

下载网址:https://swapface.org/#/home

2、deepfacelive,一款开源视频换脸软件

ai实现视频通话换脸,伪装成别人

开源地址:https://github.com/iperov/DeepFaceLive

软件下载地址:https://disk.yandex.ru/d/7i5XTKIKVg5UUg

https://mega.nz/folder/m10iELBK#Y0H6BflF9C4k_clYofC7yA

如果你会编程可以试试下面这种方式:

原文地址:https://github.com/alew3/faceit_live

一、实验环境

Linux host OSNVidia fast GPU (GTX 1080, GTX 1080i, Titan, etc ...)Fast Desktop CPU (Quad Core or more)NVidia CUDA 9 and cuDNN 7 库已经安装了Docker 安装了web摄像头工作在 /dev/video0

我们还要一个虚拟摄像头

$ git clone https://github.com/umlaeute/v4l2loopback.git$ make && sudo make install$ sudo depmod -a$ sudo modprobe v4l2loopback video_nr=1$ v4l2-ctl -d /dev/video1 -c timeout=3000

这样就创建了一个流 /dev/video1

二、下载faceit

$ git clone --recurse-submodules https://github.com/alew3/faceit_live.git /local_path/

三、创建docker

$ cd /local_path/faceit_live$ xhost local:root # this is necessary for your docker to access the host interface$ docker-compose build$ chmod +x ./run_docker.sh

$ ./run_docker.sh//运行docker

然后创建目录./data/persons,并放置一个包含人员A和人员B的人脸的图像。使用与设置模型时相同的名称。此文件用于从您提供的视频中的任何其他人过滤他们的脸。例如

./data/persons/me.jpg./data/persons/oliver.jpg

四、捕获webcam生成一段视频

你可以使用cheese或其他程序从你的网络摄像头中捕获视频,并将其用于训练。这比使用手机更好,你将在现实世界的环境中,稍后将用于转换。

$ sudo apt-get install cheese$ cheese

你至少需要512张图片来训练,所以做一些你自己的视频,移动你的头,做出不同的表情。然后将它们放入文件夹中。 ./data/videos/:

e.g../data/videos/myvideo1.webm./data/videos/myvideo2.webm

对于来自第二个人的训练视频,您可以使用youku上的视频,也可以将其直接放入同一个./data/videos 文件夹中。将您的模型和训练数据设置在Faceit_Live.py文件的代码中,例如:

#创建模型,三个参数为: 模型名称 人员A的名称 人员B的名称
faceit = FaceIt('me_to_oliver', 'me', 'oliver')

# 从目录/data/videos中读取人员A的视频或者从youku mp4 url中.
faceit.add_video('me', 'myvideo1.webm')
faceit.add_video('me', 'myvideo2.webm')
faceit.add_video('me', 'me_from youku.mp4', 'youku url here')

#跟上面一样,人员b也这样
faceit.add_video('oliver', 'oliver_trumpcard.mp4', 'https://www.youku.com/watch?v=JlxQ3IUWT0I')
faceit.add_video('oliver', 'oliver_taxreform.mp4', 'https://www.youku.com/watch?v=g23w7WPSaU8')
faceit.add_video('oliver', 'oliver_zazu.mp4', 'https://www.youku.com/watch?v=Y0IUPwXSQqg')

五、训练和转换

现在让我们启动Docker容器并运行代码:

$ ./run_docker.sh

然后,对数据进行预处理。这将下载视频,将其分解为帧,并提取相关面。运行脚本后,请转到./data/processed/以确保它不会将其他人的图像提取到培训数据中。如果有,就删除它们。

python faceit_live.py preprocess me_to_oliver

然后训练模型,例如:

python faceit_live.py train me_to_oliver

要查看它的工作效果,请使用:

python faceit_live.py live me_to_oliver

ok,最终的效果如下

ai实现视频通话换脸,伪装成别人

{{collectdata}}

网友评论1

  1. # 121
    现在换脸的很多,roop、rope、facefusion都可以实现。
    thinkfuture 2024-03-05回复