130行Python代码模仿“蚂蚁呀嘿”特效,太魔性了!

最近在抖音上看到很多「蚂蚁呀嘿」的魔性视频,各方大佬齐齐上阵。

刚好看到百度的开源项目,基于PaddleGAN实现表情迁移,于是也来玩一把!

先来看一下成果,各大编程创始人齐唱「蚂蚁呀嘿」!

没配音,感觉不是很精彩,后面上视频。

那么需要如何实现呢,下面手把手教学。

项目地址:

https://aistudio.baidu.com/aistudio/projectdetail/1586056

目前该项目适合在Windows和Linux上操作,Mac在调用ffmpeg这一步会出错。

不知道是不是和mac不支持gpu安装paddlepaddle有关系。

首先将PaddleGAN的源码从gitee上下载下来。

# 从gitee上克隆PaddleGAN代码
git clone https://gitee.com/paddlepaddle/

没有安装git的小伙伴,关注微信公众号:Python联盟,然后回复“蚂蚁呀嘿”就可以获取到文件。

下载解压后,将PaddleGAN文件夹放置在PyCharm的项目中。

如此就能在PyCharm项目的虚拟环境中,进行相关的安装操作了。

# 终端打开文件夹
cd PaddleGAN# 安装相关依赖
pip install -r requirements.txt -i https://mirror.baidu.com/pypi/simple
pip install imageio-ffmpeg -i https://mirror.baidu.com/pypi/simple

终端打开文件夹,安装所需要的依赖。

毕竟是百度的开源项目,所以使用了百度的pip源,速度真的很快。

下面再创建一个输出文件夹,生成的视频会保存在这里。

# 打开文件夹
cd applications/# 新建文件夹
mkdir output

最后还需要安装百度的paddlepaddle和paddlehub。

paddlepaddle是基础,而paddlehub则是用来检测人脸用的。

将「输入图片」中的所有人脸检测出来,然后使用PaddleGAN对每个人脸进行表情迁移,最后生成视频。

# 安装库
pip install paddlepaddle -i https://mirror.baidu.com/pypi/simple
pip install paddlehub -i https://mirror.baidu.com/pypi/simple

下面就可在终端运行如下命令。

export PYTHONPATH=$PYTHONPATH:../PycharmProjects/mayiyahei/PaddleGAN && python -u tools/first-order-demo.py  --driving_video ../PycharmProjects/mayiyahei/MaYiYaHei.MP4  --source_image ../PycharmProjects/mayiyahei/input.jpeg --relative --adapt_scale

其中,“../”处应该修改成为你自己的路径。

命令行参数说明如下。

driving_video: 驱动视频,视频中人物的表情动作作为待迁移的对象。source_image: 原始图片,视频中人物的表情动作将迁移到该原始图片中的人物上 。relative: 指示程序中使用视频和图片中人物关键点的相对坐标还是绝对坐标,建议使用相对坐标,若使用绝对坐标,会导致迁移后人物扭曲变形。adapt_scale: 根据关键点凸包自适应运动尺度。

此处,大家可以使用自己设计的图片,生成你想要的视频。

比如我的原始图片input.jpeg,就是编程创始人集合照,如下图。

对于其他的视频特效,就需要更改驱动视频,即修改driving_video。

另外生成的视频是不带声音的,所以需要使用FFmpeg将视频与音频进行合并。

# 视频和音频合并
ffmpeg -i MaYiYaHei.mp4 -i MYYH.mp3 -vcodec copy -acodec copy result.mp4

最终实现项目的视频效果如下。

130行Python代码模仿“蚂蚁呀嘿”特效,太魔性了!

如果你想生成GIF,分享给其他人,比如整蛊你的好朋友。

同样可以使用FFmpeg生成GIF。

# 生成GIF
ffmpeg -ss 0 -t 8 -i result.mp4 -s 600*400 -r 15 result.gif

需要设定视频截取时间及GIF图像大小。

总结

好了,130行Python代码模仿“蚂蚁呀嘿”特效,太魔性了!到这里就结束了。

相关代码及文件已上传,在微信公众号「Python联盟内回复「蚂蚁呀嘿」即可获取。

AI换脸有风险,一定要注意个人隐私安全!

这里需要注意,在使用PaddleGAN对人脸进行动作表情迁移,这期间耗费的时间比较多,慢慢等就好了。

