dot(Deepfake Offensive Toolkit)使虚拟摄像头实现实时、可控的深度伪造。dot用于执行银行身份验证或视频会议系统等场景的渗透测试,适用群体包括安全分析师、Red Team成员和生物识别研究者。
该项目创建仅6天已经收获了1.9k的Star。
- 项目地址:https://github.com/sensity-ai/dot
- 开源协议:BSD-3-Clause
dot的开发仅用于研究和展示目的。作为终端用户,你有责任在使用该项目时遵守所有的适用法律。项目作者和贡献研究者对滥用该项目或使用时导致自身受到损害不负责任。
工作原理
简言之,dot的工作原理如下。
__________________ _____________________________ __________________________ | your webcam feed | -> | suite of realtime deepfakes | -> | virtual camera injection | —————— —————————– ————————–
dot支持的所有深度伪造不需要额外训练,它们可以实时地用在一张照片上,这张照片成为人脸模拟的目标。支持的技术如下:
- 人脸互换(通过SimSwap),分辨率为224和512。还可以选择人脸超分辨率(通过GPen),分辨率为256和512。
- 更低质量人脸互换(通过OpenCV)。
- FOMM(First Order Motion Model,用于图像动画的一阶动作模型)。
安装
安装预要求
Linux系统:
sudo apt install ffmpeg cmake
MacOS系统:
brew install ffmpeg cmake
创建Conda环境
GPU支持(推荐)
conda env create -f envs/environment-gpu.yamlconda activate dot
CPU支持(速度慢,不推荐)
conda env create -f envs/environment-cpu.yamlconda activate dot
安装dot
pip install -e .
下载模型
下载模型权重时有如下两种选择。
- GDrive:从https://drive.google.com/drive/folders/1FX1QoXragN4aKJZFo2DLiDE8fqKHeXEB中下载文件夹、解压缩并将该文件夹放在库的根目录中。
- gdown:运行如下命令:
gdown https://drive.google.com/drive/folders/1FX1QoXragN4aKJZFo2DLiDE8fqKHeXEB -O ./saved_models –folder
用法
运行dot
运行dot –help以获得可用技术的完整列表。
1.Simswap
dot –swap_type simswap –target 0 –source “./data” –parsing_model_path ./saved_models/simswap/parsing_model/checkpoint/79999_iter.pth –arcface_model_path ./saved_models/simswap/arcface_model/arcface_checkpoint.tar –checkpoints_dir ./saved_models/simswap/checkpoints –show_fps –use_gpu
2.SimSwapHQ
dot –swap_type simswap –target 0 –source “./data” –parsing_model_path ./saved_models/simswap/parsing_model/checkpoint/79999_iter.pth –arcface_model_path ./saved_models/simswap/arcface_model/arcface_checkpoint.tar –checkpoints_dir ./saved_models/simswap/checkpoints –crop_size 512 –show_fps –use_gpu
3.FOMM
dot –swap_type fomm –target 0 –source “./data” –model_path ./saved_models/fomm/vox-adv-cpk.pth.tar –show_fps –use_gpu
4.FaceSwap
dot –swap_type faceswap_cv2 –target 0 –source “./data” –model_path ./saved_models/faceswap_cv/shape_predictor_68_face_landmarks.dat –show_fps –use_gpu
控制dot
使用来自./data文件夹中的源图像,通过以上任何方法都可以在输入视频feed上生成实时的深度伪造。这里使用SimSwap技术进行展示。
当运行dot时,可用控制选项(control options)的列表出现在终端窗口上,如上图所示。你可以通过按相关的控制键来切换和选择不同的源图像。如下demo视频帮助你更好地理解控制选项:
更多细节内容请参阅原项目。