GitHub 热榜:被网友疯狂恶搞的「蚂蚁呀嘿」项目终于开源了!_%蚂蚁呀嘿 太 了 你拍不成功一定是漏了就关键的一步%照片会唱歌 %我要上热-程序员宅基地

技术标签: python  Python  

前言

本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理。

PS:如有需要Python学习资料的小伙伴可以点击下方链接自行获取

Python免费学习资料、代码以及交流解答点击即可加入


 

最近,小伙伴们的朋友圈、某音、某手、某博是不是都被魔性的「蚂蚁呀嘿」换脸视频刷屏了?!!甚至有网友纷纷吐槽:「这几天就仿佛捅了蚂蚁窝…」

前排提示,听音乐阅读本文获得极致体验 (手动狗头)

比如飞桨团队的激情出演:

 

 

看到这里,小伙伴们都跃跃欲试,想要制作自己订制的「蚂蚁呀嘿」。但你打开电脑,翻遍各大网站寻找教程,发现自己早已经落后了!某宝上面已经出现了大量「蚂蚁呀嘿」的视频教程与代做!更震惊的是,部分开发者已经靠这个赚的盆满钵满、日入过万!

 

 

不要惊慌!不要眼红!

今天就吐血为大家扒出了一个价值过亿的开源项目:PaddleGAN!

它不仅完全免费,也完全省去了在 Avatarify 和剪映等多个软件间切换,使你一键即可生成「蚂蚁呀嘿」视频!!

这个能力依托于 First Order Motion 算法,它不仅能轻松实现「蚂蚁呀嘿」换脸视频,还支持你自己录制面部动作,生成任何题材的换脸视频,甚至开发属于自己的 App 或者小程序,走上发家致富之路~

 

光说不练假把式,接下来就给大家介绍下这个核心技术,并真正手把手教你三步实现「蚂蚁呀嘿」~

动作迁移算法First Order Motion

首先,不得不提的是「蚂蚁呀嘿」的视频换脸所应用的核心 —— 动作迁移算法 First Order Motion。它的功能就是将人物 A 的脸部动作搬移到人物 B 身上,让人物 B 的脸完美演绎人物 A 的表情。


First Order Motion 算法的结构图如下:


简单的说,First Order Motion 能够通过自监督的方式学习到图像中的关键点。不需要先验地知道目标的一些信息,比如骨架等就可以实现动作迁移。

 

而 PaddleGAN(飞桨生成对抗网络工具套件)不仅提供已经实现好的 First Order Motion 算法及完善的训练、预测代码。还在 AI Studio 学习与实训平台实现了完整的在线项目及「蚂蚁呀嘿」素材,小伙伴们可以根据需要,使用 AI Studio 的免费的算力,自己实现更多具有创意的动作迁移效果!
https://aistudio.baidu.com/aistudio/projectdetail/1586056
在此强烈呼吁一定要薅这个羊毛啊!一旦错过就真的没了
书归正传!咱们来看看具体如何操作!⁄(⁄ ⁄・⁄ω⁄・⁄ ⁄)⁄

三步实现专属定制版的「蚂蚁呀嘿」

说明:以下步骤都是在 AI Studio 平台上操作实现。

1. 下载 PaddleGAN

!git clone https://gitee.com/PaddlePaddle/PaddleGAN

!pip install -r requirements.txt

2. 使用表情迁移命令

命令:

!export PYTHONPATH=$PYTHONPATH:/home/aistudio/work/PaddleGAN && python -u tools/first-order-demo.py  --driving_video ~/fullbody.MP4  --source_image ~/秃头乔哥.png --relative --adapt_scale

只需在如下命令中的 driving_video 参数和 source_image 参数分别换成自己的视频(driving_video部分)和照片路径(source_image部分),即可运行得到「蚂蚁呀嘿」换脸视频。

  • driving_video: 驱动视频,模型将学习视频中人物的面部表情
  • source_image:源图片,模型将驱动视频中的人物表情迁移至源图片的人物上

不过这个视频还没有配乐,所以还需要第三步!

3. 为视频配上声音

运行以下命令即可生成最终的「蚂蚁呀嘿」专属视频啦(本例中的视频文件名为 export.mp4)!

videoclip_1 = VideoFileClip("/home/aistudio/fullbody.MP4")
videoclip_2 = VideoFileClip("./output/result.mp4")
audio_1 = videoclip_1.audio
videoclip_3 = videoclip_2.set_audio(audio_1)
videoclip_3.write_videofile("./output/export.mp4", audio_codec="aac")

 

同时,PaddleGAN 的表情迁移能力灵活支持各类不同表情的面部迁移,不仅「蚂蚁呀嘿」,任何其他魔性的视频都可一一制作。

PaddleGAN 还有更多惊喜!

惊喜的是「蚂蚁呀嘿」竟然只是 PaddleGAN 数十种能力中的一种!!!这个免费开源的套件里藏着满满的宝藏,包括唇形合成(对嘴型)、视频 / 照片修复(上色、超分、插帧)、人脸动漫化、照片动漫化等等!!一个比一个更厉害!
比如「蒙娜丽莎」播新闻:


百年前照片修复:


照片动漫化:


PaddleGAN 就如一个「游乐场」,欢迎各位「玩家」踊跃无票入场,体验各类「游戏设施」,如果玩得开心,希望各位小伙伴点 Star 给开源社区精神一点支持~

 

https://github.com/PaddlePaddle/PaddleGAN

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/pythonxuexi123/article/details/114585478

智能推荐

GPT4、文心一言4、ChatGLM、Claude2.1四大语言模型生成效果对比_文心一言和chatglm-程序员宅基地

