点赞再看,养成习惯,微信公众号搜索【JackCui-AI】关注这个爱发技术干货的程序员。本文 GitHub https://github.com/Jack-Cherish/PythonPark 已收录,有一线大厂面试完整考点、资料以及我的系列文章。
最近看到了一个很好玩的算法,人体的动作迁移。
给定一张或者多张人物 A 的图像,和一段人物 B 的视频,就可以通过动作迁移算法自动合成一段人物 A 做任务 B 动作的视频。
看看阿川老师模仿阿坤老师等人的舞姿(点击播放视频):
要不是马保国被封杀了,绝对给大家来一段“松果弹抖闪电鞭”。
准备好素材和电脑,今天继续手把手教学。
算法原理、环境搭建、效果实现,一条龙服务,尽在下文!
1 Impersonator++
Impersonator++的前身是去年发表的Impersonator。这项工作,上海科技大学的 LiuWen 、Zhixin Piao 等人,探索了三年。
去年的 Impersonator 早已入选计算机视觉顶会 ICCV 2019。
又经过了一年多的努力,增强版 Impersonator++ 诞生了。
Impersonator++ 解决了去年算法的泛化性较差,尺度太较小(256 x 256), 以及自动化程度不够高等问题。
Impersonator++ 不仅可以做人体的动作迁移,人体图像合成的其它任务都可以 Cover,例如新视角合成、外观迁移。
它们在重演、角色动画、虚拟试装、电影以及游戏制作等领域具有巨大的应用潜力。
动作迁移(模仿)的目标是把 source human image 的动作,变换成 reference human image 的动作。
新视角合成,就是对视角进行转换,比原图是一张正面图,去合成他的背面图。
外观迁移是交换两张图像中人物的外观(如衣服,裤子,鞋子等,但是不包含脸部)。
研究者针对上个版本的问题,探索提出了第二个版本 Liquid Warping GAN with Attention。
整个处理流程分为三个步骤:Body Mesh Recovery、Flow Composition、Liquid Warping GAN。
Body Mesh Recovery 阶段是对所有图片进行三维重建,生成每帧人物的 3D Mesh,然后进行渲染。
Flow Composition 阶段是分离前景和背景,并计算运动需要的一系列旋转矩阵,以备后动作渲染。
Liquid Warping GAN 阶段是生成结果的过程,利用到了背景修复 Inpainting 算法,同时利用 LWB 或 AttLWB 生成头发、衣服等细节纹理。
想要更好的修复效果,可以使用多帧图像作为 Source Image。
更详细的技术细节,可以直接看 paper:
https://arxiv.org/pdf/2011.09...
2 效果测试
Github 项目地址:
https://github.com/iPERDance/...
强烈建议使用 Linux 搭建环境,我自己在 Windows 上测试发现存在一些问题,与作者微信联系,他们表示近期会修复。
没有 GPU 的,也可以白嫖 Google Colab,环境都是配好的,直接挨个 cell 运行即可体验。
Google Colab 地址:
https://colab.research.google...\_?usp=sharing
如果没梯子,那只能用 Linux 服务器搭建开发环境了,或者等 Windows 修复。
Linux 环境配置,没啥问题,直接安装 CUDA 10.1 以上版本,并安装 gcc 7.5+ 和 ffmpeg。
然后下载代码,进入工程目录,使用如下指令安装依赖:
python setup.py develop
搞定后,下载算法需要的权重文件,项目的权重文件需要梯子才能下载,否则很慢。
为了方便大家,我将论文和权重文件,上传到了百度网盘,需要的自取(提取码:jack):
https://pan.baidu.com/s/1932\_Nyk8buXHd1bDUphygA
将权重文件解压到 assets 目录即可。
都配置好后,直接运行命令:
python demo/motion_imitate.py --gpu_ids 0 \
命令参数的详细说明,在 motion\_imitate.py 文件里写的很详细,这里就不再累述。
运行命令,大功告成。
3 絮叨
我知道,看了这篇文章,你一定又有了很多大胆的想法。
这个算法会占领新一轮的鬼畜区吗?
我是 Jack ,我们下期见。
·················END·················
作者:Jack Cui
原文:https://mp.weixin.qq.com/s/p5...
关注作者公众号,获取更多有趣AI应用~
系列篇
更多AIoT领域有趣的算法应用及产品请关注有趣的AIoT应用专栏。