【论文复现】
发布于2020-08 浏览:905 回复:3
0
收藏
快速回复
最后编辑于2020-08

First Order Motion Model for Image Animation

摘要:图像动画包括生成视频序列,以便根据驱动视频的运动对源图像中的对象进行动画处理。本文提出的方法无需使用任何注解或有关特定对象的先验信息就可以解决此问题。一旦接受了一组描述相同类别对象(例如面孔,人体)的视频的训练,就可以应用于此类的任何对象。为此,通过自监督模型将外观和运动信息分离。为了支持复杂的运动,采用由一组学习的关键点及其局部仿射变换组成的表示形式。生成器网络对目标运动期间出现的遮挡进行建模,并将从源图像提取的外观与从驱动视频获得的运动进行组合。

       整个模型训练过程是图像重建的过程,输入是源图像和驱动图像,输出是保留源图像物体信息的含有驱动图像姿态的新图像,其中输入的两张图像来源于同一个视频,即同一个物体信息,那么整个训练过程就是驱动图像的重建过程。

      大体上来说分成两个模块,一个是motion estimation module,另一个是image generation module。其中motion estimation module输出有两个,一个是dense motion field  ,表征了驱动图像D中的每个关键点到源图像S的映射关系;一个是occlusion mask  ,表明了在最终生成的图中,对于驱动图像D而言,哪部分可以通过D扭曲得到,哪部分可以通过inpaint得到。在image generation module中,输入S,在encoder得到的特征层中进行形变,然后decoder回去,得到最终的输出。

      在推断过程中,D和S的关键点差异可能会比较大,所以作者引入了一个抽象的参考帧R,通过预测R到S的映射和R到D的映射来计算   ,这样避免了直接计算D到S的映射,并且可以同时处理D和S。对于输入motion estimation module的一张图片X来说,其中的keypoint detector会输出关键点信息和局部仿射变换的参数信息,这些参数使得关键点附近的姿态信息可以通过仿射变换得到,然后通过泰勒展开可以得到R到X的映射 。在通过这种方法得到RSD的映射后,联合图像S送入motion estimation module中的dense motion network,得到两个输出  。

      D到S的映射计算公式:

      最终的dense motion prediction和occlusion mask:

 

       损失函数:

 

结果:

收藏
点赞
0
个赞
共3条回复 最后由飒沓流岚回复于2020-08
#4飒沓流岚回复于2020-08

请问paddlepaddle有类似于EarlyStopping之类的Api么?

0
#3尹亦宇回复于2020-08

可以在详细点哟

0
#2wangwei8638回复于2020-08

感谢分享

0
TOP
切换版块