130行Python代码模仿“蚂蚁呀嘿”特效,太魔性了!相关推荐

  1. 30行Python代码实现蚂蚁森林自动偷能量

    虽然我支付宝加了好多好友,平时有很多能量可以偷,但由于太懒,至今一棵树都没种成,所以心心念念把偷能量这事自动化.之前通过用代码模拟手机点按的方式,实现了 朋友圈自动点赞,但当时蚂蚁森林的操作流程要比朋 ...

  2. 30 行Python代码实现蚂蚁森林自动收能量(附送源码)

    公众号 "菜鸟学Python", 设为 "星标" 带你一起学Python 编辑:业余草 blog.csdn.net/article/details/113734 ...

  3. 30行Python代码实现蚂蚁森林自动偷能量(附源码)

    虽然我支付宝加了好多好友,平时有很多能量可以偷,但由于太懒,至今一棵树都没种成,所以心心念念把偷能量这事自动化.之前通过用代码模拟手机点按的方式,实现了 朋友圈自动点赞,但当时蚂蚁森林的操作流程要比朋 ...

  4. python输入三行数据_3行Python代码就能获取海量数据?

    原标题:3行Python代码就能获取海量数据? 一谈起数据分析,首先想到的就是数据,没有数据,谈何分析. 毕竟好的菜肴,没有好的原材料,是很难做的- 所以本期小F就给大家分享一个获取数据的方法,只需三 ...

  5. vue如何生成公钥私钥_百行Python代码演示1私钥生成多公链公钥原理。|区块链财富指北私钥篇(2)...

    <区块链财富指北>系列文章由NOCY.COM策划,肖南飞主笔撰写. 技术选型基于BOScore公链,旨在以有趣易懂的方式传播普及区块链技术,不构成任何投资建议! 学习之前说学习 今天这篇文 ...

  6. 02《区块链财富指北》私钥篇(2):百行Python代码演示一私钥生成多公链公钥原理。

    私钥(2):百行Python代码演示一私钥生成多公链公钥原理. <区块链财富指北>系列文章由NOCY.COM策划,肖南飞主笔撰写. 技术选型基于BOScore公链,旨在以有趣易懂的方式传播 ...

  7. 10行 python 代码做出哪些酷炫的事情?

    来源 | Python小二 Python凭借其简洁的代码,赢得了许多开发者的喜爱.因此也就促使了更多开发者用Python开发新的模块,从而形成良性循环,Python可以凭借更加简短的代码实现许多有趣的 ...

  8. 几行 Python 代码实现邮件解析,超赞~

    作者 | Yunlor 来源 | CSDN博客 前言 如何通过python实现邮件解析?邮件的格式十分复杂,主要是mime协议,本文主要是从实现出发,具体原理可以自行研究. 一.安装 通过mailgu ...

  9. DeepMind提图像生成的递归神经网络DRAW,158行Python代码复现

    作者 | Samuel Noriega 译者 | Freesia 编辑 | 夕颜 出品 | AI科技大本营(ID: rgznai100) [导读]最近,谷歌 DeepMInd 发表论文( DRAW: ...

最新文章

  1. IDEA自定义快捷指令,快捷生成代码、注释
  2. Android问题-DelphiXE5编义时提示找不到“连接器(arm-linux-androideabi-ld.exe)
  3. 19个超赞的数据科学和机器学习工具,编程小白必看!(附资料)
  4. 把服务器文件备份到文件服务器,服务器之间文件备份方案、如何把服务器文件自动备份到另外一台服务器?...
  5. commons-lang包中我们常用的类的作用
  6. C语言中printf输出特殊字符(“%d“或者“\n“)
  7. word中怎样单独删除某一页的页码
  8. css如何调整红心样式_CSS3跳动的红心
  9. php pdo dblib,PHP DBlib PDO问题
  10. 力扣题目——103. 二叉树的锯齿形层序遍历
  11. asp.net mysql数据库连接字符串_如何让您的ASP.NET数据库连接字符串是安全的
  12. PHP实现生成二维码的示例代码
  13. 海康威视云台相机4200客户端调试记录
  14. 市面所有机器人框架开源啦(含VX框架源码)
  15. mysql数据库查询语句_mysql数据库查询语句
  16. “熊猫烧香”主犯:毒王?黑客英雄?
  17. 显卡缺货终于到头了:4000多块可得3070Ti,比原价便宜2000块拿下3090Ti
  18. 【附章4包装类】包装类的顶级理解
  19. Flask框架(一)flak视图和URL
  20. 互联网金融的信息安全(一)新环境的安全形势

热门文章

  1. 空气净化器对比测试PM2.5去除效果显著
  2. 视频教程-微信公众平台深度开发v2.0第3季——二维码、模板消息-微信开发
  3. 从0到1000万:哔哩哔哩直播架构演进史
  4. 顶级赛事!2021 CCF大数据与计算智能大赛重磅开赛!
  5. vue中缓存当前路由的实现
  6. 使用plotly画地图
  7. flume之退避算法backoff algorithm
  8. PyQt4对话框(dialog类型介绍)
  9. 无线射频专题《射频合规,无线电认证系列简介,IC/CE/FCC/NCC/KCC/SRRC/ROHS/TELET/REACH/ANATEL》
  10. 阿里云Centos7安装mysql5.7