Python一步实现静态图片动态化
前言
哈喽,大家好。
大家在刷短视频的时候有没有刷到这样的视频,视频里一张静态的人物图片能动起来,如:歪歪头、眨眨眼、笑一笑。
类似于下面这种效果
最左侧的人物是原始的动作,上面是静态图片。通过AI技术便可以让最左侧人物的动作运用到上面的静态图片上,从而让张图都可以做出相同的动作。
这种技术一般是基于的GAN(生成对抗网络)来实现,今天我给大家分享一个开源项目,能够复现上面的效果,可以做些有趣的项目,也可以怀念故人。
1. 运行项目
项目地址:https://github.com/AliaksandrSiarohin/first-order-model
首先,git clone将项目下载到本地,进入项目安装依赖
git clone https://github.com/AliaksandrSiarohin/first-order-model.git
cd first-order-model
pip install -r requirements.txt
然后,在项目首页Pre-trained checkpoint标题下,找到模型下载链接,下载模型文件,模型有很多,我用的是vox-adv-cpk.pth.tar。
准备好模型文件后,在项目根目录下执行下面命令即可
Python学习交流Q群:906715085####
python demo.py \--config config/vox-adv-256.yaml \--driving_video src_video.mp4 \--source_image src_img.jpg \--checkpoint weights/vox-adv-cpk.pth.tar
解释下参数:
•–config:模型配置文件,在源文件中有
•–driving_video:提供动作的视频
•–source_image:需要加动效的静态图片
•–checkpoint:刚刚下载的模型文件
运行完成后,会看到如下输入
该项目使用PyTorch搭建神经网络,支持GPU和CPU运行,所以如果你的电脑只有CPU,运行会比较慢。
我是在CPU下运行的,从上图可以看到,driving_video只有 31 帧。如果你也是CPU运行,最好控制driving_video视频的时长,不然运行时长会比较长。
有了该项目,可以自己做些比较有意思的尝试
2. Python API
上面教大家按照官网在命令行运行该项目。
有些朋友可能想在Python项目中调用,所以我在demo.py中抽取了核心代码,封装了一个Pyhton API
有需要的朋友可以下载这个文件,放到与first-order-model同一级的目录下,按照下面代码调用即可
fom = FOM()
# 查看驱动视频,驱动视频最好裁剪为480 x 640 大小的视频
driving_video = ''
# 被驱动的画面
source_image = ''
# 输出视频
result_video = ''
# 驱动画面
fom.img_to_video(driving_video, source_image, result_video)
最后
今天的分享就到这里了,大致的思路都给大家整理出来了,心动不如行动,喜欢的小伙伴赶紧动手操作起来啦~~
Python一步实现静态图片动态化相关推荐
- Python三步爬取VMgirls小姐姐图片
Python三步爬取VMgirls小姐姐图片 具体思路 第一步:确定目标 第二步:分析目标网站 第三步:代码编写 具体思路 第一步:确定目标:寻找目标网站,我选择的网站是http://www.VMgi ...
- Python 实现 GIF 动态图片分解 , 多帧动态图分解成多张静态图片
文章目录 需求 实现 参考 需求 有时候你看到一张动态图片,其中的一个画面你觉得很不错,想从中提取出来.例如以下这张由多个漂亮小姐姐组成的 GIF 动态图: 实现 GIF 动态图片是由多张静态图片组合 ...
- Python+AI让静态图片动起来
哈喽,大家好. 大家在刷短视频的时候有没有刷到这样的视频,视频里一张静态的人物图片能动起来,如:歪歪头.眨眨眼. 类似于下面这种效果 最左侧的人物是原始的动作,上面是静态图片.通过AI技术便可以让最左 ...
- 怎么把静态图片做成动态图?简单三步让图片动起来
想要让普通的静态图片动起来,使用gif图片制作(https://www.gif.cn/)工具-[GIF中文网]就能够实现.非常简单,上传jpg.png格式的图片,就可以在线制作gif动图,打开浏览器即 ...
- python批处理实现爬取网页静态图片文件重命名图片统一修改大小等功能
按照特定字符(此处选为字符'j')分割文档成多个小文档 def main():with open("dir/origin.txt","r") as f:temp ...
- canvas全局合成画月牙_教你用Python将自己喜欢的图片转成字符画,居然还有动态的 - 松鼠爱吃饼干...
本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理 以下文章一级Python技术 ,作者派森酱 前言 字符画是一种由字母,标点或其他字 ...
- python 存储图片_使用python存储网页上的图片实例
使用python存储网页上的图片实例 本文介绍在已知网络图片的地址下,存储图片到本地 本文例子随便选择LOFTER上一张图片,复制图片的地址,如下图所示 在Python中输入代码 import req ...
- 在html中加入一个动态图,图片上加gif图片 图片某个角落贴个gif动态图,如何在静态图片上面加一张GIF动态图...
喜欢上网的小伙伴就会知道网上流传灰常广泛一种搞笑gif动态图片,这类图片大部分是视频转gif的,就是截取视频经典搞笑画面制作而成,还加了些搞笑文字.使用网络聊天工具尤其是QQ就最常见了,那些搞笑的表情 ...
- Python+PIL 轻松制作九宫格图片
一个尺寸自适应的图片切割器,Python实现,PIL,Image 前言 520前夕,又接了个活.对方的需求就是把一张照片切割成九宫格,这样发微信朋友圈感觉更炫酷一点.比如说520当天发对象的照片吖,就 ...
- Python 保存 网页上的图片
使用Python保存网站上的图片. 测试网站是豆瓣电影上的海报网址 使用以下code成功的建立了一个文件夹,并且在其中 保存该页面上的17张海报图片(仅保存海报图片,其他图片不保存). 使用`Pyth ...
最新文章
- 营销推广中心设计(一)营销架构与策略
- Windows Server 笔记之磁盘管理
- 专题1.1——Exchange2013部署前准备条件
- 数据分析利器之Pandas
- mysql海量数据查询/处理
- 成绩查询系统源代码-Leo老师
- 1024程序节|Android框架之一 BRVAH【BaseRecyclerViewAdapterHelper】使用demo
- 区块链开发(四)区块链技术详解PPT
- 靠自己。linux manul手册入门
- nmds与mds的区别_通过ggplot2为NMDS的椭圆添加特定的形状和线型
- 2015-2020: 5年,不问归期,奋斗没有终点
- 【非常重要】运行supervisorctl错误提示【FATAL或BACKOFF 】Exited too quickly (process log may have details)问题总结
- VsCode超实用插件推荐,让你的开发效率火力全开
- CSR867x一拖多加密工具8670 8675
- matlab串口陀螺仪,matlab通过串口接收ARM7外设陀螺仪数据并绘图有困难急求解答...
- 【预研】关于互联网广告:半小时读懂互联网广告新生态
- iPad 4.2.1 非完美越狱
- 如何制作一寸、二寸、六寸照片。以后不用再去照相馆了!
- 小生境方法(niching methods)
- python中的range()函数
热门文章
- 【摘录】大学课程对照英文翻译
- qt 实现MVC Api控制器开发 web api接口-连载【5】-企业级系统开发实战连载系列 -技术栈(vue、element-ui、qt、c++、sqlite)
- 燃烧的远征服务器排队小程序,你还在让顾客排队吗?试试小程序吧!让顾客不再排队!...
- 【NPM】Building fresh packages运行很久都没反应
- Windbg远程调试
- Kattis - battleship【模拟】
- UVA11991 Easy Problem from Rujia Liu?(第K个V的位置)
- POJ3580:SuperMemo
- 文本分类(2)——取特征词构建词典
- 障碍期权定价 python_Python二项期权定价