精华内容
下载资源
问答
  • deepface

    千次阅读 2019-06-11 23:04:59
    作者:Fire_Light_ 原文:... 论文地址:DeepFace: Closing the Gap to Human-Level Performance in Face Verification 对齐 使用3D人脸进行对齐: 上图的解释: a. 人脸检测 b. 二维...

    作者:Fire_Light_
    原文:https://blog.csdn.net/Fire_Light_/article/details/79558759

    论文地址:DeepFace: Closing the Gap to Human-Level Performance in Face Verification

    对齐

    使用3D人脸进行对齐:

    上图的解释:

    a. 人脸检测
    b. 二维剪切,将人脸部分裁剪出来
    c. 定位67个Landmarks,然后以landmarks为顶点进行Delaunay三角化
    d. 通过一个3d人脸库计算出来的一个平均3d人脸模型转化为2d图的样子
    e. 这是在3d人脸模型上根据landmarks分割出来的三角网格
    f. 使用3d人脸模型的67个landmarks组成的小三角形为基准,对要对齐的人脸进行一个分片仿射变换,f图展示了将人脸拉正之后的样子
    g. 最终成果
    h. 使用3D模型同样可以构造人脸其他角度的样子(在论文中没有用到)

    deepface 网络的结构

    前三层:卷积、池化、卷积的作用是提取一些低层次的特征,如边缘和纹理。

    论文中写到,池化层的作用是使得网络对一些局部的变化更加鲁棒。

    然而,池化次数太多会导致网络丢掉一些纹理的位置信息,所以只使用了一层池化层。

    这几层的作用是将输入转化为一些简单的局部特征信息。

    接下来的局部连接层*L4,5,6,像卷积层一样也使用了滤波器组,但是区别在于不同区域使用的滤波器不一样,即可以理解为没有权值共享的卷积层*
    这样做的原因是作者认为由于对齐好的图像,不同的区域具有不同的局部统计量,卷积的空间平稳性假设不能成立,因此不同的区域需要使用不同的卷积核

    最后,f7和f8是全连接层,这些层能够捕捉人脸图像中较远部分的特征之间的相关性,比如眼睛的形状与位置和嘴巴的形状与位置,f7层作为特征(4096D)。

    特征的标准化(normalization)处理:

    1.特征的每个维度都会除以它在训练集中的最大值。(为了降低光照的影响)

    \bar{G}(I)_{i}=\frac{G(I)_{i}}{max(G_{i},\epsilon )}

    2.L2范数归一化:

    f(I):\underline{=} \frac{\bar{G}}{\left \| \bar{G}(I) \right \| _{2}}

    训练集: Social Face Classification (SFC) dataset:4.4M张人脸/4030人

    测试集:%5的SFC数据,用来测试分类能力。

    最优分类错误率8.74%

    验证方法:

    1)简单的求两个特征向量的内积。经过标准化之后,内积越大越相似。(为了评价该特征对对人脸的判别能力)
    其实这就相当于现在广泛使用的余弦距离判别方法
    LFW准确率:95%

    2)在LFW上训练一个感知机,即Siamese network,类似一个全连接层,以全连接层提取出来的特征作比较,计算两张图片距离的方式如下,最高达到了LFW上97.35%的准确率。
    d(f_{1},f_{2})=\sum \alpha _{i}\left | f_{1}\left [ i \right ] - f_{2}\left [ i \right ]\right |
     

    展开全文
  • deepface Deepface is a lightweight face recognition and facial attribute analysis (age, gender, emotion and race) framework for python. It is a hybrid face recognition framework wrapping state-of-...
  • DeepFaceLab https://arxiv.org/abs/2005.05535 the leading software for creating deepfakes More than 95% of deepfake videos are created with DeepFaceLab. DeepFaceLab is used by such popular ...
  • 【停更】Deepfacelab 新手教程

    万次阅读 多人点赞 2019-04-19 22:19:12
    欢迎进群讨论,我不是群主,群主的各QQ群号码请看:https://deepfakes.com.cn/index.php/资助升级群 这几天朱茵换脸杨幂的事件上了热门,我们群不存在该违法问题。然而因为网上的这个事件,2群排队已经可以说排到了...

    本文已停更,对不起,换脸玩多了就腻了……

    现在本人已经没有玩换脸快3年了,还是有人私信我如何操作
    其实去年的时候新版我已经不会用了……

    上面一句话更新时间:2021/5
    教程内容停止更新于:2019/2



    1. 四款换脸软件介绍

    FakeAPP Faceswap Openfaceswap Deepfacelab

    1.1 四款软件的简介

    名称 FakeAPP Faceswap Openfaceswap Deepfacelab
    (集成环境版)
    简介 可能是国内网络传播最广的换脸软件
    GUI最为亲切但是2.2版本很差
    开源软件 后期版本有GUI
    源码玩家可以修改测试
    Faceswap的GUI套壳版
    目前停更且作者网站跳转到Deepfacelab
    目前最好玩的换脸软件
    但没有GUI
    需要部署的环境 Visual Studio
    Python
    CUDA+CUDNN
    FakeApp内核
    Visual Studio
    Python
    CUDA+CUDNN
    CUDA+CUDNN 无要求
    743285272
    QQ群内使用人数
    ★★★ ★★ ★★ ★★★★★

    1.2 四款软件作者页面链接

    FakeAPP 作者网站不好找,最新版还不一定好,主流版本还是1.1和2.2,链接为Baidu搜索
    Faceswap GitHub上经常更新,新版不兼容旧版MODEL,使用时候请注意
    Openfaceswap 作者的论坛已消失,点进去就自动跳转到Deepfacelab的GitHub页面
    Deepfacelab GitHub上有介绍,介绍文末处有论坛链接可以下载集成环境版

    2 Deepfacelab 新手教程

    (在开始前建议使用Chrome浏览器,因为访问流畅,并且自带谷歌翻译,不管是去下载东西还是去学习教程,翻译都是有很大帮助的)

    2.1 下载Deepfacelab软件包

    1. https://github.com/iperov/DeepFaceLab 拉到文末,有一个俄文论坛链接,或者直接点击进入这个俄文的论坛链接:https://rutracker.org/forum/viewtopic.php?p=75318742 文章最上面介绍内容的偏下面的部分,有个磁力链接,下载这个磁链的种子可能会很难,我们群里也会不定期更新新版的种子文件。(本人比特彗星长期挂机上传BT长效种子)
    2. 下载时候有两个包,一个是CPU版,一个是正常版,一般情况用NVIDIA显卡玩不需要下载CPU版本,如果你的显卡不能玩或者你想试试看,那你就下CPU版吧。
      一般情况下,一台台式机游戏级别配置的CPU的速度是GPU的1/10左右,这大概是个平均值,超过1/10不要回来喷我,除非你能弄出比同价位显卡更快的数据。
    3. 解压开你会发现Deepfacelab文件夹内有两个文件夹,和一堆bat批处理指令,下面请看我的介绍:
      Deepfacelab文件夹
      上图这张图是大概2018年6月的版本的列表,新版和旧版总体bat的功能不会差太多(2019/1/3作者更新了1个新算法,目前群内大神测试没太大用)。
      另外你如果玩熟练了你可以自己弄一些拿到前面来,这样会很方便:
      自定义bat
      我自己挑出来的这些像排序部分,有些是要自己修改bat内容的。
      记住,bat 批处理文件是可以修改的,文件夹里的只是送你的案例而已。

    2.2 让我们开始换脸操作

    近期发现本文被盗,所以在此插入一条防盗信息:原帖不定期更新地址:https://blog.csdn.net/u014575897/article/details/85272910

    所有软件对应的两边素材:
    A即DST 就是原版的视频素材,就是身体和背景不换,要换掉脸的视频
    B即SRC 就是要使用到的脸的素材
    把两边素材称为A和B的软件,一般都可以互换方向,但是总体操作都是B脸放A上,SRC脸放DST上

    DST和SRC素材都可以是图片或者视频
    换脸软件的操作是通过SRC脸图集,运算出MDOEL,然后放到DST序列图上,最后把DST序列图连接为视频

    寻找
    收集
    是视频
    是图片
    分解视频
    全部帧
    识别人脸
    是视频
    是图片
    分解视频
    部分帧
    识别人脸
    第一步
    把非人脸素材
    变成人脸素材
    SRC
    素材
    DST
    素材
    视频
    图片
    DST
    人脸素材
    视频
    图片
    SRC
    人脸素材
    训练
    训练
    第二步
    人脸素材
    训练MODEL
    DST
    人脸素材
    SRC
    人脸素材
    MODEL
    合成
    合成
    如果刚开始的
    DST是图片
    如果刚开始的
    DST是视频
    第三步
    导出合成内容
    DST
    图片
    几十万迭代
    的MODEL
    合成图
    恭喜你已经完成
    一次换脸操作
    图片连接成视频并导出

    新手操作流程:

    1. 【手动】把DST视频放到“workspace”文件夹下,并且命名为“data_dst”(后缀名和格式一般不用管)。

    下面步骤的文件目录均在workspace下,如“workspace\data_src”,我将省略为“data_src”

    1. 【手动】把SRC素材(明星照片,一般需要700~1500张)放到“data_src”下。
    2. 【bat】分解DST视频为图片(需要全帧提取,即Full FPS),bat序号3.2 你会看到“data_dst”下有分解出来的图片。
    3. 【bat】识别DST素材的脸部图片,bat序号5 有DLIB和MT两种分解方式,一般情况建议DLIB,具体差别什么自己摸索,后面不要带Manual和Debug,这俩一个是手动一个是调试。
    4. 【bat】识别SRC素材的脸部图片,bat序号4 具体操作同步骤4。
    5. 【手动】第4步和第5步识别并对齐的人脸素材在“data_dst\aligned”和“data_src\aligned”内,你需要把这些人脸不正确识别的内容删除,否则影响MODEL训练结果,如果脸图特别小,或者翻转了,那么基本判定为识别错误,但是要说明的是,DST脸超出画面的半张脸需要留着不要删除,SRC脸超出画面基本没用,直接删除吧。

    删除SRC错误脸图前可以使用bat序号4.2系列的排序,直方图排序和人脸朝向排序可以较为方便地找出错误人脸,这属于进阶内容,具体不给教程,有需要自己Baidu翻译一下。

    1. 【bat】现在你已经有DST的序列帧(图片)素材和SRC的脸部(图片)素材了,你需要运行MODEL训练,bat序号6 一样也是有好多种MODEL,目前建议新手直接跑H128的MODEL(除非你的显卡比较差,那就跑H64)其他MDOEL算法请看GitHub上的介绍。

    跑MODEL是可以中断的,在预览界面按回车键,软件会自动保存当前进度,MDOEL文件在“model”文件夹下,不同的MODEL文件名不一样,建议定期备份MODEL,并建议SRC专人专用MODEL

    1. 【bat】上面MODEL如果是第一次跑,可能需要10+小时才有合理的效果,结束训练后请运行MODEL导出合成图,bat序号7 这里就根据你的MODEL类型来运行就好了
      这里会出现一个问题就是软件会在DOS界面给你好多好多选项,请看下文“导出合成图的选项”。
    2. 【bat】导出图片后需要把图片转成视频,那么就运行 bat序号8 就行了,根据你要的最终格式来定。

    2.3 导出合成图的选项

    合成图的选项
    所有选项直接按回车即使用标注的默认选项(default)
    第一个问答是问你要哪个合成模式,可以理解为:
    1、普通
    2、普通+直方图匹配
    3、无缝(默认)
    4、无缝+直方图匹配
    可能每个视频需要的效果都不一样,一般情况我个人建议用:1普通
    第一个问答结束后后面有一堆问题,具体作者给了说明:

    ※ 这里的图挂了,因为我原来是拉取Lab的GitHub上面的图片。最近Lab作者更新了GitHub上面的页面,这张图我找不到了,而更多的是官方给的视频教程(YouTube)
    目前本文缺少这些参数的介绍(或许最近的新版已经取消掉了这些手动参数吧)
    GitHub链接:https://github.com/iperov/DeepFaceLab


    3 请注意保留源素材

    不论哪款软件,流程结束后建议复制并分类保留:
    SRC素材(脸图或原图)
    MODEL(丢了就浪费10小时了)

    4 FAQ

    4.1 人脸素材需要多少?

    DST:尽量不要少,因为它是有限的且需要被替换的素材
    SRC:根据各软件的脸图筛选规则和网上大神的建议,总体来说,SRC脸图最好是大概700~3999的数量,像Deepfacelab的作者,他就认为1500张够了。对于SRC,各种角度、各种表情、各种光照下的内容越多越好,很接近的素材没有用,会增加训练负担。

    4.2 手动对齐识别人脸模式如何使用?

    手动对齐人脸
    回车键:应用当前选择区域并跳转到下一个未识别到人脸的帧
    空格键:跳转到下一个未识别到人脸的帧
    鼠标滚轮:识别区域框,上滚放大下滚缩小
    逗号和句号(要把输入法切换到英文):上一帧下一帧
    Q:跳过该模式

    老实说,这个功能极其难用,画面还放得死大……

    4.3 MODEL是个什么东西?

    MODEL是根据各种线条或其他奇怪的数据经过人工智能呈现的随机产生的假数据,就像PS填充里的“智能识别”
    你可以从 https://affinelayer.com/pixsrv/ 这个网站里体验一下什么叫MODEL造假

    4.4 MODEL使用哪种算法好?

    各有千秋,一般Deepfacelab使用H128就好了,其他算法可以看官方在GitHub上写的介绍:https://github.com/iperov/DeepFaceLab

    4.5 Batch Size是什么?要设置多大?

    Batch Size的意思大概就是一批训练多少个图片素材,一般设置为2的倍数。数字越大越需要更多显存,但是由于处理内容更多,迭代频率会降低。一般情况在Deepfacelab中,不需要手动设置,它会默认设置显卡适配的最大值。
    根据网上的内容和本人实际测试,在我们这种64和128尺寸换脸的操作中,越大越好,因为最合理的值目前远超所有民用显卡可承受的范围。
    新手建议自动或从大的数值减少直到能够正常运行(比如128→64→32→16…),具体操作方法是在MODEL训练的BAT中添加一行:

    @echo off
    call _internal\setenv.bat
    
    %PYTHON_EXECUTABLE% %OPENDEEPFACESWAP_ROOT%\main.py train ^
        --training-data-src-dir %WORKSPACE%\data_src\aligned ^
        --training-data-dst-dir %WORKSPACE%\data_dst\aligned ^
        --model-dir %WORKSPACE%\model ^
        --model H128
    
    pause
    

    上面是原版,需要加一行“–batch-size ?”并不要忘记上一行的“^”,如下:

    @echo off
    call _internal\setenv.bat
    
    %PYTHON_EXECUTABLE% %OPENDEEPFACESWAP_ROOT%\main.py train ^
        --training-data-src-dir %WORKSPACE%\data_src\aligned ^
        --training-data-dst-dir %WORKSPACE%\data_dst\aligned ^
        --model-dir %WORKSPACE%\model ^
        --model H128 ^
        --batch-size 4
    
    pause
    

    4.6 MODEL训练过,还可以再次换素材使用吗?

    换DST素材:
    可以!而且非常建议重复使用。
    新建的MODEL大概10小时以上会有较好的结果,之后换其他DST素材,仅需0.5~3小时就会有很好的结果了,前提是SRC素材不能换人。

    换SRC素材,那么就需要考虑一下了:
    第一种方案:MODEL重复用,不管换DST还是换SRC,就是所有人脸的内容都会被放进MODEL进行训练,结果是训练很快,但是越杂乱的训练后越觉得导出不太像SRC的脸。
    第二种方案:新建MODEL重新来(也就是专人专MODEL)这种操作请先把MODEL剪切出去并文件夹分类,这种操作可以合成比较像SRC的情况,但是每次要重新10小时会很累。
    第三种方案:结合前两种,先把MODEL练出轮廓后,再复制出来,每个MODEL每个SRC脸专用就好了。

    4.7 合成图连接成视频后发现部分画面面部颤抖怎么办?

    本人想到的方法是:把DST视频通过其他软件放大些尺寸再重新进行操作。因为逻辑上分析,扩大了画面后,软件识别偏移的步长比例会小一些。

    我有其它问题我该如何向你提问?

    这位大哥有关于其他的问题回复:
    https://www.cnblogs.com/wangpg/tag/DeepFaceLab/

    由于本文已经长期停更,现在取消了打赏二维码

    2019/10

    1. (因为我写了每次更新的时间)我看到网上,包括一些下载站,都抄袭了我的这篇文章(大概2018年11月到2019年2月),不过有不少的博主是主动写了来源地址的。另外,我这篇文章从10000人观看开始就没有什么打赏了,直到今天是60000+人数,这也是我直接撤掉文末广告的原因之一。
    2. 我虽然很久没玩换脸,很久没更新博文,很久没有小收入,但是群友的热度还没退去,而且Deepfacelab也是不断在更新,网上也有更多的博主在2019/2之后开始写新手教程和调试的教程(那可比我的丰富多了,我只会一条龙安装和操作,调试什么的都不会),有他们我觉得蛮开心的,至少小白们有大腿可以抱了,而不是在我这里得到我也不知道怎么修正错误的回答。
    展开全文
  • DeepFaceLab 用于创建Deepfake的领先软件 超过95%的deepfake视频是使用DeepFaceLab创建的。 诸如YouTube之类的热门频道都使用DeepFaceLab,例如 使用DeepFaceLab我可以做什么? 更换脸 变脸 更换头 操纵...
  • DeepFaceLab 制作深造品的领先软件 超过95%的deepfake视频是使用DeepFaceLab创建的。 诸如YouTube之类的热门频道都使用DeepFaceLab,例如 使用DeepFaceLab我可以做什么? 更换脸 变脸 更换头 操纵政客的...
  • Clone the repository and run ubuntu16.04-cuda9-installer.sh from the root directory of DeepFaceLab_Linux. Installation for Ubuntu 18.04 Add NVIDIA package repositories wget ...
  • Deepfacelab 小白教程

    万次阅读 多人点赞 2019-08-29 11:35:14
    不小心入了AI换脸的坑,但是感觉AI换脸很有意思,第一次感觉科研使我快乐。...这个没有具体使用过,目前我只使用过Deepfacelab,但是查看各种资料都是说Deepfacelab综合来说是最好用的,可玩度也很高,...

    不小心入了AI换脸的坑,但是感觉AI换脸很有意思,第一次感觉科研使我快乐。

    目录

    一、AI换脸软件简介

    二、Deepfacelab下载安装

    三、Deepfacelab Demo实现

    四、Deepfacelab 填坑

    五、总结


    一、AI换脸软件简介

    这个没有具体使用过,目前我只使用过Deepfacelab,但是查看各种资料都是说Deepfacelab综合来说是最好用的,可玩度也很高,最重要的是deepfacelab对部署环境没有要求,这个就完全满足我这样的懒人了。。。

    下述表格转载于大神博主,其链接为https://blog.csdn.net/u014575897/article/details/85272910

    二、Deepfacelab下载安装

    Github源码地址:https://github.com/iperov/DeepFaceLab

    预编译好的Windows版本:https://mega.nz/#F!b9MzCK4B!zEAG9txu7uaRUjXz9PtBqg(需要科学上网)

    所需环境:windows系统即可,需要强力版本的显卡,毕竟AI就是个又氪又肝的玩意。。。

    下载好之后,直接解压就可以了,解压完了一般是如下界面(DeepFaceLabCUDA10.1AVX版本)。

    Demo实现之前先学习下解压目录下的各种bat文件的功能(实现将A视频中的人脸替换为B视频中的人脸,下文中都是以A和B来表示):

    1)是清空workspace文件夹的,包括切的图片和人脸、模型文件等等。。。

    2)和3)都是将视频文件转换为一帧一帧的图像;

    4)和 4.X)是将SRC视频文件(即待替换的视频B)的人脸识别出来和进行排序;

    5)和 5.X)是将DST视频文件(即待替换的视频A)的人脸识别出来和进行排序;

    6)是进行训练;

    7)人脸替换(即将分离出来的图片先进行人脸替换);

    8)将人脸替换后的图片合成视频;

    9)和10)待定。。。

    三、Deepfacelab Demo实现

    源程序中自带Demo的视频素材,可以直接进行Demo实现。

    打开workspace,发现里面有两个视频,分别是data_dst和data_src,对应于上述的A和B,这就是自带的素材。

    1.视频解压,双击bat文件中的2) extract images from video data_src3.2) extract images from video data_dst FULL FPS;

    功能:你会发现workspace中的data_dst和data_src两个文件夹中有分割好的图像文件;

    2.人脸提取,双击bat文件中的4) data_src extract faces S3FD all GPU 和 5) data_dst extract faces S3FD all GPU;

    功能:你会发现workspace中的data_dst中的aligned和aligned_debug文件夹中有人脸图片,data_src两个文件夹中的aligned类似。

    PS:目前来说一般采用S3FD的人脸识别方法,该方法比较好!老版本貌似只有MT和DLIB的人脸识别方法。

    3.训练,双击bat文件中的6) train SAE;接下来,Cmd里面所有的参数选项都是直接按“Enter”键即可,因为默认参数都是优化过的,完全适应于Demo视频(对于其他视频也是比较适用,特别是对于新手来说);

    功能:训练人脸对齐模型,那还用说?该模型文件保存于workspace中的model文件夹中,你会发现模型文件有5个“h5”的文件

    PS:Deepfacelab这个版本是基于Keras来实现的,所以只能用一个GPU进行训练。如果是新手的话更建议采用H128的方法进行训练。SAE方法更全,最好最灵活的模型,但是相对来说需要对Deepfacelab有深入了解,或者跟我一样用默认参数。。。

    warning:CMD默认参数中有一个选项是训练迭代无次数限制(默认参数),即需要人工停止训练,停止标准包括1)Train Preview窗口中的第一行、第二行、第四行和第五行的人脸都比较清晰即可;2)训练窗口中的loss值接近于0.2。如下图二红色方框所示(妈蛋,为了截图打开cmd界面,把训练了12个小时的模型给覆盖了,心碎ing)

    停止方法,在Train Preview窗口中按“Enter”键。按"P"键是刷新图片哈,可以实时看到最新训练的效果。

       

    4.人脸替换,双击bat文件中的7) convert SAE,Cmd里面第一个参数选项输入“n”,其余也全是按“Enter”键即可。

    功能:你会发现workspace中的data_dst中的merged文件夹中有替换好的人脸图片。

    PS:训练用的什么方法,人脸替换的步骤就要用相应的方法。Cmd第一个选项就是是否使用UI界面模式,反正我没弄懂,我就是直接不用UI模型就好了。

    5.视频转换:双击bat文件中的8) converted to mp4,Cmd里面所有的参数选项都是直接按“Enter”键即可;

    功能:你会发现workspace中多了一个result.mp4的视频文件,这就是完成AI换脸的成果了。

     

    四、Deepfacelab 填坑

    完成上述步骤,你发现其实软件用起来很简单的吧,但是其中会有很多坑,下面一步步说。

    1.素材坑。搞深度学习的都知道,样本数据好和算法好两个来选,肯定选样本数据好。因为深度学习这个东西就是“炼丹”,丢进去的都是好东西那么练出来的肯定不会差,所以对于上述步骤2.人脸提取完成后,需要人工进行筛选人脸图片。

    解决方法:人工筛选人脸图片,删除掉那些无人脸的图片、颠倒的人脸图片、模糊对焦不好的图片等等,只留下人脸提取好的人脸图片。

    2.分辨率大小问题,视频素材分辨率尽可能清晰。

    3.模型保存,每训练完一次,把workspace中的model文件夹和分割图片都尽可能单独保存一次,免得model丢失。这是血与泪的教训啊!

    五、总结

    这部分有博主总结的很好,我就不多自己画图了!(主要是懒。。。)

     

    参考文献:

    1.https://blog.csdn.net/u014575897/article/details/85272910

    2.https://www.deepfakescn.com/(常用AI换脸软件的教程网吧)

    最后推荐一波AI换脸学习的QQ群,743285272(主要是免费群,可以白嫖)

     

     

    展开全文
  • DeepFaceLab 是一个应用机器学习进行视频中人物换脸的工具。本文主要是讲诉Deepfacelab的使用,纠正一些网络文章的错误,注意事项。

    本篇:《简单介绍DeepFaceLab(DeepFake)的使用以及容易被忽略的事项》
    第二篇:《继续聊聊DeepFaceLab(DeepFake)不断演进的2.0版本》
    第三篇:《如何翻译DeepFaceLab(DeepFake)的交互式合成器》
    第四篇:《想要提高DeepFaceLab(DeepFake)质量的注意事项和技巧(一)》
    第五篇:《想要提高DeepFaceLab(DeepFake)质量的注意事项和技巧(二)》

    (一)关于DeepFaceLab

    DeepFaceLab 是一个应用机器学习进行视频中人物换脸的工具

    曾经在Reddit上一个很火的开源项目Deepfake。
    随着大家的惊呼,神奇女侠的换脸视频出现,然后这个项目就被各大网站给禁了。

    沉寂了一段时间后来国内朱茵换杨幂,加上徐锦江的海王雷神视频一出,
    国内社会新闻进行了报道,个人感觉一下子在国内就火了。

    除了DeepFaceLab,相关的项目还有FaceSwap,OpenFaceSwap等其它作者的工具软件。

    (二)必要的信息

    DeepFaceLab网站:https://deepfakes.club
    实际指向github的:https://github.com/iperov/DeepFaceLab (作者iperov)
    git地址:https://github.com/iperov/DeepFaceLab.git

    中文网站:https://deepfakescn.com (已获得作者授权)新的内容在这。
    过期的中文网站:https://deepfakes.com.cn/

    (三)下载安装

    具体的下载安装各方面的文章请参考上面的网站,下面主要介绍几个问题。

    预编译好的Windows版本

    原作者提供了预编译好的Windows版本,并且告诉我们依赖库都有了,只需要自己去安装nVidia的驱动。
    并且还贴心的准备了使用GPU和CPU版本, 可以从MEGA下载:
    https://mega.nz/#F!b9MzCK4B!zEAG9txu7uaRUjXz9PtBqg

    编译的版本大概分这几类:

    • DeepFaceLabCUDA9.2SSE - NVIDIA显卡最高支持到GTX1080和任何64位CPU
    • DeepFaceLabCUDA10.1AVX - NVIDIA显卡最高支持到RTX和支持AVX指令集的CPU
    • DeepFaceLabOpenCLSSE - AMD/IntelHD显卡和任何64位CPU

    重点是:

    • 不需要微软Visual Studio 2015,老中文网写的,毕竟怎么说也只需要SDK不可能需要IDE啊。
    • Mega地址可以用MegaDownloader v1.7下载,不需要翻墙或者找百度盘上的旧版本。
    • 真的得用GPU不要勉强用CPU,我们难以接受机器不眠不休处理一个月才有结果吧?

    MegaDownloader下载

    在这里插入图片描述

    拉取git最新版本源码

    因为是Python程序,所以下载了预编译好的Windows版本后,除了检查作者是否有更新。
    还可以直接git拉取作者的最新版本程序到:

    %你安装的DeepFaceLab目录%\_internal\DeepFaceLab\
    

    目录结构

    下载了预编译的Windows版本后,解压目录结构如下:
    除了两个目录,就是一堆批处理(可以跟随中文网站的步骤做,但还是建议自己仔细阅读批处理文件名,以及最后的pdf手册)。

    %你安装的DeepFaceLab目录%

    _internal													#内部目录,源代码,库,软件。
    workspace													#工作目录,放原始视频和目标视频
    1) clear workspace.bat
    2) extract images from video data_src.bat
    3.1) cut video (drop video on me).bat
    3.2) extract images from video data_dst FULL FPS.bat
    3.other) denoise extracted data_dst.bat
    4) data_src extract faces MANUAL.bat
    4) data_src extract faces MT all GPU debug.bat
    4) data_src extract faces MT all GPU.bat
    4) data_src extract faces MT best GPU.bat
    4) data_src extract faces S3FD all GPU debug.bat
    4) data_src extract faces S3FD all GPU.bat
    4) data_src extract faces S3FD best GPU.bat
    4.1) data_src check result.bat
    4.2.1) data_src sort by blur.bat
    4.2.2) data_src sort by similar histogram.bat
    4.2.4) data_src sort by dissimilar face.bat
    4.2.4) data_src sort by dissimilar histogram.bat
    4.2.5) data_src sort by face pitch.bat
    4.2.5) data_src sort by face yaw.bat
    4.2.6) data_src sort by final.bat
    4.2.other) data_src sort by black.bat
    4.2.other) data_src sort by brightness.bat
    4.2.other) data_src sort by hue.bat
    4.2.other) data_src sort by one face in image.bat
    4.2.other) data_src sort by original filename.bat
    4.2.other) data_src util add landmarks debug images.bat
    4.2.other) data_src util recover original filename.bat
    5) data_dst extract faces MANUAL RE-EXTRACT DELETED RESULTS DEBUG.bat
    5) data_dst extract faces MANUAL.bat
    5) data_dst extract faces MT all GPU .bat
    5) data_dst extract faces MT all GPU + manual fix.bat
    5) data_dst extract faces MT best GPU.bat
    5) data_dst extract faces S3FD all GPU + manual fix.bat
    5) data_dst extract faces S3FD all GPU.bat
    5) data_dst extract faces S3FD best GPU + manual fix.bat
    5) data_dst extract faces S3FD best GPU.bat
    5.1) data_dst check results debug.bat
    5.1) data_dst check results.bat
    5.2) data_dst sort by similar histogram.bat
    5.3) data_dst sort by blur.bat
    5.3) data_dst sort by dissimilar histogram.bat
    5.3) data_dst sort by face pitch.bat
    5.3) data_dst sort by face yaw.bat
    5.3.other) data_dst sort by final.bat
    5.3.other) data_dst sort by original filename.bat
    5.3.other) data_dst util recover original filename.bat
    5.4) data_dst mask editor.bat
    6) train DF.bat
    6) train H128.bat
    6) train H64.bat
    6) train LIAEF128.bat
    6) train SAE.bat
    7) convert DF debug.bat
    7) convert DF.bat
    7) convert H128 debug.bat
    7) convert H128.bat
    7) convert H64 debug.bat
    7) convert H64.bat
    7) convert LIAEF128 debug.bat
    7) convert LIAEF128.bat
    7) convert SAE debug.bat
    7) convert SAE.bat
    8) converted to avi.bat
    8) converted to mov(lossless+alpha).bat
    8) converted to mp4(lossless+alpha).bat
    8) converted to mp4.bat
    9) util convert aligned PNG to JPG (drop folder on me).bat
    changelog_en.txt
    manual_en.txt
    manual_en_google_translated.pdf
    manual_ru.pdf
    

    (四)使用软件

    放置素材文件

    文件就这么放,名字也是固定的。

    %你安装的DeepFaceLab目录%\workspace\data_src.mp4			#源视频,用它的脸。
    %你安装的DeepFaceLab目录%\workspace\data_dst.mp4			#目标视频,替换到它身上。
    

    预处理视频生成帧图片

    2) extract images from video data_src.bat				#从源视频生成静态帧图片,可以选帧率(图片数)。
    3.2) extract images from video data_dst FULL FPS.bat	#从目标视频生成全部帧图片,可以先用3.1截取小段。
    

    生成后的帧图片放置在如下目录:

    %你安装的DeepFaceLab目录%\workspace\data_dst\
    %你安装的DeepFaceLab目录%\workspace\data_src\
    

    生成脸部数据

    4) data_src extract faces S3FD all GPU.bat				#从源静态帧图片,生成源脸部。
    5) data_dst extract faces S3FD all GPU.bat				#从目标静态帧图片,生成目标脸部。
    

    生成后的脸部图片放置在如下目录:

    %你安装的DeepFaceLab目录%\workspace\data_dst\aligned\
    %你安装的DeepFaceLab目录%\workspace\data_src\aligned\
    

    别急着下一步,这里需要对图片进行人工筛选。
    去掉模糊的源脸部,去掉被遮挡的源脸部,等等。具体可参考英文文档或中文网站。

    作者写道:
    99.995% 的成功或失败率都是因为糟糕的目标/源的脸部数据
    所以你99.995%的时间都应该用在保证你的脸部数据是精心的准备好的。
    你不能把素材一股脑全扔进去,否者结果保证令你失望,进去的是垃圾,出来的也是垃圾。

    开始训练吧

    当你准备好的素材,去掉了糟糕或者识别失败的脸部,就可以训练了。

    6) train SAE.bat										#不同的训练方式请参考文档,或者中文网站。
    

    训练后生成的模型数据放在这个目录:

    %你安装的DeepFaceLab目录%\workspace\model\
    

    训练时间可能会很长,训练的参数得自己去理解。。。

    Running trainer.
    
    Loading model...
    Press enter in 2 seconds to override model settings.Using plaidml.keras.backend backend.
    INFO:plaidml:Opening device "%这里应该显示找到的你的显卡或CPU%"
    Loading: 100%|######################################################################| 323/323 [00:02<00:00, 147.40it/s]
    Loading: 100%|######################################################################| 302/302 [00:02<00:00, 120.54it/s]
    ===== Model summary =====
    == Model name: SAE
    ==
    == Current iteration: 63060
    ==
    == Model options:
    == |== batch_size : 4
    == |== sort_by_yaw : False
    == |== random_flip : False
    == |== resolution : 128
    == |== face_type : f
    == |== learn_mask : True
    == |== optimizer_mode : 1
    == |== archi : df
    == |== ae_dims : 512
    == |== e_ch_dims : 42
    == |== d_ch_dims : 21
    == |== multiscale_decoder : False
    == |== ca_weights : True
    == |== pixel_loss : True
    == |== face_style_power : 0.0
    == |== bg_style_power : 0.0
    == |== remove_gray_border : False
    == Running on:
    == |== [0 : %这里应该显示找到的你的显卡和使用的SDK%]
    =========================
    Starting. Press "Enter" to stop training and save model.
    [11:35:27][#063063][1.304s][0.0123][0.0056]						#时钟,迭代次数,每次用时,偏离度
    

    同时会显示一个训练的预览窗口,可以看到图像的偏离度越来越低。
    可以在上面按回车键停止训练。
    在这里插入图片描述

    合成训练结果(到图片)

    选择怎么训练的,就选择对应的合成方式。

    7) convert SAE.bat										#合成的参数得自己好好理解,多尝试组合。
    

    合成的目标帧图片放在这个目录:

    %你安装的DeepFaceLab目录%\workspace\data_dst\merged\
    

    生成视频

    8) converted to mp4.bat									#合成的参数得自己好好理解,多尝试组合。
    

    生成好的目标视频在这里:

    %你安装的DeepFaceLab目录%\workspace\result.mp4
    

    哈哈,结果不满意吧:)
    请仔细阅读上面一大段黄色背景的文字,
    请仔细阅读文档,重新准好你的素材吧:)

    (五)不同的模型与参数(补充)

    训练模型

    • H64 (2GB +):分辨率为64的半脸模型,适合2-3GB显存,当然质量也较低。
    • H128 (3GB +):分辨率为128的半脸模型,适合3-4GB显存,半脸模型某些光线条件下会很糟糕。
    • DF (5GB +):分辨率为128的全脸模型,适合5GB以上显存,有条件就可以用这个。
    • LIAEF128 (5GB +):和DF一样,只从源到目标变形,有些时候会很怪,那么还是选DF吧。
    • SAE (512MB +):最新最好最弹性的模型,包括其它所有模型,512MB-24GB显存都可用,参数多。

    训练参数

    H64,H128 模型的参数:

    Use lightweight autoencoder? (Y / n,:? Help skip: n):
    选择一个简版的模型,如果你的显存小于4GB,这个选项就很必要。

    H64, H128, DF, LIAEF128 模型的参数:

    Use pixel loss? (Y / n,:? Help skip: n / default):
    更容易提升细节质量和去除图像颤动,请在训练至少20000次以后再打开这个选项(有模型崩溃风险)。

    SAE 模型的参数:
    Resolution (64-256:? Help skip: 128):分辨率从64到256,16的倍数,愈大越清晰,训练也需要越长。
    Half or Full face? (H / f,:? Help skip: f):半脸还是全脸。
    Learn mask? (Y / n,:? Help skip: y):学习的遮罩,呃,懒得翻译了,用它就对了。
    Optimizer mode? (1,2,3:? Help skip:% d):N卡的神经网络优化模式,越大需要内存越多,也会更慢。
    AE architecture (df, liae, vg:? Help skip: df):神经网络结构,缺省df。
    AutoEncoder dims (128-1024:? Help skip:% d):网络维度,越多越好(但是内存得够啊)。
    Encoder dims per channel (21-85:? Help skip:% d):也是越多越好(但是内存得够啊)根据显卡配置吧。
    Decoder dims per channel (11-85:? Help skip:% d):同上(decoder的维度)。
    Remove gray border? (Y / n,:? Help skip: n):去掉灰边,我记得已经没有这个选项了啊???
    Use CA weights? (Y / n,:? Help skip:% s):是否使用卷积感知权重,提高模型精度,初始化要点时间。
    Use multiscale decoder? (Y / n,:? Help skip: n):是否使用多路转换decoder,获得更高精度。
    Use pixel loss? (Y / n,:? Help skip: n / default):更容易提升细节质量和去除图像颤动,请在训练难以提升质量以后再打开这个选项(有模型崩溃风险)。
    Face style power (0.0 … 100.0:? Help skip:% 1f.):脸部特征影响值,加速转换学习的脸部特征(有模型崩溃风险)。搞不懂先别开哦。
    Background style power (0.0 … 100.0:? Help skip:% 1f.):背景特征影响值,加速转换学习的脸部特征(有模型崩溃风险)。搞不懂先别开哦。
    Apply random color transfer to src faceset? (Y / n,:? Help skip:% s):源脸随机颜色转换,比上面两个更加精确。需要学习更多的源脸。 
    Pretrain the model? (Y / n,:? Help skip: n):预先训练模型(已经包含了的许多不同的人脸模型)

    转换参数

    通常不变的参数:

    Choose mode: (4) seamless
    Seamless hist match? : y
    Hist match threshold: 255
    Mask mode: (1) learned,

    下面的参数就值得调整了:

    Choose erode mask modifier [-200…200] (skip:0) :决定缩小多少目标遮罩(值<0则是扩展遮罩)
    Choose blur mask modifier [-200…200] (skip:0) :决定平滑目标遮罩的值。
    Choose output face scale modifier [-50…50] (skip:0) : 源脸放大还是缩小(先试试0,再根据实际情况)
    Apply color transfer to predicted face? Choose mode ( rct/lct skip:None ) : 两种都试试吧。
    Degrade color power of final image [0…100] (skip:0) : 降低源脸的色彩值,根据实际情况设置。

    展开全文
  • DeepFaceLab中文批处理

    2019-01-10 16:19:41
    DeepFaceLab中文批处理 若源码更新,内容可以对照源码的修改
  • DeepFace: Closing the Gap to Human-Level Performance in Face Verification 作者 miclover 参考 书摘 [1]第一篇深度学习应用于...
  • DeepFace介绍

    万次阅读 2017-10-10 19:20:15
    DeepFace是FaceBook提出来的,后续有DeepID和FaceNet出现。而且在DeepID和FaceNet中都能体现DeepFace的身影,所以DeepFace可以谓之CNN在人脸识别的奠基之作,目前深度学习在人脸识别中也取得了非常好的效果。下边...
  • DeepFaceLab AI换脸使用教程(1.安装及分解视频)

    万次阅读 多人点赞 2019-10-30 16:06:19
    首先需要选择合适的DeepFaceLab下载,然后安装相应的显卡和CUDA驱动,如果已经准备好这些工作,那么恭喜你,终于开始迎接新的挑战 —— AI换脸的使用!接下来会采用图文解说的方式进行演示,只需要跟着一步一步操作...
  • 2020最新DeepFaceLab Windows客户端 官方20201103发布的RTX3000 专版,全网唯一支持最新RTX3000显卡的版本。 支持最新RTX 3000系列显卡的DeepFaceLab 一共6个分卷DeepFaceLab_RTX_3000_build_001-DeepFaceLab_RTX_...
  • 2020最新DeepFaceLab Windows客户端 官方20201103发布的RTX3000 专版,全网唯一支持最新RTX3000显卡的版本。 支持最新RTX 3000系列显卡的DeepFaceLab 一共6个分卷DeepFaceLab_RTX_3000_build_001-DeepFaceLab_RTX_...
  • 2020最新DeepFaceLab Windows客户端 官方20201103发布的RTX3000 专版,全网唯一支持最新RTX3000显卡的版本。 支持最新RTX 3000系列显卡的DeepFaceLab 一共6个分卷DeepFaceLab_RTX_3000_build_001-DeepFaceLab_RTX_...
  • 2020最新DeepFaceLab Windows客户端 官方20201103发布的RTX3000 专版,全网唯一支持最新RTX3000显卡的版本。 支持最新RTX 3000系列显卡的DeepFaceLab 一共6个分卷DeepFaceLab_RTX_3000_build_001-DeepFaceLab_RTX_...
  • 2020最新DeepFaceLab Windows客户端 官方20201103发布的RTX3000 专版,全网唯一支持最新RTX3000显卡的版本。 支持最新RTX 3000系列显卡的DeepFaceLab 一共6个分卷DeepFaceLab_RTX_3000_build_001-DeepFaceLab_RTX_...
  • 2020最新DeepFaceLab Windows客户端 官方20201103发布的RTX3000 专版,全网唯一支持最新RTX3000显卡的版本。 支持最新RTX 3000系列显卡的DeepFaceLab 一共6个分卷DeepFaceLab_RTX_3000_build_001-DeepFaceLab_RTX_...
  • DeepFaceLab坑之ffmpeg

    千次阅读 2019-09-17 16:00:14
    DeepFaceLab DeepFaceLab是一款支持视频或图片的换脸开源软件,其使用非常简单,有官方的juptyer notebook案例,这里不做过多的教程介绍。 在使用过程中遇到的一点问题,在这里记录一下。DeepFaceLab的详细步骤分为...
  • DeepFaceLab

    2020-07-05 21:44:41
    DeepFaceLab小白入门(1):软件简介! https://www.deepfaker.xyz/?p=67 BytonyDeepFaceLab,DeepFakes0 Comments4428,070 views 简介 Deepfakes是一种利用机器学习中的深度学习实现深度视频换脸的技术。这种...
  • DeepFaceLab换脸教程

    2019-03-19 19:44:47
    DeepFaceLab换脸教程,亲测可用,最靠谱的换脸软件,内含软件下载地址与教程
  • 人脸识别之DeepFace模型

    万次阅读 2018-06-05 12:06:19
    之前了解过了DeepID和FaceNet网路结构,但根据一些博客的说法DeepFace是深度学习用在人脸识别领域的奠基之做,所以也看了一下DeepFace的理论,现在主要将自己的理解梳理一下,如理解有误希望能及时指出。 首先还是...
  • DeepFace实现人脸识别 并画出特征点和人脸框 代码下完后 直接用pycharm就可以运行 运行的时候 请先根据代码里的download.sh 将需要的文件下载下来 放到download.sh文件 所在目录
  • DeepFaceLab是目前用于创建Deepfake的全球领先软件,其中超过95%的Deepfake视频是使用DeepFaceLab创建的。 DeepFaceLab是一个开源的Deepfake系统,使用户可以交换图像和视频上的面Kong。 它提供了一条命令式命令和...
  • DeepFaceLab 2 merge阶段参数

    千次阅读 2020-07-17 23:57:13
    参考:DeepFaceLab 2 官网:https://mrdeepfakes.com/forums/thread-guide-deepfacelab-2-0-explained-and-tutorials-recommended DeepFaceLab 2 merge阶段参数 参数 参数值 参数中文名 参数说明 ...
  • 论文:DeepFaceLab: A simple, flexible and extensible faceswapping framework Github:https://github.com/iperov/DeepFaceLab 论文提出了一个简单,灵活,可扩展的换脸框架DeepFaceLab。 使用DeepFaceLab...
  • DeepFaceLab 换脸

    千次阅读 2019-08-19 13:47:05
    DeepFaceLab 优点: 可手动调整每帧中的脸部识别,减少提取脸部时的错误 mt模式下训练出的效果很好,脸部贴合度高 可选择的训练模式较多 有集成环境版本,只需正确安装驱动即可使用,无需单独搭建环境,对非专业...
  • DeepFace--Facebook的人脸识别

    万次阅读 2015-07-06 16:49:36
    连续看了DeepID和FaceNet后,看了更早期的一篇论文,即FB的DeepFace。这篇论文早于DeepID和FaceNet,但其所使用的方法在后面的论文中都有体现,可谓是早期的奠基之作。因而特写博文以记之。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 15,478
精华内容 6,191
关键字:

deepface