SimSwap: An Efficient Framework For High Fidelity Face Swapping

  1. 问题引入
  • face swapping任务:1)可以泛化到不同人脸;2)将源图片的人物id注入到目标图片;3)同时保持目标图片其他属性不变(表情,光线等);
  • 工业界的换脸方法需要重建人脸模型并且复刻光线条件;
  • 有一些更低门槛的方法:source-oriented(将目标图片的属性转移到源图片,然后进行blend)和Target oriented(首先提取源图片的特征,之后改变目标图片的特征)
  • 首先通过ID Injection Module (IIM)模块来将源图片信息注入到目标图片当中,将原始的针对特定人脸的模型https://github.com/deepfakes/faceswap扩展到任意图片;
  • Weak Feature Matching Loss来保证目标图片的原始属性;
  1. methods
    在这里插入图片描述
  • 在DeepFakes上面进行改进,原DeepFakes包含两个部分,encoder E n c Enc Enc+两个identity specific decoder D e c S , D e c T Dec_S,Dec_T DecS,DecT,在训练的阶段, E n c − D e c s Enc-Dec_s EncDecs输入warped source image,重建到original unwarped source image,同样的步骤也在 E n c − D e c T Enc-Dec_T EncDecT进行,在推理阶段,输入warped source image,输出image with the source’s
    identity and the target’s attributes;
  • 上面的方法只能在指定的identity上面使用,首先想要扩展到任意人脸,在encoder和decoder之间添加了 ID Injection Module模块,首先encoder的输出 F e a T Fea_T FeaT包含了图片的identity信息和attribute信息,高度耦合,现在希望identity信息变为源图片的,直接修改耦合在一起的特征, ID Injection Module包含两个部分identity extraction part(使用人脸识别模型输入源图片 I S I_S IS获取 v S v_S vS)+embedding part(使用Adaptive Instance Normalization(AdaIN)替换res block中的bn), v s v_s vs经过全连接层得到scale以及shift;在训练的时候计算结果图片得到的 v r v_r vr v s v_s vs的距离作为损失,只使用该损失会使得模型忽略目标图片的原始属性,所以还添加了adversarial损失;
  • 其次还要保持目标图片的原始属性,Weak Feature Matching Loss,在这里插入图片描述
    其中i表示特征层数, D i D_i Di表示discriminator的不同层,损失计算从第 m m m层开始;
  • 最终损失:
    – Identity Loss:在这里插入图片描述
    – Reconstruction Loss:当source和Target图片是同一个人的时候在这里插入图片描述
    – Adversarial Loss and Gradient Penalty;
    – Weak Feature Matching Loss;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值