zoukankan      html  css  js  c++  java
  • DeepFake的安装和测试(一)

    安装

    DeepFake估计很多人都听过,这是一个由deep learning实现的换脸工具,技术上相当可圈可点,但是由于隐私泄露等问题也被攻击的很厉害。这个工具的源头是FaceSwap,在github上有完整的源码和可用的GUI版本。源码解析我会另开一篇博客,这里先试试这个已发布的软件。

    安装教程在这里。

    总体而言安装和普通的软件安装没什么区别。

    具体的使用上,这个工具有三个部分:

    Extraction

    Training

    Convert

    Extraction

    Extraction,也就是提取,任务是提取输入的视频/图片中的人脸部分,并记录人脸的位置和特征点,如果有偏斜的话进行适当的角度转换。具体而言,一个完整的Extraction过程要分为三步,为 detection, alignment和mask generation。

    detection,即侦测,是逐帧寻找食品中的脸;alignment即对齐,即定位图中脸的位置,方法是通过寻找“地标”,也就是一些特征点,这些特征点软件会自动记录在一个文件里面,该文件会参与后面神经网络的训练和Faceswap;mask generation是为了生成一系列mask,以判定图片中哪些是脸,那些是背景。

    提取有两个主要目的:

    生成一组面部文件,以及可选的路线文件和mask,以训练模型;

    生成路线文件和mask以转换。

    所谓路线文件,一个路线文件包含了工具在每一帧中获取的所有的脸的信息,特别是脸的位置和脸上68个特征点:

    回到软件中,具体的操作方法是:

    • 准备数据

        

      input dir和output dir并不难理解,输入文件和输出文件。输入文件可以是一个视频或者包含一系列照片的文件夹。输出文件就是从输入文件中获取的face的特征信息。

    • 附加选项

        

        附加选项是用来使用不同工具进行detection、alignment和mask generation。作者推荐使用S3Fd和Fan用以detection和alignment,mask生成器则可以自选,但默认生成components和Extended。注意生成的mask越多越会增加系统的运算压力。

        不同的mask生成器效果不一,具体不同不再赘述。

    • 图片处理

        

        直接使用作者给出的数值。

    上述参数设置完成后可直接点击extract进行脸部抽取。

    排序和清洗

    如果视频中有很多人脸,工具会抽取出所有的人脸,这显然不是我们所期望的,我们只希望换掉自己关注的一部分人脸。因此可以使用作者给出的排序方法将所有人脸排序,然后删除我们不需要的人脸。

    注意!可能消耗很多运算资源。

    具体做法为为tools->sort。操作与前述抽取操作区别不大。

    由于本文的测试部分仅进行了很少一部分数据的sample test,因此这部分暂时留白。

    抽取结果

    我从网上随便找了几张图片,最终给出的抽取结果如下所示:

    原图

    抽取后图片

  • 相关阅读:
    Leetcode 1711. 大餐计数(桶)
    macOS下安装powerline-status失败(报错Could not install packages due to an EnvironmentError)
    macOS下安装oh my zsh失败(报错Connection refused)
    Chapter 10 Operator Overloading
    牛客IOI周赛26-普及组 B. 子序列(int128)
    关于状压DP中子集状态的枚举
    2021蓝桥杯省赛第一场C/C++A组 试题E:回路计数(状压DP)
    AcWing 2879. 画中漂流(简单DP)
    Leetcode 525. 连续数组(前缀和性质/map)
    牛客小白月赛34 B. dd爱探险(状压DP)
  • 原文地址:https://www.cnblogs.com/Xuang/p/13031042.html
Copyright © 2011-2022 走看看