faceswap - 郭大爷和马爸爸换脸记

作者: YANWeichuan | 来源:发表于2019-05-07 18:29 被阅读3次

    环境准备

    1. 安装tensorflow 1.2或者1.3以上的版本,带GPU支持,本次实验使用virtualenv环境
    2. 下载faceswap的的源代码
      git clone https://github.com/deepfakes/faceswap.git
    3. 使用步骤说明:https://github.com/deepfakes/faceswap/blob/master/USAGE.md
    4. 准备视频,通过腾讯或者爱奇艺播放器录两段视频,一段是郭大爷的坑王驾到,一段是马爸爸的开学啦

    换脸步骤

    1. 从视频中提取图片

    输入是视频,输出是每一帧图片

    $ python tools.py effmpeg -a extract -i video/guodegang.mov -o video/guodegang/
    $ python tools.py effmpeg -a extract -i video/mayun.mov -o video/mayun/
    

    2. 扣人脸,并清洗

    从每一帧图片中把人脸扣出来

    $ python faceswap.py extract -i video/guodegang/ -o  data/guodegang
    $ python faceswap.py extract -i video/mayun/ -o  data/mayun
    

    清洗人脸图片,把一些不是人脸或者质量不高的人脸图片删掉,否则影响后面的训练

    3. 训练

    输入是两个抠出来的人脸,输出是一个模型,可以用展示中间训练图片变化的细节,1080的显卡大概要训练个一天多

    $ python faceswap.py train -A data/mayun/ -B data/guodegang/ -m data/models/
    

    4. 换脸

    注意input为ffmpeg extract出来的原图

    $ python faceswap.py convert -i ./video/mayun/  -o ./output/ -m ./data/models   -M facehullandrect
    

    5. 复原

    把替换人脸后的图片打包成视频

    $ ffmpeg -i ./output/mayun.mov_%5d.png -c:v libx264 -vf "fps=25,format=yuv420p" ./mayun.mp4
    

    效果如下动图,贴合度都还可以,主要选的两个主角的肤色差距较大,显得不太自然

    图片转gif动图

    convert -delay 15   *.png output.gif
    

    相关文章

      网友评论

        本文标题:faceswap - 郭大爷和马爸爸换脸记

        本文链接:https://www.haomeiwen.com/subject/yvoqmqtx.html