换脸算法探索---基于gan网络实践

介绍

        最近接到一个项目,做一个换脸算法,能实现任意人脸的互换。天天p图,zao的换脸是目前市面上做的比较好的产品,有比较高的技术及资源门槛。国外deepfake刚出来的时候也引起了不小的轰动,甚至影响到立法。

        在github上搜索swapface,相关项目有这些特点:

        1针对特定人脸,即训练针对特定人物的模型,不能实现任意两人的互换,尤其是视频,甚至是两个指定视频要训练后才能进行互换;

        2效率过低,显卡上跑着都很吃力,动不动几百毫秒没有了;

        3效果太差,尤其是对肤色角度的相似性要求太高。

       就上面几点,形成了天天p图和zao的技术难点及应用难点,据说zao刚运营的时候,日亏百万。

方法

       本文所属方法,目标如下:

       1 实现任意人脸互换

       2 实现高效率的运行,在pc机单核200ms以下的处理时间

       3 实现对肤色和角度的最大限度的支持

算法实现

      整体步骤如下:

       1 人脸识别,得到人脸位置及特征点;

       2 采用人脸剖分方法,将一个人脸映射到另一个人脸上;

       3 采用gan对人脸进行精修,实现多余物体取出(阴影,留海等),肤色融合及畸变矫正

      其中gan的方法借鉴了deep fake的思想,主要在训练样本对的设计上很有讲究,这是本文所述方法的技术核心,不方便透露。

效果展示

img0

img1

img2

img3

上面的例子展示了一些肤色不一样,角度变化大的情况,当然角度变化是有限度的,越大效果越差,肤色也是一样的,差距越大也差。

wife1

wife2

总结

          本文所述方法还处在研发期,不过效果还是可圈可点的,尤其是时间现在控制在100ms左右,i5单核上。未来计划应用在视频换脸上,只要能解决帧间稳定性,尽量向zao看齐

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值