公众号后台回复“图书“,了解更多号主新书内容

作者:小F

来源:法纳斯特

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

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

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

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

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

项目地址:

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的小伙伴,在公众号回复「蚂蚁呀嘿」就可以获取到文件。

下载解压后,小F是将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

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

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

同样可以使用FFmpeg生成GIF。

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

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

总结

好了,到此本期的实践就结束了。

相关代码及文件已上传,公众号回复「蚂蚁呀嘿」即可获取。

感兴趣的小伙伴也可以动手试一试。

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

◆ ◆ ◆  ◆ ◆麟哥新书已经在当当上架了,我写了本书:《拿下Offer-数据分析师求职面试指南》,目前当当正在举行活动,大家可以用相当于原价5折的预购价格购买,还是非常划算的:
数据森麟公众号的交流群已经建立,许多小伙伴已经加入其中,感谢大家的支持。大家可以在群里交流关于数据分析&数据挖掘的相关内容,还没有加入的小伙伴可以扫描下方管理员二维码,进群前一定要关注公众号奥,关注后让管理员帮忙拉进群,期待大家的加入。
管理员二维码:
猜你喜欢
● 卧槽!原来爬取B站弹幕这么简单● 厉害了!麟哥新书登顶京东销量排行榜!● 笑死人不偿命的知乎沙雕问题排行榜
● 用Python扒出B站那些“惊为天人”的阿婆主!● 你相信逛B站也能学编程吗

魔性,用Python实现火爆全网的「蚂蚁呀嘿」视频特效!相关推荐

  1. 魔性,用 Python 实现火爆全网的「蚂蚁呀嘿」视频特效!

    完整文章.资料阅读公众号文章还有视频:https://mp.weixin.qq.com/s/RsJWPWKE0YCebelxHr-KaA 你好,我是悦创.这篇文章搞了前后两天,至于为什么搞,后面会说. ...

  2. python动态粒子素材,太魔性了,用 Python 实现火爆全网的「蚂蚁呀嘿」视频特效!...

    大家好,我是安果! 最近在抖音上看到很多「蚂蚁呀嘿」的魔性视频,各方大佬齐齐上阵 刚好看到百度的开源项目,基于 PaddleGAN 实现表情迁移,于是也来玩一把! 先来看一下生成的效果图,各大编程创始 ...

  3. 用Python实现火爆全网的「蚂蚁呀嘿」视频特效!

    https://mp.weixin.qq.com/s/t4I0j8APqENwJlP3xNfbmQ

  4. 用Python实现火爆全网的「蚂蚁呀嘿」!这也太恶搞了吧!

    最近在抖音上看到很多「蚂蚁呀嘿」的魔性视频,各方大佬齐齐上阵. 刚好看到百度的开源项目,基于PaddleGAN实现表情迁移,于是也来玩一把! 先来看一下小F的成果,各大编程创始人齐唱「蚂蚁呀嘿」! 没 ...

  5. 重磅推荐:火爆全网的「合成大西瓜」源码来了

    文章首发于微信公众号「GitHub精选」,欢迎大家关注. 大家好,我是章鱼猫. 就在今天,「合成大西瓜」再度上了微博热搜. 今天推荐的这个项目就和「合成大西瓜」有关,它是「bigwatermelon」 ...

  6. 全网都在求的「蚂蚁呀嘿」教程--基于PaddleGAN的First order motion model实现

    什么?你还不知道「蚂蚁呀嘿」?这位兄台,那你可能out得相当严重! 这是引起男女老少的争相关注.火爆

  7. Python 小工具:调用「百度翻译API」实现英汉互译及多语言翻译

    Python 小工具:调用「百度翻译 API」实现英汉互译及多语言翻译 API 简介 过程详解 完整代码 结果展示 附:官方 Demo - Python 2 版本 Python 小工具:调用「百度翻译 ...

  8. 清华加强版「蚂蚁呀嘿」来袭,再也不用手动抠素材了!

    来源:新智元 2021年初,一股「蚂蚁呀嘿」的妖风吹遍各大社交平台,相信你也曾经刷到过互联网大佬.政要名人.体育明星甚至是动漫人物穿越时空,共同做着夸张的表情,唱着魔性的「蚂蚁呀嘿」的视频. 这是图像 ...

  9. 清华加强版「蚂蚁呀嘿」来袭 鬼畜区up主再也不用手动抠素材了

    开源地址: https://github.com/yoyo-nb/Thin-Plate-Spline-Motion-Model 预训练300多m 清华大学云盘 2021年初,一股「蚂蚁呀嘿」的妖风吹遍 ...

最新文章

  1. git init 与 git init --bare 区别
  2. 斐波那契数列及青蛙跳台阶问题
  3. 例子:倒计时按钮可用
  4. (旧)走遍美国——(三、文化2)
  5. 重载(overload)、覆盖(override)、隐藏(hide)的区别
  6. 大数据平台网站日志分析系统
  7. 果蔬连连看java源代码_《基于Qt的连连看游戏的设计》-毕业论文.doc
  8. [Python] 关键字 yield 用法详解
  9. java word模板生成pdf,java根据模板生成pdf
  10. Linux下安装搜狗拼音输入法(Ubuntu18.04.2 LTS)
  11. 【python】实现共享表格协同编辑
  12. 推荐几个程序员赚钱的平台,你有技术就有钱!
  13. LIFT:Learned Invariant Feature Transform
  14. 一篇文章彻底搞懂JVM常见垃圾收集器算法、常见收集器、CMS三色标记等(深度剖析)
  15. [Learn Android Studio 汉化教程]Reminders实验(一)
  16. 百度,谷歌,360,搜狗,神马等蜘蛛IP段大全
  17. Linux添加PCF8563 RTC支持
  18. certbot申请通配符域名证书
  19. TLD 源码详解(一)--- TLD的编译和运行
  20. 解铃还须系铃人—大数据时代的安全交给大数据

热门文章

  1. 隐式转换的替代方案不是万能的
  2. 我们如何制作gif?制作gif的手机APP哪个好?
  3. [转]百本dsp经典书籍共享
  4. java中switch用法举例范围_Java中Switch用法代码示例
  5. 学计算机专业笔记本买多大尺寸的好,办公用笔记本电脑多大尺寸内存合适
  6. 健身教练转行软件测试,完成了月薪9k目标
  7. inter uhd graphics630显卡驱动_现有190个UHD频道
  8. python怎么调用navicat_Navicat使用与python操作数据库
  9. 如何设置Minecraft,以便您的孩子可以和朋友一起在线玩
  10. python中画图时x,y轴名称出现中文乱码的解决方法