理解AI:任何设备都能制作“蚂蚁呀嘿”,照片动起来
跨平台越来越重要了。
——题记
01
先看方法
iOS设备:本篇文章最近的一篇推文,一步步的教程。
安卓设备:下载LicoLico,官网或者酷安下载都可以,APP内教程很简单。
PC设备:利用开源项目PaddleGAN,更便捷的方式是通过百度AI Studio。
PC设备相对更为复杂一些,但效果更好,搭配Pr、Ae更加如虎添翼。
在完全傻瓜操作情况下,亲自对比了上述三种方式,PC设备仍然是最好的。
下面主要介绍一下PC设备的具体操作:
第一步注册用户:
https://aistudio.baidu.com/
第二步打开这个项目:
https://aistudio.baidu.com/aistudio/projectdetail/1586056?channel=0&channelType=0&shared=1
第三步点击蓝色按钮运行一下:
第四步在notebook标签下一步步按照教程做就可以了!
02
再看原理
What
软件的原理可以简单地理解为AI换脸。
详细点,这里引入一个名词“一阶运动模型”,即First Order Motion model。
其任务是image animation,给定一张源图片,给定一个驱动视频,生成一段视频,其中主角是源图片,动作是驱动视频中的动作,源图像通常包含一个主体,驱动视频包含一系列动作。
通俗来说,First Order Motion能够将给定的驱动视频中的人物A的动作迁移至给定的源图片中的人物B身上,生成全新的以人物B的脸演绎人物A的表情的视频。
而iOS和Android端实现这种AI换脸或者说表情迁移则是通过网络将照片传到云端实现PC端(后端)这个过程,再传输给手机。
Why
为什么要这样的框架?
为了解决数据依赖和提高模型使用的泛化性。
以表情迁移为例,图像生成任务的传统方法VAE、GAN等需要大量人脸图像,以及这些人脸图像的标注信息(关键点、面部动作单元、三维模型等);此外,这些训练好的模型只能在特定人物中间使用,没法应用到未知的人脸中。
为什么手机不可以直接做这些AI?
两个原因:一是手机APP所处的环境有限,例如Android是基于虚拟机的操作系统,能够调用的算力有限、,还要考虑发热、耗电等问题;二是用户不会在无趣的操作上花费过多时间,云端可以提供更快的生成速度。
How
输入分两个部分:一个是图片源,另外一个是视频源;
图像产生分为两个模块,一个是动作,另外一个是图像;
动作模块面对的对象主要是:一个是针对关键点的,另外一个针对区域修补的;
动作模块主要采取的核心算法是:一是关键点映射移动,二是区域的仿射变换(有点遮罩的意思),三是针对参考帧的预测;
算法这块就不好理解了,这里只是简单举例说明算法名字的由来,图像中的关键点用
表示,其他图像X、S、D的关键点用
表示。我们知道,我们想要求的
实际上是一个
的映射,该映射在点
的一阶泰勒展开如下:
有大佬看了一下源码,说主要应用算法还是基于关键帧的预测。
03
后记&&感想
百度AI Studio的开放还是很良心的,也算是百度今年来比较适合追一下的产品了,毕竟未来“全民”AI都是有可能的。
类似的还有腾讯开放平台,阿里云开发平台、字节跳动和B站的创作激励等等。
真是“千帆竞渡,百舸争流”的时代啊!啥时候我们才能完成由小虾米到鱼到网到渔夫到大副到船长的飞跃呢?