文章浏览阅读1.8k次,点赞24次,收藏27次。随着AIGC大风起,也掀起了语言模型大争之世,各种语言模型如雨后春笋,让大家眼花缭乱。周周都有新的选手入场,月月都有新的模型问世。不过其中最受人瞩目的当属GPT4、文心一言4、ChatGLM、Claude2.1四大模型。隐隐有傲视群雄之姿,今天我们也对这语言模型的四大天王的生成做一下粗浅的对比,也为大家在选择接入自家产品的时候有些许参考。_文心一言和chatglm

java/php/node.js/python基于微信小程序的音乐网站的设计与实现【2024年毕设】-程序员宅基地

文章浏览阅读236次。本系统带文档lw万字以上文末可领取本课题的JAVA源码参考。

基数排序算法-程序员宅基地

文章浏览阅读480次,点赞12次,收藏9次。基数排序

Uni-app 详情页 播放视频功能_uni.createvideocontext-程序员宅基地

文章浏览阅读4.8k次,点赞2次,收藏20次。逻辑:1.课程详情页加载后,用token判断用户是否登录,登录状态则调用//查询课程是够有播放的权限的接口(只传入courseId),后端会返回hasAuth为true/false2.点击某一章节时,登录状态则调用//查询课程是够有播放的权限的接口(这次要传入courseId & chapterId),后端会返回hasAuth为true/false和videoId,如果这俩都有,则跳页面到视频播放页3.跳转到视频播放页,请求课程详情接口、视频播放接口(传入courseId & c_uni.createvideocontext

Nginx上传文件大小、超时限制_nignx webdav 文件大小-程序员宅基地

文章浏览阅读1.3w次。修改Nginx上传文件大小限制  我们使用ngnix做web server的时候,nginx对上传文件的大小有限制,默认是1M。  当超过大小的时候会报413(too large)错误。这个时候我们要修改nginx的参数client_max_body_size 20M; location / { ... client_max_body_size 100m; }..._nignx webdav 文件大小

InSAR形变监测方法与研究进展(朱建军,中南大学)_insar 冰川厚度-程序员宅基地

文章浏览阅读134次。(1)首先,InSAR监测变形原理和卫星数据来源(2)其次,InSAR形变监测方法分类(3)最后,讨论InSAR研究难点。_insar 冰川厚度

随便推点

gitlab搭建遇到的问题记录_[execute] fail: redis: runsv not running-程序员宅基地

文章浏览阅读5.5k次。1 镜像下载地址https://packages.gitlab.com/gitlab/gitlab-ce我目前使用的版本是:11.10.2版本13以后,把原始仓库路径默认都给变成了hash加密了,很难辨识出原始仓库,所以不选择13以上的版本。2 每次服务器断电后不能启动gitlab2.1 断电后启动gitlab报错fail: alertmanager: runsv not runningfail: gitaly: runsv not runningfail: gitlab-_[execute] fail: redis: runsv not running

C#常见错误—未将对象引用设置到对象的实例-程序员宅基地

文章浏览阅读3.3k次,点赞2次,收藏8次。C#常见错误—“未将对象引用设置到对象的实例”的产生原因和解决方案。_未将对象引用设置到对象的实例

IAR for ARM 安装与注册(超详细)-程序员宅基地

文章浏览阅读1.3w次,点赞14次,收藏57次。IAR for ARM 安装与注册(超详细)一.使用软件 IAR for arm 8.3.21 以及注册软件链接:https://pan.baidu.com/s/1kihV0zkOdFx1OUZSJtbT9A提取码:0key二.软件安装1.打开安装包,选择安装2.点击“Next>”3.选择接受,再点击“Next>”,不接受不给你安装。霸道4.开发软件,建议安装在C盘,默认即可。安装在其他盘也可以注意不要有中文路径5.这里是烧录器的驱动安装,我们后面用到什么在安装什么6_iar for arm

黑马程序员_Java基础_IO流(四)_21_创建一个像文件date中写基本数据类型数据的流对象的语言为-程序员宅基地

文章浏览阅读540次。------- android培训、java培训、期待与您交流!---------- 导读:对象的序列化,管道流,RandomAccessFile,操作基本数据类型的流对象, ByteArrayStream,字符流的字符编码,编码解码,字符编码-联通,练习 1、IO流(对象的序列化)IO包中的其他类:操作对象,ObjectInputStream与ObjectOutputStre_创建一个像文件date中写基本数据类型数据的流对象的语言为

vue-cli中使用sass或者less_cli默认是less还是sass-程序员宅基地

文章浏览阅读2.1k次。什么是sass、less?他们有什么区别?请移步官网!这里仅仅记录一下如何使用开门见山。sass 创建好vue脚手架后,打开命令行安装sass:脚手架虽然有配置sass,配置在build/utils.js,但对应的loader未安装 ,请执行以下命令:npm install --save-dev node-sassnpm install --save-dev sass-loader在这里需..._cli默认是less还是sass

【IMX6ULL驱动开发学习】12.Linux驱动之设备树_正点原子linux开发板imx6ull 设备树-程序员宅基地

文章浏览阅读1.2k次,点赞2次,收藏5次。(1)platform_driver 结构体添加 of_match_table 属性,添加 of_device_id 结构体,匹配设备树。(2)在 probe 函数中提取设备树中的引脚,提取设备树节点中的属性(of_property_read_u32等函数)后缀为 dtb 的是二进制的设备树文件,我们需要修改它,那么真正要操作的是其对应的 dts 文件,即。其他地方都不用修改,下次想添加外设时,直接修改设备树,然后修改 of_device_id 结构体即可。即可替换成新的设备树了,如何查看是否替换成功呢。_正点原子linux开发板imx6ull 设备树

推荐文章

热门文章

相关标签